]> git.proxmox.com Git - grub2.git/blame - ChangeLog
Use normal parser for menu entries.
[grub2.git] / ChangeLog
CommitLineData
4045dee1
VS
12010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
2
3 Use normal parser for menu entries.
4 Reported by: Thomas Frauendorfer
5
6 * include/grub/parser.h (grub_parser_execute): Don't export.
7 * normal/menu.c (grub_menu_execute_entry_real): New function.
8 (grub_menu_execute_entry): Use grub_menu_execute_entry_real.
9
bca58c7b
CW
102010-06-28 Colin Watson <cjwatson@ubuntu.com>
11
12 * docs/grub.texi (Embedded configuration): New section (replacing
13 old "Preset Menu" stub).
14 (Images): New section.
15 (configfile): Note that any menu entries defined in `file' are shown
16 immediately.
17
dec53e63
JT
182010-06-28 Josh Triplett <josh@joshtriplett.org>
19
20 * mmap/i386/pc/mmap_helper.S: Set CF on return.
21
c06e40f7
CW
222010-06-28 Colin Watson <cjwatson@ubuntu.com>
23
24 * util/grub-install.in: Add --debug-image= option.
25
cb88052b
CW
262010-06-28 Colin Watson <cjwatson@ubuntu.com>
27
28 Change grub-mkdevicemap to emit /dev/disk/by-id/ names where
29 possible on Linux.
30
31 * util/deviceiter.c (check_device): Rename to ...
32 (check_device_readable_unique): ... this. Update all callers.
33 Maintain and check a list of which devices (by canonicalized name)
34 have already been seen.
35 (clear_seen_devices): New function.
36 (compare_file_names) [__linux__]: New function.
37 (grub_util_iterate_devices): Clear the list of seen devices on exit
38 and (just in case) on entry.
39 (grub_util_iterate_devices) [__linux__]: Iterate over non-partition
40 devices in /dev/disk/by-id/, in sorted order. Remove DM-RAID
41 seen-devices list, superseded by general code in check_device.
42
bbe34652
CW
432010-06-28 Colin Watson <cjwatson@ubuntu.com>
44
45 * commands/cat.c (options): New variable.
46 (grub_cmd_cat): Parse options. If the --dos option is given, print
47 DOS-style "\r\n" line endings as simple newlines (Debian bug
48 #586358).
49 (GRUB_MOD_INIT): Use extcmd.
50 (GRUB_MOD_FINI): Likewise.
51 * docs/grub.texi (cat): Document --dos.
52
412e09f3
VS
532010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
54
55 XEN with Linux grub-mkconfig support.
56
57 * conf/common.rmk (grub-mkconfig_SCRIPTS) [linux]: Add 20_linux_xen.
58 * util/grub-mkconfig.in: Export GRUB_CMDLINE_XEN and
59 GRUB_CMDLINE_XEN_DEFAULT.
60 * util/grub.d/20_linux_xen.in: New file.
61
53f3ef38 622010-06-28 Vladimir Serbinenko <phcoder@gmail.com>
994b0c27
VS
63
64 Initialise VGA video on qemu ourselves.
65
66 * boot/i386/qemu/boot.S: Don't call 0xc000.
67 * conf/i386-qemu.rmk (kern/i386/qemu/init.c_DEPENDENCIES): New variable.
68 (kernel_img_SOURCES): Add kern/i386/qemu/init.c and bus/pci.c.
69 (kernel_img_HEADERS): Add pci.h.
70 * conf/i386.rmk (pkglib_MODULES) [qemu]: Remove pci.mod.
71 * configure.ac: Force unifont on qemu and yeeloong.
72 * include/grub/i386/qemu/kernel.h (grub_qemu_init_cirrus): New proto.
73 (grub_vga_palette_write): Use correct register.
74 * kern/i386/coreboot/init.c (grub_machine_init) [GRUB_MACHINE_QEMU]:
75 Call grub_qemu_init_cirrus.
76 * kern/i386/qemu/init.c: New file.
77 * term/i386/pc/vga_text.c (inc_y): Never read outside the screen.
78
79 * commands/videotest.c (grub_cmd_videotest): Handle double buffering.
80
c75be4fb
PR
812010-06-26 Pavel Roskin <proski@gnu.org>
82
83 * util/grub.d/10_linux.in: Add support for initrd images on Fedora
84 13.
85
d8034603
CW
862010-06-26 Colin Watson <cjwatson@ubuntu.com>
87
88 * docs/grub.texi (Simple configuration): Explain that
89 GRUB_DISABLE_LINUX_RECOVERY and GRUB_DISABLE_NETBSD_RECOVERY must be
90 set to `true' to disable their respective recovery entries, not
91 merely set.
92
3fa06487
CW
932010-06-26 Colin Watson <cjwatson@ubuntu.com>
94
95 Make the `source' command slightly faster.
96
97 * normal/main.c (grub_normal_execute): Don't re-read list files when
98 nested.
99
e9b29642
CW
1002010-06-23 Colin Watson <cjwatson@ubuntu.com>
101
102 * loader/i386/multiboot_mbi.c (retrieve_video_parameters): Set red
103 field position and mask size to red fields from mode_info, not
104 green.
105 * loader/multiboot_mbi2.c (retrieve_video_parameters): Likewise.
106 Remove redundant tag->common.framebuffer_type assignment.
107 Reported by: Seth Goldberg.
108
e726542f
CW
1092010-06-23 Colin Watson <cjwatson@ubuntu.com>
110
111 Sync up other versions of the Linux loader with Robert Millan's
112 change of 2010-01-09, "Make loader output a bit more user-friendly".
113
114 * loader/i386/efi/linux.c (grub_linux_boot): Move debug info to
115 grub_dprintf().
116 (grub_cmd_linux): Likewise.
117 (grub_cmd_initrd): Likewise.
118 * loader/i386/ieee1275/linux.c (grub_cmd_linux): Likewise.
119 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
120
d6e98a17
CW
1212010-06-21 Colin Watson <cjwatson@ubuntu.com>
122
123 * kern/efi/mm.c (grub_efi_mm_init): Handle systems with memory maps
124 larger than MEMORY_MAP_SIZE.
125
14d3f08e
BC
1262010-06-21 BVK Chaitanya <bvk.groups@gmail.com>
127
128 Fix parallel build.
129
130 * conf/common.rmk: Add grub_script.tab.h as a grub-script-check
131 dependency.
132 * script/parser.y: #include grub_script.tab.h header.
133
4f9613a3
VS
1342010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
135
136 Support >3GiB and <16MiB RAM in i386-qemu.
137
138 * kern/i386/qemu/mmap.c (QEMU_CMOS_MEMSIZE2_HIGH): New const.
139 (QEMU_CMOS_MEMSIZE2_LOW): Likewise.
140 (grub_lower_mem): Removed.
141 (grub_upper_mem): Likewise.
142 (mem_size): Made static.
143 (above_4g): New variable.
144 (grub_machine_mmap_init): Detect small mem_size and above_4g.
145 (grub_machine_mmap_iterate): Order in ascending order and add above_4g
146 support.
147
05e51879
VS
1482010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
149
150 Cirrus 5446 and Bochs video cards support.
151
152 * conf/i386.rmk (pkglib_MODULES): Add video_cirrus.mod and
153 video_bochs.mod
154 (video_cirrus_mod_SOURCES): New variable.
155 (video_cirrus_mod_CFLAGS): Likewise.
156 (video_cirrus_mod_LDFLAGS): Likewise.
157 (video_bochs_mod_SOURCES): Likewise.
158 (video_bochs_mod_CFLAGS): Likewise.
159 (video_bochs_mod_LDFLAGS): Likewise.
160 * include/grub/vga.h: New file.
161 * include/grub/video_fb.h (grub_video_fb_doublebuf_blit_init): Removed.
162 (grub_video_fb_set_page_t): New type.
163 (grub_video_fb_setup): New prototype.
164 (grub_video_fb_swap_buffers): Likewise.
165 (grub_video_fb_get_info_and_fini): Likewise.
166 * term/i386/pc/vga_text.c (CRTC_ADDR_PORT): Moved to include/grub/vga.h.
167 (CRTC_DATA_PORT): Likewise.
168 (CRTC_CURSOR): Likewise.
169 (CRTC_CURSOR_ADDR_HIGH): Likewise.
170 (CRTC_CURSOR_ADDR_LOW): Likewise.
171 (CRTC_CURSOR_DISABLE): Likewise.
172 (update_cursor): Use grub_vga_cr_write.
173 (grub_vga_text_setcursor): Likewise.
174 * video/bochs.c: New file.
175 * video/fb/video_fb.c (render_target): Moved into framebuffer variable.
176 (palette): Likewise.
177 (palette_size): Likewise.
178 (framebuffer): New variable.
179 (grub_video_fb_init): Use 'framebuffer'.
180 (grub_video_fb_fini): Likewise.
181 (grub_video_fb_get_info): Likewise.
182 (grub_video_fb_get_palette): Likewise.
183 (grub_video_fb_set_palette): Likewise.
184 (grub_video_fb_set_viewport): Likewise.
185 (grub_video_fb_get_viewport): Likewise.
186 (grub_video_fb_map_color): Likewise.
187 (grub_video_fb_map_rgb): Likewise.
188 (grub_video_fb_map_rgba): Likewise.
189 (grub_video_fb_unmap_color): Likewise.
190 (grub_video_fb_unmap_color_int): Likewise.
191 (grub_video_fb_fill_rect): Likewise.
192 (grub_video_fb_blit_bitmap): Likewise.
193 (grub_video_fb_blit_render_target): Likewise.
194 (grub_video_fb_scroll): Likewise.
195 (grub_video_fb_create_render_target): Likewise.
196 (grub_video_fb_doublebuf_blit_init): Likewise.
197 (grub_video_fb_set_active_render_target): Handle doublebuffering.
198 (doublebuf_pageflipping_update_screen): New function.
199 (doublebuf_pageflipping_init): Likewise.
200 (grub_video_fb_setup): Likewise.
201 (grub_video_fb_swap_buffers): Likewise.
202 (grub_video_fb_get_info_and_fini): Likewise.
203 * video/i386/pc/vbe.c (framebuffer): Remove all doublebuffering fields.
204 All users updated.
205 (doublebuf_pageflipping_commit): Restructured into ...
206 (doublebuf_pageflipping_set_page): ... this.
207 (doublebuf_pageflipping_update_screen): Removed.
208 (doublebuf_pageflipping_init): Likewise.
209 (double_buffering_init): Likewise.
210 (grub_video_vbe_setup): Use grub_video_fb_setup.
211 (grub_video_vbe_swap_buffers): Removed.
212 (grub_video_vbe_set_active_render_target): Likewise.
213 (grub_video_vbe_get_active_render_target): Likewise.
214 (grub_video_vbe_get_info_and_fini): Use grub_video_fb_get_info_and_fini.
215 (grub_video_vbe_adapter): Use grub_video_fb_swap_buffers,
216 grub_video_fb_set_active_render_target and
217 grub_video_fb_get_active_render_target.
218 * video/i386/pc/vga.c (SEQUENCER_ADDR_PORT): Move to include/grub/vga.h.
219 (SEQUENCER_DATA_PORT): Likewise.
220 (MAP_MASK_REGISTER): Likewise.
221 (CRTC_ADDR_PORT): Likewise.
222 (CRTC_DATA_PORT): Likewise.
223 (START_ADDR_HIGH_REGISTER): Likewise.
224 (START_ADDR_LOW_REGISTER): Likewise.
225 (GRAPHICS_ADDR_PORT): Likewise.
226 (GRAPHICS_DATA_PORT): Likewise.
227 (READ_MAP_REGISTER): Likewise.
228 (INPUT_STATUS1_REGISTER): Likewise.
229 (INPUT_STATUS1_VERTR_BIT): Likewise.
230 (get_map_mask): Use grub_vga_sr_read.
231 (set_map_mask): Use grub_vga_sr_write.
232 (set_read_map): Use grub_vga_gr_write.
233 (set_start_address): Use grub_vga_cr_write.
234 * video/sm712.c (framebuffer): Remove leftover fields.
235
4321c64a
CW
2362010-06-20 Colin Watson <cjwatson@ubuntu.com>
237
238 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
239 setting GRUB_VIDEO_BACKEND. Make it available as a user override
240 instead. Replace the gfxterm backend check with a check that
241 ${GRUB_PREFIX}/video.lst is non-empty.
242 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
243 again.
244 (load_video): New generated function. Call it before loading
245 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
246 * util/grub.d/10_linux.in (linux_entry): Call load_video.
247 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
248 * docs/grub.texi (Simple configuration): Document
249 GRUB_VIDEO_BACKEND.
250
2512010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
252
253 Use video functions in linux and xnu loaders.
254
255 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
256 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
257 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
258 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
259 loader/i386/pc/linux.c.
260 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
261 (find_line_len): Removed.
262 (find_framebuf): Likewise.
263 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
264 * loader/i386/efi/xnu.c: Removed.
265 * loader/i386/pc/xnu.c: Moved from here...
266 * loader/i386/xnu.c: ...here.
267
268 Enable priorities in video drivers.
269
270 * include/grub/video.h (grub_video_adapter_prio_t): New type.
271 (grub_video_adapter): New field prio.
272 (grub_video_register): Respect prio when inserting.
273 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
274 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
275 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
276 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
277 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
278 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
279 * video/sm712.c (grub_video_sm712_adapter): Likewise.
280
281 Fix SDL driver ID.
282
283 * include/grub/video.h (grub_video_driver_id_t): New value
284 GRUB_VIDEO_DRIVER_SDL.
285 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
286
7d24e434
CW
2872010-06-17 Colin Watson <cjwatson@ubuntu.com>
288
289 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
290 argument to printf.
291 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
292
c88a83f6
CW
2932010-06-17 Colin Watson <cjwatson@ubuntu.com>
294
295 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
296 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
297
094dfb69
CW
2982010-06-17 Colin Watson <cjwatson@ubuntu.com>
299
300 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
301 directly, and recommend grub-install instead.
302 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
303
2164da6b
CW
3042010-06-17 Colin Watson <cjwatson@ubuntu.com>
305
306 Fix i386-pc prefix handling with nested partitions (Debian bug
307 #585068). Note that the case where the core image is booted using
308 multiboot and relocated from its original location still requires
309 more work.
310
311 * kern/i386/pc/init.c (make_install_device): If the prefix starts
312 with "(,", fill the boot drive in between those two characters, but
313 expect that a full partition specification including partition map
314 names will follow.
315 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
316 specified, write a prefix without the drive name but including a
317 full partition specification.
318
044e2e60
CW
3192010-06-16 Colin Watson <cjwatson@ubuntu.com>
320
321 * util/grub-mkconfig.in: Ignore non-option arguments, for
322 compatibility with older versions (before 2010-06-12) which did the
323 same. In particular, this makes it easier to ship an update-grub
324 wrapper which is compatible with that used with GRUB Legacy (Debian
325 bug #586056).
326
5591324f
GS
3272010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
328
329 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
330 for manual page generation.
331
662e24d5
GS
3322010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
333
334 * po/POTFILES: Remove leftover commands/handler.c.
335
8d70754e
CW
3362010-06-14 Colin Watson <cjwatson@ubuntu.com>
337
338 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
339 left this script non-functional.
340
41160e2e
CW
3412010-06-14 Colin Watson <cjwatson@ubuntu.com>
342
343 * docs/man/grub-emu.h2m: New file.
344
b5309cc1
CW
3452010-06-13 Colin Watson <cjwatson@ubuntu.com>
346
347 * docs/grub.texi (Commands): Document reduced command set in rescue
348 mode.
349 (cpuid): New section.
350
fcb2d090
GS
3512010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
352
353 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
354 new partition naming style.
355 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
356
96e5c556
BC
3572010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
358
359 Add "-o grub.iso" like cmdline options support.
360
361 * util/grub-install.in: Improve cmdline option parsing.
362 * util/grub-mkconfig.in: Likewise.
363 * util/grub-mkrescue.in: Likewise.
364 * util/grub-reboot.in: Likewise.
365 * util/grub-set-default.in: Likewise.
366 * util/i386/efi/grub-install.in: Likewise.
367 * util/ieee1275/grub-install.in: Likewise.
368 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
369
c16be99b
CW
3702010-06-12 Colin Watson <cjwatson@ubuntu.com>
371
372 * .bzrignore: Ignore 41_custom.
373
ce08a9fb
TS
3742010-06-12 Thomas Schmitt <scdbackup@gmx.net>
375
376 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
377
7beac90c
CW
3782010-06-12 Colin Watson <cjwatson@ubuntu.com>
379
380 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
381 prototype declarations.
382
383 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
384 generating fs, partmap, and video lists.
385 * include/grub/fs.h (grub_fs_register): Omit prototype if
386 GRUB_LST_GENERATOR is defined.
387 * include/grub/partition.h (grub_partition_map_register): Likewise.
388 * include/grub/video.h (grub_video_register): Likewise.
389
1c8f0f8d
JM
3902010-06-12 Javier Martín <lordhabbit@gmail.com>
391
392 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
393
a6085973
TS
3942010-06-12 Thomas Schmitt <scdbackup@gmx.net>
395
396 * util/grub-mkrescue.in: Support --xorriso argument.
397
25c56d29
VS
3982010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
399
400 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
401 Suggested by: Thomas Schmitt.
402
e03e4b24
VS
4032010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
404
405 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
406 Suggested by: Thomas Schmitt.
407
57711df6
VS
4082010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
409
410 custom.cfg support.
411
412 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
413 * util/grub.d/41_custom.in: New file.
414
ee62c427
CW
4152010-06-12 Colin Watson <cjwatson@ubuntu.com>
416
417 * util/grub-mkrescue.in (make_image): Remove sh module, which has
418 been merged back into normal.
419
283af07a
CW
4202010-06-11 Colin Watson <cjwatson@ubuntu.com>
421
422 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
423 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
424
56a0d956
CW
4252010-06-11 Colin Watson <cjwatson@ubuntu.com>
426
427 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
428 when generating manual pages.
429 * docs/man/grub-bin2h.h2m: New file.
430 * docs/man/grub-editenv.h2m: New file.
431 * docs/man/grub-fstest.h2m: New file.
432 * docs/man/grub-install.h2m: New file.
433 * docs/man/grub-macho2img.h2m: New file.
434 * docs/man/grub-mkconfig.h2m: New file.
435 * docs/man/grub-mkdevicemap.h2m: New file.
436 * docs/man/grub-mkfont.h2m: New file.
437 * docs/man/grub-mkimage.h2m: New file.
438 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
439 * docs/man/grub-mkrelpath.h2m: New file.
440 * docs/man/grub-mkrescue.h2m: New file.
441 * docs/man/grub-ofpathname.h2m: New file.
442 * docs/man/grub-pe2elf.h2m: New file.
443 * docs/man/grub-probe.h2m: New file.
444 * docs/man/grub-reboot.h2m: New file.
445 * docs/man/grub-script-check.h2m: New file.
446 * docs/man/grub-set-default.h2m: New file.
447 * docs/man/grub-setup.h2m: New file.
448
3a37e322
VS
4492010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
450
451 Use FOR_* macros instead of *_iterate whenever possible.
452
453 * commands/handler.c: Removed.
454 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
455 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
456 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
457 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
458 (grub_probe_SOURCES): Remove kern/parser.c.
459 (util/grub-script-check.c_DEPENDENCIES): Removed.
460 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
461 and grub_script_check_init.c.
462 (grub_script_check_init.lst): Removed.
463 (grub_script_check_init.h): Likewise.
464 (grub_script_check_init.c): Likewise.
465 (pkglib_MODULES): Remove handler.mod and sh.mod.
466 (handler_mod_SOURCES): Removed.
467 (handler_mod_CFLAGS): Likewise.
468 (handler_mod_LDFLAGS): Likewise.
469 (normal_mod_SOURCES): Remove normal/handler.c.
470 Add script/main.c, script/script.c, script/execute.c,
471 script/function.c, script/lexer.c, grub_script.tab.c
472 and grub_script.yy.c.
473 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
474 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
475 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
476 (grub_setup_SOURCES): Remove kern/parser.c.
477 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
478 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
479 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
480 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
481 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
482 (grub_setup_SOURCES): Remove kern/parser.c.
483 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
484 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
485 * include/grub/command.h (grub_command_iterate): Removed.
486 (FOR_COMMANDS): New macro.
487 * include/grub/dl.h (grub_dl): New member next.
488 (grub_dl_iterate): Removed.
489 (grub_dl_head): New variable declaration.
490 (FOR_DL_MODULES): New macro.
491 * include/grub/fs.h: Include list.h.
492 (grub_fs): Make next first element.
493 (grub_fs_list): New variable declaration.
494 (grub_fs_register): Make inline.
495 (grub_fs_unregister): Likewise.
496 (grub_fs_iterate): Removed.
497 (FOR_FILESYSTEMS): New macro.
498 * include/grub/handler.h: Removed.
499 * include/grub/list.h (grub_list_hook_t): Removed.
500 (grub_list_test_t): Likewise.
501 (grub_list_pop): Likewise.
502 (grub_list_iterate): Likewise.
503 (grub_list_insert): Likewise.
504 (FOR_LIST_ELEMENTS): New macro.
505 * include/grub/parser.h (grub_parser_class): Removed.
506 (grub_parser_register): Likewise.
507 (grub_parser_unregister): Likewise.
508 (grub_parser_get_current): Likewise.
509 (grub_parser_set_current): Likewise.
510 (grub_register_rescue_parser): Likewise.
511 (grub_rescue_parse_line): New function.
512 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
513 * include/grub/script_sh.h (grub_script_function_list): New variable
514 declaration.
515 (FOR_SCRIPT_FUNCTIONS): New macro.
516 (grub_script_function_iterate): Removed.
517 (grub_normal_parse_line): New prototype.
518 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
519 (FOR_DISABLED_TERM_INPUTS): Likewise.
520 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
521 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
522 * include/grub/video.h (grub_video_adapter): Move 'next' to first
523 element.
524 (grub_video_register): Inline.
525 (grub_video_unregister): Likewise.
526 (grub_video_adapter_list): New variable declaration.
527 (grub_video_iterate): Removed.
528 (FOR_VIDEO_ADAPTERS): New macro.
529 * kern/dl.c (grub_dl_list): Removed. All users updated.
530 (grub_dl_iterate): Removed.
531 * kern/fs.c (grub_fs_list): Make global.
532 (grub_fs_register): Removed.
533 (grub_fs_unregister): Likewise.
534 (grub_fs_iterate): Likewise.
535 * kern/handler.c: Removed.
536 * kern/list.c (grub_list_pop): Removed.
537 (grub_list_iterate): Likewise.
538 (grub_list_insert): Likewise.
539 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
540 (grub_prio_list_insert): Don't use grub_list_insert.
541 * kern/main.c (grub_register_rescue_parser): Don't call
542 grub_register_rescue_parser.
543 * kern/parser.c (grub_parser_class): Removed.
544 (grub_parser_execute): Use grub_rescue_parse_line.
545 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
546 (grub_rescue_parser): Removed.
547 (grub_register_rescue_parser): Likewise.
548 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
549 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
550 (grub_auth_check_authentication): Likewise.
551 * normal/completion.c (iterate_command): Removed.
552 (grub_normal_do_completion): Use FOR_COMMANDS.
553 * normal/handler.c: Removed.
554 * normal/main.c (read_config_file): Remove parser changing.
555 (grub_normal_execute): Don't call read_handler_list.
556 (grub_normal_read_line_real): Statically allocate prompt.
557 (grub_cmdline_run): Use grub_normal_parse_line.
558 (GRUB_MOD_FINI): Don't call free_handler_list.
559 * normal/menu_entry.c (run): Likewise.
560 * script/function.c (grub_script_function_list): Make global.
561 (grub_script_function_iterate): Removed.
562 * script/main.c (grub_normal_parse_line): Make global.
563 (grub_sh_parser): Removed.
564 (GRUB_MOD_INIT): Likewise.
565 (GRUB_MOD_FINI): Likewise.
566 * tests/lib/functional_test.c (grub_functional_test): Use
567 FOR_LIST_ELEMENTS.
568 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
569 (grub_test_run): Use FOR_LIST_ELEMENTS.
570 * tests/lib/unit_test.c (main): Likewise.
571 * util/deviceiter.c (grub_util_iterate_devices): Don't use
572 grub_list_pop.
573 * util/grub-fstest.c (grub_term_input_class): Removed.
574 (grub_term_output_class): Likewise.
575 * util/grub-probe.c: Likewise.
576 * util/i386/pc/grub-setup.c: Likewise.
577 * util/sparc64/ieee1275/grub-setup.c: Likewise.
578 * util/grub-script-check.c (main): Don't call grub_init_all and
579 grub_fini_all.
580 * video/video.c (grub_video_adapter_list): Make global.
581 (grub_video_register): Removed.
582 (grub_video_unregister): Likewise.
583 (grub_video_iterate): Likewise.
584
6289c3a7
VS
5852010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
586
587 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
588 reported by Henrique Ferreiro.
589
91460247
RM
5902010-06-09 Robert Millan <rmh@gnu.org>
591
592 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
593 ones, when both are available.
594
0ea7c4f9
GS
5952010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
596
597 Make --version uniform and avoid hard-coded program name.
598
599 * util/grub-mkimage.c (main): Use `program_name' instead of
600 hard-coded string.
601 * util/i386/pc/grub-setup.c (main): Likewise.
602 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
603 * util/grub-install.in: Save the basename of $0 in $self, and use the
604 latter in informational messages. Use the same format for --version
605 as the binary programs.
606 * util/grub-mkconfig.in: Likewise.
607 * util/grub-mkrescue.in: Likewise.
608 * util/grub-reboot.in: Likewise.
609 * util/grub-set-default.in: Likewise.
610 * util/i386/efi/grub-install.in: Likewise.
611 * util/ieee1275/grub-install.in: Likewise.
612 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
613
e8a6f3b6
GS
6142010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
615
616 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
617 embedding area. Use <= instead of == when checking for non-emptiness.
618
f4d095d7
GS
6192010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
620
621 * configure.ac: Add `.' to the directories searched for unifont.
622
50e532ca
CW
6232010-06-08 Colin Watson <cjwatson@ubuntu.com>
624
625 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
626 grub_script.yy.h.
627
d39f3dec
CW
6282010-06-08 Colin Watson <cjwatson@ubuntu.com>
629
630 * docs/grub.texi (History): Expand to cover GRUB 2.
631 (Serial terminal): Refer to `terminal_input' and `terminal_output'
632 commands, not `terminal'.
633 (serial): Likewise.
634 (terminal_input): New section.
635 (terminal_output): New section.
636 (uppermem): New section (stub).
637 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
638
6ef0ddb4
CW
6392010-06-08 Colin Watson <cjwatson@ubuntu.com>
640
641 * docs/grub.texi (Security): Menu entries are unrestricted by
642 default, not restricted to superusers as I had previously thought.
643 Reword to account for this.
644
e0f4c438
CW
6452010-06-07 Colin Watson <cjwatson@ubuntu.com>
646
647 * kern/emu/misc.c (device_mapper_null_log): New function.
648 (grub_device_mapper_supported): New function.
649 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
650 prototype.
651 * kern/emu/hostdisk.c (find_partition_start): Check whether
652 device-mapper is supported before trying to use it.
653 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
654
da908200
CW
6552010-06-07 Colin Watson <cjwatson@ubuntu.com>
656
657 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
658 (File name syntax): Likewise.
659 (help): --all is no longer supported in GRUB 2. Be more precise
660 about pattern matching.
661
fb55c3ac
CW
6622010-06-07 Colin Watson <cjwatson@ubuntu.com>
663
664 * normal/completion.c (grub_normal_do_completion): When completing
665 arguments to "set" and the current word contains an equals sign,
666 skip to after the equals sign before starting completion.
667
258c2573
CW
6682010-06-07 Colin Watson <cjwatson@ubuntu.com>
669
670 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
671
ee75515e
CW
6722010-06-07 Colin Watson <cjwatson@ubuntu.com>
673
674 * docs/grub.texi (Network): New section.
675 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
676 `(nd)' as in GRUB Legacy.
677 (pxe_unload): New section.
678
a6a700aa
CW
6792010-06-07 Colin Watson <cjwatson@ubuntu.com>
680
681 * docs/grub.texi (Troubleshooting): `echo' is not usually available
682 in the rescue shell, so recommend using `set' instead. Thanks,
683 Jordan Uggla.
684
4003dd38
CW
6852010-06-07 Colin Watson <cjwatson@ubuntu.com>
686
687 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
688 (password): New section.
689 (password_pbkdf2): New section.
690 (search): New section.
691 (Security): New section.
692 (Troubleshooting): New section, currently very incomplete.
693 (Invoking grub-mkpasswd-pbkdf2): New section.
694 (Internals): New section, currently very incomplete.
695
e1cbcc40
CW
6962010-06-07 Colin Watson <cjwatson@ubuntu.com>
697
698 * util/grub.d/00_header.in: Add some more quoting (of
699 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
700 work again.
701 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
702
db8fa1ad
CW
7032010-06-07 Colin Watson <cjwatson@ubuntu.com>
704
705 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
706 to `count', fixing variable shadowing that broke the -c option.
707
7082010-06-05 Colin Watson <cjwatson@ubuntu.com>
71c38098
CW
709
710 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
711 in case they contain spaces.
712
f28a9212
CW
7132010-06-04 Colin Watson <cjwatson@ubuntu.com>
714
715 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
716 "part_" to partmap module names, in line with grub-install.
717 Reported by: Jindřich Makovička (Debian bug #584426).
718
9cdfe32f
CW
7192010-06-04 Colin Watson <cjwatson@ubuntu.com>
720
721 * util/grub-mkimage.c: Make target-related error messages slightly
722 more helpful; -O talks about "format". Explicitly point to the use
723 of -O if no target is specified.
724 Reported by: Didier Raboud (Debian bug #584415).
725
795b593a
CW
7262010-06-03 Colin Watson <cjwatson@ubuntu.com>
727
728 * INSTALL: Document several build requirements for optional features
729 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
730
9d9b5833
GS
7312010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
732
733 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
734 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
735 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
736
0819fec8
CW
7372010-06-02 Colin Watson <cjwatson@ubuntu.com>
738
739 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
740 Thanks to Jordan Uggla for spotting this.
741
49396b4f
VS
7422010-06-02 Aleš Nesrsta <starous@volny.cz>
743
744 Finally make USB usable.
745
746 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
747 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
748 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
749 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
750 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
751 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
752 (GRUB_OHCI_FSMPS): Likewise.
753 (GRUB_OHCI_PERIODIC_START): Likewise.
754 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
755 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
756 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
757 (GRUB_OHCI_SET_PORT_RESET): Likewise.
758 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
759 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
760 (grub_ohci_transaction): Likewise.
761 (grub_ohci_transfer): Improve condition detection algorithms.
762 Handle toggle property. Program the transactions correctly.
763 Improve error handling. Various important fixups.
764 (grub_ohci_portstatus): Put register writes in right order.
765 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
766 (grub_uhci_transfer): Don't show "failed" message on success.
767 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
768 array.
769 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
770 determine its size.
771 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
772 before initialization is completed. Use IN direction for empty
773 transfers. Use last_trans and compute toggle.
774 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
775 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
776 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
777 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
778 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
779 (grub_usb_device): Increase toggle to 256.
780 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
781 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
782 GRUB_USBMS_SUBCLASS_SFF8070.
783 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
784 (grub_scsi_inquiry): New member page and alloc_length.
785 (grub_scsi_request_sense): New structure.
786 (grub_scsi_request_sense_data): Likewise.
787 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
788 control.
789 * disk/scsi.c (grub_scsi_request_sense): New function.
790 (grub_scsi_test_unit_ready): Likewise.
791 (grub_scsi_inquiry): Fill new fields.
792 (grub_scsi_read_capacity): Likewise.
793 (grub_scsi_read10): Add request sense at the end.
794 (grub_scsi_read12): Likewise.
795 (grub_scsi_write10): Likewise.
796 (grub_scsi_write12): Likewise.
797 (grub_scsi_open): Add Test Unit Ready.
798 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
799 Support additional subclasses. Con't clear halt yet. Activate the
800 proper config. Calculate LUNs correctly.
801 (grub_usbms_transfer): Various important fixups.
802
8032010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
804
805 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
806 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
807 (grub_ohci_fini_hw): New function.
808 (grub_ohci_restore_hw): Likewise.
809 (GRUB_MOD_INIT(ohci)): Register preboot hook.
810 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
811 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
812
8132010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
814
815 Dedicated DMA allocations.
816
817 * bus/pci.c (grub_memalign_dma32): New function
818 (grub_dma_free): Likewise.
819 (grub_dma_get_virt): Likewise.
820 (grub_dma_get_phys): Likewise.
821 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
822 (grub_ohci_pci_iter): Use dma32_alloc.
823 (grub_ohci_transfer): Likewise.
824 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
825 (grub_usb_bulk_readwrite): Likewise.
826 * include/grub/pci.h: Add declarations.
827
8282010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
829
830 CS5536 support.
831
832 * bus/cs5536.c: New file.
833 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
834 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
835 (cs5536_mod_SOURCES): New variable.
836 (cs5536_mod_CFLAGS): Likewise.
837 (cs5536_mod_LDFLAGS): Likewise.
838 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
839 machine/pci.h.
840 (kernel_img_SOURCES): Add bus/cs5536.c.
841 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
842 usb_keyboard.mod.
843 (usb_mod_SOURCES): New variable.
844 (usb_mod_CFLAGS): New variable.
845 (usb_mod_LDFLAGS): New variable.
846 (usbtest_mod_SOURCES): New variable.
847 (usbtest_mod_CFLAGS): New variable.
848 (usbtest_mod_LDFLAGS): New variable.
849 (ohci_mod_SOURCES): New variable.
850 (ohci_mod_CFLAGS): New variable.
851 (ohci_mod_LDFLAGS): New variable.
852 (usbms_mod_SOURCES): New variable.
853 (usbms_mod_CFLAGS): New variable.
854 (usbms_mod_LDFLAGS): New variable.
855 (usb_keyboard_mod_SOURCES): New variable.
856 (usb_keyboard_mod_CFLAGS): New variable.
857 (usb_keyboard_mod_LDFLAGS): New variable.
858 * include/grub/smbus.h: New file.
859 * include/grub/cs5536.h: New file.
860
0b35b2a9
CW
8612010-06-02 Colin Watson <cjwatson@ubuntu.com>
862
863 * util/grub.d/00_header.in: Add safety check to make sure that
864 ${locale_dir} exists before trying to probe it.
865
ca0afd5b
CW
8662010-06-02 Colin Watson <cjwatson@ubuntu.com>
867
868 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
869 per the GNU Coding Standards; this is now too obscure to be worth
870 documenting.
871 (QNX): Likewise.
872 (chainloader): Remove cross-reference to `SCO UnixWare'.
873
1c41aa78
CW
8742010-06-02 Colin Watson <cjwatson@ubuntu.com>
875
876 * docs/grub.texi (Chain-loading): New section.
877 (DOS/Windows): New section, borrowed from GRUB Legacy with details
878 adjusted for GRUB 2.
879 (SCO UnixWare): Likewise.
880 (QNX): Likewise.
881 (chainloader): Add reference to `Block list syntax'.
882 (drivemap): New section.
883 (parttool): New section.
884
bb8ea0f5
CW
8852010-06-02 Colin Watson <cjwatson@ubuntu.com>
886
887 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
888 the grub shell'.
889 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
890 (Installing GRUB using grub-install): Remove reference to the grub
891 shell; mention `grub-mkimage' and `grub-setup' instead.
892 (Invoking grub-install): Likewise.
893 (Interface): Add reference to `Menu entry editor'.
894 (serial): Remove `--device' option.
895
288dd6ed
CW
8962010-06-02 Colin Watson <cjwatson@ubuntu.com>
897
898 * docs/grub.texi (Configuration): New section, documenting
899 configuration file generation using grub-mkconfig. I've left a slot
900 for documenting the full shell scripting format but have not yet
901 started on writing that up.
902 (Invoking grub-mkconfig): New section.
903
34c9f0e9
CW
9042010-06-02 Colin Watson <cjwatson@ubuntu.com>
905
906 * docs/grub.texi (direntry): Remove grub-terminfo reference.
907 (GNU GRUB manual): Likewise.
908 (General commands): Update description of `terminfo' for GRUB 2.
909
9121567e
CW
9102010-06-02 Colin Watson <cjwatson@ubuntu.com>
911
912 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
913 (GRUB_MOD_INIT): Fix capitalisation.
914 * docs/grub.texi (Command-line and menu entry commands): Document
915 gettext and gptsync commands.
916
ab631611
CW
9172010-06-02 Colin Watson <cjwatson@ubuntu.com>
918
919 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
920 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
921
bde4a9ac
CW
9222010-06-01 Colin Watson <cjwatson@ubuntu.com>
923
924 Add btrfs probing support, currently only in the single-device case.
925
926 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
927 function.
928 (grub_guess_root_device): Call find_root_device_from_mountinfo
929 before looking in /dev.
930
b1d17e10
VS
9312010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
932
933 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
934 GRUB_DISK_SIZE_UNKNOWN.
935 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
936
dfbfe004
JS
9372010-05-31 Jiro SEKIBA <jir@unicus.jp>
938
939 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
940 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
941 corrupted or not synced properly.
942
c2ffc8e9
VS
9432010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
944
945 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
946 Reported by: Seth Goldberg.
947
56293166
VS
9482010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
949
950 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
951 addition of dest.
952 Reported by: Seth Goldberg.
953
7620e7de
VS
9542010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
955
956 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
957 Reported by: Seth Goldberg.
958
c837af3f
VS
9592010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
960
961 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
962 64-bit address as signed on MIPS.
963
c7c75cf4
CW
9642010-05-28 Colin Watson <cjwatson@ubuntu.com>
965
966 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
967 to the empty string.
968
fa4b8490
BC
9692010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
970
971 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
972
973 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
974 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
975 * kern/misc.c (__enable_execute_stack): Disable on
976 GRUB_MACHINE_EMU.
977
a33075b9
CW
9782010-05-28 Colin Watson <cjwatson@ubuntu.com>
979
980 Make grub-probe work with symbolic links under /dev/mapper as well
981 as with real block devices. The Linux world seems to be (at best)
982 in transition here, and GRUB shouldn't get caught in the middle.
983
984 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
985 /dev/mapper.
986
d8708134
CW
9872010-05-27 Colin Watson <cjwatson@ubuntu.com>
988
989 * util/grub-script-check.c (main): Ensure defined behaviour on empty
990 input files (in which case exit zero).
991
db2102a0
CW
9922010-05-27 Colin Watson <cjwatson@ubuntu.com>
993
994 * kern/emu/misc.c (canonicalize_file_name): realpath can still
995 return NULL for various reasons even if it has a maximum-length
996 buffer: for example, there might be a symlink loop, or the path
997 might exceed PATH_MAX. If this happens, return NULL.
998
5fdba519
RM
9992010-05-27 Robert Millan <rmh@gnu.org>
1000
1001 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
1002 partmap module to handle cross-partmap setups.
1003 Reported by Orestes Mas. Gràcies!
1004
d1d368e4
CW
10052010-05-27 Colin Watson <cjwatson@ubuntu.com>
1006
1007 * util/grub-mkrescue.in: Initialise override_dir rather than
1008 assuming that it's unset or empty in the environment.
1009
95ac3c73
GS
10102010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
1011
1012 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
1013 variable index into p_index to suppress a warning with -Wshadow.
1014
7d8c0213
BC
10152010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
1016
1017 * INSTALL: Added flex >= 2.5.35 requirement.
1018
db4d5813
VS
10192010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1020
1021 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
1022
f24f4300
VS
10232010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1024
1025 cmostest support.
1026
1027 * commands/i386/cmostest.c: New file.
1028 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
1029 (cmostest_mod_SOURCES): New variable.
1030 (cmostest_mod_CFLAGS): Likewise.
1031 (cmostest_mod_LDFLAGS): Likewise.
1032 * conf/i386-pc.rmk: Likewise.
1033 * docs/grub.texi (Vendor power-on keys): New section.
1034 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
1035 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
1036 and GRUB_BUTTON_CMOS_ADDRESS.
1037 * util/grub.d/00_header.in: Handle powering-on by separate button.
1038
ad603f61
VS
10392010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1040
1041 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
1042 Removed drawing_scrollbar argument. All users updated
1043 Fixes #29792.
1044 Reported by Jo Shields
1045
3ecb080a
VS
10462010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1047
1048 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
1049 buffer since gfxterm handles double repaint.
1050
5f2316c1
VS
10512010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
1052
1053 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
1054 * term/gfxterm.c (real_scroll): Likewise.
1055
9a25f885
VS
10562010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1057
1058 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
1059 before calling BIOS.
1060
39fbb79a
VS
10612010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1062
1063 * include/grub/i18n.h: Always enable grub_gettext.
1064
228cfa97
VS
10652010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
1066
1067 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
1068 partition naming style.
1069
21717c8f
CW
10702010-05-21 Colin Watson <cjwatson@ubuntu.com>
1071
1072 * util/grub-mkconfig.in: Fix handling of -o so that it works when
1073 not the first option.
1074
c0f48e65
CW
10752010-05-20 Colin Watson <cjwatson@ubuntu.com>
1076
1077 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
1078
96779aec
CW
10792010-05-20 Colin Watson <cjwatson@ubuntu.com>
1080
1081 * util/misc.c: Move inclusion of <limits.h> to ...
1082 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
1083
fa9d256e
GS
10842010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
1085
1086 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
1087 Fix merge error in NetBSD code.
1088 (find_partition_start) [__NetBSD__]: Likewise.
1089
123b7a85
BC
10902010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
1091
1092 Fix grub-mkrescue usage unit testing.
1093
1094 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
1095
74276c0d
CF
10962010-05-18 Christian Franke <franke@computer.org>
1097
1098 * util/grub.d/10_windows.in: Use path names instead of
1099 drive letters to prevent warning from Cygwin 1.7.
1100 Add drivemap command to menuentry if needed.
1101
c4f7b523
ST
11022010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
1103
1104 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
1105 gnumach and gnumach.gz.
1106
95b97950
VS
11072010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1108
1109 * include/grub/i18n.h (gettext): Inline instead of using #define.
1110 (grub_gettext): Likewise.
1111 (_): Likewise.
1112
01b8d2d7
VS
11132010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1114
1115 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
1116 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
1117 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
1118 (main): Add a slash after pkglibdirroot.
1119
654e1d1e
VS
11202010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1121
1122 * util/grub-install.in: Add missing "in" keyword.
1123
26966aeb
VS
11242010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1125
1126 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
1127 Reported by: Seth Goldberg.
1128
75006747
VS
11292010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
1130
1131 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
1132
74cbf5bd
CW
11332010-05-18 Colin Watson <cjwatson@ubuntu.com>
1134
1135 * configure.ac: Check for Linux device-mapper support.
1136
1137 * util/hostdisk.c (device_is_mapped): New function.
1138 (find_partition_start): New function, partly broken out from
1139 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
1140 device-mapper support added.
1141 (linux_find_partition): Use find_partition_start.
1142 (convert_system_partition_to_system_disk): Add `st' argument.
1143 Support Linux /dev/mapper/* devices if device-mapper support is
1144 available; only DM-RAID devices are understood at present.
1145 (find_system_device): Add `st' argument. Pass it to
1146 convert_system_partition_to_system_disk.
1147 (grub_util_biosdisk_get_grub_dev): Pass stat result to
1148 find_system_device and convert_system_partition_to_system_disk. Use
1149 find_partition_start.
1150
1151 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
1152 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
1153 * util/deviceiter.c [__linux__]: Define MINOR.
1154 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
1155 * util/mkdevicemap.c (grub_putchar): New function.
1156 (grub_getkey): New function.
1157 (grub_refresh): New function.
1158 (main): Set debug=all if -v -v is used.
1159
355b51e9
CW
11602010-05-18 Colin Watson <cjwatson@ubuntu.com>
1161
1162 Fix build with non-GNU libcs.
1163
1164 * util/misc.c (canonicalize_file_name): Move to ...
1165 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
1166 grub_make_system_path_relative_to_its_root.
1167
7fb5c25f
CW
11682010-05-18 Colin Watson <cjwatson@ubuntu.com>
1169
1170 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
1171 we handle finding grub-mkimage. Default to finding grub-mkimage in
1172 ${bindir} with program_transform_name applied, and provide a
1173 --grub-mkimage option to override this.
1174
1d3293d6
VS
11752010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1176
1177 Remove grub-mkisofs.
1178
1179 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
1180 (grub_mkisofs_SOURCES): Removed.
1181 (grub_mkisofs_CFLAGS): Removed.
1182 * util/mkisofs/defaults.h: Removed.
1183 * util/mkisofs/eltorito.c: Likewise.
1184 * util/mkisofs/exclude.h: Likewise.
1185 * util/mkisofs/hash.c: Likewise.
1186 * util/mkisofs/include/: Likewise.
1187 * util/mkisofs/include/fctldefs.h: Likewise.
1188 * util/mkisofs/include/mconfig.h: Likewise.
1189 * util/mkisofs/include/prototyp.h: Likewise.
1190 * util/mkisofs/include/statdefs.h: Likewise.
1191 * util/mkisofs/iso9660.h: Likewise.
1192 * util/mkisofs/joliet.c: Likewise.
1193 * util/mkisofs/match.c: Likewise.
1194 * util/mkisofs/match.h: Likewise.
1195 * util/mkisofs/mkisofs.c: Likewise.
1196 * util/mkisofs/mkisofs.h: Likewise.
1197 * util/mkisofs/msdos_partition.h: Likewise.
1198 * util/mkisofs/multi.c: Likewise.
1199 * util/mkisofs/name.c: Likewise.
1200 * util/mkisofs/rock.c: Likewise.
1201 * util/mkisofs/tree.c: Likewise.
1202 * util/mkisofs/write.c: Likewise.
1203
5dde9afe
VS
12042010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
1205
1206 Unify grub-mkimage accross platforms.
1207
1208 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
1209 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
1210 (grub_mkelfimage_SOURCES): Removed.
1211 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
1212 (util/grub-mkimage.c_DEPENDENCIES): .. this.
1213 (bin_UTILITIES): Add grub-mkimage.
1214 (grub_mkimage_SOURCES): New variable.
1215 (kernel_img_HEADERS): Remove machine/kernel.h.
1216 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
1217 (pkglib_PROGRAMS): Add kernel.img.
1218 (kernel_img_HEADERS): Add machine/kernel.h.
1219 (kernel_img_FORMAT): Removed.
1220 (bin_UTILITIES): Remove grub-mkimage.
1221 (grub_mkimage_SOURCES): Removed.
1222 (grub_mkimage_CFLAGS): Likewise.
1223 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
1224 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
1225 (pkglib_PROGRAMS): Add kernel.img.
1226 (bin_UTILITIES): Remove grub-mkimage.
1227 (grub_mkimage_SOURCES): Removed.
1228 (grub_mkimage_CFLAGS): Likewise.
1229 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
1230 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
1231 (pkglib_PROGRAMS): Add kernel.img.
1232 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
1233 (pkglib_PROGRAMS): Add kernel.img.
1234 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
1235 (grub_mkimage_SOURCES): Removed.
1236 (grub_mkimage_CFLAGS): Likewise.
1237 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
1238 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
1239 (pkglib_PROGRAMS): Add kernel.img.
1240 (bin_UTILITIES): Remove grub-mkimage.
1241 (grub_mkimage_SOURCES): Removed.
1242 (grub_mkimage_CFLAGS): Likewise.
1243 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
1244 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
1245 (grub_mkimage_SOURCES): Removed.
1246 (grub_mkimage_CFLAGS): Likewise.
1247 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
1248 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
1249 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
1250 (grub_pe32_optional_header): ... this.
1251 (grub_pe64_optional_header): ... and this. All users updated.
1252 (GRUB_PE32_PE32_MAGIC): Split into ..
1253 (GRUB_PE32_PE32_MAGIC): .. this.
1254 (GRUB_PE32_PE64_MAGIC): .. and this.
1255 (GRUB_PE32_SIGNATURE_SIZE): New definition.
1256 * include/grub/elf.h (PT_GNU_STACK): New definition.
1257 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
1258 * include/grub/i386/efi/kernel.h: Likewise.
1259 * include/grub/i386/kernel.h: Likewise.
1260 * include/grub/i386/pc/kernel.h: Likewise.
1261 * include/grub/i386/qemu/boot.h: Likewise.
1262 * include/grub/mips/kernel.h: Likewise.
1263 * include/grub/mips/qemu-mips/kernel.h: Likewise.
1264 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
1265 * include/grub/powerpc/kernel.h: Likewise.
1266 * include/grub/sparc64/ieee1275/boot.h: Likewise.
1267 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
1268 * include/grub/sparc64/kernel.h: Likewise.
1269 * include/grub/x86_64/efi/kernel.h: Likewise.
1270 * include/grub/x86_64/kernel.h: Likewise.
1271 * include/grub/offsets.h: New file.
1272 * include/grub/kernel.h (grub_module_info): Split into ...
1273 (grub_module_info32): ... this.
1274 (grub_module_info64): ... and this.
1275 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
1276 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
1277 (grub_boot_blocklist): Moved from here ...
1278 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
1279 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
1280 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
1281 * include/grub/types.h (grub_target_to_host16): Removed.
1282 (grub_target_to_host32): Likewise.
1283 (grub_target_to_host64): Likewise.
1284 (grub_host_to_target16): Likewise.
1285 (grub_host_to_target32): Likewise.
1286 (grub_host_to_target64): Likewise.
1287 (grub_host_to_target_addr): Likewise.
1288
1289 Support grub-mkrescue for efi, coreboot and qemu.
1290
1291 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
1292 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
1293 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
1294 * util/grub-mkrawimage.c: Moved from here ...
1295 * util/grub-mkimage.c: ... here. All users updated.
1296 (ALIGN_ADDR): Use image_target.
1297 (TARGET_NO_FIELD): New const.
1298 (image_target_desc): New type.
1299 (image_targets): New array.
1300 (grub_target_to_host64): Use image_target.
1301 (grub_target_to_host32): Likewise.
1302 (grub_target_to_host16): Likewise.
1303 (grub_host_to_target64): Likewise.
1304 (grub_host_to_target32): Likewise.
1305 (grub_host_to_target16): Likewise.
1306 (grub_host_to_target_addr): Likewise.
1307 (generate_image): Handle multiimage.
1308 (main): Require -O parameter. All users updated.
1309 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
1310 util/efi/grub-mkimage.c
1311 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
1312 New option --rom-directory.
1313 Use xorriso.
1314 * util/i386/efi/grub-mkimage.c: Removed.
1315 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
1316 (grub_target_to_host32): Likewise.
1317 (grub_target_to_host64): Likewise.
1318 (grub_host_to_target16): Likewise.
1319 (grub_host_to_target32): Likewise.
1320 (grub_host_to_target64): Likewise.
1321 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
1322 (grub_target_to_host32): Likewise.
1323 (grub_target_to_host64): Likewise.
1324 (grub_host_to_target16): Likewise.
1325 (grub_host_to_target32): Likewise.
1326 (grub_host_to_target64): Likewise.
1327
f4fc97d0
BC
13282010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
1329
1330 Source tree is reorganized for emu build.
1331
1332 * include/grub/util/console.h: Move from here...
1333 * include/grub/emu/console.h: ...to here.
1334 * include/grub/util/getroot.h: Move from here...
1335 * include/grub/emu/getroot.h: ...to here.
1336 * include/grub/util/hostdisk.h: Move from here...
1337 * include/grub/emu/hostdisk.h: ...to here.
1338 * util/console.c: Move from here...
1339 * kern/emu/console.c: ...to here.
1340 * util/getroot.c: Move from here...
1341 * kern/emu/getroot.c: ...to here.
1342 * util/grub-emu.c: Move from here...
1343 * kern/emu/main.c: ...to here.
1344 * util/hostdisk.c: Move from here...
1345 * kern/emu/hostdisk.c: ...to here.
1346 * util/hostfs.c: Move from here...
1347 * kern/emu/hostfs.c: ...to here.
1348 * util/mm.c: Move from here...
1349 * kern/emu/mm.c: ...to here.
1350 * util/pci.c: Move from here...
1351 * bus/emu/pci.c: ...to here.
1352 * util/sdl.c: Move from here...
1353 * video/emu/sdl.c: ...to here.
1354 * util/time.c: Move from here...
1355 * kern/emu/time.c: ...to here.
1356 * util/usb.c: Move from here...
1357 * bus/usb/emu/usb.c: ...to here.
1358
1359 * include/grub/emu/misc.h: New header for grub-emu functions.
1360 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
1361
1362 * conf/any-emu.rmk: Rule updates for above renames.
1363 * conf/common.rmk: Likewise.
1364 * conf/i386-pc.rmk: Likewise.
1365 * conf/i386-qemu.rmk: Likewise.
1366 * conf/mips.rmk: Likewise.
1367 * conf/sparc64-ieee1275.rmk: Likewise.
1368 * conf/x86-efi.rmk: Likewise.
1369
1370 * disk/lvm.h: #include updates for above renames.
1371 * util/grub-mkrelpath.c: Likewise.
1372 * util/grub-probe.c: Likewise.
1373 * util/i386/pc/grub-setup.c: Likewise.
1374 * util/sparc64/ieee1275/grub-setup.c: Likewise.
1375 * kern/emu/console.c: Likewise.
1376 * kern/emu/getroot.c: Likewise.
1377 * kern/emu/hostdisk.c: Likewise.
1378 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
1379
1380 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
1381 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
1382 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
1383 * util/misc.c: Remove grub-emu functions.
1384
cced9145
VS
13852010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1386
1387 Fix gfxmenu crash.
1388 Reported by: Thorsten Grützmacher.
1389
1390 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
1391 timeout hook.
1392 (circprog_set_property): Register and unregister timeout hook.
1393 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
1394 (label_destroy): Free template. and unregister hook.
1395 (label_set_state): New function.
1396 (label_set_property): Handle templates and hooks.
1397 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
1398 timeout hook.
1399 (progress_bar_set_property): Register and unregister timeout hook.
1400 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
1401 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
1402 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
1403 (update_timeout_visit): Removed.
1404 (update_timeouts): New function.
1405 (redraw_timeouts): Likewise.
1406 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
1407 (grub_gfxmenu_clear_timeout): Likewise.
1408 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
1409 (grub_gfxmenu_timeout_notify): Likewise.
1410 (grub_gfxmenu_timeout_notifications): New external variable.
1411 (grub_gfxmenu_timeout_register): New function.
1412 (grub_gfxmenu_timeout_unregister): Likewise.
1413
c6e5caab
VS
14142010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1415
1416 Transform (broken) vga terminal into (working) vga video driver.
1417
1418 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
1419 video/i386/pc/vga.c.
1420 * include/grub/video.h (grub_video_driver_id):
1421 Add GRUB_VIDEO_DRIVER_VGA.
1422 * term/i386/pc/vga.c: Renamed to ...
1423 * video/i386/pc/vga.c: ...this
1424 (DEBUG_VGA): Removed.
1425 (CHAR_WIDTH): Likewise.
1426 (CHAR_HEIGHT): Likewise.
1427 (TEXT_WIDTH): Likewise.
1428 (TEXT_HEIGHT): Likewise.
1429 (DEFAULT_FG_COLOR): Likewise.
1430 (DEFAULT_BG_COLOR): Likewise.
1431 (colored_char): Likewise.
1432 (xpos): Likewise.
1433 (ypos): Likewise.
1434 (cursor_state): Likewise.
1435 (fg_color): Likewise.
1436 (bg_color): Likewise.
1437 (text_buf): Likewise.
1438 (page): Likewise.
1439 (font): Likewise.
1440 (framebuffer): New variable.
1441 (set_read_map): Disabled.
1442 (setup): New variable.
1443 (is_target): Likewise.
1444 (grub_vga_mod_init): Likewise.
1445 (grub_vga_mod_fini): Likewise.
1446 (check_vga_mem): Likewise.
1447 (write_char): Likewise.
1448 (write_cursor): Likewise.
1449 (scroll_up): Likewise.
1450 (grub_vga_putchar): Likewise.
1451 (grub_vga_getcharwidth): Likewise.
1452 (grub_vga_getwh): Likewise.
1453 (grub_vga_getxy): Likewise.
1454 (grub_vga_gotoxy): Likewise.
1455 (grub_vga_cls): Likewise.
1456 (grub_vga_setcolorstate): Likewise.
1457 (grub_vga_setcursor): Likewise.
1458 (grub_video_vga_init): New function.
1459 (grub_video_vga_setup): Likewise.
1460 (grub_video_vga_fini): Likewise.
1461 (update_target): Likewise.
1462 (grub_video_vga_blit_bitmap): Likewise.
1463 (grub_video_vga_blit_render_target): Likewise.
1464 (grub_video_vga_set_active_render_target): Likewise.
1465 (grub_video_vga_get_active_render_target): Likewise.
1466 (grub_video_vga_swap_buffers): Likewise.
1467 (grub_video_vga_set_palette): Likewise.
1468 (grub_video_vga_get_info_and_fini): Likewise.
1469 (grub_vga_term): Removed.
1470 (grub_video_vga_adapter): New variable.
1471 (GRUB_MOD_INIT): Register a video driver instead of terminal.
1472 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
1473
2bf61a98
VS
14742010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1475
1476 * video/readers/jpeg.c: Indented.
1477
09ddcd11
VS
14782010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1479
1480 Various jpeg cleanups.
1481
1482 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
1483 (grub_jpeg_decode_quan_table): Use sizeof.
1484 (grub_jpeg_decode_du): Use ARRAY_SIZE.
1485
e5507505
PH
14862010-05-05 Peter Hurley <No e-mail available> (tiny change)
1487
1488 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
1489 tables. Ignore non-last ac bit.
1490 (grub_jpeg_decode_quan_table): Likewise.
1491
7e720a9b
VS
14922010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1493
1494 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
1495 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
1496 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1497 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
1498 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
1499 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
1500
a7fc080b
VS
15012010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1502
1503 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
1504 error.
1505
2bf6012d
VS
15062010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1507
1508 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
1509
265d68cd
VS
15102010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1511
1512 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
1513 condition.
1514
15152010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
7dd5a111
VS
1516
1517 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
1518 part.
1519
265d68cd 15202010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9b058d52
VS
1521
1522 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
1523 pointers.
1524
265d68cd 15252010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
25893831
VS
1526
1527 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
1528
d1b61374
CF
15292010-05-01 Christian Franke <franke@computer.org>
1530
1531 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
1532 Remove broken Cygwin path conversion.
1533 * util/misc.c: [__CYGWIN__] Add include and define.
1534 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
1535 for Cygwin 1.7.
1536 (make_system_path_relative_to_its_root): Simplify loop, replace early
1537 return by break.
1538 [__CYGWIN__] Add conversion to win32 path.
1539 Include "/" case in trailing slash removal.
1540
3558c6e9
VS
15412010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1542
1543 * kern/main.c (grub_load_config): Fix copy-pasted comment.
1544 Reported by: Seth Goldberg
1545
f5f3ff93
VS
15462010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1547
1548 * commands/help.c (grub_cmd_help): Fix a typo.
1549 Reported by: Seth Goldberg
1550
d8b5cd40
VS
15512010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1552
1553 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
1554 name and add N_.
1555 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
1556 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
1557 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
1558 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
1559 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
1560 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
1561 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
1562 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
1563 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
1564 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
1565 * normal/context.c (GRUB_MOD_INIT): Likewise.
1566 * normal/main.c (GRUB_MOD_INIT): Likewise.
1567 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
1568 * term/serial.c (GRUB_MOD_INIT): Likewise.
1569 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
1570
88c14915
VS
15712010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1572
1573 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
1574 extra == 0.
1575
165134bc
VS
15762010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1577
1578 * commands/iorw.c: New file.
1579 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
1580 (iorw_mod_SOURCES): New variable.
1581 (iorw_mod_CFLAGS): Likewise.
1582 (iorw_mod_LDFLAGS): Likewise.
1583
c5ac9b32
VS
15842010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1585
1586 Hotkey support
1587
1588 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
1589 * normal/main.c (hotkey_aliases): New variable.
1590 (grub_normal_add_menu_entry): Parse "--hotkey".
1591 * normal/menu_text.c (run_menu): Handle hotkeys.
1592
ce60689c
VS
15932010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1594
1595 * kern/i386/coreboot/init.c (grub_machine_init): Call
1596 grub_machine_mmap_init on qemu.
1597
0359d006
VS
15982010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1599
1600 * boot/i386/qemu/boot.S: Add a missing .code16.
1601
7819a456
VS
16022010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1603
1604 Use LBIO on coreboot.
1605
1606 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
1607 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
1608 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
1609 New declaration.
1610 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
1611 grub_machine_mmap_init on coreboot.
1612 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
1613 GRUB_LINUXBIOS_MEMBER_LINK.
1614 (grub_machine_mmap_iterate): Fix declaration.
1615 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
1616
7210dca9
VS
16172010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1618
1619 Split coreboot and multiboot ports.
1620
1621 * conf/i386-multiboot.rmk: New file.
1622 * configure.ac: Add multiboot port.
1623 * include/grub/i386/multiboot/boot.h: New file.
1624 * include/grub/i386/multiboot/console.h: Likewise.
1625 * include/grub/i386/multiboot/init.h: Likewise.
1626 * include/grub/i386/multiboot/kernel.h: Likewise.
1627 * include/grub/i386/multiboot/loader.h: Likewise.
1628 * include/grub/i386/multiboot/memory.h: Likewise.
1629 * include/grub/i386/multiboot/serial.h: Likewise.
1630 * include/grub/i386/multiboot/time.h: Likewise.
1631 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
1632 * loader/multiboot.c: Likewise.
1633 * loader/multiboot_mbi2.c: Likewise.
1634 * util/grub-mkrescue.in: Generate multiboot rescue.
1635
6f8aaf68
VS
16362010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1637
3080f7a7
VS
1638 * kern/parser.c (grub_parser_execute): Cope with read-only config.
1639
16402010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1641
1642 Merge handling of input and output terminals. Fix a hang.
6f8aaf68
VS
1643
1644 * commands/terminal.c (abstract_terminal): New struct.
1645 (handle_command): New function. Based on grub_cmd_terminal_input.
1646 (grub_cmd_terminal_input): Use handle_command.
1647 (grub_cmd_terminal_output): Use handle_command.
1648
a8ebb841
BC
16492010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
1650
1651 Fix comment handling.
1652
1653 * tests/grub_script_comments.in: New testcase.
1654 * conf/tests.rmk: Rules for new testcase.
1655 * script/yylex.l: Updated flex rules.
1656
bb06ba08
ST
16572010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
1658
1659 * docs/grub.texi (play): Document that zero pitches produce rests.
c76a1838
ST
1660 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
1661 if argc is 1.
bb06ba08 1662
cc9d2425
VS
16632010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1664
1665 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
1666 autogen issues.
1667
460d8402
CF
16682010-04-26 Christian Franke <franke@computer.org>
1669
1670 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
1671 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
1672 (grub_get_prefix): Remove function.
1673 * util/grub-emu.c (main): Replace grub_get_prefix () call by
1674 make_system_path_relative_to_its_root ().
1675 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
1676
553c01f9
CF
16772010-04-24 Christian Franke <franke@computer.org>
1678
1679 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
1680 (kernel_img_LDFLAGS): Remove -static-libgcc.
1681
2aec1692
CF
16822010-04-24 Christian Franke <franke@computer.org>
1683
1684 * configure.ac: Do not CHECK_BSS_START_SYMBOL
1685 and CHECK_END_SYMBOL if grub-emu is built.
1686 Unset TARGET_OBJ2ELF if grub-emu is built
1687 without module support.
1688
f67dc308
JS
16892010-04-24 Jiro SEKIBA <jir@unicus.jp>
1690
1691 Nilfs2 support.
1692
1693 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
1694 (grub_fstest_SOURCES): Likewise.
1695 (pkglib_MODULES): Add nilfs2.mod.
1696 (nilfs2_mod_SOURCES): New variable.
1697 (nilfs2_mod_CFLAGS): Likewise.
1698 (nilfs2_mod_LDFLAGS): Likewise.
1699 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
1700 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
1701 * fs/nilfs2.c: New file.
1702
4ba8d354
VS
17032010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1704
1705 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
1706 is not supported.
1707
0d2c20c6
GS
17082010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
1709
1710 Add grub-mkconfig support for NetBSD.
1711
1712 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
1713 * util/grub-mkconfig.in: export new NetBSD specific variables.
1714 * po/POTFILES-shell: added 10_netbsd.in.
1715 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
1716
bc4a2d83
BC
17172010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
1718
1719 Fix emu build with grub-emu-pci and grub-emu-modules.
1720
1721 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
1722 functions.
1723 * include/grub/libpciaccess.h: New file.
1724 * conf/any-emu.rmk: Update kernel headers for emu build.
1725
f48c87aa
VS
17262010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1727
1728 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
1729
18959385
VS
17302010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1731
1732 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
1733
0037de3f
VS
17342010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1735
1736 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
1737 Retrieve chosen/bootpath if bootpath isn't hardcoded.
1738 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
1739 util/ieee1275/ofpath.c.
1740 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
1741 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
1742 * include/grub/sparc64/ieee1275/boot.h
1743 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
1744 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
1745 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
1746 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
1747 const char *.
1748 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
1749 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
1750 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
1751 install.
1752
38e55e90
GS
17532010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
1754
1755 * util/grub-mkconfig.in: Corrected two == equality tests.
1756 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
1757 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
1758 expect a number appended to it.
1759 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
1760 expects a number appended to it.
1761
a9e6ff28
VS
17622010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1763
1764 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
1765
0b830b8f
VS
17662010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1767
1768 * util/hostdisk.c (make_device_name): Change to new partition naming.
1769
0973daeb
VS
17702010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1771
1772 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
1773
460d8402 17742010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
1775
1776 * Makefile.in: Add missing localedir setting.
1777
0b456309
CW
17782010-04-14 Colin Watson <cjwatson@ubuntu.com>
1779
1780 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
1781 mistake in r2156. Noticed by Anthony Fok.
1782
1783 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
1784 @localedir@.
1785 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
1786
08f46d62
BC
17872010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
1788
1789 Fix a spurious, uninitialized variable warning.
1790
1791 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
1792 Initialize variable, shdr.
1793 (grub_freebsd_load_elfmodule): Likewise.
1794 (grub_freebsd_load_elf_meta): Likewise.
1795
8c4a72d4
BC
17962010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
1797
1798 Fix for escaped dollar in double quoted strings.
1799
1800 * script/yylex.l: Updated flex rules.
1801 * conf/tests.rmk: Rule for new testcase.
1802 * tests/grub_script_dollar.in: New testcase.
1803
ce44826e
CPE
18042010-04-13 Carles Pina i Estany <carles@pina.cat>
18052010-04-13 Colin Watson <cjwatson@ubuntu.com>
1806
1807 Enclose all translated strings in grub.cfg in single quotes, and
1808 escape them appropriately (Ubuntu bug #552921).
1809
1810 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
1811 * util/grub.d/10_hurd.in: Use it.
1812 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
1813 * util/grub.d/10_linux.in (linux_entry): Likewise.
1814
4b0cd8f8
VS
18152010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1816
1817 Fix cygwin compilation.
1818
1819 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
1820 * include/grub/misc.h (__register_frame_info)
1821 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
1822 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
1823 * kern/misc.c (__register_frame_info)
1824 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
1825 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
1826
01fcf061
VS
18272010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1828
1829 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
1830
5d04b11e
VS
18312010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1832
1833 Unify libgcc processing.
1834
1835 * Makefile.in (kernel_img_LDFLAGS): New variable.
1836 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
1837 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
1838 overwriting.
1839 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
1840 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
1841 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
1842 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
1843 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
1844 overwriting. Remove -lgcc and -static-libgcc
1845 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
1846 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
1847 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
1848 (kernel_img_LDFLAGS): Append instead of overwriting.
1849 Remove -lgcc and -static-libgcc
1850 * conf/sparc64-ieee1275.rmk: Likewise.
1851 * include/grub/powerpc/libgcc.h: Move to ...
1852 * include/grub/libgcc.h: .. this.
1853 * include/grub/libgcc.h: Don't export most of the function on x86.
1854 (__bswapsi2): New export.
1855 (__bswapdi2): Likewise.
1856 * include/grub/mips/libgcc.h: Removed.
1857 * include/grub/sparc64/libgcc.h: Likewise.
1858
b7f3ac29
VS
18592010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1860
1861 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
1862 disk_info_msg (conflicts with gettexting into languages with cases).
1863
2c7031b1
GS
18642010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
1865
1866 Add grub-probe support for NetBSD.
1867
1868 * util/getroot.c (find_root_device): Convert block device to
1869 character device on NetBSD.
1870 * util/probe.c (probe): Require character device on NetBSD.
1871 * util/hostdisk.c: NetBSD specific headers.
1872 (configure_device_driver): new function to tune device driver
1873 parameters (currently only for NetBSD floppy driver).
1874 (grub_util_biosdisk_open): NetBSD specific code (get disk size
1875 via disklabel ioctl).
1876 (open_device): call configure_device_driver on NetBSD.
1877 (convert_system_partition_to_system_disk): NetBSD specific code.
1878 (device_is_wholedisk): Likewise.
1879 (grub_util_biosdisk_get_grub_dev): Likewise.
1880 (make_device_name): Fixed a typo in bsd_part_str.
1881 * configure.ac: check for opendisk() and getrawpartition() on
1882 NetBSD and set LIBUTIL.
1883 * Makefile.in: add LIBUTIL to LIBS.
1884
f516290c
BC
18852010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
1886
1887 Documentation fix.
1888
1889 * util/grub-script-check.c: Better help message.
1890
d8dcc0df
BC
18912010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
1892
1893 Fix FreeBSD build.
1894
1895 * configure.ac: Flex version check.
1896 * conf/common.rmk: Add -Wno-error to sh.mod.
1897 * script/yylex.l: Remove all #pragma.
1898
6734334a
VS
18992010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1900
1901 * include/grub/util/misc.h (canonicalise_file_name): Add missing
1902 prototype.
1903 Reported by: Seth Goldberg.
1904
daea6abd
VS
19052010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1906
1907 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
1908 Rename "module" to "module2".
1909 Reported by: Seth Goldberg.
1910
f2fd9d2b
VS
19112010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1912
1913 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
1914 EXPORT_FUNC.
1915 Reported by: Seth Goldberg.
1916
be124579
VS
19172010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1918
1919 * lib/posix_wrap/locale.h: Add missing file.
1920 Reported by: Seth Goldberg.
1921
ef5da797
VS
19222010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1923
1924 grub-emu module load support.
1925
1926 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
1927 NO_DYNAMIC_MODULES switched to this.
1928 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
1929 (CFLAGS): Likewise.
1930 * conf/any-emu.rmk: Generate symlist.
1931 (kernel_img_HEADERS): Add util/datetime.h.
1932 (kernel_img_HEADERS) [sdl]: Add sdl.h.
1933 (kernel_img_HEADERS) [libusb]: Add libusb.h.
1934 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
1935 kern/$(target_cpu)/cache.S.
1936 * configure.ac (grub-emu-modules): New option.
1937 * genmk.rb: Handle multiple source lists.
1938 * include/grub/sdl.h: New file.
1939 * include/grub/libusb.h: Likewise.
1940 * util/grub-emu.c (main): Hanle (host) root.
1941 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
1942 GRUB_ERR_UNKNOWN_DEVICE.
1943 * util/misc.c: Move mm functions to ...
1944 * util/mm.c: ... here. All users updated.
1945
47822096
VS
19462010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1947
1948 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
1949 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
1950 missing files.
1951 (maintainer-clean): Remove libgcrypt-grub.
1952
5d7e7445
VS
19532010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1954
1955 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
1956
25f4e252
EC
19572010-04-09 EFI Coder <eficoder@hotmail.com>
1958
1959 * normal/menu_text.c (print_message): Clean up the message and show
1960 the Fn information when on EFI
1961 * term/efi/console.c (grub_console_checkkey): Add F4 support.
1962
027de555
VS
19632010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1964
1965 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
1966 All users updated.
1967 * normal/crypto.c (read_crypto_list): Likewise.
1968 * normal/dyncmd.c (read_command_list): Likewise.
1969 * normal/term.c (read_terminal_list): Likewise.
1970 * normal/main.c (read_lists): Use explicit prefix.
1971 (read_lists_hook): Use read_lists.
1972 (grub_normal_execute): Likewise.
1973
47779711
VS
19742010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1975
1976 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
1977 Reported by: Thomas Schmitt.
1978 Add -no-emul-boot to grub-mkisofs parameters.
1979
1118c32e
VS
19802010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1981
1982 * font/font.c: Indented.
1983
7d652447
BC
19842010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
1985
1986 Elif support to GRUB script (by Deepak Vankadaru).
1987
1988 * tests/grub_script_if.in: New testcase.
1989 * conf/tests.rmk: Rule for new testcase.
1990 * script/parser.y: Grammar rules for elif.
1991
34bb22df
BC
19922010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
1993
1994 While and until loops support to GRUB script.
1995
1996 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
1997 (grub_script_create_cmdwhile): New function prototype.
1998 (grub_script_execute_cmdwhile): New function prototype.
1999 * script/execute.c (grub_script_execute_cmdwhile): New function.
2000 * script/parser.y (command): New commands.
2001 (whilecmd): New grammar rule.
2002 (untilcmd): New grammar rule.
2003 * script/script.c (grub_script_create_cmdwhile): New function.
2004 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
2005 function.
2006
2007 * tests/grub_script_while1.in: New testcase.
2008 * conf/tests.rmk: Rule for new testcase.
2009
e215d8e0
VS
20102010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2011
2012 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
2013 as *.jpg.
2014
d7c43ba1
MV
20152010-04-09 Mario Vazquez <mariovazq@gmail.com>
2016
2017 GRUB_BACKGROUND support.
2018
2019 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
2020 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
2021
d64795c0
VS
20222010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2023
2024 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 2025 Idea by: Mario Vazquez
d64795c0
VS
2026
2027 * util/grub.d/00_header.in: Load pf2 and image modules.
2028
f267f83a
VS
20292010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2030
2031 grub-mkconfig multiple terminal support.
2032
2033 * util/grub-mkconfig.in: Handle multiple terminals correctly.
2034 * util/grub.d/00_header.in: Likewise.
2035
b7841ceb
VS
20362010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
2037
2038 * Makefile.in: Specify files explicitly instead of using $< and $@ since
2039 we use cd $(srcdir).
2040
df60998c
CW
20412010-04-08 Colin Watson <cjwatson@ubuntu.com>
2042
2043 * util/grub.d/10_linux.in: Only use the first word of
2044 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
2045 spaces in GRUB_DISTRIBUTOR.
2046 * util/grub.d/10_kfreebsd.in: Likewise.
2047 * util/grub.d/10_hurd.in: Likewise.
2048
fa09c82e
BC
20492010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
2050
14e18ae3 2051 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
2052
2053 * tests/util/grub-shell.in: Remove -serial stdio option.
2054
daf892b3
BC
20552010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
2056
2057 POSIX header file wrappers.
2058
2059 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
2060 equivalents.
2061 * lib/posix_wrap/ctype.h: Likewise.
2062 * lib/posix_wrap/errno.h: Likewise.
2063 * lib/posix_wrap/langinfo.h: Likewise.
2064 * lib/posix_wrap/limits.h: Likewise.
2065 * lib/posix_wrap/localcharset.h: Likewise.
2066 * lib/posix_wrap/stdint.h: Likewise.
2067 * lib/posix_wrap/stdio.h: Likewise.
2068 * lib/posix_wrap/stdlib.h: Likewise.
2069 * lib/posix_wrap/string.h: Likewise.
2070 * lib/posix_wrap/sys/types.h: Likewise.
2071 * lib/posix_wrap/unistd.h: Likewise.
2072 * lib/posix_wrap/wchar.h: Likewise.
2073 * lib/posix_wrap/wctype.h: Likewise.
2074 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
2075 (grub_script.yy.h): Likewise.
2076 * script/yylex.l: Remove POSIX emulation #defines.
2077 * Makefile.in (POSIX_CFLAGS): New variable.
2078 (GNULIB_UTIL_CFLAGS): Likewise.
2079
2080 Regexp support.
2081
2082 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
2083 (regexp_mod_SOURCES): New variable.
2084 (regexp_mod_CFLAGS): Likewise.
2085 (regexp_mod_LDFLAGS): Likewise.
2086 * commands/regexp.c: New file.
2087 * gnulib/regcomp.c: New file. Imported from gnulib.
2088 * gnulib/regex.c: Likewise.
2089 * gnulib/regex_internal.c: Likewise.
2090 * gnulib/regex_internal.h: Likewise.
2091 * gnulib/regexec.c: Likewise.
2092 * gnulib/regex.h: Likewise.
2093
974ac4f7
VS
20942010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2095
2096 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
2097 unsupported video mode types.
2098
2622c3ff
VS
20992010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2100
2101 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
2102
064cb524
VS
21032010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
2104
2105 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
2106 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
2107
a8c3b552
VS
21082010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
2109
2110 Remove unused grub_vga_get_font.
2111
2112 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
2113 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
2114
187bbe3d
GS
21152010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2116
2117 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
2118 * include/grub/misc.h: Likewise.
2119
b9396631
GS
21202010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2121
2122 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
2123 for which failure is fatal.
2124
50479feb
GS
21252010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2126
2127 * util/grub-install.in: Use mkdir -p to create grub directory.
2128 * util/i386/efi/grub-install.in: Likewise.
2129 * util/ieee1275/grub-install.in: Likewise.
2130
b1654fdf
GS
21312010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2132
2133 * Makefile.in (LEX): new variable.
2134
bd5a6415
GS
21352010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
2136
2137 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
2138 `=' and added double quotes on operands of this equality test.
2139
3db3a82b
VS
21402010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2141
2142 * Makefile.in (uninstall): Remove a leftover debug echo.
2143 Reported by: Grégoire Sutre
2144
38023412
VS
21452010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
2146
2147 MIPS multiboot2 support.
2148
2149 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
2150 (multiboot2_mod_SOURCES): New variable.
2151 (multiboot2_mod_CFLAGS): Likewise.
2152 (multiboot2_mod_LDFLAGS): Likewise.
2153 (multiboot2_mod_ASFLAGS): Likewise.
2154 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
2155 definition.
2156 (MULTIBOOT_ENTRY_REGISTER): Likewise.
2157 (MULTIBOOT_MBI_REGISTER): Likewise.
2158 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
2159 (MULTIBOOT_ELF32_MACHINE): Likewise.
2160 (MULTIBOOT_ELF64_MACHINE): Likewise.
2161 * include/grub/mips/multiboot.h: New file.
2162 * include/grub/video.h (grub_video_driver_id): New type
2163 GRUB_VIDEO_DRIVER_SM712.
2164 (grub_video_get_info_and_fini): Export.
2165 (grub_video_get_palette): Likewise.
2166 (grub_video_get_driver_id): Likewise.
2167 * include/multiboot2.h: Resynced with spec.
2168 * loader/i386/multiboot.c: Moved from here ...
2169 * loader/multiboot.c: ... here. All users updated.
2170 (grub_multiboot_boot): Use platform-specific macros.
2171 * loader/i386/multiboot_elfxx.c: Moved from here ...
2172 * loader/multiboot_elfxx.c: ... here. All users updated.
2173 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
2174 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
2175 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
2176
47674667
VS
21772010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
2178
2179 Import gnulib argp module.
2180
2181 * gnulib/argp-ba.c: New file.
2182 * gnulib/argp-eexst.c: Likewise.
2183 * gnulib/argp-fmtstream.c: Likewise.
2184 * gnulib/argp-fmtstream.h: Likewise.
2185 * gnulib/argp-fs-xinl.c: Likewise.
2186 * gnulib/argp-help.c: Likewise.
2187 * gnulib/argp-namefrob.h: Likewise.
2188 * gnulib/argp-parse.c: Likewise.
2189 * gnulib/argp-pin.c: Likewise.
2190 * gnulib/argp-pv.c: Likewise.
2191 * gnulib/argp-pvh.c: Likewise.
2192 * gnulib/argp-version-etc.c: Likewise.
2193 * gnulib/argp-version-etc.h: Likewise.
2194 * gnulib/argp-xinl.c: Likewise.
2195 * gnulib/argp.h: Likewise.
2196
495442ed
VS
21972010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2198
2199 * kern/device.c (grub_device_iterate): Clear errors after failed
2200 opening device.
2201
f9fd65df
VS
22022010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
2203
2204 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
2205 returned by firmware.
2206
af09641e
VS
22072010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2208
2209 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
2210 compilation on coreboot and qemu
2211
016883a5
VS
22122010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2213
2214 * include/multiboot2.h: Resync with spec.
2215
f97e1f7d
VS
22162010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
2217
2218 Multiboot2 tag support
2219
2220 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
2221 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
2222 Remove loader/multiboot_loader.c.
2223 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
2224 (grub_multiboot2_real_boot): Likewise.
2225 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
2226 (grub_get_multiboot_mmap_count): New proto.
2227 (grub_fill_multiboot_mmap): Likewise.
2228 (grub_multiboot_set_video_mode): Likewise.
2229 (grub_multiboot_set_console): Likewise.
2230 (grub_multiboot_load): Likewise.
2231 (grub_multiboot_load_elf): Likewise.
2232 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
2233 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
2234 * include/multiboot.h: Resynced with specification.
2235 * include/multiboot2.h: Resynced with specification.
2236 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
2237 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
2238 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
2239 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
2240 users updated.
2241 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
2242 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
2243 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
2244 Removed.
2245 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
2246 Moved from here...
2247 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
2248 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
2249 Moved from here...
2250 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
2251 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
2252 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
2253 All users updated.
2254 * loader/i386/multiboot_mbi2.c: New file.
2255
3506b90b
VS
22562010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
2257
2258 Resync with gnulib.
2259
2260 * Makefile.in (GNULIB_CFLAGS): New variable.
2261 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
2262 (grub_script_check_CFLAGS): New variable.
2263 * gnulib/alloca.h: Resync with gnulib.
2264 * gnulib/error.c: Likewise.
2265 * gnulib/error.h: Likewise.
2266 * gnulib/fnmatch.c: Likewise.
2267 * gnulib/fnmatch_loop.c: Likewise.
2268 * gnulib/getdelim.c: Likewise.
2269 * gnulib/getline.c: Likewise.
2270 * gnulib/getopt.c: Likewise.
2271 * gnulib/getopt1.c: Likewise.
2272 * gnulib/getopt_int.h: Likewise.
2273 * gnulib/gettext.h: Likewise.
2274 * gnulib/progname.c: Likewise.
2275 * gnulib/progname.h: Likewise.
2276
394a3120
GS
22772010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
2278
2279 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
2280 which is the case with --disabled-nls.
2281
2282 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
2283 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
2284 * util/misc.c: Likewise.
2285 * util/mkisofs/mkisofs.c: Likewise.
2286 * util/mkisofs/mkisofs.h: Likewise.
2287
969d1c78
VS
22882010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
2289
2290 Simplify Apple CC support.
2291
2292 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
2293 Add 0 byte at the end not to have a symbol with empty target.
2294 * mmap/i386/pc/mmap_helper.S: Likewise.
2295 * genmk.rb: Ignore errors 2030 and 2050.
2296 * kern/i386/pc/startup.S: Use LOCAL when possible.
2297
8d2977bb
BC
22982010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
2299
2300 Testcase and the fix for final semicolon on cmdline.
2301
2302 * tests/grub_script_final_semicolon.in: New testcase.
2303 * conf/tests.rmk: Rules for the new testcase.
2304 * script/parser.y: Grammar fix.
2305
a7bd6915
BC
23062010-03-26 BVK Chaitanya <bvk@localhost>
2307
2308 Blank lines testcase for GRUB script.
2309
2310 * tests/grub_script_blanklines.in: New testcase.
2311 * conf/tests.rmk: Rules for the new testcase.
2312
e4ff6628
VS
23132010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2314
2315 Don't use __FILE__.
2316
2317 * genmk.rb: Add -DGRUB_FILE to all C targets.
2318 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
2319 * include/grub/list.h: Likewise.
2320 * include/grub/misc.h: Likewise.
2321 * include/grub/mm.h: Likewise.
2322 * include/grub/test.h: Likewise.
2323 * kern/mm.c: Likewise.
2324 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
2325
6a5cf6b6
VS
23262010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2327
2328 Sunpc partitions support.
2329
2330 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
2331 (grub_fstest_SOURCES): Likewise.
2332 (pkglib_MODULES): Add part_sunpc.mod.
2333 (part_sunpc_mod_SOURCES): New variable.
2334 (part_sunpc_mod_CFLAGS): Likewise.
2335 (part_sunpc_mod_LDFLAGS): Likewise.
2336 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
2337 * partmap/sunpc.c: New file.
2338
746d9045
BC
23392010-03-26 BVK Chaitanya <bvk@localhost>
2340
2341 For loop support to GRUB script.
2342
2343 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
2344 (grub_script_create_cmdfor): New function prototype.
2345 (grub_script_execute_cmdfor): New function prototype.
2346 * script/execute.c (grub_script_execute_cmdfor): New function.
2347 * script/parser.y (command): New for command.
2348 (forcmd): New grammar rule.
2349 * script/script.c (grub_script_create_cmdfor): New function.
2350 * util/grub-script-check.c (grub_script_execute_cmdfor): New
2351 function.
2352 * tests/grub_script_for1.in: New testcase.
2353 * conf/tests.rmk: Rules for new testcase.
2354
18486b18
VS
23552010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2356
2357 Nested partitions
2358
2359 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
2360 'partition' is NULL, grub_partition_get_start already does that.
2361 * commands/loadenv.c (check_blocklists): Likewise.
2362 (write_blocklists): Likewise.
2363 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
2364 (grub_fstest_SOURCES): Likewise.
2365 (pkglib_MODULES): Add part_bsd.mod.
2366 (part_bsd_mod_SOURCES): New variable.
2367 (part_bsd_mod_CFLAGS): Likewise.
2368 (part_bsd_mod_LDFLAGS): Likewise.
2369 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
2370 (grub_emu_SOURCES): Likewise.
2371 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2372 * include/grub/bsdlabel.h: New file.
2373 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
2374 'get_name'.
2375 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
2376 (grub_partition_map_list): New variable.
2377 (grub_partition_map_register): Inline.
2378 (grub_partition_map_unregister): Likewise.
2379 (FOR_PARTITION_MAPS): New macro.
2380 (grub_partition_map_iterate): Removed.
2381 (grub_partition_get_start): Handle nested partitions.
2382 * include/grub/msdos_partition.h: Remove bsd-related entries.
2383 (grub_pc_partition): Remove.
2384 * kern/disk.c (grub_disk_close): Free partition data.
2385 (grub_disk_adjust_range): Handle nested partitions.
2386 * kern/partition.c (grub_partition_map_probe): New function.
2387 (grub_partition_probe): Parse name to number, handle subpartitions.
2388 (get_partmap): New function.
2389 (grub_partition_iterate): Handle subpartitions.
2390 (grub_partition_get_name): Likewise.
2391 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
2392 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
2393 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
2394 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
2395 Set 'number'.
2396 (acorn_partition_map_probe): Remove.
2397 (acorn_partition_map_get_name): Likewise.
2398 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
2399 Set 'number'.
2400 Set 'index' to 0 since there can be only one partition entry per sector.
2401 (amiga_partition_map_probe): Remove.
2402 (amiga_partition_map_get_name): Likewise.
2403 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
2404 Set 'number'.
2405 Set 'offset' and 'index' to real positions of partitions.
2406 (apple_partition_map_probe): Remove.
2407 (apple_partition_map_get_name): Likewise.
2408 * partmap/bsdlabel.c: New file.
2409 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
2410 Set 'number'.
2411 Allocate 'data' so it can be correctly freed.
2412 Set 'index' to offset inside sector.
2413 (gpt_partition_map_probe): Remove.
2414 (gpt_partition_map_get_name): Likewise.
2415 * partmap/msdos.c (grub_partition_parse): Remove.
2416 (pc_partition_map_iterate): Don't force raw access.
2417 Set 'number'.
2418 Make 'ext_offset' a local variable.
2419 (pc_partition_map_probe): Remove.
2420 (pc_partition_map_get_name): Remove.
2421 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
2422 Set 'number'.
2423 (sun_partition_map_probe): Remove.
2424 (sun_partition_map_get_name): Likewise.
2425 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
2426 (grub_pcpart_type): Likewise.
2427 * util/hostdisk.c (open_device): Handle new numbering scheme.
2428 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
2429 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
2430 * util/grub-probe.c (probe_partmap): Handle nested paritions.
2431 * util/grub-install.in: Insert all subpartition modules.
2432 * util/ieee1275/grub-install.in: Likewise.
2433
a3940f88
AG
24342010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
2435
2436 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
2437 grammar.
2438
21b99926 24392010-03-24 Colin Watson <cjwatson@ubuntu.com>
2440
2441 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
2442
bed1d352
CW
24432010-03-21 Colin Watson <cjwatson@ubuntu.com>
2444
2445 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
2446 match where 'make install' puts them.
2447 * util/i386/efi/grub-install.in: Likewise.
2448
c9f58427
CW
24492010-03-19 Colin Watson <cjwatson@ubuntu.com>
2450
2451 * .bzrignore: Add gentrigtables, grub-script-check,
2452 grub_script_check_init.c, grub_script_check_init.h, and
2453 trigtables.c.
2454
f84afb27
VS
24552010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
2456
2457 * kern/parser.c: Indented.
2458
ed0e3d30
VS
24592010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
2460
2461 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
2462
0ea81d98
VS
24632010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
2464
2465 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
2466 alpha_mask_size == 0 case.
2467
0cdc2a09
BC
24682010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
2469
2470 GRUB shell lexer and parser improvements.
2471
2472 * conf/any-emu.rmk: Build rule updates.
2473 * conf/common.rmk: Likewise.
2474 * conf/i386-coreboot.rmk: Likewise.
2475 * conf/i386-efi.rmk: Likewise.
2476 * conf/i386-ieee1275.rmk: Likewise.
2477 * conf/i386-pc.rmk: Likewise.
2478 * conf/powerpc-ieee1275.rmk: Likewise.
2479 * conf/x86_64-efi.rmk: Likewise.
2480
2481 * configure.ac: Configure check for flex.
2482
2483 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
2484 types.
2485 (grub_lexer_param): Struct member updates.
2486 (grub_parser_param): Likewise.
2487 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
2488 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
2489 (grub_script_lexer_init): Prototype update.
2490 (grub_script_lexer_record_start): Likewise.
2491 (grub_script_lexer_record_stop): Likewise.
2492 (grub_script_lexer_yywrap): New function prototype.
2493 (grub_script_lexer_fini): Likewise.
2494 (grub_script_execute_argument_to_string): Removed by...
2495 (grub_script_execute_argument_to_argv): ...better version.
2496
2497 * script/execute.c (ROUND_UPTO): New macro.
2498 (grub_script_execute_cmdline): Out of memory fixes.
2499 (grub_script_execute_menuentry): Likewise.
2500 (grub_script_execute_argument_to_string): Removed. Update all
2501 users by...
2502 (grub_script_execute_argument_to_argv): ...better version.
2503 * script/function.c (grub_script_function_create): Use
2504 grub_script_execute_argument_to_argv instead of
2505 grub_script_execute_argument_to_string.
2506
2507 * script/lexer.c (check_varstate): Removed.
2508 (check_textstate): Removed.
2509 (grub_script_lexer_record_start): Likewise.
2510 (grub_script_lexer_record_stop): Likewise.
2511 (recordchar): Replaced with...
2512 (grub_script_lexer_record): ...new function.
2513 (nextchar): Removed.
2514 (grub_script_lexer_init): Rewritten.
2515 (grub_script_yylex): Rewritten.
2516 (append_newline): New function.
2517 (grub_script_lexer_yywrap): New function.
2518 (grub_script_lexer_fini): New function.
2519 (grub_script_yyerror): Sets error flag.
2520
2521 * script/yylex.l: New file.
2522 (grub_lexer_yyfree): Wrapper for flex yyffre.
2523 (grub_lexer_yyalloc): Likewise.
2524 (grub_lexer_yyrealloc): Likewise.
2525 * script/parser.y: Refactored.
2526
2527 * script/script.c (grub_script_arg_add): Out of memory fixes.
2528 (grub_script_add_arglist): Likewise.
2529 (grub_script_create_cmdline): Likewise.
2530 (grub_script_create_cmdmenu): Likewise.
2531 (grub_script_add_cmd): Likewise.
2532 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
2533 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
2534 unnecessary code.
2535
2536 * tests/grub_script_echo1.in: New testcase.
2537 * tests/grub_script_vars1.in: New testcase.
2538 * tests/grub_script_echo_keywords.in: New testcase.
2539
1d63a066
VS
25402010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2541
2542 Remove some redundancy in build system.
2543
2544 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
2545 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
2546 (TARGET_LDFLAGS): Add -nostdlib.
2547 (TARGET_IMG_LDFLAGS): Likewise.
2548 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
2549 anything since mmap isn't available.
2550 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
2551 Add util/time.c.
2552 (pkglib_MODULES): Remove reboot.mod.
2553 (reboot_mod_SOURCES): Removed.
2554 (reboot_mod_CFLAGS): Likewise.
2555 (reboot_mod_LDFLAGS): Likewise.
2556 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
2557 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
2558 (DEFSYMFILES): Add kernel_syms.lst.
2559 (kernel_img_HEADERS): Add common headers.
2560 (symlist.c): New target.
2561 (kernel_syms.lst): Likewise.
2562 (pkglib_MODULES): Add memdisk.mod.
2563 (memdisk_mod_SOURCES): New variable.
2564 (memdisk_mod_CFLAGS): Likewise.
2565 (memdisk_mod_LDFLAGS): Likewise.
2566 (pkglib_MODULES): Add reboot.mod.
2567 (reboot_mod_SOURCES): New variable.
2568 (reboot_mod_CFLAGS): Likewise.
2569 (reboot_mod_LDFLAGS): Likewise.
2570 (pkglib_MODULES): Add date.mod.
2571 (date_mod_SOURCES): New variable.
2572 (date_mod_CFLAGS): Likewise.
2573 (date_mod_LDFLAGS): Likewise.
2574 (pkglib_MODULES): Add datehook.mod.
2575 (datehook_mod_SOURCES): New variable.
2576 (datehook_mod_CFLAGS): Likewise.
2577 (datehook_mod_LDFLAGS): Likewise.
2578 (pkglib_MODULES): Add lsmmap.mod.
2579 (lsmmap_mod_SOURCES): New variable.
2580 (lsmmap_mod_CFLAGS): Likewise.
2581 (lsmmap_mod_LDFLAGS): Likewise.
2582 (pkglib_MODULES): Add boot.mod.
2583 (boot_mod_SOURCES): New variable.
2584 (boot_mod_CFLAGS): Likewise.
2585 (boot_mod_LDFLAGS): Likewise.
2586 * conf/i386-coreboot.rmk: Removed redundant parts.
2587 * conf/i386-ieee1275.rmk: Likewise.
2588 * conf/i386-pc.rmk: Likewise.
2589 * conf/mips-yeeloong.rmk: Likewise.
2590 * conf/mips.rmk: Likewise.
2591 * conf/powerpc-ieee1275.rmk: Likewise.
2592 * conf/sparc64-ieee1275.rmk: Likewise.
2593 * conf/x86_64-efi.rmk: Likewise.
2594 * conf/i386-coreboot.rmk: Moved qemu parts ..
2595 * conf/i386-qemu.rmk: ... here
2596 * conf/i386-efi.rmk: Moved common parts to...
2597 * conf/x86-efi.rmk: ... here.
2598 * conf/i386.rmk: Added modules common to all x86 variants.
2599 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
2600 * disk/memdisk.c: Remove grub/machine/kernel.h.
2601 * gensymlist.sh.in: Include symbol.h.
2602 * hook/datehook.c: Correct module name.
2603 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
2604 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
2605 * include/grub/i386/efi/serial.h: New file.
2606 * include/grub/x86_64/efi/serial.h: Likewise.
2607 * util/time.c: Likewise.
2608 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
2609
463ac55f
CK
26102010-03-14 Colin King <colin.king@ubuntu.com>
26112010-03-14 Colin Watson <cjwatson@ubuntu.com>
2612
2613 Shrink the pre-partition-table part of boot.img by eight bytes.
2614
2615 * boot/i386/pc/boot.S (ERR): New macro.
2616 (chs_mode): Use ERR.
2617 (geometry_error): Likewise.
2618 (hd_probe_error): Remove. This is only used once, so we wrwite
2619 it inline instead.
2620 (read_error): Instead of printing read_error_string, just set up
2621 %si and fall through to ...
2622 (error_message): ... this new function, also used by ERR.
2623
08e46ede
CW
26242010-03-14 Colin Watson <cjwatson@ubuntu.com>
2625
2626 Speed up consecutive hostdisk operations on the same device.
2627
2628 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
2629 (grub_util_biosdisk_open): Initialise disk->data.
2630 (struct linux_partition_cache): New structure.
2631 (linux_find_partition): Cache partition start positions; these are
2632 expensive to compute on every read and write.
2633 (open_device): Cache open file descriptor in disk->data, so that we
2634 don't have to reopen it and flush the buffer cache for consecutive
2635 operations on the same device.
2636 (grub_util_biosdisk_close): New function.
2637 (grub_util_biosdisk_dev): Set `close' member.
2638
2639 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
2640 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
2641 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
2642 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
2643 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
2644
4a6d2d06
VS
26452010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2646
2647 Compile parts of grub-emu as modules.
2648
2649 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
2650 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
2651 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
2652 (all-local): Add $(GRUB_EMU).
2653 (install-local): Install $(GRUB_EMU).
2654 (uninstall): Uninstall $(GRUB_EMU).
2655 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
2656 * kern/dl.c: Likewise.
2657 * commands/sleep.c: Not include machine/time.h.
2658 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
2659 (COMMON_CFLAGS): Likewise.
2660 (sbin_UTILITIES): Remove grub-emu.
2661 (grub_emu_SOURCES): Removed.
2662 (kernel_img_RELOCATABLE): New variable.
2663 (pkglib_PROGRAMS): Add kernel.img.
2664 (kernel_img_SOURCES): New variable
2665 (kernel_img_CFLAGS): Likewise.
2666 (kernel_img_LDFLAGS): Likewise.
2667 (TARGET_NO_STRIP): Likewise.
2668 (TARGET_NO_DYNAMIC_MODULES): Likewise.
2669 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
2670 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
2671 (grub-emu): New target.
2672 (GRUB_EMU): New variable.
2673 * configure.ac: Whitelist -emu as possible x86_64 architecture.
2674 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
2675 * loader/xnu.c: Likewise.
2676 * include/grub/pci.h: Likewise.
2677 * genemuinit.sh: New file.
2678 * genemuinitheader.sh: Likewise.
2679 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
2680 Support TARGET_NO_DYNAMIC_MODULES.
2681 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
2682 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
2683 * disk/loopback.c: Likewise.
2684 * font/font_cmd.c: Likewise.
2685 * partmap/acorn.c: Likewise.
2686 * partmap/amiga.c: Likewise.
2687 * partmap/apple.c: Likewise.
2688 * partmap/gpt.c: Likewise.
2689 * partmap/msdos.c: Likewise.
2690 * partmap/sun.c: Likewise.
2691 * parttool/msdospart.c: Likewise.
2692 * term/gfxterm.c: Likewise.
2693 * video/bitmap.c: Likewise.
2694 * video/readers/jpeg.c: Likewise.
2695 * video/readers/png.c: Likewise.
2696 * video/readers/tga.c: Likewise.
2697 * video/video.c: Likewise.
2698 * util/grub-emu.c (read_command_list): Removed.
2699 (main): Don't call util_init_nls.
2700 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
2701 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
2702
91fdd2ed
VS
27032010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2704
2705 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
2706 date.mod, datehook.mod.
2707 (datetime_mod_SOURCES): New variable.
2708 (datetime_mod_CFLAGS): Likewise.
2709 (datetime_mod_LDFLAGS): Likewise.
2710 (date_mod_SOURCES): Likewise.
2711 (date_mod_CFLAGS): Likewise.
2712 (date_mod_LDFLAGS): Likewise.
2713 (datehook_mod_SOURCES): Likewise.
2714 (datehook_mod_CFLAGS): Likewise.
2715 (datehook_mod_LDFLAGS): Likewise.
2716 * conf/sparc64-ieee1275.rmk: Likewise.
2717 * lib/ieee1275/datetime.c: New file.
2718
873ccae6
VS
27192010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2720
2721 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
2722 (ieee1275_fb_mod_SOURCES): New variable.
2723 (ieee1275_fb_mod_CFLAGS): Likewise.
2724 (ieee1275_fb_mod_LDFLAGS): Likewise.
2725 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
2726 New proto.
2727 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
2728 (HEAP_MAX_ADDR): Likewise.
2729 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
2730 type.
2731 Correct stop condition.
2732 (grub_ieee1275_devices_iterate): New function.
2733 * video/ieee1275.c: New file.
2734
601c97c0
VS
27352010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2736
2737 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
2738
2739 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
2740 as scratch.
2741 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
2742 SCRATCH_PAD_DISKBOOT as scratch.
2743 (bootit): Pass Openfirmware pointer in %o4.
2744 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
2745 of 0x200000.
2746 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
2747 with util/grub-mkrawimage.c.
2748 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
2749 * include/grub/aout.h (AOUT_MID_SUN): New definition.
2750 (grub_aout_get_type) [GRUB_UTIL]: Removed.
2751 (grub_aout_load) [GRUB_UTIL]: Likewise.
2752 * include/grub/kernel.h (grub_modules_get_end): New proto.
2753 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
2754 (SCRATCH_PAD_BOOT): New definition.
2755 (SCRATCH_PAD_DISKBOOT): Likewise.
2756 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
2757 * include/grub/sparc64/ieee1275/ieee1275.h
2758 (grub_ieee1275_original_stack): New variable
2759 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
2760 New definition
2761 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
2762 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
2763 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
2764 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
2765 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
2766 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
2767 (grub_platform_image_format_t): New type.
2768 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
2769 * kern/main.c (grub_modules_get_end)
2770 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
2771 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
2772 (codestart): Switch stacks.
2773 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
2774 variable.
2775 (grub_heap_init): Use grub_modules_get_end.
2776 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
2777 stack.
2778 * util/grub-mkrawimage.c (generate_image): Support sparc64.
2779 (main): Likewise.
2780 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
2781
d68b491e
TG
27822010-03-14 Thorsten Glaser <tg@mirbsd.org>
2783
2784 * util/grub-mkrescue.in: Base ISO UUID on UTC.
2785
4e02ed50
MK
27862010-03-08 Matt Kraai <kraai@ftbfs.org>
2787
2788 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
2789 bug #559005).
2790
1f15fc1e
VS
27912010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
2792
2793 * genmoddep.awk: Output all missing symbols and not only first.
2794
fce5d8ff
VS
27952010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2796
2797 * NEWS: Put the date of 1.98 release.
2798
d1e8a02f
VS
27992010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2800
2801 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
2802 ft2build.h.
2803
696fd607
VS
28042010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2805
2806 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
2807 completition in the middle of string.
2808
33e2e6f3
VS
28092010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2810
2811 * util/grub-mkrescue.in: Use mktemp with explicit template.
2812
b1f6d291
VS
28132010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2814
2815 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
2816
2ac227c7
VS
28172010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2818
2819 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
2820 right pointer.
2821
8f9a632b
VS
28222010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2823
2824 Fix FreeBSD compilation.
2825
2826 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
2827 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
2828
60b03859
VS
28292010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2830
2831 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
2832
48a5a769
VS
28332010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2834
2835 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
2836
3ab4bd77
VS
28372010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2838
2839 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
2840
d116e0d8
RM
28412010-03-04 Robert Millan <rmh.grub@aybabtu.com>
2842
2843 Support relative image path in theme file.
2844
2845 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
2846 (image_set_property): Handle theme_dir and relative path.
2847
c7ef54aa
VS
28482010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2849
2850 * configure.ac: Alias amd64 to x86_64.
2851
fcee14ed
VS
28522010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2853
2854 * NEWS: mention multiboot on EFI.
2855
d0780363
VS
28562010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2857
2858 * kern/main.c (grub_load_modules): Handle errors from init functions of
2859 embeded modules.
2860
41168ea4
VS
28612010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2862
2863 * normal/autofs.c (autoload_fs_module): Handle errors.
2864
b54d93ac
VS
28652010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2866
2867 Disable linux.mod on qemu-mips since it's not functional and leads
2868 to compilation failure.
2869
2870 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
2871 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
2872 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
2873 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
2874 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
2875 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
2876 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
2877 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
2878 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
2879 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
2880 Reported by: BVK Chaitanya
2881
fc8345da
JU
28822010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
2883
2884 * INSTALL: Add gettext as a dependency and add qemu to a new section
2885 "Prerequisites for make-check".
2886
4760f979
CF
28872010-03-04 Christian Franke <franke@computer.org>
2888
2889 * util/grub-pe2elf.c: Add missing include "progname.h".
2890
f209b5b2
VS
28912010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2892
2893 * normal/crypto.c (read_crypto_list): Fix a typo.
2894 Reported by: Seth Goldberg.
2895
b4b7be98
VS
28962010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2897
2898 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 2899 Reported by: Seth Goldberg.
b4b7be98 2900
c0ee0385
VS
29012010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2902
2903 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
2904 ascii.bitmaps.
2905
a8efbf64
VS
29062010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2907
2908 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 2909 Reported by: Seth Goldberg.
a8efbf64 2910
08dcd913
VS
29112010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2912
2913 * util/i386/efi/grub-install.in: Copy gettext files.
2914
c4d0b332
VS
29152010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2916
2917 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
2918
c6f2fe52
VS
29192010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2920
2921 Wait for user entry basing on presence of output rather than on errors.
2922
2923 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
2924 (grub_install_newline_hook): Likewise.
2925 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
2926 * normal/menu.c (show_menu): Check line_counter to determine presence
2927 of output.
2928 * normal/term.c (grub_normal_line_counter): New variable.
2929 (grub_normal_get_line_counter): New function.
2930 (grub_install_newline_hook): Likewise.
2931
5382b1e4
VS
29322010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2933
2934 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
2935
5519963b
VS
29362010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2937
2938 * configure.ac: Update version to 1.98.
2939
72b28631
VS
29402010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2941
2942 * util/grub.d/10_linux.in (linux_entry): Don't default to
2943 gfxpayload=keep if Linux doesn't support video handover.
2944
c140a180
VS
29452010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
2946
2947 Don't compile video modules on yeeloong since video subsystem is part
2948 of kernel.
2949
2950 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
2951 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
2952 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
2953 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
2954 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
2955 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
2956 * include/grub/bitmap_scale.h: Likewise.
2957 * include/grub/bufio.h: Likewise.
2958 * include/grub/font.h: Likewise.
2959 * include/grub/gfxterm.h: Likewise.
2960 * include/grub/video.h: Likewise.
2961 * include/grub/vbe.h: Don't include video_fb.h.
2962 * video/i386/pc/vbe.c: Include video_fb.h.
2963 * commands/i386/pc/vbetest.c: Include video.h.
2964
a0ca21c2
CW
29652010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
2966
2967 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
2968 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
2969 default entry if GRUB_SAVEDEFAULT=true. This allows using
2970 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
2971 saving a new default on every boot.
2972
4a8a763c
VS
29732010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2974
2975 * normal/crypto.c (read_crypto_list): Fix a memory leak.
2976 * normal/term.c (read_terminal_list): Likewise.
2977 * normal/main.c (grub_normal_init_page): Likewise.
2978 (grub_normal_read_line_real): Likewise.
2979
607ffde2
VS
29802010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2981
2982 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
2983 memory leak.
2984 Reported by: Seth Goldberg.
2985
2b8fa975
CW
29862010-02-24 Joey Korkames <joey+lists@kidfixit.com>
2987
2988 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
2989 duplicate declaration of `start'.
2990
618307dd
VS
29912010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
2992
2993 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
2994 filename.
2995 Reported by: Georgy Buranov
2996
7dd05b96 29972010-02-20 Carles Pina i Estany <carles@pina.cat>
2998
2999 * util/grub-mkrawimage.c (usage): Change string formatting to
3000 improve gettext.
3001
d1484a42
MRA
30022010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
3003
3004 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
3005 backspace keys.
3006
42b1d186
VS
30072010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
3008
3009 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
3010 Reported by: Michael Suchanek.
3011
30122010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
3013
3014 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
3015 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
3016
d9f31a41
VS
30172010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
3018
3019 Remove any reference to non-free fonts.
3020
3021 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
3022 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
3023 uses non-free components.
3024 * font/font.c (grub_font_get_name): Remove example name.
3025 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
3026 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
3027 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
3028 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
3029
2793c71e
GB
30302010-02-16 Georgy Buranov <gburanov@gmail.com>
3031
3032 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
3033
402e3779
VS
30342010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
3035
3036 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
3037 Double divisor.
3038 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
3039 features.
3040 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
3041
0dd1e0dd
VS
30422010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
3043
3044 * gensymlist.sh.in: Use TARGET_CC instead of CC.
3045
6fa7cfce
ST
30462010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
3047
3048 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
3049 * docs/grub.texi (Command-line and menu entry commands): Document play
3050 command.
3051
37c8483b
ST
30522010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
3053
3054 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
3055 parse arguments as inline tempo and notes. Move code for playing notes
3056 to...
3057 (play): ... new function.
3058
14da0fb7
ST
30592010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
3060
3061 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
3062 grub_uint16_t instead of short.
3063 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
3064 disk from little endian to cpu endianness.
3065
04459e70
ST
30662010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
3067
3068 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
3069 GRUB_TICKS_PER_SECOND instead of 120.
3070
a0876943
VS
30712010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
3072
3073 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
3074 escape sequence after \e.
3075
e29f95dc
VS
30762010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
3077
3078 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
3079 non-ASCII characters.
3080
d27859b2
VS
30812010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
3082
3083 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
3084 set root in single quotes to prevent \, from being unescaped.
3085
bc028f2f
VS
30862010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
3087
3088 Prevent unknown commands from stopping menuentry execution.
3089
3090 * script/execute.c (grub_script_execute_cmdline): Print error after
3091 unknown command.
3092
095f5f82
VS
30932010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
3094
3095 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
3096 Reported by: Pavel Pisa.
3097
8c717950
VS
30982010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3099
3100 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
3101
904935c3
VS
31022010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3103
3104 Merge grub_ieee1275_map_physical into grub_map and rename to
3105 grub_ieee1275_map
3106
3107 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
3108 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
3109 Remove.
3110 * kern/ieee1275/openfw.c (grub_map): Rename to ...
3111 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
3112 necessary.
3113 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
3114
5b59a4e3
VS
31152010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3116
3117 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
3118 opening and not after.
3119
69e137e8
VS
31202010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3121
3122 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
3123 constants.
3124
2c0fcc36
VS
31252010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3126
3127 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
3128 (alloc_phys): Use ALIGN_UP instead of align_addr.
3129
8c6052ce
VS
31302010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3131
3132 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
3133
17cec782
VS
31342010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3135
3136 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
3137
e0128bbd
VS
31382010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3139
3140 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
3141 verbose dprintf.
3142
ca62070b
VS
31432010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3144
3145 Fix over-4GiB seek on sparc64.
3146
3147 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
3148 Replace pos_i and pos_lo with pos. All users updated.
3149 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
3150 New constant.
3151 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
3152 Likewise.
3153 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
3154 and pos_lo.
3155
bdca2607
VS
31562010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3157
3158 * util/grub-mkrawimage.c (main): Call set_program_name.
3159
da278c4d
VS
31602010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3161
3162 Properly align 64-bit targets.
3163
3164 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
3165 (generate_image): Use ALIGN_ADDR.
3166
b274d734
VS
31672010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3168
3169 Properly create cross-endian images.
3170
3171 * include/grub/types.h (grub_host_to_target_addr): New macro
3172 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
3173
82da2062
VS
31742010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
3175
3176 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
3177
7cae4377
VS
31782010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3179
3180 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
3181
3182 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
3183 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
3184 (grub_linux_boot): Divide by 64K when on VESA.
3185
65a533e7
VS
31862010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3187
3188 Support GRUB_GFXPAYLOAD_LINUX.
3189
3190 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
3191 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
3192
dd01d397
VS
31932010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
3194
3195 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
3196 to show messages instead of discarding them.
3197 Process errors after executing command and not before. Keep old method
3198 too as precaution.
3199
660960d6
VS
32002010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
3201
3202 * configure.ac: Check for ft2build.h.
3203
62509f04
VS
32042010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3205
3206 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
3207
473df63d
VS
32082010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3209
3210 * genkernsyms.sh.in: Use TARGET_CC.
3211
c98d2a13
CW
32122010-02-07 Colin Watson <cjwatson@ubuntu.com>
3213
3214 * NEWS: Update.
3215
6e14234c
VS
32162010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3217
3218 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
3219 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
3220 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 3221
b255e9cf
YB
32222010-02-07 Yves Blusseau <blusseau@zetam.org>
3223
6e14234c 3224 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 3225
98e6959d
VS
32262010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3227
3228 Fix warnings in grub-emu when compiling with maximum warning options.
3229
3230 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
3231 (grub_arch_modules_addr): Return 0 and not NULL.
3232 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 3233 (xstrdup): Use newstr instead of dup.
f88d801b
VS
3234 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
3235 of disk to dsk to avoid shadowing.
74e4934e
VS
3236 (find_free_slot): Fix prototype.
3237 * util/getroot.c (grub_util_is_dmraid): Make static.
3238 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
3239 Add missing prototype.
3240 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 3241
74e31b5c
VS
32422010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3243
3244 * loader/i386/linux.c (grub_linux_setup_video): Handle error
3245 appropriately.
3246
6b2ad14b
VS
32472010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3248
3249 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
3250 code out.
3251
8f891adc
VS
32522010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3253
3254 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
3255 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
3256 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
3257 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
3258 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
3259 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
3260
74b45184
VS
32612010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3262
3263 * include/grub/err.h (grub_err_printf): Don't export.
3264
a4bced77
VS
32652010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3266
3267 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
3268
007d0695
VS
32692010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3270
3271 * include/grub/i18n.h (grub_gettext_dummy): Removed.
3272 * kern/misc.c (grub_gettext_dummy): Make static.
3273
b6c0d9c2
VS
32742010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3275
3276 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
3277 by non-valid ones.
3278 * kern/term.c (grub_putchar): Likewise.
3279
f51a90d0
VS
32802010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3281
3282 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
3283 buggy hook call and memory leak.
3284
6846cec5
VS
32852010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3286
3287 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
3288
468d69fe
VS
32892010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3290
3291 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
3292
51906b8c
VS
32932010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3294
3295 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
3296 modevar.
3297 Return grub_errno on allocation error.
3298
09706ce5
VS
32992010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3300
3301 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
3302
911df80c
YB
33032010-02-06 Yves Blusseau <blusseau@zetam.org>
3304
3305 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
3306 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
3307
3746a6bc
VS
33082010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3309
3310 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
3311 non-pxe disk.
3312 (grub_pxefs_open): Likewise.
3313
09706ce5
VS
33142010-02-06 Robert Millan <rmh.grub@aybabtu.com>
3315
3316 * util/grub.d/10_hurd.in: Add --class information to menuentries.
3317 * util/grub.d/10_kfreebsd.in: Likewise.
3318 * util/grub.d/10_linux.in: Likewise.
3319
7cc192d9
VS
33202010-02-06 Colin D Bennett <colin@gibibit.com>
3321
3322 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
3323 (gfxmenu_mod_SOURCES): New variable.
3324 (gfxmenu_mod_CFLAGS): Likewise.
3325 (gfxmenu_mod_LDFLAGS): Likewise.
3326 * include/grub/term.h (grub_term_set_current_output): Declare
3327 argument as const.
3328 * docs/gfxmenu-theme-example.txt: New file.
3329 * gfxmenu/gfxmenu.c: Likewise.
3330 * gfxmenu/gui_box.c: Likewise.
3331 * gfxmenu/gui_canvas.c: Likewise.
3332 * gfxmenu/gui_circular_progress.c: Likewise.
3333 * gfxmenu/gui_image.c: Likewise.
3334 * gfxmenu/gui_label.c: Likewise.
3335 * gfxmenu/gui_list.c: Likewise.
3336 * gfxmenu/gui_progress_bar.c: Likewise.
3337 * gfxmenu/gui_string_util.c: Likewise.
3338 * gfxmenu/gui_util.c: Likewise.
3339 * gfxmenu/icon_manager.c: Likewise.
3340 * gfxmenu/model.c: Likewise.
3341 * gfxmenu/named_colors.c: Likewise.
3342 * gfxmenu/theme_loader.c: Likewise.
3343 * gfxmenu/view.c: Likewise.
3344 * gfxmenu/widget-box.c: Likewise.
3345 * include/grub/gfxmenu_model.h: Likewise.
3346 * include/grub/gfxmenu_view.h: Likewise.
3347 * include/grub/gfxwidgets.h: Likewise.
3348 * include/grub/gui.h: Likewise.
3349 * include/grub/gui_string_util.h: Likewise.
3350 * include/grub/icon_manager.h: Likewise.
3351
33522010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3353
3354 Agglomerate scrolling in gfxterm.
3355
3356 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
3357 (grub_virtual_screen_setup): Initialise 'total_screen'.
3358 (write_char): Split to ...
3359 (paint_char): ... this ...
3360 (write_char): ... and this.
3361 (paint_char): Handle delayed scrolling.
3362 (draw_cursor): Likewise.
3363 (scroll_up): Split to ...
3364 (real_scroll): ... this ...
3365 (scroll_up): ... and this.
3366 (real_scroll): Handle multi-line scroll and draw below-the-bottom
3367 characters.
3368 (grub_gfxterm_refresh): Call real_scroll.
3369
33702010-02-06 Colin D Bennett <colin@gibibit.com>
3371
3372 * include/grub/misc.h (grub_iscntrl): New inline function.
3373 (grub_isalnum): Likewise.
3374 (grub_strtol): Likewise.
3375
33762010-02-06 Colin D Bennett <colin@gibibit.com>
3377
3378 * normal/menu_text.c (get_entry_number): Move from here ...
3379 * normal/menu.c (get_entry_number): ... moved here.
3380 * include/grub/menu.h (grub_menu_get_default_entry_index):
3381 New prototype.
3382 * normal/menu.c (grub_menu_get_default_entry_index): New function.
3383 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
3384 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
3385 (grub_menu_viewer_should_return): Likewise.
3386 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
3387 * normal/menu_text.c (run_menu): Enable menu switching.
3388 * normal/menu_viewer.c (should_return): New variable.
3389 (menu_viewer_changed): Likewise.
3390 (grub_menu_viewer_show_menu): Handle menu viewer changes.
3391 (grub_menu_viewer_should_return): New function.
3392 (menuviewer_write_hook): Likewise.
3393 (grub_menu_viewer_init): Likewise.
3394
33952010-02-06 Colin D Bennet <colin@gibibit.com>
33962010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3397
3398 Support for gfxterm in a window.
3399
3400 * include/grub/gfxterm.h: New file.
3401 * include/grub/video.h (struct grub_video_rect): New declaration.
3402 (grub_video_rect_t): Likewise.
3403 * term/gfxterm.c (struct grub_gfxterm_window): New type.
3404 (refcount): New variable.
3405 (render_target): Likewise.
3406 (window): Likewise.
3407 (repaint_callback): Likewise.
3408 (grub_virtual_screen_setup): Use 'render_target'.
3409 (init_window): New function.
3410 (grub_gfxterm_init_window): Likewise.
3411 (grub_gfxterm_init): Check reference counter.
3412 Use init_window.
3413 (destroy_window): New function.
3414 (grub_gfxterm_destroy_window): Likewise.
3415 (grub_gfxterm_fini): Check reference counter.
3416 Use destroy_window.
3417 (redraw_screen_rect): Restore viewport.
3418 Use 'render_target' and 'window'.
3419 Call 'repaint_callback'.
3420 (write_char): Use 'render_target'.
3421 (draw_cursor): Likewise.
3422 (scroll_up): Restore viewport.
3423 Use 'render_target' and 'window'.
3424 Call 'repaint_callback'.
3425 (grub_gfxterm_cls): Likewise.
3426 (grub_gfxterm_refresh): Use 'window'.
3427 (grub_gfxterm_set_repaint_callback): New function.
3428 (grub_gfxterm_background_image_cmd): Use 'window'.
3429 (grub_gfxterm_get_term): New function.
3430 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
3431
34322010-02-06 Colin D Bennett <colin@gibibit.com>
3433
3434 Bitmap scaling support.
3435
3436 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
3437 (bitmap_scale_mod_SOURCES): New variable.
3438 (bitmap_scale_mod_CFLAGS): Likewise.
3439 (bitmap_scale_mod_LDFLAGS): Likewise.
3440 * include/grub/bitmap_scale.h: New file.
3441 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
3442 (background_image_cmd_options): New variable.
3443 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
3444 (cmd): Rename and change type to ...
3445 (background_image_cmd_handle): ... this. All users updated.
3446 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
3447 * video/bitmap_scale.c: New file.
3448
34492010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3450
3451 SDL support.
3452
3453 * Makefile.in (LIBSDL): New variable.
3454 (enable_grub_emu_sdl): Likewise.
3455 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
3456 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
3457 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
3458 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
3459 * util/sdl.c: New file.
3460
34612010-02-06 Colin D Bennett <colin@gibibit.com>
34622010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3463
3464 Double buffering support.
3465
3466 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
3467 * include/grub/video.h: Update comment.
3468 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
3469 New type.
3470 (grub_video_fb_doublebuf_blit_init): New prototype.
3471 * term/gfxterm.c (scroll_up): Support double buffering.
3472 (grub_gfxterm_refresh): Likewise.
3473 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
3474 (grub_video_fb_doublebuf_blit_init): Likewise.
3475 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
3476 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
3477 'displayed_page', 'render_page' and 'update_screen'.
3478 (grub_video_vbe_fini): Free offscreen buffer.
3479 (doublebuf_pageflipping_commit): New function.
3480 (doublebuf_pageflipping_update_screen): Likewise.
3481 (doublebuf_pageflipping_init): Likewise.
3482 (double_buffering_init): Likewise.
3483 (grub_video_vbe_setup): Enable doublebuffering.
3484 (grub_video_vbe_swap_buffers): Implement.
3485 (grub_video_vbe_set_active_render_target): Handle double buffering.
3486 (grub_video_vbe_get_active_render_target): Likewise.
3487 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
3488 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
3489 (grub_video_vbe_enable_double_buffering): Likewise.
3490 (grub_video_vbe_swap_buffers): Use update_screen.
3491 (grub_video_set_mode): Use double buffering.
3492
34932010-02-06 Robert Millan <rmh.grub@aybabtu.com>
3494
3495 * maintainance/gentrigtables.py: Remove.
3496 * lib/trig.c: Likewise.
3497
3498 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
3499
3500 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
3501 `trigtables.c'.
3502 (trigtables.c): New rule.
3503 (gentrigtables): Likewise.
3504 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
3505
35062010-02-06 Robert Millan <rmh.grub@aybabtu.com>
3507
3508 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
3509 integer constants.
3510
35112010-02-06 Colin D Bennet <colin@gibibit.com>
3512
3513 Trigonometry support.
3514
3515 * include/grub/trig.h: New file.
3516 * lib/trig.c: Likewise.
3517 * maintainance/gentrigtables.py: Likewise.
3518 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
3519 (trig_mod_SOURCES): New variable.
3520 (trig_mod_CFLAGS): Likewise.
3521 (trig_mod_LDFLAGS): Likewise.
3522
5562834e
VS
35232010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3524
3525 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
3526 disk devices.
3527
4f8528fc
VS
35282010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3529
3530 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
3531 error.
3532
2b4068e9
VS
35332010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3534
3535 * util/hostdisk.c (open_device): Don't use partition device when reading
3536 before the partition.
3537 (grub_util_biosdisk_read): Don't read from partition and before the
3538 partition in single operation.
3539 (grub_util_biosdisk_write): Don't write to partition and before the
3540 partition in single operation.
3541
399f6e4d
TL
35422010-02-03 Torsten Landschoff <torsten@debian.org>
3543
3544 * kern/disk.c (grub_disk_read): Fix offset computation when reading
3545 last sectors.
3546
996649b0
VS
35472010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3548
3549 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
3550 CDROM reads.
3551 (grub_biosdisk_write): Refuse to write to CDROM.
3552
3b205d4d
VS
35532010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3554
3555 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
3556
61e89d9d
VS
35572010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3558
3559 * font/font.c (find_glyph): Check that bmp_idx is available before
3560 using it.
3561 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
3562 with (font == NULL).
3563
bf7fcba2
CS
35642010-01-28 Christian Schmitt <chris@ilovelinux.de>
3565
3566 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
3567
f45d2663
BC
35682010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
3569
3570 * include/grub/script_sh.h (sourcecode): Add const qualifier.
3571 * util/grub-script-check.c (getline): Fix empty lines case.
3572
ec1444e6
RM
35732010-01-28 Robert Millan <rmh.grub@aybabtu.com>
3574
3575 * Makefile.in (check): Exit with fail status when one of the tests
3576 fails.
3577 * tests/example_functional_test.c (example_test): Fix reversed assert.
3578 * tests/example_unit_test.c (example_test): Likewise.
3579
2e1cb9bb
CW
35802010-01-28 Colin Watson <cjwatson@ubuntu.com>
3581
3582 * util/grub.d/10_linux.in: This script does not use any of the
3583 contents of gettext.sh, only the external command `gettext', so stop
3584 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
3585 the same prefix as GRUB.)
3586 * util/grub.d/10_kfreebsd.in: Likewise.
3587
63533ab0
VS
35882010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3589
3590 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
3591 of the line.
3592
989e1f93
VS
35932010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3594
3595 * kern/disk.c (grub_disk_read): Fix offset computation when reading
3596 last sectors.
3597
e709ebe2
VS
35982010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3599
3600 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
3601 having a 4KiB and not 32KiB buffer size.
3602
27dea7ed
RM
36032010-01-27 Robert Millan <rmh.grub@aybabtu.com>
3604
3605 * util/hostfs.c: Include `<errno.h>'.
3606 (grub_hostfs_read): Handle errors from fseeko() and fread().
3607
67667b9c
RM
36082010-01-27 Robert Millan <rmh.grub@aybabtu.com>
3609
3610 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
3611 loop when using read hooks on files whose size isn't sector-aligned.
3612
c294d9d8
RM
36132010-01-27 Robert Millan <rmh.grub@aybabtu.com>
3614
3615 Remove unused parameter.
3616
3617 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
3618 (grub_iso9660_open): Remove initialization of `data->length'.
3619
af75a9f1
RM
36202010-01-27 Robert Millan <rmh.grub@aybabtu.com>
3621
3622 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
3623 memleak conditions.
3624
254e2ce5 36252010-01-27 Carles Pina i Estany <carles@pina.cat>
3626
3627 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
3628 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
3629
b510928c 36302010-01-26 Carles Pina i Estany <carles@pina.cat>
3631
3632 * util/bin2h.c (usage): Fix warning (space after backslash).
3633
aa2f9dd2 36342010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 3635
3636 * font/font.c: Include `grub/fontformat.h.
3637 Remove font file format constants.
3638 (grub_font_load): Use the new macros.
3639 * include/grub/fontformat.h: New file.
3640 * util/grub-mkfont.c: Include `grub/fontformat.c'.
3641 (write_font_pf2): Use the new macros.
3642
94e7e712
RM
36432010-01-26 Robert Millan <rmh.grub@aybabtu.com>
3644
3645 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
3646 does.
3647
3973a59a
RM
36482010-01-26 Robert Millan <rmh.grub@aybabtu.com>
3649
3650 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
3651
3652 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
3653 (_start): Macroify `0x7F'.
3654
3655 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
3656 (make_install_device): Use "(pxe)" as fallback prefix when booting
3657 via PXE.
3658
42e0cba3
GS
36592010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
3660
3661 * configure.ac: Reset LIBS after check for libgcc symbols.
3662
847effd8
CW
36632010-01-25 Colin Watson <cjwatson@ubuntu.com>
3664
3665 * util/hostdisk.c (open_device): Add trailing newline to debug
3666 message.
3667
ea4a7e35
GS
36682010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
3669
3670 * configure.ac: Check for `limits.h'.
3671 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
3672
67951a53
RM
36732010-01-24 Robert Millan <rmh.grub@aybabtu.com>
3674
3675 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
3676 capitalize error strings.
3677
c273d4ce
ST
36782010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
3679
3680 * util/grub.d/10_hurd.in: Add a recovery mode.
3681
69be5b74
VS
36822010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
3683
3684 * configure.ac: Check for libgcc symbols with -nostdlib.
3685
fc9e5810
BC
36862010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
3687
3688 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
3689
4b358c0a
VS
36902010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3691
3692 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
3693 stack since heap may be unavailable at that point.
3694 (grub_ofconsole_gotoxy): Likewise.
3695
454fcd1c
VS
36962010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3697
3698 * configure.ac: Check for _restgpr_14_x.
3699 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
3700 and _savegpr_* prototypes.
3701
566863ca
RM
37022010-01-22 Robert Millan <rmh.grub@aybabtu.com>
3703
3704 Use generic grub_reboot() for i386-efi.
3705
3706 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
3707 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
3708 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
3709
bf86e59a
VS
37102010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3711
3712 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
3713 presence of "prefix" variable as it breaks when normal.mod is
3714 embedded.
3715
d645e0f8
VS
37162010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3717
3718 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
3719 stack since heap is unavailable at that point.
3720
f9ab2e25
VS
37212010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3722
3723 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
3724 (grub_freebsd_bootinfo): Rewritten.
3725 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
3726
01fc7054
VS
37272010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3728
3729 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
3730
caab4fd6
RM
37312010-01-21 Robert Millan <rmh.grub@aybabtu.com>
3732
3733 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
3734 domain now.
3735
67eb1427
FZ
37362010-01-20 Felix Zielcke <fzielcke@z-51.de>
3737
3738 * util/misc.c (make_system_path_relative_to_its_root): Change the work
3739 around for handling "/" to the correct fix. Fix a memory leak. Use
3740 xstrdup instead of strdup.
3741
a9ed4ff3
VS
37422010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3743
3744 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
3745
37462010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
3747
3748 Optimise glyph lookup by Basic Multilingual Plane lookup array.
3749
3750 * font/font.c (struct grub_font): New member 'bmp_idx'.
3751 (font_init): Initialise 'bmp_idx'.
3752 (load_font_index): Fill 'bmp_idx'.
3753 (find_glyph): Make inline. Use bmp_idx for BMP characters.
3754
48209f4f
VS
37552010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3756
3757 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
3758 unnecessary calls.
3759
9f0a4bb7
VS
37602010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3761
3762 Move context handling out of the kernel.
3763
3764 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
3765 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
3766 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
3767 * conf/i386-efi.rmk: Likewise.
3768 * conf/i386-ieee1275.rmk: Likewise.
3769 * conf/i386-pc.rmk: Likewise.
3770 * conf/powerpc-ieee1275.rmk: Likewise.
3771 * conf/sparc64-ieee1275.rmk: Likewise.
3772 * conf/x86_64-efi.rmk: Likewise.
3773 * include/grub/env.h: Include grub/menu.h.
3774 (grub_env_var_type): Removed.
3775 (grub_env_var): Replaced field 'type' with 'global'.
3776 (grub_env_find): New prototype.
3777 (grub_env_context_open): Remove EXPORT_FUNC.
3778 (grub_env_context_close): Likewise.
3779 (grub_env_export): Likewise.
3780 (grub_env_set_data_slot): Removed.
3781 (grub_env_get_data_slot): Likewise.
3782 (grub_env_unset_data_slot): Likewise.
3783 (grub_env_unset_menu): New prototype.
3784 (grub_env_set_menu): Likewise.
3785 (grub_env_get_menu): Likewise.
3786 * include/grub/env_private.h: New file.
3787 * include/grub/normal.h (grub_context_init): New prototype.
3788 (grub_context_fini): Likewise.
3789 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
3790 * normal/context.c (grub_cmd_export): ... to here.
3791 * kern/env.c: Include env_private.h.
3792 (HASHSZ): Moved to include/grub/env_private.h.
3793 (grub_env_context): Likewise.
3794 (grub_env_sorted_var): Likewise.
3795 (current_context): Renamed from this ...
3796 (grub_current_context): ...to this. 'static' removed. All users updated.
3797 (grub_env_find): Removed 'static'.
3798 (grub_env_context_open): Moved to normal/context.c.
3799 (grub_env_context_close): Likewise.
3800 (grub_env_export): Likewise.
3801 (mangle_data_slot_name): Removed.
3802 (grub_env_set_data_slot): Likewise.
3803 (grub_env_get_data_slot): Likewise.
3804 (grub_env_unset_data_slot): Likewise.
3805 * kern/main.c (grub_set_root_dev): Don't export root.
3806 It will be done later.
3807 (grub_main): Don't export prefix.
3808 It will be done later.
3809 * normal/context.c: New file.
3810 * normal/main.c (free_menu): Use grub_env_unset_menu.
3811 (grub_normal_add_menu_entry): Use grub_env_get_menu.
3812 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
3813 (GRUB_MOD_INIT(normal)): Call grub_context_init.
3814 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
3815
8dd35b8c
VS
38162010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3817
3818 setpci support.
3819
3820 * commands/setpci.c: New file.
3821 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
3822 (setpci_mod_SOURCES): New variable.
3823 (setpci_mod_CFLAGS): Likewise.
3824 (setpci_mod_LDFLAGS): Likewise.
3825
449193d5
VS
38262010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3827
3828 Byte-addressable PCI configuration space.
3829
3830 * bus/pci.c (grub_pci_make_address): Use byte address instead of
3831 dword address.
3832 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
3833 GRUB_PCI_REG_CACHELINE.
3834 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
3835 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
3836 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
3837 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
3838 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
3839 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
3840 grub_pci_make_address.
3841 (lock_rom_area): Likewise.
3842 * commands/lspci.c (grub_lspci_iter): Use macroses
3843 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
3844 of grub_pci_make_address.
3845 * disk/ata.c (grub_ata_pciinit): Likewise.
3846 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
3847 (GRUB_PCI_REG_VENDOR): Likewise.
3848 (GRUB_PCI_REG_DEVICE): Likewise.
3849 (GRUB_PCI_REG_COMMAND): Likewise.
3850 (GRUB_PCI_REG_STATUS): Likewise.
3851 (GRUB_PCI_REG_REVISION): Likewise.
3852 (GRUB_PCI_REG_CLASS): Likewise.
3853 (GRUB_PCI_REG_CACHELINE): Likewise.
3854 (GRUB_PCI_REG_LAT_TIMER): Likewise.
3855 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
3856 (GRUB_PCI_REG_BIST): Likewise.
3857 (GRUB_PCI_REG_ADDRESSES): Likewise.
3858 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
3859 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
3860 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
3861 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
3862 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
3863 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
3864 (GRUB_PCI_REG_CIS_POINTER): Likewise.
3865 (GRUB_PCI_REG_SUBVENDOR): Likewise.
3866 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
3867 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
3868 (GRUB_PCI_REG_CAP_POINTER): Likewise.
3869 (GRUB_PCI_REG_IRQ_LINE): Likewise.
3870 (GRUB_PCI_REG_IRQ_PIN): Likewise.
3871 (GRUB_PCI_REG_MIN_GNT): Likewise.
3872 (GRUB_PCI_REG_MAX_LAT): Likewise.
3873 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
3874 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
3875 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 3876 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
3877 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
3878 space.
3879
96d73208
RM
38802010-01-20 Robert Millan <rmh.grub@aybabtu.com>
3881
3882 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
3883 can be reliably determined to be supported.
3884
d4484482
RM
38852010-01-20 Robert Millan <rmh.grub@aybabtu.com>
3886
3887 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
3888 that VESA is supported.
3889 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
3890 supported.
3891
00308ecf
VS
38922010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3893
3894 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
3895
f66924a4
RM
38962010-01-20 Robert Millan <rmh.grub@aybabtu.com>
3897
3898 * util/misc.c (make_system_path_relative_to_its_root): Work around
3899 special-casing of "/", as previous incarnation of this routine did.
3900
cbca0ada
VS
39012010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3902
3903 Fix any-emu compilation.
3904
3905 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
3906 * grub_bin2h_SOURCES: New variable.
3907
34a66d99
RM
39082010-01-20 Robert Millan <rmh.grub@aybabtu.com>
3909
3910 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
3911
94fabf58
RM
39122010-01-20 Robert Millan <rmh.grub@aybabtu.com>
3913
3914 * util/grub.d/00_header.in: Fix handling of locale_dir.
3915
02cf98ca
VS
39162010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3917
3918 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
3919 as possible unifont location (Gentoo).
3920 Reported by: Alexander Brüning
3921
327dbcd7
VS
39222010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3923
3924 Don't try to generate lists for kernel.img.
3925
3926 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
3927 (pkglib_MODULES): Remove kernel.img.
3928 (kernel_img_EXPORTS): Removed.
3929 (kernel_img_RELOCATABLE): New variable.
3930 * conf/x86_64-efi.rmk: Likewise.
3931 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
3932
ca467290
VS
39332010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3934
3935 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
3936 grub_xasprintf or grub_snprintf.
3937 (grub_vsprintf): Likewise.
3938 (grub_snprintf): New proto.
3939 (grub_vsnprintf): Likewise.
3940 (grub_xasprintf): Likewise.
3941 (grub_xvasprintf): Likewise.
3942 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
3943 (grub_sprintf): Removed.
3944 (grub_vsnprintf): New function.
3945 (grub_snprintf): Likewise.
3946 (grub_xvasprintf): Likewise.
3947 (grub_xasprintf): Likewise.
3948 (grub_vsprintf): Renamed to ...
3949 (grub_vsnprintf_real): ...this. New argument max_len.
3950
aca655fd
BC
39512010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
3952
3953 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
3954 fix grub-script-check warning.
3955
7ee92c32
VS
39562010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3957
3958 * include/grub/font.h (grub_font_load): Fix prototype.
3959
f80927ca
VS
39602010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3961
3962 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
3963
119c50ea
VS
39642010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3965
3966 * include/grub/x86_64/at_keyboard.h: New file.
3967
47d5f3c1
VS
39682010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3969
3970 * loader/mips/linux.c: Include missing grub/i18n.h.
3971
55ff5266
RM
39722009-12-20 Robert Millan <rmh.grub@aybabtu.com>
3973
3974 * normal/menu.c (notify_execution_failure): Clarify error message.
3975
c893cc87
RM
39762009-12-20 Robert Millan <rmh.grub@aybabtu.com>
3977
3978 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
3979 return value (and revert all return statements). Update users.
3980
917dd370
CW
39812010-01-20 Dan Merillat <debian@dan.merillat.org>
3982
3983 * kern/device.c (grub_device_iterate): Allocate new part_ent
3984 structure based on sizeof (*p) rather than sizeof (p->next), to
3985 account for structure padding.
3986
3987 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
3988 disk is NULL, which might happen for LVM physical volumes with no
3989 LVM signature.
3990
d4a4ee57
RM
39912009-12-20 Robert Millan <rmh.grub@aybabtu.com>
3992
3993 * loader/mips/linux.c (grub_cmd_initrd)
3994 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
3995
39962009-12-20 Robert Millan <rmh.grub@aybabtu.com>
3997
3998 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
3999 (grub_video_video_init, grub_video_bitmap_init)
4000 (grub_font_manager_init, grub_term_gfxterm_init)
4001 (grub_at_keyboard_init): New extern declarations.
4002 (grub_machine_init): Initialize gfxterm and at_keyboard.
4003
4004 * kern/main.c (grub_main): Revert grub_printf delay kludge.
4005
4006 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
4007 `gfxterm.mod' into core image.
4008
4009 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
4010 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
4011 (kernel_img_FORMAT): Copy to ...
4012
4013 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
4014 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
4015 (kernel_img_FORMAT): ... here, and ...
4016
4017 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
4018 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
4019 (kernel_img_FORMAT): ... here.
4020
4021 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
4022 and input (at_keyboard) terminals in kernel.
4023 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
4024
4025 (pkglib_MODULES): Remove `pci.mod'.
4026 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
4027 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
4028 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
4029 (at_keyboard_mod_LDFLAGS): Remove variables.
4030
40312010-01-11 Felix Zielcke <fzielcke@z-51.de>
4032
4033 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
4034
40352009-12-10 Robert Millan <rmh.grub@aybabtu.com>
4036
4037 * include/grub/mips/libgcc.h: Only export symbols for functions
4038 that libgcc provides.
4039
40402009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
4041
4042 MIPS support.
4043
4044 * bus/bonito.c: New file.
4045 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
4046 GRUB_PCI_NUM_DEVICES.
4047 * term/i386/pc/serial.c: Move to ...
4048 * term/serial.c: ... here. All users updated.
4049 * util/i386/pc/grub-mkimage.c: Move to ...
4050 * util/grub-mkrawimage.c: ... here. All users updated.
4051 * term/i386/pc/at_keyboard.c: Move to ...
4052 * term/at_keyboard.c: ... here. All users updated.
4053 * conf/mips-qemu-mips.rmk: New file.
4054 * conf/mips-yeeloong.rmk: Likewise.
4055 * conf/mips.rmk: Likewise.
4056 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
4057 mipsel-qemu-mips.
4058 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
4059 to port addresses.
4060 (grub_ata_pciinit): Support CS5536.
4061 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
4062 * font/font_cmd.c (loadfont_command): Open file before passing it to
4063 grub_font_load.
4064 (pseudo_file_read): New function.
4065 (pseudo_file_close): Likewise.
4066 (pseudo_fs): New structure.
4067 (load_font_module): New function.
4068 (GRUB_MOD_INIT(font_manager)): Load embedded font.
4069 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
4070 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
4071 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
4072 * include/grub/i386/at_keyboard.h: Split into ...
4073 * include/grub/at_keyboard.h: ... this ...
4074 * include/grub/i386/at_keyboard.h: ... and this.
4075 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
4076 New prototype.
4077 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
4078 updated.
4079 (grub_elf64_size): Likewise.
4080 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
4081 filename.
4082 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
4083 * include/grub/i386/coreboot/serial.h: Rewritten.
4084 * include/grub/i386/ieee1275/serial.h: Include
4085 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
4086 * include/grub/i386/pc/serial.h: Moved from here ...
4087 * include/grub/serial.h: ... to here. All users updated.
4088 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
4089 (GRUB_PCI_NUM_BUS): Likewise.
4090 (GRUB_PCI_NUM_DEVICES): Likewise.
4091 (grub_pci_device_map_range): Add missing volatile keyword.
4092 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
4093 * include/grub/mips/at_keyboard.h: New file.
4094 * include/grub/mips/cache.h: Likewise.
4095 * include/grub/mips/io.h: Likewise.
4096 * include/grub/mips/kernel.h: Likewise.
4097 * include/grub/mips/libgcc.h: Likewise.
4098 * include/grub/mips/pci.h: Likewise.
4099 * include/grub/mips/qemu-mips/boot.h: Likewise.
4100 * include/grub/mips/qemu-mips/kernel.h: Likewise.
4101 * include/grub/mips/qemu-mips/loader.h: Likewise.
4102 * include/grub/mips/qemu-mips/memory.h: Likewise.
4103 * include/grub/mips/qemu-mips/serial.h: Likewise.
4104 * include/grub/mips/qemu-mips/time.h: Likewise.
4105 * include/grub/mips/relocator.h: Likewise.
4106 * include/grub/mips/time.h: Likewise.
4107 * include/grub/mips/types.h: Likewise.
4108 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
4109 * include/grub/mips/yeeloong/boot.h: Likewise.
4110 * include/grub/mips/yeeloong/kernel.h: Likewise.
4111 * include/grub/mips/yeeloong/loader.h: Likewise.
4112 * include/grub/mips/yeeloong/memory.h: Likewise.
4113 * include/grub/mips/yeeloong/pci.h: Likewise.
4114 * include/grub/mips/yeeloong/serial.h: Likewise.
4115 * include/grub/mips/yeeloong/time.h: Likewise.
4116 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
4117 * kern/elf.c (grub_elf32_size): New parameter. All users
4118 updated.
4119 (grub_elf64_size): Likewise.
4120 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
4121 Load modules before saying "Welcome to GRUB!".
4122 Call grub_refresh after saying "Welcome to GRUB!".
4123 * kern/mips/cache.S: New file.
4124 * kern/mips/cache_flush.S: Likewise.
4125 * kern/mips/dl.c: Likewise.
4126 * kern/mips/init.c: Likewise.
4127 * kern/mips/qemu-mips/init.c: Likewise.
4128 * kern/mips/startup.S: Likewise.
4129 * kern/mips/yeeloong/init.c: Likewise.
4130 * kern/term.c (grub_putcode): Handle NULL terminal.
4131 (grub_getcharwidth): Likewise.
4132 (grub_getkey): Likewise.
4133 (grub_checkkey): Likewise.
4134 (grub_getkeystatus): Likewise.
4135 (grub_getxy): Likewise.
4136 (grub_getwh): Likewise.
4137 (grub_gotoxy): Likewise.
4138 (grub_cls): Likewise.
4139 (grub_setcolorstate): Likewise.
4140 (grub_setcolor): Likewise.
4141 (grub_getcolor): Likewise.
4142 (grub_refresh): Likewise.
4143 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
4144 (write_jump): Add hatch nop.
4145 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
4146 * lib/mips/setjmp.S: New file.
4147 * loader/mips/linux.c: Likewise.
4148 * term/i386/pc/at_keyboard.c: Move from here ...
4149 * term/at_keyboard.c: ... to here.
4150 * term/i386/pc/serial.c: Moved from here ...
4151 * term/serial.c: ... to here. All users updated.
4152 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
4153 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
4154 (serial_translate_key_sequence): Avoid deadlock.
4155 (grub_serial_getkey): Handle backspace.
4156 (grub_serial_putchar): Fix newline handling.
4157 * util/i386/pc/grub-mkimage.c: Move from here ...
4158 * util/grub-mkrawimage.c: ... to here. All users updated.
4159 (generate_image): New parameters 'font_path' and 'format'.
4160 Support embedding font.
4161 Use grub_host_to_target* instead of grub_cpu_to_le*.
4162 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
4163 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
4164 (options): New option "--font".
4165 (usage): Likewise.
4166 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
4167 (main): Handle "--font".
4168 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
4169 (grub_virtual_screen_setup): Set bg_color_display.
4170 (redraw_screen_rect): Use bg_color_display instead of incorrect
4171 bg_color.
4172 (grub_gfxterm_cls): Likewise.
4173 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
4174 Support embedding config file.
4175 (add_segments): Likewise.
4176 (options): New option "--config".
4177 (main): Handle "--config".
4178 * video/sm712.c: New file.
4179
25c2b5b3
RM
41802010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4181
4182 Fix parallel builds.
4183
4184 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
4185 font.c depend on ascii.h).
4186
41872010-01-12 Carles Pina i Estany <carles@pina.cat>
4188
4189 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
4190
41912010-01-11 Carles Pina i Estany <carles@pina.cat>
4192
4193 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
4194 By default: disabled.
4195 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
4196 parameter.
4197
41982010-01-10 Carles Pina i Estany <carles@pina.cat>
4199
4200 * font/font.c: Update copyright years.
4201 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
4202
42032010-01-10 Carles Pina i Estany <carles@pina.cat>
4204
4205 * font/font.c: Include `ascii.h'.
4206 (ASCII_BITMAP_SIZE): New macro.
4207 (ascii_font_glyph): Define.
4208 (ascii_glyph_lookup): New function.
4209 (grub_font_get_string_width): Change comment. If glyph not found, use
4210 ascii_glyph_lookup.
4211 (grub_font_get_glyph_with_fallback): If glyph not available returns
4212 ascii_glyph_lookup.
4213 * util/grub-mkfont.c (file_formats): New enum.
4214 (options): Add `ascii-bitmaps' new option.
4215 (usage): Add `asii-bitmaps' new option.
4216 (write_font_ascii_bitmap): New function.
4217 (write_font): Rename to ...
4218 (write_font_p2): ... this. Remove print_glyphs call.
4219 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
4220 used. Call print_glyphs.
4221 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
4222
42232010-01-14 Robert Millan <rmh.grub@aybabtu.com>
4224
4225 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
4226 (grub_bin2h_SOURCES): New variable.
4227 * util/bin2h.c: New file.
4228
915fc1b8
VS
42292010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
4230
4231 * include/multiboot.h: Resynced with spec.
4232 * include/multiboot2.h: Likewise.
4233 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
4234 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
4235
9444b678
RM
42362010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4237
4238 * include/grub/term.h (grub_term_register_input,
4239 grub_term_register_output): Check return of terminal init()
4240 routines, and abort if errors are raised.
4241
4242 * commands/terminal.c: Update copyright year.
4243
cba98e8d
RM
42442010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4245
4246 * commands/terminal.c (grub_cmd_terminal_input)
4247 (grub_cmd_terminal_output): Check return of terminal init()
4248 routines, and abort if errors are raised.
4249
6f7db5d6
VS
42502010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4251
4252 * include/grub/i386/bsd.h: Fix include pathes.
4253
262bff8d
VS
42542010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4255
4256 Add missing *BSD copyright headers.
4257
4258 * include/grub/aout.h: Add BSD licence.
4259 * include/grub/i386/bsd.h: Parts under different licences moved to ...
4260 * include/grub/i386/freebsd_linker.h: ... here,
4261 * include/grub/i386/freebsd_reboot.h: ... here,
4262 * include/grub/i386/netbsd_bootinfo.h: ... here,
4263 * include/grub/i386/netbsd_reboot.h: ... here,
4264 * include/grub/i386/openbsd_bootarg.h: ... here,
4265 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
4266 licence to each file.
4267
b2cab848
RM
42682010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4269
4270 * acinclude.m4: Remove `nop' assembly instruction; it's not
4271 implemented by all architectures.
4272
2cb6be4b
RM
42732010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4274
4275 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
4276 ELILO. This is no longer necessary.
4277
a2eaee15
BC
42782010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
4279
4280 Added new tool, grub-scrit-check to verify grub.cfg syntax.
4281
4282 * util/grub-script-check.c: grub-script-check tool.
4283 * conf/common.rmk: Make rules for grub-script-check.
4284
88d17012
RM
42852010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4286
4287 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
4288 spotting it back in 2008. Shame on me for forgetting he did.
4289
4290 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
4291
8040619d
RM
42922010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4293
4294 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
4295 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
4296 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
4297 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
4298 (GRUB_VIDEO_TYPE_EFI): Rename to ...
4299 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
4300
a0c2a0f6
RM
43012010-01-17 Robert Millan <rmh.grub@aybabtu.com>
4302
4303 * include/grub/test.h: Add license header.
4304 * tests/example_functional_test.c: Likewise.
4305 * tests/example_unit_test.c: Likewise.
4306 * tests/lib/functional_test.c: Likewise.
4307 * tests/lib/test.c: Likewise.
4308 * tests/lib/unit_test.c: Likewise.
4309
b0b13907
VS
43102010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
4311
4312 Use flag-based instead of hook-based video mode selection and "auto"
4313 keyword.
4314
4315 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
4316 (grub_video_set_mode): Changed prototype. All users updated.
4317 (grub_video_check_mode_flag): New inline function.
4318 * video/video.c (parse_modespec): New function.
4319 (grub_video_set_mode): Parse flags and keywords.
4320
ea379330 43212010-01-17 Carles Pina i Estany <carles@pina.cat>
4322
4323 * util/misc.c (grub_util_info): Fix the order of the parameters in a
4324 fprintf call.
4325
e15c215e
FZ
43262010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
4327
4328 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
4329
409ae1c9 43302010-01-16 Carles Pina i Estany <carles@pina.cat>
4331
4332 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
4333 string.
4334 * util/grub-emu.c (usage): Likewise.
4335 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
4336 * util/i386/efi/grub-mkimage.c (usage): Likewise.
4337 * util/i386/pc/grub-mkimage.c (usage): Likewise.
4338 * util/i386/pc/grub-setup.c (usage): Likewise.
4339
70a14d3d 43402010-01-16 Carles Pina i Estany <carles@pina.cat>
4341
4342 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
4343 the message.
4344 (grub_util_info): Likewise.
4345 (grub_util_error): Likewise.
4346 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
4347 and/or new lines in `grub_util_warna', `grub_util_info',
4348 `grub_util_error' calls.
4349 * util/getroot.c: Likewise.
4350 * util/grub-editenv.c: Likewise.
4351 * util/grub-emu.c: Likewise.
4352 * util/grub-fstest.c: Likewise.
4353 * util/grub-mkdevicemap.c: Likewise.
4354 * util/grub-mkfont.c: Likewise.
4355 * util/grub-mkpasswd-pbkdf2.c: Likewise.
4356 * util/grub-mkrelpath.c: Likewise.
4357 * util/grub-pe2elf.c: Likewise.
4358 * util/grub-probe.c: Likewise.
4359 * util/hostdisk.c: Likewise.
4360 * util/i386/efi/grub-mkimage.c: Likewise.
4361 * util/i386/pc/grub-mkimage.c: Likewise.
4362 * util/i386/pc/grub-setup.c: Likewise.
4363 * util/ieee1275/ofpath.c: Likewise.
4364 * util/mkisofs/eltorito.c: Likewise.
4365 * util/mkisofs/rock.c: Likewise.
4366 * util/mkisofs/write.c: Likewise.
4367 * util/raid.c: Likewise.
4368 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
4369 * util/sparc64/ieee1275/grub-setup.c: Likewise.
4370
a0b766fc
VS
43712010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
4372
4373 Enable multiboot on non-pc.
4374
4375 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
4376 multiboot.mod and multiboot2.mod to ...
4377 * conf/i386.rmk (pkglib_MODULES): ... here.
4378 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
4379 Moved to ...
4380 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
4381 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
4382 Moved to ...
4383 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
4384 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
4385 Moved to ...
4386 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
4387 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
4388 Moved to ...
4389 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
4390 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
4391 relocator.mod.
4392 (ata_mod_SOURCES): Removed.
4393 (ata_mod_CFLAGS): Likewise.
4394 (ata_mod_LDFLAGS): Likewise.
4395 (relocator_mod_SOURCES): Removed.
4396 (relocator_mod_CFLAGS): Likewise.
4397 (relocator_mod_ASFLAGS): Likewise.
4398 (relocator_mod_LDFLAGS): Likewise.
4399 Include i386.mk.
4400 * include/grub/x86_64/multiboot.h: New file.
4401 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
4402 Terminate EFI.
4403
884ade56
VS
44042010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
4405
4406 Video multiboot support.
4407
4408 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
4409 New prototype.
4410 * include/multiboot.h: Resynced with multiboot specification.
4411 * include/multiboot2.h: Likewise.
4412 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
4413 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
4414 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
4415 (HAS_VGA_TEXT): Likewise.
4416 (accepts_video): New variable.
4417 (grub_multiboot_set_accepts_video): New function.
4418 (grub_multiboot_get_mbi_size): Account for video structures.
4419 (set_video_mode): New function.
4420 (retrieve_video_parameters): Likewise.
4421 (grub_multiboot_make_mbi): Fill video fields.
4422
0d90e8a6
VS
44232010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
4424
4425 Video driver ids.
4426
4427 * include/grub/video.h (grub_video_driver_id): New type.
4428 (grub_video_adapter): New member 'id'. All users updated.
4429 (grub_video_get_driver_id): New proto.
4430 * video/video.c (grub_video_get_driver_id): New function.
4431
5c71db1b 44322010-01-14 Carles Pina i Estany <carles@pina.cat>
4433
4434 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
4435 `var=val'.
4436
cca15b52 44372010-01-14 Carles Pina i Estany <carles@pina.cat>
4438
4439 * normal/cmdline.c (print_completion): Gettextizze.
4440
c586fbb2 44412001-01-14 Carles Pina i Estany <carles@pina.cat>
4442
4443 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
4444
ba2f6848 44452010-01-14 Carles Pina i Estany <carles@pina.cat>
4446
4447 * gettext/gettext.c (grub_gettext_translate): Push and pop
4448 grub_errno.
4449 (grub_gettext_delete_list): Change comment style.
4450 * kern/err.c (grub_error): Gettextizze.
4451 (grub_fatal): Gettextizze.
4452
0a46429a
RM
44532010-01-14 Robert Millan <rmh.grub@aybabtu.com>
4454
4455 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
4456 (grub_linux16_real_boot): ... this.
4457 * kern/i386/loader.S: Likewise.
4458 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
4459 (grub_linux16_boot): New function. Switches to text mode and calls
4460 grub_linux16_real_boot().
4461
4462 * loader/i386/bsd.c: Include `<grub/video.h>'.
4463 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
4464 text mode before calling grub_unix_real_boot().
4465
4466 * loader/i386/multiboot.c: Include `<grub/video.h>'.
4467 (grub_multiboot_boot): Switch to text mode before calling
4468 grub_relocator32_boot().
4469
4470 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
4471 (grub_chainloader_boot): Switch to text mode before calling
4472 grub_chainloader_real_boot().
4473
d6f93a66
RM
44742010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
44752010-01-05 Colin Watson <cjwatson@ubuntu.com>
4476
4477 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
4478 non-empty value.
4479
44802010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
44812010-01-05 Colin Watson <cjwatson@ubuntu.com>
4482
4483 * util/grub.d/00_header.in: Define a "savedefault" function for use
4484 in menu entries.
4485 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
4486
44872010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
44882010-01-05 Colin Watson <cjwatson@ubuntu.com>
4489
4490 * util/grub-mkconfig_lib.in (save_default_entry): Only set
4491 saved_entry if boot_once is unset.
4492 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
4493 previous saved entry (i.e. grub-reboot).
4494
44952009-12-08 Colin Watson <cjwatson@ubuntu.com>
4496
4497 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
4498
44992009-12-08 Colin Watson <cjwatson@ubuntu.com>
4500
4501 * util/grub.d/00_header.in: Use `set var=val' rather than plain
4502 `var=val'.
4503 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
4504
45052009-12-08 Colin Watson <cjwatson@ubuntu.com>
4506
4507 * util/grub-reboot.in: Fix --version output.
4508 * util/grub-set-default.in: Likewise.
4509
45102009-12-08 Colin Watson <cjwatson@ubuntu.com>
4511
4512 * util/grub.d/00_header.in: Silently ignore zero-sized environment
4513 blocks.
4514
45152009-12-08 Colin Watson <cjwatson@ubuntu.com>
4516
4517 * util/grub.d/00_header.in: Quote the value assigned to `default',
4518 in case it contains spaces.
4519
45202009-12-08 Colin Watson <cjwatson@ubuntu.com>
4521
4522 * util/grub.d/30_os-prober.in: Fix merge error that moved a
4523 `save_default_entry' call from the macosx case to the linux case.
4524
45252009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
45262009-10-25 Colin Watson <cjwatson@ubuntu.com>
4527
4528 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
4529 in `chosen' environment variable.
4530 * normal/menu_text.c (get_entry_number): Check if the variable
4531 matches the title of a menu entry.
4532 (run_menu): Pass menu to get_entry_number.
4533
4534 * util/grub-reboot.in: New file.
4535 * util/grub-set-default.in: New file.
4536 * conf/common.rmk (grub-reboot): New utility.
4537 (grub-set-default): New utility.
4538
4539 * util/grub-mkconfig_lib.in (save_default_entry): New function.
4540 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
4541 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
4542 move it to `saved_entry' for the next boot. Load environment on
4543 initialisation.
4544 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
4545 * util/grub.d/10_hurd.in: Likewise.
4546 * util/grub.d/10_linux.in (linux_entry): Likewise.
4547 * util/grub.d/10_windows.in: Likewise.
4548 * util/grub.d/30_os-prober.in: Likewise.
4549
4550 * util/grub-install.in: Create environment block.
4551 * util/i386/efi/grub-install.in: Likewise.
4552 * util/ieee1275/grub-install.in: Likewise.
4553 * util/sparc64/ieee1275/grub-install.in: Likewise.
4554
0934d184
BC
45552010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
4556
4557 Unit testing framework for GRUB.
4558
4559 * Makefile.in: Test framework build rules for 'make check'.
4560 * conf/tests.rmk: Build rules for individual tests and framework.
4561
4562 * include/grub/test.h: Header file for whitebox tests.
4563 * tests/lib/functional_test.c: Framework support for whitebox
4564 functional tests.
4565 * tests/lib/test.c: Common whitebox testing code for unit and
4566 functional tests.
4567 * tests/lib/unit_test.c: Framework support for whitebox unit
4568 tests.
4569
4570 * tests/util/grub-shell-tester.in: Support utility for grub-script
4571 tests.
4572 * tests/util/grub-shell.in: Utility to execute grub-script
4573 commands in a Qemu instance.
4574
4575 * tests/example_functional_test.c: Example whitebox functional
4576 test.
4577 * tests/example_grub_script_test.in: Example grub-script test.
4578 * tests/example_scripted_test.in: Example scripted test.
4579 * tests/example_unit_test.c: Example whitebox unit test.
4580
9c4ffeeb
VS
45812010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4582
4583 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
4584 Add loader/i386/multiboot_mbi.c.
4585 (multiboot2_mod_SOURCES): Likewise.
4586 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
4587 (multiboot2_mod_SOURCES): Likewise.
4588 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
4589 (grub_multiboot_make_mbi): Likewise.
4590 (grub_multiboot_free_mbi): Likewise.
4591 (grub_multiboot_init_mbi): Likewise.
4592 (grub_multiboot_add_module): Likewise.
4593 (grub_multiboot_set_bootdev): Likewise.
4594 * loader/i386/multiboot.c (mbi): Removed.
4595 (mbi_dest): Likewise.
4596 (alloc_mbi): New variable.
4597 (grub_multiboot_payload_size): Removed. All users updated.
4598 (grub_multiboot_pure_size): New variable.
4599 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
4600 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
4601 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
4602 (grub_fill_multiboot_mmap): Likewise.
4603 (grub_multiboot_get_bootdev): Likewise.
4604 (grub_multiboot): Use multiboot_mbi functions.
4605 * loader/i386/multiboot_mbi.c: New file.
4606
17383dfe
VS
46072010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4608
4609 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
4610 it would result in module crash.
4611
c1f28820
VS
46122010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4613
4614 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
4615 (grub_ofconsole_getwh): Split to ...
4616 (grub_ofconsole_getwh): ... this.
4617 (grub_ofconsole_dimensions): ...and this.
4618 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
4619
58655a16
RM
46202010-01-13 Robert Millan <rmh.grub@aybabtu.com>
4621
4622 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
4623
10891398
VS
46242010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4625
4626 * loader/i386/pc/multiboot2.c: Removed stalled file.
4627
0b8a223c
VS
46282010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4629
4630 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
4631 Reported by: Grégoire Sutre
4632
92ab12b0
RM
46332010-01-11 Robert Millan <rmh.grub@aybabtu.com>
4634
4635 * util/misc.c (canonicalize_file_name): New function.
4636 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
4637 instead of realpath().
4638
a788afb6
CW
46392010-01-11 Colin Watson <cjwatson@ubuntu.com>
4640
4641 * util/grub-install.in (usage): Clarify meaning of --root-directory,
4642 and make it clearer that it's optional. Based on confusion
4643 witnessed on IRC.
4644
ffa8e3d2
VS
46452010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4646
4647 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
4648 in premature implicit newline.
4649
e9060a9d
VS
46502010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4651
4652 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
4653 which resulted in garbled command line at the end of screen.
4654
f0d0c0b7
RM
46552010-01-10 Robert Millan <rmh.grub@aybabtu.com>
4656
4657 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
4658 initialization with similar approach as with other Linux loaders.
4659
0e60bae7
RM
46602010-01-10 Robert Millan <rmh.grub@aybabtu.com>
4661
4662 Fix i386-ieee1275 build.
4663
4664 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
4665 and grub_term_height() for video_{width,height} initialization.
4666
46672010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
4668
4669 Fix grub-emu build.
4670
4671 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
4672
cdb3f378
RM
46732010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
46742010-01-09 Robert Millan <rmh.grub@aybabtu.com>
4675
4676 Support for multiple terminals.
4677
4678 * Makefile.in (pkglib_DATA): terminal.lst.
4679 (terminal.lst): New target.
4680 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
4681 (GRUB_MOD_INIT(handler)): Likewise.
4682 (GRUB_MOD_FINI(handler)): Likewise.
4683 * commands/help.c (grub_cmd_help): Handle multiple terminals.
4684 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
4685 * commands/sleep.c (do_print): Use grub_term_restore_pos.
4686 (grub_cmd_sleep): Use grub_term_save_pos.
4687 * commands/terminal.c: New file.
4688 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
4689 commands/terminal.c and lib/charset.c.
4690 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
4691 (pkglib_MODULES): Add terminal.mod.
4692 (terminal_mod_SOURCES): New variable.
4693 (terminal_mod_CFLAGS): Likewise.
4694 (terminal_mod_LDFLAGS): Likewise.
4695 * genhandlerlist.sh: Don't handle terminals.
4696 * genmk.rb: Generate terminal-*.lst.
4697 * genterminallist.sh: New file.
4698 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
4699 (grub_is_valid_utf8): Likewise.
4700 (grub_utf8_to_ucs4_alloc): Likewise.
4701 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
4702 (grub_menu_register_viewer): Changed argument.
4703 (grub_menu_try_text): New proto.
4704 (grub_gfxmenu_try_hook): New declaration.
4705 * include/grub/normal.h (grub_normal_exit_level): New declaration.
4706 (grub_menu_init_page): Additional argument term.
4707 (grub_normal_init_page): Likewise.
4708 (grub_cmdline_get): Arguments simplified.
4709 (grub_utf8_to_ucs4_alloc): Removed.
4710 (grub_print_ucs4): Additional argument term.
4711 (grub_getstringwidth): Likewise.
4712 (grub_print_message_indented): Likewise.
4713 (grub_menu_text_register_instances): New proto.
4714 (grub_show_menu): Likewise.
4715 (read_terminal_list): Likewise.
4716 (grub_set_more): Likewise.
4717 * include/grub/parser.h: Include handler.h.
4718 * include/grub/reader.h: Rewritten.
4719 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
4720 (GRUB_TERM_WIDTH): Changed to function.
4721 (GRUB_TERM_HEIGHT): Likewise.
4722 (GRUB_TERM_BORDER_WIDTH): Likewise.
4723 (GRUB_TERM_BORDER_HEIGHT): Likewise.
4724 (GRUB_TERM_NUM_ENTRIES): Likewise.
4725 (GRUB_TERM_ENTRY_WIDTH): Likewise.
4726 (GRUB_TERM_CURSOR_X): Likewise.
4727 (grub_term_input_class): Likewise.
4728 (grub_term_output_class): Likewise.
4729 (grub_term_outputs_disabled): New declaration.
4730 (grub_term_inputs_disabled): Likewise.
4731 (grub_term_outputs): Likewise.
4732 (grub_term_inputs): Likewise.
4733 (grub_term_register_input): Rewritten.
4734 (grub_term_register_output): Likewise.
4735 (grub_term_unregister_input): Likewise.
4736 (grub_term_unregister_output): Likewise.
4737 (FOR_ACTIVE_TERM_INPUTS): New macro.
4738 (FOR_DISABLED_TERM_INPUTS): Likewise.
4739 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
4740 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
4741 * include/grub/terminfo.h: Add oterm argument to all protypes.
4742 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
4743 Use grub_rescue_run.
4744 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
4745 All users updated.
4746 * kern/reader.c: Removed. All users updated.
4747 * kern/rescue_reader.c (grub_rescue_init): Removed.
4748 (grub_rescue_reader): Likewise.
4749 (grub_register_rescue_reader): Likewise.
4750 (grub_rescue_run): New function based on kern/reader.c.
4751 * kern/term.c: Adapted for multiterm.
4752 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
4753 (grub_is_valid_utf8): Likewise.
4754 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
4755 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
4756 right terminal.
4757 * loader/i386/linux.c (grub_linux_boot): Likewise.
4758 * normal/auth.c (grub_username_get): New function.
4759 (grub_auth_check_authentication): Use grub_username_get.
4760 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
4761 * normal/color.c: Adapt for multiterm.
4762 * normal/main.c (read_config_file): Don't use grub_reader_loop.
4763 (grub_normal_init_page): Additional argument term.
4764 (read_lists): Call read_terminal_lists.
4765 (grub_enter_normal_mode): Call grub_cmdline_run.
4766 Handle grub_normal_exit_level.
4767 (grub_cmd_normal): Make reentrant.
4768 (grub_cmd_normal_exit): New function.
4769 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
4770 * normal/menu.c: Adapt for multiterm.
4771 * normal/menu_entry.c: Likewise.
4772 * normal/menu_text.c: Likewise.
4773 * normal/menu_viewer.c: Removed. All users updated.
4774 * normal/term.c: New file.
4775 * util/console.c: Change order of includes to workaround a bug in
4776 ncurses headers.
4777 * term/terminfo.c: New argument oterm on all exported functions.
4778 All users updated.
4779 * util/grub-editenv.c (grub_term_input_class): Removed.
4780 (grub_term_output_class): Likewise.
4781
1a064917
RM
47822010-01-09 Robert Millan <rmh.grub@aybabtu.com>
4783
4784 Make loader output a bit more user-friendly.
4785
4786 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
4787 is being loaded. Likewise for the Hurd.
4788
4789 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
4790 that kernel of FreeBSD ${version} is being loaded.
4791
4792 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
4793 grub_dprintf().
4794 (grub_cmd_initrd): Likewise.
4795 * util/grub.d/10_linux.in (linux_entry): Print message indicating
4796 that Linux ${version} is being loaded. Likewise for initrd.
4797
5ce0a83a 47982010-01-09 Carles Pina i Estany <carles@pina.cat>
4799
4800 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
4801
809bbfeb 48022010-01-08 Carles Pina i Estany <carles@pina.cat>
4803
4804 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
4805 (GRUB_MOD_INIT): Gettextizze.
4806 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
4807 (GRUB_MOD_INIT): Gettextizze.
4808 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
4809 (grub_cmd_linux): Capitalise Linux.
4810 (GRUB_MOD_INIT): Gettextizze.
4811 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
4812 (grub_cmd_linux): Capitalise Linux.
4813 (GRUB_MOD_INIT): Gettextizze.
4814 * loader/i386/linux.c: Include `<grub/i18n.h>'.
4815 (grub_cmd_linux): Capitalise Linux.
4816 (GRUB_MOD_INIT): Gettextizze.
4817 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
4818 (GRUB_MOD_INIT): Gettextizze.
4819 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
4820 (grub_cmd_linux): Capitalise Linux.
4821 (GRUB_MOD_INIT): Gettextizze.
4822 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
4823 (grub_cpu_xnu_init): Gettextizze.
4824 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
4825 (GRUB_MOD_INIT): Gettextizze.
4826 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
4827 (GRUB_MOD_INIT): Gettextizze.
4828 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
4829 (grub_linux_load64): Capitalise Linux.
4830 (GRUB_MOD_INIT): Gettextizze.
4831 * loader/xnu.c: Include `<grub/i18n.h>'.
4832 (GRUB_MOD_INIT): Gettextizze.
4833 * po/POTFILES: Add `loader/efi/appleloader.c',
4834 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
4835 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
4836 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
4837 `loader/i386/xnu.c', `loader/multiboot_loader.c',
4838 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
4839 and `loader/xnu.c'.
4840
b394b2ca
RM
48412010-01-08 Robert Millan <rmh.grub@aybabtu.com>
4842
4843 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
4844
48452010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
4846
4847 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
4848 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
4849 * util/mkisofs/mkisofs.c (main): Readjust --version output.
4850
bc8b32b3
RM
48512010-01-07 Robert Millan <rmh.grub@aybabtu.com>
4852
4853 Reset Multiboot 2 support. New loader implements the draft in
4854 /branches/multiboot2 and shares as much code as possible with the
4855 production Multiboot 1 implementation.
4856
4857 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
4858 * loader/multiboot2.c: Likewise.
4859 * loader/i386/multiboot_helper.S: Likewise.
4860 * include/multiboot2.h: Replace with latest version from the draft
4861 in /branches/multiboot2.
4862
4863 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
4864 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
4865 and `loader/multiboot2.c'.
4866 (pkglib_MODULES): Add `multiboot2.mod'.
4867 (multiboot2_mod_SOURCES): New variable.
4868 (multiboot2_mod_LDFLAGS): Likewise.
4869 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
4870
4871 * conf/i386-pc.rmk: Likewise.
4872
4873 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
4874 (multiboot_mod_SOURCES): Remove variable.
4875 (multiboot_mod_LDFLAGS): Likewise.
4876 (multiboot_mod_CFLAGS): Likewise.
4877
4878 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
4879 `<multiboot2.h>' instead of `<multiboot.h>'.
4880 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
4881 (MULTIBOOT_HEADER_MAGIC): New macros.
4882
4883 * loader/multiboot_loader.c (module_version_status): Remove variable.
4884 (find_multi_boot2_header): Remove function.
4885 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
4886 logic. Always check for the Multiboot version we're compiling for.
4887 (grub_cmd_module_loader): Likewise.
4888 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
4889 command instead of `multiboot'.
4890
5d2c52b8
RM
48912010-01-07 Robert Millan <rmh.grub@aybabtu.com>
4892
4893 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
4894 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
4895 all users.
4896
53108d92
RM
48972010-01-07 Robert Millan <rmh.grub@aybabtu.com>
48982010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4899
4900 Fix breakage introduced with previous commit.
4901
4902 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
4903 commands.
4904 * normal/handler.c (read_handler_list): Revert part of previous commit
4905 affecting this file.
4906 * normal/main.c (read_lists): Move read_handler_list() call back to ...
4907 (grub_normal_execute): ... here.
4908
e2e936b2
RM
49092010-01-07 Robert Millan <rmh.grub@aybabtu.com>
4910
4911 Merge prefix-redefinition-fix branch.
4912
4913 * normal/autofs.c (read_fs_list): Make function capable of being
4914 run multiple times, gracefuly replacing the previous data
4915 structures.
4916 * normal/dyncmd.c (read_command_list): Likewise.
4917 * normal/handler.c (read_handler_list): Likewise.
4918 * normal/main.c (read_lists): New function. Calls all the
4919 list reading functions.
4920 (grub_normal_execute): Use read_lists() instead of calling all
4921 list reading functions explicitly. Register read_lists() as a
4922 variable hook attached to ${prefix}.
4923
607a3701
VS
49242010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4925
4926 Merge crypto branch.
4927
4928 * Makefile.in (pkglib_DATA): Add crypto.lst.
4929 (crypto.lst): New target.
4930 * commands/hashsum.c: New file.
4931 * commands/password.c (check_password): Use grub_crypto_memcmp.
4932 * commands/password_pbkdf2.c: New file.
4933 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
4934 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
4935 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
4936 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
4937 -I$(srcdir)/lib/libgcrypt_wrap.
4938 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
4939 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
4940 password_pbkdf2.mod.
4941 (crypto_mod_SOURCES): New variable.
4942 (crypto_mod_CFLAGS): Likewise.
4943 (crypto_mod_LDFLAGS): Likewise.
4944 (hashsum_mod_SOURCES): New variable.
4945 (hashsum_mod_CFLAGS): Likewise.
4946 (hashsum_mod_LDFLAGS): Likewise.
4947 (pbkdf2_mod_SOURCES): New variable.
4948 (pbkdf2_mod_CFLAGS): Likewise.
4949 (pbkdf2_mod_LDFLAGS): Likewise.
4950 (password_pbkdf2_mod_SOURCES): New variable.
4951 (password_pbkdf2_mod_CFLAGS): Likewise.
4952 (password_pbkdf2_mod_LDFLAGS): Likewise.
4953 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
4954 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
4955 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
4956 Include conf/gcry.rmk.
4957 * include/grub/auth.h: Rewritten.
4958 * include/grub/crypto.h: New file.
4959 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
4960 * include/grub/normal.h (read_crypto_list): New prototype.
4961 * lib/crypto.c: New file.
4962 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
4963 * lib/pbkdf2.c: Likewise.
4964 * normal/auth.c (grub_auth_strcmp): Removed.
4965 (grub_iswordseparator): Likewise.
4966 (grub_auth_strword): Likewise.
4967 (is_authenticated): Use grub_strword.
4968 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
4969 and grub_strword. Pass entered password to authentication callback.
4970 * normal/crypto.c: New file.
4971 * normal/main.c: Call read_crypto_list.
4972 * util/grub-mkpasswd-pbkdf2.c: New file.
4973 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
4974
42841caa
VS
49752010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
4976
4977 Fix descent and ascent calculation.
4978
4979 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
4980 (options): New option "asce".
4981 (usage): Likewise.
4982 (add_char): Ignore invalid glyphs for descent calculation.
4983 Calculate ascent from actual content.
4984 (print_glyphs): Use 'asce'.
4985 (write_font): Likewise. Allow ascent override.
4986 (main): Handle "asce" option.
4987
e7730de7 49882010-01-06 Carles Pina i Estany <carles@pina.cat>
4989
4990 * kern/err.c: Include `<grub/i18n.h>'.
4991 (grub_print_error): Add full stop. Gettextizze.
4992 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
4993 (grub_bsd_load_elf): Capitalise ELF.
4994 (grub_cmd_freebsd_loadenv): Add `s' in error string.
4995 (grub_cmd_freebsd_module): Likewise.
4996 (grub_cmd_freebsd_module_elf): Likewise.
4997 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
4998
40e3a41f 49992010-01-06 Carles Pina i Estany <carles@pina.cat>
5000
5001 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
5002 * commands/search_file.c (HELP_MESSAGE): New macro.
5003 * commands/search_label.c (HELP_MESSAGE): Likewise.
5004 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
5005 * po/POTFILES: Add `commands/search_file.c',
5006 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
5007 `commands/search.c'.
5008
83507e68
RM
50092010-01-05 Robert Millan <rmh.grub@aybabtu.com>
5010
5011 * config.rpath: Update from Gnulib.
5012
465c787b
YB
50132010-01-05 Yves Blusseau <blusseau@zetam.org>
5014
5015 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
5016
6581dd3a
YB
50172010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
5018
5019 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
5020
3bff18c5
CW
50212010-01-05 Colin Watson <cjwatson@ubuntu.com>
5022
5023 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
5024 arguments to fread so that we get a return value in bytes, rather
5025 than something that will normally be rounded down to 0.
5026 Adjust error handling to avoid producing garbage when size_t is not
5027 the same size as long long.
5028
a1368118
CW
50292010-01-05 Colin Watson <cjwatson@ubuntu.com>
5030
5031 * util/mkisofs/write.c (padblock_write): Check return value of
5032 fread.
5033
7c302978
RM
50342010-01-05 Robert Millan <rmh.grub@aybabtu.com>
5035
5036 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
5037 floppy images now.
5038
5039 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
5040
e33ace06
RM
50412010-01-04 Robert Millan <rmh.grub@aybabtu.com>
5042
5043 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
5044 instead of manual alignment.
5045 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
5046 verbose). Avoid attempts to read past end of the device
5047 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
5048 but GRUB_DISK_CACHE_SIZE may exceed that).
5049
4b856776
RM
50502010-01-04 Robert Millan <rmh.grub@aybabtu.com>
5051
5052 * commands/crc.c (grub_cmd_crc): Abort on read errors.
5053 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
5054 it to upper layer.
5055
52c2d97f
VS
50562010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5057
5058 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
5059 New constant.
5060 (grub_efi_piwg_device_path): New structure
5061 (grub_efi_piwg_device_path_t): New type.
5062 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
5063 (devpath_1): Transform to a structure. All users updated.
5064 (devpath_2): Likewise.
5065 (devpath_3): Likewise.
5066 (devpath_4): Likewise.
5067 (devpath_5): Likewise.
5068
98ff6a54
VS
50692010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
5070
5071 * loader/efi/appleloader.c: Restored. Update all users.
5072
3a73dcb6
RM
50732010-01-03 Robert Millan <rmh.grub@aybabtu.com>
5074
5075 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
5076
5077 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
5078 (struct boot_blocklist): Move from here ...
5079 * include/grub/i386/pc/boot.h [ASM_FILE]
5080 (struct grub_boot_blocklist): ... to here. Update all users.
5081 (setup): Only initialize `start' member of `first_block'
5082 structure. Add assert() calls to verify the other members.
5083
5084 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
5085 (generate_image): Fix broken blocklist length initialization.
5086 Add assert() call to verify blocklist `segment' field.
5087
ab0eeb0c
RM
50882010-01-03 Robert Millan <rmh.grub@aybabtu.com>
5089
5090 * loader/efi/appleloader.c: Remove. Update all users.
5091
58bc8bd5
RM
50922010-01-03 Robert Millan <rmh.grub@aybabtu.com>
5093
5094 * boot/i386/pc/boot.S: Update copyright year.
5095 * boot/i386/pc/cdboot.S: Likewise.
5096 * boot/i386/pc/diskboot.S: Likewise.
5097 * boot/i386/pc/lnxboot.S: Likewise.
5098 * boot/i386/pc/pxeboot.S: Likewise.
5099 * bus/pci.c: Likewise.
5100 * commands/cmp.c: Likewise.
5101 * commands/help.c: Likewise.
5102 * commands/hexdump.c: Likewise.
5103 * commands/i386/pc/halt.c: Likewise.
5104 * commands/i386/pc/play.c: Likewise.
5105 * commands/i386/pc/vbeinfo.c: Likewise.
5106 * commands/ls.c: Likewise.
5107 * commands/test.c: Likewise.
5108 * disk/dmraid_nvidia.c: Likewise.
5109 * disk/i386/pc/biosdisk.c: Likewise.
5110 * disk/ieee1275/nand.c: Likewise.
5111 * disk/ieee1275/ofdisk.c: Likewise.
5112 * disk/lvm.c: Likewise.
5113 * disk/raid.c: Likewise.
5114 * disk/raid6_recover.c: Likewise.
5115 * disk/scsi.c: Likewise.
5116 * fs/affs.c: Likewise.
5117 * fs/cpio.c: Likewise.
5118 * fs/ext2.c: Likewise.
5119 * fs/hfs.c: Likewise.
5120 * fs/iso9660.c: Likewise.
5121 * fs/ntfs.c: Likewise.
5122 * fs/sfs.c: Likewise.
5123 * fs/udf.c: Likewise.
5124 * fs/ufs.c: Likewise.
5125 * fs/xfs.c: Likewise.
5126 * gencmdlist.sh: Likewise.
5127 * genmk.rb: Likewise.
5128 * include/grub/disk.h: Likewise.
5129 * include/grub/efi/api.h: Likewise.
5130 * include/grub/efi/efi.h: Likewise.
5131 * include/grub/efi/pe32.h: Likewise.
5132 * include/grub/elf.h: Likewise.
5133 * include/grub/fs.h: Likewise.
5134 * include/grub/i386/at_keyboard.h: Likewise.
5135 * include/grub/i386/pc/memory.h: Likewise.
5136 * include/grub/i386/pc/vbe.h: Likewise.
5137 * include/grub/i386/pci.h: Likewise.
5138 * include/grub/i386/tsc.h: Likewise.
5139 * include/grub/ieee1275/ieee1275.h: Likewise.
5140 * include/grub/ntfs.h: Likewise.
5141 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
5142 * include/grub/sparc64/libgcc.h: Likewise.
5143 * include/grub/symbol.h: Likewise.
5144 * include/grub/types.h: Likewise.
5145 * include/multiboot2.h: Likewise.
5146 * io/gzio.c: Likewise.
5147 * kern/device.c: Likewise.
5148 * kern/disk.c: Likewise.
5149 * kern/efi/efi.c: Likewise.
5150 * kern/efi/mm.c: Likewise.
5151 * kern/elf.c: Likewise.
5152 * kern/file.c: Likewise.
5153 * kern/i386/dl.c: Likewise.
5154 * kern/i386/pc/init.c: Likewise.
5155 * kern/i386/pc/startup.S: Likewise.
5156 * kern/ieee1275/ieee1275.c: Likewise.
5157 * kern/ieee1275/init.c: Likewise.
5158 * kern/main.c: Likewise.
5159 * kern/mm.c: Likewise.
5160 * kern/powerpc/dl.c: Likewise.
5161 * kern/sparc64/dl.c: Likewise.
5162 * kern/x86_64/dl.c: Likewise.
5163 * lib/hexdump.c: Likewise.
5164 * loader/efi/appleloader.c: Likewise.
5165 * loader/i386/ieee1275/linux.c: Likewise.
5166 * loader/i386/pc/chainloader.c: Likewise.
5167 * loader/i386/pc/linux.c: Likewise.
5168 * loader/i386/pc/multiboot2.c: Likewise.
5169 * loader/ieee1275/multiboot2.c: Likewise.
5170 * loader/multiboot2.c: Likewise.
5171 * loader/multiboot_loader.c: Likewise.
5172 * loader/powerpc/ieee1275/linux.c: Likewise.
5173 * normal/completion.c: Likewise.
5174 * normal/menu_entry.c: Likewise.
5175 * partmap/apple.c: Likewise.
5176 * util/grub.d/10_hurd.in: Likewise.
5177 * util/hostfs.c: Likewise.
5178 * video/readers/png.c: Likewise.
5179
e2d70b5c
CW
51802010-01-03 Colin Watson <cjwatson@ubuntu.com>
5181
5182 * include/grub/misc.h (GNUC_PREREQ): New macro.
5183 (ATTRIBUTE_ERROR): New macro.
5184 * include/grub/list.h (grub_bad_type_cast_real): Use
5185 ATTRIBUTE_ERROR.
5186
a173283f 51872010-01-03 Carles Pina i Estany <carles@pina.cat>
5188
5189 * normal/menu_text.c (print_message): Change messages.
5190
7fa7ff74 51912010-01-03 Carles Pina i Estany <carles@pina.cat>
5192
5193 * normal/menu_entry.c (store_completion): Gettextizze.
5194
136d24f6 51952010-01-03 Carles Pina i Estany <carles@pina.cat>
5196
5197 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
5198
f936862e 51992010-01-03 Carles Pina i Estany <carles@pina.cat>
5200
5201 * po/POTFILES: Sort correctly.
5202
29c44ad1 52032010-01-03 Carles Pina i Estany <carles@pina.cat>
5204
5205 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
5206 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
5207 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
5208 full stop.
5209 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
5210 summary. Gettextizze the strings.
5211 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
5212 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
5213 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
5214 full stop.
5215 (GRUB_MOD_INIT): Remove command name from summary.
5216 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
5217 summary.
5218 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
5219 * term/i386/pc/serial.c (options): Add full stops.
5220 (GRUB_MOD_INIT): Remove command name from the summary.
5221
77a79592 52222010-01-03 Carles Pina i Estany <carles@pina.cat>
5223
5224 * commands/acpi.c: Gettextizze help strings and/or options. Include
5225 `grub/i18n.h' if needed.
5226 * commands/blocklist.c: Likewise.
5227 * commands/boot.c: Likewise.
5228 * commands/cat.c: Likewise.
5229 * commands/cmp.c: Likewise.
5230 * commands/configfile.c: Likewise.
5231 * commands/crc.c: Likewise.
5232 * commands/date.c: Likewise.
5233 * commands/echo.c: Likewise.
5234 * commands/efi/fixvideo.c: Likewise.
5235 * commands/efi/loadbios.c: Likewise.
5236 * commands/gptsync.c: Likewise.
5237 * commands/halt.c: Likewise.
5238 * commands/handler.c: Likewise.
5239 * commands/hdparm.c: Likewise.
5240 * commands/hexdump.c: Likewise.
5241 * commands/i386/cpuid.c: Likewise.
5242 * commands/i386/pc/drivemap.c: Likewise.
5243 * commands/i386/pc/halt.c: Likewise.
5244 * commands/i386/pc/pxecmd.c: Likewise.
5245 * commands/i386/pc/vbeinfo.c: Likewise.
5246 * commands/i386/pc/vbetest.c: Likewise.
5247 * commands/ieee1275/suspend.c: Likewise.
5248 * commands/keystatus.c: Likewise.
5249 * commands/loadenv.c: Likewise.
5250 * commands/ls.c: Likewise.
5251 * commands/lsmmap.c: Likewise.
5252 * commands/lspci.c: Likewise.
5253 * commands/memrw.c: Likewise.
5254 * commands/minicmd.c: Likewise.
5255 * commands/parttool.c: Likewise.
5256 * commands/password.c: Likewise.
5257 * commands/probe.c: Likewise.
5258 * commands/read.c: Likewise.
5259 * commands/reboot.c: Likewise.
5260 * commands/search.c: Likewise.
5261 * commands/sleep.c: Likewise.
5262 * commands/test.c: Likewise.
5263 * commands/true.c: Likewise.
5264 * commands/usbtest.c: Likewise.
5265 * commands/videotest.c: Likewise.
5266 * commands/xnu_uuid.c: Likewise.
5267 * disk/loopback.c: Likewise.
5268 * hello/hello.c: Likewise.
5269 * loader/i386/bsd.c: Likewise.
5270 * term/i386/pc/serial.c: Likewise.
5271 * po/POTFILES: Add new files.
5272
da8d5c53
CW
52732010-01-02 Colin Watson <cjwatson@ubuntu.com>
5274
5275 * term/i386/pc/at_keyboard.c
5276 (keyboard_controller_wait_untill_ready): Rename to ...
5277 (keyboard_controller_wait_until_ready): ... this. Update all users.
5278
33937904 52792010-01-01 Carles Pina i Estany <carles@pina.cat>
5280
5281 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
5282 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
5283 string using string width.
5284 * normal/menu_text.c (grub_print_message_indented): Use
5285 grub_print_spaces and not print_spaces.
5286 (print_timeout): Likewise.
5287 (print_spaces): Move to...
5288 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
5289
3fd3b8d8
RM
52902010-01-01 Robert Millan <rmh.grub@aybabtu.com>
5291
5292 Import from Gnulib.
5293
5294 * gnulib/getdelim.c: New file.
5295 * gnulib/getline.c: Likewise.
5296
33433555
VS
52972009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
5298
5299 * include/grub/list.h (grub_assert_fail): Removed.
5300 (grub_bad_type_cast_real): New function.
5301 (grub_bad_type_cast): New macro.
5302 (GRUB_AS_LIST): Use grub_bad_type_cast.
5303 (GRUB_AS_LIST_P): Likewise.
e44721e8 5304 (GRUB_AS_NAMED_LIST): Likewise.
33433555 5305 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 5306 (GRUB_AS_PRIO_LIST): Likewise.
33433555 5307 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 5308 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 5309
f5a51306
VS
53102009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
5311
5312 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
5313 Fix syntax error.
5314
90d1e879
RM
53152009-12-29 Robert Millan <rmh.grub@aybabtu.com>
5316
5317 * configure.ac: Check for TARGET_CFLAGS initialization before we
5318 initialize it ourselves (sigh).
5319 Move a few modifications to TARGET_CFLAGS to be unconditional
5320 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
5321 eh_frame)
5322
5323 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
5324 * term/i386/pc/at_keyboard.c
5325 (keyboard_controller_wait_untill_ready): Likewise.
5326 (keyboard_controller_led): Rename `led_status' paramter to avoid
5327 name conflict.
5328
465b5a81 53292009-12-28 Carles Pina i Estany <carles@pina.cat>
5330
5331 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
5332 quotes.
5333
c181849b
VS
53342009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5335
5336 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
5337
9c8739a4
VS
53382009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5339
5340 * normal/menu_text.c (grub_print_message_indented): Prevent
5341 past-the-end-of-array dereference.
5342
3e74249c
VS
53432009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5344
5345 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
5346 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
5347
64fd18ed 53482009-12-27 Carles Pina i Estany <carles@pina.cat>
5349
5350 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
5351 * normal/main.c (grub_normal_read_line): Remove a space from the
5352 default prompt.
5353
714af9b9 53542009-12-27 Carles Pina i Estany <carles@pina.cat>
5355
5356 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
5357 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5358 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
5359 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
5360 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5361 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5362 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
5363
82f3e412 53642009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 5365
5366 * video/readers/jpeg.c (cmd): Declare.
5367 (grub_cmd_jpegtest): Use `grub_command_t' type.
5368 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
5369 Assign to `cmd'.
5370 (GRUB_MOD_FINI): Use `cmd' to unregister.
5371 * video/readers/png.c (cmd): Declare.
5372 (grub_cmd_pngtest): Use `grub_command_t' type.
5373 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
5374 Assign to `cmd'.
5375 (GRUB_MOD_FINI): Use `cmd' to unregister.
5376 * video/readers/tga.c (cmd): Declare.
5377 (grub_cmd_tgatest): Use `grub_command_t' type.
5378 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
5379 Assign to `cmd'.
5380 (GRUB_MOD_FINI): Use `cmd' to unregister.
5381
82f3e412 53822009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 5383
5384 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
5385 stops.
5386 * kern/corecmd.c (grub_register_core_commands): Likewise.
5387 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
5388 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
5389 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
5390 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5391 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
5392 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
5393 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
5394 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
5395 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5396 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5397 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
5398 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
5399 * normal/handler.c (insert_handler): Likewise.
5400 * normal/main.c (GRUB_MOD_INIT): Likewise.
5401 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
5402
fdcdbb66 54032009-12-26 Carles Pina i Estany <carles@pina.cat>
5404
5405 * commands/help.c (grub_cmd_help): Print the command name before the
5406 summary.
5407 (GRUB_MOD_INIT): Remove command name from the summary.
5408 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 5409 string as summary.
fdcdbb66 5410 * lib/arg.c (find_long): Print the command name before the summary.
5411 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
5412 summary.
5413 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
5414 * commands/cat.c (GRUB_MOD_INIT): Likewise.
5415 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
5416 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
5417 * commands/crc.c (GRUB_MOD_INIT): Likewise.
5418 * commands/date.c (GRUB_MOD_INIT): Likewise.
5419 * commands/echo.c (GRUB_MOD_INIT): Likewise.
5420 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
5421 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
5422 * commands/handler.c (GRUB_MOD_INIT): Likewise.
5423 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
5424 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
5425 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
5426 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
5427 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
5428 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
5429 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
5430 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
5431 * commands/ls.c (GRUB_MOD_INIT): Likewise.
5432 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
5433 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
5434 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
5435 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
5436 * commands/password.c (GRUB_MOD_INIT): Likewise.
5437 * commands/probe.c (GRUB_MOD_INIT): Likewise.
5438 * commands/read.c (GRUB_MOD_INIT): Likewise.
5439 * commands/search.c (GRUB_MOD_INIT): Likewise.
5440 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
5441 * commands/test.c (GRUB_MOD_INIT): Likewise.
5442 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
5443 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
5444 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
5445 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
5446 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
5447 * lib/arg.c (GRUB_MOD_INIT): Likewise.
5448 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
5449 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
5450 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
5451 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
5452 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
5453 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
5454 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
5455 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
5456
9c288be2
VS
54572009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5458
5459 Use search command for preliminar UUID search.
5460
5461 * commands/search.c: Split into ...
5462 * commands/search_wrap.c: ...this
5463 * commands/search.c: ...and this.
5464 * commands/search_file.c: New file.
5465 * commands/search_label.c: New file.
5466 * commands/search_uuid.c: New file.
5467 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
5468 Add commands/search_wrap.c, commands/search_file.c,
5469 commands/search_label.c and commands/search_uuid.c.
5470 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
5471 (search_mod_SOURCES): Set to commands/search_wrap.c.
5472 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
5473 search_label.mod.
5474 (search_fs_file_mod_SOURCES): New variable.
5475 (search_fs_file_mod_CFLAGS): Likewise.
5476 (search_fs_file_mod_LDFLAGS): Likewise.
5477 (search_label_mod_SOURCES): Likewise.
5478 (search_label_mod_CFLAGS): Likewise.
5479 (search_label_mod_LDFLAGS): Likewise.
5480 (search_fs_uuid_mod_SOURCES): New variable.
5481 (search_fs_uuid_mod_CFLAGS): Likewise.
5482 (search_fs_uuid_mod_LDFLAGS): Likewise.
5483 (fs_file_mod_SOURCES): Removed.
5484 (fs_file_mod_CFLAGS): Likewise.
5485 (fs_file_mod_LDFLAGS): Likewise.
5486 (fs_uuid_mod_SOURCES): Removed.
5487 (fs_uuid_mod_CFLAGS): Likewise.
5488 (fs_uuid_mod_LDFLAGS): Likewise.
5489 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
5490 Set to util/grub-install.in.
5491 * disk/fs_file.c: Removed.
5492 * disk/fs_uuid.c: Likewise.
5493 * include/grub/search.h: New file.
5494 * util/grub-install.in: Handle sparc64.
5495 Create and use load.cfg.
5496 * util/sparc64/ieee1275/grub-install.in: Removed.
5497
db943399
VS
54982009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5499
5500 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
5501 Ignore return status if CF is cleared.
5502 (grub_biosdisk_get_diskinfo_standard): Likewise.
5503
3fdae612
RM
55042009-12-25 Robert Millan <rmh.grub@aybabtu.com>
5505
5506 * term/i386/pc/at_keyboard.c
5507 (keyboard_controller_wait_untill_ready): New function.
5508 (grub_keyboard_controller_write, grub_keyboard_controller_read)
5509 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
5510 for keyboard polling, rather than duplicate the same loop. This
5511 saves a few bytes in code size.
5512
7ebaa2b4
VS
55132009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5514
5515 Support for (pxe[:server[:gateway]]) syntax and
5516 use environment variable for PXE.
5517
5518 * commands/i386/pc/pxecmd.c (options): Removed.
5519 (print_ip): Removed.
5520 (grub_cmd_pxe): Removed
5521 (grub_cmd_pxe_unload): New function.
5522 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
5523 (grub_pxe_your_ip): Made static.
5524 (grub_pxe_default_server_ip): Likewise.
5525 (grub_pxe_default_gateway_ip): Likewise.
5526 (grub_pxe_blksize): Likewise.
5527 (parse_ip): New function.
5528 (grub_pxe_open): Support server and gateway specification.
5529 (grub_pxe_close): Free disk->data.
5530 (grub_pxefs_open): Use disk->data.
5531 (grub_pxefs_read): Likewise.
5532 (grub_env_write_readonly): New function.
5533 (set_mac_env): Likewise.
5534 (set_env_limn_ro): Likewise.
5535 (parse_dhcp_vendor): Likewise.
5536 (grub_pxe_detect): Set the environment variables.
5537 (set_ip_env): New function.
5538 (write_ip_env): Likewise.
5539 (grub_env_write_pxe_default_server): Likewise.
5540 (grub_env_write_pxe_default_gateway): Likewise.
5541 (grub_env_write_pxe_blocksize): Likewise.
5542 (GRUB_MOD_INIT(pxe)): Set environment variables.
5543 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
5544 (grub_pxe_mac_addr_t): ... this. All users updated.
5545 (grub_pxe_your_ip): Removed.
5546 (grub_pxe_server_ip): Likewise.
5547 (grub_pxe_gateway_ip): Likewise.
5548 (grub_pxe_blksize): Likewise.
5549
ec5f98ab 55502009-12-25 Carles Pina i Estany <carles@pina.cat>
5551
5552 * commands/help.c: Include `<grub/i18n.h>'.
5553 (grub_cmd_help): Gettextizze.
5554 (GRUB_MOD_INIT): Likewise.
5555 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
5556 (GRUB_MOD_INIT): Gettextizze.
5557 * commands/search.c: Include `<grub/i18n.h>'.
5558 (options): Gettextizze.
5559 (GRUB_MOD_INIT): Gettextizze.
5560 * lib/arg.c: Include `<grub/i18n.h>'.
5561 (help_options): Gettextizze.
5562 (find_long): Likewise.
5563 (grub_arg_show_help): Likewise.
5564 * normal/dyncmd.c: Include `<grub/i18n.h>'.
5565 (read_command_list): Gettextizze.
5566 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 5567 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 5568
22815526
RM
55692009-12-25 Robert Millan <rmh.grub@aybabtu.com>
5570
5571 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
5572 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
5573 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
5574 (led_status): New variable.
5575 (keyboard_controller_led): New function.
5576 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
5577 update led status for caps lock, num lock and scroll lock.
5578
0ad46fd7
FZ
55792009-12-25 Felix Zielcke <fzielcke@z-51.de>
5580
5581 * util/hostdisk.c (open_device): Fix a comment.
5582
d0e158c2
RM
55832009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5584
5585 * util/grub-install.in (host_os): New variable.
5586 * util/i386/efi/grub-install.in (host_os): Likewise.
5587
401c0ad6
RM
55882009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5589
5590 * util/mkisofs/write.c (padblock_write): Abort when given an
5591 excedingly large embed image, instead of silently truncating it.
5592
d14d3370
RM
55932009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5594
5595 * include/multiboot.h: Indentation fixes.
5596
eeed10b4
RM
55972009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5598
5599 * include/multiboot.h (struct multiboot_aout_symbol_table)
5600 (struct multiboot_elf_section_header_table): New structure
5601 declarations (stolen from GRUB Legacy).
5602 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
5603 table information.
5604
5605 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
5606 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
5607 type aliases.
5608
681c70ab
RM
56092009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5610
5611 * include/multiboot.h: Make comments src2texi-friendly.
5612
e4d47d8d
RM
56132009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5614
5615 For consistency with [multiboot]/docs/boot.S.
5616
5617 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
5618 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
5619 (MULTIBOOT_MAGIC2): Rename from this ...
5620 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
5621
a0b70bda
RM
56222009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5623
5624 * include/multiboot.h: Remove `<grub/types.h>'.
5625 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
5626 types. Update all users.
5627
61ba42be 56282009-12-25 Carles Pina i Estany <carles@pina.cat>
5629
5630 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
5631 `couldn't' and `can not' by `cannot'.
5632 * commands/i386/pc/drivemap.c: Likewise.
5633 * disk/ata.c: Likewise.
5634 * disk/ieee1275/nand.c: Likewise.
5635 * fs/affs.c: Likewise.
5636 * fs/fat.c: Likewise.
5637 * fs/hfs.c: Likewise.
5638 * fs/hfsplus.c: Likewise.
5639 * fs/iso9660.c: Likewise.
5640 * fs/jfs.c: Likewise.
5641 * fs/minix.c: Likewise.
5642 * fs/reiserfs.c: Likewise.
5643 * fs/sfs.c: Likewise.
5644 * fs/udf.c: Likewise.
5645 * fs/ufs.c: Likewise.
5646 * fs/xfs.c: Likewise.
5647 * loader/powerpc/ieee1275/linux.c: Likewise.
5648 * loader/sparc64/ieee1275/linux.c: Likewise.
5649 * util/grub-probe.c: Likewise.
5650 * util/misc.c: Likewise.
5651
7fd0baee 56522009-12-24 Carles Pina i Estany <carles@pina.cat>
5653
5654 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
5655 grub_errno calls.
5656 * commands/acpi.c: Likewise.
5657 * commands/blocklist.c: Likewise.
5658 * commands/efi/loadbios.c: Likewise.
5659 * commands/i386/pc/drivemap.c: Likewise.
5660 * commands/loadenv.c: Likewise.
5661 * commands/memrw.c: Likewise.
5662 * commands/password.c: Likewise.
5663 * commands/videotest.c: Likewise.
5664 * disk/ata.c: Likewise.
5665 * disk/ata_pthru.c: Likewise.
5666 * disk/dmraid_nvidia.c: Likewise.
5667 * disk/ieee1275/nand.c: Likewise.
5668 * disk/ieee1275/ofdisk.c: Likewise.
5669 * disk/loopback.c: Likewise.
5670 * disk/lvm.c: Likewise.
5671 * disk/mdraid_linux.c: Likewise.
5672 * disk/raid.c: Likewise.
5673 * disk/raid6_recover.c: Likewise.
5674 * disk/scsi.c: Likewise.
5675 * efiemu/main.c: Likewise.
5676 * efiemu/mm.c: Likewise.
5677 * efiemu/pnvram.c: Likewise.
5678 * efiemu/symbols.c: Likewise.
5679 * font/font.c: Likewise.
5680 * fs/cpio.c: Likewise.
5681 * fs/hfsplus.c: Likewise.
5682 * fs/iso9660.c: Likewise.
5683 * fs/jfs.c: Likewise.
5684 * fs/minix.c: Likewise.
5685 * fs/ntfs.c: Likewise.
5686 * fs/ntfscomp.c: Likewise.
5687 * fs/reiserfs.c: Likewise.
5688 * fs/ufs.c: Likewise.
5689 * fs/xfs.c: Likewise.
5690 * gettext/gettext.c: Likewise.
5691 * include/grub/auth.h: Likewise.
5692 * kern/elf.c: Likewise.
5693 * kern/file.c: Likewise.
5694 * kern/ieee1275/init.c: Likewise.
5695 * kern/ieee1275/mmap.c: Likewise.
5696 * kern/ieee1275/openfw.c: Likewise.
5697 * kern/powerpc/dl.c: Likewise.
5698 * kern/sparc64/dl.c: Likewise.
5699 * lib/arg.c: Likewise.
5700 * loader/i386/bsd.c: Likewise.
5701 * loader/i386/bsdXX.c: Likewise.
5702 * loader/i386/efi/linux.c: Likewise.
5703 * loader/i386/efi/xnu.c: Likewise.
5704 * loader/i386/ieee1275/linux.c: Likewise.
5705 * loader/i386/linux.c: Likewise.
5706 * loader/i386/multiboot.c: Likewise.
5707 * loader/i386/pc/linux.c: Likewise.
5708 * loader/i386/pc/multiboot2.c: Likewise.
5709 * loader/i386/xnu.c: Likewise.
5710 * loader/ieee1275/multiboot2.c: Likewise.
5711 * loader/macho.c: Likewise.
5712 * loader/machoXX.c: Likewise.
5713 * loader/multiboot2.c: Likewise.
5714 * loader/multiboot_loader.c: Likewise.
5715 * loader/powerpc/ieee1275/linux.c: Likewise.
5716 * loader/sparc64/ieee1275/linux.c: Likewise.
5717 * loader/xnu.c: Likewise.
5718 * loader/xnu_resume.c: Likewise.
5719 * mmap/i386/pc/mmap.c: Likewise.
5720 * normal/menu_viewer.c: Likewise.
5721 * partmap/acorn.c: Likewise.
5722 * partmap/amiga.c: Likewise.
5723 * partmap/apple.c: Likewise.
5724 * script/lexer.c: Likewise.
5725 * term/gfxterm.c: Likewise.
5726 * term/i386/pc/serial.c: Likewise.
5727 * term/i386/pc/vga.c: Likewise.
5728 * term/ieee1275/ofconsole.c: Likewise.
5729 * term/terminfo.c: Likewise.
5730 * video/bitmap.c: Likewise.
5731 * video/efi_gop.c: Likewise.
5732 * video/efi_uga.c: Likewise.
5733 * video/fb/video_fb.c: Likewise.
5734 * video/i386/pc/vbe.c: Likewise.
5735 * video/readers/tga.c: Likewise.
5736 * video/video.c: Likewise.
5737
0ad46fd7 57382009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
5739
5740 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
5741 * commands/lspci.c: Likewise.
5742 * commands/probe.c: Likewise.
5743 * commands/xnu_uuid.c: Likewise.
5744 * conf/i386-coreboot.rmk: Likewise.
5745 * conf/i386-efi.rmk: Likewise.
5746 * conf/i386-ieee1275.rmk: Likewise.
5747 * conf/i386-pc.rmk: Likewise.
5748 * conf/powerpc-ieee1275.rmk: Likewise.
5749 * conf/sparc64-ieee1275.rmk: Likewise.
5750 * conf/x86_64-efi.rmk: Likewise.
5751 * fs/i386/pc/pxe.c: Likewise.
5752 * gettext/gettext.c: Likewise.
5753 * include/grub/efi/graphics_output.h: Likewise.
5754 * include/grub/i386/pc/memory.h: Likewise.
5755 * kern/env.c: Likewise.
5756 * kern/i386/qemu/startup.S: Likewise.
5757 * lib/i386/pc/biosnum.c: Likewise.
5758 * lib/i386/relocator.c: Likewise.
5759 * lib/i386/relocator_asm.S: Likewise.
5760 * lib/relocator.c: Likewise.
5761 * loader/i386/bsd.c: Likewise.
5762 * loader/i386/multiboot.c: Likewise.
5763 * loader/i386/pc/chainloader.c: Likewise.
5764 * loader/i386/xnu.c: Likewise.
5765 * loader/xnu.c: Likewise.
5766 * normal/main.c: Likewise.
5767 * normal/menu_text.c: Likewise.
5768 * util/getroot.c: Likewise.
5769 * util/grub-mkconfig_lib.in: Likewise.
5770 * util/grub.d/00_header.in: Likewise.
5771 * util/i386/pc/grub-mkimage.c: Likewise.
5772 * util/mkisofs/eltorito.c: Likewise.
5773 * util/mkisofs/exclude.h: Likewise.
5774 * util/mkisofs/hash.c: Likewise.
5775 * util/mkisofs/iso9660.h: Likewise.
5776 * util/mkisofs/joliet.c: Likewise.
5777 * util/mkisofs/mkisofs.c: Likewise.
5778 * util/mkisofs/mkisofs.h: Likewise.
5779 * util/mkisofs/multi.c: Likewise.
5780 * util/mkisofs/name.c: Likewise.
5781 * util/mkisofs/rock.c: Likewise.
5782 * util/mkisofs/tree.c: Likewise.
5783 * util/mkisofs/write.c: Likewise.
5784 * video/efi_gop.c: Likewise.
5785
009ec743
VS
57862009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5787
5788 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
5789 size counting.
5790
0ad46fd7 57912009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
5792
5793 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
5794 * genmk.rb (class SCRIPT): Modify the target file instead of source.
5795
d3d30ea0
VS
57962009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
5797
5798 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
5799 (GRUB_MOD_INIT(memrw)): Update help line.
5800
a34f5c70
VS
58012009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
5802
5803 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
5804 Use grub_extcmd_t. All users updated.
5805 (options): New variable.
5806 (grub_cmd_read): Restructure for readability. Support "-v" option.
5807 (grub_cmd_write): Restructure for readability.
5808
0ad46fd7 58092009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
5810
5811 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
5812
0ad46fd7 58132009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
5814
5815 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
5816 with the actual contents of the correspondending make variable.
5817 * util/grub-mkrescue.in (pkglib_DATA): New variable.
5818 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
5819 specifying `*.lst' and `efiemu??.o'
5820
0ad46fd7 58212009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
5822
5823 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
5824 after function name.
5825 Noticed by Rene Engelhard <rene@debian.org>.
5826
dc77a799
VS
58272009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
5828
5829 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
5830 (options): New variable.
5831 (iospace): Likewise.
5832 (grub_lspci_iter): List IO spaces if "-i" was given.
5833 (grub_cmd_lspci): Parse options.
5834 (GRUB_MOD_INIT(lspci)): Use extcmd.
5835 (GRUB_MOD_FINI(lspci)): Likewise.
5836
0ad46fd7 58372009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
5838
5839 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
5840 `function' keyword.
5841 Patch by Tony Mancill <tmancill@debian.org>.
5842
b5d5993b
VS
58432009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
5844
5845 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
5846 (grub_uhci_portstatus): Likewise.
5847 (grub_uhci_portstatus): Add necessary delay.
11d18281 5848 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 5849
941903f2 58502009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 5851
941903f2 5852 * commands/acpi.c (options): Fix capitalizations and/or full stops.
5853 (GRUB_MOD_INIT): Likewise.
5854 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 5855 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
5856 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 5857 * commands/efi/loadbios.c (enable_rom_area): Likewise.
5858 (enable_rom_area): Likewise.
5859 (GRUB_MOD_INIT): Likewise.
5860 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
5861 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
5862 * commands/handler.c (GRUB_MOD_INIT): Likewise.
5863 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
5864 * commands/hexdump.c (options): Likewise.
5865 * commands/i386/cpuid.c (options): Likewise.
5866 (GRUB_MOD_INIT): Likewise.
5867 * commands/i386/pc/drivemap.c (options): Likewise.
5868 (GRUB_MOD_INIT): Likewise.
5869 * commands/i386/pc/halt (options): Likewise.
5870 (GRUB_MOD_INIT): Likewise.
5871 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
5872 * commands/i386/pc/pxecmd.c (options): Likewise.
5873 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
5874 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
5875 * commands/keystatus.c (options): Likewise.
5876 (GRUB_MOD_INIT): Likewise.
5877 * commands/loadenv.c (options): Likewise.
5878 * commands/ls.c (options): Likewise.
5879 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
5880 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
5881 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
5882 * commands/parttool.c (helpmsg): Likewise.
5883 * commands/probe.c (options): Likewise.
5884 * commands/read.c (GRUB_MOD_INIT): Likewise.
5885 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
5886 * commands/search.c (options): Likewise.
5887 * commands/sleep.c (options): Likewise.
5888 * commands/test.c (GRUB_MOD_INIT): Likewise.
5889 * commands/true.c (GRUB_MOD_INIT): Likewise.
5890 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
5891 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
5892 * lib/arg.c (help_options): Likewise.
e9bbb4e7 5893 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
5894 `$(XGETTEXT)'.
98a50553 5895 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 5896
0ad46fd7 58972009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 5898
ef3c2c3a 5899 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
5900 instead of specifying them explicit.
5901
7922f68b
RM
59022009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5903
5904 * NEWS: Add grub-probe support for GNU/Hurd.
5905
537ce47f
RM
59062009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5907
5908 * NEWS: gettext was added after 1.97.
5909
9b214e3a
RM
59102009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5911
5912 * util/mkisofs/msdos_partition.h: New file (based on
5913 include/grub/msdos_partition.h).
5914 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
5915 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
5916 (ld_options, main): Recognize --protective-msdos-label.
5917 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
5918 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
5919 (padblock_write): If `use_protective_msdos_label' is set, patch a
5920 protective DOS-style label in the output image.
5921
5922 * util/grub-mkrescue.in: Use --protective-msdos-label.
5923
e9309813
RM
59242009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5925
5926 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
5927 boot.
5928
0ae56929
RM
59292009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5930
5931 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
5932 variables.
5933 (ld_options, main): Recognize `--embedded-boot'.
5934 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
5935 declarations.
5936 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
5937 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
5938 (padblock_write): Likewise. Rewrite to support embedded boot image.
5939
5940 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
5941 for BIOS-based disk boot instead of only ElTorito.
5942
b15937b1
RM
59432009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5944
5945 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
5946 build (not needed for bootstrap).
5947
52cc3ce0
RM
59482009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5949
5950 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
5951 from i386-pc build (not needed for bootstrap).
5952 Rewrite a pair of strings.
5953
36f5ff04
RM
59542009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5955
5956 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
5957
973c6c85 59582009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
5959
5960 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
5961
05d21547
AB
59622009-12-21 Andreas Born <futur.andy@googlemail.com>
5963
5964 * kern/env.c (grub_env_context_open): Mark exported variable for
5965 reexport.
5966
0175d51f
AB
59672009-12-21 Andreas Born <futur.andy@googlemail.com>
5968
5969 * kern/env.c (grub_env_export): Create nonexistent variables before
5970 exporting.
5971
7f39d92f 59722009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 5973
7f39d92f 5974 * include/grub/auth.h: Include `<grub/i18n.h>'.
5975 (GRUB_GET_PASSWORD): Gettextizze string.
5976 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
5977 menu_text.c.
5978 (grub_utf8_to_ucs4_alloc): Fix indentation.
5979 (grub_print_ucs4): Likewise.
5980 (grub_getstringwidth): Likewise.
5981 (print_message_indented): New declaration.
5982 * normal/auth.c: Include `<grub/i18n.h>'.
5983 (grub_auth_check_authentication): Gettexttize string.
5984 * normal/cmdline.c: Include `<grub/i18n.h>'.
5985 (grub_cmdline_get): Gettextizze.
5986 * normal/color.c: Include `<grub/i18n.h>'.
5987 (grub_parse_color_name_pair): Gettexttize strings.
5988 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
5989 string (use `print_message_indented').
5990 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
5991 `include/grub/normal.h'.
5992 (print_message_indented): Renamed to ...
5993 (grub_print_message_indented): ... this. Remove `static' qualifer (now
5994 used in normal/main.c).
5995 (print_message): Use `grub_print_message_indented' instead of
5996 `print_message_indented'.
5997 (print_timeout): Likewise.
5998 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
5999 (grub_normal_print_device_info): Gettexttize strings.
6000 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
6001
3041d898
VS
60022009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
6003
6004 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
6005 of arguments. Return number of tokens and not arguments. All users
6006 updated.
6007
de15bf8e
VS
60082009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
6009
6010 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
6011 non-MSDOS paritions.
6012
e0a6ca52
VS
60132009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
6014
6015 * include/grub/types.h (UNUSED): Removed since it conflicts with
6016 NetBSD headers. All users changed to direct __attribute__ ((unused)).
6017 Reported by Grégoire Sutre.
6018
b99518d1 60192009-12-19 Carles Pina i Estany <carles@pina.cat>
6020
6021 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
6022 (grub_print_ucs4_alloc): Likewise.
6023 (grub_getstringwidth): Likewise.
6024 * normal/main.c (grub_normal_init_page): Gettextize version string.
6025 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
6026 (getstringwidth): Renamed to ...
6027 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
6028 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
6029 (grub_print_ucs4): Remove `static' qualifer (now used in
6030 normal/main.c).
6031 * po/POTFILES: Add normal/main.c.
6032
bfd5e52b 60332009-12-19 Carles Pina i Estany <carles@pina.cat>
6034
6035 * normal/menu_text.c (STANDARD_MARGIN): New macro.
6036 (print_message_indented): Add `margin_left' and `margin_right'
6037 parameters.
6038 (print_message): Update `print_message_indented' calls. Adds '\n' to the
6039 strings.
6040 (print_timeout): Use `print_message_indented' to print the message.
6041 Deletes `second_stage' parameter.
6042 (run_menu): Update `print_timeout' calls.
6043
5a1ad2b9
VS
60442009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
6045
6046 Fix console palette on OpenFirmware.
6047
6048 * term/ieee1275/ofconsole.c (MAX): Removed.
6049 (colors): Redone based on VGA palette.
6050 (grub_ofconsole_setcolor): Discard brightness bit since only 8
6051 colors are supported.
6052 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
6053
b045f00a
VS
60542009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
6055
6056 Fix potential EfiEmu double prepare.
6057
6058 * efiemu/main.c (prepared): New variable
6059 (grub_efiemu_unload): Set prepare to '0'.
6060 (grub_efiemu_prepare): Return if already prepared. Set prepared.
6061
6062 set_virtual_address_map support.
6063
6064 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
6065 prototype.
6066 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
6067 prototype.
6068 (grub_efiemu_crc32): Likewise.
6069 (grub_efiemu_crc64): Likewise.
6070 (grub_efiemu_set_virtual_address_map): Likewise.
6071 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
6072 New definition.
6073 (grub_autoefi_set_virtual_address_map): Likewise.
6074 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
6075 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
6076 Restructure flow to accomodate it.
6077 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
6078 (grub_efiemu_crc): Recompute CRC32.
6079 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
6080 (efiemu_ptv_relocated): ... this. Made global. All users updated.
6081 * efiemu/symbols.c (relocated_handle): New variable.
6082 (grub_efiemu_free_syms): Free relocated_handle.
6083 (grub_efiemu_alloc_syms): Allocate relocated_handle.
6084 (grub_efiemu_write_sym_markers): New function.
6085 (grub_efiemu_set_virtual_address_map): Likewise.
6086
6087 Newer XNU parameters.
6088
6089 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
6090 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
6091 (grub_xnu_fill_devicetree): New prototype.
6092 (grub_xnu_heap_real_start): New variable.
6093 * loader/xnu.c (get_name_ptr): New function.
6094 (grub_xnu_load_driver): Fill namelen and name.
6095
6096 64-bit xnu support.
6097
6098 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
6099 and 'loader/macho64.c'.
6100 * conf/i386-pc.rmk: Likewise.
6101 * conf/x86_64-efi.rmk: Likewise.
6102 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
6103 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
6104 * include/grub/macho.h (grub_macho_segment64): New structure.
6105 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
6106 (grub_macho_size32): ... to this.
6107 (grub_macho32_get_entry_point): Renamed from ...
6108 (grub_macho_get_entry_point32): ... to this.
6109 (grub_macho_contains_macho64): New prototype.
6110 (grub_macho_size64): Likewise.
6111 (grub_macho_get_entry_point64): Likewise.
6112 (grub_macho32_load): Renamed from ...
6113 (grub_macho_load32): ... to this.
6114 (grub_macho32_filesize): Renamed from ...
6115 (grub_macho_filesize32): ... to this.
6116 (grub_macho32_readfile): Renamed from ...
6117 (grub_macho_readfile32): ... to this.
6118 (grub_macho_filesize64): New prototype.
6119 (grub_macho_readfile64): Likewise.
6120 (grub_macho_parse32): Likewise.
6121 (grub_macho_parse64): Likewise.
6122 * loader/macho.c: Split into ...
6123 * loader/machoXX.c: ... and this. Replace 32 with XX.
6124 * loader/macho32.c: New file.
6125 * loader/macho64.c: Likewise.
6126 * loader/xnu.c (grub_xnu_is_64bit): New variable.
6127 (grub_cmd_xnu_kernel): Make 32-bit only.
6128 (grub_cmd_xnu_kernel64): New function.
6129 (grub_xnu_load_driver): Support Mach-O 64.
6130 (grub_cmd_xnu_mkext): Likewise.
6131 * util/grub.d/30_os-prober.in (osx_entry): New function.
6132 Generate entries for 64-bit boot too.
6133
6134 Eliminate ad-hoc tree format in XNU and EfiEmu.
6135
6136 * efiemu/main.c (grub_efiemu_prepare): Update comment.
6137 * efiemu/pnvram.c: Rewritten to use environment variables.
6138 All users updated.
6139
6140 Inline utf16_to_utf8.
6141
6142 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
6143 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
6144 All users updated.
6145 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
6146
6147 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
6148 * commands/usbtest.c (grub_usb_get_string): ... move here.
6149 (usb_print_str): Fix error handling.
6150 * include/grub/usb.h (grub_usb_get_string): Remove.
6151
6152 UTF-8 to UTF-16 transformation.
6153
6154 * conf/common.rmk (pkglib_MODULES): Add charset.mod
6155 (charset_mod_SOURCES): New variable.
6156 (charset_mod_CFLAGS): Likewise.
6157 (charset_mod_LDFLAGS): Likewise.
6158 * include/grub/utf.h: New file.
6159 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
6160
6161 Support for device properties.
6162
6163 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
6164 (grub_xnu_devprop_device_header): Likewise.
6165 (grub_xnu_devprop_device_descriptor): Likewise.
6166 (grub_xnu_devprop_add_device): New prototype.
6167 (grub_xnu_devprop_remove_device): Likewise.
6168 (grub_xnu_devprop_remove_property): Likewise.
6169 (grub_xnu_devprop_add_property_utf8): Likewise.
6170 (grub_xnu_devprop_add_property_utf16): Likewise.
6171 (grub_cpu_xnu_init): Likewise.
6172 (grub_cpu_xnu_fini): Likewise.
6173 (grub_cpu_xnu_unload): Likewise.
6174 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
6175 (property_descriptor): Likewise.
6176 (devices): New variable.
6177 (grub_xnu_devprop_remove_property): New function.
6178 (grub_xnu_devprop_add_device): Likewise.
6179 (grub_xnu_devprop_remove_device): Likewise.
6180 (grub_xnu_devprop_add_property): Likewise.
6181 (grub_xnu_devprop_add_property_utf8): Likewise.
6182 (grub_xnu_devprop_add_property_utf16): Likewise.
6183 (hextoval): Likewise.
6184 (grub_cpu_xnu_fill_devprop): Likewise.
6185 (grub_cmd_devprop_load): Likewise.
6186 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
6187 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
6188 (cmd_devprop_load): New variable.
6189 (grub_cpu_xnu_init): New function.
6190 (grub_cpu_xnu_fini): Likewise.
6191 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
6192 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
6193 (grub_cmd_xnu_devtree): Likewise.
6194 (hextoval): New function.
6195 (unescape): Likewise.
6196 (grub_xnu_fill_devicetree): Likewise.
6197
6198 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
6199 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
6200
0945f181
VS
62012009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
6202
6203 Workaround for broken ATI VBE.
6204
6205 * video/i386/pc/vbe.c (last_set_mode): New variable.
6206 (grub_vbe_set_video_mode): Set 'last_set_mode'.
6207 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
6208 (grub_video_vbe_setup): Don't check for reserved flag.
6209
0ad46fd7 62102009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
6211
6212 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
6213 the `find' command.
6214
c179ebe4
VS
62152009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
6216
6217 UUID support for HFS.
6218
6219 * fs/hfs.c (grub_hfs_uuid): New function.
6220 (grub_hfs_fs): New value .uuid.
6221 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
6222
0ad46fd7 62232009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
6224
6225 Fix a segfault with parsing unknown long options.
6226
6227 * util/grub-mkrelpath.c (options): Zero terminate it.
6228
c4a3e41a
CPE
62292009-12-13 Carles Pina i Estany <carles@pina.cat>
6230
6231 * include/grub/misc.h (grub_puts): New declaration.
6232 (grub_puts_): Likewise.
a22008a6 6233 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
6234 (grub_puts_): Likewise.
6235
2e8a7602
RM
62362009-12-13 Robert Millan <rmh.grub@aybabtu.com>
6237
6238 * util/grub-probe.c (probe): Improve error message.
6239
b50b77b9
RM
62402009-12-13 Robert Millan <rmh.grub@aybabtu.com>
6241
6242 * loader/i386/multiboot_elfxx.c
6243 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
6244 initialization.
6245
62462009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6247
6248 Relocator framework
6249
6250 * loader/i386/xnu_helper.S: Removed. All users updated.
6251 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
6252 (relocator_mod_SOURCES): New variable.
6253 (relocator_mod_CFLAGS): Likewise.
6254 (relocator_mod_LDFLAGS): Likewise.
6255 (relocator_mod_ASFLAGS): Likewise.
6256 * conf/x86_64.rmk: Likewise.
6257 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
6258 (grub_multiboot_payload_entry_offset): Likewise.
6259 (grub_multiboot_forward_relocator): Likewise.
6260 (grub_multiboot_forward_relocator_end): Likewise.
6261 (grub_multiboot_backward_relocator): Likewise.
6262 (grub_multiboot_backward_relocator_end): Likewise.
6263 (grub_multiboot_payload_eip): New variable.
6264 (grub_multiboot_payload_orig): Likewise.
6265 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
6266 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
6267 * include/grub/i386/memory.h
6268 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
6269 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
6270 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
6271 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
6272 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
6273 * include/grub/i386/relocator.h: New file.
6274 * include/grub/x86_64/relocator.h: Likewise.
6275 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
6276 (XNU_RELOCATOR): New macro.
6277 (grub_xnu_launcher_start): Remove.
6278 (grub_xnu_launcher_end): Likewise.
6279 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
6280 (grub_xnu_heap_real_start): Remove.
6281 (grub_xnu_heap_start): Change to void *. All users updated.
6282 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
6283 * lib/i386/relocator.c: New file.
6284 * lib/i386/relocator_asm.S: Likewise.
6285 * lib/i386/relocator_backward.S: Likewise.
6286 * lib/mips/relocator.c: Likewise.
6287 * lib/mips/relocator_asm.S: Likewise.
6288 * lib/relocator.c: Likewise.
6289 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
6290 (entry): Removed.
6291 (playground): Likewise.
6292 (grub_multiboot_payload_orig): New variable.
6293 (grub_multiboot_payload_dest): Likewise.
6294 (grub_multiboot_payload_size): Likewise.
6295 (grub_multiboot_payload_eip): Likewise.
6296 (grub_multiboot_payload_esp): Likewise.
6297 (grub_multiboot_boot): Use grub_relocator32_boot.
6298 (grub_multiboot_unload): Free relocators.
6299 (grub_multiboot): Setup stack. Use relocators.
6300 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
6301 (grub_multiboot_load_elfXX): Use relocators.
6302 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
6303 (grub_multiboot_payload_size): Likewise.
6304 (grub_multiboot_payload_dest): Likewise.
6305 (grub_multiboot_payload_entry_offset): Likewise.
6306 (grub_multiboot_forward_relocator): Likewise.
6307 (grub_multiboot_backward_relocator): Likewise.
6308 (grub_multiboot_real_boot): Likewise.
6309 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
6310 (grub_xnu_entry_point): Likewise.
6311 (grub_xnu_arg1): Likewise.
6312 (grub_xnu_stack): Likewise.
6313 (grub_xnu_launch): Removed.
6314 (grub_xnu_boot_resume): New function.
6315 (grub_xnu_boot): Use relocators.
6316 * loader/i386/xnu_helper.S: Removed.
6317 * loader/xnu.c (grub_xnu_heap_start): New variable.
6318 (grub_xnu_heap_size): Likewise.
6319 (grub_xnu_heap_malloc): Use relocators.
6320 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
6321
29eb90c6
VS
63222009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6323
6324 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
6325 anything.
6326
31027430
CPE
63272009-12-13 Carles Pina i Estany <carles@pina.cat>
6328
6329 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
6330 GRUB_ERR_NONE before calling grub_env_set.
6331
dc0c71d9
RM
63322009-12-12 Robert Millan <rmh@aybabtu.com>
6333
6334 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
6335 * genmk.rb (video): New variable.
6336 (CLEANFILES, VIDEOFILES): Add #{video}.
6337 (#{video}): New target rule.
6338 * genvideolist.sh: New file.
6339 * Makefile.in (pkglib_DATA): Add video.lst.
6340 (video.lst): New target rule.
6341 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
6342 `video.lst'.
6343 * util/grub.d/30_os-prober.in: Replace `vbe' with
6344 ${GRUB_VIDEO_BACKEND}.
6345
2a4bfcf0
RM
63462009-12-11 Robert Millan <rmh.grub@aybabtu.com>
6347
6348 * THANKS: Add David Miller.
6349
2a3aa4d5
RM
63502009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
6351
6352 libpciaccess support.
6353
6354 * Makefile.in (LIBPCIACCESS): New variable.
6355 (enable_grub_emu_pci): Likewise.
6356 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
6357 util/pci.c and commands/lspci.c.
6358 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
6359 * configure.ac (grub-emu-pci): New option.
6360 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
6361 (grub_pci_device_unmap_range): Likewise.
6362 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
6363 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
6364 (grub_pci_address_t) [!GRUB_UTIL]: New type.
6365 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
6366 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
6367 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
6368 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
6369 * include/grub/pciutils.h: New file.
6370 * util/pci.c: Likewise.
6371
0ad46fd7 63722009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
6373
6374 * util/misc.c: Don't include <errno.h> twice.
6375
0ad46fd7 63762009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
6377
6378 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
6379 name in an error message.
6380 (grub_biosdisk_rw): Likewise.
6381
2e59983c
VS
63822009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6383
6384 Eliminate NTFS 4Gib barrier.
6385
6386 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
6387 (read_run_data): Likewise.
6388 (grub_ntfs_read_run_list): Likewise.
6389 (grub_ntfs_read_block): Likewise.
6390 (grub_ntfs_iterate_dir): Likewise.
6391 (read_mft): Likewise.
6392 (read_data): Likewise.
6393 Use COM_LOG_LEN.
6394 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
6395 to avoid 64-bit division
6396 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
6397 (grub_ntfs_rlst): Use grub_disk_addr_t.
6398
71ee178a
VS
63992009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6400
6401 Eliminate grub-fstest 4Gib barrier.
6402
6403 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
6404 (read_file): Fix error reporting.
6405
2520d4b8
VS
64062009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6407
6408 Eliminate hexdump 4Gib barrier.
6409
6410 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
6411 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
6412
e1f27065
VS
64132009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6414
6415 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
6416 Fixes amarsh bug.
6417
1a0f7f45
RM
64182009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
6419
6420 Remove miscellaneous files in distclean target.
6421
6422 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
6423
c631d9fb
CW
64242009-12-09 Colin Watson <cjwatson@ubuntu.com>
6425
6426 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
6427 if they're already set. This resolves the conflict between my
6428 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
6429 fixing the --grub-probe option again.
6430 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
6431 change on 2009-10-06, so that we now once again source
6432 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
6433
7c7b6106
RM
64342009-12-08 Robert Millan <rmh.grub@aybabtu.com>
6435
6436 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
6437 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
6438 `util/devicemap.c'.
6439
e3069ec1
CPE
64402009-12-08 Carles Pina i Estany <carles@pina.cat>
6441
6442 * include/grub/misc.h (grub_printf_): New declaration.
6443 * kern/misc.c (grub_printf_): New definition.
6444 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
6445 instead of `grub_printf' and `_'.
6446 * normal/menu_entry.c (store_completion): Likewise.
6447 (run): Likewise.
6448 (grub_menu_entry_run): Likewise.
6449 * normal/menu_text.c (grub_wait_after_message): Likewise.
6450 (notify_booting): Likewise.
6451 (notify_fallback): Likewise.
6452 (notify_execution_failure): Likewise.
6453
d6ceebf1
CW
64542009-12-07 Colin Watson <cjwatson@ubuntu.com>
6455
6456 * configure.ac: Check for vasprintf.
6457 * util/misc.c (asprintf): Move allocation from here ...
6458 (vasprintf): ... to here. New function.
6459 (xasprintf): New function.
6460 * include/grub/util/misc.h (vasprintf, xasprintf): Add
6461 prototypes.
6462 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
6463 * util/grub-mkfont.c (write_font): Likewise.
6464 * util/grub-probe.c (probe): Likewise.
6465 * util/hostdisk.c (make_device_name): Likewise.
6466
de6daa8b
DM
64672009-12-06 David S. Miller <davem@sunset.davemloft.net>
6468
6469 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
6470 anything even prefixed with 'cdrom' as a cdrom.
6471
0ad46fd7 64722009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
6473
6474 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
6475 mount points.
6476
98d3dc02
CPE
64772009-12-05 Carles Pina i Estany <carles@pina.cat>
6478
6479 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
6480 grub_gettext_msg_list.
6481 (grub_gettext_gettranslation_from_position): Return const char *
6482 and not char *.
a2c1332b 6483 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
6484 returns from the list if existing there.
6485 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
6486 (grub_gettext_delete_list): Delete the list.
6487 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
6488 lang environment variable is changed.
6489 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
6490
b283f108
VS
64912009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
6492
6493 Rename kernel.mod to kernel.img.
6494
6495 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
6496 (kernel_mod_EXPORTS): Rename to ...
6497 (kernel_img_EXPORTS): ... this.
6498 (kernel_mod_SOURCES): Rename to ...
6499 (kernel_img_SOURCES): ... this.
6500 (kernel_mod_HEADERS): Rename to ...
6501 (kernel_img_HEADERS): ... this. All users updated.
6502 (kernel_mod_CFLAGS): Rename to ...
6503 (kernel_img_CFLAGS): ... this.
6504 (kernel_mod_ASFLAGS): Rename to ...
6505 (kernel_img_ASFLAGS): ... this.
6506 (kernel_mod_LDFLAGS): Rename to ...
6507 (kernel_img_LDFLAGS): ... this.
6508 * conf/x86_64-efi.rmk: Likewise.
6509 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
6510 (read_kernel_image): ... this. All users updated.
6511 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
6512
69055f8a
CPE
65132009-12-05 Carles Pina i Estany <carles@pina.cat>
6514
6515 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
6516 (print_spaces): New function.
6517 (grub_print_ucs4): New function.
6518 (getstringwidth): New function.
6519 (print_message_indented): New function.
6520 (print_message): Gettexttize strings using print_message_indented.
6521 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
6522 width.
6523 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 6524 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
6525 Gettextize.
6526 * normal/menu_entry.c (store_completion): Cleanup the gettextized
6527 string.
6528 (run): Likewise.
6529 (grub_menu_entry_run): Likewise.
6530 * PO/POTFILES: Add normal/menu_entry.c.
6531
f616f51c
VS
65322009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
6533
6534 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
6535
57bbe3be
CPE
65362009-12-05 Carles Pina i Estany <carles@pina.cat>
6537
6538 * util/grub-install.in: Install gettext .mo files.
6539 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
6540
013d67a1
CPE
65412009-12-05 Carles Pina i Estany <carles@pina.cat>
6542
6543 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
6544 grub_dprintf.
6545
fb954db0
RM
65462009-12-05 Robert Millan <rmh.grub@aybabtu.com>
6547
6548 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
6549 non-firmware-dependant one in realmode.S takes precedence.
6550
6b8474f8
RM
65512009-12-04 Robert Millan <rmh.grub@aybabtu.com>
6552
6553 * commands/halt.c: Replace misc arch-specific headers with
6554 `<grub/misc.h>'.
6555 * commands/reboot.c: Likewise.
6556 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
6557 `<grub/misc.h>'.
6558 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
6559 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
6560 (kernel_img_SOURCES): ... to here.
6561
6562 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
6563 * include/grub/i386/pc/init.h: Likewise.
6564 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
6565 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
6566
6567 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
6568
6569 * include/grub/i386/halt.h: Remove.
6570 * include/grub/i386/reboot.h: Likewise.
6571
6572 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
6573
4b2e6ca2
DM
65742009-12-03 David S. Miller <davem@sunset.davemloft.net>
6575
6576 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
6577 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
6578 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
6579 "progname.h"
6580 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
6581 * util/sparc64/ieee1275/grub-setup.c: Likewise.
6582 (usage): Add missing comma in printf.
6583
5239348f
RM
65842009-12-02 Robert Millan <rmh.grub@aybabtu.com>
6585
6586 Use the same reboot approach on i386 coreboot and qemu as we do on
6587 BIOS.
6588
6589 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
6590 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
6591 * kern/i386/reboot.c: Remove.
6592 * include/grub/i386/reboot.h (grub_reboot): Export function.
6593 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
6594 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
6595 0xf000:0xfff0 instead of 0xffff:0x0000.
6596 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
6597 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
6598
ef34cbd4
RM
65992009-11-30 Robert Millan <rmh.grub@aybabtu.com>
6600
6601 Fix $srcdir != $objdir build.
6602
6603 * Makefile.in (po/%.po): Rewrite as ...
6604 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
6605
dc9837ea
ST
66062009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
6607
6608 Fix GNU/Hurd grub-install crash.
6609 * util/grub-probe.c (probe): Try to access `path' only when it is not
6610 NULL.
6611
2f857f98
VS
66122009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
6613
6614 Correct module naming.
6615
6616 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
6617 (GRUB_MOD_INIT(efi_uga)): ... to this
6618 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
6619 (GRUB_MOD_FINI(efi_uga)): ... to this
6620 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
6621 (GRUB_MOD_INIT(efi_gop)): ... to this
6622 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
6623 (GRUB_MOD_FINI(efi_gop)): ... to this
6624
c5448046
RM
66252009-11-28 Robert Millan <rmh.grub@aybabtu.com>
6626
6627 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
6628 translatable.
6629 (usage): Translate `arg' strings using gettext().
6630 Thanks to Jordi Mallach for the suggestion.
6631
c85184ad
VS
66322009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
6633
6634 GOP support. Based on patch from Bean
6635 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
6636
6637 * video/efi_gop.c: New file.
6638 * include/grub/efi/graphics_output.h: Likewise.
6639 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
6640 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
6641 variables.
6642 * conf/x86_64-efi.rmk: Likewise.
6643
8a4c48d8
VS
66442009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
6645
6646 Rename efi_fb to efi_uga.
6647
6648 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
6649 'efi_uga.mod'.
6650 (efi_fb_mod_SOURCES): Rename this ...
6651 (efi_uga_mod_SOURCES): ... to this.
6652 (efi_fb_mod_CFLAGS): Rename this ...
6653 (efi_uga_mod_CFLAGS): ... to this.
6654 (efi_fb_mod_LDFLAGS): Rename this ...
6655 (efi_uga_mod_LDFLAGS): ... to this.
6656 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
6657 'efi_uga.mod'.
6658 (efi_fb_mod_SOURCES): Rename this ...
6659 (efi_uga_mod_SOURCES): ... to this.
6660 (efi_fb_mod_CFLAGS): Rename this ...
6661 (efi_uga_mod_CFLAGS): ... to this.
6662 (efi_fb_mod_LDFLAGS): Rename this ...
6663 (efi_uga_mod_LDFLAGS): ... to this.
6664 * video/efi_fb.c: Move this ...
6665 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
6666
fb6c1a7b
RM
66672009-11-27 Robert Millan <rmh.grub@aybabtu.com>
6668
6669 * po/README: New file. Explain our PO file workflow.
6670
3bc7896c
RM
66712009-11-27 Robert Millan <rmh.grub@aybabtu.com>
6672
6673 * po/ChangeLog: Remove. Move relevant entries back to ...
6674 * ChangeLog: ... here.
6675 * po/ca.po: Remove (now handled by TLP).
6676 * po/id.po: Likewise.
6677 * po/zh_CN.po: Likewise.
6678 * Makefile.in (LINGUAS): Initialize in a way that supports
6679 empty set.
6680
9ed4841d
RM
66812009-11-27 Robert Millan <rmh.grub@aybabtu.com>
6682
6683 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
6684 reliing on po/LINGUAS.
6685 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
6686 (po/%.po): ... this.
6687
0ad46fd7 66882009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
6689
6690 * util/i386/efi/grub-mkimage.c: Include "progname.h".
6691 (main): Use `program_name' instead of nonexistent `progname'.
6692
e30dd392
FZ
66932009-11-26 Felix Zielcke <fzielcke@z-51.de>
6694
6695 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
6696 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
6697
7656de4f
RM
66982009-11-26 Robert Millan <rmh.grub@aybabtu.com>
6699
6700 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
6701 commit.
6702 * conf/i386-efi.rmk: Likewise.
6703 * conf/i386-ieee1275.rmk: Likewise.
6704 * conf/powerpc-ieee1275.rmk: Likewise.
6705 * conf/sparc64-ieee1275.rmk: Likewise.
6706 * conf/x86_64-efi.rmk: Likewise.
6707
db77c4d4
FZ
67082009-11-26 Felix Zielcke <fzielcke@z-51.de>
6709
6710 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
6711
a755bb04
FZ
67122009-11-26 Felix Zielcke <fzielcke@z-51.de>
6713
6714 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
6715
8a4c07fd
RM
67162009-11-26 Robert Millan <rmh.grub@aybabtu.com>
6717
6718 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
6719 (grub_mkdevicemap_SOURCES): New variable.
6720 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
6721 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
6722 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
6723 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
6724 (grub_mkdevicemap_SOURCES): Remove.
6725 * conf/i386-efi.rmk: Likewise.
6726 * conf/i386-ieee1275.rmk: Likewise.
6727 * conf/i386-pc.rmk: Likewise.
6728 * conf/powerpc-ieee1275.rmk: Likewise.
6729 * conf/sparc64-ieee1275.rmk: Likewise.
6730 * conf/x86_64-efi.rmk: Likewise.
6731 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
6732 (usage): Fix strings to use `program_name'.
6733 (main): Initialize gettext.
6734 * util/grub-editenv.c: Likewise.
6735 * util/grub-emu.c: Likewise.
6736 * util/grub-fstest.c: Likewise.
6737 * util/grub-mkdevicemap.c: Likewise.
6738 * util/grub-mkfont.c: Likewise.
6739 * util/grub-mkrelpath.c: Likewise.
6740 * util/grub-pe2elf.c: Likewise.
6741 * util/grub-probe.c: Likewise.
6742 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
6743 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
6744 * util/sparc64/ieee1275/grub-setup.c: Likewise.
6745
6746 * util/misc.c: Include `"progname.h"'.
6747 (progname): Remove variable.
6748 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
6749
6f61ed55
FZ
67502009-11-25 Felix Zielcke <fzielcke@z-51.de>
6751
6752 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
6753 printf and print a newline after the menuentry header line.
6754 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
6755
f022876b
FZ
67562009-11-25 Felix Zielcke <fzielcke@z-51.de>
6757
6758 autoconf >= 2.60 support $(localedir).
6759
6760 * INSTALL: Note that autoconf 2.60 is required.
6761 * configure.ac (AC_PREREQ): Bump to 2.60.
6762 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
6763 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
6764
6717926e
YB
67652009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
6766
6767 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
6768 aclocal is run.
6769
08806a54
RM
67702009-11-25 Robert Millan <rmh.grub@aybabtu.com>
6771
6772 * normal/main.c (grub_normal_read_line): Fix off-by-one
6773 buffer overflow.
6774
13b33fba
RM
67752009-11-25 Robert Millan <rmh.grub@aybabtu.com>
6776
6777 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
6778 "parser.grub" in grub_command_execute() call.
6779
4a8572e9
CPE
67802009-11-24 Carles Pina i Estany <carles@pina.cat>
6781
6782 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
6783 * conf/i386-efi.rmk: Likewise.
6784 * conf/i386-ieee1275.rmk: Likewise.
6785 * conf/i386-pc.rmk: Likewise.
6786 * conf/powerpc-ieee1275.rmk: Likewise.
6787 * conf/sparc64-ieee1275.rmk: Likewise.
6788 * conf/x86_64-efi.rmk: Likewise.
6789 * gettext/gettex.c: Include <grub/i18n.h>.
6790 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
6791 here ...
6792 * include/grub/i18n.h: ... to here
6793 * include/grub/i18n.h: ... to here.
6794 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 6795 (grub_gettext_dummy): Move above user.
4a8572e9 6796
bee48093
FZ
67972009-11-24 Felix Zielcke <fzielcke@z-51.de>
6798
6799 * util/Makefile.in (install-local): Convert a `for' into a normal
6800 shell expansion.
6801
a031e91c
RM
68022009-11-24 Robert Millan <rmh.grub@aybabtu.com>
6803
6804 * autogen.sh: Add automake call.
6805 * config.guess: Remove.
6806 * config.sub: Likewise.
6807 * install-sh: Likewise.
6808
26bec39d
FZ
68092009-11-24 Felix Zielcke <fzielcke@z-51.de>
6810
6811 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
6812
8e2532fd
FZ
68132009-11-24 Felix Zielcke <fzielcke@z-51.de>
6814
6815 * util/Makefile.in (install-local): Convert a make `$(foreach)'
6816 function to a normal shell `for'.
6817
fefa1b7d
FZ
68182009-11-24 Felix Zielcke <fzielcke@z-51.de>
6819
6820 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
6821
4501250b
FZ
68222009-11-24 Felix Zielcke <fzielcke@z-51.de>
6823
6824 * util/grub-mkrelpath.c: New file.
6825 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
6826 (grub_mkrelpath_SOURCES): New variable.
6827 * include/grub/util/misc.h: New function prototype.
6828 * util/misc.c (make_system_path_relative_to_its_root): New function.
6829
6830 * util/grub-mkconfig_lib.in (bindir): New variable.
6831 (grub_mkrelpath): Likewise.
6832 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
6833
6834 * util/probe.c (probe): Make the file path relative to its root.
6835 Change a info message to use the GRUB path. Enable again the
6836 check if we can read the file with GRUB facilities.
6837
6838 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
6839 to its root.
6840
11d9778b
FZ
68412009-11-24 Felix Zielcke <fzielcke@z-51.de>
6842
6843 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
6844 platform.
6845
4465287d
FZ
68462009-11-24 Felix Zielcke <fzielcke@z-51.de>
6847
6848 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
6849 strncmp().
6850
62b47f22
FZ
68512009-11-24 Felix Zielcke <fzielcke@z-51.de>
6852
6853 * util/getroot.c (grub_util_is_dmraid): New function.
6854 (grub_util_get_dev_abstraction): Treat dmraid and multipath
6855 devices as normal ones, not as LVM.
6856
1eafb9b9 68572009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
6858
6859 * conf/common.rmk: Add grub-gettext_lib target and updates
6860 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
6861 LDFLAGS.
6862 * gettext/gettext.c: New file. (Reads mo files).
6863 * include/grub/file.h (grub_file_pread): New prototype.
6864 * include/grub/i18n.h (_): New prototype.
6865 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
6866 prototypes.
6867 * kern/misc.c (grub_gettext_dummy): New function.
6868 * normal/menu_text.c: Include <grub/i18n.h>.
6869 * normal/menu_text.c (print_timeout): Gettexttize string.
6870 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
6871 * po/POTFILES: Add `normal/menu_text.c'.
6872 * po/ca.po: Add new translations.
c3ea6bd4
CPE
6873 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
6874 gettext module and defines locale_dir and lang in grub.cfg.
6875 * NEWS: Add gettext support.
6876
0fdb2568
RM
68772009-11-23 Robert Millan <rmh.grub@aybabtu.com>
6878
6879 * util/hostdisk.c: Include `<grub/i18n.h>'.
6880 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
6881 (make_device_name): Rewrite using asprintf.
6882 (convert_system_partition_to_system_disk): Replace 0 with NULL.
6883 (find_system_device): If a device is not found, generate one just
6884 by reusing the OS path name.
6885 (read_device_map): Make it permissible for device.map not to exist.
6886
f515aa62
RM
68872009-11-23 Robert Millan <rmh.grub@aybabtu.com>
6888
6889 * script/sh/execute.c: Move from here ...
6890 * script/execute.c: ... to here. Update all users.
6891 * script/sh/function.c: Move from here ...
6892 * script/function.c: ... to here. Update all users.
6893 * script/sh/lexer.c: Move from here ...
6894 * script/lexer.c: ... to here. Update all users.
6895 * script/sh/main.c: Move from here ...
6896 * script/main.c: ... to here. Update all users.
6897 * script/sh/parser.y: Move from here ...
6898 * script/parser.y: ... to here. Update all users.
6899 * script/sh/script.c: Move from here ...
6900 * script/script.c: ... to here. Update all users.
6901
f84b481b
RM
69022009-11-23 Robert Millan <rmh.grub@aybabtu.com>
6903
6904 * configure.ac: Detect all `emu' platforms. Define
6905 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
6906 --enable-grub-emu logic. Disable include/grub/machine
6907 symlink on `emu' platforms.
6908
6909 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
6910 * gensymlist.sh.in: Likewise.
6911
6912 * include/grub/i386/coreboot/machine.h: Remove file.
6913 * include/grub/i386/efi/machine.h: Likewise.
6914 * include/grub/i386/ieee1275/machine.h: Likewise.
6915 * include/grub/i386/pc/machine.h: Likewise.
6916 * include/grub/i386/qemu/machine.h: Likewise.
6917 * include/grub/powerpc/ieee1275/machine.h: Likewise.
6918 * include/grub/sparc64/ieee1275/machine.h: Likewise.
6919 * include/grub/x86_64/efi/machine.h: Likewise.
6920
6921 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
6922 * commands/halt.c: Likewise.
6923 * commands/reboot.c: Likewise.
6924 * include/grub/autoefi.h: Likewise.
6925 * include/grub/i386/at_keyboard.h: Likewise.
6926 * include/grub/i386/kernel.h: Likewise.
6927 * include/grub/i386/loader.h: Likewise.
6928 * include/grub/i386/pc/memory.h: Likewise.
6929 * kern/dl.c: Likewise.
6930 * kern/i386/coreboot/init.c: Likewise.
6931 * loader/i386/bsd.c: Likewise.
6932 * loader/i386/linux.c: Likewise.
6933 * loader/multiboot_loader.c: Likewise.
6934 * term/i386/pc/serial.c: Likewise.
6935 * term/usb_keyboard.c: Likewise.
6936
6937 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
6938 `<grub/machine/machine.h>'
6939 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
6940 * util/misc.c: Remove `<grub/machine/machine.h>' and
6941 `<grub/machine/time.h>'.
6942
6943 * Makefile.in (enable_grub_emu): Remove variable.
6944 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
6945
6946 * conf/any-emu.rmk: New file.
6947 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
6948 (grub_emu_init.c): Move from here ...
6949 * conf/any-emu.rmk: ... to here.
6950
6951 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
6952 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
6953 * conf/any-emu.rmk: ... to here.
6954
4efeab03
RM
69552009-11-23 Robert Millan <rmh.grub@aybabtu.com>
6956
6957 * include/grub/parser.h (grub_parser_register): Document need
6958 of `name' parameter.
6959 * normal/main.c (grub_normal_read_line): Simplify prompt string.
6960 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
6961 "sh" to "grub".
6962
ea1dd8bf
RM
69632009-11-23 Robert Millan <rmh.grub@aybabtu.com>
6964
6965 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
6966 `$(XGETTEXT)'.
6967 * include/grub/i18n.h (N_): New macro.
6968 * util/mkisofs/mkisofs.h: Likewise.
6969 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
6970 around N_().
6971 (usage): Use gettext() to translate help strings when printing them.
6972
0c140626
RM
69732009-11-23 Robert Millan <rmh.grub@aybabtu.com>
6974
6975 Based on patch from Bean
6976 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
6977
6978 * video/efi_fb.c: New file.
6979 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
6980 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
6981 variables.
6982 * conf/x86_64-efi.rmk: Likewise.
6983
87d58298
RM
69842009-11-22 Robert Millan <rmh.grub@aybabtu.com>
6985
6986 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
6987 * util/i386/pc/grub-setup.c: Likewise.
6988
994cc3a3
ST
69892009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
6990
6991 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
6992 <hurd/fs.h>
6993 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
6994 file_get_storage_info to implement grub_guess_root_device.
6995
26a61d6a
FZ
69962009-11-21 Felix Zielcke <fzielcke@z-51.de>
6997
6998 * Makefile.in (target): Use make's builtin $(shell) function
6999 instead of calling directly $(SHELL) to create the locale directories,
7000 inside the $(foreach) function.
7001
74ff1dd5
FZ
70022009-11-21 Felix Zielcke <fzielcke@z-51.de>
7003
7004 * util/grub-mkrescue.in: Print an error and usage if output option
7005 has not been given.
7006
0b787d0e
FZ
70072009-11-21 Felix Zielcke <fzielcke@z-51.de>
7008
7009 Patch from Loïc Minier <loic.minier@ubuntu.com>.
7010 * util/grub.d/30_os-prober.in: Cope with Linux entries where
7011 root and /boot are on different devices.
7012
1164b270
RM
70132009-11-21 Robert Millan <rmh.grub@aybabtu.com>
7014
7015 Fix build for srcdir != objdir.
7016
7017 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
7018 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
7019 $(srcdir).
7020 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
7021 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
7022 reference for input.
7023
13774a2f
RM
70242009-11-21 Robert Millan <rmh.grub@aybabtu.com>
7025
7026 * util/grub-mkrescue.in: Use source directory direcly (without copiing
7027 or hardlinking it). Remove -J option, Joliet is not compatible with
7028 multiple source directories.
7029
efda854e
RM
70302009-11-21 Carles Pina i Estany <carles@pina.cat>
70312009-11-21 Robert Millan <rmh.grub@aybabtu.com>
7032
7033 * util/grub-mkrescue.in: Recognize `--override-directory' option.
7034 (process_input_dir): New function. Process an arbitrary input
7035 directory.
7036 Misc adjustments to support both "override mode" and system-wide mode.
7037
6c09890c
FZ
70382009-11-20 Felix Zielcke <fzielcke@z-51.de>
7039
7040 * configure.ac (UNIFONT_BDF): Rename to ...
7041 (FONT_SOURCE): ... this. Update all users.
7042
a797824f
FZ
70432009-11-20 Felix Zielcke <fzielcke@z-51.de>
7044
7045 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
7046 to the list of unifont files to look for.
7047
cd4f42b0
RM
70482009-11-19 Robert Millan <rmh.grub@aybabtu.com>
7049
7050 Patch from Joe Auricchio <jauricchio@gmail.com>
7051 * commands/minicmd.c (grub_mini_cmd_clear): New function.
7052 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
7053 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
7054
393c783d
FZ
70552009-11-19 Felix Zielcke <fzielcke@z-51.de>
7056
7057 * Makefile.in (install-local): Add a missing backslash.
7058
b2f1e327
FZ
70592009-11-19 Felix Zielcke <fzielcke@z-51.de>
7060
7061 * include/grub/x86_64/io.h: New file.
7062
f577f7a0
RM
70632009-11-19 Robert Millan <rmh.grub@aybabtu.com>
7064
7065 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
7066 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
7067 Include `"progname.h"'.
7068 (main): Initialize gettext.
7069 * util/i386/pc/grub-setup.c: Gettexttize.
7070 * util/i386/pc/grub-mkimage.c: Likewise.
7071
7072 * Makefile.in (po/*.po): Redefine as ...
7073 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
7074
3bc7896c
RM
7075 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
7076
c37943b6
RM
70772009-11-19 Robert Millan <rmh.grub@aybabtu.com>
7078
7079 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
7080 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
7081 (program_name): Remove.
7082 (main): Initialize gettext support.
6323f705
RM
7083 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
7084 Include `<libintl.h>'.
7085 (_): New macro.
c37943b6
RM
7086
7087 * util/mkisofs/eltorito.c: Gettexttize.
7088 * util/mkisofs/joliet.c: Likewise.
7089 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
7090 * util/mkisofs/multi.c: Likewise.
7091 * util/mkisofs/rock.c: Likewise.
7092 * util/mkisofs/tree.c: Likewise.
7093 * util/mkisofs/write.c: Likewise.
7094
3bc7896c
RM
7095 * po/POTFILES: Update with new files.
7096
5ce77c6e
RM
70972009-11-18 Robert Millan <rmh.grub@aybabtu.com>
7098
7099 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
7100 * util/mkisofs/iso9660.h: Likewise.
7101 * util/mkisofs/joliet.c: Likewise.
7102 * util/mkisofs/mkisofs.c: Likewise.
7103 * util/mkisofs/mkisofs.h: Likewise.
7104 * util/mkisofs/rock.c: Likewise.
7105 * util/mkisofs/tree.c: Likewise.
7106 * util/mkisofs/write.c: Likewise.
7107
7108 * util/mkisofs/eltorito.c (rcsid): Remove.
7109 * util/mkisofs/hash.c: Likewise.
7110 * util/mkisofs/joliet.c: Likewise.
7111 * util/mkisofs/name.c: Likewise.
7112 * util/mkisofs/rock.c: Likewise.
7113 * util/mkisofs/tree.c: Likewise.
7114 * util/mkisofs/write.c: Likewise.
7115
1dabbc77
RM
71162009-11-18 Robert Millan <rmh.grub@aybabtu.com>
7117
7118 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
7119 instead of static allocation.
7120 * util/mkisofs/match.h: Likewise.
7121
633877cb
RM
71222009-11-18 Robert Millan <rmh.grub@aybabtu.com>
7123
3bc7896c
RM
7124 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
7125 and `util/grub.d/10_linux.in'.
633877cb
RM
7126 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
7127 translatable Shell files.
7128
af1c0c85
RM
71292009-11-18 Robert Millan <rmh.grub@aybabtu.com>
7130
7131 * Makefile.in ($(srcdir)/aclocal.m4): New target.
7132
769ae37b
RM
71332009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7134
7135 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 7136 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
7137 * util/grub.d/10_kfreebsd.in (bindir): New variable.
7138 Add gettext initialization.
7139 (kfreebsd_entry): Make menuentry output translatable.
7140
71412009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7142
7143 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
7144 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
7145 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
7146 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
7147 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 7148 * po/LINGUAS: New file.
769ae37b
RM
7149
71502009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7151
7152 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
7153 other things).
7154 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
7155 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
7156 bindtextdomain() calls for gettext initialization.
7157
71582009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7159
7160 * gnulib/progname.c: New file (imported from Gnulib).
7161 * gnulib/progname.h: Likewise.
7162 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
7163 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
7164 (usage): Replace `progname' with `program_name'.
7165 (main): Use set_program_name() for program name initialization.
7166
71672009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7168
7169 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
7170 from here ...
7171 * Makefile.in (CPPFLAGS): ... to here.
7172
71732009-11-16 Robert Millan <rmh.grub@aybabtu.com>
7174
7175 * aclocal.m4: Move from here ...
7176 * acinclude.m4: ... to here.
7177 * autogen.sh: Add call to `aclocal'.
7178 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
7179
71802009-11-16 Robert Millan <rmh.grub@aybabtu.com>
7181
7182 * Makefile.in (CLEANFILES): Add `po/*.mo'.
7183 (LINGUAS): New variable.
7184 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
7185 (install-local): Install MO files.
7186 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
7187 * include/grub/i18n.h: New file.
3bc7896c
RM
7188 * po/POTFILES: New file.
7189 * po/ca.po: New file.
769ae37b
RM
7190 * util/grub.d/10_linux.in (bindir): New variable.
7191 Add gettext initialization.
7192 (linux_entry): Make menuentry output translatable.
7193 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
7194 (usage): Make --help output translatable.
7195 (main): Initialize gettext.
7196
02c0a6ad
RM
71972009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7198
7199 * import_gcry.py: New file (written by Vladimir with minor
7200 adjustments).
7201 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
7202 ciphers.
7203 * INSTALL: Document that Python is required for bootstrap.
7204
72052009-11-17 Robert Millan <rmh.grub@aybabtu.com>
7206
7207 Import ciphers from libgcrypt 1.4.4.
7208
7209 * lib/libgcrypt/cipher/ChangeLog
7210 * lib/libgcrypt/cipher/ac.c
7211 * lib/libgcrypt/cipher/arcfour.c
7212 * lib/libgcrypt/cipher/bithelp.h
7213 * lib/libgcrypt/cipher/blowfish.c
7214 * lib/libgcrypt/cipher/camellia-glue.c
7215 * lib/libgcrypt/cipher/camellia.c
7216 * lib/libgcrypt/cipher/camellia.h
7217 * lib/libgcrypt/cipher/cast5.c
7218 * lib/libgcrypt/cipher/cipher.c
7219 * lib/libgcrypt/cipher/crc.c
7220 * lib/libgcrypt/cipher/des.c
7221 * lib/libgcrypt/cipher/dsa.c
7222 * lib/libgcrypt/cipher/ecc.c
7223 * lib/libgcrypt/cipher/elgamal.c
7224 * lib/libgcrypt/cipher/hash-common.c
7225 * lib/libgcrypt/cipher/hash-common.h
7226 * lib/libgcrypt/cipher/hmac-tests.c
7227 * lib/libgcrypt/cipher/md.c
7228 * lib/libgcrypt/cipher/md4.c
7229 * lib/libgcrypt/cipher/md5.c
7230 * lib/libgcrypt/cipher/primegen.c
7231 * lib/libgcrypt/cipher/pubkey.c
7232 * lib/libgcrypt/cipher/rfc2268.c
7233 * lib/libgcrypt/cipher/rijndael-tables.h
7234 * lib/libgcrypt/cipher/rijndael.c
7235 * lib/libgcrypt/cipher/rmd.h
7236 * lib/libgcrypt/cipher/rmd160.c
7237 * lib/libgcrypt/cipher/rsa.c
7238 * lib/libgcrypt/cipher/seed.c
7239 * lib/libgcrypt/cipher/serpent.c
7240 * lib/libgcrypt/cipher/sha1.c
7241 * lib/libgcrypt/cipher/sha256.c
7242 * lib/libgcrypt/cipher/sha512.c
7243 * lib/libgcrypt/cipher/tiger.c
7244 * lib/libgcrypt/cipher/twofish.c
7245 * lib/libgcrypt/cipher/whirlpool.c
7246
af2f93ac
RM
72472009-11-16 Robert Millan <rmh.grub@aybabtu.com>
7248
7249 Fix build for systems without error().
7250
7251 * gnulib/error.c: New file (imported from Gnulib).
7252 * gnulib/error.h: Likewise.
7253 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
7254 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
7255 (this variable is now used by error()).
7256
73fb3dd5
FZ
72572009-11-16 Felix Zielcke <fzielcke@z-51.de>
7258
814f5e96
FZ
7259 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
7260 instead of relying that char is signed.
73fb3dd5 7261
a691ca33
VS
72622009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7263
7264 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
7265 blocksize different from specified.
7266 (grub_pxefs_read): Likewise.
7267
2af8f0f4
FZ
72682009-11-16 Felix Zielcke <fzielcke@z-51.de>
7269
7270 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
7271
7272 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
7273 (grub_ata_readwrite): Likewise. Update 2 format strings.
7274 (grub_atapi_read): Likewise.
7275
7276 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
7277 * conf/i386.rmk (pkglib_MODULES): ... to here ...
7278 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
7279 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
7280 (ata_mod_LDFLAGS): Move from here ...
7281 * conf/i386.rmk: ... to here ...
7282 * conf/x86_64-efi.rmk: ... and here.
7283 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
7284 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
7285
83bdecaf
RM
72862009-11-16 Robert Millan <rmh.grub@aybabtu.com>
7287
7288 Relicense multiboot.h, with RMS' blessing.
7289
7290 * include/multiboot.h: Change to X11 license.
7291
fd6fd3d7
RM
72922009-11-15 Robert Millan <rmh.grub@aybabtu.com>
7293
7294 Support --version in grub-mkisofs.
7295
7296 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
7297 (OPTION_VERSION): New macro.
7298 (ld_options): Recognize --version.
7299 (usage): Move `program_name' from here ...
7300 (program_name): ... to here. Add `static' qualifier.
7301 (main): Recognize `OPTION_VERSION'.
7302
16a88c49
FZ
73032009-11-15 Felix Zielcke <fzielcke@z-51.de>
7304
7305 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
7306 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
7307
a4158476
RM
73082009-11-14 Robert Millan <rmh.grub@aybabtu.com>
7309
7310 Fix help2man generation for mkisofs.
7311
7312 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
7313 (usage): Send output to stdout (rather than stderr).
7314
fc2208b0
RM
73152009-11-14 Robert Millan <rmh.grub@aybabtu.com>
7316
7317 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
7318 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
7319 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
7320 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
7321 (bin_SCRIPTS): Add `grub-mkfloppy'.
7322 (grub_mkfloppy_SOURCES): New variable.
7323
7324 * util/grub-mkrescue.in: New file.
7325 * util/i386/pc/grub-mkfloppy.in: New file.
7326
7327 * util/i386/coreboot/grub-mkrescue.in: Remove.
7328 * util/i386/pc/grub-mkrescue.in: Remove.
7329
8d0edf4a
RM
73302009-11-13 Robert Millan <rmh.grub@aybabtu.com>
7331
7332 * include/grub/multiboot.h (struct grub_multiboot_header): Move
7333 from here ...
7334 * include/multiboot.h (struct multiboot_header): ... to here. Update
7335 all users.
7336 * include/grub/multiboot.h (struct grub_multiboot_info): Move
7337 from here ...
7338 * include/multiboot.h (struct multiboot_info): ... to here. Update
7339 all users.
7340 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
7341 from here ...
7342 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
7343 Update all users.
7344 * include/grub/multiboot.h (struct grub_mod_list): Move
7345 from here ...
7346 * include/multiboot.h (struct multiboot_mod_list): ... to here.
7347 Update all users.
7348
a73f5969
RM
73492009-11-13 Robert Millan <rmh.grub@aybabtu.com>
7350
7351 * include/multiboot2.h (multiboot_word): Rename from this ...
7352 (multiboot2_word): ... to this. Update all users.
7353 (multiboot_header): Rename from this ...
7354 (multiboot2_header): ... to this. Update all users.
7355 (multiboot_tag_header): Rename from this ...
7356 (multiboot2_tag_header): ... to this. Update all users.
7357 (multiboot_tag_start): Rename from this ...
7358 (multiboot2_tag_start): ... to this. Update all users.
7359 (multiboot_tag_name): Rename from this ...
7360 (multiboot2_tag_name): ... to this. Update all users.
7361 (multiboot_tag_module): Rename from this ...
7362 (multiboot2_tag_module): ... to this. Update all users.
7363 (multiboot_tag_memory): Rename from this ...
7364 (multiboot2_tag_memory): ... to this. Update all users.
7365 (multiboot_tag_unused): Rename from this ...
7366 (multiboot2_tag_unused): ... to this. Update all users.
7367 (multiboot_tag_end): Rename from this ...
7368 (multiboot2_tag_end): ... to this. Update all users.
7369
1c8927f0
RM
73702009-11-13 Robert Millan <rmh.grub@aybabtu.com>
7371
7372 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
7373 this platform we should support Multiboot1 first.
7374
7375 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
7376 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
7377 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
7378
6e1e0d89
RM
73792009-11-12 Robert Millan <rmh.grub@aybabtu.com>
7380
7381 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
7382 of write calls (converting them to fwrite() if they aren't already).
7383 (get_torito_desc): Likewise.
7384 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
7385
7f2b34d8
RM
73862009-11-12 Robert Millan <rmh.grub@aybabtu.com>
7387
7388 * util/i386/pc/grub-install.in: Move from here ...
7389 * util/grub-install.in: ... to here. Update all users.
7390
c0ef3311
CW
73912009-11-11 Colin Watson <cjwatson@ubuntu.com>
7392
7393 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
7394
e1f240ff
RM
73952009-11-11 Robert Millan <rmh.grub@aybabtu.com>
7396
7397 Support for El Torito without floppy emulation.
7398
7399 * util/mkisofs/eltorito.c: Include `<errno.h>'.
7400 (init_boot_catalog): Improve error handling.
7401 (get_torito_desc): Don't use floppy emulation unless requested by
7402 user. Patch boot information table when requested via
7403 `-boot-info-table'.
7404 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
7405 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
7406 (use_boot_info_table): New variables.
7407 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
7408 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
7409 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
7410 `--eltorito-emul-floppy'.
7411 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
7412 and `OPTION_ELTORITO_EMUL_FLOPPY'.
7413 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
7414 (use_boot_info_table, get_731): New prototypes.
7415 * util/mkisofs/write.c (get_731): New function.
7416
af7d4de5
FZ
74172009-11-11 Felix Zielcke <fzielcke@z-51.de>
7418
7419 Fix the generation of the man page.
7420
7421 * util/pc/i386/grub-install.in: Source
7422 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
7423
2c55dbc0
RM
74242009-11-11 Robert Millan <rmh.grub@aybabtu.com>
7425
7426 Large file support for grub-mkisofs.
7427
7428 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
7429 * util/mkisofs/mkisofs.c (next_extent, last_extent)
7430 (session_start): Upgrade type to `uint64_t'. Update all users.
7431 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
7432 (struct directory_entry): Upgrade type of `starting_block' and
7433 `size' to `uint64_t'. Update all users.
7434 (struct deferred): Remove unused structure.
7435 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
7436 Update all users.
7437 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
7438 file is larger than `UINT32_MAX'.
7439 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
7440 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
7441 return value.
7442 (struct deferred_write): Upgrade type of `extent' and `size' to
7443 `uint64_t'. Update all users.
7444 (last_extent_written): Upgrade type to `uint64_t'. Update all
7445 users.
7446 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
7447 Update all users. Upgrade type of `remain' to `int64_t' and
7448 `use' to `size_t'. Use error() to handle fread() errors.
7449 (write_files): Rely on write_one_file() rather than calling
7450 xfwrite() directly.
7451
6a9cead5
FZ
74522009-11-09 Felix Zielcke <fzielcke@z-51.de>
7453
7454 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
7455
4825d790
RM
74562009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7457
7458 * util/mkisofs/fnmatch.c: Remove.
7459 * util/mkisofs/getopt1.c: Likewise.
7460 * util/mkisofs/getopt.c: Likewise.
7461 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
7462 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
7463 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
7464 `gnulib/getopt1.c' and `gnulib/getopt.c'.
7465 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
7466
7467 * configure.ac: Detect `mingw32msvc' host_os.
7468 Check for lstat(), getuid() and getgid().
7469
7470 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
7471 instances of `u_char' with `uint8_t'.
7472
7473 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
7474 [!HAVE_GETUID] (getuid): New function (stub).
7475 [!HAVE_GETGID] (getgid): Likewise.
7476 [!HAVE_LSTAT] (lstat): Likewise.
7477 [!S_IROTH] (S_IROTH): New macro (dummy).
7478 [!S_IRGRP] (S_IRGRP): Likewise.
7479
84b860d8
RM
74802009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7481
7482 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
7483 conditional expression).
7484
66e9b712
RM
74852009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7486
7487 Import from Gnulib.
7488
7489 * gnulib/fnmatch.c: New file.
7490 * gnulib/fnmatch.h: Likewise.
7491 * gnulib/fnmatch_loop.c: Likewise.
7492 * gnulib/getopt.c: Likewise.
7493 * gnulib/getopt.h: Likewise.
7494 * gnulib/getopt1.c: Likewise.
7495 * gnulib/getopt_int.h: Likewise.
7496 * gnulib/gettext.h: Likewise.
7497
34f4a5b0
RM
74982009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7499
7500 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
7501 * normal/handler.c (read_handler_list): Likewise.
7502
ac451143
RM
75032009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7504
7505 Misc cleanup.
7506
7507 * kern/command.c (grub_register_command_prio): Use
7508 grub_zalloc() instead of explicitly zeroing data.
7509 * kern/list.c: Include `<grub/mm.h>'.
7510 (grub_named_list_find): Replace `0' with `NULL'.
7511 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
7512 (fs_module_list): Change type to `grub_named_list_t'. Update all
7513 users.
7514 * normal/dyncmd.c (read_command_list): Add space between function
7515 call and parenthesis.
7516 * normal/handler.c (read_handler_list): Likewise.
7517
4089b167
RM
75182009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7519
7520 * normal/auth.c (punishment_delay): Moved from here ...
7521 (grub_auth_strcmp): ... to here (inside function).
7522
325f5037
RM
75232009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7524
7525 * include/grub/list.h (struct grub_named_list): Remove `const'
7526 qualifier from `name'.
7527 (struct grub_prio_list): Likewise.
7528
7aea29a3
RM
75292009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7530
7531 * normal/auth.c: Include `<grub/time.h>'.
7532 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
7533
3fd6f044
RM
75342009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7535
7536 * normal/auth.c (punishment_delay): New variable.
7537 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
7538 (grub_auth_check_authentication): Punish failed login attempts with
7539 an incremental (2^N) delay.
7540
a4cd68e4
RM
75412009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7542
7543 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
7544 path with $(srcdir).
7545
7ad12f43
VS
75462009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7547
7548 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
7549
c1129f03
RM
75502009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7551
7552 * util/i386/coreboot/grub-mkrescue.in: New file.
7553 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
7554 variables.
7555
7556 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
7557 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
7558 * configure.ac: Add header and function checks to satisfy grub-mkisofs
7559 requirements.
7560 * util/mkisofs/defaults.h: New file.
7561 * util/mkisofs/eltorito.c: Likewise.
7562 * util/mkisofs/exclude.h: Likewise.
7563 * util/mkisofs/fnmatch.c: Likewise.
7564 * util/mkisofs/getopt.c: Likewise.
7565 * util/mkisofs/getopt1.c: Likewise.
7566 * util/mkisofs/hash.c: Likewise.
7567 * util/mkisofs/include/fctldefs.h: Likewise.
7568 * util/mkisofs/include/mconfig.h: Likewise.
7569 * util/mkisofs/include/prototyp.h: Likewise.
7570 * util/mkisofs/include/statdefs.h: Likewise.
7571 * util/mkisofs/iso9660.h: Likewise.
7572 * util/mkisofs/joliet.c: Likewise.
7573 * util/mkisofs/match.c: Likewise.
7574 * util/mkisofs/match.h: Likewise.
7575 * util/mkisofs/mkisofs.c: Likewise.
7576 * util/mkisofs/mkisofs.h: Likewise.
7577 * util/mkisofs/multi.c: Likewise.
7578 * util/mkisofs/name.c: Likewise.
7579 * util/mkisofs/rock.c: Likewise.
7580 * util/mkisofs/tree.c: Likewise.
7581 * util/mkisofs/write.c: Likewise.
7582
ec8bb77d
VS
75832009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7584
7585 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
7586 being insecure.
7587
3716b12c
RM
75882009-11-08 Robert Millan <rmh.grub@aybabtu.com>
7589
7590 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
7591 `grub-mkimage' (and use $0 when possible).
7592
b97b7b91
RM
75932009-11-08 Robert Millan <rmh.grub@aybabtu.com>
7594
7595 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
7596 error message for excessively large memory map.
7597
04114812
RM
75982009-11-08 Robert Millan <rmh.grub@aybabtu.com>
7599
7600 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
7601 executable bit.
7602
e4eb2373
RM
76032009-11-08 Robert Millan <rmh.grub@aybabtu.com>
7604
7605 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
7606 message for coreboot users.
7607
c926e1d5 76082009-11-07 Robert Millan <rmh.grub@aybabtu.com>
7609
7610 Fix build with GNU gold.
7611
7612 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
7613 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
7614 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
7615 link addresses.
7616 * aclocal.m4: Likewise.
7617
86e5b1db 76182009-11-04 Felix Zielcke <fzielcke@z-51.de>
7619
7620 * configure.ac (AC_PREREQ): Bump to 2.59d.
7621 * INSTALL: Make it more clear when Autoconf and Ruby are
7622 needed and when to run `./autogen.sh'.
7623
246cd78f 76242009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
7625
7626 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
7627 OSes.
7628
4f9dfb37 76292009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
7630
7631 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
7632
b82bd5e1 76332009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
7634
7635 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
7636 giving it to GNU Mach.
7637
ff1a9bca 76382009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
7639
7640 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
7641 GNU partition number to get internal GRUB partition number.
7642
61697d9c 76432009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
7644
7645 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
7646 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
7647
a50569e1 76482009-11-01 Robert Millan <rmh.grub@aybabtu.com>
7649
7650 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
7651 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
7652 case.
7653
5b153867 76542009-11-01 Felix Zielcke <fzielcke@z-51.de>
7655
7656 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
7657
d9e2cd70 76582009-10-30 Robert Millan <rmh.grub@aybabtu.com>
7659
7660 Fix build problem.
7661
7662 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
7663 `-isystem=$(srcdir)/include'.
7664
805111a4 76652009-10-30 Robert Millan <rmh.grub@aybabtu.com>
7666
7667 * util/i386/pc/grub-install.in: Remove hint that device.map should be
7668 checked (grub-install doesn't currently rely on it).
7669
fa6e945f 76702009-10-29 Robert Millan <rmh.grub@aybabtu.com>
7671
7672 Revert SVN r2660.
7673
7674 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
7675 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
7676 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
7677 * conf/i386-ieee1275.rmk: Likewise.
7678 * conf/i386-pc.rmk: Likewise.
7679 * conf/powerpc-ieee1275.rmk: Likewise.
7680 * conf/sparc64-ieee1275.rmk: Likewise.
7681 * conf/x86_64-efi.rmk: Likewise.
7682
cee15086 76832009-10-28 Robert Millan <rmh.grub@aybabtu.com>
7684
7685 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
7686
95b9239e 76872009-10-28 Robert Millan <rmh.grub@aybabtu.com>
7688
7689 * include/grub/misc.h: Stop checking for APPLE_CC.
7690
2ed19dfd 76912009-10-28 Robert Millan <rmh.grub@aybabtu.com>
7692
7693 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
7694 doesn't cause an infinite call loop.
7695
fdcdde19 76962009-10-28 Felix Zielcke <fzielcke@z-51.de>
7697
7698 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
7699 strings.
7700
cefabfe1 77012009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7702
7703 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
7704 variable.
7705 * Makefile.in: Likewise.
7706
ed96ab6d 77072009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7708
7709 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
7710
0579b753 77112009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7712
7713 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
7714
478df409 77152009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7716
7717 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
7718
083d1679 77192009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7720
7721 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
7722 from here ...
7723 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
7724
5947ae32 77252009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7726
7727 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
7728 in $(MAKEINFO) invocation. This makes it clear in output that
7729 errors are being ignored.
7730
94180ff6 77312009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7732
7733 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
7734 from here ...
7735 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
7736 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
7737 * conf/i386-ieee1275.rmk: Likewise.
7738 * conf/i386-pc.rmk: Likewise.
7739 * conf/powerpc-ieee1275.rmk: Likewise.
7740 * conf/sparc64-ieee1275.rmk: Likewise.
7741 * conf/x86_64-efi.rmk: Likewise.
7742
9031b03a 77432009-10-26 Colin Watson <cjwatson@ubuntu.com>
7744
7745 * util/grub-editenv.c (main): If only a command is given, use
7746 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
7747 (usage): FILENAME is now optional and has a default.
7748
e4f6809b 77492009-10-26 Colin Watson <cjwatson@ubuntu.com>
7750
7751 Improve grub-mkconfig performance when there are several menu
7752 entries on a single filesystem.
7753
7754 * util/grub.d/10_linux.in (linux_entry): Cache the output of
7755 prepare_grub_to_access_device.
7756 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
7757 * util/grub.d/30_os-prober.in: Likewise.
7758
67937d4d 77592009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7760
7761 * util/grub.d/10_freebsd.in: Remove.
7762 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
7763 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
7764
ee3756cc 77652009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7766
5c35048e 7767 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 7768
4dea1c6f 77692009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7770
7771 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
7772 grub_util_error() call.
7773
042484d7 77742009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7775
7776 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
7777 `reserved_first_sector' member.
7778 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
7779 `reserved_first_sector' to 1.
7780 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
7781 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
7782 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
7783 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
7784 filesystems which begin at first sector.
7785 (options): New option --skip-fs-probe.
7786 (main): Handle --skip-fs-probe and pass it to setup().
7787
d64448a7 77882009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7789
7790 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
7791 (memset): Fix function prototype.
7792
508d42ec 77932009-10-25 Robert Millan <rmh.grub@aybabtu.com>
77942009-10-25 Vasily Averin <vvs@parallels.com>
7795
7796 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
7797 `dirent.direntlen == 0'.
7798
b240e30c 77992009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7800
7801 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
7802 `cpio'.
7803 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
7804
346e7fbe 78052009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7806
7807 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
7808 `__trampoline_setup' and `__ucmpdi2'.
7809 * include/grub/powerpc/libgcc.h: Only export symbols for functions
7810 that libgcc provides.
7811
cdb308b0 78122009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7813
7814 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
7815 * include/grub/sparc64/libgcc.h (memset): Likewise.
7816 * include/grub/misc.h (memset, memcmp): New function prototypes.
7817
fb26abc2 78182009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7819
7820 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
7821 `cpio'.
7822 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
7823
f6693890 78242009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7825
7826 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
7827 * docs/grub.cfg: Compensate for recent change in multiboot
7828 loader (since 2009-08-14 it won't pass filename to payload).
7829 * util/grub.d/10_hurd.in: Likewise.
7830
0933cdc0 78312009-10-21 Felix Zielcke <fzielcke@z-51.de>
7832
7833 * config.guess: Update to latest version from config git
7834 repository.
7835 * config.sub: Likewise.
7836
3b2fe8c2 78372009-10-20 Robert Millan <rmh.grub@aybabtu.com>
7838
7839 Fix build on sparc64.
7840
7841 * configure.ac: Perform checks for libgcc symbols before
7842 adding `-nostdlib' to LDFLAGS.
7843
46695a62 78442009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7845
7846 Let user specify OpenBSD root device.
7847
7848 * loader/i386/bsd.c (openbsd_root): New variable.
7849 (openbsd_opts): New option 'root'.
7850 (OPENBSD_ROOT_ARG): New macro.
7851 (grub_openbsd_boot): Use 'openbsd_root'.
7852 (grub_cmd_openbsd): Fill 'openbsd_root'.
7853
d2b6b7fc 78542009-10-16 Robert Millan <rmh.grub@aybabtu.com>
7855
7856 * NEWS: Misc adjustments.
7857
421bd7ac 78582009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7859
7860 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
7861
f1d29d87 78622009-10-16 Robert Millan <rmh.grub@aybabtu.com>
7863
7864 * configure.ac: Bump version to 1.97.
7865
6f3cd880 78662009-10-16 Colin Watson <cjwatson@ubuntu.com>
7867
7868 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
7869 -mno-3dnow on x86 architectures. Some toolchains enable these
7870 features by default, but they rely on registers that aren't enabled
7871 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
7872
035f7122 78732009-10-15 Robert Millan <rmh.grub@aybabtu.com>
7874
7875 Make entry text a bit more readable.
7876
7877 * util/grub.d/10_linux.in: Add `with' before `Linux'.
7878
44998e58 78792009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
7880
7881 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
7882
cd2851b3 78832009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
7884
7885 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
7886 operations.
7887
c6f3b249 78882009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
7889
7890 * configure.ac: Add missing dollar.
7891
6b5886ba 78922009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
7893
7894 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
7895
7896 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
7897 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
7898 exports.
7899 * include/grub/sparc64/libgcc.h: Likewise. Use
7900 preprocessor conditionals.
7901
e9d66f6d 79022009-10-14 Robert Millan <rmh.grub@aybabtu.com>
7903
7904 * conf/common.rmk (grub-dumpbios): Remove rule.
7905 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
7906 * util/grub-dumpbios.in: Remove file.
7907
9155bc17 79082009-10-14 Robert Millan <rmh.grub@aybabtu.com>
7909
7910 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
7911 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
7912
7913 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
7914 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
7915 users.
7916
7917 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
7918 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
7919 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
7920 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
7921 users.
7922
bf7f7a18 79232009-10-12 Robert Millan <rmh.grub@aybabtu.com>
7924
7925 * term/tparm.c: Switch to GPLv3.
7926
86564c26 79272009-10-09 Robert Millan <rmh.grub@aybabtu.com>
7928
7929 * include/grub/i386/cpuid.h: Add header protection.
7930
5c936493 79312009-10-09 Robert Millan <rmh.grub@aybabtu.com>
7932
7933 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
7934
7935 * include/grub/i386/cpuid.h: New file.
7936 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
7937 (has_longmode): Rename to ...
7938 (grub_cpuid_has_longmode): ... this. Update all users. Remove
7939 `static' attribute.
7940 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
7941 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
7942 on a CPU that doesn't implement AMD64 instruction set.
7943
186e7cf2 79442009-10-06 Colin Watson <cjwatson@ubuntu.com>
7945
7946 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
7947 that version.texi is rebuilt on version number changes.
7948
83b65c4a 79492009-10-06 Colin Watson <cjwatson@ubuntu.com>
7950
7951 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
7952 Fixes bug #27602.
7953
d244281c 79542009-10-06 Colin Watson <cjwatson@ubuntu.com>
7955
7956 * util/i386/pc/grub-install.in: Source
7957 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
7958 that the --grub-probe option will work.
7959 * util/sparc64/ieee1275/grub-install.in: Likewise.
7960
da25306d 79612009-10-05 Robert Millan <rmh.grub@aybabtu.com>
7962
7963 * configure.ac: Bump version to 1.97~beta4.
7964
e8ee83c0 79652009-10-03 Robert Millan <rmh.grub@aybabtu.com>
7966
7967 Resync grub-mkdevicemap in x86_64-efi.
7968
7969 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
7970 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
7971 `util/devicemap.c'.
7972
50dcabcf 79732009-10-01 Colin Watson <cjwatson@ubuntu.com>
7974
7975 * util/grub-editenv.c (create_envblk_file): Write new block with a
7976 .new suffix and then rename it into place, to ensure atomic
7977 creation.
7978
0e51c3a7 79792009-09-28 Robert Millan <rmh.grub@aybabtu.com>
7980
7981 Do not automatically install headers.
7982
7983 * Makefile.in (include_DATA): Remove. Update all users.
7984
31299a95 79852009-09-26 Robert Millan <rmh.grub@aybabtu.com>
7986
7987 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
7988 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
7989
7990 * util/osdetect.lua: Remove.
7991 * script/lua/lauxlib.c: Likewise.
7992 * script/lua/ldebug.c: Likewise.
7993 * script/lua/grub_main.c: Likewise.
7994 * script/lua/lauxlib.h: Likewise.
7995 * script/lua/ldebug.h: Likewise.
7996 * script/lua/ltablib.c: Likewise.
7997 * script/lua/liolib.c: Likewise.
7998 * script/lua/lstrlib.c: Likewise.
7999 * script/lua/lualib.h: Likewise.
8000 * script/lua/ldo.c: Likewise.
8001 * script/lua/ldump.c: Likewise.
8002 * script/lua/ldo.h: Likewise.
8003 * script/lua/loslib.c: Likewise.
8004 * script/lua/lundump.c: Likewise.
8005 * script/lua/grub_lib.c: Likewise.
8006 * script/lua/ldblib.c: Likewise.
8007 * script/lua/lundump.h: Likewise.
8008 * script/lua/lmem.c: Likewise.
8009 * script/lua/grub_lib.h: Likewise.
8010 * script/lua/lmathlib.c: Likewise.
8011 * script/lua/lstate.c: Likewise.
8012 * script/lua/ltm.c: Likewise.
8013 * script/lua/lvm.c: Likewise.
8014 * script/lua/lmem.h: Likewise.
8015 * script/lua/lstate.h: Likewise.
8016 * script/lua/ltm.h: Likewise.
8017 * script/lua/ltable.c: Likewise.
8018 * script/lua/lvm.h: Likewise.
8019 * script/lua/llex.c: Likewise.
8020 * script/lua/lgc.c: Likewise.
8021 * script/lua/grub_lua.h: Likewise.
8022 * script/lua/loadlib.c: Likewise.
8023 * script/lua/lfunc.c: Likewise.
8024 * script/lua/lopcodes.c: Likewise.
8025 * script/lua/lparser.c: Likewise.
8026 * script/lua/ltable.h: Likewise.
8027 * script/lua/llex.h: Likewise.
8028 * script/lua/lgc.h: Likewise.
8029 * script/lua/lfunc.h: Likewise.
8030 * script/lua/lbaselib.c: Likewise.
8031 * script/lua/lopcodes.h: Likewise.
8032 * script/lua/lparser.h: Likewise.
8033 * script/lua/lzio.c: Likewise.
8034 * script/lua/linit.c: Likewise.
8035 * script/lua/lobject.c: Likewise.
8036 * script/lua/llimits.h: Likewise.
8037 * script/lua/lstring.c: Likewise.
8038 * script/lua/lzio.h: Likewise.
8039 * script/lua/lapi.c: Likewise.
8040 * script/lua/lcode.c: Likewise.
8041 * script/lua/lua.h: Likewise.
8042 * script/lua/lobject.h: Likewise.
8043 * script/lua/lstring.h: Likewise.
8044 * script/lua/lapi.h: Likewise.
8045 * script/lua/lcode.h: Likewise.
8046 * script/lua/luaconf.h: Likewise.
8047
cb8a2c38 80482009-09-26 Colin Watson <cjwatson@ubuntu.com>
8049
8050 * docs/grub.texi (Command-line and menu entry commands): Document
8051 date and echo commands.
8052
6b9b6276 80532009-09-24 Pavel Roskin <proski@gnu.org>
8054
8055 * include/grub/kernel.h (struct grub_module_header): Remove
8056 `grub_module_header_types'. Make `type' unsigned. Make `size'
8057 32-bit on all platforms.
8058 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
8059 8-bit field. Use grub_host_to_target32() for `size'.
8060 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
8061 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
8062 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
8063
4e5a02a7 80642009-09-24 Robert Millan <rmh.grub@aybabtu.com>
8065
8066 Fix "lost keypress" bug in at_keyboard.
8067
8068 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
8069 Checks for readyness of input buffer (without flushing it).
8070 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
8071 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
8072
c6dcedf6 80732009-09-24 Robert Millan <rmh.grub@aybabtu.com>
8074
8075 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
8076 size check within GRUB_MACHINE_PCBIOS section.
8077
74c958b1 80782009-09-24 Robert Millan <rmh.grub@aybabtu.com>
8079
8080 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
8081 return value.
8082 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
8083 KEYBOARD_ISREADY check.
8084 (grub_at_keyboard_checkkey): Rename to ...
8085 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
8086 Remove gratuitous cast.
8087
ff420223 80882009-09-23 Colin Watson <cjwatson@ubuntu.com>
8089
8090 * configure.ac: Call AC_PROG_MKDIR_P.
8091 * Makefile.in (docs/stamp-vti): Create docs directory. Create
8092 version.texi in $(builddir) rather than $(srcdir).
8093 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
8094 to makeinfo's @include search path.
8095
d96875df 80962009-09-23 Felix Zielcke <fzielcke@z-51.de>
8097
8098 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
8099
9b3f8365 81002009-09-23 Felix Zielcke <fzielcke@z-51.de>
8101
8102 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
8103 for `*.dpkg-new'.
8104
c44c90db 81052009-09-21 Colin Watson <cjwatson@ubuntu.com>
8106
8107 Build info documentation. Some code borrowed from Automake.
8108
8109 * configure.ac: Check for makeinfo.
8110 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
8111 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
8112 docs/version.texi.
8113 (MOSTLYCLEANFILES): Add vti.tmp.
8114 (docs/version.texi, docs/stamp-vti): Update automatically.
8115 (docs/grub.info): Build info documentation. Use --force and ignore
8116 errors for now.
8117 (all-local): Add $(INFOS).
8118 (install-local): Install info files.
8119 (uninstall): Uninstall info files.
8120 * docs/version.texi: Remove from revision control. This file is
8121 automatically generated on build now.
8122 * gendistlist.sh: Add `*.info'.
8123
e0b37bb5 81242009-09-21 Felix Zielcke <fzielcke@z-51.de>
8125
8126 * kern/term.c: Fix indentation.
8127
5a78865b 81282009-09-21 Felix Zielcke <fzielcke@z-51.de>
8129
8130 * util/hostdisk.c: Fix a comment.
8131
dace7e8a 81322009-09-20 Robert Millan <rmh.grub@aybabtu.com>
8133
8134 Fix regression introduced in r2539.
8135
8136 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
8137 to 0xA1.
8138
a83d079b 81392009-09-19 Colin Watson <cjwatson@ubuntu.com>
8140
8141 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 8142 os-prober. Under normal operation, it does not print anything to
8143 stderr; if it does, we need to debug it, and throwing away stderr
8144 makes that excessively difficult.
a83d079b 8145
be94a509 81462009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
8147
8148 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
8149
63f745e8 81502009-09-16 Robert Millan <rmh.grub@aybabtu.com>
8151
8152 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
8153 AC_LANG_PROGRAM from autoconf.
8154 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
8155 prototypes (fixes warning).
8156
8157 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
8158 `--disable-werror' was used.
8159
bbb2a70f 81602009-09-16 Robert Millan <rmh.grub@aybabtu.com>
8161
8162 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
8163 uninitialized `lastaddr'.
8164
77c24f1d 81652009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
8166
0f0b8c87 8167 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 8168
07197f23 81692009-09-14 Colin Watson <cjwatson@ubuntu.com>
8170
8171 * commands/test.c (get_fileinfo): Return immediately if
8172 grub_fs_probe fails.
8173
dabf1798 81742009-09-14 José Martínez <xosemp@gmail.com>
8175
8176 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
8177
d52109a7 81782009-09-14 Colin Watson <cjwatson@ubuntu.com>
8179
8180 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
8181 output.
8182
56532179 81832009-09-13 Robert Millan <rmh.grub@aybabtu.com>
8184
8185 * configure.ac: Remove --enable-grub-pe2elf. Only build
8186 grub-pe2elf when needed by the build system itself.
8187 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
8188
8ef070f5 81892009-09-12 Robert Millan <rmh.grub@aybabtu.com>
8190
8191 * configure.ac: Bump version to 1.97~beta3.
8192 * docs/version.texi: Likewise.
8193
61229557 81942009-09-12 Robert Millan <rmh.grub@aybabtu.com>
8195
8196 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
8197 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
8198 from here ...
8199 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
8200 (grub_linux_setup_video): ... to here (with some adjustments).
8201
5c9f8d84 82022009-09-12 Robert Millan <rmh.grub@aybabtu.com>
8203
8204 Fix memory corruption issue (spotted by Colin Watson).
8205
8206 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
8207 causing returned size to be stored in an incorrect memory location.
8208 Fix use of uninitialized value when storing the returned size.
8209
e8f5d6e9 82102009-09-12 Yves Blusseau <blusseau@zetam.org>
8211
8212 Change clean rules to properly remove files
8213
8214 * genmk.rb: add new clean rules
8215 * Makefile.in (clean): add the new targets
8216 (mostlyclean): likewise
8217
cda2a409 82182009-09-11 Colin Watson <cjwatson@ubuntu.com>
8219
8220 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
8221 to grub_uint64_t.
8222 * fs/ntfs.c (init_file): Understand 64-bit sizes for
8223 non-resident files.
8224
86695375 82252009-09-11 Colin Watson <cjwatson@ubuntu.com>
8226
8227 * configure.ac: Don't look for help2man when cross-compiling. Fixes
8228 part of bug #27349.
8229
8aa1541a 82302009-09-10 Felix Zielcke <fzielcke@z-51.de>
8231
8232 * util/grub-mkconfig.in: Make the created config mode 400 and
8233 print a warning if it fails.
8234
48d9bb0a 82352009-09-10 Robert Millan <rmh.grub@aybabtu.com>
8236
8237 * util/grub.d/40_custom.in: Ask user to type custom entries below
8238 comment, rather than below 'exec tail' line.
8239
3b0521be 82402009-09-10 Colin Watson <cjwatson@ubuntu.com>
8241
8242 * util/grub.d/40_custom.in: Make sure that the explanatory text is
8243 visible in grub.cfg.
8244
50051d55 82452009-09-10 Colin Watson <cjwatson@ubuntu.com>
8246
8247 * util/grub.d/40_custom.in: Make it a little clearer how to use this
8248 file.
8249
c0d34387 82502009-09-10 Felix Zielcke <fzielcke@z-51.de>
8251
8252 * docs/grub.cfg: Add an example menu entry for memtest86+.
8253
80a608f3 82542009-09-09 Felix Zielcke <fzielcke@z-51.de>
8255
a2094832 8256 * config.guess: Update to latest version from config git.
80a608f3 8257 * config.sub: Likewise.
8258
99423078 82592009-09-08 Colin Watson <cjwatson@ubuntu.com>
8260
8261 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
8262 unknown-command case. Fixes bug #27320.
8263
44454e4c 82642009-09-08 Felix Zielcke <fzielcke@z-51.de>
8265
8266 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
8267 `help' if the command exists.
8268
e30d87ad 82692009-09-06 Robert Millan <rmh.grub@aybabtu.com>
8270
8271 * INSTALL: Require GCC 4.1.3 or later.
8272
9a86f1ec 82732009-09-06 Yves Blusseau <blusseau@zetam.org>
8274
8275 * Makefile.in (RMKFILES): add i386-qemu.rmk
8276 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
8277 $(srcdir)/stamp-h.in
8278
7f26d466 82792009-09-05 Robert Millan <rmh.grub@aybabtu.com>
8280
8281 * util/grub-probe.c (probe): Comment out buggy codepath, which
8282 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
8283 should be re-enabled after 1.97.
8284
3a613259 82852009-09-05 Felix Zielcke <fzielcke@z-51.de>
8286
8287 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
8288 find searches for.
8289
197f76c7 82902009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
8291
8292 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
8293 unnecessary calls to grub_error.
8294
70ba68ce 82952009-09-04 Colin Watson <cjwatson@ubuntu.com>
8296
8297 * NEWS: Mention `keystatus' and Unicode fonts.
8298
4ff0d7a4 82992009-09-04 Robert Millan <rmh.grub@aybabtu.com>
8300
8301 * configure.ac: Bump version to 1.97~beta2.
8302 * docs/version.texi: Likewise.
8303
77c55a87 83042009-09-03 Colin Watson <cjwatson@ubuntu.com>
8305
8306 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
8307 containing unwind information in some cases where it previously did
8308 not. Use -fno-dwarf2-cfi-asm if available to restore the old
8309 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
8310 discussion.
8311
f79572cd 83122009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
8313
8314 Embedding loadenv module into grub-emu
8315
8316 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
8317 commands/loadenv.c
8318 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
8319 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
8320 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
8321 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
8322 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
8323 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
8324
93a81088 83252009-09-03 Magnus Granberg <zorry@ume.nu>
8326
8327 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
8328 include -fPIE in the default specs.
8329 * configure.ac: Check if pie_possible is yes and add -fno-PIE
8330 to TARGET_CFLAGS.
8331
160034b2 83322009-09-03 Felix Zielcke <fzielcke@z-51.de>
8333
8334 * INSTALL: Note that GNU Bison 2.3 or later is required.
8335
087c07c4 83362009-09-03 Colin Watson <cjwatson@ubuntu.com>
8337
8338 * kern/i386/pc/startup.S: Fix typo.
8339
cbf978c0 83402009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8341
8342 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
8343 according to GCS.
8344
83452009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 8346
8347 * docs/grub.texi (Naming convention): Describe one-based partition
8348 numbering.
8349 (Device syntax): Likewise.
8350 (File name syntax): Likewise.
8351 (Block list syntax): Likewise.
8352 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
8353 menu.lst.
8354 (File name syntax): Likewise.
8355 (Command-line and menu entry commands): Document acpi, blocklist,
8356 crc, export, insmod, keystatus, ls, set, and unset commands.
8357
f3e8cdfd 83582009-09-02 Colin Watson <cjwatson@ubuntu.com>
8359
8360 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
8361 to avoid implying that only one of --shift, --ctrl, or --alt may be
8362 used.
8363
c0bc232b 83642009-09-02 Colin Watson <cjwatson@ubuntu.com>
8365
8366 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
8367 rather than comparing against S_IFREG, which will almost never work.
8368
aa0f752d 83692009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
8370
8371 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
8372 (write_blocklists): Likewise.
8373
ecb3166a 83742009-09-01 Colin Watson <cjwatson@ubuntu.com>
8375
8376 * script/lua/grub_lua.h (fputs): Supply a format string as the first
8377 argument to grub_printf.
8378
c403a125 83792009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 8380
8381 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 8382 non GNU test.
31aba781 8383
b5e7312c 83842009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8385
8386 * kern/file.c (grub_file_read): Spelling fix
8387
fe00f472 83882009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8389
8390 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
8391 loading of headers in some cases.
8392
cc55302e 83932009-08-30 Robert Millan <rmh.grub@aybabtu.com>
8394
8395 * configure.ac: Bump version to 1.97~beta1.
8396 * docs/version.texi: Likewise.
8397
5c90cdd2 83982009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 8399
8400 * include/grub/i386/xnu.h: Add license header.
8401 include grub/err.h explicitly.
8402
c90edae4 84032009-08-29 Robert Millan <rmh.grub@aybabtu.com>
8404
8405 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
8406 to `ufs' in the vfs.root.mountfrom kernel parameter.
8407
d8888b5c 84082009-08-29 Robert Millan <rmh.grub@aybabtu.com>
8409
8410 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
8411
8412 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
8413 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
8414
8415 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
8416 `ARRAY_SIZE' macro.
8417
6f07b921 84182009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8419
8420 * kern/file.c (grub_file_read): Check offset.
8421 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
8422 * fs/jfs.c (grub_jfs_read_file): Likewise.
8423 * fs/ntfs.c (grub_ntfs_read): Likewise.
8424 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
8425 * fs/minix.c (grub_minix_read_file): Correct offset check.
8426 * fs/ufs.c (grub_ufs_read_file): Likewise.
8427
b4f34077 84282009-08-28 Colin Watson <cjwatson@ubuntu.com>
8429
8430 * term/i386/pc/console.c (bios_data_area): Cast
8431 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
8432
e7c69859 84332009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8434
8435 1-bit optimised blitters.
8436
8437 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
8438 prototype.
8439 (grub_video_fbblit_replace_24bit_1bit): Likewise.
8440 (grub_video_fbblit_replace_16bit_1bit): Likewise.
8441 (grub_video_fbblit_replace_8bit_1bit): Likewise.
8442 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
8443 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
8444 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
8445 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
8446 function.
8447 (grub_video_fbblit_replace_24bit_1bit): Likewise.
8448 (grub_video_fbblit_replace_16bit_1bit): Likewise.
8449 (grub_video_fbblit_replace_8bit_1bit): Likewise.
8450 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
8451 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
8452 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
8453 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
8454 when possible.
8455 * video/video.c (grub_video_get_blit_format): Return
8456 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
8457
a57da43f 84582009-08-28 Colin Watson <cjwatson@ubuntu.com>
8459
8460 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
8461 the first argument to grub_printf.
8462
4cbe67e5 84632009-08-28 Colin Watson <cjwatson@ubuntu.com>
84642009-08-28 Robert Millan <rmh.grub@aybabtu.com>
8465
8466 Add `getkeystatus' terminal method. Add a new `keystatus' command
8467 to query it.
8468
8469 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
8470 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
8471 modifier key bitmasks.
8472 (struct grub_term_input): Add `getkeystatus' member.
8473 (grub_getkeystatus): Add prototype.
8474 * kern/term.c (grub_getkeystatus): New function.
8475
8476 * include/grub/i386/pc/memory.h
8477 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
8478 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
8479 Data Area layout.
8480 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
8481 (grub_console_term_input): Set `getkeystatus' member.
8482 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
8483 constants.
8484 (grub_usb_keyboard_getreport): Likewise.
8485 (grub_usb_keyboard_checkkey): Likewise.
8486 (grub_usb_keyboard_getkeystatus): New function.
8487 (grub_usb_keyboard_term): Set `getkeystatus' member.
8488
8489 * commands/keystatus.c: New file.
8490 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
8491 (keystatus_mod_SOURCES): New variable.
8492 (keystatus_mod_CFLAGS): Likewise.
8493 (keystatus_mod_LDFLAGS): Likewise.
8494 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
8495 commands/keystatus.c.
8496 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
8497 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8498 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
8499 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8500 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8501 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 8502
6e2a9085 85032009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8504
8505 Split befs.mod and afs.mod into *_be.mod and *.mod
8506
8507 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
8508 (grub_fstest_SOURCES): Likewise.
8509 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
8510 (afs_be_mod_SOURCES): New variable.
8511 (afs_be_mod_CFLAGS): Likewise.
8512 (afs_be_mod_LDFLAGS): Likewise.
8513 (befs_be_mod_SOURCES): Likewise.
8514 (befs_be_mod_CFLAGS): Likewise.
8515 (befs_be_mod_LDFLAGS): Likewise.
8516 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
8517 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
8518 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8519 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
8520 (grub_emu_SOURCES): Likewise.
8521 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8522 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8523 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8524 * fs/afs_be.c: New file.
8525 * fs/befs_be.c: New file.
8526 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
8527 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
8528 (U16): Replaced with ...
8529 (grub_afs_to_cpu16): ...this. All users updated.
8530 (U32): Replaced with ...
8531 (grub_afs_to_cpu32): ...this. All users updated.
8532 (U64): Replaced with ...
8533 (grub_afs_to_cpu64): ...this. All users updated.
8534 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
8535 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 8536 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 8537 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
8538 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
8539 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
8540 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
8541 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
8542 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
8543 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
8544 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
8545
32a71655 85462009-08-26 Bean <bean123ch@gmail.com>
8547
8548 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
8549 64-bit number.
8550 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
8551 (grub_xfs_inode_block): Change return type to grub_uint64_t.
8552 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
8553
552bf6c5 85542009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
8555
8556 NetBSD memory map support.
8557
8558 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
8559 (grub_netbsd_btinfo_mmap_header): New structure.
8560 (grub_netbsd_btinfo_mmap_entry): Likewise.
8561 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
8562
1ae2078c 85632009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
8564
8565 Enable bsd.mod on coreboot.
8566
8567 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
8568 (bsd_mod_SOURCES): New variable.
8569 (bsd_mod_CFLAGS): Likewise.
8570 (bsd_mod_LDFLAGS): Likewise.
8571 (bsd_mod_ASFLAGS): Likewise.
8572 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
8573 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
8574
beefc598 85752009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
8576
8577 Cleanup NetBSD root support.
8578
8579 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
8580 grub_bsd_get_device.
8581 Fix typo.
8582
3b76e68b 85832009-08-25 Felix Zielcke <fzielcke@z-51.de>
8584
8585 * util/grub.d/00_header.in: Move check for the video backend of
8586 gfxterm from here ...
8587 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
8588 a suitable video backend.
8589
aea664ea 85902009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
8591
8592 Fix breakage in grub-setup.
8593
8594 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
8595 "msdos_partition_map".
8596
ff747d50 85972009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
8598
8599 Fix breakage in normal/auth.c.
8600
8601 * normal/auth.c (grub_iswordseparator): New function.
8602
e7e1f93f 86032009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
8604
8605 Authentication support.
8606
8607 * commands/password.c: New file.
8608 * conf/common.rmk (pkglib_MODULES): Add password.mod.
8609 (password_mod_SOURCES): New variable.
8610 (password_mod_CFLAGS): Likewise.
8611 (password_mod_LDFLAGS): Likewise.
8612 (normal_mod_SOURCES): Add normal/auth.c.
8613 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
8614 normal/auth.c.
8615 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
8616 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8617 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
8618 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8619 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8620 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8621 * include/grub/auth.h: New file.
8622 * include/grub/err.h (grub_err_t): New enum value
8623 GRUB_ERR_ACCESS_DENIED.
8624 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
8625 'users'.
8626 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
8627 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
8628 users updated.
8629 * normal/auth.c: New file.
8630 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
8631 (grub_cmdline_run): Don't allow to go to command line without
8632 authentication.
8633 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
8634 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
8635 menuentry without superuser rights.
8636 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
8637 user isn't a superuser.
8638
70f1161d 86392009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8640
8641 Save space by inlining misc.c functions.
8642
8643 * kern/misc.c (grub_iswordseparator): Made static.
8644 * kern/misc.c (grub_strcat): Moved from here ...
8645 * include/grub/misc.h (grub_strcat): ... here. Inlined.
8646 * kern/misc.c (grub_strncat): Moved from here ...
8647 * include/grub/misc.h (grub_strncat): ... here. Inlined.
8648 * kern/misc.c (grub_strcasecmp): Moved from here ...
8649 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
8650 * kern/misc.c (grub_strncasecmp): Moved from here ...
8651 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
8652 * kern/misc.c (grub_isalpha): Moved from here ...
8653 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
8654 * kern/misc.c (grub_isdigit): Moved from here ...
8655 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
8656 * kern/misc.c (grub_isgraph): Moved from here ...
8657 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
8658 * kern/misc.c (grub_tolower): Moved from here ...
8659 * include/grub/misc.h (grub_tolower): ... here. Inlined.
8660
48e40bff 86612009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8662
8663 * script/sh/function.c (grub_script_function_find): Cut error message
8664 not to flood terminal.
8665 * script/sh/lexer.c (grub_script_yylex): Remove command line length
8666 limit.
8667 * script/sh/script.c (grub_script_arg_add): Duplicate string.
8668
c385bfc3 86692009-08-24 Colin Watson <cjwatson@ubuntu.com>
8670
8671 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
8672 `report' grub_uint8_t *.
8673 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
8674 Use a 50-millisecond timeout rather than just repeating
8675 grub_usb_keyboard_getreport 50 times.
8676 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
8677
2d21e3e8 86782009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8679
8680 Rename *_partition_map to part_*
8681
8682 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
8683 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
8684 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
8685 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
8686 All users updated.
8687 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
8688 All users updated.
8689 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
8690 * util/grub-probe.c (probe_partmap): Don't transform partition name
8691 to get module name.
8692
dd103c4e 86932009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8694
8695 Fix OpenBSD and NetBSD support.
8696
8697 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
8698 memory address conflict.
8699 (OPENBSD_MMAP_ACPI): New definition.
8700 (OPENBSD_MMAP_NVS): Likewise.
8701 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
8702 and OPENBSD_MMAP_NVS.
8703 Add memory map terminator
8704 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 8705 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 8706
16c84d74 87072009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8708
8709 Let user specify NetBSD root device.
8710
8711 * loader/i386/bsd.c (netbsd_root): New variable.
8712 (netbsd_opts): New option 'root'.
8713 (NETBSD_ROOT_ARG): New macro.
8714 (grub_netbsd_boot): Use 'netbsd_root'.
8715 (grub_bsd_unload): Free 'netbsd_root'.
8716 (grub_cmd_netbsd): Fill 'netbsd_root'.
8717
adb29902 87182009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8719
8720 Support for 64-bit NetBSD.
8721
8722 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
8723 point when booting non-FreeBSD.
8724
f5ae9f74 87252009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8726
8727 Support --no-smp and --no-acpi for NetBSD.
8728
8729 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
8730 (NETBSD_AB_NOACPI): Likewise.
8731 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
8732 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
8733
de74f136 87342009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8735
8736 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
8737 errors.
8738 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
8739 errors. Call grub_error when needed.
8740
e9a925da 87412009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8742
8743 * commands/search.c (search_fs): Try searching without autoload first.
8744 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
8745 filesystem module explicitly for faster booting.
8746
5174302b 87472009-08-23 Colin Watson <cjwatson@ubuntu.com>
8748
8749 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
8750
c8c80635 87512009-08-23 Colin Watson <cjwatson@ubuntu.com>
8752
8753 * util/grub.d/30_os-prober.in: Disable os-prober if
8754 `GRUB_DISABLE_OS_PROBER' was set to true.
8755
71acf5e5 87562009-08-23 Robert Millan <rmh.grub@aybabtu.com>
8757
8758 * partmap/pc.c: Rename to ...
8759 * partmap/msdos.c: ... this. Update all users.
8760 (grub_pc_partition_map): Rename to ...
8761 (grub_msdos_partition_map): ... this. Update all users.
8762
8763 * parttool/pcpart.c: Rename to ...
8764 * parttool/msdospart.c: ... this. Update all users.
8765
8766 * include/grub/pc_partition.h: Rename to ...
8767 * include/grub/msdos_partition.h: ... this. Update all users.
8768 (grub_pc_partition_bsd_entry): Rename to ...
8769 (grub_msdos_partition_bsd_entry): ... this. Update all users.
8770 (grub_pc_partition_disk_label): Rename to ...
8771 (grub_msdos_partition_disk_label): ... this. Update all users.
8772 (grub_pc_partition_entry): Rename to ...
8773 (grub_msdos_partition_entry): ... this. Update all users.
8774 (grub_pc_partition_mbr): Rename to ...
8775 (grub_msdos_partition_mbr): ... this. Update all users.
8776 (grub_pc_partition): Rename to ...
8777 (grub_msdos_partition): ... this. Update all users.
8778 (grub_pc_partition_is_empty): Rename to ...
8779 (grub_msdos_partition_is_empty): ... this. Update all users.
8780 (grub_pc_partition_is_extended): Rename to ...
8781 (grub_msdos_partition_is_extended): ... this. Update all users.
8782 (grub_pc_partition_is_bsd): Rename to ...
8783 (grub_msdos_partition_is_bsd): ... this. Update all users.
8784
8785 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
8786 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
8787 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
8788 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
8789 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
8790 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
8791 (gpt_mod_LDFLAGS): Rename to ...
8792 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
8793 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
8794 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
8795 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
8796 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
8797 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
8798 (part_gpt_mod_LDFLAGS): ... this.
8799 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
8800 `pcpart.mod' to `msdospart.mod'.
8801 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
8802 to ...
8803 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
8804 (msdospart_mod_LDFLAGS): ... this.
8805
c11fded5 88062009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8807
8808 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
8809 (openbsd_opts): Likewise.
8810 (netbsd_opts): Likewise.
8811 (freebsd_flags): Added 0 terminator.
8812 (openbsd_flags): Likewise.
8813 (netbsd_flags): Likewise.
8814 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
8815 (grub_cmd_freebsd): Transformed into extended command.
8816 (grub_cmd_openbsd): Likewise.
8817 (grub_cmd_netbsd): Likewise.
8818 (cmd_freebsd): Changed type to grub_extcmd_t.
8819 (cmd_openbsd): Likewise.
8820 (cmd_netbsd): Likewise.
8821 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
8822 grub_cmd_openbsd as extended commands.
8823 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
8824 cmd_netbsd and cmd_openbsd
8825
11d1c769 88262009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
8827
8828 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
8829
7a9094e5 88302009-08-21 Pavel Roskin <proski@gnu.org>
8831
5496c37e 8832 * Makefile.in (install-local): When checking if a file is in the
8833 build directory, use "test -e" to detect symlinks.
8834
7a9094e5 8835 * Makefile.in (install-local): Remove all files in
8836 $(DESTDIR)$(pkglibdir) before installing new files there.
8837
e53cea11 88382009-08-18 Felix Zielcke <fzielcke@z-51.de>
8839
8840 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
8841 grub-mkelfimage.
8842
9aced544 88432009-08-18 Felix Zielcke <fzielcke@z-51.de>
8844
8845 * util/grub-mkconfig.in: Don't use gfxterm by default if not
8846 explicitly specified by the user.
8847
b7da6bab 88482009-08-18 Pavel Roskin <proski@gnu.org>
8849
8850 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
8851 grub_uint8_t pointer for data.
8852 * include/grub/fbutil.h (struct grub_video_fbblit_info):
8853 Likewise.
8854 * video/fb/fbutil.c: Remove unnecessary casts.
8855
19f1b335 88562009-08-17 Michal Suchanek <hramrach@centrum.cz>
8857
8858 VBE cleanup.
8859
8860 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
8861 (grub_vbe_set_video_mode): Save active mode info
8862 only after setting the mode.
8863 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
8864 second argument.
8865
2f467aa9 88662009-08-17 Michal Suchanek <hramrach@centrum.cz>
8867
8868 Rename variables for clarity.
8869
8870 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
8871 (active_vbe_mode_info): ... this. All users updated.
8872 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
8873 All users updated.
8874 (initial_mode): Rename to ...
8875 (initial_vbe_mode): ... this. All users updated.
8876 (mode_in_use): Rename to ..
8877 (vbe_mode_in_use): ... this. All users updated.
8878 (mode_list): Rename to ..
8879 (vbe_mode_list): ... this. All users updated.
8880 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
8881 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
8882 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
8883 'mode_list_size' to 'vbe_mode_list_size'.
8884 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
8885 'best_mode_info' to 'best_vbe_mode_info' and
8886 'best_mode' to 'best_vbe_mode'
8887
6025fcd7 88882009-08-17 Michal Suchanek <hramrach@centrum.cz>
8889
8890 Remove duplicate grub_video_fb_get_video_ptr.
8891
8892 * include/grub/fbutil.h (get_data_ptr): Rename to ...
8893 (grub_video_fb_get_video_ptr): ... this.
8894 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
8895 * video/fb/fbutil.c: Add comment about addressing.
8896 (get_data_ptr): Rename to ...
8897 (grub_video_fb_get_video_ptr): ... this. All users updated.
8898 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
8899
cc8c6faf 89002009-08-17 Robert Millan <rmh.grub@aybabtu.com>
8901
8902 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
8903 grub_dprintf() that was just added.
8904
08aa61f0 89052009-08-17 Robert Millan <rmh.grub@aybabtu.com>
8906
8907 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
8908 (DEFAULT_VIDEO_MODE): Remove macros.
8909 (grub_linux_boot): Remove assumption that Linux has FB support,
8910 and use "text" as default video mode.
8911
7cef4f75 89122009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
8913
8914 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
8915 grub_dprintf.
8916 * fs/fat.c (grub_fat_read_data): Likewise.
8917
e1f39873 89182009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
8919
8920 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
8921 payload.
8922 (grub_module): Likewise.
8923
c166d79e 89242009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
8925
8926 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
8927 mbi->cmdline but free playground.
8928
c60cee8e 89292009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
8930
8931 Handle group offset on UFS1.
8932
8933 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
8934 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
8935
c0d8b5d4 89362009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
8937
8938 Split ufs.mod into ufs1.mod and ufs2.mod.
8939
8940 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
8941 (grub_fstest_SOURCES): Likewise.
8942 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
8943 (ufs_mod_SOURCES): Remove.
8944 (ufs_mod_CFLAGS): Likewise.
8945 (ufs_mod_LDFLAGS): Likewise.
8946 (ufs1_mod_SOURCES): New variable.
8947 (ufs1_mod_CFLAGS): Likewise.
8948 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 8949 (ufs2_mod_SOURCES): New variable.
8950 (ufs2_mod_CFLAGS): Likewise.
8951 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 8952 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
8953 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
8954 Likewise.
8955 (grub_emu_SOURCES): Likewise.
8956 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8957 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
8958 (grub_setup_SOURCES): Likewise.
8959 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8960 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
8961 (grub_setup_SOURCES): Likewise.
8962 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
8963 Likewise.
8964 * fs/ufs2.c: New file.
8965 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
8966
d3539132 89672009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
8968
8969 Framebuffer split.
8970
8971 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
8972 subsystem at the end.
8973 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
8974 (video_fb_mod_SOURCES): New variable.
8975 (video_fb_mod_CFLAGS): Likewise.
8976 (video_fb_mod_LDFLAGS): Likewise.
8977 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
8978 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
8979 * video/i386/pc/vbeblit.c: Moved from here ...
8980 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
8981 * video/i386/pc/vbefill.c: Moved from here ...
8982 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
8983 * video/i386/pc/vbeutil.c: Moved from here ...
8984 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
8985 * include/grub/i386/pc/vbeblit.h: Moved from here ...
8986 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
8987 * include/grub/i386/pc/vbefill.h: Moved from here ...
8988 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
8989 * include/grub/i386/pc/vbeutil.h: Moved from here ...
8990 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
8991 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
8992 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
8993 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
8994 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
8995 (grub_video_adapter): Added 'get_info_and_fini'.
8996 (grub_video_get_info_and_fini): New prototype.
8997 (grub_video_set_mode): make modestring const char *.
8998 * loader/i386/linux.c (grub_linux_setup_video): Use
8999 grub_video_get_info_and_fini.
9000 (grub_linux_boot): Move modesetting just before booting.
9001 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
9002 grub_video_get_info_and_fini.
9003 * video/i386/pc/vbe.c: Moved framebuffer part ...
9004 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
9005 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
9006 grub_video_fbstd_colors and grub_video_fb_set_palette.
9007 (grub_video_vbe_init): Clear 'framebuffer' variable and use
9008 grub_video_fb_init.
9009 (grub_video_vbe_fini): Use grub_video_fb_fini.
9010 (grub_video_vbe_setup): Use framebuffer.render_target instead of
9011 render_target and use grub_video_fb_set_active_render_target and
9012 grub_video_fb_set_palette.
9013 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
9014 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
9015 (grub_video_vbe_adapter): Use framebuffer.
9016 * video/video.c (grub_video_get_info_and_fini): New function.
9017 (grub_video_set_mode): Make modestring const char *.
9018 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
9019 values are already initialised.
9020
d404ee56 90212009-08-14 Pavel Roskin <proski@gnu.org>
9022
9023 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
9024 ABS and APPLE_CC.
9025 * boot/i386/pc/diskboot.S: Likewise.
9026 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
9027 sectors allow compilation on MacOSX.
9028 * conf/i386-pc.rmk: Enable unconditional compilation of
9029 lnxboot.img.
9030
9a10df16 90312009-08-13 Colin Watson <cjwatson@ubuntu.com>
9032
9033 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
9034 * util/grub.d/00_header.in: Enter interruptible sleep if
9035 GRUB_HIDDEN_TIMEOUT is set.
9036
be3c9ca7 90372009-08-13 Yves Blusseau <blusseau@zetam.org>
9038
9039 * include/grub/symbol.h: Add the LOCAL macro.
9040 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
9041 starting with "L_".
9042
1f9e557e 90432009-08-13 Pavel Roskin <proski@gnu.org>
9044
9ca62843 9045 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
9046 any modern compilers we support.
9047
1f9e557e 9048 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
9049 Use local labels starting with "L_" so that Apple assembler
9050 knows they are local.
9051
81623db6 90522009-08-10 Robert Millan <rmh.grub@aybabtu.com>
9053
9054 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
9055 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
9056 (bsd_kernel_types): ... this enum.
9057
9058 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
9059 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
9060 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
9061
9062 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
9063 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
9064 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
9065 messages.
9066
f5d35e7a 90672009-08-08 Robert Millan <rmh.grub@aybabtu.com>
9068
9069 * util/grub-dumpdevtree: Moved from here ...
9070 * util/i386/efi/grub-dumpdevtree: ... to here.
9071 (hexify): New function. Converts a string to its hex version.
9072 Generate hex versions of "efi" and "device-properties" by calling
9073 hexify() on the ASCII strings rather than by hardcoding numbers.
9074
d1e1d527 90752009-08-08 Robert Millan <rmh.grub@aybabtu.com>
9076
9077 * fs/jfs.c: Update copyright year.
9078
1ebbe064 90792009-08-08 Felix Zielcke <fzielcke@z-51.de>
9080
9081 * util/grub.d/00_header.in: Fix a comment.
9082 * util/grub.d/10_linux.in: Likewise.
9083 * util/grub.d/10_windows.in: Likewise.
9084 * util/grub.d/10_hurd.in: Likewise.
9085
a78c8d24 90862009-08-08 Felix Zielcke <fzielcke@z-51.de>
9087
9088 * util/grub-mkconfig.in: Allow the user to specify the used font
9089 with GRUB_FONT.
9090
29a6b9e8 90912009-08-08 Pavel Roskin <proski@gnu.org>
9092
b5f16cc4 9093 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
9094 available, xfs.mod needs it now.
9095
2f5cb827 9096 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
9097 the "g" modifier in sed when the intention is to strip something
9098 once. This fixes comparison of kernels with multiple dashes.
9099
29a6b9e8 9100 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
9101 on it. Add missing space before closing bracket. Fix
9102 misleading formatting.
9103
892a3d98 91042009-08-07 Robert Millan <rmh.grub@aybabtu.com>
9105
9106 * docs/grub.texi: Major overhaul. Remove all sections that are
9107 specific to GRUB Legacy, or mostly composed of Legacy-specific
9108 information.
9109
ed94253f 91102009-08-07 Robert Millan <rmh.grub@aybabtu.com>
9111
9112 * docs/version.texi: New file. Provides version information for
9113 grub.texi.
9114
126d6628 91152009-08-07 Robert Millan <rmh.grub@aybabtu.com>
9116
9117 * docs/grub.texi: Update CVS information to SVN.
9118 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
9119
998b5aa9 91202009-08-07 Felix Zielcke <fzielcke@z-51.de>
9121
9122 * util/grub-mkconfig.in: Remove a wrong `fi'.
9123
818e094a 91242009-08-07 Felix Zielcke <fzielcke@z-51.de>
9125
9126 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
9127 (grub_jfs_uuid): New function.
9128 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
9129
b969c52f 91302009-08-07 Felix Zielcke <fzielcke@z-51.de>
9131
9132 * util/grub-mkconfig_lib.in (font_path): Move the functionality
9133 of it to ...
9134 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
9135 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
9136
7a4894cc 91372009-08-07 Robert Millan <rmh.grub@aybabtu.com>
9138
9139 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
9140 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
9141 Update all users.
9142
9143 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
9144 not just "vmlinu[zx]".
9145 Moved from here ...
9146 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
9147 all users.
9148
9149 * util/grub.d/10_linux.in (find_latest): Moved from here ...
9150 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
9151 all users.
9152
4e2171f8 91532009-08-07 Robert Millan <rmh.grub@aybabtu.com>
9154
9155 * util/grub.d/10_freebsd.in: Use an absolute device path for
9156 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
9157
6dcfcb32 91582009-08-06 Felix Zielcke <fzielcke@z-51.de>
9159
9160 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
9161 handling of multiple abstraction modules.
9162
f56a8756 91632009-08-04 Robert Millan <rmh.grub@aybabtu.com>
9164
9165 Fix a bug resulting in black screen when loading Linux using a
9166 packed video mode.
9167
9168 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
9169 function.
9170
9171 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
9172 (grub_vbe_bios_getset_dac_palette_width): New function.
9173 (grub_vbe_bios_get_dac_palette_width)
9174 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
9175 grub_vbe_bios_getset_dac_palette_width()).
9176
9177 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
9178 check for return status.
9179 (grub_vbe_get_video_mode_info): When getting information for a packed
9180 mode (<= 8 bpp), obtain DAC palette width using
9181 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
9182 {red,green,blue}_mark_size.
9183
222671b2 91842009-08-04 Felix Zielcke <fzielcke@z-51.de>
9185
ecb1a6d9 9186 * commands/search.c (options): Fix help output to match actual code.
222671b2 9187
f84114f5 91882009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
9189
9190 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
9191 of homegrown code.
9192
bd288a20 91932009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 9194
9195 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
9196 on XFS or ReiserFS.
9197
8aab5e25 91982009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
9199
9200 Support Apple partition map with sector size different from 512 bytes.
9201
9202 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
9203 (apple_partition_map_iterate): Respect 'aheader.blocksize'
9204 and 'apart.partmap_size'.
9205
6ad6258a 92062009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
92072009-08-01 Robert Millan <rmh.grub@aybabtu.com>
9208
9209 Fix cpuid command.
9210
9211 * commands/i386/cpuid.c (options): New variable.
9212 (grub_cmd_cpuid): Return real error.
9213 (GRUB_MOD_INIT(cpuid)): Declare options.
9214
67459bc6 92152009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
9216
9217 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
9218 valid.
9219
fbc6ab54 92202009-07-31 Bean <bean123ch@gmail.com>
9221
9222 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
9223 log2_inode.
9224 (grub_fshelp_node): Move inode field to the end.
9225 (grub_xfs_data): Remove inode field.
9226 (grub_xfs_inode_block): Calculate inode size using sblock.
9227 (grub_xfs_inode_offset): Likewise.
9228 (grub_xfs_read_inode): Calculate inode size using sblock.
9229 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
9230 (grub_xfs_iterate_dir): Calculate inode size using sblock.
9231 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
9232 to match inode size.
9233 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
9234 not accessible when data is null.
9235 (grub_xfs_open): Likewise.
9236
f45d6cfc 92372009-07-31 Bean <bean123ch@gmail.com>
9238
9239 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
9240 Don't change pv->disk if it's already set.
9241
9242 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
9243 (grub_raid_register): ... here.
9244 (grub_raid_rescan): Removed.
9245
9246 * include/grub/raid.h (grub_raid_rescan): Removed.
9247
9248 * util/grub-fstest.c: Remove include file <grub/raid.h>.
9249 (fstest): Replace grub_raid_rescan with module fini function followed
9250 by init function.
9251
9252 * util/grub-probe.c: Add include file <grub/raid.h>.
9253 (probe_raid_level): New function.
9254 (probe): Detect abstraction by walking the disk device, support two
9255 level of abstraction (LVM on RAID) when detecting partition map.
9256
24443b5a 92572009-07-31 Pavel Roskin <proski@gnu.org>
9258
9259 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
9260 to grub_zalloc(), it was erroneous.
9261 Reported by Bean <bean123ch@gmail.com>
9262
a275d9e7 92632009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
9264
9265 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 9266 embedding zone, not only the first one.
a275d9e7 9267
56c5a47f 92682009-07-29 Joe Auricchio <jauricchio@gmail.com>
9269
9270 * term/gfxterm.c (clear_char): New function.
9271 (grub_virtual_screen_setup): Use clear_char.
9272 (scroll_up): Likewise.
9273 (grub_virtual_screen_cls): Likewise.
9274
67bb323a 92752009-07-29 Felix Zielcke <fzielcke@z-51.de>
9276
9277 * util/deviceiter.c (get_acceleraid_disk_name): New static
9278 function.
9279 (grub_util_iterate_devices): Handle Accelraid devices.
9280 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
9281
388a7c75 92822009-07-28 Robert Millan <rmh.grub@aybabtu.com>
9283
9284 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
9285 separator for the suggested gfxpayload string (';' collides with the
9286 parser and needs escaping).
9287
3bb7abcf 92882009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
9289
9290 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
9291 Clear direction flag before jumping to OS.
9292 (grub_multiboot2_real_boot): Likewise.
9293
2ddd36d7 92942009-07-28 Felix Zielcke <fzielcke@z-51.de>
9295
9296 * util/i386/pc/grub-install: Fix parsing of --disk-module
9297 option.
9298
c521b62b 92992009-07-28 Felix Zielcke <fzielcke@z-51.de>
9300
9301 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
9302 when embedding.
9303
880e0a0c 93042009-07-26 Felix Zielcke <fzielcke@z-51.de>
9305
9306 * util/grub-mkconfig.in (package_version): New variable.
9307 Use it do display the version.
9308
2366e356 93092009-07-25 Felix Zielcke <fzielcke@z-51.de>
9310
9311 * kern/file.c (grub_file_open): Revert to previous check with
9312 grub_errno.
9313
7ad8c80e 93142009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9315
9316 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
9317 from help line. It's out of sync with code.
9318
72b9658b 93192009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9320
9321 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
9322 entries on failed boot.
9323
77435277 93242009-07-25 Felix Zielcke <fzielcke@z-51.de>
9325
9326 * kern/file.c (grub_file_open): Fix an error check.
9327
fcaa8b21 93282009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
9329
35d16c74 9330 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
9331 partition map couldn't be identified.
fcaa8b21 9332
48904cd1 93332009-07-23 Pavel Roskin <proski@gnu.org>
9334
ef3c317f 9335 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
9336 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
9337 case of little endian words becomes just an optimization.
9338 Respect const modifier.
ad8ea1f4 9339 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 9340
48904cd1 9341 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
9342 to avoid loss of upper bits if align is unsigned and shorter
9343 than addr.
9344
260c9a89 93452009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
9346
9347 UUID support for UFS
9348
9349 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
9350 (grub_ufs_uuid): New function.
9351 (grub_ufs_fs): add .uuid
9352
f76ce889 93532009-07-21 Pavel Roskin <proski@gnu.org>
9354
9355 * kern/dl.c (grub_dl_check_header): Make static.
9356
6a6cbcaf 93572009-07-21 Felix Zielcke <fzielcke@z-51.de>
9358
9359 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
9360 add drivemap for Vista. It breaks Windows 7.
9361
cffcddb2 93622009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
9363
9364 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
9365 128 bytes
9366
1ef44b80 93672009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9368
9369 Add BFS support
9370
9371 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
9372 (grub_fstest_SOURCES): Likewise.
9373 (pkglib_MODULES): Add befs.mod.
9374 (befs_mod_SOURCES): New variable.
9375 (befs_mod_CFLAGS): Likewise.
9376 (befs_mod_LDFLAGS): Likewise.
9377 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
9378 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9379 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9380 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
9381 (grub_setup_SOURCES): Likewise.
9382 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9383 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9384 (grub_setup_SOURCES): Likewise.
9385 * fs/befs.c: New file.
9386 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
9387 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
9388 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
9389 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
9390 (B_KEY_INDEX_ALIGN): New declaration.
9391 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
9392 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
9393 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
9394 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
9395 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
9396 (grub_afs_mount) [MODE_BFS]: Likewise.
9397 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
9398 (grub_afs_fs): Use GRUB_AFS_FSNAME
9399 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
9400 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
9401 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
9402 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
9403
4f253044 94042009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
9405
9406 * util/getroot.c (find_root_device): Add support for MacOSX.
9407 * util/hostdisk.c: Likewise.
9408
57a55913 94092009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9410
9411 * font/font.c (find_glyph): Check whether a font is present to avoid
9412 segmentation fault.
75421ca9 9413
94142009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 9415
9416 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
9417
e98cd0c2 94182009-07-20 Pavel Roskin <proski@gnu.org>
9419
9420 * configure.ac: Trim excessively wordy excuses.
9421
1d2d169a 94222009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9423
9424 Add symlink, mtime and label support to AtheFS.
9425
9426 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
9427 (grub_afs_iterate_dir): Handle symlinks.
9428 (grub_afs_open): Use grub_afs_read_symlink.
9429 (grub_afs_dir): Likewise.
9430 Pass mtime.
9431 (grub_afs_label): New function.
9432 (grub_afs_fs): Add grub_afs_label.
9433 (grub_afs_read_symlink): New function.
9434
186f3189 94352009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9436
9437 Fix AtheFS support.
9438
9439 * fs/afs.c: Fix comments style.
9440 (grub_afs_blockrun): Declare as packed.
9441 (grub_afs_datastream): Likewise.
9442 (grub_afs_bnode): Likewise.
9443 (grub_afs_btree): Likewise.
9444 (grub_afs_sblock): Likewise.
9445 Declare `name' as char.
9446 (grub_afs_inode): Declare as packed.
9447 Change void *vnode to grub_uint32_t unused.
9448 (grub_afs_iterate_dir): Check that key_size is positive.
9449 (grub_afs_mount): Don't read superblock twice.
75421ca9 9450 (grub_afs_dir): Don't free node in case of error,
186f3189 9451 grub_fshelp_find_file already handles this.
9452 (grub_afs_open): Likewise.
9453
5680109e 94542009-07-19 Pavel Roskin <proski@gnu.org>
9455
9456 * Makefile.in: Remove LIBLZO and enable_lzo.
9457 * conf/i386-pc.rmk: Remove lzo support.
9458 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
9459 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
9460 support.
9461 * kern/i386/pc/lzo1x.S: Remove.
9462 * kern/i386/pc/startup.S: Remove lzo support.
9463 * util/i386/pc/grub-mkimage.c: Likewise.
9464
ac70fa32 94652009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
9466
9467 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
9468 * fs/xfs.c (grub_xfs_dir): Likewise.
9469 * fs/afs.c (grub_afs_dir): Likewise.
9470 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
9471 (grub_iso9660_open): Likewise.
9472 * fs/jfs.c (grub_jfs_open): Likewise.
9473 * fs/ext2.c (grub_ext2_dir): Likewise.
9474 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
9475 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 9476
eab58da2 94772009-07-16 Pavel Roskin <proski@gnu.org>
9478
d2838156 9479 * configure.ac: Never add "-c" to CFLAGS.
9480
55c70904 9481 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
9482
43e6200c 9483 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
9484 grub_cv_cc_efiemu should be used.
9485
ce7a733d 9486 * configure.ac: Typo fixes.
9487
eab58da2 9488 * kern/mm.c (grub_zalloc): New function.
9489 (grub_debug_zalloc): Likewise.
9490 * include/grub/mm.h: Declare grub_zalloc() and
9491 grub_debug_zalloc().
9492 * util/misc.c (grub_zalloc): New function.
9493 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
9494 instead of grub_malloc(), remove unneeded initializations.
9495 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
9496 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
9497 * commands/parttool.c (grub_cmd_parttool): Likewise.
9498 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
9499 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
9500 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
9501 * disk/usbms.c (grub_usbms_finddevs): Likewise.
9502 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
9503 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
9504 (grub_cmd_efiemu_pnvram): Likewise.
9505 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
9506 * fs/iso9660.c (grub_iso9660_mount): Likewise.
9507 (grub_iso9660_iterate_dir): Likewise.
9508 * fs/jfs.c (grub_jfs_opendir): Likewise.
9509 * fs/ntfs.c (list_file): Likewise.
9510 (grub_ntfs_mount): Likewise.
9511 * kern/disk.c (grub_disk_open): Likewise.
9512 * kern/dl.c (grub_dl_load_core): Likewise.
9513 * kern/elf.c (grub_elf_file): Likewise.
9514 * kern/env.c (grub_env_context_open): Likewise.
9515 (grub_env_set): Likewise.
9516 (grub_env_set_data_slot): Likewise.
9517 * kern/file.c (grub_file_open): Likewise.
9518 * kern/fs.c (grub_fs_blocklist_open): Likewise.
9519 * loader/i386/multiboot.c (grub_module): Likewise.
9520 * loader/xnu.c (grub_xnu_create_key): Likewise.
9521 (grub_xnu_create_value): Likewise.
9522 * normal/main.c (grub_normal_add_menu_entry): Likewise.
9523 (read_config_file): Likewise.
9524 * normal/menu_entry.c (make_screen): Likewise.
9525 * partmap/sun.c (sun_partition_map_iterate): Likewise.
9526 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
9527 * script/sh/script.c (grub_script_parse): Likewise.
9528 * video/bitmap.c (grub_video_bitmap_create): Likewise.
9529 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
9530 * video/readers/png.c (grub_png_output_byte): Likewise.
9531 (grub_video_reader_png): Likewise.
9532
830afef7 95332009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 9534
9535 Enable all targets that can be built by default
9536
830afef7 9537 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 9538 grub-mkfont and grub-fstest if they can be built
9539
ee293aee 95402009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
9541
9542 Fix hang and segmentation fault in grub-emu-usb
9543
9544 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
9545 * util/usb.c (grub_libusb_devices): likewise
9546 (grub_libusb_init): rename to ...
9547 (GRUB_MOD_INIT (libusb)):...this
9548 (grub_libusb_fini): rename to ..
9549 (GRUB_MOD_FINI (libusb)):...this
9550 * disk/usbms.c (grub_usbms_transfer): fix retry logic
9551 * include/grub/disk.h (grub_raid_init): removed, it's useless
9552 (grub_raid_fini): likewise
9553 (grub_lvm_init): likewise
9554 (grub_lvm_fini): likewise
9555 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
9556 by grub_init_all
9557
94414221 95582009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
9559
9560 Fix libusb
9561
9562 * Makefile.in (LIBUSB): new macro
9563 * genmk.rb (Utility/print_tail): new method
9564 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
9565 (top level): call util.print_tail at the end.
9566
59ade63d 95672009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
9568
9569 Make FreeBSD accept zpool.cache
9570
9571 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
9572 type is /boot/zfs/zpool.cache
9573
a58da8c7 95742009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
9575
9576 Fix 64-bit efiemu
9577
9578 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
9579 correct wrong typedef
9580 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
9581
20591577 95822009-07-15 Pavel Roskin <proski@gnu.org>
9583
560ca572 9584 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
9585 * kern/disk.c (struct grub_disk_cache): Likewise.
9586
e8e8e4fd 9587 * commands/probe.c (options): Typo fix.
9588
fde24e10 9589 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
9590 Increase to 0x5a to accommodate FAT32. Adjust other offsets
9591 accordingly.
9592 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
9593
379c54c1 9594 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
9595 the end of "Error" to make the message more readable.
9596
7bd8f5bf 9597 * boot/i386/pc/boot.S (kernel_segment): Remove.
9598 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
9599 for destination.
9600
40b132c5 9601 * boot/i386/pc/boot.S (boot_version): Remove.
9602 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
9603 Remove.
9604
20591577 9605 * include/grub/i386/pc/boot.h: Sort all offsets.
9606 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
9607 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
9608 * boot/i386/pc/boot.S: Assert location of every offset listed in
9609 include/grub/i386/pc/boot.h.
9610
2df32b2c 96112009-07-13 Pavel Roskin <proski@gnu.org>
9612
44b5d879 9613 * include/grub/i386/coreboot/machine.h: Rename
9614 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
9615 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
9616 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
9617
17dc3751 9618 * kern/dl.c: Force native word size to suppress warnings when
9619 compiling grub-emu.
9620
2df32b2c 9621 * kern/device.c (grub_device_iterate): Change struct part_ent to
9622 hold the name, not a pointer to it. Use one grub_malloc() per
9623 partition, not two. Free partition_name if grub_malloc() fails.
9624 Set ents to NULL only before grub_partition_iterate() is called.
9625
75c59f59 96262009-07-11 Bean <bean123ch@gmail.com>
9627
9628 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
9629 childname.
9630
0ae1bf88 96312009-07-10 Bean <bean123ch@gmail.com>
96322009-07-10 Robert Millan <rmh.grub@aybabtu.com>
9633
9634 * kern/ieee1275/openfw.c (grub_children_iterate)
9635 (grub_devalias_iterate): Fix size evaluation for property or path
9636 strings, which was broken since r2132.
9637
8279cade 96382009-07-07 Pavel Roskin <proski@gnu.org>
9639
7d8a52d3 9640 * commands/search.c (search_file): Merge into ...
9641 (search_fs): ... this. Accept search type as argument.
9642 (grub_cmd_search): Pass search type to search_fs().
9643
25f9a05a 9644 * include/grub/util/console.h: New file.
9645 * util/console.c: Use it instead of grub/machine/console.h.
9646 * util/grub-emu.c: Likewise.
9647
8279cade 9648 * lib/arg.c (find_long_option): Remove.
9649 (find_long): Add `len' argument, make `s' const char *.
9650 (grub_arg_parse): Parse long options in place, not in a
9651 temporary buffer.
9652
4a11b60f 96532009-07-06 Pavel Roskin <proski@gnu.org>
9654
99f68041 9655 * commands/search.c (search_fs): Fix potential NULL pointer
9656 dereference.
9657
4a11b60f 9658 * commands/search.c (search_fs): Replace QUID macro with quid_fn
9659 function pointer.
9660
e110f4de 96612009-07-06 Daniel Mierswa <impulze@impulze.org>
9662
9663 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
9664 comparison.
9665
46eeb6a2 96662009-07-05 Pavel Roskin <proski@gnu.org>
9667
bab74958 9668 * include/grub/i386/linux.h (struct linux_kernel_params):
9669 Restore padding3, it's still needed.
9670
46eeb6a2 9671 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
9672 FreeBSD.
9673 * util/osdetect.lua: Likewise.
9674
b4a1dc79 96752009-07-05 Bean <bean123ch@gmail.com>
9676
9677 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
9678
9679 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
9680 (grub_lua_getenv): Likewise.
9681 (grub_lua_setenv): Likewise.
9682 (save_errno): New function.
9683 (push_result): Likewise.
9684 (grub_lua_enum_device): Likewise.
9685 (grub_lua_enum_file): Likewise.
9686 (grub_lua_file_open): Likewise.
9687 (grub_lua_file_close): Likewise.
9688 (grub_lua_file_seek): Likewise.
9689 (grub_lua_file_read): Likewise.
9690 (grub_lua_file_getline): Likewise.
9691 (grub_lua_file_getsize): Likewise.
9692 (grub_lua_file_getpos): Likewise.
9693 (grub_lua_file_eof): Likewise.
9694 (grub_lua_file_exist): Likewise.
9695 (grub_lua_add_menu): Likewise.
9696
9697 * script/lua/grub_lua.h (isupper): New inline function.
9698 (islower): Likewise.
9699 (ispunct): Likewise.
9700 (isxdigit): Likewise.
9701 (strcspn): Change to normal function.
9702 (strpbkr): New function declaration.
9703 (memchr): Likewise.
9704
9705 * script/lua/grub_main.c (scan_str): New function.
9706 (strcspn): Likewise.
9707 (strpbrk): Likewise.
9708 (memchr): Likewise.
9709
9710 * script/lua/linit.c (lualibs): Enable the string library.
9711
9712 * util/osdetect.lua: New file.
9713
2da92295 97142009-07-04 Robert Millan <rmh.grub@aybabtu.com>
9715
9716 * include/grub/i386/linux.h (struct linux_kernel_params): Add
9717 `capabilities' member.
9718
b2582ec9 97192009-07-02 Pavel Roskin <proski@gnu.org>
9720
9721 * genparttoollist.sh: Add missing newline at the end.
9722
32622956 97232009-07-01 Pavel Roskin <proski@gnu.org>
9724
87a7339e 9725 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
9726
d23af54e 9727 * util/hostdisk.c (open_device): Remove `const' from
9728 `sysctl_size', as sysctlbyname() can change it (in this case it
9729 doesn't actually happen).
9730
c94b18a9 9731 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
9732 using signed long int constants.
9733
c6cd3ef0 9734 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
9735 constant to avoid a warning on FreeBSD.
9736
0df63420 9737 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
9738 where it's needed.
9739
999577f1 9740 * Makefile.in: Install include/grub/machine symlink.
9741
6f41557f 9742 * Makefile.in: When installing symlinks, use "cp -fR", which
9743 works on FreeBSD and MacOSX.
9744 From Yves Blusseau <cl7m42e02@sneakemail.com>
9745
c8d22988 9746 * kern/dl.c (grub_dl_resolve_symbol): Make static.
9747 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
9748
1b96e952 9749 * util/misc.c: Move grub_reboot() and grub_halt() ...
9750 * util/grub-emu.c: ... here. Make main_env static.
9751 * include/grub/util/misc.h: Remove main_env.
9752
2ef0084d 9753 * kern/mm.c: Use correct format to print size_t.
9754
32622956 9755 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
9756 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
9757 * kern/powerpc/dl.c: Likewise.
9758 * kern/sparc64/dl.c: Likewise.
9759 * kern/x86_64/dl.c: Likewise.
9760
3f7f0cd0 97612009-07-01 Robert Millan <rmh.grub@aybabtu.com>
9762
9763 Fix grub-emu build on sparc64-ieee1275.
9764
75421ca9 9765 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 9766 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
9767
211d06b5 97682009-07-01 Robert Millan <rmh.grub@aybabtu.com>
9769
9770 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
9771 (grub_reboot, grub_halt): New functions.
9772
9773 * util/i386/pc/misc.c: Delete. Update all users.
9774 * util/sparc64/ieee1275/misc.c: Likewise.
9775 * util/powerpc/ieee1275/misc.c: Likewise.
9776
aaf53e3c 97772009-07-01 Robert Millan <rmh.grub@aybabtu.com>
9778
9779 * conf/i386.rmk (setjmp_mod_SOURCES)
9780 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
9781 * conf/common.rmk (setjmp_mod_SOURCES)
9782 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
9783 to use $(target_cpu).
9784 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
9785 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
9786 * conf/powerpc-ieee1275.rmk: Likewise.
9787 * conf/sparc64-ieee1275.rmk: Likewise.
9788
9789 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
9790 $(target_cpu) for kern/$(target_cpu)/dl.c.
9791 * conf/i386-efi.rmk: Likewise.
9792 * conf/i386-ieee1275.rmk: Likewise.
9793 * conf/x86_64-efi.rmk: Likewise.
9794 * conf/i386-coreboot.rmk: Likewise.
9795 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
9796 $(target_cpu) for kern/$(target_cpu)/dl.c and for
9797 kern/$(target_cpu)/cache.S.
9798 * conf/sparc64-ieee1275.rmk: Likewise.
9799
a337130b 98002009-07-01 Robert Millan <rmh.grub@aybabtu.com>
9801
9802 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
9803 type to `grub_uint8_t', and adjust `padding9' accordingly.
9804
c6fe4d53 98052009-06-29 Robert Millan <rmh.grub@aybabtu.com>
9806
b09db61d 9807 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
9808
c6fe4d53 9809 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
9810 assembly in final jump, using register constraints.
9811
b09db61d 9812 (grub_linux_boot): For text mode, initialize `have_vga' using
9813 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
9814
9815 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
9816 right before the final jump.
9817
9818 Set `video_mode' to 0x3.
9819
9820 Document initialization of `video_page', `video_mode' and
9821 `video_ega_bx'.
9822
28333ad0 98232009-06-29 Robert Millan <rmh.grub@aybabtu.com>
9824
9825 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
9826 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 9827 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 9828
02164e1b 98292009-06-29 Robert Millan <rmh.grub@aybabtu.com>
9830
9831 Fix build on Debian / sparc.
9832
9833 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
9834
18b6c557 98352009-06-28 Pavel Roskin <proski@gnu.org>
9836
85f2aab6 9837 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
9838 fix a warning.
9839
18b6c557 9840 * util/grub.d/10_linux.in: Match SUSE style initrd names.
9841
ad760f81 98422009-06-27 Robert Millan <rmh.grub@aybabtu.com>
9843
9844 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
9845 `err'.
9846
87a4623b 98472009-06-27 Robert Millan <rmh.grub@aybabtu.com>
9848
9849 Revert r2338.
9850
9851 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
9852 file can't be opened. grub_file_open() is already supposed to set
75421ca9 9853 grub_errno / grub_errmsg appropriately.
87a4623b 9854 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9855
8231fb77 98562009-06-27 Pavel Roskin <proski@gnu.org>
98572009-06-27 Robert Millan <rmh.grub@aybabtu.com>
9858
9859 * include/grub/dl.h: Include grub/elf.h.
9860 (struct grub_dl): Add symtab field.
9861 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
9862 GRUB_MODULES_MACHINE_READONLY.
9863 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
9864 of the header for read-only modules.
9865 (grub_dl_unload): Free mod->symtab for read-only modules.
9866 * kern/i386/dl.c: Use mod->symtab.
9867 * kern/powerpc/dl.c: Likewise.
9868 * kern/sparc64/dl.c: Likewise.
9869 * kern/x86_64/dl.c: Likewise.
9870
9871 * conf/i386-qemu.rmk: New file.
9872 * kern/i386/qemu/startup.S: Likewise.
9873 * kern/i386/qemu/mmap.c: Likewise.
9874 * boot/i386/qemu/boot.S: Likewise.
9875 * include/grub/i386/qemu/time.h: Likewise.
9876 * include/grub/i386/qemu/serial.h: Likewise.
9877 * include/grub/i386/qemu/kernel.h: Likewise.
9878 * include/grub/i386/qemu/console.h: Likewise.
9879 * include/grub/i386/qemu/boot.h: Likewise.
9880 * include/grub/i386/qemu/init.h: Likewise.
9881 * include/grub/i386/qemu/machine.h: Likewise.
9882 * include/grub/i386/qemu/loader.h: Likewise.
9883 * include/grub/i386/qemu/memory.h: Likewise.
9884
9885 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
9886 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
9887 [qemu] (pkglib_IMAGES): Add `boot.img'.
9888 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
9889 [qemu] (boot_img_FORMAT): New variables.
9890 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
9891 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
9892 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
9893 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
9894 [qemu] (kernel_img_FORMAT): New variables.
9895
9896 * configure.ac: Recognise `i386-qemu'.
9897
9898 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
9899 (for no compression).
9900 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
9901 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
9902 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
9903 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
9904 ifdefs).
9905
97fe384e 99062009-06-27 Pavel Roskin <proski@gnu.org>
9907
9908 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
9909 read.
9910 * efiemu/prepare32.c: Likewise.
9911 * efiemu/prepare64.c: Likewise.
9912
c402ab17 99132009-06-26 Pavel Roskin <proski@gnu.org>
9914
9915 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
9916 * include/grub/elf.h: Define symbols without "32" or "64" based
9917 on GRUB_TARGET_WORDSIZE.
9918 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
9919 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
9920 ELF definitions.
9921 * efiemu/loadcore64.c: Likewise.
9922 * loader/i386/bsd32.c: Likewise.
9923 * loader/i386/bsd64.c: Likewise.
9924 * kern/dl.c: Remove own ELF definitions.
9925 * util/i386/efi/grub-mkimage.c: Likewise.
9926
9bbdfd4d 99272009-06-23 Robert Millan <rmh.grub@aybabtu.com>
9928
9929 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
9930 segment 0x0 unconditionally, because the reference generated by
9931 GAS is an absolute address.
9932
a42ce6e9 99332009-06-22 Robert Millan <rmh.grub@aybabtu.com>
9934
9935 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
9936 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
9937
c952cf92 99382009-06-22 Robert Millan <rmh.grub@aybabtu.com>
9939
9940 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
9941 indexes. Check for -f explicitly.
cc3752ad 9942 (search_file): Improve error message.
9943 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 9944
132a0a59 99452009-06-22 Robert Millan <rmh.grub@aybabtu.com>
9946
9947 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
9948 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
9949
387a140c 99502009-06-22 Robert Millan <rmh.grub@aybabtu.com>
9951
9952 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
9953 * conf/i386-ieee1275.rmk: Likewise.
9954 * conf/i386-coreboot.rmk: Likewise.
9955
9956 * kern/i386/pc/startup.S (grub_stop): Remove function.
9957 * kern/i386/ieee1275/startup.S: Likewise.
9958 * kern/i386/coreboot/startup.S: Likewise.
9959 * kern/i386/misc.S (grub_stop): New function.
9960
41da9665 99612009-06-22 Robert Millan <rmh.grub@aybabtu.com>
9962
9963 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
9964 * kern/i386/realmode.S (real_to_prot): ... to here.
9965
bf337234 99662009-06-22 Robert Millan <rmh.grub@aybabtu.com>
9967
9968 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
9969 with `kernel.img'.
9970 (kernel_elf_SOURCES): Rename to ...
9971 (kernel_img_SOURCES): ... this.
9972 (kernel_elf_HEADERS): Rename to ...
9973 (kernel_img_HEADERS): ... this. Update all users.
9974 (kernel_elf_ASFLAGS): Rename to ...
9975 (kernel_img_ASFLAGS): ... this.
9976 (kernel_elf_CFLAGS): Rename to ...
9977 (kernel_img_CFLAGS): ... this.
9978 (kernel_elf_LDFLAGS): Rename to ...
9979 (kernel_img_LDFLAGS): ... this.
9980 * conf/i386-coreboot.rmk: Likewise.
9981 * conf/powerpc-ieee1275.rmk: Likewise.
9982
9983 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
9984 with "kernel.img".
9985
f52196ff 99862009-06-21 Pavel Roskin <proski@gnu.org>
9987
c3cee413 9988 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
9989 to match nested functions.
9990 * loader/sparc64/ieee1275/linux.c: Likewise.
9991
f52196ff 9992 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
9993
58750afc 99942009-06-21 Robert Millan <rmh.grub@aybabtu.com>
9995
9996 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
9997 all i386 platforms.
9998
15355c7d 99992009-06-21 Robert Millan <rmh.grub@aybabtu.com>
10000
10001 Fix asm file handling on ELF, and remove workarounds.
10002
10003 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 10004 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 10005 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
10006 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
10007
3f3ec72b 100082009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
10009
10010 Load BSD ELF modules
10011
10012 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
10013 and loader/i386/bsd64.c
10014 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
10015 (FREEBSD_MODTYPE_ELF_MODULE): New definition
10016 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
10017 (grub_freebsd_load_elfmodule32): New declaration
10018 (grub_freebsd_load_elfmoduleobj64): Likewise
10019 (grub_freebsd_load_elf_meta32): Likewise
10020 (grub_freebsd_load_elf_meta64): Likewise
10021 (grub_freebsd_add_meta): Likewise
10022 (grub_freebsd_add_meta_module): Likewise
10023 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
10024 (grub_freebsd_add_meta_module): Likewise and move module-specific
10025 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
10026 (grub_cmd_freebsd): Add elf-kernel specific parts
10027 based on grub_freebsd_add_meta_module
10028 (grub_cmd_freebsd_module): Add type parsing moved from
10029 grub_freebsd_add_meta_module
10030 (grub_cmd_freebsd_module_elf): New function
10031 (cmd_freebsd_module_elf): New variable
10032 (GRUB_MOD_INIT): Register freebsd_module_elf
10033 * loader/i386/bsd32.c: New file
10034 * loader/i386/bsd64.c: Likewise
10035 * loader/i386/bsdXX.c: Likewise
10036 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
10037 (grub_elf64_load): Likewise
10038 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
10039 All users updated
10040 (grub_elf64_load_hook_t): Likewise
10041
0db15301 100422009-06-21 Colin Watson <cjwatson@ubuntu.com>
10043
10044 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
10045 variable.
10046 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
10047 don't write a menu entry for recovery mode.
10048
546796c1 100492009-06-20 Robert Millan <rmh.grub@aybabtu.com>
10050
10051 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
10052 after it's no longer needed.
10053
cd7310d5 100542009-06-20 Robert Millan <rmh.grub@aybabtu.com>
10055
10056 * include/grub/i386/loader.h (grub_linux_prot_size)
10057 (grub_linux_tmp_addr, grub_linux_real_addr)
10058 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
10059 GRUB_MACHINE_PCBIOS.
10060 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
10061 common grub_util_info() call to ...
10062 (generate_image): ... here.
10063 Fix use of uninitialized memory, comparison of signed with
10064 unsigned integers and memory leak.
10065 Remove bogus module address message.
10066
ab32d3b5 100672009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
10068
10069 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
10070 grub_raid_register
10071 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
10072
024ef597 100732009-06-19 Pavel Roskin <proski@gnu.org>
10074
10075 * configure.ac: Remove stray AC_MSG_CHECKING.
10076
3ac72b51 100772009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
10078
10079 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 10080
e14cd814 100812009-06-18 Pavel Roskin <proski@gnu.org>
10082
10083 * conf/common.rmk: Add fs_file.mod.
10084 * disk/fs_file.c: New file.
10085 * include/grub/disk.h (enum grub_disk_dev_id): Add
10086 GRUB_DISK_DEVICE_FILE_ID.
10087
26586d98 100882009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
10089
10090 Fix build with Apple's toolchain. Part 2
10091
10092 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
10093 a fake start
10094
26de2bcd 100952009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
10096
10097 Fix build with Apple's toolchain. Part 1
10098
10099 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
10100 for long calls
10101 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 10102 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 10103 Apple's toolchain
10104
09b3490b 101052009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
10106
10107 Fix warnings
10108
10109 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
10110 (decomp_block): initialize ch
10111 use grub_memcpy instead of memcpy
10112
c22a006a 101132009-06-17 Pavel Roskin <proski@gnu.org>
10114
d3638678 10115 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
10116 version, use declarations needed to use vga_text as the startup
10117 console.
10118
c22a006a 10119 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
10120 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
10121 the kernel.
10122 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
10123 and grub_at_keyboard_fini(), it's done on module load and
10124 unload.
10125
05b129e0 101262009-06-17 Felix Zielcke <fzielcke@z-51.de>
10127
10128 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
10129 file can't be found.
10130 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
10131
cf24ed9e 101322009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
10133
10134 Fix newline handling
10135
10136 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 10137 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 10138 (grub_script_yylex): don't segfault on unterminated script
10139 newline terminates command and variable
10140
74aa8e4b 101412009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
10142
10143 avoid double grub_adjust_range call. Bug reported by David Simner
10144
10145 * kern/disk.c (grub_disk_write): change to raw disk access before
10146 calling disk_read
10147
1bd265f3 101482009-06-17 Colin Watson <cjwatson@ubuntu.com>
10149
10150 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
10151 spaces, for the benefit of help2man.
10152 * util/i386/efi/grub-mkimage.c (usage): Likewise.
10153
a2d08c06 101542009-06-16 Pavel Roskin <proski@gnu.org>
10155
10156 * kern/i386/halt.c: Include grub/machine/init.h.
10157 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
10158
b97bcb19 101592009-06-16 Felix Zielcke <fzielcke@z-51.de>
10160
10161 * util/grub.d/30_os-prober.in: Use ${root} in the generated
10162 drivemap menuentry.
10163
0644f96c 101642009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
10165
10166 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
10167 `echo' command.
10168
3ef17a2e 101692009-06-16 Pavel Roskin <proski@gnu.org>
10170
10171 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
10172 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
10173 save %dx, we only need %dl and we never change it.
10174 * boot/i386/pc/cdboot.S: Don't set the root drive.
10175 * boot/i386/pc/pxeboot.S: Likewise.
10176 * include/grub/i386/pc/boot.h: Remove
10177 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
10178 GRUB_BOOT_MACHINE_DRIVE_CHECK.
10179 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
10180 * kern/i386/pc/init.c (make_install_device): Remove references
10181 to grub_root_drive.
10182 * kern/i386/pc/startup.S: Likewise.
10183 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
10184
693fe637 101852009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
10186
10187 xnu_uuid command
10188
10189 * commands/xnu_uuid.c: new file
10190 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
10191 (xnu_uuid_mod_SOURCES): new variable
10192 (xnu_uuid_mod_CFLAGS): likewise
10193 (xnu_uuid_mod_LDFLAGS): likewise
10194 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
10195 * conf/i386-ieee1275.rmk: likewise
10196 * conf/i386-pc.rmk: likewise
10197 * conf/powerpc-ieee1275.rmk: likewise
10198 * conf/sparc64-ieee1275.rmk: likewise
10199 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
10200
c9da87d0 102012009-06-16 Pavel Roskin <proski@gnu.org>
10202
10203 * configure.ac: Avoid '==' in test command, it's not portable.
10204
9c6f4596 102052009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
10206
10207 Probe command
10208
10209 * commands/probe.c: new file
10210 * conf/common.rmk (pkglib_MODULES): add probe.mod
10211 (probe_mod_SOURCES): new variable
10212 (probe_mod_CFLAGS): likewise
10213 (probe_mod_LDFLAGS): likewise
10214 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
10215 * conf/i386-ieee1275.rmk: likewise
10216 * conf/i386-pc.rmk: likewise
10217 * conf/powerpc-ieee1275.rmk: likewise
10218 * conf/sparc64-ieee1275.rmk: likewise
10219
70b7f9fd 102202009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
10221
10222 Fix handling of string like \"hello\" and "a
10223 b"
10224
10225 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
10226 (grub_script_yylex): fix parsing of quoting, escaping and newline
10227
71c79a6b 102282009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
10229
dd74360c 10230 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 10231 handling
dd74360c 10232
0644f96c 102332009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 10234
10235 * util/grub-mkconfig.in: Fix parsing of --output option.
10236
e40893c3 102372009-06-12 Pavel Roskin <proski@gnu.org>
10238
10239 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
10240 genmk.rb don't need to be generated or installed.
10241
3a1acfe2 102422009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
10243
10244 * commands/i386/pc/drivemap_int13h.S: add more comments
10245
3a4575d4 102462009-06-11 Pavel Roskin <proski@gnu.org>
10247
0658e928 10248 * Makefile.in (uninstall): Uninstall manuals.
10249
ca0388f0 10250 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
10251 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
10252 and update-grub_lib in two places.
10253 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
10254
e3b27c39 10255 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
10256 a compiler warning.
10257
3a4575d4 10258 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
10259 `entry_lo' to fix variable shadowing.
10260
af1f4f55 102612009-06-11 Christian Franke <franke@computer.org>
10262
10263 * kern/misc.c (__enable_execute_stack): Add missing return type
10264 to prevent gcc warning.
10265
5225e649 102662009-06-11 Felix Zielcke <fzielcke@z-51.de>
10267
10268 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
10269
7d83bd47 102702009-06-11 Pavel Roskin <proski@gnu.org>
10271
c1cb63ba 10272 * Makefile.in: Don't rely on any scripts being executable.
10273 Always use $(SHELL) to run shell scripts.
10274
7d83bd47 10275 * configure.ac: Always define ___main if using -nostdlib. This
10276 fixes tests on Cygwin.
10277
948f48e7 102782009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
10279
10280 UDF fix
10281
7d83bd47 10282 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 10283 is in bytes and not in blocks
7d83bd47 10284
8ada9bc1 102852009-06-11 Pavel Roskin <proski@gnu.org>
10286
10287 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
10288 warning.
10289
25ad2323 102902009-06-11 Felix Zielcke <fzielcke@z-51.de>
10291
10292 * util/grub.d/30_os-prober.in: Fix a comment. Source
10293 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
10294 to set the root device. Place drivemap command in the generated
10295 chain entry.
10296
e65acb0c 102972009-06-11 Pavel Roskin <proski@gnu.org>
10298
10299 * configure.ac: Remove host_m32. Issues with 64-bit utilities
10300 have long been resolved.
10301
f285fe2d 103022009-06-11 Colin Watson <cjwatson@ubuntu.com>
10303
bd47b0b5 10304 * util/grub.d/10_linux.in: Capitalise "Linux".
10305
f285fe2d 10306 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
10307
a0c62e4e 103082009-06-11 Pavel Roskin <proski@gnu.org>
10309
b6783cb2 10310 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
10311 fix a gcc warning and ensure that the function won't ever exit.
10312
dde032e8 10313 * kern/i386/ieee1275/init.c: Add missing prototype for
10314 grub_stop_floppy().
10315
22cd079d 10316 * loader/ieee1275/multiboot2.c [__i386__]: Include
10317 grub/cpu/multiboot.h.
10318
a0c62e4e 10319 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
10320 casts to short - they are not portable and cause warnings. Fix
10321 use of uninitialized values in input_buf. Use ARRAY_SIZE.
10322
63963d17 103232009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
10324
10325 Drivemap fixes
10326
10327 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
10328 new function
10329 (grub_get_root_biosnumber_saved): new variable
10330 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
10331 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 10332 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 10333 %dx after the call if necessary
10334 * conf/common.rmk (pkglib_MODULES): remove boot.mod
10335 (boot_mod_SOURCES): remove
10336 (boot_mod_CFLAGS): remove
10337 (boot_mod_LDFLAGS): remove
10338 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
10339 (boot_mod_SOURCES): new variable
10340 (boot_mod_CFLAGS): likewise
10341 (boot_mod_LDFLAGS): likewise
10342 * conf/i386-efi.rmk: likewise
10343 * conf/i386-ieee1275.rmk: likewise
10344 * conf/i386-pc.rmk: likewise
10345 * conf/powerpc-ieee1275.rmk: likewise
10346 * conf/sparc64-ieee1275.rmk: likewise
10347 * conf/x86_64-efi.rmk: likewise
10348 * include/grub/i386/pc/biosnum.h: new file
10349 * lib/i386/pc/biosnum.c: likewise
10350 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
10351 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
10352 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 10353
33abf7ae 103542009-06-10 Pavel Roskin <proski@gnu.org>
10355
5ac35b35 10356 * io/gzio.c (test_header): Don't reuse one buffer for all data.
10357 Use separate variables. Read only the file size at the end, but
10358 not the checksum that we don't use.
10359
5c5215d5 10360 * kern/file.c (grub_file_read): Use void pointer for the buffer.
10361 Adjust all callers.
10362
27d5fef7 10363 * kern/ieee1275/openfw.c: Remove libc includes.
10364 * kern/ieee1275/cmain.c: Likewise.
10365 * include/grub/ieee1275/ieee1275.h: Likewise.
10366
33abf7ae 10367 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
10368 compiler warnings.
10369
19d50c2b 103702009-06-10 Felix Zielcke <fzielcke@z-51.de>
10371
10372 * Makefile.in: Remove all trailing whitespace.
10373 * conf/i386-pc.rmk: Likewise.
10374 * conf/powerpc-ieee1275.rmk: Likewise.
10375 * conf/sparc64-ieee1275.rmk: Likewise.
10376 * docs/grub.texi: Likewise.
10377 * docs/texinfo.tex: Likewise.
10378 * disk/fs_uuid.c: Likewise.
10379 * disk/lvm.c: Likewise.
10380 * disk/scsi.c: Likewise.
10381 * disk/ata.c: Likewise.
10382 * disk/ieee1275/ofdisk.c: Likewise.
10383 * disk/i386/pc/biosdisk.c: Likewise.
10384 * disk/host.c: Likewise.
10385 * disk/raid.c: Likewise.
10386 * disk/efi/efidisk.c: Likewise.
10387 * disk/usbms.c: Likewise.
10388 * disk/memdisk.c: Likewise.
10389 * disk/loopback.c: Likewise.
10390 * kern/powerpc/dl.c: Likewise.
10391 * kern/device.c: Likewise.
10392 * kern/dl.c: Likewise.
10393 * kern/sparc64/dl.c: Likewise.
10394 * kern/ieee1275/ieee1275.c: Likewise.
10395 * kern/term.c: Likewise.
10396 * kern/fs.c: Likewise.
10397 * kern/i386/dl.c: Likewise.
10398 * kern/i386/pc/startup.S: Likewise.
10399 * kern/i386/pc/init.c: Likewise.
10400 * kern/i386/pc/mmap.c: Likewise.
10401 * kern/i386/pc/lzo1x.S: Likewise.
10402 * kern/i386/ieee1275/init.c: Likewise.
10403 * kern/i386/realmode.S: Likewise.
10404 * kern/i386/tsc.c: Likewise.
10405 * kern/partition.c: Likewise.
10406 * kern/corecmd.c: Likewise.
10407 * kern/file.c: Likewise.
10408 * kern/efi/efi.c: Likewise.
10409 * kern/efi/init.c: Likewise.
10410 * kern/efi/mm.c: Likewise.
10411 * kern/main.c: Likewise.
10412 * kern/err.c: Likewise.
10413 * kern/env.c: Likewise.
10414 * kern/disk.c: Likewise.
10415 * kern/generic/millisleep.c: Likewise.
10416 * kern/generic/rtc_get_time_ms.c: Likewise.
10417 * kern/misc.c: Likewise.
10418 * kern/parser.c: Likewise.
10419 * genmk.rb: Likewise.
10420 * configure.ac: Likewise.
10421 * boot/i386/pc/diskboot.S: Likewise.
10422 * boot/i386/pc/pxeboot.S: Likewise.
10423 * boot/i386/pc/boot.S: Likewise.
10424 * boot/i386/pc/lnxboot.S: Likewise.
10425 * boot/i386/pc/cdboot.S: Likewise.
10426 * parttool/pcpart.c: Likewise.
10427 * video/readers/tga.c: Likewise.
10428 * video/video.c: Likewise.
10429 * video/bitmap.c: Likewise.
10430 * lib/envblk.c: Likewise.
10431 * lib/i386/setjmp.S: Likewise.
10432 * fs/xfs.c: Likewise.
10433 * fs/afs.c: Likewise.
10434 * fs/fat.c: Likewise.
10435 * fs/ntfs.c: Likewise.
10436 * fs/udf.c: Likewise.
10437 * fs/affs.c: Likewise.
10438 * fs/iso9660.c: Likewise.
10439 * fs/hfs.c: Likewise.
10440 * fs/fshelp.c: Likewise.
10441 * fs/ext2.c: Likewise.
10442 * fs/jfs.c: Likewise.
10443 * fs/reiserfs.c: Likewise.
10444 * fs/hfsplus.c: Likewise.
10445 * fs/minix.c: Likewise.
10446 * fs/cpio.c: Likewise.
10447 * fs/sfs.c: Likewise.
10448 * fs/ufs.c: Likewise.
10449 * efiemu/prepare.c: Likewise.
10450 * efiemu/loadcore_common.c: Likewise.
10451 * efiemu/runtime/efiemu.sh: Likewise.
10452 * efiemu/runtime/efiemu.S: Likewise.
10453 * efiemu/runtime/efiemu.c: Likewise.
10454 * efiemu/pnvram.c: Likewise.
10455 * efiemu/main.c: Likewise.
10456 * efiemu/i386/pc/cfgtables.c: Likewise.
10457 * efiemu/i386/loadcore64.c: Likewise.
10458 * efiemu/i386/loadcore32.c: Likewise.
10459 * efiemu/loadcore.c: Likewise.
10460 * efiemu/symbols.c: Likewise.
10461 * efiemu/mm.c: Likewise.
10462 * include/grub/autoefi.h: Likewise.
10463 * include/grub/datetime.h: Likewise.
10464 * include/grub/term.h: Likewise.
10465 * include/grub/hfs.h: Likewise.
10466 * include/grub/lvm.h: Likewise.
10467 * include/grub/i386/tsc.h: Likewise.
10468 * include/grub/i386/linux.h: Likewise.
10469 * include/grub/i386/xnu.h: Likewise.
10470 * include/grub/i386/efiemu.h: Likewise.
10471 * include/grub/i386/pc/biosdisk.h: Likewise.
10472 * include/grub/i386/pc/memory.h: Likewise.
10473 * include/grub/i386/pc/vbe.h: Likewise.
10474 * include/grub/parttool.h: Likewise.
10475 * include/grub/video.h: Likewise.
10476 * include/grub/memory.h: Likewise.
10477 * include/grub/fs.h: Likewise.
10478 * include/grub/partition.h: Likewise.
10479 * include/grub/xnu.h: Likewise.
10480 * include/grub/efi/api.h: Likewise.
10481 * include/grub/efi/pe32.h: Likewise.
10482 * include/grub/efi/memory.h: Likewise.
10483 * include/grub/multiboot.h: Likewise.
10484 * include/grub/usbdesc.h: Likewise.
10485 * include/grub/multiboot2.h: Likewise.
10486 * include/grub/acpi.h: Likewise.
10487 * include/grub/efiemu/efiemu.h: Likewise.
10488 * include/grub/disk.h: Likewise.
10489 * include/grub/ieee1275/ieee1275.h: Likewise.
10490 * include/grub/net.h: Likewise.
10491 * include/grub/machoload.h: Likewise.
10492 * include/grub/macho.h: Likewise.
10493 * include/multiboot.h: Likewise.
10494 * genmoddep.awk: Likewise.
10495 * normal/main.c: Likewise.
10496 * normal/menu_entry.c: Likewise.
10497 * normal/menu_viewer.c: Likewise.
10498 * normal/completion.c: Likewise.
10499 * normal/cmdline.c: Likewise.
10500 * normal/misc.c: Likewise.
10501 * normal/datetime.c: Likewise.
10502 * bus/usb/usbtrans.c: Likewise.
10503 * bus/usb/ohci.c: Likewise.
10504 * bus/usb/uhci.c: Likewise.
10505 * bus/usb/usb.c: Likewise.
10506 * mmap/efi/mmap.c: Likewise.
10507 * mmap/i386/pc/mmap_helper.S: Likewise.
10508 * mmap/i386/pc/mmap.c: Likewise.
10509 * mmap/i386/mmap.c: Likewise.
10510 * mmap/i386/uppermem.c: Likewise.
10511 * mmap/mmap.c: Likewise.
10512 * commands/acpi.c: Likewise.
10513 * commands/echo.c: Likewise.
10514 * commands/blocklist.c: Likewise.
10515 * commands/loadenv.c: Likewise.
10516 * commands/usbtest.c: Likewise.
10517 * commands/boot.c: Likewise.
10518 * commands/parttool.c: Likewise.
10519 * commands/search.c: Likewise.
10520 * commands/cat.c: Likewise.
10521 * commands/i386/pc/play.c: Likewise.
10522 * commands/i386/pc/drivemap.c: Likewise.
10523 * commands/i386/pc/vbeinfo.c: Likewise.
10524 * commands/i386/pc/acpi.c: Likewise.
10525 * commands/i386/pc/vbetest.c: Likewise.
10526 * commands/ls.c: Likewise.
10527 * commands/cmp.c: Likewise.
10528 * commands/test.c: Likewise.
10529 * commands/efi/acpi.c: Likewise.
10530 * commands/gptsync.c: Likewise.
10531 * commands/help.c: Likewise.
10532 * partmap/amiga.c: Likewise.
10533 * partmap/apple.c: Likewise.
10534 * partmap/acorn.c: Likewise.
10535 * partmap/pc.c: Likewise.
10536 * partmap/sun.c: Likewise.
10537 * partmap/gpt.c: Likewise.
10538 * script/sh/lexer.c: Likewise.
10539 * script/sh/function.c: Likewise.
10540 * font/font.c: Likewise.
10541 * font/font_cmd.c: Likewise.
10542 * loader/powerpc/ieee1275/linux.c: Likewise.
10543 * loader/efi/chainloader.c: Likewise.
10544 * loader/multiboot_loader.c: Likewise.
10545 * loader/macho.c: Likewise.
10546 * loader/i386/multiboot.c: Likewise.
10547 * loader/i386/linux.c: Likewise.
10548 * loader/i386/pc/linux.c: Likewise.
10549 * loader/i386/pc/multiboot2.c: Likewise.
10550 * loader/i386/pc/chainloader.c: Likewise.
10551 * loader/i386/pc/xnu.c: Likewise.
10552 * loader/i386/bsd_trampoline.S: Likewise.
10553 * loader/i386/efi/linux.c: Likewise.
10554 * loader/i386/multiboot_elfxx.c: Likewise.
10555 * loader/i386/bsd_helper.S: Likewise.
10556 * loader/i386/bsd.c: Likewise.
10557 * loader/i386/linux_trampoline.S: Likewise.
10558 * loader/i386/xnu_helper.S: Likewise.
10559 * loader/i386/xnu.c: Likewise.
10560 * loader/i386/bsd_pagetable.c: Likewise.
10561 * loader/i386/multiboot_helper.S: Likewise.
10562 * loader/xnu.c: Likewise.
10563 * loader/xnu_resume.c: Likewise.
10564 * io/gzio.c: Likewise.
10565 * term/efi/console.c: Likewise.
10566 * term/terminfo.c: Likewise.
10567 * term/ieee1275/ofconsole.c: Likewise.
10568 * term/i386/pc/serial.c: Likewise.
10569 * term/i386/pc/vesafb.c: Likewise.
10570 * term/i386/pc/vga.c: Likewise.
10571 * term/usb_keyboard.c: Likewise.
10572 * term/gfxterm.c: Likewise.
10573 * aclocal.m4: Likewise.
10574 * util/lvm.c: Likewise.
10575 * util/grub.d/30_os-prober.in: Likewise.
10576 * util/grub.d/10_hurd.in: Likewise.
10577 * util/console.c: Likewise.
10578 * util/grub-macho2img.c: Likewise.
10579 * util/grub-probe.c: Likewise.
10580 * util/hostfs.c: Likewise.
10581 * util/i386/pc/grub-mkimage.c: Likewise.
10582 * util/i386/pc/grub-setup.c: Likewise.
10583 * util/i386/efi/grub-mkimage.c: Likewise.
10584 * util/grub-mkconfig.in: Likewise.
10585 * util/raid.c: Likewise.
10586 * util/resolve.c: Likewise.
10587 * util/grub-mkdevicemap.c: Likewise.
10588 * util/grub-emu.c: Likewise.
10589 * util/getroot.c: Likewise.
10590 * util/hostdisk.c: Likewise.
10591 * util/usb.c: Likewise.
10592 * util/grub-editenv.c: Likewise.
10593 * util/misc.c: Likewise.
10594
d2d49665 105952009-06-10 Felix Zielcke <fzielcke@z-51.de>
10596
10597 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
10598 `genparttoollist.sh'.
10599 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
10600 Add `*.sh' to the list find searches for and change `mdate.sh'
10601 to `mdate-sh'.
10602
fe052e37 106032009-06-10 Pavel Roskin <proski@gnu.org>
10604
2763ac18 10605 * include/grub/multiboot2.h: Provide compatibility defines for
10606 multiboot2.h.
10607 * include/multiboot2.h: Include stdint.h only if needed, using
10608 angle brackets.
10609 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
10610 grub/multiboot2.h.
10611 * loader/ieee1275/multiboot2.c: Likewise.
10612 * loader/multiboot2.c: Likewise.
10613 * loader/multiboot_loader.c: Likewise.
10614
437e6adc 10615 * configure.ac: Use -nostdlib when probing for the target. It
10616 should not be required to have libc for the target.
10617
06a6836c 10618 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
10619 they fail without libc headers for the target.
10620 * include/grub/powerpc/libgcc.h: Use weak attribute for all
10621 exports.
10622 * include/grub/sparc64/libgcc.h: Likewise. Don't use
10623 preprocessor conditionals.
10624
fe052e37 10625 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
10626 build system doesn't need to be aware of the tar.c internals.
10627
afd22553 106282009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 10629
afd22553 10630 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 10631
6b787c4f 106322009-06-09 Robert Millan <rmh.grub@aybabtu.com>
10633
10634 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
10635 disk limit to 26 for IDE, Virtio, Xen and SCSI.
10636
106372009-06-09 Felix Zielcke <fzielcke@z-51.de>
10638
10639 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 10640 aren't available if ata.mod gets used.
6b787c4f 10641
473d1e45 106422009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 10643
473d1e45 10644 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 10645 initialising controller.
473d1e45 10646 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 10647
255a27d4 106482009-06-08 Felix Zielcke <fzielcke@z-51.de>
10649
10650 * util/i386/pc/grub-install.in: Add a parameter --disk-module
10651 to choose between ata and biosdisk module on i386-pc.
10652
473d1e45 106532009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 10654
d55842d8 10655 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
10656 Subclass and Programming Interface fields in terms of the 3 byte
10657 Class Code register.
10658 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
10659
fa5db0b1 10660 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
10661 interface is OHCI. Add grub_dprintf for symmetry with
10662 bus/usb/uhci.c.
10663 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
10664 interface is UHCI. Add interf variable for programming
10665 interface. Print interface with class/subclass.
10666
c0947beb 10667 * bus/usb/ohci.c: Set interf with correct field.
10668
69da8877 10669 * bus/usb/uhci.c: Remove unneeded doubled lines.
10670 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
10671 Remove whitespace inside comment.
10672
9e172e30 106732009-06-08 Robert Millan <rmh.grub@aybabtu.com>
10674
10675 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
10676 as fallback an equivalent option without depth.
10677
de65ee2b 106782009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
10679
10680 Not fail if unable to retrieve C/H/S on LBA disks
10681
473d1e45 10682 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 10683 if unable to retrieve C/H/S on LBA disks
10684
b57ea2c9 106852009-06-08 Pavel Roskin <proski@gnu.org>
10686
10687 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
10688 about aliasing.
10689
af361263 106902009-06-08 Felix Zielcke <fzielcke@z-51.de>
10691
10692 * Makefile.in (uninstall): Remove all $lib_DATA files.
10693
4c9ec6b3 106942009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
10695
10696 Bugfix: install on partitionless device
10697
10698 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
10699 is a whole disk
10700
e76fc924 107012009-06-08 Felix Zielcke <fzielcke@z-51.de>
10702
10703 * Makefile.in (uninstall): Remove all $include_DATA files.
10704
ba5a0d05 107052009-06-08 Felix Zielcke <fzielcke@z-51.de>
10706
10707 * commands/true.c: New file. Implement the true and false commands.
10708 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
10709 (true_mod_SOURCES): New variable.
10710 (true_mod_CFLAGS): Likewise.
10711 (true_mod_LDFLAGS): Likewise.
10712
c8048e32 107132009-06-05 Colin D Bennett <colin@gibibit.com>
10714
10715 Optimized font character lookup using binary search instead of linear
10716 search. Fonts now are required to have the character index ordered by
10717 code point.
10718
10719 * font/font.c (load_font_index): Verify that fonts have ordered
10720 character indices.
10721 (find_glyph): Use binary search instead of linear search to find a
10722 character in a font.
10723
408305be 107242009-06-05 Michael Scherer <misc@mandriva.org>
10725
10726 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
10727 uses case sensitive btree.
10728 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
10729 only for case insensitive filesystems.
10730
8ee1e0d9 107312009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
10732
10733 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
10734 * conf/common.rmk (search_mod_CFLAGS): likewise
10735
a9966eb1 107362009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10737
473d1e45 10738 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 10739 compensate a compiler bug
10740
9e7100fb 107412009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10742
473d1e45 10743 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 10744 instead of '\b'
473d1e45 10745
ede21d71 107462009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10747
10748 Definitions for creating asm symbols with Apple's CC
10749
10750 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
10751 [APPLE_CC] (VARIABLE): likewise
10752
9dbf7653 107532009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10754
10755 Disable lnxboot.img when compiled
10756 with Apple's CC
10757
10758 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
10759 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
10760 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
10761 [! APPLE_CC] (CODE_LENG): skip
10762 [! APPLE_CC] (setup_sects): likewise
10763 [! APPLE_CC]: skip filling
473d1e45 10764
e93cdc3d 107652009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10766
10767 Address in trampolines based on 32-bit registers when compiled
10768 with Apple's CC
10769
473d1e45 10770 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 10771 for addresses
10772 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
10773
6c688477 107742009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10775
10776 Avoid aliases when compiling with Apple's CC for PCBIOS machine
10777
10778 * kern/misc.c [APPLE_CC] (memcpy): new function
10779 [APPLE_CC] (memmove): likewise
10780 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 10781 (memcpy): define alias conditionally on !APPLE_CC
6c688477 10782 (memset): likewise
10783 (abort): likewise
10784 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
10785 APPLE_CC are defined
10786 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
10787 (grub_assert_fail): make prototype conditional
10788
e37ffc5c 107892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10790
10791 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
10792
473d1e45 10793 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
10794 grub-macho2img
e37ffc5c 10795 (CLEANFILES): add grub-macho2img
10796 (grub_macho2img_SOURCES): new variable
10797 * kern/i386/pc/startup.S (bss_start): new variable
10798 (bss_end): likewise
10799 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
10800 * util/grub-macho2img.c: new file
10801
cf00df31 108022009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10803
10804 Use objconv when compiling with Apple's CC
10805
10806 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
10807 (efiemu64.o): likewise
10808 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
10809 when compiling with Apple's CC
10810 (efiemu64_s.o): likewise
10811 * configure.ac: check for objconv when compiling with Apple's CC
10812 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 10813
d119a20c 108142009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10815
10816 Define segment as well as section when compiling with
10817 Apple's CC
10818
10819 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
10820 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
10821 (efiemu_convert_pointer): likewise
10822 (efiemu_set_virtual_address_map): likewise
10823 (efiemu_convert_pointer): likewise
10824 (efiemu_getcrc32): likewise
10825 (init_crc32_table): likewise
10826 (reflect): likewise
10827 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
10828 (GRUB_MOD_DEP): likewise
473d1e45 10829
c8600122 108302009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10831
10832 Allow a compilation without -mcmodel=large
10833
10834 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
10835 when compiled without -mcmodel=large
473d1e45 10836 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 10837 without -mcmodel=large
473d1e45 10838 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 10839 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 10840
e8df1d4e 108412009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10842
10843 Remove nested functions in efiemu core
10844
10845 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 10846
cc6c3ac1 108472009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10848
10849 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
10850
10851 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
10852 temporary storage
473d1e45 10853 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
10854 using Apple's CC
cc6c3ac1 10855 (grub_cpu_is_tsc_supported): likewise
10856 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 10857
3e325901 108582009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10859
10860 Absolute addressing through constant with Apple's cc
10861
10862 * kern/i386/pc/startup.S: Define necessary constants
10863 and address through it when using ABS with Apple's CC
10864 * boot/i386/pc/diskboot.S: likewise
10865 * boot/i386/pc/boot.S: likewise
10866 * boot/i386/pc/lnxboot.S: likewise
10867 * boot/i386/pc/cdboot.S: likewise
10868 * mmap/i386/pc/mmap_helper.S: likewise
10869 * commands/i386/pc/drivemap_int13h.S: likewise
10870
2b167a72 108712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10872
10873 Check if compiler is apple cc
10874
10875 * Makefile.in (ASFLAGS): new variable
10876 (TARGET_ASFLAGS): likewise
10877 (TARGET_MODULE_FORMAT): likewise
10878 (TARGET_APPLE_CC): likewise
10879 (OBJCONV): likewise
10880 (TARGET_IMG_CFLAGS): likewise
10881 (TARGET_CPPFLAGS): add includedir
10882 * configure.ac: call grub_apple_cc and grub_apple_target_cc
10883 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
10884 Check for linker script only if compiler isn't Apple's CC
10885 (TARGET_MODULE_FORMAT): set
10886 (TARGET_APPLE_CC): likewise
10887 (TARGET_ASFLAGS): likewise
10888 (ASFLAGS): likewise
10889 Check for objcopy only if compiler isn't Apple's CC
10890 Check for BSS symbol only if compiler isn't Apple's CC
10891 * genmk.rb: adapt nm options if we use Apple's utils
10892 * aclocal.m4 (grub_apple_cc): new test
10893 (grub_apple_target_cc): likewise
473d1e45 10894
fb14123e 108952009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10896
10897 Simplify sed expressions and improve awk
10898
10899 * Makefile.in (install-local): simplify sed expression
10900 * gencmdlist.sh: likewise
10901 * genmoddep.awk: avoid adding module as a dependency of itself
10902
5b889789 109032009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10904
10905 Add missing start symbols
10906
10907 * boot/i386/pc/boot.S: add start
fb14123e 10908 * boot/i386/pc/pxeboot.S: likewise
473d1e45 10909
fd2bf2e3 109102009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10911
10912 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 10913
10914 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 10915 (relocate_addresses): consider both r_addend and value at offset
10916 (make_mods_section): zerofill modinfo and header
10917 (convert_elf): write prefix here
473d1e45 10918
5389763d 109192009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10920
10921 Use .asciz instead of .string
10922
10923 * i386/pc/diskboot.S: use .asciz instead of .string
10924 * i386/pc/boot.S: likewise
10925 * include/grub/dl.h (GRUB_MOD_DEP): likewise
10926 (GRUB_MOD_NAME): likewise
473d1e45 10927
3eb5ed4e 109282009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10929
10930 gfxpayload support
10931
10932 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
10933 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
10934 (grub_video_setup): remove
10935 (grub_video_set_mode): new prototype
10936 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
10937 (vid_mode): remove
10938 (linux_vesafb_res): compile only on PCBIOS
10939 (grub_linux_boot): support gfxpayload
10940 * loader/i386/pc/xnu.c (video_hook): new function
10941 (grub_xnu_set_video): support gfxpayload
10942 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
10943 (DEFAULT_VIDEO_HEIGHT): likewise
10944 (DEFAULT_VIDEO_FLAGS): likewise
10945 (DEFAULT_VIDEO_MODE): new definition
10946 (video_hook): new function
10947 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 10948 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 10949 loading xnu
10950 * video/video.c (grub_video_setup): removed
473d1e45 10951 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 10952 grub_video_setup
10953
4b0e1143 109542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10955
10956 Avoid calling biosdisk in drivemap
10957
10958 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
10959 (revparse_biosdisk): likewise
10960 (list_mappings): derive name from id directly
10961 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 10962
fda6cb98 109632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10964
10965 Script fixes
10966
10967 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
10968 (grub_lexer_param): add tokenonhold
10969 (grub_script_create_cmdline): remove cmdline. All callers updated
10970 (grub_script_function_create): make functionname
10971 grub_script_arg. All callers updated
10972 (grub_script_execute_argument_to_string): new prototype
10973 * kern/parser.c (state_transitions): reorder
10974 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 10975 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 10976 make global
10977 (grub_script_execute_cmdline): use new format
10978 * script/sh/function.c (grub_script_function_create): make functionname
10979 grub_script_arg. All callers updated
473d1e45 10980 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 10981 (grub_script_yylex): remove
10982 (grub_script_yylex2): renamed to ...
10983 (grub_script_yylex): ...renamed
10984 parse the expressions like a${b}c
10985 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
10986 (GRUB_PARSER_TOKEN_VAR): remove
10987 (GRUB_PARSER_TOKEN_NAME): likewise
10988 ("if"): declare as typeless
10989 ("while"): likewise
10990 ("function"): likewise
10991 ("else"): likewise
10992 ("then"): likewise
10993 ("fi"): likewise
10994 (text): remove
10995 (argument): likewise
10996 (script): accept empty scripts and make exit on error
10997 (arguments): use GRUB_PARSER_TOKEN_ARG
10998 (function): likewise
10999 (command): move error handling to script
11000 (menuentry): move grub_script_lexer_ref before
473d1e45 11001 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 11002 argument. All callers updated
11003
f4448a07 110042009-06-04 Robert Millan <rmh.grub@aybabtu.com>
11005
11006 Prevent GRUB from probing floppies during boot.
11007
11008 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
11009 * commands/search.c (options): Add --no-floppy.
11010 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
11011 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
11012 --no-floppy when searching for UUIDs.
11013
2bf5885a 110142009-06-04 Robert Millan <rmh.grub@aybabtu.com>
11015
11016 Simplify the code duplication in commands/search.c.
11017
11018 * commands/search.c (search_label, search_fs_uuid): Merge into ...
11019 (search_fs): ... this. Update all users.
11020
f6fd460a 110212009-06-03 Felix Zielcke <fzielcke@z-51.de>
11022
11023 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
11024
cbb3c83e 110252009-05-28 Pavel Roskin <proski@gnu.org>
11026
57788cfd 11027 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
11028 Remove the original symlink explicitly.
11029
cbb3c83e 11030 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
11031 just one slash. That's how grub_fshelp_find_file() does it.
11032
cd0d5e30 110332009-05-26 Pavel Roskin <proski@gnu.org>
11034
f0f8bbe2 11035 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
11036 to `str'.
11037
cd0d5e30 11038 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
11039 possibly unused.
11040
8c2cab51 110412009-05-25 Christian Franke <franke@computer.org>
11042
11043 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
11044 register.
11045 (grub_atapi_identify): Add wait after drive select.
11046 (grub_ata_identify): Do more strict status register check before
11047 calling grub_atapi_identify (). Suppress error message if status
11048 register is 0x00 after command failure. Add status register
11049 check after PIO read to avoid bogus identify due to stuck DRQ.
11050 Thanks to Pavel Roskin for testing.
11051 (grub_device_initialize): Remove unsafe status register check.
11052 Thanks to 'phcoder' for problem report and patch.
11053 Prevent sign extension in debug message.
11054
230c0ad6 110552009-05-23 Colin D Bennett <colin@gibibit.com>
11056
11057 Cleaned up `include/grub/normal.h'. Grouped prototypes by
11058 definition file, and functions defined in `normal/menu.c' have had
11059 their prototypes moved to `include/grub/menu.h' for consistency.
11060
11061 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
11062 from normal.h.
11063 (grub_menu_get_entry): Likewise.
11064 (grub_menu_get_timeout): Likewise.
11065 (grub_menu_set_timeout): Likewise.
11066 (grub_menu_execute_entry): Likewise.
11067 (grub_menu_execute_with_fallback): Likewise.
11068 (grub_menu_entry_run): Likewise.
11069
11070 * include/grub/normal.h: Re-ordered and grouped function
11071 prototypes by file that the function is defined in.
11072 (grub_menu_execute_callback): Removed; moved to menu.h.
11073 (grub_menu_get_entry): Likewise.
11074 (grub_menu_get_timeout): Likewise.
11075 (grub_menu_set_timeout): Likewise.
11076 (grub_menu_execute_entry): Likewise.
11077 (grub_menu_execute_with_fallback): Likewise.
11078 (grub_menu_entry_run): Likewise.
11079 (grub_menu_addentry): Renamed from this ...
11080 (grub_normal_add_menu_entry): ... to this.
11081
11082 * normal/main.c (grub_menu_addentry): Renamed from this ...
11083 (grub_normal_add_menu_entry): ... to this.
11084
11085 * script/sh/execute.c (grub_script_execute_menuentry): Update
11086 reference to renamed grub_menu_addentry function.
11087
861f03a5 110882009-05-23 Felix Zielcke <fzielcke@z-51.de>
11089
11090 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
11091
96b1619a 110922009-05-22 Pavel Roskin <proski@gnu.org>
11093
bf6a5fb2 11094 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
11095 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
11096 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
11097 compiling for the i386 targets, but not for the utilities.
11098
96b1619a 11099 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
11100 to grub_uint8_t.
11101 (grub_root_drive): Likewise.
11102 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
11103 remove alignment.
11104 (grub_root_drive): Change size to byte.
11105 (grub_start_addr): Remove.
11106 (grub_end_addr): Likewise.
11107 (grub_apm_bios_info): Likewise.
11108
b729776b 111092009-05-21 Felix Zielcke <fzielcke@z-51.de>
11110
11111 * normal/i386: Remove.
11112 * normal/powerpc: Likewise.
11113 * normal/sparc64: Likewise.
11114 * normal/x86_64: Likewise.
11115
0a15ce80 111162009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
11117
11118 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 11119 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 11120 * loader/i386/xnu_helper.S: Likewise
d6da58e6 11121
33db9015 111222009-05-18 Colin D Bennett <colin@gibibit.com>
11123
d6da58e6 11124 Display error messages when parsing a Lua statement fails.
11125 Previously, executing a syntactically invalid statement like
11126 ")foo" or "bar;" would silently fail.
33db9015 11127
11128 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 11129 (grub_lua_parse_line): Improved reporting of Lua parser and
11130 execution errors.
33db9015 11131
46422c89 111322009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11133
11134 Remove -Werror which causes build to fail on some systems
11135
11136 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
11137 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
11138 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 11139
22f53a96 111402009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
11141
11142 trampoline for linux on 64-bit platform
11143
18f547ad 11144 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
11145 loader/i386/efi/linux_trampoline.S
11146 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 11147 declaration
d6da58e6 11148 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
11149 here
22f53a96 11150 * loader/i386/linux_trampoline.S: moved here
d6da58e6 11151 * loader/i386/efi/linux.c (allocate_pages): reserve space for
11152 trampoline
22f53a96 11153 (jumpvector): removed
11154 (grub_linux_trampoline_start): new declaration
11155 (grub_linux_trampoline_end): likewise
11156 (grub_linux_boot): use trampoline when on 64-bit platform
11157 * loader/i386/linux.c: likewise
11158
cb5a0f40 111592009-05-16 Pavel Roskin <proski@gnu.org>
11160
11161 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
11162 const to avoid a warning.
11163 (grub_lua_setenv): Likewise.
11164 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
11165 lmsg to fix a warning.
11166
334f2c28 111672009-05-16 Felix Zielcke <fzielcke@z-51.de>
11168
11169 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 11170 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
11171 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
11172 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
11173 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
11174 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
11175 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
11176 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 11177
59e5d3ec 111782009-05-16 Felix Zielcke <fzielcke@z-51.de>
11179
11180 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
11181
9d87a1ba 111822009-05-16 Bean <bean123ch@gmail.com>
11183
11184 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
11185 (lua_mod_SOURCES): New variable.
11186 (lua_mod_CFLAGS): Likewise.
11187 (lua_mod_LDFLAGS): Likewise.
11188
11189 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
11190 (setjmp_mod_SOURCES): New variable.
11191 (setjmp_mod_CFLAGS): Likewise.
11192 (setjmp_LDFLAGS): Likewise.
11193
11194 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
11195 (setjmp_mod_SOURCES): New variable.
11196 (setjmp_mod_CFLAGS): Likewise.
11197 (setjmp_LDFLAGS): Likewise.
11198
11199 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
11200 (setjmp_mod_SOURCES): New variable.
11201 (setjmp_mod_CFLAGS): Likewise.
11202 (setjmp_LDFLAGS): Likewise.
11203
11204 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
11205 (setjmp_mod_SOURCES): New variable.
11206 (setjmp_mod_CFLAGS): Likewise.
11207 (setjmp_LDFLAGS): Likewise.
11208
11209 * normal/i386/setjmp.S: Moved from here ...
11210 * lib/i386/setjmp.S: ... Moved here
11211 * normal/x86_64/setjmp.S: Moved from here ...
11212 * lib/x86_64/setjmp.S: ... Moved here
11213 * normal/powerpc/setjmp.S: Moved from here ...
11214 * lib/powerpc/setjmp.S: ... Moved here
11215 * normal/sparc64/setjmp.S: Moved from here ...
11216 * lib/sparc64/setjmp.S: ... Moved here
11217
11218 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
11219 returns_twice in mingw.
11220
11221 * script/lua/grub_lib.c: New file.
11222 * script/lua/grub_lib.h: Likewise.
11223 * script/lua/grub_lua.h: Likewise.
11224 * script/lua/grub_main.c: Likewise.
11225 * script/lua/lapi.c: Likewise.
11226 * script/lua/lapi.h: Likewise.
11227 * script/lua/lauxlib.c: Likewise.
11228 * script/lua/lauxlib.h: Likewise.
11229 * script/lua/lbaselib.c: Likewise.
11230 * script/lua/lcode.c: Likewise.
11231 * script/lua/lcode.h: Likewise.
11232 * script/lua/ldblib.c: Likewise.
11233 * script/lua/ldebug.c: Likewise.
11234 * script/lua/ldebug.h: Likewise.
11235 * script/lua/ldo.c: Likewise.
11236 * script/lua/ldo.h: Likewise.
11237 * script/lua/ldump.c: Likewise.
11238 * script/lua/lfunc.c: Likewise.
11239 * script/lua/lfunc.h: Likewise.
11240 * script/lua/lgc.c: Likewise.
11241 * script/lua/lgc.h: Likewise.
11242 * script/lua/linit.c: Likewise.
11243 * script/lua/liolib.c: Likewise.
11244 * script/lua/llex.c: Likewise.
11245 * script/lua/llex.h: Likewise.
11246 * script/lua/llimits.h: Likewise.
11247 * script/lua/lmathlib.c: Likewise.
11248 * script/lua/lmem.c: Likewise.
11249 * script/lua/lmem.h: Likewise.
11250 * script/lua/loadlib.c: Likewise.
11251 * script/lua/lobject.c: Likewise.
11252 * script/lua/lobject.h: Likewise.
11253 * script/lua/lopcodes.c: Likewise.
11254 * script/lua/lopcodes.h: Likewise.
11255 * script/lua/loslib.c: Likewise.
11256 * script/lua/lparser.c: Likewise.
11257 * script/lua/lparser.h: Likewise.
11258 * script/lua/lstate.c: Likewise.
11259 * script/lua/lstate.h: Likewise.
11260 * script/lua/lstring.c: Likewise.
11261 * script/lua/lstring.h: Likewise.
11262 * script/lua/lstrlib.c: Likewise.
11263 * script/lua/ltable.c: Likewise.
11264 * script/lua/ltable.h: Likewise.
11265 * script/lua/ltablib.c: Likewise.
11266 * script/lua/ltm.c: Likewise.
11267 * script/lua/ltm.h: Likewise.
11268 * script/lua/lua.h: Likewise.
11269 * script/lua/luaconf.h: Likewise.
11270 * script/lua/lualib.h: Likewise.
11271 * script/lua/lundump.c: Likewise.
11272 * script/lua/lundump.h: Likewise.
11273 * script/lua/lvm.c: Likewise.
11274 * script/lua/lvm.h: Likewise.
11275 * script/lua/lzio.c: Likewise.
11276 * script/lua/lzio.h: Likewise.
11277
5e898c9d 112782009-05-16 Bean <bean123ch@gmail.com>
11279
11280 * include/grub/kernel.h (grub_module_header_types): Add type
11281 OBJ_TYPE_CONFIG.
11282
11283 * kern/main.c (grub_load_config): New function.
11284 (grub_main): Call grub_load_config to read boot config.
11285
11286 * grub-mkimage (generate_image): New parameter config_path.
11287 (options): New option --config.
11288 (main): Parse --config option, and pass it to generate_image.
11289
cf353a47 112902009-05-14 Christian Franke <franke@computer.org>
11291
11292 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
11293 This fixes build on Cygwin.
11294
3834887f 112952009-05-14 Pavel Roskin <proski@gnu.org>
11296
11297 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
11298 jump. This saves two bytes, so the typical case of 2 swapped
11299 drives would fit 32 bytes.
11300
8090fc01 113012009-05-13 Pavel Roskin <proski@gnu.org>
11302
ac963883 11303 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
11304 grub_uint32_t to avoid a warning.
11305
8090fc01 11306 * loader/i386/linux.c (allocate_pages): When assigning
11307 real_mode_mem, cast through grub_size_t to fix a warning. The
11308 code already makes sure that the value would fit a pointer.
11309 (grub_linux_setup_video): Cast render_target->data to
11310 grub_size_t to fix a warning.
11311
18f547ad 113122009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 11313
11314 * commands/i386/pc/drivemap.c: New file - implement drivemap
11315 command.
11316 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
11317 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
11318
6f6a8b28 113192009-05-13 Pavel Roskin <proski@gnu.org>
11320
11321 * util/i386/pc/grub-setup.c (setup): Remove unused variable
11322 embedding_area_exists.
11323
15fbf4c4 113242009-05-13 Robert Millan <rmh.grub@aybabtu.com>
11325
11326 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
11327 it easier to understand / work with.
59978c8a 11328 Improve warning messages for cases where there's no embedding area,
11329 or when it is too small (or core.img too large).
15fbf4c4 11330
238e871f 113312009-05-13 Pavel Roskin <proski@gnu.org>
11332
0ab3a9a4 11333 * loader/i386/pc/multiboot2.c: Add necessary includes for
11334 grub_multiboot2_real_boot().
11335
a2c8c5f8 11336 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
11337 PX record is always little-endian. We only need the lower 2
11338 bytes of the mode.
11339
faec96af 11340 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
11341 facilitate code reuse.
11342 (grub_cpio_mount): Use "struct head", not a char buffer. This
11343 fixes a warning reported by gcc 4.4.
11344
238e871f 11345 * kernel/disk.c (grub_disk_read): Use void pointer for the
11346 buffer.
11347 (grub_disk_write): Use const void pointer for the buffer.
11348 Adjust all callers. Remove unnecessary casts.
11349
901d2f0c 113502009-05-10 Robert Millan <rmh.grub@aybabtu.com>
11351
11352 * util/i386/pc/grub-install.in: Update copyright year.
11353
18f547ad 113542009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 11355
11356 gptsync
11357
11358 * commands/gptsync.c: new file
11359 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
11360 (gptsync_mod_SOURCES): new variable
11361 (gptsync_mod_CFLAGS): likewise
11362 (gptsync_mod_LDFLAGS): likewise
18f547ad 11363 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 11364 new definition
11365 (GRUB_PC_PARTITION_TYPE_HFS): likewise
11366 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
11367 * conf/i386-ieee1275.rmk: likewise
11368 * conf/i386-pc.rmk: likewise
11369 * conf/powerpc-ieee1275.rmk: likewise
11370
b4ba690a 113712009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11372
11373 Fixed grub-emu
11374
11375 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
11376 (grub_dl_ref): likewise
11377
317e1a44 113782009-05-08 Robert Millan <rmh.grub@aybabtu.com>
11379
11380 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
11381 split in two functions (one for msdos and one for gpt).
11382
041b8094 113832009-05-08 Pavel Roskin <proski@gnu.org>
11384
752473c2 11385 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
11386 not modified.
11387
041b8094 11388 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
11389 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
11390 Initialize them with -1. Add sanity check for bad1. Eliminate
11391 nerr variable.
11392
172800ce 113932009-05-08 David S. Miller <davem@davemloft.net>
11394
11395 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
11396
29aa5e81 113972009-05-06 Robert Millan <rmh.grub@aybabtu.com>
11398
11399 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 11400 existence.
29aa5e81 11401
96613b62 114022009-05-05 Felix Zielcke <fzielcke@z-51.de>
11403
11404 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 11405 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 11406
eef73c8a 114072009-05-05 David S. Miller <davem@davemloft.net>
11408
11409 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
11410
119494b5 114112009-05-05 Pavel Roskin <proski@gnu.org>
11412
11413 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
11414 of grub_dl_ref() and grub_dl_unref().
11415 * commands/parttool.c: Remove preprocessor conditionals around
11416 grub_dl_ref() and grub_dl_unref().
11417 * fs/affs.c: Likewise.
11418 * fs/afs.c: Likewise.
11419 * fs/cpio.c: Likewise.
11420 * fs/ext2.c: Likewise.
11421 * fs/fat.c: Likewise.
11422 * fs/hfs.c: Likewise.
11423 * fs/hfsplus.c: Likewise.
11424 * fs/iso9660.c: Likewise.
11425 * fs/jfs.c: Likewise.
11426 * fs/minix.c: Likewise.
11427 * fs/ntfs.c: Likewise.
11428 * fs/reiserfs.c: Likewise.
11429 * fs/sfs.c: Likewise.
11430 * fs/udf.c: Likewise.
11431 * fs/ufs.c: Likewise.
11432 * fs/xfs.c: Likewise.
11433 * include/grub/dl.h: Likewise.
11434 * loader/xnu.c: Likewise.
11435
de5fd76e 114362009-05-04 Pavel Roskin <proski@gnu.org>
11437
11438 * commands/acpi.c: Remove unused variable my_mod.
11439 * partmap/amiga.c: Likewise.
11440 * partmap/apple.c: Likewise.
11441 * partmap/gpt.c: Likewise.
11442 * partmap/pc.c: Likewise.
11443 * partmap/sun.c: Likewise.
11444 * term/gfxterm.c: Likewise.
11445 * term/i386/pc/vesafb.c: Likewise.
11446 * term/i386/pc/vga.c: Likewise.
11447
983598ad 114482009-05-04 David S. Miller <davem@davemloft.net>
11449
11450 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
11451 pointer args to grub_ieee1275_get_property().
11452
8aadec43 11453 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
11454
9554b15e 11455 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
11456 devices, and do not traverse down under controller nodes.
11457
67e23c90 11458 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
11459 (grub_ofdisk_open): Use it to un-escape "," characters.
11460 * kern/disk.c (find_part_sep): New.
11461 (grub_disk_open): Use it to find the first non-escaped ','
11462 character in the disk name.
11463 * util/ieee1275/devicemap.c (escape_of_path): New.
11464 (grub_util_emit_devicemap_entry): Use it.
11465 * util/sparc64/ieee1275/grub-install.in: Update script to
11466 strip partition specifiers properly by not triggering on
11467 '\' escaped ',' characters.
11468
74bfdd2f 114692009-05-04 Robert Millan <rmh.grub@aybabtu.com>
11470
11471 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
11472 to 0x300.
11473 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
11474 resolutions.
11475 (linux_vesafb_modes): Add a lot of additional modes to the list (based
11476 on documentation from Wikipedia).
11477
4241d2b1 114782009-05-04 Pavel Roskin <proski@gnu.org>
11479
11480 * disk/ata.c: Spelling fixes.
11481 * disk/raid.c: Likewise.
11482 * disk/usbms.c: Likewise.
11483 * disk/dmraid_nvidia.c: Likewise.
11484 * kern/ieee1275/openfw.c: Likewise.
11485 * kern/ieee1275/init.c: Likewise.
11486 * kern/ieee1275/cmain.c: Likewise.
11487 * boot/i386/pc/cdboot.S: Likewise.
11488 * video/readers/png.c: Likewise.
11489 * video/i386/pc/vbe.c: Likewise.
11490 * fs/udf.c: Likewise.
11491 * fs/hfs.c: Likewise.
11492 * fs/reiserfs.c: Likewise.
11493 * efiemu/runtime/efiemu.c: Likewise.
11494 * efiemu/main.c: Likewise.
11495 * efiemu/mm.c: Likewise.
11496 * include/grub/elf.h: Likewise.
11497 * include/grub/xnu.h: Likewise.
11498 * include/grub/usbdesc.h: Likewise.
11499 * include/grub/usb.h: Likewise.
11500 * include/grub/script_sh.h: Likewise.
11501 * include/grub/lib/LzmaEnc.h: Likewise.
11502 * include/grub/efiemu/efiemu.h: Likewise.
11503 * include/grub/command.h: Likewise.
11504 * normal/menu.c: Likewise.
11505 * normal/main.c: Likewise.
11506 * normal/datetime.c: Likewise.
11507 * bus/usb/uhci.c: Likewise.
11508 * mmap/i386/uppermem.c: Likewise.
11509 * mmap/mmap.c: Likewise.
11510 * commands/acpi.c: Likewise.
11511 * commands/test.c: Likewise.
11512 * partmap/apple.c: Likewise.
11513 * font/font.c: Likewise.
11514 * loader/sparc64/ieee1275/linux.c: Likewise.
11515 * loader/macho.c: Likewise.
11516 * loader/i386/bsd_trampoline.S: Likewise.
11517 * loader/i386/bsd.c: Likewise.
11518 * loader/xnu.c: Likewise.
11519 * term/i386/pc/vesafb.c: Likewise.
11520 * term/usb_keyboard.c: Likewise.
11521 * util/resolve.c: Likewise.
11522 * util/getroot.c: Likewise.
11523
0cfc0083 115242009-05-04 Felix Zielcke <fzielcke@z-51.de>
11525
11526 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
11527
7c1d00cd 115282009-05-04 Robert Millan <rmh.grub@aybabtu.com>
11529
11530 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
11531 build error.
11532
b01f0548 115332009-05-04 Robert Millan <rmh.grub@aybabtu.com>
11534
11535 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
11536 parameter only available on BIOS.
11537
ecc3eb22 115382009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
11539
11540 Removed wrong semicolon in declaration
11541
11542 * grub/misc.h (grub_dprintf): remove semicolon
11543
112972a9 115442009-05-04 Robert Millan <rmh.grub@aybabtu.com>
11545
11546 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
11547 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
11548 is done by grub_cmd_linux() now).
11549 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
11550 restore video to text mode.
11551 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
11552 indicates lack of "vga=" parameter. "vga=0" is mapped to
11553 `GRUB_LINUX_VID_MODE_NORMAL'.
11554
afd5c115 115552009-05-04 Felix Zielcke <fzielcke@z-51.de>
11556
11557 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
11558 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
11559 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 11560 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 11561 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
11562 `grub_script.tab.c'.
11563
11564 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11565 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11566 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11567 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
11568 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11569
faa517ce 11570 * Makefile.in: Remove duplicated 2008 in Copyright line.
11571
ae0c0bdc 115722009-05-04 Robert Millan <rmh.grub@aybabtu.com>
11573
473d1e45 11574 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 11575 unconditionally.
11576 * include/grub/util/misc.h (grub_util_warn): New declaration.
11577
11578 * util/i386/pc/grub-install.in: Understand --force and pass it down
11579 to grub-setup.
11580
11581 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
11582 down to setup().
11583 (setup): Improve error messages and add warnings when requested to
11584 install in odd layouts. Refuse to install using blocklists unless
11585 --force was set.
11586
18f547ad 115872009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 11588
11589 * disk/raid.c (grub_raid_scan_device): Improve debug message.
11590
6d260daa 115912009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
11592
11593 Updated copyright year
11594
11595 * fs/hfsplus.c: updated copyright year
18f547ad 11596
69f853f8 115972009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
11598
11599 HFS+ UUID
11600
18f547ad 11601 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 11602 in the space previously used by unused3
11603 (grub_hfsplus_uuid): new function
11604 (grub_hfsplus_fs): added uuid field
11605
4c402e73 116062009-05-03 Pavel Roskin <proski@gnu.org>
11607
11608 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
11609 suppress warnings. It's no longer needed.
11610 * disk/host.c: Likewise.
11611 * disk/ata_pthru.c: Likewise.
11612 * disk/loopback.c: Likewise.
11613 * hook/datehook.c: Likewise.
11614 * parttool/pcpart.c: Likewise.
11615 * fs/i386/pc/pxe.c: Likewise.
11616 * fs/ntfscomp.c: Likewise.
11617 * efiemu/main.c: Likewise.
11618 * mmap/mmap.c: Likewise.
11619 * commands/crc.c: Likewise.
11620 * commands/hexdump.c: Likewise.
11621 * commands/hdparm.c: Likewise.
11622 * commands/acpi.c: Likewise.
11623 * commands/echo.c: Likewise.
11624 * commands/minicmd.c: Likewise.
11625 * commands/blocklist.c: Likewise.
11626 * commands/memrw.c: Likewise.
11627 * commands/loadenv.c: Likewise.
11628 * commands/usbtest.c: Likewise.
11629 * commands/lsmmap.c: Likewise.
11630 * commands/boot.c: Likewise.
11631 * commands/parttool.c: Likewise.
11632 * commands/configfile.c: Likewise.
11633 * commands/search.c: Likewise.
11634 * commands/ieee1275/suspend.c: Likewise.
11635 * commands/cat.c: Likewise.
11636 * commands/i386/pc/pxecmd.c: Likewise.
11637 * commands/i386/pc/play.c: Likewise.
11638 * commands/i386/pc/halt.c: Likewise.
11639 * commands/i386/pc/vbeinfo.c: Likewise.
11640 * commands/i386/pc/vbetest.c: Likewise.
11641 * commands/lspci.c: Likewise.
11642 * commands/date.c: Likewise.
11643 * commands/handler.c: Likewise.
11644 * commands/ls.c: Likewise.
11645 * commands/test.c: Likewise.
11646 * commands/cmp.c: Likewise.
11647 * commands/efi/loadbios.c: Likewise.
11648 * commands/efi/fixvideo.c: Likewise.
11649 * commands/halt.c: Likewise.
11650 * commands/help.c: Likewise.
11651 * commands/reboot.c: Likewise.
11652 * hello/hello.c: Likewise.
11653 * script/sh/main.c: Likewise.
11654 * loader/xnu.c: Likewise.
11655 * term/terminfo.c: Likewise.
11656 * term/i386/pc/serial.c: Likewise.
11657 * term/usb_keyboard.c: Likewise.
11658
515b5079 116592009-05-03 David S. Miller <davem@davemloft.net>
11660
11661 * normal/menu.c: Include grub/parser.h
11662
dfc31a22 116632009-05-03 Pavel Roskin <proski@gnu.org>
11664
2fee74f1 11665 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
11666 not char*.
11667 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
11668 Suggested by Javier Martín <lordhabbit@gmail.com>
11669
dfc31a22 11670 * util/i386/pc/grub-mkrescue.in: Allow for the case when
11671 efiemu??.o doesn't exist.
11672 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
11673 copying.
11674
18f547ad 116752009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 11676
11677 FreeBSD 64-bit support
11678
18f547ad 11679 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 11680 and loader/i386/bsd_trampoline.S
11681 (bsd_mod_ASFLAGS): new variable
11682 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
11683 (FREEBSD_MODTYPE_KERNEL64): likewise
11684 (grub_bsd64_trampoline_start): likewise
11685 (grub_bsd64_trampoline_end): likewise
11686 (grub_bsd64_trampoline_selfjump): likewise
11687 (grub_bsd64_trampoline_gdt): likewise
11688 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
11689 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
11690 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
11691 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 11692 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 11693 of "attrib" member
11694 * loader/i386/bsd_pagetable.c: new file
11695 * loader/i386/bsd_trampoline.S: likewise
11696 * loader/i386/bsd.c (ALIGN_QWORD): new macro
11697 (ALIGN_VAR): likewise
11698 (entry_hi): new variable
11699 (kern_end_mdofs): likewise
11700 (is_64bit): likewise
11701 (grub_freebsd_add_meta): use ALIGN_VAR
11702 (grub_e820_mmap): new declaration
11703 (grub_freebsd_add_mmap): new function
11704 (grub_freebsd_add_meta_module): support 64 bit kernels
11705 (grub_freebsd_list_modules): use ALIGN_VAR
11706 (gdt_descriptor): new declaration
11707 (grub_freebsd_boot): support 64 bit kernels
11708 (grub_bsd_elf64_hook): new function
11709 (grub_bsd_load_elf): support elf64
11710
038c5720 117112009-05-03 Bean <bean123ch@gmail.com>
11712
11713 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
11714 after we get the result of if statement.
11715
fc45fb58 117162009-05-03 Bean <bean123ch@gmail.com>
11717
11718 * Makefile.in (enable_efiemu): New variable.
11719
11720 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
11721 set.
11722 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
11723 path.
11724 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
11725 path, add -mno-red-zone option.
11726 (efiemu64_s.o): Likewise.
11727 (efiemu64.o): Use macro $^ for source file.
11728
11729 * configure.ac (--enable-efiemu): New option.
11730
bbee0f2b 117312009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11732
11733 xnu support
11734
11735 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
11736 (pkglib_MODULES): add xnu.mod
11737 (xnu_mod_SOURCES): new variable
11738 (xnu_mod_CFLAGS): likewise
11739 (xnu_mod_LDFLAGS): likewise
11740 (xnu_mod_ASFLAGS): likewise
11741 * conf/i386-pc.rmk: likewise
11742 * conf/x86_64-efi.rmk: likewise
7dd4a573 11743 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 11744 new declaration
11745 * include/grub/i386/macho.h: new file
11746 * include/grub/i386/xnu.h: likewise
11747 * include/grub/macho.h: likewise
11748 * include/grub/machoload.h: likewise
11749 * include/grub/x86_64/macho.h: likewise
11750 * include/grub/x86_64/xnu.h: likewise
11751 * include/grub/xnu.h: likewise
11752 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
11753 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
11754 * loader/i386/efi/xnu.c: new file
11755 * loader/i386/pc/xnu.c: likewise
11756 * loader/i386/xnu.c: likewise
11757 * loader/i386/xnu_helper.S: likewise
11758 * loader/macho.c: likewise
11759 * loader/xnu.c: likewise
11760 * loader/xnu_resume.c: likewise
11761 * util/grub-dumpdevtree: likewise
11762 * include/grub/i386/pit.h: include grub/err.h
11763 (grub_pit_wait): export
11764 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 11765
5caf964d 117662009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
11767
11768 Efiemu
7dd4a573 11769
5caf964d 11770 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 11771 _linux_efi, linux_efi.
11772 new files in grub-emu
5caf964d 11773 new targets efiemu32.o and efiemu64.o
11774 * loader/linux_normal_efiemu.c: likewise
11775 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 11776 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 11777 files to copy
11778 * include/grub/autoefi.h: new file
7dd4a573 11779 * include/grub/i386/efiemu.h: likewise
5caf964d 11780 * include/grub/i386/pc/efiemu.h: likewise
11781 * include/grub/efi/api.h: add LL suffix when necessary
11782 new definitions relating to tables
11783 * include/grub/efiemu/efiemu.h: new file
11784 * include/grub/efiemu/runtime.h: likewise
11785 * efiemu/prepare.c: likewise
11786 * efiemu/loadcore_common.c: likewise
11787 * efiemu/loadcore64.c: likewise
11788 * efiemu/runtime/efiemu.sh: likewise
11789 * efiemu/runtime/efiemu.S: likewise
11790 * efiemu/runtime/efiemu.c: likewise
11791 * efiemu/runtime/config.h: likewise
11792 * efiemu/prepare32.c: likewise
11793 * efiemu/main.c: likewise
11794 * efiemu/modules/pnvram.c: likewise
11795 * efiemu/modules/i386: likewise
11796 * efiemu/modules/i386/pc: likewise
11797 * efiemu/modules/acpi.c: likewise
11798 * efiemu/i386/pc/cfgtables.c: likewise
11799 * efiemu/i386/loadcore64.c: likewise
11800 * efiemu/i386/loadcore32.c: likewise
11801 * efiemu/prepare64.c: likewise
11802 * efiemu/loadcore.c: likewise
11803 * efiemu/symbols.c: likewise
11804 * efiemu/mm.c: likewise
11805 * efiemu/loadcore32.c: likewise
7dd4a573 11806
118072009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 11808
11809 ACPI spoofing
11810
11811 * commands/acpi.c: new file
11812 * commands/i386/pc/acpi.c: likewise
11813 * commands/efi/acpi.c: likewise
11814 * include/grub/acpi.h: likewise
11815 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
11816 (acpi_mod_SOURCES): new variable
11817 (acpi_mod_CFLAGS): likewise
11818 (acpi_mod_LDFLAGS): likewise
11819 * conf/i386-efi.rmk: likewise
11820 * conf/x86_64-efi.rmk: likewise
11821
7dd4a573 118222009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 11823
11824 Missing part from mmap patch
11825
11826 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
11827 (grub_mmap_unregister)
11828 (grub_mmap_free_and_unregister): use grub_mmap_register
11829
7dd4a573 118302009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 11831
11832 Mmap services
11833
11834 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
11835 * loader/i386/linux.c (find_mmap_size): likewise
11836 (allocate_pages): likewise
11837 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
11838 (grub_fill_multiboot_mmap): likewise
11839 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
11840 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
11841 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
11842 (OPENBSD_MMAP_RESERVED): likewise
11843 * include/grub/i386/pc/memory.h: include grub/memory.h
11844 (grub_lower_mem): removed
11845 (grub_upper_mem): likewise
11846 (GRUB_MACHINE_MEMORY_ACPI): new definition
11847 (GRUB_MACHINE_MEMORY_NVS): likewise
11848 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
11849 (GRUB_MACHINE_MEMORY_HOLE): likewise
11850 (grub_machine_mmap_register): likewise
11851 (grub_machine_mmap_unregister): likewise
11852 (grub_machine_get_upper): likewise
11853 (grub_machine_get_lower): likewise
11854 (grub_machine_get_post64): likewise
11855 * include/grub/i386/efi/memory.h: new file
11856 * include/grub/x86_64/efi/memory.h: likewise
11857 * include/grub/efi/memory.h: likewise
11858 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
11859 (mmap_mod_SOURCES): new variable
11860 (mmap_mod_LDFLAGS): likewise
11861 (mmap_mod_ASFLAGS): likewise
11862 * conf/i386-coreboot.rmk: likewise
11863 * conf/i386-ieee1275.rmk: likewise
11864 * conf/i386-efi.rmk: likewise
11865 * conf/x86_64-efi.rmk: likewise
11866 * include/grub/types.h (UINT_TO_PTR): new macro
11867 (PTR_TO_UINT32): likewise
11868 (PTR_TO_UINT64): likewise
11869 * include/grub/memory.h: new file
11870 * mmap/i386/pc/mmap.c: likewise
11871 * mmap/i386/pc/mmap_helper.S: likewise
11872 * mmap/i386/uppermem.c: likewise
11873 * mmap/mmap.c: likewise
11874 * mmap/efi/mmap.c: likewise
7dd4a573 11875 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 11876 grub_upper_mem
11877 * kern/i386/pc/init.c (grub_lower_mem): removed variable
11878 (grub_upper_mem): likewise
11879 (grub_machine_init): don't use grub_upper_mem,
11880 make grub_lower_mem local
11881 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
11882 grub_mmap_iterate and grub_mmap_get_upper
11883 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
11884
d558e6b5 118852009-05-02 Bean <bean123ch@gmail.com>
11886
11887 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
11888 script/sh/parser.y.
11889 (pkglib_MODULES): Add normal.mod and sh.mod.
11890 (normal_SOURCES): New variable.
11891 (normal_mod_CFLAGS): Likewise.
11892 (normal_mod_LDFLAGS): Likewise.
11893 (sh_mod_SOURCES): Likewise.
11894 (sh_mod_CFLAGS): Likewise.
11895 (sh_mod_LDFLAGS): Likewise.
11896
11897 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
11898 script/sh/lexer.c_DEPENDENCIES.
11899 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
11900 kern/rescue_reader.c and kern/rescue_parser.c.
11901 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
11902 (grub_emu_SOURCES): Change source files.
11903 (pkglib_MODULES): Remove normal.mod.
11904 (normal_SOURCES): Removed.
11905 (normal_mod_CFLAGS): Likewise.
11906 (normal_mod_LDFLAGS): Likewise.
11907 * conf/i386-coreboot.rmk: Likewise.
11908 * conf/i386-efi.rmk: Likewise.
11909 * conf/i386-ieee1276.rmk: Likewise.
11910 * conf/powerpc-ieee1275.rmk: Likewise.
11911 * conf/sparc64-ieee1275.rmk: Likewise.
11912 * conf/x86_64-efi.rmk: Likewise.
11913
11914 * include/grub/command.h (grub_command_execute): New inline function.
11915
11916 * include/grub/menu.h (grub_menu_entry): Removed commands field.
11917
11918 * include/grub/normal.h: Remove <grub/setjmp.h>.
11919 (grub_fs_module_list): Moved to normal/autofs.c.
11920 (grub_exit_env): Removed.
11921 (grub_command_execute): Likewise.
11922 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
11923 parameter script.
11924 (read_command_list): New function declaration.
11925 (read_fs_list): Likewise.
11926
11927 * include/parser.h: Include <grub/reader.h>.
11928 (grub_parser_split_cmdline): Change type of getline parameter.
11929 (grub_parser): New structure.
11930 (grub_parser_class): New variable.
11931 (grub_parser_execute): New function declaration.
11932 (grub_register_rescue_parser): Likewise.
11933 (grub_parser_register): New inline function.
11934 (grub_parser_unregister): Likewise.
11935 (grub_parser_get_current): Likewise.
11936 (grub_parser_set_current): Likewise.
11937
11938 * include/grub/reader.h: New file.
11939 * kern/reader.c: Likewise.
11940 * kern/rescue_parser.c: Likewise.
11941 * kern/rescue_reader.c: Likewise.
11942 * normal/autofs.c: Likewise.
11943 * normal/dyncmd.c: Likewise.
11944
11945 * include/grub/rescue.h: Removed.
11946 * normal/command.h: Likewise.
11947
11948 * include/grub/script.h: Moved to ...
11949 * include/grub/script_sh.h: ... Moved here.
11950 * normal/execute.c: Moved to ...
11951 * script/sh/execute.c: ... Moved here.
11952 * normal/function.c: Moved to ...
11953 * script/sh/function.c: ... Moved here.
11954 * normal/lexer.c: Moved to ...
11955 * script/sh/lexer.c: ... Moved here.
11956 * normal/parser.y: Moved to ...
11957 * script/sh/parser.y: ... Moved here.
11958 * normal/script.c: Moved to ...
11959 * script/sh/script.c: ... Moved here.
11960
11961 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
11962 <grub/reader.h>.
11963 (grub_exit_env): Removed.
11964 (fs_module_list): Moved to normal/autofs.c.
11965 (grub_file_getline): Don't handle comment here.
11966 (free_menu): Skip removed field entry->commands.
11967 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
11968 script parameter.
11969 (read_config_file): Removed nested parameter, change getline function.
11970 (grub_enter_normal_mode): Removed.
11971 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
11972 (read_command_list): Likewise.
11973 (autoload_fs_module): Moved to normal/autofs.c.
11974 (read_fs_list): Likewise.
11975 (reader_nested): New variable.
11976 (grub_normal_execute): Run parser.sh to switch to sh parser.
11977 (grub_cmd_rescue): Removed.
11978 (cmd_normal): Removed.
11979 (grub_cmd_normal): Unregister itself at the beginning. Don't register
11980 rescue command.
11981 (grub_cmdline_run): New function.
11982 (grub_normal_reader_init): Likewise.
11983 (grub_normal_read_line): Likewise.
11984 (grub_env_write_pager): Likewise.
11985 (cmdline): New variable.
11986 (grub_normal_reader): Likewise.
11987 (GRUB_MOD_INIT): Register normal reader and set as current, register
11988 pager hook, register normal command with grub_register_command_prio,
11989 so that it won't show up in command.lst.
11990 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
11991 grub_fs_autoload_hook.
11992
11993 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
11994 (grub_menu_execute_entry): Replace grub_script_execute with
11995 grub_parser_execute, change parameter to grub_command_execute.
11996
11997 * normal/menu_text.c: Remove <grub/script.h>.
11998
11999 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
12000 and <grub/parser.h>.
12001 (run): Change editor_getline to use new parser interface. Change
12002 parameter to grub_command_execute.
12003
12004 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
12005 <grub/reader.h> and <grub/parser.h>.
12006 (grub_load_normal_mode): Execute normal command.
12007 (grub_main): Call grub_register_core_commands,
12008 grub_register_rescue_parser and grub_register_rescue_reader, use
12009 grub_reader_loop to enter input loop.
12010
7dd4a573 12011 * kern/parser.c (grub_parser_split_cmdline): Change type of
12012 getline parameter.
d558e6b5 12013 (grub_parser_class): New variable.
12014 (grub_parser_execute): New function.
12015
12016 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
12017 * loader/multiboot2.c: Likewise.
12018 * loader/sparc64/ieee1275/linux.c: Likewise.
12019
12020 * util/grub-emu.c (read_command_list): New dummy function.
12021
18db813d 120222009-05-02 Robert Millan <rmh.grub@aybabtu.com>
12023
12024 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
12025 count to 16 for CCISS and IDA.
12026
6c67de15 120272009-05-02 Robert Millan <rmh.grub@aybabtu.com>
12028
12029 * normal/menu_text.c (grub_wait_after_message): Print a newline
12030 after waiting for user input.
12031
12032 * loader/i386/linux.c: Include `<grub/normal.h>'.
12033 (grub_cmd_linux): Improve the error message about `ask' mode, by
12034 waiting for user input so it's not missed (we can do this, since
12035 user requested interaction).
12036
d9dc87b0 120372009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
12038
12039 Added missing lst to grub-mkrescue
12040
12041 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
12042 and ${input_dir}/parttool.lst
12043
ac8a2baa 120442009-04-30 David S. Miller <davem@davemloft.net>
12045
ad22a610 12046 * util/hostdisk.c (device_is_wholedisk): New function.
12047 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
12048 zero only if device_is_wholedisk() returns true.
12049
6966215d 12050 * util/hostdisk.c (convert_system_partition_to_system_disk):
12051 Handle virtual disk devices named /dev/vdiskX as found on sparc
12052 and powerpc.
12053
ac8a2baa 12054 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
12055 lettered partition specifier is found, convert to numbered.
12056
979b4fb4 120572009-04-29 David S. Miller <davem@davemloft.net>
12058
e2bf39b2 12059 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
12060 * include/grub/sparc64/ieee1275/memory.h: Likewise.
12061
3c64e104 12062 * normal/command.c: Add missing newline at end of file.
12063
979b4fb4 12064 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
12065 warnings.
12066 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
12067 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
12068 grub_ofdisk_read): Likewise, and deal similarly with the fact that
12069 ihandles have a 32-bit type but need to be stored in a "void *".
12070
136d9f82 120712009-04-28 Pavel Roskin <proski@gnu.org>
12072
9459c306 12073 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
12074 not disk. Adjust all dependencies.
2e08a26a 12075 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 12076 grub_disk_close().
12077
136d9f82 12078 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
12079 parent's partition, don't copy it by reference, as it gets freed
12080 on close.
12081
7dd4a573 120822009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 12083
12084 Preboot hooks support
12085
12086 * commands/boot.c (struct grub_preboot_t): new declaration
12087 (preboots_head): new variable
12088 (preboots_tail): likewise
12089 (grub_loader_register_preboot_hook): new function
12090 (grub_loader_unregister_preboot_hook): likewise
12091 (grub_loader_set): launch preboot hooks
12092 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
12093 (grub_loader_register_preboot_hook): new declaration
12094 (grub_loader_unregister_preboot_hook): likewise
12095
5af922b5 120962009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
12097
12098 Warning fix
12099
7dd4a573 12100 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 12101 calling grub_dprintf
12102
a5562c30 121032009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
12104
12105 Bug and warning fixes
12106
7dd4a573 12107 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 12108 declaration
12109 * commands/test.c (test_parse): fixed bug with file tests and corrected
12110 declaration of find_file
12111
4006f85c 121122009-04-26 Pavel Roskin <proski@gnu.org>
12113
12114 * Makefile.in: Don't install empty manual pages if help2man is
12115 missing. Use help2man option for output, not shell redirection.
12116
5c77c3de 121172009-04-26 David S. Miller <davem@davemloft.net>
12118
12119 * util/grub-mkdevicemap.c (make_device_map): Add missing
12120 NESTED_FUNC_ATTR to process_device().
12121
033b10a8 121222009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12123
12124 Test command
12125
12126 * commands/test.c: rewritten to use bash-like test
12127
e4343593 121282009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
12129
12130 Parttool autoloading and improvements
12131
7dd4a573 12132 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 12133 (parttool.lst): new target
12134 * genmk.rb: generate parttool-*
12135 (CLEANFILES): add #{parttool}
12136 (PARTTOOLFILES): new variable
12137 * genparttoollist.sh: new file
7dd4a573 12138 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 12139 (grub_pcpart_type): likewise
12140 * commands/parttool.c (helpmsg): new variable
12141 (grub_cmd_parttool): output help if not enough arguments are supplied
12142 autoload modules
12143 (GRUB_MOD_INIT(parttool)): use helpmsg
12144
0d312500 121452009-04-24 David S. Miller <davem@davemloft.net>
12146
7dd4a573 12147 Avoiding opening same device multiple times in device iterator.
0d312500 12148
12149 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 12150 and use it to build a list of partitions in iterate_disk() and
0d312500 12151 iterate_partition().
12152
ac20caff 12153 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
12154 on disk->data.
12155
0dcf7495 12156 * disk/ieee1275/nand.c (grub_nand_iterate): Return
12157 grub_devalias_iterate() result instead of unconditional 0.
12158 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
12159 Also, capture hook return value, either directly or via
12160 grub_children_iterate(), and propagate to caller.
12161 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
12162 grub_children_iterate): Return value is now 'int' instead of
12163 'grub_err_t'.
12164 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
12165 like a proper iterator, stopping when hooks return non-zero.
12166 (grub_devalias_iterate): Likewise.
12167
c8c08833 121682009-04-23 David S. Miller <davem@davemloft.net>
12169
12170 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
12171
f01005a8 121722009-04-22 David S. Miller <davem@davemloft.net>
12173
12174 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
12175 is larger than address_cells, use that value for address_cells too.
12176
4e8269da 12177 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
12178 IEEE1275_MAX_PATH_LEN): Define.
12179 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
12180 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
12181 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
12182 'devtype'. Explicitly NULL terminate devalias expansion.
12183
a1447506 12184 * util/sparc64/ieee1275/misc.c: New file.
12185 * util/sparc64/ieee1275/grub-setup.c: New file.
12186 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
12187 * util/sparc64/ieee1275/grub-mkimage.c: New file.
12188 * util/sparc64/ieee1275/grub-install.in: New file.
12189 * util/ieee1275/ofpath.c: New file.
12190 * util/ieee1275/devicemap.c: New file.
12191 * util/devicemap.c: New file.
12192 * util/deviceiter.c: New file.
12193 * kern/sparc64/ieee1275/init.c: New file.
12194 * include/grub/util/ofpath.h: New file.
12195 * include/grub/util/deviceiter.h: New file.
12196 * util/grub-mkdevicemap.c: Include deviceiter.h.
12197 Implement using grub_util_emit_devicemap_entry and
12198 grub_util_iterate_devices.
12199 * conf/i386-corebook.rmk: Build util/deviceiter.c and
12200 util/devicemap.c into grub-mkdevicemap
12201 * conf/i386-efi.rmk: Likewise.
12202 * conf/i386-ieee1275.rmk: Likewise.
12203 * conf/i386-pc.rmk: Likewise.
12204 * conf/powerpc-ieee1275.rmk: Likewise.
12205 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
12206 images and installation utilities. Build kernel as image
12207 instead of as elf binary. Use common rules as much as possible.
12208
7dd4a573 122092009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 12210
12211 Correct GPT definition
12212
7dd4a573 12213 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 12214 of "attrib" member
12215
c6c5219f 122162009-04-19 Felix Zielcke <fzielcke@z-51.de>
12217
12218 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
12219
0552ff9f 122202009-04-19 David S. Miller <davem@davemloft.net>
12221
12222 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
12223 (grub_rescue_cmd_linux): Rename to...
12224 (grub_cmd_linux): and fix prototype.
12225 (grub_rescue_cmd_initrd): Rename to...
12226 (grub_cmd_initrd): and fix prototype.
12227 (cmd_linux, cmd_initrd): New.
12228 (GRUB_MOD_INIT(linux)): Use grub_register_command().
12229 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
12230
d1a282fc 122312009-04-17 Pavel Roskin <proski@gnu.org>
12232
07c5039f 12233 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
12234 format.
12235 (grub_ohci_transfer): Likewise.
12236
b012002d 12237 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
12238
1bc09c35 12239 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
12240 return without a value. Fix inconsistent indentation.
12241
e0ff9126 12242 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
12243 match struct grub_fs.
12244
d1a282fc 12245 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
12246 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
12247 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
12248 * commands/lspci.c (grub_lspci_iter): Likewise.
12249
a96df3f2 122502009-04-16 Bean <bean123ch@gmail.com>
12251
12252 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
12253 value.
12254
41bb0fe9 122552009-04-15 Pavel Roskin <proski@gnu.org>
12256
12257 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
12258 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
12259 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
12260 definitions.
12261
596c6970 122622009-04-15 Felix Zielcke <fzielcke@z-51.de>
12263
12264 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 12265 that no multiple data or metadata areas are supported and `Unknown
596c6970 12266 metadata header'.
12267
7dd4a573 122682009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 12269
12270 Move loader out of the kernel
12271
12272 * kern/loader.c: moved to ...
12273 * commands/boot.c: ... moved here
12274 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
12275 * commands/boot.c (grub_cmd_boot): moved here. All users updated
12276 * include/grub/kernel.h (grub_machine_fini): export
12277 * include/grub/loader.h (grub_loader_is_loaded): update declaration
12278 (grub_loader_set): likewise
12279 (grub_loader_unset): likewise
12280 (grub_loader_boot): likewise
12281 * conf/common.rmk: new module boot.mod
12282 (pkglib_MODULES): add boot.mod
12283 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
12284 (grub_emu_SOURCES): likewise
12285 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
12286 (grub_emu_SOURCES): likewise
12287 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
12288 (grub_emu_SOURCES): likewise
12289 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
12290 (grub_emu_SOURCES): likewise
12291 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
12292 (grub_emu_SOURCES): likewise
7dd4a573 12293 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
12294 (grub_emu_SOURCES): likewise
0d5d5653 12295 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 12296 (grub_emu_SOURCES): likewise
0d5d5653 12297
7dd4a573 122982009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 12299
12300 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 12301
5999d619 12302 * kern/misc.c (grub_itoa): Removed function
12303 (grub_ltoa): likewise
12304 (grub_vsprintf): use grub_lltoa
12305
7dd4a573 123062009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 12307
12308 Restore grub-emu
12309
12310 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
12311 * conf/i386-coreboot.rmk: likewise
12312 * conf/i386-ieee1275.rmk: likewise
12313 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 12314
20318222 123152009-04-15 Felix Zielcke <fzielcke@z-51.de>
12316
12317 * INSTALL: Add that `./autogen.sh' needs to be run before
12318 `./configure.'.
12319
d05f0df3 123202009-04-14 Bean <bean123ch@gmail.com>
12321
12322 * Makefile.in (pkglib_DATA): Add handler.lst.
12323 (handler.lst): New rule.
12324
12325 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
12326 * conf/i386-coreboot.rmk: Likewise.
12327 * conf/i386-ieee1275.rmk: Likewise.
12328 * conf/i386-efi.rmk: Likewise.
12329 * conf/x86_64-efi.rmk: Likewise.
12330 * conf/powerpc-ieee1275.rmk: Likewise.
12331 * conf/sparc64-ieee1275.rmk: Likewise.
12332
12333 * genhandlerlist.sh: New file.
12334
12335 * genmk.rb: Add rules to generate handler.lst.
12336
12337 * include/grub/normal.h (grub_file_getline): New function definition.
12338 (read_handler_list): Likewise.
12339 (free_handler_list): Likewise.
12340
12341 * include/grub/term.h (grub_term_register_input): Add name parameter
12342 for auto generation of handler.lst.
12343 (grub_term_register_output): Likewise.
12344
12345 * normal/handler.c: New file.
12346
12347 * normal/main.c (get_line): Renamed to grub_file_getline.
12348 (read_config_file): Use the newly renamed grub_file_getline.
12349 (read_command_list): Likewise.
12350 (read_fs_list): Likewise.
12351 (grub_normal_execute): Call read_handler_list to parse handler.lst.
12352 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
12353
12354 * term/efi/console.c (grub_console_init): Add name parameter for auto
12355 generation of handler.lst.
12356 * term/gfxterm.c: Likewise.
12357 * term/i386/pc/at_keyboard.c: Likewise.
12358 * term/i386/pc/console.c: Likewise.
12359 * term/i386/pc/serial.c: Likewise.
12360 * term/i386/pc/vesafb.c: Likewise.
12361 * term/i386/pc/vga.c: Likewise.
12362 * term/i386/pc/vga_text.c: Likewise.
12363 * term/ieee1275/ofconsole.c: Likewise.
12364 * term/usb_keyboard.c: Likewise.
12365
33c846be 123662009-04-14 Bean <bean123ch@gmail.com>
12367
12368 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
12369 properly with null character.
12370
4484e01e 123712009-04-14 Felix Zielcke <fzielcke@z-51.de>
12372
12373 * configure: Remove.
12374 * config.h.in: Likewise.
f93d668e 12375 * stamp-h.in: Likewise.
4484e01e 12376 * DISTLIST: Likewise.
12377 * conf/common.mk: Likewise.
12378 * conf/i386-coreboot.mk: Likewise.
12379 * conf/i386-efi.mk: Likewise.
12380 * conf/i386-ieee1275.mk: Likewise.
12381 * conf/i386.mk: Likewise.
12382 * conf/i386-pc.mk: Likewise.
12383 * conf/powerpc-ieee1275.mk: Likewise.
12384 * conf/sparc64-ieee1275.mk: Likewise.
12385 * conf/x86_64-efi.mk: Likewise.
12386
12387 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
12388 develop on GRUB.
12389
7dd4a573 123902009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 12391 David S. Miller <davem@davemloft.net>
12392
12393 * util/hostdisk.c (make_device_name): Fix buffer length
12394 calculations.
12395
e25b5a8c 123962009-04-14 Felix Zielcke <fzielcke@z-51.de>
12397
12398 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
12399 <sys/param.h> and <sys/sysctl.h>.
12400 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
12401 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
12402 opening the device and reset them afterwards.
12403
1f1f580c 124042009-04-13 Pavel Roskin <proski@gnu.org>
12405
12406 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
12407 Reported by John Stanley <jpsinthemix@verizon.net>
12408
7ebc2d6b 124092009-04-13 Robert Millan <rmh@aybabtu.com>
12410
12411 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 12412 that name for menuentries when appropriate.
7ebc2d6b 12413
d8ba3667 124142009-04-13 Felix Zielcke <fzielcke@z-51.de>
12415
12416 * util/grub.d/10_freebsd.in: Add a missing `fi'.
12417
cba416eb 124182009-04-13 Robert Millan <rmh@aybabtu.com>
12419
12420 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
12421 to Linux, simply abort telling the user it's no longer supported.
12422
a547a745 124232009-04-13 Felix Zielcke <fzielcke@z-51.de>
12424
12425 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 12426 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 12427 `freebsd_loadenv' only when devices.hints exist.
12428
232a769c 124292009-04-13 Pavel Roskin <proski@gnu.org>
12430
12431 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
12432
c3012039 124332009-04-13 Felix Zielcke <fzielcke@z-51.de>
12434
12435 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
12436 partition number.
12437 (grub_drive): Likewise.
12438
234022fe 124392009-04-13 David S. Miller <davem@davemloft.net>
12440
12441 * kern/sparc64/ieee1275/ieee1275.c: New file.
12442 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
12443 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
12444 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
12445 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
12446 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
12447 grub_ieee1275_alloc_physmem): Declare new exported functions.
12448
d8e1836c 12449 * include/grub/sparc64/ieee1275/loader.h: New file.
12450 * include/grub/sparc64/ieee1275/memory.h: Likewise.
12451 * include/grub/sparc64/kernel.h: Likewise.
12452 * loader/sparc64/ieee1275/linux.c: Likewise.
12453
96bd81ec 12454 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
12455 (grub_fstest_SOURCES): Likewise.
12456
6a4737e5 12457 * util/hostdisk.c (make_device_name): Do not make any assumptions
12458 about the length of drive names.
12459
1d7a72fd 12460 * kern/dl.c (grub_dl_load_file): Close file immediately when
12461 we are done using it.
12462
56bc2471 124632009-04-12 David S. Miller <davem@davemloft.net>
12464
12465 * kern/misc.c (grub_ltoa): Fix cast when handling negative
12466 values. Noticed by Pavel Roskin.
12467
df38d0bb 12468 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
12469 target compiler.
7dd4a573 12470
e382e93a 12471 * genmk.rb: Add more flexible image type specification, also
12472 pass --strip-unneeded to objcopy.
12473 * conf/i386-pc.rmk: Use *_FORMAT.
12474 * conf/i386-pc.mk: Rebuilt.
12475
f5dbbca9 12476 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
12477 (OFDISK_HASH_SZ): Define.
12478 (ofdisk_hash): New hash table.
12479 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
12480 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
12481 instead of device phandle which is not unique.
12482
91c88b12 12483 * kern/sparc64/ieee1275/init.c: Delete, replace with...
12484 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
12485 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
12486 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
12487 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
12488 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
12489 GRUB_KERNEL_MACHINE_DATA_END): Define.
12490 (grub_kernel_image_size, grub_total_module_size): Declare.
12491
5b5d4aa5 124922009-04-12 Pavel Roskin <proski@gnu.org>
12493
7dd4a573 12494 * configure.ac: Change the logic when we check for target tools.
12495 Do it when the target is specified and it's different from the
12496 specified value of the host.
5b5d4aa5 12497
c91e1793 124982009-04-11 Felix Zielcke <fzielcke@z-51.de>
12499
12500 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
12501 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
12502 GNU/kFreeBSD. Check if a device is a character device. Use
12503 DIOCGMEDIASIZE to get the size.
12504 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
12505 support for GNU/kFreeBSD.
12506 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
12507 is a character device instead of a block device. Add support for
12508 FreeBSD device names.
12509
12510 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
12511 is a character device instead of a block device.
12512
12513 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
12514 is a character device instead of a block device.
12515
b1ac8644 125162009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
12517
12518 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
12519 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
12520 FreeBSD. Check if a device is a character device. Use
12521 DIOCGMEDIASIZE to get the size.
12522 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
12523 support for FreeBSD.
12524 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
12525 is a character device instead of a block device. Add support for
12526 FreeBSD device names.
12527
12528 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
12529 a character device instead of a block device.
12530 (grub_util_check_char_device): New function.
12531
12532 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
12533 a character device instead of a block device.
12534
12535 * include/grub/util/getroot.h (grub_util_check_char_device): New
12536 prototype.
12537
a3f7515a 125382009-04-11 David S. Miller <davem@davemloft.net>
12539
12540 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
12541 static libgcc.
12542 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
12543 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
12544 function, if present.
12545 (__bswapdi2): Likewise.
12546
0d44993d 12547 * include/grub/sparc64/ieee1275/boot.h: New file.
12548 * boot/sparc64/ieee1275/boot.S: Likewise.
12549 * boot/sparc64/ieee1275/diskboot.S: Likewise.
12550
ed3d2bc2 12551 * kern/misc.c (grub_ltoa): New function.
12552 (grub_vsprintf): Use it to format 'long' integers.
12553
d3bfb59c 125542009-04-10 David S. Miller <davem@davemloft.net>
12555
12556 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
12557 slots are of type grub_ieee1275_cell_t.
12558 (grub_nand_read): Likewise.
12559 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
12560 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
12561 macros are used to compare values in arg/ret block of the call.
12562 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
12563 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
12564 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
12565 grub_ieee1275_instance_to_path, grub_ieee1275_write,
12566 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
12567 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
12568 grub_ieee1275_close, grub_ieee1275_set_property,
12569 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
12570 grub_ieee1275_cell_t.
12571 * kern/ieee1275/openfw.c (grub_map): Likewise.
12572 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
12573 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
12574
450e2238 12575 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
12576 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
12577 (grub_devalias_iterate): Likewise.
12578
7dd4a573 125792009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 12580
12581 UFS improvements
12582
12583 * fs/ufs.c (INODE_NBLOCKS): new definition
12584 (struct grub_ufs_dirent): added fields for non-BSD dirents
12585 (grub_ufs_get_file_block): fixed double indirect handling
12586 (grub_ufs_lookup_symlink): use more robust way to determine whether
12587 symlink is inline
12588 (grub_ufs_find_file): support for non-BSD dirents
12589 (grub_ufs_dir): support for non-BSD dirents
12590
e7e6862a 125912009-04-10 Bean <bean123ch@gnail.com>
12592
12593 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
12594 attribute, otherwise the size would be wrong for i386 platform.
12595
12596 * include/grub/pci.h (grub_pci_read_word): New inline function.
12597 (grub_pci_read_byte): Likewise.
12598 (grub_pci_write): Likewise.
12599 (grub_pci_write_word): Likewise.
12600 (grub_pci_write_byte): Likewise.
12601
12602 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
12603
12604 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
12605 (find_framebuf): Scan pci to locate the frame buffer address.
12606
12607 * commands/efi/fixvideo.c: New file.
12608
12609 * commands/efi/loadbios.c: Likewise.
12610
12611 * commands/memrw.c: Likewise.
12612
12613 * util/grub-dumpbios.in: Likewise.
12614
12615 * conf/common.rmk (grub-dumpbios): New utility.
12616 (pkglib_MODULES): New module memrw.mod.
12617 (memrw_mod_SOURCE): New macro.
12618 (memrw_mod_CFLAGS): Likewise.
12619 (memrw_mod_LDFLAGS): Likewise.
12620
7dd4a573 12621 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 12622 fixvideo.mod.
12623 (loadbios_mod_SOURCE): New macro.
12624 (loadbios_mod_CFLAGS): Likewise.
12625 (loadbios_mod_LDFLAGS): Likewise.
12626 (fixvideo_mod_SOURCE): Likewise.
12627 (fixvideo_mod_CFLAGS): Likewise.
12628 (fixvideo_mod_LDFLAGS): Likewise.
12629
7dd4a573 12630 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 12631 fixvideo.mod.
12632 (loadbios_mod_SOURCE): New macro.
12633 (loadbios_mod_CFLAGS): Likewise.
12634 (loadbios_mod_LDFLAGS): Likewise.
12635 (fixvideo_mod_SOURCE): Likewise.
12636 (fixvideo_mod_CFLAGS): Likewise.
12637 (fixvideo_mod_LDFLAGS): Likewise.
12638
af63ada2 126392009-04-08 Felix Zielcke <fzielcke@z-51.de>
12640
12641 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
12642
c2cdde70 126432009-04-07 David S. Miller <davem@davemloft.net>
12644
12645 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
12646 support for R_SPARC_OLO10 relocations. Fix compile warning for
12647 R_SPARC_WDISP30 case.
ea3f72cf 12648 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 12649
761319cf 126502009-04-06 Pavel Roskin <proski@gnu.org>
12651
1007d1f5 12652 * include/grub/misc.h (ARRAY_SIZE): New macro.
12653 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
12654 New macro.
12655 * loader/i386/linux.c (allocate_pages): Use free_pages().
12656 (grub_linux_unload): Don't use free_pages().
12657 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
12658 wrong index. Treat all other modes as text modes.
12659 (grub_cmd_linux): Initialize vid_mode unconditionally to
12660 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
12661
761319cf 12662 * commands/help.c (print_command_help): Use cmd->prio, not
12663 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
12664
ea761d40 126652009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 12666
ea761d40 12667 Parttool
12668
12669 * parttool/pcpart.c: new file
12670 * commands/parttool.c: likewise
12671 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
12672 (parttool_mod_SOURCES): new variable
12673 (parttool_mod_CFLAGS): likewise
12674 (parttool_mod_LDFLAGS): likewise
12675 (pcpart_mod_SOURCES): likewise
12676 (pcpart_mod_CFLAGS): likewise
12677 (pcpart_mod_LDFLAGS): likewise
7dd4a573 12678 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 12679 and parttool/pcpart.c
12680 * conf/i386-efi.rmk: likewise
12681 * conf/i386-ieee1275.rmk: likewise
12682 * conf/i386-pc.rmk: likewise
12683 * conf/powerpc-ieee1275.rmk: likewise
12684 * conf/sparc64-ieee1275.rmk: likewise
12685 * conf/x86_64-ieee1275.rmk: likewise
12686
05aaebfb 126872009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
12688
12689 Support for mtime and further expandability of dir command
12690
12691 * include/grub/lib/datetime.h: moved to ...
7dd4a573 12692 * include/grub/datetime.h: ... moved here and added
05aaebfb 12693 declaration of grub_unixtime2datetime. All users updated
7dd4a573 12694 * include/grub/fs.h: new syntax for dir and mtime functions in
12695 struct grub_fs
05aaebfb 12696 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
12697 and GRUB_FSHELP_FLAGS_MASK
12698 * commands/ls.c (grub_ls_list_files): Write mtime in long format
12699 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
12700 (grub_ext2_mtime): new function
12701 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
12702 (grub_hfsplus_mtime): new function
12703 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
12704 (GRUB_UFS_ATTR_FILE): likewise
12705 (GRUB_UFS_ATTR_LNK): likewise
12706 (struct grub_ufs_sblock): new fields mtime
12707 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
12708 all users updated
12709 (grub_ufs_dir): mtime support
12710 (grub_ufs_mtime): new function
12711 * fs/affs.c (grub_affs_dir): use new dir syntax
12712 * fs/afs.c (grub_afs_dir): likewise
12713 * fs/cpio.c (grub_cpio_dir): likewise
12714 * fs/fat.c (grub_fat_find_dir): likewise
12715 * fs/hfs.c (grub_hfs_dir): likewise
12716 * fs/iso9660.c (grub_iso9660_dir): likewise
12717 * fs/jfs.c (grub_jfs_dir): likewise
12718 * fs/minix.c (grub_minix_dir): likewise
12719 * fs/ntfs.c (grub_ntfs_dir): likewise
12720 * fs/reiserfs.c (grub_reiserfs_dir): likewise
12721 * fs/sfs.c (grub_sfs_dir): likewise
12722 * fs/xfs.c (grub_xfs_dir): likewise
12723 * util/hostfs.c (grub_hostfs_dir): likewise
12724 * lib/datetime.c: moved to ...
12725 * normal/datetime.c: ... moved here
12726 (grub_unixtime2datetime): new function
12727 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 12728 * normal/completion.c (iterate_dir): use new dir syntax
12729 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 12730 last modification time of a volume
7dd4a573 12731 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 12732 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 12733 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 12734 (normal_mod_SOURCES): likewise
12735 (datetime_mod_SOURCES): Removed lib/datetime.c
12736 * conf/i386-efi.rmk: likewise
7dd4a573 12737 * conf/i386-ieee1275.rmk: likewise
05aaebfb 12738 * conf/i386-pc.rmk: likewise
12739 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 12740 * conf/sparc64-ieee1275.rmk: likewise
12741 * conf/x86_64-efi.rmk: likewise
05aaebfb 12742
8a7e1a14 127432009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
12744
12745 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 12746
12747 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 12748 on grub_fat_find_dir
12749 (grub_fat_find_dir): use grub_fat_iterate_dir
12750 (grub_fat_label): likewise
12751
04186a9c 127522009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
12753
7dd4a573 12754 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 12755 and command.h
12756 remove extraneous kernel_elf_HEADERS
12757
da4c0bb6 127582009-04-04 Bean <bean123ch@gnail.com>
12759
12760 * include/grub/util/misc.h: Add dummy function fsync for mingw.
12761
12762 * util/misc.c: Likewise.
12763
54ad9555 127642009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
12765
12766 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
12767 instead of grub_printf.
12768
7a6bf9f2 127692009-04-03 Robert Millan <rmh@aybabtu.com>
12770
12771 * loader/i386/linux.c (grub_linux_setup_video): Fill
12772 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
12773 values from `mode info' structure instead of hardcoded
12774 values.
12775
3fcc2083 127762009-04-01 Pavel Roskin <proski@gnu.org>
12777
12778 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
12779 unused now.
12780 * genmk.rb: Likewise.
12781 * configure.ac: Likewise.
12782
5ec9740b 127832009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
12784
12785 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
12786 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
12787
5270cec8 127882009-04-01 David S. Miller <davem@davemloft.net>
12789
12790 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 12791 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 12792 (grub_setjmp): Mark with 'returns_twice' attribute.
12793 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
12794 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
12795 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
12796
9c3dd854 127972009-04-01 Robert Millan <rmh@aybabtu.com>
12798
12799 Reapply fix from 2008-07-28 which was accidentally reverted; also
12800 perform the same fix to a similar check in same function.
12801
12802 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
12803 with the same number are found, just use issue a warning with
12804 grub_dprintf(), as this error has been reported to be non-fatal.
12805
0d818b7e 128062009-03-31 Pavel Roskin <proski@gnu.org>
12807
12808 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
12809 for cross-compilation.
12810
95646d92 128112009-03-30 Robert Millan <rmh@aybabtu.com>
12812
12813 Fix i386-ieee1275 build.
12814
12815 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
12816 Remove declaration.
12817
6a003ed1 128182009-03-30 Pavel Roskin <proski@gnu.org>
12819
12820 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
12821 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
12822 zero-terminated, rely only on the strlen value. Fix comparison
12823 of strings differing in length.
12824
92f33540 128252009-03-30 Robert Millan <rmh@aybabtu.com>
12826
12827 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
12828 checking for abi version. Improve error messages on BIOS to notify
12829 user about `linux16' command.
12830
a8c48fd5 128312009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12832
f968172e 12833 Leak fixes
a8c48fd5 12834
f968172e 12835 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
12836 in case of collision
12837 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 12838
9c323f09 128392009-03-29 Robert Millan <rmh@aybabtu.com>
12840
12841 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
12842 set `vid_mode' accordingly.
12843 (grub_linux_boot): Process `vid_mode' and set video mode.
12844
ae68f423 128452009-03-29 Robert Millan <rmh@aybabtu.com>
12846
12847 * util/grub.d/10_linux.in (linux_entry): New function.
12848 Factorize generation of Linux boot entries.
12849
5709cfc4 128502009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
12851
12852 Make the format of Environment Block plain text. The boot loader
12853 part is not tested well yet.
7dd4a573 12854
5709cfc4 12855 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
12856 (buffer): Removed.
12857 (envblk): Likewise.
12858 (usage): Remove "info" and "clear". Add "unset". Update the
12859 description of "set", as this does not delete variables any
12860 longer.
12861 (create_envblk_file): Complete rewrite.
12862 (open_envblk_file): Likewise.
12863 (cmd_info): Removed.
12864 (cmd_list): Likewise.
12865 (cmd_set): Likewise.
12866 (cmd_clear): Likewise.
12867 (list_variables): New function.
12868 (write_envblk): Likewise.
12869 (set_variables): Likewise.
12870 (unset_variables): Likewise.
12871 (main): Complete rewrite.
12872
12873 * commands/loadenv.c (buffer): Removed.
12874 (envblk): Likewise.
12875 (open_envblk_file): New function.
12876 (read_envblk_file): Complete rewrite.
12877 (grub_cmd_load_env): Likewise.
12878 (grub_cmd_list_env): Likewise.
12879 (struct blocklist): New struct.
12880 (free_blocklists): New function.
12881 (check_blocklists): Likewise.
12882 (write_blocklists): Likewise.
12883 (grub_cmd_save_env): Complete rewrite.
12884
12885 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
12886 a plain text signature.
12887 (GRUB_ENVBLK_MAXLEN): Removed.
12888 (struct grub_envblk): Complete rewrite.
12889 (grub_envblk_find): Removed.
12890 (grub_envblk_insert): Likewise.
12891 (grub_envblk_open): New prototype.
12892 (grub_envblk_set): Likewise.
12893 (grub_envblk_delete): Put const to VALUE.
12894 (grub_envblk_iterate): Put const to NAME and VALUE.
12895 (grub_envblk_close): New prototype.
12896 (grub_envblk_buffer): New inline function.
12897 (grub_envblk_size): Likewise.
12898
12899 * lib/envblk.c: Include grub/mm.h.
12900 (grub_env_find): Removed.
12901 (grub_envblk_open): New function.
12902 (grub_envblk_close): Likewise.
12903 (escaped_value_len): Likewise.
12904 (find_next_line): Likewise.
12905 (grub_envblk_insert): Removed.
12906 (grub_envblk_set): New function.
12907 (grub_envblk_delete): Complete rewrite.
12908 (grub_envblk_iterate): Likewise.
12909
a9368fd3 129102009-03-28 Robert Millan <rmh@aybabtu.com>
12911
12912 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
12913 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
12914 variables. Use 16-bit loader.
12915 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
12916 loader.
12917 * kern/i386/loader.S (grub_linux_boot): Rename to ...
12918 (grub_linux16_boot): ... this. Update all users.
12919 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
12920 (grub_linux_boot): ... this. Update all users.
12921
12922 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
12923 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
12924 commands to `linux16' and `initrd16'.
12925 (GRUB_MOD_FINI(linux)): Rename to ...
12926 (GRUB_MOD_FINI(linux16)): ... this.
12927
e4dd5a7e 129282009-03-24 Pavel Roskin <proski@gnu.org>
12929
12930 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
12931 not just for compilation.
12932
c04d6e05 129332009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
12934
12935 Move multiboot helper out of kernel
12936
12937 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
12938 `loader/i386/multiboot_helper.S'.
12939 * conf/i386-coreboot.rmk: Likewise
12940 * conf/i386-ieee1275.rmk: Likewise
12941
12942 * kern/i386/loader.S: Move multiboot helpers from here...
12943 * loader/i386/multiboot_helper.S: ...moved here
12944 * include/grub/i386/loader.h: Move declarations of multiboot
12945 helpers from here...
12946 * include/grub/i386/multiboot.h: ...moved here
12947 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
12948
42a5b3fc 129492009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
12950
12951 * kern/env.c (grub_env_context_open): Added an argument to specify
12952 whether a new context inherits exported variables from current
12953 one. This is useful when making a sandbox to interpret a config
12954 file.
12955 All callers updated.
12956
12957 * include/grub/env.h (grub_env_context_open): Updated the prototype.
12958
b28bbc4e 129592009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
12960
12961 * kern/env.c (grub_env_context_close): Fix memory leaks.
12962
f04f02e4 129632009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
12964
12965 * normal/main.c (grub_normal_execute): Added an argument
12966 BATCH to specify if an interactive interface should be provided
12967 after reading a config file.
12968 All callers updated.
12969 (read_command_list): Prevent being executed twice.
12970 (read_fs_list): Likewise.
12971
42a5b3fc 12972 * include/grub/normal.h (grub_normal_execute): Updated the
12973 prototype.
f04f02e4 12974
41473ac2 129752009-03-22 Pavel Roskin <proski@gno.org>
12976
fbc00b0c 12977 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
12978 _start.
12979 * kern/i386/pc/startup.S: Likewise.
12980 * kern/i386/efi/startup.S: Likewise.
12981 * kern/i386/ieee1275/startup.S: Likewise.
12982 * kern/i386/coreboot/startup.S: Likewise.
12983 * kern/x86_64/efi/startup.S: Likewise.
12984
41473ac2 12985 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
12986 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
12987 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
12988
2274cc8f 129892009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
12990
12991 Bugfixes in multiboot for bugs uncovered by solaris kernel.
12992
12993 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
12994 limit detection.
12995 Use vaddr of correct segment for entry_point.
12996
b1b797cb 129972009-03-21 Bean <bean123ch@gmail.com>
12998
12999 * commands/blocklist.c: Add include file <grub/command.h>, remove
13000 <grub/normal.h> and <grub/arg.h>.
13001 (grub_cmd_blocklist): Use the new command interface.
13002 (GRUB_MOD_INIT): Likewise.
13003 (GRUB_MOD_FINI): Likewise.
13004 * commands/boot.c: Likewise.
13005 * commands/cat.c: Likewise.
13006 * commands/cmp.c: Likewise.
13007 * commands/configfile.c: Likewise.
13008 * commands/crc.c: Likewise.
13009 * commands/echo.c: Likewise.
13010 * commands/halt.c: Likewise.
13011 * commands/handler.c: Likewise.
13012 * commands/hdparm.c: Likewise.
13013 * commands/help.c: Likewise.
13014 * commands/hexdump.c: Likewise.
13015 * commands/loadenv.c: Likewise.
13016 * commands/ls.c: Likewise.
13017 * commands/lsmmap.c: Likewise.
13018 * commands/lspci.c: Likewise.
13019 * commands/loadenv.c: Likewise.
13020 * commands/read.c: Likewise.
13021 * commands/reboot.c: Likewise.
13022 * commands/search.c: Likewise.
13023 * commands/sleep.c: Likewise.
13024 * commands/test.c: Likewise.
13025 * commands/usbtest.c: Likewise.
13026 * commands/videotest.c: Likewise.
13027 * commands/i386/cpuid.c: Likewise.
13028 * commands/i386/pc/halt.c: Likewise.
13029 * commands/i386/pc/play.c: Likewise.
13030 * commands/i386/pc/pxecmd.c: Likewise.
13031 * commands/i386/pc/vbeinfo.c: Likewise.
13032 * commands/i386/pc/vbetest.c: Likewise.
13033 * commands/ieee1275/suspend.c: Likewise.
13034 * disk/loopback.c: Likewise.
13035 * font/font_cmd.c: Likewise.
13036 * hello/hello.c: Likewise.
13037 * loader/efi/appleloader.c: Likewise.
13038 * loader/efi/chainloader.c: Likewise.
13039 * loader/i386/bsd.c: Likewise.
13040 * loader/i386/efi/linux.c: Likewise.
13041 * loader/i386/ieee1275/linux.c: Likewise.
13042 * loader/i386/linux.c: Likewise.
13043 * loader/i386/pc/chainloader.c: Likewise.
13044 * loader/i386/pc/linux.c: Likewise.
13045 * loader/powerpc/ieee1275/linux.c: Likewise.
13046 * loader/multiboot_loader.c: Likewise.
13047 * term/gfxterm.c: Likewise.
13048 * term/i386/pc/serial.c: Likewise.
13049 * term/terminfo.c: Likewise.
13050
13051 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
13052 * term/i386/pc/vga.c: Likewise.
13053 * video/readers/jpeg.c: Likewise.
13054 * video/readers/png.c: Likewise.
13055 * video/readers/tga.c: Likewise.
13056
13057 * util/grub-fstest (cmd_loopback): Removed.
13058 (cmd_blocklist): Likewise.
13059 (cmd_ls): Likewise.
13060 (grub_register_command): Likewise.
13061 (grub_unregister_command): Likewise.
13062 (execute_command): Use grub_command_find to locate command and execute
13063 it.
13064
13065 * include/grub/efi/chainloader.h: Removed.
13066 * loader/efi/chainloader_normal.c: Likewise.
13067 * loader/i386/bsd_normal.c: Likewise.
13068 * loader/i386/pc/chainloader_normal.c: Likewise.
13069 * loader/i386/pc/multiboot_normal.c: Likewise.
13070 * loader/linux_normal.c: Likewise.
13071 * loader/multiboot_loader_normal.c: Likewise.
13072 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
13073
13074 * gencmdlist.sh: Scan new registration command grub_register_extcmd
13075 and grub_register_command_p1.
13076
13077 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
13078 kern/command.c, lib/arg.c and commands/extcmd.c.
13079 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
13080 (minicmd_mod_SOURCES): New variable.
13081 (minicmd_mod_CFLAGS): Likewise.
13082 (minicmd_mod_LDFLAGS): Likewise.
13083 (extcmd_mod_SOURCES): Likewise.
13084 (extcmd_mod_CFLAGS): Likewise.
13085 (extcmd_mod_LDFLAGS): Likewise.
13086 (boot_mod_SOURCES): Removed.
13087 (boot_mod_CFLAGS): Likewise.
13088 (boot_mod_LDFLAGS): Likewise.
13089
13090 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
13091 kern/corecmd.c.
13092 (kernel_img_HEADERS): Add command.h.
13093 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
13094 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
13095 and lib/arg.c.
13096 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
13097 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
13098 remove the corresponding normal mode command.
13099 (normal_mod_SOURCES): Remove normal/arg.c.
13100 * conf/i386-coreboot.rmk: Likewise.
13101 * conf/i386-efi.rmk: Likewise.
13102 * conf/i386-ieee1275.rmk: Likewise.
13103 * conf/powerpc-ieee1275.rmk: Likewise.
13104 * conf/x86_64-efi.rmk: Likewise.
13105
13106 * include/grub/arg.h: Move from here ...
13107 * include/grub/lib/arg.h: ... to here.
13108
13109 * normal/arg.c: Move from here ...
13110 * lib/arg.c: ... to here.
13111
13112 * commands/extcmd.c: New file.
13113 * commands/minicmd.c: Likewise.
13114 * include/grub/command.h: Likewise.
13115 * include/grub/extcmd.h: Likewise.
13116 * kern/command.c: Likewise.
13117 * kern/corecmd.c: Likewise.
13118
13119 * kern/list.c (grub_list_iterate): Return int instead of void.
13120 (grub_list_insert): New function.
13121 (grub_prio_list_insert): Likewise.
13122
13123 * kern/rescue.c (grub_rescue_command): Removed.
13124 (grub_rescue_command_list): Likewise.
13125 (grub_rescue_register_command): Likewise.
13126 (grub_rescue_unregister_command): Likewise.
13127 (grub_rescue_cmd_boot): Move to minicmd.c
13128 (grub_rescue_cmd_help): Likewise.
13129 (grub_rescue_cmd_info): Likewise.
13130 (grub_rescue_cmd_boot): Likewise.
13131 (grub_rescue_cmd_testload): Likewise.
13132 (grub_rescue_cmd_dump): Likewise.
13133 (grub_rescue_cmd_rmmod): Likewise.
13134 (grub_rescue_cmd_lsmod): Likewise.
13135 (grub_rescue_cmd_exit): Likewise.
13136 (grub_rescue_print_devices): Moved to corecmd.c.
13137 (grub_rescue_print_files): Likewise.
13138 (grub_rescue_cmd_ls): Likewise.
13139 (grub_rescue_cmd_insmod): Likewise.
13140 (grub_rescue_cmd_set): Likewise.
13141 (grub_rescue_cmd_unset): Likewise.
7d074e3c 13142 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 13143 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 13144 commands, remove grub_rescue_register_command calls.
b1b797cb 13145
7d074e3c 13146 * normal/command.c (grub_register_command): Removed.
b1b797cb 13147 (grub_unregister_command): Likewise.
13148 (grub_command_find): Likewise.
13149 (grub_iterate_commands): Likewise.
13150 (rescue_command): Likewise.
13151 (export_command): Moved to corecmd.c.
13152 (set_command): Removed.
13153 (unset_command): Likewise.
13154 (insmod_command): Likewise.
13155 (rmmod_command): Likewise.
13156 (lsmod_command): Likewise.
13157 (grub_command_init): Likewise.
13158
13159 * normal/completion.c (iterate_command): Use cmd->prio to check for
13160 active command.
13161 (complete_arguments): Use grub_extcmd_t structure to find options.
13162 (grub_normal_do_completion): Change function grub_iterate_commands to
13163 grub_command_iterate.
13164
13165 * normal/execute.c (grub_script_execute_cmd): No need to parse
13166 argument here.
13167
13168 * normal/main.c (grub_dyncmd_dispatcher): New function.
13169 (read_command_list): Register unload commands as dyncmd.
13170 (grub_cmd_normal): Use new command interface, register rescue,
13171 unregister normal at entry, register normal, unregister rescue at exit.
13172
13173 * include/grub/list.h (grub_list_test_t): New type.
13174 (grub_list_iterate): Return int instead of void.
13175 (grub_list_insert): New function.
13176 (GRUB_AS_NAMED_LIST_P): New macro.
13177 (GRUB_AS_PRIO_LIST): Likewise.
13178 (GRUB_AS_PRIO_LIST_P): Likewise.
13179 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
13180 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
13181 (grub_prio_list): New structure.
13182 (grub_prio_list_insert): New function.
13183 (grub_prio_list_remove): New inline function.
13184
13185 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
13186 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
13187 (GRUB_COMMAND_FLAG_MENU): Likewise.
13188 (GRUB_COMMAND_FLAG_BOTH): Likewise.
13189 (GRUB_COMMAND_FLAG_TITLE): Likewise.
13190 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
13191 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
13192 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
13193 (grub_command): Likewise.
13194 (grub_register_command): Likewise.
13195 (grub_command_find): Likewise.
13196 (grub_iterate_commands): Likewise.
13197 (grub_command_init): Likewise.
13198 (grub_arg_parse): Likewise.
13199 (grub_arg_show_help): Likewise.
13200
13201 * include/grub/rescue.h (grub_rescue_register_command): Removed.
13202 (grub_rescue_unregister_command): Likewise.
13203
13204 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
13205 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
13206 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
13207
13208 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
13209 grub_rescue_cmd_initrd.
13210 * include/grub/i386/loader.h: Likewise.
13211 * include/grub/x86_64/loader.h: Likewise.
13212
13213 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
13214
1f4147aa 132152009-03-21 Bean <bean123ch@gmail.com>
13216
13217 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
13218 instead of stat in mingw environment.
13219
13220 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
13221
13222 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
13223
13224 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
13225 AC_CONFIG_LINKS.
13226
2156d5ba 132272009-03-21 Bean <bean123ch@gmail.com>
13228
13229 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
13230 out of range error.
13231
177b82ca 132322009-03-18 Michel Dänzer <michel@daenzer.net>
13233
13234 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
13235 checking inode flags for EXT4_EXTENTS_FLAG.
13236
14aad807 132372009-03-18 Robert Millan <rmh@aybabtu.com>
13238
13239 * loader/i386/linux.c: Include `<grub/video.h>' and
13240 `<grub/i386/pc/vbe.h>'..
13241 (grub_linux_setup_video): New function. Loosely based on the EFI one.
13242 (grub_linux32_boot): Attempt to configure video settings with
13243 grub_linux_setup_video().
13244 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
13245 to avoid grub_console_fini() which would step out of graphical mode
13246 unconditionally.
13247
8cf83a27 132482009-03-14 Robert Millan <rmh@aybabtu.com>
13249
13250 Fix build on powerpc.
13251 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
13252
40164e75 132532009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
13254
13255 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
13256 background image command.
13257
c58bc32a 132582009-03-12 Colin D Bennett <colin@gibibit.com>
13259
13260 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
13261 (grub_gfxterm_putchar): Extract pairs of identical calls to
13262 draw_cursor out of conditional blocks.
13263
5415144a 132642009-03-11 Pavel Roskin <proski@gnu.org>
13265
13266 * fs/hfs.c (grub_hfs_strncasecmp): New function.
13267 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
13268
6394042e 132692009-03-11 Robert Millan <rmh@aybabtu.com>
13270
13271 * loader/i386/multiboot_elfxx.c
13272 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
13273
b7b50e5f 132742009-03-11 Felix Zielcke <fzielcke@z-51.de>
13275
13276 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
13277 `kern/handler.c'.
13278
1ca7fc96 132792009-03-11 Robert Millan <rmh@aybabtu.com>
13280
13281 * loader/i386/multiboot.c (code_size): New variable.
13282 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 13283 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 13284 4-byte alignment to MBI and others by increasing
7d074e3c 13285 `boot_loader_name_length' appropriately.
1ca7fc96 13286
13287 * loader/i386/multiboot_elfxx.c
13288 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
13289
a83ea1d2 132902009-03-09 Felix Zielcke <fzielcke@z-51.de>
13291
13292 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
13293 `fs/ext2.c'.
13294
aa9f3bff 132952009-03-08 Robert Millan <rmh@aybabtu.com>
13296
13297 Make loader/i386/linux.c usable on i386-pc again.
13298
13299 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
13300 memory to heap.
13301 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
13302 `#error' stanza.
13303
d8b3b60e 133042009-03-07 Bean <bean123ch@gmail.com>
13305
13306 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
13307 allocation.
13308
b362c9e9 133092009-03-06 Robert Millan <rmh@aybabtu.com>
13310
13311 Fix display issue on terminals with screen size other than 80x25
13312 (e.g. gfxterm with resolution higher than 640x480).
13313
13314 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 13315 position relative to the center of the terminal instead of relying
b362c9e9 13316 on a hardcoded offset.
13317
9304eef1 133182009-03-04 Robert Millan <rmh@aybabtu.com>
13319
13320 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
13321 installed.
13322
13323 * Makefile.in (host_kernel): New variable.
13324 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
13325 scripts instead of just the windows one.
13326 * configure.ac: Initialize and AC_SUBST `host_kernel'.
13327
eabc95fb 133282009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 13329
13330 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
13331 `kern/handler.c'.
13332 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13333 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13334 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
13335 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13336 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13337 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13338
ceb1223c 133392009-03-04 Felix Zielcke <fzielcke@z-51.de>
13340
13341 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
13342 or if there's no space for the disk label and print the partition number on a
13343 invalid magic.
13344
4910684a 133452009-03-04 Felix Zielcke <fzielcke@z-51.de>
13346
13347 * util/misc.c: Include <time.h>.
13348 (grub_millisleep): New function.
13349
7e9ca17a 133502009-03-04 Bean <bean123ch@gmail.com>
13351
13352 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
13353 another option -mno-red-zone.
13354
13355 * commands/handler.c: Change module description.
13356
13357 * kern/handler.c: Add missing space at the end of description line.
13358
13359 * kern/list.c: Likewise.
13360
f501677c 133612009-03-03 Robert Millan <rmh@aybabtu.com>
13362
13363 Move more components to the relocation area, and fix mbi pointer
13364 handling to use the destination rather than the origin (thanks to
13365 Vladimir Serbinenko for spotting).
13366
13367 * loader/i386/multiboot.c (mbi_dest): New variable.
13368 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
13369 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
13370 relocation area.
13371
9902d047 133722009-03-01 Bean <bean123ch@gmail.com>
13373
50fb7002 13374 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 13375 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
13376 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
13377 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
13378
13379 * loader/i386/efi/linux.c (acpi_guid): New variable.
13380 (acpi_guid): Likewise.
13381 (EBDA_SEG_ADDR): New constant.
13382 (LOW_MEM_ADDR): Likewise.
13383 (FAKE_EBDA_SEG): Likewise.
13384 (fake_bios_data): New function.
13385 (grub_linux_boot): Call fake_bios_data.
13386
71b9f361 133872009-03-01 Bean <bean123ch@gmail.com>
13388
13389 * commands/terminal.c: Removed.
13390
13391 * commands/handler.c: New file.
13392
13393 * include/grub/list.h: Likewise.
13394
13395 * include/grub/handler.h: Likewise.
13396
13397 * kern/list.c: Likewise.
13398
13399 * kern/handler.c: Likewise.
13400
13401 * kern/term.h: Include header file <grub/handler.h>.
13402 (grub_term_input): Move next field to the beginning.
13403 (grub_term_output): Likewise.
13404 (grub_term_input_class): New variable.
13405 (grub_term_output_class): Likewise.
13406 (grub_term_register_input): Changed to inline function.
13407 (grub_term_register_output): Likewise.
13408 (grub_term_unregister_input): Likewise.
13409 (grub_term_unregister_output): Likewise.
13410 (grub_term_set_current_input): Likewise.
13411 (grub_term_set_current_output): Likewise.
13412 (grub_term_get_current_input): Likewise.
13413 (grub_term_get_current_output): Likewise.
13414 (grub_term_iterate_input): Removed.
13415 (grub_term_iterate_output): Likewise.
13416
13417 * kern/term.c (grub_term_list_input): Removed.
13418 (grub_term_list_output): Likewise.
13419 (grub_term_input_class): New variable.
13420 (grub_term_output_class): Likewise.
50fb7002 13421 (grub_cur_term_input): Change variable as macro.
71b9f361 13422 (grub_cur_term_output): Likewise.
13423 (grub_term_register_input): Removed.
13424 (grub_term_register_output): Likewise.
13425 (grub_term_unregister_input): Likewise.
13426 (grub_term_unregister_output): Likewise.
13427 (grub_term_set_current_input): Likewise.
13428 (grub_term_set_current_output): Likewise.
13429 (grub_term_iterate_input): Likewise.
13430 (grub_term_iterate_output): Likewise.
13431 (grub_term_get_current_input): Likewise.
13432 (grub_term_get_current_output): Likewise.
13433
13434 * util/grub-editenv.c: Include header file <grub/handler.h>.
13435 (grub_term_get_current_input): Removed.
13436 (grub_term_get_current_output): Likewise.
13437 (grub_term_input_class): New variable.
50fb7002 13438 (grub_term_output_class): Likewise.
71b9f361 13439
13440 * util/grub-fstest.c (grub_term_get_current_input): Removed.
13441 (grub_term_get_current_output): Likewise.
13442 (grub_term_input_class): New variable.
50fb7002 13443 (grub_term_output_class): Likewise.
71b9f361 13444
13445 * util/grub-probe.c (grub_term_get_current_input): Removed.
13446 (grub_term_get_current_output): Likewise.
13447 (grub_term_input_class): New variable.
50fb7002 13448 (grub_term_output_class): Likewise.
71b9f361 13449
13450 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
13451 (grub_term_get_current_output): Likewise.
13452 (grub_term_input_class): New variable.
50fb7002 13453 (grub_term_output_class): Likewise.
71b9f361 13454
13455 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
13456 (terminal_mod_SOURCES): Likewise.
13457 (terminal_mod_CFLAGS): Likewise.
13458 (terminal_mod_LDFLAGS): Likewise.
13459
13460 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
13461 handler.c.
13462 (kernel_img_SOURCES): Add list.c and handler.c.
13463 (kernel_img_HEADERS): Add list.h and handler.h.
13464
13465 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
13466 handler.c.
13467 (kernel_mod_SOURCES): Add list.c and handler.c.
13468 (kernel_mod_HEADERS): Add list.h and handler.h.
13469
13470 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
13471 handler.c.
13472 (kernel_elf_SOURCES): Add list.c and handler.c.
13473 (kernel_elf_HEADERS): Add list.h and handler.h.
13474
13475 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
13476 handler.c.
13477 (kernel_elf_SOURCES): Add list.c and handler.c.
13478 (kernel_elf_HEADERS): Add list.h and handler.h.
13479
13480 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
13481 handler.c.
13482 (kernel_mod_SOURCES): Add list.c and handler.c.
13483 (kernel_mod_HEADERS): Add list.h and handler.h.
13484
13485 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
13486 handler.c.
13487 (kernel_elf_SOURCES): Add list.c and handler.c.
13488 (kernel_elf_HEADERS): Add list.h and handler.h.
13489
8a31787f 134902009-02-27 Robert Millan <rmh@aybabtu.com>
13491
13492 Factorize elf32 / elf64 code in Multiboot loader. This will
13493 prevent it from getting out of sync again.
13494
13495 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
13496 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
13497 grub_multiboot_load_elf64): Move from here ...
13498 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
13499 grub_multiboot_load_elf): ... to here (new file).
13500
51cd3dfc 135012009-02-27 Robert Millan <rmh@aybabtu.com>
13502
13503 * util/grub.d/10_linux.in: Rename "single-user mode" to
13504 "recovery mode".
13505
6e8c9c3a 135062009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
13507
13508 Don't leak in SCSI code.
13509 * disk/scsi.c (grub_scsi_close): free `scsi'.
13510
4b6bf4f9 135112009-02-27 Robert Millan <rmh@aybabtu.com>
13512
13513 * loader/i386/pc/multiboot.c: Move from here ...
13514 * loader/i386/multiboot.c: ... to here. Update all users.
13515
b9413424 135162009-02-27 Robert Millan <rmh@aybabtu.com>
13517
13518 Patch from Alexandre Bique <bique.alexandre@gmail.com>
13519 * util/i386/pc/grub-setup.c (setup): Fix directory path.
13520
50fb7002 135212009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 13522
13523 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
13524 b-tree.
13525
8cc50345 135262009-02-27 Robert Millan <rmh@aybabtu.com>
13527
13528 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
13529 `0x' qualifier as 0 when base is specified as parameter).
13530
6e09b8b7 135312009-02-24 Bean <bean123ch@gmail.com>
13532
13533 * configure.ac: Check for -mcmodel=large in x86_64 target.
13534
13535 * include/grub/efi/api.h (efi_call_10): New macro.
13536 (efi_wrap_10): New function.
13537
13538 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
13539 (GRUB_PE32_REL_BASED_HIGH): Likewise.
13540 (GRUB_PE32_REL_BASED_LOW): Likewise.
13541 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
13542 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
13543 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
13544 (GRUB_PE32_REL_BASED_SECTION): Likewise.
13545 (GRUB_PE32_REL_BASED_REL): Likewise.
13546 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
13547 (GRUB_PE32_REL_BASED_DIR64): Likewise.
13548 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
13549
13550 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
13551 issue.
13552
13553 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
13554 (efi_wrap_10): New function.
13555
13556 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
13557
13558 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
13559 MB/MBP model (NV chipset).
13560 (devdata_devs): Add devpath_5 to the list.
13561
13562 * load/i386/efi/linux.c (video_base): Remove variable.
13563 (RGB_MASK): New macro.
13564 (RGB_MAGIC): Likewise.
13565 (LINE_MIN): Likewise.
13566 (LINE_MAX): Likewise.
13567 (FBTEST_STEP): Likewise.
13568 (FBTEST_COUNT): Likewise.
13569 (fb_list): New variable.
13570 (grub_find_video_card): Remove function.
13571 (find_framebuf): New function.
13572 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
13573 line length.
13574
13575 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
13576 problem for x86_64.
13577
74b21bee 135782009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
13579
13580 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
13581
13582 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
13583 coding tool name.
13584
a455f472 135852009-02-22 Robert Millan <rmh@aybabtu.com>
13586
13587 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
13588 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
13589 in our relocation, instead of using it directly from heap. Also
13590 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
13591
6374daf3 135922009-02-21 Robert Millan <rmh@aybabtu.com>
13593
13594 Implement USB keyboard support (based on patch by Marco Gerards)
13595
13596 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
13597 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
13598 (usb_keyboard_mod_LDFLAGS): New variables.
13599
13600 * term/usb_keyboard.c: New file.
13601
8fa4ea70 136022009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
13603
13604 Corrected wrong declaration
13605
13606 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
13607
353976ac 136082009-02-14 Christian Franke <franke@computer.org>
13609
13610 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
13611 (grub_lspci_iter): Print class code and programming interface byte.
13612
6aa1169b 136132009-02-14 Christian Franke <franke@computer.org>
13614
13615 * gendistlist.sh: Ignore `.svn' directories.
13616
265372ca 136172009-02-14 Felix Zielcke <fzielcke@z-51.de>
13618
13619 * fs/fat.c: Add 2009 to Copyright line.
13620
9ff516f3 136212009-02-14 Christian Franke <franke@computer.org>
13622
13623 * commands/hdparm.c: New file. Provides `hdparm' command
13624 which sends ATA commands via grub_disk_ata_pass_through ().
13625
13626 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
13627
13628 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
13629 and <grub/cpu/io.h> to include/grub/ata.h.
13630 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
13631 (GRUB_CDROM_SECTOR_SIZE): Remove.
13632 (GRUB_ATA_*): Move to include/grub/ata.h.
13633 (GRUB_ATAPI_*): Likewise.
13634 (enum grub_ata_commands): Likewise.
13635 (enum grub_ata_timeout_milliseconds): Likewise.
13636 (struct grub_ata_device): Likewise.
13637 (grub_ata_regset): Likewise.
13638 (grub_ata_regget): Likewise.
13639 (grub_ata_regset2): Likewise.
13640 (grub_ata_regget2): Likewise.
13641 (grub_ata_check_ready): Likewise.
13642 (grub_ata_wait_not_busy): Remove static, exported in
13643 include/grub/ata.h.
13644 (grub_ata_wait_drq): Likewise.
13645 (grub_ata_pio_read): Likewise.
13646
13647 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
13648 function for hdparm.mod.
13649
13650 * include/grub/ata.h: New file, contains declarations from
13651 disk/ata.c.
13652 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
13653
13654 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
13655 (grub_disk_ata_pass_through): New exported variable.
13656
13657 * kern/disk.c (grub_disk_ata_pass_through): New variable.
13658
772e23da 136592009-02-13 Colin D Bennett <colin@gibibit.com>
13660
13661 Support multiple fallback entries, and provide an API to support
13662 executing default+fallback menu entries. Renamed the `terminal' menu
13663 viewer to `text'.
13664
13665 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
13666 variable declaration.
13667 (grub_menu_execute_callback): New structure declaration.
13668 (grub_menu_execute_callback_t): New typedef.
13669 (grub_menu_execute_with_fallback): New function declaration.
13670 (grub_menu_get_entry): Likewise.
13671 (grub_menu_get_timeout): Likewise.
13672 (grub_menu_set_timeout): Likewise.
13673
13674 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
13675
13676 * normal/menu.c (grub_wait_after_message): Moved to
13677 `normal/menu_text.c'.
13678 (draw_border): Likewise.
13679 (print_message): Likewise.
13680 (print_entry): Likewise.
13681 (print_entries): Likewise.
13682 (grub_menu_init_page): Likewise.
13683 (get_entry_number): Likewise.
13684 (print_timeout): Likewise.
13685 (run_menu): Likewise.
13686 (grub_menu_execute_entry): Likewise.
13687 (show_text_menu): Likewise.
13688 (get_and_remove_first_entry_number): New function.
13689 (grub_menu_execute_with_fallback): Likewise.
13690 (get_entry): Renamed to ...
13691 (grub_menu_get_entry): .. this and made it global.
13692 (get_timeout): Renamed to ...
13693 (grub_menu_get_timeout): ... this and made it global.
13694 (set_timeout): Renamed to ...
13695 (grub_menu_set_timeout): ... this and made it global.
13696 (grub_normal_terminal_menu_viewer): Renamed to ...
13697 (grub_normal_text_menu_viewer): ... this.
13698
13699 * normal/menu_text.c: New file. Extracted text-menu-specific code
13700 from normal/menu.c.
13701
13702 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
13703 (normal_mod_SOURCES): Likewise.
13704
13705 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13706 (normal_mod_SOURCES): Likewise.
13707
13708 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13709 (normal_mod_SOURCES): Likewise.
13710
13711 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
13712 (normal_mod_SOURCES): Likewise.
13713
13714 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13715 (normal_mod_SOURCES): Likewise.
13716
13717 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13718 (normal_mod_SOURCES): Likewise.
13719
13720 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13721 (normal_mod_SOURCES): Likewise.
13722
16ac430e 137232009-02-11 Robert Millan <rmh@aybabtu.com>
13724
13725 * util/grub.d/00_header.in: Update old reference to `font' command.
13726
06ff20fc 137272009-02-10 Felix Zielcke <fzielcke@z-51.de>
13728
13729 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
13730
13731 Based on patch from Javier Martín.
13732
96da9407 137332009-02-09 Felix Zielcke <fzielcke@z-51.de>
13734
13735 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 13736 to avoid false positives with FAT.
96da9407 13737 (grub_fstest_SOURCES): Likewise.
13738 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13739 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13740 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13741 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
13742 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13743 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13744
6dca6fe4 137452009-02-09 Felix Zielcke <fzielcke@z-51.de>
13746
06ff20fc 13747 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 13748 bpb.version_specific.fat12_or_fat16.fstype and
13749 bpb.version_specific.fat32.fstype.
13750
2550c62f 137512009-02-08 Robert Millan <rmh@aybabtu.com>
13752
be110b30 13753 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 13754
56978920 137552009-02-08 Robert Millan <rmh@aybabtu.com>
13756
13757 * Makefile.in (host_os, host_cpu): New variables.
13758 (target_os): Remove. Update all users.
13759
d64399b5 137602009-02-08 Marco Gerards <marco@gnu.org>
13761
13762 * Makefile.in (enable_grub_emu_usb): New variable.
13763 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
13764 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
13765 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
13766 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
13767 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
13768 `usbtest.mod' and `usbms.mod'.
13769 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
13770 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
13771 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
13772 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
13773 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
13774 variables.
13775
13776 * disk/usbms.c: New file.
13777
13778 * include/grub/usb.h: Likewise.
13779
13780 * include/grub/usbtrans.h: Likewise.
13781
13782 * include/grub/usbdesc.h: Likewise.
13783
13784 * bus/usb/usbtrans.c: Likewise.
13785
13786 * bus/usb/ohci.c: Likewise.
13787
13788 * bus/usb/uhci.c: Likewise.
13789
13790 * bus/usb/usbhub.c: Likewise.
13791
13792 * bus/usb/usb.c: Likewise.
13793
13794 * commands/usbtest.c: Likewise.
13795
13796 * util/usb.c: Likewise.
50fb7002 13797
d64399b5 13798 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
13799
13800 * configure.ac: Test for libusb presence.
50fb7002 13801
d64399b5 13802 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
13803
2b40d6bb 138042009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
13805
13806 * kern/mm.c: Add more comments.
13807
73a4ce81 138082009-02-08 Robert Millan <rmh@aybabtu.com>
13809
13810 Patch from Javier Martín.
13811 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
13812 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
13813
f821ce59 138142009-02-08 Robert Millan <rmh@aybabtu.com>
13815
13816 * fs/cpio.c: Split tar functionality to ...
13817 * fs/tar.c: ... here (new file). Update all users.
13818
aebfc4b0 138192009-02-07 Robert Millan <rmh@aybabtu.com>
13820
13821 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
13822 backward-incompatible features.
13823
13824 Based on patch from Javier Martín, with some adjustments.
13825
50fb7002 138262009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 13827
13828 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
13829
0bb5115e 138302009-02-07 Robert Millan <rmh@aybabtu.com>
13831
13832 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
13833 position of `disk/lvm.c' to ensure grub_init_all() always picks it
13834 after the RAID stuff.
13835
38a0f8e7 138362009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
13837
50fb7002 13838 Fixes problem when running vbetest command as reported by
38a0f8e7 13839 Vladimir Serbinenko <phcoder@gmail.com>.
13840
13841 * (grub_vbe_set_video_mode): Fixed problem with text modes.
13842
3143cc1c 138432009-02-04 Felix Zielcke <fzielcke@z-51.de>
13844
13845 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
13846 /dev/md/NpN style mdraid devices.
13847
9cba6fce 138482009-02-03 Felix Zielcke <fzielcke@z-51.de>
13849
13850 * util/unifont2pff.rb: Remove.
13851
e507a2c1 138522009-02-03 Felix Zielcke <fzielcke@z-51.de>
13853
13854 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
13855 `#'.
13856
d2c2b4cd 138572009-02-03 Felix Zielcke <fzielcke@z-51.de>
13858
13859 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
13860 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13861 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13862 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
13863 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13864 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13865 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13866
b4315fb0 138672009-02-02 Christian Franke <franke@computer.org>
13868
13869 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
13870
de3aa260 138712009-02-01 Felix Zielcke <fzielcke@z-51.de>
13872
7c3ff286 13873 * INSTALL: Note that we now require at least autoconf 2.59 and
13874 that LZO is optional.
de3aa260 13875
825a182b 138762009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
13877
13878 Base on patch on bug #24154 created by Tomas Tintera
13879 <trosos@seznam.cz>.
13880
13881 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
13882
a69ef770 138832009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
13884
7c3ff286 13885 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 13886 <bero@arklinux.org>.
13887
13888 * normal/parser.y (script_init): Add missing semicolon.
13889
6fa42fa6 138902009-01-31 Colin D Bennett <colin@gibibit.com>
13891
7c3ff286 13892 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 13893 (free_menu_entry_classes): Added.
13894 (grub_normal_menu_addentry): Added class property handling.
13895 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
13896 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
13897
13898 * normal/menu_viewer.c: New file.
13899
13900 * normal/menu.c (run_menu_entry): Renamed to ...
13901 (grub_menu_execute_entry): ... this and made it as global.
13902 (grub_menu_run): Renamed to ...
13903 (show_text_menu): ... this and made it local.
13904 (show_text_menu): Adapt to new function names.
13905 (grub_normal_terminal_menu_viewer): New global variable.
13906
13907 * include/grub/menu.h: New file.
13908
13909 * include/grub/menu_viewer.h: New file.
13910
13911 * include/grub/normal.h: Added include to grub/menu.h.
13912 (grub_menu_entry): Moved to include/grub/menu.h.
13913 (grub_menu_entry_t): Likewise.
13914 (grub_menu): Likewise.
13915 (grub_menu_t): Likewise.
13916 (grub_normal_terminal_menu_viewer): Added.
13917 (grub_menu_execute_entry): Likewise.
13918 (grub_menu_run): Removed.
13919
13920 * DISTLIST: Added include/grub/menu.h.
13921 Added include/grub/menu_viewer.h.
13922 Added normal/menu_viewer.c.
13923
139242009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
13925
13926 * normal/execute.c (grub_script_execute_menuentry): Changed to use
13927 arglist for menutitle arguments.
13928
13929 * normal/main.c (grub_normal_menu_addentry): Likewise.
13930
13931 * normal/parser.y (menuentry): Likewise.
13932
13933 * normal/script.c (grub_script_create_cmdmenu): Likewise.
13934
13935 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
13936 (grub_script_create_cmdmenu): Likewise.
13937
13938 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
13939
13940 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
13941 changes.
13942
13943 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
13944
13945 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
13946
13947 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
13948
13949 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
13950
13951 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
13952
13953 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
13954
56192c23 139552009-01-30 Christian Franke <franke@computer.org>
13956
13957 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
13958 in option help text.
13959
d72521b3 139602009-01-27 Pavel Roskin <proski@gnu.org>
13961
13962 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
13963
994b5e84 139642009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
13965
13966 * commands/lsmmap.c: Add include to grub/machine/memory.h.
13967
13968 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
13969
13970 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
13971 unregister function.
13972
6a7eab2c 139732009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
13974
13975 * disk/scsi.c (grub_scsi_read): Fix sign problem.
13976
13977 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
13978
13979 * util/grub-mkfont.c (usage): Fix typo.
13980
13981 * util/elf/grub-mkimage.c (load_modules): Fix warning.
13982
1806b56e 139832009-01-26 Daniel Mierswa <impulze@impulze.org>
13984
3fb18f09 13985 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
13986
336e1fb9 13987 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
13988
1806b56e 13989 * kern/misc.c (grub_strcasecmp): New function.
13990 (grub_strcasecmp): Use grub_size_t instead of int for length.
13991 Fix return value.
13992 * include/grub/misc.h: Update function prototypes.
13993
580b2a0f 139942009-01-26 Robert Millan <rmh@aybabtu.com>
13995
13996 * configure.ac: Fix cross-compilation check.
ef257b36 13997
d31c24f1 139982009-01-22 Christian Franke <franke@computer.org>
13999
14000 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
14001 (precision) digit string. Allow `.format2' without `format1' (width).
14002 Limit input chars for `%s' output to `format2' if specified. This is
14003 compatible with standard printf ().
14004
3138b44c 140052009-01-22 Christian Franke <franke@computer.org>
14006
14007 * disk/ata.c (grub_ata_wait_status): Replace by ...
14008 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
14009 other status bits may be invalid while BSY is asserted.
14010 (grub_ata_check_ready): New function.
14011 (grub_ata_cmd): Removed.
14012 (grub_ata_wait_drq): New function.
14013 (grub_ata_strncpy): Remove inline.
14014 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
14015 and error check now done by grub_ata_wait_drq ().
14016 (grub_ata_pio_write): Likewise.
14017 (grub_atapi_identify): Set DEV before check for !BSY. Use
14018 grub_ata_wait_drq () to wait for data.
14019 (grub_ata_device_initialize): Add status register check to
14020 detect missing SATA slave devices. Add debug messages.
14021 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
14022 (grub_atapi_packet): Set DEV before check for !BSY. Replace
14023 transfer loop by grub_ata_pio_write ().
14024 (grub_ata_identify): Set DEV before check for !BSY. Use
14025 grub_ata_wait_drq () to wait for data.
ef257b36 14026 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 14027 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
14028 read/write in one loop. Fix invalid command on write. Fix incomplete
14029 command on (size % batch) == 0. Add missing error check after write of
14030 last block. Add debug messages.
14031 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
14032
59a64ef6 140332009-01-19 Christian Franke <franke@computer.org>
14034
14035 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
14036 (GRUB_ATAPI_IREASON_*): Likewise.
14037 (grub_ata_pio_write): Fix timeout error return.
14038 (grub_atapi_identify): Add grub_ata_wait () after cmd.
14039 (grub_atapi_wait_drq): New function.
14040 (grub_atapi_packet): New parameter `size'.
14041 Use grub_atapi_wait_drq () and direct write instead of
14042 grub_ata_pio_write ().
14043 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
14044 reads the number of bytes requested by the device for each DRQ
14045 assertion.
14046 (grub_atapi_write): Remove old implementation, return not
14047 implemented instead.
14048
1cfe20b3 140492009-01-19 Christian Franke <franke@computer.org>
14050
14051 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
14052 of 512 to calculate data size.
14053 (grub_scsi_read12): Likewise.
14054 (grub_scsi_write10): Likewise.
14055 (grub_scsi_write12): Likewise.
14056 (grub_scsi_read): Adjust size according to blocksize.
14057 Add checks for invalid blocksize and unaligned transfer.
14058
bee5fe5d 140592009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
14060
14061 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
14062
ef257b36 14063 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 14064 width glyphs.
14065
3e643f8c 140662009-01-19 Robert Millan <rmh@aybabtu.com>
14067
14068 * config.guess: Update to latest version from config git.
14069 * config.sub: Likewise.
14070
4fa80998 140712009-01-17 Felix Zielcke <fzielcke@z-51.de>
14072
14073 * Makefile.in: Change font compilation to use new grub-mkfont instead
14074 of java version.
14075
14076 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
14077 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
14078 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
14079 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
14080 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
14081 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
14082 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
14083 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
14084 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
14085
7086085b 140862009-01-16 Christian Franke <franke@computer.org>
14087
14088 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
14089 (enum grub_ata_timeout_milliseconds): New enum.
14090 (grub_ata_wait_status): Add parameter milliseconds.
14091 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
14092 recovery from timed-out commands.
14093 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
14094 return grub_errno instead of REG_ERROR.
14095 (grub_ata_pio_write): Add parameter milliseconds.
14096 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
14097 Pass milliseconds to grub_ata_wait_status () and
14098 grub_ata_pio_read ().
14099 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
14100 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
14101 grub_ata_wait_status (). Fix IDENTIFY timeout check.
14102 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
14103 It is not suitable for device detection, because DEV bit is ignored,
14104 the command may run too long, and not all devices set the signature
14105 properly.
14106 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
14107 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
14108 Fix device selection, DEV bit must be set first to address the registers
14109 of the correct device.
14110 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
14111 grub_ata_pio_read/write ().
14112 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
14113 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
14114
4a412913 141152009-01-13 Carles Pina i Estany <carles@pina.cat>
14116
14117 * util/grub-editenv.c (main): Use fseeko(), not fseek().
14118
7795c55e 141192009-01-13 Bean <bean123ch@gmail.com>
d913988c 14120
14121 * util/grub-mkfont.c (write_font): forget to remove some debug code.
14122
7795c55e 141232009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 14124
14125 * Makefile.in: (enable_grub_mkfont): New variable.
14126 (freetype_cflags): Likewise.
14127 (freetype_libs): Likewise.
14128
14129 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
14130 (grub_mkfont_SOURCES): New variable.
14131 (grub_mkfont_CFLAGS): Likewise.
14132 (grub_mkfont_LDFLAGS): Likewise.
14133
14134 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
14135 library if `--enable-grub-mkfont' is requested.
14136 (enable_grub_mkfont): New variable.
14137 (freetype_cflags): Likewise.
14138 (freetype_libs): Likewise.
14139
14140 * util/grub-mkfont.c: New file.
14141
093af1fe 141422009-01-12 Christian Franke <franke@computer.org>
14143
14144 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
14145 mode check. Fix setting of compat_use[].
14146
f36cc108 141472009-01-10 Robert Millan <rmh@aybabtu.com>
14148
14149 Update a few copyright years which we forgot to do in 2008 (only for
14150 files whose changes made in 2008 were copyright-significant)
14151
14152 * Makefile.in: Add 2008 to Copyright line.
14153 * disk/ieee1275/ofdisk.c: Likewise.
14154 * disk/efi/efidisk.c: Likewise.
14155 * kern/dl.c: Likewise.
14156 * kern/sparc64/ieee1275/init.c: Likewise.
14157 * kern/mm.c: Likewise.
14158 * kern/efi/mm.c: Likewise.
14159 * boot/i386/pc/boot.S: Likewise.
14160 * genfslist.sh: Likewise.
14161 * fs/iso9660.c: Likewise.
14162 * fs/hfs.c: Likewise.
14163 * fs/jfs.c: Likewise.
14164 * fs/minix.c: Likewise.
14165 * fs/ufs.c: Likewise.
14166 * gensymlist.sh.in: Likewise.
14167 * genkernsyms.sh.in: Likewise.
14168 * include/grub/misc.h: Likewise.
14169 * include/grub/types.h: Likewise.
14170 * include/grub/symbol.h: Likewise.
14171 * include/grub/elf.h: Likewise.
14172 * include/grub/kernel.h: Likewise.
14173 * include/grub/disk.h: Likewise.
14174 * include/grub/dl.h: Likewise.
14175 * include/grub/i386/linux.h: Likewise.
14176 * include/grub/i386/pc/biosdisk.h: Likewise.
14177 * include/grub/efi/api.h: Likewise.
14178 * include/grub/efi/pe32.h: Likewise.
14179 * include/grub/util/misc.h: Likewise.
14180 * normal/execute.c: Likewise.
14181 * normal/arg.c: Likewise.
14182 * normal/completion.c: Likewise.
14183 * normal/lexer.c: Likewise.
14184 * normal/parser.y: Likewise.
14185 * normal/misc.c: Likewise.
14186 * commands/i386/pc/vbeinfo.c: Likewise.
14187 * commands/hexdump.c: Likewise.
14188 * commands/terminal.c: Likewise.
14189 * commands/ls.c: Likewise.
14190 * commands/help.c: Likewise.
14191 * partmap/pc.c: Likewise.
14192 * loader/efi/chainloader.c: Likewise.
14193 * loader/multiboot_loader.c: Likewise.
14194 * loader/i386/pc/multiboot2.c: Likewise.
14195 * term/efi/console.c: Likewise.
14196 * term/i386/pc/serial.c: Likewise.
14197 * util/lvm.c: Likewise.
14198 * util/console.c: Likewise.
14199 * util/i386/efi/grub-mkimage.c: Likewise.
14200 * util/raid.c: Likewise.
14201
7f02114b 142022009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
14203
14204 * commands/videotest.c: Removed include to grub/machine/memory.h.
14205
14206 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
14207 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
14208 (video_mod_SOURCES): Removed.
14209 (video_mod_CFLAGS): Likewise.
14210 (video_mod_LDFLAGS): Likewise.
14211 (gfxterm_mod_SOURCES): Likewise.
14212 (gfxterm_mod_CFLAGS): Likewise.
14213 (gfxterm_mod_LDFLAGS): Likewise.
14214 (videotest_mod_SOURCES): Likewise.
14215 (videotest_mod_CFLAGS): Likewise.
14216 (videotest_mod_LDFLAGS): Likewise.
14217 (bitmap_mod_SOURCES): Likewise.
14218 (bitmap_mod_CFLAGS): Likewise.
14219 (bitmap_mod_LDFLAGS): Likewise.
14220 (tga_mod_SOURCES): Likewise.
14221 (tga_mod_CFLAGS): Likewise.
14222 (tga_mod_LDFLAGS): Likewise.
14223 (jpeg_mod_SOURCES): Likewise.
14224 (jpeg_mod_CFLAGS): Likewise.
14225 (jpeg_mod_LDFLAGS): Likewise.
14226 (png_mod_SOURCES): Likewise.
14227 (png_mod_CFLAGS): Likewise.
14228 (png_mod_LDFLAGS): Likewise.
14229
14230 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
14231 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
14232 (video_mod_SOURCES): Added.
14233 (video_mod_CFLAGS): Likewise.
14234 (video_mod_LDFLAGS): Likewise.
14235 (videotest_mod_SOURCES): Likewise.
14236 (videotest_mod_CFLAGS): Likewise.
14237 (videotest_mod_LDFLAGS): Likewise.
14238 (bitmap_mod_SOURCES): Likewise.
14239 (bitmap_mod_CFLAGS): Likewise.
14240 (bitmap_mod_LDFLAGS): Likewise.
14241 (tga_mod_SOURCES): Likewise.
14242 (tga_mod_CFLAGS): Likewise.
14243 (tga_mod_LDFLAGS): Likewise.
14244 (jpeg_mod_SOURCES): Likewise.
14245 (jpeg_mod_CFLAGS): Likewise.
14246 (jpeg_mod_LDFLAGS): Likewise.
14247 (png_mod_SOURCES): Likewise.
14248 (png_mod_CFLAGS): Likewise.
14249 (png_mod_LDFLAGS): Likewise.
14250 (gfxterm_mod_SOURCES): Likewise.
14251 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 14252 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 14253
14254 * term/gfxterm.c: Removed include to grub/machine/memory.h,
14255 grub/machine/console.h.
14256
644fff97 142572009-01-04 Jerone Young <jerone@gmail.com>
14258
14259 Make on screen instructions clearer
14260
14261 Based on patch created by Jidanni <jidanni@jidanni.org>
14262
14263 * normal/menu.c: print clearer instructions on the screen
14264
1e901a75 142652009-01-02 Colin D Bennett <colin@gibibit.com>
14266
14267 New font engine.
34c44600 14268
1e901a75 14269 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
14270 build system and fixed gfxterm.c to work with different sized fonts.
14271
14272 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 14273
1e901a75 14274 * configure: Re-generated.
34c44600 14275
1e901a75 14276 * DISTLIST: Removed font/manager.c.
14277 Added font/font.c.
14278 Added font/font_cmd.c.
34c44600 14279
1e901a75 14280 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
14281 compilation.
34c44600 14282
1e901a75 14283 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 14284
14285 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 14286
14287 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 14288
1e901a75 14289 * normal/menu.c: Likewise.
34c44600 14290
1e901a75 14291 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
14292 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 14293
1e901a75 14294 * include/grub/font.h: Replaced with new file.
34c44600 14295
1e901a75 14296 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
14297 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
14298 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
14299 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
14300 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 14301 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 14302 fg_red, fg_green, fg_blue, fg_alpha.
14303 (grub_video_adapter): Removed blit_glyph.
34c44600 14304 (grub_video_blit_glyph): Removed.
14305
1e901a75 14306 * font/manager.c: Removed file.
34c44600 14307
14308 * font/font.c: New file.
14309
1e901a75 14310 * font/font_cmd.c: Likewise.
34c44600 14311
1e901a75 14312 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 14313
1e901a75 14314 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
14315 (grub_video_vbe_map_rgba): Likewise.
14316 (grub_video_vbe_unmap_color_int): Likewise.
14317 (grub_video_vbe_blit_glyph): Removed.
14318 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 14319
1e901a75 14320 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
14321 (get_pixel): Likewise.
34c44600 14322 (set_pixel): Likewise.
14323
1e901a75 14324 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 14325
1e901a75 14326 * term/gfxterm.c: Adapted to new font engine.
34c44600 14327
1e901a75 14328 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 14329
1e901a75 14330 * term/i386/pc/vga.c: Likewise.
34c44600 14331
1e901a75 14332 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 14333
1e901a75 14334 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 14335
1e901a75 14336 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 14337
1e901a75 14338 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 14339
1e901a75 14340 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 14341
1e901a75 14342 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 14343
1e901a75 14344 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 14345
1e901a75 14346 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 14347
1e901a75 14348 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
14349
14350 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 14351
1e901a75 14352 * util/grub-mkconfig_lib.in: Changed font extension.
14353
278922e8 143542008-12-28 Felix Zielcke <fzielcke@z-51.de>
14355
14356 * util/getroot.c (grub_util_get_grub_dev): Add support for
14357 /dev/md/dNNpNN style partitionable mdraid devices.
14358
3ced05cf 143592008-12-12 Alex Smith <alex@alex-smith.me.uk>
14360
14361 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
14362 at a time limit of the PXE TFTP API correctly.
14363 (grub_pxefs_close): Likewise.
14364
7fd0ee30 143652008-11-29 Robert Millan <rmh@aybabtu.com>
14366
34c44600 14367 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 14368 grub_ata_device_initialize() calls.
14369
34c44600 143702008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 14371
14372 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
14373 iteration failed.
14374 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
14375
89313780 143762008-11-28 Robert Millan <rmh@aybabtu.com>
14377
14378 Fix build on powerpc-ieee1275. Based on patch created by
14379 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
14380 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
14381 `kern/ieee1275/mmap.c'.
14382 * include/grub/powerpc/ieee1275/memory.h: New file.
14383
15257703 14384 Provide grub-install on coreboot.
14385 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
14386 (grub_install_SOURCES): New variable.
14387 * util/i386/pc/grub-install.in: Add a few condition checks to make it
14388 usable on coreboot.
14389
9fc5388a 143902008-11-25 Felix Zielcke <fzielcke@z-51.de>
14391
14392 * util/grub-fstest.c (grub_term_get_current_input): Change return type
14393 to `grub_term_input_t'.
14394 (grub_term_get_current_output): Change return type to
14395 `grub_term_output_t'.
14396
bc3a2f31 143972008-11-22 Robert Millan <rmh@aybabtu.com>
14398
34c44600 14399 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 14400 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
14401 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
14402 grub_vga_text_cls().
14403
80fc88f2 14404 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 14405 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 14406
cbf36fd3 14407 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
14408 to 0x200000 (avoids trouble with some OFW implementations, and matches
14409 with the one in Yaboot).
14410 Reported by Manoel Abranches
14411
73e8e268 144122008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 14413
14414 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
14415 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
14416
73e8e268 14417 * util/grub-mkconfig_lib.in (grub_warn): New function.
14418 (convert_system_path_to_grub_path): Use grub_warn() when issuing
14419 warnings, to obtain consistent formatting.
14420 * util/grub.d/00_header.in: Likewise.
14421 * util/update-grub_lib.in: Likewise.
14422
e94045a1 14423 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 14424 Move comment text to `#error' stanza.
e94045a1 14425
79d29fd7 14426 Harmonize ieee1275's grub_available_iterate() with the generic
14427 grub_machine_mmap_iterate() interface (fixes a recently-introduced
14428 build problem on i386-ieee1275):
14429 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
14430 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
14431 parameter `type'. Update all users of this function.
14432 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
14433 `kern/ieee1275/mmap.c'.
14434 * kern/ieee1275/init.c
14435 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
14436 with ...
14437 (grub_machine_mmap_iterate): ... this.
14438 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
14439 return type to `grub_err_t'. Update all implementations of this
14440 function prototype.
14441 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
14442 Likewise.
14443
60d6b16e 14444 Add `lsmmap' command (lists firmware-provided memory map):
14445 * commands/lsmmap.c: New file.
14446 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
14447 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
14448 variables.
14449 * conf/powerpc-ieee1275.rmk: Likewise.
14450 * conf/i386-coreboot.rmk: Likewise.
14451 * conf/i386-ieee1275.rmk: Likewise.
14452
ebaaf49b 144532008-11-19 Robert Millan <rmh@aybabtu.com>
14454
14455 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 14456 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
14457 constraints to initrd allocation (based on code from
14458 loader/i386/pc/linux.c). Without them, initrd was allocated too high
14459 for Linux to find it.
ebaaf49b 14460
dfab719f 144612008-11-14 Robert Millan <rmh@aybabtu.com>
14462
14463 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
14464 order to cope with duplicate slashes.
14465
10fc3eb9 144662008-11-14 Robert Millan <rmh@aybabtu.com>
14467
14468 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
14469 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
14470 don't want to mess with lower memory, because it is used in the Linux
14471 loader.
14472
14473 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 14474 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 14475 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
14476 is in our heap (probably as a result of it being corrupted during
2f2a3442 14477 decompression). Add #error instance with comment to explain why this
14478 loader isn't currently usable on PC/BIOS.
10fc3eb9 14479
e2e07847 144802008-11-14 Robert Millan <rmh@aybabtu.com>
14481
14482 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 14483 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 14484
fe8e8d69 144852008-11-12 Robert Millan <rmh@aybabtu.com>
14486
14487 Make loader/i386/linux.c buildable on i386-pc (although disabled).
14488
14489 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
14490 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
14491 from here ...
14492 * include/grub/i386/pc/memory.h: ... to here.
14493
976b07d0 144942008-11-12 Robert Millan <rmh@aybabtu.com>
14495
14496 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
14497 split).
14498
14499 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
14500 (grub_console_cur_color, grub_console_real_putchar)
14501 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
14502 (grub_console_setcolorstate, grub_console_setcolor)
14503 (grub_console_getcolor): Move from here ...
14504 * include/grub/i386/vga_common.h: ... to here (new file).
14505
14506 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
14507 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
14508 `<grub/i386/io.h>'.
14509 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
14510 `<grub/i386/vga_common.h>'.
14511
76679cd3 145122008-11-12 Robert Millan <rmh@aybabtu.com>
14513
14514 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
14515 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
14516 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
14517 variables.
14518 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
14519 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
14520
14521 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
14522 grub_console_init() with call to grub_vga_text_init().
14523 (grub_machine_fini): Replace call to
14524 grub_console_fini() with call to grub_vga_text_fini() and
14525 grub_at_keyboard_fini().
14526
14527 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
14528 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
14529 (grub_console_setcolorstate, grub_console_setcolor)
14530 (grub_console_getcolor): New function prototypes.
14531
14532 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
14533 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
14534 (grub_vga_text_setcursor): Static-ize.
14535 (grub_vga_text_term): New structure.
14536 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
14537
14538 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
14539 (grub_console_cur_color, grub_console_standard_color)
14540 (grub_console_normal_color, grub_console_highlight_color)
14541 (map_char, grub_console_putchar, grub_console_getcharwidth)
14542 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
14543 (grub_console_getcolor): Move from here ...
14544 * term/i386/vga_common.c: ... to here (same function names).
14545
95b841d3 145462008-11-12 Robert Millan <rmh@aybabtu.com>
14547
14548 Use newly-added Multiboot support in coreboot.
14549
14550 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
14551 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
14552
14553 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
14554 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
14555 (codestart): Store the MBI in `startup_multiboot_info' when we're
14556 being loaded using Multiboot.
14557
14558 * kern/i386/coreboot/init.c (grub_machine_init): Move
14559 grub_at_keyboard_init() call to beginning of function (useful for
14560 debugging). Call grub_machine_mmap_init() before attempting to use
14561 grub_machine_mmap_iterate().
14562 (grub_lower_mem, grub_upper_mem): Move from here ...
14563 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
14564 here (new file).
14565
14566 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
14567 function prototype.
14568
761ca975 145692008-11-12 Robert Millan <rmh@aybabtu.com>
14570
14571 Fix a regression introduced by the at_keyboard.mod split. Because
14572 some terminals are default on some platforms and non-default on
14573 others, the first terminal being registered determines which is
14574 going to be default.
14575
14576 * kern/term.c (grub_term_register_input): If this is the first
14577 terminal being registered, set it as the current one.
14578 (grub_term_register_output): Likewise.
14579
14580 * term/efi/console.c (grub_console_init): Do not call
14581 grub_term_set_current_output() or grub_term_set_current_input().
14582 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
14583 * term/i386/pc/console.c (grub_console_init): Likewise.
14584 (grub_console_fini): Do not call grub_term_set_current_input()
14585 (but leave grub_term_set_current_output() to restore text mode).
14586
6c529df7 145872008-11-10 Robert Millan <rmh@aybabtu.com>
14588
14589 * util/grub.d/00_header.in: Add backward compatibility check for
14590 versions of terminal.mod that don't understand `terminal_input' or
14591 `terminal_output'.
14592
132e4113 145932008-11-09 Robert Millan <rmh@aybabtu.com>
14594
14595 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
14596 `terminal_input' / `terminal_output', not `terminal'.
14597
ac293d50 145982008-11-08 Robert Millan <rmh@aybabtu.com>
14599
14600 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 14601 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 14602
0025933a 146032008-11-08 Robert Millan <rmh@aybabtu.com>
14604
14605 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 14606 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 14607 members. Update all users.
14608 * util/console.c (grub_ncurses_term): Split in ...
14609 (grub_ncurses_term_input): ... this, and ...
14610 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 14611 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 14612
37c86336 146132008-11-08 Robert Millan <rmh@aybabtu.com>
14614
14615 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
14616 (PKGDATA): Add $(pkgdata_SRCDIR).
14617 (pkglib_BUILDDIR): New variable.
14618 (pkgdata_SRCDIR): New variable.
14619 (build_env.mk): New target.
14620 (include_DATA): New variable.
14621 (install-local): Install $(include_DATA) files in $(includedir).
14622
b6c15a2d 146232008-11-07 Pavel Roskin <proski@gnu.org>
14624
d99d46f1 14625 * gendistlist.sh: Use C locale for sorting to ensure consistent
14626 output on all systems.
14627
b6c15a2d 14628 * util/grub.d/00_header.in: Remove incorrect space before
14629 "serial".
14630
c32ee8c9 146312008-11-07 Robert Millan <rmh@aybabtu.com>
14632
14633 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
14634 per specification.
14635 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
14636 * loader/multiboot_loader.c (find_multi_boot2_header): New function
14637 (based on find_multi_boot1_header).
14638 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
14639 using find_multi_boot2_header(), and abort if neither Multiboot or
14640 Multiboot headers were found.
14641
651c29b7 146422008-11-07 Robert Millan <rmh@aybabtu.com>
14643
14644 Modularize at_keyboard.mod:
14645
14646 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
14647 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
14648 (at_keyboard_mod_LDFLAGS): New variables.
14649
14650 Actual terminal split:
14651
14652 * include/grub/term.h (struct grub_term): Split in ...
14653 (struct grub_term_input): ... this, and ...
14654 (struct grub_term_output): ... this. Update all users.
14655 (grub_term_set_current): Split in ...
14656 (grub_term_set_current_input): ... this, and ...
14657 (grub_term_set_current_output): ... this.
14658 (grub_term_get_current): Split in ...
14659 (grub_term_get_current_input): ... this, and ...
14660 (grub_term_get_current_output): ... this.
14661 (grub_term_register): Split in ...
14662 (grub_term_register_input): ... this, and ...
14663 (grub_term_register_output): ... this.
14664 (grub_term_unregister): Split in ...
14665 (grub_term_unregister_input): ... this, and ...
14666 (grub_term_unregister_output): ... this.
14667 (grub_term_iterate): Split in ...
14668 (grub_term_iterate_input): ... this, and ...
14669 (grub_term_iterate_output): ... this.
14670
14671 * kern/term.c (grub_term_list): Split in ...
14672 (grub_term_list_input): ... this, and ...
14673 (grub_term_list_output): ... this. Update all users.
14674 (grub_cur_term): Split in ...
14675 (grub_cur_term_input): ... this, and ...
14676 (grub_cur_term_output): ... this. Update all users.
14677 (grub_term_set_current): Split in ...
14678 (grub_term_set_current_input): ... this, and ...
14679 (grub_term_set_current_output): ... this.
14680 (grub_term_get_current): Split in ...
14681 (grub_term_get_current_input): ... this, and ...
14682 (grub_term_get_current_output): ... this.
14683 (grub_term_register): Split in ...
14684 (grub_term_register_input): ... this, and ...
14685 (grub_term_register_output): ... this.
14686 (grub_term_unregister): Split in ...
14687 (grub_term_unregister_input): ... this, and ...
14688 (grub_term_unregister_output): ... this.
14689 (grub_term_iterate): Split in ...
14690 (grub_term_iterate_input): ... this, and ...
14691 (grub_term_iterate_output): ... this.
14692
14693 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
14694 a check for input and one for output (and only attempt to get keys
14695 from user when input works).
14696
14697 * util/grub-probe.c (grub_term_get_current): Split in ...
14698 (grub_term_get_current_input): ... this, and ...
14699 (grub_term_get_current_output): ... this.
14700 * util/grub-fstest.c: Likewise.
14701 * util/i386/pc/grub-setup.c: Likewise.
14702 * util/grub-editenv.c: Likewise.
14703
14704 Portability adjustments:
14705
14706 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
14707 `term/i386/pc/at_keyboard.c'.
14708 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
14709 grub_keyboard_controller_init() (now handled by terminal .init).
14710 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
14711 grub_at_keyboard_init().
14712 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
14713 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
14714 at_keyboard.mod via input terminal interface).
14715 * include/grub/i386/coreboot/console.h: Convert into a stub for
14716 `<grub/i386/pc/console.h>'.
14717
14718 Migrate full terminals to new API:
14719
14720 * term/efi/console.c (grub_console_term): Split into ...
14721 (grub_console_term_input): ... this, and ...
14722 (grub_console_term_output): ... this. Update all users.
14723 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
14724 (grub_ofconsole_init): Split into ...
14725 (grub_ofconsole_init_input): ... this, and ...
14726 (grub_ofconsole_init_output): ... this.
14727 (grub_ofconsole_term): Split into ...
14728 (grub_ofconsole_term_input): ... this, and ...
14729 (grub_ofconsole_term_output): ... this. Update all users.
14730 * term/i386/pc/serial.c (grub_serial_term): Split into ...
14731 (grub_serial_term_input): ... this, and ...
14732 (grub_serial_term_output): ... this. Update all users.
14733 * term/i386/pc/console.c (grub_console_term): Split into ...
14734 (grub_console_term_input): ... this, and ...
14735 (grub_console_term_output): ... this. Update all users.
14736 (grub_console_term_input): Only enable it on PC/BIOS platform.
14737 (grub_console_init): Remove grub_keyboard_controller_init() call.
14738
14739 Migrate input terminals to new API:
14740
14741 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
14742 `i386' and `i386/pc' to enable build on x86_64 (this driver is
14743 i386-specific anyway).
14744 (grub_console_checkkey): Rename to ...
14745 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
14746 users.
14747 (grub_keyboard_controller_orig): New variable.
14748 (grub_console_getkey): Rename to ...
14749 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
14750 users.
14751 (grub_keyboard_controller_init): Static-ize. Save original
14752 controller value so that it can be restored ...
14753 (grub_keyboard_controller_fini): ... here (new function).
14754 (grub_at_keyboard_term): New structure.
14755 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
14756 functions.
14757
14758 Migrate output terminals to new API:
14759
14760 * term/i386/pc/vga.c (grub_vga_term): Change type to
14761 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
14762 members. Update all users.
14763 * term/gfxterm.c (grub_video_term): Change type to
14764 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
14765 members. Update all users.
14766 * include/grub/i386/pc/console.h (grub_console_checkkey)
14767 (grub_console_getkey): Do not export (no longer needed by gfxterm,
14768 etc).
14769
14770 Migrate `terminal' command and userland tools to new API:
14771
14772 * commands/terminal.c (grub_cmd_terminal): Split into ...
14773 (grub_cmd_terminal_input): ... this, and ...
14774 (grub_cmd_terminal_output): ... this.
14775 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
14776 `terminal_input' and `terminal_output'.
14777 * util/grub.d/00_header.in: Adjust `terminal' calls to new
14778 `terminal_input' / `terminal_output' API.
14779 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
14780 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
14781 provided ${GRUB_TERMINAL}, convert it).
14782
96e5d876 147832008-11-04 Robert Millan <rmh@aybabtu.com>
14784
14785 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
14786 for FreeBSD.
14787 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
14788
556f3775 147892008-11-03 Bean <bean123ch@gmail.com>
14790
14791 * kern/elf.c (grub_elf32_load): Revert to previous code.
14792 (grub_elf64_load): Likewise.
14793
14794 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
14795
926b9823 147962008-11-01 Robert Millan <rmh@aybabtu.com>
14797
14798 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
14799 (TARGET_CPPFLAGS): Likewise.
14800 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
14801
1432e958 148022008-11-01 Carles Pina i Estany <carles@pina.cat>
14803
14804 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
14805
dba3f844 148062008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 14807
14808 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
14809 addition of objects until the code is not going to be able to fail.
14810
dba3f844 148112008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 14812
14813 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
14814 (add a missing NULL check, and correct them by moving the pointer
14815 operations after the actual check).
14816
7ab28c21 148172008-10-29 Robert Millan <rmh@aybabtu.com>
14818
14819 * util/i386/pc/grub-install.in: Handle empty string as output from
14820 make_system_path_relative_to_its_root().
14821
1b7748eb 148222008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
14823
14824 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
14825 circular metadata worst case scenario. If the metadata is circular
14826 then copy the wrap in place.
14827 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
14828 project lib/format_text/layout.h
14829 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
14830
c9618ab2 148312008-10-03 Felix Zielcke <fzielcke@z-51.de>
14832
7a36edca 14833 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 14834
bf981c62 148352008-10-03 Felix Zielcke <fzielcke@z-51.de>
14836
14837 * util/update-grub_lib.in: Mention filename in warning message.
14838
6d994591 148392008-09-29 Felix Zielcke <fzielcke@z-51.de>
14840
14841 * NEWS: Update for rename of update-grub to grub-mkconfig.
14842
18ade780 148432008-09-29 Felix Zielcke <fzielcke@z-51.de>
14844
14845 * util/update-grub_lib.in: Copy to ...
14846 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 14847 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 14848 * util/update-grub.in: Rename to ...
14849 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
14850 option. Add `--output' option to allow users to specify the generated
14851 configuration file. Default to stdout.
14852 (update_grub_dir): Rename to ...
14853 (grub_mkconfig_dir): ... this.
14854 (grub_cfg): Default to an empty string.
14855 * conf/common.rmk (update-grub): Rename to ...
14856 (grub-mkconfig): ... this.
14857 (update-grub_lib): Copy to ...
14858 (grub-mkconfig_lib): ... this.
14859 (update-grub_SCRIPTS): Copy to ...
14860 (grub-mkconfig_SCRIPTS): ... this. Update all users.
14861 (update-grub_DATA): Rename to ...
14862 (grub-mkconfig_DATA): ... this.
14863
556ce6ac 148642008-09-28 Robert Millan <rmh@aybabtu.com>
14865
14866 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
14867 to `modified'. Add the real `created' field.
14868 (grub_iso9660_uuid): Use `modified' rather than `created' for
14869 constructing the UUID.
14870
148712008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 14872
14873 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
14874 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
14875
92274e85 148762008-09-28 Bean <bean123ch@gmail.com>
14877
14878 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
14879 Thanks to Christian Franke for finding this bug.
14880
add6f17a 148812008-09-25 Robert Millan <rmh@aybabtu.com>
14882
14883 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
14884 instances of grub_util_get_disk_name() (see previous commit).
14885
d2a367b8 148862008-09-25 Robert Millan <rmh@aybabtu.com>
14887
14888 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
14889 `util/i386/get_disk_name.c'.
14890 * conf/i386-efi.rmk: Likewise.
14891 * conf/x86_64-efi.rmk: Likewise.
14892 * conf/i386-coreboot.rmk: Likewise.
14893 * conf/i386-ieee1275.rmk: Likewise.
14894 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
14895 `util/ieee1275/get_disk_name.c'.
14896 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
14897 * util/ieee1275/get_disk_name.c: Remove file.
14898 * util/i386/get_disk_name.c: Remove file.
14899 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
14900 "hd%d" for device.map entries, rather than using
14901 grub_util_get_disk_name().
14902
81a06771 149032008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 14904
14905 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
14906 warning.
14907 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
14908
5a004279 149092008-09-24 Carles Pina i Estany <carles@pina.cat>
14910
14911 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
14912 Changed to 0x5100.
14913 (GRUB_TERM_PPAGE): Changed to 0x4900.
14914
397093d3 149152008-09-24 Robert Millan <rmh@aybabtu.com>
14916
14917 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
14918 macros (they were i386-pc specific).
14919 * include/grub/sparc64/ieee1275/console.h: Likewise.
14920 * include/grub/efi/console.h: Likewise.
14921
a91b6c7c 149222008-09-22 Bean <bean123ch@gmail.com>
14923
14924 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
14925 resident and in attribute list.
14926
14927 * include/grub/ntfs.h (BMP_LEN): Removed.
14928
c40fd116 149292008-09-22 Bean <bean123ch@gmail.com>
14930
81a06771 14931 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 14932 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
14933
14934 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
14935 error occurs, as grub_disk_open will call grub_disk_close, which will
14936 call p->close (scsi).
14937
81a06771 149382008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 14939
14940 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
14941 (AC_PREREQ): Bumped to 2.59.
14942 (AC_TRY_COMPILE): Replace obsolete macro with ...
14943 (AC_COMPILE_IFELSE): ... this.
14944 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
14945 (AC_LINK_IFELSE): ... this.
14946
5dc43410 149472008-09-21 Felix Zielcke <fzielcke@z-51.de>
14948
14949 * autogen.sh: Add a call to `gendistlist.sh'.
14950
9035dce4 149512008-09-19 Christian Franke <franke@computer.org>
14952
14953 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
14954 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
14955 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
14956 Export __enable_execute_stack() to modules.
14957 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
14958 New function.
14959
7fd75377 149602008-09-09 Felix Zielcke <fzielcke@z-51.de>
14961
040030b3 14962 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
14963 Sort the list.
14964
149652008-09-09 Felix Zielcke <fzielcke@z-51.de>
14966
14967 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 14968 #include <grub/util/hostdisk.h>.
14969
89d5ffcf 149702008-09-08 Robert Millan <rmh@aybabtu.com>
14971
14972 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
14973 segments when their filesz is zero (grub_file_read() interprets
81a06771 14974 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 14975 Use `lowest_segment' rather than 0 for calculating the current
14976 segment load address.
14977
40da438f 149782008-09-08 Robert Millan <rmh@aybabtu.com>
14979
14980 * util/hostdisk.c (open_device): Replace a grub_util_info() call
14981 with grub_dprintf("hostdisk", ...), as it was so verbose that it
14982 clobbered useful information.
14983
ddbf5556 149842008-09-08 Robert Millan <rmh@aybabtu.com>
14985
14986 * include/grub/util/biosdisk.h: Move to ...
14987 * include/grub/util/hostdisk.h: ... here. Update all users.
14988 * util/biosdisk.c: Move to ...
14989 * util/hostdisk.c: ... here. Update all users.
14990
783d0f48 149912008-09-07 Robert Millan <rmh@aybabtu.com>
14992
14993 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
14994 variables.
14995 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
14996 and length can be stored directly in the `mbi->mmap_addr' and
14997 `mbi->mmap_length' struct fields.
14998
548e2ea5 149992008-09-07 Robert Millan <rmh@aybabtu.com>
15000
15001 * conf/i386.rmk: New file. Provides declaration for building
15002 `cpuid.mod'.
15003 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
15004 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
15005 variables.
15006 Include `conf/i386.mk'.
15007 * conf/i386-efi.rmk: Likewise.
15008 * conf/x86_64-efi.rmk: Likewise.
15009 * conf/i386-coreboot.rmk: Likewise.
15010 * conf/i386-ieee1275.rmk: Likewise.
15011
0ea85a37 150122008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
15013
15014 Based on patch created by Colin D Bennett <colin@gibibit.com>.
15015 Adds optimization support for BGR based modes.
15016
15017 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
15018 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
15019 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
15020 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
15021 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
15022 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
15023 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
15024 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
15025 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
15026 (grub_video_i386_vbeblit_index_index): Likewise.
15027 (grub_video_i386_vbeblit_replace_directN): Added.
15028 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
15029 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
15030 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
15031 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
15032 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
15033 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 15034 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 15035 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
15036 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
15037 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
15038 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
15039 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
15040 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
15041
15042 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
15043 (grub_video_i386_vbefill_R8G8B8): Likewise.
15044 (grub_video_i386_vbefill_index): Likewise.
15045 (grub_video_i386_vbefill_direct32): Added.
15046 (grub_video_i386_vbefill_direct24): Likewise.
15047 (grub_video_i386_vbefill_direct16): Likewise.
15048 (grub_video_i386_vbefill_direct8): Likewise.
15049
81a06771 15050 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 15051 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
15052 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
15053 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
15054 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
15055 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 15056
0ea85a37 15057 * video/video.c (grub_video_get_blit_format): Updated to use new
15058 blit formats. Added handling for 16 bit color modes.
81a06771 15059
15060 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 15061 fillers.
15062 (common_blitter): Updated to use new blitters.
15063
15064 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
15065 Removed.
15066 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
15067 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
15068 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
15069 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
15070 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
15071 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
15072 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
15073 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
15074 (grub_video_i386_vbeblit_index_index): Likewise.
15075 (grub_video_i386_vbeblit_replace_directN): Added.
15076 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
15077 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
15078 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
15079 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
15080 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
15081 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
15082 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
15083 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
15084 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
15085 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
15086 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
15087 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
15088 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 15089
0ea85a37 15090 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
15091 (grub_video_i386_vbefill_R8G8B8): Likewise.
15092 (grub_video_i386_vbefill_index): Likewise.
15093 (grub_video_i386_vbefill_direct32): Added.
15094 (grub_video_i386_vbefill_direct24): Likewise.
15095 (grub_video_i386_vbefill_direct16): Likewise.
15096 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 15097
0ea85a37 15098 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
15099 types.
81a06771 15100
0ea85a37 15101 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
15102 types.
81a06771 15103
0ea85a37 15104 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
15105 blitter types.
81a06771 15106
0ea85a37 15107 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
15108 types.
15109
e8a83df6 151102008-09-06 Felix Zielcke <fzielcke@z-51.de>
15111
15112 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
15113 RAID level 1.
15114
6bcd8ee5 151152008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 15116
6bcd8ee5 15117 * fs/iso9660.c (grub_iso9660_date): New structure.
15118 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
15119 (grub_iso9660_uuid): New function.
c375ae58 15120
59261157 151212008-09-05 Bean <bean123ch@gmail.com>
15122
15123 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
15124
15125 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
15126 insensitive bit for names in Win32 and Win32 & DOS namespace.
15127
15128 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
15129
15130 * include/grub/types.h (LONG_MAX): Likewise.
15131
58b6645a 151322008-09-04 Felix Zielcke <fzielcke@z-51.de>
15133
4ee55921 15134 * util/getroot.c: Include <config.h>.
15135 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
15136 add support for /dev/md/N devices and handle LVM double dash escaping.
15137
151382008-09-04 Felix Zielcke <fzielcke@z-51.de>
15139
15140 * config.guess: Update to latest version from config git.
15141 * config.sub: Likewise.
58b6645a 15142
9124f65d 151432008-09-03 Robert Millan <rmh@aybabtu.com>
15144
15145 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
15146 `disk->total_sectors'.
15147
81a06771 151482008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 15149
15150 * include/grub/normal.h: Fixed incorrect comment for
15151 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
15152
81a06771 151532008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 15154
15155 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
15156 values with defines.
15157
15158 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
15159 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
15160 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
15161 (GRUB_VBE_MODEATTR_COLOR): Likewise.
15162 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
15163 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
15164 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
15165 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
15166 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
15167 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
15168 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
15169 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
15170 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
15171 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
15172 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
15173 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
15174 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
15175 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
15176 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
15177
93d5cbf8 151782008-08-31 Robert Millan <rmh@aybabtu.com>
15179
15180 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
15181 declaration.
15182 (grub_multiboot): Fix a few warnings.
15183
21751d50 151842008-08-31 Robert Millan <rmh@aybabtu.com>
15185
15186 * loader/i386/pc/multiboot.c: Update comment not to say that
15187 boot_device support is unimplemented.
15188
e27a75c5 151892008-08-31 Robert Millan <rmh@aybabtu.com>
15190
15191 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
15192 or memory map support are unimplemented.
15193
81a06771 151942008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 15195
15196 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
15197
81a06771 151982008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 15199
15200 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
15201 total video memory in 'vbeinfo' output; show color format details for
15202 each video mode.
15203
7c5d8d95 152042008-08-30 Pavel Roskin <proski@gnu.org>
15205
15206 * util/genmoddep.c: Remove for real this time.
15207 * DISTLIST: Remove util/genmoddep.c.
15208
4cebd25a 152092008-08-30 Robert Millan <rmh@aybabtu.com>
15210
15211 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
15212 as required by Multiboot spec (it was already 4-byte aligned, but
15213 only by chance).
15214
b497a269 152152008-08-29 Pavel Roskin <proski@gnu.org>
15216
e3925185 15217 * kern/powerpc/ieee1275/crt0.S: Rename to ...
15218 * kern/powerpc/ieee1275/startup.S: ... this.
15219 * conf/powerpc-ieee1275.rmk: Adjust for the above.
15220 * DISTLIST: Likewise.
15221
b497a269 15222 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
15223 grub/cpu/kernel.h. Add start label for consistency with other
15224 platforms. Add grub_prefix immediately after start. Add jump
15225 to the code after grub_prefix.
15226 * include/grub/powerpc/kernel.h: Provide valid values for
15227 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
15228
6e5a42fe 152292008-08-29 Bean <bean123ch@gmail.com>
15230
15231 * configure.ac: Change host_os to cygwin for mingw.
15232 (asprintf): New check for function.
15233
15234 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
15235 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
15236
15237 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 15238 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 15239 sync, sleep and grub_util_get_disk_size for mingw.
15240
15241 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
15242 to get size in mingw.
15243 (open_device): Use flag O_BINARY if it's defined.
15244 (find_root_device): Add dummy code for mingw.
15245
15246 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
15247 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
15248 (get_scsi_disk_name): Return 0 for mingw.
15249
15250 * util/hostfs.c: #include <grub/util/misc.h>.
15251 (grub_hostfs_open): Use "rb" flag to open file, use
15252 grub_util_get_disk_size to get disk size for mingw.
15253
15254 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
15255 (asprintf): New function if HAVE_ASPRINTF is not set.
15256 (sync): New function for mingw.
15257 (sleep): Likewise.
15258 (grub_util_get_disk_size): Likewise.
15259
ab3f2673 152602008-08-28 Pavel Roskin <proski@gnu.org>
15261
15262 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
15263 kern/time.c.
15264
1c282483 152652008-08-28 Robert Millan <rmh@aybabtu.com>
15266
15267 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
15268
678e849c 152692008-08-28 Robert Millan <rmh@aybabtu.com>
15270
15271 Change find_grub_drive() syntax so it doesn't prevent it from
15272 detecting NULL names as errors.
15273
15274 * util/biosdisk.c (find_grub_drive): Move free slot search code
15275 from here ...
15276 (find_free_slot): ... to here.
15277 (read_device_map): Use find_free_slot() to search for free slots.
15278
965c75ca 152792008-08-27 Marco Gerards <marco@gnu.org>
15280
15281 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
15282 (scsi_mod_SOURCES): New variable.
15283 (scsi_mod_CFLAGS): Likewise
15284 (scsi_mod_LDFLAGS): Likewise.
15285
15286 * disk/scsi.c: New file.
15287
15288 * include/grub/scsi.h: Likewise.
15289
15290 * include/grub/scsicmd.h: Likewise.
15291
15292 * disk/ata.c: Include <grub/scsi.h>.
15293 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
15294 instead.
15295 (grub_ata_iterate): Skip ATAPI devices.
15296 (grub_ata_open): Only handle ATAPI devices.
15297 (struct grub_atapi_read): Removed.
15298 (grub_atapi_readsector): Likewise.
15299 (grub_ata_read): No longer handle ATAPI devices.
15300 (grub_ata_write): Likewise.
15301 (grub_atapi_iterate): New function.
15302 (grub_atapi_read): Likewise.
15303 (grub_atapi_write): Likewise.
15304 (grub_atapi_open): Likewise.
15305 (grub_atapi_close): Likewise.
15306 (grub_atapi_dev): New variable.
15307 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
15308 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
15309
15310 * include/grub/disk.h (enum grub_disk_dev_id): Add
15311 `GRUB_DISK_DEVICE_SCSI_ID'.
15312
c07ae501 153132008-08-26 Robert Millan <rmh@aybabtu.com>
15314
15315 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
15316 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
15317 descriptive.
15318
5ed20adc 153192008-08-23 Bean <bean123ch@gmail.com>
15320
15321 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
15322 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
15323 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
15324 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
15325 dm_nv.mod.
15326 (raid5rec_mod_SOURCES): New macro.
15327 (raid5rec_mod_CFLAGS): Likewise.
15328 (raid5rec_mod_LDFLAGS): Likewise.
15329 (raid6rec_mod_SOURCES): Likewise.
15330 (raid6rec_mod_CFLAGS): Likewise.
15331 (raid6rec_mod_LDFLAGS): Likewise.
15332 (mdraid_mod_SOURCES): Likewise.
15333 (mdraid_mod_CFLAGS): Likewise.
15334 (mdraid_mod_LDFLAGS): Likewise.
15335 (dm_nv_mod_SOURCES): Likewise.
15336 (dm_nv_mod_CFLAGS): Likewise.
15337 (dm_nv_mod_LDFLAGS): Likewise.
15338
15339 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
15340 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
15341 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
15342
15343 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
15344 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
15345
15346 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15347
15348 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15349
15350 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15351
15352 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15353
15354 * disk/raid5_recover.c: New file.
15355
15356 * disk/raid6_recover.c: Likewise.
15357
15358 * disk/mdraid_linux.c: Likewise.
15359
15360 * disk/dmraid_nvidia.c: Likewise.
15361
15362 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
15363 ULONG_MAX.
15364
15365 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
15366 calculate the size of raid device.
15367 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
15368 different layout of raid5.
15369 (grub_raid_scan_device): Remove code specific to mdraid.
15370 (grub_raid_list): New variable.
15371 (free_array): New function.
15372 (grub_raid_register): Likewise.
15373 (grub_raid_unregister): Likewise.
15374 (grub_raid_rescan): Likewise.
15375 (GRUB_MOD_INIT): Don't iterate device here.
15376 (GRUB_MOD_FINI): Use free_array to release resource.
15377
15378 * include/grub/raid.h: Remove macro and structure specific to mdraid.
15379 (grub_raid5_recover_func_t): New function variable type.
15380 (grub_raid6_recover_func_t): Likewise.
15381 (grub_raid5_recover_func): New variable.
15382 (grub_raid6_recover_func): Likewise.
15383 (grub_raid_register): New function.
15384 (grub_raid_unregister): Likewise.
15385 (grub_raid_rescan): Likewise.
15386 (grub_raid_block_xor): Likewise.
15387
15388 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
15389 (CMD_CRC): New macro.
15390 (part): Removed.
15391 (read_file): Handle device as well as file.
15392 (cmd_crc): New function.
15393 (fstest): Handle multiple disks.
15394 (options): Remove part, raw and long, add root and diskcount.
15395 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 15396 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 15397 add handling for the new options, support multiple disks.
15398
15399 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
15400
29c18915 154012008-08-23 Bean <bean123ch@gmail.com>
15402
15403 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
15404
15405 * genfslist.sh: Ignore kernel.mod.
15406
15407 * genpartmaplist.sh: Likewise.
15408
8415f261 154092008-08-23 Robert Millan <rmh@aybabtu.com>
15410
15411 * util/getroot.c (find_root_device): Skip anything that starts with
15412 a dot, not just directories. This avoids things like /dev/.tmp.md0.
15413
d5a7dc5b 154142008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 15415
d5a7dc5b 15416 * util/update-grub.in (GRUB_GFXMODE): Export variable.
15417 * util/grub.d/00_header.in: Allow the administrator to change default
15418 gfxmode via ${GRUB_GFXMODE}.
15419
380cfbb4 154202008-08-21 Felix Zielcke <fzielcke@z-51.de>
15421
15422 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
15423
c9baafe7 154242008-08-21 Robert Millan <rmh@aybabtu.com>
15425
15426 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
15427 loader.
15428 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
15429 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
15430
e290bef2 154312008-08-20 Carles Pina i Estany <carles@pina.cat>
15432
15433 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
15434 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
15435
f9dbfc96 154362008-08-19 Robert Millan <rmh@aybabtu.com>
15437
15438 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
15439 (struct grub_virtual_screen): Remove `cursor_color'.
15440 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
15441 initialization.
15442 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
15443
dd6bd6ab 154442008-08-18 Robert Millan <rmh@aybabtu.com>
15445
15446 Unify (identical) linux_normal.c files.
15447 * loader/i386/efi/linux_normal.c: Move from here ...
15448 * loader/linux_normal.c: ... to here. Update all users.
15449 * loader/i386/pc/linux_normal.c: Delete. Update all users.
15450 * loader/i386/ieee1275/linux_normal.c: Likewise.
15451
7f42f83e 154522008-08-18 Robert Millan <rmh@aybabtu.com>
15453
15454 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
15455 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
15456 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
15457 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
15458 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
15459 New macros.
15460 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
15461 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
15462 (GRUB_LINUX_CL_END_OFFSET): ... to here.
15463 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
15464 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
15465 (GRUB_EFI_CL_END_OFFSET): Rename to ...
15466 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
15467 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
15468 Initialize `params->video_cursor_x' and `params->video_cursor_y'
15469 portably using grub_getxy().
15470 Replace `-EFI' with `-bzImage' in boot message.
15471
38487ddb 154722008-08-17 Robert Millan <rmh@aybabtu.com>
15473
15474 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
15475
deceb3ec 154762008-08-17 Robert Millan <rmh@aybabtu.com>
15477
15478 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
15479
15480 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
15481 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
15482 (grub_machine_mmap_iterate): New function declaration.
15483 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
15484 structure.
15485 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
15486 macros.
15487
15488 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
15489 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
15490 Move e820 parsing from here ...
15491 * kern/i386/pc/mmap.c: New file.
15492 (grub_machine_mmap_iterate): ... to here.
15493
15494 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
15495 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
15496 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
15497 (grub_available_iterate): Redeclare to return `void', and redeclare
15498 its hook to use grub_uint64_t as addr and size parameters, and rename
15499 to ...
15500 (grub_machine_mmap_iterate): ... this. Update all users.
15501
15502 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
15503 to make it more readable. Rename to ...
15504 (grub_machine_mmap_iterate): ... this.
15505
15506 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
15507 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
15508 (grub_multiboot): Allocate an extra region after the payload, and fill
15509 it with a Multiboot memory map. Adjust a.out loader to calculate size
15510 with the extra space.
15511 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
15512 with the extra space.
15513
f8aa0f43 155142008-08-17 Carles Pina i Estany <carles@pina.cat>
15515
9807deb9 15516 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 15517
605f5bb6 155182008-08-17 Felix Zielcke <fzielcke@z-51.de>
15519
15520 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
15521 mdate-sh to the list `find' searches for.
15522 * DISTLIST: Regenerated.
15523
210db6c6 155242008-08-16 Felix Zielcke <fzielcke@z-51.de>
15525
15526 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
15527 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 15528 genmoddep.awk, gensymlist.sh.in.
15529 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 15530 * DISTLIST: Regenerated.
48cdbfd4 15531 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 15532
1082b929 155332008-08-16 Robert Millan <rmh@aybabtu.com>
15534
15535 * disk/raid.c (grub_raid_init): Handle/report errors set by
15536 grub_device_iterate().
15537 * disk/lvm.c (grub_lvm_init): Likewise.
15538
42ce5170 155392008-08-15 Bean <bean123ch@gmail.com>
15540
15541 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
15542 and datehook.mod.
15543 (datetime_mod_SOURCES): New macro.
15544 (datetime_mod_CFLAGS): Likewise.
15545 (datetime_mod_LDFLAGS): Likewise.
15546 (date_mod_SOURCES): Likewise.
15547 (date_mod_CFLAGS): Likewise.
15548 (date_mod_LDFLAGS): Likewise.
15549 (datehook_mod_SOURCES): Likewise.
15550 (datehook_mod_CFLAGS): Likewise.
15551 (datehook_mod_LDFLAGS): Likewise.
15552
15553 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
15554 and datehook.mod.
15555 (datetime_mod_SOURCES): New macro.
15556 (datetime_mod_CFLAGS): Likewise.
15557 (datetime_mod_LDFLAGS): Likewise.
15558 (date_mod_SOURCES): Likewise.
15559 (date_mod_CFLAGS): Likewise.
15560 (date_mod_LDFLAGS): Likewise.
15561 (datehook_mod_SOURCES): Likewise.
15562 (datehook_mod_CFLAGS): Likewise.
15563 (datehook_mod_LDFLAGS): Likewise.
15564
15565 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
15566 and datehook.mod.
15567 (datetime_mod_SOURCES): New macro.
15568 (datetime_mod_CFLAGS): Likewise.
15569 (datetime_mod_LDFLAGS): Likewise.
15570 (date_mod_SOURCES): Likewise.
15571 (date_mod_CFLAGS): Likewise.
15572 (date_mod_LDFLAGS): Likewise.
15573 (datehook_mod_SOURCES): Likewise.
15574 (datehook_mod_CFLAGS): Likewise.
15575 (datehook_mod_LDFLAGS): Likewise.
15576
15577 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
15578 and datehook.mod.
15579 (datetime_mod_SOURCES): New macro.
15580 (datetime_mod_CFLAGS): Likewise.
15581 (datetime_mod_LDFLAGS): Likewise.
15582 (date_mod_SOURCES): Likewise.
15583 (date_mod_CFLAGS): Likewise.
15584 (date_mod_LDFLAGS): Likewise.
15585 (datehook_mod_SOURCES): Likewise.
15586 (datehook_mod_CFLAGS): Likewise.
15587 (datehook_mod_LDFLAGS): Likewise.
15588
15589 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
15590 and datehook.mod.
15591 (datetime_mod_SOURCES): New macro.
15592 (datetime_mod_CFLAGS): Likewise.
15593 (datetime_mod_LDFLAGS): Likewise.
15594 (date_mod_SOURCES): Likewise.
15595 (date_mod_CFLAGS): Likewise.
15596 (date_mod_LDFLAGS): Likewise.
15597 (datehook_mod_SOURCES): Likewise.
15598 (datehook_mod_CFLAGS): Likewise.
15599 (datehook_mod_LDFLAGS): Likewise.
15600
15601 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
15602
15603 * commands/date.c: New file.
15604
15605 * hook/datehook.c: Likewise.
15606
15607 * include/grub/lib/datetime.h: Likewise.
15608
15609 * include/grub/i386/cmos.h: Likewise.
15610
15611 * lib/datetime.c: Likewise.
15612
15613 * lib/i386/datetime.c: Likewise.
15614
15615 * lib/efi/datetime.c: Likewise.
15616
0e9242da 156172008-08-14 Robert Millan <rmh@aybabtu.com>
15618
15619 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
15620 (grub_mkelfimage_SOURCES): New variable.
15621 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
15622
15623 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
15624 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
15625 * conf/powerpc-ieee1275.rmk: Likewise.
15626 * conf/i386-ieee1275.rmk: Likewise.
15627
15628 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
15629 * kern/i386/coreboot/init.c: Likewise.
15630
15631 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
15632 with `<grub/cpu/kernel.h>'.
15633 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
15634 to ...
15635 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
15636 * kern/i386/coreboot/startup.S: Likewise.
15637
15638 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
15639 (GRUB_MOD_GAP): Remove.
15640 * include/grub/powerpc/kernel.h: New file.
15641 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
15642 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
15643 * include/grub/i386/kernel.h: New file.
15644 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
15645 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
15646 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
15647
15648 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
15649 `grub-mkelfimage'.
15650 Use --directory when invoking grub_mkimage.
15651
15652 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
15653 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
15654 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
15655 and GRUB_KERNEL_CPU_PREFIX.
15656
b86408f8 156572008-08-14 Felix Zielcke <fzielcke@z-51.de>
15658
d5e619ca 15659 * include/grub/err.h (grub_err_printf): New function prototype.
15660 * util/misc.c (grub_err_printf): New function.
15661 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
15662 grub_printf.
15663 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 15664
7161f0e0 156652008-08-13 Robert Millan <rmh@aybabtu.com>
15666
15667 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
15668
a1967522 156692008-08-13 Robert Millan <rmh@aybabtu.com>
15670
15671 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
15672 boot entry.
15673
371458b5 156742008-08-12 Robert Millan <rmh@aybabtu.com>
15675
15676 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
15677 of the relocation code from here ...
15678 (grub_multiboot): ... to here.
15679 (forward_relocator, backward_relocator): Move from here ...
15680 * kern/i386/loader.S (grub_multiboot_forward_relocator)
15681 (grub_multiboot_backward_relocator): ... to here.
15682 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
15683 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
15684 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
15685 (grub_multiboot_forward_relocator_end)
15686 (grub_multiboot_backward_relocator)
15687 (grub_multiboot_backward_relocator_end): New variables.
15688
05f9452b 156892008-08-12 Bean <bean123ch@gmail.com>
15690
15691 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
15692
20024ab0 156932008-08-11 Robert Millan <rmh@aybabtu.com>
15694
15695 * kern/i386/linuxbios/startup.S: Move from here ...
15696 * kern/i386/coreboot/startup.S: ... to here.
15697
15698 * kern/i386/linuxbios/init.c: Move from here ...
15699 * kern/i386/coreboot/init.c: ... to here.
15700
15701 * kern/i386/linuxbios/table.c: Move from here ...
15702 * kern/i386/coreboot/mmap.c: ... to here.
15703
15704 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
15705
e352e9cd 157062008-08-11 Robert Millan <rmh@aybabtu.com>
15707
15708 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
15709 errors. Leave it to the upper layer to handle them.
15710
2d05bc6a 157112008-08-09 Christian Franke <franke@computer.org>
15712
15713 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
15714 * conf/common.rmk: Install `grub-pe2elf' only if requested.
15715 Install `grub.d/10_windows' only on Cygwin.
15716 * configure.ac: Add subst of `target_os'.
15717 Check `target_os' also before setting TARGET_OBJ2ELF.
15718 Add `--enable-grub-pe2elf'.
15719
042bd419 157202008-08-08 Robert Millan <rmh@aybabtu.com>
15721
15722 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
15723 (grub_last_time): Change type to grub_uint64_t.
15724 (grub_disk_open): Migrate code from to using grub_get_time_ms().
15725 (grub_disk_close): Likewise.
15726
15727 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
15728 (run_menu): Migrate code from to using grub_get_time_ms().
15729
15730 * util/misc.c (grub_get_time_ms): New function.
15731
7f280db5 157322008-08-08 Marco Gerards <marco@gnu.org>
15733
15734 * disk/ata.c (grub_ata_regget): Change return type to
15735 `grub_uint8_t'.
15736 (grub_ata_regget2): Likewise.
15737 (grub_ata_wait_status): New function.
15738 (grub_ata_wait_busy): Removed function, updated all users to use
15739 `grub_ata_wait_status'.
15740 (grub_ata_wait_drq): Likewise.
15741 (grub_ata_cmd): New function.
15742 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
15743 error handling.
15744 (grub_ata_pio_write): Add error handling.
15745 (grub_atapi_identify): Likewise.
15746 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
15747 handling.
15748 (grub_ata_identify): Use `grub_ata_cmd' and improve error
15749 handling. Actually use the detected registers. Reorder the
15750 detection logic such that it is easier to read.
15751 (grub_ata_pciinit): Do not assign the same ID to each controller.
15752 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
15753 handling.
15754 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
15755
15756 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
15757
1fbc5e66 157582008-08-08 Marco Gerards <marco@gnu.org>
15759
15760 * NEWS: Update.
15761
819ce6c0 157622008-08-07 Bean <bean123ch@gmail.com>
15763
15764 * include/grub/x86_64/pci.h: New file.
15765
5c41d44d 157662008-08-07 Christian Franke <franke@computer.org>
15767
15768 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
15769 (TIMER2_GATE): Likewise.
15770 (grub_pit_wait): Add enable/disable of the timer2 gate
15771 bit of port 0x61. This fixes a possible infinite loop.
15772
5ebc275d 157732008-08-07 Bean <bean123ch@gmail.com>
15774
15775 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
15776 kern/i386/tsc.c and kern/i386/pit.c.
15777
15778 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
15779 x86_64 platform.
15780
15781 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
15782 <grub/i386/tsc.h>.
15783
15784 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
15785
e383b3d0 157862008-08-07 Bean <bean123ch@gmail.com>
15787
15788 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
15789
15790 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
15791
15792 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
15793 multiple inclusion. Add #include <grub/types.h>.
15794
1cbb58ac 157952008-08-06 Christian Franke <franke@computer.org>
15796
15797 * conf/common.rmk: Build and install `10_windows'.
15798 * util/grub.d/10_windows.in: New script.
15799
337f5a1e 158002008-08-06 Pavel Roskin <proski@gnu.org>
15801
15802 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
15803
057bc4ac 158042008-08-06 Robert Millan <rmh@aybabtu.com>
15805
15806 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
15807 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
15808
2b99f123 158092008-08-06 Bean <bean123ch@gmail.com>
15810
15811 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
15812 (grub_pxefs_fs_int): Remove dummy definition.
15813 (grub_pxefs_open): Use data->block_size to store the current block
15814 size setting.
15815 (grub_pxefs_read): Use block size stored in data->block_size. As the
15816 value of grub_pxe_blksize can be changed after the file is opened.
15817
9f0234cb 158182008-08-06 Bean <bean123ch@gmail.com>
15819
15820 * fs/i386/pc/pxe.c (curr_file): new variable.
15821 (grub_pxefs_open): Simply the handling of pxe file system. Don't
15822 require the dummy internal file system anymore.
15823 (grub_pxefs_read): Removed.
15824 (grub_pxefs_close): Likewise.
15825 (grub_pxefs_fs_int): Likewise.
15826 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
15827 connection when we switch file.
15828 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
15829
a55d42e0 158302008-08-06 Robert Millan <rmh@aybabtu.com>
15831
15832 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
15833 `halt.mod'.
15834 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
15835 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
15836
15837 * kern/i386/halt.c: New file.
15838 * kern/i386/reboot.c: Likewise.
15839 * include/grub/i386/reboot.h: Likewise.
15840 * include/grub/i386/halt.h: Likewise.
15841
15842 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
15843 Include `<grub/cpu/halt.h>'.
15844 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
15845 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
15846
15847 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
15848 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
15849 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
15850 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
15851 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
15852 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
15853 from here ...
15854 * include/grub/i386/at_keyboard.h: ... to here.
15855
24371d26 158562008-08-05 Robert Millan <rmh@aybabtu.com>
15857
15858 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
15859 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
15860 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
15861 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
15862 `kern/generic/millisleep.c'.
15863
15864 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
15865 instead of grub_get_rtc().
15866 (grub_tsc_init): Initialize `tsc_boot_time'.
15867
15868 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
15869 (grub_machine_init): Use grub_tsc_init() rather than
15870 installing an RTC-based handler via grub_install_get_time_ms().
15871
15872 * kern/i386/pit.c: New file.
15873 * include/grub/i386/pit.h: Likewise.
15874
9e7007b3 158752008-08-05 Bean <bean123ch@gmail.com>
15876
15877 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
15878
15879 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
15880 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
15881 (pxe_mod_SOURCES): New macro.
15882 (pxe_mod_CFLAGS): Likewise.
15883 (pxe_mod_LDFLAGS): Likewise.
15884 (pxecmd_mod_SOURCES): Likewise.
15885 (pxecmd_mod_CFLAGS): Likewise.
15886 (pxecmd_mod_LDFLAGS): Likewise.
15887
15888 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
15889 (grub_pxe_call): Likewise.
15890
15891 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
15892
15893 * commands/i386/pc/pxecmd.c: New file.
15894
9f0234cb 15895 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 15896
15897 * include/grub/i386/pc/pxe.h: Likewise.
15898
6977d49f 158992008-08-05 Bean <bean123ch@gmail.com>
15900
15901 * util/console.c (grub_console_cur_color): New variable.
15902 (grub_console_standard_color): Likewise.
15903 (grub_console_normal_color): Likewise.
15904 (grub_console_highlight_color): Likewise.
15905 (color_map): Likewise.
15906 (use_color): Likewise.
15907 (NUM_COLORS): New macro.
15908 (grub_ncurses_setcolorstate): Handle color properly.
15909 (grub_ncurses_setcolor): Don't change color here, just remember the
15910 settings, color will be set in grub_ncurses_setcolorstate.
15911 (grub_ncurses_getcolor): New function.
15912 (grub_ncurses_init): Initialize color pairs.
15913 (grub_ncurses_term): New member grub_ncurses_getcolor.
15914
9c2ff3ee 159152008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 15916
9c2ff3ee 15917 High resolution timer support. Implemented for x86 CPUs using TSC.
15918 Extracted generic grub_millisleep() so it's linked in only as needed.
15919 This requires a Pentium compatible CPU; if the RDTSC instruction is
15920 not supported, then it falls back on the generic grub_get_time_ms()
15921 implementation that uses the machine's RTC.
15922
15923 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
15924 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
15925 `kern/generic/millisleep.c'.
15926
15927 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
15928 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
15929
15930 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
15931 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
15932
15933 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
15934
15935 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
15936 `kern/generic/millisleep.c'.
15937
15938 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
15939
15940 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
15941
15942 * kern/generic/rtc_get_time_ms.c: New file.
15943
15944 * kern/generic/millisleep.c: New file.
337f5a1e 15945
9c2ff3ee 15946 * kern/misc.c: Don't include
15947 <kern/time.h> anymore.
15948 (grub_millisleep_generic): Removed.
15949
15950 * commands/sleep.c (grub_interruptible_millisleep): Uses
15951 grub_get_time_ms() instead of grub_get_rtc().
15952
15953 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
15954 function.
15955 (grub_cpu_is_cpuid_supported): New inline function.
15956 (grub_cpu_is_tsc_supported): New inline function.
15957 (grub_tsc_init): New function prototype.
15958 (grub_tsc_get_time_ms): New function prototype.
15959
15960 * kern/i386/tsc.c (grub_get_time_ms): New file.
15961
15962 * include/grub/time.h: Include <grub/types.h.
15963 (grub_millisleep_generic): Removed.
15964 (grub_get_time_ms): New prototype.
15965 (grub_install_get_time_ms): New prototype.
15966 (grub_rtc_get_time_ms): New prototype.
15967
15968 * kern/time.c (grub_get_time_ms): New function.
15969 (grub_install_get_time_ms): New function.
15970
15971 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
15972 <grub/time.h> anymore.
15973 (grub_millisleep): Removed.
15974 (grub_machine_init): Call grub_tsc_init.
15975
15976 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
15977 get_time_ms() implementation.
15978
15979 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
15980 (ieee1275_get_time_ms): New function.
15981 (grub_machine_init): Install get_time_ms() implementation.
15982
15983 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
15984 (grub_machine_init): Call grub_tsc_init().
15985 (grub_millisleep): Removed.
bf06a93f 15986
9c2ff3ee 15987 * kern/ieee1275/init.c (grub_millisleep): Removed.
15988 (grub_machine_init): Install ieee1275_get_time_ms()
15989 implementation.
15990 (ieee1275_get_time_ms): New function.
15991 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
15992 real work.
15993
9ec92aaf 159942008-08-05 Marco Gerards <marco@gnu.org>
15995
15996 * disk/ata.c: Include <grub/pci.h>.
15997 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
15998 (grub_ata_initialize): Rewritten.
15999 (grub_ata_device_initialize): New function.
16000
8d23f507 160012008-08-04 Pavel Roskin <proski@gnu.org>
16002
16003 * kern/main.c: Include grub/mm.h.
16004
5e15ee3d 160052008-08-04 Robert Millan <rmh@aybabtu.com>
16006
16007 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
16008 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
16009 corruption problem).
16010
a9053f8f 160112008-08-04 Robert Millan <rmh@aybabtu.com>
16012
16013 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
16014 warnings introduced in my last commit.
16015
dd19c7d7 160162008-08-03 Robert Millan <rmh@aybabtu.com>
16017
16018 Make PCI available on all i386 architectures.
16019
16020 * include/grub/i386/pc/pci.h: Move from here ...
16021 * include/grub/i386/pci.h: ... to here.
16022
16023 * include/grub/i386/pc/pci.h: Remove.
16024 * include/grub/i386/efi/pci.h: Remove.
16025 * include/grub/x86_64/efi/pci.h: Remove.
16026
16027 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
16028 `<grub/cpu/pci.h>'.
16029
16030 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
16031 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
16032 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
16033
16034 * conf/i386-ieee1275.rmk: Likewise.
16035
e14a6184 160362008-08-03 Robert Millan <rmh@aybabtu.com>
16037
16038 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
16039 (grub_console_setcursor): Make it possible to set cursor off.
16040
52768e37 160412008-08-03 Robert Millan <rmh@aybabtu.com>
16042
16043 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
16044 of modules instead of assuming which platform provides what.
16045 * util/update-grub.in: Likewise.
16046
2d52f57f 160472008-08-03 Robert Millan <rmh@aybabtu.com>
16048
16049 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
16050 instead of `grub_install_dos_part' to determine whether a drive needs
16051 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 16052 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 16053
2a5cd121 160542008-08-02 Robert Millan <rmh@aybabtu.com>
16055
16056 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
16057
93808428 160582008-08-02 Robert Millan <rmh@aybabtu.com>
16059
16060 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
16061 of informational grub_dprintf() calls.
16062
3bd0a12a 160632008-08-02 Robert Millan <rmh@aybabtu.com>
16064
16065 * disk/memdisk.c (memdisk_size): Don't initialize.
16066 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
16067
16068 * include/grub/i386/pc/kernel.h
16069 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
16070 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
16071 (grub_memdisk_image_size, grub_arch_memdisk_addr)
16072 (grub_arch_memdisk_size): Remove.
16073
16074 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
16075 field (was only used to transfer a constant). Add `type' field to
16076 support multiple module types.
16077 (grub_module_iterate): New function.
16078
16079 * kern/device.c (grub_device_open): Do not hide error messages
16080 when grub_disk_open() fails. Use grub_print_error() instead.
16081
16082 * kern/i386/pc/init.c (grub_arch_modules_addr)
16083 (grub_arch_memdisk_size): Remove functions.
16084 (grub_arch_modules_addr): Return the module address in high memory
16085 (now that it isn't copied anymore).
16086
16087 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
16088 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
16089 decompression routine (grub_total_module_size already includes that
16090 now). Don't copy modules back to low memory.
16091
16092 * kern/main.c: Include `<grub/mm.h>'.
16093 (grub_load_modules): Split out (and use) ...
16094 (grub_module_iterate): ... this function, which iterates through
16095 module objects and runs a hook.
16096 Comment out grub_mm_init_region() call, as it would cause non-ELF
16097 modules to be overwritten.
16098
16099 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
16100 the memdisk image in its own region, make it part of the module list.
16101 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
16102 (main): Parse --memdisk|-m option, and pass user-provided path as
16103 parameter to generate_image().
16104 (add_segments): Pass `memdisk_path' down to load_modules().
16105 (load_modules): Embed memdisk image in module section when requested.
16106 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
16107 `header.type' instead of `header.offset'.
16108
16109 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
16110 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
16111 (memdisk_mod_LDFLAGS): New variables.
16112 * conf/i386-coreboot.rmk: Likewise.
16113 * conf/i386-ieee1275.rmk: Likewise.
16114
a927cc73 161152008-08-02 Robert Millan <rmh@aybabtu.com>
16116
16117 * loader/i386/pc/multiboot.c (playground, forward_relocator)
16118 (backward_relocator): New variables. Used to allocate and relocate
16119 the payload, respectively.
16120 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 16121 address, install the appropriate relocator code in each bound of
a927cc73 16122 the payload, and set the entry point such that
16123 grub_multiboot_real_boot() will jump to one of them.
16124
16125 * kern/i386/loader.S (grub_multiboot_payload_size)
16126 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
16127 (grub_multiboot_payload_entry_offset): New variables.
16128 (grub_multiboot_real_boot): Set cpu context to what the relocator
16129 expects, and jump to the relocator instead of the payload.
16130
16131 * include/grub/i386/loader.h (grub_multiboot_payload_size)
16132 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
16133 (grub_multiboot_payload_entry_offset): Export.
16134
b15d8a0c 161352008-08-01 Bean <bean123ch@gmail.com>
16136
16137 * normal/menu_entry.c (editor_getline): Don't return the original
16138 string as result, as it will be released by lexer once it has done
16139 using it.
16140
cdfb3d22 161412008-08-01 Robert Millan <rmh@aybabtu.com>
16142
16143 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
16144 within menuentries, not before them.
16145 util/grub.d/10_hurd.in: Likewise.
16146
9175e93d 161472008-08-01 Bean <bean123ch@gmail.com>
16148
16149 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
16150 (bufio_mod_SOURCES): New macro.
16151 (bufio_mod_CFLAGS): Likewise.
16152 (bufio_mod_LDFLAGS): Likewise.
16153
16154 * include/grub/bufio.h: New file.
16155
16156 * io/bufio.c: Likewise.
16157
16158 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
16159 (grub_video_reader_png): Use grub_buffile_open to open file.
16160
16161 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
16162 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
16163
16164 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
16165 (grub_video_reader_tga): Use grub_buffile_open to open file.
16166
16167 * font/manager.c: Include <grub/bufio.h>.
16168 (add_font): Use grub_buffile_open to open file.
16169
3d8383e7 161702008-07-31 Robert Millan <rmh@aybabtu.com>
16171
16172 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
16173 ELF segments, use a macro for arbitrarily accessing any of them instead
16174 of preparing a pointer that allows access to one at a time.
16175 (grub_multiboot_load_elf64): Likewise.
16176
16e641b6 161772008-07-31 Bean <bean123ch@gmail.com>
16178
16179 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
16180 GRUB_KERNEL_MACHINE_DATA_END.
16181
59198b72 161822008-07-30 Robert Millan <rmh@aybabtu.com>
16183
16184 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
16185 Increase from 0x50 to 0x60.
16186 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
16187 use UUIDs to identify the root drive for them. If that's not
16188 possible, abort.
16189 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
16190 check, for cross-disk installs.
16191
ae88bca3 161922008-07-30 Robert Millan <rmh@aybabtu.com>
16193
16194 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
16195 is non-empty, use it to set the `prefix' environment variable instead
16196 of the usual approach.
16197 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
16198 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
16199 environment variable instead of dummy make_install_device().
16200
16201 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
16202 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 16203 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 16204
16205 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
16206 New variable reference.
16207 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
16208 New macro. Defines offset of `grub_prefix' within startup.S (relative
16209 to `start').
16210 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
16211 section within startup.S (relative to `start').
16212 * include/grub/i386/coreboot/kernel.h: Likewise.
16213
16214 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
16215 Overwrite grub_prefix with its contents, at the beginning of the
16216 first segment.
16217 (main): Understand -p|--prefix.
16218
14f41dd1 162192008-07-30 Robert Millan <rmh@aybabtu.com>
16220
16221 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
16222
4ca049a3 162232008-07-30 Robert Millan <rmh@aybabtu.com>
16224
16225 * term/i386/pc/vga_text.c (grub_console_cls): Use
16226 grub_console_gotoxy() to go back to beginning of the screen.
16227 Found by Patrick Georgi <patrick.georgi@coresystems.de>
16228
2921d337 162292008-07-29 Christian Franke <franke@computer.org>
16230
16231 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
16232 Add conversion of emulated mount points on Cygwin.
16233
b609876d 162342008-07-29 Christian Franke <franke@computer.org>
16235
16236 * util/update-grub.in: Add a check for admin
16237 group on Cygwin.
16238 Remove old `grub.cfg.new' before creation.
16239 Add `-f' to `mv' to handle the different filesystem
16240 semantics of Windows.
16241
e93e4679 162422008-07-29 Bean <bean123ch@gmail.com>
16243
16244 * normal/main.c (get_line): Fix buffer overflow bug.
16245
41694fd0 162462008-07-28 Robert Millan <rmh@aybabtu.com>
16247
16248 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
16249 (struct grub_apple_header): New struct. Describes the layout of
16250 the partmap header.
16251 (apple_partition_map_iterate): Check the header magic as well as the
16252 partition magic (which was already being checked).
16253
cfd0b4e6 162542008-07-28 Pavel Roskin <proski@gnu.org>
16255
16256 * genmk.rb: Add a warning to the beginning of the output that
16257 it's a generated file and should not be edited.
16258
93cce016 162592008-07-28 Robert Millan <rmh@aybabtu.com>
16260
16261 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
16262 with the same number are found, just use issue a warning with
16263 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 16264
cd1df915 162652008-07-27 Robert Millan <rmh@aybabtu.com>
16266
16267 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
16268 information.
16269
b70a8427 162702008-07-27 Bean <bean123ch@gmail.com>
16271
16272 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
16273 (grub_fat_find_dir): Ignore case when comparing filename.
16274
8f5e379f 162752008-07-27 Bean <bean123ch@gmail.com>
16276
16277 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
16278 smallino, as it's more descriptive, and i8count can be confused with
16279 the other field count.
16280 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
16281 inode type.
16282
a85cd5a0 162832008-07-27 Bean <bean123ch@gmail.com>
16284
16285 * commands/crc.c: New file.
16286
16287 * lib/crc.c: Likewise.
16288
16289 * include/grub/lib/crc.h: Likewise.
16290
16291 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
16292
16293 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
16294 (hexdump): Move this function to ...
16295
16296 * lib/hexdump.c: ... here.
16297
16298 * include/grub/hexdump.h: Renamed to ...
16299
16300 * include/grub/lib/hexdump.h: ... this.
16301
16302 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
16303
16304 * util/grub-editenv.c: Likewise.
16305
16306 * include/envblk.h: Renamed to ...
16307
16308 * include/lib/envblk.h: ... this.
16309
16310 * util/envblk.c: Renamed to ...
16311
16312 * lib/envblk.c: ... this.
16313
16314 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
16315 lib/hexdump.c.
16316 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
16317 (pkglib_MODULES): Add crc.mod.
16318 (hexdump_mod_SOURCES): Add lib/hexdump.c.
16319 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
16320 (crc_mod_SOURCES): New macro.
16321 (crc_mod_CFLAGS): Likewise.
16322 (crc_mod_LDFLAGS): Likewise.
16323
16324 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
16325
16326 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16327
16328 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16329
16330 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16331
16332 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16333
c298def0 163342008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 16335
16336 * commands/help.c: Include <grub/term.h>.
16337 (TERM_WIDTH): Removed. Updated all users.
16338
cc349fb3 163392008-07-27 Pavel Roskin <proski@gnu.org>
16340
16341 * util/getroot.c (find_root_device): Rephrase a comment to avoid
16342 spurious warnings about a comment within a comment.
16343
9051607e 163442008-07-25 Robert Millan <rmh@aybabtu.com>
16345
16346 * util/getroot.c (find_root_device): Skip devices that match
16347 /dev/dm-[0-9]. This lets the real device be found for any type of
16348 abstraction (LVM, EVMS, RAID..).
16349 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
16350 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
16351 device is found first, find_root_device() will now skip it.
16352
01453bfc 163532008-07-24 Pavel Roskin <proski@gnu.org>
16354
16355 * include/grub/types.h: Use __builtin_bswap32() and
16356 __builtin_bswap64() with gcc 4.3 and newer.
16357
6af9849f 163582008-07-24 Christian Franke <franke@computer.org>
16359
3a0fa256 16360 * util/i386/pc/grub-install.in: If `--debug' is specified,
16361 pass `--verbose' to grub-setup.
16362 Abort script if make_system_path_relative_to_its_root() fails.
16363
7810e747 163642008-07-24 Bean <bean123ch@gmail.com>
16365
16366 * configure.ac: Fixed a bug caused by the previous cygwin patch,
16367 variable `target_platform' should be `platform'.
16368
42290e17 163692008-07-24 Bean <bean123ch@gmail.com>
16370
51cc5193 16371 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 16372 (grub_png_init_fixed_block): New function.
16373 (grub_png_decode_image_data): Handle fixed huffman code compression.
16374
2a8a80e4 163752008-07-24 Bean <bean123ch@gmail.com>
16376
16377 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
16378 (grub_pe2elf_SOURCES): New macro.
16379 (CLEANFILES): Add grub-pe2elf.
16380
16381 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
16382 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
16383 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
16384 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
16385 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
16386 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
16387 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
16388 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
16389 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
16390 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
16391 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
16392 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
16393 (GRUB_PE32_DT_FUNCTION): Likewise.
16394 (GRUB_PE32_REL_I386_DIR32): Likewise.
16395 (GRUB_PE32_REL_I386_REL32): Likewise.
16396 (grub_pe32_symbol): New structure.
16397 (grub_pe32_reloc): Likewise.
16398
16399 * util/grub-pe2elf.c: New file.
16400
16401 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
16402 start symbol in non pc platform.
16403
16404 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
16405
16406 The following patches are from Christian Franke.
16407
16408 * include/grub/dl.h: Remove .previous, gas supports this only
16409 for ELF format.
16410
16411 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
16412 Remove .type, gas supports this only for ELF format.
16413
16414 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
16415 nullbytes in symbol table. This fixes an infinite loop if table is
16416 zero filled.
16417
16418 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
16419 TARGET_IMG_LDFLAGS and EXEEXT.
16420
16421 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
16422 TARGET_IMG_LDFLAGS_AC.
16423 (grub_CHECK_STACK_ARG_PROBE): New function.
16424
16425 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
16426
16427 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
16428
16429 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
16430 to set TARGET_IMG_LD* accordingly.
16431 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
16432 Add call to grub_CHECK_STACK_ARG_PROBE.
16433 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
16434
16435 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
16436
16437 * genmk.rb: Add EXEEXT to CLEANFILES.
16438
12ccdb75 164392008-07-23 Robert Millan <rmh@aybabtu.com>
16440
16441 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
16442 define the codes for arrows and lines used for the menu).
16443 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
16444 as well.
16445
16446 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
16447 fonts, because the latter are too slow.
16448
18eeaf04 164492008-07-21 Bean <bean123ch@gmail.com>
16450
16451 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
16452 a20. Run keyboard test last, as it will cause macbook to halt.
16453
b095e2ad 164542008-07-18 Pavel Roskin <proski@gnu.org>
16455
16456 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
16457 load foreign architecture modules correctly anyway. Keep
16458 support for loading host architecture modules, whether we
16459 compile them or not.
16460
737feb35 164612008-07-17 Pavel Roskin <proski@gnu.org>
16462
3f4ce737 16463 * configure.ac: Use -m32 or -m64 regardless of whether we had to
16464 change target_cpu. The compiler default can mismatch target_cpu
16465 in any case.
16466
4ad2d049 16467 * disk/efi/efidisk.c: Fix format warnings on x86_64.
16468 * kern/efi/efi.c: Likewise.
16469
f6130a12 16470 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
16471 target compiler is functional.
16472 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
16473 are set up.
16474
58393a2d 16475 * configure.ac: Default to efi platform for x86_64-apple. Allow
16476 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
16477 adjustments from the rest, only do them if target is not
16478 explicitly given. Merge other adjustments with the final sanity
16479 check. Remove an extraneous check for supported CPU. Be
16480 specific which CPU and which platform is not supported.
16481
737feb35 16482 * configure.ac: Default to pc platform for x86_64.
16483
546f966a 164842008-07-17 Robert Millan <rmh@aybabtu.com>
16485
16486 Partial LinuxBIOS -> Coreboot rename.
16487
16488 * conf/i386-linuxbios.rmk: Renamed to ...
16489 * conf/i386-coreboot.rmk: ... this.
16490 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
16491 * configure.ac: Accept "coreboot" as input platform (but maintain
16492 compatibility with "linuxbios").
16493 * include/grub/i386/linuxbios: Renamed to ...
16494 * include/grub/i386/coreboot: ... this.
16495
20011694 164962008-07-17 Bean <bean123ch@gmail.com>
16497
16498 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 16499 (appleldr_mod_SOURCE): New variable.
20011694 16500 (appleldr_mod_CFLAGS): Likewise.
16501 (appleldr_mod_LDFLAGS): Likewise.
16502 (pci_mod_SOURCES): Likewise.
16503 (pci_mod_CFLAGS): Likewise.
16504 (pci_mod_LDFLAGS): Likewise.
16505 (lspci_mod_SOURCES): Likewise.
16506 (lspci_mod_CFLAGS): Likewise.
16507 (lspci_mod_LDFLAGS): Likewise.
16508
16509 * conf/x86_64-efi.rmk: New file.
16510
16511 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
16512 macro.
16513 (grub_efidisk_write): Likewise.
16514
16515 * include/efi/api.h (efi_call_0): New macro.
16516 (efi_call_1): Likewise.
16517 (efi_call_2): Likewise.
16518 (efi_call_3): Likewise.
16519 (efi_call_4): Likewise.
16520 (efi_call_5): Likewise.
16521 (efi_call_6): Likewise.
16522
16523 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
16524 grub_rescue_cmd_chainloader.
16525
16526 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
16527 (grub_pe32_optional_header): Change some fields based on i386 or
16528 x86_64 platform.
16529 (GRUB_PE32_PE32_MAGIC): Likewise.
16530
16531 * include/grub/efi/uga_draw.h: New file.
16532
16533 * include/grub/elf.h (STN_ABS): New constant.
16534 (R_X86_64_NONE): Relocation constant for x86_64.
16535 (R_X86_64_64): Likewise.
16536 (R_X86_64_PC32): Likewise.
16537 (R_X86_64_GOT32): Likewise.
16538 (R_X86_64_PLT32): Likewise.
16539 (R_X86_64_COPY): Likewise.
16540 (R_X86_64_GLOB_DAT): Likewise.
16541 (R_X86_64_JUMP_SLOT): Likewise.
16542 (R_X86_64_RELATIVE): Likewise.
16543 (R_X86_64_GOTPCREL): Likewise.
16544 (R_X86_64_32): Likewise.
16545 (R_X86_64_32S): Likewise.
16546 (R_X86_64_16): Likewise.
16547 (R_X86_64_PC16): Likewise.
16548 (R_X86_64_8): Likewise.
16549 (R_X86_64_PC8): Likewise.
16550
16551 * include/grub/i386/efi/pci.h: New file.
16552
16553 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
16554 Change it value based on platform.
16555 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
16556 (GRUB_E820_RAM): Likewise.
16557 (GRUB_E820_RESERVED): Likewise.
16558 (GRUB_E820_ACPI): Likewise.
16559 (GRUB_E820_NVS): Likewise.
16560 (GRUB_E820_EXEC_CODE): Likewise.
16561 (GRUB_E820_MAX_ENTRY): Likewise.
16562 (grub_e820_mmap): New structure.
16563 (linux_kernel_header): Change the efi field according to different
16564 kernel version, also field from linux_kernel_header.
16565
16566 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
16567
16568 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
16569 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
16570 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
16571 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
16572 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
16573 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
16574 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
16575 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
16576 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
16577 (GRUB_PCI_ADDR_IO_MASK): Likewise.
16578
16579 * include/grub/x86_64/efi/kernel.h: New file.
16580
16581 * include/grub/x86_64/efi/loader.h: Likewise.
16582
16583 * include/grub/x86_64/efi/machine.h: Likewise.
16584
16585 * include/grub/x86_64/efi/pci.h: Likewise.
16586
16587 * include/grub/x86_64/efi/time.h: Likewise.
16588
16589 * include/grub/x86_64/linux.h: Likewise.
16590
16591 * include/grub/x86_64/setjmp.h: Likewise.
16592
16593 * include/grub/x86_64/time.h: Likewise.
16594
16595 * include/grub/x86_64/types.h: Likewise.
16596
16597 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
16598 GRUB_TARGET_SIZEOF_VOID_P.
16599
16600 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
16601 (grub_efi_locate_handle): Likewise.
16602 (grub_efi_open_protocol): Likewise.
16603 (grub_efi_set_text_mode): Likewise.
16604 (grub_efi_stall): Likewise.
16605 (grub_exit): Likewise.
16606 (grub_reboot): Likewise.
16607 (grub_halt): Likewise.
16608 (grub_efi_exit_boot_services): Likewise.
16609 (grub_get_rtc): Likewise.
16610
16611 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
16612 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
16613 (grub_efi_allocate_pages): Wrap efi calls.
16614 (grub_efi_free_pages): Wrap efi calls.
16615 (grub_efi_get_memory_map): Wrap efi calls.
16616
16617 * kern/x86_64/dl.c: New file.
16618
16619 * kern/x86_64/efi/callwrap.S: Likewise.
16620
16621 * kern/x86_64/efi/startup.S: Likewise.
16622
16623 * loader/efi/appleloader.c: Likewise.
16624
16625 * loader/efi/chainloader.c (cmdline): New variable.
16626 (grub_chainloader_unload): Wrap efi calls.
16627 (grub_chainloader_boot): Likewise.
16628 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
16629 command line.
16630
16631 * loader/efi/chainloader_normal.c (chainloader_command):
16632 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
16633 command line.
16634
16635 * loader/i386/efi/linux.c (allocate_pages): Change allocation
16636 method.
16637 (grub_e820_add_region): New function.
16638 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
16639 booting.
16640 (grub_find_video_card): New function.
16641 (grub_linux_setup_video): New function.
16642 (grub_rescue_cmd_linux): Probe for video information.
16643
16644 * normal/x86_64/setjmp.S: New file.
16645
16646 * term/efi/console.c (map_char): New function.
16647 (grub_console_putchar): Map unicode char.
16648 (grub_console_checkkey): Wrap efi calls.
16649 (grub_console_getkey): Likewise.
16650 (grub_console_getwh): Likewise.
16651 (grub_console_gotoxy): Likewise.
16652 (grub_console_cls): Likewise.
16653 (grub_console_setcolorstate): Likewise.
16654 (grub_console_setcursor): Likewise.
16655
16656 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
16657
59652a20 166582008-07-16 Pavel Roskin <proski@gnu.org>
16659
ef294055 16660 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
16661 format strings.
16662
59652a20 16663 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
16664 pointer, not an integer. This fixes a warning and prevents
16665 precision loss on 64-bit systems.
16666 (relocate_addresses): Remove unneeded cast.
16667
afc3b5d7 166682008-07-15 Pavel Roskin <proski@gnu.org>
16669
506b2b3e 16670 * kern/i386/ieee1275/init.c: Include grub/cache.h.
16671
62ead89c 16672 * term/ieee1275/ofconsole.c: Disable code unused on i386.
16673
c4cd51d7 16674 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
16675 Fix comparison between signed and unsigned.
16676
0d3d8f28 16677 * include/grub/i386/ieee1275/console.h: Declare
16678 grub_console_init() and grub_console_fini().
16679
8804b286 16680 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
16681 It's empty and unused.
16682
ee01cf35 16683 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
16684 beginning to avoid warnings with some compilers.
16685
afc3b5d7 16686 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
16687 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
16688
e4e8eaa5 166892008-07-14 Pavel Roskin <proski@gnu.org>
16690
407aceb4 16691 * kern/env.c (grub_register_variable_hook): Don't copy empty
16692 string, it leaks memory. Pass "" to grub_env_set(), it should
16693 handle constant strings.
16694
e4e8eaa5 16695 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
16696 * commands/cmp.c (grub_cmd_cmp): Likewise.
16697 * kern/dl.c (grub_dl_flush_cache): Likewise.
16698 (grub_dl_load_core): Likewise.
16699 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
16700 (grub_elf64_load_phdrs): Likewise.
16701
d4e2dad3 167022008-07-13 Pavel Roskin <proski@gnu.org>
16703
16704 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
16705 between signed and unsigned.
16706 (LzmaEnc_Finish): Fix warning about an unused parameter.
16707
aa24b516 167082008-07-13 Bean <bean123ch@gmail.com>
16709
16710 * Makefile.in (enable_lzo): New rule.
16711
16712 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
16713
16714 * configure.ac (ENABLE_LZO): New option --enable-lzo.
16715
16716 * boot/i386/pc/lnxboot.S: #include <config.h>.
16717
16718 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 16719 its value according to the compression algorithm used, lzo or lzma.
aa24b516 16720
16721 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
16722 compression algorithm according to configure macro.
16723
16724 * kern/i386/pc/startup.S (codestart): Likewise.
16725
16726 * kern/i386/pc/lzma_decode.S: New file.
16727
16728 * include/grub/lib/LzFind.h: Likewise.
16729
16730 * include/grub/lib/LzHash.h: Likewise.
16731
16732 * include/grub/lib/LzmaDec.h: Likewise.
16733
16734 * include/grub/lib/LzmaEnc.h: Likewise.
16735
16736 * include/grub/lib/LzmaTypes.h: Likewise.
16737
16738 * lib/LzFind.c: Likewise.
16739
16740 * lib/LzmaDec.c: Likewise.
16741
16742 * lib/LzmaEnc.c: Likewise.
16743
4ae821ac 167442008-07-13 Bean <bean123ch@gmail.com>
16745
16746 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
16747 (grub_ext4_extent_header): New structure.
16748 (grub_ext4_extent): Likewise.
16749 (grub_ext4_extent_idx): Likewise.
16750 (grub_ext4_find_leaf): New function.
16751 (grub_ext2_read_block): Handle extents.
16752
9a745147 167532008-07-12 Robert Millan <rmh@aybabtu.com>
16754
16755 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
16756
d49a4cf6 167572008-07-11 Robert Millan <rmh@aybabtu.com>
16758
16759 * util/grub.d/40_custom.in: New file. Example on how to add custom
16760 entries to /etc/grub.d.
16761 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
16762 40_custom (implicitly, by merging all the grub.d rules).
16763
947414b4 167642008-07-11 Pavel Roskin <proski@gnu.org>
16765
0059cf6f 16766 * commands/read.c (grub_getline): Fix invalid memory access.
16767 Don't add newline to the variable value.
16768
947414b4 16769 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
16770 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
16771 (serial_hw_get_port): Check validity of the port number.
16772 (grub_cmd_serial): Check return value of serial_hw_get_port().
16773
62a02d00 167742008-07-07 Pavel Roskin <proski@gnu.org>
16775
16776 * boot/i386/pc/diskboot.S (notification_string): Replace
16777 "Loading kernel" with just "loading". This is shorter, less
16778 confusing and saves a few bytes for possible future changes.
16779
3e5581b0 167802008-07-05 Pavel Roskin <proski@gnu.org>
16781
ea387a48 16782 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
16783 size for ATAPI devices, they are undefined. Output sector
16784 number in decimal form.
16785
3e5581b0 16786 * disk/ata.c: Use named constants for status bits.
16787
fdecb8fd 167882008-07-04 Pavel Roskin <proski@gnu.org>
16789
bcd35b90 16790 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
16791 grub_addr_t before casting it to the void pointer to fix a
16792 warning. Non-addressable regions are discarded earlier.
16793 (grub_arch_modules_addr): Cast _end to grub_addr_t.
16794 * kern/i386/linuxbios/table.c: Include grub/misc.h.
16795 (check_signature): Don't shadow table_header.
16796 (grub_linuxbios_table_iterate): Cast numeric constants to
16797 grub_linuxbios_table_header_t.
16798 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
16799 grub_stop().
16800
af58ab3d 16801 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
16802 prevent warnings.
16803
1759aa57 16804 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
16805 pointer, which can cause warnings. Support 64-bit addresses.
16806
fdecb8fd 16807 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
16808 of sizeof(long). This fixes PowerPC image generation on x86_64.
16809
8516d2a8 168102008-07-04 Robert Millan <rmh@aybabtu.com>
16811
16812 This fixes a performance issue when pc & gpt partmap iterators
16813 didn't abort iteration even after our hook found what it was
fe987087 16814 looking for (often causing expensive probes of non-existent drives).
8516d2a8 16815
16816 Some callers relied on previous buggy behaviour, since they would
34c44600 16817 raise an error when their own hooks caused early abortion of its
8516d2a8 16818 iteration.
16819
16820 * kern/device.c (grub_device_open): Improve error message.
16821 * disk/lvm.c (grub_lvm_open): Likewise.
16822 * disk/raid.c (grub_raid_open): Likewise.
16823
16824 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
16825 when hook requests it, independently of grub_errno.
16826 (pc_partition_map_probe): Do not fail when find_func() caused
16827 early abortion of pc_partition_map_iterate().
16828
16829 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
16830 when hook requests it, independently of grub_errno.
16831 (gpt_partition_map_probe): Do not fail when find_func() caused
16832 early abortion of gpt_partition_map_iterate().
16833
16834 * kern/partition.c (grub_partition_iterate): Abort parent iteration
16835 when hook requests it, independently of grub_errno. Do not fail when
16836 part_map_iterate_hook() caused early abortion of p->iterate().
16837
16838 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
16839 when grub_partition_iterate() returned with non-zero.
16840
277d0de9 168412008-07-03 Pavel Roskin <proski@gnu.org>
16842
16843 * disk/ata.c (grub_ata_pio_write): Check status before writing,
16844 like we do in grub_ata_pio_read().
16845 (grub_ata_readwrite): Always write individual sectors. Fix the
16846 sector count for the remainder.
16847 (grub_ata_write): Enable writing to ATA devices. Correctly
16848 report error for ATAPI devices.
16849
d4c9b428 168502008-07-02 Pavel Roskin <proski@gnu.org>
16851
e43fc690 16852 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
16853 warning.
16854
f707af42 16855 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
16856 for every read sector, we already increment it for the whole
16857 batch. This fixes reading more than 256 sectors at once.
16858
11e16b15 16859 * util/grub-editenv.c (cmd_info): Cast argument to long
16860 explicitly. ptrdiff_t reduces to int on i386.
16861
cbabfdd4 16862 * util/grub-editenv.c (main): Be specific which parameter is
16863 missing.
16864
b8fbce0a 16865 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
16866 (memdisk): Make memdisk_orig_addr a pointer.
16867
c9c8e606 16868 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
16869 for file offsets, use grub_off_t instead. Fix printf format
16870 warnings.
16871
ca62e598 16872 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
16873 there. Real unexpected warnings should not drown in the noise
16874 about known problems.
16875
ce8d1766 16876 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
16877 grub_disk_addr_t for memory addresses.
16878
00c7a56a 16879 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
16880 explicitly to fix a warning.
16881
08d3ef09 16882 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
16883
cb71ba20 16884 * Makefile.in (MODULE_LDFLAGS): New variable.
16885 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
16886 the linker accepts --build-id=none.
16887 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
16888 MODULE_LDFLAGS.
16889 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
16890
d4c9b428 16891 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
16892 those in Linux XFS code. Provide a way to access 64-bit parent
16893 inode.
16894 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
16895 the end of struct grub_xfs_dir_header.
16896
d4156eee 168972008-07-02 Bean <bean123ch@gmail.com>
16898
16899 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
16900 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
16901 and GRUB_IEEE1275_FLAG_NO_ANSI.
16902
16903 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
16904 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
16905 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
16906
16907 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
16908 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
16909
16910 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
16911 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
16912
16913 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
16914 esc sequence on non ANSI terminal.
16915 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
16916
16917 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
16918 beginning of file.
16919
2270f77b 169202008-07-02 Bean <bean123ch@gmail.com>
16921
16922 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
16923 (grub_editenv_SOURCES): New variable.
16924 (pkglib_MODULES): Add loadenv.mod.
16925 (loadenv_mod_SOURCES): New variable.
16926 (loadenv_mod_CFLAGS): Likewise.
16927 (loadenv_mod_LDFLAGS): Likewise.
16928
16929 * include/grub/envblk.h: New file.
16930
16931 * util/envblk.c: New file.
16932
16933 * util/grub-editenv.c: New file.
16934
16935 * commands/loadenv.c: New file.
16936
0e9e51ec 169372008-07-01 Pavel Roskin <proski@gnu.org>
16938
d89b7634 16939 * include/multiboot2.h (struct multiboot_tag_module): Use char,
16940 not unsigned char. This fixes warnings and is consistent with
16941 other tags.
16942
bf1835b1 16943 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
16944
8222a04b 16945 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
16946
6a42d99d 16947 * term/tparm.c (analyze): Always set *popcount.
16948
10b159d1 16949 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
16950 cast to fix a warning.
16951
b8789f6c 16952 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
16953 cast to suppress a warning.
16954
29d7e38a 16955 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
16956 grub_fshelp_read_file() expects.
16957
f341f669 16958 * fs/fat.c: Fix UUID calculation on big-endian systems. We
16959 write uuid as a 32-bit value in CPU byte order, so declare and
16960 use it as such.
16961
0e9e51ec 16962 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
16963 long if the format specifier expects it.
16964 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
16965 * partmap/pc.c (pc_partition_map_iterate): Likewise.
16966 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
16967 long to fix a warning.
16968 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
16969 grub_dprintf() arguments to fix warnings.
16970
3aefa857 169712008-06-30 Pavel Roskin <proski@gnu.org>
16972
56c7668b 16973 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
16974 install_bsd_part immediately before core.img is embedded or
16975 modified on disk. This fixes core.img verification if core.img
16976 cannot be embedded.
16977
3aefa857 16978 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
16979 core_path to calculate the blocklist.
16980 Patch from Javier Martín <lordhabbit@gmail.com>
16981
5444088d 169822008-06-29 Robert Millan <rmh@aybabtu.com>
16983
16984 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
16985 block to disk block.
16986 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
16987 Patch from Niels Böhm <bitbucket@arcor.de>
16988
674835c8 169892008-06-29 Robert Millan <rmh@aybabtu.com>
16990
16991 * util/update-grub_lib.in (font_path): Search for fonts in
16992 /boot/grub first, which is more likely to be readable (we aren't
16993 deciding where fonts live, just looking for them).
16994
f527dbc8 169952008-06-26 Pavel Roskin <proski@gnu.org>
16996
6c2d8df6 16997 * util/biosdisk.c (read_device_map): Don't leave dead map
16998 entries for devices failing stat() check.
16999
f527dbc8 17000 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
17001 core_path_dev for the core.img path on the target device.
17002
aebe3d13 170032008-06-26 Robert Millan <rmh@aybabtu.com>
17004
17005 * disk/fs_uuid.c: New file.
17006 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
17007 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
17008 (fs_uuid_mod_LDFLAGS): New variables.
17009 * include/grub/disk.h (grub_disk_dev_id): Add
17010 `GRUB_DISK_DEVICE_UUID_ID'.
17011 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
17012 implement iterate().
17013
37aaf354 170142008-06-26 Robert Millan <rmh@aybabtu.com>
17015
17016 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
17017 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
17018 Linux image includes no initrd.
17019
25ff262a 170202008-06-21 Javier Martín <lordhabbit@gmail.com>
17021
17022 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
17023 call to resolve the core image location that effectively appended the
17024 name twice.
17025
76a2bd44 170262008-06-21 Robert Millan <rmh@aybabtu.com>
17027
17028 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
17029 call from here ...
17030
17031 * util/grub.d/10_hurd.in: ... to here ...
17032 * util/grub.d/10_linux.in: ... and here.
17033
650e1c79 170342008-06-19 Robert Millan <rmh@aybabtu.com>
17035
fe987087 17036 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 17037 after it has been set by grub_machine_set_prefix().
17038
6ce63911 170392008-06-19 Robert Millan <rmh@aybabtu.com>
17040
17041 * commands/search.c (search_label, search_fs_uuid, search_file): Print
17042 search result when not saving to variable, not the other way around.
17043 When saving to variable, abort iteration as soon as a match is found.
17044
73940cec 170452008-06-19 Robert Millan <rmh@aybabtu.com>
17046
17047 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
17048 check for partition that provides /boot/grub. Its logic is flawed,
17049 as it prevents prepare_grub_to_access_device() from being called
17050 multiple times.
17051
3c62a39d 170522008-06-19 Robert Millan <rmh@aybabtu.com>
17053
17054 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
17055 "insmod" command directly when abstraction modules are needed,
fe987087 17056 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 17057 since it had already been processed).
17058
47395a42 170592008-06-19 Pavel Roskin <proski@gnu.org>
17060
17061 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
17062 changed. This is needed in case GRUB_LIBDIR changes.
17063 * conf/i386-ieee1275.rmk: Likewise.
17064 * conf/i386-linuxbios.rmk: Likewise.
17065 * conf/i386-pc.rmk: Likewise.
17066 * conf/powerpc-ieee1275.rmk: Likewise.
17067
a145ac2d 170682008-06-18 Pavel Roskin <proski@gnu.org>
17069
17070 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
17071 kernel_elf_symlist.c to symlist.c for consistency with other
17072 architectures. Update all users.
17073 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
17074
7847c51e 170752008-06-18 Robert Millan <rmh@aybabtu.com>
17076
17077 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
17078 it in prefix.
17079
17080 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
17081 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
17082 a RAID device, run setup() for all members independently on whether
17083 LVM abstraction is being used.
17084 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
17085 If grub-mkimage has set `*install_dos_part == -2', don't override this
17086 value.
17087 Perform *install_dos_part adjustments independently on whether
17088 we're embedding or not.
17089 Clarify error message when image is too big for embedding.
17090 Remove duplicate *install_dos_part stanza.
17091
b23e5644 170922008-06-17 Robert Millan <rmh@aybabtu.com>
17093
17094 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
17095 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
17096 variables.
17097 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
17098 values in grub_ofconsole_normal_color and
17099 grub_ofconsole_highlight_color (they're not directly related to
17100 background and foreground).
17101 (grub_ofconsole_setcolorstate): Extract background and foreground
17102 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
17103
0aac2f79 171042008-06-17 Robert Millan <rmh@aybabtu.com>
17105
17106 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
17107 /boot/grub for the check in last commit, not /boot (they could be
17108 different partitions).
17109
3cca7ef3 171102008-06-16 Robert Millan <rmh@aybabtu.com>
17111
17112 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
17113 asked to setup access for the same partition that provides /boot,
17114 don't bother using UUIDs since our root already has the value we
17115 want.
17116
347396d8 171172008-06-16 Robert Millan <rmh@aybabtu.com>
17118
17119 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
17120 I2O devices.
17121 Patch from Sven Mueller <sven@debian.org>.
17122
991477f8 171232008-06-16 Robert Millan <rmh@aybabtu.com>
17124
17125 * util/update-grub.in: Check for $EUID instead of $UID.
17126 Reported by Vincent Zweije.
17127
d31a32a1 171282008-06-16 Bean <bean123ch@gmail.com>
17129
fe987087 17130 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 17131 (grub_ext2_read_block): Likewise.
17132 (grub_ext2_read_inode): Likewise.
17133 (grub_ext2_mount): Likewise.
17134 (grub_ext2_close): Likewise.
17135 (grub_ext3_get_journal): Removed.
17136
fe987087 17137 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 17138 (grub_reiserfs_read_symlink): Likewise.
17139 (grub_reiserfs_mount): Likewise.
17140 (grub_reiserfs_open): Likewise.
17141 (grub_reiserfs_read): Likewise.
17142 (grub_reiserfs_close): Likewise.
17143 (grub_reiserfs_get_journal): Removed.
17144
17145 * fs/fshelp.c (grub_fshelp_read): Removed.
17146 (grub_fshelp_map_block): Likewise.
17147
17148 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
17149 (grub_fshelp_journal): Likewise.
17150 (grub_fshelp_read): Likewise.
17151 (grub_fshelp_map_block): Likewise.
17152
3540a760 171532008-06-16 Pavel Roskin <proski@gnu.org>
17154
17155 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
17156 floating point anymore.
17157 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
17158
95614c84 171592008-06-15 Pavel Roskin <proski@gnu.org>
17160
17161 * commands/ls.c (grub_ls_list_files): Use integer calculations
17162 for human readable format, avoid floating point use.
17163 * kern/misc.c (grub_ftoa): Remove.
17164 (grub_vsprintf): Remove floating point support.
17165
50465dd6 171662008-06-15 Robert Millan <rmh@aybabtu.com>
17167
fe6b695a 17168 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 17169 devices.
17170 Reported by Max Vozeler.
17171
a9207284 171722008-06-15 Robert Millan <rmh@aybabtu.com>
17173
17174 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
17175 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
17176 skipped later.
17177 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
17178 the beginning of the prefix.
17179
17180 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
17181 It is assumed that if we have a memdisk, grub-mkimage has set
17182 grub_prefix to include the "(memdisk)" drive in it.
17183
a7cbd45a 171842008-06-15 Robert Millan <rmh@aybabtu.com>
17185
17186 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
17187 Initialize keyboard controller after registering the terminal, so that
17188 grub_printf() can be called from grub_keyboard_controller_init().
17189
21cf716a 171902008-06-15 Robert Millan <rmh@aybabtu.com>
17191
17192 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
17193 extent-btree which is written as big endian on disk.
17194 Reported by Alain Greppin <al@chilibi.org>.
17195
23a64d8e 171962008-06-14 Robert Millan <rmh@aybabtu.com>
17197
17198 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
17199 * util/i386/pc/grub-install.in (modules): Likewise.
17200
d687651c 172012008-06-13 Pavel Roskin <proski@gnu.org>
17202
17203 * commands/ls.c (grub_ls_list_files): Fix format warnings.
17204
dfe9ddd4 172052008-06-13 Bean <bean123ch@gmail.com>
17206
17207 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
17208
17209 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
17210
17211 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
17212 to indicate sparse block.
17213
16ae7781 172142008-06-12 Pavel Roskin <proski@gnu.org>
17215
e6d1a308 17216 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
17217 number, grub_fshelp_read() does it for us.
17218
16ae7781 17219 * fs/fshelp.c (grub_fshelp_read): New function. Implement
17220 linear disk read with journal translation.
17221 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
17222 * include/grub/fshelp.h: Declare grub_fshelp_read().
17223
40fd3a2b 172242008-06-09 Pavel Roskin <proski@gnu.org>
17225
17226 * fs/minix.c (grub_minix_mount): Handle error reading
17227 superblock.
17228
f5679726 172292008-06-08 Robert Millan <rmh@aybabtu.com>
17230
17231 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
17232 don't append the RAID prefix afterwards.
17233 Reported by Clint Adams.
17234
ce525529 172352008-06-08 Robert Millan <rmh@aybabtu.com>
17236
17237 Based on description from Pavel:
17238 * kern/disk.c (grub_disk_check_range): Rename to ...
17239 (grub_disk_adjust_range): ... this. Add a comment explaining the
17240 tasks performed by this function.
17241
ad4936a0 172422008-06-08 Robert Millan <rmh@aybabtu.com>
17243
17244 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
17245 `num_serial' (for consistency with other variables).
17246 (struct grub_ntfs_data): Add `uuid' member.
17247 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
17248 (grub_ntfs_uuid): New function.
17249 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
17250
dc20b0f9 172512008-06-07 Pavel Roskin <proski@gnu.org>
17252
17253 * util/biosdisk.c (open_device): Revert last change to the
17254 function, it broke installation. The sector needs to be
17255 different dependent on which device is opened.
17256
c5e3cfba 172572008-06-06 Robert Millan <rmh@aybabtu.com>
17258
17259 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
17260 rest of GRUB, and breakage doesn't happen if its value were modified.
17261
17262 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
17263 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
17264 a constant (same value).
17265 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
17266 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
17267
26a1f8c4 172682008-06-06 Robert Millan <rmh@aybabtu.com>
17269
17270 * util/biosdisk.c (open_device): Do not modify sector offset when
17271 accessing a partition. kern/disk.c already handles this for us.
17272
25d6b327 172732008-06-06 Robert Millan <rmh@aybabtu.com>
17274
17275 * util/grub-emu.c (grub_machine_init): Move code in this function from
17276 here ...
17277 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
17278 segfault in case grub_printf() is called).
17279
17280 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
17281 grub_probe. Update all users not to explicitly add it again.
17282 (grub_device): New variable; contains corresponding device for grubdir.
17283 (fs_module, partmap_module, devabstraction_module): Pass
17284 `--device ${grub_device}' to grub_probe to avoid traversing /dev
17285 every time.
17286
9ece62fb 172872008-06-05 Robert Millan <rmh@aybabtu.com>
17288
17289 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
17290 is found, print it (same layout as with labels).
17291
1ad36d37 172922008-06-04 Robert Millan <rmh@aybabtu.com>
17293
17294 * util/biosdisk.c (get_drive): Rename to ...
17295 (find_grub_drive): ... this. Update all users.
17296
17297 (get_os_disk): Rename to ...
17298 (convert_system_partition_to_system_disk): ... this. Update all users.
17299
17300 (find_drive): Rename to ...
17301 (find_system_device): ... this. Update all users.
17302
e6a30859 173032008-06-04 Robert Millan <rmh@aybabtu.com>
17304
17305 * util/biosdisk.c (get_os_disk): Handle IDA devices.
17306 * util/grub-mkdevicemap.c (get_mmc_disk_name)
17307 (make_device_map): Likewise.
17308
00c108a4 173092008-06-01 Robert Millan <rmh@aybabtu.com>
17310
17311 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
17312 before dereferencing it.
17313
17314 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
17315 union with fat12/fat16-specific ones. Add some new fields, including
17316 `num_serial' for both versions.
17317 (struct grub_fat_data): Add `uuid' member.
17318 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
17319 names. Initialize `data->uuid' using `num_serial'.
17320 (grub_fat_uuid): New function.
17321 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
17322
17323 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
17324 (grub_reiserfs_uuid): New function.
17325 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
17326 member.
17327
17328 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
17329 (grub_xfs_uuid): New function.
17330 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
17331
1385c5bb 173322008-06-01 Robert Millan <rmh@aybabtu.com>
17333
17334 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
17335 code that is backward compatible with pre-uuid search command.
17336
c682dfd7 173372008-05-31 Robert Millan <rmh@aybabtu.com>
17338
17339 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
17340 floppies after everything else, to ensure floppy drive isn't accessed
17341 unnecessarily (patch from Bean).
17342
b7db5d47 173432008-05-31 Robert Millan <rmh@aybabtu.com>
17344
17345 * commands/search.c (search_label, search_fs_uuid, search_file): Do
17346 not print device names when we were asked to set a variable.
17347
6e037aa9 173482008-05-31 Robert Millan <rmh@aybabtu.com>
17349
17350 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
17351 using "cursor-on" and "cursor-off" commands (understood at least by
17352 the Open Firmware flavour on OLPC).
17353
41305bc8 173542008-05-31 Michael Gorven <michael@gorven.za.net>
17355
17356 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
17357 on and off sequences.
17358
69ba137e 173592008-05-31 Robert Millan <rmh@aybabtu.com>
17360
17361 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
17362 * util/update-grub.in: Likewise.
17363
520ae21b 173642008-05-30 Pavel Roskin <proski@gnu.org>
17365
17366 * util/biosdisk.c (linux_find_partition): Simplify logic and
17367 make the code more universal. Keep special processing for
17368 devfs, but use a simple rule for all other devices. If the
17369 device ends with a number, append 'p' and the partition number.
17370 Otherwise, append only the partition number.
17371
5786569b 173722008-05-30 Robert Millan <rmh@aybabtu.com>
17373
17374 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
17375 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
17376 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
17377 the `root' parameter to Linux.
17378
51500452 173792008-05-30 Robert Millan <rmh@aybabtu.com>
17380
17381 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
17382 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
17383 --fs_uuid with --fs-uuid.
17384 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
17385 all filesystems support them).
17386
811d3878 173872008-05-30 Robert Millan <rmh@aybabtu.com>
17388
17389 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 17390 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 17391
cab63c95 173922008-05-30 Robert Millan <rmh@aybabtu.com>
17393
17394 * util/grub.d/00_header.in: Remove obsolete comment referencing
17395 convert_system_path_to_grub_path().
17396 * util/update-grub.in: Likewise.
17397 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
17398 (convert_system_path_to_grub_path): Add a warning message explaining
17399 that this function is deprecated. Rely on is_path_readable_by_grub()
17400 for the readability checks.
17401 (font_path): Use is_path_readable_by_grub() for the readability
17402 check rather than convert_system_path_to_grub_path().
17403
972e2f7a 174042008-05-30 Robert Millan <rmh@aybabtu.com>
17405
17406 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
17407 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
17408 converting it first.
17409 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
17410 grub.cfg for access to font file, and afterwards call it again to set
17411 the root device.
17412
62191274 174132008-05-30 Robert Millan <rmh@aybabtu.com>
17414
17415 * commands/search.c (options): Add --fs_uuid option.
17416 (search_fs_uuid): New function.
17417 (grub_cmd_search): Fix --set argument passing.
17418 Use search_fs_uuid() when requested via --fs_uuid.
17419 (grub_search_init): Update help message.
17420 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
17421 and redeclare it as an array of 16-bit words.
17422 (grub_ext2_uuid): New function.
17423 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
17424 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
17425 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
17426 (GRUB_DEVICE_BOOT_UUID): New variables.
17427 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
17428 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
17429 whenever possible.
17430 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
17431 just assume `root' variable has the right value.
17432 * util/grub.d/10_linux.in: Likewise.
17433 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
17434 via PRINT_FS_UUID.
17435 (main): Recognise `-t fs_uuid' argument.
17436
01b73ec8 174372008-05-30 Robert Millan <rmh@aybabtu.com>
17438
17439 * util/biosdisk.c (map): Redefine structure to hold information
17440 about GRUB drive name.
fe6b695a 17441 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 17442 drive names.
17443 (call_hook): Remove.
17444 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
17445 member. Assume drive has partitions.
17446 (grub_util_biosdisk_open): Access device names via `.device' struct
17447 member.
17448 (open_device): Likewise.
17449 (find_drive): Likewise.
17450 (read_device_map): Adjust map[] usage to match the new struct
17451 definition. Don't check for duplicates (still possible, but not cheap
17452 anymore).
17453 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
17454 (make_device_name): Remove assumption of BIOS-like drive names.
17455
22f16596 174562008-05-30 Pavel Roskin <proski@gnu.org>
17457
17458 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
17459 compiling execute.c doesn't need grub_script.tab.h anymore.
17460 (normal/command.c_DEPENDENCIES): Likewise.
17461 (normal/function.c_DEPENDENCIES): Likewise.
17462 * conf/i386-ieee1275.rmk: Likewise.
17463 * conf/i386-linuxbios.rmk: Likewise.
17464 * conf/i386-pc.rmk: Likewise.
17465 * conf/powerpc-ieee1275.rmk: Likewise.
17466 * conf/sparc64-ieee1275.rmk: Likewise.
17467
528ad8f2 174682008-05-29 Pavel Roskin <proski@gnu.org>
17469
d1dff95d 17470 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
17471 when scanning metadata for volume group name.
17472
528ad8f2 17473 * include/grub/script.h: Don't include grub_script.tab.h. It's
17474 a generated file, which may only be included from the files with
17475 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
17476 use union YYSTYPE, as the later allows forward declaration.
17477 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
17478
47248e08 174792008-05-29 Robert Millan <rmh@aybabtu.com>
17480
17481 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
17482 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
17483 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
17484 (grub_console_checkkey): Add grub_dprintf() call to report unknown
17485 scan codes.
17486
ee632529 174872008-05-29 Robert Millan <rmh@aybabtu.com>
17488
17489 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
17490 control key combinations.
17491
eee96e08 174922008-05-29 Robert Millan <rmh@aybabtu.com>
17493
17494 * util/powerpc/ieee1275/grub-install.in: Move from here ...
17495 * util/ieee1275/grub-install.in: ... to here.
17496 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
17497 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
17498 (grub_install_SOURCES): Likewise.
17499
da9a6a94 175002008-05-29 Robert Millan <rmh@aybabtu.com>
17501
17502 * fs/affs.c: Update copyright year.
17503 * fs/ext2.c: Likewise.
17504 * fs/fshelp.c: Likewise.
17505 * fs/hfsplus.c: Likewise.
17506 * fs/ntfs.c: Likewise.
17507 * fs/xfs.c: Likewise.
17508 * include/grub/fshelp.h: Likewise.
17509 * util/grub-mkdevicemap.c: Likewise.
17510
12e65f3a 175112008-05-28 Robert Millan <rmh@aybabtu.com>
17512
17513 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
17514 might need to be fatfs to support some firmware implementations
17515 (e.g. OFW or EFI).
17516
23023641 175172008-05-28 Robert Millan <rmh@aybabtu.com>
17518
17519 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
17520 devices.
17521 * util/grub-mkdevicemap.c (get_mmc_disk_name)
17522 (make_device_map): Likewise.
17523
887d2619 175242008-05-20 Bean <bean123ch@gmail.com>
17525
17526 * fs/fshelp.c (grub_fshelp_map_block): New function.
17527 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
17528 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
17529
17530 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
17531 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
17532 (grub_fshelp_journal): New structure.
17533 (grub_fshelp_map_block): New function prototype.
17534 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
17535 (grub_fshelp_map_block): Likewise.
17536
17537 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
17538 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
17539 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
17540 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
17541 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
17542 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
17543 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
17544 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
17545 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
17546 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
17547 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
17548 (grub_ext2_sblock): New members for journal support.
17549 (grub_ext3_journal_header): New structure.
17550 (grub_ext3_journal_revoke_header): Likewise.
17551 (grub_ext3_journal_block_tag): Likewise.
17552 (grub_ext3_journal_sblock): Likewise.
17553 (grub_fshelp_node): New members logfile and journal.
17554 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
17555 grub_fshelp_map_block to get real block number.
17556 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
17557 number.
17558 (grub_ext2_read_inode): Likewise.
17559 (grub_ext3_get_journal): New function.
17560 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
17561 (grub_ext2_close): Release memory used by journal.
17562
17563 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
17564 (REISERFS_MAGIC_DESC_BLOCK): New macro.
17565 (grub_reiserfs_transaction_header): Renamed to
17566 grub_reiserfs_description_block, replace field data with real_blocks.
17567 (grub_reiserfs_commit_block): New structure.
17568 (grub_reiserfs_data): New member journal.
17569 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
17570 number.
17571 (grub_reiserfs_read_symlink): Likewise.
17572 (grub_reiserfs_iterate_dir): Likewise.
17573 (grub_reiserfs_open): Likewise.
17574 (grub_reiserfs_read): Likewise.
17575 (grub_reiserfs_get_journal): New function.
17576 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
17577 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
17578 using grub_reiserfs_get_journal.
17579 (grub_reiserfs_close): Release memory used by journal.
17580
17581 * fs/affs.c (grub_affs_read_block): Change block type to
17582 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
17583
17584 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
17585
17586 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
17587
17588 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
17589
17590 * fs/udf.c (grub_udf_read_block): Change block type to
17591 grub_disk_addr_t. Use type cast to avoid warning.
17592
17593 * fs/xfs.c (grub_xfs_read_block): Likewise.
17594
b7c6bed5 175952008-05-16 Christian Franke <franke@computer.org>
17596
17597 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
17598 to ensure that break with ESC will always work.
17599 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
17600 Remove ESC from keyboard queue.
17601
eedf167f 176022008-05-16 Christian Franke <franke@computer.org>
17603
17604 * util/biosdisk.c: [__CYGWIN__] Add includes.
17605 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
17606 (get_os_disk): Move variable declarations to OS specific
17607 parts to avoid warning.
17608 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
17609 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
17610 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
17611 Cygwin.
17612 * util/getroot.c: [__CYGWIN__] Add includes.
17613 (strip_extra_slashes): Fix "/" case.
17614 [__CYGWIN__] (get_win32_path): New function.
17615 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
17616 [__CYGWIN__] (find_root_device): Disable.
17617 [__CYGWIN__] (get_bootsec_serial): New function.
17618 [__CYGWIN__] (find_cygwin_root_device): Likewise.
17619 [__linux__] (grub_guess_root_device): Add early returns to simplify
17620 structure.
17621 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
17622 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
17623 check for Linux only.
17624
a079699e 176252008-05-15 Bean <bean123ch@gmail.com>
17626
17627 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
17628 keyboard hang problem in apple's intel mac.
17629
1cf4059a 176302008-05-09 Robert Millan <rmh@aybabtu.com>
17631
17632 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
17633 devices.
17634 * util/grub-mkdevicemap.c (get_virtio_disk_name)
17635 (make_device_map): Likewise.
17636 Reported by Aurelien Jarno <aurel32@debian.org>
17637
ed759390 176382008-05-07 Ian Campbell <ijc@hellion.org.uk>
17639
17640 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
17641 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
17642 (make_device_map): Output entries for xvd type disks.
17643
b56c4eaa 176442008-05-07 Robert Millan <rmh@aybabtu.com>
17645
17646 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
17647 devices.
17648 * util/grub-mkdevicemap.c (get_cciss_disk_name)
17649 (make_device_map): Likewise.
17650 Reported by Roland Dreier <rdreier@cisco.com>
17651
7f8866ed 176522008-05-07 Robert Millan <rmh@aybabtu.com>
17653
17654 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
17655 grub_strstr() call. Correct a few mistakes in failure path handling.
17656
b0346e0f 176572008-05-06 Robert Millan <rmh@aybabtu.com>
17658
17659 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
17660 Do not print a trailing slash (therefore, the root directory is an
17661 empty string).
17662 (convert_system_path_to_grub_path): Do not remove trailing slash
17663 from make_system_path_relative_to_its_root() output.
17664
17665 * util/i386/pc/grub-install.in: Add trailing slash to output from
17666 make_system_path_relative_to_its_root().
17667
6cf12cbd 176682008-05-06 Robert Millan <rmh@aybabtu.com>
17669
17670 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
17671 ensures that output lines aren't intermangled with those sent to
17672 stderr (via grub_util_info()).
17673 * util/grub-probe.c (grub_refresh): Likewise.
17674 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
17675
0fbb3117 176762008-05-05 Christian Franke <franke@computer.org>
17677
17678 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
17679 Add Cygwin device names.
17680 (get_ide_disk_name) [__CYGWIN__]: Likewise.
17681 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
17682 (check_device): Return error instead of success on empty name.
17683 (make_device_map): Move label inside linux specific code to
17684 prevent compiler warning.
17685
8124cdb7 176862008-04-30 Robert Millan <rmh@aybabtu.com>
17687
17688 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
17689 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
17690 first boot option.
17691 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
17692
094c01d0 176932008-04-29 Robert Millan <rmh@aybabtu.com>
17694
17695 * docs/grub.cfg: New file (example GRUB configuration).
17696
f4b1fc02 176972008-04-26 Robert Millan <rmh@aybabtu.com>
17698
329ce2a5 17699 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
17700 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
17701 and `disk/ieee1275/nand.c'.
f4b1fc02 17702
25f16ec1 177032008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 17704
25f16ec1 17705 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
17706 i386-linuxbios.
17707
17708 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
17709 change the buffer size to 4096 for cdrom device.
17710
17711 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
17712 and nand.mod.
17713 (_linux_mod_SOURCES): New variable.
17714 (_linux_mod_CFLAGS): Likewise.
17715 (_linux_mod_LDFLAGS): Likewise.
17716 (linux_mod_SOURCES): Likewise.
17717 (linux_mod_CFLAGS): Likewise.
17718 (linux_mod_LDFLAGS): Likewise.
17719 (nand_mod_SOURCES): Likewise.
17720 (nand_mod_CFLAGS): Likewise.
17721 (nand_mod_LDFLAGS): Likewise.
17722
17723 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
17724 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
17725 type property. (nand device in olpc don't have this property)
17726
17727 * include/grub/disk.h (grub_disk_dev_id): New macro
17728 GRUB_DISK_DEVICE_NAND_ID.
17729
17730 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
17731 function prototype.
17732 (grub_rescue_cmd_initrd): Likewise.
17733
17734 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
17735 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
17736 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 17737
25f16ec1 17738 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
17739 GRUB_MACHINE_IEEE1275 is defined.
17740
17741 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
17742 Use NESTED_FUNC_ATTR attribute on the hook parameter.
17743
17744 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
17745 on nested function heap_init.
17746 (grub_upper_mem): New variable for i386-ieee1275.
17747 (grub_get_extended_memory): New function for i386-ieee1275.
17748 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
17749
17750 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
17751 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
17752 property.
f19dbdb7 17753
25f16ec1 17754 * loader/i386/ieee1275/linux.c: New file.
17755
17756 * loader/i386/ieee1275/linux_normal.c: New file.
17757
17758 * disk/ieee1275/nand.c: New file.
17759
e89d61e9 177602008-04-18 Thomas Schwinge <tschwinge@gnu.org>
17761
17762 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
17763 value.
17764 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
17765
602566f6 177662008-04-18 Robert Millan <rmh@aybabtu.com>
17767
17768 Restructures early code path on ieee1275 to unify grub_main() as
17769 the first C function that is executed in every platform.
17770
17771 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
17772 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
17773 cmain().
17774 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
17775 * kern/ieee1275/cmain.c (cmain): Rename to ...
17776 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
17777 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
17778 at the beginning.
17779
57490c2b 177802008-04-18 Robert Millan <rmh@aybabtu.com>
17781
17782 * util/update-grub.in: Fix syntax error when setting
17783 `GRUB_PRELOAD_MODULES'.
17784 Reported by Stephane Chazelas <stephane@artesyncp.com>
17785
1977517d 177862008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
17787
17788 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
17789 section into account, newer toolchains generate unique build ids
17790 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 17791 we want build ids to be preserved
1977517d 17792 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
17793 far from other sections don't cause the raw binary images grow
17794 size
17795
bfb1f1a2 177962008-04-15 Robert Millan <rmh@aybabtu.com>
17797
17798 * disk/lvm.c: Update copyright year.
17799 * kern/misc.c: Likewise.
17800
01979850 178012008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
17802
17803 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 17804 there is no memory left for physical volume name.
01979850 17805
0a1150e2 178062008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
17807
17808 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
17809 volume name mapping to support bigger than 9 character names properly.
17810
82ead3fe 178112008-04-13 Robert Millan <rmh@aybabtu.com>
17812
17813 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
17814 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
17815
e54a72f5 178162008-04-13 Christian Franke <franke@computer.org>
17817
17818 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
17819 to create a floppy emulation boot CD when non emulation mode
17820 does not work.
17821 Enable Joliet CD filesystem extension.
17822
9fe86034 178232008-04-13 Robert Millan <rmh@aybabtu.com>
17824
17825 * kern/misc.c (grub_strncat): Fix off-by-one error.
17826 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
17827
17828 * kern/env.c (grub_env_context_close): Clear current context, not
17829 previous one.
17830 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
17831
17832 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
17833
7ceeee39 178342008-04-13 Robert Millan <rmh@aybabtu.com>
17835
17836 Improve robustness when handling LVM.
17837
17838 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 17839 (and leave `*p' unmodified).
7ceeee39 17840 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
17841 through it.
17842 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
17843 iterating through it.
17844 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
17845 through it.
fe6b695a 17846 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 17847 when due) on each grub_lvm_getvalue() or grub_strstr() call.
17848 Don't assume `vg->pvs != NULL' when iterating through it.
17849
58cd3d85 178502008-04-13 Robert Millan <rmh@aybabtu.com>
17851
17852 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
17853 * genmk.rb (partmap): New variable.
17854 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
17855 (#{partmap}): New target rule.
17856 * genpartmaplist.sh: New file.
17857 * Makefile.in (pkglib_DATA): Add partmap.lst.
17858 (partmap.lst): New target rule.
17859 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
17860 modules (including all partition maps), instead of preloading them.
17861
78b51059 178622007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
17863
17864 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
17865 `linux-boot-prober' (if installed) to detect other operating
17866 systems which are installed on the computer and add them to
17867 the boot menu.
17868 * conf/common.rmk: Build and install 30_os-prober.
17869
a91627b4 178702008-04-12 Robert Millan <rmh@aybabtu.com>
17871
17872 * kern/powerpc/ieee1275/init.c: Move from here ...
17873 * kern/ieee1275/init.c: ... to here. Update all users.
17874
17875 * kern/powerpc/ieee1275/cmain.c: Move from here ...
17876 * kern/ieee1275/cmain.c: ... to here. Update all users.
17877
17878 * kern/powerpc/ieee1275/openfw.c: Move from here ...
17879 * kern/ieee1275/openfw.c: ... to here. Update all users.
17880
17881 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
17882 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
17883
322562ea 178842008-04-10 Pavel Roskin <proski@gnu.org>
17885
17886 * configure.ac: Always use "_cv_" in cache variables for
17887 compatibility with Autoconf 2.62.
17888
a02a73c5 178892008-04-07 Robert Millan <rmh@aybabtu.com>
17890
17891 Revert grub/machine/init.h addition by Pavel (since it breaks on
17892 i386-ieee1275 and others):
17893 * util/i386/pc/misc.c: Remove grub/machine/init.h.
17894 * util/powerpc/ieee1275/misc.c: Likewise.
17895
25c024b1 178962008-04-07 Robert Millan <rmh@aybabtu.com>
17897
17898 * util/grub-probe.c (probe): Improve error message.
17899
3cbd2f98 179002008-04-07 Robert Millan <rmh@aybabtu.com>
17901
17902 * util/biosdisk.c (read_device_map): Skip devices that don't exist
17903 (this prevents the presence of a bogus entry from ruining the whole
17904 thing).
17905
87a297bf 179062008-04-06 Pavel Roskin <proski@gnu.org>
17907
36747a62 17908 * util/biosdisk.c: Include grub/util/biosdisk.h.
17909 * util/grub-fstest.c (execute_command): Make static.
17910 * util/grub-mkdevicemap.c (check_device): Likewise.
17911 * util/i386/pc/misc.c: Include grub/machine/init.h.
17912 * util/powerpc/ieee1275/misc.c: Likewise.
17913 * util/lvm.c: Include grub/util/lvm.h.
17914 * util/misc.c: Include grub/kernel.h, grub/misc.h and
17915 grub/cache.h.
17916 * util/raid.c: Include grub/util/raid.h.
17917 (grub_util_getdiskname): Make static.
17918
87a297bf 17919 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
17920 grub_hostfs_fini(), as they are called from grub_init_all() and
17921 grub_fini_all() respectively. This fixes an infinite loop in
17922 grub-fstest due to double registration of hostfs.
17923 Reported by Christian Franke <Christian.Franke@t-online.de>
17924
f6ce7629 179252008-04-05 Pavel Roskin <proski@gnu.org>
17926
17927 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
17928 all 8 functions. Otherwise, probe function 0 only.
17929
070e49e4 179302008-04-04 Pavel Roskin <proski@gnu.org>
17931
8b088a4c 17932 * commands/lspci.c (grub_lspci_iter): Print the bus number
17933 correctly.
17934
4f657021 17935 * commands/lspci.c (grub_pci_classes): Fix typos.
17936 (grub_lspci_iter): Don't print func twice. Print vendor ID
17937 before device ID, as it's normally done.
17938
070e49e4 17939 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
17940 Fix signedness warnings.
17941 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
17942 Likewise.
17943 * util/ieee1275/get_disk_name.c: Include config.h so that
17944 _GNU_SOURCE is defined and getline() is declared. Mark an
17945 unused argument as such. Fix a signedness warning.
17946
ba7328dc 179472008-04-02 Pavel Roskin <proski@gnu.org>
17948
26887f22 17949 * genkernsyms.sh.in: Use more robust assignments for CC and
17950 srcdir. Quote srcdir.
17951 * gensymlist.sh.in: Likewise. Assert at the compile time that
17952 the symbol table is not empty.
17953
ba7328dc 17954 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
17955 * fs/cpio.c (grub_cpio_read): Likewise.
17956
0f582c6b 179572008-04-01 Pavel Roskin <proski@gnu.org>
17958
4b6e1995 17959 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
17960 * disk/host.c (grub_host_open): Likewise.
17961 * disk/loopback.c (grub_loopback_open): Likewise.
17962 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
17963 disk->id as in disk/host.c, not a multi-character constant.
17964
828a2768 17965 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
17966 later is obsolete, potentially dangerous and sets a bad example.
17967 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
17968 * util/misc.c (grub_util_get_image_size): Likewise.
17969
2bb4fb47 17970 * disk/loopback.c (options): Improve help for "--partitions".
17971
0f582c6b 17972 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
17973 options to align them with the short options, e.g. "echo -e".
17974
a33224e0 179752008-03-31 Bean <bean123ch@gmail.com>
17976
17977 * video/reader/png.c (grub_png_data): New member is_16bit and
17978 image_data.
17979 (grub_png_decode_image_header): Detect 16 bit png image.
17980 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
17981 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
17982 (grub_video_reader_png): Release memory occupied by image_data.
17983
17984 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
17985 4096 bytes.
17986 (grub_nfs_mount): Skip the test for sector per cluster.
17987
17988 * include/grub/ntfs.h (MAX_SPC): Removed.
17989
86cb4f54 179902008-03-31 Bean <bean123ch@gmail.com>
17991
17992 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
17993 (grub_probe_SOURCES): Add fs/afs.c.
17994 (grub_fstest_SOURCES): Likewise.
17995 (afs_mod_SOURCES): New variable.
17996 (afs_mod_CFLAGS): Likewise.
17997 (afs_mod_LDFLAGS): Likewise.
17998
17999 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
18000 (grub_emu_SOURCES): Likewise.
18001
18002 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18003
18004 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18005
18006 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
18007
18008 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18009
18010 * fs/afs.c: New file.
18011
17c74c21 180122008-03-30 Pavel Roskin <proski@gnu.org>
18013
4cb68e89 18014 * disk/host.c: Include grub/misc.h to fix a warning.
18015 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
18016 warnings about implicit declarations.
18017
8790bb04 18018 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
18019 variable.
18020 * include/grub/i386/loader.h: Change declaration of
18021 grub_linux_boot() to match what grub_loader_set() expects.
18022 * util/getroot.c (grub_guess_root_device): Return const char* to
18023 fix a warning.
18024 * util/grub-probe.c (probe): Fix a warning about uninitialized
18025 abstraction_name variable.
18026 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
18027 second argument as unused to fix a warning.
18028
9a3f3296 18029 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
18030 missing grub_error() call.
18031
0ecef90d 18032 * util/update-grub_lib.in: Define datarootdir, since Autoconf
18033 2.60 and newer uses it to define datadir.
18034
0bf6d401 18035 * commands/sleep.c: Fix warning about implicit declaration.
18036 * disk/memdisk.c: Likewise.
18037 * loader/aout.c: Likewise.
18038 * loader/i386/bsd_normal.c: Likewise.
18039 * util/grub-probe.c: Likewise.
18040
7cdacf97 18041 * commands/i386/cpuid.c (has_longmode): Make static.
18042 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
18043 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
18044
17c74c21 18045 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
18046 GDT. This is more robust, as %ds can change.
18047 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
18048 calling real_to_prot().
18049 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
18050
80a3e68b 180512008-03-28 Pavel Roskin <proski@gnu.org>
18052
18053 * kern/i386/pc/startup.S: Assert that uncompressed functions
18054 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
18055 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
18056 code, as they push parts of the code (error handlers) beyond
18057 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
18058 code as correctness and size.
18059
77bcd272 180602008-03-28 Pavel Roskin <proski@gnu.org>
18061
18062 * kern/i386/pc/startup.S
18063 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
18064 data block address to the real mode, keep offset minimal. This
18065 works around a bug in AWARD BIOS on old Athlon systems, which
18066 makes CD detection hang.
18067
c5dfd43b 180682008-03-26 Pavel Roskin <proski@gnu.org>
18069
18070 * normal/color.c (grub_parse_color_name_pair): Make `name' a
18071 const.
18072 * include/grub/normal.h: Add grub_parse_color_name_pair()
18073 declaration.
18074
bf962df2 180752008-03-24 Bean <bean123ch@gmail.com>
18076
18077 * disk/i386/pc/biosdisk.c (cd_start): Removed.
18078 (cd_count): Removed.
18079 (cd_drive): New variable.
18080 (grub_biosdisk_get_drive): Don't check for (cdN) device.
18081 (grub_biosdisk_call_hook): Likewise.
18082 (grub_biosdisk_iterate): Change cdrom detection method.
18083 (grub_biosdisk_open): Replace cd_start with cd_drive.
18084 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
18085 detect cdrom device.
18086
18087 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
18088 Removed.
18089 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
18090 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
18091 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
18092 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
18093 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
18094 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
18095 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
18096 (grub_biosdisk_cdrp): New structure.
18097 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
18098
18099 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
18100
18101 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
18102 device.
18103
18104 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
18105 New function.
18106
68e7fc7a 181072008-03-20 Robert Millan <rmh@aybabtu.com>
18108
18109 Remove 2 TiB limit in ata.mod.
18110 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
18111 (grub_ata_dumpinfo): Print sector count with 0x%llx.
18112 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
18113 grub_uint64_t instead of grub_uint32_t.
18114
38ad2cf5 181152008-03-05 Bean <bean123ch@gmail.com>
18116
18117 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
18118 (grub_multiboot): Set boot device.
18119
18120 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
18121
2b89344e 181222008-03-02 Bean <bean123ch@gmail.com>
18123
18124 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
18125 symlink_buffer.
18126
87a95d1f 181272008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
18128
18129 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
18130 texinfo.tex.
18131
18132 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
18133 modified.
18134
18135 * docs/fdl.texi: New file.
f19dbdb7 18136
87a95d1f 18137 * docs/mdate-sh: New file. Copied from gnulib.
18138 * docs/texinfo.tex: Likewise.
18139
18140 * config.guess: Updated from gnulib.
18141 * install-sh: Likewise.
18142
7dc15d8e 181432008-02-28 Robert Millan <rmh@aybabtu.com>
18144
18145 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
18146 (aout_mod_SOURCES): New variable.
18147 (aout_mod_CFLAGS): Likewise.
18148 (aout_mod_LDFLAGS): Likewise.
18149
18150 * conf/i386-ieee1275.rmk: Likewise.
18151
b00ab696 181522008-02-28 Robert Millan <rmh@aybabtu.com>
18153
18154 * util/update-grub.in: Reorganise terminal validity check. Accept
18155 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
18156 Based on suggestion by Franklin PIAT.
18157
79ca2d78 181582008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
18159
18160 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
18161 function.
18162 * util/getroot.c (grub_util_check_block_device): New function that
18163 returns the given argument if it is a block device and returns NULL else.
18164 * util/grub-probe.c (argument_is_device): New variable.
18165 (probe): Promote device_name from a variable to an argument. Receive
18166 device_name from grub_util_check_block_device() if path is NULL and from
18167 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 18168 (options): Introduce new parameter '-d, --device'.
79ca2d78 18169 (main): Add description of the new parameter to the help screen.
18170 Rename path variable to argument. Set argument_is_device if the '-d'
18171 option is given. Pass argument to probe() depending on
18172 argument_is_device.
18173
0d16e571 181742008-02-24 Bean <bean123ch@gmail.com>
18175
18176 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
18177 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
18178 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
18179 (GRUB_ISO9660_VOLDESC_PART): Likewise.
18180 (GRUB_ISO9660_VOLDESC_END): Likewise.
18181 (grub_iso9660_primary_voldesc): New member escape.
18182 (grub_iso9660_data): New member joliet.
18183 (grub_iso9660_convert_string): New function.
18184 (grub_iso9660_mount): Detect joliet extension.
18185 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
18186 (grub_iso9660_iso9660_label): Likewise.
18187
18188 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
18189 (grub_setup_SOURCES): Add fs/udf.c.
18190 (grub_fstest_SOURCES): Likewise.
18191 (udf_mod_SOURCES): New variable.
18192 (udf_mod_CFLAGS): Likewise.
18193 (udf_mod_LDFLAGS): Likewise.
18194
18195 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
18196 (grub_emu_SOURCES): Likewise.
18197
18198 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18199
18200 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18201
18202 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
18203
18204 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18205
18206 * fs/udf.c: New file.
18207
8a594a17 182082008-02-24 Robert Millan <rmh@aybabtu.com>
18209
18210 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
18211 (normal/lexer.c_DEPENDENCIES): New variables.
18212 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
18213 (normal/lexer.c_DEPENDENCIES): Likewise.
18214 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
18215 (normal/lexer.c_DEPENDENCIES): Likewise.
18216 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
18217 (normal/lexer.c_DEPENDENCIES): Likewise.
18218 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
18219 (normal/lexer.c_DEPENDENCIES): Likewise.
18220 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
18221 (normal/lexer.c_DEPENDENCIES): Likewise.
18222
2dc33c03 182232008-02-23 Robert Millan <rmh@aybabtu.com>
18224
18225 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
18226 since they were intended to be in hex. This didn't break previously
18227 because of a bug in gpt_partition_map_iterate() (see below).
18228
18229 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
18230 when checking the validity of GPT header.
18231 Remove `partno', since it always provides the same information as `i'.
18232
f6f4cfb0 182332008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
18234
18235 * include/grub/efi/time.h: Fix a wrong comment.
18236
79ff665f 182372008-02-19 Pavel Roskin <proski@gnu.org>
18238
18239 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
18240 message.
18241
d38e24c2 182422008-02-19 Bean <bean123ch@gmail.com>
18243
18244 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
18245 (aout_mod_SOURCES): New variable.
18246 (aout_mod_CFLAGS): Likewise.
18247 (aout_mod_LDFLAGS): Likewise.
18248 (_bsd_mod_SOURCES): New variable.
18249 (_bsd_mod_CFLAGS): Likewise.
18250 (_bsd_mod_LDFLAGS): Likewise.
18251 (bsd_mod_SOURCES): New variable.
18252 (bsd_mod_CFLAGS): Likewise.
18253 (bsd_mod_LDFLAGS): Likewise.
18254
18255 * include/grub/aout.h: New file.
18256
18257 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
18258
18259 * include/grub/i386/bsd.h: New file.
18260
18261 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
18262 to make it public.
18263
18264 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
18265 function is called, so that it's possible to change it inside the hook.
18266 (grub_elf64_load): Likewise.
18267 (grub_elf_file): Don't close the file if elf header is not found.
18268 (grub_elf_close): Close the file if grub_elf_file fails (The new
18269 grub_elf_file won't close it).
18270 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
18271 (grub_elf64_size): Likewise.
18272
18273 * kern/i386/loader.S (grub_unix_real_boot): New function.
18274
18275 * loader/aout.c: New file.
18276
18277 * loader/i386/bsd.c: New file.
18278
18279 * loader/i386/bsd_normal.c: New file.
18280
18281 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
18282
18283 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 18284 can test other formats.
d38e24c2 18285
b93bdb0f 182862008-02-19 Robert Millan <rmh@aybabtu.com>
18287
18288 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
18289 (grub_gpt_partition_type_empty): Redefine with macro from
18290 `<grub/gpt_partition.h>'.
18291 (gpt_partition_map_iterate): Adjust partition type comparison.
18292
18293 Export `entry' as partmap-specific `part.data' struct.
18294 (grub_gpt_header, grub_gpt_partentry): Move from here ...
18295
18296 * include/grub/gpt_partition.h (grub_gpt_header)
18297 (grub_gpt_partentry): ... to here (new file).
18298
18299 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
18300
18301 (grub_gpt_partition_type_bios_boot): New const variable, defined
18302 with macro from `<grub/gpt_partition.h>'.
18303
18304 (setup): Replace `first_start' with `embed_region', which keeps
18305 track of the embed region (and is partmap-agnostic).
18306
18307 Replace find_first_partition_start() with find_usable_region(),
18308 which finds a usable region for embedding using partmap-specific
18309 knowledge (supports PC/MSDOS and GPT).
18310
18311 Fix all assumptions that the embed region start at sector 1, using
18312 `embed_region.start' from now on. Similarly, use `embed_region.end'
18313 rather than `first_start' to calculate available size.
18314
18315 In grub_util_info() message, replace "into after the MBR" with an
18316 indication of the specific sector our embed region starts at.
18317
66cb40f6 183182008-02-19 Robert Millan <rmh@aybabtu.com>
18319
18320 * DISTLIST: Replace `commands/ieee1275/halt.c' and
18321 `commands/ieee1275/reboot.c' with `commands/halt.c' and
18322 `commands/reboot.c'.
18323 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
18324 (halt_mod_SOURCES): Likewise.
18325 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
18326 (halt_mod_SOURCES): Likewise.
18327
b7202015 183282008-02-17 Christian Franke <franke@computer.org>
18329
18330 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
18331
32b0fc49 183322008-02-17 Robert Millan <rmh@aybabtu.com>
18333
18334 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
18335 set `first_start' to 0 for non-PC/MSDOS partition maps.
18336
aca63502 183372008-02-16 Robert Millan <rmh@aybabtu.com>
18338
18339 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
18340 do not assume partition map is PC/MSDOS before performing checks that
18341 are specific to that layout.
18342
0de8be86 183432008-02-13 Robert Millan <rmh@aybabtu.com>
18344
18345 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
18346 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
18347 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
18348
c3db8364 183492008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
18350
18351 * configure.ac: Only a cosmetic change on the handling of
18352 -fno-stack-protector.
18353
f714229e 183542008-02-12 Alexandre Boeglin <alex@boeglin.org>
18355
c3db8364 18356 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
18357 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
18358 reboot.c.
f714229e 18359 (grub_install_SOURCES): Add halt.mod and reboot.mod.
18360 (halt_mod_SOURCES): New variable.
18361 (halt_mod_CFLAGS): Likewise.
18362 (halt_mod_LDFLAGS): Likewise.
18363 (reboot_mod_SOURCES): Likewise.
18364 (reboot_mod_CFLAGS): Likewise.
18365 (reboot_mod_LDFLAGS): Likewise.
18366
c3db8364 18367 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
18368 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
18369 reboot.c.
f714229e 18370 (halt_mod_SOURCES): Likewise.
18371 (reboot_mod_SOURCES): Likewise.
18372
c3db8364 18373 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
18374 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 18375 (reboot_mod_SOURCES): Likewise.
18376
18377 * commands/i386/pc/reboot.c: merge this file ...
18378
18379 * commands/ieee1275/reboot.c: ... and this file ...
18380
18381 * commands/reboot.c: ... to this file.
c3db8364 18382 Add some precompiler directive to include the correct header for
18383 each machine.
f714229e 18384
18385 * commands/ieee1275/halt.c: move this file ...
18386
18387 * commands/halt.c: ... to here.
c3db8364 18388 Add some precompiler directive to include the correct header for
18389 each machine.
f714229e 18390
18391 * include/grub/efi/efi.h (grub_reboot): New function declaration.
18392 (grub_halt): Likewise.
18393
18394 * kern/efi/efi.c (grub_reboot): New function.
18395 (grub_halt): Likewise.
18396
c74493e0 183972008-02-12 Robert Millan <rmh@aybabtu.com>
18398
18399 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
18400 /dev (like it is done for /dev/mapper). This doesn't provide support
18401 for EVMS, but at least it is now easy to identify the problem when it
18402 arises.
18403
d0db4b04 184042008-02-11 Robert Millan <rmh@aybabtu.com>
18405
18406 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
18407 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
18408 comparing it with -1, not 0.
18409
bf748642 184102008-02-10 Robert Millan <rmh@aybabtu.com>
18411
18412 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
18413 `disk/lvm.c'.
18414 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18415 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
18416
18417 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
18418 `disk/lvm.c' to the end of the list.
18419 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
18420 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18421
b5db202a 184222008-02-10 Robert Millan <rmh@aybabtu.com>
18423
18424 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
18425 grub_print_error() instead. This will let user know why we're entering
18426 rescue mode.
18427 Based on suggestions from Sam Morris.
18428
83abee31 184292008-02-10 Alexandre Boeglin <alex@boeglin.org>
18430
18431 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
18432 on remaining N args, instead of "--" arg N times.
18433
78d5a08b 184342008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
18435
18436 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
18437 (fill_with_default_glyph): Changed to use unknown_glyph for fill
18438 pattern for unknown glyphs.
18439
68807e5f 184402008-02-09 Robert Millan <rmh@aybabtu.com>
18441
18442 * configure.ac: Probe for `help2man'.
18443 * Makefile.in (builddir): New variable.
18444 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
18445 or otherwise add a few flags/options to it.
18446 (install-local): For every executable utility or script that is
18447 installed, invoke $(HELP2MAN) to install a manpage based on --help
18448 output.
18449
18450 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
18451 that it doesn't prevent --help from working in build tree.
18452
18453 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
18454 with `bug-grub@gnu.org'.
18455 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
18456 * util/update-grub.in (usage): New function.
18457 Implement proper argument check, with support for --help and --version
18458 (as well as existing -y).
18459
184602008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 18461
18462 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
18463 avoid overwriting previous output.
18464 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
18465
c1962162 184662008-02-09 Robert Millan <rmh@aybabtu.com>
18467
18468 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
18469 drawing the menu.
18470
3dac2e3f 184712008-02-09 Robert Millan <rmh@aybabtu.com>
18472
18473 * commands/sleep.c: New file.
18474 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
18475 (sleep_mod_SOURCES): New variable.
18476 (sleep_mod_CFLAGS): Likewise.
18477 (sleep_mod_LDFLAGS): Likewise.
18478
7a634e08 184792008-02-09 Robert Millan <rmh@aybabtu.com>
18480
18481 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
18482 situations in which we can deduce the RAID size and the superblock
18483 doesn't match it.
18484
b92f0c18 184852008-02-09 Robert Millan <rmh@aybabtu.com>
18486
18487 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
18488 and return a grub_diskmemberlist_t composed of LVM physical volumes.
18489 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
18490
18491 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
18492 and return a grub_diskmemberlist_t composed of physical array members.
18493 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
18494
18495 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
18496 prototype.
18497 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
18498 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
18499 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
18500
18501 * util/grub-probe.c (probe): Move partmap probing code from here ...
18502 (probe_partmap): ... to here.
18503 (probe): Use probe_partmap() once for the disk we're probing, and
18504 additionally, when such disk contains a memberlist() struct member,
18505 once for each disk that is contained in the structure returned by
18506 memberlist().
18507
91a4bf68 185082008-02-09 Robert Millan <rmh@aybabtu.com>
18509
18510 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
18511 environment variable to 'all' in order to obtain debug output from
18512 non-util/ code.
18513 * util/i386/pc/grub-setup.c (main): Likewise.
18514
a96f9caa 185152008-02-08 Robert Millan <rmh@aybabtu.com>
18516
18517 * disk/raid.c (grub_raid_scan_device): Check for
18518 `array->device[sb.this_disk.number]' rather than for
18519 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 18520 guaranteed to be accessible.
a96f9caa 18521
b37a9222 185222008-02-08 Robert Millan <rmh@aybabtu.com>
18523
18524 * disk/raid.c: Update copyright.
18525 * fs/cpio.c: Likewise.
18526 * include/grub/raid.h: Likewise.
18527 * loader/i386/pc/multiboot.c: Likewise.
18528 * util/hostfs.c: Likewise.
18529
5626aee1 185302008-02-08 Robert Millan <rmh@aybabtu.com>
18531
18532 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
18533 to a grub_disk_t array.
18534 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
18535 `device[x]'.
18536 (grub_raid_scan_device): Replace `device[x].name' accesses with
18537 `device[x]->name'. Simplify initialization of `array->device[x]'.
18538
554f0187 185392008-02-08 Robert Millan <rmh@aybabtu.com>
18540
18541 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
18542 grub_dprintf() calls.
18543 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
18544 error message.
18545
1ec8425d 185462008-02-07 Christian Franke <franke@computer.org>
18547
18548 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
18549 instead of fseek and ftell to support large files.
18550 (grub_hostfs_read): Likewise.
18551
f2156fda 185522008-02-07 Robert Millan <rmh@aybabtu.com>
18553
18554 Patch from Jeroen Dekkers.
18555 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 18556 failure, since successfully reading all array members might not be
f2156fda 18557 required.
18558
9216e0e7 185592008-02-06 Robert Millan <rmh@aybabtu.com>
18560
18561 * util/grub-probe.c (probe): Simplify partmap probing (with the
18562 assumption that the first word up to the underscore equals to
18563 the module name).
18564
b0dfd29a 185652008-02-06 Christian Franke <franke@computer.org>
18566
18567 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
18568 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
18569 last block of a cpio or tar stream.
18570 Check for "TRAILER!!!" instead of any empty data
18571 block to detect last block of a cpio stream.
18572 (grub_cpio_dir): Fix constness of variable np.
18573 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
18574 cpio or tar trailer is detected. This fixes a crash
18575 on open of a non existing file.
18576
c32865bf 185772008-02-05 Bean <bean123ch@gmail.com>
18578
18579 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
18580 address of entry.
18581 (grub_multiboot_load_elf64): Likewise.
18582 (grub_multiboot): Initialize mbi structure.
18583
18584 * util/grub-fstest.c: Don't include unused header file script.h.
18585
fe6b695a 18586 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 18587 of file.
18588 (grub_fstest_SOURCES): Likewise.
18589
409480b7 185902008-02-05 Robert Millan <rmh@aybabtu.com>
18591
18592 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
18593 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
18594 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
18595 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
18596
18597 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
18598 (translation_table): Replace hardcoded values with macros
18599 provided by `<grub/term.h>'.
18600
18601 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
18602 (keyboard_map): Correct/add a few values, with macros provided
18603 by `<grub/term.h>'.
18604 (keyboard_map_shift): Zero values that don't differ from their
18605 `keyboard_map' equivalents.
18606 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
18607 Discard the second scan code that is always sent by Caps lock.
18608 Only use `keyboard_map_shift' when it provides a non-zero value,
18609 otherwise fallback to `keyboard_map'.
18610
99fadbaa 186112008-02-04 Bean <bean123ch@gmail.com>
18612
18613 * Makefile.in (enable_grub_fstest): New variable.
18614
18615 * conf/common.rmk (grub_fstest_init.lst): New rule.
18616 (grub_fstest_init.h): Likewise.
18617 (grub_fstest_init.c): Likewise.
18618 (util/grub-fstest.c_DEPENDENCIES): New variable.
18619 (grub_fstest_SOURCES): Likewise.
18620
18621 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
18622
18623 * util/grub-fstest.c: New file.
18624
bf567c50 186252008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
18626
18627 Make grub-setup handle a separate root device.
f19dbdb7 18628
bf567c50 18629 * util/i386/pc/grub-setup.c (setup): Always open the root device,
18630 so that the root device can be compared with the destination
18631 device.
18632 When embedding the core image, if the root and destination devices
18633 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
18634 0xFF.
18635 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 18636
9be6b98b 186372008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
18638
18639 Add support for having a grub directory in a different drive. This
18640 is still only the data handling part.
f19dbdb7 18641
9be6b98b 18642 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
18643 (codestart): Save %dh in GRUB_ROOT_DRIVE.
18644 (grub_root_drive): New variable.
18645
18646 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
18647 instead of GRUB_BOOT_DRIVE to construct a device name. Set
18648 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
18649 as it was.
18650
18651 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
18652
18653 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
18654 macro.
18655 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
18656
18657 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
18658 is bogus, because PXE booting does not specify any drive
18659 correctly.
18660
18661 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
18662 am not sure if this is really correct.
18663
18664 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
18665 is always identical to the boot drive when booting from a CD.
18666
18667 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
18668 longer.
18669 (root_drive): New variable.
18670 (real_start): Unconditionally set %dh to ROOT_DRIVE.
18671 (setup_sectors): Push %dx right after popping it, because %dh will
18672 be modified later.
18673 (copy_buffer): Restore %dx.
18674
e0ca0677 186752008-02-03 Robert Millan <rmh@aybabtu.com>
18676
18677 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
18678 use `cdboot.img' for cdrom images.
18679
3b3f6629 186802008-02-03 Robert Millan <rmh@aybabtu.com>
18681
18682 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
18683 only setup gfxterm when `font' command has succeeded.
18684
d42b3672 186852008-02-03 Robert Millan <rmh@aybabtu.com>
18686
18687 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
18688 (grub_rescue_cmd_multiboot_loader)
18689 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
18690
fa370ea6 186912008-02-03 Pavel Roskin <proski@gnu.org>
18692
e0c5dacb 18693 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 18694 %edx and %esi from stack only after grub_gate_a20() is called.
18695 grub_gate_a20() clobbers %edx.
18696
f2a76e1d 186972008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
18698
18699 * configure.ac (AC_INIT): Bumped to 1.96.
18700
18701 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
18702 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
18703 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
18704 video/readers/png.c.
18705
90fd32d1 187062008-02-03 Bean <bean123ch@gmail.com>
9be665dd 18707
18708 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
18709 (cdboot_img_SOURCES): New variable.
18710 (cdboot_img_ASFLAGS): New variable.
18711 (cdboot_img_LDFLAGS): New variable.
18712
18713 * boot/i386/pc/cdboot.S: New file.
18714
18715 * disk/i386/pc/biosdisk.c (cd_start): New variable.
18716 (cd_count): Likewise.
18717 (grub_biosdisk_get_drive): Add support for cd device.
18718 (grub_biosdisk_call_hook): Likewise.
18719 (grub_biosdisk_iterate): Likewise.
18720 (grub_biosdisk_open): Likewise.
18721 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
18722 (grub_biosdisk_rw): Support reading from cd device.
18723 (GRUB_MOD_INIT): Iterate cd devices.
18724
18725 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
18726 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
18727 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
18728
18729 * kern/i386/pc/init.c (make_install_device): Check for cd device.
18730
4020aa53 187312008-02-02 Robert Millan <rmh@aybabtu.com>
18732
18733 * commands/read.c: New file.
18734 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
18735 (read_mod_SOURCES): New variable.
18736 (read_mod_CFLAGS): Likewise.
18737 (read_mod_LDFLAGS): Likewise.
18738
e03a1132 187392008-02-02 Robert Millan <rmh@aybabtu.com>
18740
18741 * normal/main.c (grub_normal_execute): Check for `menu->size' when
18742 determining whether menu has to be displayed.
18743
58c69220 187442008-02-02 Marco Gerards <marco@gnu.org>
18745
18746 * bus/pci.c: New file.
18747
18748 * include/grub/pci.h: Likewise.
18749
18750 * include/grub/i386/pc/pci.h: Likewise.
18751
18752 * commands/lspci.c: Likewise.
18753
18754 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
18755 `lspci.mod'.
18756 (pci_mod_SOURCES): New variable.
18757 (pci_mod_CFLAGS): Likewise.
18758 (pci_mod_LDFLAGS): Likewise.
18759 (lspci_mod_SOURCES): Likewise.
18760 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 18761 (lspci_mod_LDFLAGS): Likewise.
58c69220 18762
c004e1b4 187632008-02-02 Bean <bean123ch@gmail.com>
18764
18765 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
18766 (grub_ufs_get_file_block): Fix indirect block calculation problem.
18767
18768 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
18769 (grub_xfs_btree_node): New structure.
18770 (grub_xfs_btree_root): New structure.
18771 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
18772 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
18773 (GRUB_XFS_EXTENT_BLOCK): Likewise.
18774 (GRUB_XFS_EXTENT_SIZE): Likewise.
18775 (grub_xfs_read_block): Support btree format type.
18776 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
18777 Use directory block as basic unit.
18778
18779 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
18780
18781 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
18782 __attribute__ ((__regparm__ (1))).
18783
f95562bf 187842008-02-01 Robert Millan <rmh@aybabtu.com>
18785
18786 Correct a mistake in previous commit.
18787
18788 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
18789 top.
18790 (normal/command.c_DEPENDENCIES): New variable.
18791
7d31f41f 187922008-02-01 Robert Millan <rmh@aybabtu.com>
18793
18794 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
18795 top.
18796 (normal/command.c_DEPENDENCIES): New variable.
18797 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
18798 * conf/i386-ieee1275.rmk: Likewise.
18799 * conf/i386-linuxbios.rmk: Likewise.
18800 * conf/i386-pc.rmk: Likewise.
18801 * conf/sparc64-ieee1275.rmk: Likewise.
18802 * conf/powerpc-ieee1275.rmk: Likewise.
18803 (grub_emu_SOURCES): Add `fs/fshelp.c'.
18804
18805 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
18806
60b6be74 188072008-02-01 Robert Millan <rmh@aybabtu.com>
18808
18809 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
18810 call at beginning of function.
18811
078522ab 188122008-01-31 Pavel Roskin <proski@gnu.org>
18813
18814 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 18815 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
18816 (grub_mkrescue_SOURCES): Likewise.
078522ab 18817 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
18818
ccaa8a5f 188192008-01-30 Robert Millan <rmh@aybabtu.com>
18820
18821 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
18822 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
18823 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
18824 (grub_probe_SOURCES): ... to here.
18825
18826 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
18827 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
18828 * conf/i386-ieee1275.rmk: Likewise.
18829 * conf/i386-linuxbios.rmk: Likewise.
18830 * conf/powerpc-ieee1275.rmk: Likewise.
18831
ae5a9cd7 188322008-01-30 Tristan Gingold <gingold@free.fr>
18833
18834 * kern/rescue.c: Silently accept empty lines.
18835
70bc2ef2 188362008-01-29 Bean <bean123ch@gmail.com>
18837
18838 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
18839 (real_code_2): Code cleanup and change comment style.
18840 (move_memory): Avoid using 32-bit address mode.
18841
6a4d50ea 188422008-01-29 Bean <bean123ch@gmail.com>
18843
18844 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
18845 (png_mod_SOURCES): New variable.
18846 (png_mod_CFLAGS): Likewise.
18847 (png_mod_LDFLAGS): Likewise.
18848
18849 * video/readers/png.c: New file.
18850
11cc30ac 188512008-01-28 Robert Millan <rmh@aybabtu.com>
18852
18853 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
18854 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
18855 `ifndef GRUB_MOD_GAP' hack.
18856 * util/elf/grub-mkimage.c (add_segments): Likewise.
18857
3abc589f 188582008-01-27 Robert Millan <rmh@aybabtu.com>
18859
18860 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
18861 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 18862 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 18863
e1907778 188642008-01-27 Robert Millan <rmh@aybabtu.com>
18865
18866 Get grub-emu to build again (including parallel builds).
18867
18868 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
18869 Split into ...
18870 (util/grub-emu.c_DEPENDENCIES): ... this, ...
18871 (normal/execute.c_DEPENDENCIES): ... this, ...
18872 (grub-emu_DEPENDENCIES): ... and this.
18873
18874 * conf/i386-efi.rmk: Likewise.
18875 * conf/i386-linuxbios.rmk: Likewise.
18876 * conf/i386-ieee1275.rmk: Likewise.
18877 * conf/powerpc-ieee1275.rmk: Likewise.
18878 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
18879
2216b101 188802008-01-27 Robert Millan <rmh@aybabtu.com>
18881
18882 * NEWS: Add a few items.
18883
f75172d9 188842008-01-27 Robert Millan <rmh@aybabtu.com>
18885
18886 Fix parallel builds with grub-emu. Based on earlier commit for
18887 grub-probe and grub-setup.
18888
18889 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
18890 (util/grub-emu.c_DEPENDENCIES): ... this.
18891 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
18892 (util/grub-emu.c_DEPENDENCIES): ... this.
18893 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
18894 (util/grub-emu.c_DEPENDENCIES): ... this.
18895 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
18896 (util/grub-emu.c_DEPENDENCIES): ... this.
18897 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
18898 (util/grub-emu.c_DEPENDENCIES): ... this.
18899
3f51de77 189002008-01-27 Pavel Roskin <proski@gnu.org>
18901
18902 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
18903 to create a gap between _end and the modules added to the image
18904 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
18905 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
18906 * util/elf/grub-mkimage.c (add_segments): Likewise.
18907
2033f53e 189082008-01-26 Pavel Roskin <proski@gnu.org>
18909
18910 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
18911 just return an error.
18912
22da1f6f 189132008-01-26 Bean <bean123ch@gmail.com>
18914
18915 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
18916 (grub_reiserfs_get_item): Save offset of the next item.
18917 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
18918
2a9525e6 189192008-01-25 Robert Millan <rmh@aybabtu.com>
18920
18921 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
18922 make all filesystem sources appear together (possibly fixing omissions
18923 while at it).
18924 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18925 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18926 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
18927 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18928
18929 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
18930 add `kern/file.c'.
18931 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
18932 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
18933 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
18934 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
18935
18936 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
18937 (probe): Add a sanity check to make sure of our ability to read
18938 requested files when probing for filesystem type.
18939
18940 * genmk.rb: Update copyright year (2007).
18941
18942 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
18943 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
18944 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
18945 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
18946 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
18947 : Remove function prototypes.
18948
b95f71b5 189492008-01-25 Robert Millan <rmh@aybabtu.com>
18950
18951 Revert my previous commits (based on wrong assumption of how grub_errno
18952 works).
18953
fe6b695a 18954 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 18955 * kern/file.c (grub_file_open): Likewise.
18956
d08bbb49 189572008-01-24 Pavel Roskin <proski@gnu.org>
18958
18959 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
18960 that hang if GRUB tries to setup colors.
18961 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
18962 colors for firmwares that don't support it.
18963 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
18964 Recognize Open Hack'Ware, set flags to work around its
18965 limitations.
18966
605e36ed 189672008-01-24 Robert Millan <rmh@aybabtu.com>
18968
18969 * kern/file.c (grub_file_open): Do not account previous failures of
18970 unrelated functions when grub_errno is checked for.
18971 Reported by Oleg Strikov.
18972
bac332a1 189732008-01-24 Bean <bean123ch@gmail.com>
18974
18975 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
18976 (grub_ufs_sblock): New member volume name.
18977 (grub_ufs_find_file): Fix string copy bug.
18978 (grub_ufs_label): Implement this function properly.
18979
18980 * fs/hfs.c (grub_hfs_cnid_type): New enum.
18981 (grub_hfs_iterate_records): Use the correct file number for extents
18982 and catalog file. Fix problem in next index calculation.
18983 (grub_hfs_find_node): Replace recursive function call with loop.
18984 (grub_hfs_iterate_dir): Replace recursive function call with loop.
18985
15c80c09 189862008-01-23 Robert Millan <rmh@aybabtu.com>
18987
18988 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
18989 `<grub/symbol.h>' and `<grub/multiboot.h>'.
18990 (grub_multiboot2_real_boot): New function prototype.
18991
18992 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
18993 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
18994
18995 * kern/i386/ieee1275/init.c (grub_os_area_addr)
18996 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
18997
305338fd 189982008-01-23 Robert Millan <rmh@aybabtu.com>
18999
19000 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
19001 #ifdef'ed out grub_printf().
19002
3ea52685 190032008-01-23 Robert Millan <rmh@aybabtu.com>
19004
19005 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
19006 grub_dprintf calls, since they make "debug=all" mode unusable.
19007 (grub_console_checkkey): Likewise.
19008
5882ae4b 190092008-01-23 Robert Millan <rmh@aybabtu.com>
19010
19011 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
19012 `term/i386/pc/at_keyboard.c'.
19013 (pkglib_MODULES): Add `serial.mod'.
19014 (serial_mod_SOURCES): New variable.
19015 (serial_mod_CFLAGS): Likewise.
19016 (serial_mod_LDFLAGS): Likewise.
19017
19018 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
19019 `<grub/powerpc/ieee1275/console.h>'.
19020 (grub_keyboard_controller_init): New function prototype.
19021 (grub_console_checkkey): Likewise.
19022 (grub_console_getkey): Likewise.
19023
19024 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
19025 keyboard on i386.
19026
19027 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
19028 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
19029
06ab5303 190302008-01-23 Robert Millan <rmh@aybabtu.com>
19031
19032 * kern/i386/pc/init.c (make_install_device): When memdisk image is
19033 present, "(memdisk)/boot/grub" becomes the default prefix.
19034
19035 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
19036 a memdisk tarball with all the modules. Add --overlay=DIR option that
19037 allows users to overlay additional files into the image.
19038
dbb475a4 190392008-01-23 Robert Millan <rmh@aybabtu.com>
19040
19041 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
19042 and `machine/memory.h'.
19043 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
19044 (_multiboot_mod_SOURCES): New variable.
19045 (_multiboot_mod_CFLAGS): Likewise.
19046 (_multiboot_mod_LDFLAGS): Likewise.
19047 (multiboot_mod_SOURCES): Likewise.
19048 (multiboot_mod_CFLAGS): Likewise.
19049 (multiboot_mod_LDFLAGS): Likewise.
19050
19051 * include/grub/i386/ieee1275/loader.h: New file.
19052
19053 * include/grub/i386/ieee1275/machine.h: Likewise.
19054
19055 * include/grub/i386/ieee1275/memory.h: Likewise.
19056
19057 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
19058 variable declaration.
19059 (grub_os_area_size): Likewise.
19060
19061 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
19062 (grub_lower_mem, grub_upper_mem): New variables.
19063 (grub_stop_floppy): New function (just to make
19064 grub_multiboot2_real_boot() happy).
19065
19066 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
19067 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
19068 (grub_stop): New function.
19069 Include `"../realmode.S"' and `"../loader.S"'.
19070
19071 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
19072 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
19073
19074 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
19075 rely on grub_multiboot2_real_boot() for final boot.
19076
25638629 190772008-01-22 Robert Millan <rmh@aybabtu.com>
19078
19079 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
19080 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
19081 device that doesn't look like an SD card.
19082 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
19083 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
19084 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
19085 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
19086 found.
19087
9dad816d 190882008-01-22 Robert Millan <rmh@aybabtu.com>
19089
19090 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
19091 avoid claiming over our own code.
19092
34842f2d 190932008-01-22 Bean <bean123ch@gmail.com>
19094
19095 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
19096 (jpeg_mod_SOURCES): New variable.
19097 (jpeg_mod_CFLAGS): Likewise.
19098 (jpeg_mod_LDFLAGS): Likewise.
19099
19100 * video/readers/jpeg.c : New file.
19101
44023a28 191022008-01-22 Bean <bean123ch@gmail.com>
19103
19104 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
19105 there are no more items.
19106
bc2d8ac6 191072008-01-21 Robert Millan <rmh@aybabtu.com>
19108
19109 * kern/mm.c (grub_mm_init_region): Improve debug message.
19110
261bd4bc 191112008-01-21 Robert Millan <rmh@aybabtu.com>
19112
19113 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
19114 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
19115 address.
19116 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
19117 a C macro.
19118 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
19119 Indicates start of upper memory.
19120 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
19121 (generate_image): Abort when image size is big enough to corrupt
19122 upper memory.
19123
19124 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
19125 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
19126 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
19127 instead of hardcoding 0xA0000.
19128 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
19129 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
19130 instead of hardcoding 0xA0000.
19131
f970b55e 191322008-01-21 Robert Millan <rmh@aybabtu.com>
19133
19134 * disk/memdisk.c (memdisk_size): New variable.
19135 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
19136 `memdisk_size'.
19137 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
19138 image to dynamic memory.
19139 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
19140 `memdisk_size'. Free memdisk block.
19141
1a8b0526 191422008-01-21 Robert Millan <rmh@aybabtu.com>
19143
19144 Fix detection of very small filesystems (like tar).
19145
19146 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
19147 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
19148 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
19149 a problem with this disk).
19150
6e9b4aab 191512008-01-21 Robert Millan <rmh@aybabtu.com>
19152
19153 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
19154 on grub_biosdisk_rw_standard() error.
19155
0d8837b2 191562008-01-21 Robert Millan <rmh@aybabtu.com>
19157
19158 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
19159 recent changes.
19160 * kern/elf.c: Likewise.
19161 * kern/ieee1275/ieee1275.c: Likewise.
19162 * kern/powerpc/ieee1275/openfw.c: Likewise.
19163 * term/ieee1275/ofconsole.c: Likewise.
19164
ffd36e34 191652008-01-21 Robert Millan <rmh@aybabtu.com>
19166
19167 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
19168
3f0093d0 19169 * include/grub/kernel.h (grub_arch_memdisk_addr)
19170 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 19171
3f0093d0 19172 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
19173 (grub_arch_memdisk_size): ... to here.
ffd36e34 19174
6c391b21 191752008-01-21 Robert Millan <rmh@aybabtu.com>
19176
19177 Mostly based on bugfix from Bean.
19178
19179 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
19180 attribute with hook() parameter.
19181 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
19182 declaration.
19183 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
19184 attribute with hook() parameter.
19185 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
19186 declaration.
19187
55a581dc 191882008-01-21 Robert Millan <rmh@aybabtu.com>
19189
19190 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
19191 (pkglib_MODULES): Add `memdisk.mod'.
19192 (memdisk_mod_SOURCES): New variable.
19193 (memdisk_mod_CFLAGS): Likewise.
19194 (memdisk_mod_LDFLAGS): Likewise.
19195
19196 * disk/memdisk.c: New file.
19197
19198 * include/grub/disk.h (grub_disk_dev_id): Add
19199 `GRUB_DISK_DEVICE_MEMDISK_ID'.
19200
19201 * include/grub/i386/pc/kernel.h
19202 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
19203 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
19204 (grub_kernel_image_size): New variable declaration.
19205 (grub_total_module_size): Likewise.
19206 (grub_memdisk_image_size): Likewise.
19207
19208 * include/grub/i386/pc/memory.h
19209 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
19210
19211 * include/grub/kernel.h: Include `<grub/symbol.h>'.
19212 (grub_arch_memdisk_addr): New variable declaration.
19213 (grub_arch_memdisk_size): Likewise.
19214
19215 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
19216 (grub_arch_memdisk_size): Likewise.
19217
19218 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
19219 (codestart): Replace hardcoded `0x100000' with
19220 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
19221
19222 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
19223 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
19224 not NULL, append the contents of the file it refers to, at the end of
19225 the compressed kernel image. Initialize `grub_memdisk_image_size'
19226 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
19227 (options): Add "memdisk"|'m' option.
19228 (main): Parse --memdisk|-m option, and pass user-provided path as
19229 parameter to generate_image().
19230
3d7f54c9 192312008-01-20 Robert Millan <rmh@aybabtu.com>
19232
19233 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
19234 grub_dprintf() calls from here ...
19235 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
19236
0bf74728 192372008-01-20 Robert Millan <rmh@aybabtu.com>
19238
19239 Fix detection of "real mode" when /options/real-mode? doesn't exist.
19240
19241 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
19242 declaration.
19243 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
19244 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
19245 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 19246 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 19247 property).
19248 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
19249 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
19250
33bf70a7 192512008-01-19 Robert Millan <rmh@aybabtu.com>
19252
fe6b695a 19253 Get rid of confusing function (superseded by
33bf70a7 19254 `grub_ieee1275_get_integer_property')
19255 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
19256 prototype.
19257 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
19258 function.
19259 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
19260 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 19261 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 19262
e2da7d26 192632008-01-19 Robert Millan <rmh@aybabtu.com>
19264
19265 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
19266 command after "shut-down", since implementations differ on which
19267 the command for halt is.
19268
59f1fd8d 192692008-01-19 Robert Millan <rmh@aybabtu.com>
19270
19271 * include/grub/i386/linuxbios/console.h: Add header protection.
19272 (grub_keyboard_controller_init): New function prototype.
19273 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
19274 (KEYBOARD_COMMAND_READ): Likewise.
19275 (KEYBOARD_COMMAND_WRITE): Likewise.
19276 (KEYBOARD_SCANCODE_SET1): Likewise.
19277 (grub_keyboard_controller_write): New function.
19278 (grub_keyboard_controller_read): Likewise.
19279 (grub_keyboard_controller_init): Likewise.
19280
19281 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
19282 (grub_console_init): On coreboot/LinuxBIOS, call
19283 grub_keyboard_controller_init().
19284
5f5a7c15 192852008-01-19 Robert Millan <rmh@aybabtu.com>
19286
19287 PowerPC changes provided by Pavel Roskin.
19288
19289 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
19290 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
19291 don't rely on cmain() doing it.
19292 * kern/i386/ieee1275/startup.S (_start): Store %eax in
19293 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
19294
1210e168 192952008-01-16 Robert Millan <rmh@aybabtu.com>
19296
19297 * include/grub/i386/linuxbios/memory.h
19298 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
19299 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
19300 receive `table_header' as argument. Instead, probe for it in the
19301 known memory ranges where it can be present.
19302 (grub_available_iterate): Do not pass a fixed `table_header' address
19303 to grub_linuxbios_table_iterate().
19304
3d04eab8 193052008-01-15 Robert Millan <rmh@aybabtu.com>
19306
19307 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
19308 * conf/i386-ieee1275.rmk: New file.
19309 * include/grub/i386/ieee1275/console.h: Likewise.
19310 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
19311 * include/grub/i386/ieee1275/kernel.h: Likewise.
19312 * include/grub/i386/ieee1275/time.h: Likewise.
19313 * kern/i386/ieee1275/init.c: Likewise.
19314 * kern/i386/ieee1275/startup.S: Likewise.
19315
d1bc1b73 193162008-01-15 Robert Millan <rmh@aybabtu.com>
19317
19318 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
19319 when pointers are 32-bit (but still do set it to one when they are
19320 64-bit).
19321
66a65807 193222008-01-15 Robert Millan <rmh@aybabtu.com>
19323
19324 * include/grub/ieee1275/ieee1275.h
19325 (grub_ieee1275_get_integer_property): New function prototype.
19326
19327 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
19328 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 19329 grub_ieee1275_get_property() to handle endianness.
66a65807 19330
19331 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
19332 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 19333 where appropriate.
66a65807 19334 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
19335 (grub_map): Likewise.
19336 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
19337
a83ccafd 193382008-01-15 Bean <bean123ch@gmail.com>
19339
19340 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
19341 (grub_script_execute_cmdline): Reset grub_errno.
19342
19343 * normal/main.c (read_config_file): Reset grub_errno.
19344
19345 * normal/parse.y (script_init): New.
19346 (script): Move function and menuentry here.
19347 (delimiter): New.
19348 (command): Add delimiter at the end of command.
19349 (commands): Adjust to match the new command.
19350 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 19351 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 19352 (if): Use the new commands.
19353
19354 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
19355
df6ecfc6 193562008-01-15 Robert Millan <rmh@aybabtu.com>
19357
19358 * normal/menu.c (run_menu): Move timeout message from here ...
19359 (print_timeout): ... to here.
19360 (run_menu): Use print_timeout() once during initial draw to print
19361 the whole message, and again in every clock tick to update only
19362 the number of seconds.
19363
87ae25eb 193642008-01-15 Robert Millan <rmh@aybabtu.com>
19365
19366 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
19367 actual size of `available' from grub_ieee1275_get_property(), and
19368 restrict parsing to that bound.
19369
47bf09a4 193702008-01-15 Christian Franke <franke@computer.org>
19371
19372 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
19373 (argp_program_version): Remove variable.
19374 (argp_program_bug_address): Likewise.
19375 (options): Convert from struct argp_option to struct option.
19376 (struct arguments): Remove.
19377 (parse_opt): Remove.
19378 (usage): New function.
19379 (main): Replace struct args members by simple variables.
19380 Replace argp_parse() by getopt_long().
19381 Add switch to evaluate options.
19382 Add missing "(...)" around root_dev in prefix string.
19383
c86f1469 193842008-01-14 Robert Millan <rmh@aybabtu.com>
19385
19386 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
19387 for grub_ieee1275_exit(), in order to improve portability.
19388
e622c559 193892008-01-14 Robert Millan <rmh@aybabtu.com>
19390
19391 * util/grub.d/10_linux.in (prefix): Define.
19392 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
19393
44cb1ec8 193942008-01-13 Pavel Roskin <proski@gnu.org>
19395
19396 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
19397 grub_errno if no errors have been detected.
19398
1eb8c802 193992008-01-12 Robert Millan <rmh@aybabtu.com>
19400
19401 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
19402 (grub_util_get_dev_abstraction): New function prototype.
19403
19404 * util/getroot.c: Include `<grub/util/getroot.h>'
19405 (grub_util_get_grub_dev): Move detection of abstraction type to ...
19406 (grub_util_get_dev_abstraction): ... here (new function).
19407
19408 * util/grub-probe.c: Convert PRINT_* to an enum. Add
19409 `PRINT_ABSTRACTION'.
19410 (probe): Probe for abstraction type when requested.
19411 (main): Understand `--target=abstraction'.
19412
19413 * util/i386/efi/grub-install.in: Add abstraction module to core
19414 image when it is found to be necessary.
19415 * util/i386/pc/grub-install.in: Likewise.
19416 * util/powerpc/ieee1275/grub-install.in: Likewise.
19417
19418 * util/update-grub_lib.in (font_path): Return system path without
19419 converting to GRUB path.
19420 * util/update-grub.in: Convert system path returned by font_path()
19421 to a GRUB path. Use `grub-probe -t abstraction' to determine what
19422 abstraction module is needed for loading fonts (if any). Export
19423 that as `GRUB_PRELOAD_MODULES'.
19424 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
19425 insmod commands).
19426
52bd3de9 194272008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
19428
19429 Remove some unused code from reiserfs.
f19dbdb7 19430
52bd3de9 19431 * fs/reiserfs.c (struct grub_reiserfs_key)
19432 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
19433 (struct grub_reiserfs_node_body): Removed.
19434 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
19435 Likewise.
19436 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
19437 Likewise.
19438 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
19439 Likewise.
19440 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
19441 Likewise.
19442 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
19443 Likewise.
19444 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
19445 Likewise.
19446 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
19447 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
19448 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
19449
2f80039d 194502008-01-10 Robert Millan <rmh@aybabtu.com>
19451
19452 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
19453 Determines if a file is garbage left by packaging systems, etc.
19454 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
19455 for processing /etc/grub.d scripts.
19456 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
19457 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
19458 as a condition for processing Linux images.
19459
87888032 194602008-01-10 Pavel Roskin <proski@gnu.org>
19461
19462 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
19463 to compile reiserfs.c on PowerPC.
19464
7e54fced 194652008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 19466
19467 * kern/device.c (grub_device_iterate): Do not abort device iteration
19468 when one of the devices cannot be opened.
19469 * kern/disk.c (grub_disk_open): Do not account previous failures of
19470 unrelated functions when grub_errno is checked for.
19471
5aa541e6 194722008-01-08 Robert Millan <rmh@aybabtu.com>
19473
19474 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
19475 `! grub_linux_is_bzimage', change order of address comparison to make
19476 it more intuitive, and improve "too big zImage" error message.
19477
7076340d 194782008-01-08 Robert Millan <rmh@aybabtu.com>
19479
19480 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
19481 `$(update-grub_DATA)'.
19482 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
19483 targets.
19484
9ca70333 194852008-01-07 Robert Millan <rmh@aybabtu.com>
19486
19487 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
19488 which instruction is modified by grub-setup during installation
19489 (since it wasn't obvious by only looking at this file).
19490
38ccf575 194912008-01-07 Robert Millan <rmh@aybabtu.com>
19492
19493 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
19494 listing actual TODO items.
19495
f5db4291 194962008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
19497
868967cf 19498 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
19499 correctly.
19500 (grub_reiserfs_get_key_offset): Likewise.
19501 (grub_reiserfs_set_key_offset): Likewise.
19502 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 19503 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 19504
19505 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
19506 better to remove the bitfield version completely.
f19dbdb7 19507
868967cf 195082008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 19509
f5db4291 19510 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
19511 allocated from the heap, due to the fshelp implementation.
19512 (grub_reiserfs_dir): Free NODE, due to the same reason.
19513
492e6d9d 195142008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
19515
19516 Mostly from Vincent Pelletier:
f19dbdb7 19517
492e6d9d 19518 * fs/reiserfs.c: New file.
f19dbdb7 19519
492e6d9d 19520 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
19521 (reiserfs_mod_SOURCES): New variable.
19522 (reiserfs_mod_CFLAGS): Likewise.
19523 (reiserfs_mod_LDFLAGS): Likewise.
19524
19525 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
19526 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
19527 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
19528 normal/color.c.
19529
9ce3e7c1 195302008-01-06 Robert Millan <rmh@aybabtu.com>
19531
19532 * normal/color.c: Remove `<grub/env.h>'.
19533
f3b58148 195342008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
19535
19536 * include/grub/normal.h: Include <grub/env.h>.
19537
7ac3bcfa 195382008-01-05 Robert Millan <rmh@aybabtu.com>
19539
19540 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
19541 usage example with `(hd0,1)'.
fb358190 19542 Reported by Samuel Thibault.
7ac3bcfa 19543
c8ee99d7 195442008-01-05 Robert Millan <rmh@aybabtu.com>
19545
19546 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
19547 (grub_linux_boot_zimage): Rename to ...
19548 (grub_linux_boot): ... this.
19549 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
19550 (grub_linux_boot_zimage): Conditionalize zImage copy.
19551
19552 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
19553 (grub_linux_boot_bzimage): Remove prototype.
19554 (grub_linux_boot_zimage): Rename to ...
19555 (grub_linux_boot): ... this.
19556
19557 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
19558 (grub_linux_boot): Remove function.
19559
0ece25b1 195602008-01-05 Robert Millan <rmh@aybabtu.com>
19561
19562 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
19563 (grub_env_write_color_highlight): Likewise.
19564 (grub_wait_after_message): Likewise.
19565
19566 * normal/color.c: New file.
19567
19568 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
19569 (normal_mod_DEPENDENCIES): Likewise.
19570
19571 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
19572 (normal_mod_DEPENDENCIES): Likewise.
19573
19574 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
19575 (normal_mod_DEPENDENCIES): Likewise.
19576
19577 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
19578 (normal_mod_DEPENDENCIES): Likewise.
19579
19580 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
19581 for waiting after a message is printed.
19582 * normal/main.c (read_config_file): Likewise.
19583 (grub_normal_init): Register grub_env_write_color_normal() and
19584 grub_env_write_color_highlight() hooks. Mark `color_normal' and
19585 `color_highlight' variables as global.
19586
19587 * normal/menu.c (grub_wait_after_message): New function.
19588 (grub_color_menu_normal): New variable. Replaces ...
19589 (GRUB_COLOR_MENU_NORMAL): ... this macro.
19590 (grub_color_menu_highlight): New variable. Replaces ...
19591 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
19592 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
19593 `GRUB_TERM_COLOR_STANDARD'.
19594 (print_message): Use `grub_setcolorstate' to reload colors. Rename
19595 `normal_code' and `highlight_code' to `old_color_normal' and
19596 `old_color_highlight', respectively.
19597 (grub_menu_init_page): Update colors when drawing the menu, based on
19598 `menu_color_normal' and `menu_color_highlight' variables.
19599 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
19600 a message is printed.
19601
182dd4e5 196022008-01-05 Robert Millan <rmh@aybabtu.com>
19603
19604 * kern/env.c (grub_env_context_open): Propagate hooks for global
19605 variables to new context.
19606
19607 * kern/main.c (grub_set_root_dev): Export `root' variable.
19608
ddf8f6ad 196092008-01-05 Robert Millan <rmh@aybabtu.com>
19610
19611 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 19612 discs unconditionally, since udev and others have options to provide
ddf8f6ad 19613 them.
19614
d8b43d9b 196152008-01-05 Robert Millan <rmh@aybabtu.com>
19616
19617 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
19618
2bff2de3 196192008-01-04 Christian Franke <franke@computer.org>
19620
19621 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
19622 of eisa_mmap.
19623
97eab917 196242008-01-03 Pavel Roskin <proski@gnu.org>
19625
19626 * kern/i386/linuxbios/init.c: Put "void" to all function
19627 declarations with no arguments.
19628 * kern/powerpc/ieee1275/init.c: Likewise.
19629 * term/i386/pc/at_keyboard.c: Likewise.
19630 * term/i386/pc/vga_text.c: Likewise.
19631 * util/grub-mkdevicemap.c: Likewise.
19632
b9416d00 196332008-01-02 Robert Millan <rmh@aybabtu.com>
19634
19635 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
19636 message when loaded image is out of bounds.
19637 (grub_multiboot_load_elf64): Likewise.
19638
92695df9 196392008-01-02 Pavel Roskin <proski@gnu.org>
19640
19641 * util/grub.d/10_linux.in: Try version without ".old" when
19642 looking for initrd. It's better to use initrd from the newer
19643 kernel of the same version than no initrd at all.
19644
d98d9cad 196452008-01-01 Robert Millan <rmh@aybabtu.com>
19646
19647 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
19648
dbfdce36 196492008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
19650
f19dbdb7 19651 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 19652 grub_video_get_active_render_target.
19653 (grub_video_adapter): Added unmap_color and get_active_render_target.
19654
f19dbdb7 19655 * video/video.c: Added grub_video_unmap_color and
dbfdce36 19656 grub_video_get_active_render_target.
19657 (grub_video_get_info): Changed method to accept NULL pointer as an
19658 argument to allow detection of active video adapter.
19659
19660 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
19661 grub_video_vbe_unmap_color_int.
19662 Added grub_video_vbe_unmap_color and
19663 grub_video_vbe_get_active_render_target.
19664 (grub_video_vbe_adapter): Added unmap_color and
19665 get_active_render_target.
19666
f19dbdb7 19667 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 19668 with grub_video_vbe_unmap_color_int.
19669
19670 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
19671 (DEFAULT_NORMAL_COLOR): Likewise.
19672 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
19673 (DEFAULT_FG_COLOR): Removed.
19674 (DEFAULT_BG_COLOR): Likewise.
19675 (DEFAULT_CURSOR_COLOR): Changed value.
19676 (grub_virtual_screen): Added standard_color_setting,
19677 normal_color_setting, highlight_color_setting and term_color.
19678 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
19679 (bitmap_width): Added.
19680 (bitmap_height): Likewise.
19681 (bitmap): Likewise.
19682 (set_term_color): Likewise.
19683 (grub_virtual_screen_setup): Changed to use new terminal coloring
19684 settings.
19685 (grub_gfxterm_init): Added init for bitmap.
19686 (grub_gfxterm_fini): Added destroy for bitmap.
19687 (redraw_screen_rect): Updated to use background bitmap and new
19688 terminal coloring.
19689 (scroll_up): Added optimization for case when there is no bitmap.
19690 (grub_gfxterm_cls): Fixed to use correct background color.
19691 (grub_virtual_screen_setcolorstate): Changed to use new terminal
19692 coloring.
19693 (grub_virtual_screen_setcolor): Likewise.
19694 (grub_virtual_screen_getcolor): Added.
19695 (grub_gfxterm_background_image_cmd): Likewise.
19696 (grub_video_term): Added setcolor and getcolor.
19697 (MOD_INIT): Added registration of background_image command.
19698 (MOD_TERM): Added unregistration for background_image command.
19699
c3c20931 197002007-12-30 Pavel Roskin <proski@gnu.org>
19701
19702 * loader/multiboot_loader.c: Fix multiboot command
19703 unregistration. Fix all typos in the word "multiboot".
19704
df266716 197052007-12-29 Pavel Roskin <proski@gnu.org>
94239199 19706
19707 * util/grub.d/10_linux.in: Refactor search for initrd. Add
19708 support for initrd names used in Fedora.
19709
fc6e896c 197102007-12-26 Bean <bean123ch@gmail.com>
19711
19712 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
19713 (cpio_mod_SOURCES): New variable.
19714 (cpio_mod_CFLAGS): Likewise.
19715 (cpio_mod_LDFLAGS): Likewise.
19716
19717 * fs/cpio.c: New file.
19718
19719 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
19720
19721 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19722
19723 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19724
19725 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19726
533110ad 197272007-12-25 Robert Millan <rmh@aybabtu.com>
19728
19729 * include/grub/term.h (struct grub_term): Add `getcolor' function.
19730 (grub_getcolor): New function.
19731
19732 * kern/term.c (grub_getcolor): New function.
19733 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
19734 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
19735 (print_entry): Set normal and highlight colors to
19736 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
19737 respectively, before printing and restore them to old
19738 values afterwards.
19739 (grub_menu_init_page): Likewise. Fill an additional colored space
19740 that would otherwise be left blank.
19741
19742 * term/efi/console.c (grub_console_getcolor): New function.
19743 (struct grub_console_term.getcolor): New variable.
19744 * term/i386/pc/console.c (grub_console_getcolor): New function.
19745 (struct grub_console_term.getcolor): New variable.
19746 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
19747 (struct grub_console_term.getcolor): New variable.
19748
19749 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
19750 (struct grub_console_term.setcolor): Remove variable.
19751 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
19752 (struct grub_console_term.setcolor): Remove variable.
19753 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
19754 (struct grub_console_term.setcolor): Remove variable.
19755 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
19756 (struct grub_console_term.setcolor): Remove variable.
19757
4931827f 197582007-12-25 Robert Millan <rmh@aybabtu.com>
19759
19760 * configure.ac: Search for possible unifont.hex locations, and
19761 define UNIFONT_HEX if found.
19762
19763 * Makefile.in (UNIFONT_HEX): Define variable.
19764 (DATA): Rename to ...
19765 (PKGLIB): ... this. Update all users.
19766 (PKGDATA): New variable.
19767 (pkgdata_IMAGES): Rename to ...
19768 (pkglib_IMAGES): ... this. Update all users.
19769 (pkgdata_MODULES): Rename to ...
19770 (pkglib_MODULES): ... this. Update all users.
19771 (pkgdata_PROGRAMS): Rename to ...
19772 (pkglib_PROGRAMS): ... this. Update all users.
19773 (pkgdata_DATA): Rename to ...
19774 (pkglib_DATA): ... this. Update all users.
19775 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
19776 (unicode.pff, ascii.pff): New rules.
19777 (all-local): Add `$(PKGDATA)' dependency.
19778 (install-local): Process `$(PKGDATA)'.
19779
19780 * util/update-grub_lib.in (font_path): Search for *.pff files in
19781 a few more locations, including `${pkgdata}'.
19782
57e57e31 197832007-12-23 Robert Millan <rmh@aybabtu.com>
19784
19785 Patch from Bean <bean123ch@gmail.com>:
19786 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
19787 `size'.
19788
4bc72aa9 197892007-12-21 Bean <bean123ch@gmail.com>
19790
19791 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
19792 (ntfscomp_mod_SOURCES): New variable.
19793 (ntfscomp_mod_CFLAGS): Likewise.
19794 (ntfscomp_mod_LDFLAGS): Likewise.
19795
19796 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
19797 (grub_probe_SOURCES): Likewise.
19798 (grub_emu_SOURCES): Likewise.
19799
19800 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
19801 (grub_emu_SOURCES): Likewise.
19802
19803 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
19804 (grub_emu_SOURCES): Likewise.
19805
19806 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
19807 (grub_emu_SOURCES): Likewise.
19808
19809 * fs/ntfs.c (grub_ntfscomp_func): New variable.
19810 (read_run_list): Renamed to grub_ntfs_read_run_list.
19811 (decomp_nextvcn): Moved to ntfscomp.c.
19812 (decomp_getch): Likewise.
19813 (decomp_get16): Likewise.
19814 (decomp_block): Likewise.
19815 (read_block): Likewise.
19816 (read_data): Partially moved to ntfscomp.c.
19817 (fixup): Change unsigned to grub_uint16_t.
19818 (read_mft): Change unsigned long to grub_uint32_t.
19819 (read_attr): Likewise.
19820 (read_data): Likewise.
19821 (read_run_data): Likewise.
19822 (read_run_list): Likewise.
19823 (read_mft): Likewise.
19824
19825 * fs/ntfscomp.c: New file.
19826
19827 * include/grub/ntfs.h: New file.
19828
af680a87 198292007-12-16 Robert Millan <rmh@aybabtu.com>
19830
19831 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
19832 IDE disk check, since Linux is known to support 20 IDE disks.
19833 Reported by Colin Watson.
19834
84be7599 198352007-12-15 Bean <bean123ch@gmail.com>
19836
19837 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
19838 (lnxboot_img_SOURCES): New variable.
19839 (lnxboot_img_ASFLAGS): Likewise.
19840 (lnxboot_img_LDFLAGS): Likewise.
19841
19842 * boot/i386/pc/lnxboot.S: New file.
19843
6af9db01 198442007-11-24 Pavel Roskin <proski@gnu.org>
19845
19846 * configure.ac: Test if '--build-id=none' is supported by the
19847 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
19848 objcopy to generate incorrect binary files (binutils
19849 2.17.50.0.18-1 as shipped by Fedora 8).
19850 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
19851 linking, so that build ID doesn't break the test.
19852
7361cfe6 198532007-11-24 Pavel Roskin <proski@gnu.org>
19854
19855 * include/grub/i386/time.h: use "void" in the argument list
19856 of grub_cpu_idle().
19857 * include/grub/powerpc/time.h: Likewise.
19858 * include/grub/sparc64/time.h: Likewise.
19859
1593e10c 198602007-11-18 Christian Franke <franke@computer.org>
19861
19862 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
19863 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
19864 This fixes the problem that function keys did not work in grub-emu.
19865
3b8db1a8 198662007-11-18 Christian Franke <franke@computer.org>
19867
19868 * disk/host.c (grub_host_open): Remove attribute unused from
19869 name parameter. Add check for "host". This fixes the problem
19870 that grub-emu does not find partitions.
19871
2e29408d 198722007-11-18 Christian Franke <franke@computer.org>
19873
19874 * util/hostfs.c (is_dir): New function.
19875 (grub_hostfs_dir): Handle missing dirent.d_type case.
19876 (grub_hostfs_read): Add missing fseek().
19877 (grub_hostfs_label): Clear label pointer. This fixes a crash
19878 of grub-emu on "ls (host)".
19879
398cd047 198802007-11-18 Christian Franke <franke@computer.org>
19881
19882 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
19883 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
19884 to 64 bit boundary by default.
19885
c405c391 198862007-11-18 Bean <bean123ch@gmail.com>
19887
19888 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
19889 (hexdump_mod_SOURCES): New variable.
19890 (hexdump_mod_CFLAGS): Likewise.
19891 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 19892
c405c391 19893 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
19894
19895 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
19896
19897 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
19898
19899 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
19900
19901 * include/grub/hexdump.h: New file.
19902
19903 * commands/hexdump.c: New file.
19904
5cced7fd 199052007-11-10 Robert Millan <rmh@aybabtu.com>
19906
19907 * commands/i386/pc/play.c (beep_off): Switch order of arguments
19908 in grub_outb() calls.
19909 (beep_on): Likewise.
19910
8b714eb0 199112007-11-10 Christian Franke <franke@computer.org>
19912
19913 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
19914 (grub_menu_run): Likewise.
19915
ce0f1839 199162007-11-10 Robert Millan <rmh@aybabtu.com>
19917
19918 * include/grub/i386/efi/machine.h: New file.
19919 * include/grub/i386/linuxbios/machine.h: Likewise.
19920 * include/grub/i386/pc/machine.h: Likewise.
19921 * include/grub/powerpc/ieee1275/machine.h: Likewise.
19922 * include/grub/sparc64/ieee1275/machine.h: Likewise.
19923
19924 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
19925 (serial_hw_io_addr): New variable.
19926 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
19927 instead of `(unsigned short *) 0x400'.
19928
270c237d 199292007-11-10 Bean <bean123ch@gmail.com>
19930
19931 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
19932
a87783bf 199332007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
19934
19935 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
19936 (vga_mod_SOURCES): Added.
19937 (vga_mod_CFLAGS): Likewise.
19938 (vga_mod_LDFLAGS): Likewise.
19939
19940 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
19941 grub_outb() calls.
19942 (set_map_mask): Likewise.
19943 (set_read_map): Likewise.
19944 (set_read_address): Likewise.
19945 (vga_font): Removed variable.
19946 (get_vga_glyph): Removed function.
19947 (invalidate_char): Likewise.
19948 (write_char): Changed to use grub_font_get_glyph() for font
19949 information.
19950 (grub_vga_putchar): Likewise.
19951 (grub_vga_getcharwidth): Likewise.
19952
6433b448 199532007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
19954
19955 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
19956 flags.
19957 (pxeboot_img_LDFLAGS): Likewise.
19958 (diskboot_img_LDFLAGS): Likewise.
19959 (kernel_img_LDFLAGS): Likewise.
19960
49178511 199612007-11-06 Robert Millan <rmh@aybabtu.com>
19962
19963 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
19964 in grub_outb() calls.
19965 (serial_hw_init): Likewise.
19966
53b052de 199672007-11-05 Robert Millan <rmh@aybabtu.com>
19968
19969 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
19970 spaces. Skip non-regular files.
19971
5ab33bba 199722007-11-05 Robert Millan <rmh@aybabtu.com>
19973
19974 * kern/disk.c (grub_disk_firmware_fini)
19975 (grub_disk_firmware_is_tainted): New variables.
19976
19977 * include/grub/disk.h (grub_disk_firmware_fini)
19978 (grub_disk_firmware_is_tainted): Likewise.
19979
19980 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
19981 (grub_disk_biosdisk_fini): ... to here.
19982 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
19983 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
19984 is set. Register grub_disk_biosdisk_fini() in
19985 `grub_disk_firmware_fini'.
19986
19987 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
19988 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
19989 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
19990 to finish existing firmware disk interface.
19991
19992 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
19993 (ata_mod_SOURCES): New variable.
19994 (ata_mod_CFLAGS): Likewise.
19995 (ata_mod_LDFLAGS): Likewise.
19996
0149ab7c 199972007-11-05 Robert Millan <rmh@aybabtu.com>
19998
19999 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
20000 (grub_ata_wait): Reimplement using grub_millisleep().
20001
20002 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
20003 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
20004
be7ac41e 200052007-11-03 Marco Gerards <marco@gnu.org>
20006
20007 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
20008 (CRTC_ADDR_PORT): New macro.
20009 (CRTC_DATA_PORT): Likewise.
20010 (CRTC_CURSOR): Likewise.
20011 (CRTC_CURSOR_ADDR_HIGH): Likewise.
20012 (CRTC_CURSOR_ADDR_LOW): Likewise.
20013 (update_cursor): New function.
20014 (grub_console_real_putchar): Call `update_cursor'.
20015 (grub_console_gotoxy): Likewise.
20016 (grub_console_cls): Set the default color when clearing the
20017 screen.
20018 (grub_console_setcursor): Implemented.
20019
bb06ab2e 200202007-11-03 Marco Gerards <marco@gnu.org>
20021
20022 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
20023 become activate.
20024 (grub_ata_pio_write): Likewise.
20025
20026 (grub_atapi_identify): Wait after issuing an ATA command.
20027 (grub_atapi_packet): Likewise.
20028 (grub_ata_identify): Likewise.
20029 (grub_ata_readwrite): Likewise.
20030
cf8f780b 200312007-11-03 Marco Gerards <marco@gnu.org>
20032
20033 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
20034 (grub_ata_pio_write): Likewise.
20035 (grub_ata_readwrite): Use `grub_error', instead of
20036 returning `grub_errno'.
20037
ed649e54 200382007-11-03 Marco Gerards <marco@gnu.org>
20039
20040 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
20041 grub_ata_pio_write once for every single sector, instead of for
20042 multiple sectors.
20043
ca25d8f0 200442007-10-31 Robert Millan <rmh@aybabtu.com>
20045
20046 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
20047
20048 * conf/i386-linuxbios.rmk: New file.
20049
20050 * kern/i386/pc/hardware.c: Likewise.
20051 * term/i386/pc/at_keyboard.c: Likewise.
20052 * term/i386/pc/vga_text.c: Likewise.
20053
20054 * include/grub/i386/linuxbios/boot.h: Likewise.
20055 * include/grub/i386/linuxbios/console.h: Likewise.
20056 * include/grub/i386/linuxbios/init.h: Likewise.
20057 * include/grub/i386/linuxbios/kernel.h: Likewise.
20058 * include/grub/i386/linuxbios/loader.h: Likewise.
20059 * include/grub/i386/linuxbios/memory.h: Likewise.
20060 * include/grub/i386/linuxbios/serial.h: Likewise.
20061 * include/grub/i386/linuxbios/time.h: Likewise.
20062
20063 * kern/i386/linuxbios/init.c: Likewise.
20064 * kern/i386/linuxbios/startup.S: Likewise.
20065 * kern/i386/linuxbios/table.c: Likewise.
20066
e911ecc1 200672007-10-31 Marco Gerards <marco@gnu.org>
20068
20069 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
20070 (ata_mod_SOURCES): New variable.
20071 (ata_mod_CFLAGS): Likewise.
20072 (ata_mod_LDFLAGS): Likewise.
20073
20074 * disk/ata.c: New file.
20075
20076 * include/grub/disk.h (grub_disk_dev_id): Add
20077 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 20078
7f66d0e0 200792007-10-31 Robert Millan <rmh@aybabtu.com>
20080
20081 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
20082 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
20083
20084 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
20085 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
20086
20087 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
20088 `<grub/types.h>'.
20089
20090 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
20091
5cd7dd46 200922007-10-27 Robert Millan <rmh@aybabtu.com>
20093
3236ca65 20094 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 20095
2ebfc90f 200962007-10-22 Robert Millan <rmh@aybabtu.com>
20097
20098 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
20099 `"../realmode.S"'.
20100 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
20101
73fcb0f3 201022007-10-22 Robert Millan <rmh@aybabtu.com>
20103
20104 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
20105 (pkgdata_MODULES): Add `biosdisk.mod'.
20106 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
20107 variables.
20108
20109 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
20110 (grub_biosdisk_init): Replace with ...
20111 (GRUB_MOD_INIT(biosdisk)): ... this.
20112 (grub_biosdisk_fini): Replace with ...
20113 (GRUB_MOD_FINI(biosdisk)): ... this.
20114
20115 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
20116 (grub_machine_init): Remove call to grub_biosdisk_init().
20117 (grub_machine_fini): Remove call to grub_machine_fini().
20118
20119 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
20120
3381d274 201212007-10-22 Robert Millan <rmh@aybabtu.com>
20122
20123 * include/grub/time.h: New file.
20124 * include/grub/i386/time.h: Likewise.
20125 * include/grub/powerpc/time.h: Likewise.
20126 * include/grub/sparc64/time.h: Likewise.
20127
20128 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
20129 instances to ...
20130 (KERNEL_MACHINE_TIME_HEADER): ... this.
20131 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
20132 instances to ...
20133 (KERNEL_MACHINE_TIME_HEADER): ... this.
20134 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
20135 instances to ...
20136 (KERNEL_MACHINE_TIME_HEADER): ... this.
20137
20138 * kern/i386/efi/init.c: Include `<grub/time.h>'.
20139 (grub_millisleep): New function.
20140 * kern/i386/pc/init.c: Include `<grub/time.h>'.
20141 (grub_millisleep): New function.
20142 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
20143 Remove `grub/machine/time.h' include.
20144 (grub_millisleep): New function.
20145 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
20146 Remove `grub/machine/time.h' include.
20147 (grub_millisleep): New function.
20148
20149 * include/grub/misc.h (grub_div_roundup): New function.
20150
20151 * kern/misc.c: Include `<grub/time.h>'.
20152 (grub_millisleep_generic): New function.
20153
20154 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
20155 Add `time.h'.
20156 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
20157 Add `time.h'.
20158 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
20159 `machine/time.h'. Add `time.h'.
20160 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
20161
a39a0312 201622007-10-21 Robert Millan <rmh@aybabtu.com>
20163
20164 * include/grub/misc.h (grub_max): New function.
20165
2aad70e2 201662007-10-21 Robert Millan <rmh@aybabtu.com>
20167
20168 * util/misc.c (grub_util_info): Call fflush() before returning.
20169
54b71c4b 201702007-10-20 Robert Millan <rmh@aybabtu.com>
20171
20172 * genmk.rb (Image): Copy `extra_flags' from here ...
20173 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
20174
20175 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
20176 to `argc' and `args' arguments.
20177
a979f513 201782007-10-17 Robert Millan <rmh@aybabtu.com>
20179
20180 * kern/i386/loader.S: New file.
20181
20182 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
20183 * kern/i386/loader.S (grub_linux_prot_size)... to here.
20184 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
20185 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
20186 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
20187 * kern/i386/loader.S (grub_linux_real_addr)... to here.
20188 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
20189 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
20190 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
20191 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
20192 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
20193 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
20194 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
20195 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
20196
20197 * kern/i386/realmode.S: New file.
20198
20199 * kern/i386/pc/startup.S (protstack): Moved from here ...
20200 * kern/i386/realmode.S (protstack)... to here.
20201 * kern/i386/pc/startup.S (gdt): Moved from here ...
20202 * kern/i386/realmode.S (gdt)... to here.
20203 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
20204 * kern/i386/realmode.S (prot_to_real)... to here.
20205
20206 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
20207 `kern/i386/realmode.S'.
20208
825fc8fd 202092007-10-17 Robert Millan <rmh@aybabtu.com>
20210
20211 * include/grub/i386/loader.h: New file.
20212
20213 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
20214 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
20215 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
20216 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
20217 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
20218 * include/grub/i386/loader.h (grub_linux_prot_size)
20219 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
20220 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
20221 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
20222 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
20223
20224 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
20225
e179b2f4 202262007-10-15 Robert Millan <rmh@aybabtu.com>
20227
20228 * normal/misc.c (grub_normal_print_device_info): Do not probe for
20229 filesystem when dev->disk is unset.
20230 Do probe for filesystem even when dev->disk->has_partitions is set.
20231 In case a filesystem is found, always report it.
20232 In case it isn't, if dev->disk->has_partitions is set, report that
20233 a partition table was found instead of reporting that no filesystem
20234 could be identified.
20235
5db82af6 202362007-10-12 Robert Millan <rmh@aybabtu.com>
20237
20238 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
20239 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
20240
68f6ac74 20241 * include/grub/types.h (grub_host_to_target16): New macro.
20242 (grub_host_to_target32): Likewise.
20243 (grub_host_to_target64): Likewise.
20244 (grub_target_to_host16): Likewise.
20245 (grub_target_to_host32): Likewise.
20246 (grub_target_to_host64): Likewise.
5db82af6 20247
20248 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
20249 Renamed from to ...
20250 (GRUB_MOD_ALIGN): ...this. Update all users.
20251
68f6ac74 20252 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
20253 grub_host_to_target32.
20254 Replace grub_be_to_cpu32 with grub_target_to_host32.
20255 (load_modules): Likewise.
20256 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
20257 Replace grub_be_to_cpu32 with grub_target_to_host32.
20258 Replace grub_cpu_to_be16 with grub_host_to_target16.
20259 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 20260
3cf497cc 202612007-10-12 Robert Millan <rmh@aybabtu.com>
20262
20263 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
20264 * util/elf/grub-mkimage.c: ... here.
20265
20266 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
20267 `util/powerpc/ieee1275/grub-mkimage.c'.
20268
c8cc3692 202692007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 20270
c8cc3692 20271 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
20272 and make it easier to figure out.
20273 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
20274 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
20275 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
20276 leave us with less than HEAP_MIN_SIZE total heap.
20277 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 20278
5c58b791 202792007-10-03 Robert Millan <rmh@aybabtu.com>
20280
20281 * include/grub/i386/io.h: New file.
20282 * commands/i386/pc/play.c (inb): Removed.
20283 (outb): Removed.
20284 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
20285 with grub_outb().
afcd2ef8 20286 * term/i386/pc/serial.c (inb): Removed.
20287 (outb): Removed.
20288 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
20289 with grub_outb().
20290 * term/i386/pc/vga.c (inb): Removed.
20291 (outb): Removed.
20292 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
20293 with grub_outb().
5c58b791 20294
1a477ed6 202952007-10-02 Robert Millan <rmh@aybabtu.com>
20296
20297 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
20298 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20299 Reported by Marcin Kurek.
20300
6b5d80fa 203012007-09-07 Robert Millan <rmh@aybabtu.com>
20302
20303 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
20304 SmartFirmware version updates (as released by Sven Luther), and avoid
20305 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
20306 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
20307 known broken.
20308
5618afbf 203092007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
20310
20311 From Hitoshi Ozeki:
20312 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
20313 when merging two regions.
20314
6139dcd9 203152007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
20316
508e39ee 20317 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
20318 * normal/completion.c (grub_normal_do_completion): Likewise.
20319 Reported by Hitoshi Ozeki.
20320
203212007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 20322
6139dcd9 20323 Do not use devices at boot in chainloading.
f19dbdb7 20324
6139dcd9 20325 * loader/i386/pc/chainloader.c (boot_drive): New variable.
20326 (boot_part_addr): Likewise.
20327 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
20328 with BOOT_DRIVE and BOOT_PART_ADDR.
20329 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
20330 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
20331
38da6516 203322007-08-29 Robert Millan <rmh@aybabtu.com>
20333
20334 Patch from Simon Peter <dn.tlp@gmx.net>:
20335 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
20336 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
20337 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
20338 util/i386/pc/grub-setup.c_DEPENDENCIES.
20339 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
20340 util/grub-probe.c_DEPENDENCIES.
20341 * conf/powerpc-ieee1275.rmk: Likewise.
20342
29d0928c 203432007-08-28 Robert Millan <rmh@aybabtu.com>
20344
20345 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
20346 to tell grub-mkdevicemap how to name devices.
20347 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
20348 feature).
20349
20350 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
20351 util/i386/get_disk_name.c.
20352 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
20353 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
20354 util/ieee1275/get_disk_name.c.
20355
20356 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
20357
20358 * DISTLIST: Add util/i386/get_disk_name.c and
20359 util/ieee1275/get_disk_name.c.
20360
20361 * util/grub-mkdevicemap.c: Replace device naming logic with
20362 grub_util_get_disk_name() calls.
20363
5a0d3cca 203642007-08-20 Robert Millan <rmh@aybabtu.com>
20365
20366 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
20367 (so that it works for both plural and singular quantities).
20368
8b72db2f 203692007-08-05 Robert Millan <rmh@aybabtu.com>
20370
20371 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
20372 so that [xz] isn't taken into account when determining order.
20373
352466bf 203742007-08-02 Marco Gerards <marco@gnu.org>
20375
20376 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
20377 `include/multiboot2.h', `include/grub/elfload.h',
20378 `include/multiboot.h', `include/grub/multiboot.h',
20379 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
20380 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
20381 `kern/elf.c', `loader/multiboot_loader.c',
20382 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
20383 `loader/i386/pc/multiboot2.c',
20384 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
20385 `util/i386/pc/grub-mkrescue.in'. Remove
20386 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
20387 `include/grub/i386/pc/util/biosdisk.h' and
20388 `include/grub/powerpc/ieee1275/multiboot.h'.
20389
8f096014 203902007-08-02 Bean <bean123ch@gmail.com>
20391
20392 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
20393 (ntfs_mod_SOURCES): New variable.
20394 (ntfs_mod_CFLAGS): Likewise.
20395 (ntfs_mod_LDFLAGS): Likewise.
20396
20397 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
20398 (grub_probe_SOURCES): Likewise.
20399 (grub_emu_SOURCES): Likewise.
20400
20401 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
20402 (grub_emu_SOURCES): Likewise.
20403
20404 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
20405 (grub_emu_SOURCES): Likewise.
f19dbdb7 20406
8f096014 20407 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
20408
20409 * fs/ntfs.c: New file.
20410
9959f7db 204112007-08-02 Bean <bean123ch@gmail.com>
20412
20413 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
20414
20415 * file.h (grub_file): Likewise.
20416
20417 * fshelp.h (grub_fshelp_read_file): Likewise.
20418
20419 * util/i386/pc/grub-setup.c (setup): Likewise.
20420 (save_first_sector): Likewise.
20421 (save_blocklists): Likewise.
f19dbdb7 20422
9959f7db 20423 * fs/affs.c (grub_affs_read_file): Likewise.
20424
20425 * fs/ext2.c (grub_ext2_read_file): Likewise.
20426
20427 * fs/fat.c (grub_fat_read_data): Likewise.
20428
20429 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
20430
20431 * fs/hfs.c (grub_hfs_read_file): Likewise.
20432
20433 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
20434
20435 * fs/jfs.c (grub_jfs_read_file): Likewise.
20436
20437 * fs/minix.c (grub_minix_read_file): Likewise.
20438
20439 * fs/sfs.c (grub_sfs_read_file): Likewise.
20440
20441 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 20442
9959f7db 20443 * fs/xfs.c (grub_xfs_read_file): Likewise.
20444
20445 * command/blocklist.c (read_blocklist): Likewise.
20446 (print_blocklist): Likewise.
20447
0a203f83 204482007-08-02 Marco Gerards <marco@gnu.org>
20449
20450 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
20451 `util/hostfs.c'.
20452
20453 * disk/host.c: New file.
20454
20455 * util/hostfs.c: Likewise.
20456
20457 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
20458 return `GRUB_ERR_BAD_FS'.
20459 * fs/sfs.c (grub_sfs_mount): Likewise.
20460 * fs/xfs.c (grub_xfs_mount): Likewise.
20461
20462 * include/grub/disk.h (enum grub_disk_dev_id): Add
20463 `GRUB_DISK_DEVICE_HOST_ID'.
20464
20465 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
20466
e5dfe777 204672007-07-24 Jerone Young <jerone@gmail.com>
20468
f19dbdb7 20469 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 20470 modules for compilation.
20471 * conf/powerpc-ieee1275.rmk: Likewise.
20472
20473 * include/multiboot.h: Move multiboot definitions to one file. Rename
20474 many definitions to not get grub specific.
20475 * include/multiboot2.h: Create header with multiboot 2 definitions.
20476 * include/grub/multiboot.h: Header for grub specific function
20477 prototypes and definitions.
20478 * include/grub/multiboot2.h: Likewise.
20479 * include/grub/multiboot_loader.h: Likewise.
20480 * include/grub/i386/pc/multiboot.h: Removed.
20481 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
20482
20483 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
20484 and 2 to allow for one multiboot and module commands.
20485 * loader/multiboot2.c: Add multiboot2 functionality.
20486 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
20487 and definition names.
20488 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
20489 2 functions.
20490 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
20491 ieee1275 specific multiboot2 code.
20492
20493 * kern/i386/pc/startup.S: Change headers and definition names for
20494 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
20495
daf0f0ba 204962007-07-22 Robert Millan <rmh@aybabtu.com>
20497
20498 * geninitheader.sh: Process file specified in first parameter rather
20499 than hardcoding grub_modules_init.lst.
fe6b695a 20500 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 20501 than hardcoding grub_modules_init.h.
20502
20503 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
20504 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
20505 grub_probe_init.[ch] and grub_setup_init.[ch].
20506
20507 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
20508 grub_modules_init.h with grub_emu_init.h.
20509 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
20510 grub_probe_init.[ch] files.
20511 * conf/i386-efi.rmk: Likewise.
20512 * conf/i386-pc.rmk: Likewise.
20513 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
20514 grub_setup_init.[ch] files.
20515
20516 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
20517 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
20518 to initialize modules rather than a list of hardcoded functions.
20519 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
20520 grub_init_all() to initialize modules rather than a list of hardcoded
20521 functions.
20522
54cdc1cc 205232007-07-22 Robert Millan <rmh@aybabtu.com>
20524
20525 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
20526 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
20527
ad0686cc 205282007-07-22 Robert Millan <rmh@aybabtu.com>
20529
20530 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
20531 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
20532 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
20533 flag when running on SmartFirmware.
20534 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
20535 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
20536 was set.
20537
20538 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
20539 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
20540 rather than decreasing it.
20541
20542 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
20543 there's not enough space to do it, fail in the same way as when it
20544 can't be done because there are no partitions.
20545
20546 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
20547 when nvsetenv failed.
20548
969c02ec 205492007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
20550
20551 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
20552 because this rule is automatically generated.
20553 (grub-mkrescue): Removed for the same reason as above.
20554
5a79f472 205552007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
20556
20557 Migrate to GNU General Public License Version 3.
f19dbdb7 20558
5a79f472 20559 * COPYING: Replaced with the plain text version of GPLv3.
20560
20561 * config.guess: Updated from gnulib.
20562 * config.sub: Likewise.
20563
20564 * geninit.sh: Output a GPLv3 copyright notice.
20565 * geninitheader.sh: Likewise.
20566 * genmodsrc.sh: Likewise.
20567 * gensymlist.sh.in: Likewise.
20568
20569 * boot/i386/pc/boot.S: Upgraded to GPLv3.
20570 * boot/i386/pc/diskboot.S: Likewise.
20571 * boot/i386/pc/pxeboot.S: Likewise.
20572 * commands/blocklist.c: Likewise.
20573 * commands/boot.c: Likewise.
20574 * commands/cat.c: Likewise.
20575 * commands/cmp.c: Likewise.
20576 * commands/configfile.c: Likewise.
20577 * commands/echo.c: Likewise.
20578 * commands/help.c: Likewise.
20579 * commands/ls.c: Likewise.
20580 * commands/search.c: Likewise.
20581 * commands/terminal.c: Likewise.
20582 * commands/test.c: Likewise.
20583 * commands/videotest.c: Likewise.
20584 * commands/i386/cpuid.c: Likewise.
20585 * commands/i386/pc/halt.c: Likewise.
20586 * commands/i386/pc/play.c: Likewise.
20587 * commands/i386/pc/reboot.c: Likewise.
20588 * commands/i386/pc/vbeinfo.c: Likewise.
20589 * commands/i386/pc/vbetest.c: Likewise.
20590 * commands/ieee1275/halt.c: Likewise.
20591 * commands/ieee1275/reboot.c: Likewise.
20592 * commands/ieee1275/suspend.c: Likewise.
20593 * disk/loopback.c: Likewise.
20594 * disk/lvm.c: Likewise.
20595 * disk/raid.c: Likewise.
20596 * disk/efi/efidisk.c: Likewise.
20597 * disk/i386/pc/biosdisk.c: Likewise.
20598 * disk/ieee1275/ofdisk.c: Likewise.
20599 * font/manager.c: Likewise.
20600 * fs/affs.c: Likewise.
20601 * fs/ext2.c: Likewise.
20602 * fs/fat.c: Likewise.
20603 * fs/fshelp.c: Likewise.
20604 * fs/hfs.c: Likewise.
20605 * fs/hfsplus.c: Likewise.
20606 * fs/iso9660.c: Likewise.
20607 * fs/jfs.c: Likewise.
20608 * fs/minix.c: Likewise.
20609 * fs/sfs.c: Likewise.
20610 * fs/ufs.c: Likewise.
20611 * fs/xfs.c: Likewise.
20612 * hello/hello.c: Likewise.
20613 * include/grub/acorn_filecore.h: Likewise.
20614 * include/grub/arg.h: Likewise.
20615 * include/grub/bitmap.h: Likewise.
20616 * include/grub/boot.h: Likewise.
20617 * include/grub/cache.h: Likewise.
20618 * include/grub/device.h: Likewise.
20619 * include/grub/disk.h: Likewise.
20620 * include/grub/dl.h: Likewise.
20621 * include/grub/elfload.h: Likewise.
20622 * include/grub/env.h: Likewise.
20623 * include/grub/err.h: Likewise.
20624 * include/grub/file.h: Likewise.
20625 * include/grub/font.h: Likewise.
20626 * include/grub/fs.h: Likewise.
20627 * include/grub/fshelp.h: Likewise.
20628 * include/grub/gzio.h: Likewise.
20629 * include/grub/hfs.h: Likewise.
20630 * include/grub/kernel.h: Likewise.
20631 * include/grub/loader.h: Likewise.
20632 * include/grub/lvm.h: Likewise.
20633 * include/grub/misc.h: Likewise.
20634 * include/grub/mm.h: Likewise.
20635 * include/grub/net.h: Likewise.
20636 * include/grub/normal.h: Likewise.
20637 * include/grub/parser.h: Likewise.
20638 * include/grub/partition.h: Likewise.
20639 * include/grub/pc_partition.h: Likewise.
20640 * include/grub/raid.h: Likewise.
20641 * include/grub/rescue.h: Likewise.
20642 * include/grub/script.h: Likewise.
20643 * include/grub/setjmp.h: Likewise.
20644 * include/grub/symbol.h: Likewise.
20645 * include/grub/term.h: Likewise.
20646 * include/grub/terminfo.h: Likewise.
20647 * include/grub/tparm.h: Likewise.
20648 * include/grub/types.h: Likewise.
20649 * include/grub/video.h: Likewise.
20650 * include/grub/efi/api.h: Likewise.
20651 * include/grub/efi/chainloader.h: Likewise.
20652 * include/grub/efi/console.h: Likewise.
20653 * include/grub/efi/console_control.h: Likewise.
20654 * include/grub/efi/disk.h: Likewise.
20655 * include/grub/efi/efi.h: Likewise.
20656 * include/grub/efi/pe32.h: Likewise.
20657 * include/grub/efi/time.h: Likewise.
20658 * include/grub/i386/linux.h: Likewise.
20659 * include/grub/i386/setjmp.h: Likewise.
20660 * include/grub/i386/types.h: Likewise.
20661 * include/grub/i386/efi/kernel.h: Likewise.
20662 * include/grub/i386/efi/loader.h: Likewise.
20663 * include/grub/i386/efi/time.h: Likewise.
20664 * include/grub/i386/pc/biosdisk.h: Likewise.
20665 * include/grub/i386/pc/boot.h: Likewise.
20666 * include/grub/i386/pc/chainloader.h: Likewise.
20667 * include/grub/i386/pc/console.h: Likewise.
20668 * include/grub/i386/pc/init.h: Likewise.
20669 * include/grub/i386/pc/kernel.h: Likewise.
20670 * include/grub/i386/pc/loader.h: Likewise.
20671 * include/grub/i386/pc/memory.h: Likewise.
20672 * include/grub/i386/pc/multiboot.h: Likewise.
20673 * include/grub/i386/pc/serial.h: Likewise.
20674 * include/grub/i386/pc/time.h: Likewise.
20675 * include/grub/i386/pc/vbe.h: Likewise.
20676 * include/grub/i386/pc/vbeblit.h: Likewise.
20677 * include/grub/i386/pc/vbefill.h: Likewise.
20678 * include/grub/i386/pc/vbeutil.h: Likewise.
20679 * include/grub/i386/pc/vga.h: Likewise.
20680 * include/grub/ieee1275/ieee1275.h: Likewise.
20681 * include/grub/ieee1275/ofdisk.h: Likewise.
20682 * include/grub/powerpc/libgcc.h: Likewise.
20683 * include/grub/powerpc/setjmp.h: Likewise.
20684 * include/grub/powerpc/types.h: Likewise.
20685 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
20686 * include/grub/powerpc/ieee1275/console.h: Likewise.
20687 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
20688 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
20689 * include/grub/powerpc/ieee1275/loader.h: Likewise.
20690 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
20691 * include/grub/powerpc/ieee1275/time.h: Likewise.
20692 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
20693 * include/grub/sparc64/libgcc.h: Likewise.
20694 * include/grub/sparc64/setjmp.h: Likewise.
20695 * include/grub/sparc64/types.h: Likewise.
20696 * include/grub/sparc64/ieee1275/console.h: Likewise.
20697 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
20698 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
20699 * include/grub/sparc64/ieee1275/time.h: Likewise.
20700 * include/grub/util/biosdisk.h: Likewise.
20701 * include/grub/util/getroot.h: Likewise.
20702 * include/grub/util/lvm.h: Likewise.
20703 * include/grub/util/misc.h: Likewise.
20704 * include/grub/util/raid.h: Likewise.
20705 * include/grub/util/resolve.h: Likewise.
20706 * io/gzio.c: Likewise.
20707 * kern/device.c: Likewise.
20708 * kern/disk.c: Likewise.
20709 * kern/dl.c: Likewise.
20710 * kern/elf.c: Likewise.
20711 * kern/env.c: Likewise.
20712 * kern/err.c: Likewise.
20713 * kern/file.c: Likewise.
20714 * kern/fs.c: Likewise.
20715 * kern/loader.c: Likewise.
20716 * kern/main.c: Likewise.
20717 * kern/misc.c: Likewise.
20718 * kern/mm.c: Likewise.
20719 * kern/parser.c: Likewise.
20720 * kern/partition.c: Likewise.
20721 * kern/rescue.c: Likewise.
20722 * kern/term.c: Likewise.
20723 * kern/efi/efi.c: Likewise.
20724 * kern/efi/init.c: Likewise.
20725 * kern/efi/mm.c: Likewise.
20726 * kern/i386/dl.c: Likewise.
20727 * kern/i386/efi/init.c: Likewise.
20728 * kern/i386/efi/startup.S: Likewise.
20729 * kern/i386/pc/init.c: Likewise.
20730 * kern/i386/pc/lzo1x.S: Likewise.
20731 * kern/i386/pc/startup.S: Likewise.
20732 * kern/ieee1275/ieee1275.c: Likewise.
20733 * kern/powerpc/cache.S: Likewise.
20734 * kern/powerpc/dl.c: Likewise.
20735 * kern/powerpc/ieee1275/cmain.c: Likewise.
20736 * kern/powerpc/ieee1275/crt0.S: Likewise.
20737 * kern/powerpc/ieee1275/init.c: Likewise.
20738 * kern/powerpc/ieee1275/openfw.c: Likewise.
20739 * kern/sparc64/cache.S: Likewise.
20740 * kern/sparc64/dl.c: Likewise.
20741 * kern/sparc64/ieee1275/init.c: Likewise.
20742 * kern/sparc64/ieee1275/openfw.c: Likewise.
20743 * loader/efi/chainloader.c: Likewise.
20744 * loader/efi/chainloader_normal.c: Likewise.
20745 * loader/i386/efi/linux.c: Likewise.
20746 * loader/i386/efi/linux_normal.c: Likewise.
20747 * loader/i386/pc/chainloader.c: Likewise.
20748 * loader/i386/pc/chainloader_normal.c: Likewise.
20749 * loader/i386/pc/linux.c: Likewise.
20750 * loader/i386/pc/linux_normal.c: Likewise.
20751 * loader/i386/pc/multiboot.c: Likewise.
20752 * loader/i386/pc/multiboot_normal.c: Likewise.
20753 * loader/powerpc/ieee1275/linux.c: Likewise.
20754 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
20755 * normal/arg.c: Likewise.
20756 * normal/cmdline.c: Likewise.
20757 * normal/command.c: Likewise.
20758 * normal/completion.c: Likewise.
20759 * normal/execute.c: Likewise.
20760 * normal/function.c: Likewise.
20761 * normal/lexer.c: Likewise.
20762 * normal/main.c: Likewise.
20763 * normal/menu.c: Likewise.
20764 * normal/menu_entry.c: Likewise.
20765 * normal/misc.c: Likewise.
20766 * normal/parser.y: Likewise.
20767 * normal/script.c: Likewise.
20768 * normal/i386/setjmp.S: Likewise.
20769 * normal/powerpc/setjmp.S: Likewise.
20770 * normal/sparc64/setjmp.S: Likewise.
20771 * partmap/acorn.c: Likewise.
20772 * partmap/amiga.c: Likewise.
20773 * partmap/apple.c: Likewise.
20774 * partmap/gpt.c: Likewise.
20775 * partmap/pc.c: Likewise.
20776 * partmap/sun.c: Likewise.
20777 * term/gfxterm.c: Likewise.
20778 * term/terminfo.c: Likewise.
20779 * term/efi/console.c: Likewise.
20780 * term/i386/pc/console.c: Likewise.
20781 * term/i386/pc/serial.c: Likewise.
20782 * term/i386/pc/vesafb.c: Likewise.
20783 * term/i386/pc/vga.c: Likewise.
20784 * term/ieee1275/ofconsole.c: Likewise.
20785 * util/biosdisk.c: Likewise.
20786 * util/console.c: Likewise.
20787 * util/genmoddep.c: Likewise.
20788 * util/getroot.c: Likewise.
20789 * util/grub-emu.c: Likewise.
20790 * util/grub-mkdevicemap.c: Likewise.
20791 * util/grub-probe.c: Likewise.
20792 * util/lvm.c: Likewise.
20793 * util/misc.c: Likewise.
20794 * util/raid.c: Likewise.
20795 * util/resolve.c: Likewise.
20796 * util/update-grub.in: Likewise.
20797 * util/update-grub_lib.in: Likewise.
20798 * util/grub.d/00_header.in: Likewise.
20799 * util/grub.d/10_hurd.in: Likewise.
20800 * util/grub.d/10_linux.in: Likewise.
20801 * util/i386/efi/grub-install.in: Likewise.
20802 * util/i386/efi/grub-mkimage.c: Likewise.
20803 * util/i386/pc/grub-install.in: Likewise.
20804 * util/i386/pc/grub-mkimage.c: Likewise.
20805 * util/i386/pc/grub-mkrescue.in: Likewise.
20806 * util/i386/pc/grub-setup.c: Likewise.
20807 * util/i386/pc/misc.c: Likewise.
20808 * util/powerpc/ieee1275/grub-install.in: Likewise.
20809 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
20810 * util/powerpc/ieee1275/misc.c: Likewise.
20811 * video/bitmap.c: Likewise.
20812 * video/video.c: Likewise.
20813 * video/i386/pc/vbe.c: Likewise.
20814 * video/i386/pc/vbeblit.c: Likewise.
20815 * video/i386/pc/vbefill.c: Likewise.
20816 * video/i386/pc/vbeutil.c: Likewise.
20817 * video/readers/tga.c: Likewise.
20818
3572d015 208192007-07-02 Robert Millan <rmh@aybabtu.com>
20820
20821 * conf/i386-efi.rmk: Replace obsolete reference to
20822 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
20823 with util/getroot.c.
20824 * conf/powerpc-ieee1275.rmk: Likewise.
20825 * conf/sparc64-ieee1275.rmk: Likewise.
20826
20827 * util/grub-emu.c (main): Fix unchecked pointer handling.
20828
2c2a681b 208292007-07-02 Robert Millan <rmh@aybabtu.com>
20830
20831 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
20832 invocation to fail, in order to support partition-less media.
20833
20834 * util/i386/pc/grub-install.in: Likewise.
20835
20836 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
20837 which fs or partmap modules are needed (akin to its sister scripts).
20838
20839 Also use grub-probe to get rid of unportable /proc/mounts check.
20840
20841 Print the same informational message that the other scripts do, before
fe6b695a 20842 exiting.
2c2a681b 20843
6193defe 208442007-06-23 Robert Millan <rmh@aybabtu.com>
20845
fe6b695a 20846 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 20847 a font file can be found and, if so, echo the GRUB path to it.
20848
20849 * util/update-grub.in: Handle multiple terminals depending on user
20850 input, platform availability and font file presence. Propagate
20851 variables of our findings to /etc/grub.d/ children.
20852
20853 * util/grub.d/00_header.in: Handle multiple terminals, based on
20854 environment setup by update-grub.
20855
eface1dc 208562007-06-23 Robert Millan <rmh@aybabtu.com>
20857
ba50d28f 20858 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 20859
bf697e28 208602007-06-21 Robert Millan <rmh@aybabtu.com>
20861
20862 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
20863 indicate end of data section in kernel image.
20864 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
20865 GRUB_KERNEL_MACHINE_DATA_END.
20866
20867 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
20868 space for it.
20869 * kern/i386/efi/startup.S: Likewise.
20870
20871 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
20872 during image generation. Implement --prefix option to override this
20873 patch.
20874 * util/i386/efi/grub-mkimage.c: Likewise.
20875
20876 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
20877 code to make path relative to its root into a separate function.
20878
20879 * util/i386/pc/grub-install.in: Use newly provided
20880 make_system_path_relative_to_its_root() to convert ${grubdir}, then
20881 pass the result to grub-install --prefix.
20882
baa574b4 208832007-06-13 Robert Millan <rmh@aybabtu.com>
20884
20885 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
20886 DEFAULT_DEVICE_MAP.
20887 * util/grub-emu.c: Use above definitions from misc.h instead of
20888 defining them.
20889 * util/grub-mkdevicemap.c: Likewise.
20890 * util/i386/pc/grub-setup.c: Likewise.
20891 * util/grub-probe.c: Likewise.
20892 (probe): Abort with grub_util_error() when either
20893 grub_guess_root_device or grub_util_get_grub_dev fails.
20894
0215dcbf 208952007-06-12 Robert Millan <rmh@aybabtu.com>
20896
20897 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
20898 "pager" assignment.
20899 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
20900 "pcdata".
20901 * util/grub-probe.c (probe): Likewise for "drive_name".
20902
8af2ab7b 209032007-06-11 Robert Millan <rmh@aybabtu.com>
20904
20905 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
20906 not just the cdrom one.
20907
59d31694 209082007-06-11 Robert Millan <rmh@aybabtu.com>
20909
20910 * util/i386/pc/grub-mkrescue.in: Add "set -e".
20911 Add --pkglibdir=DIR option to override pkglibdir.
20912 Mention --image-type=TYPE in help output.
20913 Fix --grub-mkimage (it was a no-op).
fe6b695a 20914 Abort gracefully when no parameter is given.
59d31694 20915
7ee367e4 209162007-06-11 Robert Millan <rmh@aybabtu.com>
20917
20918 * util/i386/pc/grub-mkrescue.in: New file.
20919 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
20920 * Makefile.in: Handle bin_SCRIPTS.
20921
29b0ed46 209222007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
20923
20924 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
20925 list of video modes.
20926
c0f90770 209272007-06-06 Robert Millan <rmh@aybabtu.com>
20928
20929 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
20930 file doesn't exist, or if it is in a filesystem grub can't read.
20931
20932 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
20933 not abort if GRUB_DRIVE could not be defined. Rearrange generated
20934 header comment to fit in 80 columns when the variables are resolved.
20935
20936 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
20937 could be identified by update-grub. Remove redundant check for
fe6b695a 20938 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 20939 handles that).
20940
fb36dc26 209412007-06-04 Robert Millan <rmh@aybabtu.com>
20942
20943 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
20944
20945 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
20946
20947 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
20948
0c68c93e 209492007-06-04 Robert Millan <rmh@aybabtu.com>
20950
20951 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
20952
20953 * include/grub/partition.h: Declare grub_apple_partition_map_init and
20954 grub_apple_partition_map_fini.
20955
20956 * util/biosdisk.c
20957 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
20958 to access >2 TiB disks).
20959
20960 Print disk->total_sectors with %llu instead of %lu, since this
20961 variable is always 64-bit (prevents wrong disk size from being displayed
20962 on either >2 TiB disk or big-endian CPU).
20963
20964 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
20965 into a generic case that supports all (sane) partition maps.
20966
20967 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
20968 breaks big-endian.
20969
20970 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
20971 and grub_apple_partition_map_fini() after that.
20972
0f23eb74 209732007-06-01 Robert Millan <rmh@aybabtu.com>
20974
20975 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
20976
20977 * util/grub.d/00_header.in: Only enable gfxterm when
20978 convert_system_path_to_grub_path() succeeds.
20979
42c71976 209802007-05-20 Robert Millan <rmh@aybabtu.com>
20981
20982 * util/update-grub_lib.in: New file.
20983 * DISTLIST: Add update-grub_lib.in.
20984 * conf/common.rmk: Generate update-grub_lib and install it in
20985 $(lib_DATA).
20986 * Makefile.in: Add install routine for $(lib_DATA).
20987
20988 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
20989 function provided by update-grub_lib to support arbitrary paths of
20990 unifont.pff.
20991 * util/update-grub.in: Use convert_system_path_to_grub_path() to
20992 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
20993
5beb2291 209942007-05-19 Robert Millan <rmh@aybabtu.com>
20995
20996 * commands/i386/cpuid.c: New module.
20997 * DISTLIST: Add it.
20998 * conf/i386-efi.rmk: Enable cpuid.mod.
20999 * conf/i386-pc.rmk: Likewise.
21000
7262eca1 210012007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
21002
21003 * kern/disk.c (grub_disk_read): Check return value of
21004 grub_realloc().
21005
260ba823 210062007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
21007
21008 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
21009 arrays.
21010 * disk/raid.c (grub_raid_open): Likewise.
21011
1ecb6cf2 210122007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
21013
21014 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
21015 stack instead of on the heap.
21016
21017 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
21018 before doing a read on it.
21019
21020 * configure.ac: Only use -fno-stack-protector for the target
21021 environment.
f19dbdb7 21022
21c8cbb1 210232007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
21024
21025 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
21026 __attribute_ ((unused)) to mode_type argument.
21027
21028 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 21029
21c8cbb1 21030 * kern/misc.c (memcmp): Fix prototype.
21031
21032 * include/grub/partition.h [GRUB_UTIL]
21033 (grub_gpt_partition_map_init): Add prototype.
21034 (grub_gpt_partition_map_fini): Likewise.
21035
21036 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
21037 at the right place.
21038
21039 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
21040 (grub_fat_read_data): Likewise.
21041 (grub_fat_find_dir): Likewise.
21042
21043 * font/manager.c (find_glyph): Make table a const.
21044 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 21045
849d55d3 210462007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
21047
21048 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
21049 code, first search for device in /dev/mapper, then in /dev.
21050 (grub_util_get_grub_dev): New function.
21051 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
21052 prototype.
21053 * util/grub-probe.c (probe): Remove check for RAID, call
21054 grub_util_get_grub_dev() instead of
21055 grub_util_biosdisk_get_grub_dev().
21056 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
21057 grub_util_biosdisk_get_grub_dev().
21058 * util/i386/pc/grub-setup.c (main): Likewise.
21059
8fff7c2f 210602007-05-16 Robert Millan <rmh@aybabtu.com>
21061
21062 * DISTLIST: Update for the latest changes.
21063 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
21064 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
21065 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
21066 grub/util/biosdisk.h.
21067 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
21068 grub/util/biosdisk.h.
21069
48e12b52 210702007-05-16 Robert Millan <rmh@aybabtu.com>
21071
21072 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
21073
46b9d128 210742007-05-16 Robert Millan <rmh@aybabtu.com>
21075
21076 * util/i386/efi/grub-install.in: New.
21077 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
21078 newly added grub-install.
21079 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
21080 include.
21081 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
21082 grub/util/biosdisk.h.
21083 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
21084 grub/util/biosdisk.h.
21085
2d1a40a9 210862007-05-16 Robert Millan <rmh@aybabtu.com>
21087
21088 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
21089 * include/grub/util/biosdisk.h: ... here.
21090 * util/i386/pc/biosdisk.c: Moved to ...
21091 * util/biosdisk.c: ... here.
21092 * util/i386/pc/getroot.c: Moved to ...
21093 * util/getroot.c: ... here.
21094 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
21095 * util/grub-mkdevicemap.c: ... here.
21096 * util/i386/pc/grub-probe.c: Moved to ...
21097 * util/grub-probe.c: ... here.
21098
9e26e3bc 210992007-05-15 Robert Millan <rmh@aybabtu.com>
21100
21101 * util/update-grub.in: Remove duplicated line in grub.cfg header
21102 message.
21103
57f96397 211042007-05-13 Robert Millan <rmh@aybabtu.com>
21105
21106 * util/update-grub.in: Fix a few assumptions about the devices holding
21107 /, /boot and /boot/grub being the same.
21108 * util/grub.d/00_header.in: Likewise.
21109 * util/grub.d/10_hurd.in: Likewise.
21110 * util/grub.d/10_linux.in: Likewise.
21111
21112 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
21113 patterns. Use that to define the `.old' suffix as older than `'.
21114
21115 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
21116
21117 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
21118 the grub.cfg header message.
21119
2e610d62 211202007-05-11 Robert Millan <rmh@aybabtu.com>
21121
21122 * util/update-grub.in: Create device.map if it doesn't already exist,
21123 before attempting to run grub-probe.
21124 Check for grub-probe and grub-mkdevicemap with the same code
21125 grub-install is using.
21126 Remove test mode.
21127
3f6a10ef 211282007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
21129
21130 * Makefile.in: Add the datarootdir autoconf variable.
21131
02e7b75e 211322007-05-09 Robert Millan <rmh@aybabtu.com>
21133
21134 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 21135 fail gracefully if dev->disk->partition == NULL.
02e7b75e 21136
75f396cc 211372007-05-07 Robert Millan <rmh@aybabtu.com>
21138
21139 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
21140 determine partition map module.
21141 * util/i386/pc/grub-install.in: Use this feature to decide which
21142 partition module to load, instead of hardcoding pc and gpt.
21143
da65cb36 211442007-05-07 Robert Millan <rmh@aybabtu.com>
21145
21146 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
21147 source directory differs from build directory.
21148
b57d6a91 211492007-05-05 Robert Millan <rmh@aybabtu.com>
21150
21151 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
21152 initialisation.
21153
509d00f1 211542007-05-05 Robert Millan <rmh@aybabtu.com>
21155
21156 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
21157
c48f23ef 211582007-05-05 Robert Millan <rmh@aybabtu.com>
21159
21160 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
21161 command-line arguments via ${GRUB_CMDLINE_LINUX}.
21162
20b97658 211632007-05-05 Robert Millan <rmh@aybabtu.com>
21164
21165 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
21166 (grub_probe_SOURCES): Likewise.
21167 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
21168 GPT and initialize dos_part and bsd_part accordingly.
21169 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
21170 install_bsd_part.
21171 (main): Activate gpt module for use during partition identification,
21172 and deactivate it afterwards.
21173 * util/i386/pc/grub-install.in: Add gpt module to core.img.
21174 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
21175 partition identification, and deactivate it afterwards.
21176
99123174 211772007-05-05 Robert Millan <rmh@aybabtu.com>
21178
21179 * term/i386/pc/console.c (grub_console_fini): Call
21180 grub_term_set_current() before grub_term_unregister().
21181
ebd97f6e 211822007-05-04 Robert Millan <rmh@aybabtu.com>
21183
21184 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
21185 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
21186 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
21187 and update-grub_DATA.
21188 * conf/common.rmk: Build and install update-grub components.
21189 * conf/common.mk: Regenerate.
21190 * util/update-grub.in: New. Core of update-grub.
21191 * util/grub.d/00_header.in: New. Generates grub.cfg header.
21192 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
21193 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
21194 * util/grub.d/README: New. Document grub.d directory layout.
21195
b06a264d 211962007-05-01 Robert Millan <rmh@aybabtu.com>
21197
21198 * util/grub-emu.c: Move initialization functions
21199 grub_util_biosdisk_init() and grub_init_all() before
21200 grub_util_biosdisk_get_grub_dev(), which relies on them.
21201
41f0050e 212022007-04-19 Robert Millan <rmh@aybabtu.com>
21203
21204 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
21205 it is used later.
21206
04582bb3 212072007-04-18 Jerone Young <jerone@gmail.com>
21208
f19dbdb7 21209 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 21210 stanza.
21211
08db4632 212122007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 21213
08db4632 21214 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
21215 continue on and look for device node with real device name.
21216
801b76be 212172007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 21218
fe6b695a 21219 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 21220 ability.
21221 * Makefile.in: Add autoconf package transformation code.
21222 * util/i386/pc/grub-install.in: Likewise.
21223 * util/powerpc/ieee1275/grub-install.in: Likewise.
21224
6795c4e1 212252007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
21226
21227 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
21228 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
21229 (EXT2_REVISION): Likewise.
21230 (EXT2_INODE_SIZE): Likewise.
21231 (struct grub_ext2_block_group): Added a missing member
21232 "used_dirs".
21233 (grub_ext2_read_inode): Divide by the inode size in a superblock
21234 instead of 128 to obtain INODES_PER_BLOCK.
21235 Use the macro EXT2_INODE_SIZE instead of directly using
21236 SBLOCK->INODE_SIZE.
21237
d70af616 212382007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
21239
21240 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
21241 superblock instead of the structure size to compute an
21242 offset. This fixes the problem that GRUB could not read a
21243 filesystem when inode size is different from 128-byte.
21244
3b801603 212452007-03-05 Marco Gerards <marco@gnu.org>
21246
21247 * normal/main.c (read_config_file): When "menu" is not set, create
21248 an initial context.
21249
4785bfe4 212502007-02-21 Hollis Blanchard <hollis@penguinppc.org>
21251
21252 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
21253 (HEAP_LIMIT): New macro.
21254 (grub_claim_heap): Claim memory up to `heaplimit'.
21255
a0cbb023 212562007-02-21 Hollis Blanchard <hollis@penguinppc.org>
21257
21258 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
21259 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
21260 (_start): Likewise.
21261 (grub_arch_modules_addr): Return address after `_end'.
21262 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
21263 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
21264 (add_segments): Calculate `_end' from phdr size and location.
21265 (ALIGN_UP): Moved to ...
21266 * include/grub/misc.h: here.
21267 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
21268 New macro.
21269 (GRUB_IEEE1275_MODULE_BASE): Removed.
21270
fd7d8eba 212712007-02-20 Hollis Blanchard <hollis@penguinppc.org>
21272
21273 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
21274 loop boundary.
21275
9b09e6fc 212762007-02-20 Hollis Blanchard <hollis@penguinppc.org>
21277
21278 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
21279 All users updated.
21280 (grub_elf64_load_hook_t): Likewise.
21281 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
21282 debug output.
21283
3ce27299 212842007-02-20 Hollis Blanchard <hollis@penguinppc.org>
21285
21286 * kern/mm.c: Update copyright.
21287 (grub_mm_debug): Correct syntax error.
21288 (grub_mm_dump_free): New function.
21289 (grub_debug_free): Call `grub_free'.
21290 * include/grub/mm.h: Update copyright.
21291 (grub_mm_dump_free): Add declaration.
21292
077d5fee 212932007-02-12 Hollis Blanchard <hollis@penguinppc.org>
21294
21295 * include/grub/ieee1275/ieee1275.h: Update copyright.
21296 * kern/powerpc/ieee1275/init.c: Likewise.
21297 * kern/powerpc/ieee1275/openfw.c: Likewise.
21298
21299 * loader/powerpc/ieee1275/linux.c: Likewise.
21300 * include/grub/elfload.h: Likewise.
21301 * kern/elf.c: Likewise.
21302 (grub_elf32_load): Pass `base' and `size' parameters. Update all
21303 callers.
21304 (grub_elf64_load): Likewise.
21305 (grub_elf32_load_segment): Move to a nested function.
21306 (grub_elf64_load_segment): Likewise.
21307
dc946850 213082007-02-12 Hollis Blanchard <hollis@penguinppc.org>
21309
21310 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
21311 prototype.
21312 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
21313 (grub_heap_len): Likewise.
21314 (HEAP_SIZE): New macro.
21315 (grub_claim_heap): New function.
21316 (grub_machine_init): Don't claim heap directly. Call
21317 `grub_claim_heap'.
21318 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
21319 (grub_available_iterate): New function.
21320
baa2a121 213212007-02-03 Thomas Schwinge <tschwinge@gnu.org>
21322
21323 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
21324 * configure.ac: Use it for testing the HOST and TARGET compilers.
21325
4fe9862e 213262006-12-13 Thomas Schwinge <tschwinge@gnu.org>
21327
21328 * Makefile.in (enable_grub_emu): New variable.
21329 * configure.ac (--enable-grub-emu): New option.
21330 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
21331 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
21332 * conf/i386-pc.rmk: Likewise.
21333 * conf/powerpc-ieee1275.rmk: Likewise.
21334 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
21335
a8aa5762 213362006-12-12 Marco Gerards <marco@gnu.org>
21337
21338 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
21339
21340 * kern/env.c (grub_env_unset): Don't free the member `value' when
21341 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
21342 pointer.
21343
21344 * normal/main.c (current_menu): Removed.
21345 (free_menu): Unset the `menu' environment variable.
21346 (grub_normal_menu_addentry): Make use of the environment variable
21347 `menu', instead of using the global `current_menu'. Allocate
21348 memory for the sourcecode of this entry.
21349 (read_config_file): New argument `nested', changed all callers.
21350 Only in the case of a new context, initialize a new menu. Set the
21351 `menu' environment variable.
21352 (grub_normal_execute): Don't set and unset the environment
21353 variable `menu' here anymore. Only free the menu when leaving the
21354 context.
21355
21356 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
21357 leak.
21358
957b3a3e 213592006-12-11 Marco Gerards <marco@gnu.org>
21360
21361 * normal/menu_entry.c (run): Fix off by one bug so the last line
21362 is executed. Move the loader check to outside the loop.
21363
ef875714 213642006-12-08 Hollis Blanchard <hollis@penguinppc.org>
21365
21366 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
21367
4e739985 213682006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
21369
21370 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
21371 the number of sectors. Reported by Andrey Shuvikov
21372 <mr_hyro@yahoo.com>.
f19dbdb7 21373
790707f2 213742006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
21375
21376 * kern/disk.c (grub_disk_read): When there is a read error, always
21377 try to read only the necessary data.
f19dbdb7 21378
790707f2 21379 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
21380 disk/raid.c.
21381 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
21382 prototype.
21383 [GRUB_UTIL] (grub_raid_fini): Likewise.
21384 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 21385 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 21386 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
21387 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
21388 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
21389 and grub_raid_fini().
f19dbdb7 21390
03e58196 213912006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
21392
21393 * include/grub/types.h (__unused): Rename to UNUSED.
21394 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
21395 (grub_elf64_size): Likewise.
f19dbdb7 21396
ae4f23bf 213972006-11-03 Hollis Blanchard <hollis@penguinppc.org>
21398
21399 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
21400 grub_error_push and grub_error_pop in the error-handling path.
21401 (grub_elf32_load_segment): Only call grub_file_read with non-zero
21402 length.
21403
2166cc83 214042006-11-03 Hollis Blanchard <hollis@penguinppc.org>
21405
21406 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
21407 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21408 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21409 (kernel_elf_SOURCES): Likewise.
21410 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
21411 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
21412 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
21413 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
21414 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
21415 (elf_mod_SOURCES): New variable.
21416 (elf_mod_CFLAGS): Likewise.
21417 (elf_mod_LDFLAGS): Likewise.
21418 * include/grub/types.h (__unused): New macro.
21419 * include/grub/elfload.h: New file.
21420 * kern/elf.c: Likewise.
21421 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
21422 (ELF32_LOADMASK): New macro.
21423 (ELF64_LOADMASK): Likewise.
21424 (vmlinux): Removed.
21425 (grub_linux_load32): New function.
21426 (grub_linux_load64): Likewise.
21427 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
21428 Use grub_elf_t instead of grub_file_t.
21429
a09d5aa5 214302006-11-02 Hollis Blanchard <hollis@penguinppc.org>
21431
21432 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
21433 `catch_result' to struct set_color_args.
21434
d976fc51 214352006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
21436
21437 * normal/menu.c: Include grub/script.h.
21438 * normal/menu_entry.c: Likewise.
21439 * include/grub/normal.h: Do not include grub/script.h.
21440
67507549 214412006-10-27 Hollis Blanchard <hollis@penguinppc.org>
21442
21443 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
21444
69203a99 214452006-10-27 Hollis Blanchard <hollis@penguinppc.org>
21446
21447 * kern/disk.c (grub_disk_open): Print debug messages when opening a
21448 disk.
21449 (grub_disk_close): Print debug messages when closing a disk.
21450 (grub_disk_read): Print debug messages when disk read fails.
21451 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
21452 filesystem type.
21453 * kern/partition.c: Include misc.h.
21454 (grub_partition_iterate): Print debug messages when detecting
21455 partition type.
21456
e2b8278c 214572006-10-27 Hollis Blanchard <hollis@penguinppc.org>
21458
21459 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
21460 is negative.
21461 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
21462
97b2f2ff 214632006-10-26 Hollis Blanchard <hollis@penguinppc.org>
21464
21465 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
21466 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
21467
6555d655 214682006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
21469
21470 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
21471 instead of sizeof(lv). Patch by Michael Guntsche.
21472
4d42b77f 214732006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
21474
21475 * disk/lvm.c: Rename VGS to VG_LIST.
21476 (grub_lvm_iterate): Change VGS->LV to VG-LV.
21477 (grub_lvm_open): Likewise.
21478 Thanks to Michael Guntsche for finding this bug.
21479
5d74d927 214802006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
21481
21482 * configure.ac (AC_INIT): Bumped to 1.95.
21483
a1bb27e4 214842006-10-14 Robert Millan <rmh@aybabtu.com>
21485
21486 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
21487 with "/dev/.static/dev/md".
21488
e0994b8b 214892006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
21490
21491 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
21492 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
21493 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
21494 DRIVE_NAME are always freed.
21495
21496 * util/i386/pc/biosdisk.c (make_device_name): Add one into
21497 DOS_PART, as a DOS partition is counted from one instead of zero
21498 now. Reported by Robert Millan.
21499
ddd5cee9 215002006-10-14 Robert Millan <rmh@aybabtu.com>
21501
21502 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
21503 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
21504 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
21505 string returned by grub_guess_root_device.
21506 * util/i386/pc/grub-setup.c: Likewise.
21507 * util/i386/pc/grub-probefs.c: Likewise.
21508
21509 * util/i386/pc/grub-probefs.c: Rename to ...
21510 * util/i386/pc/grub-probe.c: ... this.
21511 * DISTLIST: Remove grub-probefs, add grub-probe.
21512 * conf/i386-efi.rmk: Likewise.
21513 * conf/i386-pc.rmk: Likewise.
21514 * util/i386/pc/grub-install.in: Likewise.
21515
21516 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
21517 choose which information we want to print.
21518
2b002173 215192006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
21520
21521 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
21522 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
21523 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
21524 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
21525 video/readers/tga.c and video/i386/pc/vbeutil.c.
21526
215272006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
21528
21529 Added support for RAID and LVM.
f19dbdb7 21530
2b002173 21531 * disk/lvm.c: New file.
21532 * disk/raid.c: Likewise.
21533 * include/grub/lvm.h: Likewise.
f19dbdb7 21534 * include/grub/raid.h: Likewise.
2b002173 21535 * include/grub/util/lvm.h: Likewise.
21536 * include/grub/util/raid.h: Likewise.
21537 * util/lvm.c: Likewise.
21538 * util/raid.c: Likewise.
21539
21540 * include/grub/disk.h (grub_disk_dev_id): Add
21541 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
21542 (grub_disk_get_size): New prototype.
21543 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
21544 returns a partition.
21545 (grub_disk_get_size): New function.
f19dbdb7 21546
2b002173 21547 * kern/i386/pc/init.c (make_install_device): Copy the prefix
21548 verbatim if grub_install_dos_part is -2.
21549
21550 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
21551 and LVM devices.
21552
21553 * util/i386/pc/grub-setup.c (setup): New argument
21554 MUST_EMBED. Force embedding of GRUB when the argument is
21555 true. Close FILE before returning.
21556 (main): Add support for RAID and LVM.
f19dbdb7 21557
2b002173 21558 * conf/common.rmk: Add RAID and LVM modules.
21559 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
21560 util/lvm.c.
21561 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
21562
21563 * kern/misc.c (grub_strstr): New function.
21564 * include/grub/misc.h (grub_strstr): New prototype.
21565
050548d0 215662006-10-10 Tristan Gingold <tristan.gingold@bull.net>
21567
21568 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
21569
da849d2d 215702006-10-05 Tristan Gingold <tristan.gingold@bull.net>
21571
21572 * kern/misc.c (grub_strtoull): Guess the base only if not
21573 specified.
21574
97b2f2ff 215752006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 21576
21577 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
21578 PowerMac support.
21579
97b2f2ff 215802006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 21581
21582 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
21583
21584 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
21585 Remove `flags' argument. All callers changed.
21586 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
21587 (IEEE1275_IHANDLE_INVALID): New variable.
21588 (IEEE1275_CELL_INVALID): New variable.
21589 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
21590 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
21591 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
21592 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
21593 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
21594 codes from Open Firmware. All callers updated.
21595 (grub_ieee1275_next_property): Directly return Open Firmware return
21596 code.
21597 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
21598 Standardize error checking from `grub_ieee1275_get_property'.
21599 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
21600 `devalias' to `aliases'. Correct comments. Consolidate error paths.
21601
97b2f2ff 216022006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 21603
21604 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
21605 `instance_to_package_args' to `instance_to_path_args'.
21606
21607 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
21608 `grub_ieee1275_chosen'.
21609
21610 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
21611 `grub_ieee1275_interpret'.
21612
97b2f2ff 216132006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 21614
21615 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
21616
97b2f2ff 216172006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 21618
21619 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
21620 (__cmpdi): Likewise.
21621
21622 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
21623 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
21624 `grub_ssize_t'.
21625
02bb8acc 21626 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 21627
21628 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
21629 to type `grub_ssize_t'.
21630 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
21631
7f9a8531 216322006-09-22 Marco Gerards <marco@gnu.org>
21633
21634 * normal/script.c (grub_script_create_cmdmenu): Skip leading
21635 newlines.
21636
b5ef1102 216372006-09-22 Marco Gerards <marco@gnu.org>
21638
21639 * commands/echo.c: New file.
21640
21641 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
21642
21643 * conf/common.rmk (echo_mod_SOURCES): New variable.
21644 (echo_mod_CFLAGS): Likewise.
21645 (echo_mod_LDFLAGS): Likewise.
21646
2cff3677 216472006-09-22 Marco Gerards <marco@gnu.org>
21648
21649 * normal/main.c (get_line): Malloc memory instead of using
21650 preallocated memory. Removed the arguments `cmdline' and
21651 `max_len'. Updated all callers.
21652
6ba4688b 216532006-09-22 Marco Gerards <marco@gnu.org>
21654
21655 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
21656 (normal_mod_DEPENDENCIES): Likewise.
21657
21658 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
21659 (normal_mod_DEPENDENCIES): Likewise.
21660
21661 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
21662
e02ac02c 216632006-09-22 Johan Rydberg <jrydberg@gnu.org>
21664
21665 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
21666 programs.
21667 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
21668 (normal_mod_DEPENDENCIES): Likewise.
21669 * conf/i386-pc.mk: Regenerate.
21670 * conf/i386-efi.mk: Likewise
21671 * conf/common.mk: Likewise.
21672 * conf/powerpc-ieee1275.mk: Likewise.
21673 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 21674
8d252e44 216752006-09-22 Robert Millan <rmh@aybabtu.com>
21676
21677 Sync with i386 version.
21678 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
21679 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
21680
209bf7ac 216812006-09-21 Robert Millan <rmh@aybabtu.com>
21682
21683 Import from GRUB Legacy (lib/device.c):
21684 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
21685 (init_device_map) [__linux__]: Add support for I2O devices.
21686
6b146090 216872006-09-14 Marco Gerards <marco@gnu.org>
21688
21689 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
21690 `-melf_i386'.
21691
e38600a8 216922006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 21693
21694 * util/i386/pc/grub-install.in: Skip menu.lst when removing
21695 /boot/grub/*.lst.
78fa1790 21696
2952da5d 21697 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 21698
2952da5d 21699 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
21700 before adding it to device.map.
21701
01b82a64 217022006-08-15 Johan Rydberg <jrydberg@gnu.org>
21703
fe6b695a 21704 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 21705 compiles a file; using the -MD option.
21706 * conf/common.mk: Regenerate.
21707 * conf/i386-pc.mk: Likewise.
21708 * conf/i386-efi.mk: Likewise.
21709 * conf/powerpc-ieee1275.mk: Likewise.
21710 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 21711
1064790d 217122006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
21713
21714 Move the prototypes of grub_setjmp and grub_longjmp to
21715 cpu/setjmp.h, so that each architecture may specify different
21716 attributes.
f19dbdb7 21717
1064790d 21718 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
21719 (grub_longjmp): Likewise.
21720 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
21721 (grub_longjmp): Likewise.
21722 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
21723 (grub_longjmp): Likewise.
21724
21725 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
21726 [!GRUB_UTIL] (grub_longjmp): Removed.
21727
29dda3ed 217282006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
21729
21730 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
21731 "color!" method does not return any value.
21732
ad2a06ed 217332006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
21734
21735 * include/grub/bitmap.h: New file.
21736
21737 * include/grub/i386/pc/vbeutil.h: Likewise.
21738
21739 * video/bitmap.c: Likewise.
21740
21741 * video/readers/tga.c: Likewise.
21742
21743 * video/i386/pc/vbeutil.c: Likewise.
21744
21745 * commands/videotest.c: Code cleanup and updated to reflect to new
21746 video API.
21747
21748 * term/gfxterm.c: Likewise.
21749
21750 * video/video.c: Likewise.
21751
21752 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
21753 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
21754 (bitmap_mod_SOURCES): New entry.
21755 (bitmap_mod_CFLAGS): Likewise.
21756 (bitmap_mod_LDFLAGS): Likewise.
21757 (tga_mod_SOURCES): Likewise.
21758 (tga_mod_CFLAGS): Likewise.
21759 (tga_mod_LDFLAGS): Likewise.
21760
21761 * include/grub/video.h (grub_video_blit_operators): New enum type.
21762 (grub_video_render_target): Changed as forward declaration and moved
21763 actual definition to be video driver specific.
21764 (grub_video_adapter.blit_bitmap): Added blitting operator.
21765 (grub_video_adapter.blit_render_target): Likewise.
21766 (grub_video_blit_bitmap): Likewise.
21767 (grub_video_blit_render_target): Likewise.
21768
21769 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
21770 driver specific render target definition.
21771 (grub_video_vbe_map_rgba): Added driver internal helper.
21772 (grub_video_vbe_unmap_color): Updated to use
21773 grub_video_i386_vbeblit_info.
21774 (grub_video_vbe_get_video_ptr): Likewise.
21775
21776 * include/grub/i386/pc/vbeblit.h
21777 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
21778 grub_video_i386_vbeblit_info.
21779 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
21780 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
21781 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
21782 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
21783 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
21784 (grub_video_i386_vbeblit_index_index): Likewise.
21785 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
21786 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
21787 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
21788 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
21789 operator.
21790 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
21791 operator.
21792
21793 * video/i386/pc/vbeblit.c: Updated to reflect changes on
21794 include/grub/i386/pc/vbeblit.h.
21795
21796 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
21797 Updated to use grub_video_i386_vbeblit_info.
21798 (grub_video_i386_vbefill_R8G8B8): Likewise.
21799 (grub_video_i386_vbefill_index): Likewise.
21800 (grub_video_i386_vbefill): Added generic filler.
21801
21802 * video/i386/pc/vbefill.c: Updated to reflect changes on
21803 include/grub/i386/pc/vbefill.h.
21804
21805 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
21806 grub_video_i386_vbeblit_info.
21807 (grub_video_vbe_unmap_color): Likewise.
21808 (grub_video_vbe_blit_glyph): Likewise.
21809 (grub_video_vbe_scroll): Likewise.
21810 (grub_video_vbe_draw_pixel): Removed function.
21811 (grub_video_vbe_get_pixel): Likewise.
21812 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
21813 updated code to use it.
21814 (common_blitter): Added common blitter for render target and bitmap.
21815 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
21816 (grub_video_vbe_blit_render_target): Likewise.
21817
bc8c036d 218182006-07-30 Johan Rydberg <jrydberg@gnu.org>
21819
21820 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
21821 is in text mode if there is no console control protocol instance
21822 available.
21823
684a8eff 218242006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
21825
21826 * include/grub/video.h: Code cleanup.
21827
21828 * include/grub/i386/pc/vbe.h: Likewise.
21829
21830 * video/i386/pc/vbe.c: Likewise.
21831
21832 * video/i386/pc/vbeblit.c: Likewise.
21833
21834 * video/i386/pc/vbefill.c: Likewise.
21835
21836 * video/video.c: Likewise. Also added more comments.
21837
5915059b 218382006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
21839
21840 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
21841 (struct grub_biosdisk_dap): Likewise.
21842
21843 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
21844 linkage settings for all functions.
21845
90ce5d56 218462006-07-12 Marco Gerards <marco@gnu.org>
21847
21848 * configure.ac (--enable-mm-debug): Fix typo.
21849
21850 * genkernsyms.sh.in: Use proper quoting for `CC'.
21851
43e7f879 218522006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
21853
21854 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
21855 (normal_mod_ASFLAGS): Remove "-m32".
21856
4889bdec 218572006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
21858
21859 * util/misc.c: Include config.h.
21860 [!HAVE_MEMALIGN]: Do not include malloc.h.
21861 (grub_memalign): Use posix_memalign, if present. Then, use
21862 memalign, if present. Otherwise, emit an error.
21863
21864 * util/grub-emu.c: Do not include malloc.h.
21865
21866 * include/grub/util/misc.h: Include unistd.h. This is required for
21867 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
21868 D. Eades III <hde@foobar-qux.org>.
21869
21870 * configure.ac (AC_GNU_SOURCE): Added.
21871 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
21872 type.
21873
fd39d4da 218742006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
21875
21876 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
21877 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
21878
b786f3b5 218792006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
21880
21881 * include/grub/types.h (grub_host_addr_t): Rename to
21882 grub_target_addr_t.
21883 (grub_host_off_t): Rename to grub_target_off_t.
21884 (grub_host_size_t): Rename to grub_target_size_t.
21885 (grub_host_ssize_t): Rename to grub_target_ssize_t.
21886 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
21887
21888 * include/grub/kernel.h (struct grub_module_header): Change type
21889 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
21890 (grub_module_info): Likewise.
f19dbdb7 21891
051988bb 218922006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
21893
21894 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
21895 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
21896 Velazquez <jesus.velazquez@gmail.com>.
21897
deae281b 218982006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
21899
21900 Count partitions from 1 instead of 0 in the string representation
21901 of partitions. Still use 0-based internally.
f19dbdb7 21902
deae281b 21903 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
21904 (sun_partition_map_iterate): Use grub_partition_t instead of
21905 struct grub_partition *. Cast DESC->START_CYLINDER to
21906 grub_uint64_t after converting the endian.
21907 (sun_partition_map_probe): Subtract 1 for PARTNUM.
21908 (sun_partition_map_get_name): Add 1 to P->INDEX.
21909
21910 * partmap/pc.c (grub_partition_parse): Subtract 1 for
21911 PCDATA->DOS_PART.
21912 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
21913
21914 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
21915 zero instead of one.
21916 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
21917 (gpt_partition_map_get_name): Add 1 into P->INDEX.
21918
21919 * partmap/apple.c (apple_partition_map_iterate): Change the type
21920 of POS to unsigned.
21921 (apple_partition_map_probe): Subtract 1 for PARTNUM.
21922 (apple_partition_map_get_name): Add 1 into P->INDEX.
21923
21924 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
21925 of POS to unsigned.
21926 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
21927 calculate the offset of a partition.
21928 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
21929 (amiga_partition_map_get_name): Add 1 into P->INDEX.
21930
21931 * partmap/acorn.c (acorn_partition_map_find): Change the type of
21932 SECTOR to grub_disk_addr_t.
21933 (acorn_partition_map_iterate): Likewise.
21934 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
21935 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
21936 top.
21937 (acorn_partition_map_get_name): Add 1 into P->INDEX.
21938
21939 * kern/i386/pc/init.c (make_install_device): Add 1 into
21940 GRUB_INSTALL_DOS_PART.
21941
21942 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
21943 conditional.
21944
524a1e6a 219452006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
21946
21947 Clean up the code to support 64-bit addressing in disks and
21948 files. This change is not enough for filesystems yet.
f19dbdb7 21949
524a1e6a 21950 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
21951 type of "start" to grub_uint64_t.
21952 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
21953 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
21954 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
21955 convert addresses.
21956
21957 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
21958 to grub_disk_addr_t.
21959
21960 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
21961 string.
21962
21963 * partmap/pc.c (pc_partition_map_iterate): Likewise.
21964
21965 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
21966 to char *.
21967
21968 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
21969
21970 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
21971
21972 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
21973
21974 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
21975 to grub_off_t, to detect an error from grub_file_seek.
21976 (grub_multiboot_load_elf32): Likewise.
21977
21978 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
21979 maximum unsigned long value when an overflow is detected.
21980 (grub_strtoull): New function.
21981 (grub_divmod64): Likewise.
21982 (grub_lltoa): use grub_divmod64.
21983
21984 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
21985 grub_disk_addr_t.
21986 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
21987 the pointer to next character. Use grub_strtoull instead of
21988 grub_strtoul.
21989 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
21990 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
21991 respectively.
21992
fe6b695a 21993 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 21994 return value is signed.
21995 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
21996 test if OFFSET is less than zero, as OFFSET is unsigned now.
21997
21998 * kern/disk.c (struct grub_disk_cache): Change the type of
21999 "sector" to grub_disk_addr_t.
22000 (grub_disk_cache_get_index): Change the type of SECTOR to
22001 grub_disk_addr_t. Calculate the hash with SECTOR casted to
22002 unsigned after shifting.
22003 (grub_disk_cache_invalidate): Change the type of SECTOR to
22004 grub_disk_addr_t.
22005 (grub_disk_cache_unlock): Likewise.
22006 (grub_disk_cache_store): Likewise.
22007 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
22008 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
22009 grub_disk_addr_t and grub_uint64_t, respectively.
22010 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
22011 body, as the value of OFFSET is tweaked by
22012 grub_disk_check_range. Change the types of START_SECTOR, LEN and
22013 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
22014 respectively.
22015 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
22016 body, as the value of OFFSET is tweaked by
22017 grub_disk_check_range. Change the types of LEN and N to
22018 grub_size_t.
22019
22020 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
22021 and "saved_offset" to grub_off_t.
22022 (test_header): Cast BUF to char *.
22023 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
22024 to char *.
22025 (grub_gzio_read): Change the types of OFFSET and SIZE to
22026 grub_off_t and grub_size_t, respectively.
22027
22028 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
22029 Removed.
22030 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
22031 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
22032 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
22033 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
22034 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
22035
22036 * include/grub/types.h (grub_off_t): Unconditionally set to
22037 grub_uint64_t.
22038 (grub_disk_addr_t): Changed to grub_uint64_t.
22039
22040 * include/grub/partition.h (struct grub_partition): Change the
22041 types of "start", "len" and "offset" to grub_disk_addr_t,
22042 grub_uint64_t and grub_disk_addr_t, respectively.
22043 (grub_partition_get_start): Return grub_disk_addr_t.
22044 (grub_partition_get_len): Return grub_uint64_t.
22045
22046 * include/grub/misc.h (grub_strtoull): New prototype.
22047 (grub_divmod64): Likewise.
22048
22049 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
22050 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
22051 grub_off_t, respectively.
22052 All callers and references changed.
22053
22054 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
22055 grub_size_t in "read".
22056 All callers and references changed.
22057
22058 * include/grub/file.h (struct grub_file): Change the types of
22059 "offset" and "size" to grub_off_t and grub_off_t,
22060 respectively. Change the type of SECTOR to grub_disk_addr_t in
22061 "read_hook".
22062 (grub_file_read): Change the type of LEN to grub_size_t.
22063 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
22064 grub_off_t.
22065 (grub_file_size): Return grub_off_t.
22066 (grub_file_tell): Likewise.
22067 All callers and references changed.
22068
22069 * include/grub/disk.h (struct grub_disk_dev): Change the types of
22070 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
22071 "write".
22072 (struct grub_disk): Change the type of "total_sectors" to
22073 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 22074 "read_hook".
524a1e6a 22075 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
22076 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
22077 (grub_disk_write): Likewise.
22078 All callers and references changed.
22079
22080 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
22081 char * for grub_strncmp to silence gcc.
22082 (grub_iso9660_mount): Likewise.
22083 (grub_iso9660_mount): Likewise.
22084 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
22085 return statement.
22086 (grub_iso9660_iterate_dir): Likewise.
22087 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
22088
22089 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
22090 LEN to grub_disk_addr_t and grub_size_t, respectively.
22091
22092 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
22093
22094 * fs/jfs.c (grub_jfs_read_file): Likewise.
22095
22096 * fs/minix.c (grub_jfs_read_file): Likewise.
22097
22098 * fs/sfs.c (grub_jfs_read_file): Likewise.
22099
22100 * fs/ufs.c (grub_jfs_read_file): Likewise.
22101
22102 * fs/xfs.c (grub_jfs_read_file): Likewise.
22103
22104 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
22105 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
22106 respectively.
22107
22108 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
22109 BLKNR to -1 instead of returning GRUB_ERRNO.
22110 (grub_ext2_read_file): Change the types of SECTOR and
22111 LEN to grub_disk_addr_t and grub_size_t, respectively.
22112
22113 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
22114 LEN to grub_disk_addr_t and grub_size_t, respectively.
22115
22116 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
22117 grub_file_read.
22118
22119 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
22120 string. Do not cast SECTOR explicitly.
22121
22122 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
22123 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
22124 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
22125 grub_disk_addr_t and grub_size_t, respectively. If the sector is
22126 over 2TB and LBA mode is not supported, raise an error.
22127 (get_safe_sectors): New function.
22128 (grub_biosdisk_read): Use get_safe_sectors.
22129 (grub_biosdisk_write): Likewise.
22130
22131 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
22132 (grub_efidisk_write): Likewise.
22133
22134 * disk/loopback.c (delete_loopback): Cosmetic changes.
22135 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
22136 correctly.
22137 (grub_loopback_open): Likewise.
22138 (grub_loopback_read): Likewise. Also, change the type of POS to
22139 grub_off_t, and fix the usage of grub_memset.
22140
22141 * commands/i386/pc/play.c: Include grub/machine/time.h.
22142
22143 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
22144 print FILE->SIZE.
22145
22146 * commands/configfile.c: Include grub/env.h.
22147
22148 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
22149 GRUB_ERRNO directly instead. Change the type of POS to
22150 grub_off_t. Follow the coding standard.
22151
22152 * commands/blocklist.c: Include grub/partition.h.
22153 (grub_cmd_blocklist): Return an error if the underlying device is
22154 not a disk. Take the starting sector of a partition into account,
22155 if a partition is used.
22156
22157 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
22158 a length field.
22159 (lba_mode): Support 64-bit addresses.
22160 (chs_mode): Likewise.
22161 (copy_buffer): Adapted to the new offsets of a length field and a
22162 segment field.
22163 (blocklist_default_start): Allocate 64-bit space.
22164
22165 * boot/i386/pc/boot.S (force_lba): Removed.
22166 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 22167 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 22168 space.
22169 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
22170 is useless.
22171 (lba_mode): Refactored to support a 64-bit address. More size
22172 optimization.
22173 (setup_sectors): Likewise.
22174
53af98ad 221752006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
22176
22177 * DISTLIST: Added include/grub/i386/linux.h. Removed
22178 include/grub/i386/pc/linux.h
22179
22180 * configure.ac (AC_INIT): Bumped to 1.94.
22181
22182 * config.guess: Updated from gnulib.
22183 * config.sub: Likewise.
22184 * install-sh: Likewise.
22185 * mkinstalldirs: Likewise.
22186
b4c1940a 221872006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
22188
22189 * conf/common.rmk (grub_modules_init.lst): Depended on
22190 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
22191 MODSRCFILES.
22192
22193 * genmk.rb (PModule::rule): Reverted the previous change.
22194
cfca1cfd 221952006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
22196
22197 * conf/common.rmk (grub_modules_init.lst): Depends on
22198 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
22199 that the target does not exist before producing.
22200 (grub_modules_init.h): Remove the target before generating.
22201 (grub_emu_init.c): Likewise.
22202
22203 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
22204
aa6d7826 222052006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
22206
22207 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
22208 for the target-specific tests. Make sure that we also have the
22209 up-to-date target variables for those tests.
22210
26c607b9 222112006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
22212
22213 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
22214 (PModule::rule): Likewise.
22215
0162321a 222162006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
22217
22218 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
22219 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
22220 target-specific flags should be prefixed.
22221 (PModule::rule): Likewise.
22222
6c826348 222232006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
22224
22225 * configure.ac (CMP): Check if cmp is available explicitly.
22226
b977bf01 222272006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
22228
22229 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
22230 (target_cpu): New variable.
22231 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 22232
b977bf01 22233 * util/i386/pc/grub-install.in (host_cpu): Removed.
22234 (target_cpu): New variable.
22235 (pkglibdir): Use target_cpu instead of host_cpu.
22236
22237 * util/genmoddep.c: Removed.
f19dbdb7 22238
b977bf01 22239 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
22240 instead of GRUB_HOST_SIZEOF_VOID_P.
22241 * kern/dl.c: Likewise.
22242
22243 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
22244 ...
22245 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
22246 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
22247 (GRUB_TARGET_SIZEOF_LONG): ... this.
22248 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
22249 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
22250 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
22251 to ...
22252 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
22253 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
22254 (GRUB_TARGET_SIZEOF_LONG): ... this.
22255 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
22256 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
22257 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
22258 to ...
22259 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
22260 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
22261 (GRUB_TARGET_SIZEOF_LONG): ... this.
22262 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
22263 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
22264
22265 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
22266 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
22267 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
22268 instead of GRUB_HOST_SIZEOF_LONG.
22269 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
22270 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
22271 GRUB_CPU_WORDS_BIGENDIAN.
22272 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
22273 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
22274 grub_host_ssize_t.
22275
22276 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
22277 (genmoddep_SOURCES): Likewise.
22278 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
22279 (genmoddep_SOURCES): Likewise.
22280 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
22281 (genmoddep_SOURCES): Likewise.
22282 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
22283 Likewise.
22284 (genmoddep_SOURCES): Likewise.
22285
22286 * genmoddep.awk: New file.
22287
22288 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
22289 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
22290 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
22291 (PModule::rule): Likewise.
22292 (Program::rule): Likewise.
22293 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
22294 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
22295 respectively.
22296
22297 * configure.ac: Rewritten intensively to use host and target
22298 instead of build and host, respectively.
22299
22300 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
22301 (host_cpu): Removed.
22302 (target_cpu): New variable.
22303 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
22304 (BUILD_CC): Removed.
22305 (BUILD_CFLAGS): Likewise.
22306 (BUILD_CPPFLAGS): Likewise.
22307 (TARGET_CC): New variable.
22308 (TARGET_CFLAGS): Likewise.
22309 (TARGET_CPPFLAGS): Likewise.
22310 (TARGET_LDFLAGS): Likewise.
22311 (AWK): Likewise.
22312 (include): Use target_cpu instead of host_cpu.
22313 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 22314
b977bf01 22315 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
22316
f09771a1 223172006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
22318
22319 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
22320 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
22321 field 'false' to 'exec_on_false'.
22322 (grub_script_create_cmdif): Renamed argument names to reflect above
22323 changes.
22324
22325 * normal/execute.c (grub_script_execute_cmdif): Likewise.
22326
22327 * normal/script.c (grub_script_create_cmdif): Likewise.
22328
118f4fb3 223292006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
22330
22331 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
22332 top.
22333 (grub_hfsplus_btree_recptr): Likewise.
22334 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
22335 FILEBLOCK both to pass a block number and store next block
22336 number.
22337 (grub_hfsplus_read_block): Rewritten heavily to support an extent
22338 overflow file correctly. Specify errors appropriately, because
22339 fshelp expects that GRUB_ERRNO is set when fails. Reuse
22340 grub_hfsplus_btree_recptr to get the pointer to a found key.
22341 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
22342 is found.
22343
22344 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
22345 linux.mod.
22346 (_linux_mod_SOURCES): New variable.
22347 (_linux_mod_CFLAGS): Likewise.
22348 (_linux_mod_LDFLAGS): Likewise.
22349 (linux_mod_SOURCES): Likewise.
22350 (linux_mod_CFLAGS): Likewise.
22351 (linux_mod_LDFLAGS): Likewise.
22352
22353 * DISTLIST: Added loader/i386/efi/linux.c,
22354 loader/i386/efi/linux_normal.c and
22355 include/grub/i386/efi/loader.h.
22356
22357 * loader/i386/efi/linux.c: New file.
22358 * loader/i386/efi/linux_normal.c: Likewise.
22359 * include/grub/i386/efi/loader.h: Likewise.
22360
89a7d726 223612006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
22362
22363 * commands/blocklist.c: New file.
22364
22365 * DISTLIST: Added commands/blocklist.c.
22366
22367 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 22368 color for the background, and a darker color for the foreground.
89a7d726 22369 (grub_console_checkkey): Return READ_KEY.
22370 (grub_console_cls): Set the background to
22371 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
22372
22373 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
22374
22375 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
22376 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
22377
22378 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
22379 prototype.
22380
22381 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
22382 BG. The spec is wrong again.
22383
22384 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
22385 prototype.
22386 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
22387
22388 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
22389 commands/blocklist.c.
22390 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 22391
89a7d726 22392 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
22393 (blocklist_mod_SOURCES): New variable.
22394 (blocklist_mod_CFLAGS): Likewise.
22395 (blocklist_mod_LDFLAGS): Likewise.
22396
75c8f258 223972006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
22398
22399 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
22400 duplication.
22401 (lba_mode): Use %eax more intensively to reduce the code size.
22402
da2eb181 224032006-05-20 Marco Gerards <marco@gnu.org>
22404
22405 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
22406
22407 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
22408 for `menuentry'.
22409 (script): Accept leading newlines.
22410 (newlines): New rule to describe 0 or more newlines.
22411 (commands): Accept `command' with trailing newline. Fixed the
22412 order in which arguments were passed to `grub_script_add_cmd'.
22413 Accept commands separated by newlines.
22414 (function): Changed to accept newlines.
22415 (menuentry) Rewritten.
22416
22417 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
22418 front of the list, instead of to the end.
22419
577b4050 224202006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
22421
22422 * util/i386/pc/grub-install.in (bindir): New variable.
22423 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
22424 Shaver <lbgwjl@gmail.com>.
22425
0d6e1189 224262006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
22427
22428 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
22429 grub/machine/linux.h
22430 * loader/i386/pc/linux.c: Likewise.
22431
22432 * include/grub/i386/pc/linux.h: Moved to ...
22433 * include/grub/i386/linux.h: ... here.
22434
22435 * include/grub/i386/linux.h (struct linux_kernel_params): New
22436 struct.
f19dbdb7 22437
31b86e9f 224382006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
22439
22440 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
22441 checking.
22442 (grub_video_vbe_blit_glyph): Likewise.
22443 (grub_video_vbe_blit_bitmap): Likewise.
22444 (grub_video_vbe_blit_render_target): Likewise.
22445
83b984de 224462006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
22447
22448 * configure.ac (--with-platform): Properly quote the square
22449 brackets.
22450
5f0413bd 224512006-05-08 Marco Gerards <marco@gnu.org>
22452
22453 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
22454 this...
22455 (kernel_elf_HEADERS): ...to this. Updated all users.
22456 (grubof_symlist.c): Renamed from this...
22457 (kernel_elf_symlist.c): ...to this. Updated all users.
22458 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
22459 (grubof_SOURCES): Renamed from this...
22460 (kernel_elf_SOURCES): ...to this.
22461 (grubof_HEADERS): Renamed from this...
22462 (kernel_elf_HEADERS): ...to this.
22463 (grubof_CFLAGS): Renamed from this...
22464 (kernel_elf_CFLAGS): ...to this.
22465 (grubof_ASFLAGS): Renamed from this...
22466 (kernel_elf_ASFLAGS): ...to this.
22467 (grubof_LDFLAGS): Renamed from this...
22468 (kernel_elf_LDFLAGS): ...to this.
22469
22470 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
22471 this...
22472 (kernel_elf_HEADERS): ...to this. Updated all users.
22473 (grubof_symlist.c): Renamed from this...
22474 (kernel_elf_symlist.c): ...to this. Updated all users.
22475 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
22476 (grubof_SOURCES): Renamed from this...
22477 (kernel_elf_SOURCES): ...to this.
22478 (grubof_HEADERS): Renamed from this...
22479 (kernel_elf_HEADERS): ...to this.
22480 (grubof_CFLAGS): Renamed from this...
22481 (kernel_elf_CFLAGS): ...to this.
22482 (grubof_ASFLAGS): Renamed from this...
22483 (kernel_elf_ASFLAGS): ...to this.
22484 (grubof_LDFLAGS): Renamed from this...
22485 (kernel_elf_LDFLAGS): ...to this.
22486
22487 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
22488 `kernel.elf' instead of `grubof'.
22489
05568c2e 224902006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
22491
22492 Add --with-platform to configure. Use pkglibdir instead of
22493 pkgdatadir. This is reported by Roger Leigh.
22494
22495 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
22496 (host_vendor): Likewise.
22497 (host_os): Likewise.
22498 (pkgdatadir): Likewise.
22499 (platform): New variable.
22500 (pkglibdir): Likewise.
22501 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 22502
05568c2e 22503 * util/i386/pc/grub-install.in (datadir): Removed.
22504 (host_vendor): Likewise.
22505 (host_os): Likewise.
22506 (pkgdatadir): Likewise.
22507 (platform): New variable.
22508 (pkglibdir): Likewise.
22509 Use PKGLIBDIR instead of PKGDATADIR.
22510
22511 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
22512 instead of GRUB_DATADIR.
22513 (main): Likewise.
22514 * util/i386/pc/grub-mkimage.c (usage): Likewise.
22515 (main): Likewise.
22516 * util/i386/efi/grub-mkimage.c (usage): Likewise.
22517 (main): Likewise.
22518
22519 * configure.ac (--with-platform): New option.
22520 Use PLATFORM instead of HOST_VENDOR to specify a platform.
22521
22522 * Makefile.in: Include a makefile based on PLATFORM instead of
22523 HOST_VENDOR.
22524 (pkgdatadir): Not appended by the machine type.
22525 (pkglibdir): Appended by the machine type.
22526 (host_vendor): Removed.
22527 (platform): New variable.
22528 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
22529 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
22530 (uninstall): Likewise.
22531
4e93851c 225322006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
22533
22534 Use the environment context in the menu. Remove the commands
22535 "default" and "timeout", and use variables instead.
f19dbdb7 22536
4e93851c 22537 * normal/menu.c: Include grub/env.h.
22538 (print_entry): Cast TITLE to silence gcc.
22539 (get_timeout): New function.
22540 (set_timeout): Likewise.
22541 (get_entry_number): Likewise.
22542 (run_menu): Use a default entry, a fallback entry and a timeout
22543 in the environment variables "default", "fallback" and
22544 "timeout". Also, tweak the default entry if it is not within the
22545 current menu entries.
22546 (grub_menu_run): Use a fallback entry in the environment variable
22547 "fallback".
22548
22549 * normal/main.c (read_config_file): Do not initialize
22550 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
22551 NEWMENU->TIMEOUT.
22552 (grub_normal_execute): Use a data slot to store the menu.
22553
22554 * include/grub/normal.h (struct grub_menu): Removed default_entry,
22555 fallback_entry and timeout.
22556 (struct grub_menu_list): Removed.
22557 (grub_menu_list_t): Likewise.
22558 (struct grub_context): Likewise.
22559 (grub_context_t): Likewise.
22560 (grub_context_get): Likewise.
22561 (grub_context_get_current_menu): Likewise.
22562 (grub_context_push_menu): Likewise.
22563 (grub_context_pop_menu): Likewise.
22564 (grub_default_init): Likewise.
22565 (grub_default_fini): Likewise.
22566 (grub_timeout_init): Likewise.
22567 (grub_timeout_fini): Likewise.
22568
22569 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
22570 and timeout.mod.
22571 (normal_mod_SOURCES): Removed normal/context.c.
22572
22573 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
22574 commands/default.c, commands/timeout.c and normal/context.c.
22575 (normal_mod_SOURCES): Removed normal/context.c.
22576
22577 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
22578 commands/timeout.c and normal/context.c.
22579 (normal_mod_SOURCES): Removed normal/context.c.
22580
22581 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
22582 commands/default.c, commands/timeout.c and normal/context.c.
22583 (normal_mod_SOURCES): Removed normal/context.c.
22584
22585 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
22586 timeout.mod.
22587 (default_mod_SOURCES): Removed.
22588 (default_mod_CFLAGS): Likewise.
22589 (default_mod_LDFLAGS): Likewise.
22590 (timeout_mod_SOURCES): Removed.
22591 (timeout_mod_CFLAGS): Likewise.
22592 (timeout_mod_LDFLAGS): Likewise.
22593
22594 * DISTLIST: Removed commands/default.c, commands/timeout.c and
22595 normal/context.c.
22596
22597 * commands/default.c: Removed.
22598 * commands/timeout.c: Likewise.
22599 * normal/context.c: Likewise.
22600
1eb9cc1d 226012006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
22602
22603 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
22604
385bd9c1 226052006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
22606
22607 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
22608 "next" to "prev" for readability.
22609 (struct grub_env_sorted_var): New struct.
22610 (grub_env_context): Renamed to ...
22611 (initial_context): ... this.
22612 (grub_env_var_context): Renamed to ...
22613 (current_context): ... this.
22614 (grub_env_find): Look only at CURRENT_CONTEXT.
22615 (grub_env_context_open): Rewritten to copy exported variables from
22616 previous context.
22617 (grub_env_context_close): Rewritten according to the new
22618 scheme. Also, add an assertion to prevent the initial context from
22619 removed.
22620 (grub_env_insert): Removed the code for the sorted list.
22621 (grub_env_remove): Likewise.
22622 (grub_env_export): Simply mark the variable with
22623 GRUB_ENV_VAR_GLOBAL.
22624 (grub_env_set): A cosmetic change for naming consistency.
22625 (grub_env_get): Likewise.
22626 (grub_env_unset): Likewise.
22627 (grub_env_iterate): Rewritten to sort variables within this
22628 function.
22629 (grub_register_variable_hook): Fixed for naming consistency. Call
22630 grub_env_find again, only if NAME is not found at the first time.
22631 (mangle_data_slot_name): New function.
22632 (grub_env_set_data_slot): Likewise.
22633 (grub_env_get_data_slot): Likewise.
22634 (grub_env_unset_data_slot): Likewise.
22635
22636 * include/grub/env.h (grub_env_var_type): New enum.
22637 (GRUB_ENV_VAR_LOCAL): New constant.
22638 (GRUB_ENV_VAR_GLOBAL): Likewise.
22639 (GRUB_ENV_VAR_DATA): Likewise.
22640 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
22641 "type".
22642 (grub_env_set): Replace VAR with NAME for consistency.
22643 (grub_register_variable_hook): Likewise.
22644 (grub_env_export): Specify the name of the argument.
22645 (grub_env_set_data_slot): New prototype.
22646 (grub_env_get_data_slot): Likewise.
22647 (grub_env_unset_data_slot): Likewise.
22648
7f362539 226492006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
22650
22651 Extend the loader so that GRUB can accept a loader which comes
22652 back to GRUB when a loaded image exits. Also, this change adds
22653 support for a chainloader on EFI.
f19dbdb7 22654
7f362539 22655 * term/efi/console.c: Include grub/misc.h.
22656 (grub_console_checkkey): Display a scan code on the top for
22657 debugging. This will be removed once the EFI port gets stable.
22658 Correct the scan code mapping.
22659
22660 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
22661 allocate memory from larger regions, in order to reduce the number
22662 of allocated regions. Otherwise, the MacOSX loader panics.
22663 (filter_memory_map): Avoid less than 1MB for compatibility with
22664 other loaders.
22665 (add_memory_regions): Allocate from the tail of a region, if
22666 possible, to avoid allocating a region near to 1MB, for the MacOSX
22667 loader.
22668
22669 * kern/efi/init.c (grub_efi_set_prefix): Specify
22670 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
22671
22672 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
22673 argument IMAGE_HANDLE and specify it to get a loaded image.
22674 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
22675 grub_efi_get_loaded_image.
fe6b695a 22676 (grub_efi_get_filename): Divide the length by the size of
7f362539 22677 grub_efi_char16_t.
22678 (grub_efi_get_device_path): New function.
22679 (grub_efi_print_device_path): Print End Device Path nodes. Divide
22680 the length by the size of grub_efi_char16_t for a file path device
22681 path node.
22682
22683 * kern/loader.c (grub_loader_noreturn): New variable.
22684 (grub_loader_set): Accept a new argument NORETURN. Set
22685 GRUB_LOADER_NORETURN to NORETURN.
22686 All callers changed.
22687 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
22688 grub_machine_fini.
22689
22690 * include/grub/efi/efi.h (grub_efi_get_device_path): New
22691 prototype.
22692 (grub_efi_get_loaded_image): Take an argument to specify an image
22693 handle.
22694
22695 * include/grub/loader.h (grub_loader_set): Added one more argument
22696 NORETURN.
22697
22698 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
22699 instead of grub_efi_open_protocol.
22700 (grub_efidisk_get_device_name): Likewise.
22701 (grub_efidisk_close): Print a newline.
22702 (grub_efidisk_get_device_handle): Fixed to use
22703 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
22704 GRUB_EFI_DEVICE_PATH_TYPE.
22705
22706 * disk/efi/efidisk.c (device_path_guid): Moved to ...
22707 * kern/efi/efi.c (device_path_guid): ... here.
22708
22709 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
22710 chain.mod.
22711 (kernel_mod_HEADERS): Added efi/disk.h.
22712 (_chain_mod_SOURCES): New variable.
22713 (_chain_mod_CFLAGS): Likewise.
22714 (_chain_mod_LDFLAGS): Likewise.
22715 (chain_mod_SOURCES): Likewise.
22716 (chain_mod_CFLAGS): Likewise.
22717 (chain_mod_LDFLAGS): Likewise.
22718
22719 * DISTLIST: Added include/grub/efi/chainloader.h,
22720 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
22721
22722 * include/grub/efi/chainloader.h: New file.
22723 * loader/efi/chainloader.c: Likewise.
22724 * loader/efi/chainloader_normal.c: Likewise.
22725
c0111d6e 227262006-04-30 Marco Gerards <marco@gnu.org>
22727
22728 * commands/configfile.c (grub_cmd_source): New function.
22729 (GRUB_MOD_INIT): Register the commands `source' and `.'.
22730 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
22731
df5341da 227322006-04-30 Marco Gerards <marco@gnu.org>
22733
22734 * normal/execute.c (grub_script_execute_cmd): Change the return
22735 type to `grub_err_t'. Correctly return the error.
22736 (grub_script_execute_cmdline): In case a command line is not a
22737 command or a function, try to interpret it as an assignment.
22738
f85934bd 227392006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
22740
22741 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
22742 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
22743 skip a node whose name is obviously invalid as UTF-16,
22744 i.e. contains a NUL character. Stop the iteration when the last
22745 directory entry is found. Instead of using the return value of
22746 grub_hfsplus_btree_iterate_node, store the value in RET and use
22747 it, because the iterator can be stopped by the last directory
22748 entry.
22749
8f8a2cf8 227502006-04-30 Marco Gerards <marco@gnu.org>
22751
22752 * include/grub/env.h (grub_env_export): New prototype. Reported
22753 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
22754
a27e84ce 227552006-04-30 Marco Gerards <marco@gnu.org>
22756
22757 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
22758 size of the extents in a catalog file record.
22759
eaef0553 227602006-04-29 Marco Gerards <marco@gnu.org>
22761
22762 * commands/configfile.c (grub_cmd_configfile): Execute the
22763 configfile within its own context.
22764
22765 * include/grub/env.h (grub_env_context_open): New prototype.
22766 (grub_env_context_close): Likewise.
22767
22768 * kern/env.c (grub_env): Removed.
22769 (grub_env_sorted): Likewise.
22770 (grub_env_context): New variable.
22771 (grub_env_var_context): Likewise.
22772 (grub_env_find): Search both the active context and the global
22773 context.
22774 (grub_env_context_open): New function.
22775 (grub_env_context_close): Likewise.
22776 (grub_env_insert): Likewise.
22777 (grub_env_remove): Likewise.
22778 (grub_env_export): Likewise.
22779 (grub_env_set): Changed to use helper functions to avoid code
22780 duplication.
22781 (grub_env_iterate): Rewritten so both the current context and the
22782 global context are being used.
22783
22784 * normal/command.c (export_command): New function.
22785 (grub_command_init): Register the `export' function.
22786
7b455f4d 227872006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
22788
22789 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
22790 explicitly to suppress gcc's warnings.
22791 * fs/fat.c (grub_fat_find_dir): Likewise.
22792 (grub_fat_label): Likewise.
22793 * fs/xfs.c (grub_xfs_read_inode): Likewise.
22794 (grub_xfs_mount): Likewise.
22795 (grub_xfs_label): Likewise.
22796 * fs/affs.c (grub_affs_mount): Likewise.
22797 (grub_affs_label): Likewise.
22798 (grub_affs_iterate_dir): Likewise.
22799 * fs/sfs.c (grub_sfs_mount): Likewise.
22800 (grub_sfs_iterate_dir): Likewise.
22801 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
22802 * fs/hfs.c (grub_hfs_mount): Likewise.
22803 (grub_hfs_cmp_catkeys): Likewise.
22804 (grub_hfs_find_dir): Likewise.
22805 (grub_hfs_dir): Likewise.
22806 (grub_hfs_label): Likewise.
22807 * fs/jfs.c (grub_jfs_mount): Likewise.
22808 (grub_jfs_opendir): Likewise.
22809 (grub_jfs_getent): Likewise.
22810 (grub_jfs_lookup_symlink): Likewise.
22811 (grub_jfs_label): Likewise.
22812 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
22813 (grub_hfsplus_iterate_dir): Likewise.
22814 (grub_hfsplus_btree_iterate_node): Made static.
22815
22816 * util/grub-emu.c (prefix): New variable.
22817 (grub_machine_set_prefix): New function.
22818 (main): Do not set the environment variable "prefix" here. Only
22819 set PREFIX, which is used later by grub_machine_set_prefix.
22820
22821 * include/grub/video.h: Do not include grub/symbol.h.
22822 (grub_video_register): Not exported. This symbol is not defined in
22823 the kernel.
22824 (grub_video_unregister): Likewise.
22825 (grub_video_iterate): Likewise.
22826 (grub_video_setup): Likewise.
22827 (grub_video_restore): Likewise.
22828 (grub_video_get_info): Likewise.
22829 (grub_video_get_blit_format): Likewise.
22830 (grub_video_set_palette): Likewise.
22831 (grub_video_get_palette): Likewise.
22832 (grub_video_set_viewport): Likewise.
22833 (grub_video_get_viewport): Likewise.
22834 (grub_video_map_color): Likewise.
22835 (grub_video_map_rgb): Likewise.
22836 (grub_video_map_rgba): Likewise.
22837 (grub_video_fill_rect): Likewise.
22838 (grub_video_blit_glyph): Likewise.
22839 (grub_video_blit_bitmap): Likewise.
22840 (grub_video_blit_render_target): Likewise.
22841 (grub_video_scroll): Likewise.
22842 (grub_video_swap_buffers): Likewise.
22843 (grub_video_create_render_target): Likewise.
22844 (grub_video_delete_render_target): Likewise.
22845 (grub_video_set_active_render_target): Likewise.
22846
22847 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
22848 Undefined.
22849 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
22850
22851 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
22852 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
22853 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
22854 instead of $(srcdir)/genkernsyms.sh.
22855
22856 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
22857 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
22858 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
22859 instead of $(srcdir)/genkernsyms.sh.
22860
22861 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
22862 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
22863 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
22864 instead of $(srcdir)/genkernsyms.sh.
22865
22866 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
22867 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
22868 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
22869 instead of $(srcdir)/genkernsyms.sh.
22870
22871 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
22872 genkernsyms.sh.
22873
22874 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
22875 genkernsyms.sh.
22876 (gensymlist.sh): New target.
22877 (genkernsyms.sh): Likewise.
22878
22879 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
22880 genkernsyms.sh.in and gensymlist.sh.in.
22881
22882 * genkernsyms.sh: Removed.
22883 * gensymlist.sh: Likewise.
f19dbdb7 22884
7b455f4d 22885 * genkernsyms.sh.in: New file.
22886 * gensymlist.sh.in: Likewise.
22887
1885bb27 228882006-04-25 Hollis Blanchard <hollis@penguinppc.org>
22889
22890 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
22891 clobber "prefix", since we may have already set it manually.
22892
71538dff 228932006-04-25 Hollis Blanchard <hollis@penguinppc.org>
22894
22895 * kern/misc.c (abort): New alias for grub_abort.
22896
2965c7cc 228972006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
22898
22899 A new machine-specific function "grub_machine_set_prefix" is
22900 defined. This is called after loading modules, so that a prefix
22901 initialization can use modules. Also, this change adds an
22902 intensive debugging feature for the memory manager via the
22903 configure option "--enable-mm-debug".
f19dbdb7 22904
2965c7cc 22905 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
22906 PART.LEN.
22907
22908 * kern/sparc64/ieee1275/init.c (abort): Removed.
22909 (grub_stop): Likewise.
22910 (grub_exit): New function.
22911 (grub_set_prefix): Renamed to ...
22912 (grub_machine_set_prefix): ... this.
22913 (grub_machine_init): Do not call grub_set_prefix.
22914
22915 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
22916 (grub_machine_set_prefix): ... this.
22917 (grub_machine_init): Do not call grub_set_prefix.
22918
22919 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
22920 (grub_machine_init): Do not set the prefix here.
22921
22922 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
22923
22924 * kern/efi/init.c: Include grub/mm.h.
22925 (grub_efi_set_prefix): New function.
22926
22927 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
22928 (grub_efi_get_filename): New function.
22929 (grub_print_device_path): Renamed to ...
22930 (grub_efi_print_device_path): ... this.
22931
22932 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
22933 [MM_DEBUG] (grub_realloc): Likewise.
22934 [MM_DEBUG] (grub_free): Likewise.
22935 [MM_DEBUG] (grub_memalign): Likewise.
22936 [MM_DEBUG] (grub_mm_debug): New variable.
22937 [MM_DEBUG] (grub_debug_malloc): New function.
22938 [MM_DEBUG] (grub_debug_free): New function.
22939 [MM_DEBUG] (grub_debug_realloc): New function.
22940 [MM_DEBUG] (grub_debug_memalign): New function.
22941
22942 * kern/misc.c (grub_abort): Print a newline to distinguish
22943 the message.
22944
22945 * kern/main.c (grub_main): Call grub_machine_set_prefix and
22946 grub_set_root_dev after loading modules. This is necessary when
22947 setting a prefix depends on modules.
22948
22949 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
22950 (grub_efi_print_device_path): ... this.
22951 (grub_efi_get_filename): New prototype.
22952 (grub_efi_set_prefix): Likewise.
22953
22954 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
22955 and grub/disk.h.
22956 (grub_efidisk_get_device_handle): New prototype.
22957 (grub_efidisk_get_device_name): Likewise.
22958
22959 * include/grub/mm.h: Include config.h.
22960 (MM_DEBUG): Removed.
22961 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
22962 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
22963 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
22964 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
22965 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
22966 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
22967 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
22968 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
22969 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
22970
22971 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
22972
22973 * disk/efi/efidisk.c: Include grub/partition.h.
22974 (iterate_child_devices): New function.
22975 (add_device): First, compare only last device path nodes, so that
22976 devices are sorted by the types.
22977 (grub_efidisk_get_device_handle): New function.
22978 (grub_efidisk_get_device_name): Likewise.
22979
22980 * configure.ac (--enable-mm-debug): New option to enable the
22981 memory manager debugging feature. This makes the binary much
22982 bigger, so is disabled by default.
22983
9cacaa17 229842006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
22985
22986 Use grub_abort instead of grub_stop, and grub_exit must be
22987 define in each architecture now. Also, this change adds support
22988 for EFI disks.
f19dbdb7 22989
9cacaa17 22990 * util/i386/pc/grub-probefs.c: Include grub/term.h.
22991 (grub_getkey): New function.
22992 (grub_term_get_current): Likewise.
22993
22994 * util/i386/pc/grub-setup.c: Include grub/term.h.
22995 (grub_getkey): New function.
22996 (grub_term_get_current): Likewise.
22997
22998 * util/misc.c (grub_stop): Renamed to ...
22999 (grub_exit): ... this.
23000
23001 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
23002 (grub_exit): ... this.
23003 (grub_machine_init): Use grub_abort instead of abort.
23004 (grub_stop): Removed.
23005
23006 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
23007 abort.
23008
23009 * kern/i386/pc/startup.S (grub_exit): New function.
23010 (cold_reboot): New label.
23011
23012 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
23013 (grub_efi_init): Call grub_efidisk_init.
23014 (grub_efi_fini): Call grub_efidisk_fini.
23015
23016 * kern/efi/efi.c: Include grub/mm.h.
23017 (grub_efi_console_control_guid): Renamed to ...
23018 (console_control_guid): ... this.
23019 (grub_efi_loaded_image_guid): Renamed to ...
23020 (loaded_image_guid): ... this.
23021 (grub_efi_locate_handle): New function.
23022 (grub_efi_open_protocol): Likewise.
23023 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
23024 GRUB_EFI_CONSOLE_CONTROL_GUID.
23025 (grub_efi_exit): Removed.
23026 (grub_stop): Likewise.
23027 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
23028 (grub_exit): New function.
23029 (grub_print_device_path): Likewise.
23030
23031 * kern/rescue.c (grub_rescue_cmd_exit): New function.
23032 (grub_enter_rescue_mode): Register "exit".
23033
23034 * kern/misc.c (grub_real_dprintf): A cosmetic change.
23035 (grub_abort): New function.
23036
23037 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
23038
23039 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
23040
23041 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
23042
23043 * include/grub/efi/efi.h (grub_efi_exit): Removed.
23044 (grub_print_device_path): New prototype.
23045 (grub_efi_locate_handle): Likewise.
23046 (grub_efi_open_protocol): Likewise.
23047
23048 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
23049 * disk/efi/efidisk.c: Likewise.
23050
23051 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
23052
23053 * include/grub/efi/console_control.h
23054 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
23055
23056 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
23057 last 8 bytes as an array.
23058 (GRUB_EFI_DISK_IO_GUID): New macro.
23059 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
23060 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
23061 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
23062 grub_uint8_t.
23063 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
23064 (struct grub_efi_device_path): Rename the member "sub_type" to
23065 "subtype".
23066 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
23067 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
23068 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
23069 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
23070 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
23071 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
23072 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
23073 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
23074 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
23075 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
23076 (struct grub_efi_pci_device_path): New structure.
23077 (grub_efi_pci_device_path_t): New type.
23078 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
23079 (struct grub_efi_pccard_device_path): New structure.
23080 (grub_efi_pccard_device_path_t): New type.
23081 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
23082 (struct grub_efi_memory_mapped_device_path): New structure.
23083 (grub_efi_memory_mapped_device_path_t): New type.
23084 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
23085 (struct grub_efi_vendor_device_path): New structure.
23086 (grub_efi_vendor_device_path_t): New type.
23087 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
23088 (struct grub_efi_controller_device_path): New structure.
23089 (grub_efi_controller_device_path_t): New type.
23090 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
23091 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
23092 (struct grub_efi_acpi_device_path): New structure.
23093 (grub_efi_acpi_device_path_t): New type.
23094 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
23095 (struct grub_efi_expanded_acpi_device_path): New structure.
23096 (grub_efi_expanded_acpi_device_path_t): New type.
23097 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
23098 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
23099 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
23100 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
23101 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
23102 (struct grub_efi_atapi_device_path): New structure.
23103 (grub_efi_atapi_device_path_t): New type.
23104 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
23105 (struct grub_efi_fibre_channel_device_path): New structure.
23106 (grub_efi_fibre_channel_device_path_t): New type.
23107 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
23108 (struct grub_efi_1394_device_path): New structure.
23109 (grub_efi_1394_device_path_t): New type.
23110 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
23111 (struct grub_efi_usb_device_path): New structure.
23112 (grub_efi_usb_device_path_t): New type.
23113 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
23114 (struct grub_efi_usb_class_device_path): New structure.
23115 (grub_efi_usb_class_device_path_t): New type.
23116 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
23117 (struct grub_efi_i2o_device_path): New structure.
23118 (grub_efi_i2o_device_path_t): New type.
23119 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
23120 (struct grub_efi_mac_address_device_path): New structure.
23121 (grub_efi_mac_address_device_path_t): New type.
23122 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
23123 (struct grub_efi_ipv4_device_path): New structure.
23124 (grub_efi_ipv4_device_path_t): New type.
23125 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
23126 (struct grub_efi_ipv6_device_path): New structure.
23127 (grub_efi_ipv6_device_path_t): New type.
23128 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
23129 (struct grub_efi_infiniband_device_path): New structure.
23130 (grub_efi_infiniband_device_path_t): New type.
23131 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
23132 (struct grub_efi_uart_device_path): New structure.
23133 (grub_efi_uart_device_path_t): New type.
23134 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
23135 (struct grub_efi_vendor_messaging_device_path): New structure.
23136 (grub_efi_vendor_messaging_device_path_t): New type.
23137 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
23138 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
23139 (struct grub_efi_hard_drive_device_path): New structure.
23140 (grub_efi_hard_drive_device_path_t): New type.
23141 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
23142 (struct grub_efi_cdrom_device_path): New structure.
23143 (grub_efi_cdrom_device_path_t): New type.
23144 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
23145 (struct grub_efi_vendor_media_device_path): New structure.
23146 (grub_efi_vendor_media_device_path_t): New type.
23147 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
23148 (struct grub_efi_file_path_device_path): New structure.
23149 (grub_efi_file_path_device_path_t): New type.
23150 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
23151 (struct grub_efi_protocol_device_path): New structure.
23152 (grub_efi_protocol_device_path_t): New type.
23153 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
23154 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
23155 (struct grub_efi_bios_device_path): New structure.
23156 (grub_efi_bios_device_path_t): New type.
23157 (struct grub_efi_disk_io): New structure.
23158 (grub_efi_disk_io_t): New type.
23159 (struct grub_efi_block_io_media): New structure.
23160 (grub_efi_block_io_media_t): New type.
23161 (struct grub_efi_block_io): New structure.
23162 (grub_efi_block_io_t): New type.
23163
23164 * include/grub/misc.h (grub_stop): Removed.
23165 (grub_exit): New prototype.
23166 (grub_abort): Likewise.
23167
23168 * include/grub/disk.h (enum grub_disk_dev_id): Added
23169 GRUB_DISK_DEVICE_EFIDISK_ID.
23170
23171 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
23172 disk/efi/efidisk.c.
23173 (kernel_syms.lst): Remove the target if an error occurs.
23174
49986a9f 231752006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
23176
23177 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
23178 as it was simply too buggy.
23179
970d3b8a 231802006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
23181
23182 * kern/misc.c (grub_lltoa): New function.
23183 (grub_vsprintf): Added support for the long long suffix,
23184 i.e. "ll".
23185
ff04ec24 231862006-04-20 Hollis Blanchard <hollis@penguinppc.org>
23187
23188 * Makefile.in (LDFLAGS): Add variable.
23189 (LD): Remove variable.
23190 * configure.ac: Add -m32 to LDFLAGS.
23191 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
23192 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
23193 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
23194 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
23195 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
23196 variables.
23197 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
23198 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
23199 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
23200
37e5e1a4 232012006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
23202
23203 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
23204 length for unknown glyph.
23205
c352d8dd 232062006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
23207
2eab1c0d 23208 Add support for pre-loaded modules into the EFI port.
f19dbdb7 23209
2eab1c0d 23210 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
23211 completely. Accept one more argument DIR. The caller has changed.
23212
23213 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
23214
23215 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
23216 (grub_efi_loaded_image_guid): New variable.
23217 (grub_efi_get_loaded_image): New function.
23218 (grub_arch_modules_addr): Likewise.
23219
23220 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
23221 prototype.
23222
23223 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
23224 (struct grub_efi_loaded_image): New structure.
23225 (grub_efi_loaded_image_t): New type.
23226
232272006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 23228
c352d8dd 23229 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
23230 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
23231 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
23232
6d01d6b4 232332006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
23234
23235 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
23236
976a4ea0 232372006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
23238
23239 * DISTLIST: Added include/grub/efi/console.h,
23240 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
23241 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
23242
23243 * include/grub/efi/console.h: New file.
23244 * include/grub/efi/time.h: Likewise.
23245 * include/grub/i386/efi/kernel.h: Likewise.
23246 * kern/efi/init.c: Likewise.
23247 * kern/efi/mm.c: Likewise.
23248 * term/efi/console.c: Likewise.
f19dbdb7 23249
976a4ea0 23250 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
23251 (grub_stop): Removed.
23252 (grub_get_rtc): Likewise.
23253 (grub_machine_init): Simply call grub_efi_init.
23254 (grub_machine_fini): Call grub_efi_fini.
23255
23256 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
23257 (grub_efi_output_string): Removed.
23258 (grub_efi_stall): New function.
23259 (grub_stop): Likewise.
23260 (grub_get_rtc): Likewise.
23261
23262 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
23263 (grub_efi_stall): New prototype.
23264 (grub_efi_allocate_pages): Likewise.
23265 (grub_efi_free_pages): Likewise.
23266 (grub_efi_get_memory_map): Likewise.
23267 (grub_efi_mm_init): Likewise.
23268 (grub_efi_mm_fini): Likewise.
23269 (grub_efi_init): Likewise.
23270 (grub_efi_fini): Likewise.
23271
23272 * include/grub/i386/efi/time.h: Do not include
23273 grub/symbol.h. Include grub/efi/time.h.
23274 (GRUB_TICKS_PER_SECOND): Removed.
23275 (grub_get_rtc): Likewise.
23276
23277 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
23278 Added padding. The EFI spec is buggy.
23279 (GRUB_EFI_BLACK): New macro.
23280 (GRUB_EFI_BLUE): Likewise.
23281 (GRUB_EFI_GREEN): Likewise.
23282 (GRUB_EFI_CYAN): Likewise.
23283 (GRUB_EFI_RED): Likewise.
23284 (GRUB_EFI_MAGENTA): Likewise.
23285 (GRUB_EFI_BROWN): Likewise.
23286 (GRUB_EFI_LIGHTGRAY): Likewise.
23287 (GRUB_EFI_BRIGHT): Likewise.
23288 (GRUB_EFI_DARKGRAY): Likewise.
23289 (GRUB_EFI_LIGHTBLUE): Likewise.
23290 (GRUB_EFI_LIGHTGREEN): Likewise.
23291 (GRUB_EFI_LIGHTCYAN): Likewise.
23292 (GRUB_EFI_LIGHTRED): Likewise.
23293 (GRUB_EFI_LIGHTMAGENTA): Likewise.
23294 (GRUB_EFI_YELLOW): Likewise.
23295 (GRUB_EFI_WHITE): Likewise.
23296 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
23297 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
23298 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
23299 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
23300 (GRUB_EFI_BACKGROUND_RED): Likewise.
23301 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
23302 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
23303 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
23304 (GRUB_EFI_TEXT_ATTR): Likewise.
23305
23306 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
23307 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
23308 (kernel_mod_HEADERS): Added efi/time.h.
23309
83709125 233102006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
23311
23312 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
23313 include/grub/efi/api.h, include/grub/efi/console_control.h,
23314 include/grub/efi/efi.h, include/grub/efi/pe32.h,
23315 include/grub/i386/efi/time.h, kern/efi/efi.c,
23316 kern/i386/efi/init.c, kern/i386/efi/startup.S,
23317 and util/i386/efi/grub-mkimage.c.
23318
23319 * Makefile.in (RMKFILES): Added i386-efi.rmk.
23320
23321 * genmk.rb (PModule#rule): Do not export symbols if
23322 #{prefix}_EXPORTS is set to "no".
23323
23324 * conf/i386-efi.mk: New file.
23325 * conf/i386-efi.rmk: Likewise.
23326 * include/grub/efi/api.h: Likewise.
23327 * include/grub/efi/console_control.h: Likewise.
23328 * include/grub/efi/efi.h: Likewise.
23329 * include/grub/efi/pe32.h: Likewise.
23330 * include/grub/i386/efi/time.h: Likewise.
23331 * kern/efi/efi.c: Likewise.
23332 * kern/i386/efi/init.c: Likewise.
23333 * kern/i386/efi/startup.S: Likewise.
23334 * util/i386/efi/grub-mkimage.c: Likewise.
23335
233362006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 23337
23338 * include/grub/script.h: Include <grub/parser.h> and
23339 "grub_script.tab.h".
23340 (struct grub_lexer_param): New struct.
23341 (struct grub_parser_param): Likewise.
23342 (grub_script_create_arglist): Pass the state in an argument.
23343 (grub_script_add_arglist): Likewise.
23344 (grub_script_create_cmdline): Likewise.
23345 (grub_script_create_cmdblock): Likewise.
23346 (grub_script_create_cmdif): Likewise.
23347 (grub_script_create_cmdmenu): Likewise.
23348 (grub_script_add_cmd): Likewise.
23349 (grub_script_arg_add): Likewise.
23350 (grub_script_lexer_ref): Likewise.
23351 (grub_script_lexer_deref): Likewise.
23352 (grub_script_lexer_record_start): Likewise.
23353 (grub_script_lexer_record_stop): Likewise.
23354 (grub_script_mem_record): Likewise.
23355 (grub_script_mem_record_stop): Likewise.
23356 (grub_script_malloc): Likewise.
23357 (grub_script_yylex): Likewise.
23358 (grub_script_yyparse): Likewise.
23359 (grub_script_yyerror): Likewise.
23360 (grub_script_yylex): Likewise.
23361 (grub_script_lexer_init): Return the state.
23362
23363 * normal/lexer.c (grub_script_lexer_state): Removed variable.
23364 (grub_script_lexer_done): Likewise.
23365 (grub_script_lexer_getline): Likewise.
23366 (grub_script_lexer_refs): Likewise.
23367 (script): Likewise.
23368 (newscript): Likewise.
23369 (record): Likewise.
23370 (recording): Likewise.
23371 (recordpos): Likewise.
23372 (recordlen): Likewise.
23373 (grub_script_lexer_init): Return the state instead of setting
23374 global variables.
23375 (grub_script_lexer_ref): Use the newly added argument for state
23376 instead of globals.
23377 (grub_script_lexer_deref): Likewise.
23378 (grub_script_lexer_record_start): Likewise.
23379 (grub_script_lexer_record_stop): Likewise.
23380 (recordchar): Likewise.
23381 (nextchar): Likewise.
23382 (grub_script_yylex2): Likewise.
23383 (grub_script_yylex): Likewise.
23384 (grub_script_yyerror): Likewise.
23385
23386 * normal/parser.y (func_mem): Removed variable.
23387 (menu_entry): Likewise.
23388 (err): Likewise.
23389 (%lex-param): New parser option.
23390 (%parse-param): Likewise.
23391 (script): Always return the AST.
23392 (argument): Pass the state around.
23393 (arguments): Likewise.
23394 (grubcmd): Likewise.
23395 (commands): Likewise.
23396 (function): Likewise.
23397 (menuentry): Likewise.
23398 (if_statement): Likewise.
23399 (if): Likewise.
23400
23401 * normal/script.c (grub_script_memused): Removed variable.
23402 (grub_script_parsed): Likewise.
23403 (grub_script_malloc): Added a state argument. Use that instead of
23404 global variables.
23405 (grub_script_mem_record): Likewise.
23406 (grub_script_mem_record_stop): Likewise.
23407 (grub_script_arg_add): Likewise.
23408 (grub_script_add_arglist): Likewise.
23409 (grub_script_create_cmdline): Likewise.
23410 (grub_script_create_cmdif): Likewise.
23411 (grub_script_create_cmdmenu): Likewise.
23412 (grub_script_add_cmd): Likewise.
23413 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 23414
e2a8c904 234152006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 23416
23417 * normal/command.c (grub_command_init): Remove the title command.
23418
23419 * normal/lexer.c (grub_script_yylex): Renamed from this...
23420 (grub_script_yylex2): ... to this.
23421 (grub_script_yylex): New function. Temporary
23422 introduced to filter some tokens.
23423 (grub_script_yyerror): Print a newline.
23424
23425 * normal/main.c (read_config_file): Output information about the
23426 lines that contain errors. Wait for a key after all lines have
23427 been processed. Don't return an empty menu.
23428
23429 * normal/parser.y (func_mem): Don't initialize.
23430 (menu_entry): Likewise.
23431 (err): New variable.
23432 (script): Don't return anything when an error was encountered.
23433 (ws, returns): Removed rules.
23434 (argument): Disabled concatenated variable support.
23435 (arguments): Remove explicit separators.
23436 (grubcmd): Likewise.
23437 (function): Likewise.
23438 (menuentry): Likewise.
23439 (if): Likewise.
23440 (commands): Likewise. Add error handling.
23441
23442 * normal/script.c (grub_script_create_cmdline): If
23443 `grub_script_parsed' is 0, assume the parser encountered an error.
23444
c9a86192 234452006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
23446
23447 * configure.ac: Add support for EFI. Fix the typo
23448 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
23449
70f3b243 234502006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
23451
23452 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
23453 foreign multibyte characters should be shown correctly.
23454
65f201ad 234552006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
23456
23457 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
23458 calculation.
23459 (read_config_file): Made it to close file before returning.
23460
b4b93674 234612006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
23462
23463 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
23464 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
23465 video/i386/pc/vbefill.c.
23466
23467 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
23468 video/i386/pc/vbefill.c.
23469
23470 * include/grub/video.h (grub_video_blit_format): New enum.
23471 (grub_video_mode_info): Added new member blit_format.
23472 (grub_video_get_blit_format): New function prototype.
23473
23474 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
23475 function prototype.
23476 (grub_video_vbe_map_rgb): Likewise.
23477 (grub_video_vbe_unmap_color): Likewise.
23478
23479 * include/grub/i386/pc/vbeblit.h: New file.
23480
23481 * include/grub/i386/pc/vbefill.h: New file.
23482
23483 * video/video.c (grub_video_get_blit_format): New function.
23484 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
23485 (grub_video_vbe_map_rgb): Likewise.
23486 (grub_video_vbe_unmap_color): Likewise.
23487
23488 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
23489 optimized fills.
23490 (grub_video_vbe_blit_render_target): Changed to use more optimized
23491 blits.
23492 (grub_video_vbe_setup): Added detection for optimized settings.
23493 (grub_video_vbe_create_render_target): Likewise.
23494
23495 * video/i386/pc/vbeblit.c: New file.
23496
23497 * video/i386/pc/vbefill.c: New file.
23498
c2379b9c 234992006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
23500
23501 * font/manager.c (grub_font_get_glyph): Removed font fixup from
23502 here...
23503
23504 * util/unifont2pff.rb: ... and moved it to here. Improved argument
23505 parsing to support both hex and dec ranges. If filename was missing
23506 show usage information.
23507
bd0d7896 235082006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
23509
23510 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
23511 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
23512
23513 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
23514 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
23515 (video_mod_SOURCES): Added.
23516 (video_mod_CFLAGS): Likewise.
23517 (video_mod_LDFLAGS): Likewise.
23518 (gfxterm_mod_SOURCES): Likewise.
23519 (gfxterm_mod_CFLAGS): Likewise.
23520 (gfxterm_mod_LDFLAGS): Likewise.
23521 (videotest_mod_SOURCES): Likewise.
23522 (videotest_mod_CFLAGS): Likewise.
23523 (videotest_mod_LDFLAGS): Likewise.
23524 (vesafb_mod_SOURCES): Removed.
23525 (vesafb_mod_CFLAGS): Likewise.
23526 (vesafb_mod_LDFLAGS): Likewise.
23527 (vga_mod_SOURCES): Likewise.
23528 (vga_mod_CFLAGS): Likewise.
23529 (vga_mod_LDFLAGS): Likewise.
23530
23531 * commands/videotest.c: New file.
23532
23533 * font/manager.c (fill_with_default_glyph): Modified to use
23534 grub_font_glyph.
23535 (grub_font_get_glyph): Likewise.
23536 (fontmanager): Renamed from this...
23537 (font_manager): ... to this.
23538
23539 * include/grub/font.h (grub_font_glyph): Added new structure.
23540 (grub_font_get_glyph): Modified to use grub_font_glyph.
23541
23542 * include/grub/misc.h (grub_abs): Added as inline function.
23543
23544 * include/grub/video.h: New file.
23545
23546 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
23547 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
23548 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
23549 (grub_vbe_get_controller_info): Renamed from this...
23550 (grub_vbe_bios_get_controller_info): ... to this.
23551 (grub_vbe_get_mode_info): Renamed from this...
23552 (grub_vbe_bios_get_mode_info): ... to this.
23553 (grub_vbe_set_mode): Renamed from this...
23554 (grub_vbe_bios_set_mode): ... to this.
23555 (grub_vbe_get_mode): Renamed from this...
23556 (grub_vbe_bios_get_mode): ... to this.
23557 (grub_vbe_set_memory_window): Renamed from this...
23558 (grub_vbe_bios_set_memory_window): ... to this.
23559 (grub_vbe_get_memory_window): Renamed from this...
23560 (grub_vbe_bios_get_memory_window): ... to this.
23561 (grub_vbe_set_scanline_length): Renamed from this...
23562 (grub_vbe_set_scanline_length): ... to this.
23563 (grub_vbe_get_scanline_length): Renamed from this...
23564 (grub_vbe_bios_get_scanline_length): ... to this.
23565 (grub_vbe_set_display_start): Renamed from this...
23566 (grub_vbe_bios_set_display_start): ... to this.
23567 (grub_vbe_get_display_start): Renamed from this...
23568 (grub_vbe_bios_get_display_start): ... to this.
23569 (grub_vbe_set_palette_data): Renamed from this...
23570 (grub_vbe_bios_set_palette_data): ... to this.
23571 (grub_vbe_set_pixel_rgb): Removed.
23572 (grub_vbe_set_pixel_index): Likewise.
23573
23574 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
23575 from this...
23576 (grub_vbe_bios_get_controller_info): ... to this.
23577 (grub_vbe_get_mode_info): Renamed from this...
23578 (grub_vbe_bios_get_mode_info): ... to this.
23579 (grub_vbe_set_mode): Renamed from this...
23580 (grub_vbe_bios_set_mode): ... to this.
23581 (grub_vbe_get_mode): Renamed from this...
23582 (grub_vbe_bios_get_mode): ... to this.
23583 (grub_vbe_set_memory_window): Renamed from this...
23584 (grub_vbe_bios_set_memory_window): ... to this.
23585 (grub_vbe_get_memory_window): Renamed from this...
23586 (grub_vbe_bios_get_memory_window): ... to this.
23587 (grub_vbe_set_scanline_length): Renamed from this...
23588 (grub_vbe_set_scanline_length): ... to this.
23589 (grub_vbe_get_scanline_length): Renamed from this...
23590 (grub_vbe_bios_get_scanline_length): ... to this.
23591 (grub_vbe_set_display_start): Renamed from this...
23592 (grub_vbe_bios_set_display_start): ... to this.
23593 (grub_vbe_get_display_start): Renamed from this...
23594 (grub_vbe_bios_get_display_start): ... to this.
23595 (grub_vbe_set_palette_data): Renamed from this...
23596 (grub_vbe_bios_set_palette_data): ... to this.
23597 (grub_vbe_bios_get_controller_info): Fixed problem with registers
23598 getting corrupted after calling it. Added more pushes and pops.
23599 (grub_vbe_bios_set_mode): Likewise.
23600 (grub_vbe_bios_get_mode): Likewise.
23601 (grub_vbe_bios_get_memory_window): Likewise.
23602 (grub_vbe_bios_set_scanline_length): Likewise.
23603 (grub_vbe_bios_get_scanline_length): Likewise.
23604 (grub_vbe_bios_get_display_start): Likewise.
23605 (grub_vbe_bios_set_palette_data): Likewise.
23606
23607 * normal/cmdline.c (cl_set_pos): Refresh the screen.
23608 (cl_insert): Likewise.
23609 (cl_delete): Likewise.
23610
23611 * term/gfxterm.c: New file.
23612
23613 * term/i386/pc/vesafb.c: Removed file.
23614
23615 * video/video.c: New file.
23616
23617 * video/i386/pc/vbe.c (real2pm): Added new function.
23618 (grub_video_vbe_draw_pixel): Likewise.
23619 (grub_video_vbe_get_video_ptr): Likewise.
23620 (grub_video_vbe_get_pixel): Likewise
23621 (grub_video_vbe_init): Likewise.
23622 (grub_video_vbe_fini): Likewise.
23623 (grub_video_vbe_setup): Likewise.
23624 (grub_video_vbe_get_info): Likewise.
23625 (grub_video_vbe_set_palette): Likewise.
23626 (grub_video_vbe_get_palette): Likewise.
23627 (grub_video_vbe_set_viewport): Likewise.
23628 (grub_video_vbe_get_viewport): Likewise.
23629 (grub_video_vbe_map_color): Likewise.
23630 (grub_video_vbe_map_rgb): Likewise.
23631 (grub_video_vbe_map_rgba): Likewise.
23632 (grub_video_vbe_unmap_color): Likewise.
23633 (grub_video_vbe_fill_rect): Likewise.
23634 (grub_video_vbe_blit_glyph): Likewise.
23635 (grub_video_vbe_blit_bitmap): Likewise.
23636 (grub_video_vbe_blit_render_target): Likewise.
23637 (grub_video_vbe_scroll): Likewise.
23638 (grub_video_vbe_swap_buffers): Likewise.
23639 (grub_video_vbe_create_render_target): Likewise.
23640 (grub_video_vbe_delete_render_target): Likewise.
23641 (grub_video_vbe_set_active_render_target): Likewise.
23642 (grub_vbe_set_pixel_rgb): Remove function.
23643 (grub_vbe_set_pixel_index): Likewise.
23644 (index_color_mode): Remove static variable.
23645 (active_mode): Likewise.
23646 (framebuffer): Likewise.
23647 (bytes_per_scan_line): Likewise.
23648 (grub_video_vbe_adapter): Added new static variable.
23649 (framebuffer): Likewise.
23650 (render_target): Likewise.
23651 (initial_mode): Likewise.
23652 (mode_in_use): Likewise.
23653 (mode_list): Likewise.
23654
5f97350b 236552006-03-10 Marco Gerards <marco@gnu.org>
23656
23657 * configure.ac (AC_INIT): Bumped to 1.93.
23658
23659 * DISTLIST: Added `include/grub/hfs.h'.
23660
a3c5c6f8 236612006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
23662
23663 * boot/i386/pc/boot.S (general_error): Before looping, try INT
23664 18H, which might help the BIOS falling back to next boot media.
23665
6de53d26 236662006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
23667
23668 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
23669 Poe Chen <poe.poechen@gmail.com>.
23670
77c4a393 236712006-01-17 Marco Gerards <marco@gnu.org>
23672
23673 * include/grub/normal.h: Include <grub/script.h>.
23674 (grub_command_list): Removed struct.
23675 (grub_command_list_t): Removed type.
23676 (grub_menu_entry): Remove members `num' and `command_list'. Add
23677 members `commands' and `sourcecode'.
23678 * include/grub/script.h: Add inclusion guards.
23679 (grub_script_cmd_menuentry): New struct.
23680 (grub_script_execute_menuentry): New prototype.
23681 (grub_script_lexer_record_start): Likewise.
23682 (grub_script_lexer_record_stop): Likewise.
23683 * normal/execute.c (grub_script_execute_menuentry): New function.
23684 * normal/lexer.c (record, recording, recordpos, recordlen): New
23685 variables.
23686 (grub_script_lexer_record_start): New function.
23687 (grub_script_lexer_record_stop): Likewise.
23688 (recordchar): Likewise.
23689 (nextchar): Likewise.
23690 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
23691 2048 as the buffer size. Add the tokens `menuentry' and `@'.
23692 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
23693 (current_menu): New variable.
23694 (free_menu): Mainly rewritten.
23695 (grub_normal_menu_addentry): New function.
23696 (read_config_file): Rewritten.
23697 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 23698 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 23699 the menu entry.
23700 (run): Mainly rewritten.
23701 * normal/parser.y (menu_entry): New variable.
23702 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
23703 (menuentry): New rule.
23704 (command): Add `menuentry'.
23705 (if_statement): Allow additional returns before `fi'.
23706 * normal/script.c (grub_script_create_cmdmenu): New function.
23707
144f1f98 237082006-01-03 Marco Gerards <marco@gnu.org>
23709
23710 * INSTALL: GNU Bison is required.
23711 * configure.ac: Rewritten the test to detect Bison.
23712 * Makefile.in (YACC): New variable. Reported by Xun Sun
23713 <xun.sun.cn@gmail.com>.
23714
af4b2d89 237152006-01-03 Marco Gerards <marco@gnu.org>
23716
23717 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
23718 the HFS+ filesystem to filesystem blocks.
23719 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
23720 GCC warning is silenced.
23721
15643b71 237222006-01-03 Marco Gerards <marco@gnu.org>
23723
23724 * partmap/apple.c (apple_partition_map_iterate): Convert the data
23725 read from disk from big endian to host byte order.
23726
00905879 237272006-01-03 Hollis Blanchard <hollis@penguinppc.org>
23728
23729 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
23730 documentation.
23731 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
23732 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
23733 embedded HFS+ filesystem.
23734 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
23735 (grub_hfs_sblock): Move from here...
23736 * include/grub/hfs.h: To here... New file.
23737 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
23738 documentation.
23739 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
23740 New macros.
23741 (grub_hfsplus_volheader): Change type of member `magic' to
23742 `grub_uint16_t'.
23743 (grub_hfsplus_data): Add new member `embedded_offset'.
23744 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
23745 returned block.
23746 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
23747 Calculate the offset.
23748
8899bc3e 237492005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
23750
23751 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
23752 Removed.
23753 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
23754
ae8c0277 237552005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
23756
23757 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
23758 ENV->NAME is NULL after allocating ENV->VALUE.
23759
07084456 237602005-12-25 Marco Gerards <marco@gnu.org>
23761
23762 * kern/env.c (grub_env_set): Rewritten the error handling code.
23763
4750f5f1 237642005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
23765
23766 * geninit.sh: Made more robust, and more portable.
23767
50214199 237682005-12-25 Marco Gerards <marco@gnu.org>
23769
23770 Add support for Apple HFS+ filesystems.
f19dbdb7 23771
50214199 23772 * fs/hfsplus.c: New file.
23773
23774 * DISTLIST: Added `fs/hfsplus.c'.
23775
23776 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
23777 (hfsplus_mod_SOURCES): New variable.
23778 (hfsplus_mod_CFLAGS): Likewise.
23779 (hfsplus_mod_LDFLAGS): Likewise.
23780 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
23781 (grub_setup_SOURCES): Likewise.
23782 (grub_mkdevicemap_SOURCES): Likewise.
23783 (grub_emu_SOURCES): Likewise.
23784 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23785
23786 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
23787
23788 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
23789
befaed6c 237902005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
23791
23792 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
23793 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
23794 include/grub/parser.h, include/grub/script.h, kern/parser.c,
23795 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
23796 normal/lexer.c, normal/parser.y, normal/script.c, and
23797 partmap/gpt.c.
23798 Removed kern/sparc64/cache.c.
23799
23800 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
23801 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
23802 grub_emu_init.c.
23803
23804 * configure.ac (AC_INIT): Bumped to 1.92.
23805
6a124103 238062005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
23807
23808 * kern/err.c (grub_error_push): Added new function to support error
23809 stacks.
23810 (grub_error_pop): Likewise.
23811 (grub_error_stack_items): New local variable to support error stacks.
23812 (grub_error_stack_pos): Likewise.
23813 (grub_error_stack_assert): Likewise.
23814 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
23815 stack depth.
23816 (grub_print_error): Added support to print errors from error stack.
23817
23818 * include/grub/err.h (grub_error_push): Added function prototype.
23819 (grub_error_pop): Likewise.
23820
be973c1b 238212005-12-09 Hollis Blanchard <hollis@penguinppc.org>
23822
23823 * configure.ac: Accept `powerpc64' as host_cpu.
23824 (amd64): Rename to `biarch32'.
23825
23826 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
23827 non-cacheline-aligned addresses.
23828
23829 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
23830 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
23831 if `size' is non-zero.
23832
b04216ab 238332005-12-03 Marco Gerards <mgerards@xs4all.nl>
23834
23835 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
23836 and `cd' to make sure the filename is not prefixed with a
23837 directory name.
23838 (pkgdata_MODULES): Add `gpt.mod'.
23839 (gpt_mod_SOURCES): New variable.
23840 (gpt_mod_CFLAGS): Likewise.
23841 (gpt_mod_LDFLAGS): Likewise.
23842
23843 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
23844
23845 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
23846 New macro.
23847
23848 * partmap/gpt.c: New file.
23849
23850 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
23851 GPT partition map is detected.
23852
41730ed9 238532005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
23854
23855 * commands/i386/pc/play.c: New file.
23856 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
23857 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
23858 macros.
f19dbdb7 23859
95dc3643 238602005-11-27 Marco Gerards <mgerards@xs4all.nl>
23861
23862 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
23863 ((unused))' to silence gcc warning.
23864
1569ec51 238652005-11-26 Hollis Blanchard <hollis@penguinppc.org>
23866
23867 * configure.ac: Correct `AC_PROG_YACC' test.
23868
9abde152 238692005-11-22 Hollis Blanchard <hollis@penguinppc.org>
23870
23871 * util/powerpc/ieee1275/grub-install.in: Run the mount point
23872 check before installing files.
23873
44b83271 238742005-11-22 Mike Small <smallm@panix.com>
23875
23876 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
23877 number regex so multidigit numbers are recognized correctly.
23878
238792005-11-22 Mike Small <smallm@panix.com>
23880
23881 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
23882 debugging message before attempting to claim memory.
23883 (grub_rescue_cmd_initrd): Add a claim debugging message and try
23884 multiple addresses in case of failure.
23885
9c12956b 238862005-11-22 Hollis Blanchard <hollis@penguinppc.org>
23887
23888 * term/tparm.c (get_space): Remove empty `if' statement.
23889
23890 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
23891
23892 * kern/parser.c (check_varstate): Rename `state' to 's'.
23893
aeaf81d9 238942005-11-22 Hollis Blanchard <hollis@penguinppc.org>
23895
23896 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
23897 variable definitions to the beginning of each function. Sort stack
23898 variables by size.
23899 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
23900 `buf' argument to `char *'.
23901
79bbb63f 239022005-11-22 Hollis Blanchard <hollis@penguinppc.org>
23903
23904 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
23905 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 23906 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 23907 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
23908 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
23909 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
23910 configfile.mod, search.mod, gzio.mod and test.mod.
23911 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
23912 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
23913 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
23914 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
23915 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
23916 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
23917 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
23918 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
23919 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
23920 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
23921 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
23922 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
23923 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
23924 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
23925 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
23926 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
23927 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
23928 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
23929 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
23930 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
23931 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
23932 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
23933 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
23934
23935 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
23936 `grep --include'.
23937 (pkgdata_MODULES): Add test.mod.
23938
233b1628 239392005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
23940
23941 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
23942 appending to variables with "+=".
23943 (PModule): Use full pathname to generate *.lst filenames.
23944
23945 * Makefile.in: Fixed list rules moved from genmk.rb.
23946 (.DELETE_ON_ERROR): New special target.
23947 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
23948
23949 * conf/i386-pc.rmk: Include conf/common.mk.
23950 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 23951 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 23952 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
23953 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
23954 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
23955 configfile.mod, search.mod, gzio.mod and test.mod.
23956 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
23957 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
23958 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
23959 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
23960 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
23961 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
23962 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
23963 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
23964 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
23965 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
23966 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
23967 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
23968 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
23969 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
23970 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
23971 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
23972 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
23973 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
23974 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
23975 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
23976 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
23977 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
23978 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
23979 here...
23980 * conf/common.rmk: ... to here. New file.
23981
23982 * conf/common.mk: New file.
23983
16f820c8 239842005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
23985
23986 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
23987 (grub_script.tab.c): ... here.
23988
23989 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
23990 (grub_script.tab.c): ... here.
23991
23992 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
23993 (grub_script.tab.c): ... here.
23994
23995 * normal/command.c (grub_command_find): Fixed a memory leak of
23996 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
23997
63ba1554 239982005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
23999
24000 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
24001 "@" which marks the start of a comment on ARM.
24002 (VARIABLE): Likewise.
24003
7f67dc13 240042005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
24005
79bbb63f 24006 Add support for Linux/ADFS partition tables.
7f67dc13 24007
24008 * partmap/acorn.c: New file.
24009
24010 * include/grub/acorn_filecore.h: Likewise.
24011
24012 * DISTLIST: Added `partmap/acorn.c' and
24013 `include/grub/acorn_filecore.h'.
f19dbdb7 24014
7f67dc13 24015 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
24016 `partmap/acorn.c'.
24017 (pkgdata_MODULES): Add `acorn.mod'.
24018 (acorn_mod_SOURCES): New variable.
24019 (acorn_mod_CFLAGS): Likewise.
24020
24021 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
24022 `partmap/acorn.c'.
24023 (pkgdata_MODULES): Add `acorn.mod'.
24024 (acorn_mod_SOURCES): New variable.
24025 (acorn_mod_CFLAGS): Likewise.
24026
24027 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
24028 (pkgdata_MODULES): Add `acorn.mod'.
24029 (acorn_mod_SOURCES): New variable.
24030 (acorn_mod_CFLAGS): Likewise.
24031 (acorn_mod_LDFLAGS): Likewise.
24032
24033 * include/types.h (grub_disk_addr_t): New typedef.
24034
6d099807 240352005-11-13 Marco Gerards <mgerards@xs4all.nl>
24036
24037 * geninit.sh: New file.
24038
24039 * geninitheader.sh: Likewise.
24040
24041 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
24042 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
24043 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
24044 * commands/configfile.c (grub_configfile_init)
24045 (grub_configfile_fini): Likewise.
24046 * commands/default.c (grub_default_init, grub_default_fini):
24047 Likewise.
24048 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
24049 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
24050 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
24051 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
24052 Likewise.
24053 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
24054 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
24055 Likewise.
24056 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 24057 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 24058 Likewise.
24059 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
24060 Likewise.
fe6b695a 24061 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 24062 Likewise.
24063 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
24064 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
24065 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
24066 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
24067 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
24068 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
24069 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
24070 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
24071 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
24072 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
24073 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
24074 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
24075 * partmap/amiga.c (grub_amiga_partition_map_init)
24076 (grub_amiga_partition_map_fini): Likewise.
24077 * partmap/apple.c (grub_apple_partition_map_init)
24078 (grub_apple_partition_map_fini): Likewise.
24079 * partmap/pc.c (grub_pc_partition_map_init)
24080 (grub_pc_partition_map_fini): Likewise.
24081 * partmap/sun.c (grub_sun_partition_map_init,
24082 grub_sun_partition_map_fini): Likewise.
24083 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
24084 Likewise.
24085
24086 * util/grub-emu.c: Include <grub_modules_init.h>.
24087 (main): Don't initialize and de-initialize any modules directly,
24088 use `grub_init_all' and `grub_fini_all' instead.
24089
24090 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
24091 `grub_vesafb_mod_init'.
24092 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
24093 all users.
24094 * term/i386/pc/vga.c (grub_vga_init): Renamed to
24095 `grub_vga_mod_init'. Updated all users.
24096 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 24097
6d099807 24098 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
24099 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
24100 rules.
24101
24102 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
24103 Generate a function to initialize the module in utilities.
24104 Updated all callers.
24105 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
24106 initialize the module in utilities. Updated all callers.
24107
9046bcf0 241082005-11-09 Hollis Blanchard <hollis@penguinppc.org>
24109
24110 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
24111 escape sequence and a literal ^L to clear the screen.
24112
24113 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
24114 when returning from Open Firmware.
24115
d13ea639 241162005-11-09 Hollis Blanchard <hollis@penguinppc.org>
24117
24118 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
24119 (grub_ofconsole_height): Likewise.
24120 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
24121 manually insert a '\n'.
24122 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
24123 `grub_ofconsole_height'. Return early if these are already set.
24124
a8fcf206 241252005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
24126
24127 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
24128 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
24129 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
24130 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
24131 and `normal/script.c'.
24132 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
24133 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
24134 (test_mod_SOURCES): New variable.
24135 (test_mod_CFLAGS): Likewise.
24136 (test_mod_LDFLAGS): Likewise.
24137 (pkgdata_MODULES): Add `test.mod'.
24138 (grub_script.tab.c): New rule.
24139 (grub_script.tab.h): Likewise.
24140
b6b32745 241412005-11-07 Marco Gerards <mgerards@xs4all.nl>
24142
24143 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
24144 `commands/test.c', `normal/execute.c', `normal/lexer.c',
24145 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
24146 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
24147 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
24148 (test_mod_SOURCES): New variable.
24149 (test_mod_CFLAGS): Likewise.
24150 (pkgdata_MODULES): Add `test.mod'.
24151 (grub_script.tab.c): New rule.
24152 (grub_script.tab.h): Likewise.
24153
daac212a 241542005-11-06 Marco Gerards <mgerards@xs4all.nl>
24155
24156 Add initial scripting support.
24157
24158 * commands/test.c: New file.
24159 * include/grub/script.h: Likewise.
24160 * normal/execute.c: Likewise.
24161 * normal/function.c: Likewise.
24162 * normal/lexer.c: Likewise.
24163 * normal/parser.y: Likewise.
24164 * normal/script.c: Likewise.
24165
24166 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 24167
daac212a 24168 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
24169 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
24170 `normal/function.c' and `normal/script.c'.
24171 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
24172 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 24173 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
24174 variables.
daac212a 24175 (pkgdata_MODULES): Add `test.mod'.
24176 (grub_script.tab.c): New rule.
24177 (grub_script.tab.h): Likewise.
24178
24179 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
24180
24181 * include/grub/normal.h (grub_test_init): New prototype.
24182 (grub_test_fini): Likewise.
f19dbdb7 24183
daac212a 24184 * normal/command.c: Include <grub/script.h>.
24185 (grub_command_execute): Rewritten.
f19dbdb7 24186
daac212a 24187 * util/grub-emu.c (main): Call `grub_test_init' and
24188 `grub_test_fini'.
24189
77500b2b 241902005-11-03 Hollis Blanchard <hollis@penguinppc.org>
24191
24192 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
24193 to 0.
24194 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
24195 there are no pending characters.
24196
e45deb9e 241972005-11-03 Hollis Blanchard <hollis@penguinppc.org>
24198
24199 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
24200 `grub_strndup' to drop device arguments. Replace unnecessary
24201 `grub_strndup' with `grub_strdup'.
24202
4ce32619 242032005-11-03 Hollis Blanchard <hollis@penguinppc.org>
24204
24205 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
24206 `debug' environment variable has been set.
24207
242082005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 24209
4ce32619 24210 * Makefile.in (install-local): Use $(DATA).
24211 (uninstall): Likewise.
24212 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
24213 (sbin_UTILITIES): ... to here.
24214 (sbin_SCRIPTS): New variable.
24215 (grub_install_SOURCES): New variable.
24216 * util/powerpc/ieee1275/grub-install.in: New file.
24217 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
24218 variable.
24219 (add_segments): Call `grub_util_get_path'.
24220
25fe6f03 242212005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
24222
24223 From Timothy Baldwin:
24224 * commands/ls.c (grub_ls_list_files): Close FILE with
24225 grub_file_close.
24226 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
24227
04ccf3ec 242282005-10-24 Marco Gerards <mgerards@xs4all.nl>
24229
24230 * include/grub/parser.h: New file.
24231
24232 * kern/parser.c: Likewise.
24233
24234 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
24235 (grub_setup_SOURCES): Likewise.
24236 (grub_probefs_SOURCES): Likewise.
24237 (grub_emu_SOURCES): Likewise.
24238 (kernel_img_HEADERS): Add `parser.h'.
24239
24240 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
24241 (grub_emu_SOURCES): Add `kern/parser.c'.
24242 (grubof_SOURCES): Likewise.
24243
24244 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
24245 (grubof_SOURCES): Add `kern/parser.c'.
24246
24247 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
24248
24249 * kern/misc.c (grub_split_cmdline): Removed function.
24250
24251 * kern/rescue.c: Include <grub/parser.h>.
24252 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
24253 of `grub_split_cmdline'.
24254
24255 * normal/command.c: Include <grub/parser.h>.
24256 (grub_command_execute): Use `grub_parser_split_cmdline' instead
24257 of `grub_split_cmdline'.
24258
24259 * normal/completion.c: Include <grub/parser.h>.
24260 (cmdline_state): New variable.
24261 (iterate_dir): End the filename with a quote depending on the
24262 command line state.
24263 (get_state): new function.
24264 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
24265 split the arguments and determine the current argument. When the
24266 argument string is not quoted, escape all spaces.
24267
6d8f4b0e 242682005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
24269
24270 * normal/sparc64/setjmp.S: New file.
24271
15cf03ed 242722005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
24273
24274 * include/grub/sparc64/libgcc.h: New file.
24275 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
24276 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
24277 normal/sparc64/setjmp.c.
24278
03e8661a 242792005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
24280
24281 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
24282 * kern/sparc64/cache.S: New file.
24283 * kern/sparc64/cache.c: Removed.
24284 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
24285 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
24286 -mtune=ultrasparc.
24287 (COMMON_LDFLAGS): Add -melf64_sparc.
24288 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
24289 (grubof_SOURCES): Use cache.S instead of cache.c.
24290 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
24291 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
24292 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
24293 commented though.
24294 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
24295 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
24296 (linux_mod_CFLAGS): Commented out.
24297 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
24298 out because module isn't built.
24299 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
24300 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
24301 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
24302 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
24303 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
24304 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
24305 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
24306 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
24307 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
24308 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
24309 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
24310 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
24311 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
24312 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
24313
34eeec8a 243142005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
24315
24316 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
24317 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
24318 longer, because HFS should not be used on PC.
24319
708367a3 243202005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
24321
24322 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
24323 consistently within the loop.
24324
6fa1251a 243252005-10-15 Marco Gerards <mgerards@xs4all.nl>
24326
24327 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
24328 directory can not be read.
24329
4801580b 243302005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
24331
24332 * configure.ac (AC_INIT): Increase the version number to 1.91.
24333
24334 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
24335 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
24336 term/i386/pc/serial.c.
24337
219ad426 243382005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
24339
24340 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
24341 file size must be permitted.
24342
24343 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
24344 between %ah and %al.
24345
688e5699 243462005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
24347
24348 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
24349 grub_uint64_t.
24350 Call the hook with a NUL-terminated filename.
24351 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
24352 grub_cpu_to_be32.
24353
24354 * kern/term.c (cursor_state): New variable.
24355 (grub_term_set_current): Reset the cursor state on a new
24356 terminal.
24357 (grub_setcursor): Rewritten to use CURSOR_STATE.
24358 (grub_getcursor): New function.
24359
24360 * include/grub/term.h (grub_getcursor): New prototype.
24361
24362 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
24363 integers on ARM. Reported by Timothy Baldwin
24364 <T.E.Baldwin99@members.leeds.ac.uk>.
24365
bb34586c 243662005-10-11 Marco Gerards <mgerards@xs4all.nl>
24367
24368 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
24369 allocated.
24370 (grub_sfs_dir): Likewise.
24371
9a909877 243722005-10-09 Marco Gerards <mgerards@xs4all.nl>
24373
24374 Add support for the SFS filesystem.
24375
24376 * fs/sfs.c: New file.
24377
24378 * DISTLIST: Added `fs/sfs.c'.
24379
24380 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
24381 (grub_probefs_SOURCES): Likewise.
24382 (grub_emu_SOURCES): Likewise.
24383 (pkgdata_MODULES): Add `sfs.mod'.
24384 (sfs_mod_SOURCES): New variable.
24385 (sfs_mod_CFLAGS): Likewise.
24386 (sfs_mod_LDFLAGS): Likewise.
24387
24388 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
24389 (pkgdata_MODULES): Add `sfs.mod'.
24390 (sfs_mod_SOURCES): New variable.
24391 (sfs_mod_CFLAGS): Likewise.
24392
24393 * util/grub-emu.c (main): Call `grub_sfs_init' and
24394 `grub_sfs_fini'.
24395
24396 * include/grub/fs.h (grub_sfs_init): New prototype.
24397 (grub_sfs_fini): Likewise.
24398
57bdbde3 243992005-10-07 Marco Gerards <mgerards@xs4all.nl>
24400
24401 Add support for the AFFS filesystem.
24402
24403 * fs/affs.c: New file.
24404
24405 * DISTLIST: Added `fs/affs.c'.
24406
24407 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
24408 (grub_probefs_SOURCES): Likewise.
24409 (grub_emu_SOURCES): Likewise.
24410 (pkgdata_MODULES): Add `affs.mod'.
24411 (affs_mod_SOURCES): New variable.
24412 (affs_mod_CFLAGS): Likewise.
24413 (affs_mod_LDFLAGS): Likewise.
24414
24415 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
24416 (pkgdata_MODULES): Add `affs.mod'.
24417 (affs_mod_SOURCES): New variable.
24418 (affs_mod_CFLAGS): Likewise.
24419
24420 * util/grub-emu.c (main): Call `grub_affs_init' and
24421 `grub_affs_fini'.
24422
24423 * include/grub/fs.h (grub_affs_init): New prototype.
24424 (grub_affs_fini): Likewise.
24425
047b67e0 244262005-10-01 Marco Gerards <mgerards@xs4all.nl>
24427
24428 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
24429
59b8208a 244302005-10-01 Marco Gerards <mgerards@xs4all.nl>
24431
24432 * configure.ac: Accept `x86_64' as host_cpu. In that case add
24433 `-m32' to CFLAGS.
24434
24435 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
24436 linking.
f19dbdb7 24437
59b8208a 24438 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
24439 (COMMON_LDFLAGS): New variable.
24440 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
24441 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
24442 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
24443 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
24444 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
24445 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
24446 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
24447 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
24448 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
24449 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
24450 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
24451 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
24452 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
24453 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
24454 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
24455 variables.
24456 (normal_mod_ASFLAGS): Add `-m32'.
24457
24458 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
24459 (grub_host_size_t, grub_host_ssize_t): New types.
24460 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 24461 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 24462 `GRUB_HOST_SIZEOF_VOID_P'.
24463
24464 * include/grub/kernel.h (struct grub_module_header): Type of
24465 member offset changed to `grub_host_off_t'. Type of member size
24466 changed to `grub_host_size_t'.
24467 (struct grub_module_info): Type of member offset changed to
24468 `grub_host_off_t'. Type of member size changed to
24469 `grub_host_size_t'.
24470
b4093103 244712005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
24472
24473 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 24474
b4093103 24475 * kern/i386/pc/startup.S (multiboot_header): New label.
24476 (multiboot_entry): Likewise.
24477 (multiboot_trampoline): Likewise.
24478
24479 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
24480 Increased to 0x4A0.
24481
24482 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
24483 put parentheses after a question mark.
24484 [!GRUB_UTIL] (my_mod): New variable.
24485
24486 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
24487
b2499b29 244882005-09-28 Marco Gerards <mgerards@xs4all.nl>
24489
24490 Adds support for the XFS filesystem. Btrees are not supported
24491 yet.
24492
24493 * fs/xfs.c: New file.
24494
24495 * DISTLIST: Added `fs/xfs.c'.
24496
24497 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
24498 (grub_probefs_SOURCES): Likewise.
24499 (grub_emu_SOURCES): Likewise.
24500 (pkgdata_MODULES): Add `xfs.mod'.
24501 (xfs_mod_SOURCES): New variable.
24502 (xfs_mod_CFLAGS): Likewise.
24503
24504 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
24505 (pkgdata_MODULES): Add `xfs.mod'.
24506 (xfs_mod_SOURCES): New variable.
24507 (xfs_mod_CFLAGS): Likewise.
24508
24509 * util/grub-emu.c (main): Call `grub_xfs_init' and
24510 `grub_xfs_fini'.
24511
24512 * include/grub/fs.h (grub_xfs_init): New prototype.
24513 (grub_xfs_fini): Likewise.
24514
f19dbdb7 24515
83d37a62 245162005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
24517
24518 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
24519 color modes, allow greater than 16 colors to be configured as
24520 a default palette.
24521
47d2d65e 245222005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
24523
24524 * normal/completion.c (complete_arguments): Add the qualifier
24525 const into OPTIONS.
24526
24527 From Omniflux <omniflux+lists@omniflux.com>:
24528 * include/grub/terminfo.h: New file.
24529 * include/grub/tparm.h: Likewise.
24530 * include/grub/i386/pc/serial.h: Likewise.
24531 * term/terminfo.c: Likewise.
24532 * term/tparm.c: Likewise.
24533 * term/i386/pc/serial.c: Likewise.
24534 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
24535 serial.mod.
24536 (terminfo_mod_SOURCES): New variable.
24537 (terminfo_mod_CFLAGS): Likewise.
24538 (serial_mod_SOURCES): Likewise.
24539 (serial_mod_CFLAGS): Likewise.
24540
48b671ff 245412005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
24542
24543 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
24544 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
24545 and kern/powerpc/ieee1275/cmain.c, respectively.
24546
24547 * boot/powerpc/ieee1275/crt0.S: Moved to ...
24548 * kern/powerpc/ieee1275/crt0.S: ... here.
24549
24550 * boot/powerpc/ieee1275/cmain.c: Moved to ...
24551 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 24552
48b671ff 24553 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
24554 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
24555 instead of boot/powerpc/ieee1275/crt0.S and
24556 boot/powerpc/ieee1275/cmain.c, respectively.
24557
24558 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
24559 sectors. It was not used anyway.
24560
09fc77a7 245612005-08-30 Hollis Blanchard <hollis@penguinppc.org>
24562
24563 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
24564 `unused parameter' warning.
24565
003789c7 245662005-08-30 Hollis Blanchard <hollis@penguinppc.org>
24567
24568 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
24569 function.
24570 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
24571 getcharwidth.
24572
67f44c86 245732005-08-28 Marco Gerards <metgerards@student.han.nl>
24574
24575 * include/grub/normal.h (enum grub_completion_type): Added
24576 `GRUB_COMPLETION_TYPE_ARGUMENT'.
24577
24578 * normal/cmdline.c (print_completion): Handle
24579 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
24580 * normal/menu_entry.c (store_completion): Likewise.
24581
24582 * normal/completion.c (complete_arguments): New function.
24583 (grub_normal_do_completion): Call `complete_arguments' when the
24584 current words start with a dash.
24585
0b5abe02 245862005-08-27 Marco Gerards <metgerards@student.han.nl>
24587
24588 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
24589 `gzio.mod' instead of `io.mod').
24590
d9864ee1 245912005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
24592
24593 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
24594 (DISTDIRS): Added io and video.
24595 Rewrite the search routine to make an output consistently.
24596
24597 * DISTLIST: Added conf/sparc64-ieee1275.mk,
24598 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
24599 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
24600 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
24601 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
24602 util/powerpc/ieee1275/misc.c.
f19dbdb7 24603
d9864ee1 24604 * include/grub/gzio.h: New file.
24605 * io/gzio.c: Likewise.
f19dbdb7 24606
d9864ee1 24607 * kern/file.c (grub_file_close): Call grub_device_close only if
24608 FILE->DEVICE is not NULL.
24609
24610 * include/grub/mm.h [!NULL] (NULL): New macro.
24611
24612 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
24613
24614 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
24615 (pkgdata_MODULES): Added gzio.mod.
24616 (gzio_mod_SOURCES): New variable.
24617 (gzio_mod_CFLAGS): Likewise.
24618
24619 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
24620 (pkgdata_MODULES): Added gzio.mod.
24621 (gzio_mod_SOURCES): New variable.
24622 (gzio_mod_CFLAGS): Likewise.
24623
24624 * commands/cat.c: Include grub/gzio.h.
24625 (grub_cmd_cat): Use grub_gzfile_open instead of
24626 grub_file_open.
f19dbdb7 24627
d9864ee1 24628 * commands/cmp.c: Include grub/gzio.h.
24629 (grub_cmd_cmp): Use grub_gzfile_open instead of
24630 grub_file_open.
24631
24632 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
24633 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
24634 grub_file_open.
24635 (grub_rescue_cmd_module): Likewise.
24636
fa46f4b5 246372005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
24638
24639 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
24640 kern/sparc64/ieee1275/init.c because it contains _start.
24641 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
24642
e9211b5d 246432005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
24644
24645 * configure.ac: Add support for sparc64 host with ieee1275
24646 firmware.
24647 * configure: Generated from configure.ac.
24648 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
24649 instead of int.
24650 (grub_ofdisk_read): Likewise.
24651 (grub_ofdisk_open): Use %p to print pointer values, and cast the
24652 pointers as (void *) to remove a warning.
24653 (grub_ofdisk_close): Likewise.
24654 (grub_ofdisk_read): Likewise.
24655 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
24656 returns, so make it return void to remove a warning.
24657 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
24658 Corresponding prototype change.
24659 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
24660 values, and cast the pointers as (void *) to remove a warning.
24661 (grub_mm_dump): Likewise.
24662 * conf/sparc64-ieee1275.mk: New file.
24663 * conf/sparc64-ieee1275.rmk: Likewise.
24664 * include/grub/sparc64/setjmp.h: Likewise.
24665 * include/grub/sparc64/types.h: Likewise.
24666 * include/grub/sparc64/ieee1275/console.h: Likewise.
24667 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
24668 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
24669 * include/grub/sparc64/ieee1275/time.h: Likewise.
24670 * kern/sparc64/cache.c: Likewise.
24671 * kern/sparc64/dl.c: Likewise.
24672 * kern/sparc64/ieee1275/init.c: Likewise.
24673 * kern/sparc64/ieee1275/openfw.c: Likewise.
24674
385c6a92 246752005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
24676
24677 * util/console.c (grub_ncurses_putchar): If C is greater than
24678 0x7f, set C to a question mark.
24679 (grub_ncurses_getcharwidth): New function.
24680 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
24681 getcharwidth.
24682
24683 * normal/menu.c (print_entry): Made aware of Unicode. First,
24684 convert TITLE to UCS-4, and predict the cursor position by
24685 grub_getcharwidth.
24686
24687 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
24688 const to SRC.
24689 * kern/misc.c (grub_utf16_to_utf8): Likewise.
24690
16ccb8b1 246912005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
24692
24693 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
24694 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
24695 grub_strcat.
24696
24697 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
24698 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
24699 grub_strcpy and grub_strlen. Take it into account that a space
24700 character is inserted as a delimiter.
24701
6a85ce79 247022005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
24703
24704 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 24705 invalid magic in the error.
6a85ce79 24706
24707 * commands/search.c: New file.
f19dbdb7 24708
6a85ce79 24709 * util/grub-emu.c (main): Call grub_search_init and
24710 grub_search_fini.
24711
24712 * kern/rescue.c (grub_rescue_print_disks): Removed.
24713 (grub_rescue_print_devices): New function.
24714 (grub_rescue_cmd_ls): Use grub_device_iterate with
24715 grub_rescue_print_devices instead of grub_disk_dev_iterate with
24716 grub_rescue_print_disks.
24717
24718 * kern/partition.c (grub_partition_iterate): Return the result of
24719 PARTMAP->ITERATE instead of GRUB_ERRNO.
24720
24721 * kern/device.c: Include grub/partition.h.
24722 (grub_device_iterate): New function.
24723
24724 * include/grub/partition.h (grub_partition_iterate): Return int
24725 instead of grub_err_t.
24726
24727 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
24728 prototype.
24729 [GRUB_UTIL] (grub_search_fini): Likewise.
24730
24731 * include/grub/device.h (grub_device_iterate): New prototype.
24732
24733 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
24734 commands/search.c.
24735 (pkgdata_MODULES): Added search.mod.
24736 (search_mod_SOURCES): New variable.
24737 (search_mod_CFLAGS): Likewise.
24738
24739 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
24740 (pkgdata_MODULES): Added search.mod.
24741 (search_mod_SOURCES): New variable.
24742 (search_mod_CFLAGS): Likewise.
24743
24744 * commands/ls.c (grub_ls_list_disks): Renamed to ...
24745 (grub_ls_list_devices): ... this, and use grub_device_iterate.
24746 All callers changed.
24747
24748 * DISTLIST: Added commands/search.c.
24749
ef095434 247502005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
24751
24752 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
24753 conversion.
24754 (grub_getcharwidth): New function.
24755
24756 * kern/misc.c (grub_utf8_to_ucs4): New function.
24757
24758 * include/grub/term.h (struct grub_term): Added a new member
24759 "getcharwidth".
24760 (grub_getcharwidth): New prototype.
24761
24762 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
24763
24764 * term/i386/pc/console.c (map_char): New function. Segregated from
24765 grub_console_putchar.
24766 (grub_console_putchar): Use map_char.
24767 (grub_console_getcharwidth): New function.
24768 (grub_console_term): Specified grub_console_getcharwidth as
24769 getcharwidth.
24770
24771 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
24772 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
24773
24774 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
24775 GRUB_ERRNO.
24776 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
24777 on grub_strtoul completely.
24778 (write_char): Declare local variables in the beginning of the
24779 function.
24780 (grub_vesafb_getcharwidth): New function.
24781 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
24782 getcharwidth.
24783
1f0a95e4 247842005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
24785
24786 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
24787 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
24788 commands/i386/pc/vbetest.c.
24789
24790 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
24791 call grub_vbe_get_controller_info again, because the returned
24792 information is volatile.
24793 (grub_vbe_set_video_mode): Mostly rewritten.
24794 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
24795 grub_vbe_status_t correctly.
24796 (grub_vbe_get_video_mode_info): Likewise.
24797 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
24798 several if statements.
24799
24800 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
24801 * commands/i386/pc/vbeinfo.c: ... this.
24802
24803 * commands/i386/pc/vbe_test.c: Renamed to ...
24804 * commands/i386/pc/vbetest.c: ... this.
24805
24806 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
24807 ...
24808 (grub_cmd_vbeinfo): ... this. Save video modes before
24809 iterating. Skip a video mode, if it is not available, not enough
24810 information is given or it is monochrome. Show the memory
24811 model. Leave the interpretation of MODEVAR to grub_strtoul
24812 completely.
24813 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
24814 (GRUB_MOD_FINI): Likewise.
24815
24816 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
24817 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
24818 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
24819 duplicated grub_env_get. Leave the interpretation of MODEVAR to
24820 grub_strtoul completely.
24821 (real2pm): Removed.
24822 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
24823 (GRUB_MOD_FINI): Likewise.
24824
24825 * normal/misc.c: Include grub/mm.h.
24826
24827 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
24828 vbe_list_modes with vbetest.mod and vbeinfo.mod.
24829 (vbe_list_modes_mod_SOURCES): Removed.
24830 (vbe_list_modes_mod_CFLAGS): Likewise.
24831 (vbe_test_mod_SOURCES): Likewise.
24832 (vbe_test_mod_CFLAGS): Likewise.
24833 (vbeinfo_mod_SOURCES): New variable.
24834 (vbeinfo_mod_CFLAGS): Likewise.
24835 (vbetest_mod_SOURCES): Likewise.
24836 (vbetest_mod_CFLAGS): Likewise.
24837
992ffbbe 248382005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
24839
24840 * normal/misc.c: New file.
24841
24842 * DISTLIST: Added normal/misc.c.
f19dbdb7 24843
992ffbbe 24844 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
24845 DISK to HOOK. Call HOOK with DISK.
24846 * partmap/apple.c (apple_partition_map_iterate): Likewise.
24847 * partmap/pc.c (pc_partition_map_iterate): Likewise.
24848 * partmap/sun.c (sun_partition_map_iterate): Likewise.
24849
24850 * normal/menu_entry.c (struct screen): Added a new member
24851 "completion_shown".
24852 (completion_buffer): New global variable.
24853 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
24854 (store_completion): New function.
24855 (complete): Likewise.
24856 (clear_completions): Likewise.
24857 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
24858 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
24859 a tab, call complete.
24860
24861 * normal/completion.c (disk_dev): Removed.
24862 (print_simple_completion): Likewise.
24863 (print_partition_completion): Likewise.
24864 (print_func): New global variable.
24865 (add_completion): Do not take the arguments WHAT or PRINT any
24866 longer. Added a new argument TYPE. Instead of printing directly,
24867 call PRINT_FUNC if not NULL.
24868 All callers changed.
24869 (complete_device): Use a local variable DEV instead of
24870 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
24871 (grub_normal_do_completion): Take a new argument HOOK. Do not
24872 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
24873 empty string, return NULL instead.
24874 All callers changed.
24875
24876 * normal/cmdline.c (print_completion): New function.
24877
24878 * kern/partition.c (grub_partition_iterate): Add an argument DISK
24879 to HOOK.
24880 All callers changed.
24881
24882 * kern/disk.c (grub_print_partinfo): Removed.
24883
24884 * include/grub/partition.h (struct grub_partition_map): Add a new
24885 argument DISK into HOOK of ITERATE.
24886 (grub_partition_iterate): Add a new argument DISK to HOOK.
24887
24888 * include/grub/normal.h (enum grub_completion_type): New enum.
24889 (grub_completion_type_t): New type.
24890 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
24891 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
24892 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
24893 (GRUB_COMPLETION_TYPE_FILE): Likewise.
24894 (grub_normal_do_completion): Added a new argument HOOK.
24895 (grub_normal_print_device_info): New prototype.
24896
24897 * include/grub/disk.h (grub_print_partinfo): Removed.
24898
24899 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
24900 (normal_mod_SOURCES): Likewise.
24901 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24902 (normal_mod_SOURCES): Likewise.
24903
24904 * commands/ls.c (grub_ls_list_disks): Use
24905 grub_normal_print_device_info instead of grub_print_partinfo. Free
24906 PNAME.
24907 (grub_ls_list_files): Use grub_normal_print_device_info instead of
24908 duplicating the code.
24909
0bd41162 249102005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
24911
24912 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 24913 follow GCS more precisely.
24914 * commands/i386/pc/vbe_test.c: Likewise.
24915 * include/grub/i386/pc/vbe.h: Likewise.
24916 * term/i386/pc/vesafb.c: Likewise.
24917 * video/i386/pc/vbe.c: Likewise.
0bd41162 24918
6323696a 249192005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
24920
24921 * DISTLIST: Added term/i386/pc/vesafb.c
24922 DISTLIST: Added video/i386/pc/vbe.c
24923 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
24924 DISTLIST: Added commands/i386/pc/vbe_test.c.
24925 * commands/i386/pc/vbe_list_modes.c: New file.
24926 * commands/i386/pc/vbe_test.c: Likewise.
24927 * term/i386/pc/vesafb.c: Likewise.
24928 * video/i386/pc/vbe.c: Likewise.
24929 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
24930 (grub_vbe_probe) Added prototype.
24931 (grub_vbe_set_video_mode) Likewise.
24932 (grub_vbe_get_video_mode) Likewise.
24933 (grub_vbe_get_video_mode_info) Likewise.
24934 (grub_vbe_set_pixel_rgb) Likewise.
24935 (grub_vbe_set_pixel_index) Likewise.
24936 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
24937 (pkgdata_MODULES): Added vesafb.mod.
24938 (pkgdata_MODULES): Added vbe_list_modes.mod.
24939 (pkgdata_MODULES): Added vbe_test.mod.
24940 (vbe_mod_SOURCES): Added.
24941 (vbe_mod_CFLAGS): Likewise.
24942 (vesafb_mod_SOURCES): Likewise.
24943 (vesafb_mod_CFLAGS): Likewise.
24944 (vbe_list_modes_mod_SOURCES): Likewise.
24945 (vbe_list_modes_mod_CFLAGS): Likewise.
24946 (vbe_test_mod_SOURCES): Likewise.
24947 (vbe_test_mod_CFLAGS): Likewise.
24948
0a74e62f 249492005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
24950
0a74e62f 24951 * normal/command.c (grub_command_execute): If INTERACTIVE is
24952 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
24953 CMDLINE. Disable the pager if INTERACTIVE is true.
24954 All callers are changed.
24955
24956 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
24957 before reading a config file.
24958 * normal/main.c (read_config_file): Even if a command is not
24959 found, register it if it is within an entry.
24960
24961 * util/grub-emu.c: Include sys/types.h and unistd.h.
24962 (options): Added --hold.
24963 (struct arguments): Added a new member "hold".
24964 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
24965 missing.
24966 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
24967 cleared by a debugger, if it is not zero.
24968
24969 * include/grub/normal.h (grub_command_execute): Add an argument
24970 INTERACTIVE.
24971
e51f85ae 249722005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
24973
24974 * DISTLIST: Added include/grub/i386/pc/vbe.h.
24975
e9c6f39b 249762005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
24977
24978 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
24979 program with another one, because the old one didn't detect a bug
24980 in gcc-3.4. Always use regparm 2, because the new test is still
24981 not enough for gcc-4.0. Someone must investigate a simple test
24982 case which detects a bug in gcc-4.0.
24983
8de3495c 249842005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
24985
24986 * DISTLIST: Added normal/completion.c.
24987
24988 * normal/completion.c: New file.
f19dbdb7 24989
8de3495c 24990 * term/i386/pc/console.c (grub_console_getwh): New function.
24991 (grub_console_term): Assign grub_console_getwh to getwh.
24992
24993 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
24994 function is defined in normal/completion.c as
24995 grub_normal_do_completion.
24996 (grub_cmdline_get): Use grub_normal_do_completion instead of
24997 grub_tab_complete.
24998
24999 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
25000 returns non-zero, otherwise return 0.
25001 (grub_partition_iterate): First, probe the partition map. Then,
25002 call ITERATE only for this partition map.
25003
25004 * kern/misc.c (grub_strncmp): Rewritten.
25005
25006 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
25007 returns non-zero. Otherwise return 0.
25008
25009 * include/grub/partition.h (grub_partition_map_iterate): Return
25010 int instead of void.
25011
25012 * include/grub/normal.h (grub_normal_do_completion): New prototype.
25013
25014 * include/grub/misc.h (grub_strncmp): Change the type of N to
25015 grub_size_t.
25016
25017 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
25018 of void.
25019
25020 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 25021 unsigned explicitly before comparing it with I.
8de3495c 25022
25023 * kern/main.c (grub_env_write_root): Add the attribute unused into
25024 VAR.
25025
25026 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
25027 normal/completion.c.
25028 (normal_mod_SOURCES): Likewise.
25029 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
25030 (normal_mod_SOURCES): Likewise.
25031
25032 * normal/command.c (grub_iterate_commands): If ITERATE returns
25033 non-zero, return one immediately.
25034
e85e144b 250352005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
25036
25037 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
25038 * kern/i386/pc/startup.S: Updated Global Descriptor table's
25039 descriptions.
25040 (grub_vbe_get_controller_info): New function.
25041 (grub_vbe_get_mode_info): Likewise.
25042 (grub_vbe_set_mode): Likewise.
25043 (grub_vbe_get_mode): Likewise.
25044 (grub_vbe_set_memory_window): Likewise.
25045 (grub_vbe_get_memory_window): Likewise.
25046 (grub_vbe_set_scanline_length): Likewise.
25047 (grub_vbe_get_scanline_length): Likewise.
25048 (grub_vbe_set_display_start): Likewise.
25049 (grub_vbe_get_display_start): Likewise.
25050 (grub_vbe_set_palette_data): Likewise.
25051 * include/grub/i386/pc/vbe.h: New file.
25052
c46153d2 250532005-08-08 Hollis Blanchard <hollis@penguinppc.org>
25054
25055 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
25056 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
25057 * DISTLIST: Likewise.
25058 * kern/ieee1275/of.c: Moved to ...
25059 * kern/ieee1275/ieee1275.c: ... here.
25060
0cb90c45 250612005-08-08 Hollis Blanchard <hollis@penguinppc.org>
25062
25063 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
25064 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
25065 Pass 0 as `end' parameter to grub_strtoul().
25066
a19fb360 250672005-08-08 Hollis Blanchard <hollis@penguinppc.org>
25068
25069 * include/grub/powerpc/ieee1275/console.h: Do not include
25070 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
25071 ifdef.
25072 (grub_console_cur_color): Remove i386-specific prototype.
25073 (grub_console_real_putchar): Likewise.
25074 (grub_console_checkkey): Likewise.
25075 (grub_console_getkey): Likewise.
25076 (grub_console_getxy): Likewise.
25077 (grub_console_gotoxy): Likewise.
25078 (grub_console_cls): Likewise.
25079 (grub_console_setcursor): Likewise.
25080 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
25081 Include <grub/machine/console.h>.
25082 * term/ieee1275/ofconsole.c: Likewise.
25083
4ac9bd04 250842005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
25085
25086 * Makefile.in (LIBLZO): New variable.
25087
25088 * configure.ac: Check for LZO version 2.
25089
25090 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
25091 lzo/lzo1x.h instead of lzo1x.h.
25092
25093 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
25094 of -llzo.
25095
25096 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
25097 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
25098
25099 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
25100 copying the data from PARTITION to P.
25101
f4917dfd 251022005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
25103
25104 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
25105 negative, unload the module.
25106
25107 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
25108 map is "pc_partition_map" but not "pc".
25109 (usage): Fix the description. The options are --boot-image and
25110 --core-image but not --boot-file or --core-file.
25111 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
25112 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
25113 DEFAULT_DIRECTORY.
25114
25115 * util/i386/pc/grub-install.in: Do not specify --boot-file or
25116 --core-file. Specify INSTALL_DEVICE as an argument.
25117
25118 * util/console.c: Include config.h.
25119 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
25120 [HAVE_NCURSES_H]: Include ncurses.h.
25121 [HAVE_CURSES_H]: Include curses.h.
25122 [!A_NORMAL] (A_NORMAL): Defined as zero.
25123 [!A_STANDOUT] (A_STANDOUT): Likewise.
25124
25125 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
25126 -lncurses.
25127 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
25128
25129 * configure.ac: Check for curses libraries and headers.
25130
25131 * Makefile.in (LIBCURSES): New variable.
25132
25133 * genmk.rb (Script::rule): Set the executable bits.
25134
25135 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
25136 name of the PC partition map is "pc_partition_map" but not "pc".
25137
0e143073 251382005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
25139
25140 * util/i386/pc/grub-install.in (grub_probefs): New variable.
25141 (modules): Likewise.
25142 (usage): Added descriptions for --modules and --grub-probefs.
25143 Handle --modules and --grub-probefs. Save the arguments in MODULES
25144 and GRUB_PROBEFS, respectively.
25145 Auto-detect a filesystem module against GRUBDIR. If the result is
25146 empty and modules are not specified explicitly, abort the
25147 installation. Add the result to MODULES.
25148
25149 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
25150 disk/powerpc/ieee1275/ofdisk.c,
25151 include/grub/powerpc/ieee1275/init.h and
25152 term/powerpc/ieee1275/ofconsole.c.
25153 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
25154 term/ieee1275/ofconsole.c.
25155
25156 * include/grub/powerpc/ieee1275/console.h: Resurrected.
25157
25158 * COPYING: Upgraded to the latest version. Only the address of the
25159 FSF office has changed.
f19dbdb7 25160
efd6e6d5 251612005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
25162
25163 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
25164 kern/ieee1275.c with kern/ieee1275/of.c.
25165
25166 * kern/ieee1275.c: Moved to ...
25167 * kern/ieee1275/of.c: ... here.
25168
8ceafda2 251692005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
25170
25171 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 25172 readability.
8ceafda2 25173
25174 * config.guess: Updated to the latest version from gnulib.
25175 * config.sub: Likewise.
25176 * install.sh: Likewise.
25177 * mkinstalldirs: Likewise.
25178
25179 * include/grub/console.h: Removed. This file is arch-specific. Do
25180 not put this in include/grub.
25181
25182 * include/grub/i386/pc/console.h: Resurrected.
25183
25184 * util/console.c: Include grub/machine/console.h instead of
25185 grub/console.h.
25186 * util/grub-emu.c: Likewise.
25187
267f6cd9 251882005-08-04 Marco Gerards <metgerards@student.han.nl>
25189
25190 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
25191 hardcoded value.
f19dbdb7 25192
267f6cd9 25193 From Vincent Pelletier <subdino2004@yahoo.fr>
25194 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
25195 Redefined to use grub_getwh.
25196 (grub_term): New member named getwh.
25197 (grub_getwh): New prototype.
25198 * kern/term.c (grub_getwh): New function.
25199 * term/i386/pc/console.c (grub_console_getwh): New function.
25200 (grub_console_term): New member `getwh'.
25201 * term/i386/pc/vga.c (grub_vga_getwh): New function.
25202 (grub_vga_term): New member `getwh'.
0b5abe02 25203 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 25204 grub_ssize_t.
25205 (grub_ofconsole_getw): New function.
25206 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
25207 (grub_ofconsole_term): New field named getwh and new initial
25208 value.
25209
3be7266d 252102005-08-03 Hollis Blanchard <hollis@penguinppc.org>
25211
25212 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
25213 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
25214 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
25215 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
25216 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
25217 of <grub/machine/ieee1275.h>.
25218 * commands/ieee1275/reboot.c: Likewise.
25219 * boot/powerpc/ieee1275/ieee1275.c: Move ...
25220 * kern/ieee1275.c: ... to here. All users updated. Change all
25221 parameter structs to use new type `grub_ieee1275_cell_t'.
25222 * term/powerpc/ieee1275/ofconsole.c: Move ...
25223 * term/ieee1275/ofconsole.c: ... to here. All users updated.
25224 * disk/powerpc/ieee1275/ofdisk.c: Move ...
25225 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
25226 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
25227 to return int.
25228 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
25229 Remove unused prototypes. All users updated.
25230 * include/grub/powerpc/ieee1275/console.h: Removed.
25231 * include/grub/powerpc/ieee1275/ieee1275.h: Define
25232 `grub_ieee1275_cell_t'.
25233 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
25234 Cast comparisons with -1 to the correct type.
25235 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
25236 type to match `grub_ieee1275_entry_fn'.
25237
8b5f3938 252382005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
25239
25240 * DISTLIST: Added util/i386/pc/grub-probefs.c.
25241
25242 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
25243 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
25244 partmap/sun.c.
25245 (grub_probefs_SOURCES): New variable.
25246
25247 * util/i386/pc/grub-probefs.c: New file.
25248
25249 * util/i386/pc/grub-setup.c (main): Call
25250 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
25251 grub_hfs_init and grub_jfs_init to initialize the system. Call
25252 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
25253 grub_pc_partition_map_fini to finish the system.
25254
ea409713 252552005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
25256
25257 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
25258 function.
25259 (grub_multiboot_load_elf32): Likewise.
25260 (grub_multiboot_is_elf64): Likewise.
25261 (grub_multiboot_load_elf64): Likewise.
25262 (grub_multiboot_load_elf): Likewise.
25263 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
25264 an ELF32 or ELF64 file.
25265 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
25266
25267 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
25268 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
25269 NULL before calling FS->LABEL.
25270 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
25271 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
25272 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
25273 before calling FS->LABEL.
25274
141a288b 252752005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
25276
25277 * util/i386/pc/grub-install.in (datadir): New variable.
25278 (libdir): Removed.
25279 (pkgdatadir): New variable.
25280 (pkglibdir): Removed.
25281
0d5f8a54 252822005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
25283
25284 * DISTLIST: Added util/i386/pc/grub-install.in.
25285
25286 * util/i386/pc/grub-install.in: New file.
25287
25288 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
25289 (grub_install_SOURCES): Likewise.
25290
25291 * genmk.rb: Added support for scripts.
25292 (Script): New class.
25293 (scripts): New variable.
25294
25295 * Makefile.in (install-local): Install sbin_SCRIPTS by
25296 INSTALL_SCRIPT.
25297 (uninstall): Remove sbin_SCRIPTS.
25298
25299 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
25300 device, try to get a GRUB device by
25301 grub_util_biosdisk_get_grub_dev.
25302 Free DEST_DEV.
25303
25304 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
25305 description for --device-map.
25306
5f968e1e 253072005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
25308
25309 Change the semantics of variable hooks. They now return strings
25310 instead of error values.
f19dbdb7 25311
5f968e1e 25312 * util/i386/pc/grub-setup.c: Include grub/env.h.
25313 (setup): Use grub_device_set_root instead of grub_env_set.
25314
25315 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
25316 grub_env_get instead of grub_device_set_root and
25317 grub_device_get_root, respectively.
25318
25319 * kern/main.c (grub_env_write_root): New function.
25320 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
25321 grub_env_set instead of grub_device_set_root.
25322
25323 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
25324 many variables.
25325 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
25326 rather than calling ENV->WRITE_HOOK afterwards.
25327 (grub_env_get): Return the result of ENV->READ_HOOK rather than
25328 passing a pointer of a pointer.
25329 (grub_register_variable_hook): Change the types of "read_hook" and
25330 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
25331 respectively.
25332 Allocate the default empty string on the heap, because this string
25333 may be freed later.
25334
25335 * kern/device.c: Include grub/env.h.
25336 (grub_device_set_root): Removed.
25337 (grub_device_get_root): Likewise.
25338 (grub_device_open): Use grub_env_get instead of
25339 grub_device_get_root.
25340
25341 * include/grub/env.h (grub_env_read_hook_t): New type.
25342 (grub_env_write_hook_t): Likewise.
25343 (grub_env_var): Change the types of "read_hook" and "write_hook"
25344 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
25345 (grub_register_variable_hook): Likewise.
25346
25347 * include/grub/device.h (grub_device_set_root): Removed.
25348 (grub_device_set_root): Likewise.
25349
25350 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
25351 make sure that DIRNAME terminates with '/', so that
25352 grub_fat_find_dir will fail if PATH is not a directory.
25353
25354 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
25355 from DIRNAME.
25356 Use the qualifier auto for print_files and print_files_long.
25357 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
25358 as a regular file.
25359 Put a newline only if there is no error.
25360 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
25361 used.
25362
896f0afd 253632005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
25364
25365 * kern/partition.c (grub_partition_probe): Initialize PART to
25366 NULL. Otherwise, when no partition map is registered, this returns
25367 a garbage.
25368
b28b81b2 253692005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
25370
25371 * partmap/apple.c (apple_partition_map_iterate): Check if POS
25372 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
25373 valid.
25374
5f3607e0 253752005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
25376
25377 * commands/ls.c (grub_ls_list_disks): Print the filesystem
25378 information on each device, if it does not have partitions. Print
25379 "Device" instead of "Disk", because this function is not specific
25380 to disk devices.
25381
25382 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
25383 static to ensure that it is put on the memory rather than a
25384 register.
25385
502c87e8 253862005-07-17 Yoshinori Okuji <okuji@enbug.org>
25387
25388 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
25389 (grub_cat_init): Likewise.
25390 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
25391 (options): Likewise.
25392 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
25393 (grub_configfile_init): Likewise.
25394 * font/manager.c (GRUB_MOD_INIT): Likewise.
25395 * commands/help.c (GRUB_MOD_INIT): Likewise.
25396 (grub_help_init): Likewise.
25397 * normal/command.c (grub_command_init): Likewise.
25398 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
25399 * disk/loopback.c (grub_loop_init): Likewise.
25400 (GRUB_MOD_INIT): Likewise.
25401 * commands/ls.c (grub_ls_init): Likewise.
25402 (GRUB_MOD_INIT): Likewise.
25403 (options): Likewise.
25404 * commands/boot.c (grub_boot_init): Likewise.
25405 (GRUB_MOD_INIT): Likewise.
25406 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
25407 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
25408 (GRUB_MOD_INIT): Likewise.
25409 * commands/cmp.c (grub_cmp_init): Likewise.
25410 (GRUB_MOD_INIT): Likewise.
25411
25412 * normal/arg.c: Use <> instead of "" to include header files.
25413 (SHORT_ARG_HELP): New macro.
25414 (SHORT_ARG_USAGE): Likewise.
25415 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
25416 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
25417 descriptions.
25418 (find_short): Check if C is 'h' or 'u' explicitly.
25419 (grub_arg_show_help): Use space characters instead of tabs. Treat
25420 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
25421 are shown with --help and --usage only if they are not used for
25422 the command itself.
25423 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
25424 'h' and 'u'.
25425
25426 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
25427 const into "longarg". Change the type of "shortarg" to int.
25428
f806d18e 254292005-07-17 Yoshinori Okuji <okuji@enbug.org>
25430
25431 * boot/i386/pc/boot.S (boot_drive_check): New label.
25432
25433 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
25434 macro.
25435
25436 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
25437 which do not pass a boot drive correctly. Copied from GRUB Legacy.
25438
e293232b 254392005-07-17 Yoshinori Okuji <okuji@enbug.org>
25440
25441 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
25442 When turning off Gate A20, skip the check and return immediately,
25443 because this is not fatal usually.
25444
ebedfd00 254452005-07-17 Yoshinori Okuji <okuji@enbug.org>
25446
25447 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
25448 be 0x7C00 instead of 0x8000.
25449
25450 * boot/i386/pc/pxeboot.S: Rewritten.
25451
25452 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
25453 EXT_C.
25454 (gate_a20_check_state): Read a byte from 0x108000. Invert the
25455 result.
25456
654fc59f 254572005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
25458
25459 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
25460 robustness. This routine now supports a BIOS call and System
25461 Control Port A to modify the gate A20.
25462
25463 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
25464 Increased to 0x440.
25465
09f9923f 254662005-07-12 Hollis Blanchard <hollis@penguinppc.org>
25467
25468 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
25469 device path and resulting ihandle.
25470 (grub_ofdisk_close): dprintf the ihandle being closed.
25471 (grub_ofdisk_read): dprintf function parameters.
25472 * kern/mm.c (grub_mm_init_region): Likewise.
25473 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
25474 (grub_linux_boot): dprintf the Linux entry point, initrd address and
25475 size, and boot arguments.
25476 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
25477 before loading into memory.
25478 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
25479 before loading into memory.
25480
7ef504d8 254812005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
25482
25483 * kern/mm.c: Added much documentation.
25484 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
25485 8, set to 5 instead of 8.
25486
e0f050c2 254872005-07-10 Yoshinori Okuji <okuji@enbug.org>
25488
25489 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
25490
25491 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
25492 (grub_mkdevicemap_SOURCES): New variable.
25493
25494 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
25495 lib/device.c of GRUB Legacy.
25496
7224189a 254972005-07-10 Yoshinori Okuji <okuji@enbug.org>
25498
25499 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
25500 instead of PATH is NULL.
25501
68c864eb 255022005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
25503
25504 * commands/cmp.c (BUFFER_SIZE): New macro.
25505 (grub_cmd_cmp): Close the right file at the right time. Compare
25506 only data just read. Don't report files of different size as
25507 identical. Dynamically allocate buffers. Move variable
25508 declarations at the beginning of function.
25509
e6f3e614 255102005-07-09 Yoshinori Okuji <okuji@enbug.org>
25511
25512 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
25513 reverse.
25514
f8f1559a 255152004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
25516
25517 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
25518 when backspace is pressed at beginning of line.
25519
39c9d41d 255202005-07-03 Yoshinori Okuji <okuji@enbug.org>
25521
25522 * DISTLIST: Added genfslist.sh.
25523
25524 * normal/main.c (fs_module_list): New variable.
25525 (autoload_fs_module): New function.
25526 (read_fs_list): Likewise.
25527 (grub_normal_execute): Call read_fs_list.
25528
25529 * kern/fs.c (grub_fs_autoload_hook): New variable.
25530 (grub_fs_probe): Added support for auto-loading.
25531
25532 * include/grub/normal.h (struct grub_fs_module_list): New struct.
25533 (grub_fs_module_list_t): New type.
25534
25535 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
25536 (grub_fs_autoload_hook): New prototype.
25537
25538 * genfslist.sh: New file.
f19dbdb7 25539
39c9d41d 25540 * genmk.rb: Added a rule to generate a filesystem list.
25541
121c1d83 255422005-06-30 Marco Gerards <metgerards@student.han.nl>
25543
25544 * configure.ac: Fix the test for cross-compiling.
25545
25546 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
25547 define GRUB_UTIL anymore.
25548
25549 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
25550 so this function works on other systems than just big endian.
25551 (load_modules): Likewise.
25552 (add_segments): Likewise.
25553
e75d76e1 255542005-06-23 Hollis Blanchard <hollis@penguinppc.org>
25555
25556 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
25557 contains `l' modifier, get a long from va_arg().
25558
50b5a0a7 255592005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
25560
25561 * kern/mm.c (grub_free): If the next free block which is being
25562 merged is the first free block, set the first block to the block
25563 being freed.
25564 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
25565
89371b20 255662005-05-08 Hollis Blanchard <hollis@penguinppc.org>
25567
25568 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
25569 `grub_ieee1275_chosen'.
25570
168d6e58 255712005-05-08 Hollis Blanchard <hollis@penguinppc.org>
25572
25573 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
25574 (grub_ieee1275_chosen): New variable.
25575 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
25576 `chosen'.
25577 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
25578 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
25579 Rename first argument to `phandle' for consistency.
25580 (grub_ieee1275_get_property_length): Likewise.
25581 (grub_ieee1275_next_property): Likewise. Change type of first argument
25582 to grub_ieee1275_phandle_t.
25583 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
25584 Move export next to declaration.
25585 (grub_ieee1275_chosen): New variable.
25586 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
25587 Correct cosmetic typo.
25588 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
25589 `grub_ieee1275_chosen'.
25590 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
25591 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
25592 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
25593 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
25594 `grub_ieee1275_chosen'.
25595
ca5baa3f 255962005-05-10 Hollis Blanchard <hollis@penguinppc.org>
25597
25598 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
25599 /chosen/bootargs.
25600 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
25601 /chosen/bootargs as "variable=value" pairs.
25602
708b345f 256032005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
25604
25605 * include/grub/misc.h (grub_dprintf): New macro.
25606 (grub_real_dprintf): New prototype.
25607 (grub_strword): Likewise.
25608 (grub_iswordseparator): Likewise.
25609 * kern/misc.c (grub_real_dprintf): New function.
25610 (grub_strword): Likewise.
25611 (grub_iswordseparator): Likewise.
25612
f4c5e67c 256132005-04-30 Hollis Blanchard <hollis@penguinppc.org>
25614
25615 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
25616 (roundup): Remove macro.
25617 (grub_ieee1275_flags): Make static.
25618 (grub_ieee1275_realmode): Remove.
25619 (grub_ieee1275_test_flag): New function.
25620 (grub_ieee1275_set_flag): Likewise.
25621 (find_options): Rename to `grub_ieee1275_find_options'; update
25622 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
25623 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
25624 (cmain): New prototype.
25625 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
25626 `grub_ieee1275_flags' directly.
25627 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
25628 machine/biosdisk.h.
25629 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
25630 Don't include grub/machine/init.h.
25631 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
25632 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
25633 Remove prototype.
25634 (grub_ieee1275_realmode): Likewise.
25635 (grub_ieee1275_flag): New enum.
25636 (grub_ieee1275_test_flag): New prototype.
25637 (grub_ieee1275_set_flag): New prototype.
25638 * include/grub/powerpc/ieee1275/init.h: Remove file.
25639 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
25640 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
25641 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
25642 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
25643 comment.
25644 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
25645 `grub_ieee1275_test_flag'.
25646 (grub_ieee1275_encode_devname): Likewise.
25647
ed16607e 256482005-04-21 Hollis Blanchard <hollis@penguinppc.org>
25649
25650 * include/grub/powerpc/ieee1275/ieee1275.h
25651 (grub_ieee1275_encode_devname): New prototype.
25652 (grub_ieee1275_get_filename): Likewise.
25653 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
25654 function.
25655 (grub_set_prefix): Likewise.
25656 (grub_machine_init): Call grub_set_prefix.
25657 * kern/powerpc/ieee1275/openfw.c: Fix typos.
25658 (grub_parse_type): New enum.
25659 (grub_ieee1275_get_devargs): New function.
25660 (grub_ieee1275_get_devname): Likewise.
25661 (grub_ieee1275_parse_args): Likewise.
25662 (grub_ieee1275_get_filename): Likewise.
25663 (grub_ieee1275_encode_devname): Likewise.
25664
be369920 256652005-03-30 Marco Gerards <metgerards@student.han.nl>
25666
25667 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
25668 `grub_loader_unset'.
25669
a5ce3a4a 256702005-03-26 Hollis Blanchard <hollis@penguinppc.org>
25671
25672 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
25673 instead of grub_ieee1275_interpret.
25674 (grub_halt_init): New function.
25675 (grub_halt_fini): Likewise.
25676 (GRUB_MOD_INIT): Correct message grammar.
25677 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
25678 instead of grub_ieee1275_interpret.
25679 (grub_reboot_init): New function.
25680 (grub_reboot_fini): Likewise.
25681 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
25682 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
25683 util/i386/pc/misc.c with commands/ieee1275/halt.c,
25684 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
25685 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
25686 function.
25687 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
25688 Add prototype.
25689 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
25690 prototype.
25691 (grub_halt): Likewise.
25692 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
25693 (cmain): Remove __attribute__((unused)).
25694 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
25695 (grub_heap_len): Likewise.
25696 (grub_machine_fini): New function.
25697 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
25698 (grub_halt): Likewise.
25699 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
25700 function.
25701 * util/powerpc/ieee1275/misc.c: New file.
25702
0058f771 257032005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
25704
25705 * DISTLIST: New file.
25706 * gendistlist.sh: Likewise.
f19dbdb7 25707
0058f771 25708 * Makefile.in (COMMON_DISTFILES): Removed.
25709 (BOOT_DISTFILES): Likewise.
25710 (CONF_DISTFILES): Likewise.
25711 (DISK_DISTFILES): Likewise.
25712 (FS_DISTFILES): Likewise.
25713 (INCLUDE_DISTFILES): Likewise.
25714 (KERN_DISTFILES): Likewise.
25715 (LOADER_DISTFILES): Likewise.
25716 (TERM_DISTFILES): Likewise.
25717 (UTIL_DISTFILES): Likewise.
25718 (DISTFILES): Likewise.
25719 (uninstall): Uninstall files in $(pkgdata_DATA).
25720 (DISTLIST): New target.
25721 (distdir): Use the contents of the file DISTLIST to get a list of
25722 distributed files.
25723
46b3b8a5 257242005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
25725
25726 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
25727 descriptor. This is ported from GRUB Legacy.
25728
25729 * gencmdlist.sh: Added an extra semicolon to make it work with
25730 old sed versions. Reported by Robert Bihlmeyer
25731 <robbe@orcus.priv.at>.
25732
5822ff87 257332005-03-08 Yoshinori Okuji <okuji@enbug.org>
25734
25735 Automatic loading of commands is supported.
f19dbdb7 25736
5822ff87 25737 * normal/main.c (read_command_list): New function.
25738 (grub_normal_execute): Call read_command_list.
25739
25740 * normal/command.c (grub_register_command): Return zero or CMD.
25741 Allocate CMD->NAME from the heap.
25742 Initialize CMD->MODULE_NAME to zero.
25743 Find the same name as well. If the same command is found and it is
25744 a dummy command, overwrite members. If it is not a dummy command,
25745 return zero.
25746 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
25747 (grub_command_find): If a dummy command is found, load a module
25748 and retry to find a command only once.
25749
25750 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
25751 make sure that each command is loaded.
25752
25753 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
25754 macro.
25755 (struct grub_command): Remove const from the member `name'.
25756 Add a new member `module_name'.
25757 (grub_register_command): Return grub_command_t.
25758
25759 * commands/help.c (grub_cmd_help): Call grub_command_find to make
25760 sure that each command is loaded.
25761
25762 * genmk.rb (PModule::rule): Specify a module name without the
25763 suffix ".mod" to gencmdlist.sh.
25764
7b1f4b57 257652005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
25766
25767 * gencmdlist.sh: New file.
f19dbdb7 25768
7b1f4b57 25769 * genmk.rb (PModule::rule): Generate a rule for a command list.
25770 Clean command.lst.
25771 Generate command.lst from $(COMMANDFILES).
25772
25773 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
25774 (DATA): Added $(pkgdata_DATA).
25775 (install-local): Install files in $(pkgdata_DATA).
25776
062aaf39 257772005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
25778
25779 * term/i386/pc/vga.c (debug_command): Removed.
25780 (GRUB_MOD_INIT): Do not register the command "debug".
25781
25782 From Hollis Blanchard:
25783 * commands/configfile.c: New file.
25784 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
25785 commands/configfile.c.
25786 (pkgdata_MODULES): Added configfile.mod.
25787 (configfile_mod_SOURCES): New variable.
25788 (configfile_mod_CFLAGS): Likewise.
25789 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
25790 commands/configfile.c.
25791 (pkgdata_MODULES): Added configfile.mod.
25792 (configfile_mod_SOURCES): New variable.
25793 (configfile_mod_CFLAGS): Likewise.
25794 * util/grub-emu.c (main): Call grub_configfile_init and
25795 grub_configfile_fini.
25796 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
25797 prototype.
25798 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 25799
cee01aa6 258002005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
25801
25802 * normal/arg.c (grub_arg_show_help): Do not show the bug report
25803 address.
25804
25805 * commands/help.c (grub_cmd_help): Do not print newlines after
25806 the last command in print_command_help.
25807
93f3a1d8 258082005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
25809
25810 * commands/default.h: New file.
25811 * commands/timeout.h: Likewise.
25812 * normal/context.c: Likewise.
f19dbdb7 25813
93f3a1d8 25814 * util/misc.c: Do not include sys/times.h.
25815 Include sys/time.h and grub/machine/time.h.
25816 (grub_get_rtc): Rewritten with gettimeofday.
25817
25818 * util/grub-emu.c (main): Call grub_default_init and
25819 grub_timeout_init before grub_normal_init, and call
25820 grub_timeout_fini and grub_default_fini after grub_main.
25821
25822 * util/console.c (grub_ncurses_checkkey): Return the read
25823 character or -1.
25824
25825 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
25826 timeouts.
25827
25828 * normal/main.c (read_config_file): Push MENU. If this fails,
25829 print an error and wait for a user input.
25830 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
25831 If a menu is empty or an error occurs, pop MENU.
25832 (grub_normal_execute): Pop and free MENU after grub_menu_run
25833 returns.
25834
25835 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
25836
25837 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
25838 include time.h.
25839 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
25840 without GRUB_UTIL.
25841 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
25842 time.h.
25843 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
25844 without GRUB_UTIL.
25845
25846 * include/grub/normal.h (struct grub_menu_list): New struct.
25847 (grub_menu_list_t): New type.
25848 (struct grub_context): New struct.
25849 (grub_context_t): New type.
25850 (grub_register_command): Got rid of EXPORT_FUNC.
25851 (grub_unregister_command): Likewise.
25852 (grub_context_get): New prototype.
25853 (grub_context_get_current_menu): Likewise.
25854 (grub_context_push_menu): Likewise.
25855 (grub_context_pop_menu): Likewise.
25856 [GRUB_UTIL] (grub_default_init): Likewise.
25857 [GRUB_UTIL] (grub_default_fini): Likewise.
25858 [GRUB_UTIL] (grub_timeout_init): Likewise.
25859 [GRUB_UTIL] (grub_timeout_fini): Likewise.
25860
25861 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
25862 commands/timeout.c and normal/context.c.
25863 (pkgdata_MODULES): Added default.mod and timeout.mod.
25864 (normal_mod_SOURCES): Added normal/context.c.
25865 (default_mod_SOURCES): New variable.
25866 (default_mod_CFLAGS): Likewise.
25867 (timeout_mod_SOURCES): Likewise.
25868 (timeout_mod_CFLAGS): Likewise.
25869 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
25870 conf/i386-pc.rmk.
25871 (pkgdata_MODULES): Added default.mod and timeout.mod.
25872 (normal_mod_SOURCES): Added normal/context.c.
25873 (default_mod_SOURCES): New variable.
25874 (default_mod_CFLAGS): Likewise.
25875 (timeout_mod_SOURCES): Likewise.
25876 (timeout_mod_CFLAGS): Likewise.
25877
25878 * Makefile.in (all-local): Added $(MKFILES).
25879
4ed2e1dd 258802005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
25881
25882 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
25883 (grub_emu_SOURCES): Likewise.
25884 (pkgdata_MODULES): Add `sun.mod'.
25885 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
25886 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
25887 `partmap/sun.c'.
25888 (pkgdata_MODULES): Add `sun.mod'.
25889 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
25890 * include/grub/partition.h (grub_sun_partition_map_init): New
25891 prototype.
25892 (grub_sun_partition_map_fini): Likewise.
25893 * partmap/sun.c: New file.
25894 * util/grub-emu.c (main): Initialize and de-initialize the sun
25895 partitionmap support.
25896
4d4e372e 258972005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
25898
25899 This implements an Emacs-like menu entry editor.
f19dbdb7 25900
4d4e372e 25901 * normal/menu_entry.c: New file.
f19dbdb7 25902
4d4e372e 25903 * util/console.c (grub_ncurses_putchar): Translate some Unicode
25904 characters to ASCII.
25905 (saved_char): New variable.
25906 (grub_ncurses_checkkey): Rewritten completely.
25907 (grub_ncurses_getkey): Likewise.
25908 (grub_ncurses_init): Call raw instead of cbreak.
25909
25910 * normal/menu.c (print_entry): Do not put a space.
25911 (init_page): Renamed to ...
25912 (grub_menu_init_page): ... this. All callers changed.
25913 (edit_menu_entry): Removed.
25914 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
25915
25916 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
25917
25918 * kern/misc.c (grub_vprintf): Call grub_refresh.
25919
25920 * normal/menu.c (DISP_LEFT): Renamed to ...
25921 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
25922 * normal/menu.c (DISP_UP): Renamed to ...
25923 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
25924 * normal/menu.c (DISP_RIGHT): Renamed to ...
25925 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
25926 * normal/menu.c (DISP_DOWN): Renamed to ...
25927 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
25928 * normal/menu.c (DISP_HLINE): Renamed to ...
25929 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
25930 * normal/menu.c (DISP_VLINE): Renamed to ...
25931 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
25932 * normal/menu.c (DISP_UL): Renamed to ...
25933 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
25934 * normal/menu.c (DISP_UR): Renamed to ...
25935 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
25936 * normal/menu.c (DISP_LL): Renamed to ...
25937 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
25938 * normal/menu.c (DISP_LR): Renamed to ...
25939 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
25940 * normal/menu.c (TERM_WIDTH): Renamed to ...
25941 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
25942 * normal/menu.c (TERM_HEIGHT): Renamed to ...
25943 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
25944 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
25945 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
25946 * normal/menu.c (TERM_MARGIN): Renamed to ...
25947 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
25948 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
25949 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
25950 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
25951 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
25952 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
25953 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
25954 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
25955 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
25956 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
25957 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
25958 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
25959 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
25960 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
25961 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
25962 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
25963 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
25964 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
25965 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
25966 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
25967 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
25968 All callers changed.
25969
25970 * include/grub/normal.h: New prototype.
25971
25972 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
25973 normal/menu_entry.c.
25974 (normal_mod_SOURCES): Likewise.
25975 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25976 (normal_mod_SOURCES): Likewise.
25977
e6b92c8a 259782005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
25979
25980 * include/grub/normal.h (grub_halt_init): New prototype.
25981 (grub_halt_fini): Likewise.
25982 (grub_reboot_init): Likewise.
25983 (grub_reboot_fini): Likewise.
25984
25985 * util/grub-emu.c: Include signal.h.
25986 (main_env): New global variable.
25987 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
25988 catch C-c.
25989 (grub_machine_fini): New function.
25990 (main): Call grub_halt_init and grub_reboot_init before
25991 grub_main, and grub_reboot_fini and grub_halt_fini after it.
25992 Call setjmp with MAIN_ENV to go back afterwards.
25993 Call grub_machine_fini right before return.
25994
25995 * include/grub/util/misc.h: Include setjmp.h.
25996 (main_env): New prototype.
25997
25998 * include/grub/kernel.h (grub_machine_fini): New prototype.
25999 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
26000 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
26001
26002 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
26003 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
26004 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 26005
e6b92c8a 26006 * util/i386/pc/misc.c: New file.
f19dbdb7 26007
e6b92c8a 26008 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
26009 util/i386/pc/misc.c, commands/i386/pc/halt.c and
26010 commands/i386/pc/reboot.c.
26011
c642636f 260122005-02-14 Guillem Jover <guillem@hadrons.org>
26013
26014 * include/grub/dl.h (grub_dl_check_header): New prototype.
26015 (grub_arch_dl_check_header): Change return type to grub_err_t,
26016 remove size parameter and export function. Update all callers.
26017 * kern/dl.c (grub_dl_check_header): New function.
26018 (grub_dl_load_core): Use `grub_dl_check_header' instead of
26019 `grub_arch_dl_check_header'. Check ELF type. Check if sections
26020 are inside the core.
26021 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
26022 independent ELF header checks.
26023 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
26024 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
26025 `grub_dl_check_header' instead of explicit checks. Check for the
26026 ELF type.
26027 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
26028 `grub_dl_check_header' instead of explicit checks. Remove arch
26029 specific ELF header checks.
26030
e6b92c8a 26031 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
26032 argument SIZE.
26033
5eabe94b 260342005-02-13 Hollis Blanchard <hollis@penguinppc.org>
26035
26036 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
26037 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
26038
1b14a681 260392005-02-12 Hollis Blanchard <hollis@penguinppc.org>
26040
26041 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 26042 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 26043 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 26044 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 26045 * partmap/amiga.c (amiga_partition_map_iterate): Return
26046 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
26047 * partmap/apple.c (apple_partition_map_iterate): Likewise.
26048
aca108aa 260492005-02-01 Guillem Jover <guillem@hadrons.org>
26050
26051 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
26052 help info.
26053
c9f9c556 260542005-01-31 Marco Gerards <metgerards@student.han.nl>
26055
26056 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
26057 Removed prototype.
26058 (grub_rescue_cmd_linux): New prototype.
26059 (grub_rescue_cmd_initrd): Likewise.
26060 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
26061 `bi_rec'.
26062 (grub_linux_release_mem): Release the memory for the initrd.
26063 (grub_load_linux): Renamed from this...
26064 (grub_rescue_cmd_linux): ...To this. Changed all callers.
26065 Changed `entry' not to be static. Loop over memory regions to
26066 find another one when the default fails.
26067 (grub_rescue_cmd_initrd): New function.
26068 (grub_linux_init): Remove function.
26069 (grub_linux_fini): Likewise.
26070 (GRUB_MOD_INIT): Register `initrd'.
26071 (GRUB_MOD_FINI): Unregister `initrd'.
26072 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
26073 Function removed.
26074 (grub_linux_normal_fini): Likewise.
26075 (GRUB_MOD_INIT): Register `initrd'.
26076 (GRUB_MOD_FINI): Unregister `initrd'.
26077
990cf3aa 260782005-01-31 Marco Gerards <metgerards@student.han.nl>
26079
26080 * commands/help.c: New file.
26081 * normal/arg.c (show_help): Renamed to...
26082 (grub_arg_show_help): ... this.
26083 * commands/i386/pc/halt.c: New file.
26084 * commands/i386/pc/reboot.c: Likewise.
26085 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
26086 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
26087 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
26088 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
26089 variables.
26090 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
26091 `commands/help.c'.
26092 (pkgdata_MODULES): Add `help.mod'.
26093 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
26094 * grub/i386/pc/init.h (grub_reboot): New prototype.
26095 (grub_halt): Likewise.
26096 * include/grub/normal.h (grub_arg_show_help): New prototype.
26097 (grub_help_init): Likewise.
26098 (grub_help_fini): Likewise.
26099 * util/grub-emu.c (main): Initialize and deinitialize the help
26100 command.
26101
26102 * normal/cmdline.c (grub_cmdline_get): Doc fix.
26103
26104 * normal/command.c (grub_command_init): Fixed the description of
26105 the `set' and `unset' commands.
26106
261072005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 26108
26109 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
26110 function.
26111 * commands/ieee1275/halt.c: New file.
26112 * commands/ieee1275/reboot.c: Likewise.
26113 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
26114 `__attribute__ ((unused))'. Some GCS related fixed.
26115 (grub_suspend_init) [GRUB_UTIL]: Function removed.
26116 (grub_suspend_fini): Likewise.
26117 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
26118 and `halt.mod'.
26119 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
26120 (halt_mod_CFLAGS): New variables.
26121 * include/grub/powerpc/ieee1275/ieee1275.h
26122 (grub_ieee1275_interpret): New prototype.
26123
1ab09cc7 261242005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
26125
26126 * include/grub/misc.h (memmove): New prototype.
26127 (memcpy): Likewise.
26128
8b8cbdb2 261292005-01-22 Hollis Blanchard <hollis@penguinppc.org>
26130
26131 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
26132 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
26133
e3741a27 261342005-01-22 Marco Gerards <metgerards@student.han.nl>
26135
26136 * kern/misc.c (grub_strndup): Function rewritten.
26137
776bd780 261382005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
26139
26140 * normal/menu.c (TERM_WIDTH): Macro redefined.
26141 (TERM_TOP_BORDER_Y): Likewise.
26142 (draw_border): Replaced while-loop by a for-loop. Make the number
26143 of lines consistent with the number of lines displayed in
26144 print_entries. Added a margin below the rectangle.
26145 (print_entry): Make the entry fit in the rectangle.
26146 (print_entries): Display the scroll arrows next to the right
26147 border.
26148
78026bce 261492005-01-21 Marco Gerards <metgerards@student.han.nl>
26150
26151 * fs/minix.c (grub_minix_find_file): Reserve more space for
26152 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
26153 `grub_strncpy' to copy `path' into it.
26154
67bbaf0f 261552005-01-21 Marco Gerards <metgerards@student.han.nl>
26156
26157 Add the loopback device, a device via which files can be accessed
26158 as devices.
f19dbdb7 26159
67bbaf0f 26160 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
26161 (pkgdata_MODULES): Add loopback.mod.
26162 (loopback_mod_SOURCES): New variable.
26163 (loopback_mod_CFLAGS): Likewise.
26164 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
26165 `disk/loopback.c'.
26166 (pkgdata_MODULES): Add loopback.mod.
26167 (loopback_mod_SOURCES): New variable.
26168 (loopback_mod_CFLAGS): Likewise.
26169 * disk/loopback.c: new file.
26170 * include/grub/normal.h (grub_loop_init): New prototype.
26171 (grub_loop_fini): New prototype.
26172 * util/grub-emu.c (main): Initialize and de-initialize loopback
26173 support.
26174 * include/grub/disk.h (grub_disk_dev_id): Add
26175 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
26176
6f1c18bd 261772005-01-20 Hollis Blanchard <hollis@penguinppc.org>
26178
26179 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
26180 function.
26181 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
26182 (suspend_mod_SOURCES): New variable.
26183 (suspend_mod_CFLAGS): Likewise.
26184 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
26185 New prototype.
26186 * commands/ieee1275/suspend.c: New file.
26187
b38551da 261882005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
26189
26190 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 26191 ((unused))' to `__attribute__ ((used))'.
b38551da 26192 (GRUB_MOD_FINI): Likewise.
26193 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
26194 * genmk.rb (PModule): Assign space to common symbols when linking
26195 modules.
26196
777aff39 261972005-01-20 Marco Gerards <metgerards@student.han.nl>
26198
26199 * include/grub/mm.h (grub_mm_init_region): Change the type of the
26200 `unsigned' arguments to `grub_size_t'.
26201 (grub_malloc): Likewise.
26202 (grub_realloc): Likewise.
26203 (grub_memalign): Likewise.
26204 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
26205 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
26206 * util/misc.c (grub_malloc): Likewise.
26207 (grub_realloc): Likewise.
26208 * kern/mm.c (get_header_from_pointer): Change the casts to
26209 `unsigned' into a cast to `grub_size_t'.
26210
26211 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
26212 point to `currnode' when `currnode' is changed.
26213
26214 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
26215 Schottelius <nico-linux@schottelius.org>.
26216
d0ff18e1 262172005-01-09 Hollis Blanchard <hollis@penguinppc.org>
26218
26219 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
26220 (note_path): Remove variable.
26221 (GRUB_IEEE1275_NOTE_NAME): New macro.
26222 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
26223 (grub_ieee1275_note_hdr): New structure.
26224 (grub_ieee1275_note_desc): Likewise.
26225 (grub_ieee1275_note): Likewise.
26226 (load_note): Remove `dir' argument. All callers updated. Remove
26227 `note_img' and `path'. Do not load a file from `note_path'.
26228 Initialize a struct grub_ieee1275_note and write that to `out'.
26229 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
26230
4ca7004c 262312005-01-05 Marco Gerards <metgerards@student.han.nl>
26232
26233 * util/misc.c (grub_util_read_image): Revert last change. It
26234 called `grub_util_read_at', which seeks from the beginning of the
26235 file.
26236
0b412211 262372005-01-04 Hollis Blanchard <hollis@penguinppc.org>
26238
26239 * TODO: Add note about endianness in grub-mkimage.
26240 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
26241 section.
26242 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
26243 (grub_mkimage_SOURCES): New target.
26244 * include/grub/kernel.h (grub_start_addr): Remove variable.
26245 (grub_end_addr): Likewise.
26246 (grub_total_module_size): Likewise.
26247 (grub_kernel_image_size): Likewise.
26248 (GRUB_MODULE_MAGIC): New constant.
26249 (grub_module_info): New structure.
26250 (grub_arch_modules_addr): New prototype.
26251 (grub_get_end_addr): Remove prototype.
26252 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
26253 * include/grub/powerpc/ieee1275/kernel.h: New file.
26254 * include/grub/util/misc.h (grub_util_get_fp_size): New
26255 prototype.
26256 (grub_util_read_at): Likewise.
26257 (grub_util_write_image_at): Likewise.
26258 * kern/main.c (grub_get_end_addr): Remove function.
26259 (grub_load_modules): Call grub_arch_modules_addr instead of using
26260 grub_end_addr. Look for a grub_module_info struct in memory. Use
26261 the grub_module_info fields instead of calling grub_get_end_addr
26262 as loop conditions. Move grub_add_unused_region code here.
26263 (grub_add_unused_region): Remove function.
26264 * kern/i386/pc/init.c: Include grub/cache.h.
26265 (grub_machine_init): Remove call to grub_get_end_addr. Remove
26266 one call to add_mem_region.
26267 (grub_arch_modules_addr): New function.
26268 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
26269 (grub_total_module_size): Likewise.
26270 Include grub/machine/kernel.h.
26271 (grub_arch_modules_addr): New function.
26272 * util/grub-emu.c (grub_end_addr): Remove variable.
26273 (grub_total_module_size): Likewise.
26274 (grub_arch_modules_addr): New function.
26275 * util/misc.c: Include unistd.h.
26276 (grub_util_get_fp_size): New function.
26277 (grub_util_read_at): Likewise.
26278 (grub_util_write_image_at): Likewise.
26279 (grub_util_read_image): Call grub_util_read_at.
26280 (grub_util_write_image): Call grub_util_write_image_at.
26281 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
26282 additional memory in kernel_img for a struct grub_module_info.
26283 Fill in that grub_module_info.
26284 * util/powerpc/ieee1275/grub-mkimage.c: New file.
26285
458786f8 262862005-01-03 Hollis Blanchard <hollis@penguinppc.org>
26287
26288 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
26289 New function.
26290 * include/grub/powerpc/ieee1275/ieee1275.h
26291 (grub_ieee1275_milliseconds): New prototype.
26292 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
26293 Change to 1000.
26294 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
26295 grub_ieee1275_milliseconds.
26296
ac507d1b 262972005-01-03 Hollis Blanchard <hollis@penguinppc.org>
26298
26299 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
26300 variable.
26301 (find_options): New function.
26302 (cmain): Call find_options.
26303 * include/grub/powerpc/ieee1275/ieee1275.h
26304 (grub_ieee1275_realmode): New extern variable.
26305 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
26306 grub_map if grub_ieee1275_realmode is false.
26307
6b8fd1c4 263082004-12-29 Marco Gerards <metgerards@student.han.nl>
26309
26310 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
26311 lines are inserted and make it work like readline. Reported by
26312 Vincent Pelletier <subdino2004@yahoo.fr>.
26313
8514a1e0 263142004-12-28 Marco Gerards <metgerards@student.han.nl>
26315
26316 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
26317
26318 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
26319 `kern/powerpc/cache.S'.
26320
924b6140 263212004-12-27 Marco Gerards <metgerards@student.han.nl>
26322
26323 * genmk.rb: Handle the `Program' class in the main loop. Written
26324 by Johan Rydberg <jrydberg@gnu.org>.
26325 (Program): New class.
26326 (programs): New variable.
26327 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
26328 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
26329 instead of "grub/kernel.h". Include <grub/machine/init.h>.
26330 (help_arch): Function removed.
26331 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
26332 `powerpc/libgcc.h' and `loader.h'.
26333 (pkgdata_PROGRAMS): New variable.
26334 (sbin_UTILITIES): Variable removed.
26335 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
26336 (grubof_SOURCES): Variable re-defined so it only includes the
26337 core functionality.
26338 (grubof_CFLAGS): Remove `-DGRUBOF'.
26339 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
26340 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
26341 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
26342 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
26343 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
26344 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
26345 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
26346 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
26347 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
26348 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
26349 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
26350 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
26351 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
26352 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
26353 (pc_mod_CFLAGS): New variables.
26354 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
26355 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
26356 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
26357 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
26358 Moved from here...
26359 * include/grub/i386/pc/init.h (grub_os_area_addr)
26360 (rub_os_area_size): ... to here.
26361 * include/grub/powerpc/ieee1275/ieee1275.h
26362 (grub_ieee1275_entry_fn): Export symbol.
26363 * include/grub/powerpc/ieee1275/init.h: New file.
26364 * include/grub/powerpc/libgcc.h: Likewise.
26365 * include/grub/cache.h: Likewise.
26366 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
26367 <hollis@penguinppc.org>.
26368 * kern/dl.c: Include <grub/cache.h>.
26369 (grub_dl_flush_cache): New function.
26370 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
26371 for this module.
26372 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
26373 (grub_console_init): Removed prototypes.
26374 (grub_machine_init): Don't initialize the modules anymore.
26375 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
26376 static.
26377 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
26378 Macro undef removed.
26379 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
26380 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
26381 relocation `R_PPC_REL32'. Return an error when the relocation is
26382 unknown.
26383 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
26384 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
26385 * util/misc.c (grub_arch_sync_caches): Likewise.
26386
e4b47e0c 263872004-12-19 Marco Gerards <metgerards@student.han.nl>
26388
26389 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
26390 `symlist.c', add `grubof_symlist.c'.
26391 (symlist.c): Variable removed.
26392 (grubof_HEADERS): Variable added.
26393 (grubof_symlist.c): New target.
26394 (kernel_syms.lst): Use `grubof_HEADERS' instead of
26395 `kernel_img_HEADERS'.
26396 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
26397 * kern/powerpc/dl.c: New file.
26398 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
26399 Function removed.
26400 (grub_arch_dl_relocate_symbols): Likewise.
26401 (grub_register_exported_symbols): Likewise.
26402
4ceb3636 264032004-12-13 Marco Gerards <metgerards@student.han.nl>
26404
26405 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
26406 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
26407 to fail instead. Reported by Vincent Pelletier
26408 <subdino2004@yahoo.fr>.
26409
26410 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
26411 it is not allocated. Reported by Vincent Pelletier
26412 <subdino2004@yahoo.fr>.
26413
26414 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
26415 output so the output looks better.
f19dbdb7 26416
3f1578fe 264172004-12-04 Marco Gerards <metgerards@student.han.nl>
26418
26419 Modulize the partition map support and add support for the amiga
26420 partition map.
f19dbdb7 26421
3f1578fe 26422 * commands/ls.c: Include <grub/partition.h> instead of
26423 <grub/machine/partition.h>.
26424 * kern/disk.c: Likewise.
26425 * kern/rescue.c: Likewise.
26426 * loader/i386/pc/chainloader.c: Likewise.
26427 * normal/cmdline.c: Likewise.
26428 * kern/powerpc/ieee1275/init.c: Likewise.
26429 (grub_machine_init): Call `grub_pc_partition_map_init',
26430 `grub_amiga_partition_map_init' and
26431 `grub_apple_partition_map_init'.
26432 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
26433 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
26434 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
26435 `partition.h' and `pc_partition.h'.
26436 (grub_setup_SOURCES): Remove
26437 `disk/i386/pc/partition.c'. Add `kern/partition.c',
26438 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
26439 (grub_emu_SOURCES): Likewise.
26440 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
26441 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
26442 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
26443 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
26444 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
26445 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
26446 (grubof_SOURCES): Likewise.
26447 * disk/i386/pc/partition.c: File removed.
26448 * disk/powerpc/ieee1275/partition.c: Likewise.
26449 * include/grub/powerpc/ieee1275/partition.h: Likewise.
26450 * include/grub/i386/pc/partition.h: Likewise.
26451 * kern/partition.c: New file.
26452 * partmap/amiga.c: Likewise.
26453 * partmap/apple.c: Likewise.
26454 * partmap/pc.c: Likewise.
26455 * include/grub/partition.h: Likewise..
26456 * include/grub/pc_partition.h: Likewise.
26457 * util/grub-emu.c: Include <grub/partition.h> instead of
26458 <grub/machine/partition.h>.
26459 (main): Call `grub_pc_partition_map_init',
26460 `grub_amiga_partition_map_init' and
26461 `grub_apple_partition_map_init' and deinitialize afterwards.
26462 * util/i386/pc/biosdisk.c: Include `#include
26463 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
26464 `<grub/machine/partition.h>'.
26465 * util/i386/pc/grub-setup.c: Likewise.
26466 * util/i386/pc/biosdisk.c: Likewise.
26467 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
26468 partition information in case of a PC partition.
26469 * util/i386/pc/grub-setup.c: Include `#include
26470 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
26471 `<grub/machine/partition.h>'.
26472 (setup): Only access the PC specific partition information in case
26473 of a PC partition.
26474
0ef4ced9 264752004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 26476
0ef4ced9 26477 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
26478 (grub_longjmp): Likewise.
26479 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
26480 20.
26481 * normal/powerpc/setjmp.S: New file.
26482 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
26483 `normal/powerpc/setjmp.S'.
26484 (grubof_CFLAGS): Add `-DGRUBOF'.
26485 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
26486 [GRUB_UTIL && !GRUBOF].
f19dbdb7 26487
19950e29 264882004-11-16 Marco Gerards <metgerards@student.han.nl>
26489
26490 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
26491 property named `name'. Correctly handle the error returned by
26492 `grub_ieee1275_finddevice' if a device can not be opened.
26493
a2fea427 264942004-11-02 Hollis Blanchard <hollis@penguinppc.org>
26495
26496 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
26497 `actual' for negativity.
26498 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
26499 kern/fshelp.c.
26500
41ea0ea3 265012004-11-01 Marco Gerards <metgerards@student.han.nl>
26502
26503 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
26504 (PAGE_OFFSET): New macro.
26505 (CRTC_ADDR_PORT): Likewise.
26506 (CRTC_DATA_PORT): Likewise.
26507 (START_ADDR_HIGH_REGISTER): Likewise.
26508 (START_ADDR_LOW_REGISTER): Likewise.
26509 (GRAPHICS_ADDR_PORT): Likewise.
26510 (GRAPHICS_DATA_PORT): Likewise.
26511 (READ_MAP_REGISTER): Likewise.
26512 (INPUT_STATUS1_REGISTER): Likewise.
26513 (INPUT_STATUS1_VERTR_BIT): Likewise.
26514 (page): New variable.
26515 (wait_vretrace): New function.
26516 (set_read_map): Likewise.
26517 (set_start_address): Likewise.
26518 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
26519 the right page.
26520 (check_vga_mem): Take the page into account.
26521 (write_char): Likewise.
26522 (write_cursor): Likewise.
26523 (scroll_up): Likewise. Copy the page to the page that is not
26524 shown and switch between both pages.
26525 (grub_vga_putchar): Fix off by one error.
26526 (grub_vga_cls): Wait for the vertical retrace. Take the page into
26527 account.
26528
ad0bd20b 265292004-11-01 Marco Gerards <metgerards@student.han.nl>
26530
26531 Add support for iso9660 (including rockridge).
f19dbdb7 26532
ad0bd20b 26533 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
26534 (iso9660_mod_SOURCES): New variable.
26535 (iso9660_mod_CFLAGS): Likewise.
26536 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
26537 * include/grub/fs.h (grub_iso9660_init): New prototype.
26538 * util/grub-emu.c (main): Call `grub_iso9660_init'.
26539 * fs/iso9660.c: New file.
26540
26541 * include/grub/misc.h (grub_strncat): New prototype.
26542 * kern/misc.c (grub_strncat): New function.
f19dbdb7 26543
ad0bd20b 26544 * fs/hfs.c (grub_hfs_mount): Translate the error
26545 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
26546 * fs/jfs.c (grub_jfs_mount): Likewise.
26547 * fs/ufs.c (grub_ufs_mount): Likewise.
26548
a5477a59 265492004-10-28 Hollis Blanchard <hollis@penguinppc.org>
26550
26551 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
26552 which initialized BAT registers.
26553 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
26554 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
26555 Move from here...
26556 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
26557 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
26558 ... to here.
26559 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
26560 (grub_mapclaim): Likewise.
26561 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
26562 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
26563 hand.
26564
9304c1f8 265652004-10-19 Hollis Blanchard <hollis@penguinppc.org>
26566
26567 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
26568 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
26569 -ffreestanding and -msoft-float.
26570
86f4ae25 265712004-10-15 Hollis Blanchard <hollis@penguinppc.org>
26572
26573 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
26574 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
26575 set in grub_ieee1275_flags.
26576
38912228 265772004-10-14 Hollis Blanchard <hollis@penguinppc.org>
26578
26579 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
26580 prototype.
26581 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
26582 grub_console_init first.
26583 Change the memory range used for grub_ieee1275_claim and
26584 grub_mm_init_region.
26585 Print an error message if the claim fails.
26586 Include <grub/misc.h>.
26587
d1923dc8 265882004-10-13 Hollis Blanchard <hollis@penguinppc.org>
26589
26590 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
26591 Call grub_children_iterate for device nodes of type `scsi',
26592 `ide', or `ata'.
26593 (grub_ofdisk_open): Remove manual device alias resolution.
26594 Fix memory leak when device cannot be opened.
f19dbdb7 26595 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 26596 (grub_children_iterate): New prototype.
26597 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
26598 New function.
26599 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
26600 Return -1 if args.size was -1.
26601
4512e4f3 266022004-10-11 Hollis Blanchard <hollis@penguinppc.org>
26603
26604 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
26605 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
26606 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
26607 Open Firmware's memory for it; claim memory from _start to _end.
26608 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
26609 (_end): New extern.
26610 (_start): Zero BSS from __bss_start to _end.
26611 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
26612 New extern.
26613 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
26614
4d61feb0 266152004-10-11 Hollis Blanchard <hollis@penguinppc.org>
26616
ad0bd20b 26617 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
26618 -1 if args.base was -1.
4d61feb0 26619
026fa2f9 266202004-10-08 Hollis Blanchard <hollis@penguinppc.org>
26621
26622 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
26623 escape sequence instead of a literal ^L. Also call
26624 grub_ofconsole_gotoxy.
26625
9f2220ef 266262004-10-03 Hollis Blanchard <hollis@penguinppc.org>
26627
26628 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
26629 void * arguments to grub_addr_t. All callers updated. Also make
26630 the `result' argument optional.
26631 (grub_ieee1275_release): change void * arguments to grub_addr_t.
26632 All callers updated.
26633
8a572cd7 266342004-09-22 Hollis Blanchard <hollis@penguinppc.org>
26635
26636 * commands/ls.c (grub_ls_list_files): Use the string following the
26637 initial ')', if present, as the filesystem path.
26638 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
26639
26640 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
26641
18aa81f2 266422004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
26643
26644 Make the source code of the menu interface more readable.
f19dbdb7 26645
18aa81f2 26646 * normal/menu.c: Include grub/mm.h.
26647 (TERM_WIDTH): New macro.
26648 (TERM_HEIGHT): Likewise.
26649 (TERM_INFO_HEIGHT): Likewise.
26650 (TERM_MARGIN): Likewise.
26651 (TERM_SCROLL_WIDTH): Likewise.
26652 (TERM_TOP_BORDER_Y): Likewise.
26653 (TERM_LEFT_BORDER_X): Likewise.
26654 (TERM_BORDER_WIDTH): Likewise.
26655 (TERM_MESSAGE_HEIGHT): Likewise.
26656 (TERM_BORDER_HEIGHT): Likewise.
26657 (TERM_NUM_ENTRIES): Likewise.
26658 (TERM_FIRST_ENTRY_Y): Likewise.
26659 (TERM_ENTRY_WIDTH): Likewise.
26660 (TERM_CURSOR_X): Likewise.
26661 (draw_border): Use macros instead of magic numbers.
26662 (print_entry): Likewise.
26663 (print_entries): Likewise.
26664 (run_menu): Likewise. Also, handle the key 'e'.
26665 (run_menu_entry): Ignore empty command lines.
26666 (print_message): Added a new argument EDIT. If EDIT is true,
26667 print a different message.
26668 (init_page): Likewise.
26669 (edit_menu_entry): New function. Not implemented yet.
26670
b47efe30 266712004-09-17 Marco Gerards <metgerards@student.han.nl>
26672
26673 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
26674 can be loaded from normal mode.
f19dbdb7 26675
b47efe30 26676 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
26677 `multiboot.mod'.
26678 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
26679 (multiboot_mod_CFLAGS): New variables.
26680 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 26681 * loader/i386/pc/multiboot_normal.c: Likewise.
26682
b47efe30 26683 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
26684 attribute `unused'.
f19dbdb7 26685
b47efe30 26686 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
26687 `fdiro' to read the mode information from instead of `diro'.
26688
26689 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
26690 looking up a symlink.
26691
26692 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
26693 macro.
26694 * normal/command.c (grub_command_execute): Don't parse the
26695 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
26696 flags of the command.
26697
26698 * normal/menu.c (grub_menu_run): Fix typo.
26699
da75ac71 267002004-09-14 Hollis Blanchard <hollis@penguinppc.org>
26701
26702 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
26703
26704 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
26705 `y + 1' instead of `y - 1'.
26706
26707 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 26708
062b24c2 267092004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
26710
26711 From Hollis Blanchard <hollis@penguinppc.org>:
26712 * kern/misc.c (memmove): New alias for grub_memmove.
26713 (memcmp): New alias for grub_memcmp.
26714 (memset): New alias for grub_memset.
f19dbdb7 26715 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 26716 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 26717 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 26718 (grub_ieee1275_get_property): Likewise.
f19dbdb7 26719
8ddad845 267202004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
26721
26722 Added normal mode command `chainloader' as module chain.mod, which
26723 depends on normal.mod and _chain.mod.
f19dbdb7 26724
8ddad845 26725 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
26726 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
26727 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
26728 Deleted prototype.
26729 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
26730 but arguments parsing moved to ...
26731 (grub_chainloader_cmd): ... here. New function.
26732 * include/grub/i386/pc/chainloader.h: New file.
26733 * loader/i386/pc/chainloader_normal.c: Likewise.
26734
2c1f4ce3 267352004-09-11 Marco Gerards <metgerards@student.han.nl>
26736
26737 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
26738 (grub_mkimage_LDFLAGS): Likewise.
26739 (grub_emu_SOURCES): Likewise.
26740 (kernel_img_HEADERS): Added fshelp.h.
26741 * fs/ext2.c: Include <grub/fshelp.h>.
26742 (FILETYPE_REG): New macro.
26743 (FILETYPE_INO_REG): Likewise.
26744 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
26745 Changed all users.
26746 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
26747 all users.
26748 (grub_fshelp_node): New struct.
26749 (grub_ext2_data): Added member `diropen'. Changed member `inode'
26750 to a pointer.
26751 (grub_ext2_get_file_block): Removed function.
26752 (grub_ext2_read_block): New function.
26753 (grub_ext2_read_file): Replaced parameter `data' by `node'.
26754 This function was written.
26755 (grub_ext2_mount): Read the root inode. Create a diropen struct.
26756 (grub_ext2_find_file): Removed function.
26757 (grub_ext2_read_symlink): New function.
26758 (grub_ext2_iterate_dir): Likewise.
26759 (grub_ext2_open): Rewritten.
26760 (grub_ext2_dir): Rewritten.
26761 * include/grub/fshelp.h: New file.
26762 * fs/fshelp.c: Likewise.
26763
3c52136a 267642004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
26765
26766 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
26767 (print_message): Add a missing newline.
26768 (run_menu): Added timeout support.
26769 (run_menu_entry): New local function.
26770 (grub_menu_run): Added support for booting.
26771
26772 * kern/loader.c (grub_loader_is_loaded): New function.
26773
26774 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
26775 (grub_get_rtc): Exported.
26776
26777 * include/grub/i386/pc/time.h: Include grub/symbol.h.
26778 (grub_get_rtc): Exported.
26779
26780 * include/grub/normal.h (struct grub_command_list): Remove
26781 constant from the member `command'.
26782
26783 * include/grub/loader.h (grub_loader_is_loaded): Declared.
26784
26785 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
26786
26787 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
26788
aa033560 267892004-08-28 Marco Gerards <metgerards@student.han.nl>
26790
26791 Add support for the JFS filesystem.
26792
26793 * fs/jfs.c: New file.
26794 * include/grub/fs.h (grub_jfs_init): New prototype.
26795 (grub_jfs_fini): New prototype.
26796 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
26797 (grub_emu_SOURCES): Likewise.
26798 (pkgdata_MODULES): Add jfs.mod.
26799 (jfs_mod_SOURCES): New variable.
26800 (jfs_mod_CFLAGS): Likewise.
26801 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
26802 (grubof_SOURCES): Likewise.
26803 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
26804
26805 * fs/fat.c (grub_fat_find_dir): Convert the filename little
26806 endian to the host endian.
26807 (grub_fat_utf16_to_utf8): Move function from there...
26808 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 26809 the endianness of the source string anymore.
aa033560 26810 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
26811
94bc45af 268122004-08-24 Marco Gerards <metgerards@student.han.nl>
26813
26814 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
26815 (grub_boot_fini) [GRUB_UTIL]: Likewise.
26816 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
26817 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 26818
94bc45af 26819 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
26820 (grub_hfs_iterate_dir): Make the function static. Add prototypes
26821 for `node_found' and `it_dir'.
26822 (grub_hfs_dir): Add prototype for `dir_hook'.
26823
26824 * fs/minix.c (grub_minix_get_file_block): Add prototype for
26825 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
26826 and `indir32' to silence a gcc warning.
26827
26828 * include/grub/fs.h (grub_hfs_init): New prototype.
26829 (grub_hfs_fini): Likewise.
f19dbdb7 26830
26831
97543f08 268322004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
26833
26834 Each disk device has its own id now. This is useful to make use
26835 of multiple disk devices.
f19dbdb7 26836
97543f08 26837 * include/grub/disk.h (grub_disk_dev_id): New enum.
26838 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
26839 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
26840
26841 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
26842 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
26843
26844 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
26845 GRUB_DISK_DEVICE_OFDISK_ID as an id.
26846
26847 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
26848 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
26849
26850 * include/grub/disk.h (struct grub_disk_dev): Added a new member
26851 "id" which is used by the cache manager.
26852
26853 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
26854 of just "GRUB".
26855
64372eb4 268562004-08-18 Marco Gerards <metgerards@student.han.nl>
26857
26858 * fs/hfs.c: New file.
26859 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
26860 (grub_emu_SOURCES): Likewise.
26861 (pkgdata_MODULES): Add hfs.mod.
26862 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
26863 (grubof_SOURCES): Likewise.
26864 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
26865
26866 * include/grub/misc.h (grub_strncasecmp): Add prototype.
26867 * kern/misc.c (grub_strncasecmp): Add function.
26868
cc61b58f 268692004-08-14 Marco Gerards <metgerards@student.han.nl>
26870
26871 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
26872 with parentheses.
26873
26874 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
26875 (grub_ext2_dir): In case the directory entry type is unknown, read
26876 it from the inode.
26877
0ef123f6 268782004-08-02 Peter Bruin <pjbruin@dds.nl>
26879
26880 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
26881 grub_load_linux instead of grub_rescue_cmd_linux as second
26882 argument of grub_rescue_register_command.
26883
26884 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
26885
a447c5df 268862004-07-27 Marco Gerards <metgerards@student.han.nl>
26887
26888 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
26889 function.
26890 * commands/boot.c: Remove the check for `GRUB_UTIL'.
26891 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
26892 `loader/powerpc/ieee1275/linux.c',
26893 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
26894 * include/grub/powerpc/ieee1275/ieee1275.h
26895 (grub_ieee1275_release): New prototype.
26896 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
26897 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
26898 normal, boot, linux and linux_normal.
26899 * loader/powerpc/ieee1275/linux.c: New file.
26900 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
26901
5a9e3546 269022004-07-12 Marco Gerards <metgerards@student.han.nl>
26903
26904 * normal/arg.c (grub_arg_parse): Correct error handling after
26905 reallocating the argumentlist (check if `argl' is not null instead
26906 of checking if `args' is not null).
26907 * kern/mm.c (grub_realloc): Return the same pointer when using the
26908 same region, instead of returning the header address.
26909
e15199cb 269102004-07-11 Marco Gerards <metgerards@student.han.nl>
26911
26912 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
26913 one block instead of two when looking for the initial partition.
26914 (grub_partition_probe): Initialize the local variable `p' with 0.
26915 Use base 10 for the grub_strtoul call.
26916 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
26917 need for one local variable.
26918 (grub_strtoul): Don't add the new value to `num', instead of that
26919 just assign it.
26920
020616c2 269212004-07-11 Marco Gerards <metgerards@student.han.nl>
26922
26923 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
26924 (pxeboot_img_SOURCES): New variable.
26925 (pxeboot_img_ASFLAGS): Likewise.
26926 (pxeboot_img_LDFLAGS): Likewise.
26927 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
26928 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
26929 <lode_leroy@hotmail.com>.
26930
6c51eb64 269312004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
26932
26933 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
26934 there was no input.
26935
cfb12aff 269362004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
26937
26938 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
26939 the history buffer logic.
26940
6eabba74 269412004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
26942
26943 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
26944 (FILETYPE_INO_SYMLINK): New macros.
26945 (grub_ext2_find_file): Check if the node is a directory using the
26946 inode stat information instead of using the filetype in the
26947 dirent. Exclude the first character of an absolute symlink.
26948 (grub_ext2_dir): Mask out the filetype part of the mode member of
26949 the inode.
26950
66e19ef8 269512004-05-24 Marco Gerards <metgerards@student.han.nl>
26952
26953 Add support for UFS version 1 and 2. Add support for the minix
26954 filesystem version 1 and 2, both the variants with 14 and 30 long
26955 filenames.
f19dbdb7 26956
66e19ef8 26957 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
26958 fs/minix.c.
26959 (grub_emu_SOURCES): Likewise.
26960 (pkgdata_MODULES): Add ufs.mod and minix.mod.
26961 (ufs_mod_SOURCES): New variable.
26962 (ufs_mod_CFLAGS): Likewise.
26963 (minix_mod_SOURCES): Likewise.
26964 (minix_mod_CFLAGS): Likewise.
26965 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
26966 fs/minix.c.
26967 (grubof_SOURCES): Likewise.
26968 * fs/ufs.c: New file.
26969 * fs/minix.c: New file.
26970 * include/grub/fs.h (grub_ufs_init): New prototype.
26971 (grub_ufs_fini): Likewise.
26972 (grub_minix_init): Likewise.
26973 (grub_minix_fini): Likewise.
26974 * util/grub-emu.c (main): Initialize and deinitialize UFS and
26975 minix fs.
26976
cc2e748a 269772004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
26978
26979 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
26980 commands/ls.c, commands/terminal.c, commands/boot.c,
26981 commands/cmp.c and commands/cat.c.
26982 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
26983
26984 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
26985 "env.h"
26986
4b13b216 269872004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
26988
26989 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
26990 and grub_, respectively. Because the conversion is trivial and
26991 mechanical, I omit the details here. Please refer to the CVS
26992 if you need more information.
26993
6a142551 269942004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
26995
26996 * include/pupa: Renamed to ...
26997 * include/grub: ... this.
26998 * util/i386/pc/pupa-mkimage.c: Renamed to ...
26999 * util/i386/pc/grub-mkimage.c: ... this.
27000 * util/i386/pc/pupa-setup.c: Renamed to ...
27001 * util/i386/pc/grub-setup.c: ... this.
27002 * util/pupa-emu.c: Renamed to ...
27003 * util/grub-emu.c: ... this.
27004
e56cdf21 270052004-03-29 Marco Gerards <metgerards@student.han.nl>
27006
27007 Add support for the newworld apple macintosh (PPC). This has been
27008 tested on the powerbook 2000 only. It only adds support for
27009 generic ieee1275 functions, console and disk support. This should
27010 be easy to port to other architectures with support for Open
27011 Firmware.
f19dbdb7 27012
e56cdf21 27013 * configure.ac: Accept the powerpc as host_cpu. In the case of
27014 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
27015 specific tests are only executed while building for the i386.
27016 Inverse test for crosscompile.
27017 * genmk.rb (Utility): Allow assembler files.
27018 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
27019 * conf/powerpc-ieee1275.rmk: New file.
27020 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
27021 * disk/powerpc/ieee1275/partition.c: Likewise.
27022 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
27023 * include/pupa/powerpc/ieee1275/console.h: Likewise.
27024 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
27025 * include/pupa/powerpc/ieee1275/time.h: Likewise.
27026 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
27027 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
27028 * include/pupa/powerpc/ieee1275/loader.h
27029 * include/pupa/powerpc/setjmp.h: Likewise.
27030 * include/pupa/powerpc/types.h: Likewise.
27031 * kern/powerpc/ieee1275/init.c: Likewise.
27032 * kern/powerpc/ieee1275/openfw.c: Likewise.
27033 * term/powerpc/ieee1275/ofconsole.c: Likewise.
27034
27035 These files were written by Johan Rydberg
27036 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 27037
e56cdf21 27038 * boot/powerpc/ieee1275/cmain.c: New file.
27039 * boot/powerpc/ieee1275/crt0.S: Likewise.
27040 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
27041 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
27042
8c8cc205 270432004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
27044
27045 * Makefile.in: Update copyright.
27046 * genmodsrc.sh: Likewise.
27047 * gensymlist.sh: Likewise.
27048 * term/i386/pc/vga.c: Indent correctly.
27049
27050 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
27051 bugreporting address.
27052 * util/i386/pc/pupa-setup.c (usage): Likewise,
27053 (main): Call pupa_ext2_init and pupa_ext2_fini.
27054
f19dbdb7 27055 * fs/fat.c (log2): Renamed to ...
8c8cc205 27056 (fat_log2): ... this.
27057 All callers changed.
27058 * kern/misc.c (memcpy): Alias to pupa_memmove.
27059 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
27060 lvalue cast.
27061 * util/console.c (pupa_ncurses_fini): Return 0.
27062
27063 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
27064 Move fail label here.
27065 [__GNU__]: Don't warn when using stat.
27066 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
27067 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
27068 long int. Use strtol instead of strtoul.
f19dbdb7 27069
db1771cf 270702004-03-14 Marco Gerards <metgerards@student.han.nl>
27071
27072 * commands/boot.c: New file.
27073 * commands/cat.c: Likewise.
27074 * commands/cmp.c: Likewise.
27075 * commands/ls.c: Likewise.
27076 * commands/terminal.c: Likewise.
27077 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
27078 (pupa_register_command): Changed interface to match the new
27079 argument parser.
27080 (pupa_command_execute): Changed (almost rewritten) so it uses
27081 pupa_split_command. Added support for setting variables using the
27082 syntax `foo=bar'.
27083 (rescue_command): Changed to work with the new argument parser.
27084 (terminal_command): Moved from here to commands/terminal.c.
27085 (set_command): New function.
27086 (unset_command): New function.
27087 (insmod_command): New function.
27088 (rmmod_command): New function.
27089 (lsmod_command): New function.
27090 (pupa_command_init): Don't initialize the command terminal
27091 anymore. Initialize the commands set, unset, insmod, rmmod and
27092 lsmod.
27093 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
27094 (kernel_img_HEADERS): Add arg.h and env.h.
27095 (pupa_mkimage_LDFLAGS): Add kern/env.c.
27096 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
27097 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
27098 normal/arg.c.
27099 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
27100 terminal.mod.
27101 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
27102 (boot_mod_SOURCES): New variable.
27103 (terminal_mod_SOURCES): Likewise.
27104 (ls_mod_SOURCES): Likewise.
27105 (cmp_mod_SOURCES): Likewise.
27106 (cat_mod_SOURCES): Likewise.
27107
27108 * normal/arg.c: New file.
27109 * kern/env.c: Likewise.
27110 * include/pupa/arg.h: Likewise.
27111 * include/pupa/env.h: Likewise.
27112 * font/manager.c (font_command): Changed to match argument parsing
27113 interface changes.
27114 (PUPA_MOD_INIT): Likewise.
27115 * hello/hello.c (pupa_cmd_hello): Likewise.
27116 (PUPA_MOD_INIT): Likewise.
27117 * include/pupa/disk.h: Include <pupa/device.h>.
27118 (pupa_print_partinfo): New prototype.
27119 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
27120 (pupa_dl_get_prefix): Likewise.
27121 * include/pupa/misc.h: Include <pupa/err.h>.
27122 (pupa_isgraph): New prototype.
27123 (pupa_isdigit): Likewise.
27124 (pupa_split_cmdline): Likewise.
27125 * include/pupa/normal.h: Include <pupa/arg.h>.
27126 (pupa_command): Changed the prototype of the member `func' to
27127 match the argument parsing interface. Added member `options'.
27128 (pupa_register_command): Updated to match function.
27129 (pupa_arg_parse): New prototype.
27130 (pupa_hello_init) [PUPA_UTIL]: New prototype.
27131 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
27132 (pupa_ls_init) [PUPA_UTIL]: Likewise.
27133 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
27134 (pupa_cat_init) [PUPA_UTIL]: Likewise.
27135 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
27136 (pupa_boot_init) [PUPA_UTIL]: Likewise.
27137 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
27138 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
27139 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
27140 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
27141 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
27142 * kern/disk.c: Include <pupa/file.h>.
27143 (pupa_print_partinfo): New function.
27144 * kern/dl.c: Include <pupa/env.h>.
27145 (pupa_dl_dir): Variable removed.
27146 (pupa_dl_load): Use the environment variable `prefix' instead of
27147 the variable pupa_dl_dir.
27148 (pupa_dl_set_prefix): Function removed.
27149 (pupa_dl_get_prefix): Likewise.
27150 * kern/i386/pc/init.c: Include <pupa/env.h>.
27151 (pupa_machine_init): Use the environment variable `prefix' instead of
27152 using pupa_dl_set_prefix to set the prefix.
27153 * kern/main.c: Include <pupa/env.h>.
27154 (pupa_set_root_dev): Use the environment variable `prefix' instead of
27155 using pupa_dl_get_prefix to get the prefix.
27156 * kern/misc.c: Include <pupa/env.h>.
27157 (pupa_isdigit): New function.
27158 (pupa_isgraph): Likewise.
27159 (pupa_ftoa): Likewise.
27160 (pupa_vsprintf): Added support for printing values of the type
27161 `double'. Make it possible to format variable output when using
27162 formatting like `%1.2%f'.
27163 (pupa_split_cmdline): New function.
27164 * kern/rescue.c: Include <pupa/env.h>.
27165 (next_word): Removed function.
27166 (pupa_rescue_cmd_prefix): Likewise.
27167 (pupa_rescue_cmd_set): New function.
27168 (pupa_rescue_cmd_unset): New function.
27169 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
27170 split the command line instead of splitting it here. Added
27171 support for setting variables using the syntax `foo=bar'. Don't
27172 initialize the prefix command anymore. Initialized the set and
27173 unset commands.
27174 * normal/cmdline.c: Include <pupa/env.h>.
27175 (pupa_tab_complete): Added prototypes for print_simple_completion,
27176 print_partition_completion, add_completion, iterate_commands,
27177 iterate_dev, iterate_part and iterate_dir. Moved code to print
27178 partition information from here to kern/disk.c.
fe6b695a 27179 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 27180 * normal/main.c: Include <pupa/env.h>.
27181 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
27182 instead of using pupa_dl_get_prefix to get the prefix.
27183 * term/i386/pc/vga.c: Include <pupa/arg.h>.
27184 (check_vga_mem): Cast pointers to `void *' to silence a gcc
27185 warning.
27186 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
27187 (pupa_vga_setcolor): Declare unused variables with `__attribute__
27188 ((unused))' to silence a gcc warning.
27189 (pupa_vga_setcolor): Likewise.
27190 (debug_command): Changed to match argument parsing
27191 interface changes.
27192 * util/pupa-emu.c: Include <pupa/env.h>.
27193 (options): Added 0's for unused fields to silence a gcc warning.
27194 (argp): Likewise.
27195 (main): Use the environment variable `prefix' instead of using
27196 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
27197 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
27198 and terminal.
27199
27200 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
27201 * util/misc.c: Include <malloc.h>.
27202 (pupa_malloc): Rewritten so errors are correctly reported.
27203 (pupa_realloc): Likewise.
27204 (pupa_memalign): Likewise.
27205 (pupa_mm_init_region): Declare unused variables with
27206 `__attribute__ ((unused))' to silence a gcc warning.
27207 * normal/i386/setjmp.S: Remove tab at the end of the file to
27208 silence a gcc warning.
27209 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
27210 variables with `__attribute__ ((unused))' to silence a gcc
27211 warning.
27212 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
27213 local variable i unsigned to silence a gcc warning.
27214
27215 * kern/term.c: Include <pupa/misc.h>.
27216 (pupa_more_lines): New variable.
27217 (pupa_more): Likewise.
27218 (pupa_putcode): When the pager is active pause at the end of every
27219 screen.
27220 (pupa_set_more): New function.
27221 * include/pupa/term.h (pupa_set_more): New prototype.
27222
27223
3b1139cb 272242004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
27225
27226 Now this project is GRUB 2 rather than PUPA. The location of
27227 the CVS repository was moved to GRUB's.
f19dbdb7 27228
3b1139cb 27229 * configure.ac: Use bug-grub as the reporting address.
27230 Use GRUB instead of PUPA.
27231 Change the version number to 1.90.
27232
8367695c 272332004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
27234
27235 * genkernsyms.sh: Updated copyright information.
27236 * genmk.rb: Likewise.
27237 * genmodsrc.sh: Likewise.
27238 * gensymlist.sh: Likewise.
27239 * boot/i386/pc/boot.S: Likewise.
27240 * boot/i386/pc/diskboot.S: Likewise.
27241 * disk/i386/pc/biosdisk.c: Likewise.
27242 * disk/i386/pc/partition.c: Likewise.
27243 * font/manager.c: Likewise.
27244 * fs/ext2.c: Likewise.
27245 * fs/fat.c: Likewise.
27246 * include/pupa/boot.h: Likewise.
27247 * include/pupa/device.h: Likewise.
27248 * include/pupa/disk.h: Likewise.
27249 * include/pupa/dl.h: Likewise.
27250 * include/pupa/elf.h: Likewise.
27251 * include/pupa/err.h: Likewise.
27252 * include/pupa/file.h: Likewise.
27253 * include/pupa/font.h: Likewise.
27254 * include/pupa/fs.h: Likewise.
27255 * include/pupa/kernel.h: Likewise.
27256 * include/pupa/loader.h: Likewise.
27257 * include/pupa/misc.h: Likewise.
27258 * include/pupa/mm.h: Likewise.
27259 * include/pupa/net.h: Likewise.
27260 * include/pupa/normal.h: Likewise.
27261 * include/pupa/rescue.h: Likewise.
27262 * include/pupa/setjmp.h: Likewise.
27263 * include/pupa/symbol.h: Likewise.
27264 * include/pupa/term.h: Likewise.
27265 * include/pupa/types.h: Likewise.
27266 * include/pupa/i386/setjmp.h: Likewise.
27267 * include/pupa/i386/types.h: Likewise.
27268 * include/pupa/i386/pc/biosdisk.h: Likewise.
27269 * include/pupa/i386/pc/boot.h: Likewise.
27270 * include/pupa/i386/pc/console.h: Likewise.
27271 * include/pupa/i386/pc/init.h: Likewise.
27272 * include/pupa/i386/pc/kernel.h: Likewise.
27273 * include/pupa/i386/pc/linux.h: Likewise.
27274 * include/pupa/i386/pc/loader.h: Likewise.
27275 * include/pupa/i386/pc/memory.h: Likewise.
27276 * include/pupa/i386/pc/multiboot.h: Likewise.
27277 * include/pupa/i386/pc/partition.h: Likewise.
27278 * include/pupa/i386/pc/time.h: Likewise.
27279 * include/pupa/i386/pc/vga.h: Likewise.
27280 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
27281 * include/pupa/util/getroot.h: Likewise.
27282 * include/pupa/util/misc.h: Likewise.
27283 * include/pupa/util/resolve.h: Likewise.
27284 * kern/device.c: Likewise.
27285 * kern/disk.c: Likewise.
27286 * kern/dl.c: Likewise.
27287 * kern/err.c: Likewise.
27288 * kern/file.c: Likewise.
27289 * kern/fs.c: Likewise.
27290 * kern/loader.c: Likewise.
27291 * kern/main.c: Likewise.
27292 * kern/misc.c: Likewise.
27293 * kern/mm.c: Likewise.
27294 * kern/rescue.c: Likewise.
27295 * kern/term.c: Likewise.
27296 * kern/i386/dl.c: Likewise.
27297 * kern/i386/pc/init.c: Likewise.
27298 * kern/i386/pc/lzo1x.S: Likewise.
27299 * kern/i386/pc/startup.S: Likewise.
27300 * loader/i386/pc/chainloader.c: Likewise.
27301 * loader/i386/pc/linux.c: Likewise.
27302 * loader/i386/pc/multiboot.c: Likewise.
27303 * normal/cmdline.c: Likewise.
27304 * normal/command.c: Likewise.
27305 * normal/main.c: Likewise.
27306 * normal/menu.c: Likewise.
27307 * normal/i386/setjmp.S: Likewise.
27308 * term/i386/pc/console.c: Likewise.
27309 * term/i386/pc/vga.c: Likewise.
27310 * util/console.c: Likewise.
27311 * util/genmoddep.c: Likewise.
27312 * util/misc.c: Likewise.
27313 * util/pupa-emu.c: Likewise.
27314 * util/resolve.c: Likewise.
27315 * util/unifont2pff.rb: Likewise.
27316 * util/i386/pc/biosdisk.c: Likewise.
27317 * util/i386/pc/getroot.c: Likewise.
27318 * util/i386/pc/pupa-mkimage.c: Likewise.
27319 * util/i386/pc/pupa-setup.c: Likewise.
27320
e6eced71 273212004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
27322
27323 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
27324 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
27325 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
27326 reading and reset it after reading.
27327 (pupa_ext2_close): Return PUPA_ERR_NONE.
27328
27329 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
27330 Correct value.
27331 (struct linux_kernel_header): Add kernel_version and
27332 initrd_addr_max.
27333 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
27334 pupa_file_read succeeds.
27335 (pupa_rescue_cmd_initrd): Implement.
27336
5aded270 273372003-12-03 Marco Gerards <metgerards@student.han.nl>
27338
27339 * fs/ext2.c (pupa_ext2_label): New function.
27340 (pupa_ext2_fs): Added label.
27341 * fs/fat.c (pupa_fat_label): New function.
27342 (pupa_fat_fs): Added label.
27343 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
27344
27345 * kern/misc.c (pupa_strndup): New function.
27346 * include/pupa/misc.h (pupa_strndup): New prototype.
27347
27348 * include/pupa/normal.h: Include <pupa/err.h>.
27349 (pupa_set_history): New prototype.
27350 (pupa_iterate_commands): New prototype.
27351 * normal/cmdline.c: Include <pupa/machine/partition.h>,
27352 <pupa/disk.h>, <pupa/file.h>.
27353 (hist_size): New variable.
27354 (hist_lines): Likewise.
27355 (hist_end): Likewise.
27356 (hist_used): Likewise.
27357 (pupa_set_history): New function.
27358 (pupa_history_get): Likewise.
27359 (pupa_history_add): Likewise.
27360 (pupa_history_replace): Likewise.
27361 (pupa_tab_complete): Likewise.
27362 (pupa_cmdline_run): Added tab completion and history buffer. Tab
27363 completion shows partitionnames while completing partitions, this
27364 feature was suggested by Jeff Bailey.
27365 * normal/command.c (pupa_iterate_commands): New function.
27366 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
27367 (pupa_normal_init): Initialize history buffer.
27368 (PUPA_MOD_INIT): Likewise.
27369 (pupa_normal_fini): Free the history buffer.
27370 (PUPA_MOD_FINI): Likewise.
27371
27372 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
27373 key.
27374
27375 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
27376 * configure.ac [i386]: Check for regparam bug.
27377 (NESTED_FUNC_ATTR) [! i386]: Defined.
27378
1f7315a3 273792003-11-17 Marco Gerards <metgerards@student.han.nl>
27380
27381 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
27382 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
27383 (pupa_emu_SOURCES): New variable.
27384 (pupa_emu_LDFLAGS): Likewise.
27385 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
27386 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
27387 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
27388 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
27389 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
27390 (pupa_jmp_buf): New typedef.
27391 (pupa_setjmp) [PUPA_UTIL]: New macro.
27392 (pupa_longjmp) [PUPA_UTIL]: Likewise.
27393 * include/pupa/term.h (struct pupa_term): New member `refresh'.
27394 (pupa_refresh): New prototype.
27395 * include/pupa/util/getroot.h: New file.
27396 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
27397 it.
27398 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
27399 (pupa_rescue_cmd_cat): Likewise.
27400 (pupa_rescue_cmd_ls): Likewise.
27401 (pupa_rescue_cmd_testload): Likewise.
27402 (pupa_rescue_cmd_lsmod): Likewise.
27403 * normal/cmdline.c (pupa_cmdline_get): Likewise.
27404 * normal/menu.c (run_menu): Likewise.
27405 * kern/term.c (pupa_cls): Likewise.
27406 (pupa_refresh): New function.
27407 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
27408 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
27409 * util/console.c: New file.
f19dbdb7 27410
1f7315a3 27411 * util/i386/pc/getroot.c: New file.
27412 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
27413 (pupa_putchar): New function.
27414 (pupa_refresh): Likewise.
27415 (xgetcwd): Function moved to ...
27416 (strip_extra_slashes): Likewise.
27417 (get_prefix): Likewise.
f19dbdb7 27418 * util/i386/pc/getroot.c: ... here.
1f7315a3 27419 (find_root_device): Function moved and renamed to...
27420 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
27421 Changed all callers.
27422 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
27423 and renamed to...
27424 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
27425 Changed all callers.
27426 * util/misc.c (pupa_memalign): New function.
27427 (pupa_mm_init_region): Likewise.
27428 (pupa_register_exported_symbols): Likewise.
27429 (pupa_putchar): Function removed.
27430 * util/pupa-emu.c: New file.
27431
9a5c1ade 274322003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
27433
27434 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
27435 (_multiboot_mod_SOURCES): New variable.
27436 (_multiboot_mod_CFLAGS): Likewise.
27437 * loader/i386/pc/multiboot.c: New file.
27438 * include/pupa/i386/pc/multiboot.h: Likewise.
27439 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
27440 (pupa_multiboot_real_boot): New function.
27441 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
27442 (pupa_multiboot_real_boot): New prototype.
27443 (pupa_rescue_cmd_multiboot): Likewise
27444 (pupa_rescue_cmd_module): Likewise.
27445
27446 * kern/loader.c (pupa_loader_set): Continue when
27447 pupa_loader_unload_func() fails.
27448 (pupa_loader_unset): New function.
27449 * include/pupa/loader.h (pupa_loader_unset): New prototype.
27450
27451 * kern/misc.c (pupa_stpcpy): New function.
27452 * include/pupa/misc.h (pupa_stpcpy): New prototype.
27453
8e72a9c0 274542003-11-12 Marco Gerards <metgerards@student.han.nl>
27455
27456 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
27457 for available extensions.
27458
27459 * include/pupa/i386/pc/time.h: New file.
27460 * kern/disk.c: Include <pupa/machine/time.h>.
27461 (PUPA_CACHE_TIMEOUT): New macro.
27462 (pupa_last_time): New variable.
27463 (pupa_disk_open): Flush the cache when there was a timeout.
27464 (pupa_disk_close): Reset the timer.
27465 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
27466 pupa_currticks.
27467 * util/misc.c: Include <sys/times.h>
27468 (pupa_get_rtc): New function.
27469
c4adbd32 274702003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
27471
27472 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
27473 as blocks.
27474 (pupa_ext2_get_file_block): Use blocks member.
27475
27476 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
27477 first block. Return -1 instead of pupa_errno on error.
27478
bfd30f06 274792003-10-27 Marco Gerards <metgerards@student.han.nl>
27480
27481 * README: In the pupa-mkimage example use _chain instead of chain
27482 and ext2 instead of fat.
27483 * TODO: Replace ext2fs with jfs as an example. Add an item for
27484 adding journal playback for ext2fs.
27485 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
27486 (pkgdata_MODULES): Added ext2.mod.
27487 (ext2_mod_SOURCES): New variable.
27488 (ext2_mod_CFLAGS): Likewise.
27489 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
27490 * include/pupa/misc.h (pupa_strncpy): New prototype.
27491 (pupa_strcat): Likewise.
27492 (pupa_strncmp): Likewise.
27493 * kern/misc.c (pupa_strcat): Enable function.
27494 (pupa_strncpy): New function.
27495 (pupa_strncmp): Likewise.
27496 * fs/ext2.c: New file.
f19dbdb7 27497
bfd30f06 27498 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
27499 when the read failed before retrying.
27500 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
27501 (_FILE_OFFSET_BITS): Likewise.
27502 * configure.ac: Added AC_SYS_LARGEFILE.
27503
98d15063 275042003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
27505
27506 * genmk.rb (PModule#rule): Make sure to get only symbol names
27507 from the output of nm.
59cad637 27508 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 27509
18d9c7cd 275102003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
27511
27512 I forgot to check in these changes for a long time. This adds
27513 incomplete support for VGA console, and this is still very
27514 buggy. Also, a lot of consideration is required for I18N,
27515 UNICODE, and VGA font issues. Therefore, assume that this is
27516 such that "better than nothing".
f19dbdb7 27517
18d9c7cd 27518 * font/manager.c: New file.
27519 * include/pupa/font.h: Likewise.
27520 * include/pupa/i386/pc/vga.h: Likewise.
27521 * term/i386/pc/vga.c: Likewise.
27522 * util/unifont2pff.rb: Likewise.
27523
27524 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
27525 (pkgdata_MODULES): Added vga.mod and font.mod.
27526 (vga_mod_SOURCES): New variables.
27527 (vga_mod_CFLAGS): Likewise.
27528 (font_mod_SOURCES): Likewise.
27529 (font_mod_CFLAGS): Likewise.
27530
27531 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
27532
27533 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 27534 (struct pupa_term): Added init and fini.
18d9c7cd 27535 Changed the argument of putchar to pupa_uint32_t.
27536
27537 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
27538 (pupa_console_real_putchar): New prototype.
27539 (pupa_console_putchar): Removed.
27540 (pupa_console_checkkey): Exported.
27541 (pupa_console_getkey): Likewise.
27542
27543 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
27544 characters.
27545
27546 * kern/term.c (pupa_term_set_current): Rewritten.
27547 (pupa_putchar): Likewise.
27548 (pupa_putcode): New function.
27549
27550 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
27551 (pupa_console_real_putchar): ... this.
27552 (pupa_vga_set_mode): New function.
27553 (pupa_vga_get_font): Likewise.
27554
27555 * normal/command.c: Include pupa/term.h.
27556 (terminal_command): New function.
27557 (pupa_command_init): Register the command "terminal".
27558
27559 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
27560 (DISP_UP): Likewise.
27561 (DISP_RIGHT): Likewise.
27562 (DISP_DOWN): Likewise.
27563 (DISP_HLINE): Likewise.
27564 (DISP_VLINE): Likewise.
27565 (DISP_UL): Likewise.
27566 (DISP_UR): Likewise.
27567 (DISP_LL): Likewise.
27568 (DISP_LR): Likewise.
27569
27570 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 27571
977329f5 275722003-02-08 NIIBE Yutaka <gniibe@m17n.org>
27573
27574 * util/resolve.c (pupa_util_resolve_dependencies): BUG
27575 FIX. Reverse the path_list.
27576
27577 * include/pupa/normal.h: Export pupa_register_command and
27578 pupa_unregister_command.
27579
27580 * hello/hello.c (pupa_cmd_hello): New module.
27581 * conf/i386-pc.rmk: Added hello.mod.
27582
1f5ab428 275832003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
27584
27585 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 27586
1f5ab428 27587 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
27588 (compress_kernel): New variable.
27589 (generate_image): Heavily modified to support compressing a
27590 large part of the core image.
27591
27592 * util/misc.c (pupa_util_read_image): Fix a file descriptor
27593 leak.
27594 (pupa_util_load_image): New function.
27595
27596 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
27597 (pupa_compressed_size): New variable.
27598 (codestart): Enable Gate A20 here.
27599 Decompress the compressed part of the core image.
27600 Rearrange the code to put functions and variables which are
27601 required for initialization in the non-compressed part.
27602 Include lzo1x.S.
27603
27604 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
27605 here.
27606
27607 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
27608
f19dbdb7 27609 * include/pupa/i386/pc/kernel.h
1f5ab428 27610 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
27611 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
27612 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
27613 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
27614 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
27615
27616 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
27617
27618 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
27619 (Utility#rule): Likewise.
27620
27621 * configure.ac: Check if LZO is available.
27622
ce5bf700 276232003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
27624
27625 * include/pupa/normal.h: New file.
27626 * include/pupa/setjmp.h: Likewise.
27627 * include/pupa/i386/setjmp.h: Likewise.
27628 * normal/cmdline.c: Likewise.
27629 * normal/command.c: Likewise.
27630 * normal/main.c: Likewise.
27631 * normal/menu.c: Likewise.
27632 * normal/i386/setjmp.S: Likewise.
f19dbdb7 27633
ce5bf700 27634 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
27635 (pupa_rescue_cmd_initrd): Likewise.
27636
27637 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
27638 Likewise.
27639
27640 * kern/i386/pc/startup.S (translation_table): New variable.
27641 (translate_keycode): New function.
27642 (pupa_console_getkey): Call translate_keycode.
27643
27644 * kern/rescue.c (attempt_normal_mode): New function.
27645 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
27646 it failed, print a message.
27647
27648 * kern/mm.c (pupa_real_malloc): Print more information when a
27649 free magic is broken.
27650 (pupa_free): If the first free header is not free actually, set
27651 it to P.
27652
27653 * kern/main.c (pupa_load_normal_mode): Just load the module
27654 "normal".
27655 (pupa_main): Don't print the message
27656 "Entering into rescue mode..." here.
27657
27658 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
27659 Declared.
27660 (pupa_rescue_cmd_initrd): Likewise.
27661 (pupa_rescue_cmd_initrd): Likewise.
27662
27663 * include/pupa/symbol.h (FUNCTION): Specify the type.
27664 (VARIABLE): Likewise.
27665
27666 * include/pupa/err.h (pupa_err_t): Added
27667 PUPA_ERR_UNKNOWN_COMMAND.
27668
27669 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
27670 (pupa_dl_get_prefix): Likewise.
27671
27672 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
27673 Added _chain.mod and _linux.mod instead of chain.mod and
27674 linux.mod.
27675 (chain_mod_SOURCES): Renamed to ...
27676 (_chain_mod_SOURCES): ... this.
27677 (chain_mod_CFLAGS): Renamed to ...
27678 (_chain_mod_CFLAGS): ... this.
27679 (linux_mod_SOURCES): Renamed to ...
27680 (_linux_mod_SOURCES): ... this.
27681 (linux_mod_CFLAGS): Renamed to ...
27682 (_linux_mod_CFLAGS): ... this.
27683 (normal_mod_SOURCES): New variable.
27684 (normal_mod_CFLAGS): Likewise.
27685 (normal_mod_ASFLAGS): Likewise.
27686
276872003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
27688
27689 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
27690 possible.
27691
fe6b695a 27692 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 27693 recursively.
27694 (pupa_dl_unref): Unrefer depending modules recursively.
27695 Don't call pupa_dl_unload implicitly, because PUPA can crash if
27696 a module is unloaded before one depending on that module is
27697 unloaded.
27698 (pupa_dl_unload): Unload depending modules explicitly,
27699 if possible.
27700
c04da074 277012003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
27702
27703 * include/pupa/i386/pc/linux.h: New file.
27704 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 27705
c04da074 27706 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
27707 Removed.
27708 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
27709 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
27710 of PUPA_CHAINLOADER_BOOT_SECTOR.
27711
27712 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
27713 (pupa_linux_prot_size): New variable.
27714 (pupa_linux_tmp_addr): Likewise.
27715 (pupa_linux_real_addr): Likewise.
27716 (pupa_linux_boot_zimage): New function.
27717 (pupa_linux_boot_bzimage): Likewise.
27718
27719 * kern/i386/pc/init.c (struct mem_region): New structure.
27720 (MAX_REGIONS): New macro.
27721 (mem_regions): New variable.
27722 (num_regions): Likewise.
27723 (pupa_os_area_addr): Likewise.
27724 (pupa_os_area_size): Likewise.
27725 (pupa_lower_mem): Likewise.
27726 (pupa_upper_mem): Likewise.
27727 (add_mem_region): New function.
27728 (compact_mem_regions): Likewise.
27729 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
27730 the size of the conventional memory and that of so-called upper
27731 memory (before the first memory hole).
27732 Instead of adding each found region to free memory, use
27733 add_mem_region and add them after removing overlaps.
27734 Also, add only 1/4 of the upper memory to free memory. The rest
27735 is used for loading OS images. Maybe this is ad hoc, but this
27736 makes it much easier to relocate OS images when booting.
27737
27738 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
27739 (pupa_enter_rescue_mode): Don't register initrd and module.
27740
27741 * kern/mm.c: Include pupa/dl.h.
27742
27743 * kern/main.c: Include pupa/file.h and pupa/device.h.
27744
27745 * kern/loader.c (pupa_loader_load_module_func): Removed.
27746 (pupa_loader_load_module): Likewise.
27747
27748 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
27749 ``.o''.
27750
27751 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
27752 (pupa_linux_tmp_addr): Likewise.
27753 (pupa_linux_real_addr): Likewise.
27754 (pupa_linux_boot_zimage): Likewise.
27755 (pupa_linux_boot_bzimage): Likewise.
27756
27757 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
27758 (pupa_upper_mem): Likewise.
27759 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
27760 module is too dangerous.
27761
27762 * include/pupa/loader.h (pupa_os_area_addr): Declared.
27763 (pupa_os_area_size): Likewise.
27764 (pupa_loader_set): Remove the first argument. Loader doesn't
27765 manage modules or initrd any longer.
27766 (pupa_loader_load_module): Removed.
27767
27768 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
27769 (linux_mod_SOURCES): New variable.
27770 (linux_mod_CFLAGS): Likewise.
27771
a13f9237 277722003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
27773
27774 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
27775 the length of a blocklist correctly.
27776
27777 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
27778 Use ioctl only if the OS file is a block device.
27779 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
27780 not very useful for normal files.
27781
27782 * kern/main.c (pupa_set_root_dev): New function.
27783 (pupa_load_normal_mode): Likewise.
27784 (pupa_main): Call those above.
27785
27786 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
27787 pupa_uint16_t.
27788
27789 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
27790
a5ffe966 277912003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
27792
27793 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
27794 (setup): Configure the installed partition information and the
27795 dl prefix.
27796
27797 * loader/i386/pc/chainloader.c (my_mod): New variable.
27798 (pupa_chainloader_unload): New function.
27799 (pupa_rescue_cmd_chainloader): Refer itself.
27800 (PUPA_MOD_INIT): Save its own module in MY_MOD.
27801
27802 * kern/i386/pc/startup.S (install_partition): Removed.
27803 (version_string): Likewise.
27804 (config_file): Likewise.
27805 (pupa_install_dos_part): New variable.
27806 (pupa_install_bsd_part): Likewise.
27807 (pupa_prefix): Likewise.
27808 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
27809
27810 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
27811 and pupa/misc.h.
27812 (make_install_device): New function.
27813 (pupa_machine_init): Set the dl prefix.
27814
27815 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
27816 (buf): Renamed to ...
27817 (linebuf): ... this.
27818 (pupa_rescue_cmd_prefix): New function.
27819 (pupa_rescue_cmd_insmod): Likewise.
27820 (pupa_rescue_cmd_rmmod): Likewise.
27821 (pupa_rescue_cmd_lsmod): Likewise.
27822 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
27823 rmmod and lsmod.
27824
27825 * kern/mm.c (pupa_memalign): If failed even after invalidating
27826 disk caches, unload unneeded modules and retry.
27827
27828 * kern/misc.c (pupa_memmove): New function.
27829 (pupa_memcpy): Removed.
27830 (pupa_strcpy): New function.
27831 (pupa_itoa): Made static.
27832
27833 * kern/dl.c (pupa_dl_iterate): New function.
27834 (pupa_dl_ref): Likewise.
27835 (pupa_dl_unref): Likewise.
27836 (pupa_dl_unload): Return if succeeded or not.
27837 (pupa_dl_unload_unneeded): New function.
27838 (pupa_dl_unload_all): Likewise.
27839 (pupa_dl_init): Renamed to ...
27840 (pupa_dl_set_prefix): ... this.
27841 (pupa_dl_get_prefix): New function.
27842
27843 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
27844 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
27845 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
27846 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
27847 (pupa_install_dos_part): Declared.
27848 (pupa_install_bsd_part): Likewise.
27849 (pupa_prefix): Likewise.
27850 (pupa_boot_drive): Likewise.
27851
27852 * include/pupa/types.h: Fix a typo.
27853
27854 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
27855 pupa_memmove.
27856 (pupa_memmove): Declared.
27857 (pupa_strcpy): Likewise.
27858
27859 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
27860 pupa_mod_init takes one argument, its own module.
27861 (pupa_dl_unload_unneeded): Declared.
27862 (pupa_dl_unload_all): Likewise.
27863 (pupa_dl_ref): Likewise.
27864 (pupa_dl_unref): Likewise.
27865 (pupa_dl_iterate): Likewise.
27866 (pupa_dl_init): Renamed to ...
27867 (pupa_dl_set_prefix): ... this.
27868 (pupa_dl_get_prefix): Declared.
27869
27870 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 27871 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 27872 unloaded.
27873 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
27874 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
27875
27876 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
27877 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
27878
012d7999 278792003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
27880
27881 * util/i386/pc/pupa-setup.c (setup): Define the internal
27882 function find_first_partition_start at the top level, because GCC
27883 3.0.x cannot compile internal functions in deeper scopes
27884 correctly.
27885 (find_root_device): Use lstat instead of stat.
27886 Don't follow symbolic links.
27887 Fix the path-constructing code.
27888
27889 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
27890 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
27891 by a BLKGETSIZE ioctl first, because block devices don't fill
27892 the member st_mode of the structure stat on Linux.
27893 [__linux__] (linux_find_partition): Use a temporary buffer
27894 REAL_DEV for the working space. Copy it to DEV before returning.
27895 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
27896 buffer cache consistent.
27897 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
27898 strncmp. The previous value was merely wrong.
27899 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
27900
27901 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
27902 FAT size is 12. The previous value was merely wrong.
27903
27904 * kern/main.c (pupa_main): Don't split the starting message from
27905 newlines.
27906
27907 * kern/term.c (pupa_putchar): Put CR after LF instead of before
27908 LF, because BIOS goes crazy about character attributes in this
27909 case.
27910
1cc73a62 279112003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
27912
27913 * include/i386/pc/util/biosdisk.h: New file.
27914 * util/i386/pc/biosdisk.c: Likewise.
27915 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 27916
1cc73a62 27917 * Makefile.in (INCLUDE_DISTFILES): Added
27918 include/pupa/i386/pc/util/biosdisk.h.
27919 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
27920 directory util/i386/pc.
27921 (install-local): Added a rule for sbin_UTILITIES.
27922 (uninstall): Likewise.
27923
27924 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
27925
27926 * util/misc.c (xrealloc): New function.
27927 (pupa_malloc): Likewise.
27928 (pupa_free): Likewise.
27929 (pupa_realloc): Likewise.
27930 (pupa_stop): Likewise.
27931 (pupa_putchar): Likewise.
27932
27933 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
27934
27935 * include/pupa/util/misc.h (xrealloc): Declared.
27936
27937 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
27938 macro.
27939 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
27940 (PUPA_BOOT_MACHINE_BPB_END): ... this.
27941
27942 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
27943 [PUPA_UTIL] (pupa_fat_fini): Likewise.
27944
27945 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
27946 way should be implemented.
27947 [PUPA_UTIL] (pupa_fat_fini): Likewise.
27948
27949 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
27950 the size of NAME for safety.
27951 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
27952 0x88.
27953
27954 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
27955 (pupa_setup_SOURCES): Likewise.
27956
27957 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
27958
08b70fe8 279592002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
27960
27961 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
27962 bunch of pushl's from pusha, because this destroys the return
27963 value.
27964
62ddcc8f 279652002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
27966
27967 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
27968 This means that any missing prototypes could be fatal. Also, you
27969 must take care when writing assembly code. See the comments at
27970 the beginning of startup.S, for more details.
f19dbdb7 27971
62ddcc8f 27972 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
27973 compilation mechanism.
27974 (pupa_chainloader_real_boot): Likewise.
27975 (pupa_biosdisk_rw_int13_extensions): Likewise.
27976 (pupa_biosdisk_rw_standard): Likewise.
27977 (pupa_biosdisk_check_int13_extensions): Likewise.
27978 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
27979 (pupa_biosdisk_get_diskinfo_standard): Likewise.
27980 (pupa_get_memsize): Likewise.
27981 (pupa_get_mmap_entry): Likewise.
27982 (pupa_console_putchar): Likewise.
27983 (pupa_console_setcursor): Likewise.
27984 (pupa_getrtsecs): Use pushl instead of push.
27985
27986 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
27987 memory instead of the stack for a mmap entry, because some
27988 BIOSes may ignore the maximum size and overflow.
27989
27990 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
27991
27992 * genmk.rb (PModule#rule): Compile automatically generated
27993 sources with module-specific CFLAGS as well as other sources.
27994
9962ed99 279952002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
27996
27997 * configure.ac: Check ld.
27998 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
27999 respectively, before checking endianness and sizes.
28000
28001 * Makefile.in (LD): New variable.
f19dbdb7 28002
abdfc3c5 280032002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
28004
28005 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
28006
6a161fa9 280072002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
28008
28009 * Changelog: New file.
28010