]> git.proxmox.com Git - grub2.git/blob - ChangeLog
* util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
[grub2.git] / ChangeLog
1 2010-06-20 Colin Watson <cjwatson@ubuntu.com>
2
3 * util/grub-mkconfig.in: Capitalise and export GRUB_PREFIX. Stop
4 setting GRUB_VIDEO_BACKEND. Make it available as a user override
5 instead. Replace the gfxterm backend check with a check that
6 ${GRUB_PREFIX}/video.lst is non-empty.
7 * util/grub.d/00_header.in: Use GRUB_PREFIX rather than computing it
8 again.
9 (load_video): New generated function. Call it before loading
10 gfxterm rather than loading ${GRUB_VIDEO_BACKEND}.
11 * util/grub.d/10_linux.in (linux_entry): Call load_video.
12 * util/grub.d/30_os-prober.in (osx_entry): Likewise.
13 * docs/grub.texi (Simple configuration): Document
14 GRUB_VIDEO_BACKEND.
15
16 2010-06-20 Vladimir Serbinenko <phcoder@gmail.com>
17
18 Use video functions in linux and xnu loaders.
19
20 * conf/i386-pc.rmk (xnu_mod_SOURCES): Remove loader/i386/pc/xnu.c.
21 * conf/x86-efi.rmk (xnu_mod_SOURCES): Remove loader/i386/efi/xnu.c.
22 * include/grub/i386/xnu.h (grub_xnu_set_video): Removed.
23 * loader/i386/efi/linux.c (grub_linux_setup_video): Copied from
24 loader/i386/pc/linux.c.
25 (grub_linux_boot): Resynced with loader/i386/pc/linux.c.
26 (find_line_len): Removed.
27 (find_framebuf): Likewise.
28 (grub_cmd_linux): Declare grub_linux_boot as possibly returning.
29 * loader/i386/efi/xnu.c: Removed.
30 * loader/i386/pc/xnu.c: Moved from here...
31 * loader/i386/xnu.c: ...here.
32
33 Enable priorities in video drivers.
34
35 * include/grub/video.h (grub_video_adapter_prio_t): New type.
36 (grub_video_adapter): New field prio.
37 (grub_video_register): Respect prio when inserting.
38 * video/efi_gop.c (grub_video_gop_adapter): Add prio.
39 * video/efi_uga.c (grub_video_uga_adapter): Likewise.
40 * video/emu/sdl.c (grub_video_sdl_adapter): Likewise.
41 * video/i386/pc/vbe.c (grub_video_vbe_adapter): Likewise.
42 * video/i386/pc/vga.c (grub_video_vga_adapter): Likewise.
43 * video/ieee1275.c (grub_video_ieee1275_adapter): Likewise.
44 * video/sm712.c (grub_video_sm712_adapter): Likewise.
45
46 Fix SDL driver ID.
47
48 * include/grub/video.h (grub_video_driver_id_t): New value
49 GRUB_VIDEO_DRIVER_SDL.
50 * video/emu/sdl.c (grub_video_sdl_adapter): Add id.
51
52 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
53
54 * util/i386/pc/grub-setup.c (usage): Pass an extra `program_name'
55 argument to printf.
56 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
57
58 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
59
60 * util/i386/pc/grub-setup.c (usage): Fix syntax error.
61 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
62
63 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
64
65 * util/i386/pc/grub-setup.c (usage): Warn against running grub-setup
66 directly, and recommend grub-install instead.
67 * util/sparc64/ieee1275/grub-setup.c (usage): Likewise.
68
69 2010-06-17 Colin Watson <cjwatson@ubuntu.com>
70
71 Fix i386-pc prefix handling with nested partitions (Debian bug
72 #585068). Note that the case where the core image is booted using
73 multiboot and relocated from its original location still requires
74 more work.
75
76 * kern/i386/pc/init.c (make_install_device): If the prefix starts
77 with "(,", fill the boot drive in between those two characters, but
78 expect that a full partition specification including partition map
79 names will follow.
80 * util/i386/pc/grub-setup.c (setup): Unless an explicit prefix was
81 specified, write a prefix without the drive name but including a
82 full partition specification.
83
84 2010-06-16 Colin Watson <cjwatson@ubuntu.com>
85
86 * util/grub-mkconfig.in: Ignore non-option arguments, for
87 compatibility with older versions (before 2010-06-12) which did the
88 same. In particular, this makes it easier to ship an update-grub
89 wrapper which is compatible with that used with GRUB Legacy (Debian
90 bug #586056).
91
92 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
93
94 * Makefile.in (install-local): Use $$file.h2m instead of $$dest.h2m
95 for manual page generation.
96
97 2010-06-14 Grégoire Sutre <gregoire.sutre@gmail.com>
98
99 * po/POTFILES: Remove leftover commands/handler.c.
100
101 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
102
103 * util/grub-mkconfig.in: Remove vestige of old argument parsing that
104 left this script non-functional.
105
106 2010-06-14 Colin Watson <cjwatson@ubuntu.com>
107
108 * docs/man/grub-emu.h2m: New file.
109
110 2010-06-13 Colin Watson <cjwatson@ubuntu.com>
111
112 * docs/grub.texi (Commands): Document reduced command set in rescue
113 mode.
114 (cpuid): New section.
115
116 2010-06-13 Grégoire Sutre <gregoire.sutre@gmail.com>
117
118 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev): Use the
119 new partition naming style.
120 * util/grub-install.in: Adapt sed subtitutions in grub-probe calls.
121
122 2010-06-12 BVK Chaitanya <bvk.groups@gmail.com>
123
124 Add "-o grub.iso" like cmdline options support.
125
126 * util/grub-install.in: Improve cmdline option parsing.
127 * util/grub-mkconfig.in: Likewise.
128 * util/grub-mkrescue.in: Likewise.
129 * util/grub-reboot.in: Likewise.
130 * util/grub-set-default.in: Likewise.
131 * util/i386/efi/grub-install.in: Likewise.
132 * util/ieee1275/grub-install.in: Likewise.
133 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
134
135 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
136
137 * .bzrignore: Ignore 41_custom.
138
139 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
140
141 * util/grub-mkrescue.in: Pass unrecognized options to xorriso.
142
143 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
144
145 Avoid false positives in fs.lst, partmap.lst, and video.lst due to
146 prototype declarations.
147
148 * genmk.rb (PModule::rule): Define GRUB_LST_GENERATOR when
149 generating fs, partmap, and video lists.
150 * include/grub/fs.h (grub_fs_register): Omit prototype if
151 GRUB_LST_GENERATOR is defined.
152 * include/grub/partition.h (grub_partition_map_register): Likewise.
153 * include/grub/video.h (grub_video_register): Likewise.
154
155 2010-06-12 Javier Martín <lordhabbit@gmail.com>
156
157 * include/grub/types.h: Check for GRUB_CPU_SIZEOF_LONG when appropriate.
158
159 2010-06-12 Thomas Schmitt <scdbackup@gmx.net>
160
161 * util/grub-mkrescue.in: Support --xorriso argument.
162
163 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
164
165 * util/grub-mkrescue.in: Use -graft-points instead of -pathspecs.
166 Suggested by: Thomas Schmitt.
167
168 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
169
170 * util/grub-mkrescue.in: Add --sort-weight arguments to xorriso.
171 Suggested by: Thomas Schmitt.
172
173 2010-06-12 Vladimir Serbinenko <phcoder@gmail.com>
174
175 custom.cfg support.
176
177 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 41_custom.
178 * util/grub.d/41_custom.in: New file.
179
180 2010-06-12 Colin Watson <cjwatson@ubuntu.com>
181
182 * util/grub-mkrescue.in (make_image): Remove sh module, which has
183 been merged back into normal.
184
185 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
186
187 * include/grub/efi/uga_draw.h (GRUB_EFI_UGA_GLT_MAX): Rename to ...
188 (GRUB_EFI_UGA_BLT_MAX): ... this (typo fix).
189
190 2010-06-11 Colin Watson <cjwatson@ubuntu.com>
191
192 * Makefile.in (install-local): Include $(srcdir)/docs/man/$$dest.h2m
193 when generating manual pages.
194 * docs/man/grub-bin2h.h2m: New file.
195 * docs/man/grub-editenv.h2m: New file.
196 * docs/man/grub-fstest.h2m: New file.
197 * docs/man/grub-install.h2m: New file.
198 * docs/man/grub-macho2img.h2m: New file.
199 * docs/man/grub-mkconfig.h2m: New file.
200 * docs/man/grub-mkdevicemap.h2m: New file.
201 * docs/man/grub-mkfont.h2m: New file.
202 * docs/man/grub-mkimage.h2m: New file.
203 * docs/man/grub-mkpasswd-pbkdf2.h2m: New file.
204 * docs/man/grub-mkrelpath.h2m: New file.
205 * docs/man/grub-mkrescue.h2m: New file.
206 * docs/man/grub-ofpathname.h2m: New file.
207 * docs/man/grub-pe2elf.h2m: New file.
208 * docs/man/grub-probe.h2m: New file.
209 * docs/man/grub-reboot.h2m: New file.
210 * docs/man/grub-script-check.h2m: New file.
211 * docs/man/grub-set-default.h2m: New file.
212 * docs/man/grub-setup.h2m: New file.
213
214 2010-06-10 Vladimir Serbinenko <phcoder@gmail.com>
215
216 Use FOR_* macros instead of *_iterate whenever possible.
217
218 * commands/handler.c: Removed.
219 * commands/help.c (grub_cmd_help): Use FOR_COMMANDS.
220 * commands/minicmd.c (grub_mini_cmd_lsmod): Use FOR_DL_MODULES.
221 * conf/any-emu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
222 * conf/common.rmk (script/lexer.c_DEPENDENCIES): Add grub_script.yy.h.
223 (grub_probe_SOURCES): Remove kern/parser.c.
224 (util/grub-script-check.c_DEPENDENCIES): Removed.
225 (grub_script_check_SOURCES): Remove kern/handler.c, kern/parser.c
226 and grub_script_check_init.c.
227 (grub_script_check_init.lst): Removed.
228 (grub_script_check_init.h): Likewise.
229 (grub_script_check_init.c): Likewise.
230 (pkglib_MODULES): Remove handler.mod and sh.mod.
231 (handler_mod_SOURCES): Removed.
232 (handler_mod_CFLAGS): Likewise.
233 (handler_mod_LDFLAGS): Likewise.
234 (normal_mod_SOURCES): Remove normal/handler.c.
235 Add script/main.c, script/script.c, script/execute.c,
236 script/function.c, script/lexer.c, grub_script.tab.c
237 and grub_script.yy.c.
238 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Remove kern/handler.c.
239 * conf/i386-ieee1275.rmk (kernel_img_SOURCES): Likewise.
240 * conf/i386-pc.rmk (kernel_img_SOURCES): Likewise.
241 (grub_setup_SOURCES): Remove kern/parser.c.
242 * conf/i386-qemu.rmk (kernel_img_SOURCES): Remove kern/handler.c.
243 * conf/mips-qemu-mips.rmk (kernel_img_SOURCES): Likewise.
244 * conf/mips-yeeloong.rmk (kernel_img_SOURCES): Likewise.
245 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Likewise.
246 * conf/sparc64-ieee1275.rmk (kernel_img_SOURCES): Likewise.
247 (grub_setup_SOURCES): Remove kern/parser.c.
248 * conf/x86-efi.rmk (kernel_img_SOURCES): Remove kern/handler.c.
249 * gettext/gettext.c (grub_gettext_delete_list): Don't use grub_list_pop.
250 * include/grub/command.h (grub_command_iterate): Removed.
251 (FOR_COMMANDS): New macro.
252 * include/grub/dl.h (grub_dl): New member next.
253 (grub_dl_iterate): Removed.
254 (grub_dl_head): New variable declaration.
255 (FOR_DL_MODULES): New macro.
256 * include/grub/fs.h: Include list.h.
257 (grub_fs): Make next first element.
258 (grub_fs_list): New variable declaration.
259 (grub_fs_register): Make inline.
260 (grub_fs_unregister): Likewise.
261 (grub_fs_iterate): Removed.
262 (FOR_FILESYSTEMS): New macro.
263 * include/grub/handler.h: Removed.
264 * include/grub/list.h (grub_list_hook_t): Removed.
265 (grub_list_test_t): Likewise.
266 (grub_list_pop): Likewise.
267 (grub_list_iterate): Likewise.
268 (grub_list_insert): Likewise.
269 (FOR_LIST_ELEMENTS): New macro.
270 * include/grub/parser.h (grub_parser_class): Removed.
271 (grub_parser_register): Likewise.
272 (grub_parser_unregister): Likewise.
273 (grub_parser_get_current): Likewise.
274 (grub_parser_set_current): Likewise.
275 (grub_register_rescue_parser): Likewise.
276 (grub_rescue_parse_line): New function.
277 * include/grub/partition.h (FOR_PARTITION_MAPS): Use FOR_LIST_ELEMENTS.
278 * include/grub/script_sh.h (grub_script_function_list): New variable
279 declaration.
280 (FOR_SCRIPT_FUNCTIONS): New macro.
281 (grub_script_function_iterate): Removed.
282 (grub_normal_parse_line): New prototype.
283 * include/grub/term.h (FOR_ACTIVE_TERM_INPUTS): Use FOR_LIST_ELEMENTS.
284 (FOR_DISABLED_TERM_INPUTS): Likewise.
285 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
286 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
287 * include/grub/video.h (grub_video_adapter): Move 'next' to first
288 element.
289 (grub_video_register): Inline.
290 (grub_video_unregister): Likewise.
291 (grub_video_adapter_list): New variable declaration.
292 (grub_video_iterate): Removed.
293 (FOR_VIDEO_ADAPTERS): New macro.
294 * kern/dl.c (grub_dl_list): Removed. All users updated.
295 (grub_dl_iterate): Removed.
296 * kern/fs.c (grub_fs_list): Make global.
297 (grub_fs_register): Removed.
298 (grub_fs_unregister): Likewise.
299 (grub_fs_iterate): Likewise.
300 * kern/handler.c: Removed.
301 * kern/list.c (grub_list_pop): Removed.
302 (grub_list_iterate): Likewise.
303 (grub_list_insert): Likewise.
304 (grub_named_list_find): Use FOR_LIST_ELEMENTS.
305 (grub_prio_list_insert): Don't use grub_list_insert.
306 * kern/main.c (grub_register_rescue_parser): Don't call
307 grub_register_rescue_parser.
308 * kern/parser.c (grub_parser_class): Removed.
309 (grub_parser_execute): Use grub_rescue_parse_line.
310 * kern/rescue_parser.c (grub_rescue_parse_line): Make global.
311 (grub_rescue_parser): Removed.
312 (grub_register_rescue_parser): Likewise.
313 * kern/rescue_reader.c (grub_rescue_run): Use grub_rescue_parse_line.
314 * normal/auth.c (is_authenticated): Use FOR_LIST_ELEMENTS.
315 (grub_auth_check_authentication): Likewise.
316 * normal/completion.c (iterate_command): Removed.
317 (grub_normal_do_completion): Use FOR_COMMANDS.
318 * normal/handler.c: Removed.
319 * normal/main.c (read_config_file): Remove parser changing.
320 (grub_normal_execute): Don't call read_handler_list.
321 (grub_normal_read_line_real): Statically allocate prompt.
322 (grub_cmdline_run): Use grub_normal_parse_line.
323 (GRUB_MOD_FINI): Don't call free_handler_list.
324 * normal/menu_entry.c (run): Likewise.
325 * script/function.c (grub_script_function_list): Make global.
326 (grub_script_function_iterate): Removed.
327 * script/main.c (grub_normal_parse_line): Make global.
328 (grub_sh_parser): Removed.
329 (GRUB_MOD_INIT): Likewise.
330 (GRUB_MOD_FINI): Likewise.
331 * tests/lib/functional_test.c (grub_functional_test): Use
332 FOR_LIST_ELEMENTS.
333 * tests/lib/test.c (free_failures): Don't use grub_list_pop.
334 (grub_test_run): Use FOR_LIST_ELEMENTS.
335 * tests/lib/unit_test.c (main): Likewise.
336 * util/deviceiter.c (grub_util_iterate_devices): Don't use
337 grub_list_pop.
338 * util/grub-fstest.c (grub_term_input_class): Removed.
339 (grub_term_output_class): Likewise.
340 * util/grub-probe.c: Likewise.
341 * util/i386/pc/grub-setup.c: Likewise.
342 * util/sparc64/ieee1275/grub-setup.c: Likewise.
343 * util/grub-script-check.c (main): Don't call grub_init_all and
344 grub_fini_all.
345 * video/video.c (grub_video_adapter_list): Make global.
346 (grub_video_register): Removed.
347 (grub_video_unregister): Likewise.
348 (grub_video_iterate): Likewise.
349
350 2010-06-09 Vladimir Serbinenko <phcoder@gmail.com>
351
352 * docs/grub.texi (Vendor power-on button): Add Asus EeePC 1005PE as
353 reported by Henrique Ferreiro.
354
355 2010-06-09 Robert Millan <rmh@gnu.org>
356
357 * util/grub.d/10_linux.in: Prefer compressed images over non-compressed
358 ones, when both are available.
359
360 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
361
362 Make --version uniform and avoid hard-coded program name.
363
364 * util/grub-mkimage.c (main): Use `program_name' instead of
365 hard-coded string.
366 * util/i386/pc/grub-setup.c (main): Likewise.
367 * util/sparc64/ieee1275/grub-setup.c (parse_options): Likewise.
368 * util/grub-install.in: Save the basename of $0 in $self, and use the
369 latter in informational messages. Use the same format for --version
370 as the binary programs.
371 * util/grub-mkconfig.in: Likewise.
372 * util/grub-mkrescue.in: Likewise.
373 * util/grub-reboot.in: Likewise.
374 * util/grub-set-default.in: Likewise.
375 * util/i386/efi/grub-install.in: Likewise.
376 * util/ieee1275/grub-install.in: Likewise.
377 * util/powerpc/ieee1275/grub-mkrescue.in: Likewise.
378
379 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
380
381 * util/i386/pc/grub-setup.c (setup): Use absolute offsets for start of
382 embedding area. Use <= instead of == when checking for non-emptiness.
383
384 2010-06-08 Grégoire Sutre <gregoire.sutre@gmail.com>
385
386 * configure.ac: Add `.' to the directories searched for unifont.
387
388 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
389
390 * .bzrignore: Add ascii.bitmaps, ascii.h, grub_script.yy.c, and
391 grub_script.yy.h.
392
393 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
394
395 * docs/grub.texi (History): Expand to cover GRUB 2.
396 (Serial terminal): Refer to `terminal_input' and `terminal_output'
397 commands, not `terminal'.
398 (serial): Likewise.
399 (terminal_input): New section.
400 (terminal_output): New section.
401 (uppermem): New section (stub).
402 (Obtaining and Building GRUB): Refer to Bazaar, not Subversion.
403
404 2010-06-08 Colin Watson <cjwatson@ubuntu.com>
405
406 * docs/grub.texi (Security): Menu entries are unrestricted by
407 default, not restricted to superusers as I had previously thought.
408 Reword to account for this.
409
410 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
411
412 * kern/emu/misc.c (device_mapper_null_log): New function.
413 (grub_device_mapper_supported): New function.
414 * include/grub/emu/misc.h (grub_device_mapper_supported): Add
415 prototype.
416 * kern/emu/hostdisk.c (find_partition_start): Check whether
417 device-mapper is supported before trying to use it.
418 * util/deviceiter.c (grub_util_iterate_devices): Likewise.
419
420 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
421
422 * docs/grub.texi (Naming convention): Use GRUB 2 syntax.
423 (File name syntax): Likewise.
424 (help): --all is no longer supported in GRUB 2. Be more precise
425 about pattern matching.
426
427 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
428
429 * normal/completion.c (grub_normal_do_completion): When completing
430 arguments to "set" and the current word contains an equals sign,
431 skip to after the equals sign before starting completion.
432
433 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
434
435 * fs/i386/pc/pxe.c (grub_pxe_open): Fix parsing of gateway_ip.
436
437 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
438
439 * docs/grub.texi (Network): New section.
440 (Device syntax): The network device is called `(pxe)' in GRUB 2, not
441 `(nd)' as in GRUB Legacy.
442 (pxe_unload): New section.
443
444 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
445
446 * docs/grub.texi (Troubleshooting): `echo' is not usually available
447 in the rescue shell, so recommend using `set' instead. Thanks,
448 Jordan Uggla.
449
450 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
451
452 * docs/grub.texi (Filesystem): Refer to `search' instead of `find'.
453 (password): New section.
454 (password_pbkdf2): New section.
455 (search): New section.
456 (Security): New section.
457 (Troubleshooting): New section, currently very incomplete.
458 (Invoking grub-mkpasswd-pbkdf2): New section.
459 (Internals): New section, currently very incomplete.
460
461 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
462
463 * util/grub.d/00_header.in: Add some more quoting (of
464 "${prev_saved_entry}" and "${boot_once}") needed to make savedefault
465 work again.
466 Reported by: Mario 'BitKoenig' Holbe (Debian bug #584812).
467
468 2010-06-07 Colin Watson <cjwatson@ubuntu.com>
469
470 * util/grub-mkpasswd-pbkdf2.c (main): Rename top-level `c' variable
471 to `count', fixing variable shadowing that broke the -c option.
472
473 2010-06-05 Colin Watson <cjwatson@ubuntu.com>
474
475 * util/grub.d/00_header.in: Quote values assigned to `saved_entry',
476 in case they contain spaces.
477
478 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
479
480 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Prepend
481 "part_" to partmap module names, in line with grub-install.
482 Reported by: Jindřich Makovička (Debian bug #584426).
483
484 2010-06-04 Colin Watson <cjwatson@ubuntu.com>
485
486 * util/grub-mkimage.c: Make target-related error messages slightly
487 more helpful; -O talks about "format". Explicitly point to the use
488 of -O if no target is specified.
489 Reported by: Didier Raboud (Debian bug #584415).
490
491 2010-06-03 Colin Watson <cjwatson@ubuntu.com>
492
493 * INSTALL: Document several build requirements for optional features
494 (libdevmapper, ncurses, libusb, SDL, FreeType, GNU Unifont).
495
496 2010-06-02 Grégoire Sutre <gregoire.sutre@gmail.com>
497
498 * kern/emu/hostdisk.c (convert_system_partition_to_system_disk)
499 [__NetBSD__]: Handle all device names matching /dev/r[a-z]+[0-9][a-z].
500 (find_partition_start) [__NetBSD__]: Correct error messages for NetBSD.
501
502 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
503
504 * docs/grub.texi (Simple configuration): Fix copy-and-paste typo.
505 Thanks to Jordan Uggla for spotting this.
506
507 2010-06-02 Aleš Nesrsta <starous@volny.cz>
508
509 Finally make USB usable.
510
511 * bus/usb/ohci.c (grub_ohci_reg_t): Add missing values.
512 (GRUB_OHCI_RHUB_PORT_POWER_MASK): New macro.
513 (GRUB_OHCI_RHUB_PORT_ALL_POWERED): Likewise.
514 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_MASK): Likewise.
515 (GRUB_OHCI_REG_FRAME_INTERVAL_FSMPS_SHIFT): Likewise.
516 (GRUB_OHCI_REG_FRAME_INTERVAL_FI_SHIFT): Likewise.
517 (GRUB_OHCI_FSMPS): Likewise.
518 (GRUB_OHCI_PERIODIC_START): Likewise.
519 (GRUB_OHCI_FRAME_INTERVAL): Likewise.
520 (GRUB_OHCI_SET_PORT_ENABLE): Likewise.
521 (GRUB_OHCI_CLEAR_PORT_ENABLE): Likewise.
522 (GRUB_OHCI_SET_PORT_RESET): Likewise.
523 (GRUB_OHCI_SET_PORT_RESET_STATUS_CHANGE): Likewise.
524 * bus/usb/ohci.c (grub_ohci_pci_iter): Various important fixups.
525 (grub_ohci_transaction): Likewise.
526 (grub_ohci_transfer): Improve condition detection algorithms.
527 Handle toggle property. Program the transactions correctly.
528 Improve error handling. Various important fixups.
529 (grub_ohci_portstatus): Put register writes in right order.
530 * bus/usb/uhci.c (grub_free_queue): Compute last_trans.
531 (grub_uhci_transfer): Don't show "failed" message on success.
532 * bus/usb/usb.c (grub_usb_set_configuration): Zero-fill whole "toggle"
533 array.
534 (grub_usb_device_initialize): Read first 8 bytes of descriptor to
535 determine its size.
536 * bus/usb/usbtrans.c (grub_usb_control_msg): Use descdev.maxsize0 even
537 before initialization is completed. Use IN direction for empty
538 transfers. Use last_trans and compute toggle.
539 * include/grub/usbtrans.h (grub_usb_transfer): New field last_trans.
540 (GRUB_USB_FEATURE_ENDP_HALT): Correct the value.
541 (GRUB_USB_FEATURE_DEV_REMOTE_WU): Likewise.
542 (GRUB_USB_FEATURE_TEST_MODE): Likewise.
543 * include/grub/usb.h (grub_usb_err_t): New value GRUB_USB_ERR_UNRECOVERABLE.
544 (grub_usb_device): Increase toggle to 256.
545 (grub_usbms_subclass_t): New values GRUB_USBMS_SUBCLASS_RBC,
546 GRUB_USBMS_SUBCLASS_MMC2, GRUB_USBMS_SUBCLASS_UFI and
547 GRUB_USBMS_SUBCLASS_SFF8070.
548 * include/grub/scsicmd.h (grub_scsi_test_unit_ready): New structure.
549 (grub_scsi_inquiry): New member page and alloc_length.
550 (grub_scsi_request_sense): New structure.
551 (grub_scsi_request_sense_data): Likewise.
552 (grub_scsi_read_capacity): New fields logical_block_addr, PMI and
553 control.
554 * disk/scsi.c (grub_scsi_request_sense): New function.
555 (grub_scsi_test_unit_ready): Likewise.
556 (grub_scsi_inquiry): Fill new fields.
557 (grub_scsi_read_capacity): Likewise.
558 (grub_scsi_read10): Add request sense at the end.
559 (grub_scsi_read12): Likewise.
560 (grub_scsi_write10): Likewise.
561 (grub_scsi_write12): Likewise.
562 (grub_scsi_open): Add Test Unit Ready.
563 * disk/usbms.c (grub_usbms_finddevs): Check configcnt.
564 Support additional subclasses. Con't clear halt yet. Activate the
565 proper config. Calculate LUNs correctly.
566 (grub_usbms_transfer): Various important fixups.
567
568 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
569
570 * bus/pci.c (grub_pci_iterate) [GRUB_MACHINE_MIPS_YEELOONG]: Skip ghosts.
571 * bus/usb/ohci.c (grub_ohci_portstatus): Handle R/WC correctly.
572 (grub_ohci_fini_hw): New function.
573 (grub_ohci_restore_hw): Likewise.
574 (GRUB_MOD_INIT(ohci)): Register preboot hook.
575 (GRUB_MOD_FINI(ohci)): Shutdown OHCI.
576 * term/usb_keyboard.c: Remove include of grub/machine/console.h.
577
578 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
579
580 Dedicated DMA allocations.
581
582 * bus/pci.c (grub_memalign_dma32): New function
583 (grub_dma_free): Likewise.
584 (grub_dma_get_virt): Likewise.
585 (grub_dma_get_phys): Likewise.
586 * bus/usb/ohci.c (grub_ohci): New members hcca_addr and hcca_chunk.
587 (grub_ohci_pci_iter): Use dma32_alloc.
588 (grub_ohci_transfer): Likewise.
589 * bus/usb/usbtrans.c (grub_usb_control_msg): Likewise.
590 (grub_usb_bulk_readwrite): Likewise.
591 * include/grub/pci.h: Add declarations.
592
593 2010-06-02 Vladimir Serbinenko <phcoder@gmail.com>
594
595 CS5536 support.
596
597 * bus/cs5536.c: New file.
598 * bus/usb/ohci.c (grub_ohci_pci_iter): Check for CS5536.
599 * conf/i386.rmk (pkglib_MODULES): Add cs5536.mod.
600 (cs5536_mod_SOURCES): New variable.
601 (cs5536_mod_CFLAGS): Likewise.
602 (cs5536_mod_LDFLAGS): Likewise.
603 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add cs5536.h and
604 machine/pci.h.
605 (kernel_img_SOURCES): Add bus/cs5536.c.
606 (pkglib_MODULES): Add usb.mod, usbtest.mod, ohci.mod, usbms.mod and
607 usb_keyboard.mod.
608 (usb_mod_SOURCES): New variable.
609 (usb_mod_CFLAGS): New variable.
610 (usb_mod_LDFLAGS): New variable.
611 (usbtest_mod_SOURCES): New variable.
612 (usbtest_mod_CFLAGS): New variable.
613 (usbtest_mod_LDFLAGS): New variable.
614 (ohci_mod_SOURCES): New variable.
615 (ohci_mod_CFLAGS): New variable.
616 (ohci_mod_LDFLAGS): New variable.
617 (usbms_mod_SOURCES): New variable.
618 (usbms_mod_CFLAGS): New variable.
619 (usbms_mod_LDFLAGS): New variable.
620 (usb_keyboard_mod_SOURCES): New variable.
621 (usb_keyboard_mod_CFLAGS): New variable.
622 (usb_keyboard_mod_LDFLAGS): New variable.
623 * include/grub/smbus.h: New file.
624 * include/grub/cs5536.h: New file.
625
626 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
627
628 * util/grub.d/00_header.in: Add safety check to make sure that
629 ${locale_dir} exists before trying to probe it.
630
631 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
632
633 * docs/grub.texi (SCO UnixWare): Remove, at Vladimir's request and
634 per the GNU Coding Standards; this is now too obscure to be worth
635 documenting.
636 (QNX): Likewise.
637 (chainloader): Remove cross-reference to `SCO UnixWare'.
638
639 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
640
641 * docs/grub.texi (Chain-loading): New section.
642 (DOS/Windows): New section, borrowed from GRUB Legacy with details
643 adjusted for GRUB 2.
644 (SCO UnixWare): Likewise.
645 (QNX): Likewise.
646 (chainloader): Add reference to `Block list syntax'.
647 (drivemap): New section.
648 (parttool): New section.
649
650 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
651
652 * docs/grub.texi (GNU GRUB manual): Remove reference to `Invoking
653 the grub shell'.
654 (Installation): Add reference to `Making a GRUB bootable CD-ROM'.
655 (Installing GRUB using grub-install): Remove reference to the grub
656 shell; mention `grub-mkimage' and `grub-setup' instead.
657 (Invoking grub-install): Likewise.
658 (Interface): Add reference to `Menu entry editor'.
659 (serial): Remove `--device' option.
660
661 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
662
663 * docs/grub.texi (Configuration): New section, documenting
664 configuration file generation using grub-mkconfig. I've left a slot
665 for documenting the full shell scripting format but have not yet
666 started on writing that up.
667 (Invoking grub-mkconfig): New section.
668
669 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
670
671 * docs/grub.texi (direntry): Remove grub-terminfo reference.
672 (GNU GRUB manual): Likewise.
673 (General commands): Update description of `terminfo' for GRUB 2.
674
675 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
676
677 * commands/gptsync.c (grub_cmd_gptsync): Fix typos.
678 (GRUB_MOD_INIT): Fix capitalisation.
679 * docs/grub.texi (Command-line and menu entry commands): Document
680 gettext and gptsync commands.
681
682 2010-06-02 Colin Watson <cjwatson@ubuntu.com>
683
684 * conf/any-emu.rmk (kernel_img_SOURCES) [!x86]: Include
685 kern/$(target_cpu)/cache.S even if TARGET_NO_MODULES = yes.
686
687 2010-06-01 Colin Watson <cjwatson@ubuntu.com>
688
689 Add btrfs probing support, currently only in the single-device case.
690
691 * kern/emu/getroot.c (find_root_device_from_mountinfo): New
692 function.
693 (grub_guess_root_device): Call find_root_device_from_mountinfo
694 before looking in /dev.
695
696 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
697
698 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Use
699 GRUB_DISK_SIZE_UNKNOWN.
700 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Likewise.
701
702 2010-05-31 Jiro SEKIBA <jir@unicus.jp>
703
704 * include/grub/disk.h (GRUB_DISK_SIZE_UNKNOWN): New macro.
705 * fs/nilfs.c: Support 2nd super block in case 1st one is accidently
706 corrupted or not synced properly.
707
708 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
709
710 * normal/main.c (grub_normal_add_menu_entry): Avoid going out of args.
711 Reported by: Seth Goldberg.
712
713 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
714
715 * loader/multiboot_mbi2.c (grub_multiboot_make_mbi): Fix incorrect
716 addition of dest.
717 Reported by: Seth Goldberg.
718
719 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
720
721 * commands/setpci.c (grub_setpci_iter): Fix an incorrect function check.
722 Reported by: Seth Goldberg.
723
724 2010-05-31 Vladimir Serbinenko <phcoder@gmail.com>
725
726 * loader/multiboot_elfxx.c (grub_multiboot_load_elfXX) [__mips]: Check
727 64-bit address as signed on MIPS.
728
729 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
730
731 * configure.ac: AC_PROG_LEX sets LEX to ":" if lex is missing, not
732 to the empty string.
733
734 2010-05-28 BVK Chaitanya <bvk.groups@gmail.com>
735
736 Fix grub-emu issues on NetBSD, with gcc 4.1.3.
737
738 * conf/any-emu.rmk: Remove unnecessary COMMON_CFLAGS.
739 * include/grub/emu/misc.h (canonicalize_file_name): New Prototype.
740 * kern/misc.c (__enable_execute_stack): Disable on
741 GRUB_MACHINE_EMU.
742
743 2010-05-28 Colin Watson <cjwatson@ubuntu.com>
744
745 Make grub-probe work with symbolic links under /dev/mapper as well
746 as with real block devices. The Linux world seems to be (at best)
747 in transition here, and GRUB shouldn't get caught in the middle.
748
749 * kern/emu/getroot.c (find_root_device): Follow symbolic links under
750 /dev/mapper.
751
752 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
753
754 * util/grub-script-check.c (main): Ensure defined behaviour on empty
755 input files (in which case exit zero).
756
757 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
758
759 * kern/emu/misc.c (canonicalize_file_name): realpath can still
760 return NULL for various reasons even if it has a maximum-length
761 buffer: for example, there might be a symlink loop, or the path
762 might exceed PATH_MAX. If this happens, return NULL.
763
764 2010-05-27 Robert Millan <rmh@gnu.org>
765
766 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Insert
767 partmap module to handle cross-partmap setups.
768 Reported by Orestes Mas. Gràcies!
769
770 2010-05-27 Colin Watson <cjwatson@ubuntu.com>
771
772 * util/grub-mkrescue.in: Initialise override_dir rather than
773 assuming that it's unset or empty in the environment.
774
775 2010-05-26 Grégoire Sutre <gregoire.sutre@gmail.com>
776
777 * kern/emu/hostdisk.c (find_partition_start) [__NetBSD__]: Renamed
778 variable index into p_index to suppress a warning with -Wshadow.
779
780 2010-05-25 BVK Chaitanya <bvk.groups@gmail.com>
781
782 * INSTALL: Added flex >= 2.5.35 requirement.
783
784 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
785
786 * commands/usbtest.c (grub_usb_get_string): Properly support UTF-16.
787
788 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
789
790 cmostest support.
791
792 * commands/i386/cmostest.c: New file.
793 * conf/i386-coreboot.rmk (pkglib_MODULES): Add cmostest.mod.
794 (cmostest_mod_SOURCES): New variable.
795 (cmostest_mod_CFLAGS): Likewise.
796 (cmostest_mod_LDFLAGS): Likewise.
797 * conf/i386-pc.rmk: Likewise.
798 * docs/grub.texi (Vendor power-on keys): New section.
799 * util/grub-mkconfig.in: export GRUB_DEFAULT_BUTTON,
800 GRUB_HIDDEN_TIMEOUT_BUTTON, GRUB_TIMEOUT_BUTTON
801 and GRUB_BUTTON_CMOS_ADDRESS.
802 * util/grub.d/00_header.in: Handle powering-on by separate button.
803
804 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
805
806 * gfxmenu/gui_list.c (draw_menu): Don't add scrollbar width to padding.
807 Removed drawing_scrollbar argument. All users updated
808 Fixes #29792.
809 Reported by Jo Shields
810
811 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
812
813 * gfxmenu/view.c (grub_gfxmenu_draw_terminal_box): Apply only to current
814 buffer since gfxterm handles double repaint.
815
816 2010-05-23 Vladimir Serbinenko <phcoder@gmail.com>
817
818 * gfxmenu/gfxmenu.c (grub_gfxmenu_try): Change viewport on both buffers.
819 * term/gfxterm.c (real_scroll): Likewise.
820
821 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
822
823 * kern/i386/pc/mmap.c (grub_machine_mmap_iterate): Zero-fill entry
824 before calling BIOS.
825
826 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
827
828 * include/grub/i18n.h: Always enable grub_gettext.
829
830 2010-05-21 Vladimir Serbinenko <phcoder@gmail.com>
831
832 * kern/i386/pc/init.c (make_install_device): Fix a leftover usage of old
833 partition naming style.
834
835 2010-05-21 Colin Watson <cjwatson@ubuntu.com>
836
837 * util/grub-mkconfig.in: Fix handling of -o so that it works when
838 not the first option.
839
840 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
841
842 * util/grub-mkrelpath.c (usage): Remove excess apostrophe.
843
844 2010-05-20 Colin Watson <cjwatson@ubuntu.com>
845
846 * util/misc.c: Move inclusion of <limits.h> to ...
847 * kern/emu/misc.c: ... here. Needed for canonicalize_file_name.
848
849 2010-05-20 Grégoire Sutre <gregoire.sutre@gmail.com>
850
851 * kern/emu/hostdisk.c (grub_util_biosdisk_get_grub_dev) [__NetBSD__]:
852 Fix merge error in NetBSD code.
853 (find_partition_start) [__NetBSD__]: Likewise.
854
855 2010-05-19 BVK Chaitanya <bvk.groups@gmail.com>
856
857 Fix grub-mkrescue usage unit testing.
858
859 * tests/util/grub-shell.in: Use --grub-mkimage with grub-mkrescue.
860
861 2010-05-18 Christian Franke <franke@computer.org>
862
863 * util/grub.d/10_windows.in: Use path names instead of
864 drive letters to prevent warning from Cygwin 1.7.
865 Add drivemap command to menuentry if needed.
866
867 2010-05-18 Justus Winter <4winter@informatik.uni-hamburg.de>
868
869 * util/grub.d/10_hurd.in: Include all gnumach* kernels, not only
870 gnumach and gnumach.gz.
871
872 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
873
874 * include/grub/i18n.h (gettext): Inline instead of using #define.
875 (grub_gettext): Likewise.
876 (_): Likewise.
877
878 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
879
880 * Makefile.in (CPPFLAGS): Replace -DGRUB_LIBDIR with
881 -DGRUB_PKGLIBROOTDIR= and prepend @PACKAGE_TARNAME@. All users updated.
882 * util/grub-mkimage.c (image_targets): Add i386-multiboot.
883 (main): Add a slash after pkglibdirroot.
884
885 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
886
887 * util/grub-install.in: Add missing "in" keyword.
888
889 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
890
891 * util/grub-mkrescue.in: Remove -O i386-pc duplication.
892 Reported by: Seth Goldberg.
893
894 2010-05-18 Vladimir Serbinenko <phcoder@gmail.com>
895
896 * po/POTFILES: Rename util/grub-mkrawimage.c to util/grub-mkimage.c.
897
898 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
899
900 * configure.ac: Check for Linux device-mapper support.
901
902 * util/hostdisk.c (device_is_mapped): New function.
903 (find_partition_start): New function, partly broken out from
904 linux_find_partition and grub_util_biosdisk_get_grub_dev but with
905 device-mapper support added.
906 (linux_find_partition): Use find_partition_start.
907 (convert_system_partition_to_system_disk): Add `st' argument.
908 Support Linux /dev/mapper/* devices if device-mapper support is
909 available; only DM-RAID devices are understood at present.
910 (find_system_device): Add `st' argument. Pass it to
911 convert_system_partition_to_system_disk.
912 (grub_util_biosdisk_get_grub_dev): Pass stat result to
913 find_system_device and convert_system_partition_to_system_disk. Use
914 find_partition_start.
915
916 * conf/common.rmk (grub_mkdevicemap_SOURCES): Add kern/env.c,
917 kern/err.c, kern/list.c, kern/misc.c, and kern/emu/mm.c.
918 * util/deviceiter.c [__linux__]: Define MINOR.
919 (grub_util_iterate_devices): Add support for DM-RAID disk devices.
920 * util/mkdevicemap.c (grub_putchar): New function.
921 (grub_getkey): New function.
922 (grub_refresh): New function.
923 (main): Set debug=all if -v -v is used.
924
925 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
926
927 Fix build with non-GNU libcs.
928
929 * util/misc.c (canonicalize_file_name): Move to ...
930 * kern/emu/misc.c (canonicalize_file_name): ... here. Needed by
931 grub_make_system_path_relative_to_its_root.
932
933 2010-05-18 Colin Watson <cjwatson@ubuntu.com>
934
935 * util/grub-mkrescue.in: Sync up with grub-install in terms of how
936 we handle finding grub-mkimage. Default to finding grub-mkimage in
937 ${bindir} with program_transform_name applied, and provide a
938 --grub-mkimage option to override this.
939
940 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
941
942 Remove grub-mkisofs.
943
944 * conf/common.rmk (bin_UTILITIES): Remove grub-mkisofs.
945 (grub_mkisofs_SOURCES): Removed.
946 (grub_mkisofs_CFLAGS): Removed.
947 * util/mkisofs/defaults.h: Removed.
948 * util/mkisofs/eltorito.c: Likewise.
949 * util/mkisofs/exclude.h: Likewise.
950 * util/mkisofs/hash.c: Likewise.
951 * util/mkisofs/include/: Likewise.
952 * util/mkisofs/include/fctldefs.h: Likewise.
953 * util/mkisofs/include/mconfig.h: Likewise.
954 * util/mkisofs/include/prototyp.h: Likewise.
955 * util/mkisofs/include/statdefs.h: Likewise.
956 * util/mkisofs/iso9660.h: Likewise.
957 * util/mkisofs/joliet.c: Likewise.
958 * util/mkisofs/match.c: Likewise.
959 * util/mkisofs/match.h: Likewise.
960 * util/mkisofs/mkisofs.c: Likewise.
961 * util/mkisofs/mkisofs.h: Likewise.
962 * util/mkisofs/msdos_partition.h: Likewise.
963 * util/mkisofs/multi.c: Likewise.
964 * util/mkisofs/name.c: Likewise.
965 * util/mkisofs/rock.c: Likewise.
966 * util/mkisofs/tree.c: Likewise.
967 * util/mkisofs/write.c: Likewise.
968
969 2010-05-17 Vladimir Serbinenko <phcoder@gmail.com>
970
971 Unify grub-mkimage accross platforms.
972
973 * Makefile.in (CPPFLAGS): Set GRUB_LIBDIR to $(libdir).
974 * conf/common.rmk (bin_UTILITIES): Removed grub-mkelfimage.
975 (grub_mkelfimage_SOURCES): Removed.
976 (util/elf/grub-mkimage.c_DEPENDENCIES): Renamed to ..
977 (util/grub-mkimage.c_DEPENDENCIES): .. this.
978 (bin_UTILITIES): Add grub-mkimage.
979 (grub_mkimage_SOURCES): New variable.
980 (kernel_img_HEADERS): Remove machine/kernel.h.
981 * conf/i386-pc.rmk (pkglib_IMAGES): Remove kernel.img.
982 (pkglib_PROGRAMS): Add kernel.img.
983 (kernel_img_HEADERS): Add machine/kernel.h.
984 (kernel_img_FORMAT): Removed.
985 (bin_UTILITIES): Remove grub-mkimage.
986 (grub_mkimage_SOURCES): Removed.
987 (grub_mkimage_CFLAGS): Likewise.
988 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
989 * conf/i386-qemu.rmk (pkglib_IMAGES): Remove kernel.img.
990 (pkglib_PROGRAMS): Add kernel.img.
991 (bin_UTILITIES): Remove grub-mkimage.
992 (grub_mkimage_SOURCES): Removed.
993 (grub_mkimage_CFLAGS): Likewise.
994 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
995 * conf/mips-qemu-mips.rmk (pkglib_IMAGES): Remove kernel.img.
996 (pkglib_PROGRAMS): Add kernel.img.
997 * conf/mips-yeeloong.rmk (pkglib_IMAGES): Remove kernel.img.
998 (pkglib_PROGRAMS): Add kernel.img.
999 * conf/mips.rmk (bin_UTILITIES): Remove grub-mkimage.
1000 (grub_mkimage_SOURCES): Removed.
1001 (grub_mkimage_CFLAGS): Likewise.
1002 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
1003 * conf/sparc64-ieee1275.rmk (pkglib_IMAGES): Remove kernel.img.
1004 (pkglib_PROGRAMS): Add kernel.img.
1005 (bin_UTILITIES): Remove grub-mkimage.
1006 (grub_mkimage_SOURCES): Removed.
1007 (grub_mkimage_CFLAGS): Likewise.
1008 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
1009 * conf/x86-efi.rmk (bin_UTILITIES): Remove grub-mkimage.
1010 (grub_mkimage_SOURCES): Removed.
1011 (grub_mkimage_CFLAGS): Likewise.
1012 (util/grub-mkrawimage.c_DEPENDENCIES): Likewise.
1013 * configure.ac (machine_CFLAGS): Add "-DMACHINE".
1014 * include/grub/efi/pe32.h (grub_pe32_optional_header): Split into ...
1015 (grub_pe32_optional_header): ... this.
1016 (grub_pe64_optional_header): ... and this. All users updated.
1017 (GRUB_PE32_PE32_MAGIC): Split into ..
1018 (GRUB_PE32_PE32_MAGIC): .. this.
1019 (GRUB_PE32_PE64_MAGIC): .. and this.
1020 (GRUB_PE32_SIGNATURE_SIZE): New definition.
1021 * include/grub/elf.h (PT_GNU_STACK): New definition.
1022 * include/grub/i386/coreboot/kernel.h: Merged into include/grub/offsets.h. All users updated.
1023 * include/grub/i386/efi/kernel.h: Likewise.
1024 * include/grub/i386/kernel.h: Likewise.
1025 * include/grub/i386/pc/kernel.h: Likewise.
1026 * include/grub/i386/qemu/boot.h: Likewise.
1027 * include/grub/mips/kernel.h: Likewise.
1028 * include/grub/mips/qemu-mips/kernel.h: Likewise.
1029 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
1030 * include/grub/powerpc/kernel.h: Likewise.
1031 * include/grub/sparc64/ieee1275/boot.h: Likewise.
1032 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
1033 * include/grub/sparc64/kernel.h: Likewise.
1034 * include/grub/x86_64/efi/kernel.h: Likewise.
1035 * include/grub/x86_64/kernel.h: Likewise.
1036 * include/grub/offsets.h: New file.
1037 * include/grub/kernel.h (grub_module_info): Split into ...
1038 (grub_module_info32): ... this.
1039 (grub_module_info64): ... and this.
1040 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_KERNEL_SEG): Moved from here ...
1041 * include/grub/offsets.h (GRUB_BOOT_I386_PC_KERNEL_SEG): ... here.
1042 (grub_boot_blocklist): Moved from here ...
1043 * include/grub/offsets.h (grub_pc_bios_boot_blocklist): ... here.
1044 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): Moved from here.
1045 * include/grub/offsets.h (GRUB_MEMORY_I386_PC_UPPER): .. here.
1046 * include/grub/types.h (grub_target_to_host16): Removed.
1047 (grub_target_to_host32): Likewise.
1048 (grub_target_to_host64): Likewise.
1049 (grub_host_to_target16): Likewise.
1050 (grub_host_to_target32): Likewise.
1051 (grub_host_to_target64): Likewise.
1052 (grub_host_to_target_addr): Likewise.
1053
1054 Support grub-mkrescue for efi, coreboot and qemu.
1055
1056 * conf/x86-efi.rmk (bin_SCRIPTS): Add grub-mkrescue.
1057 * kern/efi/init.c (grub_efi_set_prefix): Handle baked in prefix.
1058 * util/elf/grub-mkimage.c: Merged into util/grub-mkimage.c.
1059 * util/grub-mkrawimage.c: Moved from here ...
1060 * util/grub-mkimage.c: ... here. All users updated.
1061 (ALIGN_ADDR): Use image_target.
1062 (TARGET_NO_FIELD): New const.
1063 (image_target_desc): New type.
1064 (image_targets): New array.
1065 (grub_target_to_host64): Use image_target.
1066 (grub_target_to_host32): Likewise.
1067 (grub_target_to_host16): Likewise.
1068 (grub_host_to_target64): Likewise.
1069 (grub_host_to_target32): Likewise.
1070 (grub_host_to_target16): Likewise.
1071 (grub_host_to_target_addr): Likewise.
1072 (generate_image): Handle multiimage.
1073 (main): Require -O parameter. All users updated.
1074 * util/grub-mkimagexx.c: New file. Based on util/grub-mkrawimage.c and
1075 util/efi/grub-mkimage.c
1076 * util/grub-mkrescue.in: Handle coreboot, efi and qemu.
1077 New option --rom-directory.
1078 Use xorriso.
1079 * util/i386/efi/grub-mkimage.c: Removed.
1080 * util/i386/pc/grub-setup.c (grub_target_to_host16): New definition.
1081 (grub_target_to_host32): Likewise.
1082 (grub_target_to_host64): Likewise.
1083 (grub_host_to_target16): Likewise.
1084 (grub_host_to_target32): Likewise.
1085 (grub_host_to_target64): Likewise.
1086 * util/sparc64/ieee1275/grub-setup.c (grub_target_to_host16): New definition.
1087 (grub_target_to_host32): Likewise.
1088 (grub_target_to_host64): Likewise.
1089 (grub_host_to_target16): Likewise.
1090 (grub_host_to_target32): Likewise.
1091 (grub_host_to_target64): Likewise.
1092
1093 2010-05-17 BVK Chaitanya <bvk.groups@gmail.com>
1094
1095 Source tree is reorganized for emu build.
1096
1097 * include/grub/util/console.h: Move from here...
1098 * include/grub/emu/console.h: ...to here.
1099 * include/grub/util/getroot.h: Move from here...
1100 * include/grub/emu/getroot.h: ...to here.
1101 * include/grub/util/hostdisk.h: Move from here...
1102 * include/grub/emu/hostdisk.h: ...to here.
1103 * util/console.c: Move from here...
1104 * kern/emu/console.c: ...to here.
1105 * util/getroot.c: Move from here...
1106 * kern/emu/getroot.c: ...to here.
1107 * util/grub-emu.c: Move from here...
1108 * kern/emu/main.c: ...to here.
1109 * util/hostdisk.c: Move from here...
1110 * kern/emu/hostdisk.c: ...to here.
1111 * util/hostfs.c: Move from here...
1112 * kern/emu/hostfs.c: ...to here.
1113 * util/mm.c: Move from here...
1114 * kern/emu/mm.c: ...to here.
1115 * util/pci.c: Move from here...
1116 * bus/emu/pci.c: ...to here.
1117 * util/sdl.c: Move from here...
1118 * video/emu/sdl.c: ...to here.
1119 * util/time.c: Move from here...
1120 * kern/emu/time.c: ...to here.
1121 * util/usb.c: Move from here...
1122 * bus/usb/emu/usb.c: ...to here.
1123
1124 * include/grub/emu/misc.h: New header for grub-emu functions.
1125 * kern/emu/misc.c: grub-emu functions separated from util/misc.c
1126
1127 * conf/any-emu.rmk: Rule updates for above renames.
1128 * conf/common.rmk: Likewise.
1129 * conf/i386-pc.rmk: Likewise.
1130 * conf/i386-qemu.rmk: Likewise.
1131 * conf/mips.rmk: Likewise.
1132 * conf/sparc64-ieee1275.rmk: Likewise.
1133 * conf/x86-efi.rmk: Likewise.
1134
1135 * disk/lvm.h: #include updates for above renames.
1136 * util/grub-mkrelpath.c: Likewise.
1137 * util/grub-probe.c: Likewise.
1138 * util/i386/pc/grub-setup.c: Likewise.
1139 * util/sparc64/ieee1275/grub-setup.c: Likewise.
1140 * kern/emu/console.c: Likewise.
1141 * kern/emu/getroot.c: Likewise.
1142 * kern/emu/hostdisk.c: Likewise.
1143 * kern/emu/main.c: Likewise. (was grub-emu.c earlier)
1144
1145 * include/grub/dl.h: Remove grub_dl_{ref,unref}.
1146 * include/grub/util/misc.h: Move grub-emu functions to emu/misc.h.
1147 * kern/dl.c: Handle null mod in grub_dl_{ref,unref}.
1148 * util/misc.c: Remove grub-emu functions.
1149
1150 2010-05-13 Vladimir Serbinenko <phcoder@gmail.com>
1151
1152 Fix gfxmenu crash.
1153 Reported by: Thorsten Grützmacher.
1154
1155 * gfxmenu/gui_circular_progress.c (circprog_destroy): Unregister
1156 timeout hook.
1157 (circprog_set_property): Register and unregister timeout hook.
1158 * gfxmenu/gui_label.c (grub_gui_label): New fields template and value.
1159 (label_destroy): Free template. and unregister hook.
1160 (label_set_state): New function.
1161 (label_set_property): Handle templates and hooks.
1162 * gfxmenu/gui_progress_bar.c (progress_bar_destroy): Unregister
1163 timeout hook.
1164 (progress_bar_set_property): Register and unregister timeout hook.
1165 * gfxmenu/view.c (TIMEOUT_COMPONENT_ID): Move from here ...
1166 * include/grub/gui.h (GRUB_GFXMENU_TIMEOUT_COMPONENT_ID): ...to here
1167 * gfxmenu/view.c (grub_gfxmenu_timeout_notifications): New variable.
1168 (update_timeout_visit): Removed.
1169 (update_timeouts): New function.
1170 (redraw_timeouts): Likewise.
1171 (grub_gfxmenu_print_timeout): Use update_timeouts and redraw_timeouts.
1172 (grub_gfxmenu_clear_timeout): Likewise.
1173 * include/grub/gui.h (grub_gfxmenu_set_state_t): New type.
1174 (grub_gfxmenu_timeout_notify): Likewise.
1175 (grub_gfxmenu_timeout_notifications): New external variable.
1176 (grub_gfxmenu_timeout_register): New function.
1177 (grub_gfxmenu_timeout_unregister): Likewise.
1178
1179 2010-05-09 Vladimir Serbinenko <phcoder@gmail.com>
1180
1181 Transform (broken) vga terminal into (working) vga video driver.
1182
1183 * conf/i386-pc.rmk (vga_mod_SOURCES): Change term/i386/pc/vga.c to
1184 video/i386/pc/vga.c.
1185 * include/grub/video.h (grub_video_driver_id):
1186 Add GRUB_VIDEO_DRIVER_VGA.
1187 * term/i386/pc/vga.c: Renamed to ...
1188 * video/i386/pc/vga.c: ...this
1189 (DEBUG_VGA): Removed.
1190 (CHAR_WIDTH): Likewise.
1191 (CHAR_HEIGHT): Likewise.
1192 (TEXT_WIDTH): Likewise.
1193 (TEXT_HEIGHT): Likewise.
1194 (DEFAULT_FG_COLOR): Likewise.
1195 (DEFAULT_BG_COLOR): Likewise.
1196 (colored_char): Likewise.
1197 (xpos): Likewise.
1198 (ypos): Likewise.
1199 (cursor_state): Likewise.
1200 (fg_color): Likewise.
1201 (bg_color): Likewise.
1202 (text_buf): Likewise.
1203 (page): Likewise.
1204 (font): Likewise.
1205 (framebuffer): New variable.
1206 (set_read_map): Disabled.
1207 (setup): New variable.
1208 (is_target): Likewise.
1209 (grub_vga_mod_init): Likewise.
1210 (grub_vga_mod_fini): Likewise.
1211 (check_vga_mem): Likewise.
1212 (write_char): Likewise.
1213 (write_cursor): Likewise.
1214 (scroll_up): Likewise.
1215 (grub_vga_putchar): Likewise.
1216 (grub_vga_getcharwidth): Likewise.
1217 (grub_vga_getwh): Likewise.
1218 (grub_vga_getxy): Likewise.
1219 (grub_vga_gotoxy): Likewise.
1220 (grub_vga_cls): Likewise.
1221 (grub_vga_setcolorstate): Likewise.
1222 (grub_vga_setcursor): Likewise.
1223 (grub_video_vga_init): New function.
1224 (grub_video_vga_setup): Likewise.
1225 (grub_video_vga_fini): Likewise.
1226 (update_target): Likewise.
1227 (grub_video_vga_blit_bitmap): Likewise.
1228 (grub_video_vga_blit_render_target): Likewise.
1229 (grub_video_vga_set_active_render_target): Likewise.
1230 (grub_video_vga_get_active_render_target): Likewise.
1231 (grub_video_vga_swap_buffers): Likewise.
1232 (grub_video_vga_set_palette): Likewise.
1233 (grub_video_vga_get_info_and_fini): Likewise.
1234 (grub_vga_term): Removed.
1235 (grub_video_vga_adapter): New variable.
1236 (GRUB_MOD_INIT): Register a video driver instead of terminal.
1237 (GRUB_MOD_FINI): Unrefister a video driver instead of terminal.
1238
1239 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1240
1241 * video/readers/jpeg.c: Indented.
1242
1243 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1244
1245 Various jpeg cleanups.
1246
1247 * video/readers/jpeg.c (grub_jpeg_get_huff_code): Use ARRAY_SIZE.
1248 (grub_jpeg_decode_quan_table): Use sizeof.
1249 (grub_jpeg_decode_du): Use ARRAY_SIZE.
1250
1251 2010-05-05 Peter Hurley <No e-mail available> (tiny change)
1252
1253 * video/readers/jpeg.c (grub_jpeg_decode_huff_table): Loop over all
1254 tables. Ignore non-last ac bit.
1255 (grub_jpeg_decode_quan_table): Likewise.
1256
1257 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1258
1259 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): New value
1260 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM.
1261 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set
1262 GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM on qemu.
1263 * kern/ieee1275/init.c (grub_claim_heap): Don0t allocate below
1264 1.5MiB if GRUB_IEEE1275_FLAG_NO_PRE1_5M_CLAIM is set.
1265
1266 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1267
1268 * term/ieee1275/ofconsole.c (grub_ofconsole_getkey): Fix off-by-one
1269 error.
1270
1271 2010-05-05 Vladimir Serbinenko <phcoder@gmail.com>
1272
1273 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Support C0 code.
1274
1275 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1276
1277 * commands/parttool.c (grub_cmd_parttool): Fix #if !GRUB_NO_MODULES
1278 condition.
1279
1280 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1281
1282 * kern/mm.c (grub_real_malloc): Put magic and size assignment in common
1283 part.
1284
1285 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1286
1287 * kern/mm.c (grub_mm_init_region): Check for region size after aligning
1288 pointers.
1289
1290 2010-05-03 Vladimir Serbinenko <phcoder@gmail.com>
1291
1292 * kern/mm.c (grub_real_malloc): Fix size calculation when extra == 0.
1293
1294 2010-05-01 Christian Franke <franke@computer.org>
1295
1296 * util/grub-mkconfig_lib.in (make_system_path_relative_to_its_root):
1297 Remove broken Cygwin path conversion.
1298 * util/misc.c: [__CYGWIN__] Add include and define.
1299 [__CYGWIN__] (get_win32_path): Copy function from getroot.c, modify
1300 for Cygwin 1.7.
1301 (make_system_path_relative_to_its_root): Simplify loop, replace early
1302 return by break.
1303 [__CYGWIN__] Add conversion to win32 path.
1304 Include "/" case in trailing slash removal.
1305
1306 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1307
1308 * kern/main.c (grub_load_config): Fix copy-pasted comment.
1309 Reported by: Seth Goldberg
1310
1311 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1312
1313 * commands/help.c (grub_cmd_help): Fix a typo.
1314 Reported by: Seth Goldberg
1315
1316 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1317
1318 * commands/hashsum.c (GRUB_MOD_INIT): Remove duplication of command
1319 name and add N_.
1320 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Likewise.
1321 * commands/iorw.c (GRUB_MOD_INIT): Likewise.
1322 * commands/password_pbkdf2.c (GRUB_MOD_INIT): Likewise.
1323 * commands/regexp.c (GRUB_MOD_INIT): Likewise.
1324 * commands/setpci.c (GRUB_MOD_INIT): Likewise.
1325 * commands/terminal.c (GRUB_MOD_INIT): Likewise.
1326 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
1327 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
1328 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
1329 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
1330 * normal/context.c (GRUB_MOD_INIT): Likewise.
1331 * normal/main.c (GRUB_MOD_INIT): Likewise.
1332 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
1333 * term/serial.c (GRUB_MOD_INIT): Likewise.
1334 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
1335
1336 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1337
1338 * kern/mm.c (grub_real_malloc): Satisfy alignment requirement when
1339 extra == 0.
1340
1341 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1342
1343 * commands/iorw.c: New file.
1344 * conf/i386.rmk (pkglib_MODULES): Add iorw.mod.
1345 (iorw_mod_SOURCES): New variable.
1346 (iorw_mod_CFLAGS): Likewise.
1347 (iorw_mod_LDFLAGS): Likewise.
1348
1349 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1350
1351 Hotkey support
1352
1353 * include/grub/menu.h (grub_menu_entry): New field 'hotkey'.
1354 * normal/main.c (hotkey_aliases): New variable.
1355 (grub_normal_add_menu_entry): Parse "--hotkey".
1356 * normal/menu_text.c (run_menu): Handle hotkeys.
1357
1358 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1359
1360 * kern/i386/coreboot/init.c (grub_machine_init): Call
1361 grub_machine_mmap_init on qemu.
1362
1363 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1364
1365 * boot/i386/qemu/boot.S: Add a missing .code16.
1366
1367 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1368
1369 Use LBIO on coreboot.
1370
1371 * conf/i386-coreboot.rmk (kernel_img_SOURCES): Change
1372 kern/i386/multiboot_mmap.c to kern/i386/coreboot/mmap.c.
1373 * include/grub/i386/coreboot/memory.h (GRUB_LINUXBIOS_MEMBER_LINK):
1374 New declaration.
1375 * kern/i386/coreboot/init.c (grub_machine_init): Don't call
1376 grub_machine_mmap_init on coreboot.
1377 * kern/i386/coreboot/mmap.c (grub_linuxbios_table_iterate): Handle
1378 GRUB_LINUXBIOS_MEMBER_LINK.
1379 (grub_machine_mmap_iterate): Fix declaration.
1380 * kern/i386/coreboot/startup.S: Don't save mbi location on coreboot.
1381
1382 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1383
1384 Split coreboot and multiboot ports.
1385
1386 * conf/i386-multiboot.rmk: New file.
1387 * configure.ac: Add multiboot port.
1388 * include/grub/i386/multiboot/boot.h: New file.
1389 * include/grub/i386/multiboot/console.h: Likewise.
1390 * include/grub/i386/multiboot/init.h: Likewise.
1391 * include/grub/i386/multiboot/kernel.h: Likewise.
1392 * include/grub/i386/multiboot/loader.h: Likewise.
1393 * include/grub/i386/multiboot/memory.h: Likewise.
1394 * include/grub/i386/multiboot/serial.h: Likewise.
1395 * include/grub/i386/multiboot/time.h: Likewise.
1396 * include/grub/multiboot.h: Add GRUB_MACHINE_MULTIBOOT to ifdef.
1397 * loader/multiboot.c: Likewise.
1398 * loader/multiboot_mbi2.c: Likewise.
1399 * util/grub-mkrescue.in: Generate multiboot rescue.
1400
1401 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1402
1403 * kern/parser.c (grub_parser_execute): Cope with read-only config.
1404
1405 2010-05-01 Vladimir Serbinenko <phcoder@gmail.com>
1406
1407 Merge handling of input and output terminals. Fix a hang.
1408
1409 * commands/terminal.c (abstract_terminal): New struct.
1410 (handle_command): New function. Based on grub_cmd_terminal_input.
1411 (grub_cmd_terminal_input): Use handle_command.
1412 (grub_cmd_terminal_output): Use handle_command.
1413
1414 2010-05-01 BVK Chaitanya <bvk.groups@gmail.com>
1415
1416 Fix comment handling.
1417
1418 * tests/grub_script_comments.in: New testcase.
1419 * conf/tests.rmk: Rules for new testcase.
1420 * script/yylex.l: Updated flex rules.
1421
1422 2010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
1423
1424 * docs/grub.texi (play): Document that zero pitches produce rests.
1425 * commands/i386/pc/play.c (grub_cmd_play): Call 'grub_file_open' only
1426 if argc is 1.
1427
1428 2010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
1429
1430 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
1431 autogen issues.
1432
1433 2010-04-26 Christian Franke <franke@computer.org>
1434
1435 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
1436 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
1437 (grub_get_prefix): Remove function.
1438 * util/grub-emu.c (main): Replace grub_get_prefix () call by
1439 make_system_path_relative_to_its_root ().
1440 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
1441
1442 2010-04-24 Christian Franke <franke@computer.org>
1443
1444 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
1445 (kernel_img_LDFLAGS): Remove -static-libgcc.
1446
1447 2010-04-24 Christian Franke <franke@computer.org>
1448
1449 * configure.ac: Do not CHECK_BSS_START_SYMBOL
1450 and CHECK_END_SYMBOL if grub-emu is built.
1451 Unset TARGET_OBJ2ELF if grub-emu is built
1452 without module support.
1453
1454 2010-04-24 Jiro SEKIBA <jir@unicus.jp>
1455
1456 Nilfs2 support.
1457
1458 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
1459 (grub_fstest_SOURCES): Likewise.
1460 (pkglib_MODULES): Add nilfs2.mod.
1461 (nilfs2_mod_SOURCES): New variable.
1462 (nilfs2_mod_CFLAGS): Likewise.
1463 (nilfs2_mod_LDFLAGS): Likewise.
1464 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
1465 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
1466 * fs/nilfs2.c: New file.
1467
1468 2010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
1469
1470 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
1471 is not supported.
1472
1473 2010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
1474
1475 Add grub-mkconfig support for NetBSD.
1476
1477 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
1478 * util/grub-mkconfig.in: export new NetBSD specific variables.
1479 * po/POTFILES-shell: added 10_netbsd.in.
1480 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
1481
1482 2010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
1483
1484 Fix emu build with grub-emu-pci and grub-emu-modules.
1485
1486 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
1487 functions.
1488 * include/grub/libpciaccess.h: New file.
1489 * conf/any-emu.rmk: Update kernel headers for emu build.
1490
1491 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1492
1493 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
1494
1495 2010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
1496
1497 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
1498
1499 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1500
1501 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
1502 Retrieve chosen/bootpath if bootpath isn't hardcoded.
1503 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
1504 util/ieee1275/ofpath.c.
1505 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
1506 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
1507 * include/grub/sparc64/ieee1275/boot.h
1508 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
1509 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
1510 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
1511 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
1512 const char *.
1513 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
1514 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
1515 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
1516 install.
1517
1518 2010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
1519
1520 * util/grub-mkconfig.in: Corrected two == equality tests.
1521 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
1522 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
1523 expect a number appended to it.
1524 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
1525 expects a number appended to it.
1526
1527 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1528
1529 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
1530
1531 2010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
1532
1533 * util/hostdisk.c (make_device_name): Change to new partition naming.
1534
1535 2010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
1536
1537 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
1538
1539 2010-04-17 Christian Franke <franke@computer.org>
1540
1541 * Makefile.in: Add missing localedir setting.
1542
1543 2010-04-14 Colin Watson <cjwatson@ubuntu.com>
1544
1545 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
1546 mistake in r2156. Noticed by Anthony Fok.
1547
1548 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
1549 @localedir@.
1550 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
1551
1552 2010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
1553
1554 Fix a spurious, uninitialized variable warning.
1555
1556 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
1557 Initialize variable, shdr.
1558 (grub_freebsd_load_elfmodule): Likewise.
1559 (grub_freebsd_load_elf_meta): Likewise.
1560
1561 2010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
1562
1563 Fix for escaped dollar in double quoted strings.
1564
1565 * script/yylex.l: Updated flex rules.
1566 * conf/tests.rmk: Rule for new testcase.
1567 * tests/grub_script_dollar.in: New testcase.
1568
1569 2010-04-13 Carles Pina i Estany <carles@pina.cat>
1570 2010-04-13 Colin Watson <cjwatson@ubuntu.com>
1571
1572 Enclose all translated strings in grub.cfg in single quotes, and
1573 escape them appropriately (Ubuntu bug #552921).
1574
1575 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
1576 * util/grub.d/10_hurd.in: Use it.
1577 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
1578 * util/grub.d/10_linux.in (linux_entry): Likewise.
1579
1580 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1581
1582 Fix cygwin compilation.
1583
1584 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
1585 * include/grub/misc.h (__register_frame_info)
1586 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
1587 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
1588 * kern/misc.c (__register_frame_info)
1589 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
1590 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
1591
1592 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1593
1594 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
1595
1596 2010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
1597
1598 Unify libgcc processing.
1599
1600 * Makefile.in (kernel_img_LDFLAGS): New variable.
1601 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
1602 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
1603 overwriting.
1604 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
1605 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
1606 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
1607 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
1608 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
1609 overwriting. Remove -lgcc and -static-libgcc
1610 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
1611 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
1612 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
1613 (kernel_img_LDFLAGS): Append instead of overwriting.
1614 Remove -lgcc and -static-libgcc
1615 * conf/sparc64-ieee1275.rmk: Likewise.
1616 * include/grub/powerpc/libgcc.h: Move to ...
1617 * include/grub/libgcc.h: .. this.
1618 * include/grub/libgcc.h: Don't export most of the function on x86.
1619 (__bswapsi2): New export.
1620 (__bswapdi2): Likewise.
1621 * include/grub/mips/libgcc.h: Removed.
1622 * include/grub/sparc64/libgcc.h: Likewise.
1623
1624 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1625
1626 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
1627 disk_info_msg (conflicts with gettexting into languages with cases).
1628
1629 2010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
1630
1631 Add grub-probe support for NetBSD.
1632
1633 * util/getroot.c (find_root_device): Convert block device to
1634 character device on NetBSD.
1635 * util/probe.c (probe): Require character device on NetBSD.
1636 * util/hostdisk.c: NetBSD specific headers.
1637 (configure_device_driver): new function to tune device driver
1638 parameters (currently only for NetBSD floppy driver).
1639 (grub_util_biosdisk_open): NetBSD specific code (get disk size
1640 via disklabel ioctl).
1641 (open_device): call configure_device_driver on NetBSD.
1642 (convert_system_partition_to_system_disk): NetBSD specific code.
1643 (device_is_wholedisk): Likewise.
1644 (grub_util_biosdisk_get_grub_dev): Likewise.
1645 (make_device_name): Fixed a typo in bsd_part_str.
1646 * configure.ac: check for opendisk() and getrawpartition() on
1647 NetBSD and set LIBUTIL.
1648 * Makefile.in: add LIBUTIL to LIBS.
1649
1650 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
1651
1652 Documentation fix.
1653
1654 * util/grub-script-check.c: Better help message.
1655
1656 2010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
1657
1658 Fix FreeBSD build.
1659
1660 * configure.ac: Flex version check.
1661 * conf/common.rmk: Add -Wno-error to sh.mod.
1662 * script/yylex.l: Remove all #pragma.
1663
1664 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1665
1666 * include/grub/util/misc.h (canonicalise_file_name): Add missing
1667 prototype.
1668 Reported by: Seth Goldberg.
1669
1670 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1671
1672 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
1673 Rename "module" to "module2".
1674 Reported by: Seth Goldberg.
1675
1676 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1677
1678 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
1679 EXPORT_FUNC.
1680 Reported by: Seth Goldberg.
1681
1682 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1683
1684 * lib/posix_wrap/locale.h: Add missing file.
1685 Reported by: Seth Goldberg.
1686
1687 2010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
1688
1689 grub-emu module load support.
1690
1691 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
1692 NO_DYNAMIC_MODULES switched to this.
1693 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
1694 (CFLAGS): Likewise.
1695 * conf/any-emu.rmk: Generate symlist.
1696 (kernel_img_HEADERS): Add util/datetime.h.
1697 (kernel_img_HEADERS) [sdl]: Add sdl.h.
1698 (kernel_img_HEADERS) [libusb]: Add libusb.h.
1699 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
1700 kern/$(target_cpu)/cache.S.
1701 * configure.ac (grub-emu-modules): New option.
1702 * genmk.rb: Handle multiple source lists.
1703 * include/grub/sdl.h: New file.
1704 * include/grub/libusb.h: Likewise.
1705 * util/grub-emu.c (main): Hanle (host) root.
1706 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
1707 GRUB_ERR_UNKNOWN_DEVICE.
1708 * util/misc.c: Move mm functions to ...
1709 * util/mm.c: ... here. All users updated.
1710
1711 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1712
1713 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
1714 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
1715 missing files.
1716 (maintainer-clean): Remove libgcrypt-grub.
1717
1718 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1719
1720 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
1721
1722 2010-04-09 EFI Coder <eficoder@hotmail.com>
1723
1724 * normal/menu_text.c (print_message): Clean up the message and show
1725 the Fn information when on EFI
1726 * term/efi/console.c (grub_console_checkkey): Add F4 support.
1727
1728 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1729
1730 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
1731 All users updated.
1732 * normal/crypto.c (read_crypto_list): Likewise.
1733 * normal/dyncmd.c (read_command_list): Likewise.
1734 * normal/term.c (read_terminal_list): Likewise.
1735 * normal/main.c (read_lists): Use explicit prefix.
1736 (read_lists_hook): Use read_lists.
1737 (grub_normal_execute): Likewise.
1738
1739 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1740
1741 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
1742 Reported by: Thomas Schmitt.
1743 Add -no-emul-boot to grub-mkisofs parameters.
1744
1745 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1746
1747 * font/font.c: Indented.
1748
1749 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
1750
1751 Elif support to GRUB script (by Deepak Vankadaru).
1752
1753 * tests/grub_script_if.in: New testcase.
1754 * conf/tests.rmk: Rule for new testcase.
1755 * script/parser.y: Grammar rules for elif.
1756
1757 2010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
1758
1759 While and until loops support to GRUB script.
1760
1761 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
1762 (grub_script_create_cmdwhile): New function prototype.
1763 (grub_script_execute_cmdwhile): New function prototype.
1764 * script/execute.c (grub_script_execute_cmdwhile): New function.
1765 * script/parser.y (command): New commands.
1766 (whilecmd): New grammar rule.
1767 (untilcmd): New grammar rule.
1768 * script/script.c (grub_script_create_cmdwhile): New function.
1769 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
1770 function.
1771
1772 * tests/grub_script_while1.in: New testcase.
1773 * conf/tests.rmk: Rule for new testcase.
1774
1775 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1776
1777 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
1778 as *.jpg.
1779
1780 2010-04-09 Mario Vazquez <mariovazq@gmail.com>
1781
1782 GRUB_BACKGROUND support.
1783
1784 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
1785 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
1786
1787 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1788
1789 Load fonts and modules for gfxmenu in grub-mkconfig.
1790 Idea by: Mario Vazquez
1791
1792 * util/grub.d/00_header.in: Load pf2 and image modules.
1793
1794 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1795
1796 grub-mkconfig multiple terminal support.
1797
1798 * util/grub-mkconfig.in: Handle multiple terminals correctly.
1799 * util/grub.d/00_header.in: Likewise.
1800
1801 2010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
1802
1803 * Makefile.in: Specify files explicitly instead of using $< and $@ since
1804 we use cd $(srcdir).
1805
1806 2010-04-08 Colin Watson <cjwatson@ubuntu.com>
1807
1808 * util/grub.d/10_linux.in: Only use the first word of
1809 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
1810 spaces in GRUB_DISTRIBUTOR.
1811 * util/grub.d/10_kfreebsd.in: Likewise.
1812 * util/grub.d/10_hurd.in: Likewise.
1813
1814 2010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
1815
1816 Fix unit testing framework for Qemu 0.12.
1817
1818 * tests/util/grub-shell.in: Remove -serial stdio option.
1819
1820 2010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
1821
1822 POSIX header file wrappers.
1823
1824 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
1825 equivalents.
1826 * lib/posix_wrap/ctype.h: Likewise.
1827 * lib/posix_wrap/errno.h: Likewise.
1828 * lib/posix_wrap/langinfo.h: Likewise.
1829 * lib/posix_wrap/limits.h: Likewise.
1830 * lib/posix_wrap/localcharset.h: Likewise.
1831 * lib/posix_wrap/stdint.h: Likewise.
1832 * lib/posix_wrap/stdio.h: Likewise.
1833 * lib/posix_wrap/stdlib.h: Likewise.
1834 * lib/posix_wrap/string.h: Likewise.
1835 * lib/posix_wrap/sys/types.h: Likewise.
1836 * lib/posix_wrap/unistd.h: Likewise.
1837 * lib/posix_wrap/wchar.h: Likewise.
1838 * lib/posix_wrap/wctype.h: Likewise.
1839 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
1840 (grub_script.yy.h): Likewise.
1841 * script/yylex.l: Remove POSIX emulation #defines.
1842 * Makefile.in (POSIX_CFLAGS): New variable.
1843 (GNULIB_UTIL_CFLAGS): Likewise.
1844
1845 Regexp support.
1846
1847 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
1848 (regexp_mod_SOURCES): New variable.
1849 (regexp_mod_CFLAGS): Likewise.
1850 (regexp_mod_LDFLAGS): Likewise.
1851 * commands/regexp.c: New file.
1852 * gnulib/regcomp.c: New file. Imported from gnulib.
1853 * gnulib/regex.c: Likewise.
1854 * gnulib/regex_internal.c: Likewise.
1855 * gnulib/regex_internal.h: Likewise.
1856 * gnulib/regexec.c: Likewise.
1857 * gnulib/regex.h: Likewise.
1858
1859 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1860
1861 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
1862 unsupported video mode types.
1863
1864 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1865
1866 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
1867
1868 2010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
1869
1870 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
1871 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
1872
1873 2010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
1874
1875 Remove unused grub_vga_get_font.
1876
1877 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
1878 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
1879
1880 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
1881
1882 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
1883 * include/grub/misc.h: Likewise.
1884
1885 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
1886
1887 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
1888 for which failure is fatal.
1889
1890 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
1891
1892 * util/grub-install.in: Use mkdir -p to create grub directory.
1893 * util/i386/efi/grub-install.in: Likewise.
1894 * util/ieee1275/grub-install.in: Likewise.
1895
1896 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
1897
1898 * Makefile.in (LEX): new variable.
1899
1900 2010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
1901
1902 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
1903 `=' and added double quotes on operands of this equality test.
1904
1905 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
1906
1907 * Makefile.in (uninstall): Remove a leftover debug echo.
1908 Reported by: Grégoire Sutre
1909
1910 2010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
1911
1912 MIPS multiboot2 support.
1913
1914 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
1915 (multiboot2_mod_SOURCES): New variable.
1916 (multiboot2_mod_CFLAGS): Likewise.
1917 (multiboot2_mod_LDFLAGS): Likewise.
1918 (multiboot2_mod_ASFLAGS): Likewise.
1919 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
1920 definition.
1921 (MULTIBOOT_ENTRY_REGISTER): Likewise.
1922 (MULTIBOOT_MBI_REGISTER): Likewise.
1923 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
1924 (MULTIBOOT_ELF32_MACHINE): Likewise.
1925 (MULTIBOOT_ELF64_MACHINE): Likewise.
1926 * include/grub/mips/multiboot.h: New file.
1927 * include/grub/video.h (grub_video_driver_id): New type
1928 GRUB_VIDEO_DRIVER_SM712.
1929 (grub_video_get_info_and_fini): Export.
1930 (grub_video_get_palette): Likewise.
1931 (grub_video_get_driver_id): Likewise.
1932 * include/multiboot2.h: Resynced with spec.
1933 * loader/i386/multiboot.c: Moved from here ...
1934 * loader/multiboot.c: ... here. All users updated.
1935 (grub_multiboot_boot): Use platform-specific macros.
1936 * loader/i386/multiboot_elfxx.c: Moved from here ...
1937 * loader/multiboot_elfxx.c: ... here. All users updated.
1938 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
1939 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
1940 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
1941
1942 2010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
1943
1944 Import gnulib argp module.
1945
1946 * gnulib/argp-ba.c: New file.
1947 * gnulib/argp-eexst.c: Likewise.
1948 * gnulib/argp-fmtstream.c: Likewise.
1949 * gnulib/argp-fmtstream.h: Likewise.
1950 * gnulib/argp-fs-xinl.c: Likewise.
1951 * gnulib/argp-help.c: Likewise.
1952 * gnulib/argp-namefrob.h: Likewise.
1953 * gnulib/argp-parse.c: Likewise.
1954 * gnulib/argp-pin.c: Likewise.
1955 * gnulib/argp-pv.c: Likewise.
1956 * gnulib/argp-pvh.c: Likewise.
1957 * gnulib/argp-version-etc.c: Likewise.
1958 * gnulib/argp-version-etc.h: Likewise.
1959 * gnulib/argp-xinl.c: Likewise.
1960 * gnulib/argp.h: Likewise.
1961
1962 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1963
1964 * kern/device.c (grub_device_iterate): Clear errors after failed
1965 opening device.
1966
1967 2010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
1968
1969 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
1970 returned by firmware.
1971
1972 2010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
1973
1974 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
1975 compilation on coreboot and qemu
1976
1977 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
1978
1979 * include/multiboot2.h: Resync with spec.
1980
1981 2010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
1982
1983 Multiboot2 tag support
1984
1985 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
1986 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
1987 Remove loader/multiboot_loader.c.
1988 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
1989 (grub_multiboot2_real_boot): Likewise.
1990 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
1991 (grub_get_multiboot_mmap_count): New proto.
1992 (grub_fill_multiboot_mmap): Likewise.
1993 (grub_multiboot_set_video_mode): Likewise.
1994 (grub_multiboot_set_console): Likewise.
1995 (grub_multiboot_load): Likewise.
1996 (grub_multiboot_load_elf): Likewise.
1997 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
1998 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
1999 * include/multiboot.h: Resynced with specification.
2000 * include/multiboot2.h: Resynced with specification.
2001 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
2002 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
2003 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
2004 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
2005 users updated.
2006 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
2007 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
2008 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
2009 Removed.
2010 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
2011 Moved from here...
2012 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
2013 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
2014 Moved from here...
2015 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
2016 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
2017 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
2018 All users updated.
2019 * loader/i386/multiboot_mbi2.c: New file.
2020
2021 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
2022
2023 Resync with gnulib.
2024
2025 * Makefile.in (GNULIB_CFLAGS): New variable.
2026 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
2027 (grub_script_check_CFLAGS): New variable.
2028 * gnulib/alloca.h: Resync with gnulib.
2029 * gnulib/error.c: Likewise.
2030 * gnulib/error.h: Likewise.
2031 * gnulib/fnmatch.c: Likewise.
2032 * gnulib/fnmatch_loop.c: Likewise.
2033 * gnulib/getdelim.c: Likewise.
2034 * gnulib/getline.c: Likewise.
2035 * gnulib/getopt.c: Likewise.
2036 * gnulib/getopt1.c: Likewise.
2037 * gnulib/getopt_int.h: Likewise.
2038 * gnulib/gettext.h: Likewise.
2039 * gnulib/progname.c: Likewise.
2040 * gnulib/progname.h: Likewise.
2041
2042 2010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
2043
2044 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
2045 which is the case with --disabled-nls.
2046
2047 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
2048 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
2049 * util/misc.c: Likewise.
2050 * util/mkisofs/mkisofs.c: Likewise.
2051 * util/mkisofs/mkisofs.h: Likewise.
2052
2053 2010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
2054
2055 Simplify Apple CC support.
2056
2057 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
2058 Add 0 byte at the end not to have a symbol with empty target.
2059 * mmap/i386/pc/mmap_helper.S: Likewise.
2060 * genmk.rb: Ignore errors 2030 and 2050.
2061 * kern/i386/pc/startup.S: Use LOCAL when possible.
2062
2063 2010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
2064
2065 Testcase and the fix for final semicolon on cmdline.
2066
2067 * tests/grub_script_final_semicolon.in: New testcase.
2068 * conf/tests.rmk: Rules for the new testcase.
2069 * script/parser.y: Grammar fix.
2070
2071 2010-03-26 BVK Chaitanya <bvk@localhost>
2072
2073 Blank lines testcase for GRUB script.
2074
2075 * tests/grub_script_blanklines.in: New testcase.
2076 * conf/tests.rmk: Rules for the new testcase.
2077
2078 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2079
2080 Don't use __FILE__.
2081
2082 * genmk.rb: Add -DGRUB_FILE to all C targets.
2083 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
2084 * include/grub/list.h: Likewise.
2085 * include/grub/misc.h: Likewise.
2086 * include/grub/mm.h: Likewise.
2087 * include/grub/test.h: Likewise.
2088 * kern/mm.c: Likewise.
2089 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
2090
2091 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2092
2093 Sunpc partitions support.
2094
2095 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
2096 (grub_fstest_SOURCES): Likewise.
2097 (pkglib_MODULES): Add part_sunpc.mod.
2098 (part_sunpc_mod_SOURCES): New variable.
2099 (part_sunpc_mod_CFLAGS): Likewise.
2100 (part_sunpc_mod_LDFLAGS): Likewise.
2101 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
2102 * partmap/sunpc.c: New file.
2103
2104 2010-03-26 BVK Chaitanya <bvk@localhost>
2105
2106 For loop support to GRUB script.
2107
2108 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
2109 (grub_script_create_cmdfor): New function prototype.
2110 (grub_script_execute_cmdfor): New function prototype.
2111 * script/execute.c (grub_script_execute_cmdfor): New function.
2112 * script/parser.y (command): New for command.
2113 (forcmd): New grammar rule.
2114 * script/script.c (grub_script_create_cmdfor): New function.
2115 * util/grub-script-check.c (grub_script_execute_cmdfor): New
2116 function.
2117 * tests/grub_script_for1.in: New testcase.
2118 * conf/tests.rmk: Rules for new testcase.
2119
2120 2010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
2121
2122 Nested partitions
2123
2124 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
2125 'partition' is NULL, grub_partition_get_start already does that.
2126 * commands/loadenv.c (check_blocklists): Likewise.
2127 (write_blocklists): Likewise.
2128 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
2129 (grub_fstest_SOURCES): Likewise.
2130 (pkglib_MODULES): Add part_bsd.mod.
2131 (part_bsd_mod_SOURCES): New variable.
2132 (part_bsd_mod_CFLAGS): Likewise.
2133 (part_bsd_mod_LDFLAGS): Likewise.
2134 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
2135 (grub_emu_SOURCES): Likewise.
2136 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2137 * include/grub/bsdlabel.h: New file.
2138 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
2139 'get_name'.
2140 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
2141 (grub_partition_map_list): New variable.
2142 (grub_partition_map_register): Inline.
2143 (grub_partition_map_unregister): Likewise.
2144 (FOR_PARTITION_MAPS): New macro.
2145 (grub_partition_map_iterate): Removed.
2146 (grub_partition_get_start): Handle nested partitions.
2147 * include/grub/msdos_partition.h: Remove bsd-related entries.
2148 (grub_pc_partition): Remove.
2149 * kern/disk.c (grub_disk_close): Free partition data.
2150 (grub_disk_adjust_range): Handle nested partitions.
2151 * kern/partition.c (grub_partition_map_probe): New function.
2152 (grub_partition_probe): Parse name to number, handle subpartitions.
2153 (get_partmap): New function.
2154 (grub_partition_iterate): Handle subpartitions.
2155 (grub_partition_get_name): Likewise.
2156 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
2157 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
2158 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
2159 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
2160 Set 'number'.
2161 (acorn_partition_map_probe): Remove.
2162 (acorn_partition_map_get_name): Likewise.
2163 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
2164 Set 'number'.
2165 Set 'index' to 0 since there can be only one partition entry per sector.
2166 (amiga_partition_map_probe): Remove.
2167 (amiga_partition_map_get_name): Likewise.
2168 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
2169 Set 'number'.
2170 Set 'offset' and 'index' to real positions of partitions.
2171 (apple_partition_map_probe): Remove.
2172 (apple_partition_map_get_name): Likewise.
2173 * partmap/bsdlabel.c: New file.
2174 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
2175 Set 'number'.
2176 Allocate 'data' so it can be correctly freed.
2177 Set 'index' to offset inside sector.
2178 (gpt_partition_map_probe): Remove.
2179 (gpt_partition_map_get_name): Likewise.
2180 * partmap/msdos.c (grub_partition_parse): Remove.
2181 (pc_partition_map_iterate): Don't force raw access.
2182 Set 'number'.
2183 Make 'ext_offset' a local variable.
2184 (pc_partition_map_probe): Remove.
2185 (pc_partition_map_get_name): Remove.
2186 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
2187 Set 'number'.
2188 (sun_partition_map_probe): Remove.
2189 (sun_partition_map_get_name): Likewise.
2190 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
2191 (grub_pcpart_type): Likewise.
2192 * util/hostdisk.c (open_device): Handle new numbering scheme.
2193 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
2194 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
2195 * util/grub-probe.c (probe_partmap): Handle nested paritions.
2196 * util/grub-install.in: Insert all subpartition modules.
2197 * util/ieee1275/grub-install.in: Likewise.
2198
2199 2010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
2200
2201 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
2202 grammar.
2203
2204 2010-03-24 Colin Watson <cjwatson@ubuntu.com>
2205
2206 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
2207
2208 2010-03-21 Colin Watson <cjwatson@ubuntu.com>
2209
2210 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
2211 match where 'make install' puts them.
2212 * util/i386/efi/grub-install.in: Likewise.
2213
2214 2010-03-19 Colin Watson <cjwatson@ubuntu.com>
2215
2216 * .bzrignore: Add gentrigtables, grub-script-check,
2217 grub_script_check_init.c, grub_script_check_init.h, and
2218 trigtables.c.
2219
2220 2010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
2221
2222 * kern/parser.c: Indented.
2223
2224 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
2225
2226 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
2227
2228 2010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
2229
2230 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
2231 alpha_mask_size == 0 case.
2232
2233 2010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
2234
2235 GRUB shell lexer and parser improvements.
2236
2237 * conf/any-emu.rmk: Build rule updates.
2238 * conf/common.rmk: Likewise.
2239 * conf/i386-coreboot.rmk: Likewise.
2240 * conf/i386-efi.rmk: Likewise.
2241 * conf/i386-ieee1275.rmk: Likewise.
2242 * conf/i386-pc.rmk: Likewise.
2243 * conf/powerpc-ieee1275.rmk: Likewise.
2244 * conf/x86_64-efi.rmk: Likewise.
2245
2246 * configure.ac: Configure check for flex.
2247
2248 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
2249 types.
2250 (grub_lexer_param): Struct member updates.
2251 (grub_parser_param): Likewise.
2252 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
2253 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
2254 (grub_script_lexer_init): Prototype update.
2255 (grub_script_lexer_record_start): Likewise.
2256 (grub_script_lexer_record_stop): Likewise.
2257 (grub_script_lexer_yywrap): New function prototype.
2258 (grub_script_lexer_fini): Likewise.
2259 (grub_script_execute_argument_to_string): Removed by...
2260 (grub_script_execute_argument_to_argv): ...better version.
2261
2262 * script/execute.c (ROUND_UPTO): New macro.
2263 (grub_script_execute_cmdline): Out of memory fixes.
2264 (grub_script_execute_menuentry): Likewise.
2265 (grub_script_execute_argument_to_string): Removed. Update all
2266 users by...
2267 (grub_script_execute_argument_to_argv): ...better version.
2268 * script/function.c (grub_script_function_create): Use
2269 grub_script_execute_argument_to_argv instead of
2270 grub_script_execute_argument_to_string.
2271
2272 * script/lexer.c (check_varstate): Removed.
2273 (check_textstate): Removed.
2274 (grub_script_lexer_record_start): Likewise.
2275 (grub_script_lexer_record_stop): Likewise.
2276 (recordchar): Replaced with...
2277 (grub_script_lexer_record): ...new function.
2278 (nextchar): Removed.
2279 (grub_script_lexer_init): Rewritten.
2280 (grub_script_yylex): Rewritten.
2281 (append_newline): New function.
2282 (grub_script_lexer_yywrap): New function.
2283 (grub_script_lexer_fini): New function.
2284 (grub_script_yyerror): Sets error flag.
2285
2286 * script/yylex.l: New file.
2287 (grub_lexer_yyfree): Wrapper for flex yyffre.
2288 (grub_lexer_yyalloc): Likewise.
2289 (grub_lexer_yyrealloc): Likewise.
2290 * script/parser.y: Refactored.
2291
2292 * script/script.c (grub_script_arg_add): Out of memory fixes.
2293 (grub_script_add_arglist): Likewise.
2294 (grub_script_create_cmdline): Likewise.
2295 (grub_script_create_cmdmenu): Likewise.
2296 (grub_script_add_cmd): Likewise.
2297 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
2298 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
2299 unnecessary code.
2300
2301 * tests/grub_script_echo1.in: New testcase.
2302 * tests/grub_script_vars1.in: New testcase.
2303 * tests/grub_script_echo_keywords.in: New testcase.
2304
2305 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2306
2307 Remove some redundancy in build system.
2308
2309 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
2310 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
2311 (TARGET_LDFLAGS): Add -nostdlib.
2312 (TARGET_IMG_LDFLAGS): Likewise.
2313 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
2314 anything since mmap isn't available.
2315 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
2316 Add util/time.c.
2317 (pkglib_MODULES): Remove reboot.mod.
2318 (reboot_mod_SOURCES): Removed.
2319 (reboot_mod_CFLAGS): Likewise.
2320 (reboot_mod_LDFLAGS): Likewise.
2321 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
2322 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
2323 (DEFSYMFILES): Add kernel_syms.lst.
2324 (kernel_img_HEADERS): Add common headers.
2325 (symlist.c): New target.
2326 (kernel_syms.lst): Likewise.
2327 (pkglib_MODULES): Add memdisk.mod.
2328 (memdisk_mod_SOURCES): New variable.
2329 (memdisk_mod_CFLAGS): Likewise.
2330 (memdisk_mod_LDFLAGS): Likewise.
2331 (pkglib_MODULES): Add reboot.mod.
2332 (reboot_mod_SOURCES): New variable.
2333 (reboot_mod_CFLAGS): Likewise.
2334 (reboot_mod_LDFLAGS): Likewise.
2335 (pkglib_MODULES): Add date.mod.
2336 (date_mod_SOURCES): New variable.
2337 (date_mod_CFLAGS): Likewise.
2338 (date_mod_LDFLAGS): Likewise.
2339 (pkglib_MODULES): Add datehook.mod.
2340 (datehook_mod_SOURCES): New variable.
2341 (datehook_mod_CFLAGS): Likewise.
2342 (datehook_mod_LDFLAGS): Likewise.
2343 (pkglib_MODULES): Add lsmmap.mod.
2344 (lsmmap_mod_SOURCES): New variable.
2345 (lsmmap_mod_CFLAGS): Likewise.
2346 (lsmmap_mod_LDFLAGS): Likewise.
2347 (pkglib_MODULES): Add boot.mod.
2348 (boot_mod_SOURCES): New variable.
2349 (boot_mod_CFLAGS): Likewise.
2350 (boot_mod_LDFLAGS): Likewise.
2351 * conf/i386-coreboot.rmk: Removed redundant parts.
2352 * conf/i386-ieee1275.rmk: Likewise.
2353 * conf/i386-pc.rmk: Likewise.
2354 * conf/mips-yeeloong.rmk: Likewise.
2355 * conf/mips.rmk: Likewise.
2356 * conf/powerpc-ieee1275.rmk: Likewise.
2357 * conf/sparc64-ieee1275.rmk: Likewise.
2358 * conf/x86_64-efi.rmk: Likewise.
2359 * conf/i386-coreboot.rmk: Moved qemu parts ..
2360 * conf/i386-qemu.rmk: ... here
2361 * conf/i386-efi.rmk: Moved common parts to...
2362 * conf/x86-efi.rmk: ... here.
2363 * conf/i386.rmk: Added modules common to all x86 variants.
2364 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
2365 * disk/memdisk.c: Remove grub/machine/kernel.h.
2366 * gensymlist.sh.in: Include symbol.h.
2367 * hook/datehook.c: Correct module name.
2368 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
2369 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
2370 * include/grub/i386/efi/serial.h: New file.
2371 * include/grub/x86_64/efi/serial.h: Likewise.
2372 * util/time.c: Likewise.
2373 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
2374
2375 2010-03-14 Colin King <colin.king@ubuntu.com>
2376 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
2377
2378 Shrink the pre-partition-table part of boot.img by eight bytes.
2379
2380 * boot/i386/pc/boot.S (ERR): New macro.
2381 (chs_mode): Use ERR.
2382 (geometry_error): Likewise.
2383 (hd_probe_error): Remove. This is only used once, so we wrwite
2384 it inline instead.
2385 (read_error): Instead of printing read_error_string, just set up
2386 %si and fall through to ...
2387 (error_message): ... this new function, also used by ERR.
2388
2389 2010-03-14 Colin Watson <cjwatson@ubuntu.com>
2390
2391 Speed up consecutive hostdisk operations on the same device.
2392
2393 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
2394 (grub_util_biosdisk_open): Initialise disk->data.
2395 (struct linux_partition_cache): New structure.
2396 (linux_find_partition): Cache partition start positions; these are
2397 expensive to compute on every read and write.
2398 (open_device): Cache open file descriptor in disk->data, so that we
2399 don't have to reopen it and flush the buffer cache for consecutive
2400 operations on the same device.
2401 (grub_util_biosdisk_close): New function.
2402 (grub_util_biosdisk_dev): Set `close' member.
2403
2404 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
2405 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
2406 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
2407 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
2408 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
2409
2410 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2411
2412 Compile parts of grub-emu as modules.
2413
2414 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
2415 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
2416 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
2417 (all-local): Add $(GRUB_EMU).
2418 (install-local): Install $(GRUB_EMU).
2419 (uninstall): Uninstall $(GRUB_EMU).
2420 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
2421 * kern/dl.c: Likewise.
2422 * commands/sleep.c: Not include machine/time.h.
2423 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
2424 (COMMON_CFLAGS): Likewise.
2425 (sbin_UTILITIES): Remove grub-emu.
2426 (grub_emu_SOURCES): Removed.
2427 (kernel_img_RELOCATABLE): New variable.
2428 (pkglib_PROGRAMS): Add kernel.img.
2429 (kernel_img_SOURCES): New variable
2430 (kernel_img_CFLAGS): Likewise.
2431 (kernel_img_LDFLAGS): Likewise.
2432 (TARGET_NO_STRIP): Likewise.
2433 (TARGET_NO_DYNAMIC_MODULES): Likewise.
2434 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
2435 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
2436 (grub-emu): New target.
2437 (GRUB_EMU): New variable.
2438 * configure.ac: Whitelist -emu as possible x86_64 architecture.
2439 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
2440 * loader/xnu.c: Likewise.
2441 * include/grub/pci.h: Likewise.
2442 * genemuinit.sh: New file.
2443 * genemuinitheader.sh: Likewise.
2444 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
2445 Support TARGET_NO_DYNAMIC_MODULES.
2446 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
2447 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
2448 * disk/loopback.c: Likewise.
2449 * font/font_cmd.c: Likewise.
2450 * partmap/acorn.c: Likewise.
2451 * partmap/amiga.c: Likewise.
2452 * partmap/apple.c: Likewise.
2453 * partmap/gpt.c: Likewise.
2454 * partmap/msdos.c: Likewise.
2455 * partmap/sun.c: Likewise.
2456 * parttool/msdospart.c: Likewise.
2457 * term/gfxterm.c: Likewise.
2458 * video/bitmap.c: Likewise.
2459 * video/readers/jpeg.c: Likewise.
2460 * video/readers/png.c: Likewise.
2461 * video/readers/tga.c: Likewise.
2462 * video/video.c: Likewise.
2463 * util/grub-emu.c (read_command_list): Removed.
2464 (main): Don't call util_init_nls.
2465 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
2466 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
2467
2468 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2469
2470 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
2471 date.mod, datehook.mod.
2472 (datetime_mod_SOURCES): New variable.
2473 (datetime_mod_CFLAGS): Likewise.
2474 (datetime_mod_LDFLAGS): Likewise.
2475 (date_mod_SOURCES): Likewise.
2476 (date_mod_CFLAGS): Likewise.
2477 (date_mod_LDFLAGS): Likewise.
2478 (datehook_mod_SOURCES): Likewise.
2479 (datehook_mod_CFLAGS): Likewise.
2480 (datehook_mod_LDFLAGS): Likewise.
2481 * conf/sparc64-ieee1275.rmk: Likewise.
2482 * lib/ieee1275/datetime.c: New file.
2483
2484 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2485
2486 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
2487 (ieee1275_fb_mod_SOURCES): New variable.
2488 (ieee1275_fb_mod_CFLAGS): Likewise.
2489 (ieee1275_fb_mod_LDFLAGS): Likewise.
2490 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
2491 New proto.
2492 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
2493 (HEAP_MAX_ADDR): Likewise.
2494 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
2495 type.
2496 Correct stop condition.
2497 (grub_ieee1275_devices_iterate): New function.
2498 * video/ieee1275.c: New file.
2499
2500 2010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
2501
2502 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
2503
2504 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
2505 as scratch.
2506 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
2507 SCRATCH_PAD_DISKBOOT as scratch.
2508 (bootit): Pass Openfirmware pointer in %o4.
2509 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
2510 of 0x200000.
2511 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
2512 with util/grub-mkrawimage.c.
2513 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
2514 * include/grub/aout.h (AOUT_MID_SUN): New definition.
2515 (grub_aout_get_type) [GRUB_UTIL]: Removed.
2516 (grub_aout_load) [GRUB_UTIL]: Likewise.
2517 * include/grub/kernel.h (grub_modules_get_end): New proto.
2518 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
2519 (SCRATCH_PAD_BOOT): New definition.
2520 (SCRATCH_PAD_DISKBOOT): Likewise.
2521 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
2522 * include/grub/sparc64/ieee1275/ieee1275.h
2523 (grub_ieee1275_original_stack): New variable
2524 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
2525 New definition
2526 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
2527 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
2528 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
2529 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
2530 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
2531 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
2532 (grub_platform_image_format_t): New type.
2533 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
2534 * kern/main.c (grub_modules_get_end)
2535 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
2536 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
2537 (codestart): Switch stacks.
2538 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
2539 variable.
2540 (grub_heap_init): Use grub_modules_get_end.
2541 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
2542 stack.
2543 * util/grub-mkrawimage.c (generate_image): Support sparc64.
2544 (main): Likewise.
2545 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
2546
2547 2010-03-14 Thorsten Glaser <tg@mirbsd.org>
2548
2549 * util/grub-mkrescue.in: Base ISO UUID on UTC.
2550
2551 2010-03-08 Matt Kraai <kraai@ftbfs.org>
2552
2553 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
2554 bug #559005).
2555
2556 2010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
2557
2558 * genmoddep.awk: Output all missing symbols and not only first.
2559
2560 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2561
2562 * NEWS: Put the date of 1.98 release.
2563
2564 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2565
2566 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
2567 ft2build.h.
2568
2569 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2570
2571 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
2572 completition in the middle of string.
2573
2574 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2575
2576 * util/grub-mkrescue.in: Use mktemp with explicit template.
2577
2578 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2579
2580 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
2581
2582 2010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
2583
2584 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
2585 right pointer.
2586
2587 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2588
2589 Fix FreeBSD compilation.
2590
2591 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
2592 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
2593
2594 2010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
2595
2596 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
2597
2598 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2599
2600 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
2601
2602 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2603
2604 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
2605
2606 2010-03-04 Robert Millan <rmh.grub@aybabtu.com>
2607
2608 Support relative image path in theme file.
2609
2610 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
2611 (image_set_property): Handle theme_dir and relative path.
2612
2613 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2614
2615 * configure.ac: Alias amd64 to x86_64.
2616
2617 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2618
2619 * NEWS: mention multiboot on EFI.
2620
2621 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2622
2623 * kern/main.c (grub_load_modules): Handle errors from init functions of
2624 embeded modules.
2625
2626 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2627
2628 * normal/autofs.c (autoload_fs_module): Handle errors.
2629
2630 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2631
2632 Disable linux.mod on qemu-mips since it's not functional and leads
2633 to compilation failure.
2634
2635 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
2636 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
2637 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
2638 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
2639 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
2640 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
2641 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
2642 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
2643 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
2644 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
2645 Reported by: BVK Chaitanya
2646
2647 2010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
2648
2649 * INSTALL: Add gettext as a dependency and add qemu to a new section
2650 "Prerequisites for make-check".
2651
2652 2010-03-04 Christian Franke <franke@computer.org>
2653
2654 * util/grub-pe2elf.c: Add missing include "progname.h".
2655
2656 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2657
2658 * normal/crypto.c (read_crypto_list): Fix a typo.
2659 Reported by: Seth Goldberg.
2660
2661 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2662
2663 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
2664 Reported by: Seth Goldberg.
2665
2666 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2667
2668 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
2669 ascii.bitmaps.
2670
2671 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2672
2673 * genmk.rb: Remove terminal*.lst in make clean.
2674 Reported by: Seth Goldberg.
2675
2676 2010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
2677
2678 * util/i386/efi/grub-install.in: Copy gettext files.
2679
2680 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2681
2682 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
2683
2684 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2685
2686 Wait for user entry basing on presence of output rather than on errors.
2687
2688 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
2689 (grub_install_newline_hook): Likewise.
2690 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
2691 * normal/menu.c (show_menu): Check line_counter to determine presence
2692 of output.
2693 * normal/term.c (grub_normal_line_counter): New variable.
2694 (grub_normal_get_line_counter): New function.
2695 (grub_install_newline_hook): Likewise.
2696
2697 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2698
2699 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
2700
2701 2010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
2702
2703 * configure.ac: Update version to 1.98.
2704
2705 2010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
2706
2707 * util/grub.d/10_linux.in (linux_entry): Don't default to
2708 gfxpayload=keep if Linux doesn't support video handover.
2709
2710 2010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
2711
2712 Don't compile video modules on yeeloong since video subsystem is part
2713 of kernel.
2714
2715 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
2716 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
2717 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
2718 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
2719 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
2720 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
2721 * include/grub/bitmap_scale.h: Likewise.
2722 * include/grub/bufio.h: Likewise.
2723 * include/grub/font.h: Likewise.
2724 * include/grub/gfxterm.h: Likewise.
2725 * include/grub/video.h: Likewise.
2726 * include/grub/vbe.h: Don't include video_fb.h.
2727 * video/i386/pc/vbe.c: Include video_fb.h.
2728 * commands/i386/pc/vbetest.c: Include video.h.
2729
2730 2010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
2731
2732 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
2733 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
2734 default entry if GRUB_SAVEDEFAULT=true. This allows using
2735 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
2736 saving a new default on every boot.
2737
2738 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2739
2740 * normal/crypto.c (read_crypto_list): Fix a memory leak.
2741 * normal/term.c (read_terminal_list): Likewise.
2742 * normal/main.c (grub_normal_init_page): Likewise.
2743 (grub_normal_read_line_real): Likewise.
2744
2745 2010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
2746
2747 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
2748 memory leak.
2749 Reported by: Seth Goldberg.
2750
2751 2010-02-24 Joey Korkames <joey+lists@kidfixit.com>
2752
2753 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
2754 duplicate declaration of `start'.
2755
2756 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
2757
2758 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
2759 filename.
2760 Reported by: Georgy Buranov
2761
2762 2010-02-20 Carles Pina i Estany <carles@pina.cat>
2763
2764 * util/grub-mkrawimage.c (usage): Change string formatting to
2765 improve gettext.
2766
2767 2010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
2768
2769 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
2770 backspace keys.
2771
2772 2010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
2773
2774 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
2775 Reported by: Michael Suchanek.
2776
2777 2010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
2778
2779 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
2780 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
2781
2782 2010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
2783
2784 Remove any reference to non-free fonts.
2785
2786 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
2787 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
2788 uses non-free components.
2789 * font/font.c (grub_font_get_name): Remove example name.
2790 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
2791 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
2792 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
2793 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
2794
2795 2010-02-16 Georgy Buranov <gburanov@gmail.com>
2796
2797 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
2798
2799 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
2800
2801 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
2802 Double divisor.
2803 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
2804 features.
2805 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
2806
2807 2010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
2808
2809 * gensymlist.sh.in: Use TARGET_CC instead of CC.
2810
2811 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
2812
2813 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
2814 * docs/grub.texi (Command-line and menu entry commands): Document play
2815 command.
2816
2817 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
2818
2819 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
2820 parse arguments as inline tempo and notes. Move code for playing notes
2821 to...
2822 (play): ... new function.
2823
2824 2010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
2825
2826 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
2827 grub_uint16_t instead of short.
2828 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
2829 disk from little endian to cpu endianness.
2830
2831 2010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
2832
2833 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
2834 GRUB_TICKS_PER_SECOND instead of 120.
2835
2836 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
2837
2838 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
2839 escape sequence after \e.
2840
2841 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
2842
2843 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
2844 non-ASCII characters.
2845
2846 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
2847
2848 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
2849 set root in single quotes to prevent \, from being unescaped.
2850
2851 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
2852
2853 Prevent unknown commands from stopping menuentry execution.
2854
2855 * script/execute.c (grub_script_execute_cmdline): Print error after
2856 unknown command.
2857
2858 2010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
2859
2860 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
2861 Reported by: Pavel Pisa.
2862
2863 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2864
2865 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
2866
2867 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2868
2869 Merge grub_ieee1275_map_physical into grub_map and rename to
2870 grub_ieee1275_map
2871
2872 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
2873 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
2874 Remove.
2875 * kern/ieee1275/openfw.c (grub_map): Rename to ...
2876 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
2877 necessary.
2878 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
2879
2880 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2881
2882 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
2883 opening and not after.
2884
2885 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2886
2887 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
2888 constants.
2889
2890 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2891
2892 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
2893 (alloc_phys): Use ALIGN_UP instead of align_addr.
2894
2895 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2896
2897 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
2898
2899 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2900
2901 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
2902
2903 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2904
2905 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
2906 verbose dprintf.
2907
2908 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2909
2910 Fix over-4GiB seek on sparc64.
2911
2912 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
2913 Replace pos_i and pos_lo with pos. All users updated.
2914 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
2915 New constant.
2916 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
2917 Likewise.
2918 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
2919 and pos_lo.
2920
2921 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2922
2923 * util/grub-mkrawimage.c (main): Call set_program_name.
2924
2925 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2926
2927 Properly align 64-bit targets.
2928
2929 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
2930 (generate_image): Use ALIGN_ADDR.
2931
2932 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2933
2934 Properly create cross-endian images.
2935
2936 * include/grub/types.h (grub_host_to_target_addr): New macro
2937 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
2938
2939 2010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
2940
2941 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
2942
2943 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2944
2945 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
2946
2947 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
2948 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
2949 (grub_linux_boot): Divide by 64K when on VESA.
2950
2951 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2952
2953 Support GRUB_GFXPAYLOAD_LINUX.
2954
2955 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
2956 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
2957
2958 2010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
2959
2960 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
2961 to show messages instead of discarding them.
2962 Process errors after executing command and not before. Keep old method
2963 too as precaution.
2964
2965 2010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
2966
2967 * configure.ac: Check for ft2build.h.
2968
2969 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2970
2971 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
2972
2973 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2974
2975 * genkernsyms.sh.in: Use TARGET_CC.
2976
2977 2010-02-07 Colin Watson <cjwatson@ubuntu.com>
2978
2979 * NEWS: Update.
2980
2981 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2982
2983 * include/grub/multiboot2.h: Remove leftover file.
2984 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
2985 * include/grub/partition.h [GRUB_UTIL]: Likewise.
2986
2987 2010-02-07 Yves Blusseau <blusseau@zetam.org>
2988
2989 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
2990
2991 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
2992
2993 Fix warnings in grub-emu when compiling with maximum warning options.
2994
2995 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
2996 (grub_arch_modules_addr): Return 0 and not NULL.
2997 * util/misc.c (ENABLE_RELOCATABLE): New definition.
2998 (xstrdup): Use newstr instead of dup.
2999 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
3000 of disk to dsk to avoid shadowing.
3001 (find_free_slot): Fix prototype.
3002 * util/getroot.c (grub_util_is_dmraid): Make static.
3003 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
3004 Add missing prototype.
3005 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
3006
3007 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3008
3009 * loader/i386/linux.c (grub_linux_setup_video): Handle error
3010 appropriately.
3011
3012 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3013
3014 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
3015 code out.
3016
3017 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3018
3019 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
3020 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
3021 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
3022 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
3023 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
3024 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
3025
3026 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3027
3028 * include/grub/err.h (grub_err_printf): Don't export.
3029
3030 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3031
3032 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
3033
3034 2010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
3035
3036 * include/grub/i18n.h (grub_gettext_dummy): Removed.
3037 * kern/misc.c (grub_gettext_dummy): Make static.
3038
3039 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3040
3041 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
3042 by non-valid ones.
3043 * kern/term.c (grub_putchar): Likewise.
3044
3045 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3046
3047 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
3048 buggy hook call and memory leak.
3049
3050 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3051
3052 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
3053
3054 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3055
3056 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
3057
3058 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3059
3060 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
3061 modevar.
3062 Return grub_errno on allocation error.
3063
3064 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3065
3066 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
3067
3068 2010-02-06 Yves Blusseau <blusseau@zetam.org>
3069
3070 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
3071 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
3072
3073 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3074
3075 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
3076 non-pxe disk.
3077 (grub_pxefs_open): Likewise.
3078
3079 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
3080
3081 * util/grub.d/10_hurd.in: Add --class information to menuentries.
3082 * util/grub.d/10_kfreebsd.in: Likewise.
3083 * util/grub.d/10_linux.in: Likewise.
3084
3085 2010-02-06 Colin D Bennett <colin@gibibit.com>
3086
3087 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
3088 (gfxmenu_mod_SOURCES): New variable.
3089 (gfxmenu_mod_CFLAGS): Likewise.
3090 (gfxmenu_mod_LDFLAGS): Likewise.
3091 * include/grub/term.h (grub_term_set_current_output): Declare
3092 argument as const.
3093 * docs/gfxmenu-theme-example.txt: New file.
3094 * gfxmenu/gfxmenu.c: Likewise.
3095 * gfxmenu/gui_box.c: Likewise.
3096 * gfxmenu/gui_canvas.c: Likewise.
3097 * gfxmenu/gui_circular_progress.c: Likewise.
3098 * gfxmenu/gui_image.c: Likewise.
3099 * gfxmenu/gui_label.c: Likewise.
3100 * gfxmenu/gui_list.c: Likewise.
3101 * gfxmenu/gui_progress_bar.c: Likewise.
3102 * gfxmenu/gui_string_util.c: Likewise.
3103 * gfxmenu/gui_util.c: Likewise.
3104 * gfxmenu/icon_manager.c: Likewise.
3105 * gfxmenu/model.c: Likewise.
3106 * gfxmenu/named_colors.c: Likewise.
3107 * gfxmenu/theme_loader.c: Likewise.
3108 * gfxmenu/view.c: Likewise.
3109 * gfxmenu/widget-box.c: Likewise.
3110 * include/grub/gfxmenu_model.h: Likewise.
3111 * include/grub/gfxmenu_view.h: Likewise.
3112 * include/grub/gfxwidgets.h: Likewise.
3113 * include/grub/gui.h: Likewise.
3114 * include/grub/gui_string_util.h: Likewise.
3115 * include/grub/icon_manager.h: Likewise.
3116
3117 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3118
3119 Agglomerate scrolling in gfxterm.
3120
3121 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
3122 (grub_virtual_screen_setup): Initialise 'total_screen'.
3123 (write_char): Split to ...
3124 (paint_char): ... this ...
3125 (write_char): ... and this.
3126 (paint_char): Handle delayed scrolling.
3127 (draw_cursor): Likewise.
3128 (scroll_up): Split to ...
3129 (real_scroll): ... this ...
3130 (scroll_up): ... and this.
3131 (real_scroll): Handle multi-line scroll and draw below-the-bottom
3132 characters.
3133 (grub_gfxterm_refresh): Call real_scroll.
3134
3135 2010-02-06 Colin D Bennett <colin@gibibit.com>
3136
3137 * include/grub/misc.h (grub_iscntrl): New inline function.
3138 (grub_isalnum): Likewise.
3139 (grub_strtol): Likewise.
3140
3141 2010-02-06 Colin D Bennett <colin@gibibit.com>
3142
3143 * normal/menu_text.c (get_entry_number): Move from here ...
3144 * normal/menu.c (get_entry_number): ... moved here.
3145 * include/grub/menu.h (grub_menu_get_default_entry_index):
3146 New prototype.
3147 * normal/menu.c (grub_menu_get_default_entry_index): New function.
3148 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
3149 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
3150 (grub_menu_viewer_should_return): Likewise.
3151 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
3152 * normal/menu_text.c (run_menu): Enable menu switching.
3153 * normal/menu_viewer.c (should_return): New variable.
3154 (menu_viewer_changed): Likewise.
3155 (grub_menu_viewer_show_menu): Handle menu viewer changes.
3156 (grub_menu_viewer_should_return): New function.
3157 (menuviewer_write_hook): Likewise.
3158 (grub_menu_viewer_init): Likewise.
3159
3160 2010-02-06 Colin D Bennet <colin@gibibit.com>
3161 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3162
3163 Support for gfxterm in a window.
3164
3165 * include/grub/gfxterm.h: New file.
3166 * include/grub/video.h (struct grub_video_rect): New declaration.
3167 (grub_video_rect_t): Likewise.
3168 * term/gfxterm.c (struct grub_gfxterm_window): New type.
3169 (refcount): New variable.
3170 (render_target): Likewise.
3171 (window): Likewise.
3172 (repaint_callback): Likewise.
3173 (grub_virtual_screen_setup): Use 'render_target'.
3174 (init_window): New function.
3175 (grub_gfxterm_init_window): Likewise.
3176 (grub_gfxterm_init): Check reference counter.
3177 Use init_window.
3178 (destroy_window): New function.
3179 (grub_gfxterm_destroy_window): Likewise.
3180 (grub_gfxterm_fini): Check reference counter.
3181 Use destroy_window.
3182 (redraw_screen_rect): Restore viewport.
3183 Use 'render_target' and 'window'.
3184 Call 'repaint_callback'.
3185 (write_char): Use 'render_target'.
3186 (draw_cursor): Likewise.
3187 (scroll_up): Restore viewport.
3188 Use 'render_target' and 'window'.
3189 Call 'repaint_callback'.
3190 (grub_gfxterm_cls): Likewise.
3191 (grub_gfxterm_refresh): Use 'window'.
3192 (grub_gfxterm_set_repaint_callback): New function.
3193 (grub_gfxterm_background_image_cmd): Use 'window'.
3194 (grub_gfxterm_get_term): New function.
3195 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
3196
3197 2010-02-06 Colin D Bennett <colin@gibibit.com>
3198
3199 Bitmap scaling support.
3200
3201 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
3202 (bitmap_scale_mod_SOURCES): New variable.
3203 (bitmap_scale_mod_CFLAGS): Likewise.
3204 (bitmap_scale_mod_LDFLAGS): Likewise.
3205 * include/grub/bitmap_scale.h: New file.
3206 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
3207 (background_image_cmd_options): New variable.
3208 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
3209 (cmd): Rename and change type to ...
3210 (background_image_cmd_handle): ... this. All users updated.
3211 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
3212 * video/bitmap_scale.c: New file.
3213
3214 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3215
3216 SDL support.
3217
3218 * Makefile.in (LIBSDL): New variable.
3219 (enable_grub_emu_sdl): Likewise.
3220 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
3221 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
3222 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
3223 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
3224 * util/sdl.c: New file.
3225
3226 2010-02-06 Colin D Bennett <colin@gibibit.com>
3227 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3228
3229 Double buffering support.
3230
3231 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
3232 * include/grub/video.h: Update comment.
3233 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
3234 New type.
3235 (grub_video_fb_doublebuf_blit_init): New prototype.
3236 * term/gfxterm.c (scroll_up): Support double buffering.
3237 (grub_gfxterm_refresh): Likewise.
3238 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
3239 (grub_video_fb_doublebuf_blit_init): Likewise.
3240 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
3241 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
3242 'displayed_page', 'render_page' and 'update_screen'.
3243 (grub_video_vbe_fini): Free offscreen buffer.
3244 (doublebuf_pageflipping_commit): New function.
3245 (doublebuf_pageflipping_update_screen): Likewise.
3246 (doublebuf_pageflipping_init): Likewise.
3247 (double_buffering_init): Likewise.
3248 (grub_video_vbe_setup): Enable doublebuffering.
3249 (grub_video_vbe_swap_buffers): Implement.
3250 (grub_video_vbe_set_active_render_target): Handle double buffering.
3251 (grub_video_vbe_get_active_render_target): Likewise.
3252 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
3253 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
3254 (grub_video_vbe_enable_double_buffering): Likewise.
3255 (grub_video_vbe_swap_buffers): Use update_screen.
3256 (grub_video_set_mode): Use double buffering.
3257
3258 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
3259
3260 * maintainance/gentrigtables.py: Remove.
3261 * lib/trig.c: Likewise.
3262
3263 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
3264
3265 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
3266 `trigtables.c'.
3267 (trigtables.c): New rule.
3268 (gentrigtables): Likewise.
3269 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
3270
3271 2010-02-06 Robert Millan <rmh.grub@aybabtu.com>
3272
3273 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
3274 integer constants.
3275
3276 2010-02-06 Colin D Bennet <colin@gibibit.com>
3277
3278 Trigonometry support.
3279
3280 * include/grub/trig.h: New file.
3281 * lib/trig.c: Likewise.
3282 * maintainance/gentrigtables.py: Likewise.
3283 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
3284 (trig_mod_SOURCES): New variable.
3285 (trig_mod_CFLAGS): Likewise.
3286 (trig_mod_LDFLAGS): Likewise.
3287
3288 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3289
3290 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
3291 disk devices.
3292
3293 2010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
3294
3295 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
3296 error.
3297
3298 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3299
3300 * util/hostdisk.c (open_device): Don't use partition device when reading
3301 before the partition.
3302 (grub_util_biosdisk_read): Don't read from partition and before the
3303 partition in single operation.
3304 (grub_util_biosdisk_write): Don't write to partition and before the
3305 partition in single operation.
3306
3307 2010-02-03 Torsten Landschoff <torsten@debian.org>
3308
3309 * kern/disk.c (grub_disk_read): Fix offset computation when reading
3310 last sectors.
3311
3312 2010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
3313
3314 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
3315 CDROM reads.
3316 (grub_biosdisk_write): Refuse to write to CDROM.
3317
3318 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3319
3320 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
3321
3322 2010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
3323
3324 * font/font.c (find_glyph): Check that bmp_idx is available before
3325 using it.
3326 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
3327 with (font == NULL).
3328
3329 2010-01-28 Christian Schmitt <chris@ilovelinux.de>
3330
3331 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
3332
3333 2010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
3334
3335 * include/grub/script_sh.h (sourcecode): Add const qualifier.
3336 * util/grub-script-check.c (getline): Fix empty lines case.
3337
3338 2010-01-28 Robert Millan <rmh.grub@aybabtu.com>
3339
3340 * Makefile.in (check): Exit with fail status when one of the tests
3341 fails.
3342 * tests/example_functional_test.c (example_test): Fix reversed assert.
3343 * tests/example_unit_test.c (example_test): Likewise.
3344
3345 2010-01-28 Colin Watson <cjwatson@ubuntu.com>
3346
3347 * util/grub.d/10_linux.in: This script does not use any of the
3348 contents of gettext.sh, only the external command `gettext', so stop
3349 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
3350 the same prefix as GRUB.)
3351 * util/grub.d/10_kfreebsd.in: Likewise.
3352
3353 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3354
3355 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
3356 of the line.
3357
3358 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3359
3360 * kern/disk.c (grub_disk_read): Fix offset computation when reading
3361 last sectors.
3362
3363 2010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
3364
3365 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
3366 having a 4KiB and not 32KiB buffer size.
3367
3368 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
3369
3370 * util/hostfs.c: Include `<errno.h>'.
3371 (grub_hostfs_read): Handle errors from fseeko() and fread().
3372
3373 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
3374
3375 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
3376 loop when using read hooks on files whose size isn't sector-aligned.
3377
3378 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
3379
3380 Remove unused parameter.
3381
3382 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
3383 (grub_iso9660_open): Remove initialization of `data->length'.
3384
3385 2010-01-27 Robert Millan <rmh.grub@aybabtu.com>
3386
3387 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
3388 memleak conditions.
3389
3390 2010-01-27 Carles Pina i Estany <carles@pina.cat>
3391
3392 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
3393 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
3394
3395 2010-01-26 Carles Pina i Estany <carles@pina.cat>
3396
3397 * util/bin2h.c (usage): Fix warning (space after backslash).
3398
3399 2010-01-26 Carles Pina i Estany <carles@pina.cat>
3400
3401 * font/font.c: Include `grub/fontformat.h.
3402 Remove font file format constants.
3403 (grub_font_load): Use the new macros.
3404 * include/grub/fontformat.h: New file.
3405 * util/grub-mkfont.c: Include `grub/fontformat.c'.
3406 (write_font_pf2): Use the new macros.
3407
3408 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
3409
3410 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
3411 does.
3412
3413 2010-01-26 Robert Millan <rmh.grub@aybabtu.com>
3414
3415 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
3416
3417 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
3418 (_start): Macroify `0x7F'.
3419
3420 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
3421 (make_install_device): Use "(pxe)" as fallback prefix when booting
3422 via PXE.
3423
3424 2010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
3425
3426 * configure.ac: Reset LIBS after check for libgcc symbols.
3427
3428 2010-01-25 Colin Watson <cjwatson@ubuntu.com>
3429
3430 * util/hostdisk.c (open_device): Add trailing newline to debug
3431 message.
3432
3433 2010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
3434
3435 * configure.ac: Check for `limits.h'.
3436 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
3437
3438 2010-01-24 Robert Millan <rmh.grub@aybabtu.com>
3439
3440 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
3441 capitalize error strings.
3442
3443 2010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
3444
3445 * util/grub.d/10_hurd.in: Add a recovery mode.
3446
3447 2010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
3448
3449 * configure.ac: Check for libgcc symbols with -nostdlib.
3450
3451 2010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
3452
3453 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
3454
3455 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3456
3457 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
3458 stack since heap may be unavailable at that point.
3459 (grub_ofconsole_gotoxy): Likewise.
3460
3461 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3462
3463 * configure.ac: Check for _restgpr_14_x.
3464 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
3465 and _savegpr_* prototypes.
3466
3467 2010-01-22 Robert Millan <rmh.grub@aybabtu.com>
3468
3469 Use generic grub_reboot() for i386-efi.
3470
3471 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
3472 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
3473 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
3474
3475 2010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
3476
3477 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
3478 presence of "prefix" variable as it breaks when normal.mod is
3479 embedded.
3480
3481 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3482
3483 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
3484 stack since heap is unavailable at that point.
3485
3486 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3487
3488 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
3489 (grub_freebsd_bootinfo): Rewritten.
3490 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
3491
3492 2010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
3493
3494 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
3495
3496 2010-01-21 Robert Millan <rmh.grub@aybabtu.com>
3497
3498 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
3499 domain now.
3500
3501 2010-01-20 Felix Zielcke <fzielcke@z-51.de>
3502
3503 * util/misc.c (make_system_path_relative_to_its_root): Change the work
3504 around for handling "/" to the correct fix. Fix a memory leak. Use
3505 xstrdup instead of strdup.
3506
3507 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3508
3509 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
3510
3511 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3512
3513 Optimise glyph lookup by Basic Multilingual Plane lookup array.
3514
3515 * font/font.c (struct grub_font): New member 'bmp_idx'.
3516 (font_init): Initialise 'bmp_idx'.
3517 (load_font_index): Fill 'bmp_idx'.
3518 (find_glyph): Make inline. Use bmp_idx for BMP characters.
3519
3520 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3521
3522 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
3523 unnecessary calls.
3524
3525 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3526
3527 Move context handling out of the kernel.
3528
3529 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
3530 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
3531 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
3532 * conf/i386-efi.rmk: Likewise.
3533 * conf/i386-ieee1275.rmk: Likewise.
3534 * conf/i386-pc.rmk: Likewise.
3535 * conf/powerpc-ieee1275.rmk: Likewise.
3536 * conf/sparc64-ieee1275.rmk: Likewise.
3537 * conf/x86_64-efi.rmk: Likewise.
3538 * include/grub/env.h: Include grub/menu.h.
3539 (grub_env_var_type): Removed.
3540 (grub_env_var): Replaced field 'type' with 'global'.
3541 (grub_env_find): New prototype.
3542 (grub_env_context_open): Remove EXPORT_FUNC.
3543 (grub_env_context_close): Likewise.
3544 (grub_env_export): Likewise.
3545 (grub_env_set_data_slot): Removed.
3546 (grub_env_get_data_slot): Likewise.
3547 (grub_env_unset_data_slot): Likewise.
3548 (grub_env_unset_menu): New prototype.
3549 (grub_env_set_menu): Likewise.
3550 (grub_env_get_menu): Likewise.
3551 * include/grub/env_private.h: New file.
3552 * include/grub/normal.h (grub_context_init): New prototype.
3553 (grub_context_fini): Likewise.
3554 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
3555 * normal/context.c (grub_cmd_export): ... to here.
3556 * kern/env.c: Include env_private.h.
3557 (HASHSZ): Moved to include/grub/env_private.h.
3558 (grub_env_context): Likewise.
3559 (grub_env_sorted_var): Likewise.
3560 (current_context): Renamed from this ...
3561 (grub_current_context): ...to this. 'static' removed. All users updated.
3562 (grub_env_find): Removed 'static'.
3563 (grub_env_context_open): Moved to normal/context.c.
3564 (grub_env_context_close): Likewise.
3565 (grub_env_export): Likewise.
3566 (mangle_data_slot_name): Removed.
3567 (grub_env_set_data_slot): Likewise.
3568 (grub_env_get_data_slot): Likewise.
3569 (grub_env_unset_data_slot): Likewise.
3570 * kern/main.c (grub_set_root_dev): Don't export root.
3571 It will be done later.
3572 (grub_main): Don't export prefix.
3573 It will be done later.
3574 * normal/context.c: New file.
3575 * normal/main.c (free_menu): Use grub_env_unset_menu.
3576 (grub_normal_add_menu_entry): Use grub_env_get_menu.
3577 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
3578 (GRUB_MOD_INIT(normal)): Call grub_context_init.
3579 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
3580
3581 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3582
3583 setpci support.
3584
3585 * commands/setpci.c: New file.
3586 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
3587 (setpci_mod_SOURCES): New variable.
3588 (setpci_mod_CFLAGS): Likewise.
3589 (setpci_mod_LDFLAGS): Likewise.
3590
3591 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3592
3593 Byte-addressable PCI configuration space.
3594
3595 * bus/pci.c (grub_pci_make_address): Use byte address instead of
3596 dword address.
3597 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
3598 GRUB_PCI_REG_CACHELINE.
3599 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
3600 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
3601 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
3602 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
3603 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
3604 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
3605 grub_pci_make_address.
3606 (lock_rom_area): Likewise.
3607 * commands/lspci.c (grub_lspci_iter): Use macroses
3608 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
3609 of grub_pci_make_address.
3610 * disk/ata.c (grub_ata_pciinit): Likewise.
3611 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
3612 (GRUB_PCI_REG_VENDOR): Likewise.
3613 (GRUB_PCI_REG_DEVICE): Likewise.
3614 (GRUB_PCI_REG_COMMAND): Likewise.
3615 (GRUB_PCI_REG_STATUS): Likewise.
3616 (GRUB_PCI_REG_REVISION): Likewise.
3617 (GRUB_PCI_REG_CLASS): Likewise.
3618 (GRUB_PCI_REG_CACHELINE): Likewise.
3619 (GRUB_PCI_REG_LAT_TIMER): Likewise.
3620 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
3621 (GRUB_PCI_REG_BIST): Likewise.
3622 (GRUB_PCI_REG_ADDRESSES): Likewise.
3623 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
3624 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
3625 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
3626 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
3627 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
3628 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
3629 (GRUB_PCI_REG_CIS_POINTER): Likewise.
3630 (GRUB_PCI_REG_SUBVENDOR): Likewise.
3631 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
3632 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
3633 (GRUB_PCI_REG_CAP_POINTER): Likewise.
3634 (GRUB_PCI_REG_IRQ_LINE): Likewise.
3635 (GRUB_PCI_REG_IRQ_PIN): Likewise.
3636 (GRUB_PCI_REG_MIN_GNT): Likewise.
3637 (GRUB_PCI_REG_MAX_LAT): Likewise.
3638 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
3639 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
3640 * video/efi_uga.c (find_framebuf): Likewise.
3641 * video/sm712.c (grub_video_sm712_setup): Likewise.
3642 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
3643 space.
3644
3645 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
3646
3647 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
3648 can be reliably determined to be supported.
3649
3650 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
3651
3652 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
3653 that VESA is supported.
3654 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
3655 supported.
3656
3657 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3658
3659 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
3660
3661 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
3662
3663 * util/misc.c (make_system_path_relative_to_its_root): Work around
3664 special-casing of "/", as previous incarnation of this routine did.
3665
3666 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3667
3668 Fix any-emu compilation.
3669
3670 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
3671 * grub_bin2h_SOURCES: New variable.
3672
3673 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
3674
3675 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
3676
3677 2010-01-20 Robert Millan <rmh.grub@aybabtu.com>
3678
3679 * util/grub.d/00_header.in: Fix handling of locale_dir.
3680
3681 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3682
3683 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
3684 as possible unifont location (Gentoo).
3685 Reported by: Alexander Brüning
3686
3687 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3688
3689 Don't try to generate lists for kernel.img.
3690
3691 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
3692 (pkglib_MODULES): Remove kernel.img.
3693 (kernel_img_EXPORTS): Removed.
3694 (kernel_img_RELOCATABLE): New variable.
3695 * conf/x86_64-efi.rmk: Likewise.
3696 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
3697
3698 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3699
3700 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
3701 grub_xasprintf or grub_snprintf.
3702 (grub_vsprintf): Likewise.
3703 (grub_snprintf): New proto.
3704 (grub_vsnprintf): Likewise.
3705 (grub_xasprintf): Likewise.
3706 (grub_xvasprintf): Likewise.
3707 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
3708 (grub_sprintf): Removed.
3709 (grub_vsnprintf): New function.
3710 (grub_snprintf): Likewise.
3711 (grub_xvasprintf): Likewise.
3712 (grub_xasprintf): Likewise.
3713 (grub_vsprintf): Renamed to ...
3714 (grub_vsnprintf_real): ...this. New argument max_len.
3715
3716 2010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
3717
3718 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
3719 fix grub-script-check warning.
3720
3721 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3722
3723 * include/grub/font.h (grub_font_load): Fix prototype.
3724
3725 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3726
3727 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
3728
3729 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3730
3731 * include/grub/x86_64/at_keyboard.h: New file.
3732
3733 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3734
3735 * loader/mips/linux.c: Include missing grub/i18n.h.
3736
3737 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
3738
3739 * normal/menu.c (notify_execution_failure): Clarify error message.
3740
3741 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
3742
3743 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
3744 return value (and revert all return statements). Update users.
3745
3746 2010-01-20 Dan Merillat <debian@dan.merillat.org>
3747
3748 * kern/device.c (grub_device_iterate): Allocate new part_ent
3749 structure based on sizeof (*p) rather than sizeof (p->next), to
3750 account for structure padding.
3751
3752 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
3753 disk is NULL, which might happen for LVM physical volumes with no
3754 LVM signature.
3755
3756 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
3757
3758 * loader/mips/linux.c (grub_cmd_initrd)
3759 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
3760
3761 2009-12-20 Robert Millan <rmh.grub@aybabtu.com>
3762
3763 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
3764 (grub_video_video_init, grub_video_bitmap_init)
3765 (grub_font_manager_init, grub_term_gfxterm_init)
3766 (grub_at_keyboard_init): New extern declarations.
3767 (grub_machine_init): Initialize gfxterm and at_keyboard.
3768
3769 * kern/main.c (grub_main): Revert grub_printf delay kludge.
3770
3771 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
3772 `gfxterm.mod' into core image.
3773
3774 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
3775 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
3776 (kernel_img_FORMAT): Copy to ...
3777
3778 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
3779 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
3780 (kernel_img_FORMAT): ... here, and ...
3781
3782 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
3783 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
3784 (kernel_img_FORMAT): ... here.
3785
3786 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
3787 and input (at_keyboard) terminals in kernel.
3788 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
3789
3790 (pkglib_MODULES): Remove `pci.mod'.
3791 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
3792 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
3793 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
3794 (at_keyboard_mod_LDFLAGS): Remove variables.
3795
3796 2010-01-11 Felix Zielcke <fzielcke@z-51.de>
3797
3798 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
3799
3800 2009-12-10 Robert Millan <rmh.grub@aybabtu.com>
3801
3802 * include/grub/mips/libgcc.h: Only export symbols for functions
3803 that libgcc provides.
3804
3805 2009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
3806
3807 MIPS support.
3808
3809 * bus/bonito.c: New file.
3810 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
3811 GRUB_PCI_NUM_DEVICES.
3812 * term/i386/pc/serial.c: Move to ...
3813 * term/serial.c: ... here. All users updated.
3814 * util/i386/pc/grub-mkimage.c: Move to ...
3815 * util/grub-mkrawimage.c: ... here. All users updated.
3816 * term/i386/pc/at_keyboard.c: Move to ...
3817 * term/at_keyboard.c: ... here. All users updated.
3818 * conf/mips-qemu-mips.rmk: New file.
3819 * conf/mips-yeeloong.rmk: Likewise.
3820 * conf/mips.rmk: Likewise.
3821 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
3822 mipsel-qemu-mips.
3823 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
3824 to port addresses.
3825 (grub_ata_pciinit): Support CS5536.
3826 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
3827 * font/font_cmd.c (loadfont_command): Open file before passing it to
3828 grub_font_load.
3829 (pseudo_file_read): New function.
3830 (pseudo_file_close): Likewise.
3831 (pseudo_fs): New structure.
3832 (load_font_module): New function.
3833 (GRUB_MOD_INIT(font_manager)): Load embedded font.
3834 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
3835 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
3836 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
3837 * include/grub/i386/at_keyboard.h: Split into ...
3838 * include/grub/at_keyboard.h: ... this ...
3839 * include/grub/i386/at_keyboard.h: ... and this.
3840 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
3841 New prototype.
3842 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
3843 updated.
3844 (grub_elf64_size): Likewise.
3845 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
3846 filename.
3847 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
3848 * include/grub/i386/coreboot/serial.h: Rewritten.
3849 * include/grub/i386/ieee1275/serial.h: Include
3850 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
3851 * include/grub/i386/pc/serial.h: Moved from here ...
3852 * include/grub/serial.h: ... to here. All users updated.
3853 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
3854 (GRUB_PCI_NUM_BUS): Likewise.
3855 (GRUB_PCI_NUM_DEVICES): Likewise.
3856 (grub_pci_device_map_range): Add missing volatile keyword.
3857 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
3858 * include/grub/mips/at_keyboard.h: New file.
3859 * include/grub/mips/cache.h: Likewise.
3860 * include/grub/mips/io.h: Likewise.
3861 * include/grub/mips/kernel.h: Likewise.
3862 * include/grub/mips/libgcc.h: Likewise.
3863 * include/grub/mips/pci.h: Likewise.
3864 * include/grub/mips/qemu-mips/boot.h: Likewise.
3865 * include/grub/mips/qemu-mips/kernel.h: Likewise.
3866 * include/grub/mips/qemu-mips/loader.h: Likewise.
3867 * include/grub/mips/qemu-mips/memory.h: Likewise.
3868 * include/grub/mips/qemu-mips/serial.h: Likewise.
3869 * include/grub/mips/qemu-mips/time.h: Likewise.
3870 * include/grub/mips/relocator.h: Likewise.
3871 * include/grub/mips/time.h: Likewise.
3872 * include/grub/mips/types.h: Likewise.
3873 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
3874 * include/grub/mips/yeeloong/boot.h: Likewise.
3875 * include/grub/mips/yeeloong/kernel.h: Likewise.
3876 * include/grub/mips/yeeloong/loader.h: Likewise.
3877 * include/grub/mips/yeeloong/memory.h: Likewise.
3878 * include/grub/mips/yeeloong/pci.h: Likewise.
3879 * include/grub/mips/yeeloong/serial.h: Likewise.
3880 * include/grub/mips/yeeloong/time.h: Likewise.
3881 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
3882 * kern/elf.c (grub_elf32_size): New parameter. All users
3883 updated.
3884 (grub_elf64_size): Likewise.
3885 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
3886 Load modules before saying "Welcome to GRUB!".
3887 Call grub_refresh after saying "Welcome to GRUB!".
3888 * kern/mips/cache.S: New file.
3889 * kern/mips/cache_flush.S: Likewise.
3890 * kern/mips/dl.c: Likewise.
3891 * kern/mips/init.c: Likewise.
3892 * kern/mips/qemu-mips/init.c: Likewise.
3893 * kern/mips/startup.S: Likewise.
3894 * kern/mips/yeeloong/init.c: Likewise.
3895 * kern/term.c (grub_putcode): Handle NULL terminal.
3896 (grub_getcharwidth): Likewise.
3897 (grub_getkey): Likewise.
3898 (grub_checkkey): Likewise.
3899 (grub_getkeystatus): Likewise.
3900 (grub_getxy): Likewise.
3901 (grub_getwh): Likewise.
3902 (grub_gotoxy): Likewise.
3903 (grub_cls): Likewise.
3904 (grub_setcolorstate): Likewise.
3905 (grub_setcolor): Likewise.
3906 (grub_getcolor): Likewise.
3907 (grub_refresh): Likewise.
3908 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
3909 (write_jump): Add hatch nop.
3910 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
3911 * lib/mips/setjmp.S: New file.
3912 * loader/mips/linux.c: Likewise.
3913 * term/i386/pc/at_keyboard.c: Move from here ...
3914 * term/at_keyboard.c: ... to here.
3915 * term/i386/pc/serial.c: Moved from here ...
3916 * term/serial.c: ... to here. All users updated.
3917 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
3918 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
3919 (serial_translate_key_sequence): Avoid deadlock.
3920 (grub_serial_getkey): Handle backspace.
3921 (grub_serial_putchar): Fix newline handling.
3922 * util/i386/pc/grub-mkimage.c: Move from here ...
3923 * util/grub-mkrawimage.c: ... to here. All users updated.
3924 (generate_image): New parameters 'font_path' and 'format'.
3925 Support embedding font.
3926 Use grub_host_to_target* instead of grub_cpu_to_le*.
3927 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
3928 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
3929 (options): New option "--font".
3930 (usage): Likewise.
3931 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
3932 (main): Handle "--font".
3933 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
3934 (grub_virtual_screen_setup): Set bg_color_display.
3935 (redraw_screen_rect): Use bg_color_display instead of incorrect
3936 bg_color.
3937 (grub_gfxterm_cls): Likewise.
3938 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
3939 Support embedding config file.
3940 (add_segments): Likewise.
3941 (options): New option "--config".
3942 (main): Handle "--config".
3943 * video/sm712.c: New file.
3944
3945 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
3946
3947 Fix parallel builds.
3948
3949 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
3950 font.c depend on ascii.h).
3951
3952 2010-01-12 Carles Pina i Estany <carles@pina.cat>
3953
3954 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
3955
3956 2010-01-11 Carles Pina i Estany <carles@pina.cat>
3957
3958 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
3959 By default: disabled.
3960 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
3961 parameter.
3962
3963 2010-01-10 Carles Pina i Estany <carles@pina.cat>
3964
3965 * font/font.c: Update copyright years.
3966 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
3967
3968 2010-01-10 Carles Pina i Estany <carles@pina.cat>
3969
3970 * font/font.c: Include `ascii.h'.
3971 (ASCII_BITMAP_SIZE): New macro.
3972 (ascii_font_glyph): Define.
3973 (ascii_glyph_lookup): New function.
3974 (grub_font_get_string_width): Change comment. If glyph not found, use
3975 ascii_glyph_lookup.
3976 (grub_font_get_glyph_with_fallback): If glyph not available returns
3977 ascii_glyph_lookup.
3978 * util/grub-mkfont.c (file_formats): New enum.
3979 (options): Add `ascii-bitmaps' new option.
3980 (usage): Add `asii-bitmaps' new option.
3981 (write_font_ascii_bitmap): New function.
3982 (write_font): Rename to ...
3983 (write_font_p2): ... this. Remove print_glyphs call.
3984 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
3985 used. Call print_glyphs.
3986 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
3987
3988 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
3989
3990 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
3991 (grub_bin2h_SOURCES): New variable.
3992 * util/bin2h.c: New file.
3993
3994 2010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
3995
3996 * include/multiboot.h: Resynced with spec.
3997 * include/multiboot2.h: Likewise.
3998 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
3999 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
4000
4001 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4002
4003 * include/grub/term.h (grub_term_register_input,
4004 grub_term_register_output): Check return of terminal init()
4005 routines, and abort if errors are raised.
4006
4007 * commands/terminal.c: Update copyright year.
4008
4009 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4010
4011 * commands/terminal.c (grub_cmd_terminal_input)
4012 (grub_cmd_terminal_output): Check return of terminal init()
4013 routines, and abort if errors are raised.
4014
4015 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4016
4017 * include/grub/i386/bsd.h: Fix include pathes.
4018
4019 2010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
4020
4021 Add missing *BSD copyright headers.
4022
4023 * include/grub/aout.h: Add BSD licence.
4024 * include/grub/i386/bsd.h: Parts under different licences moved to ...
4025 * include/grub/i386/freebsd_linker.h: ... here,
4026 * include/grub/i386/freebsd_reboot.h: ... here,
4027 * include/grub/i386/netbsd_bootinfo.h: ... here,
4028 * include/grub/i386/netbsd_reboot.h: ... here,
4029 * include/grub/i386/openbsd_bootarg.h: ... here,
4030 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
4031 licence to each file.
4032
4033 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4034
4035 * acinclude.m4: Remove `nop' assembly instruction; it's not
4036 implemented by all architectures.
4037
4038 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4039
4040 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
4041 ELILO. This is no longer necessary.
4042
4043 2010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
4044
4045 Added new tool, grub-scrit-check to verify grub.cfg syntax.
4046
4047 * util/grub-script-check.c: grub-script-check tool.
4048 * conf/common.rmk: Make rules for grub-script-check.
4049
4050 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4051
4052 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
4053 spotting it back in 2008. Shame on me for forgetting he did.
4054
4055 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
4056
4057 2010-01-18 Robert Millan <rmh.grub@aybabtu.com>
4058
4059 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
4060 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
4061 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
4062 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
4063 (GRUB_VIDEO_TYPE_EFI): Rename to ...
4064 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
4065
4066 2010-01-17 Robert Millan <rmh.grub@aybabtu.com>
4067
4068 * include/grub/test.h: Add license header.
4069 * tests/example_functional_test.c: Likewise.
4070 * tests/example_unit_test.c: Likewise.
4071 * tests/lib/functional_test.c: Likewise.
4072 * tests/lib/test.c: Likewise.
4073 * tests/lib/unit_test.c: Likewise.
4074
4075 2010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
4076
4077 Use flag-based instead of hook-based video mode selection and "auto"
4078 keyword.
4079
4080 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
4081 (grub_video_set_mode): Changed prototype. All users updated.
4082 (grub_video_check_mode_flag): New inline function.
4083 * video/video.c (parse_modespec): New function.
4084 (grub_video_set_mode): Parse flags and keywords.
4085
4086 2010-01-17 Carles Pina i Estany <carles@pina.cat>
4087
4088 * util/misc.c (grub_util_info): Fix the order of the parameters in a
4089 fprintf call.
4090
4091 2010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
4092
4093 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
4094
4095 2010-01-16 Carles Pina i Estany <carles@pina.cat>
4096
4097 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
4098 string.
4099 * util/grub-emu.c (usage): Likewise.
4100 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
4101 * util/i386/efi/grub-mkimage.c (usage): Likewise.
4102 * util/i386/pc/grub-mkimage.c (usage): Likewise.
4103 * util/i386/pc/grub-setup.c (usage): Likewise.
4104
4105 2010-01-16 Carles Pina i Estany <carles@pina.cat>
4106
4107 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
4108 the message.
4109 (grub_util_info): Likewise.
4110 (grub_util_error): Likewise.
4111 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
4112 and/or new lines in `grub_util_warna', `grub_util_info',
4113 `grub_util_error' calls.
4114 * util/getroot.c: Likewise.
4115 * util/grub-editenv.c: Likewise.
4116 * util/grub-emu.c: Likewise.
4117 * util/grub-fstest.c: Likewise.
4118 * util/grub-mkdevicemap.c: Likewise.
4119 * util/grub-mkfont.c: Likewise.
4120 * util/grub-mkpasswd-pbkdf2.c: Likewise.
4121 * util/grub-mkrelpath.c: Likewise.
4122 * util/grub-pe2elf.c: Likewise.
4123 * util/grub-probe.c: Likewise.
4124 * util/hostdisk.c: Likewise.
4125 * util/i386/efi/grub-mkimage.c: Likewise.
4126 * util/i386/pc/grub-mkimage.c: Likewise.
4127 * util/i386/pc/grub-setup.c: Likewise.
4128 * util/ieee1275/ofpath.c: Likewise.
4129 * util/mkisofs/eltorito.c: Likewise.
4130 * util/mkisofs/rock.c: Likewise.
4131 * util/mkisofs/write.c: Likewise.
4132 * util/raid.c: Likewise.
4133 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
4134 * util/sparc64/ieee1275/grub-setup.c: Likewise.
4135
4136 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
4137
4138 Enable multiboot on non-pc.
4139
4140 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
4141 multiboot.mod and multiboot2.mod to ...
4142 * conf/i386.rmk (pkglib_MODULES): ... here.
4143 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
4144 Moved to ...
4145 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
4146 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
4147 Moved to ...
4148 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
4149 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
4150 Moved to ...
4151 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
4152 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
4153 Moved to ...
4154 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
4155 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
4156 relocator.mod.
4157 (ata_mod_SOURCES): Removed.
4158 (ata_mod_CFLAGS): Likewise.
4159 (ata_mod_LDFLAGS): Likewise.
4160 (relocator_mod_SOURCES): Removed.
4161 (relocator_mod_CFLAGS): Likewise.
4162 (relocator_mod_ASFLAGS): Likewise.
4163 (relocator_mod_LDFLAGS): Likewise.
4164 Include i386.mk.
4165 * include/grub/x86_64/multiboot.h: New file.
4166 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
4167 Terminate EFI.
4168
4169 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
4170
4171 Video multiboot support.
4172
4173 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
4174 New prototype.
4175 * include/multiboot.h: Resynced with multiboot specification.
4176 * include/multiboot2.h: Likewise.
4177 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
4178 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
4179 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
4180 (HAS_VGA_TEXT): Likewise.
4181 (accepts_video): New variable.
4182 (grub_multiboot_set_accepts_video): New function.
4183 (grub_multiboot_get_mbi_size): Account for video structures.
4184 (set_video_mode): New function.
4185 (retrieve_video_parameters): Likewise.
4186 (grub_multiboot_make_mbi): Fill video fields.
4187
4188 2010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
4189
4190 Video driver ids.
4191
4192 * include/grub/video.h (grub_video_driver_id): New type.
4193 (grub_video_adapter): New member 'id'. All users updated.
4194 (grub_video_get_driver_id): New proto.
4195 * video/video.c (grub_video_get_driver_id): New function.
4196
4197 2010-01-14 Carles Pina i Estany <carles@pina.cat>
4198
4199 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
4200 `var=val'.
4201
4202 2010-01-14 Carles Pina i Estany <carles@pina.cat>
4203
4204 * normal/cmdline.c (print_completion): Gettextizze.
4205
4206 2001-01-14 Carles Pina i Estany <carles@pina.cat>
4207
4208 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
4209
4210 2010-01-14 Carles Pina i Estany <carles@pina.cat>
4211
4212 * gettext/gettext.c (grub_gettext_translate): Push and pop
4213 grub_errno.
4214 (grub_gettext_delete_list): Change comment style.
4215 * kern/err.c (grub_error): Gettextizze.
4216 (grub_fatal): Gettextizze.
4217
4218 2010-01-14 Robert Millan <rmh.grub@aybabtu.com>
4219
4220 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
4221 (grub_linux16_real_boot): ... this.
4222 * kern/i386/loader.S: Likewise.
4223 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
4224 (grub_linux16_boot): New function. Switches to text mode and calls
4225 grub_linux16_real_boot().
4226
4227 * loader/i386/bsd.c: Include `<grub/video.h>'.
4228 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
4229 text mode before calling grub_unix_real_boot().
4230
4231 * loader/i386/multiboot.c: Include `<grub/video.h>'.
4232 (grub_multiboot_boot): Switch to text mode before calling
4233 grub_relocator32_boot().
4234
4235 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
4236 (grub_chainloader_boot): Switch to text mode before calling
4237 grub_chainloader_real_boot().
4238
4239 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
4240 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
4241
4242 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
4243 non-empty value.
4244
4245 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
4246 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
4247
4248 * util/grub.d/00_header.in: Define a "savedefault" function for use
4249 in menu entries.
4250 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
4251
4252 2010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
4253 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
4254
4255 * util/grub-mkconfig_lib.in (save_default_entry): Only set
4256 saved_entry if boot_once is unset.
4257 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
4258 previous saved entry (i.e. grub-reboot).
4259
4260 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
4261
4262 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
4263
4264 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
4265
4266 * util/grub.d/00_header.in: Use `set var=val' rather than plain
4267 `var=val'.
4268 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
4269
4270 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
4271
4272 * util/grub-reboot.in: Fix --version output.
4273 * util/grub-set-default.in: Likewise.
4274
4275 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
4276
4277 * util/grub.d/00_header.in: Silently ignore zero-sized environment
4278 blocks.
4279
4280 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
4281
4282 * util/grub.d/00_header.in: Quote the value assigned to `default',
4283 in case it contains spaces.
4284
4285 2009-12-08 Colin Watson <cjwatson@ubuntu.com>
4286
4287 * util/grub.d/30_os-prober.in: Fix merge error that moved a
4288 `save_default_entry' call from the macosx case to the linux case.
4289
4290 2009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
4291 2009-10-25 Colin Watson <cjwatson@ubuntu.com>
4292
4293 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
4294 in `chosen' environment variable.
4295 * normal/menu_text.c (get_entry_number): Check if the variable
4296 matches the title of a menu entry.
4297 (run_menu): Pass menu to get_entry_number.
4298
4299 * util/grub-reboot.in: New file.
4300 * util/grub-set-default.in: New file.
4301 * conf/common.rmk (grub-reboot): New utility.
4302 (grub-set-default): New utility.
4303
4304 * util/grub-mkconfig_lib.in (save_default_entry): New function.
4305 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
4306 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
4307 move it to `saved_entry' for the next boot. Load environment on
4308 initialisation.
4309 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
4310 * util/grub.d/10_hurd.in: Likewise.
4311 * util/grub.d/10_linux.in (linux_entry): Likewise.
4312 * util/grub.d/10_windows.in: Likewise.
4313 * util/grub.d/30_os-prober.in: Likewise.
4314
4315 * util/grub-install.in: Create environment block.
4316 * util/i386/efi/grub-install.in: Likewise.
4317 * util/ieee1275/grub-install.in: Likewise.
4318 * util/sparc64/ieee1275/grub-install.in: Likewise.
4319
4320 2010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
4321
4322 Unit testing framework for GRUB.
4323
4324 * Makefile.in: Test framework build rules for 'make check'.
4325 * conf/tests.rmk: Build rules for individual tests and framework.
4326
4327 * include/grub/test.h: Header file for whitebox tests.
4328 * tests/lib/functional_test.c: Framework support for whitebox
4329 functional tests.
4330 * tests/lib/test.c: Common whitebox testing code for unit and
4331 functional tests.
4332 * tests/lib/unit_test.c: Framework support for whitebox unit
4333 tests.
4334
4335 * tests/util/grub-shell-tester.in: Support utility for grub-script
4336 tests.
4337 * tests/util/grub-shell.in: Utility to execute grub-script
4338 commands in a Qemu instance.
4339
4340 * tests/example_functional_test.c: Example whitebox functional
4341 test.
4342 * tests/example_grub_script_test.in: Example grub-script test.
4343 * tests/example_scripted_test.in: Example scripted test.
4344 * tests/example_unit_test.c: Example whitebox unit test.
4345
4346 2010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
4347
4348 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
4349 Add loader/i386/multiboot_mbi.c.
4350 (multiboot2_mod_SOURCES): Likewise.
4351 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
4352 (multiboot2_mod_SOURCES): Likewise.
4353 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
4354 (grub_multiboot_make_mbi): Likewise.
4355 (grub_multiboot_free_mbi): Likewise.
4356 (grub_multiboot_init_mbi): Likewise.
4357 (grub_multiboot_add_module): Likewise.
4358 (grub_multiboot_set_bootdev): Likewise.
4359 * loader/i386/multiboot.c (mbi): Removed.
4360 (mbi_dest): Likewise.
4361 (alloc_mbi): New variable.
4362 (grub_multiboot_payload_size): Removed. All users updated.
4363 (grub_multiboot_pure_size): New variable.
4364 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
4365 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
4366 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
4367 (grub_fill_multiboot_mmap): Likewise.
4368 (grub_multiboot_get_bootdev): Likewise.
4369 (grub_multiboot): Use multiboot_mbi functions.
4370 * loader/i386/multiboot_mbi.c: New file.
4371
4372 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4373
4374 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
4375 it would result in module crash.
4376
4377 2010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
4378
4379 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
4380 (grub_ofconsole_getwh): Split to ...
4381 (grub_ofconsole_getwh): ... this.
4382 (grub_ofconsole_dimensions): ...and this.
4383 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
4384
4385 2010-01-13 Robert Millan <rmh.grub@aybabtu.com>
4386
4387 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
4388
4389 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4390
4391 * loader/i386/pc/multiboot2.c: Removed stalled file.
4392
4393 2010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
4394
4395 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
4396 Reported by: Grégoire Sutre
4397
4398 2010-01-11 Robert Millan <rmh.grub@aybabtu.com>
4399
4400 * util/misc.c (canonicalize_file_name): New function.
4401 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
4402 instead of realpath().
4403
4404 2010-01-11 Colin Watson <cjwatson@ubuntu.com>
4405
4406 * util/grub-install.in (usage): Clarify meaning of --root-directory,
4407 and make it clearer that it's optional. Based on confusion
4408 witnessed on IRC.
4409
4410 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4411
4412 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
4413 in premature implicit newline.
4414
4415 2010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
4416
4417 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
4418 which resulted in garbled command line at the end of screen.
4419
4420 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
4421
4422 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
4423 initialization with similar approach as with other Linux loaders.
4424
4425 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
4426
4427 Fix i386-ieee1275 build.
4428
4429 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
4430 and grub_term_height() for video_{width,height} initialization.
4431
4432 2010-01-10 Robert Millan <rmh.grub@aybabtu.com>
4433
4434 Fix grub-emu build.
4435
4436 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
4437
4438 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4439 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
4440
4441 Support for multiple terminals.
4442
4443 * Makefile.in (pkglib_DATA): terminal.lst.
4444 (terminal.lst): New target.
4445 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
4446 (GRUB_MOD_INIT(handler)): Likewise.
4447 (GRUB_MOD_FINI(handler)): Likewise.
4448 * commands/help.c (grub_cmd_help): Handle multiple terminals.
4449 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
4450 * commands/sleep.c (do_print): Use grub_term_restore_pos.
4451 (grub_cmd_sleep): Use grub_term_save_pos.
4452 * commands/terminal.c: New file.
4453 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
4454 commands/terminal.c and lib/charset.c.
4455 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
4456 (pkglib_MODULES): Add terminal.mod.
4457 (terminal_mod_SOURCES): New variable.
4458 (terminal_mod_CFLAGS): Likewise.
4459 (terminal_mod_LDFLAGS): Likewise.
4460 * genhandlerlist.sh: Don't handle terminals.
4461 * genmk.rb: Generate terminal-*.lst.
4462 * genterminallist.sh: New file.
4463 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
4464 (grub_is_valid_utf8): Likewise.
4465 (grub_utf8_to_ucs4_alloc): Likewise.
4466 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
4467 (grub_menu_register_viewer): Changed argument.
4468 (grub_menu_try_text): New proto.
4469 (grub_gfxmenu_try_hook): New declaration.
4470 * include/grub/normal.h (grub_normal_exit_level): New declaration.
4471 (grub_menu_init_page): Additional argument term.
4472 (grub_normal_init_page): Likewise.
4473 (grub_cmdline_get): Arguments simplified.
4474 (grub_utf8_to_ucs4_alloc): Removed.
4475 (grub_print_ucs4): Additional argument term.
4476 (grub_getstringwidth): Likewise.
4477 (grub_print_message_indented): Likewise.
4478 (grub_menu_text_register_instances): New proto.
4479 (grub_show_menu): Likewise.
4480 (read_terminal_list): Likewise.
4481 (grub_set_more): Likewise.
4482 * include/grub/parser.h: Include handler.h.
4483 * include/grub/reader.h: Rewritten.
4484 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
4485 (GRUB_TERM_WIDTH): Changed to function.
4486 (GRUB_TERM_HEIGHT): Likewise.
4487 (GRUB_TERM_BORDER_WIDTH): Likewise.
4488 (GRUB_TERM_BORDER_HEIGHT): Likewise.
4489 (GRUB_TERM_NUM_ENTRIES): Likewise.
4490 (GRUB_TERM_ENTRY_WIDTH): Likewise.
4491 (GRUB_TERM_CURSOR_X): Likewise.
4492 (grub_term_input_class): Likewise.
4493 (grub_term_output_class): Likewise.
4494 (grub_term_outputs_disabled): New declaration.
4495 (grub_term_inputs_disabled): Likewise.
4496 (grub_term_outputs): Likewise.
4497 (grub_term_inputs): Likewise.
4498 (grub_term_register_input): Rewritten.
4499 (grub_term_register_output): Likewise.
4500 (grub_term_unregister_input): Likewise.
4501 (grub_term_unregister_output): Likewise.
4502 (FOR_ACTIVE_TERM_INPUTS): New macro.
4503 (FOR_DISABLED_TERM_INPUTS): Likewise.
4504 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
4505 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
4506 * include/grub/terminfo.h: Add oterm argument to all protypes.
4507 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
4508 Use grub_rescue_run.
4509 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
4510 All users updated.
4511 * kern/reader.c: Removed. All users updated.
4512 * kern/rescue_reader.c (grub_rescue_init): Removed.
4513 (grub_rescue_reader): Likewise.
4514 (grub_register_rescue_reader): Likewise.
4515 (grub_rescue_run): New function based on kern/reader.c.
4516 * kern/term.c: Adapted for multiterm.
4517 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
4518 (grub_is_valid_utf8): Likewise.
4519 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
4520 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
4521 right terminal.
4522 * loader/i386/linux.c (grub_linux_boot): Likewise.
4523 * normal/auth.c (grub_username_get): New function.
4524 (grub_auth_check_authentication): Use grub_username_get.
4525 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
4526 * normal/color.c: Adapt for multiterm.
4527 * normal/main.c (read_config_file): Don't use grub_reader_loop.
4528 (grub_normal_init_page): Additional argument term.
4529 (read_lists): Call read_terminal_lists.
4530 (grub_enter_normal_mode): Call grub_cmdline_run.
4531 Handle grub_normal_exit_level.
4532 (grub_cmd_normal): Make reentrant.
4533 (grub_cmd_normal_exit): New function.
4534 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
4535 * normal/menu.c: Adapt for multiterm.
4536 * normal/menu_entry.c: Likewise.
4537 * normal/menu_text.c: Likewise.
4538 * normal/menu_viewer.c: Removed. All users updated.
4539 * normal/term.c: New file.
4540 * util/console.c: Change order of includes to workaround a bug in
4541 ncurses headers.
4542 * term/terminfo.c: New argument oterm on all exported functions.
4543 All users updated.
4544 * util/grub-editenv.c (grub_term_input_class): Removed.
4545 (grub_term_output_class): Likewise.
4546
4547 2010-01-09 Robert Millan <rmh.grub@aybabtu.com>
4548
4549 Make loader output a bit more user-friendly.
4550
4551 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
4552 is being loaded. Likewise for the Hurd.
4553
4554 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
4555 that kernel of FreeBSD ${version} is being loaded.
4556
4557 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
4558 grub_dprintf().
4559 (grub_cmd_initrd): Likewise.
4560 * util/grub.d/10_linux.in (linux_entry): Print message indicating
4561 that Linux ${version} is being loaded. Likewise for initrd.
4562
4563 2010-01-09 Carles Pina i Estany <carles@pina.cat>
4564
4565 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
4566
4567 2010-01-08 Carles Pina i Estany <carles@pina.cat>
4568
4569 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
4570 (GRUB_MOD_INIT): Gettextizze.
4571 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
4572 (GRUB_MOD_INIT): Gettextizze.
4573 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
4574 (grub_cmd_linux): Capitalise Linux.
4575 (GRUB_MOD_INIT): Gettextizze.
4576 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
4577 (grub_cmd_linux): Capitalise Linux.
4578 (GRUB_MOD_INIT): Gettextizze.
4579 * loader/i386/linux.c: Include `<grub/i18n.h>'.
4580 (grub_cmd_linux): Capitalise Linux.
4581 (GRUB_MOD_INIT): Gettextizze.
4582 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
4583 (GRUB_MOD_INIT): Gettextizze.
4584 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
4585 (grub_cmd_linux): Capitalise Linux.
4586 (GRUB_MOD_INIT): Gettextizze.
4587 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
4588 (grub_cpu_xnu_init): Gettextizze.
4589 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
4590 (GRUB_MOD_INIT): Gettextizze.
4591 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
4592 (GRUB_MOD_INIT): Gettextizze.
4593 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
4594 (grub_linux_load64): Capitalise Linux.
4595 (GRUB_MOD_INIT): Gettextizze.
4596 * loader/xnu.c: Include `<grub/i18n.h>'.
4597 (GRUB_MOD_INIT): Gettextizze.
4598 * po/POTFILES: Add `loader/efi/appleloader.c',
4599 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
4600 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
4601 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
4602 `loader/i386/xnu.c', `loader/multiboot_loader.c',
4603 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
4604 and `loader/xnu.c'.
4605
4606 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
4607
4608 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
4609
4610 2010-01-08 Robert Millan <rmh.grub@aybabtu.com>
4611
4612 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
4613 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
4614 * util/mkisofs/mkisofs.c (main): Readjust --version output.
4615
4616 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
4617
4618 Reset Multiboot 2 support. New loader implements the draft in
4619 /branches/multiboot2 and shares as much code as possible with the
4620 production Multiboot 1 implementation.
4621
4622 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
4623 * loader/multiboot2.c: Likewise.
4624 * loader/i386/multiboot_helper.S: Likewise.
4625 * include/multiboot2.h: Replace with latest version from the draft
4626 in /branches/multiboot2.
4627
4628 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
4629 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
4630 and `loader/multiboot2.c'.
4631 (pkglib_MODULES): Add `multiboot2.mod'.
4632 (multiboot2_mod_SOURCES): New variable.
4633 (multiboot2_mod_LDFLAGS): Likewise.
4634 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
4635
4636 * conf/i386-pc.rmk: Likewise.
4637
4638 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
4639 (multiboot_mod_SOURCES): Remove variable.
4640 (multiboot_mod_LDFLAGS): Likewise.
4641 (multiboot_mod_CFLAGS): Likewise.
4642
4643 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
4644 `<multiboot2.h>' instead of `<multiboot.h>'.
4645 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
4646 (MULTIBOOT_HEADER_MAGIC): New macros.
4647
4648 * loader/multiboot_loader.c (module_version_status): Remove variable.
4649 (find_multi_boot2_header): Remove function.
4650 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
4651 logic. Always check for the Multiboot version we're compiling for.
4652 (grub_cmd_module_loader): Likewise.
4653 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
4654 command instead of `multiboot'.
4655
4656 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
4657
4658 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
4659 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
4660 all users.
4661
4662 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
4663 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4664
4665 Fix breakage introduced with previous commit.
4666
4667 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
4668 commands.
4669 * normal/handler.c (read_handler_list): Revert part of previous commit
4670 affecting this file.
4671 * normal/main.c (read_lists): Move read_handler_list() call back to ...
4672 (grub_normal_execute): ... here.
4673
4674 2010-01-07 Robert Millan <rmh.grub@aybabtu.com>
4675
4676 Merge prefix-redefinition-fix branch.
4677
4678 * normal/autofs.c (read_fs_list): Make function capable of being
4679 run multiple times, gracefuly replacing the previous data
4680 structures.
4681 * normal/dyncmd.c (read_command_list): Likewise.
4682 * normal/handler.c (read_handler_list): Likewise.
4683 * normal/main.c (read_lists): New function. Calls all the
4684 list reading functions.
4685 (grub_normal_execute): Use read_lists() instead of calling all
4686 list reading functions explicitly. Register read_lists() as a
4687 variable hook attached to ${prefix}.
4688
4689 2010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
4690
4691 Merge crypto branch.
4692
4693 * Makefile.in (pkglib_DATA): Add crypto.lst.
4694 (crypto.lst): New target.
4695 * commands/hashsum.c: New file.
4696 * commands/password.c (check_password): Use grub_crypto_memcmp.
4697 * commands/password_pbkdf2.c: New file.
4698 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
4699 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
4700 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
4701 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
4702 -I$(srcdir)/lib/libgcrypt_wrap.
4703 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
4704 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
4705 password_pbkdf2.mod.
4706 (crypto_mod_SOURCES): New variable.
4707 (crypto_mod_CFLAGS): Likewise.
4708 (crypto_mod_LDFLAGS): Likewise.
4709 (hashsum_mod_SOURCES): New variable.
4710 (hashsum_mod_CFLAGS): Likewise.
4711 (hashsum_mod_LDFLAGS): Likewise.
4712 (pbkdf2_mod_SOURCES): New variable.
4713 (pbkdf2_mod_CFLAGS): Likewise.
4714 (pbkdf2_mod_LDFLAGS): Likewise.
4715 (password_pbkdf2_mod_SOURCES): New variable.
4716 (password_pbkdf2_mod_CFLAGS): Likewise.
4717 (password_pbkdf2_mod_LDFLAGS): Likewise.
4718 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
4719 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
4720 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
4721 Include conf/gcry.rmk.
4722 * include/grub/auth.h: Rewritten.
4723 * include/grub/crypto.h: New file.
4724 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
4725 * include/grub/normal.h (read_crypto_list): New prototype.
4726 * lib/crypto.c: New file.
4727 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
4728 * lib/pbkdf2.c: Likewise.
4729 * normal/auth.c (grub_auth_strcmp): Removed.
4730 (grub_iswordseparator): Likewise.
4731 (grub_auth_strword): Likewise.
4732 (is_authenticated): Use grub_strword.
4733 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
4734 and grub_strword. Pass entered password to authentication callback.
4735 * normal/crypto.c: New file.
4736 * normal/main.c: Call read_crypto_list.
4737 * util/grub-mkpasswd-pbkdf2.c: New file.
4738 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
4739
4740 2010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
4741
4742 Fix descent and ascent calculation.
4743
4744 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
4745 (options): New option "asce".
4746 (usage): Likewise.
4747 (add_char): Ignore invalid glyphs for descent calculation.
4748 Calculate ascent from actual content.
4749 (print_glyphs): Use 'asce'.
4750 (write_font): Likewise. Allow ascent override.
4751 (main): Handle "asce" option.
4752
4753 2010-01-06 Carles Pina i Estany <carles@pina.cat>
4754
4755 * kern/err.c: Include `<grub/i18n.h>'.
4756 (grub_print_error): Add full stop. Gettextizze.
4757 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
4758 (grub_bsd_load_elf): Capitalise ELF.
4759 (grub_cmd_freebsd_loadenv): Add `s' in error string.
4760 (grub_cmd_freebsd_module): Likewise.
4761 (grub_cmd_freebsd_module_elf): Likewise.
4762 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
4763
4764 2010-01-06 Carles Pina i Estany <carles@pina.cat>
4765
4766 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
4767 * commands/search_file.c (HELP_MESSAGE): New macro.
4768 * commands/search_label.c (HELP_MESSAGE): Likewise.
4769 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
4770 * po/POTFILES: Add `commands/search_file.c',
4771 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
4772 `commands/search.c'.
4773
4774 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
4775
4776 * config.rpath: Update from Gnulib.
4777
4778 2010-01-05 Yves Blusseau <blusseau@zetam.org>
4779
4780 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
4781
4782 2010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
4783
4784 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
4785
4786 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
4787
4788 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
4789 arguments to fread so that we get a return value in bytes, rather
4790 than something that will normally be rounded down to 0.
4791 Adjust error handling to avoid producing garbage when size_t is not
4792 the same size as long long.
4793
4794 2010-01-05 Colin Watson <cjwatson@ubuntu.com>
4795
4796 * util/mkisofs/write.c (padblock_write): Check return value of
4797 fread.
4798
4799 2010-01-05 Robert Millan <rmh.grub@aybabtu.com>
4800
4801 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
4802 floppy images now.
4803
4804 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
4805
4806 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
4807
4808 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
4809 instead of manual alignment.
4810 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
4811 verbose). Avoid attempts to read past end of the device
4812 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
4813 but GRUB_DISK_CACHE_SIZE may exceed that).
4814
4815 2010-01-04 Robert Millan <rmh.grub@aybabtu.com>
4816
4817 * commands/crc.c (grub_cmd_crc): Abort on read errors.
4818 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
4819 it to upper layer.
4820
4821 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
4822
4823 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
4824 New constant.
4825 (grub_efi_piwg_device_path): New structure
4826 (grub_efi_piwg_device_path_t): New type.
4827 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
4828 (devpath_1): Transform to a structure. All users updated.
4829 (devpath_2): Likewise.
4830 (devpath_3): Likewise.
4831 (devpath_4): Likewise.
4832 (devpath_5): Likewise.
4833
4834 2010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
4835
4836 * loader/efi/appleloader.c: Restored. Update all users.
4837
4838 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
4839
4840 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
4841
4842 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
4843 (struct boot_blocklist): Move from here ...
4844 * include/grub/i386/pc/boot.h [ASM_FILE]
4845 (struct grub_boot_blocklist): ... to here. Update all users.
4846 (setup): Only initialize `start' member of `first_block'
4847 structure. Add assert() calls to verify the other members.
4848
4849 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
4850 (generate_image): Fix broken blocklist length initialization.
4851 Add assert() call to verify blocklist `segment' field.
4852
4853 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
4854
4855 * loader/efi/appleloader.c: Remove. Update all users.
4856
4857 2010-01-03 Robert Millan <rmh.grub@aybabtu.com>
4858
4859 * boot/i386/pc/boot.S: Update copyright year.
4860 * boot/i386/pc/cdboot.S: Likewise.
4861 * boot/i386/pc/diskboot.S: Likewise.
4862 * boot/i386/pc/lnxboot.S: Likewise.
4863 * boot/i386/pc/pxeboot.S: Likewise.
4864 * bus/pci.c: Likewise.
4865 * commands/cmp.c: Likewise.
4866 * commands/help.c: Likewise.
4867 * commands/hexdump.c: Likewise.
4868 * commands/i386/pc/halt.c: Likewise.
4869 * commands/i386/pc/play.c: Likewise.
4870 * commands/i386/pc/vbeinfo.c: Likewise.
4871 * commands/ls.c: Likewise.
4872 * commands/test.c: Likewise.
4873 * disk/dmraid_nvidia.c: Likewise.
4874 * disk/i386/pc/biosdisk.c: Likewise.
4875 * disk/ieee1275/nand.c: Likewise.
4876 * disk/ieee1275/ofdisk.c: Likewise.
4877 * disk/lvm.c: Likewise.
4878 * disk/raid.c: Likewise.
4879 * disk/raid6_recover.c: Likewise.
4880 * disk/scsi.c: Likewise.
4881 * fs/affs.c: Likewise.
4882 * fs/cpio.c: Likewise.
4883 * fs/ext2.c: Likewise.
4884 * fs/hfs.c: Likewise.
4885 * fs/iso9660.c: Likewise.
4886 * fs/ntfs.c: Likewise.
4887 * fs/sfs.c: Likewise.
4888 * fs/udf.c: Likewise.
4889 * fs/ufs.c: Likewise.
4890 * fs/xfs.c: Likewise.
4891 * gencmdlist.sh: Likewise.
4892 * genmk.rb: Likewise.
4893 * include/grub/disk.h: Likewise.
4894 * include/grub/efi/api.h: Likewise.
4895 * include/grub/efi/efi.h: Likewise.
4896 * include/grub/efi/pe32.h: Likewise.
4897 * include/grub/elf.h: Likewise.
4898 * include/grub/fs.h: Likewise.
4899 * include/grub/i386/at_keyboard.h: Likewise.
4900 * include/grub/i386/pc/memory.h: Likewise.
4901 * include/grub/i386/pc/vbe.h: Likewise.
4902 * include/grub/i386/pci.h: Likewise.
4903 * include/grub/i386/tsc.h: Likewise.
4904 * include/grub/ieee1275/ieee1275.h: Likewise.
4905 * include/grub/ntfs.h: Likewise.
4906 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
4907 * include/grub/sparc64/libgcc.h: Likewise.
4908 * include/grub/symbol.h: Likewise.
4909 * include/grub/types.h: Likewise.
4910 * include/multiboot2.h: Likewise.
4911 * io/gzio.c: Likewise.
4912 * kern/device.c: Likewise.
4913 * kern/disk.c: Likewise.
4914 * kern/efi/efi.c: Likewise.
4915 * kern/efi/mm.c: Likewise.
4916 * kern/elf.c: Likewise.
4917 * kern/file.c: Likewise.
4918 * kern/i386/dl.c: Likewise.
4919 * kern/i386/pc/init.c: Likewise.
4920 * kern/i386/pc/startup.S: Likewise.
4921 * kern/ieee1275/ieee1275.c: Likewise.
4922 * kern/ieee1275/init.c: Likewise.
4923 * kern/main.c: Likewise.
4924 * kern/mm.c: Likewise.
4925 * kern/powerpc/dl.c: Likewise.
4926 * kern/sparc64/dl.c: Likewise.
4927 * kern/x86_64/dl.c: Likewise.
4928 * lib/hexdump.c: Likewise.
4929 * loader/efi/appleloader.c: Likewise.
4930 * loader/i386/ieee1275/linux.c: Likewise.
4931 * loader/i386/pc/chainloader.c: Likewise.
4932 * loader/i386/pc/linux.c: Likewise.
4933 * loader/i386/pc/multiboot2.c: Likewise.
4934 * loader/ieee1275/multiboot2.c: Likewise.
4935 * loader/multiboot2.c: Likewise.
4936 * loader/multiboot_loader.c: Likewise.
4937 * loader/powerpc/ieee1275/linux.c: Likewise.
4938 * normal/completion.c: Likewise.
4939 * normal/menu_entry.c: Likewise.
4940 * partmap/apple.c: Likewise.
4941 * util/grub.d/10_hurd.in: Likewise.
4942 * util/hostfs.c: Likewise.
4943 * video/readers/png.c: Likewise.
4944
4945 2010-01-03 Colin Watson <cjwatson@ubuntu.com>
4946
4947 * include/grub/misc.h (GNUC_PREREQ): New macro.
4948 (ATTRIBUTE_ERROR): New macro.
4949 * include/grub/list.h (grub_bad_type_cast_real): Use
4950 ATTRIBUTE_ERROR.
4951
4952 2010-01-03 Carles Pina i Estany <carles@pina.cat>
4953
4954 * normal/menu_text.c (print_message): Change messages.
4955
4956 2010-01-03 Carles Pina i Estany <carles@pina.cat>
4957
4958 * normal/menu_entry.c (store_completion): Gettextizze.
4959
4960 2010-01-03 Carles Pina i Estany <carles@pina.cat>
4961
4962 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
4963
4964 2010-01-03 Carles Pina i Estany <carles@pina.cat>
4965
4966 * po/POTFILES: Sort correctly.
4967
4968 2010-01-03 Carles Pina i Estany <carles@pina.cat>
4969
4970 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
4971 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
4972 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
4973 full stop.
4974 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
4975 summary. Gettextizze the strings.
4976 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
4977 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
4978 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
4979 full stop.
4980 (GRUB_MOD_INIT): Remove command name from summary.
4981 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
4982 summary.
4983 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
4984 * term/i386/pc/serial.c (options): Add full stops.
4985 (GRUB_MOD_INIT): Remove command name from the summary.
4986
4987 2010-01-03 Carles Pina i Estany <carles@pina.cat>
4988
4989 * commands/acpi.c: Gettextizze help strings and/or options. Include
4990 `grub/i18n.h' if needed.
4991 * commands/blocklist.c: Likewise.
4992 * commands/boot.c: Likewise.
4993 * commands/cat.c: Likewise.
4994 * commands/cmp.c: Likewise.
4995 * commands/configfile.c: Likewise.
4996 * commands/crc.c: Likewise.
4997 * commands/date.c: Likewise.
4998 * commands/echo.c: Likewise.
4999 * commands/efi/fixvideo.c: Likewise.
5000 * commands/efi/loadbios.c: Likewise.
5001 * commands/gptsync.c: Likewise.
5002 * commands/halt.c: Likewise.
5003 * commands/handler.c: Likewise.
5004 * commands/hdparm.c: Likewise.
5005 * commands/hexdump.c: Likewise.
5006 * commands/i386/cpuid.c: Likewise.
5007 * commands/i386/pc/drivemap.c: Likewise.
5008 * commands/i386/pc/halt.c: Likewise.
5009 * commands/i386/pc/pxecmd.c: Likewise.
5010 * commands/i386/pc/vbeinfo.c: Likewise.
5011 * commands/i386/pc/vbetest.c: Likewise.
5012 * commands/ieee1275/suspend.c: Likewise.
5013 * commands/keystatus.c: Likewise.
5014 * commands/loadenv.c: Likewise.
5015 * commands/ls.c: Likewise.
5016 * commands/lsmmap.c: Likewise.
5017 * commands/lspci.c: Likewise.
5018 * commands/memrw.c: Likewise.
5019 * commands/minicmd.c: Likewise.
5020 * commands/parttool.c: Likewise.
5021 * commands/password.c: Likewise.
5022 * commands/probe.c: Likewise.
5023 * commands/read.c: Likewise.
5024 * commands/reboot.c: Likewise.
5025 * commands/search.c: Likewise.
5026 * commands/sleep.c: Likewise.
5027 * commands/test.c: Likewise.
5028 * commands/true.c: Likewise.
5029 * commands/usbtest.c: Likewise.
5030 * commands/videotest.c: Likewise.
5031 * commands/xnu_uuid.c: Likewise.
5032 * disk/loopback.c: Likewise.
5033 * hello/hello.c: Likewise.
5034 * loader/i386/bsd.c: Likewise.
5035 * term/i386/pc/serial.c: Likewise.
5036 * po/POTFILES: Add new files.
5037
5038 2010-01-02 Colin Watson <cjwatson@ubuntu.com>
5039
5040 * term/i386/pc/at_keyboard.c
5041 (keyboard_controller_wait_untill_ready): Rename to ...
5042 (keyboard_controller_wait_until_ready): ... this. Update all users.
5043
5044 2010-01-01 Carles Pina i Estany <carles@pina.cat>
5045
5046 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
5047 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
5048 string using string width.
5049 * normal/menu_text.c (grub_print_message_indented): Use
5050 grub_print_spaces and not print_spaces.
5051 (print_timeout): Likewise.
5052 (print_spaces): Move to...
5053 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
5054
5055 2010-01-01 Robert Millan <rmh.grub@aybabtu.com>
5056
5057 Import from Gnulib.
5058
5059 * gnulib/getdelim.c: New file.
5060 * gnulib/getline.c: Likewise.
5061
5062 2009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
5063
5064 * include/grub/list.h (grub_assert_fail): Removed.
5065 (grub_bad_type_cast_real): New function.
5066 (grub_bad_type_cast): New macro.
5067 (GRUB_AS_LIST): Use grub_bad_type_cast.
5068 (GRUB_AS_LIST_P): Likewise.
5069 (GRUB_AS_NAMED_LIST): Likewise.
5070 (GRUB_AS_NAMED_LIST_P): Likewise.
5071 (GRUB_AS_PRIO_LIST): Likewise.
5072 (GRUB_AS_PRIO_LIST_P): Likewise.
5073 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
5074
5075 2009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
5076
5077 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
5078 Fix syntax error.
5079
5080 2009-12-29 Robert Millan <rmh.grub@aybabtu.com>
5081
5082 * configure.ac: Check for TARGET_CFLAGS initialization before we
5083 initialize it ourselves (sigh).
5084 Move a few modifications to TARGET_CFLAGS to be unconditional
5085 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
5086 eh_frame)
5087
5088 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
5089 * term/i386/pc/at_keyboard.c
5090 (keyboard_controller_wait_untill_ready): Likewise.
5091 (keyboard_controller_led): Rename `led_status' paramter to avoid
5092 name conflict.
5093
5094 2009-12-28 Carles Pina i Estany <carles@pina.cat>
5095
5096 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
5097 quotes.
5098
5099 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5100
5101 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
5102
5103 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5104
5105 * normal/menu_text.c (grub_print_message_indented): Prevent
5106 past-the-end-of-array dereference.
5107
5108 2009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
5109
5110 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
5111 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
5112
5113 2009-12-27 Carles Pina i Estany <carles@pina.cat>
5114
5115 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
5116 * normal/main.c (grub_normal_read_line): Remove a space from the
5117 default prompt.
5118
5119 2009-12-27 Carles Pina i Estany <carles@pina.cat>
5120
5121 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
5122 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5123 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
5124 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
5125 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5126 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5127 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
5128
5129 2009-12-26 Carles Pina i Estany <carles@pina.cat>
5130
5131 * video/readers/jpeg.c (cmd): Declare.
5132 (grub_cmd_jpegtest): Use `grub_command_t' type.
5133 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
5134 Assign to `cmd'.
5135 (GRUB_MOD_FINI): Use `cmd' to unregister.
5136 * video/readers/png.c (cmd): Declare.
5137 (grub_cmd_pngtest): Use `grub_command_t' type.
5138 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
5139 Assign to `cmd'.
5140 (GRUB_MOD_FINI): Use `cmd' to unregister.
5141 * video/readers/tga.c (cmd): Declare.
5142 (grub_cmd_tgatest): Use `grub_command_t' type.
5143 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
5144 Assign to `cmd'.
5145 (GRUB_MOD_FINI): Use `cmd' to unregister.
5146
5147 2009-12-26 Carles Pina i Estany <carles@pina.cat>
5148
5149 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
5150 stops.
5151 * kern/corecmd.c (grub_register_core_commands): Likewise.
5152 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
5153 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
5154 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
5155 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5156 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
5157 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
5158 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
5159 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
5160 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5161 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
5162 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
5163 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
5164 * normal/handler.c (insert_handler): Likewise.
5165 * normal/main.c (GRUB_MOD_INIT): Likewise.
5166 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
5167
5168 2009-12-26 Carles Pina i Estany <carles@pina.cat>
5169
5170 * commands/help.c (grub_cmd_help): Print the command name before the
5171 summary.
5172 (GRUB_MOD_INIT): Remove command name from the summary.
5173 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
5174 string as summary.
5175 * lib/arg.c (find_long): Print the command name before the summary.
5176 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
5177 summary.
5178 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
5179 * commands/cat.c (GRUB_MOD_INIT): Likewise.
5180 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
5181 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
5182 * commands/crc.c (GRUB_MOD_INIT): Likewise.
5183 * commands/date.c (GRUB_MOD_INIT): Likewise.
5184 * commands/echo.c (GRUB_MOD_INIT): Likewise.
5185 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
5186 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
5187 * commands/handler.c (GRUB_MOD_INIT): Likewise.
5188 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
5189 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
5190 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
5191 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
5192 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
5193 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
5194 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
5195 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
5196 * commands/ls.c (GRUB_MOD_INIT): Likewise.
5197 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
5198 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
5199 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
5200 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
5201 * commands/password.c (GRUB_MOD_INIT): Likewise.
5202 * commands/probe.c (GRUB_MOD_INIT): Likewise.
5203 * commands/read.c (GRUB_MOD_INIT): Likewise.
5204 * commands/search.c (GRUB_MOD_INIT): Likewise.
5205 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
5206 * commands/test.c (GRUB_MOD_INIT): Likewise.
5207 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
5208 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
5209 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
5210 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
5211 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
5212 * lib/arg.c (GRUB_MOD_INIT): Likewise.
5213 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
5214 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
5215 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
5216 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
5217 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
5218 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
5219 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
5220 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
5221
5222 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5223
5224 Use search command for preliminar UUID search.
5225
5226 * commands/search.c: Split into ...
5227 * commands/search_wrap.c: ...this
5228 * commands/search.c: ...and this.
5229 * commands/search_file.c: New file.
5230 * commands/search_label.c: New file.
5231 * commands/search_uuid.c: New file.
5232 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
5233 Add commands/search_wrap.c, commands/search_file.c,
5234 commands/search_label.c and commands/search_uuid.c.
5235 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
5236 (search_mod_SOURCES): Set to commands/search_wrap.c.
5237 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
5238 search_label.mod.
5239 (search_fs_file_mod_SOURCES): New variable.
5240 (search_fs_file_mod_CFLAGS): Likewise.
5241 (search_fs_file_mod_LDFLAGS): Likewise.
5242 (search_label_mod_SOURCES): Likewise.
5243 (search_label_mod_CFLAGS): Likewise.
5244 (search_label_mod_LDFLAGS): Likewise.
5245 (search_fs_uuid_mod_SOURCES): New variable.
5246 (search_fs_uuid_mod_CFLAGS): Likewise.
5247 (search_fs_uuid_mod_LDFLAGS): Likewise.
5248 (fs_file_mod_SOURCES): Removed.
5249 (fs_file_mod_CFLAGS): Likewise.
5250 (fs_file_mod_LDFLAGS): Likewise.
5251 (fs_uuid_mod_SOURCES): Removed.
5252 (fs_uuid_mod_CFLAGS): Likewise.
5253 (fs_uuid_mod_LDFLAGS): Likewise.
5254 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
5255 Set to util/grub-install.in.
5256 * disk/fs_file.c: Removed.
5257 * disk/fs_uuid.c: Likewise.
5258 * include/grub/search.h: New file.
5259 * util/grub-install.in: Handle sparc64.
5260 Create and use load.cfg.
5261 * util/sparc64/ieee1275/grub-install.in: Removed.
5262
5263 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5264
5265 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
5266 Ignore return status if CF is cleared.
5267 (grub_biosdisk_get_diskinfo_standard): Likewise.
5268
5269 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
5270
5271 * term/i386/pc/at_keyboard.c
5272 (keyboard_controller_wait_untill_ready): New function.
5273 (grub_keyboard_controller_write, grub_keyboard_controller_read)
5274 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
5275 for keyboard polling, rather than duplicate the same loop. This
5276 saves a few bytes in code size.
5277
5278 2009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
5279
5280 Support for (pxe[:server[:gateway]]) syntax and
5281 use environment variable for PXE.
5282
5283 * commands/i386/pc/pxecmd.c (options): Removed.
5284 (print_ip): Removed.
5285 (grub_cmd_pxe): Removed
5286 (grub_cmd_pxe_unload): New function.
5287 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
5288 (grub_pxe_your_ip): Made static.
5289 (grub_pxe_default_server_ip): Likewise.
5290 (grub_pxe_default_gateway_ip): Likewise.
5291 (grub_pxe_blksize): Likewise.
5292 (parse_ip): New function.
5293 (grub_pxe_open): Support server and gateway specification.
5294 (grub_pxe_close): Free disk->data.
5295 (grub_pxefs_open): Use disk->data.
5296 (grub_pxefs_read): Likewise.
5297 (grub_env_write_readonly): New function.
5298 (set_mac_env): Likewise.
5299 (set_env_limn_ro): Likewise.
5300 (parse_dhcp_vendor): Likewise.
5301 (grub_pxe_detect): Set the environment variables.
5302 (set_ip_env): New function.
5303 (write_ip_env): Likewise.
5304 (grub_env_write_pxe_default_server): Likewise.
5305 (grub_env_write_pxe_default_gateway): Likewise.
5306 (grub_env_write_pxe_blocksize): Likewise.
5307 (GRUB_MOD_INIT(pxe)): Set environment variables.
5308 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
5309 (grub_pxe_mac_addr_t): ... this. All users updated.
5310 (grub_pxe_your_ip): Removed.
5311 (grub_pxe_server_ip): Likewise.
5312 (grub_pxe_gateway_ip): Likewise.
5313 (grub_pxe_blksize): Likewise.
5314
5315 2009-12-25 Carles Pina i Estany <carles@pina.cat>
5316
5317 * commands/help.c: Include `<grub/i18n.h>'.
5318 (grub_cmd_help): Gettextizze.
5319 (GRUB_MOD_INIT): Likewise.
5320 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
5321 (GRUB_MOD_INIT): Gettextizze.
5322 * commands/search.c: Include `<grub/i18n.h>'.
5323 (options): Gettextizze.
5324 (GRUB_MOD_INIT): Gettextizze.
5325 * lib/arg.c: Include `<grub/i18n.h>'.
5326 (help_options): Gettextizze.
5327 (find_long): Likewise.
5328 (grub_arg_show_help): Likewise.
5329 * normal/dyncmd.c: Include `<grub/i18n.h>'.
5330 (read_command_list): Gettextizze.
5331 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
5332 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
5333
5334 2009-12-25 Robert Millan <rmh.grub@aybabtu.com>
5335
5336 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
5337 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
5338 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
5339 (led_status): New variable.
5340 (keyboard_controller_led): New function.
5341 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
5342 update led status for caps lock, num lock and scroll lock.
5343
5344 2009-12-25 Felix Zielcke <fzielcke@z-51.de>
5345
5346 * util/hostdisk.c (open_device): Fix a comment.
5347
5348 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5349
5350 * util/grub-install.in (host_os): New variable.
5351 * util/i386/efi/grub-install.in (host_os): Likewise.
5352
5353 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5354
5355 * util/mkisofs/write.c (padblock_write): Abort when given an
5356 excedingly large embed image, instead of silently truncating it.
5357
5358 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5359
5360 * include/multiboot.h: Indentation fixes.
5361
5362 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5363
5364 * include/multiboot.h (struct multiboot_aout_symbol_table)
5365 (struct multiboot_elf_section_header_table): New structure
5366 declarations (stolen from GRUB Legacy).
5367 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
5368 table information.
5369
5370 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
5371 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
5372 type aliases.
5373
5374 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5375
5376 * include/multiboot.h: Make comments src2texi-friendly.
5377
5378 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5379
5380 For consistency with [multiboot]/docs/boot.S.
5381
5382 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
5383 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
5384 (MULTIBOOT_MAGIC2): Rename from this ...
5385 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
5386
5387 2009-12-24 Robert Millan <rmh.grub@aybabtu.com>
5388
5389 * include/multiboot.h: Remove `<grub/types.h>'.
5390 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
5391 types. Update all users.
5392
5393 2009-12-25 Carles Pina i Estany <carles@pina.cat>
5394
5395 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
5396 `couldn't' and `can not' by `cannot'.
5397 * commands/i386/pc/drivemap.c: Likewise.
5398 * disk/ata.c: Likewise.
5399 * disk/ieee1275/nand.c: Likewise.
5400 * fs/affs.c: Likewise.
5401 * fs/fat.c: Likewise.
5402 * fs/hfs.c: Likewise.
5403 * fs/hfsplus.c: Likewise.
5404 * fs/iso9660.c: Likewise.
5405 * fs/jfs.c: Likewise.
5406 * fs/minix.c: Likewise.
5407 * fs/reiserfs.c: Likewise.
5408 * fs/sfs.c: Likewise.
5409 * fs/udf.c: Likewise.
5410 * fs/ufs.c: Likewise.
5411 * fs/xfs.c: Likewise.
5412 * loader/powerpc/ieee1275/linux.c: Likewise.
5413 * loader/sparc64/ieee1275/linux.c: Likewise.
5414 * util/grub-probe.c: Likewise.
5415 * util/misc.c: Likewise.
5416
5417 2009-12-24 Carles Pina i Estany <carles@pina.cat>
5418
5419 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
5420 grub_errno calls.
5421 * commands/acpi.c: Likewise.
5422 * commands/blocklist.c: Likewise.
5423 * commands/efi/loadbios.c: Likewise.
5424 * commands/i386/pc/drivemap.c: Likewise.
5425 * commands/loadenv.c: Likewise.
5426 * commands/memrw.c: Likewise.
5427 * commands/password.c: Likewise.
5428 * commands/videotest.c: Likewise.
5429 * disk/ata.c: Likewise.
5430 * disk/ata_pthru.c: Likewise.
5431 * disk/dmraid_nvidia.c: Likewise.
5432 * disk/ieee1275/nand.c: Likewise.
5433 * disk/ieee1275/ofdisk.c: Likewise.
5434 * disk/loopback.c: Likewise.
5435 * disk/lvm.c: Likewise.
5436 * disk/mdraid_linux.c: Likewise.
5437 * disk/raid.c: Likewise.
5438 * disk/raid6_recover.c: Likewise.
5439 * disk/scsi.c: Likewise.
5440 * efiemu/main.c: Likewise.
5441 * efiemu/mm.c: Likewise.
5442 * efiemu/pnvram.c: Likewise.
5443 * efiemu/symbols.c: Likewise.
5444 * font/font.c: Likewise.
5445 * fs/cpio.c: Likewise.
5446 * fs/hfsplus.c: Likewise.
5447 * fs/iso9660.c: Likewise.
5448 * fs/jfs.c: Likewise.
5449 * fs/minix.c: Likewise.
5450 * fs/ntfs.c: Likewise.
5451 * fs/ntfscomp.c: Likewise.
5452 * fs/reiserfs.c: Likewise.
5453 * fs/ufs.c: Likewise.
5454 * fs/xfs.c: Likewise.
5455 * gettext/gettext.c: Likewise.
5456 * include/grub/auth.h: Likewise.
5457 * kern/elf.c: Likewise.
5458 * kern/file.c: Likewise.
5459 * kern/ieee1275/init.c: Likewise.
5460 * kern/ieee1275/mmap.c: Likewise.
5461 * kern/ieee1275/openfw.c: Likewise.
5462 * kern/powerpc/dl.c: Likewise.
5463 * kern/sparc64/dl.c: Likewise.
5464 * lib/arg.c: Likewise.
5465 * loader/i386/bsd.c: Likewise.
5466 * loader/i386/bsdXX.c: Likewise.
5467 * loader/i386/efi/linux.c: Likewise.
5468 * loader/i386/efi/xnu.c: Likewise.
5469 * loader/i386/ieee1275/linux.c: Likewise.
5470 * loader/i386/linux.c: Likewise.
5471 * loader/i386/multiboot.c: Likewise.
5472 * loader/i386/pc/linux.c: Likewise.
5473 * loader/i386/pc/multiboot2.c: Likewise.
5474 * loader/i386/xnu.c: Likewise.
5475 * loader/ieee1275/multiboot2.c: Likewise.
5476 * loader/macho.c: Likewise.
5477 * loader/machoXX.c: Likewise.
5478 * loader/multiboot2.c: Likewise.
5479 * loader/multiboot_loader.c: Likewise.
5480 * loader/powerpc/ieee1275/linux.c: Likewise.
5481 * loader/sparc64/ieee1275/linux.c: Likewise.
5482 * loader/xnu.c: Likewise.
5483 * loader/xnu_resume.c: Likewise.
5484 * mmap/i386/pc/mmap.c: Likewise.
5485 * normal/menu_viewer.c: Likewise.
5486 * partmap/acorn.c: Likewise.
5487 * partmap/amiga.c: Likewise.
5488 * partmap/apple.c: Likewise.
5489 * script/lexer.c: Likewise.
5490 * term/gfxterm.c: Likewise.
5491 * term/i386/pc/serial.c: Likewise.
5492 * term/i386/pc/vga.c: Likewise.
5493 * term/ieee1275/ofconsole.c: Likewise.
5494 * term/terminfo.c: Likewise.
5495 * video/bitmap.c: Likewise.
5496 * video/efi_gop.c: Likewise.
5497 * video/efi_uga.c: Likewise.
5498 * video/fb/video_fb.c: Likewise.
5499 * video/i386/pc/vbe.c: Likewise.
5500 * video/readers/tga.c: Likewise.
5501 * video/video.c: Likewise.
5502
5503 2009-12-23 Felix Zielcke <fzielcke@z-51.de>
5504
5505 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
5506 * commands/lspci.c: Likewise.
5507 * commands/probe.c: Likewise.
5508 * commands/xnu_uuid.c: Likewise.
5509 * conf/i386-coreboot.rmk: Likewise.
5510 * conf/i386-efi.rmk: Likewise.
5511 * conf/i386-ieee1275.rmk: Likewise.
5512 * conf/i386-pc.rmk: Likewise.
5513 * conf/powerpc-ieee1275.rmk: Likewise.
5514 * conf/sparc64-ieee1275.rmk: Likewise.
5515 * conf/x86_64-efi.rmk: Likewise.
5516 * fs/i386/pc/pxe.c: Likewise.
5517 * gettext/gettext.c: Likewise.
5518 * include/grub/efi/graphics_output.h: Likewise.
5519 * include/grub/i386/pc/memory.h: Likewise.
5520 * kern/env.c: Likewise.
5521 * kern/i386/qemu/startup.S: Likewise.
5522 * lib/i386/pc/biosnum.c: Likewise.
5523 * lib/i386/relocator.c: Likewise.
5524 * lib/i386/relocator_asm.S: Likewise.
5525 * lib/relocator.c: Likewise.
5526 * loader/i386/bsd.c: Likewise.
5527 * loader/i386/multiboot.c: Likewise.
5528 * loader/i386/pc/chainloader.c: Likewise.
5529 * loader/i386/xnu.c: Likewise.
5530 * loader/xnu.c: Likewise.
5531 * normal/main.c: Likewise.
5532 * normal/menu_text.c: Likewise.
5533 * util/getroot.c: Likewise.
5534 * util/grub-mkconfig_lib.in: Likewise.
5535 * util/grub.d/00_header.in: Likewise.
5536 * util/i386/pc/grub-mkimage.c: Likewise.
5537 * util/mkisofs/eltorito.c: Likewise.
5538 * util/mkisofs/exclude.h: Likewise.
5539 * util/mkisofs/hash.c: Likewise.
5540 * util/mkisofs/iso9660.h: Likewise.
5541 * util/mkisofs/joliet.c: Likewise.
5542 * util/mkisofs/mkisofs.c: Likewise.
5543 * util/mkisofs/mkisofs.h: Likewise.
5544 * util/mkisofs/multi.c: Likewise.
5545 * util/mkisofs/name.c: Likewise.
5546 * util/mkisofs/rock.c: Likewise.
5547 * util/mkisofs/tree.c: Likewise.
5548 * util/mkisofs/write.c: Likewise.
5549 * video/efi_gop.c: Likewise.
5550
5551 2009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
5552
5553 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
5554 size counting.
5555
5556 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
5557
5558 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
5559 * genmk.rb (class SCRIPT): Modify the target file instead of source.
5560
5561 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
5562
5563 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
5564 (GRUB_MOD_INIT(memrw)): Update help line.
5565
5566 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
5567
5568 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
5569 Use grub_extcmd_t. All users updated.
5570 (options): New variable.
5571 (grub_cmd_read): Restructure for readability. Support "-v" option.
5572 (grub_cmd_write): Restructure for readability.
5573
5574 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
5575
5576 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
5577
5578 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
5579
5580 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
5581 with the actual contents of the correspondending make variable.
5582 * util/grub-mkrescue.in (pkglib_DATA): New variable.
5583 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
5584 specifying `*.lst' and `efiemu??.o'
5585
5586 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
5587
5588 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
5589 after function name.
5590 Noticed by Rene Engelhard <rene@debian.org>.
5591
5592 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
5593
5594 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
5595 (options): New variable.
5596 (iospace): Likewise.
5597 (grub_lspci_iter): List IO spaces if "-i" was given.
5598 (grub_cmd_lspci): Parse options.
5599 (GRUB_MOD_INIT(lspci)): Use extcmd.
5600 (GRUB_MOD_FINI(lspci)): Likewise.
5601
5602 2009-12-22 Felix Zielcke <fzielcke@z-51.de>
5603
5604 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
5605 `function' keyword.
5606 Patch by Tony Mancill <tmancill@debian.org>.
5607
5608 2009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
5609
5610 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
5611 (grub_uhci_portstatus): Likewise.
5612 (grub_uhci_portstatus): Add necessary delay.
5613 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
5614
5615 2009-12-21 Carles Pina i Estany <carles@pina.cat>
5616
5617 * commands/acpi.c (options): Fix capitalizations and/or full stops.
5618 (GRUB_MOD_INIT): Likewise.
5619 * commands/boot.c (GRUB_MOD_INIT): Likewise.
5620 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
5621 * commands/echo.c (options): Fix capitalizations and/or full stops.
5622 * commands/efi/loadbios.c (enable_rom_area): Likewise.
5623 (enable_rom_area): Likewise.
5624 (GRUB_MOD_INIT): Likewise.
5625 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
5626 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
5627 * commands/handler.c (GRUB_MOD_INIT): Likewise.
5628 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
5629 * commands/hexdump.c (options): Likewise.
5630 * commands/i386/cpuid.c (options): Likewise.
5631 (GRUB_MOD_INIT): Likewise.
5632 * commands/i386/pc/drivemap.c (options): Likewise.
5633 (GRUB_MOD_INIT): Likewise.
5634 * commands/i386/pc/halt (options): Likewise.
5635 (GRUB_MOD_INIT): Likewise.
5636 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
5637 * commands/i386/pc/pxecmd.c (options): Likewise.
5638 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
5639 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
5640 * commands/keystatus.c (options): Likewise.
5641 (GRUB_MOD_INIT): Likewise.
5642 * commands/loadenv.c (options): Likewise.
5643 * commands/ls.c (options): Likewise.
5644 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
5645 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
5646 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
5647 * commands/parttool.c (helpmsg): Likewise.
5648 * commands/probe.c (options): Likewise.
5649 * commands/read.c (GRUB_MOD_INIT): Likewise.
5650 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
5651 * commands/search.c (options): Likewise.
5652 * commands/sleep.c (options): Likewise.
5653 * commands/test.c (GRUB_MOD_INIT): Likewise.
5654 * commands/true.c (GRUB_MOD_INIT): Likewise.
5655 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
5656 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
5657 * lib/arg.c (help_options): Likewise.
5658 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
5659 `$(XGETTEXT)'.
5660 * po/POTFILES: Add `commands/loadenv.c'.
5661
5662 2009-12-21 Felix Zielcke <fzielcke@z-51.de>
5663
5664 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
5665 instead of specifying them explicit.
5666
5667 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5668
5669 * NEWS: Add grub-probe support for GNU/Hurd.
5670
5671 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5672
5673 * NEWS: gettext was added after 1.97.
5674
5675 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5676
5677 * util/mkisofs/msdos_partition.h: New file (based on
5678 include/grub/msdos_partition.h).
5679 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
5680 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
5681 (ld_options, main): Recognize --protective-msdos-label.
5682 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
5683 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
5684 (padblock_write): If `use_protective_msdos_label' is set, patch a
5685 protective DOS-style label in the output image.
5686
5687 * util/grub-mkrescue.in: Use --protective-msdos-label.
5688
5689 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5690
5691 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
5692 boot.
5693
5694 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5695
5696 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
5697 variables.
5698 (ld_options, main): Recognize `--embedded-boot'.
5699 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
5700 declarations.
5701 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
5702 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
5703 (padblock_write): Likewise. Rewrite to support embedded boot image.
5704
5705 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
5706 for BIOS-based disk boot instead of only ElTorito.
5707
5708 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5709
5710 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
5711 build (not needed for bootstrap).
5712
5713 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5714
5715 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
5716 from i386-pc build (not needed for bootstrap).
5717 Rewrite a pair of strings.
5718
5719 2009-12-21 Robert Millan <rmh.grub@aybabtu.com>
5720
5721 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
5722
5723 2009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
5724
5725 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
5726
5727 2009-12-21 Andreas Born <futur.andy@googlemail.com>
5728
5729 * kern/env.c (grub_env_context_open): Mark exported variable for
5730 reexport.
5731
5732 2009-12-21 Andreas Born <futur.andy@googlemail.com>
5733
5734 * kern/env.c (grub_env_export): Create nonexistent variables before
5735 exporting.
5736
5737 2009-12-20 Carles Pina i Estany <carles@pina.cat>
5738
5739 * include/grub/auth.h: Include `<grub/i18n.h>'.
5740 (GRUB_GET_PASSWORD): Gettextizze string.
5741 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
5742 menu_text.c.
5743 (grub_utf8_to_ucs4_alloc): Fix indentation.
5744 (grub_print_ucs4): Likewise.
5745 (grub_getstringwidth): Likewise.
5746 (print_message_indented): New declaration.
5747 * normal/auth.c: Include `<grub/i18n.h>'.
5748 (grub_auth_check_authentication): Gettexttize string.
5749 * normal/cmdline.c: Include `<grub/i18n.h>'.
5750 (grub_cmdline_get): Gettextizze.
5751 * normal/color.c: Include `<grub/i18n.h>'.
5752 (grub_parse_color_name_pair): Gettexttize strings.
5753 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
5754 string (use `print_message_indented').
5755 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
5756 `include/grub/normal.h'.
5757 (print_message_indented): Renamed to ...
5758 (grub_print_message_indented): ... this. Remove `static' qualifer (now
5759 used in normal/main.c).
5760 (print_message): Use `grub_print_message_indented' instead of
5761 `print_message_indented'.
5762 (print_timeout): Likewise.
5763 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
5764 (grub_normal_print_device_info): Gettexttize strings.
5765 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
5766
5767 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
5768
5769 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
5770 of arguments. Return number of tokens and not arguments. All users
5771 updated.
5772
5773 2009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
5774
5775 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
5776 non-MSDOS paritions.
5777
5778 2009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
5779
5780 * include/grub/types.h (UNUSED): Removed since it conflicts with
5781 NetBSD headers. All users changed to direct __attribute__ ((unused)).
5782 Reported by Grégoire Sutre.
5783
5784 2009-12-19 Carles Pina i Estany <carles@pina.cat>
5785
5786 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
5787 (grub_print_ucs4_alloc): Likewise.
5788 (grub_getstringwidth): Likewise.
5789 * normal/main.c (grub_normal_init_page): Gettextize version string.
5790 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
5791 (getstringwidth): Renamed to ...
5792 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
5793 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
5794 (grub_print_ucs4): Remove `static' qualifer (now used in
5795 normal/main.c).
5796 * po/POTFILES: Add normal/main.c.
5797
5798 2009-12-19 Carles Pina i Estany <carles@pina.cat>
5799
5800 * normal/menu_text.c (STANDARD_MARGIN): New macro.
5801 (print_message_indented): Add `margin_left' and `margin_right'
5802 parameters.
5803 (print_message): Update `print_message_indented' calls. Adds '\n' to the
5804 strings.
5805 (print_timeout): Use `print_message_indented' to print the message.
5806 Deletes `second_stage' parameter.
5807 (run_menu): Update `print_timeout' calls.
5808
5809 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
5810
5811 Fix console palette on OpenFirmware.
5812
5813 * term/ieee1275/ofconsole.c (MAX): Removed.
5814 (colors): Redone based on VGA palette.
5815 (grub_ofconsole_setcolor): Discard brightness bit since only 8
5816 colors are supported.
5817 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
5818
5819 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
5820
5821 Fix potential EfiEmu double prepare.
5822
5823 * efiemu/main.c (prepared): New variable
5824 (grub_efiemu_unload): Set prepare to '0'.
5825 (grub_efiemu_prepare): Return if already prepared. Set prepared.
5826
5827 set_virtual_address_map support.
5828
5829 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
5830 prototype.
5831 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
5832 prototype.
5833 (grub_efiemu_crc32): Likewise.
5834 (grub_efiemu_crc64): Likewise.
5835 (grub_efiemu_set_virtual_address_map): Likewise.
5836 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
5837 New definition.
5838 (grub_autoefi_set_virtual_address_map): Likewise.
5839 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
5840 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
5841 Restructure flow to accomodate it.
5842 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
5843 (grub_efiemu_crc): Recompute CRC32.
5844 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
5845 (efiemu_ptv_relocated): ... this. Made global. All users updated.
5846 * efiemu/symbols.c (relocated_handle): New variable.
5847 (grub_efiemu_free_syms): Free relocated_handle.
5848 (grub_efiemu_alloc_syms): Allocate relocated_handle.
5849 (grub_efiemu_write_sym_markers): New function.
5850 (grub_efiemu_set_virtual_address_map): Likewise.
5851
5852 Newer XNU parameters.
5853
5854 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
5855 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
5856 (grub_xnu_fill_devicetree): New prototype.
5857 (grub_xnu_heap_real_start): New variable.
5858 * loader/xnu.c (get_name_ptr): New function.
5859 (grub_xnu_load_driver): Fill namelen and name.
5860
5861 64-bit xnu support.
5862
5863 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
5864 and 'loader/macho64.c'.
5865 * conf/i386-pc.rmk: Likewise.
5866 * conf/x86_64-efi.rmk: Likewise.
5867 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
5868 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
5869 * include/grub/macho.h (grub_macho_segment64): New structure.
5870 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
5871 (grub_macho_size32): ... to this.
5872 (grub_macho32_get_entry_point): Renamed from ...
5873 (grub_macho_get_entry_point32): ... to this.
5874 (grub_macho_contains_macho64): New prototype.
5875 (grub_macho_size64): Likewise.
5876 (grub_macho_get_entry_point64): Likewise.
5877 (grub_macho32_load): Renamed from ...
5878 (grub_macho_load32): ... to this.
5879 (grub_macho32_filesize): Renamed from ...
5880 (grub_macho_filesize32): ... to this.
5881 (grub_macho32_readfile): Renamed from ...
5882 (grub_macho_readfile32): ... to this.
5883 (grub_macho_filesize64): New prototype.
5884 (grub_macho_readfile64): Likewise.
5885 (grub_macho_parse32): Likewise.
5886 (grub_macho_parse64): Likewise.
5887 * loader/macho.c: Split into ...
5888 * loader/machoXX.c: ... and this. Replace 32 with XX.
5889 * loader/macho32.c: New file.
5890 * loader/macho64.c: Likewise.
5891 * loader/xnu.c (grub_xnu_is_64bit): New variable.
5892 (grub_cmd_xnu_kernel): Make 32-bit only.
5893 (grub_cmd_xnu_kernel64): New function.
5894 (grub_xnu_load_driver): Support Mach-O 64.
5895 (grub_cmd_xnu_mkext): Likewise.
5896 * util/grub.d/30_os-prober.in (osx_entry): New function.
5897 Generate entries for 64-bit boot too.
5898
5899 Eliminate ad-hoc tree format in XNU and EfiEmu.
5900
5901 * efiemu/main.c (grub_efiemu_prepare): Update comment.
5902 * efiemu/pnvram.c: Rewritten to use environment variables.
5903 All users updated.
5904
5905 Inline utf16_to_utf8.
5906
5907 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
5908 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
5909 All users updated.
5910 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
5911
5912 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
5913 * commands/usbtest.c (grub_usb_get_string): ... move here.
5914 (usb_print_str): Fix error handling.
5915 * include/grub/usb.h (grub_usb_get_string): Remove.
5916
5917 UTF-8 to UTF-16 transformation.
5918
5919 * conf/common.rmk (pkglib_MODULES): Add charset.mod
5920 (charset_mod_SOURCES): New variable.
5921 (charset_mod_CFLAGS): Likewise.
5922 (charset_mod_LDFLAGS): Likewise.
5923 * include/grub/utf.h: New file.
5924 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
5925
5926 Support for device properties.
5927
5928 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
5929 (grub_xnu_devprop_device_header): Likewise.
5930 (grub_xnu_devprop_device_descriptor): Likewise.
5931 (grub_xnu_devprop_add_device): New prototype.
5932 (grub_xnu_devprop_remove_device): Likewise.
5933 (grub_xnu_devprop_remove_property): Likewise.
5934 (grub_xnu_devprop_add_property_utf8): Likewise.
5935 (grub_xnu_devprop_add_property_utf16): Likewise.
5936 (grub_cpu_xnu_init): Likewise.
5937 (grub_cpu_xnu_fini): Likewise.
5938 (grub_cpu_xnu_unload): Likewise.
5939 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
5940 (property_descriptor): Likewise.
5941 (devices): New variable.
5942 (grub_xnu_devprop_remove_property): New function.
5943 (grub_xnu_devprop_add_device): Likewise.
5944 (grub_xnu_devprop_remove_device): Likewise.
5945 (grub_xnu_devprop_add_property): Likewise.
5946 (grub_xnu_devprop_add_property_utf8): Likewise.
5947 (grub_xnu_devprop_add_property_utf16): Likewise.
5948 (hextoval): Likewise.
5949 (grub_cpu_xnu_fill_devprop): Likewise.
5950 (grub_cmd_devprop_load): Likewise.
5951 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
5952 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
5953 (cmd_devprop_load): New variable.
5954 (grub_cpu_xnu_init): New function.
5955 (grub_cpu_xnu_fini): Likewise.
5956 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
5957 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
5958 (grub_cmd_xnu_devtree): Likewise.
5959 (hextoval): New function.
5960 (unescape): Likewise.
5961 (grub_xnu_fill_devicetree): Likewise.
5962
5963 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
5964 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
5965
5966 2009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
5967
5968 Workaround for broken ATI VBE.
5969
5970 * video/i386/pc/vbe.c (last_set_mode): New variable.
5971 (grub_vbe_set_video_mode): Set 'last_set_mode'.
5972 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
5973 (grub_video_vbe_setup): Don't check for reserved flag.
5974
5975 2009-12-17 Felix Zielcke <fzielcke@z-51.de>
5976
5977 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
5978 the `find' command.
5979
5980 2009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
5981
5982 UUID support for HFS.
5983
5984 * fs/hfs.c (grub_hfs_uuid): New function.
5985 (grub_hfs_fs): New value .uuid.
5986 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
5987
5988 2009-12-14 Felix Zielcke <fzielcke@z-51.de>
5989
5990 Fix a segfault with parsing unknown long options.
5991
5992 * util/grub-mkrelpath.c (options): Zero terminate it.
5993
5994 2009-12-13 Carles Pina i Estany <carles@pina.cat>
5995
5996 * include/grub/misc.h (grub_puts): New declaration.
5997 (grub_puts_): Likewise.
5998 * kern/misc.c (grub_puts): New definition.
5999 (grub_puts_): Likewise.
6000
6001 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
6002
6003 * util/grub-probe.c (probe): Improve error message.
6004
6005 2009-12-13 Robert Millan <rmh.grub@aybabtu.com>
6006
6007 * loader/i386/multiboot_elfxx.c
6008 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
6009 initialization.
6010
6011 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6012
6013 Relocator framework
6014
6015 * loader/i386/xnu_helper.S: Removed. All users updated.
6016 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
6017 (relocator_mod_SOURCES): New variable.
6018 (relocator_mod_CFLAGS): Likewise.
6019 (relocator_mod_LDFLAGS): Likewise.
6020 (relocator_mod_ASFLAGS): Likewise.
6021 * conf/x86_64.rmk: Likewise.
6022 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
6023 (grub_multiboot_payload_entry_offset): Likewise.
6024 (grub_multiboot_forward_relocator): Likewise.
6025 (grub_multiboot_forward_relocator_end): Likewise.
6026 (grub_multiboot_backward_relocator): Likewise.
6027 (grub_multiboot_backward_relocator_end): Likewise.
6028 (grub_multiboot_payload_eip): New variable.
6029 (grub_multiboot_payload_orig): Likewise.
6030 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
6031 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
6032 * include/grub/i386/memory.h
6033 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
6034 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
6035 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
6036 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
6037 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
6038 * include/grub/i386/relocator.h: New file.
6039 * include/grub/x86_64/relocator.h: Likewise.
6040 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
6041 (XNU_RELOCATOR): New macro.
6042 (grub_xnu_launcher_start): Remove.
6043 (grub_xnu_launcher_end): Likewise.
6044 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
6045 (grub_xnu_heap_real_start): Remove.
6046 (grub_xnu_heap_start): Change to void *. All users updated.
6047 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
6048 * lib/i386/relocator.c: New file.
6049 * lib/i386/relocator_asm.S: Likewise.
6050 * lib/i386/relocator_backward.S: Likewise.
6051 * lib/mips/relocator.c: Likewise.
6052 * lib/mips/relocator_asm.S: Likewise.
6053 * lib/relocator.c: Likewise.
6054 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
6055 (entry): Removed.
6056 (playground): Likewise.
6057 (grub_multiboot_payload_orig): New variable.
6058 (grub_multiboot_payload_dest): Likewise.
6059 (grub_multiboot_payload_size): Likewise.
6060 (grub_multiboot_payload_eip): Likewise.
6061 (grub_multiboot_payload_esp): Likewise.
6062 (grub_multiboot_boot): Use grub_relocator32_boot.
6063 (grub_multiboot_unload): Free relocators.
6064 (grub_multiboot): Setup stack. Use relocators.
6065 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
6066 (grub_multiboot_load_elfXX): Use relocators.
6067 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
6068 (grub_multiboot_payload_size): Likewise.
6069 (grub_multiboot_payload_dest): Likewise.
6070 (grub_multiboot_payload_entry_offset): Likewise.
6071 (grub_multiboot_forward_relocator): Likewise.
6072 (grub_multiboot_backward_relocator): Likewise.
6073 (grub_multiboot_real_boot): Likewise.
6074 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
6075 (grub_xnu_entry_point): Likewise.
6076 (grub_xnu_arg1): Likewise.
6077 (grub_xnu_stack): Likewise.
6078 (grub_xnu_launch): Removed.
6079 (grub_xnu_boot_resume): New function.
6080 (grub_xnu_boot): Use relocators.
6081 * loader/i386/xnu_helper.S: Removed.
6082 * loader/xnu.c (grub_xnu_heap_start): New variable.
6083 (grub_xnu_heap_size): Likewise.
6084 (grub_xnu_heap_malloc): Use relocators.
6085 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
6086
6087 2009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
6088
6089 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
6090 anything.
6091
6092 2009-12-13 Carles Pina i Estany <carles@pina.cat>
6093
6094 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
6095 GRUB_ERR_NONE before calling grub_env_set.
6096
6097 2009-12-12 Robert Millan <rmh@aybabtu.com>
6098
6099 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
6100 * genmk.rb (video): New variable.
6101 (CLEANFILES, VIDEOFILES): Add #{video}.
6102 (#{video}): New target rule.
6103 * genvideolist.sh: New file.
6104 * Makefile.in (pkglib_DATA): Add video.lst.
6105 (video.lst): New target rule.
6106 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
6107 `video.lst'.
6108 * util/grub.d/30_os-prober.in: Replace `vbe' with
6109 ${GRUB_VIDEO_BACKEND}.
6110
6111 2009-12-11 Robert Millan <rmh.grub@aybabtu.com>
6112
6113 * THANKS: Add David Miller.
6114
6115 2009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
6116
6117 libpciaccess support.
6118
6119 * Makefile.in (LIBPCIACCESS): New variable.
6120 (enable_grub_emu_pci): Likewise.
6121 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
6122 util/pci.c and commands/lspci.c.
6123 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
6124 * configure.ac (grub-emu-pci): New option.
6125 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
6126 (grub_pci_device_unmap_range): Likewise.
6127 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
6128 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
6129 (grub_pci_address_t) [!GRUB_UTIL]: New type.
6130 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
6131 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
6132 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
6133 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
6134 * include/grub/pciutils.h: New file.
6135 * util/pci.c: Likewise.
6136
6137 2009-12-11 Felix Zielcke <fzielcke@z-51.de>
6138
6139 * util/misc.c: Don't include <errno.h> twice.
6140
6141 2009-12-10 Felix Zielcke <fzielcke@z-51.de>
6142
6143 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
6144 name in an error message.
6145 (grub_biosdisk_rw): Likewise.
6146
6147 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6148
6149 Eliminate NTFS 4Gib barrier.
6150
6151 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
6152 (read_run_data): Likewise.
6153 (grub_ntfs_read_run_list): Likewise.
6154 (grub_ntfs_read_block): Likewise.
6155 (grub_ntfs_iterate_dir): Likewise.
6156 (read_mft): Likewise.
6157 (read_data): Likewise.
6158 Use COM_LOG_LEN.
6159 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
6160 to avoid 64-bit division
6161 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
6162 (grub_ntfs_rlst): Use grub_disk_addr_t.
6163
6164 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6165
6166 Eliminate grub-fstest 4Gib barrier.
6167
6168 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
6169 (read_file): Fix error reporting.
6170
6171 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6172
6173 Eliminate hexdump 4Gib barrier.
6174
6175 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
6176 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
6177
6178 2009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
6179
6180 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
6181 Fixes amarsh bug.
6182
6183 2009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
6184
6185 Remove miscellaneous files in distclean target.
6186
6187 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
6188
6189 2009-12-09 Colin Watson <cjwatson@ubuntu.com>
6190
6191 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
6192 if they're already set. This resolves the conflict between my
6193 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
6194 fixing the --grub-probe option again.
6195 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
6196 change on 2009-10-06, so that we now once again source
6197 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
6198
6199 2009-12-08 Robert Millan <rmh.grub@aybabtu.com>
6200
6201 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
6202 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
6203 `util/devicemap.c'.
6204
6205 2009-12-08 Carles Pina i Estany <carles@pina.cat>
6206
6207 * include/grub/misc.h (grub_printf_): New declaration.
6208 * kern/misc.c (grub_printf_): New definition.
6209 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
6210 instead of `grub_printf' and `_'.
6211 * normal/menu_entry.c (store_completion): Likewise.
6212 (run): Likewise.
6213 (grub_menu_entry_run): Likewise.
6214 * normal/menu_text.c (grub_wait_after_message): Likewise.
6215 (notify_booting): Likewise.
6216 (notify_fallback): Likewise.
6217 (notify_execution_failure): Likewise.
6218
6219 2009-12-07 Colin Watson <cjwatson@ubuntu.com>
6220
6221 * configure.ac: Check for vasprintf.
6222 * util/misc.c (asprintf): Move allocation from here ...
6223 (vasprintf): ... to here. New function.
6224 (xasprintf): New function.
6225 * include/grub/util/misc.h (vasprintf, xasprintf): Add
6226 prototypes.
6227 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
6228 * util/grub-mkfont.c (write_font): Likewise.
6229 * util/grub-probe.c (probe): Likewise.
6230 * util/hostdisk.c (make_device_name): Likewise.
6231
6232 2009-12-06 David S. Miller <davem@sunset.davemloft.net>
6233
6234 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
6235 anything even prefixed with 'cdrom' as a cdrom.
6236
6237 2009-12-06 Felix Zielcke <fzielcke@z-51.de>
6238
6239 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
6240 mount points.
6241
6242 2009-12-05 Carles Pina i Estany <carles@pina.cat>
6243
6244 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
6245 grub_gettext_msg_list.
6246 (grub_gettext_gettranslation_from_position): Return const char *
6247 and not char *.
6248 (grub_gettext_translate): Add the translated strings into a list,
6249 returns from the list if existing there.
6250 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
6251 (grub_gettext_delete_list): Delete the list.
6252 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
6253 lang environment variable is changed.
6254 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
6255
6256 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
6257
6258 Rename kernel.mod to kernel.img.
6259
6260 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
6261 (kernel_mod_EXPORTS): Rename to ...
6262 (kernel_img_EXPORTS): ... this.
6263 (kernel_mod_SOURCES): Rename to ...
6264 (kernel_img_SOURCES): ... this.
6265 (kernel_mod_HEADERS): Rename to ...
6266 (kernel_img_HEADERS): ... this. All users updated.
6267 (kernel_mod_CFLAGS): Rename to ...
6268 (kernel_img_CFLAGS): ... this.
6269 (kernel_mod_ASFLAGS): Rename to ...
6270 (kernel_img_ASFLAGS): ... this.
6271 (kernel_mod_LDFLAGS): Rename to ...
6272 (kernel_img_LDFLAGS): ... this.
6273 * conf/x86_64-efi.rmk: Likewise.
6274 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
6275 (read_kernel_image): ... this. All users updated.
6276 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
6277
6278 2009-12-05 Carles Pina i Estany <carles@pina.cat>
6279
6280 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
6281 (print_spaces): New function.
6282 (grub_print_ucs4): New function.
6283 (getstringwidth): New function.
6284 (print_message_indented): New function.
6285 (print_message): Gettexttize strings using print_message_indented.
6286 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
6287 width.
6288 (get_entry_number): Gettextize and uses dynamic terminal width.
6289 (notify_booting, notify_fallback, notify_execution_failure):
6290 Gettextize.
6291 * normal/menu_entry.c (store_completion): Cleanup the gettextized
6292 string.
6293 (run): Likewise.
6294 (grub_menu_entry_run): Likewise.
6295 * PO/POTFILES: Add normal/menu_entry.c.
6296
6297 2009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
6298
6299 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
6300
6301 2009-12-05 Carles Pina i Estany <carles@pina.cat>
6302
6303 * util/grub-install.in: Install gettext .mo files.
6304 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
6305
6306 2009-12-05 Carles Pina i Estany <carles@pina.cat>
6307
6308 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
6309 grub_dprintf.
6310
6311 2009-12-05 Robert Millan <rmh.grub@aybabtu.com>
6312
6313 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
6314 non-firmware-dependant one in realmode.S takes precedence.
6315
6316 2009-12-04 Robert Millan <rmh.grub@aybabtu.com>
6317
6318 * commands/halt.c: Replace misc arch-specific headers with
6319 `<grub/misc.h>'.
6320 * commands/reboot.c: Likewise.
6321 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
6322 `<grub/misc.h>'.
6323 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
6324 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
6325 (kernel_img_SOURCES): ... to here.
6326
6327 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
6328 * include/grub/i386/pc/init.h: Likewise.
6329 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
6330 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
6331
6332 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
6333
6334 * include/grub/i386/halt.h: Remove.
6335 * include/grub/i386/reboot.h: Likewise.
6336
6337 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
6338
6339 2009-12-03 David S. Miller <davem@sunset.davemloft.net>
6340
6341 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
6342 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
6343 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
6344 "progname.h"
6345 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
6346 * util/sparc64/ieee1275/grub-setup.c: Likewise.
6347 (usage): Add missing comma in printf.
6348
6349 2009-12-02 Robert Millan <rmh.grub@aybabtu.com>
6350
6351 Use the same reboot approach on i386 coreboot and qemu as we do on
6352 BIOS.
6353
6354 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
6355 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
6356 * kern/i386/reboot.c: Remove.
6357 * include/grub/i386/reboot.h (grub_reboot): Export function.
6358 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
6359 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
6360 0xf000:0xfff0 instead of 0xffff:0x0000.
6361 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
6362 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
6363
6364 2009-11-30 Robert Millan <rmh.grub@aybabtu.com>
6365
6366 Fix $srcdir != $objdir build.
6367
6368 * Makefile.in (po/%.po): Rewrite as ...
6369 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
6370
6371 2009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
6372
6373 Fix GNU/Hurd grub-install crash.
6374 * util/grub-probe.c (probe): Try to access `path' only when it is not
6375 NULL.
6376
6377 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
6378
6379 Correct module naming.
6380
6381 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
6382 (GRUB_MOD_INIT(efi_uga)): ... to this
6383 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
6384 (GRUB_MOD_FINI(efi_uga)): ... to this
6385 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
6386 (GRUB_MOD_INIT(efi_gop)): ... to this
6387 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
6388 (GRUB_MOD_FINI(efi_gop)): ... to this
6389
6390 2009-11-28 Robert Millan <rmh.grub@aybabtu.com>
6391
6392 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
6393 translatable.
6394 (usage): Translate `arg' strings using gettext().
6395 Thanks to Jordi Mallach for the suggestion.
6396
6397 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
6398
6399 GOP support. Based on patch from Bean
6400 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
6401
6402 * video/efi_gop.c: New file.
6403 * include/grub/efi/graphics_output.h: Likewise.
6404 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
6405 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
6406 variables.
6407 * conf/x86_64-efi.rmk: Likewise.
6408
6409 2009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
6410
6411 Rename efi_fb to efi_uga.
6412
6413 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
6414 'efi_uga.mod'.
6415 (efi_fb_mod_SOURCES): Rename this ...
6416 (efi_uga_mod_SOURCES): ... to this.
6417 (efi_fb_mod_CFLAGS): Rename this ...
6418 (efi_uga_mod_CFLAGS): ... to this.
6419 (efi_fb_mod_LDFLAGS): Rename this ...
6420 (efi_uga_mod_LDFLAGS): ... to this.
6421 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
6422 'efi_uga.mod'.
6423 (efi_fb_mod_SOURCES): Rename this ...
6424 (efi_uga_mod_SOURCES): ... to this.
6425 (efi_fb_mod_CFLAGS): Rename this ...
6426 (efi_uga_mod_CFLAGS): ... to this.
6427 (efi_fb_mod_LDFLAGS): Rename this ...
6428 (efi_uga_mod_LDFLAGS): ... to this.
6429 * video/efi_fb.c: Move this ...
6430 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
6431
6432 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
6433
6434 * po/README: New file. Explain our PO file workflow.
6435
6436 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
6437
6438 * po/ChangeLog: Remove. Move relevant entries back to ...
6439 * ChangeLog: ... here.
6440 * po/ca.po: Remove (now handled by TLP).
6441 * po/id.po: Likewise.
6442 * po/zh_CN.po: Likewise.
6443 * Makefile.in (LINGUAS): Initialize in a way that supports
6444 empty set.
6445
6446 2009-11-27 Robert Millan <rmh.grub@aybabtu.com>
6447
6448 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
6449 reliing on po/LINGUAS.
6450 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
6451 (po/%.po): ... this.
6452
6453 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
6454
6455 * util/i386/efi/grub-mkimage.c: Include "progname.h".
6456 (main): Use `program_name' instead of nonexistent `progname'.
6457
6458 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
6459
6460 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
6461 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
6462
6463 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
6464
6465 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
6466 commit.
6467 * conf/i386-efi.rmk: Likewise.
6468 * conf/i386-ieee1275.rmk: Likewise.
6469 * conf/powerpc-ieee1275.rmk: Likewise.
6470 * conf/sparc64-ieee1275.rmk: Likewise.
6471 * conf/x86_64-efi.rmk: Likewise.
6472
6473 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
6474
6475 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
6476
6477 2009-11-26 Felix Zielcke <fzielcke@z-51.de>
6478
6479 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
6480
6481 2009-11-26 Robert Millan <rmh.grub@aybabtu.com>
6482
6483 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
6484 (grub_mkdevicemap_SOURCES): New variable.
6485 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
6486 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
6487 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
6488 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
6489 (grub_mkdevicemap_SOURCES): Remove.
6490 * conf/i386-efi.rmk: Likewise.
6491 * conf/i386-ieee1275.rmk: Likewise.
6492 * conf/i386-pc.rmk: Likewise.
6493 * conf/powerpc-ieee1275.rmk: Likewise.
6494 * conf/sparc64-ieee1275.rmk: Likewise.
6495 * conf/x86_64-efi.rmk: Likewise.
6496 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
6497 (usage): Fix strings to use `program_name'.
6498 (main): Initialize gettext.
6499 * util/grub-editenv.c: Likewise.
6500 * util/grub-emu.c: Likewise.
6501 * util/grub-fstest.c: Likewise.
6502 * util/grub-mkdevicemap.c: Likewise.
6503 * util/grub-mkfont.c: Likewise.
6504 * util/grub-mkrelpath.c: Likewise.
6505 * util/grub-pe2elf.c: Likewise.
6506 * util/grub-probe.c: Likewise.
6507 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
6508 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
6509 * util/sparc64/ieee1275/grub-setup.c: Likewise.
6510
6511 * util/misc.c: Include `"progname.h"'.
6512 (progname): Remove variable.
6513 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
6514
6515 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
6516
6517 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
6518 printf and print a newline after the menuentry header line.
6519 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
6520
6521 2009-11-25 Felix Zielcke <fzielcke@z-51.de>
6522
6523 autoconf >= 2.60 support $(localedir).
6524
6525 * INSTALL: Note that autoconf 2.60 is required.
6526 * configure.ac (AC_PREREQ): Bump to 2.60.
6527 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
6528 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
6529
6530 2009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
6531
6532 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
6533 aclocal is run.
6534
6535 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
6536
6537 * normal/main.c (grub_normal_read_line): Fix off-by-one
6538 buffer overflow.
6539
6540 2009-11-25 Robert Millan <rmh.grub@aybabtu.com>
6541
6542 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
6543 "parser.grub" in grub_command_execute() call.
6544
6545 2009-11-24 Carles Pina i Estany <carles@pina.cat>
6546
6547 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
6548 * conf/i386-efi.rmk: Likewise.
6549 * conf/i386-ieee1275.rmk: Likewise.
6550 * conf/i386-pc.rmk: Likewise.
6551 * conf/powerpc-ieee1275.rmk: Likewise.
6552 * conf/sparc64-ieee1275.rmk: Likewise.
6553 * conf/x86_64-efi.rmk: Likewise.
6554 * gettext/gettex.c: Include <grub/i18n.h>.
6555 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
6556 here ...
6557 * include/grub/i18n.h: ... to here
6558 * include/grub/i18n.h: ... to here.
6559 * kern/misc.c: Include <grub/i18n.h>
6560 (grub_gettext_dummy): Move above user.
6561
6562 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
6563
6564 * util/Makefile.in (install-local): Convert a `for' into a normal
6565 shell expansion.
6566
6567 2009-11-24 Robert Millan <rmh.grub@aybabtu.com>
6568
6569 * autogen.sh: Add automake call.
6570 * config.guess: Remove.
6571 * config.sub: Likewise.
6572 * install-sh: Likewise.
6573
6574 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
6575
6576 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
6577
6578 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
6579
6580 * util/Makefile.in (install-local): Convert a make `$(foreach)'
6581 function to a normal shell `for'.
6582
6583 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
6584
6585 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
6586
6587 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
6588
6589 * util/grub-mkrelpath.c: New file.
6590 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
6591 (grub_mkrelpath_SOURCES): New variable.
6592 * include/grub/util/misc.h: New function prototype.
6593 * util/misc.c (make_system_path_relative_to_its_root): New function.
6594
6595 * util/grub-mkconfig_lib.in (bindir): New variable.
6596 (grub_mkrelpath): Likewise.
6597 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
6598
6599 * util/probe.c (probe): Make the file path relative to its root.
6600 Change a info message to use the GRUB path. Enable again the
6601 check if we can read the file with GRUB facilities.
6602
6603 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
6604 to its root.
6605
6606 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
6607
6608 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
6609 platform.
6610
6611 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
6612
6613 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
6614 strncmp().
6615
6616 2009-11-24 Felix Zielcke <fzielcke@z-51.de>
6617
6618 * util/getroot.c (grub_util_is_dmraid): New function.
6619 (grub_util_get_dev_abstraction): Treat dmraid and multipath
6620 devices as normal ones, not as LVM.
6621
6622 2009-11-23 Carles Pina i Estany <carles@pina.cat>
6623
6624 * conf/common.rmk: Add grub-gettext_lib target and updates
6625 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
6626 LDFLAGS.
6627 * gettext/gettext.c: New file. (Reads mo files).
6628 * include/grub/file.h (grub_file_pread): New prototype.
6629 * include/grub/i18n.h (_): New prototype.
6630 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
6631 prototypes.
6632 * kern/misc.c (grub_gettext_dummy): New function.
6633 * normal/menu_text.c: Include <grub/i18n.h>.
6634 * normal/menu_text.c (print_timeout): Gettexttize string.
6635 * normal/menu_text.c (print_message): Gettexttize string.
6636 * po/POTFILES: Add `normal/menu_text.c'.
6637 * po/ca.po: Add new translations.
6638 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
6639 gettext module and defines locale_dir and lang in grub.cfg.
6640 * NEWS: Add gettext support.
6641
6642 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
6643
6644 * util/hostdisk.c: Include `<grub/i18n.h>'.
6645 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
6646 (make_device_name): Rewrite using asprintf.
6647 (convert_system_partition_to_system_disk): Replace 0 with NULL.
6648 (find_system_device): If a device is not found, generate one just
6649 by reusing the OS path name.
6650 (read_device_map): Make it permissible for device.map not to exist.
6651
6652 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
6653
6654 * script/sh/execute.c: Move from here ...
6655 * script/execute.c: ... to here. Update all users.
6656 * script/sh/function.c: Move from here ...
6657 * script/function.c: ... to here. Update all users.
6658 * script/sh/lexer.c: Move from here ...
6659 * script/lexer.c: ... to here. Update all users.
6660 * script/sh/main.c: Move from here ...
6661 * script/main.c: ... to here. Update all users.
6662 * script/sh/parser.y: Move from here ...
6663 * script/parser.y: ... to here. Update all users.
6664 * script/sh/script.c: Move from here ...
6665 * script/script.c: ... to here. Update all users.
6666
6667 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
6668
6669 * configure.ac: Detect all `emu' platforms. Define
6670 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
6671 --enable-grub-emu logic. Disable include/grub/machine
6672 symlink on `emu' platforms.
6673
6674 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
6675 * gensymlist.sh.in: Likewise.
6676
6677 * include/grub/i386/coreboot/machine.h: Remove file.
6678 * include/grub/i386/efi/machine.h: Likewise.
6679 * include/grub/i386/ieee1275/machine.h: Likewise.
6680 * include/grub/i386/pc/machine.h: Likewise.
6681 * include/grub/i386/qemu/machine.h: Likewise.
6682 * include/grub/powerpc/ieee1275/machine.h: Likewise.
6683 * include/grub/sparc64/ieee1275/machine.h: Likewise.
6684 * include/grub/x86_64/efi/machine.h: Likewise.
6685
6686 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
6687 * commands/halt.c: Likewise.
6688 * commands/reboot.c: Likewise.
6689 * include/grub/autoefi.h: Likewise.
6690 * include/grub/i386/at_keyboard.h: Likewise.
6691 * include/grub/i386/kernel.h: Likewise.
6692 * include/grub/i386/loader.h: Likewise.
6693 * include/grub/i386/pc/memory.h: Likewise.
6694 * kern/dl.c: Likewise.
6695 * kern/i386/coreboot/init.c: Likewise.
6696 * loader/i386/bsd.c: Likewise.
6697 * loader/i386/linux.c: Likewise.
6698 * loader/multiboot_loader.c: Likewise.
6699 * term/i386/pc/serial.c: Likewise.
6700 * term/usb_keyboard.c: Likewise.
6701
6702 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
6703 `<grub/machine/machine.h>'
6704 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
6705 * util/misc.c: Remove `<grub/machine/machine.h>' and
6706 `<grub/machine/time.h>'.
6707
6708 * Makefile.in (enable_grub_emu): Remove variable.
6709 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
6710
6711 * conf/any-emu.rmk: New file.
6712 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
6713 (grub_emu_init.c): Move from here ...
6714 * conf/any-emu.rmk: ... to here.
6715
6716 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
6717 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
6718 * conf/any-emu.rmk: ... to here.
6719
6720 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
6721
6722 * include/grub/parser.h (grub_parser_register): Document need
6723 of `name' parameter.
6724 * normal/main.c (grub_normal_read_line): Simplify prompt string.
6725 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
6726 "sh" to "grub".
6727
6728 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
6729
6730 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
6731 `$(XGETTEXT)'.
6732 * include/grub/i18n.h (N_): New macro.
6733 * util/mkisofs/mkisofs.h: Likewise.
6734 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
6735 around N_().
6736 (usage): Use gettext() to translate help strings when printing them.
6737
6738 2009-11-23 Robert Millan <rmh.grub@aybabtu.com>
6739
6740 Based on patch from Bean
6741 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
6742
6743 * video/efi_fb.c: New file.
6744 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
6745 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
6746 variables.
6747 * conf/x86_64-efi.rmk: Likewise.
6748
6749 2009-11-22 Robert Millan <rmh.grub@aybabtu.com>
6750
6751 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
6752 * util/i386/pc/grub-setup.c: Likewise.
6753
6754 2009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
6755
6756 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
6757 <hurd/fs.h>
6758 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
6759 file_get_storage_info to implement grub_guess_root_device.
6760
6761 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
6762
6763 * Makefile.in (target): Use make's builtin $(shell) function
6764 instead of calling directly $(SHELL) to create the locale directories,
6765 inside the $(foreach) function.
6766
6767 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
6768
6769 * util/grub-mkrescue.in: Print an error and usage if output option
6770 has not been given.
6771
6772 2009-11-21 Felix Zielcke <fzielcke@z-51.de>
6773
6774 Patch from Loïc Minier <loic.minier@ubuntu.com>.
6775 * util/grub.d/30_os-prober.in: Cope with Linux entries where
6776 root and /boot are on different devices.
6777
6778 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
6779
6780 Fix build for srcdir != objdir.
6781
6782 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
6783 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
6784 $(srcdir).
6785 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
6786 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
6787 reference for input.
6788
6789 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
6790
6791 * util/grub-mkrescue.in: Use source directory direcly (without copiing
6792 or hardlinking it). Remove -J option, Joliet is not compatible with
6793 multiple source directories.
6794
6795 2009-11-21 Carles Pina i Estany <carles@pina.cat>
6796 2009-11-21 Robert Millan <rmh.grub@aybabtu.com>
6797
6798 * util/grub-mkrescue.in: Recognize `--override-directory' option.
6799 (process_input_dir): New function. Process an arbitrary input
6800 directory.
6801 Misc adjustments to support both "override mode" and system-wide mode.
6802
6803 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
6804
6805 * configure.ac (UNIFONT_BDF): Rename to ...
6806 (FONT_SOURCE): ... this. Update all users.
6807
6808 2009-11-20 Felix Zielcke <fzielcke@z-51.de>
6809
6810 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
6811 to the list of unifont files to look for.
6812
6813 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
6814
6815 Patch from Joe Auricchio <jauricchio@gmail.com>
6816 * commands/minicmd.c (grub_mini_cmd_clear): New function.
6817 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
6818 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
6819
6820 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
6821
6822 * Makefile.in (install-local): Add a missing backslash.
6823
6824 2009-11-19 Felix Zielcke <fzielcke@z-51.de>
6825
6826 * include/grub/x86_64/io.h: New file.
6827
6828 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
6829
6830 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
6831 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
6832 Include `"progname.h"'.
6833 (main): Initialize gettext.
6834 * util/i386/pc/grub-setup.c: Gettexttize.
6835 * util/i386/pc/grub-mkimage.c: Likewise.
6836
6837 * Makefile.in (po/*.po): Redefine as ...
6838 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
6839
6840 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
6841
6842 2009-11-19 Robert Millan <rmh.grub@aybabtu.com>
6843
6844 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
6845 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
6846 (program_name): Remove.
6847 (main): Initialize gettext support.
6848 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
6849 Include `<libintl.h>'.
6850 (_): New macro.
6851
6852 * util/mkisofs/eltorito.c: Gettexttize.
6853 * util/mkisofs/joliet.c: Likewise.
6854 * util/mkisofs/mkisofs.c: Likewise.
6855 * util/mkisofs/multi.c: Likewise.
6856 * util/mkisofs/rock.c: Likewise.
6857 * util/mkisofs/tree.c: Likewise.
6858 * util/mkisofs/write.c: Likewise.
6859
6860 * po/POTFILES: Update with new files.
6861
6862 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
6863
6864 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
6865 * util/mkisofs/iso9660.h: Likewise.
6866 * util/mkisofs/joliet.c: Likewise.
6867 * util/mkisofs/mkisofs.c: Likewise.
6868 * util/mkisofs/mkisofs.h: Likewise.
6869 * util/mkisofs/rock.c: Likewise.
6870 * util/mkisofs/tree.c: Likewise.
6871 * util/mkisofs/write.c: Likewise.
6872
6873 * util/mkisofs/eltorito.c (rcsid): Remove.
6874 * util/mkisofs/hash.c: Likewise.
6875 * util/mkisofs/joliet.c: Likewise.
6876 * util/mkisofs/name.c: Likewise.
6877 * util/mkisofs/rock.c: Likewise.
6878 * util/mkisofs/tree.c: Likewise.
6879 * util/mkisofs/write.c: Likewise.
6880
6881 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
6882
6883 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
6884 instead of static allocation.
6885 * util/mkisofs/match.h: Likewise.
6886
6887 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
6888
6889 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
6890 and `util/grub.d/10_linux.in'.
6891 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
6892 translatable Shell files.
6893
6894 2009-11-18 Robert Millan <rmh.grub@aybabtu.com>
6895
6896 * Makefile.in ($(srcdir)/aclocal.m4): New target.
6897
6898 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
6899
6900 * INSTALL: Document Automake is needed for bootstrap.
6901 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
6902 * util/grub.d/10_kfreebsd.in (bindir): New variable.
6903 Add gettext initialization.
6904 (kfreebsd_entry): Make menuentry output translatable.
6905
6906 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
6907
6908 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
6909 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
6910 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
6911 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
6912 (LINGUAS): Auto-generate using `po/LINGUAS'.
6913 * po/LINGUAS: New file.
6914
6915 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
6916
6917 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
6918 other things).
6919 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
6920 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
6921 bindtextdomain() calls for gettext initialization.
6922
6923 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
6924
6925 * gnulib/progname.c: New file (imported from Gnulib).
6926 * gnulib/progname.h: Likewise.
6927 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
6928 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
6929 (usage): Replace `progname' with `program_name'.
6930 (main): Use set_program_name() for program name initialization.
6931
6932 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
6933
6934 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
6935 from here ...
6936 * Makefile.in (CPPFLAGS): ... to here.
6937
6938 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
6939
6940 * aclocal.m4: Move from here ...
6941 * acinclude.m4: ... to here.
6942 * autogen.sh: Add call to `aclocal'.
6943 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
6944
6945 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
6946
6947 * Makefile.in (CLEANFILES): Add `po/*.mo'.
6948 (LINGUAS): New variable.
6949 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
6950 (install-local): Install MO files.
6951 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
6952 * include/grub/i18n.h: New file.
6953 * po/POTFILES: New file.
6954 * po/ca.po: New file.
6955 * util/grub.d/10_linux.in (bindir): New variable.
6956 Add gettext initialization.
6957 (linux_entry): Make menuentry output translatable.
6958 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
6959 (usage): Make --help output translatable.
6960 (main): Initialize gettext.
6961
6962 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
6963
6964 * import_gcry.py: New file (written by Vladimir with minor
6965 adjustments).
6966 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
6967 ciphers.
6968 * INSTALL: Document that Python is required for bootstrap.
6969
6970 2009-11-17 Robert Millan <rmh.grub@aybabtu.com>
6971
6972 Import ciphers from libgcrypt 1.4.4.
6973
6974 * lib/libgcrypt/cipher/ChangeLog
6975 * lib/libgcrypt/cipher/ac.c
6976 * lib/libgcrypt/cipher/arcfour.c
6977 * lib/libgcrypt/cipher/bithelp.h
6978 * lib/libgcrypt/cipher/blowfish.c
6979 * lib/libgcrypt/cipher/camellia-glue.c
6980 * lib/libgcrypt/cipher/camellia.c
6981 * lib/libgcrypt/cipher/camellia.h
6982 * lib/libgcrypt/cipher/cast5.c
6983 * lib/libgcrypt/cipher/cipher.c
6984 * lib/libgcrypt/cipher/crc.c
6985 * lib/libgcrypt/cipher/des.c
6986 * lib/libgcrypt/cipher/dsa.c
6987 * lib/libgcrypt/cipher/ecc.c
6988 * lib/libgcrypt/cipher/elgamal.c
6989 * lib/libgcrypt/cipher/hash-common.c
6990 * lib/libgcrypt/cipher/hash-common.h
6991 * lib/libgcrypt/cipher/hmac-tests.c
6992 * lib/libgcrypt/cipher/md.c
6993 * lib/libgcrypt/cipher/md4.c
6994 * lib/libgcrypt/cipher/md5.c
6995 * lib/libgcrypt/cipher/primegen.c
6996 * lib/libgcrypt/cipher/pubkey.c
6997 * lib/libgcrypt/cipher/rfc2268.c
6998 * lib/libgcrypt/cipher/rijndael-tables.h
6999 * lib/libgcrypt/cipher/rijndael.c
7000 * lib/libgcrypt/cipher/rmd.h
7001 * lib/libgcrypt/cipher/rmd160.c
7002 * lib/libgcrypt/cipher/rsa.c
7003 * lib/libgcrypt/cipher/seed.c
7004 * lib/libgcrypt/cipher/serpent.c
7005 * lib/libgcrypt/cipher/sha1.c
7006 * lib/libgcrypt/cipher/sha256.c
7007 * lib/libgcrypt/cipher/sha512.c
7008 * lib/libgcrypt/cipher/tiger.c
7009 * lib/libgcrypt/cipher/twofish.c
7010 * lib/libgcrypt/cipher/whirlpool.c
7011
7012 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
7013
7014 Fix build for systems without error().
7015
7016 * gnulib/error.c: New file (imported from Gnulib).
7017 * gnulib/error.h: Likewise.
7018 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
7019 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
7020 (this variable is now used by error()).
7021
7022 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
7023
7024 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
7025 instead of relying that char is signed.
7026
7027 2009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
7028
7029 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
7030 blocksize different from specified.
7031 (grub_pxefs_read): Likewise.
7032
7033 2009-11-16 Felix Zielcke <fzielcke@z-51.de>
7034
7035 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
7036
7037 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
7038 (grub_ata_readwrite): Likewise. Update 2 format strings.
7039 (grub_atapi_read): Likewise.
7040
7041 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
7042 * conf/i386.rmk (pkglib_MODULES): ... to here ...
7043 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
7044 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
7045 (ata_mod_LDFLAGS): Move from here ...
7046 * conf/i386.rmk: ... to here ...
7047 * conf/x86_64-efi.rmk: ... and here.
7048 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
7049 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
7050
7051 2009-11-16 Robert Millan <rmh.grub@aybabtu.com>
7052
7053 Relicense multiboot.h, with RMS' blessing.
7054
7055 * include/multiboot.h: Change to X11 license.
7056
7057 2009-11-15 Robert Millan <rmh.grub@aybabtu.com>
7058
7059 Support --version in grub-mkisofs.
7060
7061 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
7062 (OPTION_VERSION): New macro.
7063 (ld_options): Recognize --version.
7064 (usage): Move `program_name' from here ...
7065 (program_name): ... to here. Add `static' qualifier.
7066 (main): Recognize `OPTION_VERSION'.
7067
7068 2009-11-15 Felix Zielcke <fzielcke@z-51.de>
7069
7070 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
7071 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
7072
7073 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
7074
7075 Fix help2man generation for mkisofs.
7076
7077 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
7078 (usage): Send output to stdout (rather than stderr).
7079
7080 2009-11-14 Robert Millan <rmh.grub@aybabtu.com>
7081
7082 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
7083 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
7084 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
7085 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
7086 (bin_SCRIPTS): Add `grub-mkfloppy'.
7087 (grub_mkfloppy_SOURCES): New variable.
7088
7089 * util/grub-mkrescue.in: New file.
7090 * util/i386/pc/grub-mkfloppy.in: New file.
7091
7092 * util/i386/coreboot/grub-mkrescue.in: Remove.
7093 * util/i386/pc/grub-mkrescue.in: Remove.
7094
7095 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
7096
7097 * include/grub/multiboot.h (struct grub_multiboot_header): Move
7098 from here ...
7099 * include/multiboot.h (struct multiboot_header): ... to here. Update
7100 all users.
7101 * include/grub/multiboot.h (struct grub_multiboot_info): Move
7102 from here ...
7103 * include/multiboot.h (struct multiboot_info): ... to here. Update
7104 all users.
7105 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
7106 from here ...
7107 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
7108 Update all users.
7109 * include/grub/multiboot.h (struct grub_mod_list): Move
7110 from here ...
7111 * include/multiboot.h (struct multiboot_mod_list): ... to here.
7112 Update all users.
7113
7114 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
7115
7116 * include/multiboot2.h (multiboot_word): Rename from this ...
7117 (multiboot2_word): ... to this. Update all users.
7118 (multiboot_header): Rename from this ...
7119 (multiboot2_header): ... to this. Update all users.
7120 (multiboot_tag_header): Rename from this ...
7121 (multiboot2_tag_header): ... to this. Update all users.
7122 (multiboot_tag_start): Rename from this ...
7123 (multiboot2_tag_start): ... to this. Update all users.
7124 (multiboot_tag_name): Rename from this ...
7125 (multiboot2_tag_name): ... to this. Update all users.
7126 (multiboot_tag_module): Rename from this ...
7127 (multiboot2_tag_module): ... to this. Update all users.
7128 (multiboot_tag_memory): Rename from this ...
7129 (multiboot2_tag_memory): ... to this. Update all users.
7130 (multiboot_tag_unused): Rename from this ...
7131 (multiboot2_tag_unused): ... to this. Update all users.
7132 (multiboot_tag_end): Rename from this ...
7133 (multiboot2_tag_end): ... to this. Update all users.
7134
7135 2009-11-13 Robert Millan <rmh.grub@aybabtu.com>
7136
7137 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
7138 this platform we should support Multiboot1 first.
7139
7140 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
7141 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
7142 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
7143
7144 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
7145
7146 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
7147 of write calls (converting them to fwrite() if they aren't already).
7148 (get_torito_desc): Likewise.
7149 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
7150
7151 2009-11-12 Robert Millan <rmh.grub@aybabtu.com>
7152
7153 * util/i386/pc/grub-install.in: Move from here ...
7154 * util/grub-install.in: ... to here. Update all users.
7155
7156 2009-11-11 Colin Watson <cjwatson@ubuntu.com>
7157
7158 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
7159
7160 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
7161
7162 Support for El Torito without floppy emulation.
7163
7164 * util/mkisofs/eltorito.c: Include `<errno.h>'.
7165 (init_boot_catalog): Improve error handling.
7166 (get_torito_desc): Don't use floppy emulation unless requested by
7167 user. Patch boot information table when requested via
7168 `-boot-info-table'.
7169 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
7170 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
7171 (use_boot_info_table): New variables.
7172 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
7173 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
7174 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
7175 `--eltorito-emul-floppy'.
7176 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
7177 and `OPTION_ELTORITO_EMUL_FLOPPY'.
7178 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
7179 (use_boot_info_table, get_731): New prototypes.
7180 * util/mkisofs/write.c (get_731): New function.
7181
7182 2009-11-11 Felix Zielcke <fzielcke@z-51.de>
7183
7184 Fix the generation of the man page.
7185
7186 * util/pc/i386/grub-install.in: Source
7187 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
7188
7189 2009-11-11 Robert Millan <rmh.grub@aybabtu.com>
7190
7191 Large file support for grub-mkisofs.
7192
7193 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
7194 * util/mkisofs/mkisofs.c (next_extent, last_extent)
7195 (session_start): Upgrade type to `uint64_t'. Update all users.
7196 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
7197 (struct directory_entry): Upgrade type of `starting_block' and
7198 `size' to `uint64_t'. Update all users.
7199 (struct deferred): Remove unused structure.
7200 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
7201 Update all users.
7202 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
7203 file is larger than `UINT32_MAX'.
7204 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
7205 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
7206 return value.
7207 (struct deferred_write): Upgrade type of `extent' and `size' to
7208 `uint64_t'. Update all users.
7209 (last_extent_written): Upgrade type to `uint64_t'. Update all
7210 users.
7211 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
7212 Update all users. Upgrade type of `remain' to `int64_t' and
7213 `use' to `size_t'. Use error() to handle fread() errors.
7214 (write_files): Rely on write_one_file() rather than calling
7215 xfwrite() directly.
7216
7217 2009-11-09 Felix Zielcke <fzielcke@z-51.de>
7218
7219 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
7220
7221 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7222
7223 * util/mkisofs/fnmatch.c: Remove.
7224 * util/mkisofs/getopt1.c: Likewise.
7225 * util/mkisofs/getopt.c: Likewise.
7226 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
7227 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
7228 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
7229 `gnulib/getopt1.c' and `gnulib/getopt.c'.
7230 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
7231
7232 * configure.ac: Detect `mingw32msvc' host_os.
7233 Check for lstat(), getuid() and getgid().
7234
7235 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
7236 instances of `u_char' with `uint8_t'.
7237
7238 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
7239 [!HAVE_GETUID] (getuid): New function (stub).
7240 [!HAVE_GETGID] (getgid): Likewise.
7241 [!HAVE_LSTAT] (lstat): Likewise.
7242 [!S_IROTH] (S_IROTH): New macro (dummy).
7243 [!S_IRGRP] (S_IRGRP): Likewise.
7244
7245 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7246
7247 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
7248 conditional expression).
7249
7250 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7251
7252 Import from Gnulib.
7253
7254 * gnulib/fnmatch.c: New file.
7255 * gnulib/fnmatch.h: Likewise.
7256 * gnulib/fnmatch_loop.c: Likewise.
7257 * gnulib/getopt.c: Likewise.
7258 * gnulib/getopt.h: Likewise.
7259 * gnulib/getopt1.c: Likewise.
7260 * gnulib/getopt_int.h: Likewise.
7261 * gnulib/gettext.h: Likewise.
7262
7263 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7264
7265 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
7266 * normal/handler.c (read_handler_list): Likewise.
7267
7268 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7269
7270 Misc cleanup.
7271
7272 * kern/command.c (grub_register_command_prio): Use
7273 grub_zalloc() instead of explicitly zeroing data.
7274 * kern/list.c: Include `<grub/mm.h>'.
7275 (grub_named_list_find): Replace `0' with `NULL'.
7276 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
7277 (fs_module_list): Change type to `grub_named_list_t'. Update all
7278 users.
7279 * normal/dyncmd.c (read_command_list): Add space between function
7280 call and parenthesis.
7281 * normal/handler.c (read_handler_list): Likewise.
7282
7283 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7284
7285 * normal/auth.c (punishment_delay): Moved from here ...
7286 (grub_auth_strcmp): ... to here (inside function).
7287
7288 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7289
7290 * include/grub/list.h (struct grub_named_list): Remove `const'
7291 qualifier from `name'.
7292 (struct grub_prio_list): Likewise.
7293
7294 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7295
7296 * normal/auth.c: Include `<grub/time.h>'.
7297 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
7298
7299 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7300
7301 * normal/auth.c (punishment_delay): New variable.
7302 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
7303 (grub_auth_check_authentication): Punish failed login attempts with
7304 an incremental (2^N) delay.
7305
7306 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7307
7308 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
7309 path with $(srcdir).
7310
7311 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7312
7313 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
7314
7315 2009-11-09 Robert Millan <rmh.grub@aybabtu.com>
7316
7317 * util/i386/coreboot/grub-mkrescue.in: New file.
7318 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
7319 variables.
7320
7321 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
7322 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
7323 * configure.ac: Add header and function checks to satisfy grub-mkisofs
7324 requirements.
7325 * util/mkisofs/defaults.h: New file.
7326 * util/mkisofs/eltorito.c: Likewise.
7327 * util/mkisofs/exclude.h: Likewise.
7328 * util/mkisofs/fnmatch.c: Likewise.
7329 * util/mkisofs/getopt.c: Likewise.
7330 * util/mkisofs/getopt1.c: Likewise.
7331 * util/mkisofs/hash.c: Likewise.
7332 * util/mkisofs/include/fctldefs.h: Likewise.
7333 * util/mkisofs/include/mconfig.h: Likewise.
7334 * util/mkisofs/include/prototyp.h: Likewise.
7335 * util/mkisofs/include/statdefs.h: Likewise.
7336 * util/mkisofs/iso9660.h: Likewise.
7337 * util/mkisofs/joliet.c: Likewise.
7338 * util/mkisofs/match.c: Likewise.
7339 * util/mkisofs/match.h: Likewise.
7340 * util/mkisofs/mkisofs.c: Likewise.
7341 * util/mkisofs/mkisofs.h: Likewise.
7342 * util/mkisofs/multi.c: Likewise.
7343 * util/mkisofs/name.c: Likewise.
7344 * util/mkisofs/rock.c: Likewise.
7345 * util/mkisofs/tree.c: Likewise.
7346 * util/mkisofs/write.c: Likewise.
7347
7348 2009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
7349
7350 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
7351 being insecure.
7352
7353 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
7354
7355 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
7356 `grub-mkimage' (and use $0 when possible).
7357
7358 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
7359
7360 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
7361 error message for excessively large memory map.
7362
7363 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
7364
7365 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
7366 executable bit.
7367
7368 2009-11-08 Robert Millan <rmh.grub@aybabtu.com>
7369
7370 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
7371 message for coreboot users.
7372
7373 2009-11-07 Robert Millan <rmh.grub@aybabtu.com>
7374
7375 Fix build with GNU gold.
7376
7377 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
7378 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
7379 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
7380 link addresses.
7381 * aclocal.m4: Likewise.
7382
7383 2009-11-04 Felix Zielcke <fzielcke@z-51.de>
7384
7385 * configure.ac (AC_PREREQ): Bump to 2.59d.
7386 * INSTALL: Make it more clear when Autoconf and Ruby are
7387 needed and when to run `./autogen.sh'.
7388
7389 2009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
7390
7391 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
7392 OSes.
7393
7394 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
7395
7396 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
7397
7398 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
7399
7400 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
7401 giving it to GNU Mach.
7402
7403 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
7404
7405 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
7406 GNU partition number to get internal GRUB partition number.
7407
7408 2009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
7409
7410 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
7411 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
7412
7413 2009-11-01 Robert Millan <rmh.grub@aybabtu.com>
7414
7415 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
7416 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
7417 case.
7418
7419 2009-11-01 Felix Zielcke <fzielcke@z-51.de>
7420
7421 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
7422
7423 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
7424
7425 Fix build problem.
7426
7427 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
7428 `-isystem=$(srcdir)/include'.
7429
7430 2009-10-30 Robert Millan <rmh.grub@aybabtu.com>
7431
7432 * util/i386/pc/grub-install.in: Remove hint that device.map should be
7433 checked (grub-install doesn't currently rely on it).
7434
7435 2009-10-29 Robert Millan <rmh.grub@aybabtu.com>
7436
7437 Revert SVN r2660.
7438
7439 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
7440 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
7441 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
7442 * conf/i386-ieee1275.rmk: Likewise.
7443 * conf/i386-pc.rmk: Likewise.
7444 * conf/powerpc-ieee1275.rmk: Likewise.
7445 * conf/sparc64-ieee1275.rmk: Likewise.
7446 * conf/x86_64-efi.rmk: Likewise.
7447
7448 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
7449
7450 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
7451
7452 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
7453
7454 * include/grub/misc.h: Stop checking for APPLE_CC.
7455
7456 2009-10-28 Robert Millan <rmh.grub@aybabtu.com>
7457
7458 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
7459 doesn't cause an infinite call loop.
7460
7461 2009-10-28 Felix Zielcke <fzielcke@z-51.de>
7462
7463 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
7464 strings.
7465
7466 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7467
7468 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
7469 variable.
7470 * Makefile.in: Likewise.
7471
7472 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7473
7474 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
7475
7476 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7477
7478 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
7479
7480 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7481
7482 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
7483
7484 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7485
7486 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
7487 from here ...
7488 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
7489
7490 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7491
7492 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
7493 in $(MAKEINFO) invocation. This makes it clear in output that
7494 errors are being ignored.
7495
7496 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7497
7498 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
7499 from here ...
7500 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
7501 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
7502 * conf/i386-ieee1275.rmk: Likewise.
7503 * conf/i386-pc.rmk: Likewise.
7504 * conf/powerpc-ieee1275.rmk: Likewise.
7505 * conf/sparc64-ieee1275.rmk: Likewise.
7506 * conf/x86_64-efi.rmk: Likewise.
7507
7508 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
7509
7510 * util/grub-editenv.c (main): If only a command is given, use
7511 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
7512 (usage): FILENAME is now optional and has a default.
7513
7514 2009-10-26 Colin Watson <cjwatson@ubuntu.com>
7515
7516 Improve grub-mkconfig performance when there are several menu
7517 entries on a single filesystem.
7518
7519 * util/grub.d/10_linux.in (linux_entry): Cache the output of
7520 prepare_grub_to_access_device.
7521 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
7522 * util/grub.d/30_os-prober.in: Likewise.
7523
7524 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7525
7526 * util/grub.d/10_freebsd.in: Remove.
7527 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
7528 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
7529
7530 2009-10-26 Robert Millan <rmh.grub@aybabtu.com>
7531
7532 * docs/grub.cfg: Fix example usage of *BSD loaders.
7533
7534 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7535
7536 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
7537 grub_util_error() call.
7538
7539 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7540
7541 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
7542 `reserved_first_sector' member.
7543 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
7544 `reserved_first_sector' to 1.
7545 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
7546 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
7547 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
7548 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
7549 filesystems which begin at first sector.
7550 (options): New option --skip-fs-probe.
7551 (main): Handle --skip-fs-probe and pass it to setup().
7552
7553 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7554
7555 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
7556 (memset): Fix function prototype.
7557
7558 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7559 2009-10-25 Vasily Averin <vvs@parallels.com>
7560
7561 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
7562 `dirent.direntlen == 0'.
7563
7564 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7565
7566 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
7567 `cpio'.
7568 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
7569
7570 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7571
7572 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
7573 `__trampoline_setup' and `__ucmpdi2'.
7574 * include/grub/powerpc/libgcc.h: Only export symbols for functions
7575 that libgcc provides.
7576
7577 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7578
7579 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
7580 * include/grub/sparc64/libgcc.h (memset): Likewise.
7581 * include/grub/misc.h (memset, memcmp): New function prototypes.
7582
7583 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7584
7585 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
7586 `cpio'.
7587 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
7588
7589 2009-10-25 Robert Millan <rmh.grub@aybabtu.com>
7590
7591 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
7592 * docs/grub.cfg: Compensate for recent change in multiboot
7593 loader (since 2009-08-14 it won't pass filename to payload).
7594 * util/grub.d/10_hurd.in: Likewise.
7595
7596 2009-10-21 Felix Zielcke <fzielcke@z-51.de>
7597
7598 * config.guess: Update to latest version from config git
7599 repository.
7600 * config.sub: Likewise.
7601
7602 2009-10-20 Robert Millan <rmh.grub@aybabtu.com>
7603
7604 Fix build on sparc64.
7605
7606 * configure.ac: Perform checks for libgcc symbols before
7607 adding `-nostdlib' to LDFLAGS.
7608
7609 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7610
7611 Let user specify OpenBSD root device.
7612
7613 * loader/i386/bsd.c (openbsd_root): New variable.
7614 (openbsd_opts): New option 'root'.
7615 (OPENBSD_ROOT_ARG): New macro.
7616 (grub_openbsd_boot): Use 'openbsd_root'.
7617 (grub_cmd_openbsd): Fill 'openbsd_root'.
7618
7619 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
7620
7621 * NEWS: Misc adjustments.
7622
7623 2009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
7624
7625 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
7626
7627 2009-10-16 Robert Millan <rmh.grub@aybabtu.com>
7628
7629 * configure.ac: Bump version to 1.97.
7630
7631 2009-10-16 Colin Watson <cjwatson@ubuntu.com>
7632
7633 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
7634 -mno-3dnow on x86 architectures. Some toolchains enable these
7635 features by default, but they rely on registers that aren't enabled
7636 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
7637
7638 2009-10-15 Robert Millan <rmh.grub@aybabtu.com>
7639
7640 Make entry text a bit more readable.
7641
7642 * util/grub.d/10_linux.in: Add `with' before `Linux'.
7643
7644 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
7645
7646 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
7647
7648 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
7649
7650 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
7651 operations.
7652
7653 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
7654
7655 * configure.ac: Add missing dollar.
7656
7657 2009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
7658
7659 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
7660
7661 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
7662 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
7663 exports.
7664 * include/grub/sparc64/libgcc.h: Likewise. Use
7665 preprocessor conditionals.
7666
7667 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
7668
7669 * conf/common.rmk (grub-dumpbios): Remove rule.
7670 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
7671 * util/grub-dumpbios.in: Remove file.
7672
7673 2009-10-14 Robert Millan <rmh.grub@aybabtu.com>
7674
7675 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
7676 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
7677
7678 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
7679 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
7680 users.
7681
7682 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
7683 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
7684 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
7685 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
7686 users.
7687
7688 2009-10-12 Robert Millan <rmh.grub@aybabtu.com>
7689
7690 * term/tparm.c: Switch to GPLv3.
7691
7692 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
7693
7694 * include/grub/i386/cpuid.h: Add header protection.
7695
7696 2009-10-09 Robert Millan <rmh.grub@aybabtu.com>
7697
7698 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
7699
7700 * include/grub/i386/cpuid.h: New file.
7701 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
7702 (has_longmode): Rename to ...
7703 (grub_cpuid_has_longmode): ... this. Update all users. Remove
7704 `static' attribute.
7705 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
7706 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
7707 on a CPU that doesn't implement AMD64 instruction set.
7708
7709 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
7710
7711 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
7712 that version.texi is rebuilt on version number changes.
7713
7714 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
7715
7716 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
7717 Fixes bug #27602.
7718
7719 2009-10-06 Colin Watson <cjwatson@ubuntu.com>
7720
7721 * util/i386/pc/grub-install.in: Source
7722 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
7723 that the --grub-probe option will work.
7724 * util/sparc64/ieee1275/grub-install.in: Likewise.
7725
7726 2009-10-05 Robert Millan <rmh.grub@aybabtu.com>
7727
7728 * configure.ac: Bump version to 1.97~beta4.
7729
7730 2009-10-03 Robert Millan <rmh.grub@aybabtu.com>
7731
7732 Resync grub-mkdevicemap in x86_64-efi.
7733
7734 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
7735 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
7736 `util/devicemap.c'.
7737
7738 2009-10-01 Colin Watson <cjwatson@ubuntu.com>
7739
7740 * util/grub-editenv.c (create_envblk_file): Write new block with a
7741 .new suffix and then rename it into place, to ensure atomic
7742 creation.
7743
7744 2009-09-28 Robert Millan <rmh.grub@aybabtu.com>
7745
7746 Do not automatically install headers.
7747
7748 * Makefile.in (include_DATA): Remove. Update all users.
7749
7750 2009-09-26 Robert Millan <rmh.grub@aybabtu.com>
7751
7752 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
7753 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
7754
7755 * util/osdetect.lua: Remove.
7756 * script/lua/lauxlib.c: Likewise.
7757 * script/lua/ldebug.c: Likewise.
7758 * script/lua/grub_main.c: Likewise.
7759 * script/lua/lauxlib.h: Likewise.
7760 * script/lua/ldebug.h: Likewise.
7761 * script/lua/ltablib.c: Likewise.
7762 * script/lua/liolib.c: Likewise.
7763 * script/lua/lstrlib.c: Likewise.
7764 * script/lua/lualib.h: Likewise.
7765 * script/lua/ldo.c: Likewise.
7766 * script/lua/ldump.c: Likewise.
7767 * script/lua/ldo.h: Likewise.
7768 * script/lua/loslib.c: Likewise.
7769 * script/lua/lundump.c: Likewise.
7770 * script/lua/grub_lib.c: Likewise.
7771 * script/lua/ldblib.c: Likewise.
7772 * script/lua/lundump.h: Likewise.
7773 * script/lua/lmem.c: Likewise.
7774 * script/lua/grub_lib.h: Likewise.
7775 * script/lua/lmathlib.c: Likewise.
7776 * script/lua/lstate.c: Likewise.
7777 * script/lua/ltm.c: Likewise.
7778 * script/lua/lvm.c: Likewise.
7779 * script/lua/lmem.h: Likewise.
7780 * script/lua/lstate.h: Likewise.
7781 * script/lua/ltm.h: Likewise.
7782 * script/lua/ltable.c: Likewise.
7783 * script/lua/lvm.h: Likewise.
7784 * script/lua/llex.c: Likewise.
7785 * script/lua/lgc.c: Likewise.
7786 * script/lua/grub_lua.h: Likewise.
7787 * script/lua/loadlib.c: Likewise.
7788 * script/lua/lfunc.c: Likewise.
7789 * script/lua/lopcodes.c: Likewise.
7790 * script/lua/lparser.c: Likewise.
7791 * script/lua/ltable.h: Likewise.
7792 * script/lua/llex.h: Likewise.
7793 * script/lua/lgc.h: Likewise.
7794 * script/lua/lfunc.h: Likewise.
7795 * script/lua/lbaselib.c: Likewise.
7796 * script/lua/lopcodes.h: Likewise.
7797 * script/lua/lparser.h: Likewise.
7798 * script/lua/lzio.c: Likewise.
7799 * script/lua/linit.c: Likewise.
7800 * script/lua/lobject.c: Likewise.
7801 * script/lua/llimits.h: Likewise.
7802 * script/lua/lstring.c: Likewise.
7803 * script/lua/lzio.h: Likewise.
7804 * script/lua/lapi.c: Likewise.
7805 * script/lua/lcode.c: Likewise.
7806 * script/lua/lua.h: Likewise.
7807 * script/lua/lobject.h: Likewise.
7808 * script/lua/lstring.h: Likewise.
7809 * script/lua/lapi.h: Likewise.
7810 * script/lua/lcode.h: Likewise.
7811 * script/lua/luaconf.h: Likewise.
7812
7813 2009-09-26 Colin Watson <cjwatson@ubuntu.com>
7814
7815 * docs/grub.texi (Command-line and menu entry commands): Document
7816 date and echo commands.
7817
7818 2009-09-24 Pavel Roskin <proski@gnu.org>
7819
7820 * include/grub/kernel.h (struct grub_module_header): Remove
7821 `grub_module_header_types'. Make `type' unsigned. Make `size'
7822 32-bit on all platforms.
7823 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
7824 8-bit field. Use grub_host_to_target32() for `size'.
7825 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
7826 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
7827 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
7828
7829 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
7830
7831 Fix "lost keypress" bug in at_keyboard.
7832
7833 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
7834 Checks for readyness of input buffer (without flushing it).
7835 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
7836 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
7837
7838 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
7839
7840 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
7841 size check within GRUB_MACHINE_PCBIOS section.
7842
7843 2009-09-24 Robert Millan <rmh.grub@aybabtu.com>
7844
7845 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
7846 return value.
7847 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
7848 KEYBOARD_ISREADY check.
7849 (grub_at_keyboard_checkkey): Rename to ...
7850 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
7851 Remove gratuitous cast.
7852
7853 2009-09-23 Colin Watson <cjwatson@ubuntu.com>
7854
7855 * configure.ac: Call AC_PROG_MKDIR_P.
7856 * Makefile.in (docs/stamp-vti): Create docs directory. Create
7857 version.texi in $(builddir) rather than $(srcdir).
7858 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
7859 to makeinfo's @include search path.
7860
7861 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
7862
7863 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
7864
7865 2009-09-23 Felix Zielcke <fzielcke@z-51.de>
7866
7867 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
7868 for `*.dpkg-new'.
7869
7870 2009-09-21 Colin Watson <cjwatson@ubuntu.com>
7871
7872 Build info documentation. Some code borrowed from Automake.
7873
7874 * configure.ac: Check for makeinfo.
7875 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
7876 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
7877 docs/version.texi.
7878 (MOSTLYCLEANFILES): Add vti.tmp.
7879 (docs/version.texi, docs/stamp-vti): Update automatically.
7880 (docs/grub.info): Build info documentation. Use --force and ignore
7881 errors for now.
7882 (all-local): Add $(INFOS).
7883 (install-local): Install info files.
7884 (uninstall): Uninstall info files.
7885 * docs/version.texi: Remove from revision control. This file is
7886 automatically generated on build now.
7887 * gendistlist.sh: Add `*.info'.
7888
7889 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
7890
7891 * kern/term.c: Fix indentation.
7892
7893 2009-09-21 Felix Zielcke <fzielcke@z-51.de>
7894
7895 * util/hostdisk.c: Fix a comment.
7896
7897 2009-09-20 Robert Millan <rmh.grub@aybabtu.com>
7898
7899 Fix regression introduced in r2539.
7900
7901 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
7902 to 0xA1.
7903
7904 2009-09-19 Colin Watson <cjwatson@ubuntu.com>
7905
7906 * util/grub.d/30_os-prober.in: Don't throw away stderr from
7907 os-prober. Under normal operation, it does not print anything to
7908 stderr; if it does, we need to debug it, and throwing away stderr
7909 makes that excessively difficult.
7910
7911 2009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
7912
7913 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
7914
7915 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
7916
7917 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
7918 AC_LANG_PROGRAM from autoconf.
7919 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
7920 prototypes (fixes warning).
7921
7922 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
7923 `--disable-werror' was used.
7924
7925 2009-09-16 Robert Millan <rmh.grub@aybabtu.com>
7926
7927 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
7928 uninitialized `lastaddr'.
7929
7930 2009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
7931
7932 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
7933
7934 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
7935
7936 * commands/test.c (get_fileinfo): Return immediately if
7937 grub_fs_probe fails.
7938
7939 2009-09-14 José Martínez <xosemp@gmail.com>
7940
7941 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
7942
7943 2009-09-14 Colin Watson <cjwatson@ubuntu.com>
7944
7945 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
7946 output.
7947
7948 2009-09-13 Robert Millan <rmh.grub@aybabtu.com>
7949
7950 * configure.ac: Remove --enable-grub-pe2elf. Only build
7951 grub-pe2elf when needed by the build system itself.
7952 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
7953
7954 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
7955
7956 * configure.ac: Bump version to 1.97~beta3.
7957 * docs/version.texi: Likewise.
7958
7959 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
7960
7961 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
7962 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
7963 from here ...
7964 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
7965 (grub_linux_setup_video): ... to here (with some adjustments).
7966
7967 2009-09-12 Robert Millan <rmh.grub@aybabtu.com>
7968
7969 Fix memory corruption issue (spotted by Colin Watson).
7970
7971 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
7972 causing returned size to be stored in an incorrect memory location.
7973 Fix use of uninitialized value when storing the returned size.
7974
7975 2009-09-12 Yves Blusseau <blusseau@zetam.org>
7976
7977 Change clean rules to properly remove files
7978
7979 * genmk.rb: add new clean rules
7980 * Makefile.in (clean): add the new targets
7981 (mostlyclean): likewise
7982
7983 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
7984
7985 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
7986 to grub_uint64_t.
7987 * fs/ntfs.c (init_file): Understand 64-bit sizes for
7988 non-resident files.
7989
7990 2009-09-11 Colin Watson <cjwatson@ubuntu.com>
7991
7992 * configure.ac: Don't look for help2man when cross-compiling. Fixes
7993 part of bug #27349.
7994
7995 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
7996
7997 * util/grub-mkconfig.in: Make the created config mode 400 and
7998 print a warning if it fails.
7999
8000 2009-09-10 Robert Millan <rmh.grub@aybabtu.com>
8001
8002 * util/grub.d/40_custom.in: Ask user to type custom entries below
8003 comment, rather than below 'exec tail' line.
8004
8005 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
8006
8007 * util/grub.d/40_custom.in: Make sure that the explanatory text is
8008 visible in grub.cfg.
8009
8010 2009-09-10 Colin Watson <cjwatson@ubuntu.com>
8011
8012 * util/grub.d/40_custom.in: Make it a little clearer how to use this
8013 file.
8014
8015 2009-09-10 Felix Zielcke <fzielcke@z-51.de>
8016
8017 * docs/grub.cfg: Add an example menu entry for memtest86+.
8018
8019 2009-09-09 Felix Zielcke <fzielcke@z-51.de>
8020
8021 * config.guess: Update to latest version from config git.
8022 * config.sub: Likewise.
8023
8024 2009-09-08 Colin Watson <cjwatson@ubuntu.com>
8025
8026 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
8027 unknown-command case. Fixes bug #27320.
8028
8029 2009-09-08 Felix Zielcke <fzielcke@z-51.de>
8030
8031 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
8032 `help' if the command exists.
8033
8034 2009-09-06 Robert Millan <rmh.grub@aybabtu.com>
8035
8036 * INSTALL: Require GCC 4.1.3 or later.
8037
8038 2009-09-06 Yves Blusseau <blusseau@zetam.org>
8039
8040 * Makefile.in (RMKFILES): add i386-qemu.rmk
8041 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
8042 $(srcdir)/stamp-h.in
8043
8044 2009-09-05 Robert Millan <rmh.grub@aybabtu.com>
8045
8046 * util/grub-probe.c (probe): Comment out buggy codepath, which
8047 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
8048 should be re-enabled after 1.97.
8049
8050 2009-09-05 Felix Zielcke <fzielcke@z-51.de>
8051
8052 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
8053 find searches for.
8054
8055 2009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
8056
8057 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
8058 unnecessary calls to grub_error.
8059
8060 2009-09-04 Colin Watson <cjwatson@ubuntu.com>
8061
8062 * NEWS: Mention `keystatus' and Unicode fonts.
8063
8064 2009-09-04 Robert Millan <rmh.grub@aybabtu.com>
8065
8066 * configure.ac: Bump version to 1.97~beta2.
8067 * docs/version.texi: Likewise.
8068
8069 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
8070
8071 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
8072 containing unwind information in some cases where it previously did
8073 not. Use -fno-dwarf2-cfi-asm if available to restore the old
8074 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
8075 discussion.
8076
8077 2009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
8078
8079 Embedding loadenv module into grub-emu
8080
8081 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
8082 commands/loadenv.c
8083 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
8084 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
8085 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
8086 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
8087 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
8088 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
8089
8090 2009-09-03 Magnus Granberg <zorry@ume.nu>
8091
8092 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
8093 include -fPIE in the default specs.
8094 * configure.ac: Check if pie_possible is yes and add -fno-PIE
8095 to TARGET_CFLAGS.
8096
8097 2009-09-03 Felix Zielcke <fzielcke@z-51.de>
8098
8099 * INSTALL: Note that GNU Bison 2.3 or later is required.
8100
8101 2009-09-03 Colin Watson <cjwatson@ubuntu.com>
8102
8103 * kern/i386/pc/startup.S: Fix typo.
8104
8105 2009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
8106
8107 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
8108 according to GCS.
8109
8110 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
8111
8112 * docs/grub.texi (Naming convention): Describe one-based partition
8113 numbering.
8114 (Device syntax): Likewise.
8115 (File name syntax): Likewise.
8116 (Block list syntax): Likewise.
8117 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
8118 menu.lst.
8119 (File name syntax): Likewise.
8120 (Command-line and menu entry commands): Document acpi, blocklist,
8121 crc, export, insmod, keystatus, ls, set, and unset commands.
8122
8123 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
8124
8125 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
8126 to avoid implying that only one of --shift, --ctrl, or --alt may be
8127 used.
8128
8129 2009-09-02 Colin Watson <cjwatson@ubuntu.com>
8130
8131 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
8132 rather than comparing against S_IFREG, which will almost never work.
8133
8134 2009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
8135
8136 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
8137 (write_blocklists): Likewise.
8138
8139 2009-09-01 Colin Watson <cjwatson@ubuntu.com>
8140
8141 * script/lua/grub_lua.h (fputs): Supply a format string as the first
8142 argument to grub_printf.
8143
8144 2009-09-01 Felix Zielcke <fzielcke@z-51.de>
8145
8146 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
8147 non GNU test.
8148
8149 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8150
8151 * kern/file.c (grub_file_read): Spelling fix
8152
8153 2009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
8154
8155 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
8156 loading of headers in some cases.
8157
8158 2009-08-30 Robert Millan <rmh.grub@aybabtu.com>
8159
8160 * configure.ac: Bump version to 1.97~beta1.
8161 * docs/version.texi: Likewise.
8162
8163 2009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
8164
8165 * include/grub/i386/xnu.h: Add license header.
8166 include grub/err.h explicitly.
8167
8168 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
8169
8170 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
8171 to `ufs' in the vfs.root.mountfrom kernel parameter.
8172
8173 2009-08-29 Robert Millan <rmh.grub@aybabtu.com>
8174
8175 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
8176
8177 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
8178 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
8179
8180 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
8181 `ARRAY_SIZE' macro.
8182
8183 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8184
8185 * kern/file.c (grub_file_read): Check offset.
8186 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
8187 * fs/jfs.c (grub_jfs_read_file): Likewise.
8188 * fs/ntfs.c (grub_ntfs_read): Likewise.
8189 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
8190 * fs/minix.c (grub_minix_read_file): Correct offset check.
8191 * fs/ufs.c (grub_ufs_read_file): Likewise.
8192
8193 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
8194
8195 * term/i386/pc/console.c (bios_data_area): Cast
8196 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
8197
8198 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8199
8200 1-bit optimised blitters.
8201
8202 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
8203 prototype.
8204 (grub_video_fbblit_replace_24bit_1bit): Likewise.
8205 (grub_video_fbblit_replace_16bit_1bit): Likewise.
8206 (grub_video_fbblit_replace_8bit_1bit): Likewise.
8207 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
8208 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
8209 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
8210 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
8211 function.
8212 (grub_video_fbblit_replace_24bit_1bit): Likewise.
8213 (grub_video_fbblit_replace_16bit_1bit): Likewise.
8214 (grub_video_fbblit_replace_8bit_1bit): Likewise.
8215 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
8216 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
8217 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
8218 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
8219 when possible.
8220 * video/video.c (grub_video_get_blit_format): Return
8221 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
8222
8223 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
8224
8225 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
8226 the first argument to grub_printf.
8227
8228 2009-08-28 Colin Watson <cjwatson@ubuntu.com>
8229 2009-08-28 Robert Millan <rmh.grub@aybabtu.com>
8230
8231 Add `getkeystatus' terminal method. Add a new `keystatus' command
8232 to query it.
8233
8234 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
8235 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
8236 modifier key bitmasks.
8237 (struct grub_term_input): Add `getkeystatus' member.
8238 (grub_getkeystatus): Add prototype.
8239 * kern/term.c (grub_getkeystatus): New function.
8240
8241 * include/grub/i386/pc/memory.h
8242 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
8243 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
8244 Data Area layout.
8245 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
8246 (grub_console_term_input): Set `getkeystatus' member.
8247 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
8248 constants.
8249 (grub_usb_keyboard_getreport): Likewise.
8250 (grub_usb_keyboard_checkkey): Likewise.
8251 (grub_usb_keyboard_getkeystatus): New function.
8252 (grub_usb_keyboard_term): Set `getkeystatus' member.
8253
8254 * commands/keystatus.c: New file.
8255 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
8256 (keystatus_mod_SOURCES): New variable.
8257 (keystatus_mod_CFLAGS): Likewise.
8258 (keystatus_mod_LDFLAGS): Likewise.
8259 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
8260 commands/keystatus.c.
8261 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
8262 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8263 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
8264 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8265 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8266 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8267
8268 2009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
8269
8270 Split befs.mod and afs.mod into *_be.mod and *.mod
8271
8272 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
8273 (grub_fstest_SOURCES): Likewise.
8274 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
8275 (afs_be_mod_SOURCES): New variable.
8276 (afs_be_mod_CFLAGS): Likewise.
8277 (afs_be_mod_LDFLAGS): Likewise.
8278 (befs_be_mod_SOURCES): Likewise.
8279 (befs_be_mod_CFLAGS): Likewise.
8280 (befs_be_mod_LDFLAGS): Likewise.
8281 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
8282 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
8283 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8284 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
8285 (grub_emu_SOURCES): Likewise.
8286 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8287 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8288 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8289 * fs/afs_be.c: New file.
8290 * fs/befs_be.c: New file.
8291 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
8292 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
8293 (U16): Replaced with ...
8294 (grub_afs_to_cpu16): ...this. All users updated.
8295 (U32): Replaced with ...
8296 (grub_afs_to_cpu32): ...this. All users updated.
8297 (U64): Replaced with ...
8298 (grub_afs_to_cpu64): ...this. All users updated.
8299 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
8300 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
8301 (grub_afs_validate_sblock): Check only one endianness.
8302 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
8303 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
8304 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
8305 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
8306 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
8307 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
8308 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
8309 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
8310
8311 2009-08-26 Bean <bean123ch@gmail.com>
8312
8313 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
8314 64-bit number.
8315 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
8316 (grub_xfs_inode_block): Change return type to grub_uint64_t.
8317 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
8318
8319 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
8320
8321 NetBSD memory map support.
8322
8323 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
8324 (grub_netbsd_btinfo_mmap_header): New structure.
8325 (grub_netbsd_btinfo_mmap_entry): Likewise.
8326 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
8327
8328 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
8329
8330 Enable bsd.mod on coreboot.
8331
8332 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
8333 (bsd_mod_SOURCES): New variable.
8334 (bsd_mod_CFLAGS): Likewise.
8335 (bsd_mod_LDFLAGS): Likewise.
8336 (bsd_mod_ASFLAGS): Likewise.
8337 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
8338 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
8339
8340 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
8341
8342 Cleanup NetBSD root support.
8343
8344 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
8345 grub_bsd_get_device.
8346 Fix typo.
8347
8348 2009-08-25 Felix Zielcke <fzielcke@z-51.de>
8349
8350 * util/grub.d/00_header.in: Move check for the video backend of
8351 gfxterm from here ...
8352 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
8353 a suitable video backend.
8354
8355 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
8356
8357 Fix breakage in grub-setup.
8358
8359 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
8360 "msdos_partition_map".
8361
8362 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
8363
8364 Fix breakage in normal/auth.c.
8365
8366 * normal/auth.c (grub_iswordseparator): New function.
8367
8368 2009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
8369
8370 Authentication support.
8371
8372 * commands/password.c: New file.
8373 * conf/common.rmk (pkglib_MODULES): Add password.mod.
8374 (password_mod_SOURCES): New variable.
8375 (password_mod_CFLAGS): Likewise.
8376 (password_mod_LDFLAGS): Likewise.
8377 (normal_mod_SOURCES): Add normal/auth.c.
8378 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
8379 normal/auth.c.
8380 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
8381 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8382 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
8383 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8384 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8385 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8386 * include/grub/auth.h: New file.
8387 * include/grub/err.h (grub_err_t): New enum value
8388 GRUB_ERR_ACCESS_DENIED.
8389 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
8390 'users'.
8391 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
8392 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
8393 users updated.
8394 * normal/auth.c: New file.
8395 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
8396 (grub_cmdline_run): Don't allow to go to command line without
8397 authentication.
8398 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
8399 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
8400 menuentry without superuser rights.
8401 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
8402 user isn't a superuser.
8403
8404 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8405
8406 Save space by inlining misc.c functions.
8407
8408 * kern/misc.c (grub_iswordseparator): Made static.
8409 * kern/misc.c (grub_strcat): Moved from here ...
8410 * include/grub/misc.h (grub_strcat): ... here. Inlined.
8411 * kern/misc.c (grub_strncat): Moved from here ...
8412 * include/grub/misc.h (grub_strncat): ... here. Inlined.
8413 * kern/misc.c (grub_strcasecmp): Moved from here ...
8414 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
8415 * kern/misc.c (grub_strncasecmp): Moved from here ...
8416 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
8417 * kern/misc.c (grub_isalpha): Moved from here ...
8418 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
8419 * kern/misc.c (grub_isdigit): Moved from here ...
8420 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
8421 * kern/misc.c (grub_isgraph): Moved from here ...
8422 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
8423 * kern/misc.c (grub_tolower): Moved from here ...
8424 * include/grub/misc.h (grub_tolower): ... here. Inlined.
8425
8426 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8427
8428 * script/sh/function.c (grub_script_function_find): Cut error message
8429 not to flood terminal.
8430 * script/sh/lexer.c (grub_script_yylex): Remove command line length
8431 limit.
8432 * script/sh/script.c (grub_script_arg_add): Duplicate string.
8433
8434 2009-08-24 Colin Watson <cjwatson@ubuntu.com>
8435
8436 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
8437 `report' grub_uint8_t *.
8438 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
8439 Use a 50-millisecond timeout rather than just repeating
8440 grub_usb_keyboard_getreport 50 times.
8441 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
8442
8443 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8444
8445 Rename *_partition_map to part_*
8446
8447 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
8448 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
8449 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
8450 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
8451 All users updated.
8452 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
8453 All users updated.
8454 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
8455 * util/grub-probe.c (probe_partmap): Don't transform partition name
8456 to get module name.
8457
8458 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8459
8460 Fix OpenBSD and NetBSD support.
8461
8462 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
8463 memory address conflict.
8464 (OPENBSD_MMAP_ACPI): New definition.
8465 (OPENBSD_MMAP_NVS): Likewise.
8466 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
8467 and OPENBSD_MMAP_NVS.
8468 Add memory map terminator
8469 Explicit cast when calling grub_unix_real_boot.
8470 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
8471
8472 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8473
8474 Let user specify NetBSD root device.
8475
8476 * loader/i386/bsd.c (netbsd_root): New variable.
8477 (netbsd_opts): New option 'root'.
8478 (NETBSD_ROOT_ARG): New macro.
8479 (grub_netbsd_boot): Use 'netbsd_root'.
8480 (grub_bsd_unload): Free 'netbsd_root'.
8481 (grub_cmd_netbsd): Fill 'netbsd_root'.
8482
8483 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8484
8485 Support for 64-bit NetBSD.
8486
8487 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
8488 point when booting non-FreeBSD.
8489
8490 2009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
8491
8492 Support --no-smp and --no-acpi for NetBSD.
8493
8494 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
8495 (NETBSD_AB_NOACPI): Likewise.
8496 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
8497 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
8498
8499 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8500
8501 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
8502 errors.
8503 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
8504 errors. Call grub_error when needed.
8505
8506 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8507
8508 * commands/search.c (search_fs): Try searching without autoload first.
8509 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
8510 filesystem module explicitly for faster booting.
8511
8512 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
8513
8514 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
8515
8516 2009-08-23 Colin Watson <cjwatson@ubuntu.com>
8517
8518 * util/grub.d/30_os-prober.in: Disable os-prober if
8519 `GRUB_DISABLE_OS_PROBER' was set to true.
8520
8521 2009-08-23 Robert Millan <rmh.grub@aybabtu.com>
8522
8523 * partmap/pc.c: Rename to ...
8524 * partmap/msdos.c: ... this. Update all users.
8525 (grub_pc_partition_map): Rename to ...
8526 (grub_msdos_partition_map): ... this. Update all users.
8527
8528 * parttool/pcpart.c: Rename to ...
8529 * parttool/msdospart.c: ... this. Update all users.
8530
8531 * include/grub/pc_partition.h: Rename to ...
8532 * include/grub/msdos_partition.h: ... this. Update all users.
8533 (grub_pc_partition_bsd_entry): Rename to ...
8534 (grub_msdos_partition_bsd_entry): ... this. Update all users.
8535 (grub_pc_partition_disk_label): Rename to ...
8536 (grub_msdos_partition_disk_label): ... this. Update all users.
8537 (grub_pc_partition_entry): Rename to ...
8538 (grub_msdos_partition_entry): ... this. Update all users.
8539 (grub_pc_partition_mbr): Rename to ...
8540 (grub_msdos_partition_mbr): ... this. Update all users.
8541 (grub_pc_partition): Rename to ...
8542 (grub_msdos_partition): ... this. Update all users.
8543 (grub_pc_partition_is_empty): Rename to ...
8544 (grub_msdos_partition_is_empty): ... this. Update all users.
8545 (grub_pc_partition_is_extended): Rename to ...
8546 (grub_msdos_partition_is_extended): ... this. Update all users.
8547 (grub_pc_partition_is_bsd): Rename to ...
8548 (grub_msdos_partition_is_bsd): ... this. Update all users.
8549
8550 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
8551 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
8552 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
8553 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
8554 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
8555 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
8556 (gpt_mod_LDFLAGS): Rename to ...
8557 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
8558 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
8559 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
8560 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
8561 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
8562 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
8563 (part_gpt_mod_LDFLAGS): ... this.
8564 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
8565 `pcpart.mod' to `msdospart.mod'.
8566 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
8567 to ...
8568 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
8569 (msdospart_mod_LDFLAGS): ... this.
8570
8571 2009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
8572
8573 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
8574 (openbsd_opts): Likewise.
8575 (netbsd_opts): Likewise.
8576 (freebsd_flags): Added 0 terminator.
8577 (openbsd_flags): Likewise.
8578 (netbsd_flags): Likewise.
8579 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
8580 (grub_cmd_freebsd): Transformed into extended command.
8581 (grub_cmd_openbsd): Likewise.
8582 (grub_cmd_netbsd): Likewise.
8583 (cmd_freebsd): Changed type to grub_extcmd_t.
8584 (cmd_openbsd): Likewise.
8585 (cmd_netbsd): Likewise.
8586 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
8587 grub_cmd_openbsd as extended commands.
8588 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
8589 cmd_netbsd and cmd_openbsd
8590
8591 2009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
8592
8593 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
8594
8595 2009-08-21 Pavel Roskin <proski@gnu.org>
8596
8597 * Makefile.in (install-local): When checking if a file is in the
8598 build directory, use "test -e" to detect symlinks.
8599
8600 * Makefile.in (install-local): Remove all files in
8601 $(DESTDIR)$(pkglibdir) before installing new files there.
8602
8603 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
8604
8605 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
8606 grub-mkelfimage.
8607
8608 2009-08-18 Felix Zielcke <fzielcke@z-51.de>
8609
8610 * util/grub-mkconfig.in: Don't use gfxterm by default if not
8611 explicitly specified by the user.
8612
8613 2009-08-18 Pavel Roskin <proski@gnu.org>
8614
8615 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
8616 grub_uint8_t pointer for data.
8617 * include/grub/fbutil.h (struct grub_video_fbblit_info):
8618 Likewise.
8619 * video/fb/fbutil.c: Remove unnecessary casts.
8620
8621 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
8622
8623 VBE cleanup.
8624
8625 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
8626 (grub_vbe_set_video_mode): Save active mode info
8627 only after setting the mode.
8628 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
8629 second argument.
8630
8631 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
8632
8633 Rename variables for clarity.
8634
8635 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
8636 (active_vbe_mode_info): ... this. All users updated.
8637 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
8638 All users updated.
8639 (initial_mode): Rename to ...
8640 (initial_vbe_mode): ... this. All users updated.
8641 (mode_in_use): Rename to ..
8642 (vbe_mode_in_use): ... this. All users updated.
8643 (mode_list): Rename to ..
8644 (vbe_mode_list): ... this. All users updated.
8645 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
8646 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
8647 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
8648 'mode_list_size' to 'vbe_mode_list_size'.
8649 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
8650 'best_mode_info' to 'best_vbe_mode_info' and
8651 'best_mode' to 'best_vbe_mode'
8652
8653 2009-08-17 Michal Suchanek <hramrach@centrum.cz>
8654
8655 Remove duplicate grub_video_fb_get_video_ptr.
8656
8657 * include/grub/fbutil.h (get_data_ptr): Rename to ...
8658 (grub_video_fb_get_video_ptr): ... this.
8659 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
8660 * video/fb/fbutil.c: Add comment about addressing.
8661 (get_data_ptr): Rename to ...
8662 (grub_video_fb_get_video_ptr): ... this. All users updated.
8663 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
8664
8665 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
8666
8667 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
8668 grub_dprintf() that was just added.
8669
8670 2009-08-17 Robert Millan <rmh.grub@aybabtu.com>
8671
8672 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
8673 (DEFAULT_VIDEO_MODE): Remove macros.
8674 (grub_linux_boot): Remove assumption that Linux has FB support,
8675 and use "text" as default video mode.
8676
8677 2009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
8678
8679 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
8680 grub_dprintf.
8681 * fs/fat.c (grub_fat_read_data): Likewise.
8682
8683 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
8684
8685 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
8686 payload.
8687 (grub_module): Likewise.
8688
8689 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
8690
8691 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
8692 mbi->cmdline but free playground.
8693
8694 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
8695
8696 Handle group offset on UFS1.
8697
8698 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
8699 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
8700
8701 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
8702
8703 Split ufs.mod into ufs1.mod and ufs2.mod.
8704
8705 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
8706 (grub_fstest_SOURCES): Likewise.
8707 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
8708 (ufs_mod_SOURCES): Remove.
8709 (ufs_mod_CFLAGS): Likewise.
8710 (ufs_mod_LDFLAGS): Likewise.
8711 (ufs1_mod_SOURCES): New variable.
8712 (ufs1_mod_CFLAGS): Likewise.
8713 (ufs1_mod_LDFLAGS): Likewise.
8714 (ufs2_mod_SOURCES): New variable.
8715 (ufs2_mod_CFLAGS): Likewise.
8716 (ufs2_mod_LDFLAGS): Likewise.
8717 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
8718 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
8719 Likewise.
8720 (grub_emu_SOURCES): Likewise.
8721 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8722 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
8723 (grub_setup_SOURCES): Likewise.
8724 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8725 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
8726 (grub_setup_SOURCES): Likewise.
8727 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
8728 Likewise.
8729 * fs/ufs2.c: New file.
8730 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
8731
8732 2009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
8733
8734 Framebuffer split.
8735
8736 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
8737 subsystem at the end.
8738 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
8739 (video_fb_mod_SOURCES): New variable.
8740 (video_fb_mod_CFLAGS): Likewise.
8741 (video_fb_mod_LDFLAGS): Likewise.
8742 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
8743 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
8744 * video/i386/pc/vbeblit.c: Moved from here ...
8745 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
8746 * video/i386/pc/vbefill.c: Moved from here ...
8747 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
8748 * video/i386/pc/vbeutil.c: Moved from here ...
8749 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
8750 * include/grub/i386/pc/vbeblit.h: Moved from here ...
8751 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
8752 * include/grub/i386/pc/vbefill.h: Moved from here ...
8753 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
8754 * include/grub/i386/pc/vbeutil.h: Moved from here ...
8755 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
8756 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
8757 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
8758 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
8759 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
8760 (grub_video_adapter): Added 'get_info_and_fini'.
8761 (grub_video_get_info_and_fini): New prototype.
8762 (grub_video_set_mode): make modestring const char *.
8763 * loader/i386/linux.c (grub_linux_setup_video): Use
8764 grub_video_get_info_and_fini.
8765 (grub_linux_boot): Move modesetting just before booting.
8766 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
8767 grub_video_get_info_and_fini.
8768 * video/i386/pc/vbe.c: Moved framebuffer part ...
8769 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
8770 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
8771 grub_video_fbstd_colors and grub_video_fb_set_palette.
8772 (grub_video_vbe_init): Clear 'framebuffer' variable and use
8773 grub_video_fb_init.
8774 (grub_video_vbe_fini): Use grub_video_fb_fini.
8775 (grub_video_vbe_setup): Use framebuffer.render_target instead of
8776 render_target and use grub_video_fb_set_active_render_target and
8777 grub_video_fb_set_palette.
8778 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
8779 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
8780 (grub_video_vbe_adapter): Use framebuffer.
8781 * video/video.c (grub_video_get_info_and_fini): New function.
8782 (grub_video_set_mode): Make modestring const char *.
8783 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
8784 values are already initialised.
8785
8786 2009-08-14 Pavel Roskin <proski@gnu.org>
8787
8788 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
8789 ABS and APPLE_CC.
8790 * boot/i386/pc/diskboot.S: Likewise.
8791 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
8792 sectors allow compilation on MacOSX.
8793 * conf/i386-pc.rmk: Enable unconditional compilation of
8794 lnxboot.img.
8795
8796 2009-08-13 Colin Watson <cjwatson@ubuntu.com>
8797
8798 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
8799 * util/grub.d/00_header.in: Enter interruptible sleep if
8800 GRUB_HIDDEN_TIMEOUT is set.
8801
8802 2009-08-13 Yves Blusseau <blusseau@zetam.org>
8803
8804 * include/grub/symbol.h: Add the LOCAL macro.
8805 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
8806 starting with "L_".
8807
8808 2009-08-13 Pavel Roskin <proski@gnu.org>
8809
8810 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
8811 any modern compilers we support.
8812
8813 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
8814 Use local labels starting with "L_" so that Apple assembler
8815 knows they are local.
8816
8817 2009-08-10 Robert Millan <rmh.grub@aybabtu.com>
8818
8819 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
8820 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
8821 (bsd_kernel_types): ... this enum.
8822
8823 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
8824 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
8825 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
8826
8827 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
8828 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
8829 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
8830 messages.
8831
8832 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
8833
8834 * util/grub-dumpdevtree: Moved from here ...
8835 * util/i386/efi/grub-dumpdevtree: ... to here.
8836 (hexify): New function. Converts a string to its hex version.
8837 Generate hex versions of "efi" and "device-properties" by calling
8838 hexify() on the ASCII strings rather than by hardcoding numbers.
8839
8840 2009-08-08 Robert Millan <rmh.grub@aybabtu.com>
8841
8842 * fs/jfs.c: Update copyright year.
8843
8844 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
8845
8846 * util/grub.d/00_header.in: Fix a comment.
8847 * util/grub.d/10_linux.in: Likewise.
8848 * util/grub.d/10_windows.in: Likewise.
8849 * util/grub.d/10_hurd.in: Likewise.
8850
8851 2009-08-08 Felix Zielcke <fzielcke@z-51.de>
8852
8853 * util/grub-mkconfig.in: Allow the user to specify the used font
8854 with GRUB_FONT.
8855
8856 2009-08-08 Pavel Roskin <proski@gnu.org>
8857
8858 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
8859 available, xfs.mod needs it now.
8860
8861 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
8862 the "g" modifier in sed when the intention is to strip something
8863 once. This fixes comparison of kernels with multiple dashes.
8864
8865 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
8866 on it. Add missing space before closing bracket. Fix
8867 misleading formatting.
8868
8869 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
8870
8871 * docs/grub.texi: Major overhaul. Remove all sections that are
8872 specific to GRUB Legacy, or mostly composed of Legacy-specific
8873 information.
8874
8875 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
8876
8877 * docs/version.texi: New file. Provides version information for
8878 grub.texi.
8879
8880 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
8881
8882 * docs/grub.texi: Update CVS information to SVN.
8883 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
8884
8885 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
8886
8887 * util/grub-mkconfig.in: Remove a wrong `fi'.
8888
8889 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
8890
8891 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
8892 (grub_jfs_uuid): New function.
8893 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
8894
8895 2009-08-07 Felix Zielcke <fzielcke@z-51.de>
8896
8897 * util/grub-mkconfig_lib.in (font_path): Move the functionality
8898 of it to ...
8899 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
8900 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
8901
8902 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
8903
8904 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
8905 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
8906 Update all users.
8907
8908 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
8909 not just "vmlinu[zx]".
8910 Moved from here ...
8911 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
8912 all users.
8913
8914 * util/grub.d/10_linux.in (find_latest): Moved from here ...
8915 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
8916 all users.
8917
8918 2009-08-07 Robert Millan <rmh.grub@aybabtu.com>
8919
8920 * util/grub.d/10_freebsd.in: Use an absolute device path for
8921 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
8922
8923 2009-08-06 Felix Zielcke <fzielcke@z-51.de>
8924
8925 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
8926 handling of multiple abstraction modules.
8927
8928 2009-08-04 Robert Millan <rmh.grub@aybabtu.com>
8929
8930 Fix a bug resulting in black screen when loading Linux using a
8931 packed video mode.
8932
8933 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
8934 function.
8935
8936 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
8937 (grub_vbe_bios_getset_dac_palette_width): New function.
8938 (grub_vbe_bios_get_dac_palette_width)
8939 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
8940 grub_vbe_bios_getset_dac_palette_width()).
8941
8942 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
8943 check for return status.
8944 (grub_vbe_get_video_mode_info): When getting information for a packed
8945 mode (<= 8 bpp), obtain DAC palette width using
8946 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
8947 {red,green,blue}_mark_size.
8948
8949 2009-08-04 Felix Zielcke <fzielcke@z-51.de>
8950
8951 * commands/search.c (options): Fix help output to match actual code.
8952
8953 2009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
8954
8955 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
8956 of homegrown code.
8957
8958 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
8959
8960 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
8961 on XFS or ReiserFS.
8962
8963 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
8964
8965 Support Apple partition map with sector size different from 512 bytes.
8966
8967 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
8968 (apple_partition_map_iterate): Respect 'aheader.blocksize'
8969 and 'apart.partmap_size'.
8970
8971 2009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
8972 2009-08-01 Robert Millan <rmh.grub@aybabtu.com>
8973
8974 Fix cpuid command.
8975
8976 * commands/i386/cpuid.c (options): New variable.
8977 (grub_cmd_cpuid): Return real error.
8978 (GRUB_MOD_INIT(cpuid)): Declare options.
8979
8980 2009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
8981
8982 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
8983 valid.
8984
8985 2009-07-31 Bean <bean123ch@gmail.com>
8986
8987 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
8988 log2_inode.
8989 (grub_fshelp_node): Move inode field to the end.
8990 (grub_xfs_data): Remove inode field.
8991 (grub_xfs_inode_block): Calculate inode size using sblock.
8992 (grub_xfs_inode_offset): Likewise.
8993 (grub_xfs_read_inode): Calculate inode size using sblock.
8994 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
8995 (grub_xfs_iterate_dir): Calculate inode size using sblock.
8996 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
8997 to match inode size.
8998 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
8999 not accessible when data is null.
9000 (grub_xfs_open): Likewise.
9001
9002 2009-07-31 Bean <bean123ch@gmail.com>
9003
9004 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
9005 Don't change pv->disk if it's already set.
9006
9007 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
9008 (grub_raid_register): ... here.
9009 (grub_raid_rescan): Removed.
9010
9011 * include/grub/raid.h (grub_raid_rescan): Removed.
9012
9013 * util/grub-fstest.c: Remove include file <grub/raid.h>.
9014 (fstest): Replace grub_raid_rescan with module fini function followed
9015 by init function.
9016
9017 * util/grub-probe.c: Add include file <grub/raid.h>.
9018 (probe_raid_level): New function.
9019 (probe): Detect abstraction by walking the disk device, support two
9020 level of abstraction (LVM on RAID) when detecting partition map.
9021
9022 2009-07-31 Pavel Roskin <proski@gnu.org>
9023
9024 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
9025 to grub_zalloc(), it was erroneous.
9026 Reported by Bean <bean123ch@gmail.com>
9027
9028 2009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
9029
9030 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
9031 embedding zone, not only the first one.
9032
9033 2009-07-29 Joe Auricchio <jauricchio@gmail.com>
9034
9035 * term/gfxterm.c (clear_char): New function.
9036 (grub_virtual_screen_setup): Use clear_char.
9037 (scroll_up): Likewise.
9038 (grub_virtual_screen_cls): Likewise.
9039
9040 2009-07-29 Felix Zielcke <fzielcke@z-51.de>
9041
9042 * util/deviceiter.c (get_acceleraid_disk_name): New static
9043 function.
9044 (grub_util_iterate_devices): Handle Accelraid devices.
9045 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
9046
9047 2009-07-28 Robert Millan <rmh.grub@aybabtu.com>
9048
9049 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
9050 separator for the suggested gfxpayload string (';' collides with the
9051 parser and needs escaping).
9052
9053 2009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
9054
9055 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
9056 Clear direction flag before jumping to OS.
9057 (grub_multiboot2_real_boot): Likewise.
9058
9059 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
9060
9061 * util/i386/pc/grub-install: Fix parsing of --disk-module
9062 option.
9063
9064 2009-07-28 Felix Zielcke <fzielcke@z-51.de>
9065
9066 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
9067 when embedding.
9068
9069 2009-07-26 Felix Zielcke <fzielcke@z-51.de>
9070
9071 * util/grub-mkconfig.in (package_version): New variable.
9072 Use it do display the version.
9073
9074 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
9075
9076 * kern/file.c (grub_file_open): Revert to previous check with
9077 grub_errno.
9078
9079 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9080
9081 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
9082 from help line. It's out of sync with code.
9083
9084 2009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
9085
9086 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
9087 entries on failed boot.
9088
9089 2009-07-25 Felix Zielcke <fzielcke@z-51.de>
9090
9091 * kern/file.c (grub_file_open): Fix an error check.
9092
9093 2009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
9094
9095 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
9096 partition map couldn't be identified.
9097
9098 2009-07-23 Pavel Roskin <proski@gnu.org>
9099
9100 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
9101 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
9102 case of little endian words becomes just an optimization.
9103 Respect const modifier.
9104 (md5_final): Use code that doesn't depend on endianness.
9105
9106 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
9107 to avoid loss of upper bits if align is unsigned and shorter
9108 than addr.
9109
9110 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
9111
9112 UUID support for UFS
9113
9114 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
9115 (grub_ufs_uuid): New function.
9116 (grub_ufs_fs): add .uuid
9117
9118 2009-07-21 Pavel Roskin <proski@gnu.org>
9119
9120 * kern/dl.c (grub_dl_check_header): Make static.
9121
9122 2009-07-21 Felix Zielcke <fzielcke@z-51.de>
9123
9124 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
9125 add drivemap for Vista. It breaks Windows 7.
9126
9127 2009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
9128
9129 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
9130 128 bytes
9131
9132 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9133
9134 Add BFS support
9135
9136 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
9137 (grub_fstest_SOURCES): Likewise.
9138 (pkglib_MODULES): Add befs.mod.
9139 (befs_mod_SOURCES): New variable.
9140 (befs_mod_CFLAGS): Likewise.
9141 (befs_mod_LDFLAGS): Likewise.
9142 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
9143 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9144 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9145 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
9146 (grub_setup_SOURCES): Likewise.
9147 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9148 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9149 (grub_setup_SOURCES): Likewise.
9150 * fs/befs.c: New file.
9151 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
9152 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
9153 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
9154 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
9155 (B_KEY_INDEX_ALIGN): New declaration.
9156 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
9157 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
9158 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
9159 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
9160 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
9161 (grub_afs_mount) [MODE_BFS]: Likewise.
9162 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
9163 (grub_afs_fs): Use GRUB_AFS_FSNAME
9164 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
9165 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
9166 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
9167 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
9168
9169 2009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
9170
9171 * util/getroot.c (find_root_device): Add support for MacOSX.
9172 * util/hostdisk.c: Likewise.
9173
9174 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9175
9176 * font/font.c (find_glyph): Check whether a font is present to avoid
9177 segmentation fault.
9178
9179 2009-07-20 Joe Auricchio <jauricchio@gmail.com>
9180
9181 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
9182
9183 2009-07-20 Pavel Roskin <proski@gnu.org>
9184
9185 * configure.ac: Trim excessively wordy excuses.
9186
9187 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9188
9189 Add symlink, mtime and label support to AtheFS.
9190
9191 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
9192 (grub_afs_iterate_dir): Handle symlinks.
9193 (grub_afs_open): Use grub_afs_read_symlink.
9194 (grub_afs_dir): Likewise.
9195 Pass mtime.
9196 (grub_afs_label): New function.
9197 (grub_afs_fs): Add grub_afs_label.
9198 (grub_afs_read_symlink): New function.
9199
9200 2009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
9201
9202 Fix AtheFS support.
9203
9204 * fs/afs.c: Fix comments style.
9205 (grub_afs_blockrun): Declare as packed.
9206 (grub_afs_datastream): Likewise.
9207 (grub_afs_bnode): Likewise.
9208 (grub_afs_btree): Likewise.
9209 (grub_afs_sblock): Likewise.
9210 Declare `name' as char.
9211 (grub_afs_inode): Declare as packed.
9212 Change void *vnode to grub_uint32_t unused.
9213 (grub_afs_iterate_dir): Check that key_size is positive.
9214 (grub_afs_mount): Don't read superblock twice.
9215 (grub_afs_dir): Don't free node in case of error,
9216 grub_fshelp_find_file already handles this.
9217 (grub_afs_open): Likewise.
9218
9219 2009-07-19 Pavel Roskin <proski@gnu.org>
9220
9221 * Makefile.in: Remove LIBLZO and enable_lzo.
9222 * conf/i386-pc.rmk: Remove lzo support.
9223 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
9224 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
9225 support.
9226 * kern/i386/pc/lzo1x.S: Remove.
9227 * kern/i386/pc/startup.S: Remove lzo support.
9228 * util/i386/pc/grub-mkimage.c: Likewise.
9229
9230 2009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
9231
9232 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
9233 * fs/xfs.c (grub_xfs_dir): Likewise.
9234 * fs/afs.c (grub_afs_dir): Likewise.
9235 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
9236 (grub_iso9660_open): Likewise.
9237 * fs/jfs.c (grub_jfs_open): Likewise.
9238 * fs/ext2.c (grub_ext2_dir): Likewise.
9239 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
9240 * script/sh/lexer.c (grub_script_yylex): Likewise.
9241
9242 2009-07-16 Pavel Roskin <proski@gnu.org>
9243
9244 * configure.ac: Never add "-c" to CFLAGS.
9245
9246 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
9247
9248 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
9249 grub_cv_cc_efiemu should be used.
9250
9251 * configure.ac: Typo fixes.
9252
9253 * kern/mm.c (grub_zalloc): New function.
9254 (grub_debug_zalloc): Likewise.
9255 * include/grub/mm.h: Declare grub_zalloc() and
9256 grub_debug_zalloc().
9257 * util/misc.c (grub_zalloc): New function.
9258 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
9259 instead of grub_malloc(), remove unneeded initializations.
9260 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
9261 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
9262 * commands/parttool.c (grub_cmd_parttool): Likewise.
9263 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
9264 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
9265 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
9266 * disk/usbms.c (grub_usbms_finddevs): Likewise.
9267 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
9268 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
9269 (grub_cmd_efiemu_pnvram): Likewise.
9270 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
9271 * fs/iso9660.c (grub_iso9660_mount): Likewise.
9272 (grub_iso9660_iterate_dir): Likewise.
9273 * fs/jfs.c (grub_jfs_opendir): Likewise.
9274 * fs/ntfs.c (list_file): Likewise.
9275 (grub_ntfs_mount): Likewise.
9276 * kern/disk.c (grub_disk_open): Likewise.
9277 * kern/dl.c (grub_dl_load_core): Likewise.
9278 * kern/elf.c (grub_elf_file): Likewise.
9279 * kern/env.c (grub_env_context_open): Likewise.
9280 (grub_env_set): Likewise.
9281 (grub_env_set_data_slot): Likewise.
9282 * kern/file.c (grub_file_open): Likewise.
9283 * kern/fs.c (grub_fs_blocklist_open): Likewise.
9284 * loader/i386/multiboot.c (grub_module): Likewise.
9285 * loader/xnu.c (grub_xnu_create_key): Likewise.
9286 (grub_xnu_create_value): Likewise.
9287 * normal/main.c (grub_normal_add_menu_entry): Likewise.
9288 (read_config_file): Likewise.
9289 * normal/menu_entry.c (make_screen): Likewise.
9290 * partmap/sun.c (sun_partition_map_iterate): Likewise.
9291 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
9292 * script/sh/script.c (grub_script_parse): Likewise.
9293 * video/bitmap.c (grub_video_bitmap_create): Likewise.
9294 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
9295 * video/readers/png.c (grub_png_output_byte): Likewise.
9296 (grub_video_reader_png): Likewise.
9297
9298 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
9299
9300 Enable all targets that can be built by default
9301
9302 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
9303 grub-mkfont and grub-fstest if they can be built
9304
9305 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
9306
9307 Fix hang and segmentation fault in grub-emu-usb
9308
9309 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
9310 * util/usb.c (grub_libusb_devices): likewise
9311 (grub_libusb_init): rename to ...
9312 (GRUB_MOD_INIT (libusb)):...this
9313 (grub_libusb_fini): rename to ..
9314 (GRUB_MOD_FINI (libusb)):...this
9315 * disk/usbms.c (grub_usbms_transfer): fix retry logic
9316 * include/grub/disk.h (grub_raid_init): removed, it's useless
9317 (grub_raid_fini): likewise
9318 (grub_lvm_init): likewise
9319 (grub_lvm_fini): likewise
9320 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
9321 by grub_init_all
9322
9323 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
9324
9325 Fix libusb
9326
9327 * Makefile.in (LIBUSB): new macro
9328 * genmk.rb (Utility/print_tail): new method
9329 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
9330 (top level): call util.print_tail at the end.
9331
9332 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
9333
9334 Make FreeBSD accept zpool.cache
9335
9336 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
9337 type is /boot/zfs/zpool.cache
9338
9339 2009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
9340
9341 Fix 64-bit efiemu
9342
9343 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
9344 correct wrong typedef
9345 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
9346
9347 2009-07-15 Pavel Roskin <proski@gnu.org>
9348
9349 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
9350 * kern/disk.c (struct grub_disk_cache): Likewise.
9351
9352 * commands/probe.c (options): Typo fix.
9353
9354 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
9355 Increase to 0x5a to accommodate FAT32. Adjust other offsets
9356 accordingly.
9357 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
9358
9359 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
9360 the end of "Error" to make the message more readable.
9361
9362 * boot/i386/pc/boot.S (kernel_segment): Remove.
9363 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
9364 for destination.
9365
9366 * boot/i386/pc/boot.S (boot_version): Remove.
9367 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
9368 Remove.
9369
9370 * include/grub/i386/pc/boot.h: Sort all offsets.
9371 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
9372 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
9373 * boot/i386/pc/boot.S: Assert location of every offset listed in
9374 include/grub/i386/pc/boot.h.
9375
9376 2009-07-13 Pavel Roskin <proski@gnu.org>
9377
9378 * include/grub/i386/coreboot/machine.h: Rename
9379 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
9380 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
9381 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
9382
9383 * kern/dl.c: Force native word size to suppress warnings when
9384 compiling grub-emu.
9385
9386 * kern/device.c (grub_device_iterate): Change struct part_ent to
9387 hold the name, not a pointer to it. Use one grub_malloc() per
9388 partition, not two. Free partition_name if grub_malloc() fails.
9389 Set ents to NULL only before grub_partition_iterate() is called.
9390
9391 2009-07-11 Bean <bean123ch@gmail.com>
9392
9393 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
9394 childname.
9395
9396 2009-07-10 Bean <bean123ch@gmail.com>
9397 2009-07-10 Robert Millan <rmh.grub@aybabtu.com>
9398
9399 * kern/ieee1275/openfw.c (grub_children_iterate)
9400 (grub_devalias_iterate): Fix size evaluation for property or path
9401 strings, which was broken since r2132.
9402
9403 2009-07-07 Pavel Roskin <proski@gnu.org>
9404
9405 * commands/search.c (search_file): Merge into ...
9406 (search_fs): ... this. Accept search type as argument.
9407 (grub_cmd_search): Pass search type to search_fs().
9408
9409 * include/grub/util/console.h: New file.
9410 * util/console.c: Use it instead of grub/machine/console.h.
9411 * util/grub-emu.c: Likewise.
9412
9413 * lib/arg.c (find_long_option): Remove.
9414 (find_long): Add `len' argument, make `s' const char *.
9415 (grub_arg_parse): Parse long options in place, not in a
9416 temporary buffer.
9417
9418 2009-07-06 Pavel Roskin <proski@gnu.org>
9419
9420 * commands/search.c (search_fs): Fix potential NULL pointer
9421 dereference.
9422
9423 * commands/search.c (search_fs): Replace QUID macro with quid_fn
9424 function pointer.
9425
9426 2009-07-06 Daniel Mierswa <impulze@impulze.org>
9427
9428 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
9429 comparison.
9430
9431 2009-07-05 Pavel Roskin <proski@gnu.org>
9432
9433 * include/grub/i386/linux.h (struct linux_kernel_params):
9434 Restore padding3, it's still needed.
9435
9436 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
9437 FreeBSD.
9438 * util/osdetect.lua: Likewise.
9439
9440 2009-07-05 Bean <bean123ch@gmail.com>
9441
9442 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
9443
9444 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
9445 (grub_lua_getenv): Likewise.
9446 (grub_lua_setenv): Likewise.
9447 (save_errno): New function.
9448 (push_result): Likewise.
9449 (grub_lua_enum_device): Likewise.
9450 (grub_lua_enum_file): Likewise.
9451 (grub_lua_file_open): Likewise.
9452 (grub_lua_file_close): Likewise.
9453 (grub_lua_file_seek): Likewise.
9454 (grub_lua_file_read): Likewise.
9455 (grub_lua_file_getline): Likewise.
9456 (grub_lua_file_getsize): Likewise.
9457 (grub_lua_file_getpos): Likewise.
9458 (grub_lua_file_eof): Likewise.
9459 (grub_lua_file_exist): Likewise.
9460 (grub_lua_add_menu): Likewise.
9461
9462 * script/lua/grub_lua.h (isupper): New inline function.
9463 (islower): Likewise.
9464 (ispunct): Likewise.
9465 (isxdigit): Likewise.
9466 (strcspn): Change to normal function.
9467 (strpbkr): New function declaration.
9468 (memchr): Likewise.
9469
9470 * script/lua/grub_main.c (scan_str): New function.
9471 (strcspn): Likewise.
9472 (strpbrk): Likewise.
9473 (memchr): Likewise.
9474
9475 * script/lua/linit.c (lualibs): Enable the string library.
9476
9477 * util/osdetect.lua: New file.
9478
9479 2009-07-04 Robert Millan <rmh.grub@aybabtu.com>
9480
9481 * include/grub/i386/linux.h (struct linux_kernel_params): Add
9482 `capabilities' member.
9483
9484 2009-07-02 Pavel Roskin <proski@gnu.org>
9485
9486 * genparttoollist.sh: Add missing newline at the end.
9487
9488 2009-07-01 Pavel Roskin <proski@gnu.org>
9489
9490 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
9491
9492 * util/hostdisk.c (open_device): Remove `const' from
9493 `sysctl_size', as sysctlbyname() can change it (in this case it
9494 doesn't actually happen).
9495
9496 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
9497 using signed long int constants.
9498
9499 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
9500 constant to avoid a warning on FreeBSD.
9501
9502 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
9503 where it's needed.
9504
9505 * Makefile.in: Install include/grub/machine symlink.
9506
9507 * Makefile.in: When installing symlinks, use "cp -fR", which
9508 works on FreeBSD and MacOSX.
9509 From Yves Blusseau <cl7m42e02@sneakemail.com>
9510
9511 * kern/dl.c (grub_dl_resolve_symbol): Make static.
9512 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
9513
9514 * util/misc.c: Move grub_reboot() and grub_halt() ...
9515 * util/grub-emu.c: ... here. Make main_env static.
9516 * include/grub/util/misc.h: Remove main_env.
9517
9518 * kern/mm.c: Use correct format to print size_t.
9519
9520 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
9521 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
9522 * kern/powerpc/dl.c: Likewise.
9523 * kern/sparc64/dl.c: Likewise.
9524 * kern/x86_64/dl.c: Likewise.
9525
9526 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
9527
9528 Fix grub-emu build on sparc64-ieee1275.
9529
9530 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
9531 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
9532
9533 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
9534
9535 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
9536 (grub_reboot, grub_halt): New functions.
9537
9538 * util/i386/pc/misc.c: Delete. Update all users.
9539 * util/sparc64/ieee1275/misc.c: Likewise.
9540 * util/powerpc/ieee1275/misc.c: Likewise.
9541
9542 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
9543
9544 * conf/i386.rmk (setjmp_mod_SOURCES)
9545 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
9546 * conf/common.rmk (setjmp_mod_SOURCES)
9547 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
9548 to use $(target_cpu).
9549 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
9550 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
9551 * conf/powerpc-ieee1275.rmk: Likewise.
9552 * conf/sparc64-ieee1275.rmk: Likewise.
9553
9554 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
9555 $(target_cpu) for kern/$(target_cpu)/dl.c.
9556 * conf/i386-efi.rmk: Likewise.
9557 * conf/i386-ieee1275.rmk: Likewise.
9558 * conf/x86_64-efi.rmk: Likewise.
9559 * conf/i386-coreboot.rmk: Likewise.
9560 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
9561 $(target_cpu) for kern/$(target_cpu)/dl.c and for
9562 kern/$(target_cpu)/cache.S.
9563 * conf/sparc64-ieee1275.rmk: Likewise.
9564
9565 2009-07-01 Robert Millan <rmh.grub@aybabtu.com>
9566
9567 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
9568 type to `grub_uint8_t', and adjust `padding9' accordingly.
9569
9570 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
9571
9572 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
9573
9574 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
9575 assembly in final jump, using register constraints.
9576
9577 (grub_linux_boot): For text mode, initialize `have_vga' using
9578 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
9579
9580 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
9581 right before the final jump.
9582
9583 Set `video_mode' to 0x3.
9584
9585 Document initialization of `video_page', `video_mode' and
9586 `video_ega_bx'.
9587
9588 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
9589
9590 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
9591 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
9592 and set GRUB_LINUX_FLAG_QUIET appropriately.
9593
9594 2009-06-29 Robert Millan <rmh.grub@aybabtu.com>
9595
9596 Fix build on Debian / sparc.
9597
9598 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
9599
9600 2009-06-28 Pavel Roskin <proski@gnu.org>
9601
9602 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
9603 fix a warning.
9604
9605 * util/grub.d/10_linux.in: Match SUSE style initrd names.
9606
9607 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
9608
9609 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
9610 `err'.
9611
9612 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
9613
9614 Revert r2338.
9615
9616 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
9617 file can't be opened. grub_file_open() is already supposed to set
9618 grub_errno / grub_errmsg appropriately.
9619 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9620
9621 2009-06-27 Pavel Roskin <proski@gnu.org>
9622 2009-06-27 Robert Millan <rmh.grub@aybabtu.com>
9623
9624 * include/grub/dl.h: Include grub/elf.h.
9625 (struct grub_dl): Add symtab field.
9626 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
9627 GRUB_MODULES_MACHINE_READONLY.
9628 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
9629 of the header for read-only modules.
9630 (grub_dl_unload): Free mod->symtab for read-only modules.
9631 * kern/i386/dl.c: Use mod->symtab.
9632 * kern/powerpc/dl.c: Likewise.
9633 * kern/sparc64/dl.c: Likewise.
9634 * kern/x86_64/dl.c: Likewise.
9635
9636 * conf/i386-qemu.rmk: New file.
9637 * kern/i386/qemu/startup.S: Likewise.
9638 * kern/i386/qemu/mmap.c: Likewise.
9639 * boot/i386/qemu/boot.S: Likewise.
9640 * include/grub/i386/qemu/time.h: Likewise.
9641 * include/grub/i386/qemu/serial.h: Likewise.
9642 * include/grub/i386/qemu/kernel.h: Likewise.
9643 * include/grub/i386/qemu/console.h: Likewise.
9644 * include/grub/i386/qemu/boot.h: Likewise.
9645 * include/grub/i386/qemu/init.h: Likewise.
9646 * include/grub/i386/qemu/machine.h: Likewise.
9647 * include/grub/i386/qemu/loader.h: Likewise.
9648 * include/grub/i386/qemu/memory.h: Likewise.
9649
9650 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
9651 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
9652 [qemu] (pkglib_IMAGES): Add `boot.img'.
9653 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
9654 [qemu] (boot_img_FORMAT): New variables.
9655 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
9656 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
9657 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
9658 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
9659 [qemu] (kernel_img_FORMAT): New variables.
9660
9661 * configure.ac: Recognise `i386-qemu'.
9662
9663 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
9664 (for no compression).
9665 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
9666 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
9667 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
9668 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
9669 ifdefs).
9670
9671 2009-06-27 Pavel Roskin <proski@gnu.org>
9672
9673 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
9674 read.
9675 * efiemu/prepare32.c: Likewise.
9676 * efiemu/prepare64.c: Likewise.
9677
9678 2009-06-26 Pavel Roskin <proski@gnu.org>
9679
9680 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
9681 * include/grub/elf.h: Define symbols without "32" or "64" based
9682 on GRUB_TARGET_WORDSIZE.
9683 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
9684 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
9685 ELF definitions.
9686 * efiemu/loadcore64.c: Likewise.
9687 * loader/i386/bsd32.c: Likewise.
9688 * loader/i386/bsd64.c: Likewise.
9689 * kern/dl.c: Remove own ELF definitions.
9690 * util/i386/efi/grub-mkimage.c: Likewise.
9691
9692 2009-06-23 Robert Millan <rmh.grub@aybabtu.com>
9693
9694 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
9695 segment 0x0 unconditionally, because the reference generated by
9696 GAS is an absolute address.
9697
9698 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
9699
9700 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
9701 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
9702
9703 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
9704
9705 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
9706 indexes. Check for -f explicitly.
9707 (search_file): Improve error message.
9708 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
9709
9710 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
9711
9712 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
9713 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
9714
9715 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
9716
9717 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
9718 * conf/i386-ieee1275.rmk: Likewise.
9719 * conf/i386-coreboot.rmk: Likewise.
9720
9721 * kern/i386/pc/startup.S (grub_stop): Remove function.
9722 * kern/i386/ieee1275/startup.S: Likewise.
9723 * kern/i386/coreboot/startup.S: Likewise.
9724 * kern/i386/misc.S (grub_stop): New function.
9725
9726 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
9727
9728 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
9729 * kern/i386/realmode.S (real_to_prot): ... to here.
9730
9731 2009-06-22 Robert Millan <rmh.grub@aybabtu.com>
9732
9733 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
9734 with `kernel.img'.
9735 (kernel_elf_SOURCES): Rename to ...
9736 (kernel_img_SOURCES): ... this.
9737 (kernel_elf_HEADERS): Rename to ...
9738 (kernel_img_HEADERS): ... this. Update all users.
9739 (kernel_elf_ASFLAGS): Rename to ...
9740 (kernel_img_ASFLAGS): ... this.
9741 (kernel_elf_CFLAGS): Rename to ...
9742 (kernel_img_CFLAGS): ... this.
9743 (kernel_elf_LDFLAGS): Rename to ...
9744 (kernel_img_LDFLAGS): ... this.
9745 * conf/i386-coreboot.rmk: Likewise.
9746 * conf/powerpc-ieee1275.rmk: Likewise.
9747
9748 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
9749 with "kernel.img".
9750
9751 2009-06-21 Pavel Roskin <proski@gnu.org>
9752
9753 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
9754 to match nested functions.
9755 * loader/sparc64/ieee1275/linux.c: Likewise.
9756
9757 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
9758
9759 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
9760
9761 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
9762 all i386 platforms.
9763
9764 2009-06-21 Robert Millan <rmh.grub@aybabtu.com>
9765
9766 Fix asm file handling on ELF, and remove workarounds.
9767
9768 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
9769 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
9770 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
9771 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
9772
9773 2009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
9774
9775 Load BSD ELF modules
9776
9777 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
9778 and loader/i386/bsd64.c
9779 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
9780 (FREEBSD_MODTYPE_ELF_MODULE): New definition
9781 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
9782 (grub_freebsd_load_elfmodule32): New declaration
9783 (grub_freebsd_load_elfmoduleobj64): Likewise
9784 (grub_freebsd_load_elf_meta32): Likewise
9785 (grub_freebsd_load_elf_meta64): Likewise
9786 (grub_freebsd_add_meta): Likewise
9787 (grub_freebsd_add_meta_module): Likewise
9788 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
9789 (grub_freebsd_add_meta_module): Likewise and move module-specific
9790 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
9791 (grub_cmd_freebsd): Add elf-kernel specific parts
9792 based on grub_freebsd_add_meta_module
9793 (grub_cmd_freebsd_module): Add type parsing moved from
9794 grub_freebsd_add_meta_module
9795 (grub_cmd_freebsd_module_elf): New function
9796 (cmd_freebsd_module_elf): New variable
9797 (GRUB_MOD_INIT): Register freebsd_module_elf
9798 * loader/i386/bsd32.c: New file
9799 * loader/i386/bsd64.c: Likewise
9800 * loader/i386/bsdXX.c: Likewise
9801 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
9802 (grub_elf64_load): Likewise
9803 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
9804 All users updated
9805 (grub_elf64_load_hook_t): Likewise
9806
9807 2009-06-21 Colin Watson <cjwatson@ubuntu.com>
9808
9809 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
9810 variable.
9811 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
9812 don't write a menu entry for recovery mode.
9813
9814 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
9815
9816 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
9817 after it's no longer needed.
9818
9819 2009-06-20 Robert Millan <rmh.grub@aybabtu.com>
9820
9821 * include/grub/i386/loader.h (grub_linux_prot_size)
9822 (grub_linux_tmp_addr, grub_linux_real_addr)
9823 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
9824 GRUB_MACHINE_PCBIOS.
9825 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
9826 common grub_util_info() call to ...
9827 (generate_image): ... here.
9828 Fix use of uninitialized memory, comparison of signed with
9829 unsigned integers and memory leak.
9830 Remove bogus module address message.
9831
9832 2009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
9833
9834 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
9835 grub_raid_register
9836 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
9837
9838 2009-06-19 Pavel Roskin <proski@gnu.org>
9839
9840 * configure.ac: Remove stray AC_MSG_CHECKING.
9841
9842 2009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
9843
9844 * disk/scsi.c (grub_scsi_open): use continue instead of big if
9845
9846 2009-06-18 Pavel Roskin <proski@gnu.org>
9847
9848 * conf/common.rmk: Add fs_file.mod.
9849 * disk/fs_file.c: New file.
9850 * include/grub/disk.h (enum grub_disk_dev_id): Add
9851 GRUB_DISK_DEVICE_FILE_ID.
9852
9853 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
9854
9855 Fix build with Apple's toolchain. Part 2
9856
9857 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
9858 a fake start
9859
9860 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
9861
9862 Fix build with Apple's toolchain. Part 1
9863
9864 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
9865 for long calls
9866 * configure.ac: remove a leftover AC_MSG_RESULT
9867 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
9868 Apple's toolchain
9869
9870 2009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
9871
9872 Fix warnings
9873
9874 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
9875 (decomp_block): initialize ch
9876 use grub_memcpy instead of memcpy
9877
9878 2009-06-17 Pavel Roskin <proski@gnu.org>
9879
9880 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
9881 version, use declarations needed to use vga_text as the startup
9882 console.
9883
9884 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
9885 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
9886 the kernel.
9887 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
9888 and grub_at_keyboard_fini(), it's done on module load and
9889 unload.
9890
9891 2009-06-17 Felix Zielcke <fzielcke@z-51.de>
9892
9893 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
9894 file can't be found.
9895 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
9896
9897 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
9898
9899 Fix newline handling
9900
9901 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
9902 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
9903 (grub_script_yylex): don't segfault on unterminated script
9904 newline terminates command and variable
9905
9906 2009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
9907
9908 avoid double grub_adjust_range call. Bug reported by David Simner
9909
9910 * kern/disk.c (grub_disk_write): change to raw disk access before
9911 calling disk_read
9912
9913 2009-06-17 Colin Watson <cjwatson@ubuntu.com>
9914
9915 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
9916 spaces, for the benefit of help2man.
9917 * util/i386/efi/grub-mkimage.c (usage): Likewise.
9918
9919 2009-06-16 Pavel Roskin <proski@gnu.org>
9920
9921 * kern/i386/halt.c: Include grub/machine/init.h.
9922 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
9923
9924 2009-06-16 Felix Zielcke <fzielcke@z-51.de>
9925
9926 * util/grub.d/30_os-prober.in: Use ${root} in the generated
9927 drivemap menuentry.
9928
9929 2009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
9930
9931 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
9932 `echo' command.
9933
9934 2009-06-16 Pavel Roskin <proski@gnu.org>
9935
9936 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
9937 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
9938 save %dx, we only need %dl and we never change it.
9939 * boot/i386/pc/cdboot.S: Don't set the root drive.
9940 * boot/i386/pc/pxeboot.S: Likewise.
9941 * include/grub/i386/pc/boot.h: Remove
9942 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
9943 GRUB_BOOT_MACHINE_DRIVE_CHECK.
9944 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
9945 * kern/i386/pc/init.c (make_install_device): Remove references
9946 to grub_root_drive.
9947 * kern/i386/pc/startup.S: Likewise.
9948 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
9949
9950 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
9951
9952 xnu_uuid command
9953
9954 * commands/xnu_uuid.c: new file
9955 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
9956 (xnu_uuid_mod_SOURCES): new variable
9957 (xnu_uuid_mod_CFLAGS): likewise
9958 (xnu_uuid_mod_LDFLAGS): likewise
9959 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
9960 * conf/i386-ieee1275.rmk: likewise
9961 * conf/i386-pc.rmk: likewise
9962 * conf/powerpc-ieee1275.rmk: likewise
9963 * conf/sparc64-ieee1275.rmk: likewise
9964 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
9965
9966 2009-06-16 Pavel Roskin <proski@gnu.org>
9967
9968 * configure.ac: Avoid '==' in test command, it's not portable.
9969
9970 2009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
9971
9972 Probe command
9973
9974 * commands/probe.c: new file
9975 * conf/common.rmk (pkglib_MODULES): add probe.mod
9976 (probe_mod_SOURCES): new variable
9977 (probe_mod_CFLAGS): likewise
9978 (probe_mod_LDFLAGS): likewise
9979 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
9980 * conf/i386-ieee1275.rmk: likewise
9981 * conf/i386-pc.rmk: likewise
9982 * conf/powerpc-ieee1275.rmk: likewise
9983 * conf/sparc64-ieee1275.rmk: likewise
9984
9985 2009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
9986
9987 Fix handling of string like \"hello\" and "a
9988 b"
9989
9990 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
9991 (grub_script_yylex): fix parsing of quoting, escaping and newline
9992
9993 2009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
9994
9995 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
9996 handling
9997
9998 2009-06-13 Jun Inoue <jun.lambda@gmail.com>
9999
10000 * util/grub-mkconfig.in: Fix parsing of --output option.
10001
10002 2009-06-12 Pavel Roskin <proski@gnu.org>
10003
10004 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
10005 genmk.rb don't need to be generated or installed.
10006
10007 2009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
10008
10009 * commands/i386/pc/drivemap_int13h.S: add more comments
10010
10011 2009-06-11 Pavel Roskin <proski@gnu.org>
10012
10013 * Makefile.in (uninstall): Uninstall manuals.
10014
10015 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
10016 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
10017 and update-grub_lib in two places.
10018 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
10019
10020 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
10021 a compiler warning.
10022
10023 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
10024 `entry_lo' to fix variable shadowing.
10025
10026 2009-06-11 Christian Franke <franke@computer.org>
10027
10028 * kern/misc.c (__enable_execute_stack): Add missing return type
10029 to prevent gcc warning.
10030
10031 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
10032
10033 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
10034
10035 2009-06-11 Pavel Roskin <proski@gnu.org>
10036
10037 * Makefile.in: Don't rely on any scripts being executable.
10038 Always use $(SHELL) to run shell scripts.
10039
10040 * configure.ac: Always define ___main if using -nostdlib. This
10041 fixes tests on Cygwin.
10042
10043 2009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
10044
10045 UDF fix
10046
10047 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
10048 is in bytes and not in blocks
10049
10050 2009-06-11 Pavel Roskin <proski@gnu.org>
10051
10052 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
10053 warning.
10054
10055 2009-06-11 Felix Zielcke <fzielcke@z-51.de>
10056
10057 * util/grub.d/30_os-prober.in: Fix a comment. Source
10058 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
10059 to set the root device. Place drivemap command in the generated
10060 chain entry.
10061
10062 2009-06-11 Pavel Roskin <proski@gnu.org>
10063
10064 * configure.ac: Remove host_m32. Issues with 64-bit utilities
10065 have long been resolved.
10066
10067 2009-06-11 Colin Watson <cjwatson@ubuntu.com>
10068
10069 * util/grub.d/10_linux.in: Capitalise "Linux".
10070
10071 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
10072
10073 2009-06-11 Pavel Roskin <proski@gnu.org>
10074
10075 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
10076 fix a gcc warning and ensure that the function won't ever exit.
10077
10078 * kern/i386/ieee1275/init.c: Add missing prototype for
10079 grub_stop_floppy().
10080
10081 * loader/ieee1275/multiboot2.c [__i386__]: Include
10082 grub/cpu/multiboot.h.
10083
10084 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
10085 casts to short - they are not portable and cause warnings. Fix
10086 use of uninitialized values in input_buf. Use ARRAY_SIZE.
10087
10088 2009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
10089
10090 Drivemap fixes
10091
10092 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
10093 new function
10094 (grub_get_root_biosnumber_saved): new variable
10095 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
10096 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
10097 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
10098 %dx after the call if necessary
10099 * conf/common.rmk (pkglib_MODULES): remove boot.mod
10100 (boot_mod_SOURCES): remove
10101 (boot_mod_CFLAGS): remove
10102 (boot_mod_LDFLAGS): remove
10103 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
10104 (boot_mod_SOURCES): new variable
10105 (boot_mod_CFLAGS): likewise
10106 (boot_mod_LDFLAGS): likewise
10107 * conf/i386-efi.rmk: likewise
10108 * conf/i386-ieee1275.rmk: likewise
10109 * conf/i386-pc.rmk: likewise
10110 * conf/powerpc-ieee1275.rmk: likewise
10111 * conf/sparc64-ieee1275.rmk: likewise
10112 * conf/x86_64-efi.rmk: likewise
10113 * include/grub/i386/pc/biosnum.h: new file
10114 * lib/i386/pc/biosnum.c: likewise
10115 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
10116 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
10117 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
10118
10119 2009-06-10 Pavel Roskin <proski@gnu.org>
10120
10121 * io/gzio.c (test_header): Don't reuse one buffer for all data.
10122 Use separate variables. Read only the file size at the end, but
10123 not the checksum that we don't use.
10124
10125 * kern/file.c (grub_file_read): Use void pointer for the buffer.
10126 Adjust all callers.
10127
10128 * kern/ieee1275/openfw.c: Remove libc includes.
10129 * kern/ieee1275/cmain.c: Likewise.
10130 * include/grub/ieee1275/ieee1275.h: Likewise.
10131
10132 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
10133 compiler warnings.
10134
10135 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
10136
10137 * Makefile.in: Remove all trailing whitespace.
10138 * conf/i386-pc.rmk: Likewise.
10139 * conf/powerpc-ieee1275.rmk: Likewise.
10140 * conf/sparc64-ieee1275.rmk: Likewise.
10141 * docs/grub.texi: Likewise.
10142 * docs/texinfo.tex: Likewise.
10143 * disk/fs_uuid.c: Likewise.
10144 * disk/lvm.c: Likewise.
10145 * disk/scsi.c: Likewise.
10146 * disk/ata.c: Likewise.
10147 * disk/ieee1275/ofdisk.c: Likewise.
10148 * disk/i386/pc/biosdisk.c: Likewise.
10149 * disk/host.c: Likewise.
10150 * disk/raid.c: Likewise.
10151 * disk/efi/efidisk.c: Likewise.
10152 * disk/usbms.c: Likewise.
10153 * disk/memdisk.c: Likewise.
10154 * disk/loopback.c: Likewise.
10155 * kern/powerpc/dl.c: Likewise.
10156 * kern/device.c: Likewise.
10157 * kern/dl.c: Likewise.
10158 * kern/sparc64/dl.c: Likewise.
10159 * kern/ieee1275/ieee1275.c: Likewise.
10160 * kern/term.c: Likewise.
10161 * kern/fs.c: Likewise.
10162 * kern/i386/dl.c: Likewise.
10163 * kern/i386/pc/startup.S: Likewise.
10164 * kern/i386/pc/init.c: Likewise.
10165 * kern/i386/pc/mmap.c: Likewise.
10166 * kern/i386/pc/lzo1x.S: Likewise.
10167 * kern/i386/ieee1275/init.c: Likewise.
10168 * kern/i386/realmode.S: Likewise.
10169 * kern/i386/tsc.c: Likewise.
10170 * kern/partition.c: Likewise.
10171 * kern/corecmd.c: Likewise.
10172 * kern/file.c: Likewise.
10173 * kern/efi/efi.c: Likewise.
10174 * kern/efi/init.c: Likewise.
10175 * kern/efi/mm.c: Likewise.
10176 * kern/main.c: Likewise.
10177 * kern/err.c: Likewise.
10178 * kern/env.c: Likewise.
10179 * kern/disk.c: Likewise.
10180 * kern/generic/millisleep.c: Likewise.
10181 * kern/generic/rtc_get_time_ms.c: Likewise.
10182 * kern/misc.c: Likewise.
10183 * kern/parser.c: Likewise.
10184 * genmk.rb: Likewise.
10185 * configure.ac: Likewise.
10186 * boot/i386/pc/diskboot.S: Likewise.
10187 * boot/i386/pc/pxeboot.S: Likewise.
10188 * boot/i386/pc/boot.S: Likewise.
10189 * boot/i386/pc/lnxboot.S: Likewise.
10190 * boot/i386/pc/cdboot.S: Likewise.
10191 * parttool/pcpart.c: Likewise.
10192 * video/readers/tga.c: Likewise.
10193 * video/video.c: Likewise.
10194 * video/bitmap.c: Likewise.
10195 * lib/envblk.c: Likewise.
10196 * lib/i386/setjmp.S: Likewise.
10197 * fs/xfs.c: Likewise.
10198 * fs/afs.c: Likewise.
10199 * fs/fat.c: Likewise.
10200 * fs/ntfs.c: Likewise.
10201 * fs/udf.c: Likewise.
10202 * fs/affs.c: Likewise.
10203 * fs/iso9660.c: Likewise.
10204 * fs/hfs.c: Likewise.
10205 * fs/fshelp.c: Likewise.
10206 * fs/ext2.c: Likewise.
10207 * fs/jfs.c: Likewise.
10208 * fs/reiserfs.c: Likewise.
10209 * fs/hfsplus.c: Likewise.
10210 * fs/minix.c: Likewise.
10211 * fs/cpio.c: Likewise.
10212 * fs/sfs.c: Likewise.
10213 * fs/ufs.c: Likewise.
10214 * efiemu/prepare.c: Likewise.
10215 * efiemu/loadcore_common.c: Likewise.
10216 * efiemu/runtime/efiemu.sh: Likewise.
10217 * efiemu/runtime/efiemu.S: Likewise.
10218 * efiemu/runtime/efiemu.c: Likewise.
10219 * efiemu/pnvram.c: Likewise.
10220 * efiemu/main.c: Likewise.
10221 * efiemu/i386/pc/cfgtables.c: Likewise.
10222 * efiemu/i386/loadcore64.c: Likewise.
10223 * efiemu/i386/loadcore32.c: Likewise.
10224 * efiemu/loadcore.c: Likewise.
10225 * efiemu/symbols.c: Likewise.
10226 * efiemu/mm.c: Likewise.
10227 * include/grub/autoefi.h: Likewise.
10228 * include/grub/datetime.h: Likewise.
10229 * include/grub/term.h: Likewise.
10230 * include/grub/hfs.h: Likewise.
10231 * include/grub/lvm.h: Likewise.
10232 * include/grub/i386/tsc.h: Likewise.
10233 * include/grub/i386/linux.h: Likewise.
10234 * include/grub/i386/xnu.h: Likewise.
10235 * include/grub/i386/efiemu.h: Likewise.
10236 * include/grub/i386/pc/biosdisk.h: Likewise.
10237 * include/grub/i386/pc/memory.h: Likewise.
10238 * include/grub/i386/pc/vbe.h: Likewise.
10239 * include/grub/parttool.h: Likewise.
10240 * include/grub/video.h: Likewise.
10241 * include/grub/memory.h: Likewise.
10242 * include/grub/fs.h: Likewise.
10243 * include/grub/partition.h: Likewise.
10244 * include/grub/xnu.h: Likewise.
10245 * include/grub/efi/api.h: Likewise.
10246 * include/grub/efi/pe32.h: Likewise.
10247 * include/grub/efi/memory.h: Likewise.
10248 * include/grub/multiboot.h: Likewise.
10249 * include/grub/usbdesc.h: Likewise.
10250 * include/grub/multiboot2.h: Likewise.
10251 * include/grub/acpi.h: Likewise.
10252 * include/grub/efiemu/efiemu.h: Likewise.
10253 * include/grub/disk.h: Likewise.
10254 * include/grub/ieee1275/ieee1275.h: Likewise.
10255 * include/grub/net.h: Likewise.
10256 * include/grub/machoload.h: Likewise.
10257 * include/grub/macho.h: Likewise.
10258 * include/multiboot.h: Likewise.
10259 * genmoddep.awk: Likewise.
10260 * normal/main.c: Likewise.
10261 * normal/menu_entry.c: Likewise.
10262 * normal/menu_viewer.c: Likewise.
10263 * normal/completion.c: Likewise.
10264 * normal/cmdline.c: Likewise.
10265 * normal/misc.c: Likewise.
10266 * normal/datetime.c: Likewise.
10267 * bus/usb/usbtrans.c: Likewise.
10268 * bus/usb/ohci.c: Likewise.
10269 * bus/usb/uhci.c: Likewise.
10270 * bus/usb/usb.c: Likewise.
10271 * mmap/efi/mmap.c: Likewise.
10272 * mmap/i386/pc/mmap_helper.S: Likewise.
10273 * mmap/i386/pc/mmap.c: Likewise.
10274 * mmap/i386/mmap.c: Likewise.
10275 * mmap/i386/uppermem.c: Likewise.
10276 * mmap/mmap.c: Likewise.
10277 * commands/acpi.c: Likewise.
10278 * commands/echo.c: Likewise.
10279 * commands/blocklist.c: Likewise.
10280 * commands/loadenv.c: Likewise.
10281 * commands/usbtest.c: Likewise.
10282 * commands/boot.c: Likewise.
10283 * commands/parttool.c: Likewise.
10284 * commands/search.c: Likewise.
10285 * commands/cat.c: Likewise.
10286 * commands/i386/pc/play.c: Likewise.
10287 * commands/i386/pc/drivemap.c: Likewise.
10288 * commands/i386/pc/vbeinfo.c: Likewise.
10289 * commands/i386/pc/acpi.c: Likewise.
10290 * commands/i386/pc/vbetest.c: Likewise.
10291 * commands/ls.c: Likewise.
10292 * commands/cmp.c: Likewise.
10293 * commands/test.c: Likewise.
10294 * commands/efi/acpi.c: Likewise.
10295 * commands/gptsync.c: Likewise.
10296 * commands/help.c: Likewise.
10297 * partmap/amiga.c: Likewise.
10298 * partmap/apple.c: Likewise.
10299 * partmap/acorn.c: Likewise.
10300 * partmap/pc.c: Likewise.
10301 * partmap/sun.c: Likewise.
10302 * partmap/gpt.c: Likewise.
10303 * script/sh/lexer.c: Likewise.
10304 * script/sh/function.c: Likewise.
10305 * font/font.c: Likewise.
10306 * font/font_cmd.c: Likewise.
10307 * loader/powerpc/ieee1275/linux.c: Likewise.
10308 * loader/efi/chainloader.c: Likewise.
10309 * loader/multiboot_loader.c: Likewise.
10310 * loader/macho.c: Likewise.
10311 * loader/i386/multiboot.c: Likewise.
10312 * loader/i386/linux.c: Likewise.
10313 * loader/i386/pc/linux.c: Likewise.
10314 * loader/i386/pc/multiboot2.c: Likewise.
10315 * loader/i386/pc/chainloader.c: Likewise.
10316 * loader/i386/pc/xnu.c: Likewise.
10317 * loader/i386/bsd_trampoline.S: Likewise.
10318 * loader/i386/efi/linux.c: Likewise.
10319 * loader/i386/multiboot_elfxx.c: Likewise.
10320 * loader/i386/bsd_helper.S: Likewise.
10321 * loader/i386/bsd.c: Likewise.
10322 * loader/i386/linux_trampoline.S: Likewise.
10323 * loader/i386/xnu_helper.S: Likewise.
10324 * loader/i386/xnu.c: Likewise.
10325 * loader/i386/bsd_pagetable.c: Likewise.
10326 * loader/i386/multiboot_helper.S: Likewise.
10327 * loader/xnu.c: Likewise.
10328 * loader/xnu_resume.c: Likewise.
10329 * io/gzio.c: Likewise.
10330 * term/efi/console.c: Likewise.
10331 * term/terminfo.c: Likewise.
10332 * term/ieee1275/ofconsole.c: Likewise.
10333 * term/i386/pc/serial.c: Likewise.
10334 * term/i386/pc/vesafb.c: Likewise.
10335 * term/i386/pc/vga.c: Likewise.
10336 * term/usb_keyboard.c: Likewise.
10337 * term/gfxterm.c: Likewise.
10338 * aclocal.m4: Likewise.
10339 * util/lvm.c: Likewise.
10340 * util/grub.d/30_os-prober.in: Likewise.
10341 * util/grub.d/10_hurd.in: Likewise.
10342 * util/console.c: Likewise.
10343 * util/grub-macho2img.c: Likewise.
10344 * util/grub-probe.c: Likewise.
10345 * util/hostfs.c: Likewise.
10346 * util/i386/pc/grub-mkimage.c: Likewise.
10347 * util/i386/pc/grub-setup.c: Likewise.
10348 * util/i386/efi/grub-mkimage.c: Likewise.
10349 * util/grub-mkconfig.in: Likewise.
10350 * util/raid.c: Likewise.
10351 * util/resolve.c: Likewise.
10352 * util/grub-mkdevicemap.c: Likewise.
10353 * util/grub-emu.c: Likewise.
10354 * util/getroot.c: Likewise.
10355 * util/hostdisk.c: Likewise.
10356 * util/usb.c: Likewise.
10357 * util/grub-editenv.c: Likewise.
10358 * util/misc.c: Likewise.
10359
10360 2009-06-10 Felix Zielcke <fzielcke@z-51.de>
10361
10362 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
10363 `genparttoollist.sh'.
10364 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
10365 Add `*.sh' to the list find searches for and change `mdate.sh'
10366 to `mdate-sh'.
10367
10368 2009-06-10 Pavel Roskin <proski@gnu.org>
10369
10370 * include/grub/multiboot2.h: Provide compatibility defines for
10371 multiboot2.h.
10372 * include/multiboot2.h: Include stdint.h only if needed, using
10373 angle brackets.
10374 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
10375 grub/multiboot2.h.
10376 * loader/ieee1275/multiboot2.c: Likewise.
10377 * loader/multiboot2.c: Likewise.
10378 * loader/multiboot_loader.c: Likewise.
10379
10380 * configure.ac: Use -nostdlib when probing for the target. It
10381 should not be required to have libc for the target.
10382
10383 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
10384 they fail without libc headers for the target.
10385 * include/grub/powerpc/libgcc.h: Use weak attribute for all
10386 exports.
10387 * include/grub/sparc64/libgcc.h: Likewise. Don't use
10388 preprocessor conditionals.
10389
10390 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
10391 build system doesn't need to be aware of the tar.c internals.
10392
10393 2009-06-09 Michel Hermier <michel.hermier@gmail.com>
10394
10395 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
10396
10397 2009-06-09 Robert Millan <rmh.grub@aybabtu.com>
10398
10399 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
10400 disk limit to 26 for IDE, Virtio, Xen and SCSI.
10401
10402 2009-06-09 Felix Zielcke <fzielcke@z-51.de>
10403
10404 * util/i386/pc/grub-install.in: Change the error message if UUIDs
10405 aren't available if ata.mod gets used.
10406
10407 2009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
10408
10409 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
10410 initialising controller.
10411 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
10412
10413 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
10414
10415 * util/i386/pc/grub-install.in: Add a parameter --disk-module
10416 to choose between ata and biosdisk module on i386-pc.
10417
10418 2009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
10419
10420 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
10421 Subclass and Programming Interface fields in terms of the 3 byte
10422 Class Code register.
10423 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
10424
10425 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
10426 interface is OHCI. Add grub_dprintf for symmetry with
10427 bus/usb/uhci.c.
10428 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
10429 interface is UHCI. Add interf variable for programming
10430 interface. Print interface with class/subclass.
10431
10432 * bus/usb/ohci.c: Set interf with correct field.
10433
10434 * bus/usb/uhci.c: Remove unneeded doubled lines.
10435 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
10436 Remove whitespace inside comment.
10437
10438 2009-06-08 Robert Millan <rmh.grub@aybabtu.com>
10439
10440 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
10441 as fallback an equivalent option without depth.
10442
10443 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
10444
10445 Not fail if unable to retrieve C/H/S on LBA disks
10446
10447 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
10448 if unable to retrieve C/H/S on LBA disks
10449
10450 2009-06-08 Pavel Roskin <proski@gnu.org>
10451
10452 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
10453 about aliasing.
10454
10455 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
10456
10457 * Makefile.in (uninstall): Remove all $lib_DATA files.
10458
10459 2009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
10460
10461 Bugfix: install on partitionless device
10462
10463 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
10464 is a whole disk
10465
10466 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
10467
10468 * Makefile.in (uninstall): Remove all $include_DATA files.
10469
10470 2009-06-08 Felix Zielcke <fzielcke@z-51.de>
10471
10472 * commands/true.c: New file. Implement the true and false commands.
10473 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
10474 (true_mod_SOURCES): New variable.
10475 (true_mod_CFLAGS): Likewise.
10476 (true_mod_LDFLAGS): Likewise.
10477
10478 2009-06-05 Colin D Bennett <colin@gibibit.com>
10479
10480 Optimized font character lookup using binary search instead of linear
10481 search. Fonts now are required to have the character index ordered by
10482 code point.
10483
10484 * font/font.c (load_font_index): Verify that fonts have ordered
10485 character indices.
10486 (find_glyph): Use binary search instead of linear search to find a
10487 character in a font.
10488
10489 2009-06-05 Michael Scherer <misc@mandriva.org>
10490
10491 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
10492 uses case sensitive btree.
10493 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
10494 only for case insensitive filesystems.
10495
10496 2009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
10497
10498 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
10499 * conf/common.rmk (search_mod_CFLAGS): likewise
10500
10501 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10502
10503 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
10504 compensate a compiler bug
10505
10506 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10507
10508 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
10509 instead of '\b'
10510
10511 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10512
10513 Definitions for creating asm symbols with Apple's CC
10514
10515 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
10516 [APPLE_CC] (VARIABLE): likewise
10517
10518 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10519
10520 Disable lnxboot.img when compiled
10521 with Apple's CC
10522
10523 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
10524 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
10525 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
10526 [! APPLE_CC] (CODE_LENG): skip
10527 [! APPLE_CC] (setup_sects): likewise
10528 [! APPLE_CC]: skip filling
10529
10530 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10531
10532 Address in trampolines based on 32-bit registers when compiled
10533 with Apple's CC
10534
10535 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
10536 for addresses
10537 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
10538
10539 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10540
10541 Avoid aliases when compiling with Apple's CC for PCBIOS machine
10542
10543 * kern/misc.c [APPLE_CC] (memcpy): new function
10544 [APPLE_CC] (memmove): likewise
10545 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
10546 (memcpy): define alias conditionally on !APPLE_CC
10547 (memset): likewise
10548 (abort): likewise
10549 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
10550 APPLE_CC are defined
10551 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
10552 (grub_assert_fail): make prototype conditional
10553
10554 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10555
10556 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
10557
10558 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
10559 grub-macho2img
10560 (CLEANFILES): add grub-macho2img
10561 (grub_macho2img_SOURCES): new variable
10562 * kern/i386/pc/startup.S (bss_start): new variable
10563 (bss_end): likewise
10564 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
10565 * util/grub-macho2img.c: new file
10566
10567 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10568
10569 Use objconv when compiling with Apple's CC
10570
10571 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
10572 (efiemu64.o): likewise
10573 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
10574 when compiling with Apple's CC
10575 (efiemu64_s.o): likewise
10576 * configure.ac: check for objconv when compiling with Apple's CC
10577 * genmk.rb: use objconv for modules when compiled with Apple's CC
10578
10579 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10580
10581 Define segment as well as section when compiling with
10582 Apple's CC
10583
10584 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
10585 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
10586 (efiemu_convert_pointer): likewise
10587 (efiemu_set_virtual_address_map): likewise
10588 (efiemu_convert_pointer): likewise
10589 (efiemu_getcrc32): likewise
10590 (init_crc32_table): likewise
10591 (reflect): likewise
10592 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
10593 (GRUB_MOD_DEP): likewise
10594
10595 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10596
10597 Allow a compilation without -mcmodel=large
10598
10599 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
10600 when compiled without -mcmodel=large
10601 (filter_memory_map): remove memory post 4 GiB when compiled
10602 without -mcmodel=large
10603 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
10604 TARGET_CFLAGS when -mcmodel=large isn't supported
10605
10606 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10607
10608 Remove nested functions in efiemu core
10609
10610 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
10611
10612 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10613
10614 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
10615
10616 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
10617 temporary storage
10618 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
10619 using Apple's CC
10620 (grub_cpu_is_tsc_supported): likewise
10621 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
10622
10623 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10624
10625 Absolute addressing through constant with Apple's cc
10626
10627 * kern/i386/pc/startup.S: Define necessary constants
10628 and address through it when using ABS with Apple's CC
10629 * boot/i386/pc/diskboot.S: likewise
10630 * boot/i386/pc/boot.S: likewise
10631 * boot/i386/pc/lnxboot.S: likewise
10632 * boot/i386/pc/cdboot.S: likewise
10633 * mmap/i386/pc/mmap_helper.S: likewise
10634 * commands/i386/pc/drivemap_int13h.S: likewise
10635
10636 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10637
10638 Check if compiler is apple cc
10639
10640 * Makefile.in (ASFLAGS): new variable
10641 (TARGET_ASFLAGS): likewise
10642 (TARGET_MODULE_FORMAT): likewise
10643 (TARGET_APPLE_CC): likewise
10644 (OBJCONV): likewise
10645 (TARGET_IMG_CFLAGS): likewise
10646 (TARGET_CPPFLAGS): add includedir
10647 * configure.ac: call grub_apple_cc and grub_apple_target_cc
10648 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
10649 Check for linker script only if compiler isn't Apple's CC
10650 (TARGET_MODULE_FORMAT): set
10651 (TARGET_APPLE_CC): likewise
10652 (TARGET_ASFLAGS): likewise
10653 (ASFLAGS): likewise
10654 Check for objcopy only if compiler isn't Apple's CC
10655 Check for BSS symbol only if compiler isn't Apple's CC
10656 * genmk.rb: adapt nm options if we use Apple's utils
10657 * aclocal.m4 (grub_apple_cc): new test
10658 (grub_apple_target_cc): likewise
10659
10660 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10661
10662 Simplify sed expressions and improve awk
10663
10664 * Makefile.in (install-local): simplify sed expression
10665 * gencmdlist.sh: likewise
10666 * genmoddep.awk: avoid adding module as a dependency of itself
10667
10668 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10669
10670 Add missing start symbols
10671
10672 * boot/i386/pc/boot.S: add start
10673 * boot/i386/pc/pxeboot.S: likewise
10674
10675 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10676
10677 Fix wrong assumptions with grub-mkimage on EFI
10678
10679 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
10680 (relocate_addresses): consider both r_addend and value at offset
10681 (make_mods_section): zerofill modinfo and header
10682 (convert_elf): write prefix here
10683
10684 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10685
10686 Use .asciz instead of .string
10687
10688 * i386/pc/diskboot.S: use .asciz instead of .string
10689 * i386/pc/boot.S: likewise
10690 * include/grub/dl.h (GRUB_MOD_DEP): likewise
10691 (GRUB_MOD_NAME): likewise
10692
10693 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10694
10695 gfxpayload support
10696
10697 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
10698 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
10699 (grub_video_setup): remove
10700 (grub_video_set_mode): new prototype
10701 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
10702 (vid_mode): remove
10703 (linux_vesafb_res): compile only on PCBIOS
10704 (grub_linux_boot): support gfxpayload
10705 * loader/i386/pc/xnu.c (video_hook): new function
10706 (grub_xnu_set_video): support gfxpayload
10707 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
10708 (DEFAULT_VIDEO_HEIGHT): likewise
10709 (DEFAULT_VIDEO_FLAGS): likewise
10710 (DEFAULT_VIDEO_MODE): new definition
10711 (video_hook): new function
10712 (grub_gfxterm_init): use grub_video_set_mode
10713 * util/grub.d/30_os-prober.in: remove explicit modesetting before
10714 loading xnu
10715 * video/video.c (grub_video_setup): removed
10716 (grub_video_set_mode): new function based on grub_gfxterm_init and
10717 grub_video_setup
10718
10719 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10720
10721 Avoid calling biosdisk in drivemap
10722
10723 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
10724 (revparse_biosdisk): likewise
10725 (list_mappings): derive name from id directly
10726 (grub_cmd_drivemap): use tryparse_diskstring
10727
10728 2009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
10729
10730 Script fixes
10731
10732 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
10733 (grub_lexer_param): add tokenonhold
10734 (grub_script_create_cmdline): remove cmdline. All callers updated
10735 (grub_script_function_create): make functionname
10736 grub_script_arg. All callers updated
10737 (grub_script_execute_argument_to_string): new prototype
10738 * kern/parser.c (state_transitions): reorder
10739 (grub_parser_cmdline_state): fix a bug and make more compact
10740 * script/sh/execute.c (grub_script_execute_argument_to_string):
10741 make global
10742 (grub_script_execute_cmdline): use new format
10743 * script/sh/function.c (grub_script_function_create): make functionname
10744 grub_script_arg. All callers updated
10745 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
10746 (grub_script_yylex): remove
10747 (grub_script_yylex2): renamed to ...
10748 (grub_script_yylex): ...renamed
10749 parse the expressions like a${b}c
10750 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
10751 (GRUB_PARSER_TOKEN_VAR): remove
10752 (GRUB_PARSER_TOKEN_NAME): likewise
10753 ("if"): declare as typeless
10754 ("while"): likewise
10755 ("function"): likewise
10756 ("else"): likewise
10757 ("then"): likewise
10758 ("fi"): likewise
10759 (text): remove
10760 (argument): likewise
10761 (script): accept empty scripts and make exit on error
10762 (arguments): use GRUB_PARSER_TOKEN_ARG
10763 (function): likewise
10764 (command): move error handling to script
10765 (menuentry): move grub_script_lexer_ref before
10766 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
10767 argument. All callers updated
10768
10769 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
10770
10771 Prevent GRUB from probing floppies during boot.
10772
10773 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
10774 * commands/search.c (options): Add --no-floppy.
10775 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
10776 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
10777 --no-floppy when searching for UUIDs.
10778
10779 2009-06-04 Robert Millan <rmh.grub@aybabtu.com>
10780
10781 Simplify the code duplication in commands/search.c.
10782
10783 * commands/search.c (search_label, search_fs_uuid): Merge into ...
10784 (search_fs): ... this. Update all users.
10785
10786 2009-06-03 Felix Zielcke <fzielcke@z-51.de>
10787
10788 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
10789
10790 2009-05-28 Pavel Roskin <proski@gnu.org>
10791
10792 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
10793 Remove the original symlink explicitly.
10794
10795 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
10796 just one slash. That's how grub_fshelp_find_file() does it.
10797
10798 2009-05-26 Pavel Roskin <proski@gnu.org>
10799
10800 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
10801 to `str'.
10802
10803 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
10804 possibly unused.
10805
10806 2009-05-25 Christian Franke <franke@computer.org>
10807
10808 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
10809 register.
10810 (grub_atapi_identify): Add wait after drive select.
10811 (grub_ata_identify): Do more strict status register check before
10812 calling grub_atapi_identify (). Suppress error message if status
10813 register is 0x00 after command failure. Add status register
10814 check after PIO read to avoid bogus identify due to stuck DRQ.
10815 Thanks to Pavel Roskin for testing.
10816 (grub_device_initialize): Remove unsafe status register check.
10817 Thanks to 'phcoder' for problem report and patch.
10818 Prevent sign extension in debug message.
10819
10820 2009-05-23 Colin D Bennett <colin@gibibit.com>
10821
10822 Cleaned up `include/grub/normal.h'. Grouped prototypes by
10823 definition file, and functions defined in `normal/menu.c' have had
10824 their prototypes moved to `include/grub/menu.h' for consistency.
10825
10826 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
10827 from normal.h.
10828 (grub_menu_get_entry): Likewise.
10829 (grub_menu_get_timeout): Likewise.
10830 (grub_menu_set_timeout): Likewise.
10831 (grub_menu_execute_entry): Likewise.
10832 (grub_menu_execute_with_fallback): Likewise.
10833 (grub_menu_entry_run): Likewise.
10834
10835 * include/grub/normal.h: Re-ordered and grouped function
10836 prototypes by file that the function is defined in.
10837 (grub_menu_execute_callback): Removed; moved to menu.h.
10838 (grub_menu_get_entry): Likewise.
10839 (grub_menu_get_timeout): Likewise.
10840 (grub_menu_set_timeout): Likewise.
10841 (grub_menu_execute_entry): Likewise.
10842 (grub_menu_execute_with_fallback): Likewise.
10843 (grub_menu_entry_run): Likewise.
10844 (grub_menu_addentry): Renamed from this ...
10845 (grub_normal_add_menu_entry): ... to this.
10846
10847 * normal/main.c (grub_menu_addentry): Renamed from this ...
10848 (grub_normal_add_menu_entry): ... to this.
10849
10850 * script/sh/execute.c (grub_script_execute_menuentry): Update
10851 reference to renamed grub_menu_addentry function.
10852
10853 2009-05-23 Felix Zielcke <fzielcke@z-51.de>
10854
10855 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
10856
10857 2009-05-22 Pavel Roskin <proski@gnu.org>
10858
10859 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
10860 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
10861 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
10862 compiling for the i386 targets, but not for the utilities.
10863
10864 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
10865 to grub_uint8_t.
10866 (grub_root_drive): Likewise.
10867 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
10868 remove alignment.
10869 (grub_root_drive): Change size to byte.
10870 (grub_start_addr): Remove.
10871 (grub_end_addr): Likewise.
10872 (grub_apm_bios_info): Likewise.
10873
10874 2009-05-21 Felix Zielcke <fzielcke@z-51.de>
10875
10876 * normal/i386: Remove.
10877 * normal/powerpc: Likewise.
10878 * normal/sparc64: Likewise.
10879 * normal/x86_64: Likewise.
10880
10881 2009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
10882
10883 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
10884 * loader/i386/linux_trampoline.S: Fix indentation
10885 * loader/i386/xnu_helper.S: Likewise
10886
10887 2009-05-18 Colin D Bennett <colin@gibibit.com>
10888
10889 Display error messages when parsing a Lua statement fails.
10890 Previously, executing a syntactically invalid statement like
10891 ")foo" or "bar;" would silently fail.
10892
10893 * script/lua/grub_main.c (handle_lua_error): New function.
10894 (grub_lua_parse_line): Improved reporting of Lua parser and
10895 execution errors.
10896
10897 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10898
10899 Remove -Werror which causes build to fail on some systems
10900
10901 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
10902 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
10903 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
10904
10905 2009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
10906
10907 trampoline for linux on 64-bit platform
10908
10909 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
10910 loader/i386/efi/linux_trampoline.S
10911 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
10912 declaration
10913 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
10914 here
10915 * loader/i386/linux_trampoline.S: moved here
10916 * loader/i386/efi/linux.c (allocate_pages): reserve space for
10917 trampoline
10918 (jumpvector): removed
10919 (grub_linux_trampoline_start): new declaration
10920 (grub_linux_trampoline_end): likewise
10921 (grub_linux_boot): use trampoline when on 64-bit platform
10922 * loader/i386/linux.c: likewise
10923
10924 2009-05-16 Pavel Roskin <proski@gnu.org>
10925
10926 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
10927 const to avoid a warning.
10928 (grub_lua_setenv): Likewise.
10929 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
10930 lmsg to fix a warning.
10931
10932 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
10933
10934 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
10935 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
10936 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
10937 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
10938 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
10939 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
10940 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
10941 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
10942
10943 2009-05-16 Felix Zielcke <fzielcke@z-51.de>
10944
10945 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
10946
10947 2009-05-16 Bean <bean123ch@gmail.com>
10948
10949 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
10950 (lua_mod_SOURCES): New variable.
10951 (lua_mod_CFLAGS): Likewise.
10952 (lua_mod_LDFLAGS): Likewise.
10953
10954 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
10955 (setjmp_mod_SOURCES): New variable.
10956 (setjmp_mod_CFLAGS): Likewise.
10957 (setjmp_LDFLAGS): Likewise.
10958
10959 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
10960 (setjmp_mod_SOURCES): New variable.
10961 (setjmp_mod_CFLAGS): Likewise.
10962 (setjmp_LDFLAGS): Likewise.
10963
10964 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
10965 (setjmp_mod_SOURCES): New variable.
10966 (setjmp_mod_CFLAGS): Likewise.
10967 (setjmp_LDFLAGS): Likewise.
10968
10969 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
10970 (setjmp_mod_SOURCES): New variable.
10971 (setjmp_mod_CFLAGS): Likewise.
10972 (setjmp_LDFLAGS): Likewise.
10973
10974 * normal/i386/setjmp.S: Moved from here ...
10975 * lib/i386/setjmp.S: ... Moved here
10976 * normal/x86_64/setjmp.S: Moved from here ...
10977 * lib/x86_64/setjmp.S: ... Moved here
10978 * normal/powerpc/setjmp.S: Moved from here ...
10979 * lib/powerpc/setjmp.S: ... Moved here
10980 * normal/sparc64/setjmp.S: Moved from here ...
10981 * lib/sparc64/setjmp.S: ... Moved here
10982
10983 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
10984 returns_twice in mingw.
10985
10986 * script/lua/grub_lib.c: New file.
10987 * script/lua/grub_lib.h: Likewise.
10988 * script/lua/grub_lua.h: Likewise.
10989 * script/lua/grub_main.c: Likewise.
10990 * script/lua/lapi.c: Likewise.
10991 * script/lua/lapi.h: Likewise.
10992 * script/lua/lauxlib.c: Likewise.
10993 * script/lua/lauxlib.h: Likewise.
10994 * script/lua/lbaselib.c: Likewise.
10995 * script/lua/lcode.c: Likewise.
10996 * script/lua/lcode.h: Likewise.
10997 * script/lua/ldblib.c: Likewise.
10998 * script/lua/ldebug.c: Likewise.
10999 * script/lua/ldebug.h: Likewise.
11000 * script/lua/ldo.c: Likewise.
11001 * script/lua/ldo.h: Likewise.
11002 * script/lua/ldump.c: Likewise.
11003 * script/lua/lfunc.c: Likewise.
11004 * script/lua/lfunc.h: Likewise.
11005 * script/lua/lgc.c: Likewise.
11006 * script/lua/lgc.h: Likewise.
11007 * script/lua/linit.c: Likewise.
11008 * script/lua/liolib.c: Likewise.
11009 * script/lua/llex.c: Likewise.
11010 * script/lua/llex.h: Likewise.
11011 * script/lua/llimits.h: Likewise.
11012 * script/lua/lmathlib.c: Likewise.
11013 * script/lua/lmem.c: Likewise.
11014 * script/lua/lmem.h: Likewise.
11015 * script/lua/loadlib.c: Likewise.
11016 * script/lua/lobject.c: Likewise.
11017 * script/lua/lobject.h: Likewise.
11018 * script/lua/lopcodes.c: Likewise.
11019 * script/lua/lopcodes.h: Likewise.
11020 * script/lua/loslib.c: Likewise.
11021 * script/lua/lparser.c: Likewise.
11022 * script/lua/lparser.h: Likewise.
11023 * script/lua/lstate.c: Likewise.
11024 * script/lua/lstate.h: Likewise.
11025 * script/lua/lstring.c: Likewise.
11026 * script/lua/lstring.h: Likewise.
11027 * script/lua/lstrlib.c: Likewise.
11028 * script/lua/ltable.c: Likewise.
11029 * script/lua/ltable.h: Likewise.
11030 * script/lua/ltablib.c: Likewise.
11031 * script/lua/ltm.c: Likewise.
11032 * script/lua/ltm.h: Likewise.
11033 * script/lua/lua.h: Likewise.
11034 * script/lua/luaconf.h: Likewise.
11035 * script/lua/lualib.h: Likewise.
11036 * script/lua/lundump.c: Likewise.
11037 * script/lua/lundump.h: Likewise.
11038 * script/lua/lvm.c: Likewise.
11039 * script/lua/lvm.h: Likewise.
11040 * script/lua/lzio.c: Likewise.
11041 * script/lua/lzio.h: Likewise.
11042
11043 2009-05-16 Bean <bean123ch@gmail.com>
11044
11045 * include/grub/kernel.h (grub_module_header_types): Add type
11046 OBJ_TYPE_CONFIG.
11047
11048 * kern/main.c (grub_load_config): New function.
11049 (grub_main): Call grub_load_config to read boot config.
11050
11051 * grub-mkimage (generate_image): New parameter config_path.
11052 (options): New option --config.
11053 (main): Parse --config option, and pass it to generate_image.
11054
11055 2009-05-14 Christian Franke <franke@computer.org>
11056
11057 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
11058 This fixes build on Cygwin.
11059
11060 2009-05-14 Pavel Roskin <proski@gnu.org>
11061
11062 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
11063 jump. This saves two bytes, so the typical case of 2 swapped
11064 drives would fit 32 bytes.
11065
11066 2009-05-13 Pavel Roskin <proski@gnu.org>
11067
11068 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
11069 grub_uint32_t to avoid a warning.
11070
11071 * loader/i386/linux.c (allocate_pages): When assigning
11072 real_mode_mem, cast through grub_size_t to fix a warning. The
11073 code already makes sure that the value would fit a pointer.
11074 (grub_linux_setup_video): Cast render_target->data to
11075 grub_size_t to fix a warning.
11076
11077 2009-05-13 Javier Martín <lordhabbit@gmail.com>
11078
11079 * commands/i386/pc/drivemap.c: New file - implement drivemap
11080 command.
11081 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
11082 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
11083
11084 2009-05-13 Pavel Roskin <proski@gnu.org>
11085
11086 * util/i386/pc/grub-setup.c (setup): Remove unused variable
11087 embedding_area_exists.
11088
11089 2009-05-13 Robert Millan <rmh.grub@aybabtu.com>
11090
11091 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
11092 it easier to understand / work with.
11093 Improve warning messages for cases where there's no embedding area,
11094 or when it is too small (or core.img too large).
11095
11096 2009-05-13 Pavel Roskin <proski@gnu.org>
11097
11098 * loader/i386/pc/multiboot2.c: Add necessary includes for
11099 grub_multiboot2_real_boot().
11100
11101 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
11102 PX record is always little-endian. We only need the lower 2
11103 bytes of the mode.
11104
11105 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
11106 facilitate code reuse.
11107 (grub_cpio_mount): Use "struct head", not a char buffer. This
11108 fixes a warning reported by gcc 4.4.
11109
11110 * kernel/disk.c (grub_disk_read): Use void pointer for the
11111 buffer.
11112 (grub_disk_write): Use const void pointer for the buffer.
11113 Adjust all callers. Remove unnecessary casts.
11114
11115 2009-05-10 Robert Millan <rmh.grub@aybabtu.com>
11116
11117 * util/i386/pc/grub-install.in: Update copyright year.
11118
11119 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11120
11121 gptsync
11122
11123 * commands/gptsync.c: new file
11124 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
11125 (gptsync_mod_SOURCES): new variable
11126 (gptsync_mod_CFLAGS): likewise
11127 (gptsync_mod_LDFLAGS): likewise
11128 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
11129 new definition
11130 (GRUB_PC_PARTITION_TYPE_HFS): likewise
11131 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
11132 * conf/i386-ieee1275.rmk: likewise
11133 * conf/i386-pc.rmk: likewise
11134 * conf/powerpc-ieee1275.rmk: likewise
11135
11136 2009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
11137
11138 Fixed grub-emu
11139
11140 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
11141 (grub_dl_ref): likewise
11142
11143 2009-05-08 Robert Millan <rmh.grub@aybabtu.com>
11144
11145 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
11146 split in two functions (one for msdos and one for gpt).
11147
11148 2009-05-08 Pavel Roskin <proski@gnu.org>
11149
11150 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
11151 not modified.
11152
11153 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
11154 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
11155 Initialize them with -1. Add sanity check for bad1. Eliminate
11156 nerr variable.
11157
11158 2009-05-08 David S. Miller <davem@davemloft.net>
11159
11160 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
11161
11162 2009-05-06 Robert Millan <rmh.grub@aybabtu.com>
11163
11164 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
11165 existence.
11166
11167 2009-05-05 Felix Zielcke <fzielcke@z-51.de>
11168
11169 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
11170 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
11171
11172 2009-05-05 David S. Miller <davem@davemloft.net>
11173
11174 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
11175
11176 2009-05-05 Pavel Roskin <proski@gnu.org>
11177
11178 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
11179 of grub_dl_ref() and grub_dl_unref().
11180 * commands/parttool.c: Remove preprocessor conditionals around
11181 grub_dl_ref() and grub_dl_unref().
11182 * fs/affs.c: Likewise.
11183 * fs/afs.c: Likewise.
11184 * fs/cpio.c: Likewise.
11185 * fs/ext2.c: Likewise.
11186 * fs/fat.c: Likewise.
11187 * fs/hfs.c: Likewise.
11188 * fs/hfsplus.c: Likewise.
11189 * fs/iso9660.c: Likewise.
11190 * fs/jfs.c: Likewise.
11191 * fs/minix.c: Likewise.
11192 * fs/ntfs.c: Likewise.
11193 * fs/reiserfs.c: Likewise.
11194 * fs/sfs.c: Likewise.
11195 * fs/udf.c: Likewise.
11196 * fs/ufs.c: Likewise.
11197 * fs/xfs.c: Likewise.
11198 * include/grub/dl.h: Likewise.
11199 * loader/xnu.c: Likewise.
11200
11201 2009-05-04 Pavel Roskin <proski@gnu.org>
11202
11203 * commands/acpi.c: Remove unused variable my_mod.
11204 * partmap/amiga.c: Likewise.
11205 * partmap/apple.c: Likewise.
11206 * partmap/gpt.c: Likewise.
11207 * partmap/pc.c: Likewise.
11208 * partmap/sun.c: Likewise.
11209 * term/gfxterm.c: Likewise.
11210 * term/i386/pc/vesafb.c: Likewise.
11211 * term/i386/pc/vga.c: Likewise.
11212
11213 2009-05-04 David S. Miller <davem@davemloft.net>
11214
11215 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
11216 pointer args to grub_ieee1275_get_property().
11217
11218 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
11219
11220 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
11221 devices, and do not traverse down under controller nodes.
11222
11223 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
11224 (grub_ofdisk_open): Use it to un-escape "," characters.
11225 * kern/disk.c (find_part_sep): New.
11226 (grub_disk_open): Use it to find the first non-escaped ','
11227 character in the disk name.
11228 * util/ieee1275/devicemap.c (escape_of_path): New.
11229 (grub_util_emit_devicemap_entry): Use it.
11230 * util/sparc64/ieee1275/grub-install.in: Update script to
11231 strip partition specifiers properly by not triggering on
11232 '\' escaped ',' characters.
11233
11234 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
11235
11236 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
11237 to 0x300.
11238 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
11239 resolutions.
11240 (linux_vesafb_modes): Add a lot of additional modes to the list (based
11241 on documentation from Wikipedia).
11242
11243 2009-05-04 Pavel Roskin <proski@gnu.org>
11244
11245 * disk/ata.c: Spelling fixes.
11246 * disk/raid.c: Likewise.
11247 * disk/usbms.c: Likewise.
11248 * disk/dmraid_nvidia.c: Likewise.
11249 * kern/ieee1275/openfw.c: Likewise.
11250 * kern/ieee1275/init.c: Likewise.
11251 * kern/ieee1275/cmain.c: Likewise.
11252 * boot/i386/pc/cdboot.S: Likewise.
11253 * video/readers/png.c: Likewise.
11254 * video/i386/pc/vbe.c: Likewise.
11255 * fs/udf.c: Likewise.
11256 * fs/hfs.c: Likewise.
11257 * fs/reiserfs.c: Likewise.
11258 * efiemu/runtime/efiemu.c: Likewise.
11259 * efiemu/main.c: Likewise.
11260 * efiemu/mm.c: Likewise.
11261 * include/grub/elf.h: Likewise.
11262 * include/grub/xnu.h: Likewise.
11263 * include/grub/usbdesc.h: Likewise.
11264 * include/grub/usb.h: Likewise.
11265 * include/grub/script_sh.h: Likewise.
11266 * include/grub/lib/LzmaEnc.h: Likewise.
11267 * include/grub/efiemu/efiemu.h: Likewise.
11268 * include/grub/command.h: Likewise.
11269 * normal/menu.c: Likewise.
11270 * normal/main.c: Likewise.
11271 * normal/datetime.c: Likewise.
11272 * bus/usb/uhci.c: Likewise.
11273 * mmap/i386/uppermem.c: Likewise.
11274 * mmap/mmap.c: Likewise.
11275 * commands/acpi.c: Likewise.
11276 * commands/test.c: Likewise.
11277 * partmap/apple.c: Likewise.
11278 * font/font.c: Likewise.
11279 * loader/sparc64/ieee1275/linux.c: Likewise.
11280 * loader/macho.c: Likewise.
11281 * loader/i386/bsd_trampoline.S: Likewise.
11282 * loader/i386/bsd.c: Likewise.
11283 * loader/xnu.c: Likewise.
11284 * term/i386/pc/vesafb.c: Likewise.
11285 * term/usb_keyboard.c: Likewise.
11286 * util/resolve.c: Likewise.
11287 * util/getroot.c: Likewise.
11288
11289 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
11290
11291 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
11292
11293 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
11294
11295 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
11296 build error.
11297
11298 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
11299
11300 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
11301 parameter only available on BIOS.
11302
11303 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
11304
11305 Removed wrong semicolon in declaration
11306
11307 * grub/misc.h (grub_dprintf): remove semicolon
11308
11309 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
11310
11311 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
11312 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
11313 is done by grub_cmd_linux() now).
11314 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
11315 restore video to text mode.
11316 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
11317 indicates lack of "vga=" parameter. "vga=0" is mapped to
11318 `GRUB_LINUX_VID_MODE_NORMAL'.
11319
11320 2009-05-04 Felix Zielcke <fzielcke@z-51.de>
11321
11322 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
11323 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
11324 and `normal/script.c'. Add `kern/rescue_reader.c',
11325 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
11326 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
11327 `grub_script.tab.c'.
11328
11329 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11330 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11331 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11332 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
11333 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11334
11335 * Makefile.in: Remove duplicated 2008 in Copyright line.
11336
11337 2009-05-04 Robert Millan <rmh.grub@aybabtu.com>
11338
11339 * util/misc.c (grub_util_warn): New function. Emits a warning
11340 unconditionally.
11341 * include/grub/util/misc.h (grub_util_warn): New declaration.
11342
11343 * util/i386/pc/grub-install.in: Understand --force and pass it down
11344 to grub-setup.
11345
11346 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
11347 down to setup().
11348 (setup): Improve error messages and add warnings when requested to
11349 install in odd layouts. Refuse to install using blocklists unless
11350 --force was set.
11351
11352 2009-05-04 martin f. krafft <madduck@madduck.net>
11353
11354 * disk/raid.c (grub_raid_scan_device): Improve debug message.
11355
11356 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
11357
11358 Updated copyright year
11359
11360 * fs/hfsplus.c: updated copyright year
11361
11362 2009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
11363
11364 HFS+ UUID
11365
11366 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
11367 in the space previously used by unused3
11368 (grub_hfsplus_uuid): new function
11369 (grub_hfsplus_fs): added uuid field
11370
11371 2009-05-03 Pavel Roskin <proski@gnu.org>
11372
11373 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
11374 suppress warnings. It's no longer needed.
11375 * disk/host.c: Likewise.
11376 * disk/ata_pthru.c: Likewise.
11377 * disk/loopback.c: Likewise.
11378 * hook/datehook.c: Likewise.
11379 * parttool/pcpart.c: Likewise.
11380 * fs/i386/pc/pxe.c: Likewise.
11381 * fs/ntfscomp.c: Likewise.
11382 * efiemu/main.c: Likewise.
11383 * mmap/mmap.c: Likewise.
11384 * commands/crc.c: Likewise.
11385 * commands/hexdump.c: Likewise.
11386 * commands/hdparm.c: Likewise.
11387 * commands/acpi.c: Likewise.
11388 * commands/echo.c: Likewise.
11389 * commands/minicmd.c: Likewise.
11390 * commands/blocklist.c: Likewise.
11391 * commands/memrw.c: Likewise.
11392 * commands/loadenv.c: Likewise.
11393 * commands/usbtest.c: Likewise.
11394 * commands/lsmmap.c: Likewise.
11395 * commands/boot.c: Likewise.
11396 * commands/parttool.c: Likewise.
11397 * commands/configfile.c: Likewise.
11398 * commands/search.c: Likewise.
11399 * commands/ieee1275/suspend.c: Likewise.
11400 * commands/cat.c: Likewise.
11401 * commands/i386/pc/pxecmd.c: Likewise.
11402 * commands/i386/pc/play.c: Likewise.
11403 * commands/i386/pc/halt.c: Likewise.
11404 * commands/i386/pc/vbeinfo.c: Likewise.
11405 * commands/i386/pc/vbetest.c: Likewise.
11406 * commands/lspci.c: Likewise.
11407 * commands/date.c: Likewise.
11408 * commands/handler.c: Likewise.
11409 * commands/ls.c: Likewise.
11410 * commands/test.c: Likewise.
11411 * commands/cmp.c: Likewise.
11412 * commands/efi/loadbios.c: Likewise.
11413 * commands/efi/fixvideo.c: Likewise.
11414 * commands/halt.c: Likewise.
11415 * commands/help.c: Likewise.
11416 * commands/reboot.c: Likewise.
11417 * hello/hello.c: Likewise.
11418 * script/sh/main.c: Likewise.
11419 * loader/xnu.c: Likewise.
11420 * term/terminfo.c: Likewise.
11421 * term/i386/pc/serial.c: Likewise.
11422 * term/usb_keyboard.c: Likewise.
11423
11424 2009-05-03 David S. Miller <davem@davemloft.net>
11425
11426 * normal/menu.c: Include grub/parser.h
11427
11428 2009-05-03 Pavel Roskin <proski@gnu.org>
11429
11430 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
11431 not char*.
11432 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
11433 Suggested by Javier Martín <lordhabbit@gmail.com>
11434
11435 * util/i386/pc/grub-mkrescue.in: Allow for the case when
11436 efiemu??.o doesn't exist.
11437 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
11438 copying.
11439
11440 2009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
11441
11442 FreeBSD 64-bit support
11443
11444 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
11445 and loader/i386/bsd_trampoline.S
11446 (bsd_mod_ASFLAGS): new variable
11447 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
11448 (FREEBSD_MODTYPE_KERNEL64): likewise
11449 (grub_bsd64_trampoline_start): likewise
11450 (grub_bsd64_trampoline_end): likewise
11451 (grub_bsd64_trampoline_selfjump): likewise
11452 (grub_bsd64_trampoline_gdt): likewise
11453 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
11454 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
11455 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
11456 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
11457 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
11458 of "attrib" member
11459 * loader/i386/bsd_pagetable.c: new file
11460 * loader/i386/bsd_trampoline.S: likewise
11461 * loader/i386/bsd.c (ALIGN_QWORD): new macro
11462 (ALIGN_VAR): likewise
11463 (entry_hi): new variable
11464 (kern_end_mdofs): likewise
11465 (is_64bit): likewise
11466 (grub_freebsd_add_meta): use ALIGN_VAR
11467 (grub_e820_mmap): new declaration
11468 (grub_freebsd_add_mmap): new function
11469 (grub_freebsd_add_meta_module): support 64 bit kernels
11470 (grub_freebsd_list_modules): use ALIGN_VAR
11471 (gdt_descriptor): new declaration
11472 (grub_freebsd_boot): support 64 bit kernels
11473 (grub_bsd_elf64_hook): new function
11474 (grub_bsd_load_elf): support elf64
11475
11476 2009-05-03 Bean <bean123ch@gmail.com>
11477
11478 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
11479 after we get the result of if statement.
11480
11481 2009-05-03 Bean <bean123ch@gmail.com>
11482
11483 * Makefile.in (enable_efiemu): New variable.
11484
11485 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
11486 set.
11487 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
11488 path.
11489 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
11490 path, add -mno-red-zone option.
11491 (efiemu64_s.o): Likewise.
11492 (efiemu64.o): Use macro $^ for source file.
11493
11494 * configure.ac (--enable-efiemu): New option.
11495
11496 2009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
11497
11498 xnu support
11499
11500 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
11501 (pkglib_MODULES): add xnu.mod
11502 (xnu_mod_SOURCES): new variable
11503 (xnu_mod_CFLAGS): likewise
11504 (xnu_mod_LDFLAGS): likewise
11505 (xnu_mod_ASFLAGS): likewise
11506 * conf/i386-pc.rmk: likewise
11507 * conf/x86_64-efi.rmk: likewise
11508 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
11509 new declaration
11510 * include/grub/i386/macho.h: new file
11511 * include/grub/i386/xnu.h: likewise
11512 * include/grub/macho.h: likewise
11513 * include/grub/machoload.h: likewise
11514 * include/grub/x86_64/macho.h: likewise
11515 * include/grub/x86_64/xnu.h: likewise
11516 * include/grub/xnu.h: likewise
11517 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
11518 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
11519 * loader/i386/efi/xnu.c: new file
11520 * loader/i386/pc/xnu.c: likewise
11521 * loader/i386/xnu.c: likewise
11522 * loader/i386/xnu_helper.S: likewise
11523 * loader/macho.c: likewise
11524 * loader/xnu.c: likewise
11525 * loader/xnu_resume.c: likewise
11526 * util/grub-dumpdevtree: likewise
11527 * include/grub/i386/pit.h: include grub/err.h
11528 (grub_pit_wait): export
11529 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
11530
11531 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
11532
11533 Efiemu
11534
11535 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
11536 _linux_efi, linux_efi.
11537 new files in grub-emu
11538 new targets efiemu32.o and efiemu64.o
11539 * loader/linux_normal_efiemu.c: likewise
11540 * loader/i386/efi/linux.c: added preliminary efiemu support
11541 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
11542 files to copy
11543 * include/grub/autoefi.h: new file
11544 * include/grub/i386/efiemu.h: likewise
11545 * include/grub/i386/pc/efiemu.h: likewise
11546 * include/grub/efi/api.h: add LL suffix when necessary
11547 new definitions relating to tables
11548 * include/grub/efiemu/efiemu.h: new file
11549 * include/grub/efiemu/runtime.h: likewise
11550 * efiemu/prepare.c: likewise
11551 * efiemu/loadcore_common.c: likewise
11552 * efiemu/loadcore64.c: likewise
11553 * efiemu/runtime/efiemu.sh: likewise
11554 * efiemu/runtime/efiemu.S: likewise
11555 * efiemu/runtime/efiemu.c: likewise
11556 * efiemu/runtime/config.h: likewise
11557 * efiemu/prepare32.c: likewise
11558 * efiemu/main.c: likewise
11559 * efiemu/modules/pnvram.c: likewise
11560 * efiemu/modules/i386: likewise
11561 * efiemu/modules/i386/pc: likewise
11562 * efiemu/modules/acpi.c: likewise
11563 * efiemu/i386/pc/cfgtables.c: likewise
11564 * efiemu/i386/loadcore64.c: likewise
11565 * efiemu/i386/loadcore32.c: likewise
11566 * efiemu/prepare64.c: likewise
11567 * efiemu/loadcore.c: likewise
11568 * efiemu/symbols.c: likewise
11569 * efiemu/mm.c: likewise
11570 * efiemu/loadcore32.c: likewise
11571
11572 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
11573
11574 ACPI spoofing
11575
11576 * commands/acpi.c: new file
11577 * commands/i386/pc/acpi.c: likewise
11578 * commands/efi/acpi.c: likewise
11579 * include/grub/acpi.h: likewise
11580 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
11581 (acpi_mod_SOURCES): new variable
11582 (acpi_mod_CFLAGS): likewise
11583 (acpi_mod_LDFLAGS): likewise
11584 * conf/i386-efi.rmk: likewise
11585 * conf/x86_64-efi.rmk: likewise
11586
11587 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
11588
11589 Missing part from mmap patch
11590
11591 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
11592 (grub_mmap_unregister)
11593 (grub_mmap_free_and_unregister): use grub_mmap_register
11594
11595 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
11596
11597 Mmap services
11598
11599 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
11600 * loader/i386/linux.c (find_mmap_size): likewise
11601 (allocate_pages): likewise
11602 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
11603 (grub_fill_multiboot_mmap): likewise
11604 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
11605 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
11606 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
11607 (OPENBSD_MMAP_RESERVED): likewise
11608 * include/grub/i386/pc/memory.h: include grub/memory.h
11609 (grub_lower_mem): removed
11610 (grub_upper_mem): likewise
11611 (GRUB_MACHINE_MEMORY_ACPI): new definition
11612 (GRUB_MACHINE_MEMORY_NVS): likewise
11613 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
11614 (GRUB_MACHINE_MEMORY_HOLE): likewise
11615 (grub_machine_mmap_register): likewise
11616 (grub_machine_mmap_unregister): likewise
11617 (grub_machine_get_upper): likewise
11618 (grub_machine_get_lower): likewise
11619 (grub_machine_get_post64): likewise
11620 * include/grub/i386/efi/memory.h: new file
11621 * include/grub/x86_64/efi/memory.h: likewise
11622 * include/grub/efi/memory.h: likewise
11623 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
11624 (mmap_mod_SOURCES): new variable
11625 (mmap_mod_LDFLAGS): likewise
11626 (mmap_mod_ASFLAGS): likewise
11627 * conf/i386-coreboot.rmk: likewise
11628 * conf/i386-ieee1275.rmk: likewise
11629 * conf/i386-efi.rmk: likewise
11630 * conf/x86_64-efi.rmk: likewise
11631 * include/grub/types.h (UINT_TO_PTR): new macro
11632 (PTR_TO_UINT32): likewise
11633 (PTR_TO_UINT64): likewise
11634 * include/grub/memory.h: new file
11635 * mmap/i386/pc/mmap.c: likewise
11636 * mmap/i386/pc/mmap_helper.S: likewise
11637 * mmap/i386/uppermem.c: likewise
11638 * mmap/mmap.c: likewise
11639 * mmap/efi/mmap.c: likewise
11640 * kern/i386/coreboot/init.c (grub_machine_init): don't use
11641 grub_upper_mem
11642 * kern/i386/pc/init.c (grub_lower_mem): removed variable
11643 (grub_upper_mem): likewise
11644 (grub_machine_init): don't use grub_upper_mem,
11645 make grub_lower_mem local
11646 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
11647 grub_mmap_iterate and grub_mmap_get_upper
11648 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
11649
11650 2009-05-02 Bean <bean123ch@gmail.com>
11651
11652 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
11653 script/sh/parser.y.
11654 (pkglib_MODULES): Add normal.mod and sh.mod.
11655 (normal_SOURCES): New variable.
11656 (normal_mod_CFLAGS): Likewise.
11657 (normal_mod_LDFLAGS): Likewise.
11658 (sh_mod_SOURCES): Likewise.
11659 (sh_mod_CFLAGS): Likewise.
11660 (sh_mod_LDFLAGS): Likewise.
11661
11662 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
11663 script/sh/lexer.c_DEPENDENCIES.
11664 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
11665 kern/rescue_reader.c and kern/rescue_parser.c.
11666 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
11667 (grub_emu_SOURCES): Change source files.
11668 (pkglib_MODULES): Remove normal.mod.
11669 (normal_SOURCES): Removed.
11670 (normal_mod_CFLAGS): Likewise.
11671 (normal_mod_LDFLAGS): Likewise.
11672 * conf/i386-coreboot.rmk: Likewise.
11673 * conf/i386-efi.rmk: Likewise.
11674 * conf/i386-ieee1276.rmk: Likewise.
11675 * conf/powerpc-ieee1275.rmk: Likewise.
11676 * conf/sparc64-ieee1275.rmk: Likewise.
11677 * conf/x86_64-efi.rmk: Likewise.
11678
11679 * include/grub/command.h (grub_command_execute): New inline function.
11680
11681 * include/grub/menu.h (grub_menu_entry): Removed commands field.
11682
11683 * include/grub/normal.h: Remove <grub/setjmp.h>.
11684 (grub_fs_module_list): Moved to normal/autofs.c.
11685 (grub_exit_env): Removed.
11686 (grub_command_execute): Likewise.
11687 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
11688 parameter script.
11689 (read_command_list): New function declaration.
11690 (read_fs_list): Likewise.
11691
11692 * include/parser.h: Include <grub/reader.h>.
11693 (grub_parser_split_cmdline): Change type of getline parameter.
11694 (grub_parser): New structure.
11695 (grub_parser_class): New variable.
11696 (grub_parser_execute): New function declaration.
11697 (grub_register_rescue_parser): Likewise.
11698 (grub_parser_register): New inline function.
11699 (grub_parser_unregister): Likewise.
11700 (grub_parser_get_current): Likewise.
11701 (grub_parser_set_current): Likewise.
11702
11703 * include/grub/reader.h: New file.
11704 * kern/reader.c: Likewise.
11705 * kern/rescue_parser.c: Likewise.
11706 * kern/rescue_reader.c: Likewise.
11707 * normal/autofs.c: Likewise.
11708 * normal/dyncmd.c: Likewise.
11709
11710 * include/grub/rescue.h: Removed.
11711 * normal/command.h: Likewise.
11712
11713 * include/grub/script.h: Moved to ...
11714 * include/grub/script_sh.h: ... Moved here.
11715 * normal/execute.c: Moved to ...
11716 * script/sh/execute.c: ... Moved here.
11717 * normal/function.c: Moved to ...
11718 * script/sh/function.c: ... Moved here.
11719 * normal/lexer.c: Moved to ...
11720 * script/sh/lexer.c: ... Moved here.
11721 * normal/parser.y: Moved to ...
11722 * script/sh/parser.y: ... Moved here.
11723 * normal/script.c: Moved to ...
11724 * script/sh/script.c: ... Moved here.
11725
11726 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
11727 <grub/reader.h>.
11728 (grub_exit_env): Removed.
11729 (fs_module_list): Moved to normal/autofs.c.
11730 (grub_file_getline): Don't handle comment here.
11731 (free_menu): Skip removed field entry->commands.
11732 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
11733 script parameter.
11734 (read_config_file): Removed nested parameter, change getline function.
11735 (grub_enter_normal_mode): Removed.
11736 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
11737 (read_command_list): Likewise.
11738 (autoload_fs_module): Moved to normal/autofs.c.
11739 (read_fs_list): Likewise.
11740 (reader_nested): New variable.
11741 (grub_normal_execute): Run parser.sh to switch to sh parser.
11742 (grub_cmd_rescue): Removed.
11743 (cmd_normal): Removed.
11744 (grub_cmd_normal): Unregister itself at the beginning. Don't register
11745 rescue command.
11746 (grub_cmdline_run): New function.
11747 (grub_normal_reader_init): Likewise.
11748 (grub_normal_read_line): Likewise.
11749 (grub_env_write_pager): Likewise.
11750 (cmdline): New variable.
11751 (grub_normal_reader): Likewise.
11752 (GRUB_MOD_INIT): Register normal reader and set as current, register
11753 pager hook, register normal command with grub_register_command_prio,
11754 so that it won't show up in command.lst.
11755 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
11756 grub_fs_autoload_hook.
11757
11758 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
11759 (grub_menu_execute_entry): Replace grub_script_execute with
11760 grub_parser_execute, change parameter to grub_command_execute.
11761
11762 * normal/menu_text.c: Remove <grub/script.h>.
11763
11764 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
11765 and <grub/parser.h>.
11766 (run): Change editor_getline to use new parser interface. Change
11767 parameter to grub_command_execute.
11768
11769 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
11770 <grub/reader.h> and <grub/parser.h>.
11771 (grub_load_normal_mode): Execute normal command.
11772 (grub_main): Call grub_register_core_commands,
11773 grub_register_rescue_parser and grub_register_rescue_reader, use
11774 grub_reader_loop to enter input loop.
11775
11776 * kern/parser.c (grub_parser_split_cmdline): Change type of
11777 getline parameter.
11778 (grub_parser_class): New variable.
11779 (grub_parser_execute): New function.
11780
11781 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
11782 * loader/multiboot2.c: Likewise.
11783 * loader/sparc64/ieee1275/linux.c: Likewise.
11784
11785 * util/grub-emu.c (read_command_list): New dummy function.
11786
11787 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
11788
11789 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
11790 count to 16 for CCISS and IDA.
11791
11792 2009-05-02 Robert Millan <rmh.grub@aybabtu.com>
11793
11794 * normal/menu_text.c (grub_wait_after_message): Print a newline
11795 after waiting for user input.
11796
11797 * loader/i386/linux.c: Include `<grub/normal.h>'.
11798 (grub_cmd_linux): Improve the error message about `ask' mode, by
11799 waiting for user input so it's not missed (we can do this, since
11800 user requested interaction).
11801
11802 2009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
11803
11804 Added missing lst to grub-mkrescue
11805
11806 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
11807 and ${input_dir}/parttool.lst
11808
11809 2009-04-30 David S. Miller <davem@davemloft.net>
11810
11811 * util/hostdisk.c (device_is_wholedisk): New function.
11812 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
11813 zero only if device_is_wholedisk() returns true.
11814
11815 * util/hostdisk.c (convert_system_partition_to_system_disk):
11816 Handle virtual disk devices named /dev/vdiskX as found on sparc
11817 and powerpc.
11818
11819 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
11820 lettered partition specifier is found, convert to numbered.
11821
11822 2009-04-29 David S. Miller <davem@davemloft.net>
11823
11824 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
11825 * include/grub/sparc64/ieee1275/memory.h: Likewise.
11826
11827 * normal/command.c: Add missing newline at end of file.
11828
11829 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
11830 warnings.
11831 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
11832 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
11833 grub_ofdisk_read): Likewise, and deal similarly with the fact that
11834 ihandles have a 32-bit type but need to be stored in a "void *".
11835
11836 2009-04-28 Pavel Roskin <proski@gnu.org>
11837
11838 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
11839 not disk. Adjust all dependencies.
11840 (grub_fs_uuid_close): Use grub_device_close(), not
11841 grub_disk_close().
11842
11843 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
11844 parent's partition, don't copy it by reference, as it gets freed
11845 on close.
11846
11847 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
11848
11849 Preboot hooks support
11850
11851 * commands/boot.c (struct grub_preboot_t): new declaration
11852 (preboots_head): new variable
11853 (preboots_tail): likewise
11854 (grub_loader_register_preboot_hook): new function
11855 (grub_loader_unregister_preboot_hook): likewise
11856 (grub_loader_set): launch preboot hooks
11857 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
11858 (grub_loader_register_preboot_hook): new declaration
11859 (grub_loader_unregister_preboot_hook): likewise
11860
11861 2009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
11862
11863 Warning fix
11864
11865 * disk/scsi.c (grub_scsi_open): added missing cast when
11866 calling grub_dprintf
11867
11868 2009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
11869
11870 Bug and warning fixes
11871
11872 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
11873 declaration
11874 * commands/test.c (test_parse): fixed bug with file tests and corrected
11875 declaration of find_file
11876
11877 2009-04-26 Pavel Roskin <proski@gnu.org>
11878
11879 * Makefile.in: Don't install empty manual pages if help2man is
11880 missing. Use help2man option for output, not shell redirection.
11881
11882 2009-04-26 David S. Miller <davem@davemloft.net>
11883
11884 * util/grub-mkdevicemap.c (make_device_map): Add missing
11885 NESTED_FUNC_ATTR to process_device().
11886
11887 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11888
11889 Test command
11890
11891 * commands/test.c: rewritten to use bash-like test
11892
11893 2009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
11894
11895 Parttool autoloading and improvements
11896
11897 * Makefile.in (pkglib_DATA): add parttool.lst
11898 (parttool.lst): new target
11899 * genmk.rb: generate parttool-*
11900 (CLEANFILES): add #{parttool}
11901 (PARTTOOLFILES): new variable
11902 * genparttoollist.sh: new file
11903 * parttool/pcpart.c (grub_pcpart_boot): more feedback
11904 (grub_pcpart_type): likewise
11905 * commands/parttool.c (helpmsg): new variable
11906 (grub_cmd_parttool): output help if not enough arguments are supplied
11907 autoload modules
11908 (GRUB_MOD_INIT(parttool)): use helpmsg
11909
11910 2009-04-24 David S. Miller <davem@davemloft.net>
11911
11912 Avoiding opening same device multiple times in device iterator.
11913
11914 * kern/device.c: (grub_device_iterate): Define struct part_ent,
11915 and use it to build a list of partitions in iterate_disk() and
11916 iterate_partition().
11917
11918 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
11919 on disk->data.
11920
11921 * disk/ieee1275/nand.c (grub_nand_iterate): Return
11922 grub_devalias_iterate() result instead of unconditional 0.
11923 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
11924 Also, capture hook return value, either directly or via
11925 grub_children_iterate(), and propagate to caller.
11926 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
11927 grub_children_iterate): Return value is now 'int' instead of
11928 'grub_err_t'.
11929 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
11930 like a proper iterator, stopping when hooks return non-zero.
11931 (grub_devalias_iterate): Likewise.
11932
11933 2009-04-23 David S. Miller <davem@davemloft.net>
11934
11935 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
11936
11937 2009-04-22 David S. Miller <davem@davemloft.net>
11938
11939 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
11940 is larger than address_cells, use that value for address_cells too.
11941
11942 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
11943 IEEE1275_MAX_PATH_LEN): Define.
11944 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
11945 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
11946 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
11947 'devtype'. Explicitly NULL terminate devalias expansion.
11948
11949 * util/sparc64/ieee1275/misc.c: New file.
11950 * util/sparc64/ieee1275/grub-setup.c: New file.
11951 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
11952 * util/sparc64/ieee1275/grub-mkimage.c: New file.
11953 * util/sparc64/ieee1275/grub-install.in: New file.
11954 * util/ieee1275/ofpath.c: New file.
11955 * util/ieee1275/devicemap.c: New file.
11956 * util/devicemap.c: New file.
11957 * util/deviceiter.c: New file.
11958 * kern/sparc64/ieee1275/init.c: New file.
11959 * include/grub/util/ofpath.h: New file.
11960 * include/grub/util/deviceiter.h: New file.
11961 * util/grub-mkdevicemap.c: Include deviceiter.h.
11962 Implement using grub_util_emit_devicemap_entry and
11963 grub_util_iterate_devices.
11964 * conf/i386-corebook.rmk: Build util/deviceiter.c and
11965 util/devicemap.c into grub-mkdevicemap
11966 * conf/i386-efi.rmk: Likewise.
11967 * conf/i386-ieee1275.rmk: Likewise.
11968 * conf/i386-pc.rmk: Likewise.
11969 * conf/powerpc-ieee1275.rmk: Likewise.
11970 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
11971 images and installation utilities. Build kernel as image
11972 instead of as elf binary. Use common rules as much as possible.
11973
11974 2009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
11975
11976 Correct GPT definition
11977
11978 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
11979 of "attrib" member
11980
11981 2009-04-19 Felix Zielcke <fzielcke@z-51.de>
11982
11983 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
11984
11985 2009-04-19 David S. Miller <davem@davemloft.net>
11986
11987 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
11988 (grub_rescue_cmd_linux): Rename to...
11989 (grub_cmd_linux): and fix prototype.
11990 (grub_rescue_cmd_initrd): Rename to...
11991 (grub_cmd_initrd): and fix prototype.
11992 (cmd_linux, cmd_initrd): New.
11993 (GRUB_MOD_INIT(linux)): Use grub_register_command().
11994 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
11995
11996 2009-04-17 Pavel Roskin <proski@gnu.org>
11997
11998 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
11999 format.
12000 (grub_ohci_transfer): Likewise.
12001
12002 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
12003
12004 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
12005 return without a value. Fix inconsistent indentation.
12006
12007 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
12008 match struct grub_fs.
12009
12010 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
12011 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
12012 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
12013 * commands/lspci.c (grub_lspci_iter): Likewise.
12014
12015 2009-04-16 Bean <bean123ch@gmail.com>
12016
12017 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
12018 value.
12019
12020 2009-04-15 Pavel Roskin <proski@gnu.org>
12021
12022 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
12023 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
12024 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
12025 definitions.
12026
12027 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
12028
12029 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
12030 that no multiple data or metadata areas are supported and `Unknown
12031 metadata header'.
12032
12033 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
12034
12035 Move loader out of the kernel
12036
12037 * kern/loader.c: moved to ...
12038 * commands/boot.c: ... moved here
12039 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
12040 * commands/boot.c (grub_cmd_boot): moved here. All users updated
12041 * include/grub/kernel.h (grub_machine_fini): export
12042 * include/grub/loader.h (grub_loader_is_loaded): update declaration
12043 (grub_loader_set): likewise
12044 (grub_loader_unset): likewise
12045 (grub_loader_boot): likewise
12046 * conf/common.rmk: new module boot.mod
12047 (pkglib_MODULES): add boot.mod
12048 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
12049 (grub_emu_SOURCES): likewise
12050 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
12051 (grub_emu_SOURCES): likewise
12052 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
12053 (grub_emu_SOURCES): likewise
12054 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
12055 (grub_emu_SOURCES): likewise
12056 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
12057 (grub_emu_SOURCES): likewise
12058 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
12059 (grub_emu_SOURCES): likewise
12060 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
12061 (grub_emu_SOURCES): likewise
12062
12063 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
12064
12065 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
12066
12067 * kern/misc.c (grub_itoa): Removed function
12068 (grub_ltoa): likewise
12069 (grub_vsprintf): use grub_lltoa
12070
12071 2009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
12072
12073 Restore grub-emu
12074
12075 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
12076 * conf/i386-coreboot.rmk: likewise
12077 * conf/i386-ieee1275.rmk: likewise
12078 * conf/powerpc-ieee1275.rmk: likewise
12079
12080 2009-04-15 Felix Zielcke <fzielcke@z-51.de>
12081
12082 * INSTALL: Add that `./autogen.sh' needs to be run before
12083 `./configure.'.
12084
12085 2009-04-14 Bean <bean123ch@gmail.com>
12086
12087 * Makefile.in (pkglib_DATA): Add handler.lst.
12088 (handler.lst): New rule.
12089
12090 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
12091 * conf/i386-coreboot.rmk: Likewise.
12092 * conf/i386-ieee1275.rmk: Likewise.
12093 * conf/i386-efi.rmk: Likewise.
12094 * conf/x86_64-efi.rmk: Likewise.
12095 * conf/powerpc-ieee1275.rmk: Likewise.
12096 * conf/sparc64-ieee1275.rmk: Likewise.
12097
12098 * genhandlerlist.sh: New file.
12099
12100 * genmk.rb: Add rules to generate handler.lst.
12101
12102 * include/grub/normal.h (grub_file_getline): New function definition.
12103 (read_handler_list): Likewise.
12104 (free_handler_list): Likewise.
12105
12106 * include/grub/term.h (grub_term_register_input): Add name parameter
12107 for auto generation of handler.lst.
12108 (grub_term_register_output): Likewise.
12109
12110 * normal/handler.c: New file.
12111
12112 * normal/main.c (get_line): Renamed to grub_file_getline.
12113 (read_config_file): Use the newly renamed grub_file_getline.
12114 (read_command_list): Likewise.
12115 (read_fs_list): Likewise.
12116 (grub_normal_execute): Call read_handler_list to parse handler.lst.
12117 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
12118
12119 * term/efi/console.c (grub_console_init): Add name parameter for auto
12120 generation of handler.lst.
12121 * term/gfxterm.c: Likewise.
12122 * term/i386/pc/at_keyboard.c: Likewise.
12123 * term/i386/pc/console.c: Likewise.
12124 * term/i386/pc/serial.c: Likewise.
12125 * term/i386/pc/vesafb.c: Likewise.
12126 * term/i386/pc/vga.c: Likewise.
12127 * term/i386/pc/vga_text.c: Likewise.
12128 * term/ieee1275/ofconsole.c: Likewise.
12129 * term/usb_keyboard.c: Likewise.
12130
12131 2009-04-14 Bean <bean123ch@gmail.com>
12132
12133 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
12134 properly with null character.
12135
12136 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
12137
12138 * configure: Remove.
12139 * config.h.in: Likewise.
12140 * stamp-h.in: Likewise.
12141 * DISTLIST: Likewise.
12142 * conf/common.mk: Likewise.
12143 * conf/i386-coreboot.mk: Likewise.
12144 * conf/i386-efi.mk: Likewise.
12145 * conf/i386-ieee1275.mk: Likewise.
12146 * conf/i386.mk: Likewise.
12147 * conf/i386-pc.mk: Likewise.
12148 * conf/powerpc-ieee1275.mk: Likewise.
12149 * conf/sparc64-ieee1275.mk: Likewise.
12150 * conf/x86_64-efi.mk: Likewise.
12151
12152 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
12153 develop on GRUB.
12154
12155 2009-04-14 John Stanley <jpsinthemix@verizon.net>
12156 David S. Miller <davem@davemloft.net>
12157
12158 * util/hostdisk.c (make_device_name): Fix buffer length
12159 calculations.
12160
12161 2009-04-14 Felix Zielcke <fzielcke@z-51.de>
12162
12163 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
12164 <sys/param.h> and <sys/sysctl.h>.
12165 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
12166 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
12167 opening the device and reset them afterwards.
12168
12169 2009-04-13 Pavel Roskin <proski@gnu.org>
12170
12171 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
12172 Reported by John Stanley <jpsinthemix@verizon.net>
12173
12174 2009-04-13 Robert Millan <rmh@aybabtu.com>
12175
12176 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
12177 that name for menuentries when appropriate.
12178
12179 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
12180
12181 * util/grub.d/10_freebsd.in: Add a missing `fi'.
12182
12183 2009-04-13 Robert Millan <rmh@aybabtu.com>
12184
12185 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
12186 to Linux, simply abort telling the user it's no longer supported.
12187
12188 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
12189
12190 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
12191 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
12192 `freebsd_loadenv' only when devices.hints exist.
12193
12194 2009-04-13 Pavel Roskin <proski@gnu.org>
12195
12196 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
12197
12198 2009-04-13 Felix Zielcke <fzielcke@z-51.de>
12199
12200 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
12201 partition number.
12202 (grub_drive): Likewise.
12203
12204 2009-04-13 David S. Miller <davem@davemloft.net>
12205
12206 * kern/sparc64/ieee1275/ieee1275.c: New file.
12207 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
12208 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
12209 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
12210 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
12211 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
12212 grub_ieee1275_alloc_physmem): Declare new exported functions.
12213
12214 * include/grub/sparc64/ieee1275/loader.h: New file.
12215 * include/grub/sparc64/ieee1275/memory.h: Likewise.
12216 * include/grub/sparc64/kernel.h: Likewise.
12217 * loader/sparc64/ieee1275/linux.c: Likewise.
12218
12219 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
12220 (grub_fstest_SOURCES): Likewise.
12221
12222 * util/hostdisk.c (make_device_name): Do not make any assumptions
12223 about the length of drive names.
12224
12225 * kern/dl.c (grub_dl_load_file): Close file immediately when
12226 we are done using it.
12227
12228 2009-04-12 David S. Miller <davem@davemloft.net>
12229
12230 * kern/misc.c (grub_ltoa): Fix cast when handling negative
12231 values. Noticed by Pavel Roskin.
12232
12233 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
12234 target compiler.
12235
12236 * genmk.rb: Add more flexible image type specification, also
12237 pass --strip-unneeded to objcopy.
12238 * conf/i386-pc.rmk: Use *_FORMAT.
12239 * conf/i386-pc.mk: Rebuilt.
12240
12241 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
12242 (OFDISK_HASH_SZ): Define.
12243 (ofdisk_hash): New hash table.
12244 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
12245 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
12246 instead of device phandle which is not unique.
12247
12248 * kern/sparc64/ieee1275/init.c: Delete, replace with...
12249 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
12250 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
12251 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
12252 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
12253 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
12254 GRUB_KERNEL_MACHINE_DATA_END): Define.
12255 (grub_kernel_image_size, grub_total_module_size): Declare.
12256
12257 2009-04-12 Pavel Roskin <proski@gnu.org>
12258
12259 * configure.ac: Change the logic when we check for target tools.
12260 Do it when the target is specified and it's different from the
12261 specified value of the host.
12262
12263 2009-04-11 Felix Zielcke <fzielcke@z-51.de>
12264
12265 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
12266 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
12267 GNU/kFreeBSD. Check if a device is a character device. Use
12268 DIOCGMEDIASIZE to get the size.
12269 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
12270 support for GNU/kFreeBSD.
12271 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
12272 is a character device instead of a block device. Add support for
12273 FreeBSD device names.
12274
12275 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
12276 is a character device instead of a block device.
12277
12278 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
12279 is a character device instead of a block device.
12280
12281 2009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
12282
12283 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
12284 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
12285 FreeBSD. Check if a device is a character device. Use
12286 DIOCGMEDIASIZE to get the size.
12287 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
12288 support for FreeBSD.
12289 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
12290 is a character device instead of a block device. Add support for
12291 FreeBSD device names.
12292
12293 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
12294 a character device instead of a block device.
12295 (grub_util_check_char_device): New function.
12296
12297 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
12298 a character device instead of a block device.
12299
12300 * include/grub/util/getroot.h (grub_util_check_char_device): New
12301 prototype.
12302
12303 2009-04-11 David S. Miller <davem@davemloft.net>
12304
12305 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
12306 static libgcc.
12307 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
12308 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
12309 function, if present.
12310 (__bswapdi2): Likewise.
12311
12312 * include/grub/sparc64/ieee1275/boot.h: New file.
12313 * boot/sparc64/ieee1275/boot.S: Likewise.
12314 * boot/sparc64/ieee1275/diskboot.S: Likewise.
12315
12316 * kern/misc.c (grub_ltoa): New function.
12317 (grub_vsprintf): Use it to format 'long' integers.
12318
12319 2009-04-10 David S. Miller <davem@davemloft.net>
12320
12321 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
12322 slots are of type grub_ieee1275_cell_t.
12323 (grub_nand_read): Likewise.
12324 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
12325 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
12326 macros are used to compare values in arg/ret block of the call.
12327 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
12328 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
12329 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
12330 grub_ieee1275_instance_to_path, grub_ieee1275_write,
12331 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
12332 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
12333 grub_ieee1275_close, grub_ieee1275_set_property,
12334 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
12335 grub_ieee1275_cell_t.
12336 * kern/ieee1275/openfw.c (grub_map): Likewise.
12337 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
12338 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
12339
12340 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
12341 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
12342 (grub_devalias_iterate): Likewise.
12343
12344 2009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
12345
12346 UFS improvements
12347
12348 * fs/ufs.c (INODE_NBLOCKS): new definition
12349 (struct grub_ufs_dirent): added fields for non-BSD dirents
12350 (grub_ufs_get_file_block): fixed double indirect handling
12351 (grub_ufs_lookup_symlink): use more robust way to determine whether
12352 symlink is inline
12353 (grub_ufs_find_file): support for non-BSD dirents
12354 (grub_ufs_dir): support for non-BSD dirents
12355
12356 2009-04-10 Bean <bean123ch@gnail.com>
12357
12358 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
12359 attribute, otherwise the size would be wrong for i386 platform.
12360
12361 * include/grub/pci.h (grub_pci_read_word): New inline function.
12362 (grub_pci_read_byte): Likewise.
12363 (grub_pci_write): Likewise.
12364 (grub_pci_write_word): Likewise.
12365 (grub_pci_write_byte): Likewise.
12366
12367 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
12368
12369 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
12370 (find_framebuf): Scan pci to locate the frame buffer address.
12371
12372 * commands/efi/fixvideo.c: New file.
12373
12374 * commands/efi/loadbios.c: Likewise.
12375
12376 * commands/memrw.c: Likewise.
12377
12378 * util/grub-dumpbios.in: Likewise.
12379
12380 * conf/common.rmk (grub-dumpbios): New utility.
12381 (pkglib_MODULES): New module memrw.mod.
12382 (memrw_mod_SOURCE): New macro.
12383 (memrw_mod_CFLAGS): Likewise.
12384 (memrw_mod_LDFLAGS): Likewise.
12385
12386 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
12387 fixvideo.mod.
12388 (loadbios_mod_SOURCE): New macro.
12389 (loadbios_mod_CFLAGS): Likewise.
12390 (loadbios_mod_LDFLAGS): Likewise.
12391 (fixvideo_mod_SOURCE): Likewise.
12392 (fixvideo_mod_CFLAGS): Likewise.
12393 (fixvideo_mod_LDFLAGS): Likewise.
12394
12395 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
12396 fixvideo.mod.
12397 (loadbios_mod_SOURCE): New macro.
12398 (loadbios_mod_CFLAGS): Likewise.
12399 (loadbios_mod_LDFLAGS): Likewise.
12400 (fixvideo_mod_SOURCE): Likewise.
12401 (fixvideo_mod_CFLAGS): Likewise.
12402 (fixvideo_mod_LDFLAGS): Likewise.
12403
12404 2009-04-08 Felix Zielcke <fzielcke@z-51.de>
12405
12406 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
12407
12408 2009-04-07 David S. Miller <davem@davemloft.net>
12409
12410 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
12411 support for R_SPARC_OLO10 relocations. Fix compile warning for
12412 R_SPARC_WDISP30 case.
12413 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
12414
12415 2009-04-06 Pavel Roskin <proski@gnu.org>
12416
12417 * include/grub/misc.h (ARRAY_SIZE): New macro.
12418 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
12419 New macro.
12420 * loader/i386/linux.c (allocate_pages): Use free_pages().
12421 (grub_linux_unload): Don't use free_pages().
12422 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
12423 wrong index. Treat all other modes as text modes.
12424 (grub_cmd_linux): Initialize vid_mode unconditionally to
12425 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
12426
12427 * commands/help.c (print_command_help): Use cmd->prio, not
12428 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
12429
12430 2009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
12431
12432 Parttool
12433
12434 * parttool/pcpart.c: new file
12435 * commands/parttool.c: likewise
12436 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
12437 (parttool_mod_SOURCES): new variable
12438 (parttool_mod_CFLAGS): likewise
12439 (parttool_mod_LDFLAGS): likewise
12440 (pcpart_mod_SOURCES): likewise
12441 (pcpart_mod_CFLAGS): likewise
12442 (pcpart_mod_LDFLAGS): likewise
12443 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
12444 and parttool/pcpart.c
12445 * conf/i386-efi.rmk: likewise
12446 * conf/i386-ieee1275.rmk: likewise
12447 * conf/i386-pc.rmk: likewise
12448 * conf/powerpc-ieee1275.rmk: likewise
12449 * conf/sparc64-ieee1275.rmk: likewise
12450 * conf/x86_64-ieee1275.rmk: likewise
12451
12452 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
12453
12454 Support for mtime and further expandability of dir command
12455
12456 * include/grub/lib/datetime.h: moved to ...
12457 * include/grub/datetime.h: ... moved here and added
12458 declaration of grub_unixtime2datetime. All users updated
12459 * include/grub/fs.h: new syntax for dir and mtime functions in
12460 struct grub_fs
12461 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
12462 and GRUB_FSHELP_FLAGS_MASK
12463 * commands/ls.c (grub_ls_list_files): Write mtime in long format
12464 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
12465 (grub_ext2_mtime): new function
12466 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
12467 (grub_hfsplus_mtime): new function
12468 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
12469 (GRUB_UFS_ATTR_FILE): likewise
12470 (GRUB_UFS_ATTR_LNK): likewise
12471 (struct grub_ufs_sblock): new fields mtime
12472 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
12473 all users updated
12474 (grub_ufs_dir): mtime support
12475 (grub_ufs_mtime): new function
12476 * fs/affs.c (grub_affs_dir): use new dir syntax
12477 * fs/afs.c (grub_afs_dir): likewise
12478 * fs/cpio.c (grub_cpio_dir): likewise
12479 * fs/fat.c (grub_fat_find_dir): likewise
12480 * fs/hfs.c (grub_hfs_dir): likewise
12481 * fs/iso9660.c (grub_iso9660_dir): likewise
12482 * fs/jfs.c (grub_jfs_dir): likewise
12483 * fs/minix.c (grub_minix_dir): likewise
12484 * fs/ntfs.c (grub_ntfs_dir): likewise
12485 * fs/reiserfs.c (grub_reiserfs_dir): likewise
12486 * fs/sfs.c (grub_sfs_dir): likewise
12487 * fs/xfs.c (grub_xfs_dir): likewise
12488 * util/hostfs.c (grub_hostfs_dir): likewise
12489 * lib/datetime.c: moved to ...
12490 * normal/datetime.c: ... moved here
12491 (grub_unixtime2datetime): new function
12492 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
12493 * normal/completion.c (iterate_dir): use new dir syntax
12494 * normal/misc.c (grub_normal_print_device_info): tell the
12495 last modification time of a volume
12496 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
12497 * conf/common.rmk: added lib/datetime.c to ls.mod
12498 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
12499 (normal_mod_SOURCES): likewise
12500 (datetime_mod_SOURCES): Removed lib/datetime.c
12501 * conf/i386-efi.rmk: likewise
12502 * conf/i386-ieee1275.rmk: likewise
12503 * conf/i386-pc.rmk: likewise
12504 * conf/powerpc-ieee1275.rmk: likewise
12505 * conf/sparc64-ieee1275.rmk: likewise
12506 * conf/x86_64-efi.rmk: likewise
12507
12508 2009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
12509
12510 Trim trailing spaces in FAT label and support mtools-like labels
12511
12512 * fs/fat.c (grub_fat_iterate_dir): New function based
12513 on grub_fat_find_dir
12514 (grub_fat_find_dir): use grub_fat_iterate_dir
12515 (grub_fat_label): likewise
12516
12517 2009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
12518
12519 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
12520 and command.h
12521 remove extraneous kernel_elf_HEADERS
12522
12523 2009-04-04 Bean <bean123ch@gnail.com>
12524
12525 * include/grub/util/misc.h: Add dummy function fsync for mingw.
12526
12527 * util/misc.c: Likewise.
12528
12529 2009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
12530
12531 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
12532 instead of grub_printf.
12533
12534 2009-04-03 Robert Millan <rmh@aybabtu.com>
12535
12536 * loader/i386/linux.c (grub_linux_setup_video): Fill
12537 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
12538 values from `mode info' structure instead of hardcoded
12539 values.
12540
12541 2009-04-01 Pavel Roskin <proski@gnu.org>
12542
12543 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
12544 unused now.
12545 * genmk.rb: Likewise.
12546 * configure.ac: Likewise.
12547
12548 2009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
12549
12550 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
12551 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
12552
12553 2009-04-01 David S. Miller <davem@davemloft.net>
12554
12555 * normal/sparc64/setjmp.S: Fix setjmp implementation.
12556 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
12557 (grub_setjmp): Mark with 'returns_twice' attribute.
12558 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
12559 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
12560 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
12561
12562 2009-04-01 Robert Millan <rmh@aybabtu.com>
12563
12564 Reapply fix from 2008-07-28 which was accidentally reverted; also
12565 perform the same fix to a similar check in same function.
12566
12567 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
12568 with the same number are found, just use issue a warning with
12569 grub_dprintf(), as this error has been reported to be non-fatal.
12570
12571 2009-03-31 Pavel Roskin <proski@gnu.org>
12572
12573 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
12574 for cross-compilation.
12575
12576 2009-03-30 Robert Millan <rmh@aybabtu.com>
12577
12578 Fix i386-ieee1275 build.
12579
12580 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
12581 Remove declaration.
12582
12583 2009-03-30 Pavel Roskin <proski@gnu.org>
12584
12585 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
12586 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
12587 zero-terminated, rely only on the strlen value. Fix comparison
12588 of strings differing in length.
12589
12590 2009-03-30 Robert Millan <rmh@aybabtu.com>
12591
12592 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
12593 checking for abi version. Improve error messages on BIOS to notify
12594 user about `linux16' command.
12595
12596 2009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
12597
12598 Leak fixes
12599
12600 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
12601 in case of collision
12602 * disk/scsi.c (grub_scsi_open): free scsi in case of error
12603
12604 2009-03-29 Robert Millan <rmh@aybabtu.com>
12605
12606 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
12607 set `vid_mode' accordingly.
12608 (grub_linux_boot): Process `vid_mode' and set video mode.
12609
12610 2009-03-29 Robert Millan <rmh@aybabtu.com>
12611
12612 * util/grub.d/10_linux.in (linux_entry): New function.
12613 Factorize generation of Linux boot entries.
12614
12615 2009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
12616
12617 Make the format of Environment Block plain text. The boot loader
12618 part is not tested well yet.
12619
12620 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
12621 (buffer): Removed.
12622 (envblk): Likewise.
12623 (usage): Remove "info" and "clear". Add "unset". Update the
12624 description of "set", as this does not delete variables any
12625 longer.
12626 (create_envblk_file): Complete rewrite.
12627 (open_envblk_file): Likewise.
12628 (cmd_info): Removed.
12629 (cmd_list): Likewise.
12630 (cmd_set): Likewise.
12631 (cmd_clear): Likewise.
12632 (list_variables): New function.
12633 (write_envblk): Likewise.
12634 (set_variables): Likewise.
12635 (unset_variables): Likewise.
12636 (main): Complete rewrite.
12637
12638 * commands/loadenv.c (buffer): Removed.
12639 (envblk): Likewise.
12640 (open_envblk_file): New function.
12641 (read_envblk_file): Complete rewrite.
12642 (grub_cmd_load_env): Likewise.
12643 (grub_cmd_list_env): Likewise.
12644 (struct blocklist): New struct.
12645 (free_blocklists): New function.
12646 (check_blocklists): Likewise.
12647 (write_blocklists): Likewise.
12648 (grub_cmd_save_env): Complete rewrite.
12649
12650 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
12651 a plain text signature.
12652 (GRUB_ENVBLK_MAXLEN): Removed.
12653 (struct grub_envblk): Complete rewrite.
12654 (grub_envblk_find): Removed.
12655 (grub_envblk_insert): Likewise.
12656 (grub_envblk_open): New prototype.
12657 (grub_envblk_set): Likewise.
12658 (grub_envblk_delete): Put const to VALUE.
12659 (grub_envblk_iterate): Put const to NAME and VALUE.
12660 (grub_envblk_close): New prototype.
12661 (grub_envblk_buffer): New inline function.
12662 (grub_envblk_size): Likewise.
12663
12664 * lib/envblk.c: Include grub/mm.h.
12665 (grub_env_find): Removed.
12666 (grub_envblk_open): New function.
12667 (grub_envblk_close): Likewise.
12668 (escaped_value_len): Likewise.
12669 (find_next_line): Likewise.
12670 (grub_envblk_insert): Removed.
12671 (grub_envblk_set): New function.
12672 (grub_envblk_delete): Complete rewrite.
12673 (grub_envblk_iterate): Likewise.
12674
12675 2009-03-28 Robert Millan <rmh@aybabtu.com>
12676
12677 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
12678 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
12679 variables. Use 16-bit loader.
12680 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
12681 loader.
12682 * kern/i386/loader.S (grub_linux_boot): Rename to ...
12683 (grub_linux16_boot): ... this. Update all users.
12684 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
12685 (grub_linux_boot): ... this. Update all users.
12686
12687 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
12688 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
12689 commands to `linux16' and `initrd16'.
12690 (GRUB_MOD_FINI(linux)): Rename to ...
12691 (GRUB_MOD_FINI(linux16)): ... this.
12692
12693 2009-03-24 Pavel Roskin <proski@gnu.org>
12694
12695 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
12696 not just for compilation.
12697
12698 2009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
12699
12700 Move multiboot helper out of kernel
12701
12702 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
12703 `loader/i386/multiboot_helper.S'.
12704 * conf/i386-coreboot.rmk: Likewise
12705 * conf/i386-ieee1275.rmk: Likewise
12706
12707 * kern/i386/loader.S: Move multiboot helpers from here...
12708 * loader/i386/multiboot_helper.S: ...moved here
12709 * include/grub/i386/loader.h: Move declarations of multiboot
12710 helpers from here...
12711 * include/grub/i386/multiboot.h: ...moved here
12712 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
12713
12714 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
12715
12716 * kern/env.c (grub_env_context_open): Added an argument to specify
12717 whether a new context inherits exported variables from current
12718 one. This is useful when making a sandbox to interpret a config
12719 file.
12720 All callers updated.
12721
12722 * include/grub/env.h (grub_env_context_open): Updated the prototype.
12723
12724 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
12725
12726 * kern/env.c (grub_env_context_close): Fix memory leaks.
12727
12728 2009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
12729
12730 * normal/main.c (grub_normal_execute): Added an argument
12731 BATCH to specify if an interactive interface should be provided
12732 after reading a config file.
12733 All callers updated.
12734 (read_command_list): Prevent being executed twice.
12735 (read_fs_list): Likewise.
12736
12737 * include/grub/normal.h (grub_normal_execute): Updated the
12738 prototype.
12739
12740 2009-03-22 Pavel Roskin <proski@gno.org>
12741
12742 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
12743 _start.
12744 * kern/i386/pc/startup.S: Likewise.
12745 * kern/i386/efi/startup.S: Likewise.
12746 * kern/i386/ieee1275/startup.S: Likewise.
12747 * kern/i386/coreboot/startup.S: Likewise.
12748 * kern/x86_64/efi/startup.S: Likewise.
12749
12750 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
12751 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
12752 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
12753
12754 2009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
12755
12756 Bugfixes in multiboot for bugs uncovered by solaris kernel.
12757
12758 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
12759 limit detection.
12760 Use vaddr of correct segment for entry_point.
12761
12762 2009-03-21 Bean <bean123ch@gmail.com>
12763
12764 * commands/blocklist.c: Add include file <grub/command.h>, remove
12765 <grub/normal.h> and <grub/arg.h>.
12766 (grub_cmd_blocklist): Use the new command interface.
12767 (GRUB_MOD_INIT): Likewise.
12768 (GRUB_MOD_FINI): Likewise.
12769 * commands/boot.c: Likewise.
12770 * commands/cat.c: Likewise.
12771 * commands/cmp.c: Likewise.
12772 * commands/configfile.c: Likewise.
12773 * commands/crc.c: Likewise.
12774 * commands/echo.c: Likewise.
12775 * commands/halt.c: Likewise.
12776 * commands/handler.c: Likewise.
12777 * commands/hdparm.c: Likewise.
12778 * commands/help.c: Likewise.
12779 * commands/hexdump.c: Likewise.
12780 * commands/loadenv.c: Likewise.
12781 * commands/ls.c: Likewise.
12782 * commands/lsmmap.c: Likewise.
12783 * commands/lspci.c: Likewise.
12784 * commands/loadenv.c: Likewise.
12785 * commands/read.c: Likewise.
12786 * commands/reboot.c: Likewise.
12787 * commands/search.c: Likewise.
12788 * commands/sleep.c: Likewise.
12789 * commands/test.c: Likewise.
12790 * commands/usbtest.c: Likewise.
12791 * commands/videotest.c: Likewise.
12792 * commands/i386/cpuid.c: Likewise.
12793 * commands/i386/pc/halt.c: Likewise.
12794 * commands/i386/pc/play.c: Likewise.
12795 * commands/i386/pc/pxecmd.c: Likewise.
12796 * commands/i386/pc/vbeinfo.c: Likewise.
12797 * commands/i386/pc/vbetest.c: Likewise.
12798 * commands/ieee1275/suspend.c: Likewise.
12799 * disk/loopback.c: Likewise.
12800 * font/font_cmd.c: Likewise.
12801 * hello/hello.c: Likewise.
12802 * loader/efi/appleloader.c: Likewise.
12803 * loader/efi/chainloader.c: Likewise.
12804 * loader/i386/bsd.c: Likewise.
12805 * loader/i386/efi/linux.c: Likewise.
12806 * loader/i386/ieee1275/linux.c: Likewise.
12807 * loader/i386/linux.c: Likewise.
12808 * loader/i386/pc/chainloader.c: Likewise.
12809 * loader/i386/pc/linux.c: Likewise.
12810 * loader/powerpc/ieee1275/linux.c: Likewise.
12811 * loader/multiboot_loader.c: Likewise.
12812 * term/gfxterm.c: Likewise.
12813 * term/i386/pc/serial.c: Likewise.
12814 * term/terminfo.c: Likewise.
12815
12816 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
12817 * term/i386/pc/vga.c: Likewise.
12818 * video/readers/jpeg.c: Likewise.
12819 * video/readers/png.c: Likewise.
12820 * video/readers/tga.c: Likewise.
12821
12822 * util/grub-fstest (cmd_loopback): Removed.
12823 (cmd_blocklist): Likewise.
12824 (cmd_ls): Likewise.
12825 (grub_register_command): Likewise.
12826 (grub_unregister_command): Likewise.
12827 (execute_command): Use grub_command_find to locate command and execute
12828 it.
12829
12830 * include/grub/efi/chainloader.h: Removed.
12831 * loader/efi/chainloader_normal.c: Likewise.
12832 * loader/i386/bsd_normal.c: Likewise.
12833 * loader/i386/pc/chainloader_normal.c: Likewise.
12834 * loader/i386/pc/multiboot_normal.c: Likewise.
12835 * loader/linux_normal.c: Likewise.
12836 * loader/multiboot_loader_normal.c: Likewise.
12837 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
12838
12839 * gencmdlist.sh: Scan new registration command grub_register_extcmd
12840 and grub_register_command_p1.
12841
12842 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
12843 kern/command.c, lib/arg.c and commands/extcmd.c.
12844 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
12845 (minicmd_mod_SOURCES): New variable.
12846 (minicmd_mod_CFLAGS): Likewise.
12847 (minicmd_mod_LDFLAGS): Likewise.
12848 (extcmd_mod_SOURCES): Likewise.
12849 (extcmd_mod_CFLAGS): Likewise.
12850 (extcmd_mod_LDFLAGS): Likewise.
12851 (boot_mod_SOURCES): Removed.
12852 (boot_mod_CFLAGS): Likewise.
12853 (boot_mod_LDFLAGS): Likewise.
12854
12855 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
12856 kern/corecmd.c.
12857 (kernel_img_HEADERS): Add command.h.
12858 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
12859 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
12860 and lib/arg.c.
12861 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
12862 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
12863 remove the corresponding normal mode command.
12864 (normal_mod_SOURCES): Remove normal/arg.c.
12865 * conf/i386-coreboot.rmk: Likewise.
12866 * conf/i386-efi.rmk: Likewise.
12867 * conf/i386-ieee1275.rmk: Likewise.
12868 * conf/powerpc-ieee1275.rmk: Likewise.
12869 * conf/x86_64-efi.rmk: Likewise.
12870
12871 * include/grub/arg.h: Move from here ...
12872 * include/grub/lib/arg.h: ... to here.
12873
12874 * normal/arg.c: Move from here ...
12875 * lib/arg.c: ... to here.
12876
12877 * commands/extcmd.c: New file.
12878 * commands/minicmd.c: Likewise.
12879 * include/grub/command.h: Likewise.
12880 * include/grub/extcmd.h: Likewise.
12881 * kern/command.c: Likewise.
12882 * kern/corecmd.c: Likewise.
12883
12884 * kern/list.c (grub_list_iterate): Return int instead of void.
12885 (grub_list_insert): New function.
12886 (grub_prio_list_insert): Likewise.
12887
12888 * kern/rescue.c (grub_rescue_command): Removed.
12889 (grub_rescue_command_list): Likewise.
12890 (grub_rescue_register_command): Likewise.
12891 (grub_rescue_unregister_command): Likewise.
12892 (grub_rescue_cmd_boot): Move to minicmd.c
12893 (grub_rescue_cmd_help): Likewise.
12894 (grub_rescue_cmd_info): Likewise.
12895 (grub_rescue_cmd_boot): Likewise.
12896 (grub_rescue_cmd_testload): Likewise.
12897 (grub_rescue_cmd_dump): Likewise.
12898 (grub_rescue_cmd_rmmod): Likewise.
12899 (grub_rescue_cmd_lsmod): Likewise.
12900 (grub_rescue_cmd_exit): Likewise.
12901 (grub_rescue_print_devices): Moved to corecmd.c.
12902 (grub_rescue_print_files): Likewise.
12903 (grub_rescue_cmd_ls): Likewise.
12904 (grub_rescue_cmd_insmod): Likewise.
12905 (grub_rescue_cmd_set): Likewise.
12906 (grub_rescue_cmd_unset): Likewise.
12907 (attempt_normal_mode): Use grub_command_find to get normal module.
12908 (grub_enter_rescue_mode): Use grub_register_core_commands to register
12909 commands, remove grub_rescue_register_command calls.
12910
12911 * normal/command.c (grub_register_command): Removed.
12912 (grub_unregister_command): Likewise.
12913 (grub_command_find): Likewise.
12914 (grub_iterate_commands): Likewise.
12915 (rescue_command): Likewise.
12916 (export_command): Moved to corecmd.c.
12917 (set_command): Removed.
12918 (unset_command): Likewise.
12919 (insmod_command): Likewise.
12920 (rmmod_command): Likewise.
12921 (lsmod_command): Likewise.
12922 (grub_command_init): Likewise.
12923
12924 * normal/completion.c (iterate_command): Use cmd->prio to check for
12925 active command.
12926 (complete_arguments): Use grub_extcmd_t structure to find options.
12927 (grub_normal_do_completion): Change function grub_iterate_commands to
12928 grub_command_iterate.
12929
12930 * normal/execute.c (grub_script_execute_cmd): No need to parse
12931 argument here.
12932
12933 * normal/main.c (grub_dyncmd_dispatcher): New function.
12934 (read_command_list): Register unload commands as dyncmd.
12935 (grub_cmd_normal): Use new command interface, register rescue,
12936 unregister normal at entry, register normal, unregister rescue at exit.
12937
12938 * include/grub/list.h (grub_list_test_t): New type.
12939 (grub_list_iterate): Return int instead of void.
12940 (grub_list_insert): New function.
12941 (GRUB_AS_NAMED_LIST_P): New macro.
12942 (GRUB_AS_PRIO_LIST): Likewise.
12943 (GRUB_AS_PRIO_LIST_P): Likewise.
12944 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
12945 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
12946 (grub_prio_list): New structure.
12947 (grub_prio_list_insert): New function.
12948 (grub_prio_list_remove): New inline function.
12949
12950 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
12951 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
12952 (GRUB_COMMAND_FLAG_MENU): Likewise.
12953 (GRUB_COMMAND_FLAG_BOTH): Likewise.
12954 (GRUB_COMMAND_FLAG_TITLE): Likewise.
12955 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
12956 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
12957 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
12958 (grub_command): Likewise.
12959 (grub_register_command): Likewise.
12960 (grub_command_find): Likewise.
12961 (grub_iterate_commands): Likewise.
12962 (grub_command_init): Likewise.
12963 (grub_arg_parse): Likewise.
12964 (grub_arg_show_help): Likewise.
12965
12966 * include/grub/rescue.h (grub_rescue_register_command): Removed.
12967 (grub_rescue_unregister_command): Likewise.
12968
12969 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
12970 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
12971 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
12972
12973 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
12974 grub_rescue_cmd_initrd.
12975 * include/grub/i386/loader.h: Likewise.
12976 * include/grub/x86_64/loader.h: Likewise.
12977
12978 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
12979
12980 2009-03-21 Bean <bean123ch@gmail.com>
12981
12982 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
12983 instead of stat in mingw environment.
12984
12985 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
12986
12987 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
12988
12989 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
12990 AC_CONFIG_LINKS.
12991
12992 2009-03-21 Bean <bean123ch@gmail.com>
12993
12994 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
12995 out of range error.
12996
12997 2009-03-18 Michel Dänzer <michel@daenzer.net>
12998
12999 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
13000 checking inode flags for EXT4_EXTENTS_FLAG.
13001
13002 2009-03-18 Robert Millan <rmh@aybabtu.com>
13003
13004 * loader/i386/linux.c: Include `<grub/video.h>' and
13005 `<grub/i386/pc/vbe.h>'..
13006 (grub_linux_setup_video): New function. Loosely based on the EFI one.
13007 (grub_linux32_boot): Attempt to configure video settings with
13008 grub_linux_setup_video().
13009 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
13010 to avoid grub_console_fini() which would step out of graphical mode
13011 unconditionally.
13012
13013 2009-03-14 Robert Millan <rmh@aybabtu.com>
13014
13015 Fix build on powerpc.
13016 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
13017
13018 2009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
13019
13020 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
13021 background image command.
13022
13023 2009-03-12 Colin D Bennett <colin@gibibit.com>
13024
13025 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
13026 (grub_gfxterm_putchar): Extract pairs of identical calls to
13027 draw_cursor out of conditional blocks.
13028
13029 2009-03-11 Pavel Roskin <proski@gnu.org>
13030
13031 * fs/hfs.c (grub_hfs_strncasecmp): New function.
13032 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
13033
13034 2009-03-11 Robert Millan <rmh@aybabtu.com>
13035
13036 * loader/i386/multiboot_elfxx.c
13037 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
13038
13039 2009-03-11 Felix Zielcke <fzielcke@z-51.de>
13040
13041 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
13042 `kern/handler.c'.
13043
13044 2009-03-11 Robert Millan <rmh@aybabtu.com>
13045
13046 * loader/i386/multiboot.c (code_size): New variable.
13047 (grub_multiboot): Define offsets by adding to `code_size' rather
13048 than subtracting from `grub_multiboot_payload_size'. Provide
13049 4-byte alignment to MBI and others by increasing
13050 `boot_loader_name_length' appropriately.
13051
13052 * loader/i386/multiboot_elfxx.c
13053 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
13054
13055 2009-03-09 Felix Zielcke <fzielcke@z-51.de>
13056
13057 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
13058 `fs/ext2.c'.
13059
13060 2009-03-08 Robert Millan <rmh@aybabtu.com>
13061
13062 Make loader/i386/linux.c usable on i386-pc again.
13063
13064 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
13065 memory to heap.
13066 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
13067 `#error' stanza.
13068
13069 2009-03-07 Bean <bean123ch@gmail.com>
13070
13071 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
13072 allocation.
13073
13074 2009-03-06 Robert Millan <rmh@aybabtu.com>
13075
13076 Fix display issue on terminals with screen size other than 80x25
13077 (e.g. gfxterm with resolution higher than 640x480).
13078
13079 * normal/main.c (grub_normal_init_page): Display title text in a
13080 position relative to the center of the terminal instead of relying
13081 on a hardcoded offset.
13082
13083 2009-03-04 Robert Millan <rmh@aybabtu.com>
13084
13085 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
13086 installed.
13087
13088 * Makefile.in (host_kernel): New variable.
13089 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
13090 scripts instead of just the windows one.
13091 * configure.ac: Initialize and AC_SUBST `host_kernel'.
13092
13093 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
13094
13095 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
13096 `kern/handler.c'.
13097 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13098 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13099 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
13100 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13101 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13102 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13103
13104 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
13105
13106 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
13107 or if there's no space for the disk label and print the partition number on a
13108 invalid magic.
13109
13110 2009-03-04 Felix Zielcke <fzielcke@z-51.de>
13111
13112 * util/misc.c: Include <time.h>.
13113 (grub_millisleep): New function.
13114
13115 2009-03-04 Bean <bean123ch@gmail.com>
13116
13117 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
13118 another option -mno-red-zone.
13119
13120 * commands/handler.c: Change module description.
13121
13122 * kern/handler.c: Add missing space at the end of description line.
13123
13124 * kern/list.c: Likewise.
13125
13126 2009-03-03 Robert Millan <rmh@aybabtu.com>
13127
13128 Move more components to the relocation area, and fix mbi pointer
13129 handling to use the destination rather than the origin (thanks to
13130 Vladimir Serbinenko for spotting).
13131
13132 * loader/i386/multiboot.c (mbi_dest): New variable.
13133 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
13134 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
13135 relocation area.
13136
13137 2009-03-01 Bean <bean123ch@gmail.com>
13138
13139 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
13140 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
13141 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
13142 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
13143
13144 * loader/i386/efi/linux.c (acpi_guid): New variable.
13145 (acpi_guid): Likewise.
13146 (EBDA_SEG_ADDR): New constant.
13147 (LOW_MEM_ADDR): Likewise.
13148 (FAKE_EBDA_SEG): Likewise.
13149 (fake_bios_data): New function.
13150 (grub_linux_boot): Call fake_bios_data.
13151
13152 2009-03-01 Bean <bean123ch@gmail.com>
13153
13154 * commands/terminal.c: Removed.
13155
13156 * commands/handler.c: New file.
13157
13158 * include/grub/list.h: Likewise.
13159
13160 * include/grub/handler.h: Likewise.
13161
13162 * kern/list.c: Likewise.
13163
13164 * kern/handler.c: Likewise.
13165
13166 * kern/term.h: Include header file <grub/handler.h>.
13167 (grub_term_input): Move next field to the beginning.
13168 (grub_term_output): Likewise.
13169 (grub_term_input_class): New variable.
13170 (grub_term_output_class): Likewise.
13171 (grub_term_register_input): Changed to inline function.
13172 (grub_term_register_output): Likewise.
13173 (grub_term_unregister_input): Likewise.
13174 (grub_term_unregister_output): Likewise.
13175 (grub_term_set_current_input): Likewise.
13176 (grub_term_set_current_output): Likewise.
13177 (grub_term_get_current_input): Likewise.
13178 (grub_term_get_current_output): Likewise.
13179 (grub_term_iterate_input): Removed.
13180 (grub_term_iterate_output): Likewise.
13181
13182 * kern/term.c (grub_term_list_input): Removed.
13183 (grub_term_list_output): Likewise.
13184 (grub_term_input_class): New variable.
13185 (grub_term_output_class): Likewise.
13186 (grub_cur_term_input): Change variable as macro.
13187 (grub_cur_term_output): Likewise.
13188 (grub_term_register_input): Removed.
13189 (grub_term_register_output): Likewise.
13190 (grub_term_unregister_input): Likewise.
13191 (grub_term_unregister_output): Likewise.
13192 (grub_term_set_current_input): Likewise.
13193 (grub_term_set_current_output): Likewise.
13194 (grub_term_iterate_input): Likewise.
13195 (grub_term_iterate_output): Likewise.
13196 (grub_term_get_current_input): Likewise.
13197 (grub_term_get_current_output): Likewise.
13198
13199 * util/grub-editenv.c: Include header file <grub/handler.h>.
13200 (grub_term_get_current_input): Removed.
13201 (grub_term_get_current_output): Likewise.
13202 (grub_term_input_class): New variable.
13203 (grub_term_output_class): Likewise.
13204
13205 * util/grub-fstest.c (grub_term_get_current_input): Removed.
13206 (grub_term_get_current_output): Likewise.
13207 (grub_term_input_class): New variable.
13208 (grub_term_output_class): Likewise.
13209
13210 * util/grub-probe.c (grub_term_get_current_input): Removed.
13211 (grub_term_get_current_output): Likewise.
13212 (grub_term_input_class): New variable.
13213 (grub_term_output_class): Likewise.
13214
13215 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
13216 (grub_term_get_current_output): Likewise.
13217 (grub_term_input_class): New variable.
13218 (grub_term_output_class): Likewise.
13219
13220 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
13221 (terminal_mod_SOURCES): Likewise.
13222 (terminal_mod_CFLAGS): Likewise.
13223 (terminal_mod_LDFLAGS): Likewise.
13224
13225 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
13226 handler.c.
13227 (kernel_img_SOURCES): Add list.c and handler.c.
13228 (kernel_img_HEADERS): Add list.h and handler.h.
13229
13230 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
13231 handler.c.
13232 (kernel_mod_SOURCES): Add list.c and handler.c.
13233 (kernel_mod_HEADERS): Add list.h and handler.h.
13234
13235 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
13236 handler.c.
13237 (kernel_elf_SOURCES): Add list.c and handler.c.
13238 (kernel_elf_HEADERS): Add list.h and handler.h.
13239
13240 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
13241 handler.c.
13242 (kernel_elf_SOURCES): Add list.c and handler.c.
13243 (kernel_elf_HEADERS): Add list.h and handler.h.
13244
13245 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
13246 handler.c.
13247 (kernel_mod_SOURCES): Add list.c and handler.c.
13248 (kernel_mod_HEADERS): Add list.h and handler.h.
13249
13250 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
13251 handler.c.
13252 (kernel_elf_SOURCES): Add list.c and handler.c.
13253 (kernel_elf_HEADERS): Add list.h and handler.h.
13254
13255 2009-02-27 Robert Millan <rmh@aybabtu.com>
13256
13257 Factorize elf32 / elf64 code in Multiboot loader. This will
13258 prevent it from getting out of sync again.
13259
13260 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
13261 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
13262 grub_multiboot_load_elf64): Move from here ...
13263 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
13264 grub_multiboot_load_elf): ... to here (new file).
13265
13266 2009-02-27 Robert Millan <rmh@aybabtu.com>
13267
13268 * util/grub.d/10_linux.in: Rename "single-user mode" to
13269 "recovery mode".
13270
13271 2009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
13272
13273 Don't leak in SCSI code.
13274 * disk/scsi.c (grub_scsi_close): free `scsi'.
13275
13276 2009-02-27 Robert Millan <rmh@aybabtu.com>
13277
13278 * loader/i386/pc/multiboot.c: Move from here ...
13279 * loader/i386/multiboot.c: ... to here. Update all users.
13280
13281 2009-02-27 Robert Millan <rmh@aybabtu.com>
13282
13283 Patch from Alexandre Bique <bique.alexandre@gmail.com>
13284 * util/i386/pc/grub-setup.c (setup): Fix directory path.
13285
13286 2009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
13287
13288 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
13289 b-tree.
13290
13291 2009-02-27 Robert Millan <rmh@aybabtu.com>
13292
13293 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
13294 `0x' qualifier as 0 when base is specified as parameter).
13295
13296 2009-02-24 Bean <bean123ch@gmail.com>
13297
13298 * configure.ac: Check for -mcmodel=large in x86_64 target.
13299
13300 * include/grub/efi/api.h (efi_call_10): New macro.
13301 (efi_wrap_10): New function.
13302
13303 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
13304 (GRUB_PE32_REL_BASED_HIGH): Likewise.
13305 (GRUB_PE32_REL_BASED_LOW): Likewise.
13306 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
13307 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
13308 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
13309 (GRUB_PE32_REL_BASED_SECTION): Likewise.
13310 (GRUB_PE32_REL_BASED_REL): Likewise.
13311 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
13312 (GRUB_PE32_REL_BASED_DIR64): Likewise.
13313 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
13314
13315 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
13316 issue.
13317
13318 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
13319 (efi_wrap_10): New function.
13320
13321 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
13322
13323 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
13324 MB/MBP model (NV chipset).
13325 (devdata_devs): Add devpath_5 to the list.
13326
13327 * load/i386/efi/linux.c (video_base): Remove variable.
13328 (RGB_MASK): New macro.
13329 (RGB_MAGIC): Likewise.
13330 (LINE_MIN): Likewise.
13331 (LINE_MAX): Likewise.
13332 (FBTEST_STEP): Likewise.
13333 (FBTEST_COUNT): Likewise.
13334 (fb_list): New variable.
13335 (grub_find_video_card): Remove function.
13336 (find_framebuf): New function.
13337 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
13338 line length.
13339
13340 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
13341 problem for x86_64.
13342
13343 2009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
13344
13345 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
13346
13347 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
13348 coding tool name.
13349
13350 2009-02-22 Robert Millan <rmh@aybabtu.com>
13351
13352 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
13353 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
13354 in our relocation, instead of using it directly from heap. Also
13355 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
13356
13357 2009-02-21 Robert Millan <rmh@aybabtu.com>
13358
13359 Implement USB keyboard support (based on patch by Marco Gerards)
13360
13361 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
13362 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
13363 (usb_keyboard_mod_LDFLAGS): New variables.
13364
13365 * term/usb_keyboard.c: New file.
13366
13367 2009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
13368
13369 Corrected wrong declaration
13370
13371 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
13372
13373 2009-02-14 Christian Franke <franke@computer.org>
13374
13375 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
13376 (grub_lspci_iter): Print class code and programming interface byte.
13377
13378 2009-02-14 Christian Franke <franke@computer.org>
13379
13380 * gendistlist.sh: Ignore `.svn' directories.
13381
13382 2009-02-14 Felix Zielcke <fzielcke@z-51.de>
13383
13384 * fs/fat.c: Add 2009 to Copyright line.
13385
13386 2009-02-14 Christian Franke <franke@computer.org>
13387
13388 * commands/hdparm.c: New file. Provides `hdparm' command
13389 which sends ATA commands via grub_disk_ata_pass_through ().
13390
13391 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
13392
13393 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
13394 and <grub/cpu/io.h> to include/grub/ata.h.
13395 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
13396 (GRUB_CDROM_SECTOR_SIZE): Remove.
13397 (GRUB_ATA_*): Move to include/grub/ata.h.
13398 (GRUB_ATAPI_*): Likewise.
13399 (enum grub_ata_commands): Likewise.
13400 (enum grub_ata_timeout_milliseconds): Likewise.
13401 (struct grub_ata_device): Likewise.
13402 (grub_ata_regset): Likewise.
13403 (grub_ata_regget): Likewise.
13404 (grub_ata_regset2): Likewise.
13405 (grub_ata_regget2): Likewise.
13406 (grub_ata_check_ready): Likewise.
13407 (grub_ata_wait_not_busy): Remove static, exported in
13408 include/grub/ata.h.
13409 (grub_ata_wait_drq): Likewise.
13410 (grub_ata_pio_read): Likewise.
13411
13412 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
13413 function for hdparm.mod.
13414
13415 * include/grub/ata.h: New file, contains declarations from
13416 disk/ata.c.
13417 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
13418
13419 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
13420 (grub_disk_ata_pass_through): New exported variable.
13421
13422 * kern/disk.c (grub_disk_ata_pass_through): New variable.
13423
13424 2009-02-13 Colin D Bennett <colin@gibibit.com>
13425
13426 Support multiple fallback entries, and provide an API to support
13427 executing default+fallback menu entries. Renamed the `terminal' menu
13428 viewer to `text'.
13429
13430 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
13431 variable declaration.
13432 (grub_menu_execute_callback): New structure declaration.
13433 (grub_menu_execute_callback_t): New typedef.
13434 (grub_menu_execute_with_fallback): New function declaration.
13435 (grub_menu_get_entry): Likewise.
13436 (grub_menu_get_timeout): Likewise.
13437 (grub_menu_set_timeout): Likewise.
13438
13439 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
13440
13441 * normal/menu.c (grub_wait_after_message): Moved to
13442 `normal/menu_text.c'.
13443 (draw_border): Likewise.
13444 (print_message): Likewise.
13445 (print_entry): Likewise.
13446 (print_entries): Likewise.
13447 (grub_menu_init_page): Likewise.
13448 (get_entry_number): Likewise.
13449 (print_timeout): Likewise.
13450 (run_menu): Likewise.
13451 (grub_menu_execute_entry): Likewise.
13452 (show_text_menu): Likewise.
13453 (get_and_remove_first_entry_number): New function.
13454 (grub_menu_execute_with_fallback): Likewise.
13455 (get_entry): Renamed to ...
13456 (grub_menu_get_entry): .. this and made it global.
13457 (get_timeout): Renamed to ...
13458 (grub_menu_get_timeout): ... this and made it global.
13459 (set_timeout): Renamed to ...
13460 (grub_menu_set_timeout): ... this and made it global.
13461 (grub_normal_terminal_menu_viewer): Renamed to ...
13462 (grub_normal_text_menu_viewer): ... this.
13463
13464 * normal/menu_text.c: New file. Extracted text-menu-specific code
13465 from normal/menu.c.
13466
13467 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
13468 (normal_mod_SOURCES): Likewise.
13469
13470 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13471 (normal_mod_SOURCES): Likewise.
13472
13473 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13474 (normal_mod_SOURCES): Likewise.
13475
13476 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
13477 (normal_mod_SOURCES): Likewise.
13478
13479 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13480 (normal_mod_SOURCES): Likewise.
13481
13482 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13483 (normal_mod_SOURCES): Likewise.
13484
13485 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13486 (normal_mod_SOURCES): Likewise.
13487
13488 2009-02-11 Robert Millan <rmh@aybabtu.com>
13489
13490 * util/grub.d/00_header.in: Update old reference to `font' command.
13491
13492 2009-02-10 Felix Zielcke <fzielcke@z-51.de>
13493
13494 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
13495
13496 Based on patch from Javier Martín.
13497
13498 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
13499
13500 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
13501 to avoid false positives with FAT.
13502 (grub_fstest_SOURCES): Likewise.
13503 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
13504 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13505 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13506 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
13507 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13508 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13509
13510 2009-02-09 Felix Zielcke <fzielcke@z-51.de>
13511
13512 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
13513 bpb.version_specific.fat12_or_fat16.fstype and
13514 bpb.version_specific.fat32.fstype.
13515
13516 2009-02-08 Robert Millan <rmh@aybabtu.com>
13517
13518 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
13519
13520 2009-02-08 Robert Millan <rmh@aybabtu.com>
13521
13522 * Makefile.in (host_os, host_cpu): New variables.
13523 (target_os): Remove. Update all users.
13524
13525 2009-02-08 Marco Gerards <marco@gnu.org>
13526
13527 * Makefile.in (enable_grub_emu_usb): New variable.
13528 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
13529 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
13530 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
13531 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
13532 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
13533 `usbtest.mod' and `usbms.mod'.
13534 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
13535 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
13536 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
13537 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
13538 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
13539 variables.
13540
13541 * disk/usbms.c: New file.
13542
13543 * include/grub/usb.h: Likewise.
13544
13545 * include/grub/usbtrans.h: Likewise.
13546
13547 * include/grub/usbdesc.h: Likewise.
13548
13549 * bus/usb/usbtrans.c: Likewise.
13550
13551 * bus/usb/ohci.c: Likewise.
13552
13553 * bus/usb/uhci.c: Likewise.
13554
13555 * bus/usb/usbhub.c: Likewise.
13556
13557 * bus/usb/usb.c: Likewise.
13558
13559 * commands/usbtest.c: Likewise.
13560
13561 * util/usb.c: Likewise.
13562
13563 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
13564
13565 * configure.ac: Test for libusb presence.
13566
13567 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
13568
13569 2009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
13570
13571 * kern/mm.c: Add more comments.
13572
13573 2009-02-08 Robert Millan <rmh@aybabtu.com>
13574
13575 Patch from Javier Martín.
13576 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
13577 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
13578
13579 2009-02-08 Robert Millan <rmh@aybabtu.com>
13580
13581 * fs/cpio.c: Split tar functionality to ...
13582 * fs/tar.c: ... here (new file). Update all users.
13583
13584 2009-02-07 Robert Millan <rmh@aybabtu.com>
13585
13586 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
13587 backward-incompatible features.
13588
13589 Based on patch from Javier Martín, with some adjustments.
13590
13591 2009-02-07 Michael Scherer <misc@mandriva.org>
13592
13593 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
13594
13595 2009-02-07 Robert Millan <rmh@aybabtu.com>
13596
13597 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
13598 position of `disk/lvm.c' to ensure grub_init_all() always picks it
13599 after the RAID stuff.
13600
13601 2009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
13602
13603 Fixes problem when running vbetest command as reported by
13604 Vladimir Serbinenko <phcoder@gmail.com>.
13605
13606 * (grub_vbe_set_video_mode): Fixed problem with text modes.
13607
13608 2009-02-04 Felix Zielcke <fzielcke@z-51.de>
13609
13610 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
13611 /dev/md/NpN style mdraid devices.
13612
13613 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
13614
13615 * util/unifont2pff.rb: Remove.
13616
13617 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
13618
13619 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
13620 `#'.
13621
13622 2009-02-03 Felix Zielcke <fzielcke@z-51.de>
13623
13624 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
13625 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13626 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13627 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
13628 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13629 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13630 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13631
13632 2009-02-02 Christian Franke <franke@computer.org>
13633
13634 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
13635
13636 2009-02-01 Felix Zielcke <fzielcke@z-51.de>
13637
13638 * INSTALL: Note that we now require at least autoconf 2.59 and
13639 that LZO is optional.
13640
13641 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
13642
13643 Base on patch on bug #24154 created by Tomas Tintera
13644 <trosos@seznam.cz>.
13645
13646 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
13647
13648 2009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
13649
13650 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
13651 <bero@arklinux.org>.
13652
13653 * normal/parser.y (script_init): Add missing semicolon.
13654
13655 2009-01-31 Colin D Bennett <colin@gibibit.com>
13656
13657 * normal/main.c: Add include to grub/menu_viewer.h.
13658 (free_menu_entry_classes): Added.
13659 (grub_normal_menu_addentry): Added class property handling.
13660 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
13661 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
13662
13663 * normal/menu_viewer.c: New file.
13664
13665 * normal/menu.c (run_menu_entry): Renamed to ...
13666 (grub_menu_execute_entry): ... this and made it as global.
13667 (grub_menu_run): Renamed to ...
13668 (show_text_menu): ... this and made it local.
13669 (show_text_menu): Adapt to new function names.
13670 (grub_normal_terminal_menu_viewer): New global variable.
13671
13672 * include/grub/menu.h: New file.
13673
13674 * include/grub/menu_viewer.h: New file.
13675
13676 * include/grub/normal.h: Added include to grub/menu.h.
13677 (grub_menu_entry): Moved to include/grub/menu.h.
13678 (grub_menu_entry_t): Likewise.
13679 (grub_menu): Likewise.
13680 (grub_menu_t): Likewise.
13681 (grub_normal_terminal_menu_viewer): Added.
13682 (grub_menu_execute_entry): Likewise.
13683 (grub_menu_run): Removed.
13684
13685 * DISTLIST: Added include/grub/menu.h.
13686 Added include/grub/menu_viewer.h.
13687 Added normal/menu_viewer.c.
13688
13689 2009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
13690
13691 * normal/execute.c (grub_script_execute_menuentry): Changed to use
13692 arglist for menutitle arguments.
13693
13694 * normal/main.c (grub_normal_menu_addentry): Likewise.
13695
13696 * normal/parser.y (menuentry): Likewise.
13697
13698 * normal/script.c (grub_script_create_cmdmenu): Likewise.
13699
13700 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
13701 (grub_script_create_cmdmenu): Likewise.
13702
13703 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
13704
13705 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
13706 changes.
13707
13708 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
13709
13710 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
13711
13712 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
13713
13714 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
13715
13716 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
13717
13718 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
13719
13720 2009-01-30 Christian Franke <franke@computer.org>
13721
13722 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
13723 in option help text.
13724
13725 2009-01-27 Pavel Roskin <proski@gnu.org>
13726
13727 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
13728
13729 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
13730
13731 * commands/lsmmap.c: Add include to grub/machine/memory.h.
13732
13733 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
13734
13735 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
13736 unregister function.
13737
13738 2009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
13739
13740 * disk/scsi.c (grub_scsi_read): Fix sign problem.
13741
13742 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
13743
13744 * util/grub-mkfont.c (usage): Fix typo.
13745
13746 * util/elf/grub-mkimage.c (load_modules): Fix warning.
13747
13748 2009-01-26 Daniel Mierswa <impulze@impulze.org>
13749
13750 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
13751
13752 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
13753
13754 * kern/misc.c (grub_strcasecmp): New function.
13755 (grub_strcasecmp): Use grub_size_t instead of int for length.
13756 Fix return value.
13757 * include/grub/misc.h: Update function prototypes.
13758
13759 2009-01-26 Robert Millan <rmh@aybabtu.com>
13760
13761 * configure.ac: Fix cross-compilation check.
13762
13763 2009-01-22 Christian Franke <franke@computer.org>
13764
13765 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
13766 (precision) digit string. Allow `.format2' without `format1' (width).
13767 Limit input chars for `%s' output to `format2' if specified. This is
13768 compatible with standard printf ().
13769
13770 2009-01-22 Christian Franke <franke@computer.org>
13771
13772 * disk/ata.c (grub_ata_wait_status): Replace by ...
13773 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
13774 other status bits may be invalid while BSY is asserted.
13775 (grub_ata_check_ready): New function.
13776 (grub_ata_cmd): Removed.
13777 (grub_ata_wait_drq): New function.
13778 (grub_ata_strncpy): Remove inline.
13779 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
13780 and error check now done by grub_ata_wait_drq ().
13781 (grub_ata_pio_write): Likewise.
13782 (grub_atapi_identify): Set DEV before check for !BSY. Use
13783 grub_ata_wait_drq () to wait for data.
13784 (grub_ata_device_initialize): Add status register check to
13785 detect missing SATA slave devices. Add debug messages.
13786 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
13787 (grub_atapi_packet): Set DEV before check for !BSY. Replace
13788 transfer loop by grub_ata_pio_write ().
13789 (grub_ata_identify): Set DEV before check for !BSY. Use
13790 grub_ata_wait_drq () to wait for data.
13791 (grub_ata_setaddress): Set DEV before check for !BSY.
13792 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
13793 read/write in one loop. Fix invalid command on write. Fix incomplete
13794 command on (size % batch) == 0. Add missing error check after write of
13795 last block. Add debug messages.
13796 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
13797
13798 2009-01-19 Christian Franke <franke@computer.org>
13799
13800 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
13801 (GRUB_ATAPI_IREASON_*): Likewise.
13802 (grub_ata_pio_write): Fix timeout error return.
13803 (grub_atapi_identify): Add grub_ata_wait () after cmd.
13804 (grub_atapi_wait_drq): New function.
13805 (grub_atapi_packet): New parameter `size'.
13806 Use grub_atapi_wait_drq () and direct write instead of
13807 grub_ata_pio_write ().
13808 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
13809 reads the number of bytes requested by the device for each DRQ
13810 assertion.
13811 (grub_atapi_write): Remove old implementation, return not
13812 implemented instead.
13813
13814 2009-01-19 Christian Franke <franke@computer.org>
13815
13816 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
13817 of 512 to calculate data size.
13818 (grub_scsi_read12): Likewise.
13819 (grub_scsi_write10): Likewise.
13820 (grub_scsi_write12): Likewise.
13821 (grub_scsi_read): Adjust size according to blocksize.
13822 Add checks for invalid blocksize and unaligned transfer.
13823
13824 2009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
13825
13826 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
13827
13828 * term/gfxterm.c (write_char): Fix background rendering for wide
13829 width glyphs.
13830
13831 2009-01-19 Robert Millan <rmh@aybabtu.com>
13832
13833 * config.guess: Update to latest version from config git.
13834 * config.sub: Likewise.
13835
13836 2009-01-17 Felix Zielcke <fzielcke@z-51.de>
13837
13838 * Makefile.in: Change font compilation to use new grub-mkfont instead
13839 of java version.
13840
13841 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
13842 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
13843 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
13844 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
13845 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
13846 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
13847 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
13848 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
13849 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
13850
13851 2009-01-16 Christian Franke <franke@computer.org>
13852
13853 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
13854 (enum grub_ata_timeout_milliseconds): New enum.
13855 (grub_ata_wait_status): Add parameter milliseconds.
13856 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
13857 recovery from timed-out commands.
13858 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
13859 return grub_errno instead of REG_ERROR.
13860 (grub_ata_pio_write): Add parameter milliseconds.
13861 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
13862 Pass milliseconds to grub_ata_wait_status () and
13863 grub_ata_pio_read ().
13864 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
13865 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
13866 grub_ata_wait_status (). Fix IDENTIFY timeout check.
13867 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
13868 It is not suitable for device detection, because DEV bit is ignored,
13869 the command may run too long, and not all devices set the signature
13870 properly.
13871 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
13872 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
13873 Fix device selection, DEV bit must be set first to address the registers
13874 of the correct device.
13875 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
13876 grub_ata_pio_read/write ().
13877 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
13878 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
13879
13880 2009-01-13 Carles Pina i Estany <carles@pina.cat>
13881
13882 * util/grub-editenv.c (main): Use fseeko(), not fseek().
13883
13884 2009-01-13 Bean <bean123ch@gmail.com>
13885
13886 * util/grub-mkfont.c (write_font): forget to remove some debug code.
13887
13888 2009-01-13 Bean <bean123ch@gmail.com>
13889
13890 * Makefile.in: (enable_grub_mkfont): New variable.
13891 (freetype_cflags): Likewise.
13892 (freetype_libs): Likewise.
13893
13894 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
13895 (grub_mkfont_SOURCES): New variable.
13896 (grub_mkfont_CFLAGS): Likewise.
13897 (grub_mkfont_LDFLAGS): Likewise.
13898
13899 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
13900 library if `--enable-grub-mkfont' is requested.
13901 (enable_grub_mkfont): New variable.
13902 (freetype_cflags): Likewise.
13903 (freetype_libs): Likewise.
13904
13905 * util/grub-mkfont.c: New file.
13906
13907 2009-01-12 Christian Franke <franke@computer.org>
13908
13909 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
13910 mode check. Fix setting of compat_use[].
13911
13912 2009-01-10 Robert Millan <rmh@aybabtu.com>
13913
13914 Update a few copyright years which we forgot to do in 2008 (only for
13915 files whose changes made in 2008 were copyright-significant)
13916
13917 * Makefile.in: Add 2008 to Copyright line.
13918 * disk/ieee1275/ofdisk.c: Likewise.
13919 * disk/efi/efidisk.c: Likewise.
13920 * kern/dl.c: Likewise.
13921 * kern/sparc64/ieee1275/init.c: Likewise.
13922 * kern/mm.c: Likewise.
13923 * kern/efi/mm.c: Likewise.
13924 * boot/i386/pc/boot.S: Likewise.
13925 * genfslist.sh: Likewise.
13926 * fs/iso9660.c: Likewise.
13927 * fs/hfs.c: Likewise.
13928 * fs/jfs.c: Likewise.
13929 * fs/minix.c: Likewise.
13930 * fs/ufs.c: Likewise.
13931 * gensymlist.sh.in: Likewise.
13932 * genkernsyms.sh.in: Likewise.
13933 * include/grub/misc.h: Likewise.
13934 * include/grub/types.h: Likewise.
13935 * include/grub/symbol.h: Likewise.
13936 * include/grub/elf.h: Likewise.
13937 * include/grub/kernel.h: Likewise.
13938 * include/grub/disk.h: Likewise.
13939 * include/grub/dl.h: Likewise.
13940 * include/grub/i386/linux.h: Likewise.
13941 * include/grub/i386/pc/biosdisk.h: Likewise.
13942 * include/grub/efi/api.h: Likewise.
13943 * include/grub/efi/pe32.h: Likewise.
13944 * include/grub/util/misc.h: Likewise.
13945 * normal/execute.c: Likewise.
13946 * normal/arg.c: Likewise.
13947 * normal/completion.c: Likewise.
13948 * normal/lexer.c: Likewise.
13949 * normal/parser.y: Likewise.
13950 * normal/misc.c: Likewise.
13951 * commands/i386/pc/vbeinfo.c: Likewise.
13952 * commands/hexdump.c: Likewise.
13953 * commands/terminal.c: Likewise.
13954 * commands/ls.c: Likewise.
13955 * commands/help.c: Likewise.
13956 * partmap/pc.c: Likewise.
13957 * loader/efi/chainloader.c: Likewise.
13958 * loader/multiboot_loader.c: Likewise.
13959 * loader/i386/pc/multiboot2.c: Likewise.
13960 * term/efi/console.c: Likewise.
13961 * term/i386/pc/serial.c: Likewise.
13962 * util/lvm.c: Likewise.
13963 * util/console.c: Likewise.
13964 * util/i386/efi/grub-mkimage.c: Likewise.
13965 * util/raid.c: Likewise.
13966
13967 2009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
13968
13969 * commands/videotest.c: Removed include to grub/machine/memory.h.
13970
13971 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
13972 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
13973 (video_mod_SOURCES): Removed.
13974 (video_mod_CFLAGS): Likewise.
13975 (video_mod_LDFLAGS): Likewise.
13976 (gfxterm_mod_SOURCES): Likewise.
13977 (gfxterm_mod_CFLAGS): Likewise.
13978 (gfxterm_mod_LDFLAGS): Likewise.
13979 (videotest_mod_SOURCES): Likewise.
13980 (videotest_mod_CFLAGS): Likewise.
13981 (videotest_mod_LDFLAGS): Likewise.
13982 (bitmap_mod_SOURCES): Likewise.
13983 (bitmap_mod_CFLAGS): Likewise.
13984 (bitmap_mod_LDFLAGS): Likewise.
13985 (tga_mod_SOURCES): Likewise.
13986 (tga_mod_CFLAGS): Likewise.
13987 (tga_mod_LDFLAGS): Likewise.
13988 (jpeg_mod_SOURCES): Likewise.
13989 (jpeg_mod_CFLAGS): Likewise.
13990 (jpeg_mod_LDFLAGS): Likewise.
13991 (png_mod_SOURCES): Likewise.
13992 (png_mod_CFLAGS): Likewise.
13993 (png_mod_LDFLAGS): Likewise.
13994
13995 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
13996 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
13997 (video_mod_SOURCES): Added.
13998 (video_mod_CFLAGS): Likewise.
13999 (video_mod_LDFLAGS): Likewise.
14000 (videotest_mod_SOURCES): Likewise.
14001 (videotest_mod_CFLAGS): Likewise.
14002 (videotest_mod_LDFLAGS): Likewise.
14003 (bitmap_mod_SOURCES): Likewise.
14004 (bitmap_mod_CFLAGS): Likewise.
14005 (bitmap_mod_LDFLAGS): Likewise.
14006 (tga_mod_SOURCES): Likewise.
14007 (tga_mod_CFLAGS): Likewise.
14008 (tga_mod_LDFLAGS): Likewise.
14009 (jpeg_mod_SOURCES): Likewise.
14010 (jpeg_mod_CFLAGS): Likewise.
14011 (jpeg_mod_LDFLAGS): Likewise.
14012 (png_mod_SOURCES): Likewise.
14013 (png_mod_CFLAGS): Likewise.
14014 (png_mod_LDFLAGS): Likewise.
14015 (gfxterm_mod_SOURCES): Likewise.
14016 (gfxterm_mod_CFLAGS): Likewise.
14017 (gfxterm_mod_LDFLAGS): Likewise.
14018
14019 * term/gfxterm.c: Removed include to grub/machine/memory.h,
14020 grub/machine/console.h.
14021
14022 2009-01-04 Jerone Young <jerone@gmail.com>
14023
14024 Make on screen instructions clearer
14025
14026 Based on patch created by Jidanni <jidanni@jidanni.org>
14027
14028 * normal/menu.c: print clearer instructions on the screen
14029
14030 2009-01-02 Colin D Bennett <colin@gibibit.com>
14031
14032 New font engine.
14033
14034 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
14035 build system and fixed gfxterm.c to work with different sized fonts.
14036
14037 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
14038
14039 * configure: Re-generated.
14040
14041 * DISTLIST: Removed font/manager.c.
14042 Added font/font.c.
14043 Added font/font_cmd.c.
14044
14045 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
14046 compilation.
14047
14048 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
14049
14050 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
14051
14052 * kern/term.c: Changed users of grub_utf8_to_ucs4.
14053
14054 * normal/menu.c: Likewise.
14055
14056 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
14057 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
14058
14059 * include/grub/font.h: Replaced with new file.
14060
14061 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
14062 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
14063 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
14064 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
14065 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
14066 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
14067 fg_red, fg_green, fg_blue, fg_alpha.
14068 (grub_video_adapter): Removed blit_glyph.
14069 (grub_video_blit_glyph): Removed.
14070
14071 * font/manager.c: Removed file.
14072
14073 * font/font.c: New file.
14074
14075 * font/font_cmd.c: Likewise.
14076
14077 * video/video.c (grub_video_blit_glyph): Removed.
14078
14079 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
14080 (grub_video_vbe_map_rgba): Likewise.
14081 (grub_video_vbe_unmap_color_int): Likewise.
14082 (grub_video_vbe_blit_glyph): Removed.
14083 (grub_video_vbe_adapter): Removed blit_glyph.
14084
14085 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
14086 (get_pixel): Likewise.
14087 (set_pixel): Likewise.
14088
14089 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
14090
14091 * term/gfxterm.c: Adapted to new font engine.
14092
14093 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
14094
14095 * term/i386/pc/vga.c: Likewise.
14096
14097 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
14098
14099 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
14100
14101 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
14102
14103 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
14104
14105 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
14106
14107 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
14108
14109 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
14110
14111 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
14112
14113 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
14114
14115 * util/grub.d/00_header.in: Changed to use new loadfont command.
14116
14117 * util/grub-mkconfig_lib.in: Changed font extension.
14118
14119 2008-12-28 Felix Zielcke <fzielcke@z-51.de>
14120
14121 * util/getroot.c (grub_util_get_grub_dev): Add support for
14122 /dev/md/dNNpNN style partitionable mdraid devices.
14123
14124 2008-12-12 Alex Smith <alex@alex-smith.me.uk>
14125
14126 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
14127 at a time limit of the PXE TFTP API correctly.
14128 (grub_pxefs_close): Likewise.
14129
14130 2008-11-29 Robert Millan <rmh@aybabtu.com>
14131
14132 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
14133 grub_ata_device_initialize() calls.
14134
14135 2008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
14136
14137 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
14138 iteration failed.
14139 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
14140
14141 2008-11-28 Robert Millan <rmh@aybabtu.com>
14142
14143 Fix build on powerpc-ieee1275. Based on patch created by
14144 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
14145 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
14146 `kern/ieee1275/mmap.c'.
14147 * include/grub/powerpc/ieee1275/memory.h: New file.
14148
14149 Provide grub-install on coreboot.
14150 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
14151 (grub_install_SOURCES): New variable.
14152 * util/i386/pc/grub-install.in: Add a few condition checks to make it
14153 usable on coreboot.
14154
14155 2008-11-25 Felix Zielcke <fzielcke@z-51.de>
14156
14157 * util/grub-fstest.c (grub_term_get_current_input): Change return type
14158 to `grub_term_input_t'.
14159 (grub_term_get_current_output): Change return type to
14160 `grub_term_output_t'.
14161
14162 2008-11-22 Robert Millan <rmh@aybabtu.com>
14163
14164 Fix breakage on coreboot due to declaration mismatch.
14165 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
14166 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
14167 grub_vga_text_cls().
14168
14169 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
14170 comments. Avoid copying one more byte than necessary (just in case).
14171
14172 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
14173 to 0x200000 (avoids trouble with some OFW implementations, and matches
14174 with the one in Yaboot).
14175 Reported by Manoel Abranches
14176
14177 2008-11-20 Robert Millan <rmh@aybabtu.com>
14178
14179 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
14180 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
14181
14182 * util/grub-mkconfig_lib.in (grub_warn): New function.
14183 (convert_system_path_to_grub_path): Use grub_warn() when issuing
14184 warnings, to obtain consistent formatting.
14185 * util/grub.d/00_header.in: Likewise.
14186 * util/update-grub_lib.in: Likewise.
14187
14188 * loader/i386/linux.c (allocate_pages): Fix a warning.
14189 Move comment text to `#error' stanza.
14190
14191 Harmonize ieee1275's grub_available_iterate() with the generic
14192 grub_machine_mmap_iterate() interface (fixes a recently-introduced
14193 build problem on i386-ieee1275):
14194 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
14195 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
14196 parameter `type'. Update all users of this function.
14197 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
14198 `kern/ieee1275/mmap.c'.
14199 * kern/ieee1275/init.c
14200 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
14201 with ...
14202 (grub_machine_mmap_iterate): ... this.
14203 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
14204 return type to `grub_err_t'. Update all implementations of this
14205 function prototype.
14206 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
14207 Likewise.
14208
14209 Add `lsmmap' command (lists firmware-provided memory map):
14210 * commands/lsmmap.c: New file.
14211 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
14212 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
14213 variables.
14214 * conf/powerpc-ieee1275.rmk: Likewise.
14215 * conf/i386-coreboot.rmk: Likewise.
14216 * conf/i386-ieee1275.rmk: Likewise.
14217
14218 2008-11-19 Robert Millan <rmh@aybabtu.com>
14219
14220 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
14221 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
14222 constraints to initrd allocation (based on code from
14223 loader/i386/pc/linux.c). Without them, initrd was allocated too high
14224 for Linux to find it.
14225
14226 2008-11-14 Robert Millan <rmh@aybabtu.com>
14227
14228 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
14229 order to cope with duplicate slashes.
14230
14231 2008-11-14 Robert Millan <rmh@aybabtu.com>
14232
14233 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
14234 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
14235 don't want to mess with lower memory, because it is used in the Linux
14236 loader.
14237
14238 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
14239 an appropriate place in lower memory, between 0x10000 and 0x90000,
14240 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
14241 is in our heap (probably as a result of it being corrupted during
14242 decompression). Add #error instance with comment to explain why this
14243 loader isn't currently usable on PC/BIOS.
14244
14245 2008-11-14 Robert Millan <rmh@aybabtu.com>
14246
14247 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
14248 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
14249
14250 2008-11-12 Robert Millan <rmh@aybabtu.com>
14251
14252 Make loader/i386/linux.c buildable on i386-pc (although disabled).
14253
14254 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
14255 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
14256 from here ...
14257 * include/grub/i386/pc/memory.h: ... to here.
14258
14259 2008-11-12 Robert Millan <rmh@aybabtu.com>
14260
14261 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
14262 split).
14263
14264 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
14265 (grub_console_cur_color, grub_console_real_putchar)
14266 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
14267 (grub_console_setcolorstate, grub_console_setcolor)
14268 (grub_console_getcolor): Move from here ...
14269 * include/grub/i386/vga_common.h: ... to here (new file).
14270
14271 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
14272 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
14273 `<grub/i386/io.h>'.
14274 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
14275 `<grub/i386/vga_common.h>'.
14276
14277 2008-11-12 Robert Millan <rmh@aybabtu.com>
14278
14279 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
14280 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
14281 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
14282 variables.
14283 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
14284 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
14285
14286 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
14287 grub_console_init() with call to grub_vga_text_init().
14288 (grub_machine_fini): Replace call to
14289 grub_console_fini() with call to grub_vga_text_fini() and
14290 grub_at_keyboard_fini().
14291
14292 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
14293 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
14294 (grub_console_setcolorstate, grub_console_setcolor)
14295 (grub_console_getcolor): New function prototypes.
14296
14297 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
14298 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
14299 (grub_vga_text_setcursor): Static-ize.
14300 (grub_vga_text_term): New structure.
14301 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
14302
14303 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
14304 (grub_console_cur_color, grub_console_standard_color)
14305 (grub_console_normal_color, grub_console_highlight_color)
14306 (map_char, grub_console_putchar, grub_console_getcharwidth)
14307 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
14308 (grub_console_getcolor): Move from here ...
14309 * term/i386/vga_common.c: ... to here (same function names).
14310
14311 2008-11-12 Robert Millan <rmh@aybabtu.com>
14312
14313 Use newly-added Multiboot support in coreboot.
14314
14315 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
14316 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
14317
14318 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
14319 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
14320 (codestart): Store the MBI in `startup_multiboot_info' when we're
14321 being loaded using Multiboot.
14322
14323 * kern/i386/coreboot/init.c (grub_machine_init): Move
14324 grub_at_keyboard_init() call to beginning of function (useful for
14325 debugging). Call grub_machine_mmap_init() before attempting to use
14326 grub_machine_mmap_iterate().
14327 (grub_lower_mem, grub_upper_mem): Move from here ...
14328 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
14329 here (new file).
14330
14331 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
14332 function prototype.
14333
14334 2008-11-12 Robert Millan <rmh@aybabtu.com>
14335
14336 Fix a regression introduced by the at_keyboard.mod split. Because
14337 some terminals are default on some platforms and non-default on
14338 others, the first terminal being registered determines which is
14339 going to be default.
14340
14341 * kern/term.c (grub_term_register_input): If this is the first
14342 terminal being registered, set it as the current one.
14343 (grub_term_register_output): Likewise.
14344
14345 * term/efi/console.c (grub_console_init): Do not call
14346 grub_term_set_current_output() or grub_term_set_current_input().
14347 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
14348 * term/i386/pc/console.c (grub_console_init): Likewise.
14349 (grub_console_fini): Do not call grub_term_set_current_input()
14350 (but leave grub_term_set_current_output() to restore text mode).
14351
14352 2008-11-10 Robert Millan <rmh@aybabtu.com>
14353
14354 * util/grub.d/00_header.in: Add backward compatibility check for
14355 versions of terminal.mod that don't understand `terminal_input' or
14356 `terminal_output'.
14357
14358 2008-11-09 Robert Millan <rmh@aybabtu.com>
14359
14360 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
14361 `terminal_input' / `terminal_output', not `terminal'.
14362
14363 2008-11-08 Robert Millan <rmh@aybabtu.com>
14364
14365 * Makefile.in (include_DATA): Fix srcdir=. assumption.
14366 (DISTCLEANFILES): Add `build_env.mk'.
14367
14368 2008-11-08 Robert Millan <rmh@aybabtu.com>
14369
14370 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
14371 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
14372 members. Update all users.
14373 * util/console.c (grub_ncurses_term): Split in ...
14374 (grub_ncurses_term_input): ... this, and ...
14375 (grub_ncurses_term_output): ... this. Update all users.
14376 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
14377
14378 2008-11-08 Robert Millan <rmh@aybabtu.com>
14379
14380 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
14381 (PKGDATA): Add $(pkgdata_SRCDIR).
14382 (pkglib_BUILDDIR): New variable.
14383 (pkgdata_SRCDIR): New variable.
14384 (build_env.mk): New target.
14385 (include_DATA): New variable.
14386 (install-local): Install $(include_DATA) files in $(includedir).
14387
14388 2008-11-07 Pavel Roskin <proski@gnu.org>
14389
14390 * gendistlist.sh: Use C locale for sorting to ensure consistent
14391 output on all systems.
14392
14393 * util/grub.d/00_header.in: Remove incorrect space before
14394 "serial".
14395
14396 2008-11-07 Robert Millan <rmh@aybabtu.com>
14397
14398 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
14399 per specification.
14400 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
14401 * loader/multiboot_loader.c (find_multi_boot2_header): New function
14402 (based on find_multi_boot1_header).
14403 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
14404 using find_multi_boot2_header(), and abort if neither Multiboot or
14405 Multiboot headers were found.
14406
14407 2008-11-07 Robert Millan <rmh@aybabtu.com>
14408
14409 Modularize at_keyboard.mod:
14410
14411 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
14412 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
14413 (at_keyboard_mod_LDFLAGS): New variables.
14414
14415 Actual terminal split:
14416
14417 * include/grub/term.h (struct grub_term): Split in ...
14418 (struct grub_term_input): ... this, and ...
14419 (struct grub_term_output): ... this. Update all users.
14420 (grub_term_set_current): Split in ...
14421 (grub_term_set_current_input): ... this, and ...
14422 (grub_term_set_current_output): ... this.
14423 (grub_term_get_current): Split in ...
14424 (grub_term_get_current_input): ... this, and ...
14425 (grub_term_get_current_output): ... this.
14426 (grub_term_register): Split in ...
14427 (grub_term_register_input): ... this, and ...
14428 (grub_term_register_output): ... this.
14429 (grub_term_unregister): Split in ...
14430 (grub_term_unregister_input): ... this, and ...
14431 (grub_term_unregister_output): ... this.
14432 (grub_term_iterate): Split in ...
14433 (grub_term_iterate_input): ... this, and ...
14434 (grub_term_iterate_output): ... this.
14435
14436 * kern/term.c (grub_term_list): Split in ...
14437 (grub_term_list_input): ... this, and ...
14438 (grub_term_list_output): ... this. Update all users.
14439 (grub_cur_term): Split in ...
14440 (grub_cur_term_input): ... this, and ...
14441 (grub_cur_term_output): ... this. Update all users.
14442 (grub_term_set_current): Split in ...
14443 (grub_term_set_current_input): ... this, and ...
14444 (grub_term_set_current_output): ... this.
14445 (grub_term_get_current): Split in ...
14446 (grub_term_get_current_input): ... this, and ...
14447 (grub_term_get_current_output): ... this.
14448 (grub_term_register): Split in ...
14449 (grub_term_register_input): ... this, and ...
14450 (grub_term_register_output): ... this.
14451 (grub_term_unregister): Split in ...
14452 (grub_term_unregister_input): ... this, and ...
14453 (grub_term_unregister_output): ... this.
14454 (grub_term_iterate): Split in ...
14455 (grub_term_iterate_input): ... this, and ...
14456 (grub_term_iterate_output): ... this.
14457
14458 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
14459 a check for input and one for output (and only attempt to get keys
14460 from user when input works).
14461
14462 * util/grub-probe.c (grub_term_get_current): Split in ...
14463 (grub_term_get_current_input): ... this, and ...
14464 (grub_term_get_current_output): ... this.
14465 * util/grub-fstest.c: Likewise.
14466 * util/i386/pc/grub-setup.c: Likewise.
14467 * util/grub-editenv.c: Likewise.
14468
14469 Portability adjustments:
14470
14471 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
14472 `term/i386/pc/at_keyboard.c'.
14473 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
14474 grub_keyboard_controller_init() (now handled by terminal .init).
14475 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
14476 grub_at_keyboard_init().
14477 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
14478 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
14479 at_keyboard.mod via input terminal interface).
14480 * include/grub/i386/coreboot/console.h: Convert into a stub for
14481 `<grub/i386/pc/console.h>'.
14482
14483 Migrate full terminals to new API:
14484
14485 * term/efi/console.c (grub_console_term): Split into ...
14486 (grub_console_term_input): ... this, and ...
14487 (grub_console_term_output): ... this. Update all users.
14488 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
14489 (grub_ofconsole_init): Split into ...
14490 (grub_ofconsole_init_input): ... this, and ...
14491 (grub_ofconsole_init_output): ... this.
14492 (grub_ofconsole_term): Split into ...
14493 (grub_ofconsole_term_input): ... this, and ...
14494 (grub_ofconsole_term_output): ... this. Update all users.
14495 * term/i386/pc/serial.c (grub_serial_term): Split into ...
14496 (grub_serial_term_input): ... this, and ...
14497 (grub_serial_term_output): ... this. Update all users.
14498 * term/i386/pc/console.c (grub_console_term): Split into ...
14499 (grub_console_term_input): ... this, and ...
14500 (grub_console_term_output): ... this. Update all users.
14501 (grub_console_term_input): Only enable it on PC/BIOS platform.
14502 (grub_console_init): Remove grub_keyboard_controller_init() call.
14503
14504 Migrate input terminals to new API:
14505
14506 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
14507 `i386' and `i386/pc' to enable build on x86_64 (this driver is
14508 i386-specific anyway).
14509 (grub_console_checkkey): Rename to ...
14510 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
14511 users.
14512 (grub_keyboard_controller_orig): New variable.
14513 (grub_console_getkey): Rename to ...
14514 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
14515 users.
14516 (grub_keyboard_controller_init): Static-ize. Save original
14517 controller value so that it can be restored ...
14518 (grub_keyboard_controller_fini): ... here (new function).
14519 (grub_at_keyboard_term): New structure.
14520 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
14521 functions.
14522
14523 Migrate output terminals to new API:
14524
14525 * term/i386/pc/vga.c (grub_vga_term): Change type to
14526 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
14527 members. Update all users.
14528 * term/gfxterm.c (grub_video_term): Change type to
14529 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
14530 members. Update all users.
14531 * include/grub/i386/pc/console.h (grub_console_checkkey)
14532 (grub_console_getkey): Do not export (no longer needed by gfxterm,
14533 etc).
14534
14535 Migrate `terminal' command and userland tools to new API:
14536
14537 * commands/terminal.c (grub_cmd_terminal): Split into ...
14538 (grub_cmd_terminal_input): ... this, and ...
14539 (grub_cmd_terminal_output): ... this.
14540 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
14541 `terminal_input' and `terminal_output'.
14542 * util/grub.d/00_header.in: Adjust `terminal' calls to new
14543 `terminal_input' / `terminal_output' API.
14544 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
14545 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
14546 provided ${GRUB_TERMINAL}, convert it).
14547
14548 2008-11-04 Robert Millan <rmh@aybabtu.com>
14549
14550 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
14551 for FreeBSD.
14552 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
14553
14554 2008-11-03 Bean <bean123ch@gmail.com>
14555
14556 * kern/elf.c (grub_elf32_load): Revert to previous code.
14557 (grub_elf64_load): Likewise.
14558
14559 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
14560
14561 2008-11-01 Robert Millan <rmh@aybabtu.com>
14562
14563 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
14564 (TARGET_CPPFLAGS): Likewise.
14565 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
14566
14567 2008-11-01 Carles Pina i Estany <carles@pina.cat>
14568
14569 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
14570
14571 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
14572
14573 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
14574 addition of objects until the code is not going to be able to fail.
14575
14576 2008-10-29 Guillem Jover <guillem.jover@nokia.com>
14577
14578 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
14579 (add a missing NULL check, and correct them by moving the pointer
14580 operations after the actual check).
14581
14582 2008-10-29 Robert Millan <rmh@aybabtu.com>
14583
14584 * util/i386/pc/grub-install.in: Handle empty string as output from
14585 make_system_path_relative_to_its_root().
14586
14587 2008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
14588
14589 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
14590 circular metadata worst case scenario. If the metadata is circular
14591 then copy the wrap in place.
14592 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
14593 project lib/format_text/layout.h
14594 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
14595
14596 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
14597
14598 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
14599
14600 2008-10-03 Felix Zielcke <fzielcke@z-51.de>
14601
14602 * util/update-grub_lib.in: Mention filename in warning message.
14603
14604 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
14605
14606 * NEWS: Update for rename of update-grub to grub-mkconfig.
14607
14608 2008-09-29 Felix Zielcke <fzielcke@z-51.de>
14609
14610 * util/update-grub_lib.in: Copy to ...
14611 * util/grub-mkconfig_lib.in: ... this. Update all users.
14612 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
14613 * util/update-grub.in: Rename to ...
14614 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
14615 option. Add `--output' option to allow users to specify the generated
14616 configuration file. Default to stdout.
14617 (update_grub_dir): Rename to ...
14618 (grub_mkconfig_dir): ... this.
14619 (grub_cfg): Default to an empty string.
14620 * conf/common.rmk (update-grub): Rename to ...
14621 (grub-mkconfig): ... this.
14622 (update-grub_lib): Copy to ...
14623 (grub-mkconfig_lib): ... this.
14624 (update-grub_SCRIPTS): Copy to ...
14625 (grub-mkconfig_SCRIPTS): ... this. Update all users.
14626 (update-grub_DATA): Rename to ...
14627 (grub-mkconfig_DATA): ... this.
14628
14629 2008-09-28 Robert Millan <rmh@aybabtu.com>
14630
14631 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
14632 to `modified'. Add the real `created' field.
14633 (grub_iso9660_uuid): Use `modified' rather than `created' for
14634 constructing the UUID.
14635
14636 2008-09-28 Felix Zielcke <fzielcke@z-51.de>
14637
14638 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
14639 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
14640
14641 2008-09-28 Bean <bean123ch@gmail.com>
14642
14643 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
14644 Thanks to Christian Franke for finding this bug.
14645
14646 2008-09-25 Robert Millan <rmh@aybabtu.com>
14647
14648 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
14649 instances of grub_util_get_disk_name() (see previous commit).
14650
14651 2008-09-25 Robert Millan <rmh@aybabtu.com>
14652
14653 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
14654 `util/i386/get_disk_name.c'.
14655 * conf/i386-efi.rmk: Likewise.
14656 * conf/x86_64-efi.rmk: Likewise.
14657 * conf/i386-coreboot.rmk: Likewise.
14658 * conf/i386-ieee1275.rmk: Likewise.
14659 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
14660 `util/ieee1275/get_disk_name.c'.
14661 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
14662 * util/ieee1275/get_disk_name.c: Remove file.
14663 * util/i386/get_disk_name.c: Remove file.
14664 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
14665 "hd%d" for device.map entries, rather than using
14666 grub_util_get_disk_name().
14667
14668 2008-09-24 Carles Pina i Estany <carles@pina.cat>
14669
14670 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
14671 warning.
14672 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
14673
14674 2008-09-24 Carles Pina i Estany <carles@pina.cat>
14675
14676 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
14677 Changed to 0x5100.
14678 (GRUB_TERM_PPAGE): Changed to 0x4900.
14679
14680 2008-09-24 Robert Millan <rmh@aybabtu.com>
14681
14682 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
14683 macros (they were i386-pc specific).
14684 * include/grub/sparc64/ieee1275/console.h: Likewise.
14685 * include/grub/efi/console.h: Likewise.
14686
14687 2008-09-22 Bean <bean123ch@gmail.com>
14688
14689 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
14690 resident and in attribute list.
14691
14692 * include/grub/ntfs.h (BMP_LEN): Removed.
14693
14694 2008-09-22 Bean <bean123ch@gmail.com>
14695
14696 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
14697 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
14698
14699 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
14700 error occurs, as grub_disk_open will call grub_disk_close, which will
14701 call p->close (scsi).
14702
14703 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
14704
14705 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
14706 (AC_PREREQ): Bumped to 2.59.
14707 (AC_TRY_COMPILE): Replace obsolete macro with ...
14708 (AC_COMPILE_IFELSE): ... this.
14709 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
14710 (AC_LINK_IFELSE): ... this.
14711
14712 2008-09-21 Felix Zielcke <fzielcke@z-51.de>
14713
14714 * autogen.sh: Add a call to `gendistlist.sh'.
14715
14716 2008-09-19 Christian Franke <franke@computer.org>
14717
14718 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
14719 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
14720 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
14721 Export __enable_execute_stack() to modules.
14722 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
14723 New function.
14724
14725 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
14726
14727 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
14728 Sort the list.
14729
14730 2008-09-09 Felix Zielcke <fzielcke@z-51.de>
14731
14732 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
14733 #include <grub/util/hostdisk.h>.
14734
14735 2008-09-08 Robert Millan <rmh@aybabtu.com>
14736
14737 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
14738 segments when their filesz is zero (grub_file_read() interprets
14739 zero-size as "read until EOF", which results in memory corruption).
14740 Use `lowest_segment' rather than 0 for calculating the current
14741 segment load address.
14742
14743 2008-09-08 Robert Millan <rmh@aybabtu.com>
14744
14745 * util/hostdisk.c (open_device): Replace a grub_util_info() call
14746 with grub_dprintf("hostdisk", ...), as it was so verbose that it
14747 clobbered useful information.
14748
14749 2008-09-08 Robert Millan <rmh@aybabtu.com>
14750
14751 * include/grub/util/biosdisk.h: Move to ...
14752 * include/grub/util/hostdisk.h: ... here. Update all users.
14753 * util/biosdisk.c: Move to ...
14754 * util/hostdisk.c: ... here. Update all users.
14755
14756 2008-09-07 Robert Millan <rmh@aybabtu.com>
14757
14758 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
14759 variables.
14760 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
14761 and length can be stored directly in the `mbi->mmap_addr' and
14762 `mbi->mmap_length' struct fields.
14763
14764 2008-09-07 Robert Millan <rmh@aybabtu.com>
14765
14766 * conf/i386.rmk: New file. Provides declaration for building
14767 `cpuid.mod'.
14768 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
14769 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
14770 variables.
14771 Include `conf/i386.mk'.
14772 * conf/i386-efi.rmk: Likewise.
14773 * conf/x86_64-efi.rmk: Likewise.
14774 * conf/i386-coreboot.rmk: Likewise.
14775 * conf/i386-ieee1275.rmk: Likewise.
14776
14777 2008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
14778
14779 Based on patch created by Colin D Bennett <colin@gibibit.com>.
14780 Adds optimization support for BGR based modes.
14781
14782 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
14783 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
14784 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
14785 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
14786 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
14787 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
14788 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
14789 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
14790 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
14791 (grub_video_i386_vbeblit_index_index): Likewise.
14792 (grub_video_i386_vbeblit_replace_directN): Added.
14793 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
14794 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
14795 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
14796 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
14797 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
14798 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
14799 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
14800 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
14801 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
14802 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
14803 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
14804 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
14805 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
14806
14807 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
14808 (grub_video_i386_vbefill_R8G8B8): Likewise.
14809 (grub_video_i386_vbefill_index): Likewise.
14810 (grub_video_i386_vbefill_direct32): Added.
14811 (grub_video_i386_vbefill_direct24): Likewise.
14812 (grub_video_i386_vbefill_direct16): Likewise.
14813 (grub_video_i386_vbefill_direct8): Likewise.
14814
14815 * include/grub/video.h (grub_video_blit_format): Removed
14816 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
14817 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
14818 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
14819 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
14820 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
14821
14822 * video/video.c (grub_video_get_blit_format): Updated to use new
14823 blit formats. Added handling for 16 bit color modes.
14824
14825 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
14826 fillers.
14827 (common_blitter): Updated to use new blitters.
14828
14829 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
14830 Removed.
14831 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
14832 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
14833 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
14834 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
14835 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
14836 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
14837 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
14838 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
14839 (grub_video_i386_vbeblit_index_index): Likewise.
14840 (grub_video_i386_vbeblit_replace_directN): Added.
14841 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
14842 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
14843 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
14844 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
14845 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
14846 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
14847 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
14848 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
14849 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
14850 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
14851 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
14852 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
14853 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
14854
14855 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
14856 (grub_video_i386_vbefill_R8G8B8): Likewise.
14857 (grub_video_i386_vbefill_index): Likewise.
14858 (grub_video_i386_vbefill_direct32): Added.
14859 (grub_video_i386_vbefill_direct24): Likewise.
14860 (grub_video_i386_vbefill_direct16): Likewise.
14861 (grub_video_i386_vbefill_direct8): Likewise.
14862
14863 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
14864 types.
14865
14866 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
14867 types.
14868
14869 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
14870 blitter types.
14871
14872 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
14873 types.
14874
14875 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
14876
14877 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
14878 RAID level 1.
14879
14880 2008-09-06 Felix Zielcke <fzielcke@z-51.de>
14881
14882 * fs/iso9660.c (grub_iso9660_date): New structure.
14883 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
14884 (grub_iso9660_uuid): New function.
14885
14886 2008-09-05 Bean <bean123ch@gmail.com>
14887
14888 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
14889
14890 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
14891 insensitive bit for names in Win32 and Win32 & DOS namespace.
14892
14893 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
14894
14895 * include/grub/types.h (LONG_MAX): Likewise.
14896
14897 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
14898
14899 * util/getroot.c: Include <config.h>.
14900 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
14901 add support for /dev/md/N devices and handle LVM double dash escaping.
14902
14903 2008-09-04 Felix Zielcke <fzielcke@z-51.de>
14904
14905 * config.guess: Update to latest version from config git.
14906 * config.sub: Likewise.
14907
14908 2008-09-03 Robert Millan <rmh@aybabtu.com>
14909
14910 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
14911 `disk->total_sectors'.
14912
14913 2008-09-01 Colin D Bennett <colin@gibibit.com>
14914
14915 * include/grub/normal.h: Fixed incorrect comment for
14916 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
14917
14918 2008-09-01 Colin D Bennett <colin@gibibit.com>
14919
14920 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
14921 values with defines.
14922
14923 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
14924 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
14925 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
14926 (GRUB_VBE_MODEATTR_COLOR): Likewise.
14927 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
14928 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
14929 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
14930 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
14931 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
14932 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
14933 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
14934 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
14935 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
14936 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
14937 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
14938 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
14939 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
14940 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
14941 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
14942
14943 2008-08-31 Robert Millan <rmh@aybabtu.com>
14944
14945 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
14946 declaration.
14947 (grub_multiboot): Fix a few warnings.
14948
14949 2008-08-31 Robert Millan <rmh@aybabtu.com>
14950
14951 * loader/i386/pc/multiboot.c: Update comment not to say that
14952 boot_device support is unimplemented.
14953
14954 2008-08-31 Robert Millan <rmh@aybabtu.com>
14955
14956 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
14957 or memory map support are unimplemented.
14958
14959 2008-08-31 Colin D Bennett <colin@gibibit.com>
14960
14961 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
14962
14963 2008-08-31 Colin D Bennett <colin@gibibit.com>
14964
14965 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
14966 total video memory in 'vbeinfo' output; show color format details for
14967 each video mode.
14968
14969 2008-08-30 Pavel Roskin <proski@gnu.org>
14970
14971 * util/genmoddep.c: Remove for real this time.
14972 * DISTLIST: Remove util/genmoddep.c.
14973
14974 2008-08-30 Robert Millan <rmh@aybabtu.com>
14975
14976 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
14977 as required by Multiboot spec (it was already 4-byte aligned, but
14978 only by chance).
14979
14980 2008-08-29 Pavel Roskin <proski@gnu.org>
14981
14982 * kern/powerpc/ieee1275/crt0.S: Rename to ...
14983 * kern/powerpc/ieee1275/startup.S: ... this.
14984 * conf/powerpc-ieee1275.rmk: Adjust for the above.
14985 * DISTLIST: Likewise.
14986
14987 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
14988 grub/cpu/kernel.h. Add start label for consistency with other
14989 platforms. Add grub_prefix immediately after start. Add jump
14990 to the code after grub_prefix.
14991 * include/grub/powerpc/kernel.h: Provide valid values for
14992 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
14993
14994 2008-08-29 Bean <bean123ch@gmail.com>
14995
14996 * configure.ac: Change host_os to cygwin for mingw.
14997 (asprintf): New check for function.
14998
14999 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
15000 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
15001
15002 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
15003 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
15004 sync, sleep and grub_util_get_disk_size for mingw.
15005
15006 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
15007 to get size in mingw.
15008 (open_device): Use flag O_BINARY if it's defined.
15009 (find_root_device): Add dummy code for mingw.
15010
15011 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
15012 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
15013 (get_scsi_disk_name): Return 0 for mingw.
15014
15015 * util/hostfs.c: #include <grub/util/misc.h>.
15016 (grub_hostfs_open): Use "rb" flag to open file, use
15017 grub_util_get_disk_size to get disk size for mingw.
15018
15019 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
15020 (asprintf): New function if HAVE_ASPRINTF is not set.
15021 (sync): New function for mingw.
15022 (sleep): Likewise.
15023 (grub_util_get_disk_size): Likewise.
15024
15025 2008-08-28 Pavel Roskin <proski@gnu.org>
15026
15027 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
15028 kern/time.c.
15029
15030 2008-08-28 Robert Millan <rmh@aybabtu.com>
15031
15032 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
15033
15034 2008-08-28 Robert Millan <rmh@aybabtu.com>
15035
15036 Change find_grub_drive() syntax so it doesn't prevent it from
15037 detecting NULL names as errors.
15038
15039 * util/biosdisk.c (find_grub_drive): Move free slot search code
15040 from here ...
15041 (find_free_slot): ... to here.
15042 (read_device_map): Use find_free_slot() to search for free slots.
15043
15044 2008-08-27 Marco Gerards <marco@gnu.org>
15045
15046 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
15047 (scsi_mod_SOURCES): New variable.
15048 (scsi_mod_CFLAGS): Likewise
15049 (scsi_mod_LDFLAGS): Likewise.
15050
15051 * disk/scsi.c: New file.
15052
15053 * include/grub/scsi.h: Likewise.
15054
15055 * include/grub/scsicmd.h: Likewise.
15056
15057 * disk/ata.c: Include <grub/scsi.h>.
15058 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
15059 instead.
15060 (grub_ata_iterate): Skip ATAPI devices.
15061 (grub_ata_open): Only handle ATAPI devices.
15062 (struct grub_atapi_read): Removed.
15063 (grub_atapi_readsector): Likewise.
15064 (grub_ata_read): No longer handle ATAPI devices.
15065 (grub_ata_write): Likewise.
15066 (grub_atapi_iterate): New function.
15067 (grub_atapi_read): Likewise.
15068 (grub_atapi_write): Likewise.
15069 (grub_atapi_open): Likewise.
15070 (grub_atapi_close): Likewise.
15071 (grub_atapi_dev): New variable.
15072 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
15073 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
15074
15075 * include/grub/disk.h (enum grub_disk_dev_id): Add
15076 `GRUB_DISK_DEVICE_SCSI_ID'.
15077
15078 2008-08-26 Robert Millan <rmh@aybabtu.com>
15079
15080 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
15081 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
15082 descriptive.
15083
15084 2008-08-23 Bean <bean123ch@gmail.com>
15085
15086 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
15087 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
15088 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
15089 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
15090 dm_nv.mod.
15091 (raid5rec_mod_SOURCES): New macro.
15092 (raid5rec_mod_CFLAGS): Likewise.
15093 (raid5rec_mod_LDFLAGS): Likewise.
15094 (raid6rec_mod_SOURCES): Likewise.
15095 (raid6rec_mod_CFLAGS): Likewise.
15096 (raid6rec_mod_LDFLAGS): Likewise.
15097 (mdraid_mod_SOURCES): Likewise.
15098 (mdraid_mod_CFLAGS): Likewise.
15099 (mdraid_mod_LDFLAGS): Likewise.
15100 (dm_nv_mod_SOURCES): Likewise.
15101 (dm_nv_mod_CFLAGS): Likewise.
15102 (dm_nv_mod_LDFLAGS): Likewise.
15103
15104 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
15105 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
15106 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
15107
15108 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
15109 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
15110
15111 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15112
15113 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
15114
15115 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15116
15117 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15118
15119 * disk/raid5_recover.c: New file.
15120
15121 * disk/raid6_recover.c: Likewise.
15122
15123 * disk/mdraid_linux.c: Likewise.
15124
15125 * disk/dmraid_nvidia.c: Likewise.
15126
15127 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
15128 ULONG_MAX.
15129
15130 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
15131 calculate the size of raid device.
15132 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
15133 different layout of raid5.
15134 (grub_raid_scan_device): Remove code specific to mdraid.
15135 (grub_raid_list): New variable.
15136 (free_array): New function.
15137 (grub_raid_register): Likewise.
15138 (grub_raid_unregister): Likewise.
15139 (grub_raid_rescan): Likewise.
15140 (GRUB_MOD_INIT): Don't iterate device here.
15141 (GRUB_MOD_FINI): Use free_array to release resource.
15142
15143 * include/grub/raid.h: Remove macro and structure specific to mdraid.
15144 (grub_raid5_recover_func_t): New function variable type.
15145 (grub_raid6_recover_func_t): Likewise.
15146 (grub_raid5_recover_func): New variable.
15147 (grub_raid6_recover_func): Likewise.
15148 (grub_raid_register): New function.
15149 (grub_raid_unregister): Likewise.
15150 (grub_raid_rescan): Likewise.
15151 (grub_raid_block_xor): Likewise.
15152
15153 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
15154 (CMD_CRC): New macro.
15155 (part): Removed.
15156 (read_file): Handle device as well as file.
15157 (cmd_crc): New function.
15158 (fstest): Handle multiple disks.
15159 (options): Remove part, raw and long, add root and diskcount.
15160 (usage): Add crc, remove -p, -r, -l, add -r and -c.
15161 (main): Find the first non option entry and ignore subsequent options,
15162 add handling for the new options, support multiple disks.
15163
15164 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
15165
15166 2008-08-23 Bean <bean123ch@gmail.com>
15167
15168 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
15169
15170 * genfslist.sh: Ignore kernel.mod.
15171
15172 * genpartmaplist.sh: Likewise.
15173
15174 2008-08-23 Robert Millan <rmh@aybabtu.com>
15175
15176 * util/getroot.c (find_root_device): Skip anything that starts with
15177 a dot, not just directories. This avoids things like /dev/.tmp.md0.
15178
15179 2008-08-22 Felix Zielcke <fzielcke@z-51.de>
15180
15181 * util/update-grub.in (GRUB_GFXMODE): Export variable.
15182 * util/grub.d/00_header.in: Allow the administrator to change default
15183 gfxmode via ${GRUB_GFXMODE}.
15184
15185 2008-08-21 Felix Zielcke <fzielcke@z-51.de>
15186
15187 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
15188
15189 2008-08-21 Robert Millan <rmh@aybabtu.com>
15190
15191 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
15192 loader.
15193 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
15194 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
15195
15196 2008-08-20 Carles Pina i Estany <carles@pina.cat>
15197
15198 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
15199 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
15200
15201 2008-08-19 Robert Millan <rmh@aybabtu.com>
15202
15203 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
15204 (struct grub_virtual_screen): Remove `cursor_color'.
15205 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
15206 initialization.
15207 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
15208
15209 2008-08-18 Robert Millan <rmh@aybabtu.com>
15210
15211 Unify (identical) linux_normal.c files.
15212 * loader/i386/efi/linux_normal.c: Move from here ...
15213 * loader/linux_normal.c: ... to here. Update all users.
15214 * loader/i386/pc/linux_normal.c: Delete. Update all users.
15215 * loader/i386/ieee1275/linux_normal.c: Likewise.
15216
15217 2008-08-18 Robert Millan <rmh@aybabtu.com>
15218
15219 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
15220 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
15221 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
15222 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
15223 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
15224 New macros.
15225 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
15226 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
15227 (GRUB_LINUX_CL_END_OFFSET): ... to here.
15228 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
15229 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
15230 (GRUB_EFI_CL_END_OFFSET): Rename to ...
15231 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
15232 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
15233 Initialize `params->video_cursor_x' and `params->video_cursor_y'
15234 portably using grub_getxy().
15235 Replace `-EFI' with `-bzImage' in boot message.
15236
15237 2008-08-17 Robert Millan <rmh@aybabtu.com>
15238
15239 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
15240
15241 2008-08-17 Robert Millan <rmh@aybabtu.com>
15242
15243 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
15244
15245 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
15246 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
15247 (grub_machine_mmap_iterate): New function declaration.
15248 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
15249 structure.
15250 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
15251 macros.
15252
15253 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
15254 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
15255 Move e820 parsing from here ...
15256 * kern/i386/pc/mmap.c: New file.
15257 (grub_machine_mmap_iterate): ... to here.
15258
15259 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
15260 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
15261 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
15262 (grub_available_iterate): Redeclare to return `void', and redeclare
15263 its hook to use grub_uint64_t as addr and size parameters, and rename
15264 to ...
15265 (grub_machine_mmap_iterate): ... this. Update all users.
15266
15267 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
15268 to make it more readable. Rename to ...
15269 (grub_machine_mmap_iterate): ... this.
15270
15271 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
15272 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
15273 (grub_multiboot): Allocate an extra region after the payload, and fill
15274 it with a Multiboot memory map. Adjust a.out loader to calculate size
15275 with the extra space.
15276 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
15277 with the extra space.
15278
15279 2008-08-17 Carles Pina i Estany <carles@pina.cat>
15280
15281 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
15282
15283 2008-08-17 Felix Zielcke <fzielcke@z-51.de>
15284
15285 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
15286 mdate-sh to the list `find' searches for.
15287 * DISTLIST: Regenerated.
15288
15289 2008-08-16 Felix Zielcke <fzielcke@z-51.de>
15290
15291 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
15292 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
15293 genmoddep.awk, gensymlist.sh.in.
15294 (DISTDIRS): Add bus, docs, hook, lib.
15295 * DISTLIST: Regenerated.
15296 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
15297
15298 2008-08-16 Robert Millan <rmh@aybabtu.com>
15299
15300 * disk/raid.c (grub_raid_init): Handle/report errors set by
15301 grub_device_iterate().
15302 * disk/lvm.c (grub_lvm_init): Likewise.
15303
15304 2008-08-15 Bean <bean123ch@gmail.com>
15305
15306 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
15307 and datehook.mod.
15308 (datetime_mod_SOURCES): New macro.
15309 (datetime_mod_CFLAGS): Likewise.
15310 (datetime_mod_LDFLAGS): Likewise.
15311 (date_mod_SOURCES): Likewise.
15312 (date_mod_CFLAGS): Likewise.
15313 (date_mod_LDFLAGS): Likewise.
15314 (datehook_mod_SOURCES): Likewise.
15315 (datehook_mod_CFLAGS): Likewise.
15316 (datehook_mod_LDFLAGS): Likewise.
15317
15318 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
15319 and datehook.mod.
15320 (datetime_mod_SOURCES): New macro.
15321 (datetime_mod_CFLAGS): Likewise.
15322 (datetime_mod_LDFLAGS): Likewise.
15323 (date_mod_SOURCES): Likewise.
15324 (date_mod_CFLAGS): Likewise.
15325 (date_mod_LDFLAGS): Likewise.
15326 (datehook_mod_SOURCES): Likewise.
15327 (datehook_mod_CFLAGS): Likewise.
15328 (datehook_mod_LDFLAGS): Likewise.
15329
15330 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
15331 and datehook.mod.
15332 (datetime_mod_SOURCES): New macro.
15333 (datetime_mod_CFLAGS): Likewise.
15334 (datetime_mod_LDFLAGS): Likewise.
15335 (date_mod_SOURCES): Likewise.
15336 (date_mod_CFLAGS): Likewise.
15337 (date_mod_LDFLAGS): Likewise.
15338 (datehook_mod_SOURCES): Likewise.
15339 (datehook_mod_CFLAGS): Likewise.
15340 (datehook_mod_LDFLAGS): Likewise.
15341
15342 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
15343 and datehook.mod.
15344 (datetime_mod_SOURCES): New macro.
15345 (datetime_mod_CFLAGS): Likewise.
15346 (datetime_mod_LDFLAGS): Likewise.
15347 (date_mod_SOURCES): Likewise.
15348 (date_mod_CFLAGS): Likewise.
15349 (date_mod_LDFLAGS): Likewise.
15350 (datehook_mod_SOURCES): Likewise.
15351 (datehook_mod_CFLAGS): Likewise.
15352 (datehook_mod_LDFLAGS): Likewise.
15353
15354 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
15355 and datehook.mod.
15356 (datetime_mod_SOURCES): New macro.
15357 (datetime_mod_CFLAGS): Likewise.
15358 (datetime_mod_LDFLAGS): Likewise.
15359 (date_mod_SOURCES): Likewise.
15360 (date_mod_CFLAGS): Likewise.
15361 (date_mod_LDFLAGS): Likewise.
15362 (datehook_mod_SOURCES): Likewise.
15363 (datehook_mod_CFLAGS): Likewise.
15364 (datehook_mod_LDFLAGS): Likewise.
15365
15366 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
15367
15368 * commands/date.c: New file.
15369
15370 * hook/datehook.c: Likewise.
15371
15372 * include/grub/lib/datetime.h: Likewise.
15373
15374 * include/grub/i386/cmos.h: Likewise.
15375
15376 * lib/datetime.c: Likewise.
15377
15378 * lib/i386/datetime.c: Likewise.
15379
15380 * lib/efi/datetime.c: Likewise.
15381
15382 2008-08-14 Robert Millan <rmh@aybabtu.com>
15383
15384 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
15385 (grub_mkelfimage_SOURCES): New variable.
15386 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
15387
15388 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
15389 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
15390 * conf/powerpc-ieee1275.rmk: Likewise.
15391 * conf/i386-ieee1275.rmk: Likewise.
15392
15393 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
15394 * kern/i386/coreboot/init.c: Likewise.
15395
15396 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
15397 with `<grub/cpu/kernel.h>'.
15398 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
15399 to ...
15400 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
15401 * kern/i386/coreboot/startup.S: Likewise.
15402
15403 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
15404 (GRUB_MOD_GAP): Remove.
15405 * include/grub/powerpc/kernel.h: New file.
15406 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
15407 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
15408 * include/grub/i386/kernel.h: New file.
15409 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
15410 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
15411 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
15412
15413 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
15414 `grub-mkelfimage'.
15415 Use --directory when invoking grub_mkimage.
15416
15417 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
15418 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
15419 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
15420 and GRUB_KERNEL_CPU_PREFIX.
15421
15422 2008-08-14 Felix Zielcke <fzielcke@z-51.de>
15423
15424 * include/grub/err.h (grub_err_printf): New function prototype.
15425 * util/misc.c (grub_err_printf): New function.
15426 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
15427 grub_printf.
15428 * kern/err.c (grub_print_error): Use grub_err_printf.
15429
15430 2008-08-13 Robert Millan <rmh@aybabtu.com>
15431
15432 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
15433
15434 2008-08-13 Robert Millan <rmh@aybabtu.com>
15435
15436 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
15437 boot entry.
15438
15439 2008-08-12 Robert Millan <rmh@aybabtu.com>
15440
15441 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
15442 of the relocation code from here ...
15443 (grub_multiboot): ... to here.
15444 (forward_relocator, backward_relocator): Move from here ...
15445 * kern/i386/loader.S (grub_multiboot_forward_relocator)
15446 (grub_multiboot_backward_relocator): ... to here.
15447 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
15448 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
15449 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
15450 (grub_multiboot_forward_relocator_end)
15451 (grub_multiboot_backward_relocator)
15452 (grub_multiboot_backward_relocator_end): New variables.
15453
15454 2008-08-12 Bean <bean123ch@gmail.com>
15455
15456 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
15457
15458 2008-08-11 Robert Millan <rmh@aybabtu.com>
15459
15460 * kern/i386/linuxbios/startup.S: Move from here ...
15461 * kern/i386/coreboot/startup.S: ... to here.
15462
15463 * kern/i386/linuxbios/init.c: Move from here ...
15464 * kern/i386/coreboot/init.c: ... to here.
15465
15466 * kern/i386/linuxbios/table.c: Move from here ...
15467 * kern/i386/coreboot/mmap.c: ... to here.
15468
15469 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
15470
15471 2008-08-11 Robert Millan <rmh@aybabtu.com>
15472
15473 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
15474 errors. Leave it to the upper layer to handle them.
15475
15476 2008-08-09 Christian Franke <franke@computer.org>
15477
15478 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
15479 * conf/common.rmk: Install `grub-pe2elf' only if requested.
15480 Install `grub.d/10_windows' only on Cygwin.
15481 * configure.ac: Add subst of `target_os'.
15482 Check `target_os' also before setting TARGET_OBJ2ELF.
15483 Add `--enable-grub-pe2elf'.
15484
15485 2008-08-08 Robert Millan <rmh@aybabtu.com>
15486
15487 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
15488 (grub_last_time): Change type to grub_uint64_t.
15489 (grub_disk_open): Migrate code from to using grub_get_time_ms().
15490 (grub_disk_close): Likewise.
15491
15492 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
15493 (run_menu): Migrate code from to using grub_get_time_ms().
15494
15495 * util/misc.c (grub_get_time_ms): New function.
15496
15497 2008-08-08 Marco Gerards <marco@gnu.org>
15498
15499 * disk/ata.c (grub_ata_regget): Change return type to
15500 `grub_uint8_t'.
15501 (grub_ata_regget2): Likewise.
15502 (grub_ata_wait_status): New function.
15503 (grub_ata_wait_busy): Removed function, updated all users to use
15504 `grub_ata_wait_status'.
15505 (grub_ata_wait_drq): Likewise.
15506 (grub_ata_cmd): New function.
15507 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
15508 error handling.
15509 (grub_ata_pio_write): Add error handling.
15510 (grub_atapi_identify): Likewise.
15511 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
15512 handling.
15513 (grub_ata_identify): Use `grub_ata_cmd' and improve error
15514 handling. Actually use the detected registers. Reorder the
15515 detection logic such that it is easier to read.
15516 (grub_ata_pciinit): Do not assign the same ID to each controller.
15517 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
15518 handling.
15519 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
15520
15521 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
15522
15523 2008-08-08 Marco Gerards <marco@gnu.org>
15524
15525 * NEWS: Update.
15526
15527 2008-08-07 Bean <bean123ch@gmail.com>
15528
15529 * include/grub/x86_64/pci.h: New file.
15530
15531 2008-08-07 Christian Franke <franke@computer.org>
15532
15533 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
15534 (TIMER2_GATE): Likewise.
15535 (grub_pit_wait): Add enable/disable of the timer2 gate
15536 bit of port 0x61. This fixes a possible infinite loop.
15537
15538 2008-08-07 Bean <bean123ch@gmail.com>
15539
15540 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
15541 kern/i386/tsc.c and kern/i386/pit.c.
15542
15543 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
15544 x86_64 platform.
15545
15546 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
15547 <grub/i386/tsc.h>.
15548
15549 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
15550
15551 2008-08-07 Bean <bean123ch@gmail.com>
15552
15553 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
15554
15555 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
15556
15557 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
15558 multiple inclusion. Add #include <grub/types.h>.
15559
15560 2008-08-06 Christian Franke <franke@computer.org>
15561
15562 * conf/common.rmk: Build and install `10_windows'.
15563 * util/grub.d/10_windows.in: New script.
15564
15565 2008-08-06 Pavel Roskin <proski@gnu.org>
15566
15567 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
15568
15569 2008-08-06 Robert Millan <rmh@aybabtu.com>
15570
15571 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
15572 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
15573
15574 2008-08-06 Bean <bean123ch@gmail.com>
15575
15576 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
15577 (grub_pxefs_fs_int): Remove dummy definition.
15578 (grub_pxefs_open): Use data->block_size to store the current block
15579 size setting.
15580 (grub_pxefs_read): Use block size stored in data->block_size. As the
15581 value of grub_pxe_blksize can be changed after the file is opened.
15582
15583 2008-08-06 Bean <bean123ch@gmail.com>
15584
15585 * fs/i386/pc/pxe.c (curr_file): new variable.
15586 (grub_pxefs_open): Simply the handling of pxe file system. Don't
15587 require the dummy internal file system anymore.
15588 (grub_pxefs_read): Removed.
15589 (grub_pxefs_close): Likewise.
15590 (grub_pxefs_fs_int): Likewise.
15591 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
15592 connection when we switch file.
15593 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
15594
15595 2008-08-06 Robert Millan <rmh@aybabtu.com>
15596
15597 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
15598 `halt.mod'.
15599 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
15600 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
15601
15602 * kern/i386/halt.c: New file.
15603 * kern/i386/reboot.c: Likewise.
15604 * include/grub/i386/reboot.h: Likewise.
15605 * include/grub/i386/halt.h: Likewise.
15606
15607 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
15608 Include `<grub/cpu/halt.h>'.
15609 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
15610 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
15611
15612 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
15613 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
15614 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
15615 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
15616 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
15617 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
15618 from here ...
15619 * include/grub/i386/at_keyboard.h: ... to here.
15620
15621 2008-08-05 Robert Millan <rmh@aybabtu.com>
15622
15623 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
15624 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
15625 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
15626 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
15627 `kern/generic/millisleep.c'.
15628
15629 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
15630 instead of grub_get_rtc().
15631 (grub_tsc_init): Initialize `tsc_boot_time'.
15632
15633 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
15634 (grub_machine_init): Use grub_tsc_init() rather than
15635 installing an RTC-based handler via grub_install_get_time_ms().
15636
15637 * kern/i386/pit.c: New file.
15638 * include/grub/i386/pit.h: Likewise.
15639
15640 2008-08-05 Bean <bean123ch@gmail.com>
15641
15642 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
15643
15644 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
15645 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
15646 (pxe_mod_SOURCES): New macro.
15647 (pxe_mod_CFLAGS): Likewise.
15648 (pxe_mod_LDFLAGS): Likewise.
15649 (pxecmd_mod_SOURCES): Likewise.
15650 (pxecmd_mod_CFLAGS): Likewise.
15651 (pxecmd_mod_LDFLAGS): Likewise.
15652
15653 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
15654 (grub_pxe_call): Likewise.
15655
15656 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
15657
15658 * commands/i386/pc/pxecmd.c: New file.
15659
15660 * fs/i386/pc/pxe.c: Likewise.
15661
15662 * include/grub/i386/pc/pxe.h: Likewise.
15663
15664 2008-08-05 Bean <bean123ch@gmail.com>
15665
15666 * util/console.c (grub_console_cur_color): New variable.
15667 (grub_console_standard_color): Likewise.
15668 (grub_console_normal_color): Likewise.
15669 (grub_console_highlight_color): Likewise.
15670 (color_map): Likewise.
15671 (use_color): Likewise.
15672 (NUM_COLORS): New macro.
15673 (grub_ncurses_setcolorstate): Handle color properly.
15674 (grub_ncurses_setcolor): Don't change color here, just remember the
15675 settings, color will be set in grub_ncurses_setcolorstate.
15676 (grub_ncurses_getcolor): New function.
15677 (grub_ncurses_init): Initialize color pairs.
15678 (grub_ncurses_term): New member grub_ncurses_getcolor.
15679
15680 2008-08-05 Colin D Bennett <colin@gibibit.com>
15681
15682 High resolution timer support. Implemented for x86 CPUs using TSC.
15683 Extracted generic grub_millisleep() so it's linked in only as needed.
15684 This requires a Pentium compatible CPU; if the RDTSC instruction is
15685 not supported, then it falls back on the generic grub_get_time_ms()
15686 implementation that uses the machine's RTC.
15687
15688 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
15689 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
15690 `kern/generic/millisleep.c'.
15691
15692 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
15693 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
15694
15695 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
15696 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
15697
15698 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
15699
15700 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
15701 `kern/generic/millisleep.c'.
15702
15703 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
15704
15705 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
15706
15707 * kern/generic/rtc_get_time_ms.c: New file.
15708
15709 * kern/generic/millisleep.c: New file.
15710
15711 * kern/misc.c: Don't include
15712 <kern/time.h> anymore.
15713 (grub_millisleep_generic): Removed.
15714
15715 * commands/sleep.c (grub_interruptible_millisleep): Uses
15716 grub_get_time_ms() instead of grub_get_rtc().
15717
15718 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
15719 function.
15720 (grub_cpu_is_cpuid_supported): New inline function.
15721 (grub_cpu_is_tsc_supported): New inline function.
15722 (grub_tsc_init): New function prototype.
15723 (grub_tsc_get_time_ms): New function prototype.
15724
15725 * kern/i386/tsc.c (grub_get_time_ms): New file.
15726
15727 * include/grub/time.h: Include <grub/types.h.
15728 (grub_millisleep_generic): Removed.
15729 (grub_get_time_ms): New prototype.
15730 (grub_install_get_time_ms): New prototype.
15731 (grub_rtc_get_time_ms): New prototype.
15732
15733 * kern/time.c (grub_get_time_ms): New function.
15734 (grub_install_get_time_ms): New function.
15735
15736 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
15737 <grub/time.h> anymore.
15738 (grub_millisleep): Removed.
15739 (grub_machine_init): Call grub_tsc_init.
15740
15741 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
15742 get_time_ms() implementation.
15743
15744 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
15745 (ieee1275_get_time_ms): New function.
15746 (grub_machine_init): Install get_time_ms() implementation.
15747
15748 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
15749 (grub_machine_init): Call grub_tsc_init().
15750 (grub_millisleep): Removed.
15751
15752 * kern/ieee1275/init.c (grub_millisleep): Removed.
15753 (grub_machine_init): Install ieee1275_get_time_ms()
15754 implementation.
15755 (ieee1275_get_time_ms): New function.
15756 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
15757 real work.
15758
15759 2008-08-05 Marco Gerards <marco@gnu.org>
15760
15761 * disk/ata.c: Include <grub/pci.h>.
15762 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
15763 (grub_ata_initialize): Rewritten.
15764 (grub_ata_device_initialize): New function.
15765
15766 2008-08-04 Pavel Roskin <proski@gnu.org>
15767
15768 * kern/main.c: Include grub/mm.h.
15769
15770 2008-08-04 Robert Millan <rmh@aybabtu.com>
15771
15772 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
15773 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
15774 corruption problem).
15775
15776 2008-08-04 Robert Millan <rmh@aybabtu.com>
15777
15778 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
15779 warnings introduced in my last commit.
15780
15781 2008-08-03 Robert Millan <rmh@aybabtu.com>
15782
15783 Make PCI available on all i386 architectures.
15784
15785 * include/grub/i386/pc/pci.h: Move from here ...
15786 * include/grub/i386/pci.h: ... to here.
15787
15788 * include/grub/i386/pc/pci.h: Remove.
15789 * include/grub/i386/efi/pci.h: Remove.
15790 * include/grub/x86_64/efi/pci.h: Remove.
15791
15792 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
15793 `<grub/cpu/pci.h>'.
15794
15795 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
15796 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
15797 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
15798
15799 * conf/i386-ieee1275.rmk: Likewise.
15800
15801 2008-08-03 Robert Millan <rmh@aybabtu.com>
15802
15803 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
15804 (grub_console_setcursor): Make it possible to set cursor off.
15805
15806 2008-08-03 Robert Millan <rmh@aybabtu.com>
15807
15808 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
15809 of modules instead of assuming which platform provides what.
15810 * util/update-grub.in: Likewise.
15811
15812 2008-08-03 Robert Millan <rmh@aybabtu.com>
15813
15814 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
15815 instead of `grub_install_dos_part' to determine whether a drive needs
15816 to be prepended to prefix (`grub_install_dos_part' is not reliable,
15817 because it can be overridden when loading GRUB via Multiboot).
15818
15819 2008-08-02 Robert Millan <rmh@aybabtu.com>
15820
15821 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
15822
15823 2008-08-02 Robert Millan <rmh@aybabtu.com>
15824
15825 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
15826 of informational grub_dprintf() calls.
15827
15828 2008-08-02 Robert Millan <rmh@aybabtu.com>
15829
15830 * disk/memdisk.c (memdisk_size): Don't initialize.
15831 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
15832
15833 * include/grub/i386/pc/kernel.h
15834 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
15835 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
15836 (grub_memdisk_image_size, grub_arch_memdisk_addr)
15837 (grub_arch_memdisk_size): Remove.
15838
15839 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
15840 field (was only used to transfer a constant). Add `type' field to
15841 support multiple module types.
15842 (grub_module_iterate): New function.
15843
15844 * kern/device.c (grub_device_open): Do not hide error messages
15845 when grub_disk_open() fails. Use grub_print_error() instead.
15846
15847 * kern/i386/pc/init.c (grub_arch_modules_addr)
15848 (grub_arch_memdisk_size): Remove functions.
15849 (grub_arch_modules_addr): Return the module address in high memory
15850 (now that it isn't copied anymore).
15851
15852 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
15853 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
15854 decompression routine (grub_total_module_size already includes that
15855 now). Don't copy modules back to low memory.
15856
15857 * kern/main.c: Include `<grub/mm.h>'.
15858 (grub_load_modules): Split out (and use) ...
15859 (grub_module_iterate): ... this function, which iterates through
15860 module objects and runs a hook.
15861 Comment out grub_mm_init_region() call, as it would cause non-ELF
15862 modules to be overwritten.
15863
15864 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
15865 the memdisk image in its own region, make it part of the module list.
15866 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
15867 (main): Parse --memdisk|-m option, and pass user-provided path as
15868 parameter to generate_image().
15869 (add_segments): Pass `memdisk_path' down to load_modules().
15870 (load_modules): Embed memdisk image in module section when requested.
15871 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
15872 `header.type' instead of `header.offset'.
15873
15874 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
15875 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
15876 (memdisk_mod_LDFLAGS): New variables.
15877 * conf/i386-coreboot.rmk: Likewise.
15878 * conf/i386-ieee1275.rmk: Likewise.
15879
15880 2008-08-02 Robert Millan <rmh@aybabtu.com>
15881
15882 * loader/i386/pc/multiboot.c (playground, forward_relocator)
15883 (backward_relocator): New variables. Used to allocate and relocate
15884 the payload, respectively.
15885 (grub_multiboot_load_elf32): Load into heap instead of requested
15886 address, install the appropriate relocator code in each bound of
15887 the payload, and set the entry point such that
15888 grub_multiboot_real_boot() will jump to one of them.
15889
15890 * kern/i386/loader.S (grub_multiboot_payload_size)
15891 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
15892 (grub_multiboot_payload_entry_offset): New variables.
15893 (grub_multiboot_real_boot): Set cpu context to what the relocator
15894 expects, and jump to the relocator instead of the payload.
15895
15896 * include/grub/i386/loader.h (grub_multiboot_payload_size)
15897 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
15898 (grub_multiboot_payload_entry_offset): Export.
15899
15900 2008-08-01 Bean <bean123ch@gmail.com>
15901
15902 * normal/menu_entry.c (editor_getline): Don't return the original
15903 string as result, as it will be released by lexer once it has done
15904 using it.
15905
15906 2008-08-01 Robert Millan <rmh@aybabtu.com>
15907
15908 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
15909 within menuentries, not before them.
15910 util/grub.d/10_hurd.in: Likewise.
15911
15912 2008-08-01 Bean <bean123ch@gmail.com>
15913
15914 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
15915 (bufio_mod_SOURCES): New macro.
15916 (bufio_mod_CFLAGS): Likewise.
15917 (bufio_mod_LDFLAGS): Likewise.
15918
15919 * include/grub/bufio.h: New file.
15920
15921 * io/bufio.c: Likewise.
15922
15923 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
15924 (grub_video_reader_png): Use grub_buffile_open to open file.
15925
15926 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
15927 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
15928
15929 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
15930 (grub_video_reader_tga): Use grub_buffile_open to open file.
15931
15932 * font/manager.c: Include <grub/bufio.h>.
15933 (add_font): Use grub_buffile_open to open file.
15934
15935 2008-07-31 Robert Millan <rmh@aybabtu.com>
15936
15937 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
15938 ELF segments, use a macro for arbitrarily accessing any of them instead
15939 of preparing a pointer that allows access to one at a time.
15940 (grub_multiboot_load_elf64): Likewise.
15941
15942 2008-07-31 Bean <bean123ch@gmail.com>
15943
15944 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
15945 GRUB_KERNEL_MACHINE_DATA_END.
15946
15947 2008-07-30 Robert Millan <rmh@aybabtu.com>
15948
15949 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
15950 Increase from 0x50 to 0x60.
15951 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
15952 use UUIDs to identify the root drive for them. If that's not
15953 possible, abort.
15954 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
15955 check, for cross-disk installs.
15956
15957 2008-07-30 Robert Millan <rmh@aybabtu.com>
15958
15959 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
15960 is non-empty, use it to set the `prefix' environment variable instead
15961 of the usual approach.
15962 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
15963 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
15964 environment variable instead of dummy make_install_device().
15965
15966 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
15967 (start): Insert a data section, with `grub_prefix' variable.
15968 * kern/i386/linuxbios/startup.S: Likewise.
15969
15970 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
15971 New variable reference.
15972 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
15973 New macro. Defines offset of `grub_prefix' within startup.S (relative
15974 to `start').
15975 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
15976 section within startup.S (relative to `start').
15977 * include/grub/i386/coreboot/kernel.h: Likewise.
15978
15979 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
15980 Overwrite grub_prefix with its contents, at the beginning of the
15981 first segment.
15982 (main): Understand -p|--prefix.
15983
15984 2008-07-30 Robert Millan <rmh@aybabtu.com>
15985
15986 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
15987
15988 2008-07-30 Robert Millan <rmh@aybabtu.com>
15989
15990 * term/i386/pc/vga_text.c (grub_console_cls): Use
15991 grub_console_gotoxy() to go back to beginning of the screen.
15992 Found by Patrick Georgi <patrick.georgi@coresystems.de>
15993
15994 2008-07-29 Christian Franke <franke@computer.org>
15995
15996 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
15997 Add conversion of emulated mount points on Cygwin.
15998
15999 2008-07-29 Christian Franke <franke@computer.org>
16000
16001 * util/update-grub.in: Add a check for admin
16002 group on Cygwin.
16003 Remove old `grub.cfg.new' before creation.
16004 Add `-f' to `mv' to handle the different filesystem
16005 semantics of Windows.
16006
16007 2008-07-29 Bean <bean123ch@gmail.com>
16008
16009 * normal/main.c (get_line): Fix buffer overflow bug.
16010
16011 2008-07-28 Robert Millan <rmh@aybabtu.com>
16012
16013 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
16014 (struct grub_apple_header): New struct. Describes the layout of
16015 the partmap header.
16016 (apple_partition_map_iterate): Check the header magic as well as the
16017 partition magic (which was already being checked).
16018
16019 2008-07-28 Pavel Roskin <proski@gnu.org>
16020
16021 * genmk.rb: Add a warning to the beginning of the output that
16022 it's a generated file and should not be edited.
16023
16024 2008-07-28 Robert Millan <rmh@aybabtu.com>
16025
16026 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
16027 with the same number are found, just use issue a warning with
16028 grub_dprintf(), as this error has been reported to be non-fatal.
16029
16030 2008-07-27 Robert Millan <rmh@aybabtu.com>
16031
16032 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
16033 information.
16034
16035 2008-07-27 Bean <bean123ch@gmail.com>
16036
16037 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
16038 (grub_fat_find_dir): Ignore case when comparing filename.
16039
16040 2008-07-27 Bean <bean123ch@gmail.com>
16041
16042 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
16043 smallino, as it's more descriptive, and i8count can be confused with
16044 the other field count.
16045 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
16046 inode type.
16047
16048 2008-07-27 Bean <bean123ch@gmail.com>
16049
16050 * commands/crc.c: New file.
16051
16052 * lib/crc.c: Likewise.
16053
16054 * include/grub/lib/crc.h: Likewise.
16055
16056 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
16057
16058 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
16059 (hexdump): Move this function to ...
16060
16061 * lib/hexdump.c: ... here.
16062
16063 * include/grub/hexdump.h: Renamed to ...
16064
16065 * include/grub/lib/hexdump.h: ... this.
16066
16067 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
16068
16069 * util/grub-editenv.c: Likewise.
16070
16071 * include/envblk.h: Renamed to ...
16072
16073 * include/lib/envblk.h: ... this.
16074
16075 * util/envblk.c: Renamed to ...
16076
16077 * lib/envblk.c: ... this.
16078
16079 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
16080 lib/hexdump.c.
16081 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
16082 (pkglib_MODULES): Add crc.mod.
16083 (hexdump_mod_SOURCES): Add lib/hexdump.c.
16084 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
16085 (crc_mod_SOURCES): New macro.
16086 (crc_mod_CFLAGS): Likewise.
16087 (crc_mod_LDFLAGS): Likewise.
16088
16089 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
16090
16091 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16092
16093 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16094
16095 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16096
16097 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
16098
16099 2008-07-27 Felix Zielcke <fzielcke@z-51.de>
16100
16101 * commands/help.c: Include <grub/term.h>.
16102 (TERM_WIDTH): Removed. Updated all users.
16103
16104 2008-07-27 Pavel Roskin <proski@gnu.org>
16105
16106 * util/getroot.c (find_root_device): Rephrase a comment to avoid
16107 spurious warnings about a comment within a comment.
16108
16109 2008-07-25 Robert Millan <rmh@aybabtu.com>
16110
16111 * util/getroot.c (find_root_device): Skip devices that match
16112 /dev/dm-[0-9]. This lets the real device be found for any type of
16113 abstraction (LVM, EVMS, RAID..).
16114 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
16115 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
16116 device is found first, find_root_device() will now skip it.
16117
16118 2008-07-24 Pavel Roskin <proski@gnu.org>
16119
16120 * include/grub/types.h: Use __builtin_bswap32() and
16121 __builtin_bswap64() with gcc 4.3 and newer.
16122
16123 2008-07-24 Christian Franke <franke@computer.org>
16124
16125 * util/i386/pc/grub-install.in: If `--debug' is specified,
16126 pass `--verbose' to grub-setup.
16127 Abort script if make_system_path_relative_to_its_root() fails.
16128
16129 2008-07-24 Bean <bean123ch@gmail.com>
16130
16131 * configure.ac: Fixed a bug caused by the previous cygwin patch,
16132 variable `target_platform' should be `platform'.
16133
16134 2008-07-24 Bean <bean123ch@gmail.com>
16135
16136 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
16137 (grub_png_init_fixed_block): New function.
16138 (grub_png_decode_image_data): Handle fixed huffman code compression.
16139
16140 2008-07-24 Bean <bean123ch@gmail.com>
16141
16142 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
16143 (grub_pe2elf_SOURCES): New macro.
16144 (CLEANFILES): Add grub-pe2elf.
16145
16146 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
16147 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
16148 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
16149 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
16150 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
16151 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
16152 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
16153 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
16154 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
16155 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
16156 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
16157 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
16158 (GRUB_PE32_DT_FUNCTION): Likewise.
16159 (GRUB_PE32_REL_I386_DIR32): Likewise.
16160 (GRUB_PE32_REL_I386_REL32): Likewise.
16161 (grub_pe32_symbol): New structure.
16162 (grub_pe32_reloc): Likewise.
16163
16164 * util/grub-pe2elf.c: New file.
16165
16166 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
16167 start symbol in non pc platform.
16168
16169 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
16170
16171 The following patches are from Christian Franke.
16172
16173 * include/grub/dl.h: Remove .previous, gas supports this only
16174 for ELF format.
16175
16176 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
16177 Remove .type, gas supports this only for ELF format.
16178
16179 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
16180 nullbytes in symbol table. This fixes an infinite loop if table is
16181 zero filled.
16182
16183 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
16184 TARGET_IMG_LDFLAGS and EXEEXT.
16185
16186 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
16187 TARGET_IMG_LDFLAGS_AC.
16188 (grub_CHECK_STACK_ARG_PROBE): New function.
16189
16190 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
16191
16192 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
16193
16194 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
16195 to set TARGET_IMG_LD* accordingly.
16196 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
16197 Add call to grub_CHECK_STACK_ARG_PROBE.
16198 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
16199
16200 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
16201
16202 * genmk.rb: Add EXEEXT to CLEANFILES.
16203
16204 2008-07-23 Robert Millan <rmh@aybabtu.com>
16205
16206 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
16207 define the codes for arrows and lines used for the menu).
16208 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
16209 as well.
16210
16211 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
16212 fonts, because the latter are too slow.
16213
16214 2008-07-21 Bean <bean123ch@gmail.com>
16215
16216 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
16217 a20. Run keyboard test last, as it will cause macbook to halt.
16218
16219 2008-07-18 Pavel Roskin <proski@gnu.org>
16220
16221 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
16222 load foreign architecture modules correctly anyway. Keep
16223 support for loading host architecture modules, whether we
16224 compile them or not.
16225
16226 2008-07-17 Pavel Roskin <proski@gnu.org>
16227
16228 * configure.ac: Use -m32 or -m64 regardless of whether we had to
16229 change target_cpu. The compiler default can mismatch target_cpu
16230 in any case.
16231
16232 * disk/efi/efidisk.c: Fix format warnings on x86_64.
16233 * kern/efi/efi.c: Likewise.
16234
16235 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
16236 target compiler is functional.
16237 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
16238 are set up.
16239
16240 * configure.ac: Default to efi platform for x86_64-apple. Allow
16241 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
16242 adjustments from the rest, only do them if target is not
16243 explicitly given. Merge other adjustments with the final sanity
16244 check. Remove an extraneous check for supported CPU. Be
16245 specific which CPU and which platform is not supported.
16246
16247 * configure.ac: Default to pc platform for x86_64.
16248
16249 2008-07-17 Robert Millan <rmh@aybabtu.com>
16250
16251 Partial LinuxBIOS -> Coreboot rename.
16252
16253 * conf/i386-linuxbios.rmk: Renamed to ...
16254 * conf/i386-coreboot.rmk: ... this.
16255 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
16256 * configure.ac: Accept "coreboot" as input platform (but maintain
16257 compatibility with "linuxbios").
16258 * include/grub/i386/linuxbios: Renamed to ...
16259 * include/grub/i386/coreboot: ... this.
16260
16261 2008-07-17 Bean <bean123ch@gmail.com>
16262
16263 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
16264 (appleldr_mod_SOURCE): New variable.
16265 (appleldr_mod_CFLAGS): Likewise.
16266 (appleldr_mod_LDFLAGS): Likewise.
16267 (pci_mod_SOURCES): Likewise.
16268 (pci_mod_CFLAGS): Likewise.
16269 (pci_mod_LDFLAGS): Likewise.
16270 (lspci_mod_SOURCES): Likewise.
16271 (lspci_mod_CFLAGS): Likewise.
16272 (lspci_mod_LDFLAGS): Likewise.
16273
16274 * conf/x86_64-efi.rmk: New file.
16275
16276 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
16277 macro.
16278 (grub_efidisk_write): Likewise.
16279
16280 * include/efi/api.h (efi_call_0): New macro.
16281 (efi_call_1): Likewise.
16282 (efi_call_2): Likewise.
16283 (efi_call_3): Likewise.
16284 (efi_call_4): Likewise.
16285 (efi_call_5): Likewise.
16286 (efi_call_6): Likewise.
16287
16288 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
16289 grub_rescue_cmd_chainloader.
16290
16291 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
16292 (grub_pe32_optional_header): Change some fields based on i386 or
16293 x86_64 platform.
16294 (GRUB_PE32_PE32_MAGIC): Likewise.
16295
16296 * include/grub/efi/uga_draw.h: New file.
16297
16298 * include/grub/elf.h (STN_ABS): New constant.
16299 (R_X86_64_NONE): Relocation constant for x86_64.
16300 (R_X86_64_64): Likewise.
16301 (R_X86_64_PC32): Likewise.
16302 (R_X86_64_GOT32): Likewise.
16303 (R_X86_64_PLT32): Likewise.
16304 (R_X86_64_COPY): Likewise.
16305 (R_X86_64_GLOB_DAT): Likewise.
16306 (R_X86_64_JUMP_SLOT): Likewise.
16307 (R_X86_64_RELATIVE): Likewise.
16308 (R_X86_64_GOTPCREL): Likewise.
16309 (R_X86_64_32): Likewise.
16310 (R_X86_64_32S): Likewise.
16311 (R_X86_64_16): Likewise.
16312 (R_X86_64_PC16): Likewise.
16313 (R_X86_64_8): Likewise.
16314 (R_X86_64_PC8): Likewise.
16315
16316 * include/grub/i386/efi/pci.h: New file.
16317
16318 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
16319 Change it value based on platform.
16320 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
16321 (GRUB_E820_RAM): Likewise.
16322 (GRUB_E820_RESERVED): Likewise.
16323 (GRUB_E820_ACPI): Likewise.
16324 (GRUB_E820_NVS): Likewise.
16325 (GRUB_E820_EXEC_CODE): Likewise.
16326 (GRUB_E820_MAX_ENTRY): Likewise.
16327 (grub_e820_mmap): New structure.
16328 (linux_kernel_header): Change the efi field according to different
16329 kernel version, also field from linux_kernel_header.
16330
16331 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
16332
16333 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
16334 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
16335 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
16336 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
16337 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
16338 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
16339 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
16340 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
16341 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
16342 (GRUB_PCI_ADDR_IO_MASK): Likewise.
16343
16344 * include/grub/x86_64/efi/kernel.h: New file.
16345
16346 * include/grub/x86_64/efi/loader.h: Likewise.
16347
16348 * include/grub/x86_64/efi/machine.h: Likewise.
16349
16350 * include/grub/x86_64/efi/pci.h: Likewise.
16351
16352 * include/grub/x86_64/efi/time.h: Likewise.
16353
16354 * include/grub/x86_64/linux.h: Likewise.
16355
16356 * include/grub/x86_64/setjmp.h: Likewise.
16357
16358 * include/grub/x86_64/time.h: Likewise.
16359
16360 * include/grub/x86_64/types.h: Likewise.
16361
16362 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
16363 GRUB_TARGET_SIZEOF_VOID_P.
16364
16365 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
16366 (grub_efi_locate_handle): Likewise.
16367 (grub_efi_open_protocol): Likewise.
16368 (grub_efi_set_text_mode): Likewise.
16369 (grub_efi_stall): Likewise.
16370 (grub_exit): Likewise.
16371 (grub_reboot): Likewise.
16372 (grub_halt): Likewise.
16373 (grub_efi_exit_boot_services): Likewise.
16374 (grub_get_rtc): Likewise.
16375
16376 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
16377 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
16378 (grub_efi_allocate_pages): Wrap efi calls.
16379 (grub_efi_free_pages): Wrap efi calls.
16380 (grub_efi_get_memory_map): Wrap efi calls.
16381
16382 * kern/x86_64/dl.c: New file.
16383
16384 * kern/x86_64/efi/callwrap.S: Likewise.
16385
16386 * kern/x86_64/efi/startup.S: Likewise.
16387
16388 * loader/efi/appleloader.c: Likewise.
16389
16390 * loader/efi/chainloader.c (cmdline): New variable.
16391 (grub_chainloader_unload): Wrap efi calls.
16392 (grub_chainloader_boot): Likewise.
16393 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
16394 command line.
16395
16396 * loader/efi/chainloader_normal.c (chainloader_command):
16397 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
16398 command line.
16399
16400 * loader/i386/efi/linux.c (allocate_pages): Change allocation
16401 method.
16402 (grub_e820_add_region): New function.
16403 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
16404 booting.
16405 (grub_find_video_card): New function.
16406 (grub_linux_setup_video): New function.
16407 (grub_rescue_cmd_linux): Probe for video information.
16408
16409 * normal/x86_64/setjmp.S: New file.
16410
16411 * term/efi/console.c (map_char): New function.
16412 (grub_console_putchar): Map unicode char.
16413 (grub_console_checkkey): Wrap efi calls.
16414 (grub_console_getkey): Likewise.
16415 (grub_console_getwh): Likewise.
16416 (grub_console_gotoxy): Likewise.
16417 (grub_console_cls): Likewise.
16418 (grub_console_setcolorstate): Likewise.
16419 (grub_console_setcursor): Likewise.
16420
16421 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
16422
16423 2008-07-16 Pavel Roskin <proski@gnu.org>
16424
16425 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
16426 format strings.
16427
16428 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
16429 pointer, not an integer. This fixes a warning and prevents
16430 precision loss on 64-bit systems.
16431 (relocate_addresses): Remove unneeded cast.
16432
16433 2008-07-15 Pavel Roskin <proski@gnu.org>
16434
16435 * kern/i386/ieee1275/init.c: Include grub/cache.h.
16436
16437 * term/ieee1275/ofconsole.c: Disable code unused on i386.
16438
16439 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
16440 Fix comparison between signed and unsigned.
16441
16442 * include/grub/i386/ieee1275/console.h: Declare
16443 grub_console_init() and grub_console_fini().
16444
16445 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
16446 It's empty and unused.
16447
16448 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
16449 beginning to avoid warnings with some compilers.
16450
16451 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
16452 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
16453
16454 2008-07-14 Pavel Roskin <proski@gnu.org>
16455
16456 * kern/env.c (grub_register_variable_hook): Don't copy empty
16457 string, it leaks memory. Pass "" to grub_env_set(), it should
16458 handle constant strings.
16459
16460 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
16461 * commands/cmp.c (grub_cmd_cmp): Likewise.
16462 * kern/dl.c (grub_dl_flush_cache): Likewise.
16463 (grub_dl_load_core): Likewise.
16464 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
16465 (grub_elf64_load_phdrs): Likewise.
16466
16467 2008-07-13 Pavel Roskin <proski@gnu.org>
16468
16469 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
16470 between signed and unsigned.
16471 (LzmaEnc_Finish): Fix warning about an unused parameter.
16472
16473 2008-07-13 Bean <bean123ch@gmail.com>
16474
16475 * Makefile.in (enable_lzo): New rule.
16476
16477 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
16478
16479 * configure.ac (ENABLE_LZO): New option --enable-lzo.
16480
16481 * boot/i386/pc/lnxboot.S: #include <config.h>.
16482
16483 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
16484 its value according to the compression algorithm used, lzo or lzma.
16485
16486 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
16487 compression algorithm according to configure macro.
16488
16489 * kern/i386/pc/startup.S (codestart): Likewise.
16490
16491 * kern/i386/pc/lzma_decode.S: New file.
16492
16493 * include/grub/lib/LzFind.h: Likewise.
16494
16495 * include/grub/lib/LzHash.h: Likewise.
16496
16497 * include/grub/lib/LzmaDec.h: Likewise.
16498
16499 * include/grub/lib/LzmaEnc.h: Likewise.
16500
16501 * include/grub/lib/LzmaTypes.h: Likewise.
16502
16503 * lib/LzFind.c: Likewise.
16504
16505 * lib/LzmaDec.c: Likewise.
16506
16507 * lib/LzmaEnc.c: Likewise.
16508
16509 2008-07-13 Bean <bean123ch@gmail.com>
16510
16511 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
16512 (grub_ext4_extent_header): New structure.
16513 (grub_ext4_extent): Likewise.
16514 (grub_ext4_extent_idx): Likewise.
16515 (grub_ext4_find_leaf): New function.
16516 (grub_ext2_read_block): Handle extents.
16517
16518 2008-07-12 Robert Millan <rmh@aybabtu.com>
16519
16520 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
16521
16522 2008-07-11 Robert Millan <rmh@aybabtu.com>
16523
16524 * util/grub.d/40_custom.in: New file. Example on how to add custom
16525 entries to /etc/grub.d.
16526 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
16527 40_custom (implicitly, by merging all the grub.d rules).
16528
16529 2008-07-11 Pavel Roskin <proski@gnu.org>
16530
16531 * commands/read.c (grub_getline): Fix invalid memory access.
16532 Don't add newline to the variable value.
16533
16534 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
16535 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
16536 (serial_hw_get_port): Check validity of the port number.
16537 (grub_cmd_serial): Check return value of serial_hw_get_port().
16538
16539 2008-07-07 Pavel Roskin <proski@gnu.org>
16540
16541 * boot/i386/pc/diskboot.S (notification_string): Replace
16542 "Loading kernel" with just "loading". This is shorter, less
16543 confusing and saves a few bytes for possible future changes.
16544
16545 2008-07-05 Pavel Roskin <proski@gnu.org>
16546
16547 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
16548 size for ATAPI devices, they are undefined. Output sector
16549 number in decimal form.
16550
16551 * disk/ata.c: Use named constants for status bits.
16552
16553 2008-07-04 Pavel Roskin <proski@gnu.org>
16554
16555 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
16556 grub_addr_t before casting it to the void pointer to fix a
16557 warning. Non-addressable regions are discarded earlier.
16558 (grub_arch_modules_addr): Cast _end to grub_addr_t.
16559 * kern/i386/linuxbios/table.c: Include grub/misc.h.
16560 (check_signature): Don't shadow table_header.
16561 (grub_linuxbios_table_iterate): Cast numeric constants to
16562 grub_linuxbios_table_header_t.
16563 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
16564 grub_stop().
16565
16566 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
16567 prevent warnings.
16568
16569 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
16570 pointer, which can cause warnings. Support 64-bit addresses.
16571
16572 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
16573 of sizeof(long). This fixes PowerPC image generation on x86_64.
16574
16575 2008-07-04 Robert Millan <rmh@aybabtu.com>
16576
16577 This fixes a performance issue when pc & gpt partmap iterators
16578 didn't abort iteration even after our hook found what it was
16579 looking for (often causing expensive probes of non-existent drives).
16580
16581 Some callers relied on previous buggy behaviour, since they would
16582 raise an error when their own hooks caused early abortion of its
16583 iteration.
16584
16585 * kern/device.c (grub_device_open): Improve error message.
16586 * disk/lvm.c (grub_lvm_open): Likewise.
16587 * disk/raid.c (grub_raid_open): Likewise.
16588
16589 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
16590 when hook requests it, independently of grub_errno.
16591 (pc_partition_map_probe): Do not fail when find_func() caused
16592 early abortion of pc_partition_map_iterate().
16593
16594 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
16595 when hook requests it, independently of grub_errno.
16596 (gpt_partition_map_probe): Do not fail when find_func() caused
16597 early abortion of gpt_partition_map_iterate().
16598
16599 * kern/partition.c (grub_partition_iterate): Abort parent iteration
16600 when hook requests it, independently of grub_errno. Do not fail when
16601 part_map_iterate_hook() caused early abortion of p->iterate().
16602
16603 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
16604 when grub_partition_iterate() returned with non-zero.
16605
16606 2008-07-03 Pavel Roskin <proski@gnu.org>
16607
16608 * disk/ata.c (grub_ata_pio_write): Check status before writing,
16609 like we do in grub_ata_pio_read().
16610 (grub_ata_readwrite): Always write individual sectors. Fix the
16611 sector count for the remainder.
16612 (grub_ata_write): Enable writing to ATA devices. Correctly
16613 report error for ATAPI devices.
16614
16615 2008-07-02 Pavel Roskin <proski@gnu.org>
16616
16617 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
16618 warning.
16619
16620 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
16621 for every read sector, we already increment it for the whole
16622 batch. This fixes reading more than 256 sectors at once.
16623
16624 * util/grub-editenv.c (cmd_info): Cast argument to long
16625 explicitly. ptrdiff_t reduces to int on i386.
16626
16627 * util/grub-editenv.c (main): Be specific which parameter is
16628 missing.
16629
16630 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
16631 (memdisk): Make memdisk_orig_addr a pointer.
16632
16633 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
16634 for file offsets, use grub_off_t instead. Fix printf format
16635 warnings.
16636
16637 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
16638 there. Real unexpected warnings should not drown in the noise
16639 about known problems.
16640
16641 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
16642 grub_disk_addr_t for memory addresses.
16643
16644 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
16645 explicitly to fix a warning.
16646
16647 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
16648
16649 * Makefile.in (MODULE_LDFLAGS): New variable.
16650 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
16651 the linker accepts --build-id=none.
16652 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
16653 MODULE_LDFLAGS.
16654 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
16655
16656 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
16657 those in Linux XFS code. Provide a way to access 64-bit parent
16658 inode.
16659 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
16660 the end of struct grub_xfs_dir_header.
16661
16662 2008-07-02 Bean <bean123ch@gmail.com>
16663
16664 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
16665 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
16666 and GRUB_IEEE1275_FLAG_NO_ANSI.
16667
16668 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
16669 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
16670 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
16671
16672 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
16673 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
16674
16675 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
16676 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
16677
16678 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
16679 esc sequence on non ANSI terminal.
16680 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
16681
16682 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
16683 beginning of file.
16684
16685 2008-07-02 Bean <bean123ch@gmail.com>
16686
16687 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
16688 (grub_editenv_SOURCES): New variable.
16689 (pkglib_MODULES): Add loadenv.mod.
16690 (loadenv_mod_SOURCES): New variable.
16691 (loadenv_mod_CFLAGS): Likewise.
16692 (loadenv_mod_LDFLAGS): Likewise.
16693
16694 * include/grub/envblk.h: New file.
16695
16696 * util/envblk.c: New file.
16697
16698 * util/grub-editenv.c: New file.
16699
16700 * commands/loadenv.c: New file.
16701
16702 2008-07-01 Pavel Roskin <proski@gnu.org>
16703
16704 * include/multiboot2.h (struct multiboot_tag_module): Use char,
16705 not unsigned char. This fixes warnings and is consistent with
16706 other tags.
16707
16708 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
16709
16710 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
16711
16712 * term/tparm.c (analyze): Always set *popcount.
16713
16714 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
16715 cast to fix a warning.
16716
16717 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
16718 cast to suppress a warning.
16719
16720 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
16721 grub_fshelp_read_file() expects.
16722
16723 * fs/fat.c: Fix UUID calculation on big-endian systems. We
16724 write uuid as a 32-bit value in CPU byte order, so declare and
16725 use it as such.
16726
16727 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
16728 long if the format specifier expects it.
16729 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
16730 * partmap/pc.c (pc_partition_map_iterate): Likewise.
16731 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
16732 long to fix a warning.
16733 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
16734 grub_dprintf() arguments to fix warnings.
16735
16736 2008-06-30 Pavel Roskin <proski@gnu.org>
16737
16738 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
16739 install_bsd_part immediately before core.img is embedded or
16740 modified on disk. This fixes core.img verification if core.img
16741 cannot be embedded.
16742
16743 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
16744 core_path to calculate the blocklist.
16745 Patch from Javier Martín <lordhabbit@gmail.com>
16746
16747 2008-06-29 Robert Millan <rmh@aybabtu.com>
16748
16749 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
16750 block to disk block.
16751 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
16752 Patch from Niels Böhm <bitbucket@arcor.de>
16753
16754 2008-06-29 Robert Millan <rmh@aybabtu.com>
16755
16756 * util/update-grub_lib.in (font_path): Search for fonts in
16757 /boot/grub first, which is more likely to be readable (we aren't
16758 deciding where fonts live, just looking for them).
16759
16760 2008-06-26 Pavel Roskin <proski@gnu.org>
16761
16762 * util/biosdisk.c (read_device_map): Don't leave dead map
16763 entries for devices failing stat() check.
16764
16765 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
16766 core_path_dev for the core.img path on the target device.
16767
16768 2008-06-26 Robert Millan <rmh@aybabtu.com>
16769
16770 * disk/fs_uuid.c: New file.
16771 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
16772 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
16773 (fs_uuid_mod_LDFLAGS): New variables.
16774 * include/grub/disk.h (grub_disk_dev_id): Add
16775 `GRUB_DISK_DEVICE_UUID_ID'.
16776 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
16777 implement iterate().
16778
16779 2008-06-26 Robert Millan <rmh@aybabtu.com>
16780
16781 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
16782 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
16783 Linux image includes no initrd.
16784
16785 2008-06-21 Javier Martín <lordhabbit@gmail.com>
16786
16787 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
16788 call to resolve the core image location that effectively appended the
16789 name twice.
16790
16791 2008-06-21 Robert Millan <rmh@aybabtu.com>
16792
16793 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
16794 call from here ...
16795
16796 * util/grub.d/10_hurd.in: ... to here ...
16797 * util/grub.d/10_linux.in: ... and here.
16798
16799 2008-06-19 Robert Millan <rmh@aybabtu.com>
16800
16801 * kern/main.c (grub_main): Export `prefix' variable immediately
16802 after it has been set by grub_machine_set_prefix().
16803
16804 2008-06-19 Robert Millan <rmh@aybabtu.com>
16805
16806 * commands/search.c (search_label, search_fs_uuid, search_file): Print
16807 search result when not saving to variable, not the other way around.
16808 When saving to variable, abort iteration as soon as a match is found.
16809
16810 2008-06-19 Robert Millan <rmh@aybabtu.com>
16811
16812 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
16813 check for partition that provides /boot/grub. Its logic is flawed,
16814 as it prevents prepare_grub_to_access_device() from being called
16815 multiple times.
16816
16817 2008-06-19 Robert Millan <rmh@aybabtu.com>
16818
16819 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
16820 "insmod" command directly when abstraction modules are needed,
16821 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
16822 since it had already been processed).
16823
16824 2008-06-19 Pavel Roskin <proski@gnu.org>
16825
16826 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
16827 changed. This is needed in case GRUB_LIBDIR changes.
16828 * conf/i386-ieee1275.rmk: Likewise.
16829 * conf/i386-linuxbios.rmk: Likewise.
16830 * conf/i386-pc.rmk: Likewise.
16831 * conf/powerpc-ieee1275.rmk: Likewise.
16832
16833 2008-06-18 Pavel Roskin <proski@gnu.org>
16834
16835 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
16836 kernel_elf_symlist.c to symlist.c for consistency with other
16837 architectures. Update all users.
16838 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
16839
16840 2008-06-18 Robert Millan <rmh@aybabtu.com>
16841
16842 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
16843 it in prefix.
16844
16845 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
16846 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
16847 a RAID device, run setup() for all members independently on whether
16848 LVM abstraction is being used.
16849 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
16850 If grub-mkimage has set `*install_dos_part == -2', don't override this
16851 value.
16852 Perform *install_dos_part adjustments independently on whether
16853 we're embedding or not.
16854 Clarify error message when image is too big for embedding.
16855 Remove duplicate *install_dos_part stanza.
16856
16857 2008-06-17 Robert Millan <rmh@aybabtu.com>
16858
16859 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
16860 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
16861 variables.
16862 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
16863 values in grub_ofconsole_normal_color and
16864 grub_ofconsole_highlight_color (they're not directly related to
16865 background and foreground).
16866 (grub_ofconsole_setcolorstate): Extract background and foreground
16867 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
16868
16869 2008-06-17 Robert Millan <rmh@aybabtu.com>
16870
16871 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
16872 /boot/grub for the check in last commit, not /boot (they could be
16873 different partitions).
16874
16875 2008-06-16 Robert Millan <rmh@aybabtu.com>
16876
16877 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
16878 asked to setup access for the same partition that provides /boot,
16879 don't bother using UUIDs since our root already has the value we
16880 want.
16881
16882 2008-06-16 Robert Millan <rmh@aybabtu.com>
16883
16884 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
16885 I2O devices.
16886 Patch from Sven Mueller <sven@debian.org>.
16887
16888 2008-06-16 Robert Millan <rmh@aybabtu.com>
16889
16890 * util/update-grub.in: Check for $EUID instead of $UID.
16891 Reported by Vincent Zweije.
16892
16893 2008-06-16 Bean <bean123ch@gmail.com>
16894
16895 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
16896 (grub_ext2_read_block): Likewise.
16897 (grub_ext2_read_inode): Likewise.
16898 (grub_ext2_mount): Likewise.
16899 (grub_ext2_close): Likewise.
16900 (grub_ext3_get_journal): Removed.
16901
16902 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
16903 (grub_reiserfs_read_symlink): Likewise.
16904 (grub_reiserfs_mount): Likewise.
16905 (grub_reiserfs_open): Likewise.
16906 (grub_reiserfs_read): Likewise.
16907 (grub_reiserfs_close): Likewise.
16908 (grub_reiserfs_get_journal): Removed.
16909
16910 * fs/fshelp.c (grub_fshelp_read): Removed.
16911 (grub_fshelp_map_block): Likewise.
16912
16913 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
16914 (grub_fshelp_journal): Likewise.
16915 (grub_fshelp_read): Likewise.
16916 (grub_fshelp_map_block): Likewise.
16917
16918 2008-06-16 Pavel Roskin <proski@gnu.org>
16919
16920 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
16921 floating point anymore.
16922 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
16923
16924 2008-06-15 Pavel Roskin <proski@gnu.org>
16925
16926 * commands/ls.c (grub_ls_list_files): Use integer calculations
16927 for human readable format, avoid floating point use.
16928 * kern/misc.c (grub_ftoa): Remove.
16929 (grub_vsprintf): Remove floating point support.
16930
16931 2008-06-15 Robert Millan <rmh@aybabtu.com>
16932
16933 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
16934 devices.
16935 Reported by Max Vozeler.
16936
16937 2008-06-15 Robert Millan <rmh@aybabtu.com>
16938
16939 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
16940 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
16941 skipped later.
16942 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
16943 the beginning of the prefix.
16944
16945 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
16946 It is assumed that if we have a memdisk, grub-mkimage has set
16947 grub_prefix to include the "(memdisk)" drive in it.
16948
16949 2008-06-15 Robert Millan <rmh@aybabtu.com>
16950
16951 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
16952 Initialize keyboard controller after registering the terminal, so that
16953 grub_printf() can be called from grub_keyboard_controller_init().
16954
16955 2008-06-15 Robert Millan <rmh@aybabtu.com>
16956
16957 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
16958 extent-btree which is written as big endian on disk.
16959 Reported by Alain Greppin <al@chilibi.org>.
16960
16961 2008-06-14 Robert Millan <rmh@aybabtu.com>
16962
16963 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
16964 * util/i386/pc/grub-install.in (modules): Likewise.
16965
16966 2008-06-13 Pavel Roskin <proski@gnu.org>
16967
16968 * commands/ls.c (grub_ls_list_files): Fix format warnings.
16969
16970 2008-06-13 Bean <bean123ch@gmail.com>
16971
16972 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
16973
16974 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
16975
16976 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
16977 to indicate sparse block.
16978
16979 2008-06-12 Pavel Roskin <proski@gnu.org>
16980
16981 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
16982 number, grub_fshelp_read() does it for us.
16983
16984 * fs/fshelp.c (grub_fshelp_read): New function. Implement
16985 linear disk read with journal translation.
16986 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
16987 * include/grub/fshelp.h: Declare grub_fshelp_read().
16988
16989 2008-06-09 Pavel Roskin <proski@gnu.org>
16990
16991 * fs/minix.c (grub_minix_mount): Handle error reading
16992 superblock.
16993
16994 2008-06-08 Robert Millan <rmh@aybabtu.com>
16995
16996 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
16997 don't append the RAID prefix afterwards.
16998 Reported by Clint Adams.
16999
17000 2008-06-08 Robert Millan <rmh@aybabtu.com>
17001
17002 Based on description from Pavel:
17003 * kern/disk.c (grub_disk_check_range): Rename to ...
17004 (grub_disk_adjust_range): ... this. Add a comment explaining the
17005 tasks performed by this function.
17006
17007 2008-06-08 Robert Millan <rmh@aybabtu.com>
17008
17009 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
17010 `num_serial' (for consistency with other variables).
17011 (struct grub_ntfs_data): Add `uuid' member.
17012 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
17013 (grub_ntfs_uuid): New function.
17014 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
17015
17016 2008-06-07 Pavel Roskin <proski@gnu.org>
17017
17018 * util/biosdisk.c (open_device): Revert last change to the
17019 function, it broke installation. The sector needs to be
17020 different dependent on which device is opened.
17021
17022 2008-06-06 Robert Millan <rmh@aybabtu.com>
17023
17024 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
17025 rest of GRUB, and breakage doesn't happen if its value were modified.
17026
17027 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
17028 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
17029 a constant (same value).
17030 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
17031 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
17032
17033 2008-06-06 Robert Millan <rmh@aybabtu.com>
17034
17035 * util/biosdisk.c (open_device): Do not modify sector offset when
17036 accessing a partition. kern/disk.c already handles this for us.
17037
17038 2008-06-06 Robert Millan <rmh@aybabtu.com>
17039
17040 * util/grub-emu.c (grub_machine_init): Move code in this function from
17041 here ...
17042 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
17043 segfault in case grub_printf() is called).
17044
17045 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
17046 grub_probe. Update all users not to explicitly add it again.
17047 (grub_device): New variable; contains corresponding device for grubdir.
17048 (fs_module, partmap_module, devabstraction_module): Pass
17049 `--device ${grub_device}' to grub_probe to avoid traversing /dev
17050 every time.
17051
17052 2008-06-05 Robert Millan <rmh@aybabtu.com>
17053
17054 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
17055 is found, print it (same layout as with labels).
17056
17057 2008-06-04 Robert Millan <rmh@aybabtu.com>
17058
17059 * util/biosdisk.c (get_drive): Rename to ...
17060 (find_grub_drive): ... this. Update all users.
17061
17062 (get_os_disk): Rename to ...
17063 (convert_system_partition_to_system_disk): ... this. Update all users.
17064
17065 (find_drive): Rename to ...
17066 (find_system_device): ... this. Update all users.
17067
17068 2008-06-04 Robert Millan <rmh@aybabtu.com>
17069
17070 * util/biosdisk.c (get_os_disk): Handle IDA devices.
17071 * util/grub-mkdevicemap.c (get_mmc_disk_name)
17072 (make_device_map): Likewise.
17073
17074 2008-06-01 Robert Millan <rmh@aybabtu.com>
17075
17076 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
17077 before dereferencing it.
17078
17079 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
17080 union with fat12/fat16-specific ones. Add some new fields, including
17081 `num_serial' for both versions.
17082 (struct grub_fat_data): Add `uuid' member.
17083 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
17084 names. Initialize `data->uuid' using `num_serial'.
17085 (grub_fat_uuid): New function.
17086 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
17087
17088 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
17089 (grub_reiserfs_uuid): New function.
17090 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
17091 member.
17092
17093 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
17094 (grub_xfs_uuid): New function.
17095 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
17096
17097 2008-06-01 Robert Millan <rmh@aybabtu.com>
17098
17099 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
17100 code that is backward compatible with pre-uuid search command.
17101
17102 2008-05-31 Robert Millan <rmh@aybabtu.com>
17103
17104 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
17105 floppies after everything else, to ensure floppy drive isn't accessed
17106 unnecessarily (patch from Bean).
17107
17108 2008-05-31 Robert Millan <rmh@aybabtu.com>
17109
17110 * commands/search.c (search_label, search_fs_uuid, search_file): Do
17111 not print device names when we were asked to set a variable.
17112
17113 2008-05-31 Robert Millan <rmh@aybabtu.com>
17114
17115 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
17116 using "cursor-on" and "cursor-off" commands (understood at least by
17117 the Open Firmware flavour on OLPC).
17118
17119 2008-05-31 Michael Gorven <michael@gorven.za.net>
17120
17121 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
17122 on and off sequences.
17123
17124 2008-05-31 Robert Millan <rmh@aybabtu.com>
17125
17126 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
17127 * util/update-grub.in: Likewise.
17128
17129 2008-05-30 Pavel Roskin <proski@gnu.org>
17130
17131 * util/biosdisk.c (linux_find_partition): Simplify logic and
17132 make the code more universal. Keep special processing for
17133 devfs, but use a simple rule for all other devices. If the
17134 device ends with a number, append 'p' and the partition number.
17135 Otherwise, append only the partition number.
17136
17137 2008-05-30 Robert Millan <rmh@aybabtu.com>
17138
17139 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
17140 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
17141 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
17142 the `root' parameter to Linux.
17143
17144 2008-05-30 Robert Millan <rmh@aybabtu.com>
17145
17146 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
17147 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
17148 --fs_uuid with --fs-uuid.
17149 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
17150 all filesystems support them).
17151
17152 2008-05-30 Robert Millan <rmh@aybabtu.com>
17153
17154 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
17155 grub_printf() flags, since we're printing in units of 2 bytes.
17156
17157 2008-05-30 Robert Millan <rmh@aybabtu.com>
17158
17159 * util/grub.d/00_header.in: Remove obsolete comment referencing
17160 convert_system_path_to_grub_path().
17161 * util/update-grub.in: Likewise.
17162 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
17163 (convert_system_path_to_grub_path): Add a warning message explaining
17164 that this function is deprecated. Rely on is_path_readable_by_grub()
17165 for the readability checks.
17166 (font_path): Use is_path_readable_by_grub() for the readability
17167 check rather than convert_system_path_to_grub_path().
17168
17169 2008-05-30 Robert Millan <rmh@aybabtu.com>
17170
17171 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
17172 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
17173 converting it first.
17174 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
17175 grub.cfg for access to font file, and afterwards call it again to set
17176 the root device.
17177
17178 2008-05-30 Robert Millan <rmh@aybabtu.com>
17179
17180 * commands/search.c (options): Add --fs_uuid option.
17181 (search_fs_uuid): New function.
17182 (grub_cmd_search): Fix --set argument passing.
17183 Use search_fs_uuid() when requested via --fs_uuid.
17184 (grub_search_init): Update help message.
17185 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
17186 and redeclare it as an array of 16-bit words.
17187 (grub_ext2_uuid): New function.
17188 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
17189 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
17190 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
17191 (GRUB_DEVICE_BOOT_UUID): New variables.
17192 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
17193 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
17194 whenever possible.
17195 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
17196 just assume `root' variable has the right value.
17197 * util/grub.d/10_linux.in: Likewise.
17198 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
17199 via PRINT_FS_UUID.
17200 (main): Recognise `-t fs_uuid' argument.
17201
17202 2008-05-30 Robert Millan <rmh@aybabtu.com>
17203
17204 * util/biosdisk.c (map): Redefine structure to hold information
17205 about GRUB drive name.
17206 (get_drive): Reimplement without assuming (and verifying) BIOS-like
17207 drive names.
17208 (call_hook): Remove.
17209 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
17210 member. Assume drive has partitions.
17211 (grub_util_biosdisk_open): Access device names via `.device' struct
17212 member.
17213 (open_device): Likewise.
17214 (find_drive): Likewise.
17215 (read_device_map): Adjust map[] usage to match the new struct
17216 definition. Don't check for duplicates (still possible, but not cheap
17217 anymore).
17218 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
17219 (make_device_name): Remove assumption of BIOS-like drive names.
17220
17221 2008-05-30 Pavel Roskin <proski@gnu.org>
17222
17223 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
17224 compiling execute.c doesn't need grub_script.tab.h anymore.
17225 (normal/command.c_DEPENDENCIES): Likewise.
17226 (normal/function.c_DEPENDENCIES): Likewise.
17227 * conf/i386-ieee1275.rmk: Likewise.
17228 * conf/i386-linuxbios.rmk: Likewise.
17229 * conf/i386-pc.rmk: Likewise.
17230 * conf/powerpc-ieee1275.rmk: Likewise.
17231 * conf/sparc64-ieee1275.rmk: Likewise.
17232
17233 2008-05-29 Pavel Roskin <proski@gnu.org>
17234
17235 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
17236 when scanning metadata for volume group name.
17237
17238 * include/grub/script.h: Don't include grub_script.tab.h. It's
17239 a generated file, which may only be included from the files with
17240 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
17241 use union YYSTYPE, as the later allows forward declaration.
17242 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
17243
17244 2008-05-29 Robert Millan <rmh@aybabtu.com>
17245
17246 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
17247 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
17248 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
17249 (grub_console_checkkey): Add grub_dprintf() call to report unknown
17250 scan codes.
17251
17252 2008-05-29 Robert Millan <rmh@aybabtu.com>
17253
17254 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
17255 control key combinations.
17256
17257 2008-05-29 Robert Millan <rmh@aybabtu.com>
17258
17259 * util/powerpc/ieee1275/grub-install.in: Move from here ...
17260 * util/ieee1275/grub-install.in: ... to here.
17261 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
17262 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
17263 (grub_install_SOURCES): Likewise.
17264
17265 2008-05-29 Robert Millan <rmh@aybabtu.com>
17266
17267 * fs/affs.c: Update copyright year.
17268 * fs/ext2.c: Likewise.
17269 * fs/fshelp.c: Likewise.
17270 * fs/hfsplus.c: Likewise.
17271 * fs/ntfs.c: Likewise.
17272 * fs/xfs.c: Likewise.
17273 * include/grub/fshelp.h: Likewise.
17274 * util/grub-mkdevicemap.c: Likewise.
17275
17276 2008-05-28 Robert Millan <rmh@aybabtu.com>
17277
17278 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
17279 might need to be fatfs to support some firmware implementations
17280 (e.g. OFW or EFI).
17281
17282 2008-05-28 Robert Millan <rmh@aybabtu.com>
17283
17284 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
17285 devices.
17286 * util/grub-mkdevicemap.c (get_mmc_disk_name)
17287 (make_device_map): Likewise.
17288
17289 2008-05-20 Bean <bean123ch@gmail.com>
17290
17291 * fs/fshelp.c (grub_fshelp_map_block): New function.
17292 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
17293 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
17294
17295 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
17296 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
17297 (grub_fshelp_journal): New structure.
17298 (grub_fshelp_map_block): New function prototype.
17299 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
17300 (grub_fshelp_map_block): Likewise.
17301
17302 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
17303 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
17304 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
17305 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
17306 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
17307 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
17308 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
17309 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
17310 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
17311 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
17312 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
17313 (grub_ext2_sblock): New members for journal support.
17314 (grub_ext3_journal_header): New structure.
17315 (grub_ext3_journal_revoke_header): Likewise.
17316 (grub_ext3_journal_block_tag): Likewise.
17317 (grub_ext3_journal_sblock): Likewise.
17318 (grub_fshelp_node): New members logfile and journal.
17319 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
17320 grub_fshelp_map_block to get real block number.
17321 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
17322 number.
17323 (grub_ext2_read_inode): Likewise.
17324 (grub_ext3_get_journal): New function.
17325 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
17326 (grub_ext2_close): Release memory used by journal.
17327
17328 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
17329 (REISERFS_MAGIC_DESC_BLOCK): New macro.
17330 (grub_reiserfs_transaction_header): Renamed to
17331 grub_reiserfs_description_block, replace field data with real_blocks.
17332 (grub_reiserfs_commit_block): New structure.
17333 (grub_reiserfs_data): New member journal.
17334 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
17335 number.
17336 (grub_reiserfs_read_symlink): Likewise.
17337 (grub_reiserfs_iterate_dir): Likewise.
17338 (grub_reiserfs_open): Likewise.
17339 (grub_reiserfs_read): Likewise.
17340 (grub_reiserfs_get_journal): New function.
17341 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
17342 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
17343 using grub_reiserfs_get_journal.
17344 (grub_reiserfs_close): Release memory used by journal.
17345
17346 * fs/affs.c (grub_affs_read_block): Change block type to
17347 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
17348
17349 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
17350
17351 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
17352
17353 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
17354
17355 * fs/udf.c (grub_udf_read_block): Change block type to
17356 grub_disk_addr_t. Use type cast to avoid warning.
17357
17358 * fs/xfs.c (grub_xfs_read_block): Likewise.
17359
17360 2008-05-16 Christian Franke <franke@computer.org>
17361
17362 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
17363 to ensure that break with ESC will always work.
17364 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
17365 Remove ESC from keyboard queue.
17366
17367 2008-05-16 Christian Franke <franke@computer.org>
17368
17369 * util/biosdisk.c: [__CYGWIN__] Add includes.
17370 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
17371 (get_os_disk): Move variable declarations to OS specific
17372 parts to avoid warning.
17373 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
17374 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
17375 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
17376 Cygwin.
17377 * util/getroot.c: [__CYGWIN__] Add includes.
17378 (strip_extra_slashes): Fix "/" case.
17379 [__CYGWIN__] (get_win32_path): New function.
17380 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
17381 [__CYGWIN__] (find_root_device): Disable.
17382 [__CYGWIN__] (get_bootsec_serial): New function.
17383 [__CYGWIN__] (find_cygwin_root_device): Likewise.
17384 [__linux__] (grub_guess_root_device): Add early returns to simplify
17385 structure.
17386 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
17387 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
17388 check for Linux only.
17389
17390 2008-05-15 Bean <bean123ch@gmail.com>
17391
17392 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
17393 keyboard hang problem in apple's intel mac.
17394
17395 2008-05-09 Robert Millan <rmh@aybabtu.com>
17396
17397 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
17398 devices.
17399 * util/grub-mkdevicemap.c (get_virtio_disk_name)
17400 (make_device_map): Likewise.
17401 Reported by Aurelien Jarno <aurel32@debian.org>
17402
17403 2008-05-07 Ian Campbell <ijc@hellion.org.uk>
17404
17405 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
17406 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
17407 (make_device_map): Output entries for xvd type disks.
17408
17409 2008-05-07 Robert Millan <rmh@aybabtu.com>
17410
17411 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
17412 devices.
17413 * util/grub-mkdevicemap.c (get_cciss_disk_name)
17414 (make_device_map): Likewise.
17415 Reported by Roland Dreier <rdreier@cisco.com>
17416
17417 2008-05-07 Robert Millan <rmh@aybabtu.com>
17418
17419 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
17420 grub_strstr() call. Correct a few mistakes in failure path handling.
17421
17422 2008-05-06 Robert Millan <rmh@aybabtu.com>
17423
17424 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
17425 Do not print a trailing slash (therefore, the root directory is an
17426 empty string).
17427 (convert_system_path_to_grub_path): Do not remove trailing slash
17428 from make_system_path_relative_to_its_root() output.
17429
17430 * util/i386/pc/grub-install.in: Add trailing slash to output from
17431 make_system_path_relative_to_its_root().
17432
17433 2008-05-06 Robert Millan <rmh@aybabtu.com>
17434
17435 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
17436 ensures that output lines aren't intermangled with those sent to
17437 stderr (via grub_util_info()).
17438 * util/grub-probe.c (grub_refresh): Likewise.
17439 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
17440
17441 2008-05-05 Christian Franke <franke@computer.org>
17442
17443 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
17444 Add Cygwin device names.
17445 (get_ide_disk_name) [__CYGWIN__]: Likewise.
17446 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
17447 (check_device): Return error instead of success on empty name.
17448 (make_device_map): Move label inside linux specific code to
17449 prevent compiler warning.
17450
17451 2008-04-30 Robert Millan <rmh@aybabtu.com>
17452
17453 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
17454 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
17455 first boot option.
17456 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
17457
17458 2008-04-29 Robert Millan <rmh@aybabtu.com>
17459
17460 * docs/grub.cfg: New file (example GRUB configuration).
17461
17462 2008-04-26 Robert Millan <rmh@aybabtu.com>
17463
17464 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
17465 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
17466 and `disk/ieee1275/nand.c'.
17467
17468 2008-04-25 Bean <bean123ch@gmail.com>
17469
17470 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
17471 i386-linuxbios.
17472
17473 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
17474 change the buffer size to 4096 for cdrom device.
17475
17476 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
17477 and nand.mod.
17478 (_linux_mod_SOURCES): New variable.
17479 (_linux_mod_CFLAGS): Likewise.
17480 (_linux_mod_LDFLAGS): Likewise.
17481 (linux_mod_SOURCES): Likewise.
17482 (linux_mod_CFLAGS): Likewise.
17483 (linux_mod_LDFLAGS): Likewise.
17484 (nand_mod_SOURCES): Likewise.
17485 (nand_mod_CFLAGS): Likewise.
17486 (nand_mod_LDFLAGS): Likewise.
17487
17488 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
17489 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
17490 type property. (nand device in olpc don't have this property)
17491
17492 * include/grub/disk.h (grub_disk_dev_id): New macro
17493 GRUB_DISK_DEVICE_NAND_ID.
17494
17495 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
17496 function prototype.
17497 (grub_rescue_cmd_initrd): Likewise.
17498
17499 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
17500 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
17501 ofw_cif_handler and ofw_idt, adjust padding number.
17502
17503 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
17504 GRUB_MACHINE_IEEE1275 is defined.
17505
17506 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
17507 Use NESTED_FUNC_ATTR attribute on the hook parameter.
17508
17509 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
17510 on nested function heap_init.
17511 (grub_upper_mem): New variable for i386-ieee1275.
17512 (grub_get_extended_memory): New function for i386-ieee1275.
17513 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
17514
17515 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
17516 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
17517 property.
17518
17519 * loader/i386/ieee1275/linux.c: New file.
17520
17521 * loader/i386/ieee1275/linux_normal.c: New file.
17522
17523 * disk/ieee1275/nand.c: New file.
17524
17525 2008-04-18 Thomas Schwinge <tschwinge@gnu.org>
17526
17527 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
17528 value.
17529 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
17530
17531 2008-04-18 Robert Millan <rmh@aybabtu.com>
17532
17533 Restructures early code path on ieee1275 to unify grub_main() as
17534 the first C function that is executed in every platform.
17535
17536 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
17537 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
17538 cmain().
17539 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
17540 * kern/ieee1275/cmain.c (cmain): Rename to ...
17541 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
17542 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
17543 at the beginning.
17544
17545 2008-04-18 Robert Millan <rmh@aybabtu.com>
17546
17547 * util/update-grub.in: Fix syntax error when setting
17548 `GRUB_PRELOAD_MODULES'.
17549 Reported by Stephane Chazelas <stephane@artesyncp.com>
17550
17551 2008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
17552
17553 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
17554 section into account, newer toolchains generate unique build ids
17555 * configure.ac: remove the test for --build-id=none acceptance,
17556 we want build ids to be preserved
17557 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
17558 far from other sections don't cause the raw binary images grow
17559 size
17560
17561 2008-04-15 Robert Millan <rmh@aybabtu.com>
17562
17563 * disk/lvm.c: Update copyright year.
17564 * kern/misc.c: Likewise.
17565
17566 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
17567
17568 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
17569 there is no memory left for physical volume name.
17570
17571 2008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
17572
17573 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
17574 volume name mapping to support bigger than 9 character names properly.
17575
17576 2008-04-13 Robert Millan <rmh@aybabtu.com>
17577
17578 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
17579 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
17580
17581 2008-04-13 Christian Franke <franke@computer.org>
17582
17583 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
17584 to create a floppy emulation boot CD when non emulation mode
17585 does not work.
17586 Enable Joliet CD filesystem extension.
17587
17588 2008-04-13 Robert Millan <rmh@aybabtu.com>
17589
17590 * kern/misc.c (grub_strncat): Fix off-by-one error.
17591 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
17592
17593 * kern/env.c (grub_env_context_close): Clear current context, not
17594 previous one.
17595 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
17596
17597 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
17598
17599 2008-04-13 Robert Millan <rmh@aybabtu.com>
17600
17601 Improve robustness when handling LVM.
17602
17603 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
17604 (and leave `*p' unmodified).
17605 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
17606 through it.
17607 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
17608 iterating through it.
17609 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
17610 through it.
17611 (grub_lvm_scan_device): Check the return value (and fail gracefully
17612 when due) on each grub_lvm_getvalue() or grub_strstr() call.
17613 Don't assume `vg->pvs != NULL' when iterating through it.
17614
17615 2008-04-13 Robert Millan <rmh@aybabtu.com>
17616
17617 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
17618 * genmk.rb (partmap): New variable.
17619 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
17620 (#{partmap}): New target rule.
17621 * genpartmaplist.sh: New file.
17622 * Makefile.in (pkglib_DATA): Add partmap.lst.
17623 (partmap.lst): New target rule.
17624 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
17625 modules (including all partition maps), instead of preloading them.
17626
17627 2007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
17628
17629 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
17630 `linux-boot-prober' (if installed) to detect other operating
17631 systems which are installed on the computer and add them to
17632 the boot menu.
17633 * conf/common.rmk: Build and install 30_os-prober.
17634
17635 2008-04-12 Robert Millan <rmh@aybabtu.com>
17636
17637 * kern/powerpc/ieee1275/init.c: Move from here ...
17638 * kern/ieee1275/init.c: ... to here. Update all users.
17639
17640 * kern/powerpc/ieee1275/cmain.c: Move from here ...
17641 * kern/ieee1275/cmain.c: ... to here. Update all users.
17642
17643 * kern/powerpc/ieee1275/openfw.c: Move from here ...
17644 * kern/ieee1275/openfw.c: ... to here. Update all users.
17645
17646 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
17647 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
17648
17649 2008-04-10 Pavel Roskin <proski@gnu.org>
17650
17651 * configure.ac: Always use "_cv_" in cache variables for
17652 compatibility with Autoconf 2.62.
17653
17654 2008-04-07 Robert Millan <rmh@aybabtu.com>
17655
17656 Revert grub/machine/init.h addition by Pavel (since it breaks on
17657 i386-ieee1275 and others):
17658 * util/i386/pc/misc.c: Remove grub/machine/init.h.
17659 * util/powerpc/ieee1275/misc.c: Likewise.
17660
17661 2008-04-07 Robert Millan <rmh@aybabtu.com>
17662
17663 * util/grub-probe.c (probe): Improve error message.
17664
17665 2008-04-07 Robert Millan <rmh@aybabtu.com>
17666
17667 * util/biosdisk.c (read_device_map): Skip devices that don't exist
17668 (this prevents the presence of a bogus entry from ruining the whole
17669 thing).
17670
17671 2008-04-06 Pavel Roskin <proski@gnu.org>
17672
17673 * util/biosdisk.c: Include grub/util/biosdisk.h.
17674 * util/grub-fstest.c (execute_command): Make static.
17675 * util/grub-mkdevicemap.c (check_device): Likewise.
17676 * util/i386/pc/misc.c: Include grub/machine/init.h.
17677 * util/powerpc/ieee1275/misc.c: Likewise.
17678 * util/lvm.c: Include grub/util/lvm.h.
17679 * util/misc.c: Include grub/kernel.h, grub/misc.h and
17680 grub/cache.h.
17681 * util/raid.c: Include grub/util/raid.h.
17682 (grub_util_getdiskname): Make static.
17683
17684 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
17685 grub_hostfs_fini(), as they are called from grub_init_all() and
17686 grub_fini_all() respectively. This fixes an infinite loop in
17687 grub-fstest due to double registration of hostfs.
17688 Reported by Christian Franke <Christian.Franke@t-online.de>
17689
17690 2008-04-05 Pavel Roskin <proski@gnu.org>
17691
17692 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
17693 all 8 functions. Otherwise, probe function 0 only.
17694
17695 2008-04-04 Pavel Roskin <proski@gnu.org>
17696
17697 * commands/lspci.c (grub_lspci_iter): Print the bus number
17698 correctly.
17699
17700 * commands/lspci.c (grub_pci_classes): Fix typos.
17701 (grub_lspci_iter): Don't print func twice. Print vendor ID
17702 before device ID, as it's normally done.
17703
17704 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
17705 Fix signedness warnings.
17706 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
17707 Likewise.
17708 * util/ieee1275/get_disk_name.c: Include config.h so that
17709 _GNU_SOURCE is defined and getline() is declared. Mark an
17710 unused argument as such. Fix a signedness warning.
17711
17712 2008-04-02 Pavel Roskin <proski@gnu.org>
17713
17714 * genkernsyms.sh.in: Use more robust assignments for CC and
17715 srcdir. Quote srcdir.
17716 * gensymlist.sh.in: Likewise. Assert at the compile time that
17717 the symbol table is not empty.
17718
17719 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
17720 * fs/cpio.c (grub_cpio_read): Likewise.
17721
17722 2008-04-01 Pavel Roskin <proski@gnu.org>
17723
17724 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
17725 * disk/host.c (grub_host_open): Likewise.
17726 * disk/loopback.c (grub_loopback_open): Likewise.
17727 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
17728 disk->id as in disk/host.c, not a multi-character constant.
17729
17730 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
17731 later is obsolete, potentially dangerous and sets a bad example.
17732 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
17733 * util/misc.c (grub_util_get_image_size): Likewise.
17734
17735 * disk/loopback.c (options): Improve help for "--partitions".
17736
17737 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
17738 options to align them with the short options, e.g. "echo -e".
17739
17740 2008-03-31 Bean <bean123ch@gmail.com>
17741
17742 * video/reader/png.c (grub_png_data): New member is_16bit and
17743 image_data.
17744 (grub_png_decode_image_header): Detect 16 bit png image.
17745 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
17746 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
17747 (grub_video_reader_png): Release memory occupied by image_data.
17748
17749 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
17750 4096 bytes.
17751 (grub_nfs_mount): Skip the test for sector per cluster.
17752
17753 * include/grub/ntfs.h (MAX_SPC): Removed.
17754
17755 2008-03-31 Bean <bean123ch@gmail.com>
17756
17757 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
17758 (grub_probe_SOURCES): Add fs/afs.c.
17759 (grub_fstest_SOURCES): Likewise.
17760 (afs_mod_SOURCES): New variable.
17761 (afs_mod_CFLAGS): Likewise.
17762 (afs_mod_LDFLAGS): Likewise.
17763
17764 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
17765 (grub_emu_SOURCES): Likewise.
17766
17767 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17768
17769 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17770
17771 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
17772
17773 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17774
17775 * fs/afs.c: New file.
17776
17777 2008-03-30 Pavel Roskin <proski@gnu.org>
17778
17779 * disk/host.c: Include grub/misc.h to fix a warning.
17780 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
17781 warnings about implicit declarations.
17782
17783 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
17784 variable.
17785 * include/grub/i386/loader.h: Change declaration of
17786 grub_linux_boot() to match what grub_loader_set() expects.
17787 * util/getroot.c (grub_guess_root_device): Return const char* to
17788 fix a warning.
17789 * util/grub-probe.c (probe): Fix a warning about uninitialized
17790 abstraction_name variable.
17791 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
17792 second argument as unused to fix a warning.
17793
17794 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
17795 missing grub_error() call.
17796
17797 * util/update-grub_lib.in: Define datarootdir, since Autoconf
17798 2.60 and newer uses it to define datadir.
17799
17800 * commands/sleep.c: Fix warning about implicit declaration.
17801 * disk/memdisk.c: Likewise.
17802 * loader/aout.c: Likewise.
17803 * loader/i386/bsd_normal.c: Likewise.
17804 * util/grub-probe.c: Likewise.
17805
17806 * commands/i386/cpuid.c (has_longmode): Make static.
17807 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
17808 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
17809
17810 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
17811 GDT. This is more robust, as %ds can change.
17812 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
17813 calling real_to_prot().
17814 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
17815
17816 2008-03-28 Pavel Roskin <proski@gnu.org>
17817
17818 * kern/i386/pc/startup.S: Assert that uncompressed functions
17819 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
17820 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
17821 code, as they push parts of the code (error handlers) beyond
17822 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
17823 code as correctness and size.
17824
17825 2008-03-28 Pavel Roskin <proski@gnu.org>
17826
17827 * kern/i386/pc/startup.S
17828 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
17829 data block address to the real mode, keep offset minimal. This
17830 works around a bug in AWARD BIOS on old Athlon systems, which
17831 makes CD detection hang.
17832
17833 2008-03-26 Pavel Roskin <proski@gnu.org>
17834
17835 * normal/color.c (grub_parse_color_name_pair): Make `name' a
17836 const.
17837 * include/grub/normal.h: Add grub_parse_color_name_pair()
17838 declaration.
17839
17840 2008-03-24 Bean <bean123ch@gmail.com>
17841
17842 * disk/i386/pc/biosdisk.c (cd_start): Removed.
17843 (cd_count): Removed.
17844 (cd_drive): New variable.
17845 (grub_biosdisk_get_drive): Don't check for (cdN) device.
17846 (grub_biosdisk_call_hook): Likewise.
17847 (grub_biosdisk_iterate): Change cdrom detection method.
17848 (grub_biosdisk_open): Replace cd_start with cd_drive.
17849 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
17850 detect cdrom device.
17851
17852 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
17853 Removed.
17854 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
17855 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
17856 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
17857 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
17858 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
17859 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
17860 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
17861 (grub_biosdisk_cdrp): New structure.
17862 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
17863
17864 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
17865
17866 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
17867 device.
17868
17869 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
17870 New function.
17871
17872 2008-03-20 Robert Millan <rmh@aybabtu.com>
17873
17874 Remove 2 TiB limit in ata.mod.
17875 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
17876 (grub_ata_dumpinfo): Print sector count with 0x%llx.
17877 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
17878 grub_uint64_t instead of grub_uint32_t.
17879
17880 2008-03-05 Bean <bean123ch@gmail.com>
17881
17882 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
17883 (grub_multiboot): Set boot device.
17884
17885 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
17886
17887 2008-03-02 Bean <bean123ch@gmail.com>
17888
17889 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
17890 symlink_buffer.
17891
17892 2008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
17893
17894 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
17895 texinfo.tex.
17896
17897 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
17898 modified.
17899
17900 * docs/fdl.texi: New file.
17901
17902 * docs/mdate-sh: New file. Copied from gnulib.
17903 * docs/texinfo.tex: Likewise.
17904
17905 * config.guess: Updated from gnulib.
17906 * install-sh: Likewise.
17907
17908 2008-02-28 Robert Millan <rmh@aybabtu.com>
17909
17910 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
17911 (aout_mod_SOURCES): New variable.
17912 (aout_mod_CFLAGS): Likewise.
17913 (aout_mod_LDFLAGS): Likewise.
17914
17915 * conf/i386-ieee1275.rmk: Likewise.
17916
17917 2008-02-28 Robert Millan <rmh@aybabtu.com>
17918
17919 * util/update-grub.in: Reorganise terminal validity check. Accept
17920 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
17921 Based on suggestion by Franklin PIAT.
17922
17923 2008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
17924
17925 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
17926 function.
17927 * util/getroot.c (grub_util_check_block_device): New function that
17928 returns the given argument if it is a block device and returns NULL else.
17929 * util/grub-probe.c (argument_is_device): New variable.
17930 (probe): Promote device_name from a variable to an argument. Receive
17931 device_name from grub_util_check_block_device() if path is NULL and from
17932 grub_guess_root_device() else. Do not free() device_name anymore.
17933 (options): Introduce new parameter '-d, --device'.
17934 (main): Add description of the new parameter to the help screen.
17935 Rename path variable to argument. Set argument_is_device if the '-d'
17936 option is given. Pass argument to probe() depending on
17937 argument_is_device.
17938
17939 2008-02-24 Bean <bean123ch@gmail.com>
17940
17941 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
17942 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
17943 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
17944 (GRUB_ISO9660_VOLDESC_PART): Likewise.
17945 (GRUB_ISO9660_VOLDESC_END): Likewise.
17946 (grub_iso9660_primary_voldesc): New member escape.
17947 (grub_iso9660_data): New member joliet.
17948 (grub_iso9660_convert_string): New function.
17949 (grub_iso9660_mount): Detect joliet extension.
17950 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
17951 (grub_iso9660_iso9660_label): Likewise.
17952
17953 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
17954 (grub_setup_SOURCES): Add fs/udf.c.
17955 (grub_fstest_SOURCES): Likewise.
17956 (udf_mod_SOURCES): New variable.
17957 (udf_mod_CFLAGS): Likewise.
17958 (udf_mod_LDFLAGS): Likewise.
17959
17960 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
17961 (grub_emu_SOURCES): Likewise.
17962
17963 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17964
17965 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17966
17967 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
17968
17969 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17970
17971 * fs/udf.c: New file.
17972
17973 2008-02-24 Robert Millan <rmh@aybabtu.com>
17974
17975 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
17976 (normal/lexer.c_DEPENDENCIES): New variables.
17977 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
17978 (normal/lexer.c_DEPENDENCIES): Likewise.
17979 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
17980 (normal/lexer.c_DEPENDENCIES): Likewise.
17981 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
17982 (normal/lexer.c_DEPENDENCIES): Likewise.
17983 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
17984 (normal/lexer.c_DEPENDENCIES): Likewise.
17985 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
17986 (normal/lexer.c_DEPENDENCIES): Likewise.
17987
17988 2008-02-23 Robert Millan <rmh@aybabtu.com>
17989
17990 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
17991 since they were intended to be in hex. This didn't break previously
17992 because of a bug in gpt_partition_map_iterate() (see below).
17993
17994 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
17995 when checking the validity of GPT header.
17996 Remove `partno', since it always provides the same information as `i'.
17997
17998 2008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
17999
18000 * include/grub/efi/time.h: Fix a wrong comment.
18001
18002 2008-02-19 Pavel Roskin <proski@gnu.org>
18003
18004 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
18005 message.
18006
18007 2008-02-19 Bean <bean123ch@gmail.com>
18008
18009 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
18010 (aout_mod_SOURCES): New variable.
18011 (aout_mod_CFLAGS): Likewise.
18012 (aout_mod_LDFLAGS): Likewise.
18013 (_bsd_mod_SOURCES): New variable.
18014 (_bsd_mod_CFLAGS): Likewise.
18015 (_bsd_mod_LDFLAGS): Likewise.
18016 (bsd_mod_SOURCES): New variable.
18017 (bsd_mod_CFLAGS): Likewise.
18018 (bsd_mod_LDFLAGS): Likewise.
18019
18020 * include/grub/aout.h: New file.
18021
18022 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
18023
18024 * include/grub/i386/bsd.h: New file.
18025
18026 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
18027 to make it public.
18028
18029 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
18030 function is called, so that it's possible to change it inside the hook.
18031 (grub_elf64_load): Likewise.
18032 (grub_elf_file): Don't close the file if elf header is not found.
18033 (grub_elf_close): Close the file if grub_elf_file fails (The new
18034 grub_elf_file won't close it).
18035 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
18036 (grub_elf64_size): Likewise.
18037
18038 * kern/i386/loader.S (grub_unix_real_boot): New function.
18039
18040 * loader/aout.c: New file.
18041
18042 * loader/i386/bsd.c: New file.
18043
18044 * loader/i386/bsd_normal.c: New file.
18045
18046 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
18047
18048 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
18049 can test other formats.
18050
18051 2008-02-19 Robert Millan <rmh@aybabtu.com>
18052
18053 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
18054 (grub_gpt_partition_type_empty): Redefine with macro from
18055 `<grub/gpt_partition.h>'.
18056 (gpt_partition_map_iterate): Adjust partition type comparison.
18057
18058 Export `entry' as partmap-specific `part.data' struct.
18059 (grub_gpt_header, grub_gpt_partentry): Move from here ...
18060
18061 * include/grub/gpt_partition.h (grub_gpt_header)
18062 (grub_gpt_partentry): ... to here (new file).
18063
18064 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
18065
18066 (grub_gpt_partition_type_bios_boot): New const variable, defined
18067 with macro from `<grub/gpt_partition.h>'.
18068
18069 (setup): Replace `first_start' with `embed_region', which keeps
18070 track of the embed region (and is partmap-agnostic).
18071
18072 Replace find_first_partition_start() with find_usable_region(),
18073 which finds a usable region for embedding using partmap-specific
18074 knowledge (supports PC/MSDOS and GPT).
18075
18076 Fix all assumptions that the embed region start at sector 1, using
18077 `embed_region.start' from now on. Similarly, use `embed_region.end'
18078 rather than `first_start' to calculate available size.
18079
18080 In grub_util_info() message, replace "into after the MBR" with an
18081 indication of the specific sector our embed region starts at.
18082
18083 2008-02-19 Robert Millan <rmh@aybabtu.com>
18084
18085 * DISTLIST: Replace `commands/ieee1275/halt.c' and
18086 `commands/ieee1275/reboot.c' with `commands/halt.c' and
18087 `commands/reboot.c'.
18088 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
18089 (halt_mod_SOURCES): Likewise.
18090 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
18091 (halt_mod_SOURCES): Likewise.
18092
18093 2008-02-17 Christian Franke <franke@computer.org>
18094
18095 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
18096
18097 2008-02-17 Robert Millan <rmh@aybabtu.com>
18098
18099 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
18100 set `first_start' to 0 for non-PC/MSDOS partition maps.
18101
18102 2008-02-16 Robert Millan <rmh@aybabtu.com>
18103
18104 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
18105 do not assume partition map is PC/MSDOS before performing checks that
18106 are specific to that layout.
18107
18108 2008-02-13 Robert Millan <rmh@aybabtu.com>
18109
18110 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
18111 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
18112 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
18113
18114 2008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
18115
18116 * configure.ac: Only a cosmetic change on the handling of
18117 -fno-stack-protector.
18118
18119 2008-02-12 Alexandre Boeglin <alex@boeglin.org>
18120
18121 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
18122 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
18123 reboot.c.
18124 (grub_install_SOURCES): Add halt.mod and reboot.mod.
18125 (halt_mod_SOURCES): New variable.
18126 (halt_mod_CFLAGS): Likewise.
18127 (halt_mod_LDFLAGS): Likewise.
18128 (reboot_mod_SOURCES): Likewise.
18129 (reboot_mod_CFLAGS): Likewise.
18130 (reboot_mod_LDFLAGS): Likewise.
18131
18132 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
18133 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
18134 reboot.c.
18135 (halt_mod_SOURCES): Likewise.
18136 (reboot_mod_SOURCES): Likewise.
18137
18138 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
18139 commands/i386/pc/reboot.c by commands/reboot.c.
18140 (reboot_mod_SOURCES): Likewise.
18141
18142 * commands/i386/pc/reboot.c: merge this file ...
18143
18144 * commands/ieee1275/reboot.c: ... and this file ...
18145
18146 * commands/reboot.c: ... to this file.
18147 Add some precompiler directive to include the correct header for
18148 each machine.
18149
18150 * commands/ieee1275/halt.c: move this file ...
18151
18152 * commands/halt.c: ... to here.
18153 Add some precompiler directive to include the correct header for
18154 each machine.
18155
18156 * include/grub/efi/efi.h (grub_reboot): New function declaration.
18157 (grub_halt): Likewise.
18158
18159 * kern/efi/efi.c (grub_reboot): New function.
18160 (grub_halt): Likewise.
18161
18162 2008-02-12 Robert Millan <rmh@aybabtu.com>
18163
18164 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
18165 /dev (like it is done for /dev/mapper). This doesn't provide support
18166 for EVMS, but at least it is now easy to identify the problem when it
18167 arises.
18168
18169 2008-02-11 Robert Millan <rmh@aybabtu.com>
18170
18171 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
18172 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
18173 comparing it with -1, not 0.
18174
18175 2008-02-10 Robert Millan <rmh@aybabtu.com>
18176
18177 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
18178 `disk/lvm.c'.
18179 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18180 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
18181
18182 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
18183 `disk/lvm.c' to the end of the list.
18184 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
18185 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18186
18187 2008-02-10 Robert Millan <rmh@aybabtu.com>
18188
18189 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
18190 grub_print_error() instead. This will let user know why we're entering
18191 rescue mode.
18192 Based on suggestions from Sam Morris.
18193
18194 2008-02-10 Alexandre Boeglin <alex@boeglin.org>
18195
18196 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
18197 on remaining N args, instead of "--" arg N times.
18198
18199 2008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
18200
18201 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
18202 (fill_with_default_glyph): Changed to use unknown_glyph for fill
18203 pattern for unknown glyphs.
18204
18205 2008-02-09 Robert Millan <rmh@aybabtu.com>
18206
18207 * configure.ac: Probe for `help2man'.
18208 * Makefile.in (builddir): New variable.
18209 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
18210 or otherwise add a few flags/options to it.
18211 (install-local): For every executable utility or script that is
18212 installed, invoke $(HELP2MAN) to install a manpage based on --help
18213 output.
18214
18215 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
18216 that it doesn't prevent --help from working in build tree.
18217
18218 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
18219 with `bug-grub@gnu.org'.
18220 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
18221 * util/update-grub.in (usage): New function.
18222 Implement proper argument check, with support for --help and --version
18223 (as well as existing -y).
18224
18225 2008-02-09 Christian Franke <franke@computer.org>
18226
18227 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
18228 avoid overwriting previous output.
18229 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
18230
18231 2008-02-09 Robert Millan <rmh@aybabtu.com>
18232
18233 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
18234 drawing the menu.
18235
18236 2008-02-09 Robert Millan <rmh@aybabtu.com>
18237
18238 * commands/sleep.c: New file.
18239 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
18240 (sleep_mod_SOURCES): New variable.
18241 (sleep_mod_CFLAGS): Likewise.
18242 (sleep_mod_LDFLAGS): Likewise.
18243
18244 2008-02-09 Robert Millan <rmh@aybabtu.com>
18245
18246 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
18247 situations in which we can deduce the RAID size and the superblock
18248 doesn't match it.
18249
18250 2008-02-09 Robert Millan <rmh@aybabtu.com>
18251
18252 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
18253 and return a grub_diskmemberlist_t composed of LVM physical volumes.
18254 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
18255
18256 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
18257 and return a grub_diskmemberlist_t composed of physical array members.
18258 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
18259
18260 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
18261 prototype.
18262 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
18263 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
18264 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
18265
18266 * util/grub-probe.c (probe): Move partmap probing code from here ...
18267 (probe_partmap): ... to here.
18268 (probe): Use probe_partmap() once for the disk we're probing, and
18269 additionally, when such disk contains a memberlist() struct member,
18270 once for each disk that is contained in the structure returned by
18271 memberlist().
18272
18273 2008-02-09 Robert Millan <rmh@aybabtu.com>
18274
18275 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
18276 environment variable to 'all' in order to obtain debug output from
18277 non-util/ code.
18278 * util/i386/pc/grub-setup.c (main): Likewise.
18279
18280 2008-02-08 Robert Millan <rmh@aybabtu.com>
18281
18282 * disk/raid.c (grub_raid_scan_device): Check for
18283 `array->device[sb.this_disk.number]' rather than for
18284 `array->device[sb.this_disk.number]->name', since the latter is not
18285 guaranteed to be accessible.
18286
18287 2008-02-08 Robert Millan <rmh@aybabtu.com>
18288
18289 * disk/raid.c: Update copyright.
18290 * fs/cpio.c: Likewise.
18291 * include/grub/raid.h: Likewise.
18292 * loader/i386/pc/multiboot.c: Likewise.
18293 * util/hostfs.c: Likewise.
18294
18295 2008-02-08 Robert Millan <rmh@aybabtu.com>
18296
18297 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
18298 to a grub_disk_t array.
18299 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
18300 `device[x]'.
18301 (grub_raid_scan_device): Replace `device[x].name' accesses with
18302 `device[x]->name'. Simplify initialization of `array->device[x]'.
18303
18304 2008-02-08 Robert Millan <rmh@aybabtu.com>
18305
18306 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
18307 grub_dprintf() calls.
18308 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
18309 error message.
18310
18311 2008-02-07 Christian Franke <franke@computer.org>
18312
18313 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
18314 instead of fseek and ftell to support large files.
18315 (grub_hostfs_read): Likewise.
18316
18317 2008-02-07 Robert Millan <rmh@aybabtu.com>
18318
18319 Patch from Jeroen Dekkers.
18320 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
18321 failure, since successfully reading all array members might not be
18322 required.
18323
18324 2008-02-06 Robert Millan <rmh@aybabtu.com>
18325
18326 * util/grub-probe.c (probe): Simplify partmap probing (with the
18327 assumption that the first word up to the underscore equals to
18328 the module name).
18329
18330 2008-02-06 Christian Franke <franke@computer.org>
18331
18332 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
18333 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
18334 last block of a cpio or tar stream.
18335 Check for "TRAILER!!!" instead of any empty data
18336 block to detect last block of a cpio stream.
18337 (grub_cpio_dir): Fix constness of variable np.
18338 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
18339 cpio or tar trailer is detected. This fixes a crash
18340 on open of a non existing file.
18341
18342 2008-02-05 Bean <bean123ch@gmail.com>
18343
18344 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
18345 address of entry.
18346 (grub_multiboot_load_elf64): Likewise.
18347 (grub_multiboot): Initialize mbi structure.
18348
18349 * util/grub-fstest.c: Don't include unused header file script.h.
18350
18351 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
18352 of file.
18353 (grub_fstest_SOURCES): Likewise.
18354
18355 2008-02-05 Robert Millan <rmh@aybabtu.com>
18356
18357 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
18358 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
18359 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
18360 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
18361
18362 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
18363 (translation_table): Replace hardcoded values with macros
18364 provided by `<grub/term.h>'.
18365
18366 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
18367 (keyboard_map): Correct/add a few values, with macros provided
18368 by `<grub/term.h>'.
18369 (keyboard_map_shift): Zero values that don't differ from their
18370 `keyboard_map' equivalents.
18371 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
18372 Discard the second scan code that is always sent by Caps lock.
18373 Only use `keyboard_map_shift' when it provides a non-zero value,
18374 otherwise fallback to `keyboard_map'.
18375
18376 2008-02-04 Bean <bean123ch@gmail.com>
18377
18378 * Makefile.in (enable_grub_fstest): New variable.
18379
18380 * conf/common.rmk (grub_fstest_init.lst): New rule.
18381 (grub_fstest_init.h): Likewise.
18382 (grub_fstest_init.c): Likewise.
18383 (util/grub-fstest.c_DEPENDENCIES): New variable.
18384 (grub_fstest_SOURCES): Likewise.
18385
18386 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
18387
18388 * util/grub-fstest.c: New file.
18389
18390 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
18391
18392 Make grub-setup handle a separate root device.
18393
18394 * util/i386/pc/grub-setup.c (setup): Always open the root device,
18395 so that the root device can be compared with the destination
18396 device.
18397 When embedding the core image, if the root and destination devices
18398 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
18399 0xFF.
18400 When not embedding, set ROOT_DRIVE to 0xFF.
18401
18402 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
18403
18404 Add support for having a grub directory in a different drive. This
18405 is still only the data handling part.
18406
18407 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
18408 (codestart): Save %dh in GRUB_ROOT_DRIVE.
18409 (grub_root_drive): New variable.
18410
18411 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
18412 instead of GRUB_BOOT_DRIVE to construct a device name. Set
18413 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
18414 as it was.
18415
18416 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
18417
18418 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
18419 macro.
18420 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
18421
18422 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
18423 is bogus, because PXE booting does not specify any drive
18424 correctly.
18425
18426 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
18427 am not sure if this is really correct.
18428
18429 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
18430 is always identical to the boot drive when booting from a CD.
18431
18432 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
18433 longer.
18434 (root_drive): New variable.
18435 (real_start): Unconditionally set %dh to ROOT_DRIVE.
18436 (setup_sectors): Push %dx right after popping it, because %dh will
18437 be modified later.
18438 (copy_buffer): Restore %dx.
18439
18440 2008-02-03 Robert Millan <rmh@aybabtu.com>
18441
18442 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
18443 use `cdboot.img' for cdrom images.
18444
18445 2008-02-03 Robert Millan <rmh@aybabtu.com>
18446
18447 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
18448 only setup gfxterm when `font' command has succeeded.
18449
18450 2008-02-03 Robert Millan <rmh@aybabtu.com>
18451
18452 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
18453 (grub_rescue_cmd_multiboot_loader)
18454 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
18455
18456 2008-02-03 Pavel Roskin <proski@gnu.org>
18457
18458 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
18459 %edx and %esi from stack only after grub_gate_a20() is called.
18460 grub_gate_a20() clobbers %edx.
18461
18462 2008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
18463
18464 * configure.ac (AC_INIT): Bumped to 1.96.
18465
18466 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
18467 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
18468 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
18469 video/readers/png.c.
18470
18471 2008-02-03 Bean <bean123ch@gmail.com>
18472
18473 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
18474 (cdboot_img_SOURCES): New variable.
18475 (cdboot_img_ASFLAGS): New variable.
18476 (cdboot_img_LDFLAGS): New variable.
18477
18478 * boot/i386/pc/cdboot.S: New file.
18479
18480 * disk/i386/pc/biosdisk.c (cd_start): New variable.
18481 (cd_count): Likewise.
18482 (grub_biosdisk_get_drive): Add support for cd device.
18483 (grub_biosdisk_call_hook): Likewise.
18484 (grub_biosdisk_iterate): Likewise.
18485 (grub_biosdisk_open): Likewise.
18486 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
18487 (grub_biosdisk_rw): Support reading from cd device.
18488 (GRUB_MOD_INIT): Iterate cd devices.
18489
18490 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
18491 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
18492 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
18493
18494 * kern/i386/pc/init.c (make_install_device): Check for cd device.
18495
18496 2008-02-02 Robert Millan <rmh@aybabtu.com>
18497
18498 * commands/read.c: New file.
18499 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
18500 (read_mod_SOURCES): New variable.
18501 (read_mod_CFLAGS): Likewise.
18502 (read_mod_LDFLAGS): Likewise.
18503
18504 2008-02-02 Robert Millan <rmh@aybabtu.com>
18505
18506 * normal/main.c (grub_normal_execute): Check for `menu->size' when
18507 determining whether menu has to be displayed.
18508
18509 2008-02-02 Marco Gerards <marco@gnu.org>
18510
18511 * bus/pci.c: New file.
18512
18513 * include/grub/pci.h: Likewise.
18514
18515 * include/grub/i386/pc/pci.h: Likewise.
18516
18517 * commands/lspci.c: Likewise.
18518
18519 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
18520 `lspci.mod'.
18521 (pci_mod_SOURCES): New variable.
18522 (pci_mod_CFLAGS): Likewise.
18523 (pci_mod_LDFLAGS): Likewise.
18524 (lspci_mod_SOURCES): Likewise.
18525 (lspci_mod_CFLAGS): Likewise.
18526 (lspci_mod_LDFLAGS): Likewise.
18527
18528 2008-02-02 Bean <bean123ch@gmail.com>
18529
18530 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
18531 (grub_ufs_get_file_block): Fix indirect block calculation problem.
18532
18533 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
18534 (grub_xfs_btree_node): New structure.
18535 (grub_xfs_btree_root): New structure.
18536 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
18537 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
18538 (GRUB_XFS_EXTENT_BLOCK): Likewise.
18539 (GRUB_XFS_EXTENT_SIZE): Likewise.
18540 (grub_xfs_read_block): Support btree format type.
18541 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
18542 Use directory block as basic unit.
18543
18544 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
18545
18546 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
18547 __attribute__ ((__regparm__ (1))).
18548
18549 2008-02-01 Robert Millan <rmh@aybabtu.com>
18550
18551 Correct a mistake in previous commit.
18552
18553 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
18554 top.
18555 (normal/command.c_DEPENDENCIES): New variable.
18556
18557 2008-02-01 Robert Millan <rmh@aybabtu.com>
18558
18559 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
18560 top.
18561 (normal/command.c_DEPENDENCIES): New variable.
18562 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
18563 * conf/i386-ieee1275.rmk: Likewise.
18564 * conf/i386-linuxbios.rmk: Likewise.
18565 * conf/i386-pc.rmk: Likewise.
18566 * conf/sparc64-ieee1275.rmk: Likewise.
18567 * conf/powerpc-ieee1275.rmk: Likewise.
18568 (grub_emu_SOURCES): Add `fs/fshelp.c'.
18569
18570 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
18571
18572 2008-02-01 Robert Millan <rmh@aybabtu.com>
18573
18574 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
18575 call at beginning of function.
18576
18577 2008-01-31 Pavel Roskin <proski@gnu.org>
18578
18579 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
18580 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
18581 (grub_mkrescue_SOURCES): Likewise.
18582 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
18583
18584 2008-01-30 Robert Millan <rmh@aybabtu.com>
18585
18586 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
18587 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
18588 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
18589 (grub_probe_SOURCES): ... to here.
18590
18591 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
18592 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
18593 * conf/i386-ieee1275.rmk: Likewise.
18594 * conf/i386-linuxbios.rmk: Likewise.
18595 * conf/powerpc-ieee1275.rmk: Likewise.
18596
18597 2008-01-30 Tristan Gingold <gingold@free.fr>
18598
18599 * kern/rescue.c: Silently accept empty lines.
18600
18601 2008-01-29 Bean <bean123ch@gmail.com>
18602
18603 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
18604 (real_code_2): Code cleanup and change comment style.
18605 (move_memory): Avoid using 32-bit address mode.
18606
18607 2008-01-29 Bean <bean123ch@gmail.com>
18608
18609 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
18610 (png_mod_SOURCES): New variable.
18611 (png_mod_CFLAGS): Likewise.
18612 (png_mod_LDFLAGS): Likewise.
18613
18614 * video/readers/png.c: New file.
18615
18616 2008-01-28 Robert Millan <rmh@aybabtu.com>
18617
18618 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
18619 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
18620 `ifndef GRUB_MOD_GAP' hack.
18621 * util/elf/grub-mkimage.c (add_segments): Likewise.
18622
18623 2008-01-27 Robert Millan <rmh@aybabtu.com>
18624
18625 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
18626 `GRUB_MOD_GAP' for platforms in which it's not defined.
18627 * util/elf/grub-mkimage.c (add_segments): Likewise.
18628
18629 2008-01-27 Robert Millan <rmh@aybabtu.com>
18630
18631 Get grub-emu to build again (including parallel builds).
18632
18633 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
18634 Split into ...
18635 (util/grub-emu.c_DEPENDENCIES): ... this, ...
18636 (normal/execute.c_DEPENDENCIES): ... this, ...
18637 (grub-emu_DEPENDENCIES): ... and this.
18638
18639 * conf/i386-efi.rmk: Likewise.
18640 * conf/i386-linuxbios.rmk: Likewise.
18641 * conf/i386-ieee1275.rmk: Likewise.
18642 * conf/powerpc-ieee1275.rmk: Likewise.
18643 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
18644
18645 2008-01-27 Robert Millan <rmh@aybabtu.com>
18646
18647 * NEWS: Add a few items.
18648
18649 2008-01-27 Robert Millan <rmh@aybabtu.com>
18650
18651 Fix parallel builds with grub-emu. Based on earlier commit for
18652 grub-probe and grub-setup.
18653
18654 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
18655 (util/grub-emu.c_DEPENDENCIES): ... this.
18656 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
18657 (util/grub-emu.c_DEPENDENCIES): ... this.
18658 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
18659 (util/grub-emu.c_DEPENDENCIES): ... this.
18660 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
18661 (util/grub-emu.c_DEPENDENCIES): ... this.
18662 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
18663 (util/grub-emu.c_DEPENDENCIES): ... this.
18664
18665 2008-01-27 Pavel Roskin <proski@gnu.org>
18666
18667 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
18668 to create a gap between _end and the modules added to the image
18669 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
18670 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
18671 * util/elf/grub-mkimage.c (add_segments): Likewise.
18672
18673 2008-01-26 Pavel Roskin <proski@gnu.org>
18674
18675 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
18676 just return an error.
18677
18678 2008-01-26 Bean <bean123ch@gmail.com>
18679
18680 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
18681 (grub_reiserfs_get_item): Save offset of the next item.
18682 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
18683
18684 2008-01-25 Robert Millan <rmh@aybabtu.com>
18685
18686 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
18687 make all filesystem sources appear together (possibly fixing omissions
18688 while at it).
18689 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18690 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18691 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
18692 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18693
18694 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
18695 add `kern/file.c'.
18696 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
18697 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
18698 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
18699 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
18700
18701 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
18702 (probe): Add a sanity check to make sure of our ability to read
18703 requested files when probing for filesystem type.
18704
18705 * genmk.rb: Update copyright year (2007).
18706
18707 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
18708 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
18709 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
18710 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
18711 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
18712 : Remove function prototypes.
18713
18714 2008-01-25 Robert Millan <rmh@aybabtu.com>
18715
18716 Revert my previous commits (based on wrong assumption of how grub_errno
18717 works).
18718
18719 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
18720 * kern/file.c (grub_file_open): Likewise.
18721
18722 2008-01-24 Pavel Roskin <proski@gnu.org>
18723
18724 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
18725 that hang if GRUB tries to setup colors.
18726 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
18727 colors for firmwares that don't support it.
18728 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
18729 Recognize Open Hack'Ware, set flags to work around its
18730 limitations.
18731
18732 2008-01-24 Robert Millan <rmh@aybabtu.com>
18733
18734 * kern/file.c (grub_file_open): Do not account previous failures of
18735 unrelated functions when grub_errno is checked for.
18736 Reported by Oleg Strikov.
18737
18738 2008-01-24 Bean <bean123ch@gmail.com>
18739
18740 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
18741 (grub_ufs_sblock): New member volume name.
18742 (grub_ufs_find_file): Fix string copy bug.
18743 (grub_ufs_label): Implement this function properly.
18744
18745 * fs/hfs.c (grub_hfs_cnid_type): New enum.
18746 (grub_hfs_iterate_records): Use the correct file number for extents
18747 and catalog file. Fix problem in next index calculation.
18748 (grub_hfs_find_node): Replace recursive function call with loop.
18749 (grub_hfs_iterate_dir): Replace recursive function call with loop.
18750
18751 2008-01-23 Robert Millan <rmh@aybabtu.com>
18752
18753 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
18754 `<grub/symbol.h>' and `<grub/multiboot.h>'.
18755 (grub_multiboot2_real_boot): New function prototype.
18756
18757 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
18758 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
18759
18760 * kern/i386/ieee1275/init.c (grub_os_area_addr)
18761 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
18762
18763 2008-01-23 Robert Millan <rmh@aybabtu.com>
18764
18765 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
18766 #ifdef'ed out grub_printf().
18767
18768 2008-01-23 Robert Millan <rmh@aybabtu.com>
18769
18770 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
18771 grub_dprintf calls, since they make "debug=all" mode unusable.
18772 (grub_console_checkkey): Likewise.
18773
18774 2008-01-23 Robert Millan <rmh@aybabtu.com>
18775
18776 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
18777 `term/i386/pc/at_keyboard.c'.
18778 (pkglib_MODULES): Add `serial.mod'.
18779 (serial_mod_SOURCES): New variable.
18780 (serial_mod_CFLAGS): Likewise.
18781 (serial_mod_LDFLAGS): Likewise.
18782
18783 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
18784 `<grub/powerpc/ieee1275/console.h>'.
18785 (grub_keyboard_controller_init): New function prototype.
18786 (grub_console_checkkey): Likewise.
18787 (grub_console_getkey): Likewise.
18788
18789 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
18790 keyboard on i386.
18791
18792 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
18793 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
18794
18795 2008-01-23 Robert Millan <rmh@aybabtu.com>
18796
18797 * kern/i386/pc/init.c (make_install_device): When memdisk image is
18798 present, "(memdisk)/boot/grub" becomes the default prefix.
18799
18800 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
18801 a memdisk tarball with all the modules. Add --overlay=DIR option that
18802 allows users to overlay additional files into the image.
18803
18804 2008-01-23 Robert Millan <rmh@aybabtu.com>
18805
18806 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
18807 and `machine/memory.h'.
18808 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
18809 (_multiboot_mod_SOURCES): New variable.
18810 (_multiboot_mod_CFLAGS): Likewise.
18811 (_multiboot_mod_LDFLAGS): Likewise.
18812 (multiboot_mod_SOURCES): Likewise.
18813 (multiboot_mod_CFLAGS): Likewise.
18814 (multiboot_mod_LDFLAGS): Likewise.
18815
18816 * include/grub/i386/ieee1275/loader.h: New file.
18817
18818 * include/grub/i386/ieee1275/machine.h: Likewise.
18819
18820 * include/grub/i386/ieee1275/memory.h: Likewise.
18821
18822 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
18823 variable declaration.
18824 (grub_os_area_size): Likewise.
18825
18826 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
18827 (grub_lower_mem, grub_upper_mem): New variables.
18828 (grub_stop_floppy): New function (just to make
18829 grub_multiboot2_real_boot() happy).
18830
18831 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
18832 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
18833 (grub_stop): New function.
18834 Include `"../realmode.S"' and `"../loader.S"'.
18835
18836 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
18837 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
18838
18839 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
18840 rely on grub_multiboot2_real_boot() for final boot.
18841
18842 2008-01-22 Robert Millan <rmh@aybabtu.com>
18843
18844 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
18845 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
18846 device that doesn't look like an SD card.
18847 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
18848 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
18849 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
18850 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
18851 found.
18852
18853 2008-01-22 Robert Millan <rmh@aybabtu.com>
18854
18855 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
18856 avoid claiming over our own code.
18857
18858 2008-01-22 Bean <bean123ch@gmail.com>
18859
18860 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
18861 (jpeg_mod_SOURCES): New variable.
18862 (jpeg_mod_CFLAGS): Likewise.
18863 (jpeg_mod_LDFLAGS): Likewise.
18864
18865 * video/readers/jpeg.c : New file.
18866
18867 2008-01-22 Bean <bean123ch@gmail.com>
18868
18869 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
18870 there are no more items.
18871
18872 2008-01-21 Robert Millan <rmh@aybabtu.com>
18873
18874 * kern/mm.c (grub_mm_init_region): Improve debug message.
18875
18876 2008-01-21 Robert Millan <rmh@aybabtu.com>
18877
18878 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
18879 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
18880 address.
18881 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
18882 a C macro.
18883 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
18884 Indicates start of upper memory.
18885 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
18886 (generate_image): Abort when image size is big enough to corrupt
18887 upper memory.
18888
18889 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
18890 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
18891 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
18892 instead of hardcoding 0xA0000.
18893 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
18894 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
18895 instead of hardcoding 0xA0000.
18896
18897 2008-01-21 Robert Millan <rmh@aybabtu.com>
18898
18899 * disk/memdisk.c (memdisk_size): New variable.
18900 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
18901 `memdisk_size'.
18902 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
18903 image to dynamic memory.
18904 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
18905 `memdisk_size'. Free memdisk block.
18906
18907 2008-01-21 Robert Millan <rmh@aybabtu.com>
18908
18909 Fix detection of very small filesystems (like tar).
18910
18911 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
18912 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
18913 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
18914 a problem with this disk).
18915
18916 2008-01-21 Robert Millan <rmh@aybabtu.com>
18917
18918 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
18919 on grub_biosdisk_rw_standard() error.
18920
18921 2008-01-21 Robert Millan <rmh@aybabtu.com>
18922
18923 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
18924 recent changes.
18925 * kern/elf.c: Likewise.
18926 * kern/ieee1275/ieee1275.c: Likewise.
18927 * kern/powerpc/ieee1275/openfw.c: Likewise.
18928 * term/ieee1275/ofconsole.c: Likewise.
18929
18930 2008-01-21 Robert Millan <rmh@aybabtu.com>
18931
18932 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
18933
18934 * include/grub/kernel.h (grub_arch_memdisk_addr)
18935 (grub_arch_memdisk_size): Moved from here ...
18936
18937 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
18938 (grub_arch_memdisk_size): ... to here.
18939
18940 2008-01-21 Robert Millan <rmh@aybabtu.com>
18941
18942 Mostly based on bugfix from Bean.
18943
18944 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
18945 attribute with hook() parameter.
18946 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
18947 declaration.
18948 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
18949 attribute with hook() parameter.
18950 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
18951 declaration.
18952
18953 2008-01-21 Robert Millan <rmh@aybabtu.com>
18954
18955 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
18956 (pkglib_MODULES): Add `memdisk.mod'.
18957 (memdisk_mod_SOURCES): New variable.
18958 (memdisk_mod_CFLAGS): Likewise.
18959 (memdisk_mod_LDFLAGS): Likewise.
18960
18961 * disk/memdisk.c: New file.
18962
18963 * include/grub/disk.h (grub_disk_dev_id): Add
18964 `GRUB_DISK_DEVICE_MEMDISK_ID'.
18965
18966 * include/grub/i386/pc/kernel.h
18967 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
18968 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
18969 (grub_kernel_image_size): New variable declaration.
18970 (grub_total_module_size): Likewise.
18971 (grub_memdisk_image_size): Likewise.
18972
18973 * include/grub/i386/pc/memory.h
18974 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
18975
18976 * include/grub/kernel.h: Include `<grub/symbol.h>'.
18977 (grub_arch_memdisk_addr): New variable declaration.
18978 (grub_arch_memdisk_size): Likewise.
18979
18980 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
18981 (grub_arch_memdisk_size): Likewise.
18982
18983 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
18984 (codestart): Replace hardcoded `0x100000' with
18985 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
18986
18987 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
18988 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
18989 not NULL, append the contents of the file it refers to, at the end of
18990 the compressed kernel image. Initialize `grub_memdisk_image_size'
18991 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
18992 (options): Add "memdisk"|'m' option.
18993 (main): Parse --memdisk|-m option, and pass user-provided path as
18994 parameter to generate_image().
18995
18996 2008-01-20 Robert Millan <rmh@aybabtu.com>
18997
18998 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
18999 grub_dprintf() calls from here ...
19000 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
19001
19002 2008-01-20 Robert Millan <rmh@aybabtu.com>
19003
19004 Fix detection of "real mode" when /options/real-mode? doesn't exist.
19005
19006 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
19007 declaration.
19008 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
19009 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
19010 `GRUB_IEEE1275_FLAG_REAL_MODE'.
19011 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
19012 property).
19013 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
19014 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
19015
19016 2008-01-19 Robert Millan <rmh@aybabtu.com>
19017
19018 Get rid of confusing function (superseded by
19019 `grub_ieee1275_get_integer_property')
19020 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
19021 prototype.
19022 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
19023 function.
19024 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
19025 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
19026 in native endianness from grub_ieee1275_get_integer_property().
19027
19028 2008-01-19 Robert Millan <rmh@aybabtu.com>
19029
19030 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
19031 command after "shut-down", since implementations differ on which
19032 the command for halt is.
19033
19034 2008-01-19 Robert Millan <rmh@aybabtu.com>
19035
19036 * include/grub/i386/linuxbios/console.h: Add header protection.
19037 (grub_keyboard_controller_init): New function prototype.
19038 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
19039 (KEYBOARD_COMMAND_READ): Likewise.
19040 (KEYBOARD_COMMAND_WRITE): Likewise.
19041 (KEYBOARD_SCANCODE_SET1): Likewise.
19042 (grub_keyboard_controller_write): New function.
19043 (grub_keyboard_controller_read): Likewise.
19044 (grub_keyboard_controller_init): Likewise.
19045
19046 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
19047 (grub_console_init): On coreboot/LinuxBIOS, call
19048 grub_keyboard_controller_init().
19049
19050 2008-01-19 Robert Millan <rmh@aybabtu.com>
19051
19052 PowerPC changes provided by Pavel Roskin.
19053
19054 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
19055 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
19056 don't rely on cmain() doing it.
19057 * kern/i386/ieee1275/startup.S (_start): Store %eax in
19058 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
19059
19060 2008-01-16 Robert Millan <rmh@aybabtu.com>
19061
19062 * include/grub/i386/linuxbios/memory.h
19063 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
19064 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
19065 receive `table_header' as argument. Instead, probe for it in the
19066 known memory ranges where it can be present.
19067 (grub_available_iterate): Do not pass a fixed `table_header' address
19068 to grub_linuxbios_table_iterate().
19069
19070 2008-01-15 Robert Millan <rmh@aybabtu.com>
19071
19072 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
19073 * conf/i386-ieee1275.rmk: New file.
19074 * include/grub/i386/ieee1275/console.h: Likewise.
19075 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
19076 * include/grub/i386/ieee1275/kernel.h: Likewise.
19077 * include/grub/i386/ieee1275/time.h: Likewise.
19078 * kern/i386/ieee1275/init.c: Likewise.
19079 * kern/i386/ieee1275/startup.S: Likewise.
19080
19081 2008-01-15 Robert Millan <rmh@aybabtu.com>
19082
19083 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
19084 when pointers are 32-bit (but still do set it to one when they are
19085 64-bit).
19086
19087 2008-01-15 Robert Millan <rmh@aybabtu.com>
19088
19089 * include/grub/ieee1275/ieee1275.h
19090 (grub_ieee1275_get_integer_property): New function prototype.
19091
19092 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
19093 (grub_ieee1275_get_integer_property): New function. Wraps around
19094 grub_ieee1275_get_property() to handle endianness.
19095
19096 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
19097 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
19098 where appropriate.
19099 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
19100 (grub_map): Likewise.
19101 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
19102
19103 2008-01-15 Bean <bean123ch@gmail.com>
19104
19105 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
19106 (grub_script_execute_cmdline): Reset grub_errno.
19107
19108 * normal/main.c (read_config_file): Reset grub_errno.
19109
19110 * normal/parse.y (script_init): New.
19111 (script): Move function and menuentry here.
19112 (delimiter): New.
19113 (command): Add delimiter at the end of command.
19114 (commands): Adjust to match the new command.
19115 (commandblock): Remove grub_script_lexer_record_start.
19116 (menuentry): Add grub_script_lexer_record_start, use the new commands.
19117 (if): Use the new commands.
19118
19119 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
19120
19121 2008-01-15 Robert Millan <rmh@aybabtu.com>
19122
19123 * normal/menu.c (run_menu): Move timeout message from here ...
19124 (print_timeout): ... to here.
19125 (run_menu): Use print_timeout() once during initial draw to print
19126 the whole message, and again in every clock tick to update only
19127 the number of seconds.
19128
19129 2008-01-15 Robert Millan <rmh@aybabtu.com>
19130
19131 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
19132 actual size of `available' from grub_ieee1275_get_property(), and
19133 restrict parsing to that bound.
19134
19135 2008-01-15 Christian Franke <franke@computer.org>
19136
19137 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
19138 (argp_program_version): Remove variable.
19139 (argp_program_bug_address): Likewise.
19140 (options): Convert from struct argp_option to struct option.
19141 (struct arguments): Remove.
19142 (parse_opt): Remove.
19143 (usage): New function.
19144 (main): Replace struct args members by simple variables.
19145 Replace argp_parse() by getopt_long().
19146 Add switch to evaluate options.
19147 Add missing "(...)" around root_dev in prefix string.
19148
19149 2008-01-14 Robert Millan <rmh@aybabtu.com>
19150
19151 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
19152 for grub_ieee1275_exit(), in order to improve portability.
19153
19154 2008-01-14 Robert Millan <rmh@aybabtu.com>
19155
19156 * util/grub.d/10_linux.in (prefix): Define.
19157 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
19158
19159 2008-01-13 Pavel Roskin <proski@gnu.org>
19160
19161 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
19162 grub_errno if no errors have been detected.
19163
19164 2008-01-12 Robert Millan <rmh@aybabtu.com>
19165
19166 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
19167 (grub_util_get_dev_abstraction): New function prototype.
19168
19169 * util/getroot.c: Include `<grub/util/getroot.h>'
19170 (grub_util_get_grub_dev): Move detection of abstraction type to ...
19171 (grub_util_get_dev_abstraction): ... here (new function).
19172
19173 * util/grub-probe.c: Convert PRINT_* to an enum. Add
19174 `PRINT_ABSTRACTION'.
19175 (probe): Probe for abstraction type when requested.
19176 (main): Understand `--target=abstraction'.
19177
19178 * util/i386/efi/grub-install.in: Add abstraction module to core
19179 image when it is found to be necessary.
19180 * util/i386/pc/grub-install.in: Likewise.
19181 * util/powerpc/ieee1275/grub-install.in: Likewise.
19182
19183 * util/update-grub_lib.in (font_path): Return system path without
19184 converting to GRUB path.
19185 * util/update-grub.in: Convert system path returned by font_path()
19186 to a GRUB path. Use `grub-probe -t abstraction' to determine what
19187 abstraction module is needed for loading fonts (if any). Export
19188 that as `GRUB_PRELOAD_MODULES'.
19189 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
19190 insmod commands).
19191
19192 2008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
19193
19194 Remove some unused code from reiserfs.
19195
19196 * fs/reiserfs.c (struct grub_reiserfs_key)
19197 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
19198 (struct grub_reiserfs_node_body): Removed.
19199 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
19200 Likewise.
19201 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
19202 Likewise.
19203 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
19204 Likewise.
19205 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
19206 Likewise.
19207 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
19208 Likewise.
19209 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
19210 Likewise.
19211 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
19212 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
19213 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
19214
19215 2008-01-10 Robert Millan <rmh@aybabtu.com>
19216
19217 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
19218 Determines if a file is garbage left by packaging systems, etc.
19219 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
19220 for processing /etc/grub.d scripts.
19221 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
19222 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
19223 as a condition for processing Linux images.
19224
19225 2008-01-10 Pavel Roskin <proski@gnu.org>
19226
19227 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
19228 to compile reiserfs.c on PowerPC.
19229
19230 2008-01-10 Robert Millan <rmh@aybabtu.com>
19231
19232 * kern/device.c (grub_device_iterate): Do not abort device iteration
19233 when one of the devices cannot be opened.
19234 * kern/disk.c (grub_disk_open): Do not account previous failures of
19235 unrelated functions when grub_errno is checked for.
19236
19237 2008-01-08 Robert Millan <rmh@aybabtu.com>
19238
19239 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
19240 `! grub_linux_is_bzimage', change order of address comparison to make
19241 it more intuitive, and improve "too big zImage" error message.
19242
19243 2008-01-08 Robert Millan <rmh@aybabtu.com>
19244
19245 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
19246 `$(update-grub_DATA)'.
19247 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
19248 targets.
19249
19250 2008-01-07 Robert Millan <rmh@aybabtu.com>
19251
19252 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
19253 which instruction is modified by grub-setup during installation
19254 (since it wasn't obvious by only looking at this file).
19255
19256 2008-01-07 Robert Millan <rmh@aybabtu.com>
19257
19258 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
19259 listing actual TODO items.
19260
19261 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
19262
19263 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
19264 correctly.
19265 (grub_reiserfs_get_key_offset): Likewise.
19266 (grub_reiserfs_set_key_offset): Likewise.
19267 (grub_reiserfs_set_key_type): Likewise.
19268 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
19269
19270 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
19271 better to remove the bitfield version completely.
19272
19273 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
19274
19275 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
19276 allocated from the heap, due to the fshelp implementation.
19277 (grub_reiserfs_dir): Free NODE, due to the same reason.
19278
19279 2008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
19280
19281 Mostly from Vincent Pelletier:
19282
19283 * fs/reiserfs.c: New file.
19284
19285 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
19286 (reiserfs_mod_SOURCES): New variable.
19287 (reiserfs_mod_CFLAGS): Likewise.
19288 (reiserfs_mod_LDFLAGS): Likewise.
19289
19290 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
19291 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
19292 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
19293 normal/color.c.
19294
19295 2008-01-06 Robert Millan <rmh@aybabtu.com>
19296
19297 * normal/color.c: Remove `<grub/env.h>'.
19298
19299 2008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
19300
19301 * include/grub/normal.h: Include <grub/env.h>.
19302
19303 2008-01-05 Robert Millan <rmh@aybabtu.com>
19304
19305 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
19306 usage example with `(hd0,1)'.
19307 Reported by Samuel Thibault.
19308
19309 2008-01-05 Robert Millan <rmh@aybabtu.com>
19310
19311 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
19312 (grub_linux_boot_zimage): Rename to ...
19313 (grub_linux_boot): ... this.
19314 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
19315 (grub_linux_boot_zimage): Conditionalize zImage copy.
19316
19317 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
19318 (grub_linux_boot_bzimage): Remove prototype.
19319 (grub_linux_boot_zimage): Rename to ...
19320 (grub_linux_boot): ... this.
19321
19322 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
19323 (grub_linux_boot): Remove function.
19324
19325 2008-01-05 Robert Millan <rmh@aybabtu.com>
19326
19327 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
19328 (grub_env_write_color_highlight): Likewise.
19329 (grub_wait_after_message): Likewise.
19330
19331 * normal/color.c: New file.
19332
19333 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
19334 (normal_mod_DEPENDENCIES): Likewise.
19335
19336 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
19337 (normal_mod_DEPENDENCIES): Likewise.
19338
19339 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
19340 (normal_mod_DEPENDENCIES): Likewise.
19341
19342 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
19343 (normal_mod_DEPENDENCIES): Likewise.
19344
19345 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
19346 for waiting after a message is printed.
19347 * normal/main.c (read_config_file): Likewise.
19348 (grub_normal_init): Register grub_env_write_color_normal() and
19349 grub_env_write_color_highlight() hooks. Mark `color_normal' and
19350 `color_highlight' variables as global.
19351
19352 * normal/menu.c (grub_wait_after_message): New function.
19353 (grub_color_menu_normal): New variable. Replaces ...
19354 (GRUB_COLOR_MENU_NORMAL): ... this macro.
19355 (grub_color_menu_highlight): New variable. Replaces ...
19356 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
19357 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
19358 `GRUB_TERM_COLOR_STANDARD'.
19359 (print_message): Use `grub_setcolorstate' to reload colors. Rename
19360 `normal_code' and `highlight_code' to `old_color_normal' and
19361 `old_color_highlight', respectively.
19362 (grub_menu_init_page): Update colors when drawing the menu, based on
19363 `menu_color_normal' and `menu_color_highlight' variables.
19364 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
19365 a message is printed.
19366
19367 2008-01-05 Robert Millan <rmh@aybabtu.com>
19368
19369 * kern/env.c (grub_env_context_open): Propagate hooks for global
19370 variables to new context.
19371
19372 * kern/main.c (grub_set_root_dev): Export `root' variable.
19373
19374 2008-01-05 Robert Millan <rmh@aybabtu.com>
19375
19376 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
19377 discs unconditionally, since udev and others have options to provide
19378 them.
19379
19380 2008-01-05 Robert Millan <rmh@aybabtu.com>
19381
19382 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
19383
19384 2008-01-04 Christian Franke <franke@computer.org>
19385
19386 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
19387 of eisa_mmap.
19388
19389 2008-01-03 Pavel Roskin <proski@gnu.org>
19390
19391 * kern/i386/linuxbios/init.c: Put "void" to all function
19392 declarations with no arguments.
19393 * kern/powerpc/ieee1275/init.c: Likewise.
19394 * term/i386/pc/at_keyboard.c: Likewise.
19395 * term/i386/pc/vga_text.c: Likewise.
19396 * util/grub-mkdevicemap.c: Likewise.
19397
19398 2008-01-02 Robert Millan <rmh@aybabtu.com>
19399
19400 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
19401 message when loaded image is out of bounds.
19402 (grub_multiboot_load_elf64): Likewise.
19403
19404 2008-01-02 Pavel Roskin <proski@gnu.org>
19405
19406 * util/grub.d/10_linux.in: Try version without ".old" when
19407 looking for initrd. It's better to use initrd from the newer
19408 kernel of the same version than no initrd at all.
19409
19410 2008-01-01 Robert Millan <rmh@aybabtu.com>
19411
19412 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
19413
19414 2008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
19415
19416 * include/grub/video.h: Added grub_video_unmap_color and
19417 grub_video_get_active_render_target.
19418 (grub_video_adapter): Added unmap_color and get_active_render_target.
19419
19420 * video/video.c: Added grub_video_unmap_color and
19421 grub_video_get_active_render_target.
19422 (grub_video_get_info): Changed method to accept NULL pointer as an
19423 argument to allow detection of active video adapter.
19424
19425 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
19426 grub_video_vbe_unmap_color_int.
19427 Added grub_video_vbe_unmap_color and
19428 grub_video_vbe_get_active_render_target.
19429 (grub_video_vbe_adapter): Added unmap_color and
19430 get_active_render_target.
19431
19432 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
19433 with grub_video_vbe_unmap_color_int.
19434
19435 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
19436 (DEFAULT_NORMAL_COLOR): Likewise.
19437 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
19438 (DEFAULT_FG_COLOR): Removed.
19439 (DEFAULT_BG_COLOR): Likewise.
19440 (DEFAULT_CURSOR_COLOR): Changed value.
19441 (grub_virtual_screen): Added standard_color_setting,
19442 normal_color_setting, highlight_color_setting and term_color.
19443 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
19444 (bitmap_width): Added.
19445 (bitmap_height): Likewise.
19446 (bitmap): Likewise.
19447 (set_term_color): Likewise.
19448 (grub_virtual_screen_setup): Changed to use new terminal coloring
19449 settings.
19450 (grub_gfxterm_init): Added init for bitmap.
19451 (grub_gfxterm_fini): Added destroy for bitmap.
19452 (redraw_screen_rect): Updated to use background bitmap and new
19453 terminal coloring.
19454 (scroll_up): Added optimization for case when there is no bitmap.
19455 (grub_gfxterm_cls): Fixed to use correct background color.
19456 (grub_virtual_screen_setcolorstate): Changed to use new terminal
19457 coloring.
19458 (grub_virtual_screen_setcolor): Likewise.
19459 (grub_virtual_screen_getcolor): Added.
19460 (grub_gfxterm_background_image_cmd): Likewise.
19461 (grub_video_term): Added setcolor and getcolor.
19462 (MOD_INIT): Added registration of background_image command.
19463 (MOD_TERM): Added unregistration for background_image command.
19464
19465 2007-12-30 Pavel Roskin <proski@gnu.org>
19466
19467 * loader/multiboot_loader.c: Fix multiboot command
19468 unregistration. Fix all typos in the word "multiboot".
19469
19470 2007-12-29 Pavel Roskin <proski@gnu.org>
19471
19472 * util/grub.d/10_linux.in: Refactor search for initrd. Add
19473 support for initrd names used in Fedora.
19474
19475 2007-12-26 Bean <bean123ch@gmail.com>
19476
19477 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
19478 (cpio_mod_SOURCES): New variable.
19479 (cpio_mod_CFLAGS): Likewise.
19480 (cpio_mod_LDFLAGS): Likewise.
19481
19482 * fs/cpio.c: New file.
19483
19484 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
19485
19486 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
19487
19488 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
19489
19490 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19491
19492 2007-12-25 Robert Millan <rmh@aybabtu.com>
19493
19494 * include/grub/term.h (struct grub_term): Add `getcolor' function.
19495 (grub_getcolor): New function.
19496
19497 * kern/term.c (grub_getcolor): New function.
19498 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
19499 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
19500 (print_entry): Set normal and highlight colors to
19501 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
19502 respectively, before printing and restore them to old
19503 values afterwards.
19504 (grub_menu_init_page): Likewise. Fill an additional colored space
19505 that would otherwise be left blank.
19506
19507 * term/efi/console.c (grub_console_getcolor): New function.
19508 (struct grub_console_term.getcolor): New variable.
19509 * term/i386/pc/console.c (grub_console_getcolor): New function.
19510 (struct grub_console_term.getcolor): New variable.
19511 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
19512 (struct grub_console_term.getcolor): New variable.
19513
19514 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
19515 (struct grub_console_term.setcolor): Remove variable.
19516 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
19517 (struct grub_console_term.setcolor): Remove variable.
19518 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
19519 (struct grub_console_term.setcolor): Remove variable.
19520 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
19521 (struct grub_console_term.setcolor): Remove variable.
19522
19523 2007-12-25 Robert Millan <rmh@aybabtu.com>
19524
19525 * configure.ac: Search for possible unifont.hex locations, and
19526 define UNIFONT_HEX if found.
19527
19528 * Makefile.in (UNIFONT_HEX): Define variable.
19529 (DATA): Rename to ...
19530 (PKGLIB): ... this. Update all users.
19531 (PKGDATA): New variable.
19532 (pkgdata_IMAGES): Rename to ...
19533 (pkglib_IMAGES): ... this. Update all users.
19534 (pkgdata_MODULES): Rename to ...
19535 (pkglib_MODULES): ... this. Update all users.
19536 (pkgdata_PROGRAMS): Rename to ...
19537 (pkglib_PROGRAMS): ... this. Update all users.
19538 (pkgdata_DATA): Rename to ...
19539 (pkglib_DATA): ... this. Update all users.
19540 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
19541 (unicode.pff, ascii.pff): New rules.
19542 (all-local): Add `$(PKGDATA)' dependency.
19543 (install-local): Process `$(PKGDATA)'.
19544
19545 * util/update-grub_lib.in (font_path): Search for *.pff files in
19546 a few more locations, including `${pkgdata}'.
19547
19548 2007-12-23 Robert Millan <rmh@aybabtu.com>
19549
19550 Patch from Bean <bean123ch@gmail.com>:
19551 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
19552 `size'.
19553
19554 2007-12-21 Bean <bean123ch@gmail.com>
19555
19556 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
19557 (ntfscomp_mod_SOURCES): New variable.
19558 (ntfscomp_mod_CFLAGS): Likewise.
19559 (ntfscomp_mod_LDFLAGS): Likewise.
19560
19561 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
19562 (grub_probe_SOURCES): Likewise.
19563 (grub_emu_SOURCES): Likewise.
19564
19565 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
19566 (grub_emu_SOURCES): Likewise.
19567
19568 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
19569 (grub_emu_SOURCES): Likewise.
19570
19571 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
19572 (grub_emu_SOURCES): Likewise.
19573
19574 * fs/ntfs.c (grub_ntfscomp_func): New variable.
19575 (read_run_list): Renamed to grub_ntfs_read_run_list.
19576 (decomp_nextvcn): Moved to ntfscomp.c.
19577 (decomp_getch): Likewise.
19578 (decomp_get16): Likewise.
19579 (decomp_block): Likewise.
19580 (read_block): Likewise.
19581 (read_data): Partially moved to ntfscomp.c.
19582 (fixup): Change unsigned to grub_uint16_t.
19583 (read_mft): Change unsigned long to grub_uint32_t.
19584 (read_attr): Likewise.
19585 (read_data): Likewise.
19586 (read_run_data): Likewise.
19587 (read_run_list): Likewise.
19588 (read_mft): Likewise.
19589
19590 * fs/ntfscomp.c: New file.
19591
19592 * include/grub/ntfs.h: New file.
19593
19594 2007-12-16 Robert Millan <rmh@aybabtu.com>
19595
19596 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
19597 IDE disk check, since Linux is known to support 20 IDE disks.
19598 Reported by Colin Watson.
19599
19600 2007-12-15 Bean <bean123ch@gmail.com>
19601
19602 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
19603 (lnxboot_img_SOURCES): New variable.
19604 (lnxboot_img_ASFLAGS): Likewise.
19605 (lnxboot_img_LDFLAGS): Likewise.
19606
19607 * boot/i386/pc/lnxboot.S: New file.
19608
19609 2007-11-24 Pavel Roskin <proski@gnu.org>
19610
19611 * configure.ac: Test if '--build-id=none' is supported by the
19612 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
19613 objcopy to generate incorrect binary files (binutils
19614 2.17.50.0.18-1 as shipped by Fedora 8).
19615 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
19616 linking, so that build ID doesn't break the test.
19617
19618 2007-11-24 Pavel Roskin <proski@gnu.org>
19619
19620 * include/grub/i386/time.h: use "void" in the argument list
19621 of grub_cpu_idle().
19622 * include/grub/powerpc/time.h: Likewise.
19623 * include/grub/sparc64/time.h: Likewise.
19624
19625 2007-11-18 Christian Franke <franke@computer.org>
19626
19627 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
19628 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
19629 This fixes the problem that function keys did not work in grub-emu.
19630
19631 2007-11-18 Christian Franke <franke@computer.org>
19632
19633 * disk/host.c (grub_host_open): Remove attribute unused from
19634 name parameter. Add check for "host". This fixes the problem
19635 that grub-emu does not find partitions.
19636
19637 2007-11-18 Christian Franke <franke@computer.org>
19638
19639 * util/hostfs.c (is_dir): New function.
19640 (grub_hostfs_dir): Handle missing dirent.d_type case.
19641 (grub_hostfs_read): Add missing fseek().
19642 (grub_hostfs_label): Clear label pointer. This fixes a crash
19643 of grub-emu on "ls (host)".
19644
19645 2007-11-18 Christian Franke <franke@computer.org>
19646
19647 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
19648 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
19649 to 64 bit boundary by default.
19650
19651 2007-11-18 Bean <bean123ch@gmail.com>
19652
19653 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
19654 (hexdump_mod_SOURCES): New variable.
19655 (hexdump_mod_CFLAGS): Likewise.
19656 (hexdump_mod_LDFLAGS): Likewise.
19657
19658 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
19659
19660 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
19661
19662 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
19663
19664 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
19665
19666 * include/grub/hexdump.h: New file.
19667
19668 * commands/hexdump.c: New file.
19669
19670 2007-11-10 Robert Millan <rmh@aybabtu.com>
19671
19672 * commands/i386/pc/play.c (beep_off): Switch order of arguments
19673 in grub_outb() calls.
19674 (beep_on): Likewise.
19675
19676 2007-11-10 Christian Franke <franke@computer.org>
19677
19678 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
19679 (grub_menu_run): Likewise.
19680
19681 2007-11-10 Robert Millan <rmh@aybabtu.com>
19682
19683 * include/grub/i386/efi/machine.h: New file.
19684 * include/grub/i386/linuxbios/machine.h: Likewise.
19685 * include/grub/i386/pc/machine.h: Likewise.
19686 * include/grub/powerpc/ieee1275/machine.h: Likewise.
19687 * include/grub/sparc64/ieee1275/machine.h: Likewise.
19688
19689 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
19690 (serial_hw_io_addr): New variable.
19691 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
19692 instead of `(unsigned short *) 0x400'.
19693
19694 2007-11-10 Bean <bean123ch@gmail.com>
19695
19696 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
19697
19698 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
19699
19700 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
19701 (vga_mod_SOURCES): Added.
19702 (vga_mod_CFLAGS): Likewise.
19703 (vga_mod_LDFLAGS): Likewise.
19704
19705 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
19706 grub_outb() calls.
19707 (set_map_mask): Likewise.
19708 (set_read_map): Likewise.
19709 (set_read_address): Likewise.
19710 (vga_font): Removed variable.
19711 (get_vga_glyph): Removed function.
19712 (invalidate_char): Likewise.
19713 (write_char): Changed to use grub_font_get_glyph() for font
19714 information.
19715 (grub_vga_putchar): Likewise.
19716 (grub_vga_getcharwidth): Likewise.
19717
19718 2007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
19719
19720 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
19721 flags.
19722 (pxeboot_img_LDFLAGS): Likewise.
19723 (diskboot_img_LDFLAGS): Likewise.
19724 (kernel_img_LDFLAGS): Likewise.
19725
19726 2007-11-06 Robert Millan <rmh@aybabtu.com>
19727
19728 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
19729 in grub_outb() calls.
19730 (serial_hw_init): Likewise.
19731
19732 2007-11-05 Robert Millan <rmh@aybabtu.com>
19733
19734 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
19735 spaces. Skip non-regular files.
19736
19737 2007-11-05 Robert Millan <rmh@aybabtu.com>
19738
19739 * kern/disk.c (grub_disk_firmware_fini)
19740 (grub_disk_firmware_is_tainted): New variables.
19741
19742 * include/grub/disk.h (grub_disk_firmware_fini)
19743 (grub_disk_firmware_is_tainted): Likewise.
19744
19745 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
19746 (grub_disk_biosdisk_fini): ... to here.
19747 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
19748 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
19749 is set. Register grub_disk_biosdisk_fini() in
19750 `grub_disk_firmware_fini'.
19751
19752 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
19753 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
19754 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
19755 to finish existing firmware disk interface.
19756
19757 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
19758 (ata_mod_SOURCES): New variable.
19759 (ata_mod_CFLAGS): Likewise.
19760 (ata_mod_LDFLAGS): Likewise.
19761
19762 2007-11-05 Robert Millan <rmh@aybabtu.com>
19763
19764 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
19765 (grub_ata_wait): Reimplement using grub_millisleep().
19766
19767 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
19768 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
19769
19770 2007-11-03 Marco Gerards <marco@gnu.org>
19771
19772 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
19773 (CRTC_ADDR_PORT): New macro.
19774 (CRTC_DATA_PORT): Likewise.
19775 (CRTC_CURSOR): Likewise.
19776 (CRTC_CURSOR_ADDR_HIGH): Likewise.
19777 (CRTC_CURSOR_ADDR_LOW): Likewise.
19778 (update_cursor): New function.
19779 (grub_console_real_putchar): Call `update_cursor'.
19780 (grub_console_gotoxy): Likewise.
19781 (grub_console_cls): Set the default color when clearing the
19782 screen.
19783 (grub_console_setcursor): Implemented.
19784
19785 2007-11-03 Marco Gerards <marco@gnu.org>
19786
19787 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
19788 become activate.
19789 (grub_ata_pio_write): Likewise.
19790
19791 (grub_atapi_identify): Wait after issuing an ATA command.
19792 (grub_atapi_packet): Likewise.
19793 (grub_ata_identify): Likewise.
19794 (grub_ata_readwrite): Likewise.
19795
19796 2007-11-03 Marco Gerards <marco@gnu.org>
19797
19798 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
19799 (grub_ata_pio_write): Likewise.
19800 (grub_ata_readwrite): Use `grub_error', instead of
19801 returning `grub_errno'.
19802
19803 2007-11-03 Marco Gerards <marco@gnu.org>
19804
19805 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
19806 grub_ata_pio_write once for every single sector, instead of for
19807 multiple sectors.
19808
19809 2007-10-31 Robert Millan <rmh@aybabtu.com>
19810
19811 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
19812
19813 * conf/i386-linuxbios.rmk: New file.
19814
19815 * kern/i386/pc/hardware.c: Likewise.
19816 * term/i386/pc/at_keyboard.c: Likewise.
19817 * term/i386/pc/vga_text.c: Likewise.
19818
19819 * include/grub/i386/linuxbios/boot.h: Likewise.
19820 * include/grub/i386/linuxbios/console.h: Likewise.
19821 * include/grub/i386/linuxbios/init.h: Likewise.
19822 * include/grub/i386/linuxbios/kernel.h: Likewise.
19823 * include/grub/i386/linuxbios/loader.h: Likewise.
19824 * include/grub/i386/linuxbios/memory.h: Likewise.
19825 * include/grub/i386/linuxbios/serial.h: Likewise.
19826 * include/grub/i386/linuxbios/time.h: Likewise.
19827
19828 * kern/i386/linuxbios/init.c: Likewise.
19829 * kern/i386/linuxbios/startup.S: Likewise.
19830 * kern/i386/linuxbios/table.c: Likewise.
19831
19832 2007-10-31 Marco Gerards <marco@gnu.org>
19833
19834 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
19835 (ata_mod_SOURCES): New variable.
19836 (ata_mod_CFLAGS): Likewise.
19837 (ata_mod_LDFLAGS): Likewise.
19838
19839 * disk/ata.c: New file.
19840
19841 * include/grub/disk.h (grub_disk_dev_id): Add
19842 `GRUB_DISK_DEV_ATA_ID'.
19843
19844 2007-10-31 Robert Millan <rmh@aybabtu.com>
19845
19846 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
19847 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
19848
19849 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
19850 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
19851
19852 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
19853 `<grub/types.h>'.
19854
19855 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
19856
19857 2007-10-27 Robert Millan <rmh@aybabtu.com>
19858
19859 * include/grub/types.h (ULONG_MAX): Define macro.
19860
19861 2007-10-22 Robert Millan <rmh@aybabtu.com>
19862
19863 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
19864 `"../realmode.S"'.
19865 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
19866
19867 2007-10-22 Robert Millan <rmh@aybabtu.com>
19868
19869 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
19870 (pkgdata_MODULES): Add `biosdisk.mod'.
19871 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
19872 variables.
19873
19874 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
19875 (grub_biosdisk_init): Replace with ...
19876 (GRUB_MOD_INIT(biosdisk)): ... this.
19877 (grub_biosdisk_fini): Replace with ...
19878 (GRUB_MOD_FINI(biosdisk)): ... this.
19879
19880 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
19881 (grub_machine_init): Remove call to grub_biosdisk_init().
19882 (grub_machine_fini): Remove call to grub_machine_fini().
19883
19884 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
19885
19886 2007-10-22 Robert Millan <rmh@aybabtu.com>
19887
19888 * include/grub/time.h: New file.
19889 * include/grub/i386/time.h: Likewise.
19890 * include/grub/powerpc/time.h: Likewise.
19891 * include/grub/sparc64/time.h: Likewise.
19892
19893 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
19894 instances to ...
19895 (KERNEL_MACHINE_TIME_HEADER): ... this.
19896 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
19897 instances to ...
19898 (KERNEL_MACHINE_TIME_HEADER): ... this.
19899 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
19900 instances to ...
19901 (KERNEL_MACHINE_TIME_HEADER): ... this.
19902
19903 * kern/i386/efi/init.c: Include `<grub/time.h>'.
19904 (grub_millisleep): New function.
19905 * kern/i386/pc/init.c: Include `<grub/time.h>'.
19906 (grub_millisleep): New function.
19907 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
19908 Remove `grub/machine/time.h' include.
19909 (grub_millisleep): New function.
19910 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
19911 Remove `grub/machine/time.h' include.
19912 (grub_millisleep): New function.
19913
19914 * include/grub/misc.h (grub_div_roundup): New function.
19915
19916 * kern/misc.c: Include `<grub/time.h>'.
19917 (grub_millisleep_generic): New function.
19918
19919 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
19920 Add `time.h'.
19921 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
19922 Add `time.h'.
19923 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
19924 `machine/time.h'. Add `time.h'.
19925 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
19926
19927 2007-10-21 Robert Millan <rmh@aybabtu.com>
19928
19929 * include/grub/misc.h (grub_max): New function.
19930
19931 2007-10-21 Robert Millan <rmh@aybabtu.com>
19932
19933 * util/misc.c (grub_util_info): Call fflush() before returning.
19934
19935 2007-10-20 Robert Millan <rmh@aybabtu.com>
19936
19937 * genmk.rb (Image): Copy `extra_flags' from here ...
19938 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
19939
19940 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
19941 to `argc' and `args' arguments.
19942
19943 2007-10-17 Robert Millan <rmh@aybabtu.com>
19944
19945 * kern/i386/loader.S: New file.
19946
19947 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
19948 * kern/i386/loader.S (grub_linux_prot_size)... to here.
19949 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
19950 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
19951 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
19952 * kern/i386/loader.S (grub_linux_real_addr)... to here.
19953 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
19954 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
19955 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
19956 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
19957 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
19958 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
19959 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
19960 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
19961
19962 * kern/i386/realmode.S: New file.
19963
19964 * kern/i386/pc/startup.S (protstack): Moved from here ...
19965 * kern/i386/realmode.S (protstack)... to here.
19966 * kern/i386/pc/startup.S (gdt): Moved from here ...
19967 * kern/i386/realmode.S (gdt)... to here.
19968 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
19969 * kern/i386/realmode.S (prot_to_real)... to here.
19970
19971 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
19972 `kern/i386/realmode.S'.
19973
19974 2007-10-17 Robert Millan <rmh@aybabtu.com>
19975
19976 * include/grub/i386/loader.h: New file.
19977
19978 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
19979 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
19980 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
19981 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
19982 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
19983 * include/grub/i386/loader.h (grub_linux_prot_size)
19984 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
19985 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
19986 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
19987 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
19988
19989 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
19990
19991 2007-10-15 Robert Millan <rmh@aybabtu.com>
19992
19993 * normal/misc.c (grub_normal_print_device_info): Do not probe for
19994 filesystem when dev->disk is unset.
19995 Do probe for filesystem even when dev->disk->has_partitions is set.
19996 In case a filesystem is found, always report it.
19997 In case it isn't, if dev->disk->has_partitions is set, report that
19998 a partition table was found instead of reporting that no filesystem
19999 could be identified.
20000
20001 2007-10-12 Robert Millan <rmh@aybabtu.com>
20002
20003 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
20004 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
20005
20006 * include/grub/types.h (grub_host_to_target16): New macro.
20007 (grub_host_to_target32): Likewise.
20008 (grub_host_to_target64): Likewise.
20009 (grub_target_to_host16): Likewise.
20010 (grub_target_to_host32): Likewise.
20011 (grub_target_to_host64): Likewise.
20012
20013 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
20014 Renamed from to ...
20015 (GRUB_MOD_ALIGN): ...this. Update all users.
20016
20017 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
20018 grub_host_to_target32.
20019 Replace grub_be_to_cpu32 with grub_target_to_host32.
20020 (load_modules): Likewise.
20021 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
20022 Replace grub_be_to_cpu32 with grub_target_to_host32.
20023 Replace grub_cpu_to_be16 with grub_host_to_target16.
20024 Replace grub_cpu_to_be32 grub_host_to_target32.
20025
20026 2007-10-12 Robert Millan <rmh@aybabtu.com>
20027
20028 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
20029 * util/elf/grub-mkimage.c: ... here.
20030
20031 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
20032 `util/powerpc/ieee1275/grub-mkimage.c'.
20033
20034 2007-10-07 Robert Millan <rmh@aybabtu.com>
20035
20036 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
20037 and make it easier to figure out.
20038 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
20039 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
20040 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
20041 leave us with less than HEAP_MIN_SIZE total heap.
20042 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
20043
20044 2007-10-03 Robert Millan <rmh@aybabtu.com>
20045
20046 * include/grub/i386/io.h: New file.
20047 * commands/i386/pc/play.c (inb): Removed.
20048 (outb): Removed.
20049 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
20050 with grub_outb().
20051 * term/i386/pc/serial.c (inb): Removed.
20052 (outb): Removed.
20053 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
20054 with grub_outb().
20055 * term/i386/pc/vga.c (inb): Removed.
20056 (outb): Removed.
20057 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
20058 with grub_outb().
20059
20060 2007-10-02 Robert Millan <rmh@aybabtu.com>
20061
20062 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
20063 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
20064 Reported by Marcin Kurek.
20065
20066 2007-09-07 Robert Millan <rmh@aybabtu.com>
20067
20068 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
20069 SmartFirmware version updates (as released by Sven Luther), and avoid
20070 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
20071 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
20072 known broken.
20073
20074 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
20075
20076 From Hitoshi Ozeki:
20077 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
20078 when merging two regions.
20079
20080 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
20081
20082 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
20083 * normal/completion.c (grub_normal_do_completion): Likewise.
20084 Reported by Hitoshi Ozeki.
20085
20086 2007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
20087
20088 Do not use devices at boot in chainloading.
20089
20090 * loader/i386/pc/chainloader.c (boot_drive): New variable.
20091 (boot_part_addr): Likewise.
20092 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
20093 with BOOT_DRIVE and BOOT_PART_ADDR.
20094 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
20095 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
20096
20097 2007-08-29 Robert Millan <rmh@aybabtu.com>
20098
20099 Patch from Simon Peter <dn.tlp@gmx.net>:
20100 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
20101 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
20102 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
20103 util/i386/pc/grub-setup.c_DEPENDENCIES.
20104 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
20105 util/grub-probe.c_DEPENDENCIES.
20106 * conf/powerpc-ieee1275.rmk: Likewise.
20107
20108 2007-08-28 Robert Millan <rmh@aybabtu.com>
20109
20110 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
20111 to tell grub-mkdevicemap how to name devices.
20112 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
20113 feature).
20114
20115 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
20116 util/i386/get_disk_name.c.
20117 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
20118 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
20119 util/ieee1275/get_disk_name.c.
20120
20121 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
20122
20123 * DISTLIST: Add util/i386/get_disk_name.c and
20124 util/ieee1275/get_disk_name.c.
20125
20126 * util/grub-mkdevicemap.c: Replace device naming logic with
20127 grub_util_get_disk_name() calls.
20128
20129 2007-08-20 Robert Millan <rmh@aybabtu.com>
20130
20131 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
20132 (so that it works for both plural and singular quantities).
20133
20134 2007-08-05 Robert Millan <rmh@aybabtu.com>
20135
20136 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
20137 so that [xz] isn't taken into account when determining order.
20138
20139 2007-08-02 Marco Gerards <marco@gnu.org>
20140
20141 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
20142 `include/multiboot2.h', `include/grub/elfload.h',
20143 `include/multiboot.h', `include/grub/multiboot.h',
20144 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
20145 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
20146 `kern/elf.c', `loader/multiboot_loader.c',
20147 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
20148 `loader/i386/pc/multiboot2.c',
20149 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
20150 `util/i386/pc/grub-mkrescue.in'. Remove
20151 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
20152 `include/grub/i386/pc/util/biosdisk.h' and
20153 `include/grub/powerpc/ieee1275/multiboot.h'.
20154
20155 2007-08-02 Bean <bean123ch@gmail.com>
20156
20157 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
20158 (ntfs_mod_SOURCES): New variable.
20159 (ntfs_mod_CFLAGS): Likewise.
20160 (ntfs_mod_LDFLAGS): Likewise.
20161
20162 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
20163 (grub_probe_SOURCES): Likewise.
20164 (grub_emu_SOURCES): Likewise.
20165
20166 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
20167 (grub_emu_SOURCES): Likewise.
20168
20169 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
20170 (grub_emu_SOURCES): Likewise.
20171
20172 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
20173
20174 * fs/ntfs.c: New file.
20175
20176 2007-08-02 Bean <bean123ch@gmail.com>
20177
20178 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
20179
20180 * file.h (grub_file): Likewise.
20181
20182 * fshelp.h (grub_fshelp_read_file): Likewise.
20183
20184 * util/i386/pc/grub-setup.c (setup): Likewise.
20185 (save_first_sector): Likewise.
20186 (save_blocklists): Likewise.
20187
20188 * fs/affs.c (grub_affs_read_file): Likewise.
20189
20190 * fs/ext2.c (grub_ext2_read_file): Likewise.
20191
20192 * fs/fat.c (grub_fat_read_data): Likewise.
20193
20194 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
20195
20196 * fs/hfs.c (grub_hfs_read_file): Likewise.
20197
20198 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
20199
20200 * fs/jfs.c (grub_jfs_read_file): Likewise.
20201
20202 * fs/minix.c (grub_minix_read_file): Likewise.
20203
20204 * fs/sfs.c (grub_sfs_read_file): Likewise.
20205
20206 * fs/ufs.c (grub_ufs_read_file): Likewise.
20207
20208 * fs/xfs.c (grub_xfs_read_file): Likewise.
20209
20210 * command/blocklist.c (read_blocklist): Likewise.
20211 (print_blocklist): Likewise.
20212
20213 2007-08-02 Marco Gerards <marco@gnu.org>
20214
20215 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
20216 `util/hostfs.c'.
20217
20218 * disk/host.c: New file.
20219
20220 * util/hostfs.c: Likewise.
20221
20222 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
20223 return `GRUB_ERR_BAD_FS'.
20224 * fs/sfs.c (grub_sfs_mount): Likewise.
20225 * fs/xfs.c (grub_xfs_mount): Likewise.
20226
20227 * include/grub/disk.h (enum grub_disk_dev_id): Add
20228 `GRUB_DISK_DEVICE_HOST_ID'.
20229
20230 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
20231
20232 2007-07-24 Jerone Young <jerone@gmail.com>
20233
20234 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
20235 modules for compilation.
20236 * conf/powerpc-ieee1275.rmk: Likewise.
20237
20238 * include/multiboot.h: Move multiboot definitions to one file. Rename
20239 many definitions to not get grub specific.
20240 * include/multiboot2.h: Create header with multiboot 2 definitions.
20241 * include/grub/multiboot.h: Header for grub specific function
20242 prototypes and definitions.
20243 * include/grub/multiboot2.h: Likewise.
20244 * include/grub/multiboot_loader.h: Likewise.
20245 * include/grub/i386/pc/multiboot.h: Removed.
20246 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
20247
20248 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
20249 and 2 to allow for one multiboot and module commands.
20250 * loader/multiboot2.c: Add multiboot2 functionality.
20251 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
20252 and definition names.
20253 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
20254 2 functions.
20255 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
20256 ieee1275 specific multiboot2 code.
20257
20258 * kern/i386/pc/startup.S: Change headers and definition names for
20259 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
20260
20261 2007-07-22 Robert Millan <rmh@aybabtu.com>
20262
20263 * geninitheader.sh: Process file specified in first parameter rather
20264 than hardcoding grub_modules_init.lst.
20265 * geninit.sh: Likewise. Also, construct header name dynamically rather
20266 than hardcoding grub_modules_init.h.
20267
20268 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
20269 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
20270 grub_probe_init.[ch] and grub_setup_init.[ch].
20271
20272 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
20273 grub_modules_init.h with grub_emu_init.h.
20274 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
20275 grub_probe_init.[ch] files.
20276 * conf/i386-efi.rmk: Likewise.
20277 * conf/i386-pc.rmk: Likewise.
20278 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
20279 grub_setup_init.[ch] files.
20280
20281 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
20282 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
20283 to initialize modules rather than a list of hardcoded functions.
20284 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
20285 grub_init_all() to initialize modules rather than a list of hardcoded
20286 functions.
20287
20288 2007-07-22 Robert Millan <rmh@aybabtu.com>
20289
20290 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
20291 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
20292
20293 2007-07-22 Robert Millan <rmh@aybabtu.com>
20294
20295 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
20296 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
20297 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
20298 flag when running on SmartFirmware.
20299 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
20300 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
20301 was set.
20302
20303 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
20304 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
20305 rather than decreasing it.
20306
20307 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
20308 there's not enough space to do it, fail in the same way as when it
20309 can't be done because there are no partitions.
20310
20311 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
20312 when nvsetenv failed.
20313
20314 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
20315
20316 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
20317 because this rule is automatically generated.
20318 (grub-mkrescue): Removed for the same reason as above.
20319
20320 2007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
20321
20322 Migrate to GNU General Public License Version 3.
20323
20324 * COPYING: Replaced with the plain text version of GPLv3.
20325
20326 * config.guess: Updated from gnulib.
20327 * config.sub: Likewise.
20328
20329 * geninit.sh: Output a GPLv3 copyright notice.
20330 * geninitheader.sh: Likewise.
20331 * genmodsrc.sh: Likewise.
20332 * gensymlist.sh.in: Likewise.
20333
20334 * boot/i386/pc/boot.S: Upgraded to GPLv3.
20335 * boot/i386/pc/diskboot.S: Likewise.
20336 * boot/i386/pc/pxeboot.S: Likewise.
20337 * commands/blocklist.c: Likewise.
20338 * commands/boot.c: Likewise.
20339 * commands/cat.c: Likewise.
20340 * commands/cmp.c: Likewise.
20341 * commands/configfile.c: Likewise.
20342 * commands/echo.c: Likewise.
20343 * commands/help.c: Likewise.
20344 * commands/ls.c: Likewise.
20345 * commands/search.c: Likewise.
20346 * commands/terminal.c: Likewise.
20347 * commands/test.c: Likewise.
20348 * commands/videotest.c: Likewise.
20349 * commands/i386/cpuid.c: Likewise.
20350 * commands/i386/pc/halt.c: Likewise.
20351 * commands/i386/pc/play.c: Likewise.
20352 * commands/i386/pc/reboot.c: Likewise.
20353 * commands/i386/pc/vbeinfo.c: Likewise.
20354 * commands/i386/pc/vbetest.c: Likewise.
20355 * commands/ieee1275/halt.c: Likewise.
20356 * commands/ieee1275/reboot.c: Likewise.
20357 * commands/ieee1275/suspend.c: Likewise.
20358 * disk/loopback.c: Likewise.
20359 * disk/lvm.c: Likewise.
20360 * disk/raid.c: Likewise.
20361 * disk/efi/efidisk.c: Likewise.
20362 * disk/i386/pc/biosdisk.c: Likewise.
20363 * disk/ieee1275/ofdisk.c: Likewise.
20364 * font/manager.c: Likewise.
20365 * fs/affs.c: Likewise.
20366 * fs/ext2.c: Likewise.
20367 * fs/fat.c: Likewise.
20368 * fs/fshelp.c: Likewise.
20369 * fs/hfs.c: Likewise.
20370 * fs/hfsplus.c: Likewise.
20371 * fs/iso9660.c: Likewise.
20372 * fs/jfs.c: Likewise.
20373 * fs/minix.c: Likewise.
20374 * fs/sfs.c: Likewise.
20375 * fs/ufs.c: Likewise.
20376 * fs/xfs.c: Likewise.
20377 * hello/hello.c: Likewise.
20378 * include/grub/acorn_filecore.h: Likewise.
20379 * include/grub/arg.h: Likewise.
20380 * include/grub/bitmap.h: Likewise.
20381 * include/grub/boot.h: Likewise.
20382 * include/grub/cache.h: Likewise.
20383 * include/grub/device.h: Likewise.
20384 * include/grub/disk.h: Likewise.
20385 * include/grub/dl.h: Likewise.
20386 * include/grub/elfload.h: Likewise.
20387 * include/grub/env.h: Likewise.
20388 * include/grub/err.h: Likewise.
20389 * include/grub/file.h: Likewise.
20390 * include/grub/font.h: Likewise.
20391 * include/grub/fs.h: Likewise.
20392 * include/grub/fshelp.h: Likewise.
20393 * include/grub/gzio.h: Likewise.
20394 * include/grub/hfs.h: Likewise.
20395 * include/grub/kernel.h: Likewise.
20396 * include/grub/loader.h: Likewise.
20397 * include/grub/lvm.h: Likewise.
20398 * include/grub/misc.h: Likewise.
20399 * include/grub/mm.h: Likewise.
20400 * include/grub/net.h: Likewise.
20401 * include/grub/normal.h: Likewise.
20402 * include/grub/parser.h: Likewise.
20403 * include/grub/partition.h: Likewise.
20404 * include/grub/pc_partition.h: Likewise.
20405 * include/grub/raid.h: Likewise.
20406 * include/grub/rescue.h: Likewise.
20407 * include/grub/script.h: Likewise.
20408 * include/grub/setjmp.h: Likewise.
20409 * include/grub/symbol.h: Likewise.
20410 * include/grub/term.h: Likewise.
20411 * include/grub/terminfo.h: Likewise.
20412 * include/grub/tparm.h: Likewise.
20413 * include/grub/types.h: Likewise.
20414 * include/grub/video.h: Likewise.
20415 * include/grub/efi/api.h: Likewise.
20416 * include/grub/efi/chainloader.h: Likewise.
20417 * include/grub/efi/console.h: Likewise.
20418 * include/grub/efi/console_control.h: Likewise.
20419 * include/grub/efi/disk.h: Likewise.
20420 * include/grub/efi/efi.h: Likewise.
20421 * include/grub/efi/pe32.h: Likewise.
20422 * include/grub/efi/time.h: Likewise.
20423 * include/grub/i386/linux.h: Likewise.
20424 * include/grub/i386/setjmp.h: Likewise.
20425 * include/grub/i386/types.h: Likewise.
20426 * include/grub/i386/efi/kernel.h: Likewise.
20427 * include/grub/i386/efi/loader.h: Likewise.
20428 * include/grub/i386/efi/time.h: Likewise.
20429 * include/grub/i386/pc/biosdisk.h: Likewise.
20430 * include/grub/i386/pc/boot.h: Likewise.
20431 * include/grub/i386/pc/chainloader.h: Likewise.
20432 * include/grub/i386/pc/console.h: Likewise.
20433 * include/grub/i386/pc/init.h: Likewise.
20434 * include/grub/i386/pc/kernel.h: Likewise.
20435 * include/grub/i386/pc/loader.h: Likewise.
20436 * include/grub/i386/pc/memory.h: Likewise.
20437 * include/grub/i386/pc/multiboot.h: Likewise.
20438 * include/grub/i386/pc/serial.h: Likewise.
20439 * include/grub/i386/pc/time.h: Likewise.
20440 * include/grub/i386/pc/vbe.h: Likewise.
20441 * include/grub/i386/pc/vbeblit.h: Likewise.
20442 * include/grub/i386/pc/vbefill.h: Likewise.
20443 * include/grub/i386/pc/vbeutil.h: Likewise.
20444 * include/grub/i386/pc/vga.h: Likewise.
20445 * include/grub/ieee1275/ieee1275.h: Likewise.
20446 * include/grub/ieee1275/ofdisk.h: Likewise.
20447 * include/grub/powerpc/libgcc.h: Likewise.
20448 * include/grub/powerpc/setjmp.h: Likewise.
20449 * include/grub/powerpc/types.h: Likewise.
20450 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
20451 * include/grub/powerpc/ieee1275/console.h: Likewise.
20452 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
20453 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
20454 * include/grub/powerpc/ieee1275/loader.h: Likewise.
20455 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
20456 * include/grub/powerpc/ieee1275/time.h: Likewise.
20457 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
20458 * include/grub/sparc64/libgcc.h: Likewise.
20459 * include/grub/sparc64/setjmp.h: Likewise.
20460 * include/grub/sparc64/types.h: Likewise.
20461 * include/grub/sparc64/ieee1275/console.h: Likewise.
20462 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
20463 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
20464 * include/grub/sparc64/ieee1275/time.h: Likewise.
20465 * include/grub/util/biosdisk.h: Likewise.
20466 * include/grub/util/getroot.h: Likewise.
20467 * include/grub/util/lvm.h: Likewise.
20468 * include/grub/util/misc.h: Likewise.
20469 * include/grub/util/raid.h: Likewise.
20470 * include/grub/util/resolve.h: Likewise.
20471 * io/gzio.c: Likewise.
20472 * kern/device.c: Likewise.
20473 * kern/disk.c: Likewise.
20474 * kern/dl.c: Likewise.
20475 * kern/elf.c: Likewise.
20476 * kern/env.c: Likewise.
20477 * kern/err.c: Likewise.
20478 * kern/file.c: Likewise.
20479 * kern/fs.c: Likewise.
20480 * kern/loader.c: Likewise.
20481 * kern/main.c: Likewise.
20482 * kern/misc.c: Likewise.
20483 * kern/mm.c: Likewise.
20484 * kern/parser.c: Likewise.
20485 * kern/partition.c: Likewise.
20486 * kern/rescue.c: Likewise.
20487 * kern/term.c: Likewise.
20488 * kern/efi/efi.c: Likewise.
20489 * kern/efi/init.c: Likewise.
20490 * kern/efi/mm.c: Likewise.
20491 * kern/i386/dl.c: Likewise.
20492 * kern/i386/efi/init.c: Likewise.
20493 * kern/i386/efi/startup.S: Likewise.
20494 * kern/i386/pc/init.c: Likewise.
20495 * kern/i386/pc/lzo1x.S: Likewise.
20496 * kern/i386/pc/startup.S: Likewise.
20497 * kern/ieee1275/ieee1275.c: Likewise.
20498 * kern/powerpc/cache.S: Likewise.
20499 * kern/powerpc/dl.c: Likewise.
20500 * kern/powerpc/ieee1275/cmain.c: Likewise.
20501 * kern/powerpc/ieee1275/crt0.S: Likewise.
20502 * kern/powerpc/ieee1275/init.c: Likewise.
20503 * kern/powerpc/ieee1275/openfw.c: Likewise.
20504 * kern/sparc64/cache.S: Likewise.
20505 * kern/sparc64/dl.c: Likewise.
20506 * kern/sparc64/ieee1275/init.c: Likewise.
20507 * kern/sparc64/ieee1275/openfw.c: Likewise.
20508 * loader/efi/chainloader.c: Likewise.
20509 * loader/efi/chainloader_normal.c: Likewise.
20510 * loader/i386/efi/linux.c: Likewise.
20511 * loader/i386/efi/linux_normal.c: Likewise.
20512 * loader/i386/pc/chainloader.c: Likewise.
20513 * loader/i386/pc/chainloader_normal.c: Likewise.
20514 * loader/i386/pc/linux.c: Likewise.
20515 * loader/i386/pc/linux_normal.c: Likewise.
20516 * loader/i386/pc/multiboot.c: Likewise.
20517 * loader/i386/pc/multiboot_normal.c: Likewise.
20518 * loader/powerpc/ieee1275/linux.c: Likewise.
20519 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
20520 * normal/arg.c: Likewise.
20521 * normal/cmdline.c: Likewise.
20522 * normal/command.c: Likewise.
20523 * normal/completion.c: Likewise.
20524 * normal/execute.c: Likewise.
20525 * normal/function.c: Likewise.
20526 * normal/lexer.c: Likewise.
20527 * normal/main.c: Likewise.
20528 * normal/menu.c: Likewise.
20529 * normal/menu_entry.c: Likewise.
20530 * normal/misc.c: Likewise.
20531 * normal/parser.y: Likewise.
20532 * normal/script.c: Likewise.
20533 * normal/i386/setjmp.S: Likewise.
20534 * normal/powerpc/setjmp.S: Likewise.
20535 * normal/sparc64/setjmp.S: Likewise.
20536 * partmap/acorn.c: Likewise.
20537 * partmap/amiga.c: Likewise.
20538 * partmap/apple.c: Likewise.
20539 * partmap/gpt.c: Likewise.
20540 * partmap/pc.c: Likewise.
20541 * partmap/sun.c: Likewise.
20542 * term/gfxterm.c: Likewise.
20543 * term/terminfo.c: Likewise.
20544 * term/efi/console.c: Likewise.
20545 * term/i386/pc/console.c: Likewise.
20546 * term/i386/pc/serial.c: Likewise.
20547 * term/i386/pc/vesafb.c: Likewise.
20548 * term/i386/pc/vga.c: Likewise.
20549 * term/ieee1275/ofconsole.c: Likewise.
20550 * util/biosdisk.c: Likewise.
20551 * util/console.c: Likewise.
20552 * util/genmoddep.c: Likewise.
20553 * util/getroot.c: Likewise.
20554 * util/grub-emu.c: Likewise.
20555 * util/grub-mkdevicemap.c: Likewise.
20556 * util/grub-probe.c: Likewise.
20557 * util/lvm.c: Likewise.
20558 * util/misc.c: Likewise.
20559 * util/raid.c: Likewise.
20560 * util/resolve.c: Likewise.
20561 * util/update-grub.in: Likewise.
20562 * util/update-grub_lib.in: Likewise.
20563 * util/grub.d/00_header.in: Likewise.
20564 * util/grub.d/10_hurd.in: Likewise.
20565 * util/grub.d/10_linux.in: Likewise.
20566 * util/i386/efi/grub-install.in: Likewise.
20567 * util/i386/efi/grub-mkimage.c: Likewise.
20568 * util/i386/pc/grub-install.in: Likewise.
20569 * util/i386/pc/grub-mkimage.c: Likewise.
20570 * util/i386/pc/grub-mkrescue.in: Likewise.
20571 * util/i386/pc/grub-setup.c: Likewise.
20572 * util/i386/pc/misc.c: Likewise.
20573 * util/powerpc/ieee1275/grub-install.in: Likewise.
20574 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
20575 * util/powerpc/ieee1275/misc.c: Likewise.
20576 * video/bitmap.c: Likewise.
20577 * video/video.c: Likewise.
20578 * video/i386/pc/vbe.c: Likewise.
20579 * video/i386/pc/vbeblit.c: Likewise.
20580 * video/i386/pc/vbefill.c: Likewise.
20581 * video/i386/pc/vbeutil.c: Likewise.
20582 * video/readers/tga.c: Likewise.
20583
20584 2007-07-02 Robert Millan <rmh@aybabtu.com>
20585
20586 * conf/i386-efi.rmk: Replace obsolete reference to
20587 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
20588 with util/getroot.c.
20589 * conf/powerpc-ieee1275.rmk: Likewise.
20590 * conf/sparc64-ieee1275.rmk: Likewise.
20591
20592 * util/grub-emu.c (main): Fix unchecked pointer handling.
20593
20594 2007-07-02 Robert Millan <rmh@aybabtu.com>
20595
20596 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
20597 invocation to fail, in order to support partition-less media.
20598
20599 * util/i386/pc/grub-install.in: Likewise.
20600
20601 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
20602 which fs or partmap modules are needed (akin to its sister scripts).
20603
20604 Also use grub-probe to get rid of unportable /proc/mounts check.
20605
20606 Print the same informational message that the other scripts do, before
20607 exiting.
20608
20609 2007-06-23 Robert Millan <rmh@aybabtu.com>
20610
20611 * util/update-grub_lib.in (font_path): New function. Determine whether
20612 a font file can be found and, if so, echo the GRUB path to it.
20613
20614 * util/update-grub.in: Handle multiple terminals depending on user
20615 input, platform availability and font file presence. Propagate
20616 variables of our findings to /etc/grub.d/ children.
20617
20618 * util/grub.d/00_header.in: Handle multiple terminals, based on
20619 environment setup by update-grub.
20620
20621 2007-06-23 Robert Millan <rmh@aybabtu.com>
20622
20623 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
20624
20625 2007-06-21 Robert Millan <rmh@aybabtu.com>
20626
20627 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
20628 indicate end of data section in kernel image.
20629 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
20630 GRUB_KERNEL_MACHINE_DATA_END.
20631
20632 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
20633 space for it.
20634 * kern/i386/efi/startup.S: Likewise.
20635
20636 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
20637 during image generation. Implement --prefix option to override this
20638 patch.
20639 * util/i386/efi/grub-mkimage.c: Likewise.
20640
20641 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
20642 code to make path relative to its root into a separate function.
20643
20644 * util/i386/pc/grub-install.in: Use newly provided
20645 make_system_path_relative_to_its_root() to convert ${grubdir}, then
20646 pass the result to grub-install --prefix.
20647
20648 2007-06-13 Robert Millan <rmh@aybabtu.com>
20649
20650 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
20651 DEFAULT_DEVICE_MAP.
20652 * util/grub-emu.c: Use above definitions from misc.h instead of
20653 defining them.
20654 * util/grub-mkdevicemap.c: Likewise.
20655 * util/i386/pc/grub-setup.c: Likewise.
20656 * util/grub-probe.c: Likewise.
20657 (probe): Abort with grub_util_error() when either
20658 grub_guess_root_device or grub_util_get_grub_dev fails.
20659
20660 2007-06-12 Robert Millan <rmh@aybabtu.com>
20661
20662 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
20663 "pager" assignment.
20664 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
20665 "pcdata".
20666 * util/grub-probe.c (probe): Likewise for "drive_name".
20667
20668 2007-06-11 Robert Millan <rmh@aybabtu.com>
20669
20670 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
20671 not just the cdrom one.
20672
20673 2007-06-11 Robert Millan <rmh@aybabtu.com>
20674
20675 * util/i386/pc/grub-mkrescue.in: Add "set -e".
20676 Add --pkglibdir=DIR option to override pkglibdir.
20677 Mention --image-type=TYPE in help output.
20678 Fix --grub-mkimage (it was a no-op).
20679 Abort gracefully when no parameter is given.
20680
20681 2007-06-11 Robert Millan <rmh@aybabtu.com>
20682
20683 * util/i386/pc/grub-mkrescue.in: New file.
20684 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
20685 * Makefile.in: Handle bin_SCRIPTS.
20686
20687 2007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
20688
20689 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
20690 list of video modes.
20691
20692 2007-06-06 Robert Millan <rmh@aybabtu.com>
20693
20694 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
20695 file doesn't exist, or if it is in a filesystem grub can't read.
20696
20697 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
20698 not abort if GRUB_DRIVE could not be defined. Rearrange generated
20699 header comment to fit in 80 columns when the variables are resolved.
20700
20701 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
20702 could be identified by update-grub. Remove redundant check for
20703 unifont.pff existence (since convert_system_path_to_grub_path now
20704 handles that).
20705
20706 2007-06-04 Robert Millan <rmh@aybabtu.com>
20707
20708 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
20709
20710 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
20711
20712 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
20713
20714 2007-06-04 Robert Millan <rmh@aybabtu.com>
20715
20716 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
20717
20718 * include/grub/partition.h: Declare grub_apple_partition_map_init and
20719 grub_apple_partition_map_fini.
20720
20721 * util/biosdisk.c
20722 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
20723 to access >2 TiB disks).
20724
20725 Print disk->total_sectors with %llu instead of %lu, since this
20726 variable is always 64-bit (prevents wrong disk size from being displayed
20727 on either >2 TiB disk or big-endian CPU).
20728
20729 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
20730 into a generic case that supports all (sane) partition maps.
20731
20732 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
20733 breaks big-endian.
20734
20735 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
20736 and grub_apple_partition_map_fini() after that.
20737
20738 2007-06-01 Robert Millan <rmh@aybabtu.com>
20739
20740 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
20741
20742 * util/grub.d/00_header.in: Only enable gfxterm when
20743 convert_system_path_to_grub_path() succeeds.
20744
20745 2007-05-20 Robert Millan <rmh@aybabtu.com>
20746
20747 * util/update-grub_lib.in: New file.
20748 * DISTLIST: Add update-grub_lib.in.
20749 * conf/common.rmk: Generate update-grub_lib and install it in
20750 $(lib_DATA).
20751 * Makefile.in: Add install routine for $(lib_DATA).
20752
20753 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
20754 function provided by update-grub_lib to support arbitrary paths of
20755 unifont.pff.
20756 * util/update-grub.in: Use convert_system_path_to_grub_path() to
20757 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
20758
20759 2007-05-19 Robert Millan <rmh@aybabtu.com>
20760
20761 * commands/i386/cpuid.c: New module.
20762 * DISTLIST: Add it.
20763 * conf/i386-efi.rmk: Enable cpuid.mod.
20764 * conf/i386-pc.rmk: Likewise.
20765
20766 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
20767
20768 * kern/disk.c (grub_disk_read): Check return value of
20769 grub_realloc().
20770
20771 2007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
20772
20773 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
20774 arrays.
20775 * disk/raid.c (grub_raid_open): Likewise.
20776
20777 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
20778
20779 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
20780 stack instead of on the heap.
20781
20782 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
20783 before doing a read on it.
20784
20785 * configure.ac: Only use -fno-stack-protector for the target
20786 environment.
20787
20788 2007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
20789
20790 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
20791 __attribute_ ((unused)) to mode_type argument.
20792
20793 * util/getroot.c (grub_guess_root_device): Fix #endif.
20794
20795 * kern/misc.c (memcmp): Fix prototype.
20796
20797 * include/grub/partition.h [GRUB_UTIL]
20798 (grub_gpt_partition_map_init): Add prototype.
20799 (grub_gpt_partition_map_fini): Likewise.
20800
20801 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
20802 at the right place.
20803
20804 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
20805 (grub_fat_read_data): Likewise.
20806 (grub_fat_find_dir): Likewise.
20807
20808 * font/manager.c (find_glyph): Make table a const.
20809 (grub_font_get_glyph): Remove bitmap from if statement.
20810
20811 2007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
20812
20813 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
20814 code, first search for device in /dev/mapper, then in /dev.
20815 (grub_util_get_grub_dev): New function.
20816 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
20817 prototype.
20818 * util/grub-probe.c (probe): Remove check for RAID, call
20819 grub_util_get_grub_dev() instead of
20820 grub_util_biosdisk_get_grub_dev().
20821 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
20822 grub_util_biosdisk_get_grub_dev().
20823 * util/i386/pc/grub-setup.c (main): Likewise.
20824
20825 2007-05-16 Robert Millan <rmh@aybabtu.com>
20826
20827 * DISTLIST: Update for the latest changes.
20828 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
20829 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
20830 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
20831 grub/util/biosdisk.h.
20832 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
20833 grub/util/biosdisk.h.
20834
20835 2007-05-16 Robert Millan <rmh@aybabtu.com>
20836
20837 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
20838
20839 2007-05-16 Robert Millan <rmh@aybabtu.com>
20840
20841 * util/i386/efi/grub-install.in: New.
20842 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
20843 newly added grub-install.
20844 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
20845 include.
20846 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
20847 grub/util/biosdisk.h.
20848 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
20849 grub/util/biosdisk.h.
20850
20851 2007-05-16 Robert Millan <rmh@aybabtu.com>
20852
20853 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
20854 * include/grub/util/biosdisk.h: ... here.
20855 * util/i386/pc/biosdisk.c: Moved to ...
20856 * util/biosdisk.c: ... here.
20857 * util/i386/pc/getroot.c: Moved to ...
20858 * util/getroot.c: ... here.
20859 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
20860 * util/grub-mkdevicemap.c: ... here.
20861 * util/i386/pc/grub-probe.c: Moved to ...
20862 * util/grub-probe.c: ... here.
20863
20864 2007-05-15 Robert Millan <rmh@aybabtu.com>
20865
20866 * util/update-grub.in: Remove duplicated line in grub.cfg header
20867 message.
20868
20869 2007-05-13 Robert Millan <rmh@aybabtu.com>
20870
20871 * util/update-grub.in: Fix a few assumptions about the devices holding
20872 /, /boot and /boot/grub being the same.
20873 * util/grub.d/00_header.in: Likewise.
20874 * util/grub.d/10_hurd.in: Likewise.
20875 * util/grub.d/10_linux.in: Likewise.
20876
20877 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
20878 patterns. Use that to define the `.old' suffix as older than `'.
20879
20880 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
20881
20882 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
20883 the grub.cfg header message.
20884
20885 2007-05-11 Robert Millan <rmh@aybabtu.com>
20886
20887 * util/update-grub.in: Create device.map if it doesn't already exist,
20888 before attempting to run grub-probe.
20889 Check for grub-probe and grub-mkdevicemap with the same code
20890 grub-install is using.
20891 Remove test mode.
20892
20893 2007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
20894
20895 * Makefile.in: Add the datarootdir autoconf variable.
20896
20897 2007-05-09 Robert Millan <rmh@aybabtu.com>
20898
20899 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
20900 fail gracefully if dev->disk->partition == NULL.
20901
20902 2007-05-07 Robert Millan <rmh@aybabtu.com>
20903
20904 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
20905 determine partition map module.
20906 * util/i386/pc/grub-install.in: Use this feature to decide which
20907 partition module to load, instead of hardcoding pc and gpt.
20908
20909 2007-05-07 Robert Millan <rmh@aybabtu.com>
20910
20911 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
20912 source directory differs from build directory.
20913
20914 2007-05-05 Robert Millan <rmh@aybabtu.com>
20915
20916 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
20917 initialisation.
20918
20919 2007-05-05 Robert Millan <rmh@aybabtu.com>
20920
20921 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
20922
20923 2007-05-05 Robert Millan <rmh@aybabtu.com>
20924
20925 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
20926 command-line arguments via ${GRUB_CMDLINE_LINUX}.
20927
20928 2007-05-05 Robert Millan <rmh@aybabtu.com>
20929
20930 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
20931 (grub_probe_SOURCES): Likewise.
20932 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
20933 GPT and initialize dos_part and bsd_part accordingly.
20934 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
20935 install_bsd_part.
20936 (main): Activate gpt module for use during partition identification,
20937 and deactivate it afterwards.
20938 * util/i386/pc/grub-install.in: Add gpt module to core.img.
20939 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
20940 partition identification, and deactivate it afterwards.
20941
20942 2007-05-05 Robert Millan <rmh@aybabtu.com>
20943
20944 * term/i386/pc/console.c (grub_console_fini): Call
20945 grub_term_set_current() before grub_term_unregister().
20946
20947 2007-05-04 Robert Millan <rmh@aybabtu.com>
20948
20949 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
20950 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
20951 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
20952 and update-grub_DATA.
20953 * conf/common.rmk: Build and install update-grub components.
20954 * conf/common.mk: Regenerate.
20955 * util/update-grub.in: New. Core of update-grub.
20956 * util/grub.d/00_header.in: New. Generates grub.cfg header.
20957 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
20958 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
20959 * util/grub.d/README: New. Document grub.d directory layout.
20960
20961 2007-05-01 Robert Millan <rmh@aybabtu.com>
20962
20963 * util/grub-emu.c: Move initialization functions
20964 grub_util_biosdisk_init() and grub_init_all() before
20965 grub_util_biosdisk_get_grub_dev(), which relies on them.
20966
20967 2007-04-19 Robert Millan <rmh@aybabtu.com>
20968
20969 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
20970 it is used later.
20971
20972 2007-04-18 Jerone Young <jerone@gmail.com>
20973
20974 * kernel/elf.c: Add missing parenthesis for conditional statement
20975 stanza.
20976
20977 2007-04-10 Jerone Young <jerone@gmail.com>
20978
20979 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
20980 continue on and look for device node with real device name.
20981
20982 2007-04-10 Jerone Young <jerone@gmail.com>
20983
20984 * configure.ac: Add argument for autoconf to use transformation
20985 ability.
20986 * Makefile.in: Add autoconf package transformation code.
20987 * util/i386/pc/grub-install.in: Likewise.
20988 * util/powerpc/ieee1275/grub-install.in: Likewise.
20989
20990 2007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
20991
20992 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
20993 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
20994 (EXT2_REVISION): Likewise.
20995 (EXT2_INODE_SIZE): Likewise.
20996 (struct grub_ext2_block_group): Added a missing member
20997 "used_dirs".
20998 (grub_ext2_read_inode): Divide by the inode size in a superblock
20999 instead of 128 to obtain INODES_PER_BLOCK.
21000 Use the macro EXT2_INODE_SIZE instead of directly using
21001 SBLOCK->INODE_SIZE.
21002
21003 2007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
21004
21005 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
21006 superblock instead of the structure size to compute an
21007 offset. This fixes the problem that GRUB could not read a
21008 filesystem when inode size is different from 128-byte.
21009
21010 2007-03-05 Marco Gerards <marco@gnu.org>
21011
21012 * normal/main.c (read_config_file): When "menu" is not set, create
21013 an initial context.
21014
21015 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
21016
21017 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
21018 (HEAP_LIMIT): New macro.
21019 (grub_claim_heap): Claim memory up to `heaplimit'.
21020
21021 2007-02-21 Hollis Blanchard <hollis@penguinppc.org>
21022
21023 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
21024 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
21025 (_start): Likewise.
21026 (grub_arch_modules_addr): Return address after `_end'.
21027 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
21028 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
21029 (add_segments): Calculate `_end' from phdr size and location.
21030 (ALIGN_UP): Moved to ...
21031 * include/grub/misc.h: here.
21032 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
21033 New macro.
21034 (GRUB_IEEE1275_MODULE_BASE): Removed.
21035
21036 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
21037
21038 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
21039 loop boundary.
21040
21041 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
21042
21043 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
21044 All users updated.
21045 (grub_elf64_load_hook_t): Likewise.
21046 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
21047 debug output.
21048
21049 2007-02-20 Hollis Blanchard <hollis@penguinppc.org>
21050
21051 * kern/mm.c: Update copyright.
21052 (grub_mm_debug): Correct syntax error.
21053 (grub_mm_dump_free): New function.
21054 (grub_debug_free): Call `grub_free'.
21055 * include/grub/mm.h: Update copyright.
21056 (grub_mm_dump_free): Add declaration.
21057
21058 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
21059
21060 * include/grub/ieee1275/ieee1275.h: Update copyright.
21061 * kern/powerpc/ieee1275/init.c: Likewise.
21062 * kern/powerpc/ieee1275/openfw.c: Likewise.
21063
21064 * loader/powerpc/ieee1275/linux.c: Likewise.
21065 * include/grub/elfload.h: Likewise.
21066 * kern/elf.c: Likewise.
21067 (grub_elf32_load): Pass `base' and `size' parameters. Update all
21068 callers.
21069 (grub_elf64_load): Likewise.
21070 (grub_elf32_load_segment): Move to a nested function.
21071 (grub_elf64_load_segment): Likewise.
21072
21073 2007-02-12 Hollis Blanchard <hollis@penguinppc.org>
21074
21075 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
21076 prototype.
21077 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
21078 (grub_heap_len): Likewise.
21079 (HEAP_SIZE): New macro.
21080 (grub_claim_heap): New function.
21081 (grub_machine_init): Don't claim heap directly. Call
21082 `grub_claim_heap'.
21083 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
21084 (grub_available_iterate): New function.
21085
21086 2007-02-03 Thomas Schwinge <tschwinge@gnu.org>
21087
21088 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
21089 * configure.ac: Use it for testing the HOST and TARGET compilers.
21090
21091 2006-12-13 Thomas Schwinge <tschwinge@gnu.org>
21092
21093 * Makefile.in (enable_grub_emu): New variable.
21094 * configure.ac (--enable-grub-emu): New option.
21095 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
21096 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
21097 * conf/i386-pc.rmk: Likewise.
21098 * conf/powerpc-ieee1275.rmk: Likewise.
21099 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
21100
21101 2006-12-12 Marco Gerards <marco@gnu.org>
21102
21103 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
21104
21105 * kern/env.c (grub_env_unset): Don't free the member `value' when
21106 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
21107 pointer.
21108
21109 * normal/main.c (current_menu): Removed.
21110 (free_menu): Unset the `menu' environment variable.
21111 (grub_normal_menu_addentry): Make use of the environment variable
21112 `menu', instead of using the global `current_menu'. Allocate
21113 memory for the sourcecode of this entry.
21114 (read_config_file): New argument `nested', changed all callers.
21115 Only in the case of a new context, initialize a new menu. Set the
21116 `menu' environment variable.
21117 (grub_normal_execute): Don't set and unset the environment
21118 variable `menu' here anymore. Only free the menu when leaving the
21119 context.
21120
21121 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
21122 leak.
21123
21124 2006-12-11 Marco Gerards <marco@gnu.org>
21125
21126 * normal/menu_entry.c (run): Fix off by one bug so the last line
21127 is executed. Move the loader check to outside the loop.
21128
21129 2006-12-08 Hollis Blanchard <hollis@penguinppc.org>
21130
21131 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
21132
21133 2006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
21134
21135 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
21136 the number of sectors. Reported by Andrey Shuvikov
21137 <mr_hyro@yahoo.com>.
21138
21139 2006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
21140
21141 * kern/disk.c (grub_disk_read): When there is a read error, always
21142 try to read only the necessary data.
21143
21144 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
21145 disk/raid.c.
21146 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
21147 prototype.
21148 [GRUB_UTIL] (grub_raid_fini): Likewise.
21149 [GRUB_UTIL] (grub_lvm_init): Likewise.
21150 [GRUB_UTIL] (grub_lvm_fini): Likewise.
21151 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
21152 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
21153 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
21154 and grub_raid_fini().
21155
21156 2006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
21157
21158 * include/grub/types.h (__unused): Rename to UNUSED.
21159 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
21160 (grub_elf64_size): Likewise.
21161
21162 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
21163
21164 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
21165 grub_error_push and grub_error_pop in the error-handling path.
21166 (grub_elf32_load_segment): Only call grub_file_read with non-zero
21167 length.
21168
21169 2006-11-03 Hollis Blanchard <hollis@penguinppc.org>
21170
21171 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
21172 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
21173 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21174 (kernel_elf_SOURCES): Likewise.
21175 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
21176 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
21177 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
21178 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
21179 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
21180 (elf_mod_SOURCES): New variable.
21181 (elf_mod_CFLAGS): Likewise.
21182 (elf_mod_LDFLAGS): Likewise.
21183 * include/grub/types.h (__unused): New macro.
21184 * include/grub/elfload.h: New file.
21185 * kern/elf.c: Likewise.
21186 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
21187 (ELF32_LOADMASK): New macro.
21188 (ELF64_LOADMASK): Likewise.
21189 (vmlinux): Removed.
21190 (grub_linux_load32): New function.
21191 (grub_linux_load64): Likewise.
21192 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
21193 Use grub_elf_t instead of grub_file_t.
21194
21195 2006-11-02 Hollis Blanchard <hollis@penguinppc.org>
21196
21197 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
21198 `catch_result' to struct set_color_args.
21199
21200 2006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
21201
21202 * normal/menu.c: Include grub/script.h.
21203 * normal/menu_entry.c: Likewise.
21204 * include/grub/normal.h: Do not include grub/script.h.
21205
21206 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
21207
21208 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
21209
21210 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
21211
21212 * kern/disk.c (grub_disk_open): Print debug messages when opening a
21213 disk.
21214 (grub_disk_close): Print debug messages when closing a disk.
21215 (grub_disk_read): Print debug messages when disk read fails.
21216 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
21217 filesystem type.
21218 * kern/partition.c: Include misc.h.
21219 (grub_partition_iterate): Print debug messages when detecting
21220 partition type.
21221
21222 2006-10-27 Hollis Blanchard <hollis@penguinppc.org>
21223
21224 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
21225 is negative.
21226 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
21227
21228 2006-10-26 Hollis Blanchard <hollis@penguinppc.org>
21229
21230 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
21231 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
21232
21233 2006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
21234
21235 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
21236 instead of sizeof(lv). Patch by Michael Guntsche.
21237
21238 2006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
21239
21240 * disk/lvm.c: Rename VGS to VG_LIST.
21241 (grub_lvm_iterate): Change VGS->LV to VG-LV.
21242 (grub_lvm_open): Likewise.
21243 Thanks to Michael Guntsche for finding this bug.
21244
21245 2006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
21246
21247 * configure.ac (AC_INIT): Bumped to 1.95.
21248
21249 2006-10-14 Robert Millan <rmh@aybabtu.com>
21250
21251 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
21252 with "/dev/.static/dev/md".
21253
21254 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
21255
21256 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
21257 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
21258 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
21259 DRIVE_NAME are always freed.
21260
21261 * util/i386/pc/biosdisk.c (make_device_name): Add one into
21262 DOS_PART, as a DOS partition is counted from one instead of zero
21263 now. Reported by Robert Millan.
21264
21265 2006-10-14 Robert Millan <rmh@aybabtu.com>
21266
21267 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
21268 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
21269 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
21270 string returned by grub_guess_root_device.
21271 * util/i386/pc/grub-setup.c: Likewise.
21272 * util/i386/pc/grub-probefs.c: Likewise.
21273
21274 * util/i386/pc/grub-probefs.c: Rename to ...
21275 * util/i386/pc/grub-probe.c: ... this.
21276 * DISTLIST: Remove grub-probefs, add grub-probe.
21277 * conf/i386-efi.rmk: Likewise.
21278 * conf/i386-pc.rmk: Likewise.
21279 * util/i386/pc/grub-install.in: Likewise.
21280
21281 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
21282 choose which information we want to print.
21283
21284 2006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
21285
21286 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
21287 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
21288 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
21289 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
21290 video/readers/tga.c and video/i386/pc/vbeutil.c.
21291
21292 2006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
21293
21294 Added support for RAID and LVM.
21295
21296 * disk/lvm.c: New file.
21297 * disk/raid.c: Likewise.
21298 * include/grub/lvm.h: Likewise.
21299 * include/grub/raid.h: Likewise.
21300 * include/grub/util/lvm.h: Likewise.
21301 * include/grub/util/raid.h: Likewise.
21302 * util/lvm.c: Likewise.
21303 * util/raid.c: Likewise.
21304
21305 * include/grub/disk.h (grub_disk_dev_id): Add
21306 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
21307 (grub_disk_get_size): New prototype.
21308 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
21309 returns a partition.
21310 (grub_disk_get_size): New function.
21311
21312 * kern/i386/pc/init.c (make_install_device): Copy the prefix
21313 verbatim if grub_install_dos_part is -2.
21314
21315 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
21316 and LVM devices.
21317
21318 * util/i386/pc/grub-setup.c (setup): New argument
21319 MUST_EMBED. Force embedding of GRUB when the argument is
21320 true. Close FILE before returning.
21321 (main): Add support for RAID and LVM.
21322
21323 * conf/common.rmk: Add RAID and LVM modules.
21324 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
21325 util/lvm.c.
21326 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
21327
21328 * kern/misc.c (grub_strstr): New function.
21329 * include/grub/misc.h (grub_strstr): New prototype.
21330
21331 2006-10-10 Tristan Gingold <tristan.gingold@bull.net>
21332
21333 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
21334
21335 2006-10-05 Tristan Gingold <tristan.gingold@bull.net>
21336
21337 * kern/misc.c (grub_strtoull): Guess the base only if not
21338 specified.
21339
21340 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
21341
21342 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
21343 PowerMac support.
21344
21345 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
21346
21347 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
21348
21349 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
21350 Remove `flags' argument. All callers changed.
21351 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
21352 (IEEE1275_IHANDLE_INVALID): New variable.
21353 (IEEE1275_CELL_INVALID): New variable.
21354 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
21355 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
21356 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
21357 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
21358 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
21359 codes from Open Firmware. All callers updated.
21360 (grub_ieee1275_next_property): Directly return Open Firmware return
21361 code.
21362 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
21363 Standardize error checking from `grub_ieee1275_get_property'.
21364 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
21365 `devalias' to `aliases'. Correct comments. Consolidate error paths.
21366
21367 2006-10-01 Hollis Blanchard <hollis@penguinppc.org>
21368
21369 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
21370 `instance_to_package_args' to `instance_to_path_args'.
21371
21372 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
21373 `grub_ieee1275_chosen'.
21374
21375 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
21376 `grub_ieee1275_interpret'.
21377
21378 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
21379
21380 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
21381
21382 2006-09-25 Hollis Blanchard <hollis@penguinppc.org>
21383
21384 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
21385 (__cmpdi): Likewise.
21386
21387 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
21388 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
21389 `grub_ssize_t'.
21390
21391 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
21392
21393 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
21394 to type `grub_ssize_t'.
21395 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
21396
21397 2006-09-22 Marco Gerards <marco@gnu.org>
21398
21399 * normal/script.c (grub_script_create_cmdmenu): Skip leading
21400 newlines.
21401
21402 2006-09-22 Marco Gerards <marco@gnu.org>
21403
21404 * commands/echo.c: New file.
21405
21406 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
21407
21408 * conf/common.rmk (echo_mod_SOURCES): New variable.
21409 (echo_mod_CFLAGS): Likewise.
21410 (echo_mod_LDFLAGS): Likewise.
21411
21412 2006-09-22 Marco Gerards <marco@gnu.org>
21413
21414 * normal/main.c (get_line): Malloc memory instead of using
21415 preallocated memory. Removed the arguments `cmdline' and
21416 `max_len'. Updated all callers.
21417
21418 2006-09-22 Marco Gerards <marco@gnu.org>
21419
21420 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
21421 (normal_mod_DEPENDENCIES): Likewise.
21422
21423 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
21424 (normal_mod_DEPENDENCIES): Likewise.
21425
21426 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
21427
21428 2006-09-22 Johan Rydberg <jrydberg@gnu.org>
21429
21430 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
21431 programs.
21432 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
21433 (normal_mod_DEPENDENCIES): Likewise.
21434 * conf/i386-pc.mk: Regenerate.
21435 * conf/i386-efi.mk: Likewise
21436 * conf/common.mk: Likewise.
21437 * conf/powerpc-ieee1275.mk: Likewise.
21438 * conf/sparc64-ieee1275.mk: Likewise.
21439
21440 2006-09-22 Robert Millan <rmh@aybabtu.com>
21441
21442 Sync with i386 version.
21443 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
21444 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
21445
21446 2006-09-21 Robert Millan <rmh@aybabtu.com>
21447
21448 Import from GRUB Legacy (lib/device.c):
21449 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
21450 (init_device_map) [__linux__]: Add support for I2O devices.
21451
21452 2006-09-14 Marco Gerards <marco@gnu.org>
21453
21454 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
21455 `-melf_i386'.
21456
21457 2006-09-14 Robert Millan <rmh@aybabtu.com>
21458
21459 * util/i386/pc/grub-install.in: Skip menu.lst when removing
21460 /boot/grub/*.lst.
21461
21462 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
21463
21464 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
21465 before adding it to device.map.
21466
21467 2006-08-15 Johan Rydberg <jrydberg@gnu.org>
21468
21469 * genmk.rb: Let GCC generate dependencies the first time it
21470 compiles a file; using the -MD option.
21471 * conf/common.mk: Regenerate.
21472 * conf/i386-pc.mk: Likewise.
21473 * conf/i386-efi.mk: Likewise.
21474 * conf/powerpc-ieee1275.mk: Likewise.
21475 * conf/sparc64-ieee1275.mk: Likewise.
21476
21477 2006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
21478
21479 Move the prototypes of grub_setjmp and grub_longjmp to
21480 cpu/setjmp.h, so that each architecture may specify different
21481 attributes.
21482
21483 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
21484 (grub_longjmp): Likewise.
21485 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
21486 (grub_longjmp): Likewise.
21487 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
21488 (grub_longjmp): Likewise.
21489
21490 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
21491 [!GRUB_UTIL] (grub_longjmp): Removed.
21492
21493 2006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
21494
21495 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
21496 "color!" method does not return any value.
21497
21498 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
21499
21500 * include/grub/bitmap.h: New file.
21501
21502 * include/grub/i386/pc/vbeutil.h: Likewise.
21503
21504 * video/bitmap.c: Likewise.
21505
21506 * video/readers/tga.c: Likewise.
21507
21508 * video/i386/pc/vbeutil.c: Likewise.
21509
21510 * commands/videotest.c: Code cleanup and updated to reflect to new
21511 video API.
21512
21513 * term/gfxterm.c: Likewise.
21514
21515 * video/video.c: Likewise.
21516
21517 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
21518 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
21519 (bitmap_mod_SOURCES): New entry.
21520 (bitmap_mod_CFLAGS): Likewise.
21521 (bitmap_mod_LDFLAGS): Likewise.
21522 (tga_mod_SOURCES): Likewise.
21523 (tga_mod_CFLAGS): Likewise.
21524 (tga_mod_LDFLAGS): Likewise.
21525
21526 * include/grub/video.h (grub_video_blit_operators): New enum type.
21527 (grub_video_render_target): Changed as forward declaration and moved
21528 actual definition to be video driver specific.
21529 (grub_video_adapter.blit_bitmap): Added blitting operator.
21530 (grub_video_adapter.blit_render_target): Likewise.
21531 (grub_video_blit_bitmap): Likewise.
21532 (grub_video_blit_render_target): Likewise.
21533
21534 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
21535 driver specific render target definition.
21536 (grub_video_vbe_map_rgba): Added driver internal helper.
21537 (grub_video_vbe_unmap_color): Updated to use
21538 grub_video_i386_vbeblit_info.
21539 (grub_video_vbe_get_video_ptr): Likewise.
21540
21541 * include/grub/i386/pc/vbeblit.h
21542 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
21543 grub_video_i386_vbeblit_info.
21544 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
21545 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
21546 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
21547 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
21548 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
21549 (grub_video_i386_vbeblit_index_index): Likewise.
21550 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
21551 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
21552 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
21553 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
21554 operator.
21555 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
21556 operator.
21557
21558 * video/i386/pc/vbeblit.c: Updated to reflect changes on
21559 include/grub/i386/pc/vbeblit.h.
21560
21561 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
21562 Updated to use grub_video_i386_vbeblit_info.
21563 (grub_video_i386_vbefill_R8G8B8): Likewise.
21564 (grub_video_i386_vbefill_index): Likewise.
21565 (grub_video_i386_vbefill): Added generic filler.
21566
21567 * video/i386/pc/vbefill.c: Updated to reflect changes on
21568 include/grub/i386/pc/vbefill.h.
21569
21570 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
21571 grub_video_i386_vbeblit_info.
21572 (grub_video_vbe_unmap_color): Likewise.
21573 (grub_video_vbe_blit_glyph): Likewise.
21574 (grub_video_vbe_scroll): Likewise.
21575 (grub_video_vbe_draw_pixel): Removed function.
21576 (grub_video_vbe_get_pixel): Likewise.
21577 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
21578 updated code to use it.
21579 (common_blitter): Added common blitter for render target and bitmap.
21580 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
21581 (grub_video_vbe_blit_render_target): Likewise.
21582
21583 2006-07-30 Johan Rydberg <jrydberg@gnu.org>
21584
21585 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
21586 is in text mode if there is no console control protocol instance
21587 available.
21588
21589 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
21590
21591 * include/grub/video.h: Code cleanup.
21592
21593 * include/grub/i386/pc/vbe.h: Likewise.
21594
21595 * video/i386/pc/vbe.c: Likewise.
21596
21597 * video/i386/pc/vbeblit.c: Likewise.
21598
21599 * video/i386/pc/vbefill.c: Likewise.
21600
21601 * video/video.c: Likewise. Also added more comments.
21602
21603 2006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
21604
21605 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
21606 (struct grub_biosdisk_dap): Likewise.
21607
21608 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
21609 linkage settings for all functions.
21610
21611 2006-07-12 Marco Gerards <marco@gnu.org>
21612
21613 * configure.ac (--enable-mm-debug): Fix typo.
21614
21615 * genkernsyms.sh.in: Use proper quoting for `CC'.
21616
21617 2006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
21618
21619 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
21620 (normal_mod_ASFLAGS): Remove "-m32".
21621
21622 2006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
21623
21624 * util/misc.c: Include config.h.
21625 [!HAVE_MEMALIGN]: Do not include malloc.h.
21626 (grub_memalign): Use posix_memalign, if present. Then, use
21627 memalign, if present. Otherwise, emit an error.
21628
21629 * util/grub-emu.c: Do not include malloc.h.
21630
21631 * include/grub/util/misc.h: Include unistd.h. This is required for
21632 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
21633 D. Eades III <hde@foobar-qux.org>.
21634
21635 * configure.ac (AC_GNU_SOURCE): Added.
21636 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
21637 type.
21638
21639 2006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
21640
21641 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
21642 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
21643
21644 2006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
21645
21646 * include/grub/types.h (grub_host_addr_t): Rename to
21647 grub_target_addr_t.
21648 (grub_host_off_t): Rename to grub_target_off_t.
21649 (grub_host_size_t): Rename to grub_target_size_t.
21650 (grub_host_ssize_t): Rename to grub_target_ssize_t.
21651 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
21652
21653 * include/grub/kernel.h (struct grub_module_header): Change type
21654 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
21655 (grub_module_info): Likewise.
21656
21657 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
21658
21659 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
21660 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
21661 Velazquez <jesus.velazquez@gmail.com>.
21662
21663 2006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
21664
21665 Count partitions from 1 instead of 0 in the string representation
21666 of partitions. Still use 0-based internally.
21667
21668 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
21669 (sun_partition_map_iterate): Use grub_partition_t instead of
21670 struct grub_partition *. Cast DESC->START_CYLINDER to
21671 grub_uint64_t after converting the endian.
21672 (sun_partition_map_probe): Subtract 1 for PARTNUM.
21673 (sun_partition_map_get_name): Add 1 to P->INDEX.
21674
21675 * partmap/pc.c (grub_partition_parse): Subtract 1 for
21676 PCDATA->DOS_PART.
21677 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
21678
21679 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
21680 zero instead of one.
21681 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
21682 (gpt_partition_map_get_name): Add 1 into P->INDEX.
21683
21684 * partmap/apple.c (apple_partition_map_iterate): Change the type
21685 of POS to unsigned.
21686 (apple_partition_map_probe): Subtract 1 for PARTNUM.
21687 (apple_partition_map_get_name): Add 1 into P->INDEX.
21688
21689 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
21690 of POS to unsigned.
21691 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
21692 calculate the offset of a partition.
21693 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
21694 (amiga_partition_map_get_name): Add 1 into P->INDEX.
21695
21696 * partmap/acorn.c (acorn_partition_map_find): Change the type of
21697 SECTOR to grub_disk_addr_t.
21698 (acorn_partition_map_iterate): Likewise.
21699 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
21700 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
21701 top.
21702 (acorn_partition_map_get_name): Add 1 into P->INDEX.
21703
21704 * kern/i386/pc/init.c (make_install_device): Add 1 into
21705 GRUB_INSTALL_DOS_PART.
21706
21707 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
21708 conditional.
21709
21710 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
21711
21712 Clean up the code to support 64-bit addressing in disks and
21713 files. This change is not enough for filesystems yet.
21714
21715 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
21716 type of "start" to grub_uint64_t.
21717 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
21718 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
21719 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
21720 convert addresses.
21721
21722 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
21723 to grub_disk_addr_t.
21724
21725 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
21726 string.
21727
21728 * partmap/pc.c (pc_partition_map_iterate): Likewise.
21729
21730 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
21731 to char *.
21732
21733 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
21734
21735 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
21736
21737 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
21738
21739 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
21740 to grub_off_t, to detect an error from grub_file_seek.
21741 (grub_multiboot_load_elf32): Likewise.
21742
21743 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
21744 maximum unsigned long value when an overflow is detected.
21745 (grub_strtoull): New function.
21746 (grub_divmod64): Likewise.
21747 (grub_lltoa): use grub_divmod64.
21748
21749 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
21750 grub_disk_addr_t.
21751 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
21752 the pointer to next character. Use grub_strtoull instead of
21753 grub_strtoul.
21754 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
21755 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
21756 respectively.
21757
21758 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
21759 return value is signed.
21760 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
21761 test if OFFSET is less than zero, as OFFSET is unsigned now.
21762
21763 * kern/disk.c (struct grub_disk_cache): Change the type of
21764 "sector" to grub_disk_addr_t.
21765 (grub_disk_cache_get_index): Change the type of SECTOR to
21766 grub_disk_addr_t. Calculate the hash with SECTOR casted to
21767 unsigned after shifting.
21768 (grub_disk_cache_invalidate): Change the type of SECTOR to
21769 grub_disk_addr_t.
21770 (grub_disk_cache_unlock): Likewise.
21771 (grub_disk_cache_store): Likewise.
21772 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
21773 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
21774 grub_disk_addr_t and grub_uint64_t, respectively.
21775 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
21776 body, as the value of OFFSET is tweaked by
21777 grub_disk_check_range. Change the types of START_SECTOR, LEN and
21778 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
21779 respectively.
21780 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
21781 body, as the value of OFFSET is tweaked by
21782 grub_disk_check_range. Change the types of LEN and N to
21783 grub_size_t.
21784
21785 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
21786 and "saved_offset" to grub_off_t.
21787 (test_header): Cast BUF to char *.
21788 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
21789 to char *.
21790 (grub_gzio_read): Change the types of OFFSET and SIZE to
21791 grub_off_t and grub_size_t, respectively.
21792
21793 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
21794 Removed.
21795 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
21796 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
21797 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
21798 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
21799 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
21800
21801 * include/grub/types.h (grub_off_t): Unconditionally set to
21802 grub_uint64_t.
21803 (grub_disk_addr_t): Changed to grub_uint64_t.
21804
21805 * include/grub/partition.h (struct grub_partition): Change the
21806 types of "start", "len" and "offset" to grub_disk_addr_t,
21807 grub_uint64_t and grub_disk_addr_t, respectively.
21808 (grub_partition_get_start): Return grub_disk_addr_t.
21809 (grub_partition_get_len): Return grub_uint64_t.
21810
21811 * include/grub/misc.h (grub_strtoull): New prototype.
21812 (grub_divmod64): Likewise.
21813
21814 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
21815 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
21816 grub_off_t, respectively.
21817 All callers and references changed.
21818
21819 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
21820 grub_size_t in "read".
21821 All callers and references changed.
21822
21823 * include/grub/file.h (struct grub_file): Change the types of
21824 "offset" and "size" to grub_off_t and grub_off_t,
21825 respectively. Change the type of SECTOR to grub_disk_addr_t in
21826 "read_hook".
21827 (grub_file_read): Change the type of LEN to grub_size_t.
21828 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
21829 grub_off_t.
21830 (grub_file_size): Return grub_off_t.
21831 (grub_file_tell): Likewise.
21832 All callers and references changed.
21833
21834 * include/grub/disk.h (struct grub_disk_dev): Change the types of
21835 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
21836 "write".
21837 (struct grub_disk): Change the type of "total_sectors" to
21838 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
21839 "read_hook".
21840 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
21841 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
21842 (grub_disk_write): Likewise.
21843 All callers and references changed.
21844
21845 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
21846 char * for grub_strncmp to silence gcc.
21847 (grub_iso9660_mount): Likewise.
21848 (grub_iso9660_mount): Likewise.
21849 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
21850 return statement.
21851 (grub_iso9660_iterate_dir): Likewise.
21852 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
21853
21854 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
21855 LEN to grub_disk_addr_t and grub_size_t, respectively.
21856
21857 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
21858
21859 * fs/jfs.c (grub_jfs_read_file): Likewise.
21860
21861 * fs/minix.c (grub_jfs_read_file): Likewise.
21862
21863 * fs/sfs.c (grub_jfs_read_file): Likewise.
21864
21865 * fs/ufs.c (grub_jfs_read_file): Likewise.
21866
21867 * fs/xfs.c (grub_jfs_read_file): Likewise.
21868
21869 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
21870 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
21871 respectively.
21872
21873 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
21874 BLKNR to -1 instead of returning GRUB_ERRNO.
21875 (grub_ext2_read_file): Change the types of SECTOR and
21876 LEN to grub_disk_addr_t and grub_size_t, respectively.
21877
21878 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
21879 LEN to grub_disk_addr_t and grub_size_t, respectively.
21880
21881 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
21882 grub_file_read.
21883
21884 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
21885 string. Do not cast SECTOR explicitly.
21886
21887 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
21888 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
21889 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
21890 grub_disk_addr_t and grub_size_t, respectively. If the sector is
21891 over 2TB and LBA mode is not supported, raise an error.
21892 (get_safe_sectors): New function.
21893 (grub_biosdisk_read): Use get_safe_sectors.
21894 (grub_biosdisk_write): Likewise.
21895
21896 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
21897 (grub_efidisk_write): Likewise.
21898
21899 * disk/loopback.c (delete_loopback): Cosmetic changes.
21900 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
21901 correctly.
21902 (grub_loopback_open): Likewise.
21903 (grub_loopback_read): Likewise. Also, change the type of POS to
21904 grub_off_t, and fix the usage of grub_memset.
21905
21906 * commands/i386/pc/play.c: Include grub/machine/time.h.
21907
21908 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
21909 print FILE->SIZE.
21910
21911 * commands/configfile.c: Include grub/env.h.
21912
21913 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
21914 GRUB_ERRNO directly instead. Change the type of POS to
21915 grub_off_t. Follow the coding standard.
21916
21917 * commands/blocklist.c: Include grub/partition.h.
21918 (grub_cmd_blocklist): Return an error if the underlying device is
21919 not a disk. Take the starting sector of a partition into account,
21920 if a partition is used.
21921
21922 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
21923 a length field.
21924 (lba_mode): Support 64-bit addresses.
21925 (chs_mode): Likewise.
21926 (copy_buffer): Adapted to the new offsets of a length field and a
21927 segment field.
21928 (blocklist_default_start): Allocate 64-bit space.
21929
21930 * boot/i386/pc/boot.S (force_lba): Removed.
21931 (boot_drive): Moved to under KERNEL_SECTOR.
21932 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
21933 space.
21934 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
21935 is useless.
21936 (lba_mode): Refactored to support a 64-bit address. More size
21937 optimization.
21938 (setup_sectors): Likewise.
21939
21940 2006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
21941
21942 * DISTLIST: Added include/grub/i386/linux.h. Removed
21943 include/grub/i386/pc/linux.h
21944
21945 * configure.ac (AC_INIT): Bumped to 1.94.
21946
21947 * config.guess: Updated from gnulib.
21948 * config.sub: Likewise.
21949 * install-sh: Likewise.
21950 * mkinstalldirs: Likewise.
21951
21952 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
21953
21954 * conf/common.rmk (grub_modules_init.lst): Depended on
21955 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
21956 MODSRCFILES.
21957
21958 * genmk.rb (PModule::rule): Reverted the previous change.
21959
21960 2006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
21961
21962 * conf/common.rmk (grub_modules_init.lst): Depends on
21963 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
21964 that the target does not exist before producing.
21965 (grub_modules_init.h): Remove the target before generating.
21966 (grub_emu_init.c): Likewise.
21967
21968 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
21969
21970 2006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
21971
21972 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
21973 for the target-specific tests. Make sure that we also have the
21974 up-to-date target variables for those tests.
21975
21976 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
21977
21978 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
21979 (PModule::rule): Likewise.
21980
21981 2006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
21982
21983 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
21984 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
21985 target-specific flags should be prefixed.
21986 (PModule::rule): Likewise.
21987
21988 2006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
21989
21990 * configure.ac (CMP): Check if cmp is available explicitly.
21991
21992 2006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
21993
21994 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
21995 (target_cpu): New variable.
21996 (pkglibdir): Use target_cpu instead of host_cpu.
21997
21998 * util/i386/pc/grub-install.in (host_cpu): Removed.
21999 (target_cpu): New variable.
22000 (pkglibdir): Use target_cpu instead of host_cpu.
22001
22002 * util/genmoddep.c: Removed.
22003
22004 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
22005 instead of GRUB_HOST_SIZEOF_VOID_P.
22006 * kern/dl.c: Likewise.
22007
22008 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
22009 ...
22010 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
22011 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
22012 (GRUB_TARGET_SIZEOF_LONG): ... this.
22013 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
22014 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
22015 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
22016 to ...
22017 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
22018 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
22019 (GRUB_TARGET_SIZEOF_LONG): ... this.
22020 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
22021 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
22022 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
22023 to ...
22024 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
22025 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
22026 (GRUB_TARGET_SIZEOF_LONG): ... this.
22027 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
22028 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
22029
22030 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
22031 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
22032 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
22033 instead of GRUB_HOST_SIZEOF_LONG.
22034 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
22035 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
22036 GRUB_CPU_WORDS_BIGENDIAN.
22037 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
22038 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
22039 grub_host_ssize_t.
22040
22041 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
22042 (genmoddep_SOURCES): Likewise.
22043 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
22044 (genmoddep_SOURCES): Likewise.
22045 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
22046 (genmoddep_SOURCES): Likewise.
22047 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
22048 Likewise.
22049 (genmoddep_SOURCES): Likewise.
22050
22051 * genmoddep.awk: New file.
22052
22053 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
22054 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
22055 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
22056 (PModule::rule): Likewise.
22057 (Program::rule): Likewise.
22058 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
22059 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
22060 respectively.
22061
22062 * configure.ac: Rewritten intensively to use host and target
22063 instead of build and host, respectively.
22064
22065 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
22066 (host_cpu): Removed.
22067 (target_cpu): New variable.
22068 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
22069 (BUILD_CC): Removed.
22070 (BUILD_CFLAGS): Likewise.
22071 (BUILD_CPPFLAGS): Likewise.
22072 (TARGET_CC): New variable.
22073 (TARGET_CFLAGS): Likewise.
22074 (TARGET_CPPFLAGS): Likewise.
22075 (TARGET_LDFLAGS): Likewise.
22076 (AWK): Likewise.
22077 (include): Use target_cpu instead of host_cpu.
22078 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
22079
22080 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
22081
22082 2006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
22083
22084 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
22085 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
22086 field 'false' to 'exec_on_false'.
22087 (grub_script_create_cmdif): Renamed argument names to reflect above
22088 changes.
22089
22090 * normal/execute.c (grub_script_execute_cmdif): Likewise.
22091
22092 * normal/script.c (grub_script_create_cmdif): Likewise.
22093
22094 2006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
22095
22096 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
22097 top.
22098 (grub_hfsplus_btree_recptr): Likewise.
22099 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
22100 FILEBLOCK both to pass a block number and store next block
22101 number.
22102 (grub_hfsplus_read_block): Rewritten heavily to support an extent
22103 overflow file correctly. Specify errors appropriately, because
22104 fshelp expects that GRUB_ERRNO is set when fails. Reuse
22105 grub_hfsplus_btree_recptr to get the pointer to a found key.
22106 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
22107 is found.
22108
22109 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
22110 linux.mod.
22111 (_linux_mod_SOURCES): New variable.
22112 (_linux_mod_CFLAGS): Likewise.
22113 (_linux_mod_LDFLAGS): Likewise.
22114 (linux_mod_SOURCES): Likewise.
22115 (linux_mod_CFLAGS): Likewise.
22116 (linux_mod_LDFLAGS): Likewise.
22117
22118 * DISTLIST: Added loader/i386/efi/linux.c,
22119 loader/i386/efi/linux_normal.c and
22120 include/grub/i386/efi/loader.h.
22121
22122 * loader/i386/efi/linux.c: New file.
22123 * loader/i386/efi/linux_normal.c: Likewise.
22124 * include/grub/i386/efi/loader.h: Likewise.
22125
22126 2006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
22127
22128 * commands/blocklist.c: New file.
22129
22130 * DISTLIST: Added commands/blocklist.c.
22131
22132 * term/efi/console.c (grub_console_highlight_color): Use a lighter
22133 color for the background, and a darker color for the foreground.
22134 (grub_console_checkkey): Return READ_KEY.
22135 (grub_console_cls): Set the background to
22136 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
22137
22138 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
22139
22140 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
22141 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
22142
22143 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
22144 prototype.
22145
22146 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
22147 BG. The spec is wrong again.
22148
22149 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
22150 prototype.
22151 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
22152
22153 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
22154 commands/blocklist.c.
22155 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22156
22157 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
22158 (blocklist_mod_SOURCES): New variable.
22159 (blocklist_mod_CFLAGS): Likewise.
22160 (blocklist_mod_LDFLAGS): Likewise.
22161
22162 2006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
22163
22164 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
22165 duplication.
22166 (lba_mode): Use %eax more intensively to reduce the code size.
22167
22168 2006-05-20 Marco Gerards <marco@gnu.org>
22169
22170 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
22171
22172 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
22173 for `menuentry'.
22174 (script): Accept leading newlines.
22175 (newlines): New rule to describe 0 or more newlines.
22176 (commands): Accept `command' with trailing newline. Fixed the
22177 order in which arguments were passed to `grub_script_add_cmd'.
22178 Accept commands separated by newlines.
22179 (function): Changed to accept newlines.
22180 (menuentry) Rewritten.
22181
22182 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
22183 front of the list, instead of to the end.
22184
22185 2006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
22186
22187 * util/i386/pc/grub-install.in (bindir): New variable.
22188 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
22189 Shaver <lbgwjl@gmail.com>.
22190
22191 2006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
22192
22193 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
22194 grub/machine/linux.h
22195 * loader/i386/pc/linux.c: Likewise.
22196
22197 * include/grub/i386/pc/linux.h: Moved to ...
22198 * include/grub/i386/linux.h: ... here.
22199
22200 * include/grub/i386/linux.h (struct linux_kernel_params): New
22201 struct.
22202
22203 2006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
22204
22205 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
22206 checking.
22207 (grub_video_vbe_blit_glyph): Likewise.
22208 (grub_video_vbe_blit_bitmap): Likewise.
22209 (grub_video_vbe_blit_render_target): Likewise.
22210
22211 2006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
22212
22213 * configure.ac (--with-platform): Properly quote the square
22214 brackets.
22215
22216 2006-05-08 Marco Gerards <marco@gnu.org>
22217
22218 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
22219 this...
22220 (kernel_elf_HEADERS): ...to this. Updated all users.
22221 (grubof_symlist.c): Renamed from this...
22222 (kernel_elf_symlist.c): ...to this. Updated all users.
22223 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
22224 (grubof_SOURCES): Renamed from this...
22225 (kernel_elf_SOURCES): ...to this.
22226 (grubof_HEADERS): Renamed from this...
22227 (kernel_elf_HEADERS): ...to this.
22228 (grubof_CFLAGS): Renamed from this...
22229 (kernel_elf_CFLAGS): ...to this.
22230 (grubof_ASFLAGS): Renamed from this...
22231 (kernel_elf_ASFLAGS): ...to this.
22232 (grubof_LDFLAGS): Renamed from this...
22233 (kernel_elf_LDFLAGS): ...to this.
22234
22235 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
22236 this...
22237 (kernel_elf_HEADERS): ...to this. Updated all users.
22238 (grubof_symlist.c): Renamed from this...
22239 (kernel_elf_symlist.c): ...to this. Updated all users.
22240 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
22241 (grubof_SOURCES): Renamed from this...
22242 (kernel_elf_SOURCES): ...to this.
22243 (grubof_HEADERS): Renamed from this...
22244 (kernel_elf_HEADERS): ...to this.
22245 (grubof_CFLAGS): Renamed from this...
22246 (kernel_elf_CFLAGS): ...to this.
22247 (grubof_ASFLAGS): Renamed from this...
22248 (kernel_elf_ASFLAGS): ...to this.
22249 (grubof_LDFLAGS): Renamed from this...
22250 (kernel_elf_LDFLAGS): ...to this.
22251
22252 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
22253 `kernel.elf' instead of `grubof'.
22254
22255 2006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
22256
22257 Add --with-platform to configure. Use pkglibdir instead of
22258 pkgdatadir. This is reported by Roger Leigh.
22259
22260 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
22261 (host_vendor): Likewise.
22262 (host_os): Likewise.
22263 (pkgdatadir): Likewise.
22264 (platform): New variable.
22265 (pkglibdir): Likewise.
22266 Use PKGLIBDIR instead of PKGDATADIR.
22267
22268 * util/i386/pc/grub-install.in (datadir): Removed.
22269 (host_vendor): Likewise.
22270 (host_os): Likewise.
22271 (pkgdatadir): Likewise.
22272 (platform): New variable.
22273 (pkglibdir): Likewise.
22274 Use PKGLIBDIR instead of PKGDATADIR.
22275
22276 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
22277 instead of GRUB_DATADIR.
22278 (main): Likewise.
22279 * util/i386/pc/grub-mkimage.c (usage): Likewise.
22280 (main): Likewise.
22281 * util/i386/efi/grub-mkimage.c (usage): Likewise.
22282 (main): Likewise.
22283
22284 * configure.ac (--with-platform): New option.
22285 Use PLATFORM instead of HOST_VENDOR to specify a platform.
22286
22287 * Makefile.in: Include a makefile based on PLATFORM instead of
22288 HOST_VENDOR.
22289 (pkgdatadir): Not appended by the machine type.
22290 (pkglibdir): Appended by the machine type.
22291 (host_vendor): Removed.
22292 (platform): New variable.
22293 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
22294 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
22295 (uninstall): Likewise.
22296
22297 2006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
22298
22299 Use the environment context in the menu. Remove the commands
22300 "default" and "timeout", and use variables instead.
22301
22302 * normal/menu.c: Include grub/env.h.
22303 (print_entry): Cast TITLE to silence gcc.
22304 (get_timeout): New function.
22305 (set_timeout): Likewise.
22306 (get_entry_number): Likewise.
22307 (run_menu): Use a default entry, a fallback entry and a timeout
22308 in the environment variables "default", "fallback" and
22309 "timeout". Also, tweak the default entry if it is not within the
22310 current menu entries.
22311 (grub_menu_run): Use a fallback entry in the environment variable
22312 "fallback".
22313
22314 * normal/main.c (read_config_file): Do not initialize
22315 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
22316 NEWMENU->TIMEOUT.
22317 (grub_normal_execute): Use a data slot to store the menu.
22318
22319 * include/grub/normal.h (struct grub_menu): Removed default_entry,
22320 fallback_entry and timeout.
22321 (struct grub_menu_list): Removed.
22322 (grub_menu_list_t): Likewise.
22323 (struct grub_context): Likewise.
22324 (grub_context_t): Likewise.
22325 (grub_context_get): Likewise.
22326 (grub_context_get_current_menu): Likewise.
22327 (grub_context_push_menu): Likewise.
22328 (grub_context_pop_menu): Likewise.
22329 (grub_default_init): Likewise.
22330 (grub_default_fini): Likewise.
22331 (grub_timeout_init): Likewise.
22332 (grub_timeout_fini): Likewise.
22333
22334 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
22335 and timeout.mod.
22336 (normal_mod_SOURCES): Removed normal/context.c.
22337
22338 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
22339 commands/default.c, commands/timeout.c and normal/context.c.
22340 (normal_mod_SOURCES): Removed normal/context.c.
22341
22342 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
22343 commands/timeout.c and normal/context.c.
22344 (normal_mod_SOURCES): Removed normal/context.c.
22345
22346 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
22347 commands/default.c, commands/timeout.c and normal/context.c.
22348 (normal_mod_SOURCES): Removed normal/context.c.
22349
22350 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
22351 timeout.mod.
22352 (default_mod_SOURCES): Removed.
22353 (default_mod_CFLAGS): Likewise.
22354 (default_mod_LDFLAGS): Likewise.
22355 (timeout_mod_SOURCES): Removed.
22356 (timeout_mod_CFLAGS): Likewise.
22357 (timeout_mod_LDFLAGS): Likewise.
22358
22359 * DISTLIST: Removed commands/default.c, commands/timeout.c and
22360 normal/context.c.
22361
22362 * commands/default.c: Removed.
22363 * commands/timeout.c: Likewise.
22364 * normal/context.c: Likewise.
22365
22366 2006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
22367
22368 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
22369
22370 2006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
22371
22372 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
22373 "next" to "prev" for readability.
22374 (struct grub_env_sorted_var): New struct.
22375 (grub_env_context): Renamed to ...
22376 (initial_context): ... this.
22377 (grub_env_var_context): Renamed to ...
22378 (current_context): ... this.
22379 (grub_env_find): Look only at CURRENT_CONTEXT.
22380 (grub_env_context_open): Rewritten to copy exported variables from
22381 previous context.
22382 (grub_env_context_close): Rewritten according to the new
22383 scheme. Also, add an assertion to prevent the initial context from
22384 removed.
22385 (grub_env_insert): Removed the code for the sorted list.
22386 (grub_env_remove): Likewise.
22387 (grub_env_export): Simply mark the variable with
22388 GRUB_ENV_VAR_GLOBAL.
22389 (grub_env_set): A cosmetic change for naming consistency.
22390 (grub_env_get): Likewise.
22391 (grub_env_unset): Likewise.
22392 (grub_env_iterate): Rewritten to sort variables within this
22393 function.
22394 (grub_register_variable_hook): Fixed for naming consistency. Call
22395 grub_env_find again, only if NAME is not found at the first time.
22396 (mangle_data_slot_name): New function.
22397 (grub_env_set_data_slot): Likewise.
22398 (grub_env_get_data_slot): Likewise.
22399 (grub_env_unset_data_slot): Likewise.
22400
22401 * include/grub/env.h (grub_env_var_type): New enum.
22402 (GRUB_ENV_VAR_LOCAL): New constant.
22403 (GRUB_ENV_VAR_GLOBAL): Likewise.
22404 (GRUB_ENV_VAR_DATA): Likewise.
22405 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
22406 "type".
22407 (grub_env_set): Replace VAR with NAME for consistency.
22408 (grub_register_variable_hook): Likewise.
22409 (grub_env_export): Specify the name of the argument.
22410 (grub_env_set_data_slot): New prototype.
22411 (grub_env_get_data_slot): Likewise.
22412 (grub_env_unset_data_slot): Likewise.
22413
22414 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
22415
22416 Extend the loader so that GRUB can accept a loader which comes
22417 back to GRUB when a loaded image exits. Also, this change adds
22418 support for a chainloader on EFI.
22419
22420 * term/efi/console.c: Include grub/misc.h.
22421 (grub_console_checkkey): Display a scan code on the top for
22422 debugging. This will be removed once the EFI port gets stable.
22423 Correct the scan code mapping.
22424
22425 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
22426 allocate memory from larger regions, in order to reduce the number
22427 of allocated regions. Otherwise, the MacOSX loader panics.
22428 (filter_memory_map): Avoid less than 1MB for compatibility with
22429 other loaders.
22430 (add_memory_regions): Allocate from the tail of a region, if
22431 possible, to avoid allocating a region near to 1MB, for the MacOSX
22432 loader.
22433
22434 * kern/efi/init.c (grub_efi_set_prefix): Specify
22435 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
22436
22437 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
22438 argument IMAGE_HANDLE and specify it to get a loaded image.
22439 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
22440 grub_efi_get_loaded_image.
22441 (grub_efi_get_filename): Divide the length by the size of
22442 grub_efi_char16_t.
22443 (grub_efi_get_device_path): New function.
22444 (grub_efi_print_device_path): Print End Device Path nodes. Divide
22445 the length by the size of grub_efi_char16_t for a file path device
22446 path node.
22447
22448 * kern/loader.c (grub_loader_noreturn): New variable.
22449 (grub_loader_set): Accept a new argument NORETURN. Set
22450 GRUB_LOADER_NORETURN to NORETURN.
22451 All callers changed.
22452 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
22453 grub_machine_fini.
22454
22455 * include/grub/efi/efi.h (grub_efi_get_device_path): New
22456 prototype.
22457 (grub_efi_get_loaded_image): Take an argument to specify an image
22458 handle.
22459
22460 * include/grub/loader.h (grub_loader_set): Added one more argument
22461 NORETURN.
22462
22463 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
22464 instead of grub_efi_open_protocol.
22465 (grub_efidisk_get_device_name): Likewise.
22466 (grub_efidisk_close): Print a newline.
22467 (grub_efidisk_get_device_handle): Fixed to use
22468 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
22469 GRUB_EFI_DEVICE_PATH_TYPE.
22470
22471 * disk/efi/efidisk.c (device_path_guid): Moved to ...
22472 * kern/efi/efi.c (device_path_guid): ... here.
22473
22474 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
22475 chain.mod.
22476 (kernel_mod_HEADERS): Added efi/disk.h.
22477 (_chain_mod_SOURCES): New variable.
22478 (_chain_mod_CFLAGS): Likewise.
22479 (_chain_mod_LDFLAGS): Likewise.
22480 (chain_mod_SOURCES): Likewise.
22481 (chain_mod_CFLAGS): Likewise.
22482 (chain_mod_LDFLAGS): Likewise.
22483
22484 * DISTLIST: Added include/grub/efi/chainloader.h,
22485 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
22486
22487 * include/grub/efi/chainloader.h: New file.
22488 * loader/efi/chainloader.c: Likewise.
22489 * loader/efi/chainloader_normal.c: Likewise.
22490
22491 2006-04-30 Marco Gerards <marco@gnu.org>
22492
22493 * commands/configfile.c (grub_cmd_source): New function.
22494 (GRUB_MOD_INIT): Register the commands `source' and `.'.
22495 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
22496
22497 2006-04-30 Marco Gerards <marco@gnu.org>
22498
22499 * normal/execute.c (grub_script_execute_cmd): Change the return
22500 type to `grub_err_t'. Correctly return the error.
22501 (grub_script_execute_cmdline): In case a command line is not a
22502 command or a function, try to interpret it as an assignment.
22503
22504 2006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
22505
22506 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
22507 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
22508 skip a node whose name is obviously invalid as UTF-16,
22509 i.e. contains a NUL character. Stop the iteration when the last
22510 directory entry is found. Instead of using the return value of
22511 grub_hfsplus_btree_iterate_node, store the value in RET and use
22512 it, because the iterator can be stopped by the last directory
22513 entry.
22514
22515 2006-04-30 Marco Gerards <marco@gnu.org>
22516
22517 * include/grub/env.h (grub_env_export): New prototype. Reported
22518 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
22519
22520 2006-04-30 Marco Gerards <marco@gnu.org>
22521
22522 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
22523 size of the extents in a catalog file record.
22524
22525 2006-04-29 Marco Gerards <marco@gnu.org>
22526
22527 * commands/configfile.c (grub_cmd_configfile): Execute the
22528 configfile within its own context.
22529
22530 * include/grub/env.h (grub_env_context_open): New prototype.
22531 (grub_env_context_close): Likewise.
22532
22533 * kern/env.c (grub_env): Removed.
22534 (grub_env_sorted): Likewise.
22535 (grub_env_context): New variable.
22536 (grub_env_var_context): Likewise.
22537 (grub_env_find): Search both the active context and the global
22538 context.
22539 (grub_env_context_open): New function.
22540 (grub_env_context_close): Likewise.
22541 (grub_env_insert): Likewise.
22542 (grub_env_remove): Likewise.
22543 (grub_env_export): Likewise.
22544 (grub_env_set): Changed to use helper functions to avoid code
22545 duplication.
22546 (grub_env_iterate): Rewritten so both the current context and the
22547 global context are being used.
22548
22549 * normal/command.c (export_command): New function.
22550 (grub_command_init): Register the `export' function.
22551
22552 2006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
22553
22554 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
22555 explicitly to suppress gcc's warnings.
22556 * fs/fat.c (grub_fat_find_dir): Likewise.
22557 (grub_fat_label): Likewise.
22558 * fs/xfs.c (grub_xfs_read_inode): Likewise.
22559 (grub_xfs_mount): Likewise.
22560 (grub_xfs_label): Likewise.
22561 * fs/affs.c (grub_affs_mount): Likewise.
22562 (grub_affs_label): Likewise.
22563 (grub_affs_iterate_dir): Likewise.
22564 * fs/sfs.c (grub_sfs_mount): Likewise.
22565 (grub_sfs_iterate_dir): Likewise.
22566 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
22567 * fs/hfs.c (grub_hfs_mount): Likewise.
22568 (grub_hfs_cmp_catkeys): Likewise.
22569 (grub_hfs_find_dir): Likewise.
22570 (grub_hfs_dir): Likewise.
22571 (grub_hfs_label): Likewise.
22572 * fs/jfs.c (grub_jfs_mount): Likewise.
22573 (grub_jfs_opendir): Likewise.
22574 (grub_jfs_getent): Likewise.
22575 (grub_jfs_lookup_symlink): Likewise.
22576 (grub_jfs_label): Likewise.
22577 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
22578 (grub_hfsplus_iterate_dir): Likewise.
22579 (grub_hfsplus_btree_iterate_node): Made static.
22580
22581 * util/grub-emu.c (prefix): New variable.
22582 (grub_machine_set_prefix): New function.
22583 (main): Do not set the environment variable "prefix" here. Only
22584 set PREFIX, which is used later by grub_machine_set_prefix.
22585
22586 * include/grub/video.h: Do not include grub/symbol.h.
22587 (grub_video_register): Not exported. This symbol is not defined in
22588 the kernel.
22589 (grub_video_unregister): Likewise.
22590 (grub_video_iterate): Likewise.
22591 (grub_video_setup): Likewise.
22592 (grub_video_restore): Likewise.
22593 (grub_video_get_info): Likewise.
22594 (grub_video_get_blit_format): Likewise.
22595 (grub_video_set_palette): Likewise.
22596 (grub_video_get_palette): Likewise.
22597 (grub_video_set_viewport): Likewise.
22598 (grub_video_get_viewport): Likewise.
22599 (grub_video_map_color): Likewise.
22600 (grub_video_map_rgb): Likewise.
22601 (grub_video_map_rgba): Likewise.
22602 (grub_video_fill_rect): Likewise.
22603 (grub_video_blit_glyph): Likewise.
22604 (grub_video_blit_bitmap): Likewise.
22605 (grub_video_blit_render_target): Likewise.
22606 (grub_video_scroll): Likewise.
22607 (grub_video_swap_buffers): Likewise.
22608 (grub_video_create_render_target): Likewise.
22609 (grub_video_delete_render_target): Likewise.
22610 (grub_video_set_active_render_target): Likewise.
22611
22612 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
22613 Undefined.
22614 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
22615
22616 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
22617 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
22618 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
22619 instead of $(srcdir)/genkernsyms.sh.
22620
22621 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
22622 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
22623 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
22624 instead of $(srcdir)/genkernsyms.sh.
22625
22626 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
22627 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
22628 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
22629 instead of $(srcdir)/genkernsyms.sh.
22630
22631 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
22632 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
22633 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
22634 instead of $(srcdir)/genkernsyms.sh.
22635
22636 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
22637 genkernsyms.sh.
22638
22639 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
22640 genkernsyms.sh.
22641 (gensymlist.sh): New target.
22642 (genkernsyms.sh): Likewise.
22643
22644 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
22645 genkernsyms.sh.in and gensymlist.sh.in.
22646
22647 * genkernsyms.sh: Removed.
22648 * gensymlist.sh: Likewise.
22649
22650 * genkernsyms.sh.in: New file.
22651 * gensymlist.sh.in: Likewise.
22652
22653 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
22654
22655 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
22656 clobber "prefix", since we may have already set it manually.
22657
22658 2006-04-25 Hollis Blanchard <hollis@penguinppc.org>
22659
22660 * kern/misc.c (abort): New alias for grub_abort.
22661
22662 2006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
22663
22664 A new machine-specific function "grub_machine_set_prefix" is
22665 defined. This is called after loading modules, so that a prefix
22666 initialization can use modules. Also, this change adds an
22667 intensive debugging feature for the memory manager via the
22668 configure option "--enable-mm-debug".
22669
22670 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
22671 PART.LEN.
22672
22673 * kern/sparc64/ieee1275/init.c (abort): Removed.
22674 (grub_stop): Likewise.
22675 (grub_exit): New function.
22676 (grub_set_prefix): Renamed to ...
22677 (grub_machine_set_prefix): ... this.
22678 (grub_machine_init): Do not call grub_set_prefix.
22679
22680 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
22681 (grub_machine_set_prefix): ... this.
22682 (grub_machine_init): Do not call grub_set_prefix.
22683
22684 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
22685 (grub_machine_init): Do not set the prefix here.
22686
22687 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
22688
22689 * kern/efi/init.c: Include grub/mm.h.
22690 (grub_efi_set_prefix): New function.
22691
22692 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
22693 (grub_efi_get_filename): New function.
22694 (grub_print_device_path): Renamed to ...
22695 (grub_efi_print_device_path): ... this.
22696
22697 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
22698 [MM_DEBUG] (grub_realloc): Likewise.
22699 [MM_DEBUG] (grub_free): Likewise.
22700 [MM_DEBUG] (grub_memalign): Likewise.
22701 [MM_DEBUG] (grub_mm_debug): New variable.
22702 [MM_DEBUG] (grub_debug_malloc): New function.
22703 [MM_DEBUG] (grub_debug_free): New function.
22704 [MM_DEBUG] (grub_debug_realloc): New function.
22705 [MM_DEBUG] (grub_debug_memalign): New function.
22706
22707 * kern/misc.c (grub_abort): Print a newline to distinguish
22708 the message.
22709
22710 * kern/main.c (grub_main): Call grub_machine_set_prefix and
22711 grub_set_root_dev after loading modules. This is necessary when
22712 setting a prefix depends on modules.
22713
22714 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
22715 (grub_efi_print_device_path): ... this.
22716 (grub_efi_get_filename): New prototype.
22717 (grub_efi_set_prefix): Likewise.
22718
22719 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
22720 and grub/disk.h.
22721 (grub_efidisk_get_device_handle): New prototype.
22722 (grub_efidisk_get_device_name): Likewise.
22723
22724 * include/grub/mm.h: Include config.h.
22725 (MM_DEBUG): Removed.
22726 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
22727 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
22728 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
22729 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
22730 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
22731 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
22732 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
22733 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
22734 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
22735
22736 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
22737
22738 * disk/efi/efidisk.c: Include grub/partition.h.
22739 (iterate_child_devices): New function.
22740 (add_device): First, compare only last device path nodes, so that
22741 devices are sorted by the types.
22742 (grub_efidisk_get_device_handle): New function.
22743 (grub_efidisk_get_device_name): Likewise.
22744
22745 * configure.ac (--enable-mm-debug): New option to enable the
22746 memory manager debugging feature. This makes the binary much
22747 bigger, so is disabled by default.
22748
22749 2006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
22750
22751 Use grub_abort instead of grub_stop, and grub_exit must be
22752 define in each architecture now. Also, this change adds support
22753 for EFI disks.
22754
22755 * util/i386/pc/grub-probefs.c: Include grub/term.h.
22756 (grub_getkey): New function.
22757 (grub_term_get_current): Likewise.
22758
22759 * util/i386/pc/grub-setup.c: Include grub/term.h.
22760 (grub_getkey): New function.
22761 (grub_term_get_current): Likewise.
22762
22763 * util/misc.c (grub_stop): Renamed to ...
22764 (grub_exit): ... this.
22765
22766 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
22767 (grub_exit): ... this.
22768 (grub_machine_init): Use grub_abort instead of abort.
22769 (grub_stop): Removed.
22770
22771 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
22772 abort.
22773
22774 * kern/i386/pc/startup.S (grub_exit): New function.
22775 (cold_reboot): New label.
22776
22777 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
22778 (grub_efi_init): Call grub_efidisk_init.
22779 (grub_efi_fini): Call grub_efidisk_fini.
22780
22781 * kern/efi/efi.c: Include grub/mm.h.
22782 (grub_efi_console_control_guid): Renamed to ...
22783 (console_control_guid): ... this.
22784 (grub_efi_loaded_image_guid): Renamed to ...
22785 (loaded_image_guid): ... this.
22786 (grub_efi_locate_handle): New function.
22787 (grub_efi_open_protocol): Likewise.
22788 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
22789 GRUB_EFI_CONSOLE_CONTROL_GUID.
22790 (grub_efi_exit): Removed.
22791 (grub_stop): Likewise.
22792 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
22793 (grub_exit): New function.
22794 (grub_print_device_path): Likewise.
22795
22796 * kern/rescue.c (grub_rescue_cmd_exit): New function.
22797 (grub_enter_rescue_mode): Register "exit".
22798
22799 * kern/misc.c (grub_real_dprintf): A cosmetic change.
22800 (grub_abort): New function.
22801
22802 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
22803
22804 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
22805
22806 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
22807
22808 * include/grub/efi/efi.h (grub_efi_exit): Removed.
22809 (grub_print_device_path): New prototype.
22810 (grub_efi_locate_handle): Likewise.
22811 (grub_efi_open_protocol): Likewise.
22812
22813 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
22814 * disk/efi/efidisk.c: Likewise.
22815
22816 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
22817
22818 * include/grub/efi/console_control.h
22819 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
22820
22821 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
22822 last 8 bytes as an array.
22823 (GRUB_EFI_DISK_IO_GUID): New macro.
22824 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
22825 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
22826 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
22827 grub_uint8_t.
22828 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
22829 (struct grub_efi_device_path): Rename the member "sub_type" to
22830 "subtype".
22831 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
22832 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
22833 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
22834 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
22835 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
22836 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
22837 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
22838 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
22839 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
22840 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
22841 (struct grub_efi_pci_device_path): New structure.
22842 (grub_efi_pci_device_path_t): New type.
22843 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
22844 (struct grub_efi_pccard_device_path): New structure.
22845 (grub_efi_pccard_device_path_t): New type.
22846 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
22847 (struct grub_efi_memory_mapped_device_path): New structure.
22848 (grub_efi_memory_mapped_device_path_t): New type.
22849 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
22850 (struct grub_efi_vendor_device_path): New structure.
22851 (grub_efi_vendor_device_path_t): New type.
22852 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
22853 (struct grub_efi_controller_device_path): New structure.
22854 (grub_efi_controller_device_path_t): New type.
22855 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
22856 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
22857 (struct grub_efi_acpi_device_path): New structure.
22858 (grub_efi_acpi_device_path_t): New type.
22859 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
22860 (struct grub_efi_expanded_acpi_device_path): New structure.
22861 (grub_efi_expanded_acpi_device_path_t): New type.
22862 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
22863 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
22864 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
22865 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
22866 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
22867 (struct grub_efi_atapi_device_path): New structure.
22868 (grub_efi_atapi_device_path_t): New type.
22869 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
22870 (struct grub_efi_fibre_channel_device_path): New structure.
22871 (grub_efi_fibre_channel_device_path_t): New type.
22872 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
22873 (struct grub_efi_1394_device_path): New structure.
22874 (grub_efi_1394_device_path_t): New type.
22875 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
22876 (struct grub_efi_usb_device_path): New structure.
22877 (grub_efi_usb_device_path_t): New type.
22878 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
22879 (struct grub_efi_usb_class_device_path): New structure.
22880 (grub_efi_usb_class_device_path_t): New type.
22881 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
22882 (struct grub_efi_i2o_device_path): New structure.
22883 (grub_efi_i2o_device_path_t): New type.
22884 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
22885 (struct grub_efi_mac_address_device_path): New structure.
22886 (grub_efi_mac_address_device_path_t): New type.
22887 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
22888 (struct grub_efi_ipv4_device_path): New structure.
22889 (grub_efi_ipv4_device_path_t): New type.
22890 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
22891 (struct grub_efi_ipv6_device_path): New structure.
22892 (grub_efi_ipv6_device_path_t): New type.
22893 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
22894 (struct grub_efi_infiniband_device_path): New structure.
22895 (grub_efi_infiniband_device_path_t): New type.
22896 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
22897 (struct grub_efi_uart_device_path): New structure.
22898 (grub_efi_uart_device_path_t): New type.
22899 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
22900 (struct grub_efi_vendor_messaging_device_path): New structure.
22901 (grub_efi_vendor_messaging_device_path_t): New type.
22902 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
22903 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
22904 (struct grub_efi_hard_drive_device_path): New structure.
22905 (grub_efi_hard_drive_device_path_t): New type.
22906 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
22907 (struct grub_efi_cdrom_device_path): New structure.
22908 (grub_efi_cdrom_device_path_t): New type.
22909 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
22910 (struct grub_efi_vendor_media_device_path): New structure.
22911 (grub_efi_vendor_media_device_path_t): New type.
22912 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
22913 (struct grub_efi_file_path_device_path): New structure.
22914 (grub_efi_file_path_device_path_t): New type.
22915 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
22916 (struct grub_efi_protocol_device_path): New structure.
22917 (grub_efi_protocol_device_path_t): New type.
22918 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
22919 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
22920 (struct grub_efi_bios_device_path): New structure.
22921 (grub_efi_bios_device_path_t): New type.
22922 (struct grub_efi_disk_io): New structure.
22923 (grub_efi_disk_io_t): New type.
22924 (struct grub_efi_block_io_media): New structure.
22925 (grub_efi_block_io_media_t): New type.
22926 (struct grub_efi_block_io): New structure.
22927 (grub_efi_block_io_t): New type.
22928
22929 * include/grub/misc.h (grub_stop): Removed.
22930 (grub_exit): New prototype.
22931 (grub_abort): Likewise.
22932
22933 * include/grub/disk.h (enum grub_disk_dev_id): Added
22934 GRUB_DISK_DEVICE_EFIDISK_ID.
22935
22936 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
22937 disk/efi/efidisk.c.
22938 (kernel_syms.lst): Remove the target if an error occurs.
22939
22940 2006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
22941
22942 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
22943 as it was simply too buggy.
22944
22945 2006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
22946
22947 * kern/misc.c (grub_lltoa): New function.
22948 (grub_vsprintf): Added support for the long long suffix,
22949 i.e. "ll".
22950
22951 2006-04-20 Hollis Blanchard <hollis@penguinppc.org>
22952
22953 * Makefile.in (LDFLAGS): Add variable.
22954 (LD): Remove variable.
22955 * configure.ac: Add -m32 to LDFLAGS.
22956 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
22957 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
22958 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
22959 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
22960 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
22961 variables.
22962 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
22963 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
22964 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
22965
22966 2006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
22967
22968 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
22969 length for unknown glyph.
22970
22971 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
22972
22973 Add support for pre-loaded modules into the EFI port.
22974
22975 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
22976 completely. Accept one more argument DIR. The caller has changed.
22977
22978 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
22979
22980 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
22981 (grub_efi_loaded_image_guid): New variable.
22982 (grub_efi_get_loaded_image): New function.
22983 (grub_arch_modules_addr): Likewise.
22984
22985 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
22986 prototype.
22987
22988 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
22989 (struct grub_efi_loaded_image): New structure.
22990 (grub_efi_loaded_image_t): New type.
22991
22992 2006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
22993
22994 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
22995 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
22996 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
22997
22998 2006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
22999
23000 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
23001
23002 2006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
23003
23004 * DISTLIST: Added include/grub/efi/console.h,
23005 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
23006 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
23007
23008 * include/grub/efi/console.h: New file.
23009 * include/grub/efi/time.h: Likewise.
23010 * include/grub/i386/efi/kernel.h: Likewise.
23011 * kern/efi/init.c: Likewise.
23012 * kern/efi/mm.c: Likewise.
23013 * term/efi/console.c: Likewise.
23014
23015 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
23016 (grub_stop): Removed.
23017 (grub_get_rtc): Likewise.
23018 (grub_machine_init): Simply call grub_efi_init.
23019 (grub_machine_fini): Call grub_efi_fini.
23020
23021 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
23022 (grub_efi_output_string): Removed.
23023 (grub_efi_stall): New function.
23024 (grub_stop): Likewise.
23025 (grub_get_rtc): Likewise.
23026
23027 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
23028 (grub_efi_stall): New prototype.
23029 (grub_efi_allocate_pages): Likewise.
23030 (grub_efi_free_pages): Likewise.
23031 (grub_efi_get_memory_map): Likewise.
23032 (grub_efi_mm_init): Likewise.
23033 (grub_efi_mm_fini): Likewise.
23034 (grub_efi_init): Likewise.
23035 (grub_efi_fini): Likewise.
23036
23037 * include/grub/i386/efi/time.h: Do not include
23038 grub/symbol.h. Include grub/efi/time.h.
23039 (GRUB_TICKS_PER_SECOND): Removed.
23040 (grub_get_rtc): Likewise.
23041
23042 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
23043 Added padding. The EFI spec is buggy.
23044 (GRUB_EFI_BLACK): New macro.
23045 (GRUB_EFI_BLUE): Likewise.
23046 (GRUB_EFI_GREEN): Likewise.
23047 (GRUB_EFI_CYAN): Likewise.
23048 (GRUB_EFI_RED): Likewise.
23049 (GRUB_EFI_MAGENTA): Likewise.
23050 (GRUB_EFI_BROWN): Likewise.
23051 (GRUB_EFI_LIGHTGRAY): Likewise.
23052 (GRUB_EFI_BRIGHT): Likewise.
23053 (GRUB_EFI_DARKGRAY): Likewise.
23054 (GRUB_EFI_LIGHTBLUE): Likewise.
23055 (GRUB_EFI_LIGHTGREEN): Likewise.
23056 (GRUB_EFI_LIGHTCYAN): Likewise.
23057 (GRUB_EFI_LIGHTRED): Likewise.
23058 (GRUB_EFI_LIGHTMAGENTA): Likewise.
23059 (GRUB_EFI_YELLOW): Likewise.
23060 (GRUB_EFI_WHITE): Likewise.
23061 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
23062 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
23063 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
23064 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
23065 (GRUB_EFI_BACKGROUND_RED): Likewise.
23066 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
23067 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
23068 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
23069 (GRUB_EFI_TEXT_ATTR): Likewise.
23070
23071 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
23072 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
23073 (kernel_mod_HEADERS): Added efi/time.h.
23074
23075 2006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
23076
23077 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
23078 include/grub/efi/api.h, include/grub/efi/console_control.h,
23079 include/grub/efi/efi.h, include/grub/efi/pe32.h,
23080 include/grub/i386/efi/time.h, kern/efi/efi.c,
23081 kern/i386/efi/init.c, kern/i386/efi/startup.S,
23082 and util/i386/efi/grub-mkimage.c.
23083
23084 * Makefile.in (RMKFILES): Added i386-efi.rmk.
23085
23086 * genmk.rb (PModule#rule): Do not export symbols if
23087 #{prefix}_EXPORTS is set to "no".
23088
23089 * conf/i386-efi.mk: New file.
23090 * conf/i386-efi.rmk: Likewise.
23091 * include/grub/efi/api.h: Likewise.
23092 * include/grub/efi/console_control.h: Likewise.
23093 * include/grub/efi/efi.h: Likewise.
23094 * include/grub/efi/pe32.h: Likewise.
23095 * include/grub/i386/efi/time.h: Likewise.
23096 * kern/efi/efi.c: Likewise.
23097 * kern/i386/efi/init.c: Likewise.
23098 * kern/i386/efi/startup.S: Likewise.
23099 * util/i386/efi/grub-mkimage.c: Likewise.
23100
23101 2006-04-17 Marco Gerards <marco@gnu.org>
23102
23103 * include/grub/script.h: Include <grub/parser.h> and
23104 "grub_script.tab.h".
23105 (struct grub_lexer_param): New struct.
23106 (struct grub_parser_param): Likewise.
23107 (grub_script_create_arglist): Pass the state in an argument.
23108 (grub_script_add_arglist): Likewise.
23109 (grub_script_create_cmdline): Likewise.
23110 (grub_script_create_cmdblock): Likewise.
23111 (grub_script_create_cmdif): Likewise.
23112 (grub_script_create_cmdmenu): Likewise.
23113 (grub_script_add_cmd): Likewise.
23114 (grub_script_arg_add): Likewise.
23115 (grub_script_lexer_ref): Likewise.
23116 (grub_script_lexer_deref): Likewise.
23117 (grub_script_lexer_record_start): Likewise.
23118 (grub_script_lexer_record_stop): Likewise.
23119 (grub_script_mem_record): Likewise.
23120 (grub_script_mem_record_stop): Likewise.
23121 (grub_script_malloc): Likewise.
23122 (grub_script_yylex): Likewise.
23123 (grub_script_yyparse): Likewise.
23124 (grub_script_yyerror): Likewise.
23125 (grub_script_yylex): Likewise.
23126 (grub_script_lexer_init): Return the state.
23127
23128 * normal/lexer.c (grub_script_lexer_state): Removed variable.
23129 (grub_script_lexer_done): Likewise.
23130 (grub_script_lexer_getline): Likewise.
23131 (grub_script_lexer_refs): Likewise.
23132 (script): Likewise.
23133 (newscript): Likewise.
23134 (record): Likewise.
23135 (recording): Likewise.
23136 (recordpos): Likewise.
23137 (recordlen): Likewise.
23138 (grub_script_lexer_init): Return the state instead of setting
23139 global variables.
23140 (grub_script_lexer_ref): Use the newly added argument for state
23141 instead of globals.
23142 (grub_script_lexer_deref): Likewise.
23143 (grub_script_lexer_record_start): Likewise.
23144 (grub_script_lexer_record_stop): Likewise.
23145 (recordchar): Likewise.
23146 (nextchar): Likewise.
23147 (grub_script_yylex2): Likewise.
23148 (grub_script_yylex): Likewise.
23149 (grub_script_yyerror): Likewise.
23150
23151 * normal/parser.y (func_mem): Removed variable.
23152 (menu_entry): Likewise.
23153 (err): Likewise.
23154 (%lex-param): New parser option.
23155 (%parse-param): Likewise.
23156 (script): Always return the AST.
23157 (argument): Pass the state around.
23158 (arguments): Likewise.
23159 (grubcmd): Likewise.
23160 (commands): Likewise.
23161 (function): Likewise.
23162 (menuentry): Likewise.
23163 (if_statement): Likewise.
23164 (if): Likewise.
23165
23166 * normal/script.c (grub_script_memused): Removed variable.
23167 (grub_script_parsed): Likewise.
23168 (grub_script_malloc): Added a state argument. Use that instead of
23169 global variables.
23170 (grub_script_mem_record): Likewise.
23171 (grub_script_mem_record_stop): Likewise.
23172 (grub_script_arg_add): Likewise.
23173 (grub_script_add_arglist): Likewise.
23174 (grub_script_create_cmdline): Likewise.
23175 (grub_script_create_cmdif): Likewise.
23176 (grub_script_create_cmdmenu): Likewise.
23177 (grub_script_add_cmd): Likewise.
23178 (grub_script_parse): Setup the state before calling the parser.
23179
23180 2006-04-16 Marco Gerards <marco@gnu.org>
23181
23182 * normal/command.c (grub_command_init): Remove the title command.
23183
23184 * normal/lexer.c (grub_script_yylex): Renamed from this...
23185 (grub_script_yylex2): ... to this.
23186 (grub_script_yylex): New function. Temporary
23187 introduced to filter some tokens.
23188 (grub_script_yyerror): Print a newline.
23189
23190 * normal/main.c (read_config_file): Output information about the
23191 lines that contain errors. Wait for a key after all lines have
23192 been processed. Don't return an empty menu.
23193
23194 * normal/parser.y (func_mem): Don't initialize.
23195 (menu_entry): Likewise.
23196 (err): New variable.
23197 (script): Don't return anything when an error was encountered.
23198 (ws, returns): Removed rules.
23199 (argument): Disabled concatenated variable support.
23200 (arguments): Remove explicit separators.
23201 (grubcmd): Likewise.
23202 (function): Likewise.
23203 (menuentry): Likewise.
23204 (if): Likewise.
23205 (commands): Likewise. Add error handling.
23206
23207 * normal/script.c (grub_script_create_cmdline): If
23208 `grub_script_parsed' is 0, assume the parser encountered an error.
23209
23210 2006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
23211
23212 * configure.ac: Add support for EFI. Fix the typo
23213 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
23214
23215 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
23216
23217 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
23218 foreign multibyte characters should be shown correctly.
23219
23220 2006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
23221
23222 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
23223 calculation.
23224 (read_config_file): Made it to close file before returning.
23225
23226 2006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
23227
23228 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
23229 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
23230 video/i386/pc/vbefill.c.
23231
23232 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
23233 video/i386/pc/vbefill.c.
23234
23235 * include/grub/video.h (grub_video_blit_format): New enum.
23236 (grub_video_mode_info): Added new member blit_format.
23237 (grub_video_get_blit_format): New function prototype.
23238
23239 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
23240 function prototype.
23241 (grub_video_vbe_map_rgb): Likewise.
23242 (grub_video_vbe_unmap_color): Likewise.
23243
23244 * include/grub/i386/pc/vbeblit.h: New file.
23245
23246 * include/grub/i386/pc/vbefill.h: New file.
23247
23248 * video/video.c (grub_video_get_blit_format): New function.
23249 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
23250 (grub_video_vbe_map_rgb): Likewise.
23251 (grub_video_vbe_unmap_color): Likewise.
23252
23253 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
23254 optimized fills.
23255 (grub_video_vbe_blit_render_target): Changed to use more optimized
23256 blits.
23257 (grub_video_vbe_setup): Added detection for optimized settings.
23258 (grub_video_vbe_create_render_target): Likewise.
23259
23260 * video/i386/pc/vbeblit.c: New file.
23261
23262 * video/i386/pc/vbefill.c: New file.
23263
23264 2006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
23265
23266 * font/manager.c (grub_font_get_glyph): Removed font fixup from
23267 here...
23268
23269 * util/unifont2pff.rb: ... and moved it to here. Improved argument
23270 parsing to support both hex and dec ranges. If filename was missing
23271 show usage information.
23272
23273 2006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
23274
23275 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
23276 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
23277
23278 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
23279 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
23280 (video_mod_SOURCES): Added.
23281 (video_mod_CFLAGS): Likewise.
23282 (video_mod_LDFLAGS): Likewise.
23283 (gfxterm_mod_SOURCES): Likewise.
23284 (gfxterm_mod_CFLAGS): Likewise.
23285 (gfxterm_mod_LDFLAGS): Likewise.
23286 (videotest_mod_SOURCES): Likewise.
23287 (videotest_mod_CFLAGS): Likewise.
23288 (videotest_mod_LDFLAGS): Likewise.
23289 (vesafb_mod_SOURCES): Removed.
23290 (vesafb_mod_CFLAGS): Likewise.
23291 (vesafb_mod_LDFLAGS): Likewise.
23292 (vga_mod_SOURCES): Likewise.
23293 (vga_mod_CFLAGS): Likewise.
23294 (vga_mod_LDFLAGS): Likewise.
23295
23296 * commands/videotest.c: New file.
23297
23298 * font/manager.c (fill_with_default_glyph): Modified to use
23299 grub_font_glyph.
23300 (grub_font_get_glyph): Likewise.
23301 (fontmanager): Renamed from this...
23302 (font_manager): ... to this.
23303
23304 * include/grub/font.h (grub_font_glyph): Added new structure.
23305 (grub_font_get_glyph): Modified to use grub_font_glyph.
23306
23307 * include/grub/misc.h (grub_abs): Added as inline function.
23308
23309 * include/grub/video.h: New file.
23310
23311 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
23312 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
23313 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
23314 (grub_vbe_get_controller_info): Renamed from this...
23315 (grub_vbe_bios_get_controller_info): ... to this.
23316 (grub_vbe_get_mode_info): Renamed from this...
23317 (grub_vbe_bios_get_mode_info): ... to this.
23318 (grub_vbe_set_mode): Renamed from this...
23319 (grub_vbe_bios_set_mode): ... to this.
23320 (grub_vbe_get_mode): Renamed from this...
23321 (grub_vbe_bios_get_mode): ... to this.
23322 (grub_vbe_set_memory_window): Renamed from this...
23323 (grub_vbe_bios_set_memory_window): ... to this.
23324 (grub_vbe_get_memory_window): Renamed from this...
23325 (grub_vbe_bios_get_memory_window): ... to this.
23326 (grub_vbe_set_scanline_length): Renamed from this...
23327 (grub_vbe_set_scanline_length): ... to this.
23328 (grub_vbe_get_scanline_length): Renamed from this...
23329 (grub_vbe_bios_get_scanline_length): ... to this.
23330 (grub_vbe_set_display_start): Renamed from this...
23331 (grub_vbe_bios_set_display_start): ... to this.
23332 (grub_vbe_get_display_start): Renamed from this...
23333 (grub_vbe_bios_get_display_start): ... to this.
23334 (grub_vbe_set_palette_data): Renamed from this...
23335 (grub_vbe_bios_set_palette_data): ... to this.
23336 (grub_vbe_set_pixel_rgb): Removed.
23337 (grub_vbe_set_pixel_index): Likewise.
23338
23339 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
23340 from this...
23341 (grub_vbe_bios_get_controller_info): ... to this.
23342 (grub_vbe_get_mode_info): Renamed from this...
23343 (grub_vbe_bios_get_mode_info): ... to this.
23344 (grub_vbe_set_mode): Renamed from this...
23345 (grub_vbe_bios_set_mode): ... to this.
23346 (grub_vbe_get_mode): Renamed from this...
23347 (grub_vbe_bios_get_mode): ... to this.
23348 (grub_vbe_set_memory_window): Renamed from this...
23349 (grub_vbe_bios_set_memory_window): ... to this.
23350 (grub_vbe_get_memory_window): Renamed from this...
23351 (grub_vbe_bios_get_memory_window): ... to this.
23352 (grub_vbe_set_scanline_length): Renamed from this...
23353 (grub_vbe_set_scanline_length): ... to this.
23354 (grub_vbe_get_scanline_length): Renamed from this...
23355 (grub_vbe_bios_get_scanline_length): ... to this.
23356 (grub_vbe_set_display_start): Renamed from this...
23357 (grub_vbe_bios_set_display_start): ... to this.
23358 (grub_vbe_get_display_start): Renamed from this...
23359 (grub_vbe_bios_get_display_start): ... to this.
23360 (grub_vbe_set_palette_data): Renamed from this...
23361 (grub_vbe_bios_set_palette_data): ... to this.
23362 (grub_vbe_bios_get_controller_info): Fixed problem with registers
23363 getting corrupted after calling it. Added more pushes and pops.
23364 (grub_vbe_bios_set_mode): Likewise.
23365 (grub_vbe_bios_get_mode): Likewise.
23366 (grub_vbe_bios_get_memory_window): Likewise.
23367 (grub_vbe_bios_set_scanline_length): Likewise.
23368 (grub_vbe_bios_get_scanline_length): Likewise.
23369 (grub_vbe_bios_get_display_start): Likewise.
23370 (grub_vbe_bios_set_palette_data): Likewise.
23371
23372 * normal/cmdline.c (cl_set_pos): Refresh the screen.
23373 (cl_insert): Likewise.
23374 (cl_delete): Likewise.
23375
23376 * term/gfxterm.c: New file.
23377
23378 * term/i386/pc/vesafb.c: Removed file.
23379
23380 * video/video.c: New file.
23381
23382 * video/i386/pc/vbe.c (real2pm): Added new function.
23383 (grub_video_vbe_draw_pixel): Likewise.
23384 (grub_video_vbe_get_video_ptr): Likewise.
23385 (grub_video_vbe_get_pixel): Likewise
23386 (grub_video_vbe_init): Likewise.
23387 (grub_video_vbe_fini): Likewise.
23388 (grub_video_vbe_setup): Likewise.
23389 (grub_video_vbe_get_info): Likewise.
23390 (grub_video_vbe_set_palette): Likewise.
23391 (grub_video_vbe_get_palette): Likewise.
23392 (grub_video_vbe_set_viewport): Likewise.
23393 (grub_video_vbe_get_viewport): Likewise.
23394 (grub_video_vbe_map_color): Likewise.
23395 (grub_video_vbe_map_rgb): Likewise.
23396 (grub_video_vbe_map_rgba): Likewise.
23397 (grub_video_vbe_unmap_color): Likewise.
23398 (grub_video_vbe_fill_rect): Likewise.
23399 (grub_video_vbe_blit_glyph): Likewise.
23400 (grub_video_vbe_blit_bitmap): Likewise.
23401 (grub_video_vbe_blit_render_target): Likewise.
23402 (grub_video_vbe_scroll): Likewise.
23403 (grub_video_vbe_swap_buffers): Likewise.
23404 (grub_video_vbe_create_render_target): Likewise.
23405 (grub_video_vbe_delete_render_target): Likewise.
23406 (grub_video_vbe_set_active_render_target): Likewise.
23407 (grub_vbe_set_pixel_rgb): Remove function.
23408 (grub_vbe_set_pixel_index): Likewise.
23409 (index_color_mode): Remove static variable.
23410 (active_mode): Likewise.
23411 (framebuffer): Likewise.
23412 (bytes_per_scan_line): Likewise.
23413 (grub_video_vbe_adapter): Added new static variable.
23414 (framebuffer): Likewise.
23415 (render_target): Likewise.
23416 (initial_mode): Likewise.
23417 (mode_in_use): Likewise.
23418 (mode_list): Likewise.
23419
23420 2006-03-10 Marco Gerards <marco@gnu.org>
23421
23422 * configure.ac (AC_INIT): Bumped to 1.93.
23423
23424 * DISTLIST: Added `include/grub/hfs.h'.
23425
23426 2006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
23427
23428 * boot/i386/pc/boot.S (general_error): Before looping, try INT
23429 18H, which might help the BIOS falling back to next boot media.
23430
23431 2006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
23432
23433 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
23434 Poe Chen <poe.poechen@gmail.com>.
23435
23436 2006-01-17 Marco Gerards <marco@gnu.org>
23437
23438 * include/grub/normal.h: Include <grub/script.h>.
23439 (grub_command_list): Removed struct.
23440 (grub_command_list_t): Removed type.
23441 (grub_menu_entry): Remove members `num' and `command_list'. Add
23442 members `commands' and `sourcecode'.
23443 * include/grub/script.h: Add inclusion guards.
23444 (grub_script_cmd_menuentry): New struct.
23445 (grub_script_execute_menuentry): New prototype.
23446 (grub_script_lexer_record_start): Likewise.
23447 (grub_script_lexer_record_stop): Likewise.
23448 * normal/execute.c (grub_script_execute_menuentry): New function.
23449 * normal/lexer.c (record, recording, recordpos, recordlen): New
23450 variables.
23451 (grub_script_lexer_record_start): New function.
23452 (grub_script_lexer_record_stop): Likewise.
23453 (recordchar): Likewise.
23454 (nextchar): Likewise.
23455 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
23456 2048 as the buffer size. Add the tokens `menuentry' and `@'.
23457 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
23458 (current_menu): New variable.
23459 (free_menu): Mainly rewritten.
23460 (grub_normal_menu_addentry): New function.
23461 (read_config_file): Rewritten.
23462 * normal/menu.c (run_menu_entry): Mainly rewritten.
23463 * normal/menu_entry.c (make_screen): Rewritten the code to insert
23464 the menu entry.
23465 (run): Mainly rewritten.
23466 * normal/parser.y (menu_entry): New variable.
23467 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
23468 (menuentry): New rule.
23469 (command): Add `menuentry'.
23470 (if_statement): Allow additional returns before `fi'.
23471 * normal/script.c (grub_script_create_cmdmenu): New function.
23472
23473 2006-01-03 Marco Gerards <marco@gnu.org>
23474
23475 * INSTALL: GNU Bison is required.
23476 * configure.ac: Rewritten the test to detect Bison.
23477 * Makefile.in (YACC): New variable. Reported by Xun Sun
23478 <xun.sun.cn@gmail.com>.
23479
23480 2006-01-03 Marco Gerards <marco@gnu.org>
23481
23482 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
23483 the HFS+ filesystem to filesystem blocks.
23484 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
23485 GCC warning is silenced.
23486
23487 2006-01-03 Marco Gerards <marco@gnu.org>
23488
23489 * partmap/apple.c (apple_partition_map_iterate): Convert the data
23490 read from disk from big endian to host byte order.
23491
23492 2006-01-03 Hollis Blanchard <hollis@penguinppc.org>
23493
23494 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
23495 documentation.
23496 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
23497 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
23498 embedded HFS+ filesystem.
23499 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
23500 (grub_hfs_sblock): Move from here...
23501 * include/grub/hfs.h: To here... New file.
23502 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
23503 documentation.
23504 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
23505 New macros.
23506 (grub_hfsplus_volheader): Change type of member `magic' to
23507 `grub_uint16_t'.
23508 (grub_hfsplus_data): Add new member `embedded_offset'.
23509 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
23510 returned block.
23511 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
23512 Calculate the offset.
23513
23514 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
23515
23516 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
23517 Removed.
23518 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
23519
23520 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
23521
23522 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
23523 ENV->NAME is NULL after allocating ENV->VALUE.
23524
23525 2005-12-25 Marco Gerards <marco@gnu.org>
23526
23527 * kern/env.c (grub_env_set): Rewritten the error handling code.
23528
23529 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
23530
23531 * geninit.sh: Made more robust, and more portable.
23532
23533 2005-12-25 Marco Gerards <marco@gnu.org>
23534
23535 Add support for Apple HFS+ filesystems.
23536
23537 * fs/hfsplus.c: New file.
23538
23539 * DISTLIST: Added `fs/hfsplus.c'.
23540
23541 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
23542 (hfsplus_mod_SOURCES): New variable.
23543 (hfsplus_mod_CFLAGS): Likewise.
23544 (hfsplus_mod_LDFLAGS): Likewise.
23545 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
23546 (grub_setup_SOURCES): Likewise.
23547 (grub_mkdevicemap_SOURCES): Likewise.
23548 (grub_emu_SOURCES): Likewise.
23549 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23550
23551 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
23552
23553 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
23554
23555 2005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
23556
23557 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
23558 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
23559 include/grub/parser.h, include/grub/script.h, kern/parser.c,
23560 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
23561 normal/lexer.c, normal/parser.y, normal/script.c, and
23562 partmap/gpt.c.
23563 Removed kern/sparc64/cache.c.
23564
23565 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
23566 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
23567 grub_emu_init.c.
23568
23569 * configure.ac (AC_INIT): Bumped to 1.92.
23570
23571 2005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
23572
23573 * kern/err.c (grub_error_push): Added new function to support error
23574 stacks.
23575 (grub_error_pop): Likewise.
23576 (grub_error_stack_items): New local variable to support error stacks.
23577 (grub_error_stack_pos): Likewise.
23578 (grub_error_stack_assert): Likewise.
23579 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
23580 stack depth.
23581 (grub_print_error): Added support to print errors from error stack.
23582
23583 * include/grub/err.h (grub_error_push): Added function prototype.
23584 (grub_error_pop): Likewise.
23585
23586 2005-12-09 Hollis Blanchard <hollis@penguinppc.org>
23587
23588 * configure.ac: Accept `powerpc64' as host_cpu.
23589 (amd64): Rename to `biarch32'.
23590
23591 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
23592 non-cacheline-aligned addresses.
23593
23594 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
23595 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
23596 if `size' is non-zero.
23597
23598 2005-12-03 Marco Gerards <mgerards@xs4all.nl>
23599
23600 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
23601 and `cd' to make sure the filename is not prefixed with a
23602 directory name.
23603 (pkgdata_MODULES): Add `gpt.mod'.
23604 (gpt_mod_SOURCES): New variable.
23605 (gpt_mod_CFLAGS): Likewise.
23606 (gpt_mod_LDFLAGS): Likewise.
23607
23608 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
23609
23610 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
23611 New macro.
23612
23613 * partmap/gpt.c: New file.
23614
23615 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
23616 GPT partition map is detected.
23617
23618 2005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
23619
23620 * commands/i386/pc/play.c: New file.
23621 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
23622 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
23623 macros.
23624
23625 2005-11-27 Marco Gerards <mgerards@xs4all.nl>
23626
23627 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
23628 ((unused))' to silence gcc warning.
23629
23630 2005-11-26 Hollis Blanchard <hollis@penguinppc.org>
23631
23632 * configure.ac: Correct `AC_PROG_YACC' test.
23633
23634 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
23635
23636 * util/powerpc/ieee1275/grub-install.in: Run the mount point
23637 check before installing files.
23638
23639 2005-11-22 Mike Small <smallm@panix.com>
23640
23641 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
23642 number regex so multidigit numbers are recognized correctly.
23643
23644 2005-11-22 Mike Small <smallm@panix.com>
23645
23646 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
23647 debugging message before attempting to claim memory.
23648 (grub_rescue_cmd_initrd): Add a claim debugging message and try
23649 multiple addresses in case of failure.
23650
23651 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
23652
23653 * term/tparm.c (get_space): Remove empty `if' statement.
23654
23655 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
23656
23657 * kern/parser.c (check_varstate): Rename `state' to 's'.
23658
23659 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
23660
23661 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
23662 variable definitions to the beginning of each function. Sort stack
23663 variables by size.
23664 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
23665 `buf' argument to `char *'.
23666
23667 2005-11-22 Hollis Blanchard <hollis@penguinppc.org>
23668
23669 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
23670 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
23671 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
23672 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
23673 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
23674 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
23675 configfile.mod, search.mod, gzio.mod and test.mod.
23676 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
23677 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
23678 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
23679 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
23680 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
23681 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
23682 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
23683 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
23684 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
23685 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
23686 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
23687 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
23688 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
23689 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
23690 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
23691 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
23692 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
23693 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
23694 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
23695 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
23696 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
23697 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
23698 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
23699
23700 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
23701 `grep --include'.
23702 (pkgdata_MODULES): Add test.mod.
23703
23704 2005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
23705
23706 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
23707 appending to variables with "+=".
23708 (PModule): Use full pathname to generate *.lst filenames.
23709
23710 * Makefile.in: Fixed list rules moved from genmk.rb.
23711 (.DELETE_ON_ERROR): New special target.
23712 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
23713
23714 * conf/i386-pc.rmk: Include conf/common.mk.
23715 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
23716 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
23717 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
23718 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
23719 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
23720 configfile.mod, search.mod, gzio.mod and test.mod.
23721 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
23722 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
23723 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
23724 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
23725 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
23726 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
23727 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
23728 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
23729 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
23730 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
23731 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
23732 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
23733 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
23734 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
23735 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
23736 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
23737 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
23738 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
23739 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
23740 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
23741 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
23742 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
23743 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
23744 here...
23745 * conf/common.rmk: ... to here. New file.
23746
23747 * conf/common.mk: New file.
23748
23749 2005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
23750
23751 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
23752 (grub_script.tab.c): ... here.
23753
23754 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
23755 (grub_script.tab.c): ... here.
23756
23757 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
23758 (grub_script.tab.c): ... here.
23759
23760 * normal/command.c (grub_command_find): Fixed a memory leak of
23761 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
23762
23763 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
23764
23765 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
23766 "@" which marks the start of a comment on ARM.
23767 (VARIABLE): Likewise.
23768
23769 2005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
23770
23771 Add support for Linux/ADFS partition tables.
23772
23773 * partmap/acorn.c: New file.
23774
23775 * include/grub/acorn_filecore.h: Likewise.
23776
23777 * DISTLIST: Added `partmap/acorn.c' and
23778 `include/grub/acorn_filecore.h'.
23779
23780 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
23781 `partmap/acorn.c'.
23782 (pkgdata_MODULES): Add `acorn.mod'.
23783 (acorn_mod_SOURCES): New variable.
23784 (acorn_mod_CFLAGS): Likewise.
23785
23786 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
23787 `partmap/acorn.c'.
23788 (pkgdata_MODULES): Add `acorn.mod'.
23789 (acorn_mod_SOURCES): New variable.
23790 (acorn_mod_CFLAGS): Likewise.
23791
23792 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
23793 (pkgdata_MODULES): Add `acorn.mod'.
23794 (acorn_mod_SOURCES): New variable.
23795 (acorn_mod_CFLAGS): Likewise.
23796 (acorn_mod_LDFLAGS): Likewise.
23797
23798 * include/types.h (grub_disk_addr_t): New typedef.
23799
23800 2005-11-13 Marco Gerards <mgerards@xs4all.nl>
23801
23802 * geninit.sh: New file.
23803
23804 * geninitheader.sh: Likewise.
23805
23806 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
23807 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
23808 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
23809 * commands/configfile.c (grub_configfile_init)
23810 (grub_configfile_fini): Likewise.
23811 * commands/default.c (grub_default_init, grub_default_fini):
23812 Likewise.
23813 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
23814 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
23815 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
23816 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
23817 Likewise.
23818 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
23819 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
23820 Likewise.
23821 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
23822 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
23823 Likewise.
23824 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
23825 Likewise.
23826 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
23827 Likewise.
23828 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
23829 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
23830 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
23831 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
23832 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
23833 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
23834 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
23835 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
23836 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
23837 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
23838 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
23839 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
23840 * partmap/amiga.c (grub_amiga_partition_map_init)
23841 (grub_amiga_partition_map_fini): Likewise.
23842 * partmap/apple.c (grub_apple_partition_map_init)
23843 (grub_apple_partition_map_fini): Likewise.
23844 * partmap/pc.c (grub_pc_partition_map_init)
23845 (grub_pc_partition_map_fini): Likewise.
23846 * partmap/sun.c (grub_sun_partition_map_init,
23847 grub_sun_partition_map_fini): Likewise.
23848 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
23849 Likewise.
23850
23851 * util/grub-emu.c: Include <grub_modules_init.h>.
23852 (main): Don't initialize and de-initialize any modules directly,
23853 use `grub_init_all' and `grub_fini_all' instead.
23854
23855 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
23856 `grub_vesafb_mod_init'.
23857 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
23858 all users.
23859 * term/i386/pc/vga.c (grub_vga_init): Renamed to
23860 `grub_vga_mod_init'. Updated all users.
23861 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
23862
23863 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
23864 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
23865 rules.
23866
23867 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
23868 Generate a function to initialize the module in utilities.
23869 Updated all callers.
23870 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
23871 initialize the module in utilities. Updated all callers.
23872
23873 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
23874
23875 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
23876 escape sequence and a literal ^L to clear the screen.
23877
23878 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
23879 when returning from Open Firmware.
23880
23881 2005-11-09 Hollis Blanchard <hollis@penguinppc.org>
23882
23883 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
23884 (grub_ofconsole_height): Likewise.
23885 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
23886 manually insert a '\n'.
23887 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
23888 `grub_ofconsole_height'. Return early if these are already set.
23889
23890 2005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
23891
23892 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
23893 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
23894 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
23895 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
23896 and `normal/script.c'.
23897 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
23898 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
23899 (test_mod_SOURCES): New variable.
23900 (test_mod_CFLAGS): Likewise.
23901 (test_mod_LDFLAGS): Likewise.
23902 (pkgdata_MODULES): Add `test.mod'.
23903 (grub_script.tab.c): New rule.
23904 (grub_script.tab.h): Likewise.
23905
23906 2005-11-07 Marco Gerards <mgerards@xs4all.nl>
23907
23908 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
23909 `commands/test.c', `normal/execute.c', `normal/lexer.c',
23910 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
23911 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
23912 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
23913 (test_mod_SOURCES): New variable.
23914 (test_mod_CFLAGS): Likewise.
23915 (pkgdata_MODULES): Add `test.mod'.
23916 (grub_script.tab.c): New rule.
23917 (grub_script.tab.h): Likewise.
23918
23919 2005-11-06 Marco Gerards <mgerards@xs4all.nl>
23920
23921 Add initial scripting support.
23922
23923 * commands/test.c: New file.
23924 * include/grub/script.h: Likewise.
23925 * normal/execute.c: Likewise.
23926 * normal/function.c: Likewise.
23927 * normal/lexer.c: Likewise.
23928 * normal/parser.y: Likewise.
23929 * normal/script.c: Likewise.
23930
23931 * configure.ac: Add `AC_PROG_YACC' test.
23932
23933 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
23934 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
23935 `normal/function.c' and `normal/script.c'.
23936 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
23937 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
23938 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
23939 variables.
23940 (pkgdata_MODULES): Add `test.mod'.
23941 (grub_script.tab.c): New rule.
23942 (grub_script.tab.h): Likewise.
23943
23944 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
23945
23946 * include/grub/normal.h (grub_test_init): New prototype.
23947 (grub_test_fini): Likewise.
23948
23949 * normal/command.c: Include <grub/script.h>.
23950 (grub_command_execute): Rewritten.
23951
23952 * util/grub-emu.c (main): Call `grub_test_init' and
23953 `grub_test_fini'.
23954
23955 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
23956
23957 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
23958 to 0.
23959 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
23960 there are no pending characters.
23961
23962 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
23963
23964 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
23965 `grub_strndup' to drop device arguments. Replace unnecessary
23966 `grub_strndup' with `grub_strdup'.
23967
23968 2005-11-03 Hollis Blanchard <hollis@penguinppc.org>
23969
23970 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
23971 `debug' environment variable has been set.
23972
23973 2005-11-02 Hollis Blanchard <hollis@penguinppc.org>
23974
23975 * Makefile.in (install-local): Use $(DATA).
23976 (uninstall): Likewise.
23977 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
23978 (sbin_UTILITIES): ... to here.
23979 (sbin_SCRIPTS): New variable.
23980 (grub_install_SOURCES): New variable.
23981 * util/powerpc/ieee1275/grub-install.in: New file.
23982 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
23983 variable.
23984 (add_segments): Call `grub_util_get_path'.
23985
23986 2005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
23987
23988 From Timothy Baldwin:
23989 * commands/ls.c (grub_ls_list_files): Close FILE with
23990 grub_file_close.
23991 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
23992
23993 2005-10-24 Marco Gerards <mgerards@xs4all.nl>
23994
23995 * include/grub/parser.h: New file.
23996
23997 * kern/parser.c: Likewise.
23998
23999 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
24000 (grub_setup_SOURCES): Likewise.
24001 (grub_probefs_SOURCES): Likewise.
24002 (grub_emu_SOURCES): Likewise.
24003 (kernel_img_HEADERS): Add `parser.h'.
24004
24005 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
24006 (grub_emu_SOURCES): Add `kern/parser.c'.
24007 (grubof_SOURCES): Likewise.
24008
24009 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
24010 (grubof_SOURCES): Add `kern/parser.c'.
24011
24012 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
24013
24014 * kern/misc.c (grub_split_cmdline): Removed function.
24015
24016 * kern/rescue.c: Include <grub/parser.h>.
24017 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
24018 of `grub_split_cmdline'.
24019
24020 * normal/command.c: Include <grub/parser.h>.
24021 (grub_command_execute): Use `grub_parser_split_cmdline' instead
24022 of `grub_split_cmdline'.
24023
24024 * normal/completion.c: Include <grub/parser.h>.
24025 (cmdline_state): New variable.
24026 (iterate_dir): End the filename with a quote depending on the
24027 command line state.
24028 (get_state): new function.
24029 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
24030 split the arguments and determine the current argument. When the
24031 argument string is not quoted, escape all spaces.
24032
24033 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
24034
24035 * normal/sparc64/setjmp.S: New file.
24036
24037 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
24038
24039 * include/grub/sparc64/libgcc.h: New file.
24040 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
24041 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
24042 normal/sparc64/setjmp.c.
24043
24044 2005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
24045
24046 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
24047 * kern/sparc64/cache.S: New file.
24048 * kern/sparc64/cache.c: Removed.
24049 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
24050 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
24051 -mtune=ultrasparc.
24052 (COMMON_LDFLAGS): Add -melf64_sparc.
24053 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
24054 (grubof_SOURCES): Use cache.S instead of cache.c.
24055 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
24056 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
24057 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
24058 commented though.
24059 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
24060 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
24061 (linux_mod_CFLAGS): Commented out.
24062 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
24063 out because module isn't built.
24064 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
24065 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
24066 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
24067 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
24068 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
24069 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
24070 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
24071 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
24072 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
24073 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
24074 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
24075 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
24076 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
24077 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
24078
24079 2005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
24080
24081 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
24082 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
24083 longer, because HFS should not be used on PC.
24084
24085 2005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
24086
24087 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
24088 consistently within the loop.
24089
24090 2005-10-15 Marco Gerards <mgerards@xs4all.nl>
24091
24092 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
24093 directory can not be read.
24094
24095 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
24096
24097 * configure.ac (AC_INIT): Increase the version number to 1.91.
24098
24099 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
24100 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
24101 term/i386/pc/serial.c.
24102
24103 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
24104
24105 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
24106 file size must be permitted.
24107
24108 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
24109 between %ah and %al.
24110
24111 2005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
24112
24113 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
24114 grub_uint64_t.
24115 Call the hook with a NUL-terminated filename.
24116 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
24117 grub_cpu_to_be32.
24118
24119 * kern/term.c (cursor_state): New variable.
24120 (grub_term_set_current): Reset the cursor state on a new
24121 terminal.
24122 (grub_setcursor): Rewritten to use CURSOR_STATE.
24123 (grub_getcursor): New function.
24124
24125 * include/grub/term.h (grub_getcursor): New prototype.
24126
24127 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
24128 integers on ARM. Reported by Timothy Baldwin
24129 <T.E.Baldwin99@members.leeds.ac.uk>.
24130
24131 2005-10-11 Marco Gerards <mgerards@xs4all.nl>
24132
24133 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
24134 allocated.
24135 (grub_sfs_dir): Likewise.
24136
24137 2005-10-09 Marco Gerards <mgerards@xs4all.nl>
24138
24139 Add support for the SFS filesystem.
24140
24141 * fs/sfs.c: New file.
24142
24143 * DISTLIST: Added `fs/sfs.c'.
24144
24145 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
24146 (grub_probefs_SOURCES): Likewise.
24147 (grub_emu_SOURCES): Likewise.
24148 (pkgdata_MODULES): Add `sfs.mod'.
24149 (sfs_mod_SOURCES): New variable.
24150 (sfs_mod_CFLAGS): Likewise.
24151 (sfs_mod_LDFLAGS): Likewise.
24152
24153 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
24154 (pkgdata_MODULES): Add `sfs.mod'.
24155 (sfs_mod_SOURCES): New variable.
24156 (sfs_mod_CFLAGS): Likewise.
24157
24158 * util/grub-emu.c (main): Call `grub_sfs_init' and
24159 `grub_sfs_fini'.
24160
24161 * include/grub/fs.h (grub_sfs_init): New prototype.
24162 (grub_sfs_fini): Likewise.
24163
24164 2005-10-07 Marco Gerards <mgerards@xs4all.nl>
24165
24166 Add support for the AFFS filesystem.
24167
24168 * fs/affs.c: New file.
24169
24170 * DISTLIST: Added `fs/affs.c'.
24171
24172 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
24173 (grub_probefs_SOURCES): Likewise.
24174 (grub_emu_SOURCES): Likewise.
24175 (pkgdata_MODULES): Add `affs.mod'.
24176 (affs_mod_SOURCES): New variable.
24177 (affs_mod_CFLAGS): Likewise.
24178 (affs_mod_LDFLAGS): Likewise.
24179
24180 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
24181 (pkgdata_MODULES): Add `affs.mod'.
24182 (affs_mod_SOURCES): New variable.
24183 (affs_mod_CFLAGS): Likewise.
24184
24185 * util/grub-emu.c (main): Call `grub_affs_init' and
24186 `grub_affs_fini'.
24187
24188 * include/grub/fs.h (grub_affs_init): New prototype.
24189 (grub_affs_fini): Likewise.
24190
24191 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
24192
24193 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
24194
24195 2005-10-01 Marco Gerards <mgerards@xs4all.nl>
24196
24197 * configure.ac: Accept `x86_64' as host_cpu. In that case add
24198 `-m32' to CFLAGS.
24199
24200 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
24201 linking.
24202
24203 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
24204 (COMMON_LDFLAGS): New variable.
24205 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
24206 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
24207 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
24208 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
24209 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
24210 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
24211 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
24212 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
24213 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
24214 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
24215 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
24216 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
24217 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
24218 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
24219 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
24220 variables.
24221 (normal_mod_ASFLAGS): Add `-m32'.
24222
24223 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
24224 (grub_host_size_t, grub_host_ssize_t): New types.
24225 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
24226 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
24227 `GRUB_HOST_SIZEOF_VOID_P'.
24228
24229 * include/grub/kernel.h (struct grub_module_header): Type of
24230 member offset changed to `grub_host_off_t'. Type of member size
24231 changed to `grub_host_size_t'.
24232 (struct grub_module_info): Type of member offset changed to
24233 `grub_host_off_t'. Type of member size changed to
24234 `grub_host_size_t'.
24235
24236 2005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
24237
24238 Make GRUB's kernel compliant to Multiboot Specification.
24239
24240 * kern/i386/pc/startup.S (multiboot_header): New label.
24241 (multiboot_entry): Likewise.
24242 (multiboot_trampoline): Likewise.
24243
24244 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
24245 Increased to 0x4A0.
24246
24247 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
24248 put parentheses after a question mark.
24249 [!GRUB_UTIL] (my_mod): New variable.
24250
24251 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
24252
24253 2005-09-28 Marco Gerards <mgerards@xs4all.nl>
24254
24255 Adds support for the XFS filesystem. Btrees are not supported
24256 yet.
24257
24258 * fs/xfs.c: New file.
24259
24260 * DISTLIST: Added `fs/xfs.c'.
24261
24262 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
24263 (grub_probefs_SOURCES): Likewise.
24264 (grub_emu_SOURCES): Likewise.
24265 (pkgdata_MODULES): Add `xfs.mod'.
24266 (xfs_mod_SOURCES): New variable.
24267 (xfs_mod_CFLAGS): Likewise.
24268
24269 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
24270 (pkgdata_MODULES): Add `xfs.mod'.
24271 (xfs_mod_SOURCES): New variable.
24272 (xfs_mod_CFLAGS): Likewise.
24273
24274 * util/grub-emu.c (main): Call `grub_xfs_init' and
24275 `grub_xfs_fini'.
24276
24277 * include/grub/fs.h (grub_xfs_init): New prototype.
24278 (grub_xfs_fini): Likewise.
24279
24280
24281 2005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
24282
24283 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
24284 color modes, allow greater than 16 colors to be configured as
24285 a default palette.
24286
24287 2005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
24288
24289 * normal/completion.c (complete_arguments): Add the qualifier
24290 const into OPTIONS.
24291
24292 From Omniflux <omniflux+lists@omniflux.com>:
24293 * include/grub/terminfo.h: New file.
24294 * include/grub/tparm.h: Likewise.
24295 * include/grub/i386/pc/serial.h: Likewise.
24296 * term/terminfo.c: Likewise.
24297 * term/tparm.c: Likewise.
24298 * term/i386/pc/serial.c: Likewise.
24299 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
24300 serial.mod.
24301 (terminfo_mod_SOURCES): New variable.
24302 (terminfo_mod_CFLAGS): Likewise.
24303 (serial_mod_SOURCES): Likewise.
24304 (serial_mod_CFLAGS): Likewise.
24305
24306 2005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
24307
24308 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
24309 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
24310 and kern/powerpc/ieee1275/cmain.c, respectively.
24311
24312 * boot/powerpc/ieee1275/crt0.S: Moved to ...
24313 * kern/powerpc/ieee1275/crt0.S: ... here.
24314
24315 * boot/powerpc/ieee1275/cmain.c: Moved to ...
24316 * kern/powerpc/ieee1275/cmain.c: ... here.
24317
24318 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
24319 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
24320 instead of boot/powerpc/ieee1275/crt0.S and
24321 boot/powerpc/ieee1275/cmain.c, respectively.
24322
24323 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
24324 sectors. It was not used anyway.
24325
24326 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
24327
24328 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
24329 `unused parameter' warning.
24330
24331 2005-08-30 Hollis Blanchard <hollis@penguinppc.org>
24332
24333 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
24334 function.
24335 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
24336 getcharwidth.
24337
24338 2005-08-28 Marco Gerards <metgerards@student.han.nl>
24339
24340 * include/grub/normal.h (enum grub_completion_type): Added
24341 `GRUB_COMPLETION_TYPE_ARGUMENT'.
24342
24343 * normal/cmdline.c (print_completion): Handle
24344 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
24345 * normal/menu_entry.c (store_completion): Likewise.
24346
24347 * normal/completion.c (complete_arguments): New function.
24348 (grub_normal_do_completion): Call `complete_arguments' when the
24349 current words start with a dash.
24350
24351 2005-08-27 Marco Gerards <metgerards@student.han.nl>
24352
24353 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
24354 `gzio.mod' instead of `io.mod').
24355
24356 2005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
24357
24358 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
24359 (DISTDIRS): Added io and video.
24360 Rewrite the search routine to make an output consistently.
24361
24362 * DISTLIST: Added conf/sparc64-ieee1275.mk,
24363 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
24364 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
24365 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
24366 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
24367 util/powerpc/ieee1275/misc.c.
24368
24369 * include/grub/gzio.h: New file.
24370 * io/gzio.c: Likewise.
24371
24372 * kern/file.c (grub_file_close): Call grub_device_close only if
24373 FILE->DEVICE is not NULL.
24374
24375 * include/grub/mm.h [!NULL] (NULL): New macro.
24376
24377 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
24378
24379 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
24380 (pkgdata_MODULES): Added gzio.mod.
24381 (gzio_mod_SOURCES): New variable.
24382 (gzio_mod_CFLAGS): Likewise.
24383
24384 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
24385 (pkgdata_MODULES): Added gzio.mod.
24386 (gzio_mod_SOURCES): New variable.
24387 (gzio_mod_CFLAGS): Likewise.
24388
24389 * commands/cat.c: Include grub/gzio.h.
24390 (grub_cmd_cat): Use grub_gzfile_open instead of
24391 grub_file_open.
24392
24393 * commands/cmp.c: Include grub/gzio.h.
24394 (grub_cmd_cmp): Use grub_gzfile_open instead of
24395 grub_file_open.
24396
24397 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
24398 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
24399 grub_file_open.
24400 (grub_rescue_cmd_module): Likewise.
24401
24402 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
24403
24404 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
24405 kern/sparc64/ieee1275/init.c because it contains _start.
24406 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
24407
24408 2005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
24409
24410 * configure.ac: Add support for sparc64 host with ieee1275
24411 firmware.
24412 * configure: Generated from configure.ac.
24413 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
24414 instead of int.
24415 (grub_ofdisk_read): Likewise.
24416 (grub_ofdisk_open): Use %p to print pointer values, and cast the
24417 pointers as (void *) to remove a warning.
24418 (grub_ofdisk_close): Likewise.
24419 (grub_ofdisk_read): Likewise.
24420 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
24421 returns, so make it return void to remove a warning.
24422 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
24423 Corresponding prototype change.
24424 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
24425 values, and cast the pointers as (void *) to remove a warning.
24426 (grub_mm_dump): Likewise.
24427 * conf/sparc64-ieee1275.mk: New file.
24428 * conf/sparc64-ieee1275.rmk: Likewise.
24429 * include/grub/sparc64/setjmp.h: Likewise.
24430 * include/grub/sparc64/types.h: Likewise.
24431 * include/grub/sparc64/ieee1275/console.h: Likewise.
24432 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
24433 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
24434 * include/grub/sparc64/ieee1275/time.h: Likewise.
24435 * kern/sparc64/cache.c: Likewise.
24436 * kern/sparc64/dl.c: Likewise.
24437 * kern/sparc64/ieee1275/init.c: Likewise.
24438 * kern/sparc64/ieee1275/openfw.c: Likewise.
24439
24440 2005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
24441
24442 * util/console.c (grub_ncurses_putchar): If C is greater than
24443 0x7f, set C to a question mark.
24444 (grub_ncurses_getcharwidth): New function.
24445 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
24446 getcharwidth.
24447
24448 * normal/menu.c (print_entry): Made aware of Unicode. First,
24449 convert TITLE to UCS-4, and predict the cursor position by
24450 grub_getcharwidth.
24451
24452 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
24453 const to SRC.
24454 * kern/misc.c (grub_utf16_to_utf8): Likewise.
24455
24456 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
24457
24458 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
24459 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
24460 grub_strcat.
24461
24462 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
24463 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
24464 grub_strcpy and grub_strlen. Take it into account that a space
24465 character is inserted as a delimiter.
24466
24467 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
24468
24469 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
24470 invalid magic in the error.
24471
24472 * commands/search.c: New file.
24473
24474 * util/grub-emu.c (main): Call grub_search_init and
24475 grub_search_fini.
24476
24477 * kern/rescue.c (grub_rescue_print_disks): Removed.
24478 (grub_rescue_print_devices): New function.
24479 (grub_rescue_cmd_ls): Use grub_device_iterate with
24480 grub_rescue_print_devices instead of grub_disk_dev_iterate with
24481 grub_rescue_print_disks.
24482
24483 * kern/partition.c (grub_partition_iterate): Return the result of
24484 PARTMAP->ITERATE instead of GRUB_ERRNO.
24485
24486 * kern/device.c: Include grub/partition.h.
24487 (grub_device_iterate): New function.
24488
24489 * include/grub/partition.h (grub_partition_iterate): Return int
24490 instead of grub_err_t.
24491
24492 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
24493 prototype.
24494 [GRUB_UTIL] (grub_search_fini): Likewise.
24495
24496 * include/grub/device.h (grub_device_iterate): New prototype.
24497
24498 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
24499 commands/search.c.
24500 (pkgdata_MODULES): Added search.mod.
24501 (search_mod_SOURCES): New variable.
24502 (search_mod_CFLAGS): Likewise.
24503
24504 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
24505 (pkgdata_MODULES): Added search.mod.
24506 (search_mod_SOURCES): New variable.
24507 (search_mod_CFLAGS): Likewise.
24508
24509 * commands/ls.c (grub_ls_list_disks): Renamed to ...
24510 (grub_ls_list_devices): ... this, and use grub_device_iterate.
24511 All callers changed.
24512
24513 * DISTLIST: Added commands/search.c.
24514
24515 2005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
24516
24517 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
24518 conversion.
24519 (grub_getcharwidth): New function.
24520
24521 * kern/misc.c (grub_utf8_to_ucs4): New function.
24522
24523 * include/grub/term.h (struct grub_term): Added a new member
24524 "getcharwidth".
24525 (grub_getcharwidth): New prototype.
24526
24527 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
24528
24529 * term/i386/pc/console.c (map_char): New function. Segregated from
24530 grub_console_putchar.
24531 (grub_console_putchar): Use map_char.
24532 (grub_console_getcharwidth): New function.
24533 (grub_console_term): Specified grub_console_getcharwidth as
24534 getcharwidth.
24535
24536 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
24537 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
24538
24539 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
24540 GRUB_ERRNO.
24541 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
24542 on grub_strtoul completely.
24543 (write_char): Declare local variables in the beginning of the
24544 function.
24545 (grub_vesafb_getcharwidth): New function.
24546 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
24547 getcharwidth.
24548
24549 2005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
24550
24551 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
24552 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
24553 commands/i386/pc/vbetest.c.
24554
24555 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
24556 call grub_vbe_get_controller_info again, because the returned
24557 information is volatile.
24558 (grub_vbe_set_video_mode): Mostly rewritten.
24559 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
24560 grub_vbe_status_t correctly.
24561 (grub_vbe_get_video_mode_info): Likewise.
24562 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
24563 several if statements.
24564
24565 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
24566 * commands/i386/pc/vbeinfo.c: ... this.
24567
24568 * commands/i386/pc/vbe_test.c: Renamed to ...
24569 * commands/i386/pc/vbetest.c: ... this.
24570
24571 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
24572 ...
24573 (grub_cmd_vbeinfo): ... this. Save video modes before
24574 iterating. Skip a video mode, if it is not available, not enough
24575 information is given or it is monochrome. Show the memory
24576 model. Leave the interpretation of MODEVAR to grub_strtoul
24577 completely.
24578 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
24579 (GRUB_MOD_FINI): Likewise.
24580
24581 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
24582 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
24583 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
24584 duplicated grub_env_get. Leave the interpretation of MODEVAR to
24585 grub_strtoul completely.
24586 (real2pm): Removed.
24587 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
24588 (GRUB_MOD_FINI): Likewise.
24589
24590 * normal/misc.c: Include grub/mm.h.
24591
24592 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
24593 vbe_list_modes with vbetest.mod and vbeinfo.mod.
24594 (vbe_list_modes_mod_SOURCES): Removed.
24595 (vbe_list_modes_mod_CFLAGS): Likewise.
24596 (vbe_test_mod_SOURCES): Likewise.
24597 (vbe_test_mod_CFLAGS): Likewise.
24598 (vbeinfo_mod_SOURCES): New variable.
24599 (vbeinfo_mod_CFLAGS): Likewise.
24600 (vbetest_mod_SOURCES): Likewise.
24601 (vbetest_mod_CFLAGS): Likewise.
24602
24603 2005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
24604
24605 * normal/misc.c: New file.
24606
24607 * DISTLIST: Added normal/misc.c.
24608
24609 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
24610 DISK to HOOK. Call HOOK with DISK.
24611 * partmap/apple.c (apple_partition_map_iterate): Likewise.
24612 * partmap/pc.c (pc_partition_map_iterate): Likewise.
24613 * partmap/sun.c (sun_partition_map_iterate): Likewise.
24614
24615 * normal/menu_entry.c (struct screen): Added a new member
24616 "completion_shown".
24617 (completion_buffer): New global variable.
24618 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
24619 (store_completion): New function.
24620 (complete): Likewise.
24621 (clear_completions): Likewise.
24622 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
24623 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
24624 a tab, call complete.
24625
24626 * normal/completion.c (disk_dev): Removed.
24627 (print_simple_completion): Likewise.
24628 (print_partition_completion): Likewise.
24629 (print_func): New global variable.
24630 (add_completion): Do not take the arguments WHAT or PRINT any
24631 longer. Added a new argument TYPE. Instead of printing directly,
24632 call PRINT_FUNC if not NULL.
24633 All callers changed.
24634 (complete_device): Use a local variable DEV instead of
24635 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
24636 (grub_normal_do_completion): Take a new argument HOOK. Do not
24637 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
24638 empty string, return NULL instead.
24639 All callers changed.
24640
24641 * normal/cmdline.c (print_completion): New function.
24642
24643 * kern/partition.c (grub_partition_iterate): Add an argument DISK
24644 to HOOK.
24645 All callers changed.
24646
24647 * kern/disk.c (grub_print_partinfo): Removed.
24648
24649 * include/grub/partition.h (struct grub_partition_map): Add a new
24650 argument DISK into HOOK of ITERATE.
24651 (grub_partition_iterate): Add a new argument DISK to HOOK.
24652
24653 * include/grub/normal.h (enum grub_completion_type): New enum.
24654 (grub_completion_type_t): New type.
24655 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
24656 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
24657 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
24658 (GRUB_COMPLETION_TYPE_FILE): Likewise.
24659 (grub_normal_do_completion): Added a new argument HOOK.
24660 (grub_normal_print_device_info): New prototype.
24661
24662 * include/grub/disk.h (grub_print_partinfo): Removed.
24663
24664 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
24665 (normal_mod_SOURCES): Likewise.
24666 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24667 (normal_mod_SOURCES): Likewise.
24668
24669 * commands/ls.c (grub_ls_list_disks): Use
24670 grub_normal_print_device_info instead of grub_print_partinfo. Free
24671 PNAME.
24672 (grub_ls_list_files): Use grub_normal_print_device_info instead of
24673 duplicating the code.
24674
24675 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
24676
24677 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
24678 follow GCS more precisely.
24679 * commands/i386/pc/vbe_test.c: Likewise.
24680 * include/grub/i386/pc/vbe.h: Likewise.
24681 * term/i386/pc/vesafb.c: Likewise.
24682 * video/i386/pc/vbe.c: Likewise.
24683
24684 2005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
24685
24686 * DISTLIST: Added term/i386/pc/vesafb.c
24687 DISTLIST: Added video/i386/pc/vbe.c
24688 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
24689 DISTLIST: Added commands/i386/pc/vbe_test.c.
24690 * commands/i386/pc/vbe_list_modes.c: New file.
24691 * commands/i386/pc/vbe_test.c: Likewise.
24692 * term/i386/pc/vesafb.c: Likewise.
24693 * video/i386/pc/vbe.c: Likewise.
24694 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
24695 (grub_vbe_probe) Added prototype.
24696 (grub_vbe_set_video_mode) Likewise.
24697 (grub_vbe_get_video_mode) Likewise.
24698 (grub_vbe_get_video_mode_info) Likewise.
24699 (grub_vbe_set_pixel_rgb) Likewise.
24700 (grub_vbe_set_pixel_index) Likewise.
24701 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
24702 (pkgdata_MODULES): Added vesafb.mod.
24703 (pkgdata_MODULES): Added vbe_list_modes.mod.
24704 (pkgdata_MODULES): Added vbe_test.mod.
24705 (vbe_mod_SOURCES): Added.
24706 (vbe_mod_CFLAGS): Likewise.
24707 (vesafb_mod_SOURCES): Likewise.
24708 (vesafb_mod_CFLAGS): Likewise.
24709 (vbe_list_modes_mod_SOURCES): Likewise.
24710 (vbe_list_modes_mod_CFLAGS): Likewise.
24711 (vbe_test_mod_SOURCES): Likewise.
24712 (vbe_test_mod_CFLAGS): Likewise.
24713
24714 2005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
24715
24716 * normal/command.c (grub_command_execute): If INTERACTIVE is
24717 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
24718 CMDLINE. Disable the pager if INTERACTIVE is true.
24719 All callers are changed.
24720
24721 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
24722 before reading a config file.
24723 * normal/main.c (read_config_file): Even if a command is not
24724 found, register it if it is within an entry.
24725
24726 * util/grub-emu.c: Include sys/types.h and unistd.h.
24727 (options): Added --hold.
24728 (struct arguments): Added a new member "hold".
24729 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
24730 missing.
24731 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
24732 cleared by a debugger, if it is not zero.
24733
24734 * include/grub/normal.h (grub_command_execute): Add an argument
24735 INTERACTIVE.
24736
24737 2005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
24738
24739 * DISTLIST: Added include/grub/i386/pc/vbe.h.
24740
24741 2005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
24742
24743 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
24744 program with another one, because the old one didn't detect a bug
24745 in gcc-3.4. Always use regparm 2, because the new test is still
24746 not enough for gcc-4.0. Someone must investigate a simple test
24747 case which detects a bug in gcc-4.0.
24748
24749 2005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
24750
24751 * DISTLIST: Added normal/completion.c.
24752
24753 * normal/completion.c: New file.
24754
24755 * term/i386/pc/console.c (grub_console_getwh): New function.
24756 (grub_console_term): Assign grub_console_getwh to getwh.
24757
24758 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
24759 function is defined in normal/completion.c as
24760 grub_normal_do_completion.
24761 (grub_cmdline_get): Use grub_normal_do_completion instead of
24762 grub_tab_complete.
24763
24764 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
24765 returns non-zero, otherwise return 0.
24766 (grub_partition_iterate): First, probe the partition map. Then,
24767 call ITERATE only for this partition map.
24768
24769 * kern/misc.c (grub_strncmp): Rewritten.
24770
24771 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
24772 returns non-zero. Otherwise return 0.
24773
24774 * include/grub/partition.h (grub_partition_map_iterate): Return
24775 int instead of void.
24776
24777 * include/grub/normal.h (grub_normal_do_completion): New prototype.
24778
24779 * include/grub/misc.h (grub_strncmp): Change the type of N to
24780 grub_size_t.
24781
24782 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
24783 of void.
24784
24785 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
24786 unsigned explicitly before comparing it with I.
24787
24788 * kern/main.c (grub_env_write_root): Add the attribute unused into
24789 VAR.
24790
24791 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
24792 normal/completion.c.
24793 (normal_mod_SOURCES): Likewise.
24794 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
24795 (normal_mod_SOURCES): Likewise.
24796
24797 * normal/command.c (grub_iterate_commands): If ITERATE returns
24798 non-zero, return one immediately.
24799
24800 2005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
24801
24802 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
24803 * kern/i386/pc/startup.S: Updated Global Descriptor table's
24804 descriptions.
24805 (grub_vbe_get_controller_info): New function.
24806 (grub_vbe_get_mode_info): Likewise.
24807 (grub_vbe_set_mode): Likewise.
24808 (grub_vbe_get_mode): Likewise.
24809 (grub_vbe_set_memory_window): Likewise.
24810 (grub_vbe_get_memory_window): Likewise.
24811 (grub_vbe_set_scanline_length): Likewise.
24812 (grub_vbe_get_scanline_length): Likewise.
24813 (grub_vbe_set_display_start): Likewise.
24814 (grub_vbe_get_display_start): Likewise.
24815 (grub_vbe_set_palette_data): Likewise.
24816 * include/grub/i386/pc/vbe.h: New file.
24817
24818 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
24819
24820 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
24821 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
24822 * DISTLIST: Likewise.
24823 * kern/ieee1275/of.c: Moved to ...
24824 * kern/ieee1275/ieee1275.c: ... here.
24825
24826 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
24827
24828 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
24829 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
24830 Pass 0 as `end' parameter to grub_strtoul().
24831
24832 2005-08-08 Hollis Blanchard <hollis@penguinppc.org>
24833
24834 * include/grub/powerpc/ieee1275/console.h: Do not include
24835 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
24836 ifdef.
24837 (grub_console_cur_color): Remove i386-specific prototype.
24838 (grub_console_real_putchar): Likewise.
24839 (grub_console_checkkey): Likewise.
24840 (grub_console_getkey): Likewise.
24841 (grub_console_getxy): Likewise.
24842 (grub_console_gotoxy): Likewise.
24843 (grub_console_cls): Likewise.
24844 (grub_console_setcursor): Likewise.
24845 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
24846 Include <grub/machine/console.h>.
24847 * term/ieee1275/ofconsole.c: Likewise.
24848
24849 2005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
24850
24851 * Makefile.in (LIBLZO): New variable.
24852
24853 * configure.ac: Check for LZO version 2.
24854
24855 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
24856 lzo/lzo1x.h instead of lzo1x.h.
24857
24858 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
24859 of -llzo.
24860
24861 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
24862 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
24863
24864 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
24865 copying the data from PARTITION to P.
24866
24867 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
24868
24869 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
24870 negative, unload the module.
24871
24872 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
24873 map is "pc_partition_map" but not "pc".
24874 (usage): Fix the description. The options are --boot-image and
24875 --core-image but not --boot-file or --core-file.
24876 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
24877 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
24878 DEFAULT_DIRECTORY.
24879
24880 * util/i386/pc/grub-install.in: Do not specify --boot-file or
24881 --core-file. Specify INSTALL_DEVICE as an argument.
24882
24883 * util/console.c: Include config.h.
24884 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
24885 [HAVE_NCURSES_H]: Include ncurses.h.
24886 [HAVE_CURSES_H]: Include curses.h.
24887 [!A_NORMAL] (A_NORMAL): Defined as zero.
24888 [!A_STANDOUT] (A_STANDOUT): Likewise.
24889
24890 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
24891 -lncurses.
24892 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
24893
24894 * configure.ac: Check for curses libraries and headers.
24895
24896 * Makefile.in (LIBCURSES): New variable.
24897
24898 * genmk.rb (Script::rule): Set the executable bits.
24899
24900 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
24901 name of the PC partition map is "pc_partition_map" but not "pc".
24902
24903 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
24904
24905 * util/i386/pc/grub-install.in (grub_probefs): New variable.
24906 (modules): Likewise.
24907 (usage): Added descriptions for --modules and --grub-probefs.
24908 Handle --modules and --grub-probefs. Save the arguments in MODULES
24909 and GRUB_PROBEFS, respectively.
24910 Auto-detect a filesystem module against GRUBDIR. If the result is
24911 empty and modules are not specified explicitly, abort the
24912 installation. Add the result to MODULES.
24913
24914 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
24915 disk/powerpc/ieee1275/ofdisk.c,
24916 include/grub/powerpc/ieee1275/init.h and
24917 term/powerpc/ieee1275/ofconsole.c.
24918 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
24919 term/ieee1275/ofconsole.c.
24920
24921 * include/grub/powerpc/ieee1275/console.h: Resurrected.
24922
24923 * COPYING: Upgraded to the latest version. Only the address of the
24924 FSF office has changed.
24925
24926 2005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
24927
24928 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
24929 kern/ieee1275.c with kern/ieee1275/of.c.
24930
24931 * kern/ieee1275.c: Moved to ...
24932 * kern/ieee1275/of.c: ... here.
24933
24934 2005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
24935
24936 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
24937 readability.
24938
24939 * config.guess: Updated to the latest version from gnulib.
24940 * config.sub: Likewise.
24941 * install.sh: Likewise.
24942 * mkinstalldirs: Likewise.
24943
24944 * include/grub/console.h: Removed. This file is arch-specific. Do
24945 not put this in include/grub.
24946
24947 * include/grub/i386/pc/console.h: Resurrected.
24948
24949 * util/console.c: Include grub/machine/console.h instead of
24950 grub/console.h.
24951 * util/grub-emu.c: Likewise.
24952
24953 2005-08-04 Marco Gerards <metgerards@student.han.nl>
24954
24955 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
24956 hardcoded value.
24957
24958 From Vincent Pelletier <subdino2004@yahoo.fr>
24959 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
24960 Redefined to use grub_getwh.
24961 (grub_term): New member named getwh.
24962 (grub_getwh): New prototype.
24963 * kern/term.c (grub_getwh): New function.
24964 * term/i386/pc/console.c (grub_console_getwh): New function.
24965 (grub_console_term): New member `getwh'.
24966 * term/i386/pc/vga.c (grub_vga_getwh): New function.
24967 (grub_vga_term): New member `getwh'.
24968 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
24969 grub_ssize_t.
24970 (grub_ofconsole_getw): New function.
24971 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
24972 (grub_ofconsole_term): New field named getwh and new initial
24973 value.
24974
24975 2005-08-03 Hollis Blanchard <hollis@penguinppc.org>
24976
24977 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
24978 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
24979 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
24980 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
24981 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
24982 of <grub/machine/ieee1275.h>.
24983 * commands/ieee1275/reboot.c: Likewise.
24984 * boot/powerpc/ieee1275/ieee1275.c: Move ...
24985 * kern/ieee1275.c: ... to here. All users updated. Change all
24986 parameter structs to use new type `grub_ieee1275_cell_t'.
24987 * term/powerpc/ieee1275/ofconsole.c: Move ...
24988 * term/ieee1275/ofconsole.c: ... to here. All users updated.
24989 * disk/powerpc/ieee1275/ofdisk.c: Move ...
24990 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
24991 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
24992 to return int.
24993 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
24994 Remove unused prototypes. All users updated.
24995 * include/grub/powerpc/ieee1275/console.h: Removed.
24996 * include/grub/powerpc/ieee1275/ieee1275.h: Define
24997 `grub_ieee1275_cell_t'.
24998 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
24999 Cast comparisons with -1 to the correct type.
25000 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
25001 type to match `grub_ieee1275_entry_fn'.
25002
25003 2005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
25004
25005 * DISTLIST: Added util/i386/pc/grub-probefs.c.
25006
25007 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
25008 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
25009 partmap/sun.c.
25010 (grub_probefs_SOURCES): New variable.
25011
25012 * util/i386/pc/grub-probefs.c: New file.
25013
25014 * util/i386/pc/grub-setup.c (main): Call
25015 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
25016 grub_hfs_init and grub_jfs_init to initialize the system. Call
25017 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
25018 grub_pc_partition_map_fini to finish the system.
25019
25020 2005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
25021
25022 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
25023 function.
25024 (grub_multiboot_load_elf32): Likewise.
25025 (grub_multiboot_is_elf64): Likewise.
25026 (grub_multiboot_load_elf64): Likewise.
25027 (grub_multiboot_load_elf): Likewise.
25028 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
25029 an ELF32 or ELF64 file.
25030 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
25031
25032 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
25033 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
25034 NULL before calling FS->LABEL.
25035 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
25036 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
25037 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
25038 before calling FS->LABEL.
25039
25040 2005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
25041
25042 * util/i386/pc/grub-install.in (datadir): New variable.
25043 (libdir): Removed.
25044 (pkgdatadir): New variable.
25045 (pkglibdir): Removed.
25046
25047 2005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
25048
25049 * DISTLIST: Added util/i386/pc/grub-install.in.
25050
25051 * util/i386/pc/grub-install.in: New file.
25052
25053 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
25054 (grub_install_SOURCES): Likewise.
25055
25056 * genmk.rb: Added support for scripts.
25057 (Script): New class.
25058 (scripts): New variable.
25059
25060 * Makefile.in (install-local): Install sbin_SCRIPTS by
25061 INSTALL_SCRIPT.
25062 (uninstall): Remove sbin_SCRIPTS.
25063
25064 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
25065 device, try to get a GRUB device by
25066 grub_util_biosdisk_get_grub_dev.
25067 Free DEST_DEV.
25068
25069 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
25070 description for --device-map.
25071
25072 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
25073
25074 Change the semantics of variable hooks. They now return strings
25075 instead of error values.
25076
25077 * util/i386/pc/grub-setup.c: Include grub/env.h.
25078 (setup): Use grub_device_set_root instead of grub_env_set.
25079
25080 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
25081 grub_env_get instead of grub_device_set_root and
25082 grub_device_get_root, respectively.
25083
25084 * kern/main.c (grub_env_write_root): New function.
25085 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
25086 grub_env_set instead of grub_device_set_root.
25087
25088 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
25089 many variables.
25090 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
25091 rather than calling ENV->WRITE_HOOK afterwards.
25092 (grub_env_get): Return the result of ENV->READ_HOOK rather than
25093 passing a pointer of a pointer.
25094 (grub_register_variable_hook): Change the types of "read_hook" and
25095 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
25096 respectively.
25097 Allocate the default empty string on the heap, because this string
25098 may be freed later.
25099
25100 * kern/device.c: Include grub/env.h.
25101 (grub_device_set_root): Removed.
25102 (grub_device_get_root): Likewise.
25103 (grub_device_open): Use grub_env_get instead of
25104 grub_device_get_root.
25105
25106 * include/grub/env.h (grub_env_read_hook_t): New type.
25107 (grub_env_write_hook_t): Likewise.
25108 (grub_env_var): Change the types of "read_hook" and "write_hook"
25109 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
25110 (grub_register_variable_hook): Likewise.
25111
25112 * include/grub/device.h (grub_device_set_root): Removed.
25113 (grub_device_set_root): Likewise.
25114
25115 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
25116 make sure that DIRNAME terminates with '/', so that
25117 grub_fat_find_dir will fail if PATH is not a directory.
25118
25119 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
25120 from DIRNAME.
25121 Use the qualifier auto for print_files and print_files_long.
25122 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
25123 as a regular file.
25124 Put a newline only if there is no error.
25125 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
25126 used.
25127
25128 2005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
25129
25130 * kern/partition.c (grub_partition_probe): Initialize PART to
25131 NULL. Otherwise, when no partition map is registered, this returns
25132 a garbage.
25133
25134 2005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
25135
25136 * partmap/apple.c (apple_partition_map_iterate): Check if POS
25137 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
25138 valid.
25139
25140 2005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
25141
25142 * commands/ls.c (grub_ls_list_disks): Print the filesystem
25143 information on each device, if it does not have partitions. Print
25144 "Device" instead of "Disk", because this function is not specific
25145 to disk devices.
25146
25147 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
25148 static to ensure that it is put on the memory rather than a
25149 register.
25150
25151 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
25152
25153 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
25154 (grub_cat_init): Likewise.
25155 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
25156 (options): Likewise.
25157 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
25158 (grub_configfile_init): Likewise.
25159 * font/manager.c (GRUB_MOD_INIT): Likewise.
25160 * commands/help.c (GRUB_MOD_INIT): Likewise.
25161 (grub_help_init): Likewise.
25162 * normal/command.c (grub_command_init): Likewise.
25163 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
25164 * disk/loopback.c (grub_loop_init): Likewise.
25165 (GRUB_MOD_INIT): Likewise.
25166 * commands/ls.c (grub_ls_init): Likewise.
25167 (GRUB_MOD_INIT): Likewise.
25168 (options): Likewise.
25169 * commands/boot.c (grub_boot_init): Likewise.
25170 (GRUB_MOD_INIT): Likewise.
25171 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
25172 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
25173 (GRUB_MOD_INIT): Likewise.
25174 * commands/cmp.c (grub_cmp_init): Likewise.
25175 (GRUB_MOD_INIT): Likewise.
25176
25177 * normal/arg.c: Use <> instead of "" to include header files.
25178 (SHORT_ARG_HELP): New macro.
25179 (SHORT_ARG_USAGE): Likewise.
25180 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
25181 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
25182 descriptions.
25183 (find_short): Check if C is 'h' or 'u' explicitly.
25184 (grub_arg_show_help): Use space characters instead of tabs. Treat
25185 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
25186 are shown with --help and --usage only if they are not used for
25187 the command itself.
25188 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
25189 'h' and 'u'.
25190
25191 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
25192 const into "longarg". Change the type of "shortarg" to int.
25193
25194 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
25195
25196 * boot/i386/pc/boot.S (boot_drive_check): New label.
25197
25198 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
25199 macro.
25200
25201 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
25202 which do not pass a boot drive correctly. Copied from GRUB Legacy.
25203
25204 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
25205
25206 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
25207 When turning off Gate A20, skip the check and return immediately,
25208 because this is not fatal usually.
25209
25210 2005-07-17 Yoshinori Okuji <okuji@enbug.org>
25211
25212 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
25213 be 0x7C00 instead of 0x8000.
25214
25215 * boot/i386/pc/pxeboot.S: Rewritten.
25216
25217 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
25218 EXT_C.
25219 (gate_a20_check_state): Read a byte from 0x108000. Invert the
25220 result.
25221
25222 2005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
25223
25224 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
25225 robustness. This routine now supports a BIOS call and System
25226 Control Port A to modify the gate A20.
25227
25228 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
25229 Increased to 0x440.
25230
25231 2005-07-12 Hollis Blanchard <hollis@penguinppc.org>
25232
25233 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
25234 device path and resulting ihandle.
25235 (grub_ofdisk_close): dprintf the ihandle being closed.
25236 (grub_ofdisk_read): dprintf function parameters.
25237 * kern/mm.c (grub_mm_init_region): Likewise.
25238 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
25239 (grub_linux_boot): dprintf the Linux entry point, initrd address and
25240 size, and boot arguments.
25241 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
25242 before loading into memory.
25243 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
25244 before loading into memory.
25245
25246 2005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
25247
25248 * kern/mm.c: Added much documentation.
25249 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
25250 8, set to 5 instead of 8.
25251
25252 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
25253
25254 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
25255
25256 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
25257 (grub_mkdevicemap_SOURCES): New variable.
25258
25259 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
25260 lib/device.c of GRUB Legacy.
25261
25262 2005-07-10 Yoshinori Okuji <okuji@enbug.org>
25263
25264 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
25265 instead of PATH is NULL.
25266
25267 2005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
25268
25269 * commands/cmp.c (BUFFER_SIZE): New macro.
25270 (grub_cmd_cmp): Close the right file at the right time. Compare
25271 only data just read. Don't report files of different size as
25272 identical. Dynamically allocate buffers. Move variable
25273 declarations at the beginning of function.
25274
25275 2005-07-09 Yoshinori Okuji <okuji@enbug.org>
25276
25277 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
25278 reverse.
25279
25280 2004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
25281
25282 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
25283 when backspace is pressed at beginning of line.
25284
25285 2005-07-03 Yoshinori Okuji <okuji@enbug.org>
25286
25287 * DISTLIST: Added genfslist.sh.
25288
25289 * normal/main.c (fs_module_list): New variable.
25290 (autoload_fs_module): New function.
25291 (read_fs_list): Likewise.
25292 (grub_normal_execute): Call read_fs_list.
25293
25294 * kern/fs.c (grub_fs_autoload_hook): New variable.
25295 (grub_fs_probe): Added support for auto-loading.
25296
25297 * include/grub/normal.h (struct grub_fs_module_list): New struct.
25298 (grub_fs_module_list_t): New type.
25299
25300 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
25301 (grub_fs_autoload_hook): New prototype.
25302
25303 * genfslist.sh: New file.
25304
25305 * genmk.rb: Added a rule to generate a filesystem list.
25306
25307 2005-06-30 Marco Gerards <metgerards@student.han.nl>
25308
25309 * configure.ac: Fix the test for cross-compiling.
25310
25311 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
25312 define GRUB_UTIL anymore.
25313
25314 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
25315 so this function works on other systems than just big endian.
25316 (load_modules): Likewise.
25317 (add_segments): Likewise.
25318
25319 2005-06-23 Hollis Blanchard <hollis@penguinppc.org>
25320
25321 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
25322 contains `l' modifier, get a long from va_arg().
25323
25324 2005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
25325
25326 * kern/mm.c (grub_free): If the next free block which is being
25327 merged is the first free block, set the first block to the block
25328 being freed.
25329 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
25330
25331 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
25332
25333 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
25334 `grub_ieee1275_chosen'.
25335
25336 2005-05-08 Hollis Blanchard <hollis@penguinppc.org>
25337
25338 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
25339 (grub_ieee1275_chosen): New variable.
25340 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
25341 `chosen'.
25342 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
25343 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
25344 Rename first argument to `phandle' for consistency.
25345 (grub_ieee1275_get_property_length): Likewise.
25346 (grub_ieee1275_next_property): Likewise. Change type of first argument
25347 to grub_ieee1275_phandle_t.
25348 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
25349 Move export next to declaration.
25350 (grub_ieee1275_chosen): New variable.
25351 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
25352 Correct cosmetic typo.
25353 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
25354 `grub_ieee1275_chosen'.
25355 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
25356 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
25357 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
25358 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
25359 `grub_ieee1275_chosen'.
25360
25361 2005-05-10 Hollis Blanchard <hollis@penguinppc.org>
25362
25363 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
25364 /chosen/bootargs.
25365 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
25366 /chosen/bootargs as "variable=value" pairs.
25367
25368 2005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
25369
25370 * include/grub/misc.h (grub_dprintf): New macro.
25371 (grub_real_dprintf): New prototype.
25372 (grub_strword): Likewise.
25373 (grub_iswordseparator): Likewise.
25374 * kern/misc.c (grub_real_dprintf): New function.
25375 (grub_strword): Likewise.
25376 (grub_iswordseparator): Likewise.
25377
25378 2005-04-30 Hollis Blanchard <hollis@penguinppc.org>
25379
25380 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
25381 (roundup): Remove macro.
25382 (grub_ieee1275_flags): Make static.
25383 (grub_ieee1275_realmode): Remove.
25384 (grub_ieee1275_test_flag): New function.
25385 (grub_ieee1275_set_flag): Likewise.
25386 (find_options): Rename to `grub_ieee1275_find_options'; update
25387 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
25388 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
25389 (cmain): New prototype.
25390 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
25391 `grub_ieee1275_flags' directly.
25392 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
25393 machine/biosdisk.h.
25394 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
25395 Don't include grub/machine/init.h.
25396 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
25397 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
25398 Remove prototype.
25399 (grub_ieee1275_realmode): Likewise.
25400 (grub_ieee1275_flag): New enum.
25401 (grub_ieee1275_test_flag): New prototype.
25402 (grub_ieee1275_set_flag): New prototype.
25403 * include/grub/powerpc/ieee1275/init.h: Remove file.
25404 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
25405 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
25406 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
25407 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
25408 comment.
25409 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
25410 `grub_ieee1275_test_flag'.
25411 (grub_ieee1275_encode_devname): Likewise.
25412
25413 2005-04-21 Hollis Blanchard <hollis@penguinppc.org>
25414
25415 * include/grub/powerpc/ieee1275/ieee1275.h
25416 (grub_ieee1275_encode_devname): New prototype.
25417 (grub_ieee1275_get_filename): Likewise.
25418 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
25419 function.
25420 (grub_set_prefix): Likewise.
25421 (grub_machine_init): Call grub_set_prefix.
25422 * kern/powerpc/ieee1275/openfw.c: Fix typos.
25423 (grub_parse_type): New enum.
25424 (grub_ieee1275_get_devargs): New function.
25425 (grub_ieee1275_get_devname): Likewise.
25426 (grub_ieee1275_parse_args): Likewise.
25427 (grub_ieee1275_get_filename): Likewise.
25428 (grub_ieee1275_encode_devname): Likewise.
25429
25430 2005-03-30 Marco Gerards <metgerards@student.han.nl>
25431
25432 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
25433 `grub_loader_unset'.
25434
25435 2005-03-26 Hollis Blanchard <hollis@penguinppc.org>
25436
25437 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
25438 instead of grub_ieee1275_interpret.
25439 (grub_halt_init): New function.
25440 (grub_halt_fini): Likewise.
25441 (GRUB_MOD_INIT): Correct message grammar.
25442 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
25443 instead of grub_ieee1275_interpret.
25444 (grub_reboot_init): New function.
25445 (grub_reboot_fini): Likewise.
25446 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
25447 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
25448 util/i386/pc/misc.c with commands/ieee1275/halt.c,
25449 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
25450 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
25451 function.
25452 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
25453 Add prototype.
25454 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
25455 prototype.
25456 (grub_halt): Likewise.
25457 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
25458 (cmain): Remove __attribute__((unused)).
25459 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
25460 (grub_heap_len): Likewise.
25461 (grub_machine_fini): New function.
25462 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
25463 (grub_halt): Likewise.
25464 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
25465 function.
25466 * util/powerpc/ieee1275/misc.c: New file.
25467
25468 2005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
25469
25470 * DISTLIST: New file.
25471 * gendistlist.sh: Likewise.
25472
25473 * Makefile.in (COMMON_DISTFILES): Removed.
25474 (BOOT_DISTFILES): Likewise.
25475 (CONF_DISTFILES): Likewise.
25476 (DISK_DISTFILES): Likewise.
25477 (FS_DISTFILES): Likewise.
25478 (INCLUDE_DISTFILES): Likewise.
25479 (KERN_DISTFILES): Likewise.
25480 (LOADER_DISTFILES): Likewise.
25481 (TERM_DISTFILES): Likewise.
25482 (UTIL_DISTFILES): Likewise.
25483 (DISTFILES): Likewise.
25484 (uninstall): Uninstall files in $(pkgdata_DATA).
25485 (DISTLIST): New target.
25486 (distdir): Use the contents of the file DISTLIST to get a list of
25487 distributed files.
25488
25489 2005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
25490
25491 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
25492 descriptor. This is ported from GRUB Legacy.
25493
25494 * gencmdlist.sh: Added an extra semicolon to make it work with
25495 old sed versions. Reported by Robert Bihlmeyer
25496 <robbe@orcus.priv.at>.
25497
25498 2005-03-08 Yoshinori Okuji <okuji@enbug.org>
25499
25500 Automatic loading of commands is supported.
25501
25502 * normal/main.c (read_command_list): New function.
25503 (grub_normal_execute): Call read_command_list.
25504
25505 * normal/command.c (grub_register_command): Return zero or CMD.
25506 Allocate CMD->NAME from the heap.
25507 Initialize CMD->MODULE_NAME to zero.
25508 Find the same name as well. If the same command is found and it is
25509 a dummy command, overwrite members. If it is not a dummy command,
25510 return zero.
25511 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
25512 (grub_command_find): If a dummy command is found, load a module
25513 and retry to find a command only once.
25514
25515 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
25516 make sure that each command is loaded.
25517
25518 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
25519 macro.
25520 (struct grub_command): Remove const from the member `name'.
25521 Add a new member `module_name'.
25522 (grub_register_command): Return grub_command_t.
25523
25524 * commands/help.c (grub_cmd_help): Call grub_command_find to make
25525 sure that each command is loaded.
25526
25527 * genmk.rb (PModule::rule): Specify a module name without the
25528 suffix ".mod" to gencmdlist.sh.
25529
25530 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
25531
25532 * gencmdlist.sh: New file.
25533
25534 * genmk.rb (PModule::rule): Generate a rule for a command list.
25535 Clean command.lst.
25536 Generate command.lst from $(COMMANDFILES).
25537
25538 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
25539 (DATA): Added $(pkgdata_DATA).
25540 (install-local): Install files in $(pkgdata_DATA).
25541
25542 2005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
25543
25544 * term/i386/pc/vga.c (debug_command): Removed.
25545 (GRUB_MOD_INIT): Do not register the command "debug".
25546
25547 From Hollis Blanchard:
25548 * commands/configfile.c: New file.
25549 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
25550 commands/configfile.c.
25551 (pkgdata_MODULES): Added configfile.mod.
25552 (configfile_mod_SOURCES): New variable.
25553 (configfile_mod_CFLAGS): Likewise.
25554 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
25555 commands/configfile.c.
25556 (pkgdata_MODULES): Added configfile.mod.
25557 (configfile_mod_SOURCES): New variable.
25558 (configfile_mod_CFLAGS): Likewise.
25559 * util/grub-emu.c (main): Call grub_configfile_init and
25560 grub_configfile_fini.
25561 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
25562 prototype.
25563 [GRUB_UTIL] (grub_configfile_fini): Likewise.
25564
25565 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
25566
25567 * normal/arg.c (grub_arg_show_help): Do not show the bug report
25568 address.
25569
25570 * commands/help.c (grub_cmd_help): Do not print newlines after
25571 the last command in print_command_help.
25572
25573 2005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
25574
25575 * commands/default.h: New file.
25576 * commands/timeout.h: Likewise.
25577 * normal/context.c: Likewise.
25578
25579 * util/misc.c: Do not include sys/times.h.
25580 Include sys/time.h and grub/machine/time.h.
25581 (grub_get_rtc): Rewritten with gettimeofday.
25582
25583 * util/grub-emu.c (main): Call grub_default_init and
25584 grub_timeout_init before grub_normal_init, and call
25585 grub_timeout_fini and grub_default_fini after grub_main.
25586
25587 * util/console.c (grub_ncurses_checkkey): Return the read
25588 character or -1.
25589
25590 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
25591 timeouts.
25592
25593 * normal/main.c (read_config_file): Push MENU. If this fails,
25594 print an error and wait for a user input.
25595 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
25596 If a menu is empty or an error occurs, pop MENU.
25597 (grub_normal_execute): Pop and free MENU after grub_menu_run
25598 returns.
25599
25600 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
25601
25602 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
25603 include time.h.
25604 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
25605 without GRUB_UTIL.
25606 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
25607 time.h.
25608 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
25609 without GRUB_UTIL.
25610
25611 * include/grub/normal.h (struct grub_menu_list): New struct.
25612 (grub_menu_list_t): New type.
25613 (struct grub_context): New struct.
25614 (grub_context_t): New type.
25615 (grub_register_command): Got rid of EXPORT_FUNC.
25616 (grub_unregister_command): Likewise.
25617 (grub_context_get): New prototype.
25618 (grub_context_get_current_menu): Likewise.
25619 (grub_context_push_menu): Likewise.
25620 (grub_context_pop_menu): Likewise.
25621 [GRUB_UTIL] (grub_default_init): Likewise.
25622 [GRUB_UTIL] (grub_default_fini): Likewise.
25623 [GRUB_UTIL] (grub_timeout_init): Likewise.
25624 [GRUB_UTIL] (grub_timeout_fini): Likewise.
25625
25626 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
25627 commands/timeout.c and normal/context.c.
25628 (pkgdata_MODULES): Added default.mod and timeout.mod.
25629 (normal_mod_SOURCES): Added normal/context.c.
25630 (default_mod_SOURCES): New variable.
25631 (default_mod_CFLAGS): Likewise.
25632 (timeout_mod_SOURCES): Likewise.
25633 (timeout_mod_CFLAGS): Likewise.
25634 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
25635 conf/i386-pc.rmk.
25636 (pkgdata_MODULES): Added default.mod and timeout.mod.
25637 (normal_mod_SOURCES): Added normal/context.c.
25638 (default_mod_SOURCES): New variable.
25639 (default_mod_CFLAGS): Likewise.
25640 (timeout_mod_SOURCES): Likewise.
25641 (timeout_mod_CFLAGS): Likewise.
25642
25643 * Makefile.in (all-local): Added $(MKFILES).
25644
25645 2005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
25646
25647 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
25648 (grub_emu_SOURCES): Likewise.
25649 (pkgdata_MODULES): Add `sun.mod'.
25650 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
25651 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
25652 `partmap/sun.c'.
25653 (pkgdata_MODULES): Add `sun.mod'.
25654 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
25655 * include/grub/partition.h (grub_sun_partition_map_init): New
25656 prototype.
25657 (grub_sun_partition_map_fini): Likewise.
25658 * partmap/sun.c: New file.
25659 * util/grub-emu.c (main): Initialize and de-initialize the sun
25660 partitionmap support.
25661
25662 2005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
25663
25664 This implements an Emacs-like menu entry editor.
25665
25666 * normal/menu_entry.c: New file.
25667
25668 * util/console.c (grub_ncurses_putchar): Translate some Unicode
25669 characters to ASCII.
25670 (saved_char): New variable.
25671 (grub_ncurses_checkkey): Rewritten completely.
25672 (grub_ncurses_getkey): Likewise.
25673 (grub_ncurses_init): Call raw instead of cbreak.
25674
25675 * normal/menu.c (print_entry): Do not put a space.
25676 (init_page): Renamed to ...
25677 (grub_menu_init_page): ... this. All callers changed.
25678 (edit_menu_entry): Removed.
25679 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
25680
25681 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
25682
25683 * kern/misc.c (grub_vprintf): Call grub_refresh.
25684
25685 * normal/menu.c (DISP_LEFT): Renamed to ...
25686 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
25687 * normal/menu.c (DISP_UP): Renamed to ...
25688 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
25689 * normal/menu.c (DISP_RIGHT): Renamed to ...
25690 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
25691 * normal/menu.c (DISP_DOWN): Renamed to ...
25692 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
25693 * normal/menu.c (DISP_HLINE): Renamed to ...
25694 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
25695 * normal/menu.c (DISP_VLINE): Renamed to ...
25696 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
25697 * normal/menu.c (DISP_UL): Renamed to ...
25698 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
25699 * normal/menu.c (DISP_UR): Renamed to ...
25700 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
25701 * normal/menu.c (DISP_LL): Renamed to ...
25702 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
25703 * normal/menu.c (DISP_LR): Renamed to ...
25704 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
25705 * normal/menu.c (TERM_WIDTH): Renamed to ...
25706 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
25707 * normal/menu.c (TERM_HEIGHT): Renamed to ...
25708 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
25709 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
25710 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
25711 * normal/menu.c (TERM_MARGIN): Renamed to ...
25712 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
25713 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
25714 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
25715 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
25716 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
25717 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
25718 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
25719 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
25720 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
25721 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
25722 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
25723 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
25724 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
25725 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
25726 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
25727 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
25728 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
25729 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
25730 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
25731 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
25732 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
25733 All callers changed.
25734
25735 * include/grub/normal.h: New prototype.
25736
25737 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
25738 normal/menu_entry.c.
25739 (normal_mod_SOURCES): Likewise.
25740 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
25741 (normal_mod_SOURCES): Likewise.
25742
25743 2005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
25744
25745 * include/grub/normal.h (grub_halt_init): New prototype.
25746 (grub_halt_fini): Likewise.
25747 (grub_reboot_init): Likewise.
25748 (grub_reboot_fini): Likewise.
25749
25750 * util/grub-emu.c: Include signal.h.
25751 (main_env): New global variable.
25752 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
25753 catch C-c.
25754 (grub_machine_fini): New function.
25755 (main): Call grub_halt_init and grub_reboot_init before
25756 grub_main, and grub_reboot_fini and grub_halt_fini after it.
25757 Call setjmp with MAIN_ENV to go back afterwards.
25758 Call grub_machine_fini right before return.
25759
25760 * include/grub/util/misc.h: Include setjmp.h.
25761 (main_env): New prototype.
25762
25763 * include/grub/kernel.h (grub_machine_fini): New prototype.
25764 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
25765 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
25766
25767 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
25768 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
25769 * term/i386/pc/console.c (grub_console_fini): Likewise.
25770
25771 * util/i386/pc/misc.c: New file.
25772
25773 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
25774 util/i386/pc/misc.c, commands/i386/pc/halt.c and
25775 commands/i386/pc/reboot.c.
25776
25777 2005-02-14 Guillem Jover <guillem@hadrons.org>
25778
25779 * include/grub/dl.h (grub_dl_check_header): New prototype.
25780 (grub_arch_dl_check_header): Change return type to grub_err_t,
25781 remove size parameter and export function. Update all callers.
25782 * kern/dl.c (grub_dl_check_header): New function.
25783 (grub_dl_load_core): Use `grub_dl_check_header' instead of
25784 `grub_arch_dl_check_header'. Check ELF type. Check if sections
25785 are inside the core.
25786 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
25787 independent ELF header checks.
25788 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
25789 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
25790 `grub_dl_check_header' instead of explicit checks. Check for the
25791 ELF type.
25792 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
25793 `grub_dl_check_header' instead of explicit checks. Remove arch
25794 specific ELF header checks.
25795
25796 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
25797 argument SIZE.
25798
25799 2005-02-13 Hollis Blanchard <hollis@penguinppc.org>
25800
25801 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
25802 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
25803
25804 2005-02-12 Hollis Blanchard <hollis@penguinppc.org>
25805
25806 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
25807 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
25808 (part_map_iterate): Clear `grub_errno' and return 0 if
25809 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
25810 * partmap/amiga.c (amiga_partition_map_iterate): Return
25811 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
25812 * partmap/apple.c (apple_partition_map_iterate): Likewise.
25813
25814 2005-02-01 Guillem Jover <guillem@hadrons.org>
25815
25816 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
25817 help info.
25818
25819 2005-01-31 Marco Gerards <metgerards@student.han.nl>
25820
25821 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
25822 Removed prototype.
25823 (grub_rescue_cmd_linux): New prototype.
25824 (grub_rescue_cmd_initrd): Likewise.
25825 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
25826 `bi_rec'.
25827 (grub_linux_release_mem): Release the memory for the initrd.
25828 (grub_load_linux): Renamed from this...
25829 (grub_rescue_cmd_linux): ...To this. Changed all callers.
25830 Changed `entry' not to be static. Loop over memory regions to
25831 find another one when the default fails.
25832 (grub_rescue_cmd_initrd): New function.
25833 (grub_linux_init): Remove function.
25834 (grub_linux_fini): Likewise.
25835 (GRUB_MOD_INIT): Register `initrd'.
25836 (GRUB_MOD_FINI): Unregister `initrd'.
25837 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
25838 Function removed.
25839 (grub_linux_normal_fini): Likewise.
25840 (GRUB_MOD_INIT): Register `initrd'.
25841 (GRUB_MOD_FINI): Unregister `initrd'.
25842
25843 2005-01-31 Marco Gerards <metgerards@student.han.nl>
25844
25845 * commands/help.c: New file.
25846 * normal/arg.c (show_help): Renamed to...
25847 (grub_arg_show_help): ... this.
25848 * commands/i386/pc/halt.c: New file.
25849 * commands/i386/pc/reboot.c: Likewise.
25850 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
25851 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
25852 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
25853 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
25854 variables.
25855 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
25856 `commands/help.c'.
25857 (pkgdata_MODULES): Add `help.mod'.
25858 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
25859 * grub/i386/pc/init.h (grub_reboot): New prototype.
25860 (grub_halt): Likewise.
25861 * include/grub/normal.h (grub_arg_show_help): New prototype.
25862 (grub_help_init): Likewise.
25863 (grub_help_fini): Likewise.
25864 * util/grub-emu.c (main): Initialize and deinitialize the help
25865 command.
25866
25867 * normal/cmdline.c (grub_cmdline_get): Doc fix.
25868
25869 * normal/command.c (grub_command_init): Fixed the description of
25870 the `set' and `unset' commands.
25871
25872 2005-01-31 Marco Gerards <metgerards@student.han.nl>
25873
25874 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
25875 function.
25876 * commands/ieee1275/halt.c: New file.
25877 * commands/ieee1275/reboot.c: Likewise.
25878 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
25879 `__attribute__ ((unused))'. Some GCS related fixed.
25880 (grub_suspend_init) [GRUB_UTIL]: Function removed.
25881 (grub_suspend_fini): Likewise.
25882 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
25883 and `halt.mod'.
25884 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
25885 (halt_mod_CFLAGS): New variables.
25886 * include/grub/powerpc/ieee1275/ieee1275.h
25887 (grub_ieee1275_interpret): New prototype.
25888
25889 2005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
25890
25891 * include/grub/misc.h (memmove): New prototype.
25892 (memcpy): Likewise.
25893
25894 2005-01-22 Hollis Blanchard <hollis@penguinppc.org>
25895
25896 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
25897 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
25898
25899 2005-01-22 Marco Gerards <metgerards@student.han.nl>
25900
25901 * kern/misc.c (grub_strndup): Function rewritten.
25902
25903 2005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
25904
25905 * normal/menu.c (TERM_WIDTH): Macro redefined.
25906 (TERM_TOP_BORDER_Y): Likewise.
25907 (draw_border): Replaced while-loop by a for-loop. Make the number
25908 of lines consistent with the number of lines displayed in
25909 print_entries. Added a margin below the rectangle.
25910 (print_entry): Make the entry fit in the rectangle.
25911 (print_entries): Display the scroll arrows next to the right
25912 border.
25913
25914 2005-01-21 Marco Gerards <metgerards@student.han.nl>
25915
25916 * fs/minix.c (grub_minix_find_file): Reserve more space for
25917 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
25918 `grub_strncpy' to copy `path' into it.
25919
25920 2005-01-21 Marco Gerards <metgerards@student.han.nl>
25921
25922 Add the loopback device, a device via which files can be accessed
25923 as devices.
25924
25925 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
25926 (pkgdata_MODULES): Add loopback.mod.
25927 (loopback_mod_SOURCES): New variable.
25928 (loopback_mod_CFLAGS): Likewise.
25929 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
25930 `disk/loopback.c'.
25931 (pkgdata_MODULES): Add loopback.mod.
25932 (loopback_mod_SOURCES): New variable.
25933 (loopback_mod_CFLAGS): Likewise.
25934 * disk/loopback.c: new file.
25935 * include/grub/normal.h (grub_loop_init): New prototype.
25936 (grub_loop_fini): New prototype.
25937 * util/grub-emu.c (main): Initialize and de-initialize loopback
25938 support.
25939 * include/grub/disk.h (grub_disk_dev_id): Add
25940 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
25941
25942 2005-01-20 Hollis Blanchard <hollis@penguinppc.org>
25943
25944 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
25945 function.
25946 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
25947 (suspend_mod_SOURCES): New variable.
25948 (suspend_mod_CFLAGS): Likewise.
25949 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
25950 New prototype.
25951 * commands/ieee1275/suspend.c: New file.
25952
25953 2005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
25954
25955 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
25956 ((unused))' to `__attribute__ ((used))'.
25957 (GRUB_MOD_FINI): Likewise.
25958 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
25959 * genmk.rb (PModule): Assign space to common symbols when linking
25960 modules.
25961
25962 2005-01-20 Marco Gerards <metgerards@student.han.nl>
25963
25964 * include/grub/mm.h (grub_mm_init_region): Change the type of the
25965 `unsigned' arguments to `grub_size_t'.
25966 (grub_malloc): Likewise.
25967 (grub_realloc): Likewise.
25968 (grub_memalign): Likewise.
25969 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
25970 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
25971 * util/misc.c (grub_malloc): Likewise.
25972 (grub_realloc): Likewise.
25973 * kern/mm.c (get_header_from_pointer): Change the casts to
25974 `unsigned' into a cast to `grub_size_t'.
25975
25976 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
25977 point to `currnode' when `currnode' is changed.
25978
25979 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
25980 Schottelius <nico-linux@schottelius.org>.
25981
25982 2005-01-09 Hollis Blanchard <hollis@penguinppc.org>
25983
25984 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
25985 (note_path): Remove variable.
25986 (GRUB_IEEE1275_NOTE_NAME): New macro.
25987 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
25988 (grub_ieee1275_note_hdr): New structure.
25989 (grub_ieee1275_note_desc): Likewise.
25990 (grub_ieee1275_note): Likewise.
25991 (load_note): Remove `dir' argument. All callers updated. Remove
25992 `note_img' and `path'. Do not load a file from `note_path'.
25993 Initialize a struct grub_ieee1275_note and write that to `out'.
25994 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
25995
25996 2005-01-05 Marco Gerards <metgerards@student.han.nl>
25997
25998 * util/misc.c (grub_util_read_image): Revert last change. It
25999 called `grub_util_read_at', which seeks from the beginning of the
26000 file.
26001
26002 2005-01-04 Hollis Blanchard <hollis@penguinppc.org>
26003
26004 * TODO: Add note about endianness in grub-mkimage.
26005 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
26006 section.
26007 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
26008 (grub_mkimage_SOURCES): New target.
26009 * include/grub/kernel.h (grub_start_addr): Remove variable.
26010 (grub_end_addr): Likewise.
26011 (grub_total_module_size): Likewise.
26012 (grub_kernel_image_size): Likewise.
26013 (GRUB_MODULE_MAGIC): New constant.
26014 (grub_module_info): New structure.
26015 (grub_arch_modules_addr): New prototype.
26016 (grub_get_end_addr): Remove prototype.
26017 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
26018 * include/grub/powerpc/ieee1275/kernel.h: New file.
26019 * include/grub/util/misc.h (grub_util_get_fp_size): New
26020 prototype.
26021 (grub_util_read_at): Likewise.
26022 (grub_util_write_image_at): Likewise.
26023 * kern/main.c (grub_get_end_addr): Remove function.
26024 (grub_load_modules): Call grub_arch_modules_addr instead of using
26025 grub_end_addr. Look for a grub_module_info struct in memory. Use
26026 the grub_module_info fields instead of calling grub_get_end_addr
26027 as loop conditions. Move grub_add_unused_region code here.
26028 (grub_add_unused_region): Remove function.
26029 * kern/i386/pc/init.c: Include grub/cache.h.
26030 (grub_machine_init): Remove call to grub_get_end_addr. Remove
26031 one call to add_mem_region.
26032 (grub_arch_modules_addr): New function.
26033 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
26034 (grub_total_module_size): Likewise.
26035 Include grub/machine/kernel.h.
26036 (grub_arch_modules_addr): New function.
26037 * util/grub-emu.c (grub_end_addr): Remove variable.
26038 (grub_total_module_size): Likewise.
26039 (grub_arch_modules_addr): New function.
26040 * util/misc.c: Include unistd.h.
26041 (grub_util_get_fp_size): New function.
26042 (grub_util_read_at): Likewise.
26043 (grub_util_write_image_at): Likewise.
26044 (grub_util_read_image): Call grub_util_read_at.
26045 (grub_util_write_image): Call grub_util_write_image_at.
26046 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
26047 additional memory in kernel_img for a struct grub_module_info.
26048 Fill in that grub_module_info.
26049 * util/powerpc/ieee1275/grub-mkimage.c: New file.
26050
26051 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
26052
26053 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
26054 New function.
26055 * include/grub/powerpc/ieee1275/ieee1275.h
26056 (grub_ieee1275_milliseconds): New prototype.
26057 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
26058 Change to 1000.
26059 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
26060 grub_ieee1275_milliseconds.
26061
26062 2005-01-03 Hollis Blanchard <hollis@penguinppc.org>
26063
26064 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
26065 variable.
26066 (find_options): New function.
26067 (cmain): Call find_options.
26068 * include/grub/powerpc/ieee1275/ieee1275.h
26069 (grub_ieee1275_realmode): New extern variable.
26070 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
26071 grub_map if grub_ieee1275_realmode is false.
26072
26073 2004-12-29 Marco Gerards <metgerards@student.han.nl>
26074
26075 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
26076 lines are inserted and make it work like readline. Reported by
26077 Vincent Pelletier <subdino2004@yahoo.fr>.
26078
26079 2004-12-28 Marco Gerards <metgerards@student.han.nl>
26080
26081 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
26082
26083 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
26084 `kern/powerpc/cache.S'.
26085
26086 2004-12-27 Marco Gerards <metgerards@student.han.nl>
26087
26088 * genmk.rb: Handle the `Program' class in the main loop. Written
26089 by Johan Rydberg <jrydberg@gnu.org>.
26090 (Program): New class.
26091 (programs): New variable.
26092 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
26093 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
26094 instead of "grub/kernel.h". Include <grub/machine/init.h>.
26095 (help_arch): Function removed.
26096 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
26097 `powerpc/libgcc.h' and `loader.h'.
26098 (pkgdata_PROGRAMS): New variable.
26099 (sbin_UTILITIES): Variable removed.
26100 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
26101 (grubof_SOURCES): Variable re-defined so it only includes the
26102 core functionality.
26103 (grubof_CFLAGS): Remove `-DGRUBOF'.
26104 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
26105 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
26106 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
26107 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
26108 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
26109 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
26110 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
26111 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
26112 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
26113 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
26114 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
26115 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
26116 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
26117 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
26118 (pc_mod_CFLAGS): New variables.
26119 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
26120 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
26121 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
26122 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
26123 Moved from here...
26124 * include/grub/i386/pc/init.h (grub_os_area_addr)
26125 (rub_os_area_size): ... to here.
26126 * include/grub/powerpc/ieee1275/ieee1275.h
26127 (grub_ieee1275_entry_fn): Export symbol.
26128 * include/grub/powerpc/ieee1275/init.h: New file.
26129 * include/grub/powerpc/libgcc.h: Likewise.
26130 * include/grub/cache.h: Likewise.
26131 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
26132 <hollis@penguinppc.org>.
26133 * kern/dl.c: Include <grub/cache.h>.
26134 (grub_dl_flush_cache): New function.
26135 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
26136 for this module.
26137 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
26138 (grub_console_init): Removed prototypes.
26139 (grub_machine_init): Don't initialize the modules anymore.
26140 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
26141 static.
26142 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
26143 Macro undef removed.
26144 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
26145 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
26146 relocation `R_PPC_REL32'. Return an error when the relocation is
26147 unknown.
26148 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
26149 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
26150 * util/misc.c (grub_arch_sync_caches): Likewise.
26151
26152 2004-12-19 Marco Gerards <metgerards@student.han.nl>
26153
26154 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
26155 `symlist.c', add `grubof_symlist.c'.
26156 (symlist.c): Variable removed.
26157 (grubof_HEADERS): Variable added.
26158 (grubof_symlist.c): New target.
26159 (kernel_syms.lst): Use `grubof_HEADERS' instead of
26160 `kernel_img_HEADERS'.
26161 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
26162 * kern/powerpc/dl.c: New file.
26163 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
26164 Function removed.
26165 (grub_arch_dl_relocate_symbols): Likewise.
26166 (grub_register_exported_symbols): Likewise.
26167
26168 2004-12-13 Marco Gerards <metgerards@student.han.nl>
26169
26170 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
26171 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
26172 to fail instead. Reported by Vincent Pelletier
26173 <subdino2004@yahoo.fr>.
26174
26175 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
26176 it is not allocated. Reported by Vincent Pelletier
26177 <subdino2004@yahoo.fr>.
26178
26179 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
26180 output so the output looks better.
26181
26182 2004-12-04 Marco Gerards <metgerards@student.han.nl>
26183
26184 Modulize the partition map support and add support for the amiga
26185 partition map.
26186
26187 * commands/ls.c: Include <grub/partition.h> instead of
26188 <grub/machine/partition.h>.
26189 * kern/disk.c: Likewise.
26190 * kern/rescue.c: Likewise.
26191 * loader/i386/pc/chainloader.c: Likewise.
26192 * normal/cmdline.c: Likewise.
26193 * kern/powerpc/ieee1275/init.c: Likewise.
26194 (grub_machine_init): Call `grub_pc_partition_map_init',
26195 `grub_amiga_partition_map_init' and
26196 `grub_apple_partition_map_init'.
26197 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
26198 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
26199 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
26200 `partition.h' and `pc_partition.h'.
26201 (grub_setup_SOURCES): Remove
26202 `disk/i386/pc/partition.c'. Add `kern/partition.c',
26203 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
26204 (grub_emu_SOURCES): Likewise.
26205 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
26206 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
26207 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
26208 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
26209 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
26210 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
26211 (grubof_SOURCES): Likewise.
26212 * disk/i386/pc/partition.c: File removed.
26213 * disk/powerpc/ieee1275/partition.c: Likewise.
26214 * include/grub/powerpc/ieee1275/partition.h: Likewise.
26215 * include/grub/i386/pc/partition.h: Likewise.
26216 * kern/partition.c: New file.
26217 * partmap/amiga.c: Likewise.
26218 * partmap/apple.c: Likewise.
26219 * partmap/pc.c: Likewise.
26220 * include/grub/partition.h: Likewise..
26221 * include/grub/pc_partition.h: Likewise.
26222 * util/grub-emu.c: Include <grub/partition.h> instead of
26223 <grub/machine/partition.h>.
26224 (main): Call `grub_pc_partition_map_init',
26225 `grub_amiga_partition_map_init' and
26226 `grub_apple_partition_map_init' and deinitialize afterwards.
26227 * util/i386/pc/biosdisk.c: Include `#include
26228 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
26229 `<grub/machine/partition.h>'.
26230 * util/i386/pc/grub-setup.c: Likewise.
26231 * util/i386/pc/biosdisk.c: Likewise.
26232 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
26233 partition information in case of a PC partition.
26234 * util/i386/pc/grub-setup.c: Include `#include
26235 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
26236 `<grub/machine/partition.h>'.
26237 (setup): Only access the PC specific partition information in case
26238 of a PC partition.
26239
26240 2004-11-17 Hollis Blanchard <hollis@penguinppc.org>
26241
26242 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
26243 (grub_longjmp): Likewise.
26244 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
26245 20.
26246 * normal/powerpc/setjmp.S: New file.
26247 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
26248 `normal/powerpc/setjmp.S'.
26249 (grubof_CFLAGS): Add `-DGRUBOF'.
26250 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
26251 [GRUB_UTIL && !GRUBOF].
26252
26253 2004-11-16 Marco Gerards <metgerards@student.han.nl>
26254
26255 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
26256 property named `name'. Correctly handle the error returned by
26257 `grub_ieee1275_finddevice' if a device can not be opened.
26258
26259 2004-11-02 Hollis Blanchard <hollis@penguinppc.org>
26260
26261 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
26262 `actual' for negativity.
26263 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
26264 kern/fshelp.c.
26265
26266 2004-11-01 Marco Gerards <metgerards@student.han.nl>
26267
26268 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
26269 (PAGE_OFFSET): New macro.
26270 (CRTC_ADDR_PORT): Likewise.
26271 (CRTC_DATA_PORT): Likewise.
26272 (START_ADDR_HIGH_REGISTER): Likewise.
26273 (START_ADDR_LOW_REGISTER): Likewise.
26274 (GRAPHICS_ADDR_PORT): Likewise.
26275 (GRAPHICS_DATA_PORT): Likewise.
26276 (READ_MAP_REGISTER): Likewise.
26277 (INPUT_STATUS1_REGISTER): Likewise.
26278 (INPUT_STATUS1_VERTR_BIT): Likewise.
26279 (page): New variable.
26280 (wait_vretrace): New function.
26281 (set_read_map): Likewise.
26282 (set_start_address): Likewise.
26283 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
26284 the right page.
26285 (check_vga_mem): Take the page into account.
26286 (write_char): Likewise.
26287 (write_cursor): Likewise.
26288 (scroll_up): Likewise. Copy the page to the page that is not
26289 shown and switch between both pages.
26290 (grub_vga_putchar): Fix off by one error.
26291 (grub_vga_cls): Wait for the vertical retrace. Take the page into
26292 account.
26293
26294 2004-11-01 Marco Gerards <metgerards@student.han.nl>
26295
26296 Add support for iso9660 (including rockridge).
26297
26298 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
26299 (iso9660_mod_SOURCES): New variable.
26300 (iso9660_mod_CFLAGS): Likewise.
26301 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
26302 * include/grub/fs.h (grub_iso9660_init): New prototype.
26303 * util/grub-emu.c (main): Call `grub_iso9660_init'.
26304 * fs/iso9660.c: New file.
26305
26306 * include/grub/misc.h (grub_strncat): New prototype.
26307 * kern/misc.c (grub_strncat): New function.
26308
26309 * fs/hfs.c (grub_hfs_mount): Translate the error
26310 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
26311 * fs/jfs.c (grub_jfs_mount): Likewise.
26312 * fs/ufs.c (grub_ufs_mount): Likewise.
26313
26314 2004-10-28 Hollis Blanchard <hollis@penguinppc.org>
26315
26316 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
26317 which initialized BAT registers.
26318 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
26319 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
26320 Move from here...
26321 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
26322 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
26323 ... to here.
26324 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
26325 (grub_mapclaim): Likewise.
26326 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
26327 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
26328 hand.
26329
26330 2004-10-19 Hollis Blanchard <hollis@penguinppc.org>
26331
26332 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
26333 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
26334 -ffreestanding and -msoft-float.
26335
26336 2004-10-15 Hollis Blanchard <hollis@penguinppc.org>
26337
26338 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
26339 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
26340 set in grub_ieee1275_flags.
26341
26342 2004-10-14 Hollis Blanchard <hollis@penguinppc.org>
26343
26344 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
26345 prototype.
26346 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
26347 grub_console_init first.
26348 Change the memory range used for grub_ieee1275_claim and
26349 grub_mm_init_region.
26350 Print an error message if the claim fails.
26351 Include <grub/misc.h>.
26352
26353 2004-10-13 Hollis Blanchard <hollis@penguinppc.org>
26354
26355 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
26356 Call grub_children_iterate for device nodes of type `scsi',
26357 `ide', or `ata'.
26358 (grub_ofdisk_open): Remove manual device alias resolution.
26359 Fix memory leak when device cannot be opened.
26360 * include/grub/powerpc/ieee1275/ieee1275.h
26361 (grub_children_iterate): New prototype.
26362 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
26363 New function.
26364 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
26365 Return -1 if args.size was -1.
26366
26367 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
26368
26369 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
26370 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
26371 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
26372 Open Firmware's memory for it; claim memory from _start to _end.
26373 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
26374 (_end): New extern.
26375 (_start): Zero BSS from __bss_start to _end.
26376 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
26377 New extern.
26378 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
26379
26380 2004-10-11 Hollis Blanchard <hollis@penguinppc.org>
26381
26382 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
26383 -1 if args.base was -1.
26384
26385 2004-10-08 Hollis Blanchard <hollis@penguinppc.org>
26386
26387 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
26388 escape sequence instead of a literal ^L. Also call
26389 grub_ofconsole_gotoxy.
26390
26391 2004-10-03 Hollis Blanchard <hollis@penguinppc.org>
26392
26393 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
26394 void * arguments to grub_addr_t. All callers updated. Also make
26395 the `result' argument optional.
26396 (grub_ieee1275_release): change void * arguments to grub_addr_t.
26397 All callers updated.
26398
26399 2004-09-22 Hollis Blanchard <hollis@penguinppc.org>
26400
26401 * commands/ls.c (grub_ls_list_files): Use the string following the
26402 initial ')', if present, as the filesystem path.
26403 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
26404
26405 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
26406
26407 2004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
26408
26409 Make the source code of the menu interface more readable.
26410
26411 * normal/menu.c: Include grub/mm.h.
26412 (TERM_WIDTH): New macro.
26413 (TERM_HEIGHT): Likewise.
26414 (TERM_INFO_HEIGHT): Likewise.
26415 (TERM_MARGIN): Likewise.
26416 (TERM_SCROLL_WIDTH): Likewise.
26417 (TERM_TOP_BORDER_Y): Likewise.
26418 (TERM_LEFT_BORDER_X): Likewise.
26419 (TERM_BORDER_WIDTH): Likewise.
26420 (TERM_MESSAGE_HEIGHT): Likewise.
26421 (TERM_BORDER_HEIGHT): Likewise.
26422 (TERM_NUM_ENTRIES): Likewise.
26423 (TERM_FIRST_ENTRY_Y): Likewise.
26424 (TERM_ENTRY_WIDTH): Likewise.
26425 (TERM_CURSOR_X): Likewise.
26426 (draw_border): Use macros instead of magic numbers.
26427 (print_entry): Likewise.
26428 (print_entries): Likewise.
26429 (run_menu): Likewise. Also, handle the key 'e'.
26430 (run_menu_entry): Ignore empty command lines.
26431 (print_message): Added a new argument EDIT. If EDIT is true,
26432 print a different message.
26433 (init_page): Likewise.
26434 (edit_menu_entry): New function. Not implemented yet.
26435
26436 2004-09-17 Marco Gerards <metgerards@student.han.nl>
26437
26438 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
26439 can be loaded from normal mode.
26440
26441 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
26442 `multiboot.mod'.
26443 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
26444 (multiboot_mod_CFLAGS): New variables.
26445 * loader/i386/pc/linux_normal.c: New file.
26446 * loader/i386/pc/multiboot_normal.c: Likewise.
26447
26448 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
26449 attribute `unused'.
26450
26451 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
26452 `fdiro' to read the mode information from instead of `diro'.
26453
26454 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
26455 looking up a symlink.
26456
26457 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
26458 macro.
26459 * normal/command.c (grub_command_execute): Don't parse the
26460 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
26461 flags of the command.
26462
26463 * normal/menu.c (grub_menu_run): Fix typo.
26464
26465 2004-09-14 Hollis Blanchard <hollis@penguinppc.org>
26466
26467 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
26468
26469 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
26470 `y + 1' instead of `y - 1'.
26471
26472 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
26473
26474 2004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
26475
26476 From Hollis Blanchard <hollis@penguinppc.org>:
26477 * kern/misc.c (memmove): New alias for grub_memmove.
26478 (memcmp): New alias for grub_memcmp.
26479 (memset): New alias for grub_memset.
26480 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
26481 Change "int handle" to "grub_ieee1275_phandle_t handle".
26482 * include/grub/powerpc/ieee1275/ieee1275.h
26483 (grub_ieee1275_get_property): Likewise.
26484
26485 2004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
26486
26487 Added normal mode command `chainloader' as module chain.mod, which
26488 depends on normal.mod and _chain.mod.
26489
26490 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
26491 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
26492 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
26493 Deleted prototype.
26494 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
26495 but arguments parsing moved to ...
26496 (grub_chainloader_cmd): ... here. New function.
26497 * include/grub/i386/pc/chainloader.h: New file.
26498 * loader/i386/pc/chainloader_normal.c: Likewise.
26499
26500 2004-09-11 Marco Gerards <metgerards@student.han.nl>
26501
26502 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
26503 (grub_mkimage_LDFLAGS): Likewise.
26504 (grub_emu_SOURCES): Likewise.
26505 (kernel_img_HEADERS): Added fshelp.h.
26506 * fs/ext2.c: Include <grub/fshelp.h>.
26507 (FILETYPE_REG): New macro.
26508 (FILETYPE_INO_REG): Likewise.
26509 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
26510 Changed all users.
26511 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
26512 all users.
26513 (grub_fshelp_node): New struct.
26514 (grub_ext2_data): Added member `diropen'. Changed member `inode'
26515 to a pointer.
26516 (grub_ext2_get_file_block): Removed function.
26517 (grub_ext2_read_block): New function.
26518 (grub_ext2_read_file): Replaced parameter `data' by `node'.
26519 This function was written.
26520 (grub_ext2_mount): Read the root inode. Create a diropen struct.
26521 (grub_ext2_find_file): Removed function.
26522 (grub_ext2_read_symlink): New function.
26523 (grub_ext2_iterate_dir): Likewise.
26524 (grub_ext2_open): Rewritten.
26525 (grub_ext2_dir): Rewritten.
26526 * include/grub/fshelp.h: New file.
26527 * fs/fshelp.c: Likewise.
26528
26529 2004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
26530
26531 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
26532 (print_message): Add a missing newline.
26533 (run_menu): Added timeout support.
26534 (run_menu_entry): New local function.
26535 (grub_menu_run): Added support for booting.
26536
26537 * kern/loader.c (grub_loader_is_loaded): New function.
26538
26539 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
26540 (grub_get_rtc): Exported.
26541
26542 * include/grub/i386/pc/time.h: Include grub/symbol.h.
26543 (grub_get_rtc): Exported.
26544
26545 * include/grub/normal.h (struct grub_command_list): Remove
26546 constant from the member `command'.
26547
26548 * include/grub/loader.h (grub_loader_is_loaded): Declared.
26549
26550 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
26551
26552 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
26553
26554 2004-08-28 Marco Gerards <metgerards@student.han.nl>
26555
26556 Add support for the JFS filesystem.
26557
26558 * fs/jfs.c: New file.
26559 * include/grub/fs.h (grub_jfs_init): New prototype.
26560 (grub_jfs_fini): New prototype.
26561 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
26562 (grub_emu_SOURCES): Likewise.
26563 (pkgdata_MODULES): Add jfs.mod.
26564 (jfs_mod_SOURCES): New variable.
26565 (jfs_mod_CFLAGS): Likewise.
26566 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
26567 (grubof_SOURCES): Likewise.
26568 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
26569
26570 * fs/fat.c (grub_fat_find_dir): Convert the filename little
26571 endian to the host endian.
26572 (grub_fat_utf16_to_utf8): Move function from there...
26573 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
26574 the endianness of the source string anymore.
26575 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
26576
26577 2004-08-24 Marco Gerards <metgerards@student.han.nl>
26578
26579 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
26580 (grub_boot_fini) [GRUB_UTIL]: Likewise.
26581 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
26582 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
26583
26584 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
26585 (grub_hfs_iterate_dir): Make the function static. Add prototypes
26586 for `node_found' and `it_dir'.
26587 (grub_hfs_dir): Add prototype for `dir_hook'.
26588
26589 * fs/minix.c (grub_minix_get_file_block): Add prototype for
26590 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
26591 and `indir32' to silence a gcc warning.
26592
26593 * include/grub/fs.h (grub_hfs_init): New prototype.
26594 (grub_hfs_fini): Likewise.
26595
26596
26597 2004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
26598
26599 Each disk device has its own id now. This is useful to make use
26600 of multiple disk devices.
26601
26602 * include/grub/disk.h (grub_disk_dev_id): New enum.
26603 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
26604 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
26605
26606 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
26607 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
26608
26609 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
26610 GRUB_DISK_DEVICE_OFDISK_ID as an id.
26611
26612 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
26613 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
26614
26615 * include/grub/disk.h (struct grub_disk_dev): Added a new member
26616 "id" which is used by the cache manager.
26617
26618 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
26619 of just "GRUB".
26620
26621 2004-08-18 Marco Gerards <metgerards@student.han.nl>
26622
26623 * fs/hfs.c: New file.
26624 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
26625 (grub_emu_SOURCES): Likewise.
26626 (pkgdata_MODULES): Add hfs.mod.
26627 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
26628 (grubof_SOURCES): Likewise.
26629 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
26630
26631 * include/grub/misc.h (grub_strncasecmp): Add prototype.
26632 * kern/misc.c (grub_strncasecmp): Add function.
26633
26634 2004-08-14 Marco Gerards <metgerards@student.han.nl>
26635
26636 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
26637 with parentheses.
26638
26639 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
26640 (grub_ext2_dir): In case the directory entry type is unknown, read
26641 it from the inode.
26642
26643 2004-08-02 Peter Bruin <pjbruin@dds.nl>
26644
26645 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
26646 grub_load_linux instead of grub_rescue_cmd_linux as second
26647 argument of grub_rescue_register_command.
26648
26649 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
26650
26651 2004-07-27 Marco Gerards <metgerards@student.han.nl>
26652
26653 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
26654 function.
26655 * commands/boot.c: Remove the check for `GRUB_UTIL'.
26656 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
26657 `loader/powerpc/ieee1275/linux.c',
26658 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
26659 * include/grub/powerpc/ieee1275/ieee1275.h
26660 (grub_ieee1275_release): New prototype.
26661 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
26662 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
26663 normal, boot, linux and linux_normal.
26664 * loader/powerpc/ieee1275/linux.c: New file.
26665 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
26666
26667 2004-07-12 Marco Gerards <metgerards@student.han.nl>
26668
26669 * normal/arg.c (grub_arg_parse): Correct error handling after
26670 reallocating the argumentlist (check if `argl' is not null instead
26671 of checking if `args' is not null).
26672 * kern/mm.c (grub_realloc): Return the same pointer when using the
26673 same region, instead of returning the header address.
26674
26675 2004-07-11 Marco Gerards <metgerards@student.han.nl>
26676
26677 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
26678 one block instead of two when looking for the initial partition.
26679 (grub_partition_probe): Initialize the local variable `p' with 0.
26680 Use base 10 for the grub_strtoul call.
26681 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
26682 need for one local variable.
26683 (grub_strtoul): Don't add the new value to `num', instead of that
26684 just assign it.
26685
26686 2004-07-11 Marco Gerards <metgerards@student.han.nl>
26687
26688 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
26689 (pxeboot_img_SOURCES): New variable.
26690 (pxeboot_img_ASFLAGS): Likewise.
26691 (pxeboot_img_LDFLAGS): Likewise.
26692 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
26693 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
26694 <lode_leroy@hotmail.com>.
26695
26696 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
26697
26698 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
26699 there was no input.
26700
26701 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
26702
26703 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
26704 the history buffer logic.
26705
26706 2004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
26707
26708 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
26709 (FILETYPE_INO_SYMLINK): New macros.
26710 (grub_ext2_find_file): Check if the node is a directory using the
26711 inode stat information instead of using the filetype in the
26712 dirent. Exclude the first character of an absolute symlink.
26713 (grub_ext2_dir): Mask out the filetype part of the mode member of
26714 the inode.
26715
26716 2004-05-24 Marco Gerards <metgerards@student.han.nl>
26717
26718 Add support for UFS version 1 and 2. Add support for the minix
26719 filesystem version 1 and 2, both the variants with 14 and 30 long
26720 filenames.
26721
26722 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
26723 fs/minix.c.
26724 (grub_emu_SOURCES): Likewise.
26725 (pkgdata_MODULES): Add ufs.mod and minix.mod.
26726 (ufs_mod_SOURCES): New variable.
26727 (ufs_mod_CFLAGS): Likewise.
26728 (minix_mod_SOURCES): Likewise.
26729 (minix_mod_CFLAGS): Likewise.
26730 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
26731 fs/minix.c.
26732 (grubof_SOURCES): Likewise.
26733 * fs/ufs.c: New file.
26734 * fs/minix.c: New file.
26735 * include/grub/fs.h (grub_ufs_init): New prototype.
26736 (grub_ufs_fini): Likewise.
26737 (grub_minix_init): Likewise.
26738 (grub_minix_fini): Likewise.
26739 * util/grub-emu.c (main): Initialize and deinitialize UFS and
26740 minix fs.
26741
26742 2004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
26743
26744 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
26745 commands/ls.c, commands/terminal.c, commands/boot.c,
26746 commands/cmp.c and commands/cat.c.
26747 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
26748
26749 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
26750 "env.h"
26751
26752 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
26753
26754 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
26755 and grub_, respectively. Because the conversion is trivial and
26756 mechanical, I omit the details here. Please refer to the CVS
26757 if you need more information.
26758
26759 2004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
26760
26761 * include/pupa: Renamed to ...
26762 * include/grub: ... this.
26763 * util/i386/pc/pupa-mkimage.c: Renamed to ...
26764 * util/i386/pc/grub-mkimage.c: ... this.
26765 * util/i386/pc/pupa-setup.c: Renamed to ...
26766 * util/i386/pc/grub-setup.c: ... this.
26767 * util/pupa-emu.c: Renamed to ...
26768 * util/grub-emu.c: ... this.
26769
26770 2004-03-29 Marco Gerards <metgerards@student.han.nl>
26771
26772 Add support for the newworld apple macintosh (PPC). This has been
26773 tested on the powerbook 2000 only. It only adds support for
26774 generic ieee1275 functions, console and disk support. This should
26775 be easy to port to other architectures with support for Open
26776 Firmware.
26777
26778 * configure.ac: Accept the powerpc as host_cpu. In the case of
26779 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
26780 specific tests are only executed while building for the i386.
26781 Inverse test for crosscompile.
26782 * genmk.rb (Utility): Allow assembler files.
26783 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
26784 * conf/powerpc-ieee1275.rmk: New file.
26785 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
26786 * disk/powerpc/ieee1275/partition.c: Likewise.
26787 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
26788 * include/pupa/powerpc/ieee1275/console.h: Likewise.
26789 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
26790 * include/pupa/powerpc/ieee1275/time.h: Likewise.
26791 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
26792 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
26793 * include/pupa/powerpc/ieee1275/loader.h
26794 * include/pupa/powerpc/setjmp.h: Likewise.
26795 * include/pupa/powerpc/types.h: Likewise.
26796 * kern/powerpc/ieee1275/init.c: Likewise.
26797 * kern/powerpc/ieee1275/openfw.c: Likewise.
26798 * term/powerpc/ieee1275/ofconsole.c: Likewise.
26799
26800 These files were written by Johan Rydberg
26801 (jrydberg@night.trouble.net) and I only modified them slightly.
26802
26803 * boot/powerpc/ieee1275/cmain.c: New file.
26804 * boot/powerpc/ieee1275/crt0.S: Likewise.
26805 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
26806 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
26807
26808 2004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
26809
26810 * Makefile.in: Update copyright.
26811 * genmodsrc.sh: Likewise.
26812 * gensymlist.sh: Likewise.
26813 * term/i386/pc/vga.c: Indent correctly.
26814
26815 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
26816 bugreporting address.
26817 * util/i386/pc/pupa-setup.c (usage): Likewise,
26818 (main): Call pupa_ext2_init and pupa_ext2_fini.
26819
26820 * fs/fat.c (log2): Renamed to ...
26821 (fat_log2): ... this.
26822 All callers changed.
26823 * kern/misc.c (memcpy): Alias to pupa_memmove.
26824 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
26825 lvalue cast.
26826 * util/console.c (pupa_ncurses_fini): Return 0.
26827
26828 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
26829 Move fail label here.
26830 [__GNU__]: Don't warn when using stat.
26831 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
26832 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
26833 long int. Use strtol instead of strtoul.
26834
26835 2004-03-14 Marco Gerards <metgerards@student.han.nl>
26836
26837 * commands/boot.c: New file.
26838 * commands/cat.c: Likewise.
26839 * commands/cmp.c: Likewise.
26840 * commands/ls.c: Likewise.
26841 * commands/terminal.c: Likewise.
26842 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
26843 (pupa_register_command): Changed interface to match the new
26844 argument parser.
26845 (pupa_command_execute): Changed (almost rewritten) so it uses
26846 pupa_split_command. Added support for setting variables using the
26847 syntax `foo=bar'.
26848 (rescue_command): Changed to work with the new argument parser.
26849 (terminal_command): Moved from here to commands/terminal.c.
26850 (set_command): New function.
26851 (unset_command): New function.
26852 (insmod_command): New function.
26853 (rmmod_command): New function.
26854 (lsmod_command): New function.
26855 (pupa_command_init): Don't initialize the command terminal
26856 anymore. Initialize the commands set, unset, insmod, rmmod and
26857 lsmod.
26858 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
26859 (kernel_img_HEADERS): Add arg.h and env.h.
26860 (pupa_mkimage_LDFLAGS): Add kern/env.c.
26861 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
26862 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
26863 normal/arg.c.
26864 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
26865 terminal.mod.
26866 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
26867 (boot_mod_SOURCES): New variable.
26868 (terminal_mod_SOURCES): Likewise.
26869 (ls_mod_SOURCES): Likewise.
26870 (cmp_mod_SOURCES): Likewise.
26871 (cat_mod_SOURCES): Likewise.
26872
26873 * normal/arg.c: New file.
26874 * kern/env.c: Likewise.
26875 * include/pupa/arg.h: Likewise.
26876 * include/pupa/env.h: Likewise.
26877 * font/manager.c (font_command): Changed to match argument parsing
26878 interface changes.
26879 (PUPA_MOD_INIT): Likewise.
26880 * hello/hello.c (pupa_cmd_hello): Likewise.
26881 (PUPA_MOD_INIT): Likewise.
26882 * include/pupa/disk.h: Include <pupa/device.h>.
26883 (pupa_print_partinfo): New prototype.
26884 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
26885 (pupa_dl_get_prefix): Likewise.
26886 * include/pupa/misc.h: Include <pupa/err.h>.
26887 (pupa_isgraph): New prototype.
26888 (pupa_isdigit): Likewise.
26889 (pupa_split_cmdline): Likewise.
26890 * include/pupa/normal.h: Include <pupa/arg.h>.
26891 (pupa_command): Changed the prototype of the member `func' to
26892 match the argument parsing interface. Added member `options'.
26893 (pupa_register_command): Updated to match function.
26894 (pupa_arg_parse): New prototype.
26895 (pupa_hello_init) [PUPA_UTIL]: New prototype.
26896 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
26897 (pupa_ls_init) [PUPA_UTIL]: Likewise.
26898 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
26899 (pupa_cat_init) [PUPA_UTIL]: Likewise.
26900 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
26901 (pupa_boot_init) [PUPA_UTIL]: Likewise.
26902 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
26903 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
26904 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
26905 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
26906 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
26907 * kern/disk.c: Include <pupa/file.h>.
26908 (pupa_print_partinfo): New function.
26909 * kern/dl.c: Include <pupa/env.h>.
26910 (pupa_dl_dir): Variable removed.
26911 (pupa_dl_load): Use the environment variable `prefix' instead of
26912 the variable pupa_dl_dir.
26913 (pupa_dl_set_prefix): Function removed.
26914 (pupa_dl_get_prefix): Likewise.
26915 * kern/i386/pc/init.c: Include <pupa/env.h>.
26916 (pupa_machine_init): Use the environment variable `prefix' instead of
26917 using pupa_dl_set_prefix to set the prefix.
26918 * kern/main.c: Include <pupa/env.h>.
26919 (pupa_set_root_dev): Use the environment variable `prefix' instead of
26920 using pupa_dl_get_prefix to get the prefix.
26921 * kern/misc.c: Include <pupa/env.h>.
26922 (pupa_isdigit): New function.
26923 (pupa_isgraph): Likewise.
26924 (pupa_ftoa): Likewise.
26925 (pupa_vsprintf): Added support for printing values of the type
26926 `double'. Make it possible to format variable output when using
26927 formatting like `%1.2%f'.
26928 (pupa_split_cmdline): New function.
26929 * kern/rescue.c: Include <pupa/env.h>.
26930 (next_word): Removed function.
26931 (pupa_rescue_cmd_prefix): Likewise.
26932 (pupa_rescue_cmd_set): New function.
26933 (pupa_rescue_cmd_unset): New function.
26934 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
26935 split the command line instead of splitting it here. Added
26936 support for setting variables using the syntax `foo=bar'. Don't
26937 initialize the prefix command anymore. Initialized the set and
26938 unset commands.
26939 * normal/cmdline.c: Include <pupa/env.h>.
26940 (pupa_tab_complete): Added prototypes for print_simple_completion,
26941 print_partition_completion, add_completion, iterate_commands,
26942 iterate_dev, iterate_part and iterate_dir. Moved code to print
26943 partition information from here to kern/disk.c.
26944 (pupa_cmdline_run): Don't check if the function exists anymore.
26945 * normal/main.c: Include <pupa/env.h>.
26946 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
26947 instead of using pupa_dl_get_prefix to get the prefix.
26948 * term/i386/pc/vga.c: Include <pupa/arg.h>.
26949 (check_vga_mem): Cast pointers to `void *' to silence a gcc
26950 warning.
26951 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
26952 (pupa_vga_setcolor): Declare unused variables with `__attribute__
26953 ((unused))' to silence a gcc warning.
26954 (pupa_vga_setcolor): Likewise.
26955 (debug_command): Changed to match argument parsing
26956 interface changes.
26957 * util/pupa-emu.c: Include <pupa/env.h>.
26958 (options): Added 0's for unused fields to silence a gcc warning.
26959 (argp): Likewise.
26960 (main): Use the environment variable `prefix' instead of using
26961 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
26962 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
26963 and terminal.
26964
26965 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
26966 * util/misc.c: Include <malloc.h>.
26967 (pupa_malloc): Rewritten so errors are correctly reported.
26968 (pupa_realloc): Likewise.
26969 (pupa_memalign): Likewise.
26970 (pupa_mm_init_region): Declare unused variables with
26971 `__attribute__ ((unused))' to silence a gcc warning.
26972 * normal/i386/setjmp.S: Remove tab at the end of the file to
26973 silence a gcc warning.
26974 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
26975 variables with `__attribute__ ((unused))' to silence a gcc
26976 warning.
26977 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
26978 local variable i unsigned to silence a gcc warning.
26979
26980 * kern/term.c: Include <pupa/misc.h>.
26981 (pupa_more_lines): New variable.
26982 (pupa_more): Likewise.
26983 (pupa_putcode): When the pager is active pause at the end of every
26984 screen.
26985 (pupa_set_more): New function.
26986 * include/pupa/term.h (pupa_set_more): New prototype.
26987
26988
26989 2004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
26990
26991 Now this project is GRUB 2 rather than PUPA. The location of
26992 the CVS repository was moved to GRUB's.
26993
26994 * configure.ac: Use bug-grub as the reporting address.
26995 Use GRUB instead of PUPA.
26996 Change the version number to 1.90.
26997
26998 2004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
26999
27000 * genkernsyms.sh: Updated copyright information.
27001 * genmk.rb: Likewise.
27002 * genmodsrc.sh: Likewise.
27003 * gensymlist.sh: Likewise.
27004 * boot/i386/pc/boot.S: Likewise.
27005 * boot/i386/pc/diskboot.S: Likewise.
27006 * disk/i386/pc/biosdisk.c: Likewise.
27007 * disk/i386/pc/partition.c: Likewise.
27008 * font/manager.c: Likewise.
27009 * fs/ext2.c: Likewise.
27010 * fs/fat.c: Likewise.
27011 * include/pupa/boot.h: Likewise.
27012 * include/pupa/device.h: Likewise.
27013 * include/pupa/disk.h: Likewise.
27014 * include/pupa/dl.h: Likewise.
27015 * include/pupa/elf.h: Likewise.
27016 * include/pupa/err.h: Likewise.
27017 * include/pupa/file.h: Likewise.
27018 * include/pupa/font.h: Likewise.
27019 * include/pupa/fs.h: Likewise.
27020 * include/pupa/kernel.h: Likewise.
27021 * include/pupa/loader.h: Likewise.
27022 * include/pupa/misc.h: Likewise.
27023 * include/pupa/mm.h: Likewise.
27024 * include/pupa/net.h: Likewise.
27025 * include/pupa/normal.h: Likewise.
27026 * include/pupa/rescue.h: Likewise.
27027 * include/pupa/setjmp.h: Likewise.
27028 * include/pupa/symbol.h: Likewise.
27029 * include/pupa/term.h: Likewise.
27030 * include/pupa/types.h: Likewise.
27031 * include/pupa/i386/setjmp.h: Likewise.
27032 * include/pupa/i386/types.h: Likewise.
27033 * include/pupa/i386/pc/biosdisk.h: Likewise.
27034 * include/pupa/i386/pc/boot.h: Likewise.
27035 * include/pupa/i386/pc/console.h: Likewise.
27036 * include/pupa/i386/pc/init.h: Likewise.
27037 * include/pupa/i386/pc/kernel.h: Likewise.
27038 * include/pupa/i386/pc/linux.h: Likewise.
27039 * include/pupa/i386/pc/loader.h: Likewise.
27040 * include/pupa/i386/pc/memory.h: Likewise.
27041 * include/pupa/i386/pc/multiboot.h: Likewise.
27042 * include/pupa/i386/pc/partition.h: Likewise.
27043 * include/pupa/i386/pc/time.h: Likewise.
27044 * include/pupa/i386/pc/vga.h: Likewise.
27045 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
27046 * include/pupa/util/getroot.h: Likewise.
27047 * include/pupa/util/misc.h: Likewise.
27048 * include/pupa/util/resolve.h: Likewise.
27049 * kern/device.c: Likewise.
27050 * kern/disk.c: Likewise.
27051 * kern/dl.c: Likewise.
27052 * kern/err.c: Likewise.
27053 * kern/file.c: Likewise.
27054 * kern/fs.c: Likewise.
27055 * kern/loader.c: Likewise.
27056 * kern/main.c: Likewise.
27057 * kern/misc.c: Likewise.
27058 * kern/mm.c: Likewise.
27059 * kern/rescue.c: Likewise.
27060 * kern/term.c: Likewise.
27061 * kern/i386/dl.c: Likewise.
27062 * kern/i386/pc/init.c: Likewise.
27063 * kern/i386/pc/lzo1x.S: Likewise.
27064 * kern/i386/pc/startup.S: Likewise.
27065 * loader/i386/pc/chainloader.c: Likewise.
27066 * loader/i386/pc/linux.c: Likewise.
27067 * loader/i386/pc/multiboot.c: Likewise.
27068 * normal/cmdline.c: Likewise.
27069 * normal/command.c: Likewise.
27070 * normal/main.c: Likewise.
27071 * normal/menu.c: Likewise.
27072 * normal/i386/setjmp.S: Likewise.
27073 * term/i386/pc/console.c: Likewise.
27074 * term/i386/pc/vga.c: Likewise.
27075 * util/console.c: Likewise.
27076 * util/genmoddep.c: Likewise.
27077 * util/misc.c: Likewise.
27078 * util/pupa-emu.c: Likewise.
27079 * util/resolve.c: Likewise.
27080 * util/unifont2pff.rb: Likewise.
27081 * util/i386/pc/biosdisk.c: Likewise.
27082 * util/i386/pc/getroot.c: Likewise.
27083 * util/i386/pc/pupa-mkimage.c: Likewise.
27084 * util/i386/pc/pupa-setup.c: Likewise.
27085
27086 2004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
27087
27088 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
27089 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
27090 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
27091 reading and reset it after reading.
27092 (pupa_ext2_close): Return PUPA_ERR_NONE.
27093
27094 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
27095 Correct value.
27096 (struct linux_kernel_header): Add kernel_version and
27097 initrd_addr_max.
27098 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
27099 pupa_file_read succeeds.
27100 (pupa_rescue_cmd_initrd): Implement.
27101
27102 2003-12-03 Marco Gerards <metgerards@student.han.nl>
27103
27104 * fs/ext2.c (pupa_ext2_label): New function.
27105 (pupa_ext2_fs): Added label.
27106 * fs/fat.c (pupa_fat_label): New function.
27107 (pupa_fat_fs): Added label.
27108 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
27109
27110 * kern/misc.c (pupa_strndup): New function.
27111 * include/pupa/misc.h (pupa_strndup): New prototype.
27112
27113 * include/pupa/normal.h: Include <pupa/err.h>.
27114 (pupa_set_history): New prototype.
27115 (pupa_iterate_commands): New prototype.
27116 * normal/cmdline.c: Include <pupa/machine/partition.h>,
27117 <pupa/disk.h>, <pupa/file.h>.
27118 (hist_size): New variable.
27119 (hist_lines): Likewise.
27120 (hist_end): Likewise.
27121 (hist_used): Likewise.
27122 (pupa_set_history): New function.
27123 (pupa_history_get): Likewise.
27124 (pupa_history_add): Likewise.
27125 (pupa_history_replace): Likewise.
27126 (pupa_tab_complete): Likewise.
27127 (pupa_cmdline_run): Added tab completion and history buffer. Tab
27128 completion shows partitionnames while completing partitions, this
27129 feature was suggested by Jeff Bailey.
27130 * normal/command.c (pupa_iterate_commands): New function.
27131 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
27132 (pupa_normal_init): Initialize history buffer.
27133 (PUPA_MOD_INIT): Likewise.
27134 (pupa_normal_fini): Free the history buffer.
27135 (PUPA_MOD_FINI): Likewise.
27136
27137 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
27138 key.
27139
27140 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
27141 * configure.ac [i386]: Check for regparam bug.
27142 (NESTED_FUNC_ATTR) [! i386]: Defined.
27143
27144 2003-11-17 Marco Gerards <metgerards@student.han.nl>
27145
27146 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
27147 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
27148 (pupa_emu_SOURCES): New variable.
27149 (pupa_emu_LDFLAGS): Likewise.
27150 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
27151 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
27152 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
27153 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
27154 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
27155 (pupa_jmp_buf): New typedef.
27156 (pupa_setjmp) [PUPA_UTIL]: New macro.
27157 (pupa_longjmp) [PUPA_UTIL]: Likewise.
27158 * include/pupa/term.h (struct pupa_term): New member `refresh'.
27159 (pupa_refresh): New prototype.
27160 * include/pupa/util/getroot.h: New file.
27161 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
27162 it.
27163 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
27164 (pupa_rescue_cmd_cat): Likewise.
27165 (pupa_rescue_cmd_ls): Likewise.
27166 (pupa_rescue_cmd_testload): Likewise.
27167 (pupa_rescue_cmd_lsmod): Likewise.
27168 * normal/cmdline.c (pupa_cmdline_get): Likewise.
27169 * normal/menu.c (run_menu): Likewise.
27170 * kern/term.c (pupa_cls): Likewise.
27171 (pupa_refresh): New function.
27172 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
27173 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
27174 * util/console.c: New file.
27175
27176 * util/i386/pc/getroot.c: New file.
27177 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
27178 (pupa_putchar): New function.
27179 (pupa_refresh): Likewise.
27180 (xgetcwd): Function moved to ...
27181 (strip_extra_slashes): Likewise.
27182 (get_prefix): Likewise.
27183 * util/i386/pc/getroot.c: ... here.
27184 (find_root_device): Function moved and renamed to...
27185 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
27186 Changed all callers.
27187 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
27188 and renamed to...
27189 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
27190 Changed all callers.
27191 * util/misc.c (pupa_memalign): New function.
27192 (pupa_mm_init_region): Likewise.
27193 (pupa_register_exported_symbols): Likewise.
27194 (pupa_putchar): Function removed.
27195 * util/pupa-emu.c: New file.
27196
27197 2003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
27198
27199 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
27200 (_multiboot_mod_SOURCES): New variable.
27201 (_multiboot_mod_CFLAGS): Likewise.
27202 * loader/i386/pc/multiboot.c: New file.
27203 * include/pupa/i386/pc/multiboot.h: Likewise.
27204 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
27205 (pupa_multiboot_real_boot): New function.
27206 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
27207 (pupa_multiboot_real_boot): New prototype.
27208 (pupa_rescue_cmd_multiboot): Likewise
27209 (pupa_rescue_cmd_module): Likewise.
27210
27211 * kern/loader.c (pupa_loader_set): Continue when
27212 pupa_loader_unload_func() fails.
27213 (pupa_loader_unset): New function.
27214 * include/pupa/loader.h (pupa_loader_unset): New prototype.
27215
27216 * kern/misc.c (pupa_stpcpy): New function.
27217 * include/pupa/misc.h (pupa_stpcpy): New prototype.
27218
27219 2003-11-12 Marco Gerards <metgerards@student.han.nl>
27220
27221 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
27222 for available extensions.
27223
27224 * include/pupa/i386/pc/time.h: New file.
27225 * kern/disk.c: Include <pupa/machine/time.h>.
27226 (PUPA_CACHE_TIMEOUT): New macro.
27227 (pupa_last_time): New variable.
27228 (pupa_disk_open): Flush the cache when there was a timeout.
27229 (pupa_disk_close): Reset the timer.
27230 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
27231 pupa_currticks.
27232 * util/misc.c: Include <sys/times.h>
27233 (pupa_get_rtc): New function.
27234
27235 2003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
27236
27237 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
27238 as blocks.
27239 (pupa_ext2_get_file_block): Use blocks member.
27240
27241 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
27242 first block. Return -1 instead of pupa_errno on error.
27243
27244 2003-10-27 Marco Gerards <metgerards@student.han.nl>
27245
27246 * README: In the pupa-mkimage example use _chain instead of chain
27247 and ext2 instead of fat.
27248 * TODO: Replace ext2fs with jfs as an example. Add an item for
27249 adding journal playback for ext2fs.
27250 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
27251 (pkgdata_MODULES): Added ext2.mod.
27252 (ext2_mod_SOURCES): New variable.
27253 (ext2_mod_CFLAGS): Likewise.
27254 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
27255 * include/pupa/misc.h (pupa_strncpy): New prototype.
27256 (pupa_strcat): Likewise.
27257 (pupa_strncmp): Likewise.
27258 * kern/misc.c (pupa_strcat): Enable function.
27259 (pupa_strncpy): New function.
27260 (pupa_strncmp): Likewise.
27261 * fs/ext2.c: New file.
27262
27263 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
27264 when the read failed before retrying.
27265 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
27266 (_FILE_OFFSET_BITS): Likewise.
27267 * configure.ac: Added AC_SYS_LARGEFILE.
27268
27269 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
27270
27271 * genmk.rb (PModule#rule): Make sure to get only symbol names
27272 from the output of nm.
27273 Reported by Robert Millan <rmh.grub@aybabtu.com>.
27274
27275 2003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
27276
27277 I forgot to check in these changes for a long time. This adds
27278 incomplete support for VGA console, and this is still very
27279 buggy. Also, a lot of consideration is required for I18N,
27280 UNICODE, and VGA font issues. Therefore, assume that this is
27281 such that "better than nothing".
27282
27283 * font/manager.c: New file.
27284 * include/pupa/font.h: Likewise.
27285 * include/pupa/i386/pc/vga.h: Likewise.
27286 * term/i386/pc/vga.c: Likewise.
27287 * util/unifont2pff.rb: Likewise.
27288
27289 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
27290 (pkgdata_MODULES): Added vga.mod and font.mod.
27291 (vga_mod_SOURCES): New variables.
27292 (vga_mod_CFLAGS): Likewise.
27293 (font_mod_SOURCES): Likewise.
27294 (font_mod_CFLAGS): Likewise.
27295
27296 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
27297
27298 * include/pupa/term.h: Include pupa/err.h.
27299 (struct pupa_term): Added init and fini.
27300 Changed the argument of putchar to pupa_uint32_t.
27301
27302 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
27303 (pupa_console_real_putchar): New prototype.
27304 (pupa_console_putchar): Removed.
27305 (pupa_console_checkkey): Exported.
27306 (pupa_console_getkey): Likewise.
27307
27308 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
27309 characters.
27310
27311 * kern/term.c (pupa_term_set_current): Rewritten.
27312 (pupa_putchar): Likewise.
27313 (pupa_putcode): New function.
27314
27315 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
27316 (pupa_console_real_putchar): ... this.
27317 (pupa_vga_set_mode): New function.
27318 (pupa_vga_get_font): Likewise.
27319
27320 * normal/command.c: Include pupa/term.h.
27321 (terminal_command): New function.
27322 (pupa_command_init): Register the command "terminal".
27323
27324 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
27325 (DISP_UP): Likewise.
27326 (DISP_RIGHT): Likewise.
27327 (DISP_DOWN): Likewise.
27328 (DISP_HLINE): Likewise.
27329 (DISP_VLINE): Likewise.
27330 (DISP_UL): Likewise.
27331 (DISP_UR): Likewise.
27332 (DISP_LL): Likewise.
27333 (DISP_LR): Likewise.
27334
27335 * term/i386/pc/console.c (pupa_console_putchar): New function.
27336
27337 2003-02-08 NIIBE Yutaka <gniibe@m17n.org>
27338
27339 * util/resolve.c (pupa_util_resolve_dependencies): BUG
27340 FIX. Reverse the path_list.
27341
27342 * include/pupa/normal.h: Export pupa_register_command and
27343 pupa_unregister_command.
27344
27345 * hello/hello.c (pupa_cmd_hello): New module.
27346 * conf/i386-pc.rmk: Added hello.mod.
27347
27348 2003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
27349
27350 * kern/i386/pc/lzo1x.S: New file.
27351
27352 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
27353 (compress_kernel): New variable.
27354 (generate_image): Heavily modified to support compressing a
27355 large part of the core image.
27356
27357 * util/misc.c (pupa_util_read_image): Fix a file descriptor
27358 leak.
27359 (pupa_util_load_image): New function.
27360
27361 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
27362 (pupa_compressed_size): New variable.
27363 (codestart): Enable Gate A20 here.
27364 Decompress the compressed part of the core image.
27365 Rearrange the code to put functions and variables which are
27366 required for initialization in the non-compressed part.
27367 Include lzo1x.S.
27368
27369 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
27370 here.
27371
27372 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
27373
27374 * include/pupa/i386/pc/kernel.h
27375 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
27376 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
27377 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
27378 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
27379 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
27380
27381 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
27382
27383 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
27384 (Utility#rule): Likewise.
27385
27386 * configure.ac: Check if LZO is available.
27387
27388 2003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
27389
27390 * include/pupa/normal.h: New file.
27391 * include/pupa/setjmp.h: Likewise.
27392 * include/pupa/i386/setjmp.h: Likewise.
27393 * normal/cmdline.c: Likewise.
27394 * normal/command.c: Likewise.
27395 * normal/main.c: Likewise.
27396 * normal/menu.c: Likewise.
27397 * normal/i386/setjmp.S: Likewise.
27398
27399 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
27400 (pupa_rescue_cmd_initrd): Likewise.
27401
27402 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
27403 Likewise.
27404
27405 * kern/i386/pc/startup.S (translation_table): New variable.
27406 (translate_keycode): New function.
27407 (pupa_console_getkey): Call translate_keycode.
27408
27409 * kern/rescue.c (attempt_normal_mode): New function.
27410 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
27411 it failed, print a message.
27412
27413 * kern/mm.c (pupa_real_malloc): Print more information when a
27414 free magic is broken.
27415 (pupa_free): If the first free header is not free actually, set
27416 it to P.
27417
27418 * kern/main.c (pupa_load_normal_mode): Just load the module
27419 "normal".
27420 (pupa_main): Don't print the message
27421 "Entering into rescue mode..." here.
27422
27423 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
27424 Declared.
27425 (pupa_rescue_cmd_initrd): Likewise.
27426 (pupa_rescue_cmd_initrd): Likewise.
27427
27428 * include/pupa/symbol.h (FUNCTION): Specify the type.
27429 (VARIABLE): Likewise.
27430
27431 * include/pupa/err.h (pupa_err_t): Added
27432 PUPA_ERR_UNKNOWN_COMMAND.
27433
27434 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
27435 (pupa_dl_get_prefix): Likewise.
27436
27437 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
27438 Added _chain.mod and _linux.mod instead of chain.mod and
27439 linux.mod.
27440 (chain_mod_SOURCES): Renamed to ...
27441 (_chain_mod_SOURCES): ... this.
27442 (chain_mod_CFLAGS): Renamed to ...
27443 (_chain_mod_CFLAGS): ... this.
27444 (linux_mod_SOURCES): Renamed to ...
27445 (_linux_mod_SOURCES): ... this.
27446 (linux_mod_CFLAGS): Renamed to ...
27447 (_linux_mod_CFLAGS): ... this.
27448 (normal_mod_SOURCES): New variable.
27449 (normal_mod_CFLAGS): Likewise.
27450 (normal_mod_ASFLAGS): Likewise.
27451
27452 2003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
27453
27454 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
27455 possible.
27456
27457 * kern/dl.c (pupa_dl_ref): Refer depending modules
27458 recursively.
27459 (pupa_dl_unref): Unrefer depending modules recursively.
27460 Don't call pupa_dl_unload implicitly, because PUPA can crash if
27461 a module is unloaded before one depending on that module is
27462 unloaded.
27463 (pupa_dl_unload): Unload depending modules explicitly,
27464 if possible.
27465
27466 2003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
27467
27468 * include/pupa/i386/pc/linux.h: New file.
27469 * loader/i386/pc/linux.c: Likewise.
27470
27471 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
27472 Removed.
27473 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
27474 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
27475 of PUPA_CHAINLOADER_BOOT_SECTOR.
27476
27477 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
27478 (pupa_linux_prot_size): New variable.
27479 (pupa_linux_tmp_addr): Likewise.
27480 (pupa_linux_real_addr): Likewise.
27481 (pupa_linux_boot_zimage): New function.
27482 (pupa_linux_boot_bzimage): Likewise.
27483
27484 * kern/i386/pc/init.c (struct mem_region): New structure.
27485 (MAX_REGIONS): New macro.
27486 (mem_regions): New variable.
27487 (num_regions): Likewise.
27488 (pupa_os_area_addr): Likewise.
27489 (pupa_os_area_size): Likewise.
27490 (pupa_lower_mem): Likewise.
27491 (pupa_upper_mem): Likewise.
27492 (add_mem_region): New function.
27493 (compact_mem_regions): Likewise.
27494 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
27495 the size of the conventional memory and that of so-called upper
27496 memory (before the first memory hole).
27497 Instead of adding each found region to free memory, use
27498 add_mem_region and add them after removing overlaps.
27499 Also, add only 1/4 of the upper memory to free memory. The rest
27500 is used for loading OS images. Maybe this is ad hoc, but this
27501 makes it much easier to relocate OS images when booting.
27502
27503 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
27504 (pupa_enter_rescue_mode): Don't register initrd and module.
27505
27506 * kern/mm.c: Include pupa/dl.h.
27507
27508 * kern/main.c: Include pupa/file.h and pupa/device.h.
27509
27510 * kern/loader.c (pupa_loader_load_module_func): Removed.
27511 (pupa_loader_load_module): Likewise.
27512
27513 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
27514 ``.o''.
27515
27516 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
27517 (pupa_linux_tmp_addr): Likewise.
27518 (pupa_linux_real_addr): Likewise.
27519 (pupa_linux_boot_zimage): Likewise.
27520 (pupa_linux_boot_bzimage): Likewise.
27521
27522 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
27523 (pupa_upper_mem): Likewise.
27524 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
27525 module is too dangerous.
27526
27527 * include/pupa/loader.h (pupa_os_area_addr): Declared.
27528 (pupa_os_area_size): Likewise.
27529 (pupa_loader_set): Remove the first argument. Loader doesn't
27530 manage modules or initrd any longer.
27531 (pupa_loader_load_module): Removed.
27532
27533 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
27534 (linux_mod_SOURCES): New variable.
27535 (linux_mod_CFLAGS): Likewise.
27536
27537 2003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
27538
27539 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
27540 the length of a blocklist correctly.
27541
27542 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
27543 Use ioctl only if the OS file is a block device.
27544 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
27545 not very useful for normal files.
27546
27547 * kern/main.c (pupa_set_root_dev): New function.
27548 (pupa_load_normal_mode): Likewise.
27549 (pupa_main): Call those above.
27550
27551 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
27552 pupa_uint16_t.
27553
27554 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
27555
27556 2003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
27557
27558 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
27559 (setup): Configure the installed partition information and the
27560 dl prefix.
27561
27562 * loader/i386/pc/chainloader.c (my_mod): New variable.
27563 (pupa_chainloader_unload): New function.
27564 (pupa_rescue_cmd_chainloader): Refer itself.
27565 (PUPA_MOD_INIT): Save its own module in MY_MOD.
27566
27567 * kern/i386/pc/startup.S (install_partition): Removed.
27568 (version_string): Likewise.
27569 (config_file): Likewise.
27570 (pupa_install_dos_part): New variable.
27571 (pupa_install_bsd_part): Likewise.
27572 (pupa_prefix): Likewise.
27573 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
27574
27575 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
27576 and pupa/misc.h.
27577 (make_install_device): New function.
27578 (pupa_machine_init): Set the dl prefix.
27579
27580 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
27581 (buf): Renamed to ...
27582 (linebuf): ... this.
27583 (pupa_rescue_cmd_prefix): New function.
27584 (pupa_rescue_cmd_insmod): Likewise.
27585 (pupa_rescue_cmd_rmmod): Likewise.
27586 (pupa_rescue_cmd_lsmod): Likewise.
27587 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
27588 rmmod and lsmod.
27589
27590 * kern/mm.c (pupa_memalign): If failed even after invalidating
27591 disk caches, unload unneeded modules and retry.
27592
27593 * kern/misc.c (pupa_memmove): New function.
27594 (pupa_memcpy): Removed.
27595 (pupa_strcpy): New function.
27596 (pupa_itoa): Made static.
27597
27598 * kern/dl.c (pupa_dl_iterate): New function.
27599 (pupa_dl_ref): Likewise.
27600 (pupa_dl_unref): Likewise.
27601 (pupa_dl_unload): Return if succeeded or not.
27602 (pupa_dl_unload_unneeded): New function.
27603 (pupa_dl_unload_all): Likewise.
27604 (pupa_dl_init): Renamed to ...
27605 (pupa_dl_set_prefix): ... this.
27606 (pupa_dl_get_prefix): New function.
27607
27608 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
27609 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
27610 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
27611 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
27612 (pupa_install_dos_part): Declared.
27613 (pupa_install_bsd_part): Likewise.
27614 (pupa_prefix): Likewise.
27615 (pupa_boot_drive): Likewise.
27616
27617 * include/pupa/types.h: Fix a typo.
27618
27619 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
27620 pupa_memmove.
27621 (pupa_memmove): Declared.
27622 (pupa_strcpy): Likewise.
27623
27624 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
27625 pupa_mod_init takes one argument, its own module.
27626 (pupa_dl_unload_unneeded): Declared.
27627 (pupa_dl_unload_all): Likewise.
27628 (pupa_dl_ref): Likewise.
27629 (pupa_dl_unref): Likewise.
27630 (pupa_dl_iterate): Likewise.
27631 (pupa_dl_init): Renamed to ...
27632 (pupa_dl_set_prefix): ... this.
27633 (pupa_dl_get_prefix): Declared.
27634
27635 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
27636 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
27637 unloaded.
27638 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
27639 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
27640
27641 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
27642 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
27643
27644 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
27645
27646 * util/i386/pc/pupa-setup.c (setup): Define the internal
27647 function find_first_partition_start at the top level, because GCC
27648 3.0.x cannot compile internal functions in deeper scopes
27649 correctly.
27650 (find_root_device): Use lstat instead of stat.
27651 Don't follow symbolic links.
27652 Fix the path-constructing code.
27653
27654 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
27655 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
27656 by a BLKGETSIZE ioctl first, because block devices don't fill
27657 the member st_mode of the structure stat on Linux.
27658 [__linux__] (linux_find_partition): Use a temporary buffer
27659 REAL_DEV for the working space. Copy it to DEV before returning.
27660 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
27661 buffer cache consistent.
27662 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
27663 strncmp. The previous value was merely wrong.
27664 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
27665
27666 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
27667 FAT size is 12. The previous value was merely wrong.
27668
27669 * kern/main.c (pupa_main): Don't split the starting message from
27670 newlines.
27671
27672 * kern/term.c (pupa_putchar): Put CR after LF instead of before
27673 LF, because BIOS goes crazy about character attributes in this
27674 case.
27675
27676 2003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
27677
27678 * include/i386/pc/util/biosdisk.h: New file.
27679 * util/i386/pc/biosdisk.c: Likewise.
27680 * util/i386/pc/pupa-setup.c: Likewise.
27681
27682 * Makefile.in (INCLUDE_DISTFILES): Added
27683 include/pupa/i386/pc/util/biosdisk.h.
27684 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
27685 directory util/i386/pc.
27686 (install-local): Added a rule for sbin_UTILITIES.
27687 (uninstall): Likewise.
27688
27689 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
27690
27691 * util/misc.c (xrealloc): New function.
27692 (pupa_malloc): Likewise.
27693 (pupa_free): Likewise.
27694 (pupa_realloc): Likewise.
27695 (pupa_stop): Likewise.
27696 (pupa_putchar): Likewise.
27697
27698 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
27699
27700 * include/pupa/util/misc.h (xrealloc): Declared.
27701
27702 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
27703 macro.
27704 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
27705 (PUPA_BOOT_MACHINE_BPB_END): ... this.
27706
27707 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
27708 [PUPA_UTIL] (pupa_fat_fini): Likewise.
27709
27710 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
27711 way should be implemented.
27712 [PUPA_UTIL] (pupa_fat_fini): Likewise.
27713
27714 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
27715 the size of NAME for safety.
27716 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
27717 0x88.
27718
27719 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
27720 (pupa_setup_SOURCES): Likewise.
27721
27722 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
27723
27724 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
27725
27726 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
27727 bunch of pushl's from pusha, because this destroys the return
27728 value.
27729
27730 2002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
27731
27732 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
27733 This means that any missing prototypes could be fatal. Also, you
27734 must take care when writing assembly code. See the comments at
27735 the beginning of startup.S, for more details.
27736
27737 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
27738 compilation mechanism.
27739 (pupa_chainloader_real_boot): Likewise.
27740 (pupa_biosdisk_rw_int13_extensions): Likewise.
27741 (pupa_biosdisk_rw_standard): Likewise.
27742 (pupa_biosdisk_check_int13_extensions): Likewise.
27743 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
27744 (pupa_biosdisk_get_diskinfo_standard): Likewise.
27745 (pupa_get_memsize): Likewise.
27746 (pupa_get_mmap_entry): Likewise.
27747 (pupa_console_putchar): Likewise.
27748 (pupa_console_setcursor): Likewise.
27749 (pupa_getrtsecs): Use pushl instead of push.
27750
27751 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
27752 memory instead of the stack for a mmap entry, because some
27753 BIOSes may ignore the maximum size and overflow.
27754
27755 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
27756
27757 * genmk.rb (PModule#rule): Compile automatically generated
27758 sources with module-specific CFLAGS as well as other sources.
27759
27760 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
27761
27762 * configure.ac: Check ld.
27763 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
27764 respectively, before checking endianness and sizes.
27765
27766 * Makefile.in (LD): New variable.
27767
27768 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
27769
27770 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
27771
27772 2002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
27773
27774 * Changelog: New file.
27775