]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* util/grub.d/10_linux.in: Only use the first word of
[grub2.git] / ChangeLog
CommitLineData
df60998c
CW
12010-04-08 Colin Watson <cjwatson@ubuntu.com>
2
3 * util/grub.d/10_linux.in: Only use the first word of
4 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
5 spaces in GRUB_DISTRIBUTOR.
6 * util/grub.d/10_kfreebsd.in: Likewise.
7 * util/grub.d/10_hurd.in: Likewise.
8
fa09c82e
BC
92010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
10
14e18ae3 11 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
12
13 * tests/util/grub-shell.in: Remove -serial stdio option.
14
daf892b3
BC
152010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
16
17 POSIX header file wrappers.
18
19 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
20 equivalents.
21 * lib/posix_wrap/ctype.h: Likewise.
22 * lib/posix_wrap/errno.h: Likewise.
23 * lib/posix_wrap/langinfo.h: Likewise.
24 * lib/posix_wrap/limits.h: Likewise.
25 * lib/posix_wrap/localcharset.h: Likewise.
26 * lib/posix_wrap/stdint.h: Likewise.
27 * lib/posix_wrap/stdio.h: Likewise.
28 * lib/posix_wrap/stdlib.h: Likewise.
29 * lib/posix_wrap/string.h: Likewise.
30 * lib/posix_wrap/sys/types.h: Likewise.
31 * lib/posix_wrap/unistd.h: Likewise.
32 * lib/posix_wrap/wchar.h: Likewise.
33 * lib/posix_wrap/wctype.h: Likewise.
34 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
35 (grub_script.yy.h): Likewise.
36 * script/yylex.l: Remove POSIX emulation #defines.
37 * Makefile.in (POSIX_CFLAGS): New variable.
38 (GNULIB_UTIL_CFLAGS): Likewise.
39
40 Regexp support.
41
42 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
43 (regexp_mod_SOURCES): New variable.
44 (regexp_mod_CFLAGS): Likewise.
45 (regexp_mod_LDFLAGS): Likewise.
46 * commands/regexp.c: New file.
47 * gnulib/regcomp.c: New file. Imported from gnulib.
48 * gnulib/regex.c: Likewise.
49 * gnulib/regex_internal.c: Likewise.
50 * gnulib/regex_internal.h: Likewise.
51 * gnulib/regexec.c: Likewise.
52 * gnulib/regex.h: Likewise.
53
974ac4f7
VS
542010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
55
56 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
57 unsupported video mode types.
58
2622c3ff
VS
592010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
60
61 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
62
064cb524
VS
632010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
64
65 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
66 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
67
a8c3b552
VS
682010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
69
70 Remove unused grub_vga_get_font.
71
72 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
73 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
74
187bbe3d
GS
752010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
76
77 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
78 * include/grub/misc.h: Likewise.
79
b9396631
GS
802010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
81
82 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
83 for which failure is fatal.
84
50479feb
GS
852010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
86
87 * util/grub-install.in: Use mkdir -p to create grub directory.
88 * util/i386/efi/grub-install.in: Likewise.
89 * util/ieee1275/grub-install.in: Likewise.
90
b1654fdf
GS
912010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
92
93 * Makefile.in (LEX): new variable.
94
bd5a6415
GS
952010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
96
97 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
98 `=' and added double quotes on operands of this equality test.
99
3db3a82b
VS
1002010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
101
102 * Makefile.in (uninstall): Remove a leftover debug echo.
103 Reported by: Grégoire Sutre
104
38023412
VS
1052010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
106
107 MIPS multiboot2 support.
108
109 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
110 (multiboot2_mod_SOURCES): New variable.
111 (multiboot2_mod_CFLAGS): Likewise.
112 (multiboot2_mod_LDFLAGS): Likewise.
113 (multiboot2_mod_ASFLAGS): Likewise.
114 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
115 definition.
116 (MULTIBOOT_ENTRY_REGISTER): Likewise.
117 (MULTIBOOT_MBI_REGISTER): Likewise.
118 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
119 (MULTIBOOT_ELF32_MACHINE): Likewise.
120 (MULTIBOOT_ELF64_MACHINE): Likewise.
121 * include/grub/mips/multiboot.h: New file.
122 * include/grub/video.h (grub_video_driver_id): New type
123 GRUB_VIDEO_DRIVER_SM712.
124 (grub_video_get_info_and_fini): Export.
125 (grub_video_get_palette): Likewise.
126 (grub_video_get_driver_id): Likewise.
127 * include/multiboot2.h: Resynced with spec.
128 * loader/i386/multiboot.c: Moved from here ...
129 * loader/multiboot.c: ... here. All users updated.
130 (grub_multiboot_boot): Use platform-specific macros.
131 * loader/i386/multiboot_elfxx.c: Moved from here ...
132 * loader/multiboot_elfxx.c: ... here. All users updated.
133 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
134 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
135 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
136
47674667
VS
1372010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
138
139 Import gnulib argp module.
140
141 * gnulib/argp-ba.c: New file.
142 * gnulib/argp-eexst.c: Likewise.
143 * gnulib/argp-fmtstream.c: Likewise.
144 * gnulib/argp-fmtstream.h: Likewise.
145 * gnulib/argp-fs-xinl.c: Likewise.
146 * gnulib/argp-help.c: Likewise.
147 * gnulib/argp-namefrob.h: Likewise.
148 * gnulib/argp-parse.c: Likewise.
149 * gnulib/argp-pin.c: Likewise.
150 * gnulib/argp-pv.c: Likewise.
151 * gnulib/argp-pvh.c: Likewise.
152 * gnulib/argp-version-etc.c: Likewise.
153 * gnulib/argp-version-etc.h: Likewise.
154 * gnulib/argp-xinl.c: Likewise.
155 * gnulib/argp.h: Likewise.
156
495442ed
VS
1572010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
158
159 * kern/device.c (grub_device_iterate): Clear errors after failed
160 opening device.
161
f9fd65df
VS
1622010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
163
164 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
165 returned by firmware.
166
af09641e
VS
1672010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
168
169 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
170 compilation on coreboot and qemu
171
016883a5
VS
1722010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
173
174 * include/multiboot2.h: Resync with spec.
175
f97e1f7d
VS
1762010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
177
178 Multiboot2 tag support
179
180 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
181 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
182 Remove loader/multiboot_loader.c.
183 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
184 (grub_multiboot2_real_boot): Likewise.
185 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
186 (grub_get_multiboot_mmap_count): New proto.
187 (grub_fill_multiboot_mmap): Likewise.
188 (grub_multiboot_set_video_mode): Likewise.
189 (grub_multiboot_set_console): Likewise.
190 (grub_multiboot_load): Likewise.
191 (grub_multiboot_load_elf): Likewise.
192 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
193 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
194 * include/multiboot.h: Resynced with specification.
195 * include/multiboot2.h: Resynced with specification.
196 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
197 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
198 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
199 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
200 users updated.
201 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
202 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
203 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
204 Removed.
205 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
206 Moved from here...
207 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
208 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
209 Moved from here...
210 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
211 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
212 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
213 All users updated.
214 * loader/i386/multiboot_mbi2.c: New file.
215
3506b90b
VS
2162010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
217
218 Resync with gnulib.
219
220 * Makefile.in (GNULIB_CFLAGS): New variable.
221 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
222 (grub_script_check_CFLAGS): New variable.
223 * gnulib/alloca.h: Resync with gnulib.
224 * gnulib/error.c: Likewise.
225 * gnulib/error.h: Likewise.
226 * gnulib/fnmatch.c: Likewise.
227 * gnulib/fnmatch_loop.c: Likewise.
228 * gnulib/getdelim.c: Likewise.
229 * gnulib/getline.c: Likewise.
230 * gnulib/getopt.c: Likewise.
231 * gnulib/getopt1.c: Likewise.
232 * gnulib/getopt_int.h: Likewise.
233 * gnulib/gettext.h: Likewise.
234 * gnulib/progname.c: Likewise.
235 * gnulib/progname.h: Likewise.
236
394a3120
GS
2372010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
238
239 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
240 which is the case with --disabled-nls.
241
242 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
243 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
244 * util/misc.c: Likewise.
245 * util/mkisofs/mkisofs.c: Likewise.
246 * util/mkisofs/mkisofs.h: Likewise.
247
969d1c78
VS
2482010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
249
250 Simplify Apple CC support.
251
252 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
253 Add 0 byte at the end not to have a symbol with empty target.
254 * mmap/i386/pc/mmap_helper.S: Likewise.
255 * genmk.rb: Ignore errors 2030 and 2050.
256 * kern/i386/pc/startup.S: Use LOCAL when possible.
257
8d2977bb
BC
2582010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
259
260 Testcase and the fix for final semicolon on cmdline.
261
262 * tests/grub_script_final_semicolon.in: New testcase.
263 * conf/tests.rmk: Rules for the new testcase.
264 * script/parser.y: Grammar fix.
265
a7bd6915
BC
2662010-03-26 BVK Chaitanya <bvk@localhost>
267
268 Blank lines testcase for GRUB script.
269
270 * tests/grub_script_blanklines.in: New testcase.
271 * conf/tests.rmk: Rules for the new testcase.
272
e4ff6628
VS
2732010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
274
275 Don't use __FILE__.
276
277 * genmk.rb: Add -DGRUB_FILE to all C targets.
278 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
279 * include/grub/list.h: Likewise.
280 * include/grub/misc.h: Likewise.
281 * include/grub/mm.h: Likewise.
282 * include/grub/test.h: Likewise.
283 * kern/mm.c: Likewise.
284 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
285
6a5cf6b6
VS
2862010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
287
288 Sunpc partitions support.
289
290 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
291 (grub_fstest_SOURCES): Likewise.
292 (pkglib_MODULES): Add part_sunpc.mod.
293 (part_sunpc_mod_SOURCES): New variable.
294 (part_sunpc_mod_CFLAGS): Likewise.
295 (part_sunpc_mod_LDFLAGS): Likewise.
296 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
297 * partmap/sunpc.c: New file.
298
746d9045
BC
2992010-03-26 BVK Chaitanya <bvk@localhost>
300
301 For loop support to GRUB script.
302
303 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
304 (grub_script_create_cmdfor): New function prototype.
305 (grub_script_execute_cmdfor): New function prototype.
306 * script/execute.c (grub_script_execute_cmdfor): New function.
307 * script/parser.y (command): New for command.
308 (forcmd): New grammar rule.
309 * script/script.c (grub_script_create_cmdfor): New function.
310 * util/grub-script-check.c (grub_script_execute_cmdfor): New
311 function.
312 * tests/grub_script_for1.in: New testcase.
313 * conf/tests.rmk: Rules for new testcase.
314
18486b18
VS
3152010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
316
317 Nested partitions
318
319 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
320 'partition' is NULL, grub_partition_get_start already does that.
321 * commands/loadenv.c (check_blocklists): Likewise.
322 (write_blocklists): Likewise.
323 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
324 (grub_fstest_SOURCES): Likewise.
325 (pkglib_MODULES): Add part_bsd.mod.
326 (part_bsd_mod_SOURCES): New variable.
327 (part_bsd_mod_CFLAGS): Likewise.
328 (part_bsd_mod_LDFLAGS): Likewise.
329 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
330 (grub_emu_SOURCES): Likewise.
331 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
332 * include/grub/bsdlabel.h: New file.
333 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
334 'get_name'.
335 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
336 (grub_partition_map_list): New variable.
337 (grub_partition_map_register): Inline.
338 (grub_partition_map_unregister): Likewise.
339 (FOR_PARTITION_MAPS): New macro.
340 (grub_partition_map_iterate): Removed.
341 (grub_partition_get_start): Handle nested partitions.
342 * include/grub/msdos_partition.h: Remove bsd-related entries.
343 (grub_pc_partition): Remove.
344 * kern/disk.c (grub_disk_close): Free partition data.
345 (grub_disk_adjust_range): Handle nested partitions.
346 * kern/partition.c (grub_partition_map_probe): New function.
347 (grub_partition_probe): Parse name to number, handle subpartitions.
348 (get_partmap): New function.
349 (grub_partition_iterate): Handle subpartitions.
350 (grub_partition_get_name): Likewise.
351 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
352 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
353 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
354 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
355 Set 'number'.
356 (acorn_partition_map_probe): Remove.
357 (acorn_partition_map_get_name): Likewise.
358 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
359 Set 'number'.
360 Set 'index' to 0 since there can be only one partition entry per sector.
361 (amiga_partition_map_probe): Remove.
362 (amiga_partition_map_get_name): Likewise.
363 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
364 Set 'number'.
365 Set 'offset' and 'index' to real positions of partitions.
366 (apple_partition_map_probe): Remove.
367 (apple_partition_map_get_name): Likewise.
368 * partmap/bsdlabel.c: New file.
369 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
370 Set 'number'.
371 Allocate 'data' so it can be correctly freed.
372 Set 'index' to offset inside sector.
373 (gpt_partition_map_probe): Remove.
374 (gpt_partition_map_get_name): Likewise.
375 * partmap/msdos.c (grub_partition_parse): Remove.
376 (pc_partition_map_iterate): Don't force raw access.
377 Set 'number'.
378 Make 'ext_offset' a local variable.
379 (pc_partition_map_probe): Remove.
380 (pc_partition_map_get_name): Remove.
381 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
382 Set 'number'.
383 (sun_partition_map_probe): Remove.
384 (sun_partition_map_get_name): Likewise.
385 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
386 (grub_pcpart_type): Likewise.
387 * util/hostdisk.c (open_device): Handle new numbering scheme.
388 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
389 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
390 * util/grub-probe.c (probe_partmap): Handle nested paritions.
391 * util/grub-install.in: Insert all subpartition modules.
392 * util/ieee1275/grub-install.in: Likewise.
393
a3940f88
AG
3942010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
395
396 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
397 grammar.
398
21b99926 3992010-03-24 Colin Watson <cjwatson@ubuntu.com>
400
401 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
402
bed1d352
CW
4032010-03-21 Colin Watson <cjwatson@ubuntu.com>
404
405 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
406 match where 'make install' puts them.
407 * util/i386/efi/grub-install.in: Likewise.
408
c9f58427
CW
4092010-03-19 Colin Watson <cjwatson@ubuntu.com>
410
411 * .bzrignore: Add gentrigtables, grub-script-check,
412 grub_script_check_init.c, grub_script_check_init.h, and
413 trigtables.c.
414
f84afb27
VS
4152010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
416
417 * kern/parser.c: Indented.
418
ed0e3d30
VS
4192010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
420
421 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
422
0ea81d98
VS
4232010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
424
425 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
426 alpha_mask_size == 0 case.
427
0cdc2a09
BC
4282010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
429
430 GRUB shell lexer and parser improvements.
431
432 * conf/any-emu.rmk: Build rule updates.
433 * conf/common.rmk: Likewise.
434 * conf/i386-coreboot.rmk: Likewise.
435 * conf/i386-efi.rmk: Likewise.
436 * conf/i386-ieee1275.rmk: Likewise.
437 * conf/i386-pc.rmk: Likewise.
438 * conf/powerpc-ieee1275.rmk: Likewise.
439 * conf/x86_64-efi.rmk: Likewise.
440
441 * configure.ac: Configure check for flex.
442
443 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
444 types.
445 (grub_lexer_param): Struct member updates.
446 (grub_parser_param): Likewise.
447 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
448 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
449 (grub_script_lexer_init): Prototype update.
450 (grub_script_lexer_record_start): Likewise.
451 (grub_script_lexer_record_stop): Likewise.
452 (grub_script_lexer_yywrap): New function prototype.
453 (grub_script_lexer_fini): Likewise.
454 (grub_script_execute_argument_to_string): Removed by...
455 (grub_script_execute_argument_to_argv): ...better version.
456
457 * script/execute.c (ROUND_UPTO): New macro.
458 (grub_script_execute_cmdline): Out of memory fixes.
459 (grub_script_execute_menuentry): Likewise.
460 (grub_script_execute_argument_to_string): Removed. Update all
461 users by...
462 (grub_script_execute_argument_to_argv): ...better version.
463 * script/function.c (grub_script_function_create): Use
464 grub_script_execute_argument_to_argv instead of
465 grub_script_execute_argument_to_string.
466
467 * script/lexer.c (check_varstate): Removed.
468 (check_textstate): Removed.
469 (grub_script_lexer_record_start): Likewise.
470 (grub_script_lexer_record_stop): Likewise.
471 (recordchar): Replaced with...
472 (grub_script_lexer_record): ...new function.
473 (nextchar): Removed.
474 (grub_script_lexer_init): Rewritten.
475 (grub_script_yylex): Rewritten.
476 (append_newline): New function.
477 (grub_script_lexer_yywrap): New function.
478 (grub_script_lexer_fini): New function.
479 (grub_script_yyerror): Sets error flag.
480
481 * script/yylex.l: New file.
482 (grub_lexer_yyfree): Wrapper for flex yyffre.
483 (grub_lexer_yyalloc): Likewise.
484 (grub_lexer_yyrealloc): Likewise.
485 * script/parser.y: Refactored.
486
487 * script/script.c (grub_script_arg_add): Out of memory fixes.
488 (grub_script_add_arglist): Likewise.
489 (grub_script_create_cmdline): Likewise.
490 (grub_script_create_cmdmenu): Likewise.
491 (grub_script_add_cmd): Likewise.
492 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
493 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
494 unnecessary code.
495
496 * tests/grub_script_echo1.in: New testcase.
497 * tests/grub_script_vars1.in: New testcase.
498 * tests/grub_script_echo_keywords.in: New testcase.
499
1d63a066
VS
5002010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
501
502 Remove some redundancy in build system.
503
504 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
505 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
506 (TARGET_LDFLAGS): Add -nostdlib.
507 (TARGET_IMG_LDFLAGS): Likewise.
508 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
509 anything since mmap isn't available.
510 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
511 Add util/time.c.
512 (pkglib_MODULES): Remove reboot.mod.
513 (reboot_mod_SOURCES): Removed.
514 (reboot_mod_CFLAGS): Likewise.
515 (reboot_mod_LDFLAGS): Likewise.
516 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
517 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
518 (DEFSYMFILES): Add kernel_syms.lst.
519 (kernel_img_HEADERS): Add common headers.
520 (symlist.c): New target.
521 (kernel_syms.lst): Likewise.
522 (pkglib_MODULES): Add memdisk.mod.
523 (memdisk_mod_SOURCES): New variable.
524 (memdisk_mod_CFLAGS): Likewise.
525 (memdisk_mod_LDFLAGS): Likewise.
526 (pkglib_MODULES): Add reboot.mod.
527 (reboot_mod_SOURCES): New variable.
528 (reboot_mod_CFLAGS): Likewise.
529 (reboot_mod_LDFLAGS): Likewise.
530 (pkglib_MODULES): Add date.mod.
531 (date_mod_SOURCES): New variable.
532 (date_mod_CFLAGS): Likewise.
533 (date_mod_LDFLAGS): Likewise.
534 (pkglib_MODULES): Add datehook.mod.
535 (datehook_mod_SOURCES): New variable.
536 (datehook_mod_CFLAGS): Likewise.
537 (datehook_mod_LDFLAGS): Likewise.
538 (pkglib_MODULES): Add lsmmap.mod.
539 (lsmmap_mod_SOURCES): New variable.
540 (lsmmap_mod_CFLAGS): Likewise.
541 (lsmmap_mod_LDFLAGS): Likewise.
542 (pkglib_MODULES): Add boot.mod.
543 (boot_mod_SOURCES): New variable.
544 (boot_mod_CFLAGS): Likewise.
545 (boot_mod_LDFLAGS): Likewise.
546 * conf/i386-coreboot.rmk: Removed redundant parts.
547 * conf/i386-ieee1275.rmk: Likewise.
548 * conf/i386-pc.rmk: Likewise.
549 * conf/mips-yeeloong.rmk: Likewise.
550 * conf/mips.rmk: Likewise.
551 * conf/powerpc-ieee1275.rmk: Likewise.
552 * conf/sparc64-ieee1275.rmk: Likewise.
553 * conf/x86_64-efi.rmk: Likewise.
554 * conf/i386-coreboot.rmk: Moved qemu parts ..
555 * conf/i386-qemu.rmk: ... here
556 * conf/i386-efi.rmk: Moved common parts to...
557 * conf/x86-efi.rmk: ... here.
558 * conf/i386.rmk: Added modules common to all x86 variants.
559 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
560 * disk/memdisk.c: Remove grub/machine/kernel.h.
561 * gensymlist.sh.in: Include symbol.h.
562 * hook/datehook.c: Correct module name.
563 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
564 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
565 * include/grub/i386/efi/serial.h: New file.
566 * include/grub/x86_64/efi/serial.h: Likewise.
567 * util/time.c: Likewise.
568 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
569
463ac55f
CK
5702010-03-14 Colin King <colin.king@ubuntu.com>
5712010-03-14 Colin Watson <cjwatson@ubuntu.com>
572
573 Shrink the pre-partition-table part of boot.img by eight bytes.
574
575 * boot/i386/pc/boot.S (ERR): New macro.
576 (chs_mode): Use ERR.
577 (geometry_error): Likewise.
578 (hd_probe_error): Remove. This is only used once, so we wrwite
579 it inline instead.
580 (read_error): Instead of printing read_error_string, just set up
581 %si and fall through to ...
582 (error_message): ... this new function, also used by ERR.
583
08e46ede
CW
5842010-03-14 Colin Watson <cjwatson@ubuntu.com>
585
586 Speed up consecutive hostdisk operations on the same device.
587
588 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
589 (grub_util_biosdisk_open): Initialise disk->data.
590 (struct linux_partition_cache): New structure.
591 (linux_find_partition): Cache partition start positions; these are
592 expensive to compute on every read and write.
593 (open_device): Cache open file descriptor in disk->data, so that we
594 don't have to reopen it and flush the buffer cache for consecutive
595 operations on the same device.
596 (grub_util_biosdisk_close): New function.
597 (grub_util_biosdisk_dev): Set `close' member.
598
599 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
600 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
601 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
602 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
603 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
604
4a6d2d06
VS
6052010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
606
607 Compile parts of grub-emu as modules.
608
609 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
610 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
611 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
612 (all-local): Add $(GRUB_EMU).
613 (install-local): Install $(GRUB_EMU).
614 (uninstall): Uninstall $(GRUB_EMU).
615 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
616 * kern/dl.c: Likewise.
617 * commands/sleep.c: Not include machine/time.h.
618 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
619 (COMMON_CFLAGS): Likewise.
620 (sbin_UTILITIES): Remove grub-emu.
621 (grub_emu_SOURCES): Removed.
622 (kernel_img_RELOCATABLE): New variable.
623 (pkglib_PROGRAMS): Add kernel.img.
624 (kernel_img_SOURCES): New variable
625 (kernel_img_CFLAGS): Likewise.
626 (kernel_img_LDFLAGS): Likewise.
627 (TARGET_NO_STRIP): Likewise.
628 (TARGET_NO_DYNAMIC_MODULES): Likewise.
629 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
630 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
631 (grub-emu): New target.
632 (GRUB_EMU): New variable.
633 * configure.ac: Whitelist -emu as possible x86_64 architecture.
634 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
635 * loader/xnu.c: Likewise.
636 * include/grub/pci.h: Likewise.
637 * genemuinit.sh: New file.
638 * genemuinitheader.sh: Likewise.
639 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
640 Support TARGET_NO_DYNAMIC_MODULES.
641 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
642 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
643 * disk/loopback.c: Likewise.
644 * font/font_cmd.c: Likewise.
645 * partmap/acorn.c: Likewise.
646 * partmap/amiga.c: Likewise.
647 * partmap/apple.c: Likewise.
648 * partmap/gpt.c: Likewise.
649 * partmap/msdos.c: Likewise.
650 * partmap/sun.c: Likewise.
651 * parttool/msdospart.c: Likewise.
652 * term/gfxterm.c: Likewise.
653 * video/bitmap.c: Likewise.
654 * video/readers/jpeg.c: Likewise.
655 * video/readers/png.c: Likewise.
656 * video/readers/tga.c: Likewise.
657 * video/video.c: Likewise.
658 * util/grub-emu.c (read_command_list): Removed.
659 (main): Don't call util_init_nls.
660 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
661 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
662
91fdd2ed
VS
6632010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
664
665 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
666 date.mod, datehook.mod.
667 (datetime_mod_SOURCES): New variable.
668 (datetime_mod_CFLAGS): Likewise.
669 (datetime_mod_LDFLAGS): Likewise.
670 (date_mod_SOURCES): Likewise.
671 (date_mod_CFLAGS): Likewise.
672 (date_mod_LDFLAGS): Likewise.
673 (datehook_mod_SOURCES): Likewise.
674 (datehook_mod_CFLAGS): Likewise.
675 (datehook_mod_LDFLAGS): Likewise.
676 * conf/sparc64-ieee1275.rmk: Likewise.
677 * lib/ieee1275/datetime.c: New file.
678
873ccae6
VS
6792010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
680
681 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
682 (ieee1275_fb_mod_SOURCES): New variable.
683 (ieee1275_fb_mod_CFLAGS): Likewise.
684 (ieee1275_fb_mod_LDFLAGS): Likewise.
685 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
686 New proto.
687 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
688 (HEAP_MAX_ADDR): Likewise.
689 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
690 type.
691 Correct stop condition.
692 (grub_ieee1275_devices_iterate): New function.
693 * video/ieee1275.c: New file.
694
601c97c0
VS
6952010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
696
697 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
698
699 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
700 as scratch.
701 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
702 SCRATCH_PAD_DISKBOOT as scratch.
703 (bootit): Pass Openfirmware pointer in %o4.
704 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
705 of 0x200000.
706 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
707 with util/grub-mkrawimage.c.
708 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
709 * include/grub/aout.h (AOUT_MID_SUN): New definition.
710 (grub_aout_get_type) [GRUB_UTIL]: Removed.
711 (grub_aout_load) [GRUB_UTIL]: Likewise.
712 * include/grub/kernel.h (grub_modules_get_end): New proto.
713 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
714 (SCRATCH_PAD_BOOT): New definition.
715 (SCRATCH_PAD_DISKBOOT): Likewise.
716 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
717 * include/grub/sparc64/ieee1275/ieee1275.h
718 (grub_ieee1275_original_stack): New variable
719 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
720 New definition
721 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
722 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
723 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
724 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
725 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
726 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
727 (grub_platform_image_format_t): New type.
728 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
729 * kern/main.c (grub_modules_get_end)
730 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
731 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
732 (codestart): Switch stacks.
733 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
734 variable.
735 (grub_heap_init): Use grub_modules_get_end.
736 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
737 stack.
738 * util/grub-mkrawimage.c (generate_image): Support sparc64.
739 (main): Likewise.
740 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
741
d68b491e
TG
7422010-03-14 Thorsten Glaser <tg@mirbsd.org>
743
744 * util/grub-mkrescue.in: Base ISO UUID on UTC.
745
4e02ed50
MK
7462010-03-08 Matt Kraai <kraai@ftbfs.org>
747
748 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
749 bug #559005).
750
1f15fc1e
VS
7512010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
752
753 * genmoddep.awk: Output all missing symbols and not only first.
754
fce5d8ff
VS
7552010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
756
757 * NEWS: Put the date of 1.98 release.
758
d1e8a02f
VS
7592010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
760
761 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
762 ft2build.h.
763
696fd607
VS
7642010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
765
766 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
767 completition in the middle of string.
768
33e2e6f3
VS
7692010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
770
771 * util/grub-mkrescue.in: Use mktemp with explicit template.
772
b1f6d291
VS
7732010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
774
775 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
776
2ac227c7
VS
7772010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
778
779 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
780 right pointer.
781
8f9a632b
VS
7822010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
783
784 Fix FreeBSD compilation.
785
786 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
787 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
788
60b03859
VS
7892010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
790
791 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
792
48a5a769
VS
7932010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
794
795 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
796
3ab4bd77
VS
7972010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
798
799 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
800
d116e0d8
RM
8012010-03-04 Robert Millan <rmh.grub@aybabtu.com>
802
803 Support relative image path in theme file.
804
805 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
806 (image_set_property): Handle theme_dir and relative path.
807
c7ef54aa
VS
8082010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
809
810 * configure.ac: Alias amd64 to x86_64.
811
fcee14ed
VS
8122010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
813
814 * NEWS: mention multiboot on EFI.
815
d0780363
VS
8162010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
817
818 * kern/main.c (grub_load_modules): Handle errors from init functions of
819 embeded modules.
820
41168ea4
VS
8212010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
822
823 * normal/autofs.c (autoload_fs_module): Handle errors.
824
b54d93ac
VS
8252010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
826
827 Disable linux.mod on qemu-mips since it's not functional and leads
828 to compilation failure.
829
830 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
831 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
832 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
833 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
834 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
835 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
836 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
837 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
838 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
839 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
840 Reported by: BVK Chaitanya
841
fc8345da
JU
8422010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
843
844 * INSTALL: Add gettext as a dependency and add qemu to a new section
845 "Prerequisites for make-check".
846
4760f979
CF
8472010-03-04 Christian Franke <franke@computer.org>
848
849 * util/grub-pe2elf.c: Add missing include "progname.h".
850
f209b5b2
VS
8512010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
852
853 * normal/crypto.c (read_crypto_list): Fix a typo.
854 Reported by: Seth Goldberg.
855
b4b7be98
VS
8562010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
857
858 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 859 Reported by: Seth Goldberg.
b4b7be98 860
c0ee0385
VS
8612010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
862
863 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
864 ascii.bitmaps.
865
a8efbf64
VS
8662010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
867
868 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 869 Reported by: Seth Goldberg.
a8efbf64 870
08dcd913
VS
8712010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
872
873 * util/i386/efi/grub-install.in: Copy gettext files.
874
c4d0b332
VS
8752010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
876
877 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
878
c6f2fe52
VS
8792010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
880
881 Wait for user entry basing on presence of output rather than on errors.
882
883 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
884 (grub_install_newline_hook): Likewise.
885 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
886 * normal/menu.c (show_menu): Check line_counter to determine presence
887 of output.
888 * normal/term.c (grub_normal_line_counter): New variable.
889 (grub_normal_get_line_counter): New function.
890 (grub_install_newline_hook): Likewise.
891
5382b1e4
VS
8922010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
893
894 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
895
5519963b
VS
8962010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
897
898 * configure.ac: Update version to 1.98.
899
72b28631
VS
9002010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
901
902 * util/grub.d/10_linux.in (linux_entry): Don't default to
903 gfxpayload=keep if Linux doesn't support video handover.
904
c140a180
VS
9052010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
906
907 Don't compile video modules on yeeloong since video subsystem is part
908 of kernel.
909
910 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
911 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
912 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
913 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
914 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
915 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
916 * include/grub/bitmap_scale.h: Likewise.
917 * include/grub/bufio.h: Likewise.
918 * include/grub/font.h: Likewise.
919 * include/grub/gfxterm.h: Likewise.
920 * include/grub/video.h: Likewise.
921 * include/grub/vbe.h: Don't include video_fb.h.
922 * video/i386/pc/vbe.c: Include video_fb.h.
923 * commands/i386/pc/vbetest.c: Include video.h.
924
a0ca21c2
CW
9252010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
926
927 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
928 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
929 default entry if GRUB_SAVEDEFAULT=true. This allows using
930 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
931 saving a new default on every boot.
932
4a8a763c
VS
9332010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
934
935 * normal/crypto.c (read_crypto_list): Fix a memory leak.
936 * normal/term.c (read_terminal_list): Likewise.
937 * normal/main.c (grub_normal_init_page): Likewise.
938 (grub_normal_read_line_real): Likewise.
939
607ffde2
VS
9402010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
941
942 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
943 memory leak.
944 Reported by: Seth Goldberg.
945
2b8fa975
CW
9462010-02-24 Joey Korkames <joey+lists@kidfixit.com>
947
948 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
949 duplicate declaration of `start'.
950
618307dd
VS
9512010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
952
953 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
954 filename.
955 Reported by: Georgy Buranov
956
7dd05b96 9572010-02-20 Carles Pina i Estany <carles@pina.cat>
958
959 * util/grub-mkrawimage.c (usage): Change string formatting to
960 improve gettext.
961
d1484a42
MRA
9622010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
963
964 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
965 backspace keys.
966
42b1d186
VS
9672010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
968
969 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
970 Reported by: Michael Suchanek.
971
9722010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
973
974 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
975 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
976
d9f31a41
VS
9772010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
978
979 Remove any reference to non-free fonts.
980
981 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
982 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
983 uses non-free components.
984 * font/font.c (grub_font_get_name): Remove example name.
985 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
986 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
987 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
988 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
989
2793c71e
GB
9902010-02-16 Georgy Buranov <gburanov@gmail.com>
991
992 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
993
402e3779
VS
9942010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
995
996 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
997 Double divisor.
998 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
999 features.
1000 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
1001
0dd1e0dd
VS
10022010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
1003
1004 * gensymlist.sh.in: Use TARGET_CC instead of CC.
1005
6fa7cfce
ST
10062010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
1007
1008 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
1009 * docs/grub.texi (Command-line and menu entry commands): Document play
1010 command.
1011
37c8483b
ST
10122010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
1013
1014 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
1015 parse arguments as inline tempo and notes. Move code for playing notes
1016 to...
1017 (play): ... new function.
1018
14da0fb7
ST
10192010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
1020
1021 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
1022 grub_uint16_t instead of short.
1023 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
1024 disk from little endian to cpu endianness.
1025
04459e70
ST
10262010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
1027
1028 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
1029 GRUB_TICKS_PER_SECOND instead of 120.
1030
a0876943
VS
10312010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
1032
1033 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
1034 escape sequence after \e.
1035
e29f95dc
VS
10362010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
1037
1038 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
1039 non-ASCII characters.
1040
d27859b2
VS
10412010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
1042
1043 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
1044 set root in single quotes to prevent \, from being unescaped.
1045
bc028f2f
VS
10462010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
1047
1048 Prevent unknown commands from stopping menuentry execution.
1049
1050 * script/execute.c (grub_script_execute_cmdline): Print error after
1051 unknown command.
1052
095f5f82
VS
10532010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
1054
1055 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
1056 Reported by: Pavel Pisa.
1057
8c717950
VS
10582010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
1059
1060 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
1061
904935c3
VS
10622010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
1063
1064 Merge grub_ieee1275_map_physical into grub_map and rename to
1065 grub_ieee1275_map
1066
1067 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
1068 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
1069 Remove.
1070 * kern/ieee1275/openfw.c (grub_map): Rename to ...
1071 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
1072 necessary.
1073 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
1074
5b59a4e3
VS
10752010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
1076
1077 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
1078 opening and not after.
1079
69e137e8
VS
10802010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
1081
1082 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
1083 constants.
1084
2c0fcc36
VS
10852010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
1086
1087 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
1088 (alloc_phys): Use ALIGN_UP instead of align_addr.
1089
8c6052ce
VS
10902010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
1091
1092 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
1093
17cec782
VS
10942010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
1095
1096 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
1097
e0128bbd
VS
10982010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
1099
1100 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
1101 verbose dprintf.
1102
ca62070b
VS
11032010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
1104
1105 Fix over-4GiB seek on sparc64.
1106
1107 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
1108 Replace pos_i and pos_lo with pos. All users updated.
1109 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
1110 New constant.
1111 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
1112 Likewise.
1113 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
1114 and pos_lo.
1115
bdca2607
VS
11162010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
1117
1118 * util/grub-mkrawimage.c (main): Call set_program_name.
1119
da278c4d
VS
11202010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
1121
1122 Properly align 64-bit targets.
1123
1124 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
1125 (generate_image): Use ALIGN_ADDR.
1126
b274d734
VS
11272010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
1128
1129 Properly create cross-endian images.
1130
1131 * include/grub/types.h (grub_host_to_target_addr): New macro
1132 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
1133
82da2062
VS
11342010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
1135
1136 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
1137
7cae4377
VS
11382010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1139
1140 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
1141
1142 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
1143 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
1144 (grub_linux_boot): Divide by 64K when on VESA.
1145
65a533e7
VS
11462010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1147
1148 Support GRUB_GFXPAYLOAD_LINUX.
1149
1150 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
1151 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
1152
dd01d397
VS
11532010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1154
1155 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
1156 to show messages instead of discarding them.
1157 Process errors after executing command and not before. Keep old method
1158 too as precaution.
1159
660960d6
VS
11602010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1161
1162 * configure.ac: Check for ft2build.h.
1163
62509f04
VS
11642010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1165
1166 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
1167
473df63d
VS
11682010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1169
1170 * genkernsyms.sh.in: Use TARGET_CC.
1171
c98d2a13
CW
11722010-02-07 Colin Watson <cjwatson@ubuntu.com>
1173
1174 * NEWS: Update.
1175
6e14234c
VS
11762010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1177
1178 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
1179 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
1180 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 1181
b255e9cf
YB
11822010-02-07 Yves Blusseau <blusseau@zetam.org>
1183
6e14234c 1184 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 1185
98e6959d
VS
11862010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1187
1188 Fix warnings in grub-emu when compiling with maximum warning options.
1189
1190 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
1191 (grub_arch_modules_addr): Return 0 and not NULL.
1192 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 1193 (xstrdup): Use newstr instead of dup.
f88d801b
VS
1194 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
1195 of disk to dsk to avoid shadowing.
74e4934e
VS
1196 (find_free_slot): Fix prototype.
1197 * util/getroot.c (grub_util_is_dmraid): Make static.
1198 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
1199 Add missing prototype.
1200 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 1201
74e31b5c
VS
12022010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1203
1204 * loader/i386/linux.c (grub_linux_setup_video): Handle error
1205 appropriately.
1206
6b2ad14b
VS
12072010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1208
1209 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
1210 code out.
1211
8f891adc
VS
12122010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1213
1214 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
1215 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
1216 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
1217 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
1218 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
1219 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
1220
74b45184
VS
12212010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1222
1223 * include/grub/err.h (grub_err_printf): Don't export.
1224
a4bced77
VS
12252010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1226
1227 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
1228
007d0695
VS
12292010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1230
1231 * include/grub/i18n.h (grub_gettext_dummy): Removed.
1232 * kern/misc.c (grub_gettext_dummy): Make static.
1233
b6c0d9c2
VS
12342010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1235
1236 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
1237 by non-valid ones.
1238 * kern/term.c (grub_putchar): Likewise.
1239
f51a90d0
VS
12402010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1241
1242 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
1243 buggy hook call and memory leak.
1244
6846cec5
VS
12452010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1246
1247 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
1248
468d69fe
VS
12492010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1250
1251 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
1252
51906b8c
VS
12532010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1254
1255 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
1256 modevar.
1257 Return grub_errno on allocation error.
1258
09706ce5
VS
12592010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1260
1261 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
1262
911df80c
YB
12632010-02-06 Yves Blusseau <blusseau@zetam.org>
1264
1265 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
1266 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
1267
3746a6bc
VS
12682010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1269
1270 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
1271 non-pxe disk.
1272 (grub_pxefs_open): Likewise.
1273
09706ce5
VS
12742010-02-06 Robert Millan <rmh.grub@aybabtu.com>
1275
1276 * util/grub.d/10_hurd.in: Add --class information to menuentries.
1277 * util/grub.d/10_kfreebsd.in: Likewise.
1278 * util/grub.d/10_linux.in: Likewise.
1279
7cc192d9
VS
12802010-02-06 Colin D Bennett <colin@gibibit.com>
1281
1282 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
1283 (gfxmenu_mod_SOURCES): New variable.
1284 (gfxmenu_mod_CFLAGS): Likewise.
1285 (gfxmenu_mod_LDFLAGS): Likewise.
1286 * include/grub/term.h (grub_term_set_current_output): Declare
1287 argument as const.
1288 * docs/gfxmenu-theme-example.txt: New file.
1289 * gfxmenu/gfxmenu.c: Likewise.
1290 * gfxmenu/gui_box.c: Likewise.
1291 * gfxmenu/gui_canvas.c: Likewise.
1292 * gfxmenu/gui_circular_progress.c: Likewise.
1293 * gfxmenu/gui_image.c: Likewise.
1294 * gfxmenu/gui_label.c: Likewise.
1295 * gfxmenu/gui_list.c: Likewise.
1296 * gfxmenu/gui_progress_bar.c: Likewise.
1297 * gfxmenu/gui_string_util.c: Likewise.
1298 * gfxmenu/gui_util.c: Likewise.
1299 * gfxmenu/icon_manager.c: Likewise.
1300 * gfxmenu/model.c: Likewise.
1301 * gfxmenu/named_colors.c: Likewise.
1302 * gfxmenu/theme_loader.c: Likewise.
1303 * gfxmenu/view.c: Likewise.
1304 * gfxmenu/widget-box.c: Likewise.
1305 * include/grub/gfxmenu_model.h: Likewise.
1306 * include/grub/gfxmenu_view.h: Likewise.
1307 * include/grub/gfxwidgets.h: Likewise.
1308 * include/grub/gui.h: Likewise.
1309 * include/grub/gui_string_util.h: Likewise.
1310 * include/grub/icon_manager.h: Likewise.
1311
13122010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1313
1314 Agglomerate scrolling in gfxterm.
1315
1316 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
1317 (grub_virtual_screen_setup): Initialise 'total_screen'.
1318 (write_char): Split to ...
1319 (paint_char): ... this ...
1320 (write_char): ... and this.
1321 (paint_char): Handle delayed scrolling.
1322 (draw_cursor): Likewise.
1323 (scroll_up): Split to ...
1324 (real_scroll): ... this ...
1325 (scroll_up): ... and this.
1326 (real_scroll): Handle multi-line scroll and draw below-the-bottom
1327 characters.
1328 (grub_gfxterm_refresh): Call real_scroll.
1329
13302010-02-06 Colin D Bennett <colin@gibibit.com>
1331
1332 * include/grub/misc.h (grub_iscntrl): New inline function.
1333 (grub_isalnum): Likewise.
1334 (grub_strtol): Likewise.
1335
13362010-02-06 Colin D Bennett <colin@gibibit.com>
1337
1338 * normal/menu_text.c (get_entry_number): Move from here ...
1339 * normal/menu.c (get_entry_number): ... moved here.
1340 * include/grub/menu.h (grub_menu_get_default_entry_index):
1341 New prototype.
1342 * normal/menu.c (grub_menu_get_default_entry_index): New function.
1343 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
1344 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
1345 (grub_menu_viewer_should_return): Likewise.
1346 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
1347 * normal/menu_text.c (run_menu): Enable menu switching.
1348 * normal/menu_viewer.c (should_return): New variable.
1349 (menu_viewer_changed): Likewise.
1350 (grub_menu_viewer_show_menu): Handle menu viewer changes.
1351 (grub_menu_viewer_should_return): New function.
1352 (menuviewer_write_hook): Likewise.
1353 (grub_menu_viewer_init): Likewise.
1354
13552010-02-06 Colin D Bennet <colin@gibibit.com>
13562010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1357
1358 Support for gfxterm in a window.
1359
1360 * include/grub/gfxterm.h: New file.
1361 * include/grub/video.h (struct grub_video_rect): New declaration.
1362 (grub_video_rect_t): Likewise.
1363 * term/gfxterm.c (struct grub_gfxterm_window): New type.
1364 (refcount): New variable.
1365 (render_target): Likewise.
1366 (window): Likewise.
1367 (repaint_callback): Likewise.
1368 (grub_virtual_screen_setup): Use 'render_target'.
1369 (init_window): New function.
1370 (grub_gfxterm_init_window): Likewise.
1371 (grub_gfxterm_init): Check reference counter.
1372 Use init_window.
1373 (destroy_window): New function.
1374 (grub_gfxterm_destroy_window): Likewise.
1375 (grub_gfxterm_fini): Check reference counter.
1376 Use destroy_window.
1377 (redraw_screen_rect): Restore viewport.
1378 Use 'render_target' and 'window'.
1379 Call 'repaint_callback'.
1380 (write_char): Use 'render_target'.
1381 (draw_cursor): Likewise.
1382 (scroll_up): Restore viewport.
1383 Use 'render_target' and 'window'.
1384 Call 'repaint_callback'.
1385 (grub_gfxterm_cls): Likewise.
1386 (grub_gfxterm_refresh): Use 'window'.
1387 (grub_gfxterm_set_repaint_callback): New function.
1388 (grub_gfxterm_background_image_cmd): Use 'window'.
1389 (grub_gfxterm_get_term): New function.
1390 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
1391
13922010-02-06 Colin D Bennett <colin@gibibit.com>
1393
1394 Bitmap scaling support.
1395
1396 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
1397 (bitmap_scale_mod_SOURCES): New variable.
1398 (bitmap_scale_mod_CFLAGS): Likewise.
1399 (bitmap_scale_mod_LDFLAGS): Likewise.
1400 * include/grub/bitmap_scale.h: New file.
1401 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
1402 (background_image_cmd_options): New variable.
1403 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
1404 (cmd): Rename and change type to ...
1405 (background_image_cmd_handle): ... this. All users updated.
1406 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
1407 * video/bitmap_scale.c: New file.
1408
14092010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1410
1411 SDL support.
1412
1413 * Makefile.in (LIBSDL): New variable.
1414 (enable_grub_emu_sdl): Likewise.
1415 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
1416 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
1417 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
1418 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
1419 * util/sdl.c: New file.
1420
14212010-02-06 Colin D Bennett <colin@gibibit.com>
14222010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1423
1424 Double buffering support.
1425
1426 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
1427 * include/grub/video.h: Update comment.
1428 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
1429 New type.
1430 (grub_video_fb_doublebuf_blit_init): New prototype.
1431 * term/gfxterm.c (scroll_up): Support double buffering.
1432 (grub_gfxterm_refresh): Likewise.
1433 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
1434 (grub_video_fb_doublebuf_blit_init): Likewise.
1435 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
1436 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
1437 'displayed_page', 'render_page' and 'update_screen'.
1438 (grub_video_vbe_fini): Free offscreen buffer.
1439 (doublebuf_pageflipping_commit): New function.
1440 (doublebuf_pageflipping_update_screen): Likewise.
1441 (doublebuf_pageflipping_init): Likewise.
1442 (double_buffering_init): Likewise.
1443 (grub_video_vbe_setup): Enable doublebuffering.
1444 (grub_video_vbe_swap_buffers): Implement.
1445 (grub_video_vbe_set_active_render_target): Handle double buffering.
1446 (grub_video_vbe_get_active_render_target): Likewise.
1447 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
1448 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
1449 (grub_video_vbe_enable_double_buffering): Likewise.
1450 (grub_video_vbe_swap_buffers): Use update_screen.
1451 (grub_video_set_mode): Use double buffering.
1452
14532010-02-06 Robert Millan <rmh.grub@aybabtu.com>
1454
1455 * maintainance/gentrigtables.py: Remove.
1456 * lib/trig.c: Likewise.
1457
1458 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
1459
1460 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
1461 `trigtables.c'.
1462 (trigtables.c): New rule.
1463 (gentrigtables): Likewise.
1464 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
1465
14662010-02-06 Robert Millan <rmh.grub@aybabtu.com>
1467
1468 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
1469 integer constants.
1470
14712010-02-06 Colin D Bennet <colin@gibibit.com>
1472
1473 Trigonometry support.
1474
1475 * include/grub/trig.h: New file.
1476 * lib/trig.c: Likewise.
1477 * maintainance/gentrigtables.py: Likewise.
1478 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
1479 (trig_mod_SOURCES): New variable.
1480 (trig_mod_CFLAGS): Likewise.
1481 (trig_mod_LDFLAGS): Likewise.
1482
5562834e
VS
14832010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1484
1485 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
1486 disk devices.
1487
4f8528fc
VS
14882010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1489
1490 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
1491 error.
1492
2b4068e9
VS
14932010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1494
1495 * util/hostdisk.c (open_device): Don't use partition device when reading
1496 before the partition.
1497 (grub_util_biosdisk_read): Don't read from partition and before the
1498 partition in single operation.
1499 (grub_util_biosdisk_write): Don't write to partition and before the
1500 partition in single operation.
1501
399f6e4d
TL
15022010-02-03 Torsten Landschoff <torsten@debian.org>
1503
1504 * kern/disk.c (grub_disk_read): Fix offset computation when reading
1505 last sectors.
1506
996649b0
VS
15072010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1508
1509 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
1510 CDROM reads.
1511 (grub_biosdisk_write): Refuse to write to CDROM.
1512
3b205d4d
VS
15132010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1514
1515 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
1516
61e89d9d
VS
15172010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1518
1519 * font/font.c (find_glyph): Check that bmp_idx is available before
1520 using it.
1521 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
1522 with (font == NULL).
1523
bf7fcba2
CS
15242010-01-28 Christian Schmitt <chris@ilovelinux.de>
1525
1526 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
1527
f45d2663
BC
15282010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
1529
1530 * include/grub/script_sh.h (sourcecode): Add const qualifier.
1531 * util/grub-script-check.c (getline): Fix empty lines case.
1532
ec1444e6
RM
15332010-01-28 Robert Millan <rmh.grub@aybabtu.com>
1534
1535 * Makefile.in (check): Exit with fail status when one of the tests
1536 fails.
1537 * tests/example_functional_test.c (example_test): Fix reversed assert.
1538 * tests/example_unit_test.c (example_test): Likewise.
1539
2e1cb9bb
CW
15402010-01-28 Colin Watson <cjwatson@ubuntu.com>
1541
1542 * util/grub.d/10_linux.in: This script does not use any of the
1543 contents of gettext.sh, only the external command `gettext', so stop
1544 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
1545 the same prefix as GRUB.)
1546 * util/grub.d/10_kfreebsd.in: Likewise.
1547
63533ab0
VS
15482010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1549
1550 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
1551 of the line.
1552
989e1f93
VS
15532010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1554
1555 * kern/disk.c (grub_disk_read): Fix offset computation when reading
1556 last sectors.
1557
e709ebe2
VS
15582010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1559
1560 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
1561 having a 4KiB and not 32KiB buffer size.
1562
27dea7ed
RM
15632010-01-27 Robert Millan <rmh.grub@aybabtu.com>
1564
1565 * util/hostfs.c: Include `<errno.h>'.
1566 (grub_hostfs_read): Handle errors from fseeko() and fread().
1567
67667b9c
RM
15682010-01-27 Robert Millan <rmh.grub@aybabtu.com>
1569
1570 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
1571 loop when using read hooks on files whose size isn't sector-aligned.
1572
c294d9d8
RM
15732010-01-27 Robert Millan <rmh.grub@aybabtu.com>
1574
1575 Remove unused parameter.
1576
1577 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
1578 (grub_iso9660_open): Remove initialization of `data->length'.
1579
af75a9f1
RM
15802010-01-27 Robert Millan <rmh.grub@aybabtu.com>
1581
1582 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
1583 memleak conditions.
1584
254e2ce5 15852010-01-27 Carles Pina i Estany <carles@pina.cat>
1586
1587 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
1588 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
1589
b510928c 15902010-01-26 Carles Pina i Estany <carles@pina.cat>
1591
1592 * util/bin2h.c (usage): Fix warning (space after backslash).
1593
aa2f9dd2 15942010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 1595
1596 * font/font.c: Include `grub/fontformat.h.
1597 Remove font file format constants.
1598 (grub_font_load): Use the new macros.
1599 * include/grub/fontformat.h: New file.
1600 * util/grub-mkfont.c: Include `grub/fontformat.c'.
1601 (write_font_pf2): Use the new macros.
1602
94e7e712
RM
16032010-01-26 Robert Millan <rmh.grub@aybabtu.com>
1604
1605 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
1606 does.
1607
3973a59a
RM
16082010-01-26 Robert Millan <rmh.grub@aybabtu.com>
1609
1610 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
1611
1612 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
1613 (_start): Macroify `0x7F'.
1614
1615 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
1616 (make_install_device): Use "(pxe)" as fallback prefix when booting
1617 via PXE.
1618
42e0cba3
GS
16192010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
1620
1621 * configure.ac: Reset LIBS after check for libgcc symbols.
1622
847effd8
CW
16232010-01-25 Colin Watson <cjwatson@ubuntu.com>
1624
1625 * util/hostdisk.c (open_device): Add trailing newline to debug
1626 message.
1627
ea4a7e35
GS
16282010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
1629
1630 * configure.ac: Check for `limits.h'.
1631 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
1632
67951a53
RM
16332010-01-24 Robert Millan <rmh.grub@aybabtu.com>
1634
1635 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
1636 capitalize error strings.
1637
c273d4ce
ST
16382010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
1639
1640 * util/grub.d/10_hurd.in: Add a recovery mode.
1641
69be5b74
VS
16422010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
1643
1644 * configure.ac: Check for libgcc symbols with -nostdlib.
1645
fc9e5810
BC
16462010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
1647
1648 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
1649
4b358c0a
VS
16502010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1651
1652 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
1653 stack since heap may be unavailable at that point.
1654 (grub_ofconsole_gotoxy): Likewise.
1655
454fcd1c
VS
16562010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1657
1658 * configure.ac: Check for _restgpr_14_x.
1659 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
1660 and _savegpr_* prototypes.
1661
566863ca
RM
16622010-01-22 Robert Millan <rmh.grub@aybabtu.com>
1663
1664 Use generic grub_reboot() for i386-efi.
1665
1666 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
1667 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
1668 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
1669
bf86e59a
VS
16702010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1671
1672 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
1673 presence of "prefix" variable as it breaks when normal.mod is
1674 embedded.
1675
d645e0f8
VS
16762010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1677
1678 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
1679 stack since heap is unavailable at that point.
1680
f9ab2e25
VS
16812010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1682
1683 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
1684 (grub_freebsd_bootinfo): Rewritten.
1685 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
1686
01fc7054
VS
16872010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1688
1689 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
1690
caab4fd6
RM
16912010-01-21 Robert Millan <rmh.grub@aybabtu.com>
1692
1693 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
1694 domain now.
1695
67eb1427
FZ
16962010-01-20 Felix Zielcke <fzielcke@z-51.de>
1697
1698 * util/misc.c (make_system_path_relative_to_its_root): Change the work
1699 around for handling "/" to the correct fix. Fix a memory leak. Use
1700 xstrdup instead of strdup.
1701
a9ed4ff3
VS
17022010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1703
1704 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
1705
17062010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
1707
1708 Optimise glyph lookup by Basic Multilingual Plane lookup array.
1709
1710 * font/font.c (struct grub_font): New member 'bmp_idx'.
1711 (font_init): Initialise 'bmp_idx'.
1712 (load_font_index): Fill 'bmp_idx'.
1713 (find_glyph): Make inline. Use bmp_idx for BMP characters.
1714
48209f4f
VS
17152010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1716
1717 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
1718 unnecessary calls.
1719
9f0a4bb7
VS
17202010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1721
1722 Move context handling out of the kernel.
1723
1724 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
1725 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
1726 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
1727 * conf/i386-efi.rmk: Likewise.
1728 * conf/i386-ieee1275.rmk: Likewise.
1729 * conf/i386-pc.rmk: Likewise.
1730 * conf/powerpc-ieee1275.rmk: Likewise.
1731 * conf/sparc64-ieee1275.rmk: Likewise.
1732 * conf/x86_64-efi.rmk: Likewise.
1733 * include/grub/env.h: Include grub/menu.h.
1734 (grub_env_var_type): Removed.
1735 (grub_env_var): Replaced field 'type' with 'global'.
1736 (grub_env_find): New prototype.
1737 (grub_env_context_open): Remove EXPORT_FUNC.
1738 (grub_env_context_close): Likewise.
1739 (grub_env_export): Likewise.
1740 (grub_env_set_data_slot): Removed.
1741 (grub_env_get_data_slot): Likewise.
1742 (grub_env_unset_data_slot): Likewise.
1743 (grub_env_unset_menu): New prototype.
1744 (grub_env_set_menu): Likewise.
1745 (grub_env_get_menu): Likewise.
1746 * include/grub/env_private.h: New file.
1747 * include/grub/normal.h (grub_context_init): New prototype.
1748 (grub_context_fini): Likewise.
1749 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
1750 * normal/context.c (grub_cmd_export): ... to here.
1751 * kern/env.c: Include env_private.h.
1752 (HASHSZ): Moved to include/grub/env_private.h.
1753 (grub_env_context): Likewise.
1754 (grub_env_sorted_var): Likewise.
1755 (current_context): Renamed from this ...
1756 (grub_current_context): ...to this. 'static' removed. All users updated.
1757 (grub_env_find): Removed 'static'.
1758 (grub_env_context_open): Moved to normal/context.c.
1759 (grub_env_context_close): Likewise.
1760 (grub_env_export): Likewise.
1761 (mangle_data_slot_name): Removed.
1762 (grub_env_set_data_slot): Likewise.
1763 (grub_env_get_data_slot): Likewise.
1764 (grub_env_unset_data_slot): Likewise.
1765 * kern/main.c (grub_set_root_dev): Don't export root.
1766 It will be done later.
1767 (grub_main): Don't export prefix.
1768 It will be done later.
1769 * normal/context.c: New file.
1770 * normal/main.c (free_menu): Use grub_env_unset_menu.
1771 (grub_normal_add_menu_entry): Use grub_env_get_menu.
1772 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
1773 (GRUB_MOD_INIT(normal)): Call grub_context_init.
1774 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
1775
8dd35b8c
VS
17762010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1777
1778 setpci support.
1779
1780 * commands/setpci.c: New file.
1781 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
1782 (setpci_mod_SOURCES): New variable.
1783 (setpci_mod_CFLAGS): Likewise.
1784 (setpci_mod_LDFLAGS): Likewise.
1785
449193d5
VS
17862010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1787
1788 Byte-addressable PCI configuration space.
1789
1790 * bus/pci.c (grub_pci_make_address): Use byte address instead of
1791 dword address.
1792 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
1793 GRUB_PCI_REG_CACHELINE.
1794 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
1795 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
1796 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
1797 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
1798 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
1799 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
1800 grub_pci_make_address.
1801 (lock_rom_area): Likewise.
1802 * commands/lspci.c (grub_lspci_iter): Use macroses
1803 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
1804 of grub_pci_make_address.
1805 * disk/ata.c (grub_ata_pciinit): Likewise.
1806 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
1807 (GRUB_PCI_REG_VENDOR): Likewise.
1808 (GRUB_PCI_REG_DEVICE): Likewise.
1809 (GRUB_PCI_REG_COMMAND): Likewise.
1810 (GRUB_PCI_REG_STATUS): Likewise.
1811 (GRUB_PCI_REG_REVISION): Likewise.
1812 (GRUB_PCI_REG_CLASS): Likewise.
1813 (GRUB_PCI_REG_CACHELINE): Likewise.
1814 (GRUB_PCI_REG_LAT_TIMER): Likewise.
1815 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
1816 (GRUB_PCI_REG_BIST): Likewise.
1817 (GRUB_PCI_REG_ADDRESSES): Likewise.
1818 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1819 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1820 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1821 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1822 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1823 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1824 (GRUB_PCI_REG_CIS_POINTER): Likewise.
1825 (GRUB_PCI_REG_SUBVENDOR): Likewise.
1826 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
1827 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
1828 (GRUB_PCI_REG_CAP_POINTER): Likewise.
1829 (GRUB_PCI_REG_IRQ_LINE): Likewise.
1830 (GRUB_PCI_REG_IRQ_PIN): Likewise.
1831 (GRUB_PCI_REG_MIN_GNT): Likewise.
1832 (GRUB_PCI_REG_MAX_LAT): Likewise.
1833 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
1834 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
1835 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 1836 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
1837 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
1838 space.
1839
96d73208
RM
18402010-01-20 Robert Millan <rmh.grub@aybabtu.com>
1841
1842 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
1843 can be reliably determined to be supported.
1844
d4484482
RM
18452010-01-20 Robert Millan <rmh.grub@aybabtu.com>
1846
1847 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
1848 that VESA is supported.
1849 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
1850 supported.
1851
00308ecf
VS
18522010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1853
1854 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
1855
f66924a4
RM
18562010-01-20 Robert Millan <rmh.grub@aybabtu.com>
1857
1858 * util/misc.c (make_system_path_relative_to_its_root): Work around
1859 special-casing of "/", as previous incarnation of this routine did.
1860
cbca0ada
VS
18612010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1862
1863 Fix any-emu compilation.
1864
1865 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
1866 * grub_bin2h_SOURCES: New variable.
1867
34a66d99
RM
18682010-01-20 Robert Millan <rmh.grub@aybabtu.com>
1869
1870 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
1871
94fabf58
RM
18722010-01-20 Robert Millan <rmh.grub@aybabtu.com>
1873
1874 * util/grub.d/00_header.in: Fix handling of locale_dir.
1875
02cf98ca
VS
18762010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1877
1878 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
1879 as possible unifont location (Gentoo).
1880 Reported by: Alexander Brüning
1881
327dbcd7
VS
18822010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1883
1884 Don't try to generate lists for kernel.img.
1885
1886 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
1887 (pkglib_MODULES): Remove kernel.img.
1888 (kernel_img_EXPORTS): Removed.
1889 (kernel_img_RELOCATABLE): New variable.
1890 * conf/x86_64-efi.rmk: Likewise.
1891 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
1892
ca467290
VS
18932010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1894
1895 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
1896 grub_xasprintf or grub_snprintf.
1897 (grub_vsprintf): Likewise.
1898 (grub_snprintf): New proto.
1899 (grub_vsnprintf): Likewise.
1900 (grub_xasprintf): Likewise.
1901 (grub_xvasprintf): Likewise.
1902 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
1903 (grub_sprintf): Removed.
1904 (grub_vsnprintf): New function.
1905 (grub_snprintf): Likewise.
1906 (grub_xvasprintf): Likewise.
1907 (grub_xasprintf): Likewise.
1908 (grub_vsprintf): Renamed to ...
1909 (grub_vsnprintf_real): ...this. New argument max_len.
1910
aca655fd
BC
19112010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
1912
1913 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
1914 fix grub-script-check warning.
1915
7ee92c32
VS
19162010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1917
1918 * include/grub/font.h (grub_font_load): Fix prototype.
1919
f80927ca
VS
19202010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1921
1922 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
1923
119c50ea
VS
19242010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1925
1926 * include/grub/x86_64/at_keyboard.h: New file.
1927
47d5f3c1
VS
19282010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1929
1930 * loader/mips/linux.c: Include missing grub/i18n.h.
1931
55ff5266
RM
19322009-12-20 Robert Millan <rmh.grub@aybabtu.com>
1933
1934 * normal/menu.c (notify_execution_failure): Clarify error message.
1935
c893cc87
RM
19362009-12-20 Robert Millan <rmh.grub@aybabtu.com>
1937
1938 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
1939 return value (and revert all return statements). Update users.
1940
917dd370
CW
19412010-01-20 Dan Merillat <debian@dan.merillat.org>
1942
1943 * kern/device.c (grub_device_iterate): Allocate new part_ent
1944 structure based on sizeof (*p) rather than sizeof (p->next), to
1945 account for structure padding.
1946
1947 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
1948 disk is NULL, which might happen for LVM physical volumes with no
1949 LVM signature.
1950
d4a4ee57
RM
19512009-12-20 Robert Millan <rmh.grub@aybabtu.com>
1952
1953 * loader/mips/linux.c (grub_cmd_initrd)
1954 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
1955
19562009-12-20 Robert Millan <rmh.grub@aybabtu.com>
1957
1958 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
1959 (grub_video_video_init, grub_video_bitmap_init)
1960 (grub_font_manager_init, grub_term_gfxterm_init)
1961 (grub_at_keyboard_init): New extern declarations.
1962 (grub_machine_init): Initialize gfxterm and at_keyboard.
1963
1964 * kern/main.c (grub_main): Revert grub_printf delay kludge.
1965
1966 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
1967 `gfxterm.mod' into core image.
1968
1969 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
1970 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
1971 (kernel_img_FORMAT): Copy to ...
1972
1973 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
1974 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
1975 (kernel_img_FORMAT): ... here, and ...
1976
1977 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
1978 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
1979 (kernel_img_FORMAT): ... here.
1980
1981 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
1982 and input (at_keyboard) terminals in kernel.
1983 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
1984
1985 (pkglib_MODULES): Remove `pci.mod'.
1986 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
1987 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
1988 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
1989 (at_keyboard_mod_LDFLAGS): Remove variables.
1990
19912010-01-11 Felix Zielcke <fzielcke@z-51.de>
1992
1993 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
1994
19952009-12-10 Robert Millan <rmh.grub@aybabtu.com>
1996
1997 * include/grub/mips/libgcc.h: Only export symbols for functions
1998 that libgcc provides.
1999
20002009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
2001
2002 MIPS support.
2003
2004 * bus/bonito.c: New file.
2005 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
2006 GRUB_PCI_NUM_DEVICES.
2007 * term/i386/pc/serial.c: Move to ...
2008 * term/serial.c: ... here. All users updated.
2009 * util/i386/pc/grub-mkimage.c: Move to ...
2010 * util/grub-mkrawimage.c: ... here. All users updated.
2011 * term/i386/pc/at_keyboard.c: Move to ...
2012 * term/at_keyboard.c: ... here. All users updated.
2013 * conf/mips-qemu-mips.rmk: New file.
2014 * conf/mips-yeeloong.rmk: Likewise.
2015 * conf/mips.rmk: Likewise.
2016 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
2017 mipsel-qemu-mips.
2018 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
2019 to port addresses.
2020 (grub_ata_pciinit): Support CS5536.
2021 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
2022 * font/font_cmd.c (loadfont_command): Open file before passing it to
2023 grub_font_load.
2024 (pseudo_file_read): New function.
2025 (pseudo_file_close): Likewise.
2026 (pseudo_fs): New structure.
2027 (load_font_module): New function.
2028 (GRUB_MOD_INIT(font_manager)): Load embedded font.
2029 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
2030 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
2031 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
2032 * include/grub/i386/at_keyboard.h: Split into ...
2033 * include/grub/at_keyboard.h: ... this ...
2034 * include/grub/i386/at_keyboard.h: ... and this.
2035 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
2036 New prototype.
2037 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
2038 updated.
2039 (grub_elf64_size): Likewise.
2040 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
2041 filename.
2042 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
2043 * include/grub/i386/coreboot/serial.h: Rewritten.
2044 * include/grub/i386/ieee1275/serial.h: Include
2045 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
2046 * include/grub/i386/pc/serial.h: Moved from here ...
2047 * include/grub/serial.h: ... to here. All users updated.
2048 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
2049 (GRUB_PCI_NUM_BUS): Likewise.
2050 (GRUB_PCI_NUM_DEVICES): Likewise.
2051 (grub_pci_device_map_range): Add missing volatile keyword.
2052 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
2053 * include/grub/mips/at_keyboard.h: New file.
2054 * include/grub/mips/cache.h: Likewise.
2055 * include/grub/mips/io.h: Likewise.
2056 * include/grub/mips/kernel.h: Likewise.
2057 * include/grub/mips/libgcc.h: Likewise.
2058 * include/grub/mips/pci.h: Likewise.
2059 * include/grub/mips/qemu-mips/boot.h: Likewise.
2060 * include/grub/mips/qemu-mips/kernel.h: Likewise.
2061 * include/grub/mips/qemu-mips/loader.h: Likewise.
2062 * include/grub/mips/qemu-mips/memory.h: Likewise.
2063 * include/grub/mips/qemu-mips/serial.h: Likewise.
2064 * include/grub/mips/qemu-mips/time.h: Likewise.
2065 * include/grub/mips/relocator.h: Likewise.
2066 * include/grub/mips/time.h: Likewise.
2067 * include/grub/mips/types.h: Likewise.
2068 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
2069 * include/grub/mips/yeeloong/boot.h: Likewise.
2070 * include/grub/mips/yeeloong/kernel.h: Likewise.
2071 * include/grub/mips/yeeloong/loader.h: Likewise.
2072 * include/grub/mips/yeeloong/memory.h: Likewise.
2073 * include/grub/mips/yeeloong/pci.h: Likewise.
2074 * include/grub/mips/yeeloong/serial.h: Likewise.
2075 * include/grub/mips/yeeloong/time.h: Likewise.
2076 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
2077 * kern/elf.c (grub_elf32_size): New parameter. All users
2078 updated.
2079 (grub_elf64_size): Likewise.
2080 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
2081 Load modules before saying "Welcome to GRUB!".
2082 Call grub_refresh after saying "Welcome to GRUB!".
2083 * kern/mips/cache.S: New file.
2084 * kern/mips/cache_flush.S: Likewise.
2085 * kern/mips/dl.c: Likewise.
2086 * kern/mips/init.c: Likewise.
2087 * kern/mips/qemu-mips/init.c: Likewise.
2088 * kern/mips/startup.S: Likewise.
2089 * kern/mips/yeeloong/init.c: Likewise.
2090 * kern/term.c (grub_putcode): Handle NULL terminal.
2091 (grub_getcharwidth): Likewise.
2092 (grub_getkey): Likewise.
2093 (grub_checkkey): Likewise.
2094 (grub_getkeystatus): Likewise.
2095 (grub_getxy): Likewise.
2096 (grub_getwh): Likewise.
2097 (grub_gotoxy): Likewise.
2098 (grub_cls): Likewise.
2099 (grub_setcolorstate): Likewise.
2100 (grub_setcolor): Likewise.
2101 (grub_getcolor): Likewise.
2102 (grub_refresh): Likewise.
2103 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
2104 (write_jump): Add hatch nop.
2105 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
2106 * lib/mips/setjmp.S: New file.
2107 * loader/mips/linux.c: Likewise.
2108 * term/i386/pc/at_keyboard.c: Move from here ...
2109 * term/at_keyboard.c: ... to here.
2110 * term/i386/pc/serial.c: Moved from here ...
2111 * term/serial.c: ... to here. All users updated.
2112 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
2113 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
2114 (serial_translate_key_sequence): Avoid deadlock.
2115 (grub_serial_getkey): Handle backspace.
2116 (grub_serial_putchar): Fix newline handling.
2117 * util/i386/pc/grub-mkimage.c: Move from here ...
2118 * util/grub-mkrawimage.c: ... to here. All users updated.
2119 (generate_image): New parameters 'font_path' and 'format'.
2120 Support embedding font.
2121 Use grub_host_to_target* instead of grub_cpu_to_le*.
2122 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
2123 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
2124 (options): New option "--font".
2125 (usage): Likewise.
2126 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
2127 (main): Handle "--font".
2128 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
2129 (grub_virtual_screen_setup): Set bg_color_display.
2130 (redraw_screen_rect): Use bg_color_display instead of incorrect
2131 bg_color.
2132 (grub_gfxterm_cls): Likewise.
2133 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
2134 Support embedding config file.
2135 (add_segments): Likewise.
2136 (options): New option "--config".
2137 (main): Handle "--config".
2138 * video/sm712.c: New file.
2139
25c2b5b3
RM
21402010-01-18 Robert Millan <rmh.grub@aybabtu.com>
2141
2142 Fix parallel builds.
2143
2144 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
2145 font.c depend on ascii.h).
2146
21472010-01-12 Carles Pina i Estany <carles@pina.cat>
2148
2149 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
2150
21512010-01-11 Carles Pina i Estany <carles@pina.cat>
2152
2153 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
2154 By default: disabled.
2155 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
2156 parameter.
2157
21582010-01-10 Carles Pina i Estany <carles@pina.cat>
2159
2160 * font/font.c: Update copyright years.
2161 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
2162
21632010-01-10 Carles Pina i Estany <carles@pina.cat>
2164
2165 * font/font.c: Include `ascii.h'.
2166 (ASCII_BITMAP_SIZE): New macro.
2167 (ascii_font_glyph): Define.
2168 (ascii_glyph_lookup): New function.
2169 (grub_font_get_string_width): Change comment. If glyph not found, use
2170 ascii_glyph_lookup.
2171 (grub_font_get_glyph_with_fallback): If glyph not available returns
2172 ascii_glyph_lookup.
2173 * util/grub-mkfont.c (file_formats): New enum.
2174 (options): Add `ascii-bitmaps' new option.
2175 (usage): Add `asii-bitmaps' new option.
2176 (write_font_ascii_bitmap): New function.
2177 (write_font): Rename to ...
2178 (write_font_p2): ... this. Remove print_glyphs call.
2179 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
2180 used. Call print_glyphs.
2181 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
2182
21832010-01-14 Robert Millan <rmh.grub@aybabtu.com>
2184
2185 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
2186 (grub_bin2h_SOURCES): New variable.
2187 * util/bin2h.c: New file.
2188
915fc1b8
VS
21892010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2190
2191 * include/multiboot.h: Resynced with spec.
2192 * include/multiboot2.h: Likewise.
2193 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
2194 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
2195
9444b678
RM
21962010-01-18 Robert Millan <rmh.grub@aybabtu.com>
2197
2198 * include/grub/term.h (grub_term_register_input,
2199 grub_term_register_output): Check return of terminal init()
2200 routines, and abort if errors are raised.
2201
2202 * commands/terminal.c: Update copyright year.
2203
cba98e8d
RM
22042010-01-18 Robert Millan <rmh.grub@aybabtu.com>
2205
2206 * commands/terminal.c (grub_cmd_terminal_input)
2207 (grub_cmd_terminal_output): Check return of terminal init()
2208 routines, and abort if errors are raised.
2209
6f7db5d6
VS
22102010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2211
2212 * include/grub/i386/bsd.h: Fix include pathes.
2213
262bff8d
VS
22142010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2215
2216 Add missing *BSD copyright headers.
2217
2218 * include/grub/aout.h: Add BSD licence.
2219 * include/grub/i386/bsd.h: Parts under different licences moved to ...
2220 * include/grub/i386/freebsd_linker.h: ... here,
2221 * include/grub/i386/freebsd_reboot.h: ... here,
2222 * include/grub/i386/netbsd_bootinfo.h: ... here,
2223 * include/grub/i386/netbsd_reboot.h: ... here,
2224 * include/grub/i386/openbsd_bootarg.h: ... here,
2225 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
2226 licence to each file.
2227
b2cab848
RM
22282010-01-18 Robert Millan <rmh.grub@aybabtu.com>
2229
2230 * acinclude.m4: Remove `nop' assembly instruction; it's not
2231 implemented by all architectures.
2232
2cb6be4b
RM
22332010-01-18 Robert Millan <rmh.grub@aybabtu.com>
2234
2235 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
2236 ELILO. This is no longer necessary.
2237
a2eaee15
BC
22382010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
2239
2240 Added new tool, grub-scrit-check to verify grub.cfg syntax.
2241
2242 * util/grub-script-check.c: grub-script-check tool.
2243 * conf/common.rmk: Make rules for grub-script-check.
2244
88d17012
RM
22452010-01-18 Robert Millan <rmh.grub@aybabtu.com>
2246
2247 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
2248 spotting it back in 2008. Shame on me for forgetting he did.
2249
2250 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
2251
8040619d
RM
22522010-01-18 Robert Millan <rmh.grub@aybabtu.com>
2253
2254 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
2255 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
2256 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
2257 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
2258 (GRUB_VIDEO_TYPE_EFI): Rename to ...
2259 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
2260
a0c2a0f6
RM
22612010-01-17 Robert Millan <rmh.grub@aybabtu.com>
2262
2263 * include/grub/test.h: Add license header.
2264 * tests/example_functional_test.c: Likewise.
2265 * tests/example_unit_test.c: Likewise.
2266 * tests/lib/functional_test.c: Likewise.
2267 * tests/lib/test.c: Likewise.
2268 * tests/lib/unit_test.c: Likewise.
2269
b0b13907
VS
22702010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
2271
2272 Use flag-based instead of hook-based video mode selection and "auto"
2273 keyword.
2274
2275 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
2276 (grub_video_set_mode): Changed prototype. All users updated.
2277 (grub_video_check_mode_flag): New inline function.
2278 * video/video.c (parse_modespec): New function.
2279 (grub_video_set_mode): Parse flags and keywords.
2280
ea379330 22812010-01-17 Carles Pina i Estany <carles@pina.cat>
2282
2283 * util/misc.c (grub_util_info): Fix the order of the parameters in a
2284 fprintf call.
2285
e15c215e
FZ
22862010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
2287
2288 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
2289
409ae1c9 22902010-01-16 Carles Pina i Estany <carles@pina.cat>
2291
2292 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
2293 string.
2294 * util/grub-emu.c (usage): Likewise.
2295 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
2296 * util/i386/efi/grub-mkimage.c (usage): Likewise.
2297 * util/i386/pc/grub-mkimage.c (usage): Likewise.
2298 * util/i386/pc/grub-setup.c (usage): Likewise.
2299
70a14d3d 23002010-01-16 Carles Pina i Estany <carles@pina.cat>
2301
2302 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
2303 the message.
2304 (grub_util_info): Likewise.
2305 (grub_util_error): Likewise.
2306 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
2307 and/or new lines in `grub_util_warna', `grub_util_info',
2308 `grub_util_error' calls.
2309 * util/getroot.c: Likewise.
2310 * util/grub-editenv.c: Likewise.
2311 * util/grub-emu.c: Likewise.
2312 * util/grub-fstest.c: Likewise.
2313 * util/grub-mkdevicemap.c: Likewise.
2314 * util/grub-mkfont.c: Likewise.
2315 * util/grub-mkpasswd-pbkdf2.c: Likewise.
2316 * util/grub-mkrelpath.c: Likewise.
2317 * util/grub-pe2elf.c: Likewise.
2318 * util/grub-probe.c: Likewise.
2319 * util/hostdisk.c: Likewise.
2320 * util/i386/efi/grub-mkimage.c: Likewise.
2321 * util/i386/pc/grub-mkimage.c: Likewise.
2322 * util/i386/pc/grub-setup.c: Likewise.
2323 * util/ieee1275/ofpath.c: Likewise.
2324 * util/mkisofs/eltorito.c: Likewise.
2325 * util/mkisofs/rock.c: Likewise.
2326 * util/mkisofs/write.c: Likewise.
2327 * util/raid.c: Likewise.
2328 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
2329 * util/sparc64/ieee1275/grub-setup.c: Likewise.
2330
a0b766fc
VS
23312010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
2332
2333 Enable multiboot on non-pc.
2334
2335 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
2336 multiboot.mod and multiboot2.mod to ...
2337 * conf/i386.rmk (pkglib_MODULES): ... here.
2338 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
2339 Moved to ...
2340 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
2341 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
2342 Moved to ...
2343 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
2344 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
2345 Moved to ...
2346 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
2347 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
2348 Moved to ...
2349 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
2350 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
2351 relocator.mod.
2352 (ata_mod_SOURCES): Removed.
2353 (ata_mod_CFLAGS): Likewise.
2354 (ata_mod_LDFLAGS): Likewise.
2355 (relocator_mod_SOURCES): Removed.
2356 (relocator_mod_CFLAGS): Likewise.
2357 (relocator_mod_ASFLAGS): Likewise.
2358 (relocator_mod_LDFLAGS): Likewise.
2359 Include i386.mk.
2360 * include/grub/x86_64/multiboot.h: New file.
2361 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
2362 Terminate EFI.
2363
884ade56
VS
23642010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
2365
2366 Video multiboot support.
2367
2368 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
2369 New prototype.
2370 * include/multiboot.h: Resynced with multiboot specification.
2371 * include/multiboot2.h: Likewise.
2372 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
2373 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
2374 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
2375 (HAS_VGA_TEXT): Likewise.
2376 (accepts_video): New variable.
2377 (grub_multiboot_set_accepts_video): New function.
2378 (grub_multiboot_get_mbi_size): Account for video structures.
2379 (set_video_mode): New function.
2380 (retrieve_video_parameters): Likewise.
2381 (grub_multiboot_make_mbi): Fill video fields.
2382
0d90e8a6
VS
23832010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
2384
2385 Video driver ids.
2386
2387 * include/grub/video.h (grub_video_driver_id): New type.
2388 (grub_video_adapter): New member 'id'. All users updated.
2389 (grub_video_get_driver_id): New proto.
2390 * video/video.c (grub_video_get_driver_id): New function.
2391
5c71db1b 23922010-01-14 Carles Pina i Estany <carles@pina.cat>
2393
2394 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
2395 `var=val'.
2396
cca15b52 23972010-01-14 Carles Pina i Estany <carles@pina.cat>
2398
2399 * normal/cmdline.c (print_completion): Gettextizze.
2400
c586fbb2 24012001-01-14 Carles Pina i Estany <carles@pina.cat>
2402
2403 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
2404
ba2f6848 24052010-01-14 Carles Pina i Estany <carles@pina.cat>
2406
2407 * gettext/gettext.c (grub_gettext_translate): Push and pop
2408 grub_errno.
2409 (grub_gettext_delete_list): Change comment style.
2410 * kern/err.c (grub_error): Gettextizze.
2411 (grub_fatal): Gettextizze.
2412
0a46429a
RM
24132010-01-14 Robert Millan <rmh.grub@aybabtu.com>
2414
2415 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
2416 (grub_linux16_real_boot): ... this.
2417 * kern/i386/loader.S: Likewise.
2418 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
2419 (grub_linux16_boot): New function. Switches to text mode and calls
2420 grub_linux16_real_boot().
2421
2422 * loader/i386/bsd.c: Include `<grub/video.h>'.
2423 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
2424 text mode before calling grub_unix_real_boot().
2425
2426 * loader/i386/multiboot.c: Include `<grub/video.h>'.
2427 (grub_multiboot_boot): Switch to text mode before calling
2428 grub_relocator32_boot().
2429
2430 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
2431 (grub_chainloader_boot): Switch to text mode before calling
2432 grub_chainloader_real_boot().
2433
d6f93a66
RM
24342010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
24352010-01-05 Colin Watson <cjwatson@ubuntu.com>
2436
2437 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
2438 non-empty value.
2439
24402010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
24412010-01-05 Colin Watson <cjwatson@ubuntu.com>
2442
2443 * util/grub.d/00_header.in: Define a "savedefault" function for use
2444 in menu entries.
2445 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
2446
24472010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
24482010-01-05 Colin Watson <cjwatson@ubuntu.com>
2449
2450 * util/grub-mkconfig_lib.in (save_default_entry): Only set
2451 saved_entry if boot_once is unset.
2452 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
2453 previous saved entry (i.e. grub-reboot).
2454
24552009-12-08 Colin Watson <cjwatson@ubuntu.com>
2456
2457 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
2458
24592009-12-08 Colin Watson <cjwatson@ubuntu.com>
2460
2461 * util/grub.d/00_header.in: Use `set var=val' rather than plain
2462 `var=val'.
2463 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
2464
24652009-12-08 Colin Watson <cjwatson@ubuntu.com>
2466
2467 * util/grub-reboot.in: Fix --version output.
2468 * util/grub-set-default.in: Likewise.
2469
24702009-12-08 Colin Watson <cjwatson@ubuntu.com>
2471
2472 * util/grub.d/00_header.in: Silently ignore zero-sized environment
2473 blocks.
2474
24752009-12-08 Colin Watson <cjwatson@ubuntu.com>
2476
2477 * util/grub.d/00_header.in: Quote the value assigned to `default',
2478 in case it contains spaces.
2479
24802009-12-08 Colin Watson <cjwatson@ubuntu.com>
2481
2482 * util/grub.d/30_os-prober.in: Fix merge error that moved a
2483 `save_default_entry' call from the macosx case to the linux case.
2484
24852009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
24862009-10-25 Colin Watson <cjwatson@ubuntu.com>
2487
2488 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
2489 in `chosen' environment variable.
2490 * normal/menu_text.c (get_entry_number): Check if the variable
2491 matches the title of a menu entry.
2492 (run_menu): Pass menu to get_entry_number.
2493
2494 * util/grub-reboot.in: New file.
2495 * util/grub-set-default.in: New file.
2496 * conf/common.rmk (grub-reboot): New utility.
2497 (grub-set-default): New utility.
2498
2499 * util/grub-mkconfig_lib.in (save_default_entry): New function.
2500 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
2501 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
2502 move it to `saved_entry' for the next boot. Load environment on
2503 initialisation.
2504 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
2505 * util/grub.d/10_hurd.in: Likewise.
2506 * util/grub.d/10_linux.in (linux_entry): Likewise.
2507 * util/grub.d/10_windows.in: Likewise.
2508 * util/grub.d/30_os-prober.in: Likewise.
2509
2510 * util/grub-install.in: Create environment block.
2511 * util/i386/efi/grub-install.in: Likewise.
2512 * util/ieee1275/grub-install.in: Likewise.
2513 * util/sparc64/ieee1275/grub-install.in: Likewise.
2514
0934d184
BC
25152010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
2516
2517 Unit testing framework for GRUB.
2518
2519 * Makefile.in: Test framework build rules for 'make check'.
2520 * conf/tests.rmk: Build rules for individual tests and framework.
2521
2522 * include/grub/test.h: Header file for whitebox tests.
2523 * tests/lib/functional_test.c: Framework support for whitebox
2524 functional tests.
2525 * tests/lib/test.c: Common whitebox testing code for unit and
2526 functional tests.
2527 * tests/lib/unit_test.c: Framework support for whitebox unit
2528 tests.
2529
2530 * tests/util/grub-shell-tester.in: Support utility for grub-script
2531 tests.
2532 * tests/util/grub-shell.in: Utility to execute grub-script
2533 commands in a Qemu instance.
2534
2535 * tests/example_functional_test.c: Example whitebox functional
2536 test.
2537 * tests/example_grub_script_test.in: Example grub-script test.
2538 * tests/example_scripted_test.in: Example scripted test.
2539 * tests/example_unit_test.c: Example whitebox unit test.
2540
9c4ffeeb
VS
25412010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2542
2543 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
2544 Add loader/i386/multiboot_mbi.c.
2545 (multiboot2_mod_SOURCES): Likewise.
2546 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
2547 (multiboot2_mod_SOURCES): Likewise.
2548 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
2549 (grub_multiboot_make_mbi): Likewise.
2550 (grub_multiboot_free_mbi): Likewise.
2551 (grub_multiboot_init_mbi): Likewise.
2552 (grub_multiboot_add_module): Likewise.
2553 (grub_multiboot_set_bootdev): Likewise.
2554 * loader/i386/multiboot.c (mbi): Removed.
2555 (mbi_dest): Likewise.
2556 (alloc_mbi): New variable.
2557 (grub_multiboot_payload_size): Removed. All users updated.
2558 (grub_multiboot_pure_size): New variable.
2559 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
2560 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
2561 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
2562 (grub_fill_multiboot_mmap): Likewise.
2563 (grub_multiboot_get_bootdev): Likewise.
2564 (grub_multiboot): Use multiboot_mbi functions.
2565 * loader/i386/multiboot_mbi.c: New file.
2566
17383dfe
VS
25672010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2568
2569 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
2570 it would result in module crash.
2571
c1f28820
VS
25722010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2573
2574 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
2575 (grub_ofconsole_getwh): Split to ...
2576 (grub_ofconsole_getwh): ... this.
2577 (grub_ofconsole_dimensions): ...and this.
2578 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
2579
58655a16
RM
25802010-01-13 Robert Millan <rmh.grub@aybabtu.com>
2581
2582 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
2583
10891398
VS
25842010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2585
2586 * loader/i386/pc/multiboot2.c: Removed stalled file.
2587
0b8a223c
VS
25882010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2589
2590 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
2591 Reported by: Grégoire Sutre
2592
92ab12b0
RM
25932010-01-11 Robert Millan <rmh.grub@aybabtu.com>
2594
2595 * util/misc.c (canonicalize_file_name): New function.
2596 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
2597 instead of realpath().
2598
a788afb6
CW
25992010-01-11 Colin Watson <cjwatson@ubuntu.com>
2600
2601 * util/grub-install.in (usage): Clarify meaning of --root-directory,
2602 and make it clearer that it's optional. Based on confusion
2603 witnessed on IRC.
2604
ffa8e3d2
VS
26052010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2606
2607 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
2608 in premature implicit newline.
2609
e9060a9d
VS
26102010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2611
2612 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
2613 which resulted in garbled command line at the end of screen.
2614
f0d0c0b7
RM
26152010-01-10 Robert Millan <rmh.grub@aybabtu.com>
2616
2617 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
2618 initialization with similar approach as with other Linux loaders.
2619
0e60bae7
RM
26202010-01-10 Robert Millan <rmh.grub@aybabtu.com>
2621
2622 Fix i386-ieee1275 build.
2623
2624 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
2625 and grub_term_height() for video_{width,height} initialization.
2626
26272010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
2628
2629 Fix grub-emu build.
2630
2631 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
2632
cdb3f378
RM
26332010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
26342010-01-09 Robert Millan <rmh.grub@aybabtu.com>
2635
2636 Support for multiple terminals.
2637
2638 * Makefile.in (pkglib_DATA): terminal.lst.
2639 (terminal.lst): New target.
2640 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
2641 (GRUB_MOD_INIT(handler)): Likewise.
2642 (GRUB_MOD_FINI(handler)): Likewise.
2643 * commands/help.c (grub_cmd_help): Handle multiple terminals.
2644 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
2645 * commands/sleep.c (do_print): Use grub_term_restore_pos.
2646 (grub_cmd_sleep): Use grub_term_save_pos.
2647 * commands/terminal.c: New file.
2648 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
2649 commands/terminal.c and lib/charset.c.
2650 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
2651 (pkglib_MODULES): Add terminal.mod.
2652 (terminal_mod_SOURCES): New variable.
2653 (terminal_mod_CFLAGS): Likewise.
2654 (terminal_mod_LDFLAGS): Likewise.
2655 * genhandlerlist.sh: Don't handle terminals.
2656 * genmk.rb: Generate terminal-*.lst.
2657 * genterminallist.sh: New file.
2658 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
2659 (grub_is_valid_utf8): Likewise.
2660 (grub_utf8_to_ucs4_alloc): Likewise.
2661 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
2662 (grub_menu_register_viewer): Changed argument.
2663 (grub_menu_try_text): New proto.
2664 (grub_gfxmenu_try_hook): New declaration.
2665 * include/grub/normal.h (grub_normal_exit_level): New declaration.
2666 (grub_menu_init_page): Additional argument term.
2667 (grub_normal_init_page): Likewise.
2668 (grub_cmdline_get): Arguments simplified.
2669 (grub_utf8_to_ucs4_alloc): Removed.
2670 (grub_print_ucs4): Additional argument term.
2671 (grub_getstringwidth): Likewise.
2672 (grub_print_message_indented): Likewise.
2673 (grub_menu_text_register_instances): New proto.
2674 (grub_show_menu): Likewise.
2675 (read_terminal_list): Likewise.
2676 (grub_set_more): Likewise.
2677 * include/grub/parser.h: Include handler.h.
2678 * include/grub/reader.h: Rewritten.
2679 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
2680 (GRUB_TERM_WIDTH): Changed to function.
2681 (GRUB_TERM_HEIGHT): Likewise.
2682 (GRUB_TERM_BORDER_WIDTH): Likewise.
2683 (GRUB_TERM_BORDER_HEIGHT): Likewise.
2684 (GRUB_TERM_NUM_ENTRIES): Likewise.
2685 (GRUB_TERM_ENTRY_WIDTH): Likewise.
2686 (GRUB_TERM_CURSOR_X): Likewise.
2687 (grub_term_input_class): Likewise.
2688 (grub_term_output_class): Likewise.
2689 (grub_term_outputs_disabled): New declaration.
2690 (grub_term_inputs_disabled): Likewise.
2691 (grub_term_outputs): Likewise.
2692 (grub_term_inputs): Likewise.
2693 (grub_term_register_input): Rewritten.
2694 (grub_term_register_output): Likewise.
2695 (grub_term_unregister_input): Likewise.
2696 (grub_term_unregister_output): Likewise.
2697 (FOR_ACTIVE_TERM_INPUTS): New macro.
2698 (FOR_DISABLED_TERM_INPUTS): Likewise.
2699 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
2700 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
2701 * include/grub/terminfo.h: Add oterm argument to all protypes.
2702 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
2703 Use grub_rescue_run.
2704 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
2705 All users updated.
2706 * kern/reader.c: Removed. All users updated.
2707 * kern/rescue_reader.c (grub_rescue_init): Removed.
2708 (grub_rescue_reader): Likewise.
2709 (grub_register_rescue_reader): Likewise.
2710 (grub_rescue_run): New function based on kern/reader.c.
2711 * kern/term.c: Adapted for multiterm.
2712 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
2713 (grub_is_valid_utf8): Likewise.
2714 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
2715 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
2716 right terminal.
2717 * loader/i386/linux.c (grub_linux_boot): Likewise.
2718 * normal/auth.c (grub_username_get): New function.
2719 (grub_auth_check_authentication): Use grub_username_get.
2720 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
2721 * normal/color.c: Adapt for multiterm.
2722 * normal/main.c (read_config_file): Don't use grub_reader_loop.
2723 (grub_normal_init_page): Additional argument term.
2724 (read_lists): Call read_terminal_lists.
2725 (grub_enter_normal_mode): Call grub_cmdline_run.
2726 Handle grub_normal_exit_level.
2727 (grub_cmd_normal): Make reentrant.
2728 (grub_cmd_normal_exit): New function.
2729 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
2730 * normal/menu.c: Adapt for multiterm.
2731 * normal/menu_entry.c: Likewise.
2732 * normal/menu_text.c: Likewise.
2733 * normal/menu_viewer.c: Removed. All users updated.
2734 * normal/term.c: New file.
2735 * util/console.c: Change order of includes to workaround a bug in
2736 ncurses headers.
2737 * term/terminfo.c: New argument oterm on all exported functions.
2738 All users updated.
2739 * util/grub-editenv.c (grub_term_input_class): Removed.
2740 (grub_term_output_class): Likewise.
2741
1a064917
RM
27422010-01-09 Robert Millan <rmh.grub@aybabtu.com>
2743
2744 Make loader output a bit more user-friendly.
2745
2746 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
2747 is being loaded. Likewise for the Hurd.
2748
2749 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
2750 that kernel of FreeBSD ${version} is being loaded.
2751
2752 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
2753 grub_dprintf().
2754 (grub_cmd_initrd): Likewise.
2755 * util/grub.d/10_linux.in (linux_entry): Print message indicating
2756 that Linux ${version} is being loaded. Likewise for initrd.
2757
5ce0a83a 27582010-01-09 Carles Pina i Estany <carles@pina.cat>
2759
2760 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
2761
809bbfeb 27622010-01-08 Carles Pina i Estany <carles@pina.cat>
2763
2764 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
2765 (GRUB_MOD_INIT): Gettextizze.
2766 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
2767 (GRUB_MOD_INIT): Gettextizze.
2768 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
2769 (grub_cmd_linux): Capitalise Linux.
2770 (GRUB_MOD_INIT): Gettextizze.
2771 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
2772 (grub_cmd_linux): Capitalise Linux.
2773 (GRUB_MOD_INIT): Gettextizze.
2774 * loader/i386/linux.c: Include `<grub/i18n.h>'.
2775 (grub_cmd_linux): Capitalise Linux.
2776 (GRUB_MOD_INIT): Gettextizze.
2777 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
2778 (GRUB_MOD_INIT): Gettextizze.
2779 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
2780 (grub_cmd_linux): Capitalise Linux.
2781 (GRUB_MOD_INIT): Gettextizze.
2782 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
2783 (grub_cpu_xnu_init): Gettextizze.
2784 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
2785 (GRUB_MOD_INIT): Gettextizze.
2786 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
2787 (GRUB_MOD_INIT): Gettextizze.
2788 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
2789 (grub_linux_load64): Capitalise Linux.
2790 (GRUB_MOD_INIT): Gettextizze.
2791 * loader/xnu.c: Include `<grub/i18n.h>'.
2792 (GRUB_MOD_INIT): Gettextizze.
2793 * po/POTFILES: Add `loader/efi/appleloader.c',
2794 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
2795 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
2796 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
2797 `loader/i386/xnu.c', `loader/multiboot_loader.c',
2798 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
2799 and `loader/xnu.c'.
2800
b394b2ca
RM
28012010-01-08 Robert Millan <rmh.grub@aybabtu.com>
2802
2803 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
2804
28052010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
2806
2807 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
2808 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
2809 * util/mkisofs/mkisofs.c (main): Readjust --version output.
2810
bc8b32b3
RM
28112010-01-07 Robert Millan <rmh.grub@aybabtu.com>
2812
2813 Reset Multiboot 2 support. New loader implements the draft in
2814 /branches/multiboot2 and shares as much code as possible with the
2815 production Multiboot 1 implementation.
2816
2817 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
2818 * loader/multiboot2.c: Likewise.
2819 * loader/i386/multiboot_helper.S: Likewise.
2820 * include/multiboot2.h: Replace with latest version from the draft
2821 in /branches/multiboot2.
2822
2823 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
2824 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
2825 and `loader/multiboot2.c'.
2826 (pkglib_MODULES): Add `multiboot2.mod'.
2827 (multiboot2_mod_SOURCES): New variable.
2828 (multiboot2_mod_LDFLAGS): Likewise.
2829 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
2830
2831 * conf/i386-pc.rmk: Likewise.
2832
2833 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
2834 (multiboot_mod_SOURCES): Remove variable.
2835 (multiboot_mod_LDFLAGS): Likewise.
2836 (multiboot_mod_CFLAGS): Likewise.
2837
2838 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
2839 `<multiboot2.h>' instead of `<multiboot.h>'.
2840 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
2841 (MULTIBOOT_HEADER_MAGIC): New macros.
2842
2843 * loader/multiboot_loader.c (module_version_status): Remove variable.
2844 (find_multi_boot2_header): Remove function.
2845 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
2846 logic. Always check for the Multiboot version we're compiling for.
2847 (grub_cmd_module_loader): Likewise.
2848 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
2849 command instead of `multiboot'.
2850
5d2c52b8
RM
28512010-01-07 Robert Millan <rmh.grub@aybabtu.com>
2852
2853 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
2854 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
2855 all users.
2856
53108d92
RM
28572010-01-07 Robert Millan <rmh.grub@aybabtu.com>
28582010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
2859
2860 Fix breakage introduced with previous commit.
2861
2862 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
2863 commands.
2864 * normal/handler.c (read_handler_list): Revert part of previous commit
2865 affecting this file.
2866 * normal/main.c (read_lists): Move read_handler_list() call back to ...
2867 (grub_normal_execute): ... here.
2868
e2e936b2
RM
28692010-01-07 Robert Millan <rmh.grub@aybabtu.com>
2870
2871 Merge prefix-redefinition-fix branch.
2872
2873 * normal/autofs.c (read_fs_list): Make function capable of being
2874 run multiple times, gracefuly replacing the previous data
2875 structures.
2876 * normal/dyncmd.c (read_command_list): Likewise.
2877 * normal/handler.c (read_handler_list): Likewise.
2878 * normal/main.c (read_lists): New function. Calls all the
2879 list reading functions.
2880 (grub_normal_execute): Use read_lists() instead of calling all
2881 list reading functions explicitly. Register read_lists() as a
2882 variable hook attached to ${prefix}.
2883
607a3701
VS
28842010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
2885
2886 Merge crypto branch.
2887
2888 * Makefile.in (pkglib_DATA): Add crypto.lst.
2889 (crypto.lst): New target.
2890 * commands/hashsum.c: New file.
2891 * commands/password.c (check_password): Use grub_crypto_memcmp.
2892 * commands/password_pbkdf2.c: New file.
2893 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
2894 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
2895 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
2896 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
2897 -I$(srcdir)/lib/libgcrypt_wrap.
2898 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
2899 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
2900 password_pbkdf2.mod.
2901 (crypto_mod_SOURCES): New variable.
2902 (crypto_mod_CFLAGS): Likewise.
2903 (crypto_mod_LDFLAGS): Likewise.
2904 (hashsum_mod_SOURCES): New variable.
2905 (hashsum_mod_CFLAGS): Likewise.
2906 (hashsum_mod_LDFLAGS): Likewise.
2907 (pbkdf2_mod_SOURCES): New variable.
2908 (pbkdf2_mod_CFLAGS): Likewise.
2909 (pbkdf2_mod_LDFLAGS): Likewise.
2910 (password_pbkdf2_mod_SOURCES): New variable.
2911 (password_pbkdf2_mod_CFLAGS): Likewise.
2912 (password_pbkdf2_mod_LDFLAGS): Likewise.
2913 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
2914 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
2915 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
2916 Include conf/gcry.rmk.
2917 * include/grub/auth.h: Rewritten.
2918 * include/grub/crypto.h: New file.
2919 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
2920 * include/grub/normal.h (read_crypto_list): New prototype.
2921 * lib/crypto.c: New file.
2922 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
2923 * lib/pbkdf2.c: Likewise.
2924 * normal/auth.c (grub_auth_strcmp): Removed.
2925 (grub_iswordseparator): Likewise.
2926 (grub_auth_strword): Likewise.
2927 (is_authenticated): Use grub_strword.
2928 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
2929 and grub_strword. Pass entered password to authentication callback.
2930 * normal/crypto.c: New file.
2931 * normal/main.c: Call read_crypto_list.
2932 * util/grub-mkpasswd-pbkdf2.c: New file.
2933 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
2934
42841caa
VS
29352010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
2936
2937 Fix descent and ascent calculation.
2938
2939 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
2940 (options): New option "asce".
2941 (usage): Likewise.
2942 (add_char): Ignore invalid glyphs for descent calculation.
2943 Calculate ascent from actual content.
2944 (print_glyphs): Use 'asce'.
2945 (write_font): Likewise. Allow ascent override.
2946 (main): Handle "asce" option.
2947
e7730de7 29482010-01-06 Carles Pina i Estany <carles@pina.cat>
2949
2950 * kern/err.c: Include `<grub/i18n.h>'.
2951 (grub_print_error): Add full stop. Gettextizze.
2952 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
2953 (grub_bsd_load_elf): Capitalise ELF.
2954 (grub_cmd_freebsd_loadenv): Add `s' in error string.
2955 (grub_cmd_freebsd_module): Likewise.
2956 (grub_cmd_freebsd_module_elf): Likewise.
2957 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
2958
40e3a41f 29592010-01-06 Carles Pina i Estany <carles@pina.cat>
2960
2961 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
2962 * commands/search_file.c (HELP_MESSAGE): New macro.
2963 * commands/search_label.c (HELP_MESSAGE): Likewise.
2964 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
2965 * po/POTFILES: Add `commands/search_file.c',
2966 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
2967 `commands/search.c'.
2968
83507e68
RM
29692010-01-05 Robert Millan <rmh.grub@aybabtu.com>
2970
2971 * config.rpath: Update from Gnulib.
2972
465c787b
YB
29732010-01-05 Yves Blusseau <blusseau@zetam.org>
2974
2975 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
2976
6581dd3a
YB
29772010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
2978
2979 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
2980
3bff18c5
CW
29812010-01-05 Colin Watson <cjwatson@ubuntu.com>
2982
2983 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
2984 arguments to fread so that we get a return value in bytes, rather
2985 than something that will normally be rounded down to 0.
2986 Adjust error handling to avoid producing garbage when size_t is not
2987 the same size as long long.
2988
a1368118
CW
29892010-01-05 Colin Watson <cjwatson@ubuntu.com>
2990
2991 * util/mkisofs/write.c (padblock_write): Check return value of
2992 fread.
2993
7c302978
RM
29942010-01-05 Robert Millan <rmh.grub@aybabtu.com>
2995
2996 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
2997 floppy images now.
2998
2999 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
3000
e33ace06
RM
30012010-01-04 Robert Millan <rmh.grub@aybabtu.com>
3002
3003 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
3004 instead of manual alignment.
3005 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
3006 verbose). Avoid attempts to read past end of the device
3007 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
3008 but GRUB_DISK_CACHE_SIZE may exceed that).
3009
4b856776
RM
30102010-01-04 Robert Millan <rmh.grub@aybabtu.com>
3011
3012 * commands/crc.c (grub_cmd_crc): Abort on read errors.
3013 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
3014 it to upper layer.
3015
52c2d97f
VS
30162010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
3017
3018 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
3019 New constant.
3020 (grub_efi_piwg_device_path): New structure
3021 (grub_efi_piwg_device_path_t): New type.
3022 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
3023 (devpath_1): Transform to a structure. All users updated.
3024 (devpath_2): Likewise.
3025 (devpath_3): Likewise.
3026 (devpath_4): Likewise.
3027 (devpath_5): Likewise.
3028
98ff6a54
VS
30292010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
3030
3031 * loader/efi/appleloader.c: Restored. Update all users.
3032
3a73dcb6
RM
30332010-01-03 Robert Millan <rmh.grub@aybabtu.com>
3034
3035 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
3036
3037 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
3038 (struct boot_blocklist): Move from here ...
3039 * include/grub/i386/pc/boot.h [ASM_FILE]
3040 (struct grub_boot_blocklist): ... to here. Update all users.
3041 (setup): Only initialize `start' member of `first_block'
3042 structure. Add assert() calls to verify the other members.
3043
3044 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
3045 (generate_image): Fix broken blocklist length initialization.
3046 Add assert() call to verify blocklist `segment' field.
3047
ab0eeb0c
RM
30482010-01-03 Robert Millan <rmh.grub@aybabtu.com>
3049
3050 * loader/efi/appleloader.c: Remove. Update all users.
3051
58bc8bd5
RM
30522010-01-03 Robert Millan <rmh.grub@aybabtu.com>
3053
3054 * boot/i386/pc/boot.S: Update copyright year.
3055 * boot/i386/pc/cdboot.S: Likewise.
3056 * boot/i386/pc/diskboot.S: Likewise.
3057 * boot/i386/pc/lnxboot.S: Likewise.
3058 * boot/i386/pc/pxeboot.S: Likewise.
3059 * bus/pci.c: Likewise.
3060 * commands/cmp.c: Likewise.
3061 * commands/help.c: Likewise.
3062 * commands/hexdump.c: Likewise.
3063 * commands/i386/pc/halt.c: Likewise.
3064 * commands/i386/pc/play.c: Likewise.
3065 * commands/i386/pc/vbeinfo.c: Likewise.
3066 * commands/ls.c: Likewise.
3067 * commands/test.c: Likewise.
3068 * disk/dmraid_nvidia.c: Likewise.
3069 * disk/i386/pc/biosdisk.c: Likewise.
3070 * disk/ieee1275/nand.c: Likewise.
3071 * disk/ieee1275/ofdisk.c: Likewise.
3072 * disk/lvm.c: Likewise.
3073 * disk/raid.c: Likewise.
3074 * disk/raid6_recover.c: Likewise.
3075 * disk/scsi.c: Likewise.
3076 * fs/affs.c: Likewise.
3077 * fs/cpio.c: Likewise.
3078 * fs/ext2.c: Likewise.
3079 * fs/hfs.c: Likewise.
3080 * fs/iso9660.c: Likewise.
3081 * fs/ntfs.c: Likewise.
3082 * fs/sfs.c: Likewise.
3083 * fs/udf.c: Likewise.
3084 * fs/ufs.c: Likewise.
3085 * fs/xfs.c: Likewise.
3086 * gencmdlist.sh: Likewise.
3087 * genmk.rb: Likewise.
3088 * include/grub/disk.h: Likewise.
3089 * include/grub/efi/api.h: Likewise.
3090 * include/grub/efi/efi.h: Likewise.
3091 * include/grub/efi/pe32.h: Likewise.
3092 * include/grub/elf.h: Likewise.
3093 * include/grub/fs.h: Likewise.
3094 * include/grub/i386/at_keyboard.h: Likewise.
3095 * include/grub/i386/pc/memory.h: Likewise.
3096 * include/grub/i386/pc/vbe.h: Likewise.
3097 * include/grub/i386/pci.h: Likewise.
3098 * include/grub/i386/tsc.h: Likewise.
3099 * include/grub/ieee1275/ieee1275.h: Likewise.
3100 * include/grub/ntfs.h: Likewise.
3101 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
3102 * include/grub/sparc64/libgcc.h: Likewise.
3103 * include/grub/symbol.h: Likewise.
3104 * include/grub/types.h: Likewise.
3105 * include/multiboot2.h: Likewise.
3106 * io/gzio.c: Likewise.
3107 * kern/device.c: Likewise.
3108 * kern/disk.c: Likewise.
3109 * kern/efi/efi.c: Likewise.
3110 * kern/efi/mm.c: Likewise.
3111 * kern/elf.c: Likewise.
3112 * kern/file.c: Likewise.
3113 * kern/i386/dl.c: Likewise.
3114 * kern/i386/pc/init.c: Likewise.
3115 * kern/i386/pc/startup.S: Likewise.
3116 * kern/ieee1275/ieee1275.c: Likewise.
3117 * kern/ieee1275/init.c: Likewise.
3118 * kern/main.c: Likewise.
3119 * kern/mm.c: Likewise.
3120 * kern/powerpc/dl.c: Likewise.
3121 * kern/sparc64/dl.c: Likewise.
3122 * kern/x86_64/dl.c: Likewise.
3123 * lib/hexdump.c: Likewise.
3124 * loader/efi/appleloader.c: Likewise.
3125 * loader/i386/ieee1275/linux.c: Likewise.
3126 * loader/i386/pc/chainloader.c: Likewise.
3127 * loader/i386/pc/linux.c: Likewise.
3128 * loader/i386/pc/multiboot2.c: Likewise.
3129 * loader/ieee1275/multiboot2.c: Likewise.
3130 * loader/multiboot2.c: Likewise.
3131 * loader/multiboot_loader.c: Likewise.
3132 * loader/powerpc/ieee1275/linux.c: Likewise.
3133 * normal/completion.c: Likewise.
3134 * normal/menu_entry.c: Likewise.
3135 * partmap/apple.c: Likewise.
3136 * util/grub.d/10_hurd.in: Likewise.
3137 * util/hostfs.c: Likewise.
3138 * video/readers/png.c: Likewise.
3139
e2d70b5c
CW
31402010-01-03 Colin Watson <cjwatson@ubuntu.com>
3141
3142 * include/grub/misc.h (GNUC_PREREQ): New macro.
3143 (ATTRIBUTE_ERROR): New macro.
3144 * include/grub/list.h (grub_bad_type_cast_real): Use
3145 ATTRIBUTE_ERROR.
3146
a173283f 31472010-01-03 Carles Pina i Estany <carles@pina.cat>
3148
3149 * normal/menu_text.c (print_message): Change messages.
3150
7fa7ff74 31512010-01-03 Carles Pina i Estany <carles@pina.cat>
3152
3153 * normal/menu_entry.c (store_completion): Gettextizze.
3154
136d24f6 31552010-01-03 Carles Pina i Estany <carles@pina.cat>
3156
3157 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
3158
f936862e 31592010-01-03 Carles Pina i Estany <carles@pina.cat>
3160
3161 * po/POTFILES: Sort correctly.
3162
29c44ad1 31632010-01-03 Carles Pina i Estany <carles@pina.cat>
3164
3165 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
3166 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
3167 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
3168 full stop.
3169 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
3170 summary. Gettextizze the strings.
3171 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
3172 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
3173 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
3174 full stop.
3175 (GRUB_MOD_INIT): Remove command name from summary.
3176 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
3177 summary.
3178 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
3179 * term/i386/pc/serial.c (options): Add full stops.
3180 (GRUB_MOD_INIT): Remove command name from the summary.
3181
77a79592 31822010-01-03 Carles Pina i Estany <carles@pina.cat>
3183
3184 * commands/acpi.c: Gettextizze help strings and/or options. Include
3185 `grub/i18n.h' if needed.
3186 * commands/blocklist.c: Likewise.
3187 * commands/boot.c: Likewise.
3188 * commands/cat.c: Likewise.
3189 * commands/cmp.c: Likewise.
3190 * commands/configfile.c: Likewise.
3191 * commands/crc.c: Likewise.
3192 * commands/date.c: Likewise.
3193 * commands/echo.c: Likewise.
3194 * commands/efi/fixvideo.c: Likewise.
3195 * commands/efi/loadbios.c: Likewise.
3196 * commands/gptsync.c: Likewise.
3197 * commands/halt.c: Likewise.
3198 * commands/handler.c: Likewise.
3199 * commands/hdparm.c: Likewise.
3200 * commands/hexdump.c: Likewise.
3201 * commands/i386/cpuid.c: Likewise.
3202 * commands/i386/pc/drivemap.c: Likewise.
3203 * commands/i386/pc/halt.c: Likewise.
3204 * commands/i386/pc/pxecmd.c: Likewise.
3205 * commands/i386/pc/vbeinfo.c: Likewise.
3206 * commands/i386/pc/vbetest.c: Likewise.
3207 * commands/ieee1275/suspend.c: Likewise.
3208 * commands/keystatus.c: Likewise.
3209 * commands/loadenv.c: Likewise.
3210 * commands/ls.c: Likewise.
3211 * commands/lsmmap.c: Likewise.
3212 * commands/lspci.c: Likewise.
3213 * commands/memrw.c: Likewise.
3214 * commands/minicmd.c: Likewise.
3215 * commands/parttool.c: Likewise.
3216 * commands/password.c: Likewise.
3217 * commands/probe.c: Likewise.
3218 * commands/read.c: Likewise.
3219 * commands/reboot.c: Likewise.
3220 * commands/search.c: Likewise.
3221 * commands/sleep.c: Likewise.
3222 * commands/test.c: Likewise.
3223 * commands/true.c: Likewise.
3224 * commands/usbtest.c: Likewise.
3225 * commands/videotest.c: Likewise.
3226 * commands/xnu_uuid.c: Likewise.
3227 * disk/loopback.c: Likewise.
3228 * hello/hello.c: Likewise.
3229 * loader/i386/bsd.c: Likewise.
3230 * term/i386/pc/serial.c: Likewise.
3231 * po/POTFILES: Add new files.
3232
da8d5c53
CW
32332010-01-02 Colin Watson <cjwatson@ubuntu.com>
3234
3235 * term/i386/pc/at_keyboard.c
3236 (keyboard_controller_wait_untill_ready): Rename to ...
3237 (keyboard_controller_wait_until_ready): ... this. Update all users.
3238
33937904 32392010-01-01 Carles Pina i Estany <carles@pina.cat>
3240
3241 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
3242 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
3243 string using string width.
3244 * normal/menu_text.c (grub_print_message_indented): Use
3245 grub_print_spaces and not print_spaces.
3246 (print_timeout): Likewise.
3247 (print_spaces): Move to...
3248 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
3249
3fd3b8d8
RM
32502010-01-01 Robert Millan <rmh.grub@aybabtu.com>
3251
3252 Import from Gnulib.
3253
3254 * gnulib/getdelim.c: New file.
3255 * gnulib/getline.c: Likewise.
3256
33433555
VS
32572009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
3258
3259 * include/grub/list.h (grub_assert_fail): Removed.
3260 (grub_bad_type_cast_real): New function.
3261 (grub_bad_type_cast): New macro.
3262 (GRUB_AS_LIST): Use grub_bad_type_cast.
3263 (GRUB_AS_LIST_P): Likewise.
e44721e8 3264 (GRUB_AS_NAMED_LIST): Likewise.
33433555 3265 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 3266 (GRUB_AS_PRIO_LIST): Likewise.
33433555 3267 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 3268 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 3269
f5a51306
VS
32702009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
3271
3272 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
3273 Fix syntax error.
3274
90d1e879
RM
32752009-12-29 Robert Millan <rmh.grub@aybabtu.com>
3276
3277 * configure.ac: Check for TARGET_CFLAGS initialization before we
3278 initialize it ourselves (sigh).
3279 Move a few modifications to TARGET_CFLAGS to be unconditional
3280 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
3281 eh_frame)
3282
3283 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
3284 * term/i386/pc/at_keyboard.c
3285 (keyboard_controller_wait_untill_ready): Likewise.
3286 (keyboard_controller_led): Rename `led_status' paramter to avoid
3287 name conflict.
3288
465b5a81 32892009-12-28 Carles Pina i Estany <carles@pina.cat>
3290
3291 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
3292 quotes.
3293
c181849b
VS
32942009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
3295
3296 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
3297
9c8739a4
VS
32982009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
3299
3300 * normal/menu_text.c (grub_print_message_indented): Prevent
3301 past-the-end-of-array dereference.
3302
3e74249c
VS
33032009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
3304
3305 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
3306 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
3307
64fd18ed 33082009-12-27 Carles Pina i Estany <carles@pina.cat>
3309
3310 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
3311 * normal/main.c (grub_normal_read_line): Remove a space from the
3312 default prompt.
3313
714af9b9 33142009-12-27 Carles Pina i Estany <carles@pina.cat>
3315
3316 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
3317 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
3318 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
3319 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
3320 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
3321 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
3322 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
3323
82f3e412 33242009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 3325
3326 * video/readers/jpeg.c (cmd): Declare.
3327 (grub_cmd_jpegtest): Use `grub_command_t' type.
3328 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
3329 Assign to `cmd'.
3330 (GRUB_MOD_FINI): Use `cmd' to unregister.
3331 * video/readers/png.c (cmd): Declare.
3332 (grub_cmd_pngtest): Use `grub_command_t' type.
3333 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
3334 Assign to `cmd'.
3335 (GRUB_MOD_FINI): Use `cmd' to unregister.
3336 * video/readers/tga.c (cmd): Declare.
3337 (grub_cmd_tgatest): Use `grub_command_t' type.
3338 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
3339 Assign to `cmd'.
3340 (GRUB_MOD_FINI): Use `cmd' to unregister.
3341
82f3e412 33422009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 3343
3344 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
3345 stops.
3346 * kern/corecmd.c (grub_register_core_commands): Likewise.
3347 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
3348 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
3349 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
3350 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
3351 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
3352 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
3353 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
3354 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
3355 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
3356 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
3357 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
3358 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
3359 * normal/handler.c (insert_handler): Likewise.
3360 * normal/main.c (GRUB_MOD_INIT): Likewise.
3361 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
3362
fdcdbb66 33632009-12-26 Carles Pina i Estany <carles@pina.cat>
3364
3365 * commands/help.c (grub_cmd_help): Print the command name before the
3366 summary.
3367 (GRUB_MOD_INIT): Remove command name from the summary.
3368 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 3369 string as summary.
fdcdbb66 3370 * lib/arg.c (find_long): Print the command name before the summary.
3371 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
3372 summary.
3373 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
3374 * commands/cat.c (GRUB_MOD_INIT): Likewise.
3375 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
3376 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
3377 * commands/crc.c (GRUB_MOD_INIT): Likewise.
3378 * commands/date.c (GRUB_MOD_INIT): Likewise.
3379 * commands/echo.c (GRUB_MOD_INIT): Likewise.
3380 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
3381 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
3382 * commands/handler.c (GRUB_MOD_INIT): Likewise.
3383 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
3384 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
3385 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
3386 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
3387 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
3388 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
3389 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
3390 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
3391 * commands/ls.c (GRUB_MOD_INIT): Likewise.
3392 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
3393 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
3394 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
3395 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
3396 * commands/password.c (GRUB_MOD_INIT): Likewise.
3397 * commands/probe.c (GRUB_MOD_INIT): Likewise.
3398 * commands/read.c (GRUB_MOD_INIT): Likewise.
3399 * commands/search.c (GRUB_MOD_INIT): Likewise.
3400 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
3401 * commands/test.c (GRUB_MOD_INIT): Likewise.
3402 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
3403 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
3404 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
3405 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
3406 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
3407 * lib/arg.c (GRUB_MOD_INIT): Likewise.
3408 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
3409 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
3410 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
3411 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
3412 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
3413 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
3414 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
3415 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
3416
9c288be2
VS
34172009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3418
3419 Use search command for preliminar UUID search.
3420
3421 * commands/search.c: Split into ...
3422 * commands/search_wrap.c: ...this
3423 * commands/search.c: ...and this.
3424 * commands/search_file.c: New file.
3425 * commands/search_label.c: New file.
3426 * commands/search_uuid.c: New file.
3427 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
3428 Add commands/search_wrap.c, commands/search_file.c,
3429 commands/search_label.c and commands/search_uuid.c.
3430 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
3431 (search_mod_SOURCES): Set to commands/search_wrap.c.
3432 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
3433 search_label.mod.
3434 (search_fs_file_mod_SOURCES): New variable.
3435 (search_fs_file_mod_CFLAGS): Likewise.
3436 (search_fs_file_mod_LDFLAGS): Likewise.
3437 (search_label_mod_SOURCES): Likewise.
3438 (search_label_mod_CFLAGS): Likewise.
3439 (search_label_mod_LDFLAGS): Likewise.
3440 (search_fs_uuid_mod_SOURCES): New variable.
3441 (search_fs_uuid_mod_CFLAGS): Likewise.
3442 (search_fs_uuid_mod_LDFLAGS): Likewise.
3443 (fs_file_mod_SOURCES): Removed.
3444 (fs_file_mod_CFLAGS): Likewise.
3445 (fs_file_mod_LDFLAGS): Likewise.
3446 (fs_uuid_mod_SOURCES): Removed.
3447 (fs_uuid_mod_CFLAGS): Likewise.
3448 (fs_uuid_mod_LDFLAGS): Likewise.
3449 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
3450 Set to util/grub-install.in.
3451 * disk/fs_file.c: Removed.
3452 * disk/fs_uuid.c: Likewise.
3453 * include/grub/search.h: New file.
3454 * util/grub-install.in: Handle sparc64.
3455 Create and use load.cfg.
3456 * util/sparc64/ieee1275/grub-install.in: Removed.
3457
db943399
VS
34582009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3459
3460 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
3461 Ignore return status if CF is cleared.
3462 (grub_biosdisk_get_diskinfo_standard): Likewise.
3463
3fdae612
RM
34642009-12-25 Robert Millan <rmh.grub@aybabtu.com>
3465
3466 * term/i386/pc/at_keyboard.c
3467 (keyboard_controller_wait_untill_ready): New function.
3468 (grub_keyboard_controller_write, grub_keyboard_controller_read)
3469 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
3470 for keyboard polling, rather than duplicate the same loop. This
3471 saves a few bytes in code size.
3472
7ebaa2b4
VS
34732009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3474
3475 Support for (pxe[:server[:gateway]]) syntax and
3476 use environment variable for PXE.
3477
3478 * commands/i386/pc/pxecmd.c (options): Removed.
3479 (print_ip): Removed.
3480 (grub_cmd_pxe): Removed
3481 (grub_cmd_pxe_unload): New function.
3482 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
3483 (grub_pxe_your_ip): Made static.
3484 (grub_pxe_default_server_ip): Likewise.
3485 (grub_pxe_default_gateway_ip): Likewise.
3486 (grub_pxe_blksize): Likewise.
3487 (parse_ip): New function.
3488 (grub_pxe_open): Support server and gateway specification.
3489 (grub_pxe_close): Free disk->data.
3490 (grub_pxefs_open): Use disk->data.
3491 (grub_pxefs_read): Likewise.
3492 (grub_env_write_readonly): New function.
3493 (set_mac_env): Likewise.
3494 (set_env_limn_ro): Likewise.
3495 (parse_dhcp_vendor): Likewise.
3496 (grub_pxe_detect): Set the environment variables.
3497 (set_ip_env): New function.
3498 (write_ip_env): Likewise.
3499 (grub_env_write_pxe_default_server): Likewise.
3500 (grub_env_write_pxe_default_gateway): Likewise.
3501 (grub_env_write_pxe_blocksize): Likewise.
3502 (GRUB_MOD_INIT(pxe)): Set environment variables.
3503 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
3504 (grub_pxe_mac_addr_t): ... this. All users updated.
3505 (grub_pxe_your_ip): Removed.
3506 (grub_pxe_server_ip): Likewise.
3507 (grub_pxe_gateway_ip): Likewise.
3508 (grub_pxe_blksize): Likewise.
3509
ec5f98ab 35102009-12-25 Carles Pina i Estany <carles@pina.cat>
3511
3512 * commands/help.c: Include `<grub/i18n.h>'.
3513 (grub_cmd_help): Gettextizze.
3514 (GRUB_MOD_INIT): Likewise.
3515 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
3516 (GRUB_MOD_INIT): Gettextizze.
3517 * commands/search.c: Include `<grub/i18n.h>'.
3518 (options): Gettextizze.
3519 (GRUB_MOD_INIT): Gettextizze.
3520 * lib/arg.c: Include `<grub/i18n.h>'.
3521 (help_options): Gettextizze.
3522 (find_long): Likewise.
3523 (grub_arg_show_help): Likewise.
3524 * normal/dyncmd.c: Include `<grub/i18n.h>'.
3525 (read_command_list): Gettextizze.
3526 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 3527 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 3528
22815526
RM
35292009-12-25 Robert Millan <rmh.grub@aybabtu.com>
3530
3531 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
3532 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
3533 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
3534 (led_status): New variable.
3535 (keyboard_controller_led): New function.
3536 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
3537 update led status for caps lock, num lock and scroll lock.
3538
0ad46fd7
FZ
35392009-12-25 Felix Zielcke <fzielcke@z-51.de>
3540
3541 * util/hostdisk.c (open_device): Fix a comment.
3542
d0e158c2
RM
35432009-12-24 Robert Millan <rmh.grub@aybabtu.com>
3544
3545 * util/grub-install.in (host_os): New variable.
3546 * util/i386/efi/grub-install.in (host_os): Likewise.
3547
401c0ad6
RM
35482009-12-24 Robert Millan <rmh.grub@aybabtu.com>
3549
3550 * util/mkisofs/write.c (padblock_write): Abort when given an
3551 excedingly large embed image, instead of silently truncating it.
3552
d14d3370
RM
35532009-12-24 Robert Millan <rmh.grub@aybabtu.com>
3554
3555 * include/multiboot.h: Indentation fixes.
3556
eeed10b4
RM
35572009-12-24 Robert Millan <rmh.grub@aybabtu.com>
3558
3559 * include/multiboot.h (struct multiboot_aout_symbol_table)
3560 (struct multiboot_elf_section_header_table): New structure
3561 declarations (stolen from GRUB Legacy).
3562 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
3563 table information.
3564
3565 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
3566 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
3567 type aliases.
3568
681c70ab
RM
35692009-12-24 Robert Millan <rmh.grub@aybabtu.com>
3570
3571 * include/multiboot.h: Make comments src2texi-friendly.
3572
e4d47d8d
RM
35732009-12-24 Robert Millan <rmh.grub@aybabtu.com>
3574
3575 For consistency with [multiboot]/docs/boot.S.
3576
3577 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
3578 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
3579 (MULTIBOOT_MAGIC2): Rename from this ...
3580 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
3581
a0b70bda
RM
35822009-12-24 Robert Millan <rmh.grub@aybabtu.com>
3583
3584 * include/multiboot.h: Remove `<grub/types.h>'.
3585 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
3586 types. Update all users.
3587
61ba42be 35882009-12-25 Carles Pina i Estany <carles@pina.cat>
3589
3590 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
3591 `couldn't' and `can not' by `cannot'.
3592 * commands/i386/pc/drivemap.c: Likewise.
3593 * disk/ata.c: Likewise.
3594 * disk/ieee1275/nand.c: Likewise.
3595 * fs/affs.c: Likewise.
3596 * fs/fat.c: Likewise.
3597 * fs/hfs.c: Likewise.
3598 * fs/hfsplus.c: Likewise.
3599 * fs/iso9660.c: Likewise.
3600 * fs/jfs.c: Likewise.
3601 * fs/minix.c: Likewise.
3602 * fs/reiserfs.c: Likewise.
3603 * fs/sfs.c: Likewise.
3604 * fs/udf.c: Likewise.
3605 * fs/ufs.c: Likewise.
3606 * fs/xfs.c: Likewise.
3607 * loader/powerpc/ieee1275/linux.c: Likewise.
3608 * loader/sparc64/ieee1275/linux.c: Likewise.
3609 * util/grub-probe.c: Likewise.
3610 * util/misc.c: Likewise.
3611
7fd0baee 36122009-12-24 Carles Pina i Estany <carles@pina.cat>
3613
3614 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
3615 grub_errno calls.
3616 * commands/acpi.c: Likewise.
3617 * commands/blocklist.c: Likewise.
3618 * commands/efi/loadbios.c: Likewise.
3619 * commands/i386/pc/drivemap.c: Likewise.
3620 * commands/loadenv.c: Likewise.
3621 * commands/memrw.c: Likewise.
3622 * commands/password.c: Likewise.
3623 * commands/videotest.c: Likewise.
3624 * disk/ata.c: Likewise.
3625 * disk/ata_pthru.c: Likewise.
3626 * disk/dmraid_nvidia.c: Likewise.
3627 * disk/ieee1275/nand.c: Likewise.
3628 * disk/ieee1275/ofdisk.c: Likewise.
3629 * disk/loopback.c: Likewise.
3630 * disk/lvm.c: Likewise.
3631 * disk/mdraid_linux.c: Likewise.
3632 * disk/raid.c: Likewise.
3633 * disk/raid6_recover.c: Likewise.
3634 * disk/scsi.c: Likewise.
3635 * efiemu/main.c: Likewise.
3636 * efiemu/mm.c: Likewise.
3637 * efiemu/pnvram.c: Likewise.
3638 * efiemu/symbols.c: Likewise.
3639 * font/font.c: Likewise.
3640 * fs/cpio.c: Likewise.
3641 * fs/hfsplus.c: Likewise.
3642 * fs/iso9660.c: Likewise.
3643 * fs/jfs.c: Likewise.
3644 * fs/minix.c: Likewise.
3645 * fs/ntfs.c: Likewise.
3646 * fs/ntfscomp.c: Likewise.
3647 * fs/reiserfs.c: Likewise.
3648 * fs/ufs.c: Likewise.
3649 * fs/xfs.c: Likewise.
3650 * gettext/gettext.c: Likewise.
3651 * include/grub/auth.h: Likewise.
3652 * kern/elf.c: Likewise.
3653 * kern/file.c: Likewise.
3654 * kern/ieee1275/init.c: Likewise.
3655 * kern/ieee1275/mmap.c: Likewise.
3656 * kern/ieee1275/openfw.c: Likewise.
3657 * kern/powerpc/dl.c: Likewise.
3658 * kern/sparc64/dl.c: Likewise.
3659 * lib/arg.c: Likewise.
3660 * loader/i386/bsd.c: Likewise.
3661 * loader/i386/bsdXX.c: Likewise.
3662 * loader/i386/efi/linux.c: Likewise.
3663 * loader/i386/efi/xnu.c: Likewise.
3664 * loader/i386/ieee1275/linux.c: Likewise.
3665 * loader/i386/linux.c: Likewise.
3666 * loader/i386/multiboot.c: Likewise.
3667 * loader/i386/pc/linux.c: Likewise.
3668 * loader/i386/pc/multiboot2.c: Likewise.
3669 * loader/i386/xnu.c: Likewise.
3670 * loader/ieee1275/multiboot2.c: Likewise.
3671 * loader/macho.c: Likewise.
3672 * loader/machoXX.c: Likewise.
3673 * loader/multiboot2.c: Likewise.
3674 * loader/multiboot_loader.c: Likewise.
3675 * loader/powerpc/ieee1275/linux.c: Likewise.
3676 * loader/sparc64/ieee1275/linux.c: Likewise.
3677 * loader/xnu.c: Likewise.
3678 * loader/xnu_resume.c: Likewise.
3679 * mmap/i386/pc/mmap.c: Likewise.
3680 * normal/menu_viewer.c: Likewise.
3681 * partmap/acorn.c: Likewise.
3682 * partmap/amiga.c: Likewise.
3683 * partmap/apple.c: Likewise.
3684 * script/lexer.c: Likewise.
3685 * term/gfxterm.c: Likewise.
3686 * term/i386/pc/serial.c: Likewise.
3687 * term/i386/pc/vga.c: Likewise.
3688 * term/ieee1275/ofconsole.c: Likewise.
3689 * term/terminfo.c: Likewise.
3690 * video/bitmap.c: Likewise.
3691 * video/efi_gop.c: Likewise.
3692 * video/efi_uga.c: Likewise.
3693 * video/fb/video_fb.c: Likewise.
3694 * video/i386/pc/vbe.c: Likewise.
3695 * video/readers/tga.c: Likewise.
3696 * video/video.c: Likewise.
3697
0ad46fd7 36982009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
3699
3700 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
3701 * commands/lspci.c: Likewise.
3702 * commands/probe.c: Likewise.
3703 * commands/xnu_uuid.c: Likewise.
3704 * conf/i386-coreboot.rmk: Likewise.
3705 * conf/i386-efi.rmk: Likewise.
3706 * conf/i386-ieee1275.rmk: Likewise.
3707 * conf/i386-pc.rmk: Likewise.
3708 * conf/powerpc-ieee1275.rmk: Likewise.
3709 * conf/sparc64-ieee1275.rmk: Likewise.
3710 * conf/x86_64-efi.rmk: Likewise.
3711 * fs/i386/pc/pxe.c: Likewise.
3712 * gettext/gettext.c: Likewise.
3713 * include/grub/efi/graphics_output.h: Likewise.
3714 * include/grub/i386/pc/memory.h: Likewise.
3715 * kern/env.c: Likewise.
3716 * kern/i386/qemu/startup.S: Likewise.
3717 * lib/i386/pc/biosnum.c: Likewise.
3718 * lib/i386/relocator.c: Likewise.
3719 * lib/i386/relocator_asm.S: Likewise.
3720 * lib/relocator.c: Likewise.
3721 * loader/i386/bsd.c: Likewise.
3722 * loader/i386/multiboot.c: Likewise.
3723 * loader/i386/pc/chainloader.c: Likewise.
3724 * loader/i386/xnu.c: Likewise.
3725 * loader/xnu.c: Likewise.
3726 * normal/main.c: Likewise.
3727 * normal/menu_text.c: Likewise.
3728 * util/getroot.c: Likewise.
3729 * util/grub-mkconfig_lib.in: Likewise.
3730 * util/grub.d/00_header.in: Likewise.
3731 * util/i386/pc/grub-mkimage.c: Likewise.
3732 * util/mkisofs/eltorito.c: Likewise.
3733 * util/mkisofs/exclude.h: Likewise.
3734 * util/mkisofs/hash.c: Likewise.
3735 * util/mkisofs/iso9660.h: Likewise.
3736 * util/mkisofs/joliet.c: Likewise.
3737 * util/mkisofs/mkisofs.c: Likewise.
3738 * util/mkisofs/mkisofs.h: Likewise.
3739 * util/mkisofs/multi.c: Likewise.
3740 * util/mkisofs/name.c: Likewise.
3741 * util/mkisofs/rock.c: Likewise.
3742 * util/mkisofs/tree.c: Likewise.
3743 * util/mkisofs/write.c: Likewise.
3744 * video/efi_gop.c: Likewise.
3745
009ec743
VS
37462009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3747
3748 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
3749 size counting.
3750
0ad46fd7 37512009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
3752
3753 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
3754 * genmk.rb (class SCRIPT): Modify the target file instead of source.
3755
d3d30ea0
VS
37562009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
3757
3758 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
3759 (GRUB_MOD_INIT(memrw)): Update help line.
3760
a34f5c70
VS
37612009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
3762
3763 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
3764 Use grub_extcmd_t. All users updated.
3765 (options): New variable.
3766 (grub_cmd_read): Restructure for readability. Support "-v" option.
3767 (grub_cmd_write): Restructure for readability.
3768
0ad46fd7 37692009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
3770
3771 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
3772
0ad46fd7 37732009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
3774
3775 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
3776 with the actual contents of the correspondending make variable.
3777 * util/grub-mkrescue.in (pkglib_DATA): New variable.
3778 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
3779 specifying `*.lst' and `efiemu??.o'
3780
0ad46fd7 37812009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
3782
3783 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
3784 after function name.
3785 Noticed by Rene Engelhard <rene@debian.org>.
3786
dc77a799
VS
37872009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
3788
3789 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
3790 (options): New variable.
3791 (iospace): Likewise.
3792 (grub_lspci_iter): List IO spaces if "-i" was given.
3793 (grub_cmd_lspci): Parse options.
3794 (GRUB_MOD_INIT(lspci)): Use extcmd.
3795 (GRUB_MOD_FINI(lspci)): Likewise.
3796
0ad46fd7 37972009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
3798
3799 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
3800 `function' keyword.
3801 Patch by Tony Mancill <tmancill@debian.org>.
3802
b5d5993b
VS
38032009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
3804
3805 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
3806 (grub_uhci_portstatus): Likewise.
3807 (grub_uhci_portstatus): Add necessary delay.
11d18281 3808 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 3809
941903f2 38102009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 3811
941903f2 3812 * commands/acpi.c (options): Fix capitalizations and/or full stops.
3813 (GRUB_MOD_INIT): Likewise.
3814 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 3815 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
3816 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 3817 * commands/efi/loadbios.c (enable_rom_area): Likewise.
3818 (enable_rom_area): Likewise.
3819 (GRUB_MOD_INIT): Likewise.
3820 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
3821 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
3822 * commands/handler.c (GRUB_MOD_INIT): Likewise.
3823 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
3824 * commands/hexdump.c (options): Likewise.
3825 * commands/i386/cpuid.c (options): Likewise.
3826 (GRUB_MOD_INIT): Likewise.
3827 * commands/i386/pc/drivemap.c (options): Likewise.
3828 (GRUB_MOD_INIT): Likewise.
3829 * commands/i386/pc/halt (options): Likewise.
3830 (GRUB_MOD_INIT): Likewise.
3831 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
3832 * commands/i386/pc/pxecmd.c (options): Likewise.
3833 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
3834 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
3835 * commands/keystatus.c (options): Likewise.
3836 (GRUB_MOD_INIT): Likewise.
3837 * commands/loadenv.c (options): Likewise.
3838 * commands/ls.c (options): Likewise.
3839 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
3840 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
3841 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
3842 * commands/parttool.c (helpmsg): Likewise.
3843 * commands/probe.c (options): Likewise.
3844 * commands/read.c (GRUB_MOD_INIT): Likewise.
3845 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
3846 * commands/search.c (options): Likewise.
3847 * commands/sleep.c (options): Likewise.
3848 * commands/test.c (GRUB_MOD_INIT): Likewise.
3849 * commands/true.c (GRUB_MOD_INIT): Likewise.
3850 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
3851 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
3852 * lib/arg.c (help_options): Likewise.
e9bbb4e7 3853 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
3854 `$(XGETTEXT)'.
98a50553 3855 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 3856
0ad46fd7 38572009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 3858
ef3c2c3a 3859 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
3860 instead of specifying them explicit.
3861
7922f68b
RM
38622009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3863
3864 * NEWS: Add grub-probe support for GNU/Hurd.
3865
537ce47f
RM
38662009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3867
3868 * NEWS: gettext was added after 1.97.
3869
9b214e3a
RM
38702009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3871
3872 * util/mkisofs/msdos_partition.h: New file (based on
3873 include/grub/msdos_partition.h).
3874 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
3875 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
3876 (ld_options, main): Recognize --protective-msdos-label.
3877 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
3878 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
3879 (padblock_write): If `use_protective_msdos_label' is set, patch a
3880 protective DOS-style label in the output image.
3881
3882 * util/grub-mkrescue.in: Use --protective-msdos-label.
3883
e9309813
RM
38842009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3885
3886 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
3887 boot.
3888
0ae56929
RM
38892009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3890
3891 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
3892 variables.
3893 (ld_options, main): Recognize `--embedded-boot'.
3894 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
3895 declarations.
3896 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
3897 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
3898 (padblock_write): Likewise. Rewrite to support embedded boot image.
3899
3900 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
3901 for BIOS-based disk boot instead of only ElTorito.
3902
b15937b1
RM
39032009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3904
3905 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
3906 build (not needed for bootstrap).
3907
52cc3ce0
RM
39082009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3909
3910 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
3911 from i386-pc build (not needed for bootstrap).
3912 Rewrite a pair of strings.
3913
36f5ff04
RM
39142009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3915
3916 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
3917
973c6c85 39182009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
3919
3920 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
3921
05d21547
AB
39222009-12-21 Andreas Born <futur.andy@googlemail.com>
3923
3924 * kern/env.c (grub_env_context_open): Mark exported variable for
3925 reexport.
3926
0175d51f
AB
39272009-12-21 Andreas Born <futur.andy@googlemail.com>
3928
3929 * kern/env.c (grub_env_export): Create nonexistent variables before
3930 exporting.
3931
7f39d92f 39322009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 3933
7f39d92f 3934 * include/grub/auth.h: Include `<grub/i18n.h>'.
3935 (GRUB_GET_PASSWORD): Gettextizze string.
3936 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
3937 menu_text.c.
3938 (grub_utf8_to_ucs4_alloc): Fix indentation.
3939 (grub_print_ucs4): Likewise.
3940 (grub_getstringwidth): Likewise.
3941 (print_message_indented): New declaration.
3942 * normal/auth.c: Include `<grub/i18n.h>'.
3943 (grub_auth_check_authentication): Gettexttize string.
3944 * normal/cmdline.c: Include `<grub/i18n.h>'.
3945 (grub_cmdline_get): Gettextizze.
3946 * normal/color.c: Include `<grub/i18n.h>'.
3947 (grub_parse_color_name_pair): Gettexttize strings.
3948 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
3949 string (use `print_message_indented').
3950 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
3951 `include/grub/normal.h'.
3952 (print_message_indented): Renamed to ...
3953 (grub_print_message_indented): ... this. Remove `static' qualifer (now
3954 used in normal/main.c).
3955 (print_message): Use `grub_print_message_indented' instead of
3956 `print_message_indented'.
3957 (print_timeout): Likewise.
3958 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
3959 (grub_normal_print_device_info): Gettexttize strings.
3960 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
3961
3041d898
VS
39622009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
3963
3964 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
3965 of arguments. Return number of tokens and not arguments. All users
3966 updated.
3967
de15bf8e
VS
39682009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
3969
3970 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
3971 non-MSDOS paritions.
3972
e0a6ca52
VS
39732009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
3974
3975 * include/grub/types.h (UNUSED): Removed since it conflicts with
3976 NetBSD headers. All users changed to direct __attribute__ ((unused)).
3977 Reported by Grégoire Sutre.
3978
b99518d1 39792009-12-19 Carles Pina i Estany <carles@pina.cat>
3980
3981 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
3982 (grub_print_ucs4_alloc): Likewise.
3983 (grub_getstringwidth): Likewise.
3984 * normal/main.c (grub_normal_init_page): Gettextize version string.
3985 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
3986 (getstringwidth): Renamed to ...
3987 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
3988 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
3989 (grub_print_ucs4): Remove `static' qualifer (now used in
3990 normal/main.c).
3991 * po/POTFILES: Add normal/main.c.
3992
bfd5e52b 39932009-12-19 Carles Pina i Estany <carles@pina.cat>
3994
3995 * normal/menu_text.c (STANDARD_MARGIN): New macro.
3996 (print_message_indented): Add `margin_left' and `margin_right'
3997 parameters.
3998 (print_message): Update `print_message_indented' calls. Adds '\n' to the
3999 strings.
4000 (print_timeout): Use `print_message_indented' to print the message.
4001 Deletes `second_stage' parameter.
4002 (run_menu): Update `print_timeout' calls.
4003
5a1ad2b9
VS
40042009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
4005
4006 Fix console palette on OpenFirmware.
4007
4008 * term/ieee1275/ofconsole.c (MAX): Removed.
4009 (colors): Redone based on VGA palette.
4010 (grub_ofconsole_setcolor): Discard brightness bit since only 8
4011 colors are supported.
4012 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
4013
b045f00a
VS
40142009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
4015
4016 Fix potential EfiEmu double prepare.
4017
4018 * efiemu/main.c (prepared): New variable
4019 (grub_efiemu_unload): Set prepare to '0'.
4020 (grub_efiemu_prepare): Return if already prepared. Set prepared.
4021
4022 set_virtual_address_map support.
4023
4024 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
4025 prototype.
4026 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
4027 prototype.
4028 (grub_efiemu_crc32): Likewise.
4029 (grub_efiemu_crc64): Likewise.
4030 (grub_efiemu_set_virtual_address_map): Likewise.
4031 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
4032 New definition.
4033 (grub_autoefi_set_virtual_address_map): Likewise.
4034 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
4035 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
4036 Restructure flow to accomodate it.
4037 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
4038 (grub_efiemu_crc): Recompute CRC32.
4039 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
4040 (efiemu_ptv_relocated): ... this. Made global. All users updated.
4041 * efiemu/symbols.c (relocated_handle): New variable.
4042 (grub_efiemu_free_syms): Free relocated_handle.
4043 (grub_efiemu_alloc_syms): Allocate relocated_handle.
4044 (grub_efiemu_write_sym_markers): New function.
4045 (grub_efiemu_set_virtual_address_map): Likewise.
4046
4047 Newer XNU parameters.
4048
4049 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
4050 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
4051 (grub_xnu_fill_devicetree): New prototype.
4052 (grub_xnu_heap_real_start): New variable.
4053 * loader/xnu.c (get_name_ptr): New function.
4054 (grub_xnu_load_driver): Fill namelen and name.
4055
4056 64-bit xnu support.
4057
4058 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
4059 and 'loader/macho64.c'.
4060 * conf/i386-pc.rmk: Likewise.
4061 * conf/x86_64-efi.rmk: Likewise.
4062 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
4063 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
4064 * include/grub/macho.h (grub_macho_segment64): New structure.
4065 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
4066 (grub_macho_size32): ... to this.
4067 (grub_macho32_get_entry_point): Renamed from ...
4068 (grub_macho_get_entry_point32): ... to this.
4069 (grub_macho_contains_macho64): New prototype.
4070 (grub_macho_size64): Likewise.
4071 (grub_macho_get_entry_point64): Likewise.
4072 (grub_macho32_load): Renamed from ...
4073 (grub_macho_load32): ... to this.
4074 (grub_macho32_filesize): Renamed from ...
4075 (grub_macho_filesize32): ... to this.
4076 (grub_macho32_readfile): Renamed from ...
4077 (grub_macho_readfile32): ... to this.
4078 (grub_macho_filesize64): New prototype.
4079 (grub_macho_readfile64): Likewise.
4080 (grub_macho_parse32): Likewise.
4081 (grub_macho_parse64): Likewise.
4082 * loader/macho.c: Split into ...
4083 * loader/machoXX.c: ... and this. Replace 32 with XX.
4084 * loader/macho32.c: New file.
4085 * loader/macho64.c: Likewise.
4086 * loader/xnu.c (grub_xnu_is_64bit): New variable.
4087 (grub_cmd_xnu_kernel): Make 32-bit only.
4088 (grub_cmd_xnu_kernel64): New function.
4089 (grub_xnu_load_driver): Support Mach-O 64.
4090 (grub_cmd_xnu_mkext): Likewise.
4091 * util/grub.d/30_os-prober.in (osx_entry): New function.
4092 Generate entries for 64-bit boot too.
4093
4094 Eliminate ad-hoc tree format in XNU and EfiEmu.
4095
4096 * efiemu/main.c (grub_efiemu_prepare): Update comment.
4097 * efiemu/pnvram.c: Rewritten to use environment variables.
4098 All users updated.
4099
4100 Inline utf16_to_utf8.
4101
4102 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
4103 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
4104 All users updated.
4105 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
4106
4107 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
4108 * commands/usbtest.c (grub_usb_get_string): ... move here.
4109 (usb_print_str): Fix error handling.
4110 * include/grub/usb.h (grub_usb_get_string): Remove.
4111
4112 UTF-8 to UTF-16 transformation.
4113
4114 * conf/common.rmk (pkglib_MODULES): Add charset.mod
4115 (charset_mod_SOURCES): New variable.
4116 (charset_mod_CFLAGS): Likewise.
4117 (charset_mod_LDFLAGS): Likewise.
4118 * include/grub/utf.h: New file.
4119 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
4120
4121 Support for device properties.
4122
4123 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
4124 (grub_xnu_devprop_device_header): Likewise.
4125 (grub_xnu_devprop_device_descriptor): Likewise.
4126 (grub_xnu_devprop_add_device): New prototype.
4127 (grub_xnu_devprop_remove_device): Likewise.
4128 (grub_xnu_devprop_remove_property): Likewise.
4129 (grub_xnu_devprop_add_property_utf8): Likewise.
4130 (grub_xnu_devprop_add_property_utf16): Likewise.
4131 (grub_cpu_xnu_init): Likewise.
4132 (grub_cpu_xnu_fini): Likewise.
4133 (grub_cpu_xnu_unload): Likewise.
4134 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
4135 (property_descriptor): Likewise.
4136 (devices): New variable.
4137 (grub_xnu_devprop_remove_property): New function.
4138 (grub_xnu_devprop_add_device): Likewise.
4139 (grub_xnu_devprop_remove_device): Likewise.
4140 (grub_xnu_devprop_add_property): Likewise.
4141 (grub_xnu_devprop_add_property_utf8): Likewise.
4142 (grub_xnu_devprop_add_property_utf16): Likewise.
4143 (hextoval): Likewise.
4144 (grub_cpu_xnu_fill_devprop): Likewise.
4145 (grub_cmd_devprop_load): Likewise.
4146 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
4147 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
4148 (cmd_devprop_load): New variable.
4149 (grub_cpu_xnu_init): New function.
4150 (grub_cpu_xnu_fini): Likewise.
4151 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
4152 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
4153 (grub_cmd_xnu_devtree): Likewise.
4154 (hextoval): New function.
4155 (unescape): Likewise.
4156 (grub_xnu_fill_devicetree): Likewise.
4157
4158 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
4159 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
4160
0945f181
VS
41612009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
4162
4163 Workaround for broken ATI VBE.
4164
4165 * video/i386/pc/vbe.c (last_set_mode): New variable.
4166 (grub_vbe_set_video_mode): Set 'last_set_mode'.
4167 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
4168 (grub_video_vbe_setup): Don't check for reserved flag.
4169
0ad46fd7 41702009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
4171
4172 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
4173 the `find' command.
4174
c179ebe4
VS
41752009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
4176
4177 UUID support for HFS.
4178
4179 * fs/hfs.c (grub_hfs_uuid): New function.
4180 (grub_hfs_fs): New value .uuid.
4181 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
4182
0ad46fd7 41832009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
4184
4185 Fix a segfault with parsing unknown long options.
4186
4187 * util/grub-mkrelpath.c (options): Zero terminate it.
4188
c4a3e41a
CPE
41892009-12-13 Carles Pina i Estany <carles@pina.cat>
4190
4191 * include/grub/misc.h (grub_puts): New declaration.
4192 (grub_puts_): Likewise.
a22008a6 4193 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
4194 (grub_puts_): Likewise.
4195
2e8a7602
RM
41962009-12-13 Robert Millan <rmh.grub@aybabtu.com>
4197
4198 * util/grub-probe.c (probe): Improve error message.
4199
b50b77b9
RM
42002009-12-13 Robert Millan <rmh.grub@aybabtu.com>
4201
4202 * loader/i386/multiboot_elfxx.c
4203 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
4204 initialization.
4205
42062009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4207
4208 Relocator framework
4209
4210 * loader/i386/xnu_helper.S: Removed. All users updated.
4211 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
4212 (relocator_mod_SOURCES): New variable.
4213 (relocator_mod_CFLAGS): Likewise.
4214 (relocator_mod_LDFLAGS): Likewise.
4215 (relocator_mod_ASFLAGS): Likewise.
4216 * conf/x86_64.rmk: Likewise.
4217 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
4218 (grub_multiboot_payload_entry_offset): Likewise.
4219 (grub_multiboot_forward_relocator): Likewise.
4220 (grub_multiboot_forward_relocator_end): Likewise.
4221 (grub_multiboot_backward_relocator): Likewise.
4222 (grub_multiboot_backward_relocator_end): Likewise.
4223 (grub_multiboot_payload_eip): New variable.
4224 (grub_multiboot_payload_orig): Likewise.
4225 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
4226 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
4227 * include/grub/i386/memory.h
4228 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
4229 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
4230 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
4231 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
4232 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
4233 * include/grub/i386/relocator.h: New file.
4234 * include/grub/x86_64/relocator.h: Likewise.
4235 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
4236 (XNU_RELOCATOR): New macro.
4237 (grub_xnu_launcher_start): Remove.
4238 (grub_xnu_launcher_end): Likewise.
4239 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
4240 (grub_xnu_heap_real_start): Remove.
4241 (grub_xnu_heap_start): Change to void *. All users updated.
4242 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
4243 * lib/i386/relocator.c: New file.
4244 * lib/i386/relocator_asm.S: Likewise.
4245 * lib/i386/relocator_backward.S: Likewise.
4246 * lib/mips/relocator.c: Likewise.
4247 * lib/mips/relocator_asm.S: Likewise.
4248 * lib/relocator.c: Likewise.
4249 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
4250 (entry): Removed.
4251 (playground): Likewise.
4252 (grub_multiboot_payload_orig): New variable.
4253 (grub_multiboot_payload_dest): Likewise.
4254 (grub_multiboot_payload_size): Likewise.
4255 (grub_multiboot_payload_eip): Likewise.
4256 (grub_multiboot_payload_esp): Likewise.
4257 (grub_multiboot_boot): Use grub_relocator32_boot.
4258 (grub_multiboot_unload): Free relocators.
4259 (grub_multiboot): Setup stack. Use relocators.
4260 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
4261 (grub_multiboot_load_elfXX): Use relocators.
4262 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
4263 (grub_multiboot_payload_size): Likewise.
4264 (grub_multiboot_payload_dest): Likewise.
4265 (grub_multiboot_payload_entry_offset): Likewise.
4266 (grub_multiboot_forward_relocator): Likewise.
4267 (grub_multiboot_backward_relocator): Likewise.
4268 (grub_multiboot_real_boot): Likewise.
4269 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
4270 (grub_xnu_entry_point): Likewise.
4271 (grub_xnu_arg1): Likewise.
4272 (grub_xnu_stack): Likewise.
4273 (grub_xnu_launch): Removed.
4274 (grub_xnu_boot_resume): New function.
4275 (grub_xnu_boot): Use relocators.
4276 * loader/i386/xnu_helper.S: Removed.
4277 * loader/xnu.c (grub_xnu_heap_start): New variable.
4278 (grub_xnu_heap_size): Likewise.
4279 (grub_xnu_heap_malloc): Use relocators.
4280 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
4281
29eb90c6
VS
42822009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4283
4284 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
4285 anything.
4286
31027430
CPE
42872009-12-13 Carles Pina i Estany <carles@pina.cat>
4288
4289 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
4290 GRUB_ERR_NONE before calling grub_env_set.
4291
dc0c71d9
RM
42922009-12-12 Robert Millan <rmh@aybabtu.com>
4293
4294 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
4295 * genmk.rb (video): New variable.
4296 (CLEANFILES, VIDEOFILES): Add #{video}.
4297 (#{video}): New target rule.
4298 * genvideolist.sh: New file.
4299 * Makefile.in (pkglib_DATA): Add video.lst.
4300 (video.lst): New target rule.
4301 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
4302 `video.lst'.
4303 * util/grub.d/30_os-prober.in: Replace `vbe' with
4304 ${GRUB_VIDEO_BACKEND}.
4305
2a4bfcf0
RM
43062009-12-11 Robert Millan <rmh.grub@aybabtu.com>
4307
4308 * THANKS: Add David Miller.
4309
2a3aa4d5
RM
43102009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
4311
4312 libpciaccess support.
4313
4314 * Makefile.in (LIBPCIACCESS): New variable.
4315 (enable_grub_emu_pci): Likewise.
4316 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
4317 util/pci.c and commands/lspci.c.
4318 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
4319 * configure.ac (grub-emu-pci): New option.
4320 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
4321 (grub_pci_device_unmap_range): Likewise.
4322 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
4323 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
4324 (grub_pci_address_t) [!GRUB_UTIL]: New type.
4325 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
4326 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
4327 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
4328 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
4329 * include/grub/pciutils.h: New file.
4330 * util/pci.c: Likewise.
4331
0ad46fd7 43322009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
4333
4334 * util/misc.c: Don't include <errno.h> twice.
4335
0ad46fd7 43362009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
4337
4338 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
4339 name in an error message.
4340 (grub_biosdisk_rw): Likewise.
4341
2e59983c
VS
43422009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4343
4344 Eliminate NTFS 4Gib barrier.
4345
4346 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
4347 (read_run_data): Likewise.
4348 (grub_ntfs_read_run_list): Likewise.
4349 (grub_ntfs_read_block): Likewise.
4350 (grub_ntfs_iterate_dir): Likewise.
4351 (read_mft): Likewise.
4352 (read_data): Likewise.
4353 Use COM_LOG_LEN.
4354 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
4355 to avoid 64-bit division
4356 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
4357 (grub_ntfs_rlst): Use grub_disk_addr_t.
4358
71ee178a
VS
43592009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4360
4361 Eliminate grub-fstest 4Gib barrier.
4362
4363 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
4364 (read_file): Fix error reporting.
4365
2520d4b8
VS
43662009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4367
4368 Eliminate hexdump 4Gib barrier.
4369
4370 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
4371 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
4372
e1f27065
VS
43732009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4374
4375 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
4376 Fixes amarsh bug.
4377
1a0f7f45
RM
43782009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
4379
4380 Remove miscellaneous files in distclean target.
4381
4382 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
4383
c631d9fb
CW
43842009-12-09 Colin Watson <cjwatson@ubuntu.com>
4385
4386 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
4387 if they're already set. This resolves the conflict between my
4388 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
4389 fixing the --grub-probe option again.
4390 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
4391 change on 2009-10-06, so that we now once again source
4392 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
4393
7c7b6106
RM
43942009-12-08 Robert Millan <rmh.grub@aybabtu.com>
4395
4396 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
4397 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
4398 `util/devicemap.c'.
4399
e3069ec1
CPE
44002009-12-08 Carles Pina i Estany <carles@pina.cat>
4401
4402 * include/grub/misc.h (grub_printf_): New declaration.
4403 * kern/misc.c (grub_printf_): New definition.
4404 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
4405 instead of `grub_printf' and `_'.
4406 * normal/menu_entry.c (store_completion): Likewise.
4407 (run): Likewise.
4408 (grub_menu_entry_run): Likewise.
4409 * normal/menu_text.c (grub_wait_after_message): Likewise.
4410 (notify_booting): Likewise.
4411 (notify_fallback): Likewise.
4412 (notify_execution_failure): Likewise.
4413
d6ceebf1
CW
44142009-12-07 Colin Watson <cjwatson@ubuntu.com>
4415
4416 * configure.ac: Check for vasprintf.
4417 * util/misc.c (asprintf): Move allocation from here ...
4418 (vasprintf): ... to here. New function.
4419 (xasprintf): New function.
4420 * include/grub/util/misc.h (vasprintf, xasprintf): Add
4421 prototypes.
4422 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
4423 * util/grub-mkfont.c (write_font): Likewise.
4424 * util/grub-probe.c (probe): Likewise.
4425 * util/hostdisk.c (make_device_name): Likewise.
4426
de6daa8b
DM
44272009-12-06 David S. Miller <davem@sunset.davemloft.net>
4428
4429 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
4430 anything even prefixed with 'cdrom' as a cdrom.
4431
0ad46fd7 44322009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
4433
4434 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
4435 mount points.
4436
98d3dc02
CPE
44372009-12-05 Carles Pina i Estany <carles@pina.cat>
4438
4439 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
4440 grub_gettext_msg_list.
4441 (grub_gettext_gettranslation_from_position): Return const char *
4442 and not char *.
a2c1332b 4443 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
4444 returns from the list if existing there.
4445 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
4446 (grub_gettext_delete_list): Delete the list.
4447 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
4448 lang environment variable is changed.
4449 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
4450
b283f108
VS
44512009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
4452
4453 Rename kernel.mod to kernel.img.
4454
4455 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
4456 (kernel_mod_EXPORTS): Rename to ...
4457 (kernel_img_EXPORTS): ... this.
4458 (kernel_mod_SOURCES): Rename to ...
4459 (kernel_img_SOURCES): ... this.
4460 (kernel_mod_HEADERS): Rename to ...
4461 (kernel_img_HEADERS): ... this. All users updated.
4462 (kernel_mod_CFLAGS): Rename to ...
4463 (kernel_img_CFLAGS): ... this.
4464 (kernel_mod_ASFLAGS): Rename to ...
4465 (kernel_img_ASFLAGS): ... this.
4466 (kernel_mod_LDFLAGS): Rename to ...
4467 (kernel_img_LDFLAGS): ... this.
4468 * conf/x86_64-efi.rmk: Likewise.
4469 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
4470 (read_kernel_image): ... this. All users updated.
4471 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
4472
69055f8a
CPE
44732009-12-05 Carles Pina i Estany <carles@pina.cat>
4474
4475 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
4476 (print_spaces): New function.
4477 (grub_print_ucs4): New function.
4478 (getstringwidth): New function.
4479 (print_message_indented): New function.
4480 (print_message): Gettexttize strings using print_message_indented.
4481 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
4482 width.
4483 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 4484 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
4485 Gettextize.
4486 * normal/menu_entry.c (store_completion): Cleanup the gettextized
4487 string.
4488 (run): Likewise.
4489 (grub_menu_entry_run): Likewise.
4490 * PO/POTFILES: Add normal/menu_entry.c.
4491
f616f51c
VS
44922009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
4493
4494 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
4495
57bbe3be
CPE
44962009-12-05 Carles Pina i Estany <carles@pina.cat>
4497
4498 * util/grub-install.in: Install gettext .mo files.
4499 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
4500
013d67a1
CPE
45012009-12-05 Carles Pina i Estany <carles@pina.cat>
4502
4503 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
4504 grub_dprintf.
4505
fb954db0
RM
45062009-12-05 Robert Millan <rmh.grub@aybabtu.com>
4507
4508 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
4509 non-firmware-dependant one in realmode.S takes precedence.
4510
6b8474f8
RM
45112009-12-04 Robert Millan <rmh.grub@aybabtu.com>
4512
4513 * commands/halt.c: Replace misc arch-specific headers with
4514 `<grub/misc.h>'.
4515 * commands/reboot.c: Likewise.
4516 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
4517 `<grub/misc.h>'.
4518 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
4519 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
4520 (kernel_img_SOURCES): ... to here.
4521
4522 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
4523 * include/grub/i386/pc/init.h: Likewise.
4524 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
4525 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
4526
4527 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
4528
4529 * include/grub/i386/halt.h: Remove.
4530 * include/grub/i386/reboot.h: Likewise.
4531
4532 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
4533
4b2e6ca2
DM
45342009-12-03 David S. Miller <davem@sunset.davemloft.net>
4535
4536 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
4537 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
4538 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
4539 "progname.h"
4540 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
4541 * util/sparc64/ieee1275/grub-setup.c: Likewise.
4542 (usage): Add missing comma in printf.
4543
5239348f
RM
45442009-12-02 Robert Millan <rmh.grub@aybabtu.com>
4545
4546 Use the same reboot approach on i386 coreboot and qemu as we do on
4547 BIOS.
4548
4549 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
4550 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
4551 * kern/i386/reboot.c: Remove.
4552 * include/grub/i386/reboot.h (grub_reboot): Export function.
4553 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
4554 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
4555 0xf000:0xfff0 instead of 0xffff:0x0000.
4556 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
4557 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
4558
ef34cbd4
RM
45592009-11-30 Robert Millan <rmh.grub@aybabtu.com>
4560
4561 Fix $srcdir != $objdir build.
4562
4563 * Makefile.in (po/%.po): Rewrite as ...
4564 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
4565
dc9837ea
ST
45662009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
4567
4568 Fix GNU/Hurd grub-install crash.
4569 * util/grub-probe.c (probe): Try to access `path' only when it is not
4570 NULL.
4571
2f857f98
VS
45722009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
4573
4574 Correct module naming.
4575
4576 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
4577 (GRUB_MOD_INIT(efi_uga)): ... to this
4578 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
4579 (GRUB_MOD_FINI(efi_uga)): ... to this
4580 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
4581 (GRUB_MOD_INIT(efi_gop)): ... to this
4582 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
4583 (GRUB_MOD_FINI(efi_gop)): ... to this
4584
c5448046
RM
45852009-11-28 Robert Millan <rmh.grub@aybabtu.com>
4586
4587 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
4588 translatable.
4589 (usage): Translate `arg' strings using gettext().
4590 Thanks to Jordi Mallach for the suggestion.
4591
c85184ad
VS
45922009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
4593
4594 GOP support. Based on patch from Bean
4595 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
4596
4597 * video/efi_gop.c: New file.
4598 * include/grub/efi/graphics_output.h: Likewise.
4599 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
4600 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
4601 variables.
4602 * conf/x86_64-efi.rmk: Likewise.
4603
8a4c48d8
VS
46042009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
4605
4606 Rename efi_fb to efi_uga.
4607
4608 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
4609 'efi_uga.mod'.
4610 (efi_fb_mod_SOURCES): Rename this ...
4611 (efi_uga_mod_SOURCES): ... to this.
4612 (efi_fb_mod_CFLAGS): Rename this ...
4613 (efi_uga_mod_CFLAGS): ... to this.
4614 (efi_fb_mod_LDFLAGS): Rename this ...
4615 (efi_uga_mod_LDFLAGS): ... to this.
4616 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
4617 'efi_uga.mod'.
4618 (efi_fb_mod_SOURCES): Rename this ...
4619 (efi_uga_mod_SOURCES): ... to this.
4620 (efi_fb_mod_CFLAGS): Rename this ...
4621 (efi_uga_mod_CFLAGS): ... to this.
4622 (efi_fb_mod_LDFLAGS): Rename this ...
4623 (efi_uga_mod_LDFLAGS): ... to this.
4624 * video/efi_fb.c: Move this ...
4625 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
4626
fb6c1a7b
RM
46272009-11-27 Robert Millan <rmh.grub@aybabtu.com>
4628
4629 * po/README: New file. Explain our PO file workflow.
4630
3bc7896c
RM
46312009-11-27 Robert Millan <rmh.grub@aybabtu.com>
4632
4633 * po/ChangeLog: Remove. Move relevant entries back to ...
4634 * ChangeLog: ... here.
4635 * po/ca.po: Remove (now handled by TLP).
4636 * po/id.po: Likewise.
4637 * po/zh_CN.po: Likewise.
4638 * Makefile.in (LINGUAS): Initialize in a way that supports
4639 empty set.
4640
9ed4841d
RM
46412009-11-27 Robert Millan <rmh.grub@aybabtu.com>
4642
4643 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
4644 reliing on po/LINGUAS.
4645 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
4646 (po/%.po): ... this.
4647
0ad46fd7 46482009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
4649
4650 * util/i386/efi/grub-mkimage.c: Include "progname.h".
4651 (main): Use `program_name' instead of nonexistent `progname'.
4652
e30dd392
FZ
46532009-11-26 Felix Zielcke <fzielcke@z-51.de>
4654
4655 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
4656 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
4657
7656de4f
RM
46582009-11-26 Robert Millan <rmh.grub@aybabtu.com>
4659
4660 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
4661 commit.
4662 * conf/i386-efi.rmk: Likewise.
4663 * conf/i386-ieee1275.rmk: Likewise.
4664 * conf/powerpc-ieee1275.rmk: Likewise.
4665 * conf/sparc64-ieee1275.rmk: Likewise.
4666 * conf/x86_64-efi.rmk: Likewise.
4667
db77c4d4
FZ
46682009-11-26 Felix Zielcke <fzielcke@z-51.de>
4669
4670 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
4671
a755bb04
FZ
46722009-11-26 Felix Zielcke <fzielcke@z-51.de>
4673
4674 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
4675
8a4c07fd
RM
46762009-11-26 Robert Millan <rmh.grub@aybabtu.com>
4677
4678 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
4679 (grub_mkdevicemap_SOURCES): New variable.
4680 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
4681 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
4682 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
4683 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
4684 (grub_mkdevicemap_SOURCES): Remove.
4685 * conf/i386-efi.rmk: Likewise.
4686 * conf/i386-ieee1275.rmk: Likewise.
4687 * conf/i386-pc.rmk: Likewise.
4688 * conf/powerpc-ieee1275.rmk: Likewise.
4689 * conf/sparc64-ieee1275.rmk: Likewise.
4690 * conf/x86_64-efi.rmk: Likewise.
4691 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
4692 (usage): Fix strings to use `program_name'.
4693 (main): Initialize gettext.
4694 * util/grub-editenv.c: Likewise.
4695 * util/grub-emu.c: Likewise.
4696 * util/grub-fstest.c: Likewise.
4697 * util/grub-mkdevicemap.c: Likewise.
4698 * util/grub-mkfont.c: Likewise.
4699 * util/grub-mkrelpath.c: Likewise.
4700 * util/grub-pe2elf.c: Likewise.
4701 * util/grub-probe.c: Likewise.
4702 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
4703 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
4704 * util/sparc64/ieee1275/grub-setup.c: Likewise.
4705
4706 * util/misc.c: Include `"progname.h"'.
4707 (progname): Remove variable.
4708 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
4709
6f61ed55
FZ
47102009-11-25 Felix Zielcke <fzielcke@z-51.de>
4711
4712 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
4713 printf and print a newline after the menuentry header line.
4714 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
4715
f022876b
FZ
47162009-11-25 Felix Zielcke <fzielcke@z-51.de>
4717
4718 autoconf >= 2.60 support $(localedir).
4719
4720 * INSTALL: Note that autoconf 2.60 is required.
4721 * configure.ac (AC_PREREQ): Bump to 2.60.
4722 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
4723 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
4724
6717926e
YB
47252009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
4726
4727 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
4728 aclocal is run.
4729
08806a54
RM
47302009-11-25 Robert Millan <rmh.grub@aybabtu.com>
4731
4732 * normal/main.c (grub_normal_read_line): Fix off-by-one
4733 buffer overflow.
4734
13b33fba
RM
47352009-11-25 Robert Millan <rmh.grub@aybabtu.com>
4736
4737 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
4738 "parser.grub" in grub_command_execute() call.
4739
4a8572e9
CPE
47402009-11-24 Carles Pina i Estany <carles@pina.cat>
4741
4742 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
4743 * conf/i386-efi.rmk: Likewise.
4744 * conf/i386-ieee1275.rmk: Likewise.
4745 * conf/i386-pc.rmk: Likewise.
4746 * conf/powerpc-ieee1275.rmk: Likewise.
4747 * conf/sparc64-ieee1275.rmk: Likewise.
4748 * conf/x86_64-efi.rmk: Likewise.
4749 * gettext/gettex.c: Include <grub/i18n.h>.
4750 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
4751 here ...
4752 * include/grub/i18n.h: ... to here
4753 * include/grub/i18n.h: ... to here.
4754 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 4755 (grub_gettext_dummy): Move above user.
4a8572e9 4756
bee48093
FZ
47572009-11-24 Felix Zielcke <fzielcke@z-51.de>
4758
4759 * util/Makefile.in (install-local): Convert a `for' into a normal
4760 shell expansion.
4761
a031e91c
RM
47622009-11-24 Robert Millan <rmh.grub@aybabtu.com>
4763
4764 * autogen.sh: Add automake call.
4765 * config.guess: Remove.
4766 * config.sub: Likewise.
4767 * install-sh: Likewise.
4768
26bec39d
FZ
47692009-11-24 Felix Zielcke <fzielcke@z-51.de>
4770
4771 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
4772
8e2532fd
FZ
47732009-11-24 Felix Zielcke <fzielcke@z-51.de>
4774
4775 * util/Makefile.in (install-local): Convert a make `$(foreach)'
4776 function to a normal shell `for'.
4777
fefa1b7d
FZ
47782009-11-24 Felix Zielcke <fzielcke@z-51.de>
4779
4780 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
4781
4501250b
FZ
47822009-11-24 Felix Zielcke <fzielcke@z-51.de>
4783
4784 * util/grub-mkrelpath.c: New file.
4785 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
4786 (grub_mkrelpath_SOURCES): New variable.
4787 * include/grub/util/misc.h: New function prototype.
4788 * util/misc.c (make_system_path_relative_to_its_root): New function.
4789
4790 * util/grub-mkconfig_lib.in (bindir): New variable.
4791 (grub_mkrelpath): Likewise.
4792 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
4793
4794 * util/probe.c (probe): Make the file path relative to its root.
4795 Change a info message to use the GRUB path. Enable again the
4796 check if we can read the file with GRUB facilities.
4797
4798 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
4799 to its root.
4800
11d9778b
FZ
48012009-11-24 Felix Zielcke <fzielcke@z-51.de>
4802
4803 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
4804 platform.
4805
4465287d
FZ
48062009-11-24 Felix Zielcke <fzielcke@z-51.de>
4807
4808 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
4809 strncmp().
4810
62b47f22
FZ
48112009-11-24 Felix Zielcke <fzielcke@z-51.de>
4812
4813 * util/getroot.c (grub_util_is_dmraid): New function.
4814 (grub_util_get_dev_abstraction): Treat dmraid and multipath
4815 devices as normal ones, not as LVM.
4816
1eafb9b9 48172009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
4818
4819 * conf/common.rmk: Add grub-gettext_lib target and updates
4820 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
4821 LDFLAGS.
4822 * gettext/gettext.c: New file. (Reads mo files).
4823 * include/grub/file.h (grub_file_pread): New prototype.
4824 * include/grub/i18n.h (_): New prototype.
4825 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
4826 prototypes.
4827 * kern/misc.c (grub_gettext_dummy): New function.
4828 * normal/menu_text.c: Include <grub/i18n.h>.
4829 * normal/menu_text.c (print_timeout): Gettexttize string.
4830 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
4831 * po/POTFILES: Add `normal/menu_text.c'.
4832 * po/ca.po: Add new translations.
c3ea6bd4
CPE
4833 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
4834 gettext module and defines locale_dir and lang in grub.cfg.
4835 * NEWS: Add gettext support.
4836
0fdb2568
RM
48372009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4838
4839 * util/hostdisk.c: Include `<grub/i18n.h>'.
4840 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
4841 (make_device_name): Rewrite using asprintf.
4842 (convert_system_partition_to_system_disk): Replace 0 with NULL.
4843 (find_system_device): If a device is not found, generate one just
4844 by reusing the OS path name.
4845 (read_device_map): Make it permissible for device.map not to exist.
4846
f515aa62
RM
48472009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4848
4849 * script/sh/execute.c: Move from here ...
4850 * script/execute.c: ... to here. Update all users.
4851 * script/sh/function.c: Move from here ...
4852 * script/function.c: ... to here. Update all users.
4853 * script/sh/lexer.c: Move from here ...
4854 * script/lexer.c: ... to here. Update all users.
4855 * script/sh/main.c: Move from here ...
4856 * script/main.c: ... to here. Update all users.
4857 * script/sh/parser.y: Move from here ...
4858 * script/parser.y: ... to here. Update all users.
4859 * script/sh/script.c: Move from here ...
4860 * script/script.c: ... to here. Update all users.
4861
f84b481b
RM
48622009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4863
4864 * configure.ac: Detect all `emu' platforms. Define
4865 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
4866 --enable-grub-emu logic. Disable include/grub/machine
4867 symlink on `emu' platforms.
4868
4869 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
4870 * gensymlist.sh.in: Likewise.
4871
4872 * include/grub/i386/coreboot/machine.h: Remove file.
4873 * include/grub/i386/efi/machine.h: Likewise.
4874 * include/grub/i386/ieee1275/machine.h: Likewise.
4875 * include/grub/i386/pc/machine.h: Likewise.
4876 * include/grub/i386/qemu/machine.h: Likewise.
4877 * include/grub/powerpc/ieee1275/machine.h: Likewise.
4878 * include/grub/sparc64/ieee1275/machine.h: Likewise.
4879 * include/grub/x86_64/efi/machine.h: Likewise.
4880
4881 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
4882 * commands/halt.c: Likewise.
4883 * commands/reboot.c: Likewise.
4884 * include/grub/autoefi.h: Likewise.
4885 * include/grub/i386/at_keyboard.h: Likewise.
4886 * include/grub/i386/kernel.h: Likewise.
4887 * include/grub/i386/loader.h: Likewise.
4888 * include/grub/i386/pc/memory.h: Likewise.
4889 * kern/dl.c: Likewise.
4890 * kern/i386/coreboot/init.c: Likewise.
4891 * loader/i386/bsd.c: Likewise.
4892 * loader/i386/linux.c: Likewise.
4893 * loader/multiboot_loader.c: Likewise.
4894 * term/i386/pc/serial.c: Likewise.
4895 * term/usb_keyboard.c: Likewise.
4896
4897 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
4898 `<grub/machine/machine.h>'
4899 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
4900 * util/misc.c: Remove `<grub/machine/machine.h>' and
4901 `<grub/machine/time.h>'.
4902
4903 * Makefile.in (enable_grub_emu): Remove variable.
4904 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
4905
4906 * conf/any-emu.rmk: New file.
4907 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
4908 (grub_emu_init.c): Move from here ...
4909 * conf/any-emu.rmk: ... to here.
4910
4911 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
4912 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
4913 * conf/any-emu.rmk: ... to here.
4914
4efeab03
RM
49152009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4916
4917 * include/grub/parser.h (grub_parser_register): Document need
4918 of `name' parameter.
4919 * normal/main.c (grub_normal_read_line): Simplify prompt string.
4920 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
4921 "sh" to "grub".
4922
ea1dd8bf
RM
49232009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4924
4925 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
4926 `$(XGETTEXT)'.
4927 * include/grub/i18n.h (N_): New macro.
4928 * util/mkisofs/mkisofs.h: Likewise.
4929 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
4930 around N_().
4931 (usage): Use gettext() to translate help strings when printing them.
4932
0c140626
RM
49332009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4934
4935 Based on patch from Bean
4936 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
4937
4938 * video/efi_fb.c: New file.
4939 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
4940 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
4941 variables.
4942 * conf/x86_64-efi.rmk: Likewise.
4943
87d58298
RM
49442009-11-22 Robert Millan <rmh.grub@aybabtu.com>
4945
4946 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
4947 * util/i386/pc/grub-setup.c: Likewise.
4948
994cc3a3
ST
49492009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
4950
4951 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
4952 <hurd/fs.h>
4953 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
4954 file_get_storage_info to implement grub_guess_root_device.
4955
26a61d6a
FZ
49562009-11-21 Felix Zielcke <fzielcke@z-51.de>
4957
4958 * Makefile.in (target): Use make's builtin $(shell) function
4959 instead of calling directly $(SHELL) to create the locale directories,
4960 inside the $(foreach) function.
4961
74ff1dd5
FZ
49622009-11-21 Felix Zielcke <fzielcke@z-51.de>
4963
4964 * util/grub-mkrescue.in: Print an error and usage if output option
4965 has not been given.
4966
0b787d0e
FZ
49672009-11-21 Felix Zielcke <fzielcke@z-51.de>
4968
4969 Patch from Loïc Minier <loic.minier@ubuntu.com>.
4970 * util/grub.d/30_os-prober.in: Cope with Linux entries where
4971 root and /boot are on different devices.
4972
1164b270
RM
49732009-11-21 Robert Millan <rmh.grub@aybabtu.com>
4974
4975 Fix build for srcdir != objdir.
4976
4977 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
4978 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
4979 $(srcdir).
4980 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
4981 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
4982 reference for input.
4983
13774a2f
RM
49842009-11-21 Robert Millan <rmh.grub@aybabtu.com>
4985
4986 * util/grub-mkrescue.in: Use source directory direcly (without copiing
4987 or hardlinking it). Remove -J option, Joliet is not compatible with
4988 multiple source directories.
4989
efda854e
RM
49902009-11-21 Carles Pina i Estany <carles@pina.cat>
49912009-11-21 Robert Millan <rmh.grub@aybabtu.com>
4992
4993 * util/grub-mkrescue.in: Recognize `--override-directory' option.
4994 (process_input_dir): New function. Process an arbitrary input
4995 directory.
4996 Misc adjustments to support both "override mode" and system-wide mode.
4997
6c09890c
FZ
49982009-11-20 Felix Zielcke <fzielcke@z-51.de>
4999
5000 * configure.ac (UNIFONT_BDF): Rename to ...
5001 (FONT_SOURCE): ... this. Update all users.
5002
a797824f
FZ
50032009-11-20 Felix Zielcke <fzielcke@z-51.de>
5004
5005 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
5006 to the list of unifont files to look for.
5007
cd4f42b0
RM
50082009-11-19 Robert Millan <rmh.grub@aybabtu.com>
5009
5010 Patch from Joe Auricchio <jauricchio@gmail.com>
5011 * commands/minicmd.c (grub_mini_cmd_clear): New function.
5012 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
5013 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
5014
393c783d
FZ
50152009-11-19 Felix Zielcke <fzielcke@z-51.de>
5016
5017 * Makefile.in (install-local): Add a missing backslash.
5018
b2f1e327
FZ
50192009-11-19 Felix Zielcke <fzielcke@z-51.de>
5020
5021 * include/grub/x86_64/io.h: New file.
5022
f577f7a0
RM
50232009-11-19 Robert Millan <rmh.grub@aybabtu.com>
5024
5025 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
5026 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
5027 Include `"progname.h"'.
5028 (main): Initialize gettext.
5029 * util/i386/pc/grub-setup.c: Gettexttize.
5030 * util/i386/pc/grub-mkimage.c: Likewise.
5031
5032 * Makefile.in (po/*.po): Redefine as ...
5033 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
5034
3bc7896c
RM
5035 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
5036
c37943b6
RM
50372009-11-19 Robert Millan <rmh.grub@aybabtu.com>
5038
5039 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
5040 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
5041 (program_name): Remove.
5042 (main): Initialize gettext support.
6323f705
RM
5043 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
5044 Include `<libintl.h>'.
5045 (_): New macro.
c37943b6
RM
5046
5047 * util/mkisofs/eltorito.c: Gettexttize.
5048 * util/mkisofs/joliet.c: Likewise.
5049 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
5050 * util/mkisofs/multi.c: Likewise.
5051 * util/mkisofs/rock.c: Likewise.
5052 * util/mkisofs/tree.c: Likewise.
5053 * util/mkisofs/write.c: Likewise.
5054
3bc7896c
RM
5055 * po/POTFILES: Update with new files.
5056
5ce77c6e
RM
50572009-11-18 Robert Millan <rmh.grub@aybabtu.com>
5058
5059 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
5060 * util/mkisofs/iso9660.h: Likewise.
5061 * util/mkisofs/joliet.c: Likewise.
5062 * util/mkisofs/mkisofs.c: Likewise.
5063 * util/mkisofs/mkisofs.h: Likewise.
5064 * util/mkisofs/rock.c: Likewise.
5065 * util/mkisofs/tree.c: Likewise.
5066 * util/mkisofs/write.c: Likewise.
5067
5068 * util/mkisofs/eltorito.c (rcsid): Remove.
5069 * util/mkisofs/hash.c: Likewise.
5070 * util/mkisofs/joliet.c: Likewise.
5071 * util/mkisofs/name.c: Likewise.
5072 * util/mkisofs/rock.c: Likewise.
5073 * util/mkisofs/tree.c: Likewise.
5074 * util/mkisofs/write.c: Likewise.
5075
1dabbc77
RM
50762009-11-18 Robert Millan <rmh.grub@aybabtu.com>
5077
5078 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
5079 instead of static allocation.
5080 * util/mkisofs/match.h: Likewise.
5081
633877cb
RM
50822009-11-18 Robert Millan <rmh.grub@aybabtu.com>
5083
3bc7896c
RM
5084 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
5085 and `util/grub.d/10_linux.in'.
633877cb
RM
5086 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
5087 translatable Shell files.
5088
af1c0c85
RM
50892009-11-18 Robert Millan <rmh.grub@aybabtu.com>
5090
5091 * Makefile.in ($(srcdir)/aclocal.m4): New target.
5092
769ae37b
RM
50932009-11-17 Robert Millan <rmh.grub@aybabtu.com>
5094
5095 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 5096 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
5097 * util/grub.d/10_kfreebsd.in (bindir): New variable.
5098 Add gettext initialization.
5099 (kfreebsd_entry): Make menuentry output translatable.
5100
51012009-11-17 Robert Millan <rmh.grub@aybabtu.com>
5102
5103 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
5104 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
5105 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
5106 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
5107 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 5108 * po/LINGUAS: New file.
769ae37b
RM
5109
51102009-11-17 Robert Millan <rmh.grub@aybabtu.com>
5111
5112 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
5113 other things).
5114 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
5115 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
5116 bindtextdomain() calls for gettext initialization.
5117
51182009-11-17 Robert Millan <rmh.grub@aybabtu.com>
5119
5120 * gnulib/progname.c: New file (imported from Gnulib).
5121 * gnulib/progname.h: Likewise.
5122 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
5123 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
5124 (usage): Replace `progname' with `program_name'.
5125 (main): Use set_program_name() for program name initialization.
5126
51272009-11-17 Robert Millan <rmh.grub@aybabtu.com>
5128
5129 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
5130 from here ...
5131 * Makefile.in (CPPFLAGS): ... to here.
5132
51332009-11-16 Robert Millan <rmh.grub@aybabtu.com>
5134
5135 * aclocal.m4: Move from here ...
5136 * acinclude.m4: ... to here.
5137 * autogen.sh: Add call to `aclocal'.
5138 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
5139
51402009-11-16 Robert Millan <rmh.grub@aybabtu.com>
5141
5142 * Makefile.in (CLEANFILES): Add `po/*.mo'.
5143 (LINGUAS): New variable.
5144 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
5145 (install-local): Install MO files.
5146 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
5147 * include/grub/i18n.h: New file.
3bc7896c
RM
5148 * po/POTFILES: New file.
5149 * po/ca.po: New file.
769ae37b
RM
5150 * util/grub.d/10_linux.in (bindir): New variable.
5151 Add gettext initialization.
5152 (linux_entry): Make menuentry output translatable.
5153 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
5154 (usage): Make --help output translatable.
5155 (main): Initialize gettext.
5156
02c0a6ad
RM
51572009-11-17 Robert Millan <rmh.grub@aybabtu.com>
5158
5159 * import_gcry.py: New file (written by Vladimir with minor
5160 adjustments).
5161 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
5162 ciphers.
5163 * INSTALL: Document that Python is required for bootstrap.
5164
51652009-11-17 Robert Millan <rmh.grub@aybabtu.com>
5166
5167 Import ciphers from libgcrypt 1.4.4.
5168
5169 * lib/libgcrypt/cipher/ChangeLog
5170 * lib/libgcrypt/cipher/ac.c
5171 * lib/libgcrypt/cipher/arcfour.c
5172 * lib/libgcrypt/cipher/bithelp.h
5173 * lib/libgcrypt/cipher/blowfish.c
5174 * lib/libgcrypt/cipher/camellia-glue.c
5175 * lib/libgcrypt/cipher/camellia.c
5176 * lib/libgcrypt/cipher/camellia.h
5177 * lib/libgcrypt/cipher/cast5.c
5178 * lib/libgcrypt/cipher/cipher.c
5179 * lib/libgcrypt/cipher/crc.c
5180 * lib/libgcrypt/cipher/des.c
5181 * lib/libgcrypt/cipher/dsa.c
5182 * lib/libgcrypt/cipher/ecc.c
5183 * lib/libgcrypt/cipher/elgamal.c
5184 * lib/libgcrypt/cipher/hash-common.c
5185 * lib/libgcrypt/cipher/hash-common.h
5186 * lib/libgcrypt/cipher/hmac-tests.c
5187 * lib/libgcrypt/cipher/md.c
5188 * lib/libgcrypt/cipher/md4.c
5189 * lib/libgcrypt/cipher/md5.c
5190 * lib/libgcrypt/cipher/primegen.c
5191 * lib/libgcrypt/cipher/pubkey.c
5192 * lib/libgcrypt/cipher/rfc2268.c
5193 * lib/libgcrypt/cipher/rijndael-tables.h
5194 * lib/libgcrypt/cipher/rijndael.c
5195 * lib/libgcrypt/cipher/rmd.h
5196 * lib/libgcrypt/cipher/rmd160.c
5197 * lib/libgcrypt/cipher/rsa.c
5198 * lib/libgcrypt/cipher/seed.c
5199 * lib/libgcrypt/cipher/serpent.c
5200 * lib/libgcrypt/cipher/sha1.c
5201 * lib/libgcrypt/cipher/sha256.c
5202 * lib/libgcrypt/cipher/sha512.c
5203 * lib/libgcrypt/cipher/tiger.c
5204 * lib/libgcrypt/cipher/twofish.c
5205 * lib/libgcrypt/cipher/whirlpool.c
5206
af2f93ac
RM
52072009-11-16 Robert Millan <rmh.grub@aybabtu.com>
5208
5209 Fix build for systems without error().
5210
5211 * gnulib/error.c: New file (imported from Gnulib).
5212 * gnulib/error.h: Likewise.
5213 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
5214 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
5215 (this variable is now used by error()).
5216
73fb3dd5
FZ
52172009-11-16 Felix Zielcke <fzielcke@z-51.de>
5218
814f5e96
FZ
5219 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
5220 instead of relying that char is signed.
73fb3dd5 5221
a691ca33
VS
52222009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5223
5224 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
5225 blocksize different from specified.
5226 (grub_pxefs_read): Likewise.
5227
2af8f0f4
FZ
52282009-11-16 Felix Zielcke <fzielcke@z-51.de>
5229
5230 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
5231
5232 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
5233 (grub_ata_readwrite): Likewise. Update 2 format strings.
5234 (grub_atapi_read): Likewise.
5235
5236 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
5237 * conf/i386.rmk (pkglib_MODULES): ... to here ...
5238 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
5239 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
5240 (ata_mod_LDFLAGS): Move from here ...
5241 * conf/i386.rmk: ... to here ...
5242 * conf/x86_64-efi.rmk: ... and here.
5243 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
5244 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
5245
83bdecaf
RM
52462009-11-16 Robert Millan <rmh.grub@aybabtu.com>
5247
5248 Relicense multiboot.h, with RMS' blessing.
5249
5250 * include/multiboot.h: Change to X11 license.
5251
fd6fd3d7
RM
52522009-11-15 Robert Millan <rmh.grub@aybabtu.com>
5253
5254 Support --version in grub-mkisofs.
5255
5256 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
5257 (OPTION_VERSION): New macro.
5258 (ld_options): Recognize --version.
5259 (usage): Move `program_name' from here ...
5260 (program_name): ... to here. Add `static' qualifier.
5261 (main): Recognize `OPTION_VERSION'.
5262
16a88c49
FZ
52632009-11-15 Felix Zielcke <fzielcke@z-51.de>
5264
5265 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
5266 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
5267
a4158476
RM
52682009-11-14 Robert Millan <rmh.grub@aybabtu.com>
5269
5270 Fix help2man generation for mkisofs.
5271
5272 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
5273 (usage): Send output to stdout (rather than stderr).
5274
fc2208b0
RM
52752009-11-14 Robert Millan <rmh.grub@aybabtu.com>
5276
5277 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
5278 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
5279 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
5280 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
5281 (bin_SCRIPTS): Add `grub-mkfloppy'.
5282 (grub_mkfloppy_SOURCES): New variable.
5283
5284 * util/grub-mkrescue.in: New file.
5285 * util/i386/pc/grub-mkfloppy.in: New file.
5286
5287 * util/i386/coreboot/grub-mkrescue.in: Remove.
5288 * util/i386/pc/grub-mkrescue.in: Remove.
5289
8d0edf4a
RM
52902009-11-13 Robert Millan <rmh.grub@aybabtu.com>
5291
5292 * include/grub/multiboot.h (struct grub_multiboot_header): Move
5293 from here ...
5294 * include/multiboot.h (struct multiboot_header): ... to here. Update
5295 all users.
5296 * include/grub/multiboot.h (struct grub_multiboot_info): Move
5297 from here ...
5298 * include/multiboot.h (struct multiboot_info): ... to here. Update
5299 all users.
5300 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
5301 from here ...
5302 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
5303 Update all users.
5304 * include/grub/multiboot.h (struct grub_mod_list): Move
5305 from here ...
5306 * include/multiboot.h (struct multiboot_mod_list): ... to here.
5307 Update all users.
5308
a73f5969
RM
53092009-11-13 Robert Millan <rmh.grub@aybabtu.com>
5310
5311 * include/multiboot2.h (multiboot_word): Rename from this ...
5312 (multiboot2_word): ... to this. Update all users.
5313 (multiboot_header): Rename from this ...
5314 (multiboot2_header): ... to this. Update all users.
5315 (multiboot_tag_header): Rename from this ...
5316 (multiboot2_tag_header): ... to this. Update all users.
5317 (multiboot_tag_start): Rename from this ...
5318 (multiboot2_tag_start): ... to this. Update all users.
5319 (multiboot_tag_name): Rename from this ...
5320 (multiboot2_tag_name): ... to this. Update all users.
5321 (multiboot_tag_module): Rename from this ...
5322 (multiboot2_tag_module): ... to this. Update all users.
5323 (multiboot_tag_memory): Rename from this ...
5324 (multiboot2_tag_memory): ... to this. Update all users.
5325 (multiboot_tag_unused): Rename from this ...
5326 (multiboot2_tag_unused): ... to this. Update all users.
5327 (multiboot_tag_end): Rename from this ...
5328 (multiboot2_tag_end): ... to this. Update all users.
5329
1c8927f0
RM
53302009-11-13 Robert Millan <rmh.grub@aybabtu.com>
5331
5332 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
5333 this platform we should support Multiboot1 first.
5334
5335 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
5336 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
5337 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
5338
6e1e0d89
RM
53392009-11-12 Robert Millan <rmh.grub@aybabtu.com>
5340
5341 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
5342 of write calls (converting them to fwrite() if they aren't already).
5343 (get_torito_desc): Likewise.
5344 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
5345
7f2b34d8
RM
53462009-11-12 Robert Millan <rmh.grub@aybabtu.com>
5347
5348 * util/i386/pc/grub-install.in: Move from here ...
5349 * util/grub-install.in: ... to here. Update all users.
5350
c0ef3311
CW
53512009-11-11 Colin Watson <cjwatson@ubuntu.com>
5352
5353 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
5354
e1f240ff
RM
53552009-11-11 Robert Millan <rmh.grub@aybabtu.com>
5356
5357 Support for El Torito without floppy emulation.
5358
5359 * util/mkisofs/eltorito.c: Include `<errno.h>'.
5360 (init_boot_catalog): Improve error handling.
5361 (get_torito_desc): Don't use floppy emulation unless requested by
5362 user. Patch boot information table when requested via
5363 `-boot-info-table'.
5364 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
5365 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
5366 (use_boot_info_table): New variables.
5367 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
5368 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
5369 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
5370 `--eltorito-emul-floppy'.
5371 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
5372 and `OPTION_ELTORITO_EMUL_FLOPPY'.
5373 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
5374 (use_boot_info_table, get_731): New prototypes.
5375 * util/mkisofs/write.c (get_731): New function.
5376
af7d4de5
FZ
53772009-11-11 Felix Zielcke <fzielcke@z-51.de>
5378
5379 Fix the generation of the man page.
5380
5381 * util/pc/i386/grub-install.in: Source
5382 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
5383
2c55dbc0
RM
53842009-11-11 Robert Millan <rmh.grub@aybabtu.com>
5385
5386 Large file support for grub-mkisofs.
5387
5388 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
5389 * util/mkisofs/mkisofs.c (next_extent, last_extent)
5390 (session_start): Upgrade type to `uint64_t'. Update all users.
5391 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
5392 (struct directory_entry): Upgrade type of `starting_block' and
5393 `size' to `uint64_t'. Update all users.
5394 (struct deferred): Remove unused structure.
5395 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
5396 Update all users.
5397 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
5398 file is larger than `UINT32_MAX'.
5399 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
5400 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
5401 return value.
5402 (struct deferred_write): Upgrade type of `extent' and `size' to
5403 `uint64_t'. Update all users.
5404 (last_extent_written): Upgrade type to `uint64_t'. Update all
5405 users.
5406 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
5407 Update all users. Upgrade type of `remain' to `int64_t' and
5408 `use' to `size_t'. Use error() to handle fread() errors.
5409 (write_files): Rely on write_one_file() rather than calling
5410 xfwrite() directly.
5411
6a9cead5
FZ
54122009-11-09 Felix Zielcke <fzielcke@z-51.de>
5413
5414 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
5415
4825d790
RM
54162009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5417
5418 * util/mkisofs/fnmatch.c: Remove.
5419 * util/mkisofs/getopt1.c: Likewise.
5420 * util/mkisofs/getopt.c: Likewise.
5421 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
5422 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
5423 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
5424 `gnulib/getopt1.c' and `gnulib/getopt.c'.
5425 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
5426
5427 * configure.ac: Detect `mingw32msvc' host_os.
5428 Check for lstat(), getuid() and getgid().
5429
5430 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
5431 instances of `u_char' with `uint8_t'.
5432
5433 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
5434 [!HAVE_GETUID] (getuid): New function (stub).
5435 [!HAVE_GETGID] (getgid): Likewise.
5436 [!HAVE_LSTAT] (lstat): Likewise.
5437 [!S_IROTH] (S_IROTH): New macro (dummy).
5438 [!S_IRGRP] (S_IRGRP): Likewise.
5439
84b860d8
RM
54402009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5441
5442 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
5443 conditional expression).
5444
66e9b712
RM
54452009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5446
5447 Import from Gnulib.
5448
5449 * gnulib/fnmatch.c: New file.
5450 * gnulib/fnmatch.h: Likewise.
5451 * gnulib/fnmatch_loop.c: Likewise.
5452 * gnulib/getopt.c: Likewise.
5453 * gnulib/getopt.h: Likewise.
5454 * gnulib/getopt1.c: Likewise.
5455 * gnulib/getopt_int.h: Likewise.
5456 * gnulib/gettext.h: Likewise.
5457
34f4a5b0
RM
54582009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5459
5460 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
5461 * normal/handler.c (read_handler_list): Likewise.
5462
ac451143
RM
54632009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5464
5465 Misc cleanup.
5466
5467 * kern/command.c (grub_register_command_prio): Use
5468 grub_zalloc() instead of explicitly zeroing data.
5469 * kern/list.c: Include `<grub/mm.h>'.
5470 (grub_named_list_find): Replace `0' with `NULL'.
5471 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
5472 (fs_module_list): Change type to `grub_named_list_t'. Update all
5473 users.
5474 * normal/dyncmd.c (read_command_list): Add space between function
5475 call and parenthesis.
5476 * normal/handler.c (read_handler_list): Likewise.
5477
4089b167
RM
54782009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5479
5480 * normal/auth.c (punishment_delay): Moved from here ...
5481 (grub_auth_strcmp): ... to here (inside function).
5482
325f5037
RM
54832009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5484
5485 * include/grub/list.h (struct grub_named_list): Remove `const'
5486 qualifier from `name'.
5487 (struct grub_prio_list): Likewise.
5488
7aea29a3
RM
54892009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5490
5491 * normal/auth.c: Include `<grub/time.h>'.
5492 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
5493
3fd6f044
RM
54942009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5495
5496 * normal/auth.c (punishment_delay): New variable.
5497 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
5498 (grub_auth_check_authentication): Punish failed login attempts with
5499 an incremental (2^N) delay.
5500
a4cd68e4
RM
55012009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5502
5503 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
5504 path with $(srcdir).
5505
7ad12f43
VS
55062009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5507
5508 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
5509
c1129f03
RM
55102009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5511
5512 * util/i386/coreboot/grub-mkrescue.in: New file.
5513 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
5514 variables.
5515
5516 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
5517 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
5518 * configure.ac: Add header and function checks to satisfy grub-mkisofs
5519 requirements.
5520 * util/mkisofs/defaults.h: New file.
5521 * util/mkisofs/eltorito.c: Likewise.
5522 * util/mkisofs/exclude.h: Likewise.
5523 * util/mkisofs/fnmatch.c: Likewise.
5524 * util/mkisofs/getopt.c: Likewise.
5525 * util/mkisofs/getopt1.c: Likewise.
5526 * util/mkisofs/hash.c: Likewise.
5527 * util/mkisofs/include/fctldefs.h: Likewise.
5528 * util/mkisofs/include/mconfig.h: Likewise.
5529 * util/mkisofs/include/prototyp.h: Likewise.
5530 * util/mkisofs/include/statdefs.h: Likewise.
5531 * util/mkisofs/iso9660.h: Likewise.
5532 * util/mkisofs/joliet.c: Likewise.
5533 * util/mkisofs/match.c: Likewise.
5534 * util/mkisofs/match.h: Likewise.
5535 * util/mkisofs/mkisofs.c: Likewise.
5536 * util/mkisofs/mkisofs.h: Likewise.
5537 * util/mkisofs/multi.c: Likewise.
5538 * util/mkisofs/name.c: Likewise.
5539 * util/mkisofs/rock.c: Likewise.
5540 * util/mkisofs/tree.c: Likewise.
5541 * util/mkisofs/write.c: Likewise.
5542
ec8bb77d
VS
55432009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5544
5545 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
5546 being insecure.
5547
3716b12c
RM
55482009-11-08 Robert Millan <rmh.grub@aybabtu.com>
5549
5550 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
5551 `grub-mkimage' (and use $0 when possible).
5552
b97b7b91
RM
55532009-11-08 Robert Millan <rmh.grub@aybabtu.com>
5554
5555 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
5556 error message for excessively large memory map.
5557
04114812
RM
55582009-11-08 Robert Millan <rmh.grub@aybabtu.com>
5559
5560 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
5561 executable bit.
5562
e4eb2373
RM
55632009-11-08 Robert Millan <rmh.grub@aybabtu.com>
5564
5565 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
5566 message for coreboot users.
5567
c926e1d5 55682009-11-07 Robert Millan <rmh.grub@aybabtu.com>
5569
5570 Fix build with GNU gold.
5571
5572 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
5573 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
5574 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
5575 link addresses.
5576 * aclocal.m4: Likewise.
5577
86e5b1db 55782009-11-04 Felix Zielcke <fzielcke@z-51.de>
5579
5580 * configure.ac (AC_PREREQ): Bump to 2.59d.
5581 * INSTALL: Make it more clear when Autoconf and Ruby are
5582 needed and when to run `./autogen.sh'.
5583
246cd78f 55842009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
5585
5586 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
5587 OSes.
5588
4f9dfb37 55892009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
5590
5591 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
5592
b82bd5e1 55932009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
5594
5595 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
5596 giving it to GNU Mach.
5597
ff1a9bca 55982009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
5599
5600 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
5601 GNU partition number to get internal GRUB partition number.
5602
61697d9c 56032009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
5604
5605 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
5606 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
5607
a50569e1 56082009-11-01 Robert Millan <rmh.grub@aybabtu.com>
5609
5610 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
5611 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
5612 case.
5613
5b153867 56142009-11-01 Felix Zielcke <fzielcke@z-51.de>
5615
5616 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
5617
d9e2cd70 56182009-10-30 Robert Millan <rmh.grub@aybabtu.com>
5619
5620 Fix build problem.
5621
5622 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
5623 `-isystem=$(srcdir)/include'.
5624
805111a4 56252009-10-30 Robert Millan <rmh.grub@aybabtu.com>
5626
5627 * util/i386/pc/grub-install.in: Remove hint that device.map should be
5628 checked (grub-install doesn't currently rely on it).
5629
fa6e945f 56302009-10-29 Robert Millan <rmh.grub@aybabtu.com>
5631
5632 Revert SVN r2660.
5633
5634 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
5635 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
5636 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
5637 * conf/i386-ieee1275.rmk: Likewise.
5638 * conf/i386-pc.rmk: Likewise.
5639 * conf/powerpc-ieee1275.rmk: Likewise.
5640 * conf/sparc64-ieee1275.rmk: Likewise.
5641 * conf/x86_64-efi.rmk: Likewise.
5642
cee15086 56432009-10-28 Robert Millan <rmh.grub@aybabtu.com>
5644
5645 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
5646
95b9239e 56472009-10-28 Robert Millan <rmh.grub@aybabtu.com>
5648
5649 * include/grub/misc.h: Stop checking for APPLE_CC.
5650
2ed19dfd 56512009-10-28 Robert Millan <rmh.grub@aybabtu.com>
5652
5653 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
5654 doesn't cause an infinite call loop.
5655
fdcdde19 56562009-10-28 Felix Zielcke <fzielcke@z-51.de>
5657
5658 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
5659 strings.
5660
cefabfe1 56612009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5662
5663 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
5664 variable.
5665 * Makefile.in: Likewise.
5666
ed96ab6d 56672009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5668
5669 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
5670
0579b753 56712009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5672
5673 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
5674
478df409 56752009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5676
5677 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
5678
083d1679 56792009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5680
5681 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
5682 from here ...
5683 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
5684
5947ae32 56852009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5686
5687 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
5688 in $(MAKEINFO) invocation. This makes it clear in output that
5689 errors are being ignored.
5690
94180ff6 56912009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5692
5693 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
5694 from here ...
5695 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
5696 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
5697 * conf/i386-ieee1275.rmk: Likewise.
5698 * conf/i386-pc.rmk: Likewise.
5699 * conf/powerpc-ieee1275.rmk: Likewise.
5700 * conf/sparc64-ieee1275.rmk: Likewise.
5701 * conf/x86_64-efi.rmk: Likewise.
5702
9031b03a 57032009-10-26 Colin Watson <cjwatson@ubuntu.com>
5704
5705 * util/grub-editenv.c (main): If only a command is given, use
5706 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
5707 (usage): FILENAME is now optional and has a default.
5708
e4f6809b 57092009-10-26 Colin Watson <cjwatson@ubuntu.com>
5710
5711 Improve grub-mkconfig performance when there are several menu
5712 entries on a single filesystem.
5713
5714 * util/grub.d/10_linux.in (linux_entry): Cache the output of
5715 prepare_grub_to_access_device.
5716 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
5717 * util/grub.d/30_os-prober.in: Likewise.
5718
67937d4d 57192009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5720
5721 * util/grub.d/10_freebsd.in: Remove.
5722 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
5723 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
5724
ee3756cc 57252009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5726
5c35048e 5727 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 5728
4dea1c6f 57292009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5730
5731 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
5732 grub_util_error() call.
5733
042484d7 57342009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5735
5736 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
5737 `reserved_first_sector' member.
5738 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
5739 `reserved_first_sector' to 1.
5740 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
5741 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
5742 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
5743 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
5744 filesystems which begin at first sector.
5745 (options): New option --skip-fs-probe.
5746 (main): Handle --skip-fs-probe and pass it to setup().
5747
d64448a7 57482009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5749
5750 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
5751 (memset): Fix function prototype.
5752
508d42ec 57532009-10-25 Robert Millan <rmh.grub@aybabtu.com>
57542009-10-25 Vasily Averin <vvs@parallels.com>
5755
5756 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
5757 `dirent.direntlen == 0'.
5758
b240e30c 57592009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5760
5761 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
5762 `cpio'.
5763 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
5764
346e7fbe 57652009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5766
5767 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
5768 `__trampoline_setup' and `__ucmpdi2'.
5769 * include/grub/powerpc/libgcc.h: Only export symbols for functions
5770 that libgcc provides.
5771
cdb308b0 57722009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5773
5774 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
5775 * include/grub/sparc64/libgcc.h (memset): Likewise.
5776 * include/grub/misc.h (memset, memcmp): New function prototypes.
5777
fb26abc2 57782009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5779
5780 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
5781 `cpio'.
5782 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
5783
f6693890 57842009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5785
5786 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
5787 * docs/grub.cfg: Compensate for recent change in multiboot
5788 loader (since 2009-08-14 it won't pass filename to payload).
5789 * util/grub.d/10_hurd.in: Likewise.
5790
0933cdc0 57912009-10-21 Felix Zielcke <fzielcke@z-51.de>
5792
5793 * config.guess: Update to latest version from config git
5794 repository.
5795 * config.sub: Likewise.
5796
3b2fe8c2 57972009-10-20 Robert Millan <rmh.grub@aybabtu.com>
5798
5799 Fix build on sparc64.
5800
5801 * configure.ac: Perform checks for libgcc symbols before
5802 adding `-nostdlib' to LDFLAGS.
5803
46695a62 58042009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5805
5806 Let user specify OpenBSD root device.
5807
5808 * loader/i386/bsd.c (openbsd_root): New variable.
5809 (openbsd_opts): New option 'root'.
5810 (OPENBSD_ROOT_ARG): New macro.
5811 (grub_openbsd_boot): Use 'openbsd_root'.
5812 (grub_cmd_openbsd): Fill 'openbsd_root'.
5813
d2b6b7fc 58142009-10-16 Robert Millan <rmh.grub@aybabtu.com>
5815
5816 * NEWS: Misc adjustments.
5817
421bd7ac 58182009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5819
5820 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
5821
f1d29d87 58222009-10-16 Robert Millan <rmh.grub@aybabtu.com>
5823
5824 * configure.ac: Bump version to 1.97.
5825
6f3cd880 58262009-10-16 Colin Watson <cjwatson@ubuntu.com>
5827
5828 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
5829 -mno-3dnow on x86 architectures. Some toolchains enable these
5830 features by default, but they rely on registers that aren't enabled
5831 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
5832
035f7122 58332009-10-15 Robert Millan <rmh.grub@aybabtu.com>
5834
5835 Make entry text a bit more readable.
5836
5837 * util/grub.d/10_linux.in: Add `with' before `Linux'.
5838
44998e58 58392009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
5840
5841 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
5842
cd2851b3 58432009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
5844
5845 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
5846 operations.
5847
c6f3b249 58482009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
5849
5850 * configure.ac: Add missing dollar.
5851
6b5886ba 58522009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
5853
5854 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
5855
5856 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
5857 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
5858 exports.
5859 * include/grub/sparc64/libgcc.h: Likewise. Use
5860 preprocessor conditionals.
5861
e9d66f6d 58622009-10-14 Robert Millan <rmh.grub@aybabtu.com>
5863
5864 * conf/common.rmk (grub-dumpbios): Remove rule.
5865 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
5866 * util/grub-dumpbios.in: Remove file.
5867
9155bc17 58682009-10-14 Robert Millan <rmh.grub@aybabtu.com>
5869
5870 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
5871 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
5872
5873 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
5874 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
5875 users.
5876
5877 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
5878 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
5879 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
5880 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
5881 users.
5882
bf7f7a18 58832009-10-12 Robert Millan <rmh.grub@aybabtu.com>
5884
5885 * term/tparm.c: Switch to GPLv3.
5886
86564c26 58872009-10-09 Robert Millan <rmh.grub@aybabtu.com>
5888
5889 * include/grub/i386/cpuid.h: Add header protection.
5890
5c936493 58912009-10-09 Robert Millan <rmh.grub@aybabtu.com>
5892
5893 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
5894
5895 * include/grub/i386/cpuid.h: New file.
5896 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
5897 (has_longmode): Rename to ...
5898 (grub_cpuid_has_longmode): ... this. Update all users. Remove
5899 `static' attribute.
5900 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
5901 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
5902 on a CPU that doesn't implement AMD64 instruction set.
5903
186e7cf2 59042009-10-06 Colin Watson <cjwatson@ubuntu.com>
5905
5906 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
5907 that version.texi is rebuilt on version number changes.
5908
83b65c4a 59092009-10-06 Colin Watson <cjwatson@ubuntu.com>
5910
5911 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
5912 Fixes bug #27602.
5913
d244281c 59142009-10-06 Colin Watson <cjwatson@ubuntu.com>
5915
5916 * util/i386/pc/grub-install.in: Source
5917 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
5918 that the --grub-probe option will work.
5919 * util/sparc64/ieee1275/grub-install.in: Likewise.
5920
da25306d 59212009-10-05 Robert Millan <rmh.grub@aybabtu.com>
5922
5923 * configure.ac: Bump version to 1.97~beta4.
5924
e8ee83c0 59252009-10-03 Robert Millan <rmh.grub@aybabtu.com>
5926
5927 Resync grub-mkdevicemap in x86_64-efi.
5928
5929 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
5930 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
5931 `util/devicemap.c'.
5932
50dcabcf 59332009-10-01 Colin Watson <cjwatson@ubuntu.com>
5934
5935 * util/grub-editenv.c (create_envblk_file): Write new block with a
5936 .new suffix and then rename it into place, to ensure atomic
5937 creation.
5938
0e51c3a7 59392009-09-28 Robert Millan <rmh.grub@aybabtu.com>
5940
5941 Do not automatically install headers.
5942
5943 * Makefile.in (include_DATA): Remove. Update all users.
5944
31299a95 59452009-09-26 Robert Millan <rmh.grub@aybabtu.com>
5946
5947 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
5948 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
5949
5950 * util/osdetect.lua: Remove.
5951 * script/lua/lauxlib.c: Likewise.
5952 * script/lua/ldebug.c: Likewise.
5953 * script/lua/grub_main.c: Likewise.
5954 * script/lua/lauxlib.h: Likewise.
5955 * script/lua/ldebug.h: Likewise.
5956 * script/lua/ltablib.c: Likewise.
5957 * script/lua/liolib.c: Likewise.
5958 * script/lua/lstrlib.c: Likewise.
5959 * script/lua/lualib.h: Likewise.
5960 * script/lua/ldo.c: Likewise.
5961 * script/lua/ldump.c: Likewise.
5962 * script/lua/ldo.h: Likewise.
5963 * script/lua/loslib.c: Likewise.
5964 * script/lua/lundump.c: Likewise.
5965 * script/lua/grub_lib.c: Likewise.
5966 * script/lua/ldblib.c: Likewise.
5967 * script/lua/lundump.h: Likewise.
5968 * script/lua/lmem.c: Likewise.
5969 * script/lua/grub_lib.h: Likewise.
5970 * script/lua/lmathlib.c: Likewise.
5971 * script/lua/lstate.c: Likewise.
5972 * script/lua/ltm.c: Likewise.
5973 * script/lua/lvm.c: Likewise.
5974 * script/lua/lmem.h: Likewise.
5975 * script/lua/lstate.h: Likewise.
5976 * script/lua/ltm.h: Likewise.
5977 * script/lua/ltable.c: Likewise.
5978 * script/lua/lvm.h: Likewise.
5979 * script/lua/llex.c: Likewise.
5980 * script/lua/lgc.c: Likewise.
5981 * script/lua/grub_lua.h: Likewise.
5982 * script/lua/loadlib.c: Likewise.
5983 * script/lua/lfunc.c: Likewise.
5984 * script/lua/lopcodes.c: Likewise.
5985 * script/lua/lparser.c: Likewise.
5986 * script/lua/ltable.h: Likewise.
5987 * script/lua/llex.h: Likewise.
5988 * script/lua/lgc.h: Likewise.
5989 * script/lua/lfunc.h: Likewise.
5990 * script/lua/lbaselib.c: Likewise.
5991 * script/lua/lopcodes.h: Likewise.
5992 * script/lua/lparser.h: Likewise.
5993 * script/lua/lzio.c: Likewise.
5994 * script/lua/linit.c: Likewise.
5995 * script/lua/lobject.c: Likewise.
5996 * script/lua/llimits.h: Likewise.
5997 * script/lua/lstring.c: Likewise.
5998 * script/lua/lzio.h: Likewise.
5999 * script/lua/lapi.c: Likewise.
6000 * script/lua/lcode.c: Likewise.
6001 * script/lua/lua.h: Likewise.
6002 * script/lua/lobject.h: Likewise.
6003 * script/lua/lstring.h: Likewise.
6004 * script/lua/lapi.h: Likewise.
6005 * script/lua/lcode.h: Likewise.
6006 * script/lua/luaconf.h: Likewise.
6007
cb8a2c38 60082009-09-26 Colin Watson <cjwatson@ubuntu.com>
6009
6010 * docs/grub.texi (Command-line and menu entry commands): Document
6011 date and echo commands.
6012
6b9b6276 60132009-09-24 Pavel Roskin <proski@gnu.org>
6014
6015 * include/grub/kernel.h (struct grub_module_header): Remove
6016 `grub_module_header_types'. Make `type' unsigned. Make `size'
6017 32-bit on all platforms.
6018 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
6019 8-bit field. Use grub_host_to_target32() for `size'.
6020 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
6021 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
6022 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
6023
4e5a02a7 60242009-09-24 Robert Millan <rmh.grub@aybabtu.com>
6025
6026 Fix "lost keypress" bug in at_keyboard.
6027
6028 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
6029 Checks for readyness of input buffer (without flushing it).
6030 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
6031 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
6032
c6dcedf6 60332009-09-24 Robert Millan <rmh.grub@aybabtu.com>
6034
6035 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
6036 size check within GRUB_MACHINE_PCBIOS section.
6037
74c958b1 60382009-09-24 Robert Millan <rmh.grub@aybabtu.com>
6039
6040 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
6041 return value.
6042 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
6043 KEYBOARD_ISREADY check.
6044 (grub_at_keyboard_checkkey): Rename to ...
6045 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
6046 Remove gratuitous cast.
6047
ff420223 60482009-09-23 Colin Watson <cjwatson@ubuntu.com>
6049
6050 * configure.ac: Call AC_PROG_MKDIR_P.
6051 * Makefile.in (docs/stamp-vti): Create docs directory. Create
6052 version.texi in $(builddir) rather than $(srcdir).
6053 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
6054 to makeinfo's @include search path.
6055
d96875df 60562009-09-23 Felix Zielcke <fzielcke@z-51.de>
6057
6058 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
6059
9b3f8365 60602009-09-23 Felix Zielcke <fzielcke@z-51.de>
6061
6062 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
6063 for `*.dpkg-new'.
6064
c44c90db 60652009-09-21 Colin Watson <cjwatson@ubuntu.com>
6066
6067 Build info documentation. Some code borrowed from Automake.
6068
6069 * configure.ac: Check for makeinfo.
6070 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
6071 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
6072 docs/version.texi.
6073 (MOSTLYCLEANFILES): Add vti.tmp.
6074 (docs/version.texi, docs/stamp-vti): Update automatically.
6075 (docs/grub.info): Build info documentation. Use --force and ignore
6076 errors for now.
6077 (all-local): Add $(INFOS).
6078 (install-local): Install info files.
6079 (uninstall): Uninstall info files.
6080 * docs/version.texi: Remove from revision control. This file is
6081 automatically generated on build now.
6082 * gendistlist.sh: Add `*.info'.
6083
e0b37bb5 60842009-09-21 Felix Zielcke <fzielcke@z-51.de>
6085
6086 * kern/term.c: Fix indentation.
6087
5a78865b 60882009-09-21 Felix Zielcke <fzielcke@z-51.de>
6089
6090 * util/hostdisk.c: Fix a comment.
6091
dace7e8a 60922009-09-20 Robert Millan <rmh.grub@aybabtu.com>
6093
6094 Fix regression introduced in r2539.
6095
6096 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
6097 to 0xA1.
6098
a83d079b 60992009-09-19 Colin Watson <cjwatson@ubuntu.com>
6100
6101 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 6102 os-prober. Under normal operation, it does not print anything to
6103 stderr; if it does, we need to debug it, and throwing away stderr
6104 makes that excessively difficult.
a83d079b 6105
be94a509 61062009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
6107
6108 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
6109
63f745e8 61102009-09-16 Robert Millan <rmh.grub@aybabtu.com>
6111
6112 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
6113 AC_LANG_PROGRAM from autoconf.
6114 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
6115 prototypes (fixes warning).
6116
6117 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
6118 `--disable-werror' was used.
6119
bbb2a70f 61202009-09-16 Robert Millan <rmh.grub@aybabtu.com>
6121
6122 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
6123 uninitialized `lastaddr'.
6124
77c24f1d 61252009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
6126
0f0b8c87 6127 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 6128
07197f23 61292009-09-14 Colin Watson <cjwatson@ubuntu.com>
6130
6131 * commands/test.c (get_fileinfo): Return immediately if
6132 grub_fs_probe fails.
6133
dabf1798 61342009-09-14 José Martínez <xosemp@gmail.com>
6135
6136 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
6137
d52109a7 61382009-09-14 Colin Watson <cjwatson@ubuntu.com>
6139
6140 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
6141 output.
6142
56532179 61432009-09-13 Robert Millan <rmh.grub@aybabtu.com>
6144
6145 * configure.ac: Remove --enable-grub-pe2elf. Only build
6146 grub-pe2elf when needed by the build system itself.
6147 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
6148
8ef070f5 61492009-09-12 Robert Millan <rmh.grub@aybabtu.com>
6150
6151 * configure.ac: Bump version to 1.97~beta3.
6152 * docs/version.texi: Likewise.
6153
61229557 61542009-09-12 Robert Millan <rmh.grub@aybabtu.com>
6155
6156 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
6157 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
6158 from here ...
6159 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
6160 (grub_linux_setup_video): ... to here (with some adjustments).
6161
5c9f8d84 61622009-09-12 Robert Millan <rmh.grub@aybabtu.com>
6163
6164 Fix memory corruption issue (spotted by Colin Watson).
6165
6166 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
6167 causing returned size to be stored in an incorrect memory location.
6168 Fix use of uninitialized value when storing the returned size.
6169
e8f5d6e9 61702009-09-12 Yves Blusseau <blusseau@zetam.org>
6171
6172 Change clean rules to properly remove files
6173
6174 * genmk.rb: add new clean rules
6175 * Makefile.in (clean): add the new targets
6176 (mostlyclean): likewise
6177
cda2a409 61782009-09-11 Colin Watson <cjwatson@ubuntu.com>
6179
6180 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
6181 to grub_uint64_t.
6182 * fs/ntfs.c (init_file): Understand 64-bit sizes for
6183 non-resident files.
6184
86695375 61852009-09-11 Colin Watson <cjwatson@ubuntu.com>
6186
6187 * configure.ac: Don't look for help2man when cross-compiling. Fixes
6188 part of bug #27349.
6189
8aa1541a 61902009-09-10 Felix Zielcke <fzielcke@z-51.de>
6191
6192 * util/grub-mkconfig.in: Make the created config mode 400 and
6193 print a warning if it fails.
6194
48d9bb0a 61952009-09-10 Robert Millan <rmh.grub@aybabtu.com>
6196
6197 * util/grub.d/40_custom.in: Ask user to type custom entries below
6198 comment, rather than below 'exec tail' line.
6199
3b0521be 62002009-09-10 Colin Watson <cjwatson@ubuntu.com>
6201
6202 * util/grub.d/40_custom.in: Make sure that the explanatory text is
6203 visible in grub.cfg.
6204
50051d55 62052009-09-10 Colin Watson <cjwatson@ubuntu.com>
6206
6207 * util/grub.d/40_custom.in: Make it a little clearer how to use this
6208 file.
6209
c0d34387 62102009-09-10 Felix Zielcke <fzielcke@z-51.de>
6211
6212 * docs/grub.cfg: Add an example menu entry for memtest86+.
6213
80a608f3 62142009-09-09 Felix Zielcke <fzielcke@z-51.de>
6215
a2094832 6216 * config.guess: Update to latest version from config git.
80a608f3 6217 * config.sub: Likewise.
6218
99423078 62192009-09-08 Colin Watson <cjwatson@ubuntu.com>
6220
6221 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
6222 unknown-command case. Fixes bug #27320.
6223
44454e4c 62242009-09-08 Felix Zielcke <fzielcke@z-51.de>
6225
6226 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
6227 `help' if the command exists.
6228
e30d87ad 62292009-09-06 Robert Millan <rmh.grub@aybabtu.com>
6230
6231 * INSTALL: Require GCC 4.1.3 or later.
6232
9a86f1ec 62332009-09-06 Yves Blusseau <blusseau@zetam.org>
6234
6235 * Makefile.in (RMKFILES): add i386-qemu.rmk
6236 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
6237 $(srcdir)/stamp-h.in
6238
7f26d466 62392009-09-05 Robert Millan <rmh.grub@aybabtu.com>
6240
6241 * util/grub-probe.c (probe): Comment out buggy codepath, which
6242 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
6243 should be re-enabled after 1.97.
6244
3a613259 62452009-09-05 Felix Zielcke <fzielcke@z-51.de>
6246
6247 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
6248 find searches for.
6249
197f76c7 62502009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
6251
6252 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
6253 unnecessary calls to grub_error.
6254
70ba68ce 62552009-09-04 Colin Watson <cjwatson@ubuntu.com>
6256
6257 * NEWS: Mention `keystatus' and Unicode fonts.
6258
4ff0d7a4 62592009-09-04 Robert Millan <rmh.grub@aybabtu.com>
6260
6261 * configure.ac: Bump version to 1.97~beta2.
6262 * docs/version.texi: Likewise.
6263
77c55a87 62642009-09-03 Colin Watson <cjwatson@ubuntu.com>
6265
6266 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
6267 containing unwind information in some cases where it previously did
6268 not. Use -fno-dwarf2-cfi-asm if available to restore the old
6269 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
6270 discussion.
6271
f79572cd 62722009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
6273
6274 Embedding loadenv module into grub-emu
6275
6276 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
6277 commands/loadenv.c
6278 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
6279 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
6280 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
6281 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
6282 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
6283 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
6284
93a81088 62852009-09-03 Magnus Granberg <zorry@ume.nu>
6286
6287 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
6288 include -fPIE in the default specs.
6289 * configure.ac: Check if pie_possible is yes and add -fno-PIE
6290 to TARGET_CFLAGS.
6291
160034b2 62922009-09-03 Felix Zielcke <fzielcke@z-51.de>
6293
6294 * INSTALL: Note that GNU Bison 2.3 or later is required.
6295
087c07c4 62962009-09-03 Colin Watson <cjwatson@ubuntu.com>
6297
6298 * kern/i386/pc/startup.S: Fix typo.
6299
cbf978c0 63002009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
6301
6302 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
6303 according to GCS.
6304
63052009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 6306
6307 * docs/grub.texi (Naming convention): Describe one-based partition
6308 numbering.
6309 (Device syntax): Likewise.
6310 (File name syntax): Likewise.
6311 (Block list syntax): Likewise.
6312 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
6313 menu.lst.
6314 (File name syntax): Likewise.
6315 (Command-line and menu entry commands): Document acpi, blocklist,
6316 crc, export, insmod, keystatus, ls, set, and unset commands.
6317
f3e8cdfd 63182009-09-02 Colin Watson <cjwatson@ubuntu.com>
6319
6320 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
6321 to avoid implying that only one of --shift, --ctrl, or --alt may be
6322 used.
6323
c0bc232b 63242009-09-02 Colin Watson <cjwatson@ubuntu.com>
6325
6326 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
6327 rather than comparing against S_IFREG, which will almost never work.
6328
aa0f752d 63292009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
6330
6331 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
6332 (write_blocklists): Likewise.
6333
ecb3166a 63342009-09-01 Colin Watson <cjwatson@ubuntu.com>
6335
6336 * script/lua/grub_lua.h (fputs): Supply a format string as the first
6337 argument to grub_printf.
6338
c403a125 63392009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 6340
6341 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 6342 non GNU test.
31aba781 6343
b5e7312c 63442009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
6345
6346 * kern/file.c (grub_file_read): Spelling fix
6347
fe00f472 63482009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
6349
6350 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
6351 loading of headers in some cases.
6352
cc55302e 63532009-08-30 Robert Millan <rmh.grub@aybabtu.com>
6354
6355 * configure.ac: Bump version to 1.97~beta1.
6356 * docs/version.texi: Likewise.
6357
5c90cdd2 63582009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 6359
6360 * include/grub/i386/xnu.h: Add license header.
6361 include grub/err.h explicitly.
6362
c90edae4 63632009-08-29 Robert Millan <rmh.grub@aybabtu.com>
6364
6365 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
6366 to `ufs' in the vfs.root.mountfrom kernel parameter.
6367
d8888b5c 63682009-08-29 Robert Millan <rmh.grub@aybabtu.com>
6369
6370 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
6371
6372 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
6373 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
6374
6375 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
6376 `ARRAY_SIZE' macro.
6377
6f07b921 63782009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
6379
6380 * kern/file.c (grub_file_read): Check offset.
6381 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
6382 * fs/jfs.c (grub_jfs_read_file): Likewise.
6383 * fs/ntfs.c (grub_ntfs_read): Likewise.
6384 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
6385 * fs/minix.c (grub_minix_read_file): Correct offset check.
6386 * fs/ufs.c (grub_ufs_read_file): Likewise.
6387
b4f34077 63882009-08-28 Colin Watson <cjwatson@ubuntu.com>
6389
6390 * term/i386/pc/console.c (bios_data_area): Cast
6391 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
6392
e7c69859 63932009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
6394
6395 1-bit optimised blitters.
6396
6397 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
6398 prototype.
6399 (grub_video_fbblit_replace_24bit_1bit): Likewise.
6400 (grub_video_fbblit_replace_16bit_1bit): Likewise.
6401 (grub_video_fbblit_replace_8bit_1bit): Likewise.
6402 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
6403 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
6404 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
6405 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
6406 function.
6407 (grub_video_fbblit_replace_24bit_1bit): Likewise.
6408 (grub_video_fbblit_replace_16bit_1bit): Likewise.
6409 (grub_video_fbblit_replace_8bit_1bit): Likewise.
6410 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
6411 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
6412 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
6413 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
6414 when possible.
6415 * video/video.c (grub_video_get_blit_format): Return
6416 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
6417
a57da43f 64182009-08-28 Colin Watson <cjwatson@ubuntu.com>
6419
6420 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
6421 the first argument to grub_printf.
6422
4cbe67e5 64232009-08-28 Colin Watson <cjwatson@ubuntu.com>
64242009-08-28 Robert Millan <rmh.grub@aybabtu.com>
6425
6426 Add `getkeystatus' terminal method. Add a new `keystatus' command
6427 to query it.
6428
6429 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
6430 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
6431 modifier key bitmasks.
6432 (struct grub_term_input): Add `getkeystatus' member.
6433 (grub_getkeystatus): Add prototype.
6434 * kern/term.c (grub_getkeystatus): New function.
6435
6436 * include/grub/i386/pc/memory.h
6437 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
6438 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
6439 Data Area layout.
6440 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
6441 (grub_console_term_input): Set `getkeystatus' member.
6442 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
6443 constants.
6444 (grub_usb_keyboard_getreport): Likewise.
6445 (grub_usb_keyboard_checkkey): Likewise.
6446 (grub_usb_keyboard_getkeystatus): New function.
6447 (grub_usb_keyboard_term): Set `getkeystatus' member.
6448
6449 * commands/keystatus.c: New file.
6450 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
6451 (keystatus_mod_SOURCES): New variable.
6452 (keystatus_mod_CFLAGS): Likewise.
6453 (keystatus_mod_LDFLAGS): Likewise.
6454 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
6455 commands/keystatus.c.
6456 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
6457 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6458 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
6459 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6460 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6461 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 6462
6e2a9085 64632009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
6464
6465 Split befs.mod and afs.mod into *_be.mod and *.mod
6466
6467 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
6468 (grub_fstest_SOURCES): Likewise.
6469 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
6470 (afs_be_mod_SOURCES): New variable.
6471 (afs_be_mod_CFLAGS): Likewise.
6472 (afs_be_mod_LDFLAGS): Likewise.
6473 (befs_be_mod_SOURCES): Likewise.
6474 (befs_be_mod_CFLAGS): Likewise.
6475 (befs_be_mod_LDFLAGS): Likewise.
6476 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
6477 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
6478 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6479 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
6480 (grub_emu_SOURCES): Likewise.
6481 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6482 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6483 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
6484 * fs/afs_be.c: New file.
6485 * fs/befs_be.c: New file.
6486 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
6487 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
6488 (U16): Replaced with ...
6489 (grub_afs_to_cpu16): ...this. All users updated.
6490 (U32): Replaced with ...
6491 (grub_afs_to_cpu32): ...this. All users updated.
6492 (U64): Replaced with ...
6493 (grub_afs_to_cpu64): ...this. All users updated.
6494 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
6495 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 6496 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 6497 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
6498 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
6499 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
6500 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
6501 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
6502 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
6503 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
6504 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
6505
32a71655 65062009-08-26 Bean <bean123ch@gmail.com>
6507
6508 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
6509 64-bit number.
6510 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
6511 (grub_xfs_inode_block): Change return type to grub_uint64_t.
6512 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
6513
552bf6c5 65142009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
6515
6516 NetBSD memory map support.
6517
6518 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
6519 (grub_netbsd_btinfo_mmap_header): New structure.
6520 (grub_netbsd_btinfo_mmap_entry): Likewise.
6521 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
6522
1ae2078c 65232009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
6524
6525 Enable bsd.mod on coreboot.
6526
6527 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
6528 (bsd_mod_SOURCES): New variable.
6529 (bsd_mod_CFLAGS): Likewise.
6530 (bsd_mod_LDFLAGS): Likewise.
6531 (bsd_mod_ASFLAGS): Likewise.
6532 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
6533 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
6534
beefc598 65352009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
6536
6537 Cleanup NetBSD root support.
6538
6539 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
6540 grub_bsd_get_device.
6541 Fix typo.
6542
3b76e68b 65432009-08-25 Felix Zielcke <fzielcke@z-51.de>
6544
6545 * util/grub.d/00_header.in: Move check for the video backend of
6546 gfxterm from here ...
6547 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
6548 a suitable video backend.
6549
aea664ea 65502009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
6551
6552 Fix breakage in grub-setup.
6553
6554 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
6555 "msdos_partition_map".
6556
ff747d50 65572009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
6558
6559 Fix breakage in normal/auth.c.
6560
6561 * normal/auth.c (grub_iswordseparator): New function.
6562
e7e1f93f 65632009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
6564
6565 Authentication support.
6566
6567 * commands/password.c: New file.
6568 * conf/common.rmk (pkglib_MODULES): Add password.mod.
6569 (password_mod_SOURCES): New variable.
6570 (password_mod_CFLAGS): Likewise.
6571 (password_mod_LDFLAGS): Likewise.
6572 (normal_mod_SOURCES): Add normal/auth.c.
6573 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
6574 normal/auth.c.
6575 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
6576 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6577 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
6578 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6579 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6580 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
6581 * include/grub/auth.h: New file.
6582 * include/grub/err.h (grub_err_t): New enum value
6583 GRUB_ERR_ACCESS_DENIED.
6584 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
6585 'users'.
6586 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
6587 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
6588 users updated.
6589 * normal/auth.c: New file.
6590 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
6591 (grub_cmdline_run): Don't allow to go to command line without
6592 authentication.
6593 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
6594 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
6595 menuentry without superuser rights.
6596 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
6597 user isn't a superuser.
6598
70f1161d 65992009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
6600
6601 Save space by inlining misc.c functions.
6602
6603 * kern/misc.c (grub_iswordseparator): Made static.
6604 * kern/misc.c (grub_strcat): Moved from here ...
6605 * include/grub/misc.h (grub_strcat): ... here. Inlined.
6606 * kern/misc.c (grub_strncat): Moved from here ...
6607 * include/grub/misc.h (grub_strncat): ... here. Inlined.
6608 * kern/misc.c (grub_strcasecmp): Moved from here ...
6609 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
6610 * kern/misc.c (grub_strncasecmp): Moved from here ...
6611 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
6612 * kern/misc.c (grub_isalpha): Moved from here ...
6613 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
6614 * kern/misc.c (grub_isdigit): Moved from here ...
6615 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
6616 * kern/misc.c (grub_isgraph): Moved from here ...
6617 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
6618 * kern/misc.c (grub_tolower): Moved from here ...
6619 * include/grub/misc.h (grub_tolower): ... here. Inlined.
6620
48e40bff 66212009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
6622
6623 * script/sh/function.c (grub_script_function_find): Cut error message
6624 not to flood terminal.
6625 * script/sh/lexer.c (grub_script_yylex): Remove command line length
6626 limit.
6627 * script/sh/script.c (grub_script_arg_add): Duplicate string.
6628
c385bfc3 66292009-08-24 Colin Watson <cjwatson@ubuntu.com>
6630
6631 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
6632 `report' grub_uint8_t *.
6633 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
6634 Use a 50-millisecond timeout rather than just repeating
6635 grub_usb_keyboard_getreport 50 times.
6636 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
6637
2d21e3e8 66382009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
6639
6640 Rename *_partition_map to part_*
6641
6642 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
6643 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
6644 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
6645 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
6646 All users updated.
6647 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
6648 All users updated.
6649 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
6650 * util/grub-probe.c (probe_partmap): Don't transform partition name
6651 to get module name.
6652
dd103c4e 66532009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
6654
6655 Fix OpenBSD and NetBSD support.
6656
6657 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
6658 memory address conflict.
6659 (OPENBSD_MMAP_ACPI): New definition.
6660 (OPENBSD_MMAP_NVS): Likewise.
6661 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
6662 and OPENBSD_MMAP_NVS.
6663 Add memory map terminator
6664 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 6665 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 6666
16c84d74 66672009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
6668
6669 Let user specify NetBSD root device.
6670
6671 * loader/i386/bsd.c (netbsd_root): New variable.
6672 (netbsd_opts): New option 'root'.
6673 (NETBSD_ROOT_ARG): New macro.
6674 (grub_netbsd_boot): Use 'netbsd_root'.
6675 (grub_bsd_unload): Free 'netbsd_root'.
6676 (grub_cmd_netbsd): Fill 'netbsd_root'.
6677
adb29902 66782009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
6679
6680 Support for 64-bit NetBSD.
6681
6682 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
6683 point when booting non-FreeBSD.
6684
f5ae9f74 66852009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
6686
6687 Support --no-smp and --no-acpi for NetBSD.
6688
6689 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
6690 (NETBSD_AB_NOACPI): Likewise.
6691 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
6692 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
6693
de74f136 66942009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6695
6696 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
6697 errors.
6698 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
6699 errors. Call grub_error when needed.
6700
e9a925da 67012009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6702
6703 * commands/search.c (search_fs): Try searching without autoload first.
6704 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
6705 filesystem module explicitly for faster booting.
6706
5174302b 67072009-08-23 Colin Watson <cjwatson@ubuntu.com>
6708
6709 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
6710
c8c80635 67112009-08-23 Colin Watson <cjwatson@ubuntu.com>
6712
6713 * util/grub.d/30_os-prober.in: Disable os-prober if
6714 `GRUB_DISABLE_OS_PROBER' was set to true.
6715
71acf5e5 67162009-08-23 Robert Millan <rmh.grub@aybabtu.com>
6717
6718 * partmap/pc.c: Rename to ...
6719 * partmap/msdos.c: ... this. Update all users.
6720 (grub_pc_partition_map): Rename to ...
6721 (grub_msdos_partition_map): ... this. Update all users.
6722
6723 * parttool/pcpart.c: Rename to ...
6724 * parttool/msdospart.c: ... this. Update all users.
6725
6726 * include/grub/pc_partition.h: Rename to ...
6727 * include/grub/msdos_partition.h: ... this. Update all users.
6728 (grub_pc_partition_bsd_entry): Rename to ...
6729 (grub_msdos_partition_bsd_entry): ... this. Update all users.
6730 (grub_pc_partition_disk_label): Rename to ...
6731 (grub_msdos_partition_disk_label): ... this. Update all users.
6732 (grub_pc_partition_entry): Rename to ...
6733 (grub_msdos_partition_entry): ... this. Update all users.
6734 (grub_pc_partition_mbr): Rename to ...
6735 (grub_msdos_partition_mbr): ... this. Update all users.
6736 (grub_pc_partition): Rename to ...
6737 (grub_msdos_partition): ... this. Update all users.
6738 (grub_pc_partition_is_empty): Rename to ...
6739 (grub_msdos_partition_is_empty): ... this. Update all users.
6740 (grub_pc_partition_is_extended): Rename to ...
6741 (grub_msdos_partition_is_extended): ... this. Update all users.
6742 (grub_pc_partition_is_bsd): Rename to ...
6743 (grub_msdos_partition_is_bsd): ... this. Update all users.
6744
6745 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
6746 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
6747 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
6748 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
6749 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
6750 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
6751 (gpt_mod_LDFLAGS): Rename to ...
6752 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
6753 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
6754 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
6755 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
6756 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
6757 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
6758 (part_gpt_mod_LDFLAGS): ... this.
6759 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
6760 `pcpart.mod' to `msdospart.mod'.
6761 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
6762 to ...
6763 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
6764 (msdospart_mod_LDFLAGS): ... this.
6765
c11fded5 67662009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6767
6768 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
6769 (openbsd_opts): Likewise.
6770 (netbsd_opts): Likewise.
6771 (freebsd_flags): Added 0 terminator.
6772 (openbsd_flags): Likewise.
6773 (netbsd_flags): Likewise.
6774 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
6775 (grub_cmd_freebsd): Transformed into extended command.
6776 (grub_cmd_openbsd): Likewise.
6777 (grub_cmd_netbsd): Likewise.
6778 (cmd_freebsd): Changed type to grub_extcmd_t.
6779 (cmd_openbsd): Likewise.
6780 (cmd_netbsd): Likewise.
6781 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
6782 grub_cmd_openbsd as extended commands.
6783 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
6784 cmd_netbsd and cmd_openbsd
6785
11d1c769 67862009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
6787
6788 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
6789
7a9094e5 67902009-08-21 Pavel Roskin <proski@gnu.org>
6791
5496c37e 6792 * Makefile.in (install-local): When checking if a file is in the
6793 build directory, use "test -e" to detect symlinks.
6794
7a9094e5 6795 * Makefile.in (install-local): Remove all files in
6796 $(DESTDIR)$(pkglibdir) before installing new files there.
6797
e53cea11 67982009-08-18 Felix Zielcke <fzielcke@z-51.de>
6799
6800 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
6801 grub-mkelfimage.
6802
9aced544 68032009-08-18 Felix Zielcke <fzielcke@z-51.de>
6804
6805 * util/grub-mkconfig.in: Don't use gfxterm by default if not
6806 explicitly specified by the user.
6807
b7da6bab 68082009-08-18 Pavel Roskin <proski@gnu.org>
6809
6810 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
6811 grub_uint8_t pointer for data.
6812 * include/grub/fbutil.h (struct grub_video_fbblit_info):
6813 Likewise.
6814 * video/fb/fbutil.c: Remove unnecessary casts.
6815
19f1b335 68162009-08-17 Michal Suchanek <hramrach@centrum.cz>
6817
6818 VBE cleanup.
6819
6820 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
6821 (grub_vbe_set_video_mode): Save active mode info
6822 only after setting the mode.
6823 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
6824 second argument.
6825
2f467aa9 68262009-08-17 Michal Suchanek <hramrach@centrum.cz>
6827
6828 Rename variables for clarity.
6829
6830 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
6831 (active_vbe_mode_info): ... this. All users updated.
6832 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
6833 All users updated.
6834 (initial_mode): Rename to ...
6835 (initial_vbe_mode): ... this. All users updated.
6836 (mode_in_use): Rename to ..
6837 (vbe_mode_in_use): ... this. All users updated.
6838 (mode_list): Rename to ..
6839 (vbe_mode_list): ... this. All users updated.
6840 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
6841 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
6842 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
6843 'mode_list_size' to 'vbe_mode_list_size'.
6844 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
6845 'best_mode_info' to 'best_vbe_mode_info' and
6846 'best_mode' to 'best_vbe_mode'
6847
6025fcd7 68482009-08-17 Michal Suchanek <hramrach@centrum.cz>
6849
6850 Remove duplicate grub_video_fb_get_video_ptr.
6851
6852 * include/grub/fbutil.h (get_data_ptr): Rename to ...
6853 (grub_video_fb_get_video_ptr): ... this.
6854 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
6855 * video/fb/fbutil.c: Add comment about addressing.
6856 (get_data_ptr): Rename to ...
6857 (grub_video_fb_get_video_ptr): ... this. All users updated.
6858 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
6859
cc8c6faf 68602009-08-17 Robert Millan <rmh.grub@aybabtu.com>
6861
6862 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
6863 grub_dprintf() that was just added.
6864
08aa61f0 68652009-08-17 Robert Millan <rmh.grub@aybabtu.com>
6866
6867 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
6868 (DEFAULT_VIDEO_MODE): Remove macros.
6869 (grub_linux_boot): Remove assumption that Linux has FB support,
6870 and use "text" as default video mode.
6871
7cef4f75 68722009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
6873
6874 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
6875 grub_dprintf.
6876 * fs/fat.c (grub_fat_read_data): Likewise.
6877
e1f39873 68782009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
6879
6880 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
6881 payload.
6882 (grub_module): Likewise.
6883
c166d79e 68842009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
6885
6886 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
6887 mbi->cmdline but free playground.
6888
c60cee8e 68892009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
6890
6891 Handle group offset on UFS1.
6892
6893 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
6894 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
6895
c0d8b5d4 68962009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
6897
6898 Split ufs.mod into ufs1.mod and ufs2.mod.
6899
6900 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
6901 (grub_fstest_SOURCES): Likewise.
6902 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
6903 (ufs_mod_SOURCES): Remove.
6904 (ufs_mod_CFLAGS): Likewise.
6905 (ufs_mod_LDFLAGS): Likewise.
6906 (ufs1_mod_SOURCES): New variable.
6907 (ufs1_mod_CFLAGS): Likewise.
6908 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 6909 (ufs2_mod_SOURCES): New variable.
6910 (ufs2_mod_CFLAGS): Likewise.
6911 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 6912 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
6913 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
6914 Likewise.
6915 (grub_emu_SOURCES): Likewise.
6916 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6917 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
6918 (grub_setup_SOURCES): Likewise.
6919 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6920 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
6921 (grub_setup_SOURCES): Likewise.
6922 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
6923 Likewise.
6924 * fs/ufs2.c: New file.
6925 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
6926
d3539132 69272009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
6928
6929 Framebuffer split.
6930
6931 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
6932 subsystem at the end.
6933 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
6934 (video_fb_mod_SOURCES): New variable.
6935 (video_fb_mod_CFLAGS): Likewise.
6936 (video_fb_mod_LDFLAGS): Likewise.
6937 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
6938 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
6939 * video/i386/pc/vbeblit.c: Moved from here ...
6940 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
6941 * video/i386/pc/vbefill.c: Moved from here ...
6942 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
6943 * video/i386/pc/vbeutil.c: Moved from here ...
6944 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
6945 * include/grub/i386/pc/vbeblit.h: Moved from here ...
6946 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
6947 * include/grub/i386/pc/vbefill.h: Moved from here ...
6948 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
6949 * include/grub/i386/pc/vbeutil.h: Moved from here ...
6950 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
6951 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
6952 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
6953 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
6954 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
6955 (grub_video_adapter): Added 'get_info_and_fini'.
6956 (grub_video_get_info_and_fini): New prototype.
6957 (grub_video_set_mode): make modestring const char *.
6958 * loader/i386/linux.c (grub_linux_setup_video): Use
6959 grub_video_get_info_and_fini.
6960 (grub_linux_boot): Move modesetting just before booting.
6961 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
6962 grub_video_get_info_and_fini.
6963 * video/i386/pc/vbe.c: Moved framebuffer part ...
6964 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
6965 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
6966 grub_video_fbstd_colors and grub_video_fb_set_palette.
6967 (grub_video_vbe_init): Clear 'framebuffer' variable and use
6968 grub_video_fb_init.
6969 (grub_video_vbe_fini): Use grub_video_fb_fini.
6970 (grub_video_vbe_setup): Use framebuffer.render_target instead of
6971 render_target and use grub_video_fb_set_active_render_target and
6972 grub_video_fb_set_palette.
6973 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
6974 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
6975 (grub_video_vbe_adapter): Use framebuffer.
6976 * video/video.c (grub_video_get_info_and_fini): New function.
6977 (grub_video_set_mode): Make modestring const char *.
6978 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
6979 values are already initialised.
6980
d404ee56 69812009-08-14 Pavel Roskin <proski@gnu.org>
6982
6983 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
6984 ABS and APPLE_CC.
6985 * boot/i386/pc/diskboot.S: Likewise.
6986 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
6987 sectors allow compilation on MacOSX.
6988 * conf/i386-pc.rmk: Enable unconditional compilation of
6989 lnxboot.img.
6990
9a10df16 69912009-08-13 Colin Watson <cjwatson@ubuntu.com>
6992
6993 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
6994 * util/grub.d/00_header.in: Enter interruptible sleep if
6995 GRUB_HIDDEN_TIMEOUT is set.
6996
be3c9ca7 69972009-08-13 Yves Blusseau <blusseau@zetam.org>
6998
6999 * include/grub/symbol.h: Add the LOCAL macro.
7000 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
7001 starting with "L_".
7002
1f9e557e 70032009-08-13 Pavel Roskin <proski@gnu.org>
7004
9ca62843 7005 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
7006 any modern compilers we support.
7007
1f9e557e 7008 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
7009 Use local labels starting with "L_" so that Apple assembler
7010 knows they are local.
7011
81623db6 70122009-08-10 Robert Millan <rmh.grub@aybabtu.com>
7013
7014 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
7015 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
7016 (bsd_kernel_types): ... this enum.
7017
7018 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
7019 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
7020 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
7021
7022 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
7023 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
7024 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
7025 messages.
7026
f5d35e7a 70272009-08-08 Robert Millan <rmh.grub@aybabtu.com>
7028
7029 * util/grub-dumpdevtree: Moved from here ...
7030 * util/i386/efi/grub-dumpdevtree: ... to here.
7031 (hexify): New function. Converts a string to its hex version.
7032 Generate hex versions of "efi" and "device-properties" by calling
7033 hexify() on the ASCII strings rather than by hardcoding numbers.
7034
d1e1d527 70352009-08-08 Robert Millan <rmh.grub@aybabtu.com>
7036
7037 * fs/jfs.c: Update copyright year.
7038
1ebbe064 70392009-08-08 Felix Zielcke <fzielcke@z-51.de>
7040
7041 * util/grub.d/00_header.in: Fix a comment.
7042 * util/grub.d/10_linux.in: Likewise.
7043 * util/grub.d/10_windows.in: Likewise.
7044 * util/grub.d/10_hurd.in: Likewise.
7045
a78c8d24 70462009-08-08 Felix Zielcke <fzielcke@z-51.de>
7047
7048 * util/grub-mkconfig.in: Allow the user to specify the used font
7049 with GRUB_FONT.
7050
29a6b9e8 70512009-08-08 Pavel Roskin <proski@gnu.org>
7052
b5f16cc4 7053 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
7054 available, xfs.mod needs it now.
7055
2f5cb827 7056 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
7057 the "g" modifier in sed when the intention is to strip something
7058 once. This fixes comparison of kernels with multiple dashes.
7059
29a6b9e8 7060 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
7061 on it. Add missing space before closing bracket. Fix
7062 misleading formatting.
7063
892a3d98 70642009-08-07 Robert Millan <rmh.grub@aybabtu.com>
7065
7066 * docs/grub.texi: Major overhaul. Remove all sections that are
7067 specific to GRUB Legacy, or mostly composed of Legacy-specific
7068 information.
7069
ed94253f 70702009-08-07 Robert Millan <rmh.grub@aybabtu.com>
7071
7072 * docs/version.texi: New file. Provides version information for
7073 grub.texi.
7074
126d6628 70752009-08-07 Robert Millan <rmh.grub@aybabtu.com>
7076
7077 * docs/grub.texi: Update CVS information to SVN.
7078 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
7079
998b5aa9 70802009-08-07 Felix Zielcke <fzielcke@z-51.de>
7081
7082 * util/grub-mkconfig.in: Remove a wrong `fi'.
7083
818e094a 70842009-08-07 Felix Zielcke <fzielcke@z-51.de>
7085
7086 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
7087 (grub_jfs_uuid): New function.
7088 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
7089
b969c52f 70902009-08-07 Felix Zielcke <fzielcke@z-51.de>
7091
7092 * util/grub-mkconfig_lib.in (font_path): Move the functionality
7093 of it to ...
7094 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
7095 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
7096
7a4894cc 70972009-08-07 Robert Millan <rmh.grub@aybabtu.com>
7098
7099 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
7100 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
7101 Update all users.
7102
7103 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
7104 not just "vmlinu[zx]".
7105 Moved from here ...
7106 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
7107 all users.
7108
7109 * util/grub.d/10_linux.in (find_latest): Moved from here ...
7110 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
7111 all users.
7112
4e2171f8 71132009-08-07 Robert Millan <rmh.grub@aybabtu.com>
7114
7115 * util/grub.d/10_freebsd.in: Use an absolute device path for
7116 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
7117
6dcfcb32 71182009-08-06 Felix Zielcke <fzielcke@z-51.de>
7119
7120 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
7121 handling of multiple abstraction modules.
7122
f56a8756 71232009-08-04 Robert Millan <rmh.grub@aybabtu.com>
7124
7125 Fix a bug resulting in black screen when loading Linux using a
7126 packed video mode.
7127
7128 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
7129 function.
7130
7131 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
7132 (grub_vbe_bios_getset_dac_palette_width): New function.
7133 (grub_vbe_bios_get_dac_palette_width)
7134 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
7135 grub_vbe_bios_getset_dac_palette_width()).
7136
7137 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
7138 check for return status.
7139 (grub_vbe_get_video_mode_info): When getting information for a packed
7140 mode (<= 8 bpp), obtain DAC palette width using
7141 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
7142 {red,green,blue}_mark_size.
7143
222671b2 71442009-08-04 Felix Zielcke <fzielcke@z-51.de>
7145
ecb1a6d9 7146 * commands/search.c (options): Fix help output to match actual code.
222671b2 7147
f84114f5 71482009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
7149
7150 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
7151 of homegrown code.
7152
bd288a20 71532009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 7154
7155 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
7156 on XFS or ReiserFS.
7157
8aab5e25 71582009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
7159
7160 Support Apple partition map with sector size different from 512 bytes.
7161
7162 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
7163 (apple_partition_map_iterate): Respect 'aheader.blocksize'
7164 and 'apart.partmap_size'.
7165
6ad6258a 71662009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
71672009-08-01 Robert Millan <rmh.grub@aybabtu.com>
7168
7169 Fix cpuid command.
7170
7171 * commands/i386/cpuid.c (options): New variable.
7172 (grub_cmd_cpuid): Return real error.
7173 (GRUB_MOD_INIT(cpuid)): Declare options.
7174
67459bc6 71752009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
7176
7177 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
7178 valid.
7179
fbc6ab54 71802009-07-31 Bean <bean123ch@gmail.com>
7181
7182 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
7183 log2_inode.
7184 (grub_fshelp_node): Move inode field to the end.
7185 (grub_xfs_data): Remove inode field.
7186 (grub_xfs_inode_block): Calculate inode size using sblock.
7187 (grub_xfs_inode_offset): Likewise.
7188 (grub_xfs_read_inode): Calculate inode size using sblock.
7189 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
7190 (grub_xfs_iterate_dir): Calculate inode size using sblock.
7191 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
7192 to match inode size.
7193 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
7194 not accessible when data is null.
7195 (grub_xfs_open): Likewise.
7196
f45d6cfc 71972009-07-31 Bean <bean123ch@gmail.com>
7198
7199 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
7200 Don't change pv->disk if it's already set.
7201
7202 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
7203 (grub_raid_register): ... here.
7204 (grub_raid_rescan): Removed.
7205
7206 * include/grub/raid.h (grub_raid_rescan): Removed.
7207
7208 * util/grub-fstest.c: Remove include file <grub/raid.h>.
7209 (fstest): Replace grub_raid_rescan with module fini function followed
7210 by init function.
7211
7212 * util/grub-probe.c: Add include file <grub/raid.h>.
7213 (probe_raid_level): New function.
7214 (probe): Detect abstraction by walking the disk device, support two
7215 level of abstraction (LVM on RAID) when detecting partition map.
7216
24443b5a 72172009-07-31 Pavel Roskin <proski@gnu.org>
7218
7219 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
7220 to grub_zalloc(), it was erroneous.
7221 Reported by Bean <bean123ch@gmail.com>
7222
a275d9e7 72232009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
7224
7225 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 7226 embedding zone, not only the first one.
a275d9e7 7227
56c5a47f 72282009-07-29 Joe Auricchio <jauricchio@gmail.com>
7229
7230 * term/gfxterm.c (clear_char): New function.
7231 (grub_virtual_screen_setup): Use clear_char.
7232 (scroll_up): Likewise.
7233 (grub_virtual_screen_cls): Likewise.
7234
67bb323a 72352009-07-29 Felix Zielcke <fzielcke@z-51.de>
7236
7237 * util/deviceiter.c (get_acceleraid_disk_name): New static
7238 function.
7239 (grub_util_iterate_devices): Handle Accelraid devices.
7240 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
7241
388a7c75 72422009-07-28 Robert Millan <rmh.grub@aybabtu.com>
7243
7244 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
7245 separator for the suggested gfxpayload string (';' collides with the
7246 parser and needs escaping).
7247
3bb7abcf 72482009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
7249
7250 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
7251 Clear direction flag before jumping to OS.
7252 (grub_multiboot2_real_boot): Likewise.
7253
2ddd36d7 72542009-07-28 Felix Zielcke <fzielcke@z-51.de>
7255
7256 * util/i386/pc/grub-install: Fix parsing of --disk-module
7257 option.
7258
c521b62b 72592009-07-28 Felix Zielcke <fzielcke@z-51.de>
7260
7261 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
7262 when embedding.
7263
880e0a0c 72642009-07-26 Felix Zielcke <fzielcke@z-51.de>
7265
7266 * util/grub-mkconfig.in (package_version): New variable.
7267 Use it do display the version.
7268
2366e356 72692009-07-25 Felix Zielcke <fzielcke@z-51.de>
7270
7271 * kern/file.c (grub_file_open): Revert to previous check with
7272 grub_errno.
7273
7ad8c80e 72742009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7275
7276 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
7277 from help line. It's out of sync with code.
7278
72b9658b 72792009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7280
7281 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
7282 entries on failed boot.
7283
77435277 72842009-07-25 Felix Zielcke <fzielcke@z-51.de>
7285
7286 * kern/file.c (grub_file_open): Fix an error check.
7287
fcaa8b21 72882009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
7289
35d16c74 7290 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
7291 partition map couldn't be identified.
fcaa8b21 7292
48904cd1 72932009-07-23 Pavel Roskin <proski@gnu.org>
7294
ef3c317f 7295 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
7296 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
7297 case of little endian words becomes just an optimization.
7298 Respect const modifier.
ad8ea1f4 7299 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 7300
48904cd1 7301 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
7302 to avoid loss of upper bits if align is unsigned and shorter
7303 than addr.
7304
260c9a89 73052009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
7306
7307 UUID support for UFS
7308
7309 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
7310 (grub_ufs_uuid): New function.
7311 (grub_ufs_fs): add .uuid
7312
f76ce889 73132009-07-21 Pavel Roskin <proski@gnu.org>
7314
7315 * kern/dl.c (grub_dl_check_header): Make static.
7316
6a6cbcaf 73172009-07-21 Felix Zielcke <fzielcke@z-51.de>
7318
7319 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
7320 add drivemap for Vista. It breaks Windows 7.
7321
cffcddb2 73222009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
7323
7324 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
7325 128 bytes
7326
1ef44b80 73272009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
7328
7329 Add BFS support
7330
7331 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
7332 (grub_fstest_SOURCES): Likewise.
7333 (pkglib_MODULES): Add befs.mod.
7334 (befs_mod_SOURCES): New variable.
7335 (befs_mod_CFLAGS): Likewise.
7336 (befs_mod_LDFLAGS): Likewise.
7337 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
7338 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
7339 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7340 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
7341 (grub_setup_SOURCES): Likewise.
7342 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7343 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7344 (grub_setup_SOURCES): Likewise.
7345 * fs/befs.c: New file.
7346 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
7347 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
7348 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
7349 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
7350 (B_KEY_INDEX_ALIGN): New declaration.
7351 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
7352 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
7353 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
7354 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
7355 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
7356 (grub_afs_mount) [MODE_BFS]: Likewise.
7357 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
7358 (grub_afs_fs): Use GRUB_AFS_FSNAME
7359 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
7360 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
7361 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
7362 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
7363
4f253044 73642009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
7365
7366 * util/getroot.c (find_root_device): Add support for MacOSX.
7367 * util/hostdisk.c: Likewise.
7368
57a55913 73692009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
7370
7371 * font/font.c (find_glyph): Check whether a font is present to avoid
7372 segmentation fault.
75421ca9 7373
73742009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 7375
7376 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
7377
e98cd0c2 73782009-07-20 Pavel Roskin <proski@gnu.org>
7379
7380 * configure.ac: Trim excessively wordy excuses.
7381
1d2d169a 73822009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
7383
7384 Add symlink, mtime and label support to AtheFS.
7385
7386 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
7387 (grub_afs_iterate_dir): Handle symlinks.
7388 (grub_afs_open): Use grub_afs_read_symlink.
7389 (grub_afs_dir): Likewise.
7390 Pass mtime.
7391 (grub_afs_label): New function.
7392 (grub_afs_fs): Add grub_afs_label.
7393 (grub_afs_read_symlink): New function.
7394
186f3189 73952009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
7396
7397 Fix AtheFS support.
7398
7399 * fs/afs.c: Fix comments style.
7400 (grub_afs_blockrun): Declare as packed.
7401 (grub_afs_datastream): Likewise.
7402 (grub_afs_bnode): Likewise.
7403 (grub_afs_btree): Likewise.
7404 (grub_afs_sblock): Likewise.
7405 Declare `name' as char.
7406 (grub_afs_inode): Declare as packed.
7407 Change void *vnode to grub_uint32_t unused.
7408 (grub_afs_iterate_dir): Check that key_size is positive.
7409 (grub_afs_mount): Don't read superblock twice.
75421ca9 7410 (grub_afs_dir): Don't free node in case of error,
186f3189 7411 grub_fshelp_find_file already handles this.
7412 (grub_afs_open): Likewise.
7413
5680109e 74142009-07-19 Pavel Roskin <proski@gnu.org>
7415
7416 * Makefile.in: Remove LIBLZO and enable_lzo.
7417 * conf/i386-pc.rmk: Remove lzo support.
7418 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
7419 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
7420 support.
7421 * kern/i386/pc/lzo1x.S: Remove.
7422 * kern/i386/pc/startup.S: Remove lzo support.
7423 * util/i386/pc/grub-mkimage.c: Likewise.
7424
ac70fa32 74252009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
7426
7427 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
7428 * fs/xfs.c (grub_xfs_dir): Likewise.
7429 * fs/afs.c (grub_afs_dir): Likewise.
7430 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
7431 (grub_iso9660_open): Likewise.
7432 * fs/jfs.c (grub_jfs_open): Likewise.
7433 * fs/ext2.c (grub_ext2_dir): Likewise.
7434 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
7435 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 7436
eab58da2 74372009-07-16 Pavel Roskin <proski@gnu.org>
7438
d2838156 7439 * configure.ac: Never add "-c" to CFLAGS.
7440
55c70904 7441 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
7442
43e6200c 7443 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
7444 grub_cv_cc_efiemu should be used.
7445
ce7a733d 7446 * configure.ac: Typo fixes.
7447
eab58da2 7448 * kern/mm.c (grub_zalloc): New function.
7449 (grub_debug_zalloc): Likewise.
7450 * include/grub/mm.h: Declare grub_zalloc() and
7451 grub_debug_zalloc().
7452 * util/misc.c (grub_zalloc): New function.
7453 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
7454 instead of grub_malloc(), remove unneeded initializations.
7455 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
7456 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
7457 * commands/parttool.c (grub_cmd_parttool): Likewise.
7458 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
7459 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
7460 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
7461 * disk/usbms.c (grub_usbms_finddevs): Likewise.
7462 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
7463 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
7464 (grub_cmd_efiemu_pnvram): Likewise.
7465 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
7466 * fs/iso9660.c (grub_iso9660_mount): Likewise.
7467 (grub_iso9660_iterate_dir): Likewise.
7468 * fs/jfs.c (grub_jfs_opendir): Likewise.
7469 * fs/ntfs.c (list_file): Likewise.
7470 (grub_ntfs_mount): Likewise.
7471 * kern/disk.c (grub_disk_open): Likewise.
7472 * kern/dl.c (grub_dl_load_core): Likewise.
7473 * kern/elf.c (grub_elf_file): Likewise.
7474 * kern/env.c (grub_env_context_open): Likewise.
7475 (grub_env_set): Likewise.
7476 (grub_env_set_data_slot): Likewise.
7477 * kern/file.c (grub_file_open): Likewise.
7478 * kern/fs.c (grub_fs_blocklist_open): Likewise.
7479 * loader/i386/multiboot.c (grub_module): Likewise.
7480 * loader/xnu.c (grub_xnu_create_key): Likewise.
7481 (grub_xnu_create_value): Likewise.
7482 * normal/main.c (grub_normal_add_menu_entry): Likewise.
7483 (read_config_file): Likewise.
7484 * normal/menu_entry.c (make_screen): Likewise.
7485 * partmap/sun.c (sun_partition_map_iterate): Likewise.
7486 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
7487 * script/sh/script.c (grub_script_parse): Likewise.
7488 * video/bitmap.c (grub_video_bitmap_create): Likewise.
7489 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
7490 * video/readers/png.c (grub_png_output_byte): Likewise.
7491 (grub_video_reader_png): Likewise.
7492
830afef7 74932009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 7494
7495 Enable all targets that can be built by default
7496
830afef7 7497 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 7498 grub-mkfont and grub-fstest if they can be built
7499
ee293aee 75002009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
7501
7502 Fix hang and segmentation fault in grub-emu-usb
7503
7504 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
7505 * util/usb.c (grub_libusb_devices): likewise
7506 (grub_libusb_init): rename to ...
7507 (GRUB_MOD_INIT (libusb)):...this
7508 (grub_libusb_fini): rename to ..
7509 (GRUB_MOD_FINI (libusb)):...this
7510 * disk/usbms.c (grub_usbms_transfer): fix retry logic
7511 * include/grub/disk.h (grub_raid_init): removed, it's useless
7512 (grub_raid_fini): likewise
7513 (grub_lvm_init): likewise
7514 (grub_lvm_fini): likewise
7515 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
7516 by grub_init_all
7517
94414221 75182009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
7519
7520 Fix libusb
7521
7522 * Makefile.in (LIBUSB): new macro
7523 * genmk.rb (Utility/print_tail): new method
7524 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
7525 (top level): call util.print_tail at the end.
7526
59ade63d 75272009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
7528
7529 Make FreeBSD accept zpool.cache
7530
7531 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
7532 type is /boot/zfs/zpool.cache
7533
a58da8c7 75342009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
7535
7536 Fix 64-bit efiemu
7537
7538 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
7539 correct wrong typedef
7540 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
7541
20591577 75422009-07-15 Pavel Roskin <proski@gnu.org>
7543
560ca572 7544 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
7545 * kern/disk.c (struct grub_disk_cache): Likewise.
7546
e8e8e4fd 7547 * commands/probe.c (options): Typo fix.
7548
fde24e10 7549 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
7550 Increase to 0x5a to accommodate FAT32. Adjust other offsets
7551 accordingly.
7552 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
7553
379c54c1 7554 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
7555 the end of "Error" to make the message more readable.
7556
7bd8f5bf 7557 * boot/i386/pc/boot.S (kernel_segment): Remove.
7558 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
7559 for destination.
7560
40b132c5 7561 * boot/i386/pc/boot.S (boot_version): Remove.
7562 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
7563 Remove.
7564
20591577 7565 * include/grub/i386/pc/boot.h: Sort all offsets.
7566 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
7567 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
7568 * boot/i386/pc/boot.S: Assert location of every offset listed in
7569 include/grub/i386/pc/boot.h.
7570
2df32b2c 75712009-07-13 Pavel Roskin <proski@gnu.org>
7572
44b5d879 7573 * include/grub/i386/coreboot/machine.h: Rename
7574 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
7575 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
7576 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
7577
17dc3751 7578 * kern/dl.c: Force native word size to suppress warnings when
7579 compiling grub-emu.
7580
2df32b2c 7581 * kern/device.c (grub_device_iterate): Change struct part_ent to
7582 hold the name, not a pointer to it. Use one grub_malloc() per
7583 partition, not two. Free partition_name if grub_malloc() fails.
7584 Set ents to NULL only before grub_partition_iterate() is called.
7585
75c59f59 75862009-07-11 Bean <bean123ch@gmail.com>
7587
7588 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
7589 childname.
7590
0ae1bf88 75912009-07-10 Bean <bean123ch@gmail.com>
75922009-07-10 Robert Millan <rmh.grub@aybabtu.com>
7593
7594 * kern/ieee1275/openfw.c (grub_children_iterate)
7595 (grub_devalias_iterate): Fix size evaluation for property or path
7596 strings, which was broken since r2132.
7597
8279cade 75982009-07-07 Pavel Roskin <proski@gnu.org>
7599
7d8a52d3 7600 * commands/search.c (search_file): Merge into ...
7601 (search_fs): ... this. Accept search type as argument.
7602 (grub_cmd_search): Pass search type to search_fs().
7603
25f9a05a 7604 * include/grub/util/console.h: New file.
7605 * util/console.c: Use it instead of grub/machine/console.h.
7606 * util/grub-emu.c: Likewise.
7607
8279cade 7608 * lib/arg.c (find_long_option): Remove.
7609 (find_long): Add `len' argument, make `s' const char *.
7610 (grub_arg_parse): Parse long options in place, not in a
7611 temporary buffer.
7612
4a11b60f 76132009-07-06 Pavel Roskin <proski@gnu.org>
7614
99f68041 7615 * commands/search.c (search_fs): Fix potential NULL pointer
7616 dereference.
7617
4a11b60f 7618 * commands/search.c (search_fs): Replace QUID macro with quid_fn
7619 function pointer.
7620
e110f4de 76212009-07-06 Daniel Mierswa <impulze@impulze.org>
7622
7623 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
7624 comparison.
7625
46eeb6a2 76262009-07-05 Pavel Roskin <proski@gnu.org>
7627
bab74958 7628 * include/grub/i386/linux.h (struct linux_kernel_params):
7629 Restore padding3, it's still needed.
7630
46eeb6a2 7631 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
7632 FreeBSD.
7633 * util/osdetect.lua: Likewise.
7634
b4a1dc79 76352009-07-05 Bean <bean123ch@gmail.com>
7636
7637 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
7638
7639 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
7640 (grub_lua_getenv): Likewise.
7641 (grub_lua_setenv): Likewise.
7642 (save_errno): New function.
7643 (push_result): Likewise.
7644 (grub_lua_enum_device): Likewise.
7645 (grub_lua_enum_file): Likewise.
7646 (grub_lua_file_open): Likewise.
7647 (grub_lua_file_close): Likewise.
7648 (grub_lua_file_seek): Likewise.
7649 (grub_lua_file_read): Likewise.
7650 (grub_lua_file_getline): Likewise.
7651 (grub_lua_file_getsize): Likewise.
7652 (grub_lua_file_getpos): Likewise.
7653 (grub_lua_file_eof): Likewise.
7654 (grub_lua_file_exist): Likewise.
7655 (grub_lua_add_menu): Likewise.
7656
7657 * script/lua/grub_lua.h (isupper): New inline function.
7658 (islower): Likewise.
7659 (ispunct): Likewise.
7660 (isxdigit): Likewise.
7661 (strcspn): Change to normal function.
7662 (strpbkr): New function declaration.
7663 (memchr): Likewise.
7664
7665 * script/lua/grub_main.c (scan_str): New function.
7666 (strcspn): Likewise.
7667 (strpbrk): Likewise.
7668 (memchr): Likewise.
7669
7670 * script/lua/linit.c (lualibs): Enable the string library.
7671
7672 * util/osdetect.lua: New file.
7673
2da92295 76742009-07-04 Robert Millan <rmh.grub@aybabtu.com>
7675
7676 * include/grub/i386/linux.h (struct linux_kernel_params): Add
7677 `capabilities' member.
7678
b2582ec9 76792009-07-02 Pavel Roskin <proski@gnu.org>
7680
7681 * genparttoollist.sh: Add missing newline at the end.
7682
32622956 76832009-07-01 Pavel Roskin <proski@gnu.org>
7684
87a7339e 7685 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
7686
d23af54e 7687 * util/hostdisk.c (open_device): Remove `const' from
7688 `sysctl_size', as sysctlbyname() can change it (in this case it
7689 doesn't actually happen).
7690
c94b18a9 7691 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
7692 using signed long int constants.
7693
c6cd3ef0 7694 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
7695 constant to avoid a warning on FreeBSD.
7696
0df63420 7697 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
7698 where it's needed.
7699
999577f1 7700 * Makefile.in: Install include/grub/machine symlink.
7701
6f41557f 7702 * Makefile.in: When installing symlinks, use "cp -fR", which
7703 works on FreeBSD and MacOSX.
7704 From Yves Blusseau <cl7m42e02@sneakemail.com>
7705
c8d22988 7706 * kern/dl.c (grub_dl_resolve_symbol): Make static.
7707 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
7708
1b96e952 7709 * util/misc.c: Move grub_reboot() and grub_halt() ...
7710 * util/grub-emu.c: ... here. Make main_env static.
7711 * include/grub/util/misc.h: Remove main_env.
7712
2ef0084d 7713 * kern/mm.c: Use correct format to print size_t.
7714
32622956 7715 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
7716 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
7717 * kern/powerpc/dl.c: Likewise.
7718 * kern/sparc64/dl.c: Likewise.
7719 * kern/x86_64/dl.c: Likewise.
7720
3f7f0cd0 77212009-07-01 Robert Millan <rmh.grub@aybabtu.com>
7722
7723 Fix grub-emu build on sparc64-ieee1275.
7724
75421ca9 7725 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 7726 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
7727
211d06b5 77282009-07-01 Robert Millan <rmh.grub@aybabtu.com>
7729
7730 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
7731 (grub_reboot, grub_halt): New functions.
7732
7733 * util/i386/pc/misc.c: Delete. Update all users.
7734 * util/sparc64/ieee1275/misc.c: Likewise.
7735 * util/powerpc/ieee1275/misc.c: Likewise.
7736
aaf53e3c 77372009-07-01 Robert Millan <rmh.grub@aybabtu.com>
7738
7739 * conf/i386.rmk (setjmp_mod_SOURCES)
7740 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
7741 * conf/common.rmk (setjmp_mod_SOURCES)
7742 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
7743 to use $(target_cpu).
7744 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
7745 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
7746 * conf/powerpc-ieee1275.rmk: Likewise.
7747 * conf/sparc64-ieee1275.rmk: Likewise.
7748
7749 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
7750 $(target_cpu) for kern/$(target_cpu)/dl.c.
7751 * conf/i386-efi.rmk: Likewise.
7752 * conf/i386-ieee1275.rmk: Likewise.
7753 * conf/x86_64-efi.rmk: Likewise.
7754 * conf/i386-coreboot.rmk: Likewise.
7755 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
7756 $(target_cpu) for kern/$(target_cpu)/dl.c and for
7757 kern/$(target_cpu)/cache.S.
7758 * conf/sparc64-ieee1275.rmk: Likewise.
7759
a337130b 77602009-07-01 Robert Millan <rmh.grub@aybabtu.com>
7761
7762 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
7763 type to `grub_uint8_t', and adjust `padding9' accordingly.
7764
c6fe4d53 77652009-06-29 Robert Millan <rmh.grub@aybabtu.com>
7766
b09db61d 7767 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
7768
c6fe4d53 7769 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
7770 assembly in final jump, using register constraints.
7771
b09db61d 7772 (grub_linux_boot): For text mode, initialize `have_vga' using
7773 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
7774
7775 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
7776 right before the final jump.
7777
7778 Set `video_mode' to 0x3.
7779
7780 Document initialization of `video_page', `video_mode' and
7781 `video_ega_bx'.
7782
28333ad0 77832009-06-29 Robert Millan <rmh.grub@aybabtu.com>
7784
7785 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
7786 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 7787 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 7788
02164e1b 77892009-06-29 Robert Millan <rmh.grub@aybabtu.com>
7790
7791 Fix build on Debian / sparc.
7792
7793 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
7794
18b6c557 77952009-06-28 Pavel Roskin <proski@gnu.org>
7796
85f2aab6 7797 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
7798 fix a warning.
7799
18b6c557 7800 * util/grub.d/10_linux.in: Match SUSE style initrd names.
7801
ad760f81 78022009-06-27 Robert Millan <rmh.grub@aybabtu.com>
7803
7804 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
7805 `err'.
7806
87a4623b 78072009-06-27 Robert Millan <rmh.grub@aybabtu.com>
7808
7809 Revert r2338.
7810
7811 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
7812 file can't be opened. grub_file_open() is already supposed to set
75421ca9 7813 grub_errno / grub_errmsg appropriately.
87a4623b 7814 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7815
8231fb77 78162009-06-27 Pavel Roskin <proski@gnu.org>
78172009-06-27 Robert Millan <rmh.grub@aybabtu.com>
7818
7819 * include/grub/dl.h: Include grub/elf.h.
7820 (struct grub_dl): Add symtab field.
7821 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
7822 GRUB_MODULES_MACHINE_READONLY.
7823 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
7824 of the header for read-only modules.
7825 (grub_dl_unload): Free mod->symtab for read-only modules.
7826 * kern/i386/dl.c: Use mod->symtab.
7827 * kern/powerpc/dl.c: Likewise.
7828 * kern/sparc64/dl.c: Likewise.
7829 * kern/x86_64/dl.c: Likewise.
7830
7831 * conf/i386-qemu.rmk: New file.
7832 * kern/i386/qemu/startup.S: Likewise.
7833 * kern/i386/qemu/mmap.c: Likewise.
7834 * boot/i386/qemu/boot.S: Likewise.
7835 * include/grub/i386/qemu/time.h: Likewise.
7836 * include/grub/i386/qemu/serial.h: Likewise.
7837 * include/grub/i386/qemu/kernel.h: Likewise.
7838 * include/grub/i386/qemu/console.h: Likewise.
7839 * include/grub/i386/qemu/boot.h: Likewise.
7840 * include/grub/i386/qemu/init.h: Likewise.
7841 * include/grub/i386/qemu/machine.h: Likewise.
7842 * include/grub/i386/qemu/loader.h: Likewise.
7843 * include/grub/i386/qemu/memory.h: Likewise.
7844
7845 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
7846 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
7847 [qemu] (pkglib_IMAGES): Add `boot.img'.
7848 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
7849 [qemu] (boot_img_FORMAT): New variables.
7850 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
7851 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
7852 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
7853 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
7854 [qemu] (kernel_img_FORMAT): New variables.
7855
7856 * configure.ac: Recognise `i386-qemu'.
7857
7858 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
7859 (for no compression).
7860 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
7861 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
7862 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
7863 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
7864 ifdefs).
7865
97fe384e 78662009-06-27 Pavel Roskin <proski@gnu.org>
7867
7868 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
7869 read.
7870 * efiemu/prepare32.c: Likewise.
7871 * efiemu/prepare64.c: Likewise.
7872
c402ab17 78732009-06-26 Pavel Roskin <proski@gnu.org>
7874
7875 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
7876 * include/grub/elf.h: Define symbols without "32" or "64" based
7877 on GRUB_TARGET_WORDSIZE.
7878 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
7879 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
7880 ELF definitions.
7881 * efiemu/loadcore64.c: Likewise.
7882 * loader/i386/bsd32.c: Likewise.
7883 * loader/i386/bsd64.c: Likewise.
7884 * kern/dl.c: Remove own ELF definitions.
7885 * util/i386/efi/grub-mkimage.c: Likewise.
7886
9bbdfd4d 78872009-06-23 Robert Millan <rmh.grub@aybabtu.com>
7888
7889 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
7890 segment 0x0 unconditionally, because the reference generated by
7891 GAS is an absolute address.
7892
a42ce6e9 78932009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7894
7895 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
7896 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
7897
c952cf92 78982009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7899
7900 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
7901 indexes. Check for -f explicitly.
cc3752ad 7902 (search_file): Improve error message.
7903 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 7904
132a0a59 79052009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7906
7907 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
7908 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
7909
387a140c 79102009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7911
7912 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
7913 * conf/i386-ieee1275.rmk: Likewise.
7914 * conf/i386-coreboot.rmk: Likewise.
7915
7916 * kern/i386/pc/startup.S (grub_stop): Remove function.
7917 * kern/i386/ieee1275/startup.S: Likewise.
7918 * kern/i386/coreboot/startup.S: Likewise.
7919 * kern/i386/misc.S (grub_stop): New function.
7920
41da9665 79212009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7922
7923 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
7924 * kern/i386/realmode.S (real_to_prot): ... to here.
7925
bf337234 79262009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7927
7928 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
7929 with `kernel.img'.
7930 (kernel_elf_SOURCES): Rename to ...
7931 (kernel_img_SOURCES): ... this.
7932 (kernel_elf_HEADERS): Rename to ...
7933 (kernel_img_HEADERS): ... this. Update all users.
7934 (kernel_elf_ASFLAGS): Rename to ...
7935 (kernel_img_ASFLAGS): ... this.
7936 (kernel_elf_CFLAGS): Rename to ...
7937 (kernel_img_CFLAGS): ... this.
7938 (kernel_elf_LDFLAGS): Rename to ...
7939 (kernel_img_LDFLAGS): ... this.
7940 * conf/i386-coreboot.rmk: Likewise.
7941 * conf/powerpc-ieee1275.rmk: Likewise.
7942
7943 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
7944 with "kernel.img".
7945
f52196ff 79462009-06-21 Pavel Roskin <proski@gnu.org>
7947
c3cee413 7948 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
7949 to match nested functions.
7950 * loader/sparc64/ieee1275/linux.c: Likewise.
7951
f52196ff 7952 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
7953
58750afc 79542009-06-21 Robert Millan <rmh.grub@aybabtu.com>
7955
7956 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
7957 all i386 platforms.
7958
15355c7d 79592009-06-21 Robert Millan <rmh.grub@aybabtu.com>
7960
7961 Fix asm file handling on ELF, and remove workarounds.
7962
7963 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 7964 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 7965 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
7966 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
7967
3f3ec72b 79682009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7969
7970 Load BSD ELF modules
7971
7972 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
7973 and loader/i386/bsd64.c
7974 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
7975 (FREEBSD_MODTYPE_ELF_MODULE): New definition
7976 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
7977 (grub_freebsd_load_elfmodule32): New declaration
7978 (grub_freebsd_load_elfmoduleobj64): Likewise
7979 (grub_freebsd_load_elf_meta32): Likewise
7980 (grub_freebsd_load_elf_meta64): Likewise
7981 (grub_freebsd_add_meta): Likewise
7982 (grub_freebsd_add_meta_module): Likewise
7983 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
7984 (grub_freebsd_add_meta_module): Likewise and move module-specific
7985 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
7986 (grub_cmd_freebsd): Add elf-kernel specific parts
7987 based on grub_freebsd_add_meta_module
7988 (grub_cmd_freebsd_module): Add type parsing moved from
7989 grub_freebsd_add_meta_module
7990 (grub_cmd_freebsd_module_elf): New function
7991 (cmd_freebsd_module_elf): New variable
7992 (GRUB_MOD_INIT): Register freebsd_module_elf
7993 * loader/i386/bsd32.c: New file
7994 * loader/i386/bsd64.c: Likewise
7995 * loader/i386/bsdXX.c: Likewise
7996 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
7997 (grub_elf64_load): Likewise
7998 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
7999 All users updated
8000 (grub_elf64_load_hook_t): Likewise
8001
0db15301 80022009-06-21 Colin Watson <cjwatson@ubuntu.com>
8003
8004 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
8005 variable.
8006 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
8007 don't write a menu entry for recovery mode.
8008
546796c1 80092009-06-20 Robert Millan <rmh.grub@aybabtu.com>
8010
8011 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
8012 after it's no longer needed.
8013
cd7310d5 80142009-06-20 Robert Millan <rmh.grub@aybabtu.com>
8015
8016 * include/grub/i386/loader.h (grub_linux_prot_size)
8017 (grub_linux_tmp_addr, grub_linux_real_addr)
8018 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
8019 GRUB_MACHINE_PCBIOS.
8020 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
8021 common grub_util_info() call to ...
8022 (generate_image): ... here.
8023 Fix use of uninitialized memory, comparison of signed with
8024 unsigned integers and memory leak.
8025 Remove bogus module address message.
8026
ab32d3b5 80272009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8028
8029 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
8030 grub_raid_register
8031 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
8032
024ef597 80332009-06-19 Pavel Roskin <proski@gnu.org>
8034
8035 * configure.ac: Remove stray AC_MSG_CHECKING.
8036
3ac72b51 80372009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8038
8039 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 8040
e14cd814 80412009-06-18 Pavel Roskin <proski@gnu.org>
8042
8043 * conf/common.rmk: Add fs_file.mod.
8044 * disk/fs_file.c: New file.
8045 * include/grub/disk.h (enum grub_disk_dev_id): Add
8046 GRUB_DISK_DEVICE_FILE_ID.
8047
26586d98 80482009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
8049
8050 Fix build with Apple's toolchain. Part 2
8051
8052 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
8053 a fake start
8054
26de2bcd 80552009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
8056
8057 Fix build with Apple's toolchain. Part 1
8058
8059 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
8060 for long calls
8061 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 8062 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 8063 Apple's toolchain
8064
09b3490b 80652009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
8066
8067 Fix warnings
8068
8069 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
8070 (decomp_block): initialize ch
8071 use grub_memcpy instead of memcpy
8072
c22a006a 80732009-06-17 Pavel Roskin <proski@gnu.org>
8074
d3638678 8075 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
8076 version, use declarations needed to use vga_text as the startup
8077 console.
8078
c22a006a 8079 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
8080 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
8081 the kernel.
8082 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
8083 and grub_at_keyboard_fini(), it's done on module load and
8084 unload.
8085
05b129e0 80862009-06-17 Felix Zielcke <fzielcke@z-51.de>
8087
8088 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
8089 file can't be found.
8090 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
8091
cf24ed9e 80922009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
8093
8094 Fix newline handling
8095
8096 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 8097 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 8098 (grub_script_yylex): don't segfault on unterminated script
8099 newline terminates command and variable
8100
74aa8e4b 81012009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
8102
8103 avoid double grub_adjust_range call. Bug reported by David Simner
8104
8105 * kern/disk.c (grub_disk_write): change to raw disk access before
8106 calling disk_read
8107
1bd265f3 81082009-06-17 Colin Watson <cjwatson@ubuntu.com>
8109
8110 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
8111 spaces, for the benefit of help2man.
8112 * util/i386/efi/grub-mkimage.c (usage): Likewise.
8113
a2d08c06 81142009-06-16 Pavel Roskin <proski@gnu.org>
8115
8116 * kern/i386/halt.c: Include grub/machine/init.h.
8117 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
8118
b97bcb19 81192009-06-16 Felix Zielcke <fzielcke@z-51.de>
8120
8121 * util/grub.d/30_os-prober.in: Use ${root} in the generated
8122 drivemap menuentry.
8123
0644f96c 81242009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
8125
8126 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
8127 `echo' command.
8128
3ef17a2e 81292009-06-16 Pavel Roskin <proski@gnu.org>
8130
8131 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
8132 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
8133 save %dx, we only need %dl and we never change it.
8134 * boot/i386/pc/cdboot.S: Don't set the root drive.
8135 * boot/i386/pc/pxeboot.S: Likewise.
8136 * include/grub/i386/pc/boot.h: Remove
8137 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
8138 GRUB_BOOT_MACHINE_DRIVE_CHECK.
8139 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
8140 * kern/i386/pc/init.c (make_install_device): Remove references
8141 to grub_root_drive.
8142 * kern/i386/pc/startup.S: Likewise.
8143 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
8144
693fe637 81452009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
8146
8147 xnu_uuid command
8148
8149 * commands/xnu_uuid.c: new file
8150 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
8151 (xnu_uuid_mod_SOURCES): new variable
8152 (xnu_uuid_mod_CFLAGS): likewise
8153 (xnu_uuid_mod_LDFLAGS): likewise
8154 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
8155 * conf/i386-ieee1275.rmk: likewise
8156 * conf/i386-pc.rmk: likewise
8157 * conf/powerpc-ieee1275.rmk: likewise
8158 * conf/sparc64-ieee1275.rmk: likewise
8159 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
8160
c9da87d0 81612009-06-16 Pavel Roskin <proski@gnu.org>
8162
8163 * configure.ac: Avoid '==' in test command, it's not portable.
8164
9c6f4596 81652009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
8166
8167 Probe command
8168
8169 * commands/probe.c: new file
8170 * conf/common.rmk (pkglib_MODULES): add probe.mod
8171 (probe_mod_SOURCES): new variable
8172 (probe_mod_CFLAGS): likewise
8173 (probe_mod_LDFLAGS): likewise
8174 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
8175 * conf/i386-ieee1275.rmk: likewise
8176 * conf/i386-pc.rmk: likewise
8177 * conf/powerpc-ieee1275.rmk: likewise
8178 * conf/sparc64-ieee1275.rmk: likewise
8179
70b7f9fd 81802009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
8181
8182 Fix handling of string like \"hello\" and "a
8183 b"
8184
8185 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
8186 (grub_script_yylex): fix parsing of quoting, escaping and newline
8187
71c79a6b 81882009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8189
dd74360c 8190 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 8191 handling
dd74360c 8192
0644f96c 81932009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 8194
8195 * util/grub-mkconfig.in: Fix parsing of --output option.
8196
e40893c3 81972009-06-12 Pavel Roskin <proski@gnu.org>
8198
8199 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
8200 genmk.rb don't need to be generated or installed.
8201
3a1acfe2 82022009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
8203
8204 * commands/i386/pc/drivemap_int13h.S: add more comments
8205
3a4575d4 82062009-06-11 Pavel Roskin <proski@gnu.org>
8207
0658e928 8208 * Makefile.in (uninstall): Uninstall manuals.
8209
ca0388f0 8210 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
8211 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
8212 and update-grub_lib in two places.
8213 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
8214
e3b27c39 8215 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
8216 a compiler warning.
8217
3a4575d4 8218 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
8219 `entry_lo' to fix variable shadowing.
8220
af1f4f55 82212009-06-11 Christian Franke <franke@computer.org>
8222
8223 * kern/misc.c (__enable_execute_stack): Add missing return type
8224 to prevent gcc warning.
8225
5225e649 82262009-06-11 Felix Zielcke <fzielcke@z-51.de>
8227
8228 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
8229
7d83bd47 82302009-06-11 Pavel Roskin <proski@gnu.org>
8231
c1cb63ba 8232 * Makefile.in: Don't rely on any scripts being executable.
8233 Always use $(SHELL) to run shell scripts.
8234
7d83bd47 8235 * configure.ac: Always define ___main if using -nostdlib. This
8236 fixes tests on Cygwin.
8237
948f48e7 82382009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
8239
8240 UDF fix
8241
7d83bd47 8242 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 8243 is in bytes and not in blocks
7d83bd47 8244
8ada9bc1 82452009-06-11 Pavel Roskin <proski@gnu.org>
8246
8247 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
8248 warning.
8249
25ad2323 82502009-06-11 Felix Zielcke <fzielcke@z-51.de>
8251
8252 * util/grub.d/30_os-prober.in: Fix a comment. Source
8253 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
8254 to set the root device. Place drivemap command in the generated
8255 chain entry.
8256
e65acb0c 82572009-06-11 Pavel Roskin <proski@gnu.org>
8258
8259 * configure.ac: Remove host_m32. Issues with 64-bit utilities
8260 have long been resolved.
8261
f285fe2d 82622009-06-11 Colin Watson <cjwatson@ubuntu.com>
8263
bd47b0b5 8264 * util/grub.d/10_linux.in: Capitalise "Linux".
8265
f285fe2d 8266 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
8267
a0c62e4e 82682009-06-11 Pavel Roskin <proski@gnu.org>
8269
b6783cb2 8270 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
8271 fix a gcc warning and ensure that the function won't ever exit.
8272
dde032e8 8273 * kern/i386/ieee1275/init.c: Add missing prototype for
8274 grub_stop_floppy().
8275
22cd079d 8276 * loader/ieee1275/multiboot2.c [__i386__]: Include
8277 grub/cpu/multiboot.h.
8278
a0c62e4e 8279 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
8280 casts to short - they are not portable and cause warnings. Fix
8281 use of uninitialized values in input_buf. Use ARRAY_SIZE.
8282
63963d17 82832009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
8284
8285 Drivemap fixes
8286
8287 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
8288 new function
8289 (grub_get_root_biosnumber_saved): new variable
8290 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
8291 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 8292 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 8293 %dx after the call if necessary
8294 * conf/common.rmk (pkglib_MODULES): remove boot.mod
8295 (boot_mod_SOURCES): remove
8296 (boot_mod_CFLAGS): remove
8297 (boot_mod_LDFLAGS): remove
8298 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
8299 (boot_mod_SOURCES): new variable
8300 (boot_mod_CFLAGS): likewise
8301 (boot_mod_LDFLAGS): likewise
8302 * conf/i386-efi.rmk: likewise
8303 * conf/i386-ieee1275.rmk: likewise
8304 * conf/i386-pc.rmk: likewise
8305 * conf/powerpc-ieee1275.rmk: likewise
8306 * conf/sparc64-ieee1275.rmk: likewise
8307 * conf/x86_64-efi.rmk: likewise
8308 * include/grub/i386/pc/biosnum.h: new file
8309 * lib/i386/pc/biosnum.c: likewise
8310 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
8311 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
8312 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 8313
33abf7ae 83142009-06-10 Pavel Roskin <proski@gnu.org>
8315
5ac35b35 8316 * io/gzio.c (test_header): Don't reuse one buffer for all data.
8317 Use separate variables. Read only the file size at the end, but
8318 not the checksum that we don't use.
8319
5c5215d5 8320 * kern/file.c (grub_file_read): Use void pointer for the buffer.
8321 Adjust all callers.
8322
27d5fef7 8323 * kern/ieee1275/openfw.c: Remove libc includes.
8324 * kern/ieee1275/cmain.c: Likewise.
8325 * include/grub/ieee1275/ieee1275.h: Likewise.
8326
33abf7ae 8327 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
8328 compiler warnings.
8329
19d50c2b 83302009-06-10 Felix Zielcke <fzielcke@z-51.de>
8331
8332 * Makefile.in: Remove all trailing whitespace.
8333 * conf/i386-pc.rmk: Likewise.
8334 * conf/powerpc-ieee1275.rmk: Likewise.
8335 * conf/sparc64-ieee1275.rmk: Likewise.
8336 * docs/grub.texi: Likewise.
8337 * docs/texinfo.tex: Likewise.
8338 * disk/fs_uuid.c: Likewise.
8339 * disk/lvm.c: Likewise.
8340 * disk/scsi.c: Likewise.
8341 * disk/ata.c: Likewise.
8342 * disk/ieee1275/ofdisk.c: Likewise.
8343 * disk/i386/pc/biosdisk.c: Likewise.
8344 * disk/host.c: Likewise.
8345 * disk/raid.c: Likewise.
8346 * disk/efi/efidisk.c: Likewise.
8347 * disk/usbms.c: Likewise.
8348 * disk/memdisk.c: Likewise.
8349 * disk/loopback.c: Likewise.
8350 * kern/powerpc/dl.c: Likewise.
8351 * kern/device.c: Likewise.
8352 * kern/dl.c: Likewise.
8353 * kern/sparc64/dl.c: Likewise.
8354 * kern/ieee1275/ieee1275.c: Likewise.
8355 * kern/term.c: Likewise.
8356 * kern/fs.c: Likewise.
8357 * kern/i386/dl.c: Likewise.
8358 * kern/i386/pc/startup.S: Likewise.
8359 * kern/i386/pc/init.c: Likewise.
8360 * kern/i386/pc/mmap.c: Likewise.
8361 * kern/i386/pc/lzo1x.S: Likewise.
8362 * kern/i386/ieee1275/init.c: Likewise.
8363 * kern/i386/realmode.S: Likewise.
8364 * kern/i386/tsc.c: Likewise.
8365 * kern/partition.c: Likewise.
8366 * kern/corecmd.c: Likewise.
8367 * kern/file.c: Likewise.
8368 * kern/efi/efi.c: Likewise.
8369 * kern/efi/init.c: Likewise.
8370 * kern/efi/mm.c: Likewise.
8371 * kern/main.c: Likewise.
8372 * kern/err.c: Likewise.
8373 * kern/env.c: Likewise.
8374 * kern/disk.c: Likewise.
8375 * kern/generic/millisleep.c: Likewise.
8376 * kern/generic/rtc_get_time_ms.c: Likewise.
8377 * kern/misc.c: Likewise.
8378 * kern/parser.c: Likewise.
8379 * genmk.rb: Likewise.
8380 * configure.ac: Likewise.
8381 * boot/i386/pc/diskboot.S: Likewise.
8382 * boot/i386/pc/pxeboot.S: Likewise.
8383 * boot/i386/pc/boot.S: Likewise.
8384 * boot/i386/pc/lnxboot.S: Likewise.
8385 * boot/i386/pc/cdboot.S: Likewise.
8386 * parttool/pcpart.c: Likewise.
8387 * video/readers/tga.c: Likewise.
8388 * video/video.c: Likewise.
8389 * video/bitmap.c: Likewise.
8390 * lib/envblk.c: Likewise.
8391 * lib/i386/setjmp.S: Likewise.
8392 * fs/xfs.c: Likewise.
8393 * fs/afs.c: Likewise.
8394 * fs/fat.c: Likewise.
8395 * fs/ntfs.c: Likewise.
8396 * fs/udf.c: Likewise.
8397 * fs/affs.c: Likewise.
8398 * fs/iso9660.c: Likewise.
8399 * fs/hfs.c: Likewise.
8400 * fs/fshelp.c: Likewise.
8401 * fs/ext2.c: Likewise.
8402 * fs/jfs.c: Likewise.
8403 * fs/reiserfs.c: Likewise.
8404 * fs/hfsplus.c: Likewise.
8405 * fs/minix.c: Likewise.
8406 * fs/cpio.c: Likewise.
8407 * fs/sfs.c: Likewise.
8408 * fs/ufs.c: Likewise.
8409 * efiemu/prepare.c: Likewise.
8410 * efiemu/loadcore_common.c: Likewise.
8411 * efiemu/runtime/efiemu.sh: Likewise.
8412 * efiemu/runtime/efiemu.S: Likewise.
8413 * efiemu/runtime/efiemu.c: Likewise.
8414 * efiemu/pnvram.c: Likewise.
8415 * efiemu/main.c: Likewise.
8416 * efiemu/i386/pc/cfgtables.c: Likewise.
8417 * efiemu/i386/loadcore64.c: Likewise.
8418 * efiemu/i386/loadcore32.c: Likewise.
8419 * efiemu/loadcore.c: Likewise.
8420 * efiemu/symbols.c: Likewise.
8421 * efiemu/mm.c: Likewise.
8422 * include/grub/autoefi.h: Likewise.
8423 * include/grub/datetime.h: Likewise.
8424 * include/grub/term.h: Likewise.
8425 * include/grub/hfs.h: Likewise.
8426 * include/grub/lvm.h: Likewise.
8427 * include/grub/i386/tsc.h: Likewise.
8428 * include/grub/i386/linux.h: Likewise.
8429 * include/grub/i386/xnu.h: Likewise.
8430 * include/grub/i386/efiemu.h: Likewise.
8431 * include/grub/i386/pc/biosdisk.h: Likewise.
8432 * include/grub/i386/pc/memory.h: Likewise.
8433 * include/grub/i386/pc/vbe.h: Likewise.
8434 * include/grub/parttool.h: Likewise.
8435 * include/grub/video.h: Likewise.
8436 * include/grub/memory.h: Likewise.
8437 * include/grub/fs.h: Likewise.
8438 * include/grub/partition.h: Likewise.
8439 * include/grub/xnu.h: Likewise.
8440 * include/grub/efi/api.h: Likewise.
8441 * include/grub/efi/pe32.h: Likewise.
8442 * include/grub/efi/memory.h: Likewise.
8443 * include/grub/multiboot.h: Likewise.
8444 * include/grub/usbdesc.h: Likewise.
8445 * include/grub/multiboot2.h: Likewise.
8446 * include/grub/acpi.h: Likewise.
8447 * include/grub/efiemu/efiemu.h: Likewise.
8448 * include/grub/disk.h: Likewise.
8449 * include/grub/ieee1275/ieee1275.h: Likewise.
8450 * include/grub/net.h: Likewise.
8451 * include/grub/machoload.h: Likewise.
8452 * include/grub/macho.h: Likewise.
8453 * include/multiboot.h: Likewise.
8454 * genmoddep.awk: Likewise.
8455 * normal/main.c: Likewise.
8456 * normal/menu_entry.c: Likewise.
8457 * normal/menu_viewer.c: Likewise.
8458 * normal/completion.c: Likewise.
8459 * normal/cmdline.c: Likewise.
8460 * normal/misc.c: Likewise.
8461 * normal/datetime.c: Likewise.
8462 * bus/usb/usbtrans.c: Likewise.
8463 * bus/usb/ohci.c: Likewise.
8464 * bus/usb/uhci.c: Likewise.
8465 * bus/usb/usb.c: Likewise.
8466 * mmap/efi/mmap.c: Likewise.
8467 * mmap/i386/pc/mmap_helper.S: Likewise.
8468 * mmap/i386/pc/mmap.c: Likewise.
8469 * mmap/i386/mmap.c: Likewise.
8470 * mmap/i386/uppermem.c: Likewise.
8471 * mmap/mmap.c: Likewise.
8472 * commands/acpi.c: Likewise.
8473 * commands/echo.c: Likewise.
8474 * commands/blocklist.c: Likewise.
8475 * commands/loadenv.c: Likewise.
8476 * commands/usbtest.c: Likewise.
8477 * commands/boot.c: Likewise.
8478 * commands/parttool.c: Likewise.
8479 * commands/search.c: Likewise.
8480 * commands/cat.c: Likewise.
8481 * commands/i386/pc/play.c: Likewise.
8482 * commands/i386/pc/drivemap.c: Likewise.
8483 * commands/i386/pc/vbeinfo.c: Likewise.
8484 * commands/i386/pc/acpi.c: Likewise.
8485 * commands/i386/pc/vbetest.c: Likewise.
8486 * commands/ls.c: Likewise.
8487 * commands/cmp.c: Likewise.
8488 * commands/test.c: Likewise.
8489 * commands/efi/acpi.c: Likewise.
8490 * commands/gptsync.c: Likewise.
8491 * commands/help.c: Likewise.
8492 * partmap/amiga.c: Likewise.
8493 * partmap/apple.c: Likewise.
8494 * partmap/acorn.c: Likewise.
8495 * partmap/pc.c: Likewise.
8496 * partmap/sun.c: Likewise.
8497 * partmap/gpt.c: Likewise.
8498 * script/sh/lexer.c: Likewise.
8499 * script/sh/function.c: Likewise.
8500 * font/font.c: Likewise.
8501 * font/font_cmd.c: Likewise.
8502 * loader/powerpc/ieee1275/linux.c: Likewise.
8503 * loader/efi/chainloader.c: Likewise.
8504 * loader/multiboot_loader.c: Likewise.
8505 * loader/macho.c: Likewise.
8506 * loader/i386/multiboot.c: Likewise.
8507 * loader/i386/linux.c: Likewise.
8508 * loader/i386/pc/linux.c: Likewise.
8509 * loader/i386/pc/multiboot2.c: Likewise.
8510 * loader/i386/pc/chainloader.c: Likewise.
8511 * loader/i386/pc/xnu.c: Likewise.
8512 * loader/i386/bsd_trampoline.S: Likewise.
8513 * loader/i386/efi/linux.c: Likewise.
8514 * loader/i386/multiboot_elfxx.c: Likewise.
8515 * loader/i386/bsd_helper.S: Likewise.
8516 * loader/i386/bsd.c: Likewise.
8517 * loader/i386/linux_trampoline.S: Likewise.
8518 * loader/i386/xnu_helper.S: Likewise.
8519 * loader/i386/xnu.c: Likewise.
8520 * loader/i386/bsd_pagetable.c: Likewise.
8521 * loader/i386/multiboot_helper.S: Likewise.
8522 * loader/xnu.c: Likewise.
8523 * loader/xnu_resume.c: Likewise.
8524 * io/gzio.c: Likewise.
8525 * term/efi/console.c: Likewise.
8526 * term/terminfo.c: Likewise.
8527 * term/ieee1275/ofconsole.c: Likewise.
8528 * term/i386/pc/serial.c: Likewise.
8529 * term/i386/pc/vesafb.c: Likewise.
8530 * term/i386/pc/vga.c: Likewise.
8531 * term/usb_keyboard.c: Likewise.
8532 * term/gfxterm.c: Likewise.
8533 * aclocal.m4: Likewise.
8534 * util/lvm.c: Likewise.
8535 * util/grub.d/30_os-prober.in: Likewise.
8536 * util/grub.d/10_hurd.in: Likewise.
8537 * util/console.c: Likewise.
8538 * util/grub-macho2img.c: Likewise.
8539 * util/grub-probe.c: Likewise.
8540 * util/hostfs.c: Likewise.
8541 * util/i386/pc/grub-mkimage.c: Likewise.
8542 * util/i386/pc/grub-setup.c: Likewise.
8543 * util/i386/efi/grub-mkimage.c: Likewise.
8544 * util/grub-mkconfig.in: Likewise.
8545 * util/raid.c: Likewise.
8546 * util/resolve.c: Likewise.
8547 * util/grub-mkdevicemap.c: Likewise.
8548 * util/grub-emu.c: Likewise.
8549 * util/getroot.c: Likewise.
8550 * util/hostdisk.c: Likewise.
8551 * util/usb.c: Likewise.
8552 * util/grub-editenv.c: Likewise.
8553 * util/misc.c: Likewise.
8554
d2d49665 85552009-06-10 Felix Zielcke <fzielcke@z-51.de>
8556
8557 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
8558 `genparttoollist.sh'.
8559 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
8560 Add `*.sh' to the list find searches for and change `mdate.sh'
8561 to `mdate-sh'.
8562
fe052e37 85632009-06-10 Pavel Roskin <proski@gnu.org>
8564
2763ac18 8565 * include/grub/multiboot2.h: Provide compatibility defines for
8566 multiboot2.h.
8567 * include/multiboot2.h: Include stdint.h only if needed, using
8568 angle brackets.
8569 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
8570 grub/multiboot2.h.
8571 * loader/ieee1275/multiboot2.c: Likewise.
8572 * loader/multiboot2.c: Likewise.
8573 * loader/multiboot_loader.c: Likewise.
8574
437e6adc 8575 * configure.ac: Use -nostdlib when probing for the target. It
8576 should not be required to have libc for the target.
8577
06a6836c 8578 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
8579 they fail without libc headers for the target.
8580 * include/grub/powerpc/libgcc.h: Use weak attribute for all
8581 exports.
8582 * include/grub/sparc64/libgcc.h: Likewise. Don't use
8583 preprocessor conditionals.
8584
fe052e37 8585 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
8586 build system doesn't need to be aware of the tar.c internals.
8587
afd22553 85882009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 8589
afd22553 8590 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 8591
6b787c4f 85922009-06-09 Robert Millan <rmh.grub@aybabtu.com>
8593
8594 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
8595 disk limit to 26 for IDE, Virtio, Xen and SCSI.
8596
85972009-06-09 Felix Zielcke <fzielcke@z-51.de>
8598
8599 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 8600 aren't available if ata.mod gets used.
6b787c4f 8601
473d1e45 86022009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 8603
473d1e45 8604 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 8605 initialising controller.
473d1e45 8606 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 8607
255a27d4 86082009-06-08 Felix Zielcke <fzielcke@z-51.de>
8609
8610 * util/i386/pc/grub-install.in: Add a parameter --disk-module
8611 to choose between ata and biosdisk module on i386-pc.
8612
473d1e45 86132009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 8614
d55842d8 8615 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
8616 Subclass and Programming Interface fields in terms of the 3 byte
8617 Class Code register.
8618 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
8619
fa5db0b1 8620 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
8621 interface is OHCI. Add grub_dprintf for symmetry with
8622 bus/usb/uhci.c.
8623 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
8624 interface is UHCI. Add interf variable for programming
8625 interface. Print interface with class/subclass.
8626
c0947beb 8627 * bus/usb/ohci.c: Set interf with correct field.
8628
69da8877 8629 * bus/usb/uhci.c: Remove unneeded doubled lines.
8630 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
8631 Remove whitespace inside comment.
8632
9e172e30 86332009-06-08 Robert Millan <rmh.grub@aybabtu.com>
8634
8635 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
8636 as fallback an equivalent option without depth.
8637
de65ee2b 86382009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8639
8640 Not fail if unable to retrieve C/H/S on LBA disks
8641
473d1e45 8642 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 8643 if unable to retrieve C/H/S on LBA disks
8644
b57ea2c9 86452009-06-08 Pavel Roskin <proski@gnu.org>
8646
8647 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
8648 about aliasing.
8649
af361263 86502009-06-08 Felix Zielcke <fzielcke@z-51.de>
8651
8652 * Makefile.in (uninstall): Remove all $lib_DATA files.
8653
4c9ec6b3 86542009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8655
8656 Bugfix: install on partitionless device
8657
8658 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
8659 is a whole disk
8660
e76fc924 86612009-06-08 Felix Zielcke <fzielcke@z-51.de>
8662
8663 * Makefile.in (uninstall): Remove all $include_DATA files.
8664
ba5a0d05 86652009-06-08 Felix Zielcke <fzielcke@z-51.de>
8666
8667 * commands/true.c: New file. Implement the true and false commands.
8668 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
8669 (true_mod_SOURCES): New variable.
8670 (true_mod_CFLAGS): Likewise.
8671 (true_mod_LDFLAGS): Likewise.
8672
c8048e32 86732009-06-05 Colin D Bennett <colin@gibibit.com>
8674
8675 Optimized font character lookup using binary search instead of linear
8676 search. Fonts now are required to have the character index ordered by
8677 code point.
8678
8679 * font/font.c (load_font_index): Verify that fonts have ordered
8680 character indices.
8681 (find_glyph): Use binary search instead of linear search to find a
8682 character in a font.
8683
408305be 86842009-06-05 Michael Scherer <misc@mandriva.org>
8685
8686 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
8687 uses case sensitive btree.
8688 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
8689 only for case insensitive filesystems.
8690
8ee1e0d9 86912009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8692
8693 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
8694 * conf/common.rmk (search_mod_CFLAGS): likewise
8695
a9966eb1 86962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8697
473d1e45 8698 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 8699 compensate a compiler bug
8700
9e7100fb 87012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8702
473d1e45 8703 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 8704 instead of '\b'
473d1e45 8705
ede21d71 87062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8707
8708 Definitions for creating asm symbols with Apple's CC
8709
8710 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
8711 [APPLE_CC] (VARIABLE): likewise
8712
9dbf7653 87132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8714
8715 Disable lnxboot.img when compiled
8716 with Apple's CC
8717
8718 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
8719 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
8720 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
8721 [! APPLE_CC] (CODE_LENG): skip
8722 [! APPLE_CC] (setup_sects): likewise
8723 [! APPLE_CC]: skip filling
473d1e45 8724
e93cdc3d 87252009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8726
8727 Address in trampolines based on 32-bit registers when compiled
8728 with Apple's CC
8729
473d1e45 8730 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 8731 for addresses
8732 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
8733
6c688477 87342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8735
8736 Avoid aliases when compiling with Apple's CC for PCBIOS machine
8737
8738 * kern/misc.c [APPLE_CC] (memcpy): new function
8739 [APPLE_CC] (memmove): likewise
8740 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 8741 (memcpy): define alias conditionally on !APPLE_CC
6c688477 8742 (memset): likewise
8743 (abort): likewise
8744 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
8745 APPLE_CC are defined
8746 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
8747 (grub_assert_fail): make prototype conditional
8748
e37ffc5c 87492009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8750
8751 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
8752
473d1e45 8753 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
8754 grub-macho2img
e37ffc5c 8755 (CLEANFILES): add grub-macho2img
8756 (grub_macho2img_SOURCES): new variable
8757 * kern/i386/pc/startup.S (bss_start): new variable
8758 (bss_end): likewise
8759 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
8760 * util/grub-macho2img.c: new file
8761
cf00df31 87622009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8763
8764 Use objconv when compiling with Apple's CC
8765
8766 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
8767 (efiemu64.o): likewise
8768 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
8769 when compiling with Apple's CC
8770 (efiemu64_s.o): likewise
8771 * configure.ac: check for objconv when compiling with Apple's CC
8772 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 8773
d119a20c 87742009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8775
8776 Define segment as well as section when compiling with
8777 Apple's CC
8778
8779 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
8780 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
8781 (efiemu_convert_pointer): likewise
8782 (efiemu_set_virtual_address_map): likewise
8783 (efiemu_convert_pointer): likewise
8784 (efiemu_getcrc32): likewise
8785 (init_crc32_table): likewise
8786 (reflect): likewise
8787 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
8788 (GRUB_MOD_DEP): likewise
473d1e45 8789
c8600122 87902009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8791
8792 Allow a compilation without -mcmodel=large
8793
8794 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
8795 when compiled without -mcmodel=large
473d1e45 8796 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 8797 without -mcmodel=large
473d1e45 8798 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 8799 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 8800
e8df1d4e 88012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8802
8803 Remove nested functions in efiemu core
8804
8805 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 8806
cc6c3ac1 88072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8808
8809 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
8810
8811 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
8812 temporary storage
473d1e45 8813 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
8814 using Apple's CC
cc6c3ac1 8815 (grub_cpu_is_tsc_supported): likewise
8816 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 8817
3e325901 88182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8819
8820 Absolute addressing through constant with Apple's cc
8821
8822 * kern/i386/pc/startup.S: Define necessary constants
8823 and address through it when using ABS with Apple's CC
8824 * boot/i386/pc/diskboot.S: likewise
8825 * boot/i386/pc/boot.S: likewise
8826 * boot/i386/pc/lnxboot.S: likewise
8827 * boot/i386/pc/cdboot.S: likewise
8828 * mmap/i386/pc/mmap_helper.S: likewise
8829 * commands/i386/pc/drivemap_int13h.S: likewise
8830
2b167a72 88312009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8832
8833 Check if compiler is apple cc
8834
8835 * Makefile.in (ASFLAGS): new variable
8836 (TARGET_ASFLAGS): likewise
8837 (TARGET_MODULE_FORMAT): likewise
8838 (TARGET_APPLE_CC): likewise
8839 (OBJCONV): likewise
8840 (TARGET_IMG_CFLAGS): likewise
8841 (TARGET_CPPFLAGS): add includedir
8842 * configure.ac: call grub_apple_cc and grub_apple_target_cc
8843 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
8844 Check for linker script only if compiler isn't Apple's CC
8845 (TARGET_MODULE_FORMAT): set
8846 (TARGET_APPLE_CC): likewise
8847 (TARGET_ASFLAGS): likewise
8848 (ASFLAGS): likewise
8849 Check for objcopy only if compiler isn't Apple's CC
8850 Check for BSS symbol only if compiler isn't Apple's CC
8851 * genmk.rb: adapt nm options if we use Apple's utils
8852 * aclocal.m4 (grub_apple_cc): new test
8853 (grub_apple_target_cc): likewise
473d1e45 8854
fb14123e 88552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8856
8857 Simplify sed expressions and improve awk
8858
8859 * Makefile.in (install-local): simplify sed expression
8860 * gencmdlist.sh: likewise
8861 * genmoddep.awk: avoid adding module as a dependency of itself
8862
5b889789 88632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8864
8865 Add missing start symbols
8866
8867 * boot/i386/pc/boot.S: add start
fb14123e 8868 * boot/i386/pc/pxeboot.S: likewise
473d1e45 8869
fd2bf2e3 88702009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8871
8872 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 8873
8874 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 8875 (relocate_addresses): consider both r_addend and value at offset
8876 (make_mods_section): zerofill modinfo and header
8877 (convert_elf): write prefix here
473d1e45 8878
5389763d 88792009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8880
8881 Use .asciz instead of .string
8882
8883 * i386/pc/diskboot.S: use .asciz instead of .string
8884 * i386/pc/boot.S: likewise
8885 * include/grub/dl.h (GRUB_MOD_DEP): likewise
8886 (GRUB_MOD_NAME): likewise
473d1e45 8887
3eb5ed4e 88882009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8889
8890 gfxpayload support
8891
8892 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
8893 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
8894 (grub_video_setup): remove
8895 (grub_video_set_mode): new prototype
8896 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
8897 (vid_mode): remove
8898 (linux_vesafb_res): compile only on PCBIOS
8899 (grub_linux_boot): support gfxpayload
8900 * loader/i386/pc/xnu.c (video_hook): new function
8901 (grub_xnu_set_video): support gfxpayload
8902 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
8903 (DEFAULT_VIDEO_HEIGHT): likewise
8904 (DEFAULT_VIDEO_FLAGS): likewise
8905 (DEFAULT_VIDEO_MODE): new definition
8906 (video_hook): new function
8907 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 8908 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 8909 loading xnu
8910 * video/video.c (grub_video_setup): removed
473d1e45 8911 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 8912 grub_video_setup
8913
4b0e1143 89142009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8915
8916 Avoid calling biosdisk in drivemap
8917
8918 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
8919 (revparse_biosdisk): likewise
8920 (list_mappings): derive name from id directly
8921 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 8922
fda6cb98 89232009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8924
8925 Script fixes
8926
8927 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
8928 (grub_lexer_param): add tokenonhold
8929 (grub_script_create_cmdline): remove cmdline. All callers updated
8930 (grub_script_function_create): make functionname
8931 grub_script_arg. All callers updated
8932 (grub_script_execute_argument_to_string): new prototype
8933 * kern/parser.c (state_transitions): reorder
8934 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 8935 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 8936 make global
8937 (grub_script_execute_cmdline): use new format
8938 * script/sh/function.c (grub_script_function_create): make functionname
8939 grub_script_arg. All callers updated
473d1e45 8940 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 8941 (grub_script_yylex): remove
8942 (grub_script_yylex2): renamed to ...
8943 (grub_script_yylex): ...renamed
8944 parse the expressions like a${b}c
8945 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
8946 (GRUB_PARSER_TOKEN_VAR): remove
8947 (GRUB_PARSER_TOKEN_NAME): likewise
8948 ("if"): declare as typeless
8949 ("while"): likewise
8950 ("function"): likewise
8951 ("else"): likewise
8952 ("then"): likewise
8953 ("fi"): likewise
8954 (text): remove
8955 (argument): likewise
8956 (script): accept empty scripts and make exit on error
8957 (arguments): use GRUB_PARSER_TOKEN_ARG
8958 (function): likewise
8959 (command): move error handling to script
8960 (menuentry): move grub_script_lexer_ref before
473d1e45 8961 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 8962 argument. All callers updated
8963
f4448a07 89642009-06-04 Robert Millan <rmh.grub@aybabtu.com>
8965
8966 Prevent GRUB from probing floppies during boot.
8967
8968 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
8969 * commands/search.c (options): Add --no-floppy.
8970 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
8971 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
8972 --no-floppy when searching for UUIDs.
8973
2bf5885a 89742009-06-04 Robert Millan <rmh.grub@aybabtu.com>
8975
8976 Simplify the code duplication in commands/search.c.
8977
8978 * commands/search.c (search_label, search_fs_uuid): Merge into ...
8979 (search_fs): ... this. Update all users.
8980
f6fd460a 89812009-06-03 Felix Zielcke <fzielcke@z-51.de>
8982
8983 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
8984
cbb3c83e 89852009-05-28 Pavel Roskin <proski@gnu.org>
8986
57788cfd 8987 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
8988 Remove the original symlink explicitly.
8989
cbb3c83e 8990 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
8991 just one slash. That's how grub_fshelp_find_file() does it.
8992
cd0d5e30 89932009-05-26 Pavel Roskin <proski@gnu.org>
8994
f0f8bbe2 8995 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
8996 to `str'.
8997
cd0d5e30 8998 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
8999 possibly unused.
9000
8c2cab51 90012009-05-25 Christian Franke <franke@computer.org>
9002
9003 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
9004 register.
9005 (grub_atapi_identify): Add wait after drive select.
9006 (grub_ata_identify): Do more strict status register check before
9007 calling grub_atapi_identify (). Suppress error message if status
9008 register is 0x00 after command failure. Add status register
9009 check after PIO read to avoid bogus identify due to stuck DRQ.
9010 Thanks to Pavel Roskin for testing.
9011 (grub_device_initialize): Remove unsafe status register check.
9012 Thanks to 'phcoder' for problem report and patch.
9013 Prevent sign extension in debug message.
9014
230c0ad6 90152009-05-23 Colin D Bennett <colin@gibibit.com>
9016
9017 Cleaned up `include/grub/normal.h'. Grouped prototypes by
9018 definition file, and functions defined in `normal/menu.c' have had
9019 their prototypes moved to `include/grub/menu.h' for consistency.
9020
9021 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
9022 from normal.h.
9023 (grub_menu_get_entry): Likewise.
9024 (grub_menu_get_timeout): Likewise.
9025 (grub_menu_set_timeout): Likewise.
9026 (grub_menu_execute_entry): Likewise.
9027 (grub_menu_execute_with_fallback): Likewise.
9028 (grub_menu_entry_run): Likewise.
9029
9030 * include/grub/normal.h: Re-ordered and grouped function
9031 prototypes by file that the function is defined in.
9032 (grub_menu_execute_callback): Removed; moved to menu.h.
9033 (grub_menu_get_entry): Likewise.
9034 (grub_menu_get_timeout): Likewise.
9035 (grub_menu_set_timeout): Likewise.
9036 (grub_menu_execute_entry): Likewise.
9037 (grub_menu_execute_with_fallback): Likewise.
9038 (grub_menu_entry_run): Likewise.
9039 (grub_menu_addentry): Renamed from this ...
9040 (grub_normal_add_menu_entry): ... to this.
9041
9042 * normal/main.c (grub_menu_addentry): Renamed from this ...
9043 (grub_normal_add_menu_entry): ... to this.
9044
9045 * script/sh/execute.c (grub_script_execute_menuentry): Update
9046 reference to renamed grub_menu_addentry function.
9047
861f03a5 90482009-05-23 Felix Zielcke <fzielcke@z-51.de>
9049
9050 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
9051
96b1619a 90522009-05-22 Pavel Roskin <proski@gnu.org>
9053
bf6a5fb2 9054 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
9055 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
9056 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
9057 compiling for the i386 targets, but not for the utilities.
9058
96b1619a 9059 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
9060 to grub_uint8_t.
9061 (grub_root_drive): Likewise.
9062 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
9063 remove alignment.
9064 (grub_root_drive): Change size to byte.
9065 (grub_start_addr): Remove.
9066 (grub_end_addr): Likewise.
9067 (grub_apm_bios_info): Likewise.
9068
b729776b 90692009-05-21 Felix Zielcke <fzielcke@z-51.de>
9070
9071 * normal/i386: Remove.
9072 * normal/powerpc: Likewise.
9073 * normal/sparc64: Likewise.
9074 * normal/x86_64: Likewise.
9075
0a15ce80 90762009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
9077
9078 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 9079 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 9080 * loader/i386/xnu_helper.S: Likewise
d6da58e6 9081
33db9015 90822009-05-18 Colin D Bennett <colin@gibibit.com>
9083
d6da58e6 9084 Display error messages when parsing a Lua statement fails.
9085 Previously, executing a syntactically invalid statement like
9086 ")foo" or "bar;" would silently fail.
33db9015 9087
9088 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 9089 (grub_lua_parse_line): Improved reporting of Lua parser and
9090 execution errors.
33db9015 9091
46422c89 90922009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9093
9094 Remove -Werror which causes build to fail on some systems
9095
9096 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
9097 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
9098 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 9099
22f53a96 91002009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9101
9102 trampoline for linux on 64-bit platform
9103
18f547ad 9104 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
9105 loader/i386/efi/linux_trampoline.S
9106 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 9107 declaration
d6da58e6 9108 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
9109 here
22f53a96 9110 * loader/i386/linux_trampoline.S: moved here
d6da58e6 9111 * loader/i386/efi/linux.c (allocate_pages): reserve space for
9112 trampoline
22f53a96 9113 (jumpvector): removed
9114 (grub_linux_trampoline_start): new declaration
9115 (grub_linux_trampoline_end): likewise
9116 (grub_linux_boot): use trampoline when on 64-bit platform
9117 * loader/i386/linux.c: likewise
9118
cb5a0f40 91192009-05-16 Pavel Roskin <proski@gnu.org>
9120
9121 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
9122 const to avoid a warning.
9123 (grub_lua_setenv): Likewise.
9124 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
9125 lmsg to fix a warning.
9126
334f2c28 91272009-05-16 Felix Zielcke <fzielcke@z-51.de>
9128
9129 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 9130 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
9131 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
9132 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
9133 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
9134 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
9135 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
9136 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 9137
59e5d3ec 91382009-05-16 Felix Zielcke <fzielcke@z-51.de>
9139
9140 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
9141
9d87a1ba 91422009-05-16 Bean <bean123ch@gmail.com>
9143
9144 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
9145 (lua_mod_SOURCES): New variable.
9146 (lua_mod_CFLAGS): Likewise.
9147 (lua_mod_LDFLAGS): Likewise.
9148
9149 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
9150 (setjmp_mod_SOURCES): New variable.
9151 (setjmp_mod_CFLAGS): Likewise.
9152 (setjmp_LDFLAGS): Likewise.
9153
9154 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
9155 (setjmp_mod_SOURCES): New variable.
9156 (setjmp_mod_CFLAGS): Likewise.
9157 (setjmp_LDFLAGS): Likewise.
9158
9159 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
9160 (setjmp_mod_SOURCES): New variable.
9161 (setjmp_mod_CFLAGS): Likewise.
9162 (setjmp_LDFLAGS): Likewise.
9163
9164 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
9165 (setjmp_mod_SOURCES): New variable.
9166 (setjmp_mod_CFLAGS): Likewise.
9167 (setjmp_LDFLAGS): Likewise.
9168
9169 * normal/i386/setjmp.S: Moved from here ...
9170 * lib/i386/setjmp.S: ... Moved here
9171 * normal/x86_64/setjmp.S: Moved from here ...
9172 * lib/x86_64/setjmp.S: ... Moved here
9173 * normal/powerpc/setjmp.S: Moved from here ...
9174 * lib/powerpc/setjmp.S: ... Moved here
9175 * normal/sparc64/setjmp.S: Moved from here ...
9176 * lib/sparc64/setjmp.S: ... Moved here
9177
9178 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
9179 returns_twice in mingw.
9180
9181 * script/lua/grub_lib.c: New file.
9182 * script/lua/grub_lib.h: Likewise.
9183 * script/lua/grub_lua.h: Likewise.
9184 * script/lua/grub_main.c: Likewise.
9185 * script/lua/lapi.c: Likewise.
9186 * script/lua/lapi.h: Likewise.
9187 * script/lua/lauxlib.c: Likewise.
9188 * script/lua/lauxlib.h: Likewise.
9189 * script/lua/lbaselib.c: Likewise.
9190 * script/lua/lcode.c: Likewise.
9191 * script/lua/lcode.h: Likewise.
9192 * script/lua/ldblib.c: Likewise.
9193 * script/lua/ldebug.c: Likewise.
9194 * script/lua/ldebug.h: Likewise.
9195 * script/lua/ldo.c: Likewise.
9196 * script/lua/ldo.h: Likewise.
9197 * script/lua/ldump.c: Likewise.
9198 * script/lua/lfunc.c: Likewise.
9199 * script/lua/lfunc.h: Likewise.
9200 * script/lua/lgc.c: Likewise.
9201 * script/lua/lgc.h: Likewise.
9202 * script/lua/linit.c: Likewise.
9203 * script/lua/liolib.c: Likewise.
9204 * script/lua/llex.c: Likewise.
9205 * script/lua/llex.h: Likewise.
9206 * script/lua/llimits.h: Likewise.
9207 * script/lua/lmathlib.c: Likewise.
9208 * script/lua/lmem.c: Likewise.
9209 * script/lua/lmem.h: Likewise.
9210 * script/lua/loadlib.c: Likewise.
9211 * script/lua/lobject.c: Likewise.
9212 * script/lua/lobject.h: Likewise.
9213 * script/lua/lopcodes.c: Likewise.
9214 * script/lua/lopcodes.h: Likewise.
9215 * script/lua/loslib.c: Likewise.
9216 * script/lua/lparser.c: Likewise.
9217 * script/lua/lparser.h: Likewise.
9218 * script/lua/lstate.c: Likewise.
9219 * script/lua/lstate.h: Likewise.
9220 * script/lua/lstring.c: Likewise.
9221 * script/lua/lstring.h: Likewise.
9222 * script/lua/lstrlib.c: Likewise.
9223 * script/lua/ltable.c: Likewise.
9224 * script/lua/ltable.h: Likewise.
9225 * script/lua/ltablib.c: Likewise.
9226 * script/lua/ltm.c: Likewise.
9227 * script/lua/ltm.h: Likewise.
9228 * script/lua/lua.h: Likewise.
9229 * script/lua/luaconf.h: Likewise.
9230 * script/lua/lualib.h: Likewise.
9231 * script/lua/lundump.c: Likewise.
9232 * script/lua/lundump.h: Likewise.
9233 * script/lua/lvm.c: Likewise.
9234 * script/lua/lvm.h: Likewise.
9235 * script/lua/lzio.c: Likewise.
9236 * script/lua/lzio.h: Likewise.
9237
5e898c9d 92382009-05-16 Bean <bean123ch@gmail.com>
9239
9240 * include/grub/kernel.h (grub_module_header_types): Add type
9241 OBJ_TYPE_CONFIG.
9242
9243 * kern/main.c (grub_load_config): New function.
9244 (grub_main): Call grub_load_config to read boot config.
9245
9246 * grub-mkimage (generate_image): New parameter config_path.
9247 (options): New option --config.
9248 (main): Parse --config option, and pass it to generate_image.
9249
cf353a47 92502009-05-14 Christian Franke <franke@computer.org>
9251
9252 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
9253 This fixes build on Cygwin.
9254
3834887f 92552009-05-14 Pavel Roskin <proski@gnu.org>
9256
9257 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
9258 jump. This saves two bytes, so the typical case of 2 swapped
9259 drives would fit 32 bytes.
9260
8090fc01 92612009-05-13 Pavel Roskin <proski@gnu.org>
9262
ac963883 9263 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
9264 grub_uint32_t to avoid a warning.
9265
8090fc01 9266 * loader/i386/linux.c (allocate_pages): When assigning
9267 real_mode_mem, cast through grub_size_t to fix a warning. The
9268 code already makes sure that the value would fit a pointer.
9269 (grub_linux_setup_video): Cast render_target->data to
9270 grub_size_t to fix a warning.
9271
18f547ad 92722009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 9273
9274 * commands/i386/pc/drivemap.c: New file - implement drivemap
9275 command.
9276 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
9277 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
9278
6f6a8b28 92792009-05-13 Pavel Roskin <proski@gnu.org>
9280
9281 * util/i386/pc/grub-setup.c (setup): Remove unused variable
9282 embedding_area_exists.
9283
15fbf4c4 92842009-05-13 Robert Millan <rmh.grub@aybabtu.com>
9285
9286 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
9287 it easier to understand / work with.
59978c8a 9288 Improve warning messages for cases where there's no embedding area,
9289 or when it is too small (or core.img too large).
15fbf4c4 9290
238e871f 92912009-05-13 Pavel Roskin <proski@gnu.org>
9292
0ab3a9a4 9293 * loader/i386/pc/multiboot2.c: Add necessary includes for
9294 grub_multiboot2_real_boot().
9295
a2c8c5f8 9296 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
9297 PX record is always little-endian. We only need the lower 2
9298 bytes of the mode.
9299
faec96af 9300 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
9301 facilitate code reuse.
9302 (grub_cpio_mount): Use "struct head", not a char buffer. This
9303 fixes a warning reported by gcc 4.4.
9304
238e871f 9305 * kernel/disk.c (grub_disk_read): Use void pointer for the
9306 buffer.
9307 (grub_disk_write): Use const void pointer for the buffer.
9308 Adjust all callers. Remove unnecessary casts.
9309
901d2f0c 93102009-05-10 Robert Millan <rmh.grub@aybabtu.com>
9311
9312 * util/i386/pc/grub-install.in: Update copyright year.
9313
18f547ad 93142009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 9315
9316 gptsync
9317
9318 * commands/gptsync.c: new file
9319 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
9320 (gptsync_mod_SOURCES): new variable
9321 (gptsync_mod_CFLAGS): likewise
9322 (gptsync_mod_LDFLAGS): likewise
18f547ad 9323 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 9324 new definition
9325 (GRUB_PC_PARTITION_TYPE_HFS): likewise
9326 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
9327 * conf/i386-ieee1275.rmk: likewise
9328 * conf/i386-pc.rmk: likewise
9329 * conf/powerpc-ieee1275.rmk: likewise
9330
b4ba690a 93312009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9332
9333 Fixed grub-emu
9334
9335 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
9336 (grub_dl_ref): likewise
9337
317e1a44 93382009-05-08 Robert Millan <rmh.grub@aybabtu.com>
9339
9340 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
9341 split in two functions (one for msdos and one for gpt).
9342
041b8094 93432009-05-08 Pavel Roskin <proski@gnu.org>
9344
752473c2 9345 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
9346 not modified.
9347
041b8094 9348 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
9349 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
9350 Initialize them with -1. Add sanity check for bad1. Eliminate
9351 nerr variable.
9352
172800ce 93532009-05-08 David S. Miller <davem@davemloft.net>
9354
9355 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
9356
29aa5e81 93572009-05-06 Robert Millan <rmh.grub@aybabtu.com>
9358
9359 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 9360 existence.
29aa5e81 9361
96613b62 93622009-05-05 Felix Zielcke <fzielcke@z-51.de>
9363
9364 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 9365 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 9366
eef73c8a 93672009-05-05 David S. Miller <davem@davemloft.net>
9368
9369 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
9370
119494b5 93712009-05-05 Pavel Roskin <proski@gnu.org>
9372
9373 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
9374 of grub_dl_ref() and grub_dl_unref().
9375 * commands/parttool.c: Remove preprocessor conditionals around
9376 grub_dl_ref() and grub_dl_unref().
9377 * fs/affs.c: Likewise.
9378 * fs/afs.c: Likewise.
9379 * fs/cpio.c: Likewise.
9380 * fs/ext2.c: Likewise.
9381 * fs/fat.c: Likewise.
9382 * fs/hfs.c: Likewise.
9383 * fs/hfsplus.c: Likewise.
9384 * fs/iso9660.c: Likewise.
9385 * fs/jfs.c: Likewise.
9386 * fs/minix.c: Likewise.
9387 * fs/ntfs.c: Likewise.
9388 * fs/reiserfs.c: Likewise.
9389 * fs/sfs.c: Likewise.
9390 * fs/udf.c: Likewise.
9391 * fs/ufs.c: Likewise.
9392 * fs/xfs.c: Likewise.
9393 * include/grub/dl.h: Likewise.
9394 * loader/xnu.c: Likewise.
9395
de5fd76e 93962009-05-04 Pavel Roskin <proski@gnu.org>
9397
9398 * commands/acpi.c: Remove unused variable my_mod.
9399 * partmap/amiga.c: Likewise.
9400 * partmap/apple.c: Likewise.
9401 * partmap/gpt.c: Likewise.
9402 * partmap/pc.c: Likewise.
9403 * partmap/sun.c: Likewise.
9404 * term/gfxterm.c: Likewise.
9405 * term/i386/pc/vesafb.c: Likewise.
9406 * term/i386/pc/vga.c: Likewise.
9407
983598ad 94082009-05-04 David S. Miller <davem@davemloft.net>
9409
9410 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
9411 pointer args to grub_ieee1275_get_property().
9412
8aadec43 9413 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
9414
9554b15e 9415 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
9416 devices, and do not traverse down under controller nodes.
9417
67e23c90 9418 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
9419 (grub_ofdisk_open): Use it to un-escape "," characters.
9420 * kern/disk.c (find_part_sep): New.
9421 (grub_disk_open): Use it to find the first non-escaped ','
9422 character in the disk name.
9423 * util/ieee1275/devicemap.c (escape_of_path): New.
9424 (grub_util_emit_devicemap_entry): Use it.
9425 * util/sparc64/ieee1275/grub-install.in: Update script to
9426 strip partition specifiers properly by not triggering on
9427 '\' escaped ',' characters.
9428
74bfdd2f 94292009-05-04 Robert Millan <rmh.grub@aybabtu.com>
9430
9431 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
9432 to 0x300.
9433 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
9434 resolutions.
9435 (linux_vesafb_modes): Add a lot of additional modes to the list (based
9436 on documentation from Wikipedia).
9437
4241d2b1 94382009-05-04 Pavel Roskin <proski@gnu.org>
9439
9440 * disk/ata.c: Spelling fixes.
9441 * disk/raid.c: Likewise.
9442 * disk/usbms.c: Likewise.
9443 * disk/dmraid_nvidia.c: Likewise.
9444 * kern/ieee1275/openfw.c: Likewise.
9445 * kern/ieee1275/init.c: Likewise.
9446 * kern/ieee1275/cmain.c: Likewise.
9447 * boot/i386/pc/cdboot.S: Likewise.
9448 * video/readers/png.c: Likewise.
9449 * video/i386/pc/vbe.c: Likewise.
9450 * fs/udf.c: Likewise.
9451 * fs/hfs.c: Likewise.
9452 * fs/reiserfs.c: Likewise.
9453 * efiemu/runtime/efiemu.c: Likewise.
9454 * efiemu/main.c: Likewise.
9455 * efiemu/mm.c: Likewise.
9456 * include/grub/elf.h: Likewise.
9457 * include/grub/xnu.h: Likewise.
9458 * include/grub/usbdesc.h: Likewise.
9459 * include/grub/usb.h: Likewise.
9460 * include/grub/script_sh.h: Likewise.
9461 * include/grub/lib/LzmaEnc.h: Likewise.
9462 * include/grub/efiemu/efiemu.h: Likewise.
9463 * include/grub/command.h: Likewise.
9464 * normal/menu.c: Likewise.
9465 * normal/main.c: Likewise.
9466 * normal/datetime.c: Likewise.
9467 * bus/usb/uhci.c: Likewise.
9468 * mmap/i386/uppermem.c: Likewise.
9469 * mmap/mmap.c: Likewise.
9470 * commands/acpi.c: Likewise.
9471 * commands/test.c: Likewise.
9472 * partmap/apple.c: Likewise.
9473 * font/font.c: Likewise.
9474 * loader/sparc64/ieee1275/linux.c: Likewise.
9475 * loader/macho.c: Likewise.
9476 * loader/i386/bsd_trampoline.S: Likewise.
9477 * loader/i386/bsd.c: Likewise.
9478 * loader/xnu.c: Likewise.
9479 * term/i386/pc/vesafb.c: Likewise.
9480 * term/usb_keyboard.c: Likewise.
9481 * util/resolve.c: Likewise.
9482 * util/getroot.c: Likewise.
9483
0cfc0083 94842009-05-04 Felix Zielcke <fzielcke@z-51.de>
9485
9486 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
9487
7c1d00cd 94882009-05-04 Robert Millan <rmh.grub@aybabtu.com>
9489
9490 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
9491 build error.
9492
b01f0548 94932009-05-04 Robert Millan <rmh.grub@aybabtu.com>
9494
9495 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
9496 parameter only available on BIOS.
9497
ecc3eb22 94982009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9499
9500 Removed wrong semicolon in declaration
9501
9502 * grub/misc.h (grub_dprintf): remove semicolon
9503
112972a9 95042009-05-04 Robert Millan <rmh.grub@aybabtu.com>
9505
9506 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
9507 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
9508 is done by grub_cmd_linux() now).
9509 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
9510 restore video to text mode.
9511 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
9512 indicates lack of "vga=" parameter. "vga=0" is mapped to
9513 `GRUB_LINUX_VID_MODE_NORMAL'.
9514
afd5c115 95152009-05-04 Felix Zielcke <fzielcke@z-51.de>
9516
9517 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
9518 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
9519 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 9520 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 9521 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
9522 `grub_script.tab.c'.
9523
9524 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9525 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9526 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9527 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
9528 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9529
faa517ce 9530 * Makefile.in: Remove duplicated 2008 in Copyright line.
9531
ae0c0bdc 95322009-05-04 Robert Millan <rmh.grub@aybabtu.com>
9533
473d1e45 9534 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 9535 unconditionally.
9536 * include/grub/util/misc.h (grub_util_warn): New declaration.
9537
9538 * util/i386/pc/grub-install.in: Understand --force and pass it down
9539 to grub-setup.
9540
9541 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
9542 down to setup().
9543 (setup): Improve error messages and add warnings when requested to
9544 install in odd layouts. Refuse to install using blocklists unless
9545 --force was set.
9546
18f547ad 95472009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 9548
9549 * disk/raid.c (grub_raid_scan_device): Improve debug message.
9550
6d260daa 95512009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9552
9553 Updated copyright year
9554
9555 * fs/hfsplus.c: updated copyright year
18f547ad 9556
69f853f8 95572009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9558
9559 HFS+ UUID
9560
18f547ad 9561 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 9562 in the space previously used by unused3
9563 (grub_hfsplus_uuid): new function
9564 (grub_hfsplus_fs): added uuid field
9565
4c402e73 95662009-05-03 Pavel Roskin <proski@gnu.org>
9567
9568 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
9569 suppress warnings. It's no longer needed.
9570 * disk/host.c: Likewise.
9571 * disk/ata_pthru.c: Likewise.
9572 * disk/loopback.c: Likewise.
9573 * hook/datehook.c: Likewise.
9574 * parttool/pcpart.c: Likewise.
9575 * fs/i386/pc/pxe.c: Likewise.
9576 * fs/ntfscomp.c: Likewise.
9577 * efiemu/main.c: Likewise.
9578 * mmap/mmap.c: Likewise.
9579 * commands/crc.c: Likewise.
9580 * commands/hexdump.c: Likewise.
9581 * commands/hdparm.c: Likewise.
9582 * commands/acpi.c: Likewise.
9583 * commands/echo.c: Likewise.
9584 * commands/minicmd.c: Likewise.
9585 * commands/blocklist.c: Likewise.
9586 * commands/memrw.c: Likewise.
9587 * commands/loadenv.c: Likewise.
9588 * commands/usbtest.c: Likewise.
9589 * commands/lsmmap.c: Likewise.
9590 * commands/boot.c: Likewise.
9591 * commands/parttool.c: Likewise.
9592 * commands/configfile.c: Likewise.
9593 * commands/search.c: Likewise.
9594 * commands/ieee1275/suspend.c: Likewise.
9595 * commands/cat.c: Likewise.
9596 * commands/i386/pc/pxecmd.c: Likewise.
9597 * commands/i386/pc/play.c: Likewise.
9598 * commands/i386/pc/halt.c: Likewise.
9599 * commands/i386/pc/vbeinfo.c: Likewise.
9600 * commands/i386/pc/vbetest.c: Likewise.
9601 * commands/lspci.c: Likewise.
9602 * commands/date.c: Likewise.
9603 * commands/handler.c: Likewise.
9604 * commands/ls.c: Likewise.
9605 * commands/test.c: Likewise.
9606 * commands/cmp.c: Likewise.
9607 * commands/efi/loadbios.c: Likewise.
9608 * commands/efi/fixvideo.c: Likewise.
9609 * commands/halt.c: Likewise.
9610 * commands/help.c: Likewise.
9611 * commands/reboot.c: Likewise.
9612 * hello/hello.c: Likewise.
9613 * script/sh/main.c: Likewise.
9614 * loader/xnu.c: Likewise.
9615 * term/terminfo.c: Likewise.
9616 * term/i386/pc/serial.c: Likewise.
9617 * term/usb_keyboard.c: Likewise.
9618
515b5079 96192009-05-03 David S. Miller <davem@davemloft.net>
9620
9621 * normal/menu.c: Include grub/parser.h
9622
dfc31a22 96232009-05-03 Pavel Roskin <proski@gnu.org>
9624
2fee74f1 9625 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
9626 not char*.
9627 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
9628 Suggested by Javier Martín <lordhabbit@gmail.com>
9629
dfc31a22 9630 * util/i386/pc/grub-mkrescue.in: Allow for the case when
9631 efiemu??.o doesn't exist.
9632 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
9633 copying.
9634
18f547ad 96352009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 9636
9637 FreeBSD 64-bit support
9638
18f547ad 9639 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 9640 and loader/i386/bsd_trampoline.S
9641 (bsd_mod_ASFLAGS): new variable
9642 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
9643 (FREEBSD_MODTYPE_KERNEL64): likewise
9644 (grub_bsd64_trampoline_start): likewise
9645 (grub_bsd64_trampoline_end): likewise
9646 (grub_bsd64_trampoline_selfjump): likewise
9647 (grub_bsd64_trampoline_gdt): likewise
9648 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
9649 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
9650 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
9651 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 9652 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 9653 of "attrib" member
9654 * loader/i386/bsd_pagetable.c: new file
9655 * loader/i386/bsd_trampoline.S: likewise
9656 * loader/i386/bsd.c (ALIGN_QWORD): new macro
9657 (ALIGN_VAR): likewise
9658 (entry_hi): new variable
9659 (kern_end_mdofs): likewise
9660 (is_64bit): likewise
9661 (grub_freebsd_add_meta): use ALIGN_VAR
9662 (grub_e820_mmap): new declaration
9663 (grub_freebsd_add_mmap): new function
9664 (grub_freebsd_add_meta_module): support 64 bit kernels
9665 (grub_freebsd_list_modules): use ALIGN_VAR
9666 (gdt_descriptor): new declaration
9667 (grub_freebsd_boot): support 64 bit kernels
9668 (grub_bsd_elf64_hook): new function
9669 (grub_bsd_load_elf): support elf64
9670
038c5720 96712009-05-03 Bean <bean123ch@gmail.com>
9672
9673 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
9674 after we get the result of if statement.
9675
fc45fb58 96762009-05-03 Bean <bean123ch@gmail.com>
9677
9678 * Makefile.in (enable_efiemu): New variable.
9679
9680 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
9681 set.
9682 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
9683 path.
9684 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
9685 path, add -mno-red-zone option.
9686 (efiemu64_s.o): Likewise.
9687 (efiemu64.o): Use macro $^ for source file.
9688
9689 * configure.ac (--enable-efiemu): New option.
9690
bbee0f2b 96912009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9692
9693 xnu support
9694
9695 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
9696 (pkglib_MODULES): add xnu.mod
9697 (xnu_mod_SOURCES): new variable
9698 (xnu_mod_CFLAGS): likewise
9699 (xnu_mod_LDFLAGS): likewise
9700 (xnu_mod_ASFLAGS): likewise
9701 * conf/i386-pc.rmk: likewise
9702 * conf/x86_64-efi.rmk: likewise
7dd4a573 9703 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 9704 new declaration
9705 * include/grub/i386/macho.h: new file
9706 * include/grub/i386/xnu.h: likewise
9707 * include/grub/macho.h: likewise
9708 * include/grub/machoload.h: likewise
9709 * include/grub/x86_64/macho.h: likewise
9710 * include/grub/x86_64/xnu.h: likewise
9711 * include/grub/xnu.h: likewise
9712 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
9713 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
9714 * loader/i386/efi/xnu.c: new file
9715 * loader/i386/pc/xnu.c: likewise
9716 * loader/i386/xnu.c: likewise
9717 * loader/i386/xnu_helper.S: likewise
9718 * loader/macho.c: likewise
9719 * loader/xnu.c: likewise
9720 * loader/xnu_resume.c: likewise
9721 * util/grub-dumpdevtree: likewise
9722 * include/grub/i386/pit.h: include grub/err.h
9723 (grub_pit_wait): export
9724 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 9725
5caf964d 97262009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9727
9728 Efiemu
7dd4a573 9729
5caf964d 9730 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 9731 _linux_efi, linux_efi.
9732 new files in grub-emu
5caf964d 9733 new targets efiemu32.o and efiemu64.o
9734 * loader/linux_normal_efiemu.c: likewise
9735 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 9736 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 9737 files to copy
9738 * include/grub/autoefi.h: new file
7dd4a573 9739 * include/grub/i386/efiemu.h: likewise
5caf964d 9740 * include/grub/i386/pc/efiemu.h: likewise
9741 * include/grub/efi/api.h: add LL suffix when necessary
9742 new definitions relating to tables
9743 * include/grub/efiemu/efiemu.h: new file
9744 * include/grub/efiemu/runtime.h: likewise
9745 * efiemu/prepare.c: likewise
9746 * efiemu/loadcore_common.c: likewise
9747 * efiemu/loadcore64.c: likewise
9748 * efiemu/runtime/efiemu.sh: likewise
9749 * efiemu/runtime/efiemu.S: likewise
9750 * efiemu/runtime/efiemu.c: likewise
9751 * efiemu/runtime/config.h: likewise
9752 * efiemu/prepare32.c: likewise
9753 * efiemu/main.c: likewise
9754 * efiemu/modules/pnvram.c: likewise
9755 * efiemu/modules/i386: likewise
9756 * efiemu/modules/i386/pc: likewise
9757 * efiemu/modules/acpi.c: likewise
9758 * efiemu/i386/pc/cfgtables.c: likewise
9759 * efiemu/i386/loadcore64.c: likewise
9760 * efiemu/i386/loadcore32.c: likewise
9761 * efiemu/prepare64.c: likewise
9762 * efiemu/loadcore.c: likewise
9763 * efiemu/symbols.c: likewise
9764 * efiemu/mm.c: likewise
9765 * efiemu/loadcore32.c: likewise
7dd4a573 9766
97672009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 9768
9769 ACPI spoofing
9770
9771 * commands/acpi.c: new file
9772 * commands/i386/pc/acpi.c: likewise
9773 * commands/efi/acpi.c: likewise
9774 * include/grub/acpi.h: likewise
9775 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
9776 (acpi_mod_SOURCES): new variable
9777 (acpi_mod_CFLAGS): likewise
9778 (acpi_mod_LDFLAGS): likewise
9779 * conf/i386-efi.rmk: likewise
9780 * conf/x86_64-efi.rmk: likewise
9781
7dd4a573 97822009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 9783
9784 Missing part from mmap patch
9785
9786 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
9787 (grub_mmap_unregister)
9788 (grub_mmap_free_and_unregister): use grub_mmap_register
9789
7dd4a573 97902009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 9791
9792 Mmap services
9793
9794 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
9795 * loader/i386/linux.c (find_mmap_size): likewise
9796 (allocate_pages): likewise
9797 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
9798 (grub_fill_multiboot_mmap): likewise
9799 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
9800 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
9801 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
9802 (OPENBSD_MMAP_RESERVED): likewise
9803 * include/grub/i386/pc/memory.h: include grub/memory.h
9804 (grub_lower_mem): removed
9805 (grub_upper_mem): likewise
9806 (GRUB_MACHINE_MEMORY_ACPI): new definition
9807 (GRUB_MACHINE_MEMORY_NVS): likewise
9808 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
9809 (GRUB_MACHINE_MEMORY_HOLE): likewise
9810 (grub_machine_mmap_register): likewise
9811 (grub_machine_mmap_unregister): likewise
9812 (grub_machine_get_upper): likewise
9813 (grub_machine_get_lower): likewise
9814 (grub_machine_get_post64): likewise
9815 * include/grub/i386/efi/memory.h: new file
9816 * include/grub/x86_64/efi/memory.h: likewise
9817 * include/grub/efi/memory.h: likewise
9818 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
9819 (mmap_mod_SOURCES): new variable
9820 (mmap_mod_LDFLAGS): likewise
9821 (mmap_mod_ASFLAGS): likewise
9822 * conf/i386-coreboot.rmk: likewise
9823 * conf/i386-ieee1275.rmk: likewise
9824 * conf/i386-efi.rmk: likewise
9825 * conf/x86_64-efi.rmk: likewise
9826 * include/grub/types.h (UINT_TO_PTR): new macro
9827 (PTR_TO_UINT32): likewise
9828 (PTR_TO_UINT64): likewise
9829 * include/grub/memory.h: new file
9830 * mmap/i386/pc/mmap.c: likewise
9831 * mmap/i386/pc/mmap_helper.S: likewise
9832 * mmap/i386/uppermem.c: likewise
9833 * mmap/mmap.c: likewise
9834 * mmap/efi/mmap.c: likewise
7dd4a573 9835 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 9836 grub_upper_mem
9837 * kern/i386/pc/init.c (grub_lower_mem): removed variable
9838 (grub_upper_mem): likewise
9839 (grub_machine_init): don't use grub_upper_mem,
9840 make grub_lower_mem local
9841 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
9842 grub_mmap_iterate and grub_mmap_get_upper
9843 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
9844
d558e6b5 98452009-05-02 Bean <bean123ch@gmail.com>
9846
9847 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
9848 script/sh/parser.y.
9849 (pkglib_MODULES): Add normal.mod and sh.mod.
9850 (normal_SOURCES): New variable.
9851 (normal_mod_CFLAGS): Likewise.
9852 (normal_mod_LDFLAGS): Likewise.
9853 (sh_mod_SOURCES): Likewise.
9854 (sh_mod_CFLAGS): Likewise.
9855 (sh_mod_LDFLAGS): Likewise.
9856
9857 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
9858 script/sh/lexer.c_DEPENDENCIES.
9859 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
9860 kern/rescue_reader.c and kern/rescue_parser.c.
9861 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
9862 (grub_emu_SOURCES): Change source files.
9863 (pkglib_MODULES): Remove normal.mod.
9864 (normal_SOURCES): Removed.
9865 (normal_mod_CFLAGS): Likewise.
9866 (normal_mod_LDFLAGS): Likewise.
9867 * conf/i386-coreboot.rmk: Likewise.
9868 * conf/i386-efi.rmk: Likewise.
9869 * conf/i386-ieee1276.rmk: Likewise.
9870 * conf/powerpc-ieee1275.rmk: Likewise.
9871 * conf/sparc64-ieee1275.rmk: Likewise.
9872 * conf/x86_64-efi.rmk: Likewise.
9873
9874 * include/grub/command.h (grub_command_execute): New inline function.
9875
9876 * include/grub/menu.h (grub_menu_entry): Removed commands field.
9877
9878 * include/grub/normal.h: Remove <grub/setjmp.h>.
9879 (grub_fs_module_list): Moved to normal/autofs.c.
9880 (grub_exit_env): Removed.
9881 (grub_command_execute): Likewise.
9882 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
9883 parameter script.
9884 (read_command_list): New function declaration.
9885 (read_fs_list): Likewise.
9886
9887 * include/parser.h: Include <grub/reader.h>.
9888 (grub_parser_split_cmdline): Change type of getline parameter.
9889 (grub_parser): New structure.
9890 (grub_parser_class): New variable.
9891 (grub_parser_execute): New function declaration.
9892 (grub_register_rescue_parser): Likewise.
9893 (grub_parser_register): New inline function.
9894 (grub_parser_unregister): Likewise.
9895 (grub_parser_get_current): Likewise.
9896 (grub_parser_set_current): Likewise.
9897
9898 * include/grub/reader.h: New file.
9899 * kern/reader.c: Likewise.
9900 * kern/rescue_parser.c: Likewise.
9901 * kern/rescue_reader.c: Likewise.
9902 * normal/autofs.c: Likewise.
9903 * normal/dyncmd.c: Likewise.
9904
9905 * include/grub/rescue.h: Removed.
9906 * normal/command.h: Likewise.
9907
9908 * include/grub/script.h: Moved to ...
9909 * include/grub/script_sh.h: ... Moved here.
9910 * normal/execute.c: Moved to ...
9911 * script/sh/execute.c: ... Moved here.
9912 * normal/function.c: Moved to ...
9913 * script/sh/function.c: ... Moved here.
9914 * normal/lexer.c: Moved to ...
9915 * script/sh/lexer.c: ... Moved here.
9916 * normal/parser.y: Moved to ...
9917 * script/sh/parser.y: ... Moved here.
9918 * normal/script.c: Moved to ...
9919 * script/sh/script.c: ... Moved here.
9920
9921 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
9922 <grub/reader.h>.
9923 (grub_exit_env): Removed.
9924 (fs_module_list): Moved to normal/autofs.c.
9925 (grub_file_getline): Don't handle comment here.
9926 (free_menu): Skip removed field entry->commands.
9927 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
9928 script parameter.
9929 (read_config_file): Removed nested parameter, change getline function.
9930 (grub_enter_normal_mode): Removed.
9931 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
9932 (read_command_list): Likewise.
9933 (autoload_fs_module): Moved to normal/autofs.c.
9934 (read_fs_list): Likewise.
9935 (reader_nested): New variable.
9936 (grub_normal_execute): Run parser.sh to switch to sh parser.
9937 (grub_cmd_rescue): Removed.
9938 (cmd_normal): Removed.
9939 (grub_cmd_normal): Unregister itself at the beginning. Don't register
9940 rescue command.
9941 (grub_cmdline_run): New function.
9942 (grub_normal_reader_init): Likewise.
9943 (grub_normal_read_line): Likewise.
9944 (grub_env_write_pager): Likewise.
9945 (cmdline): New variable.
9946 (grub_normal_reader): Likewise.
9947 (GRUB_MOD_INIT): Register normal reader and set as current, register
9948 pager hook, register normal command with grub_register_command_prio,
9949 so that it won't show up in command.lst.
9950 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
9951 grub_fs_autoload_hook.
9952
9953 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
9954 (grub_menu_execute_entry): Replace grub_script_execute with
9955 grub_parser_execute, change parameter to grub_command_execute.
9956
9957 * normal/menu_text.c: Remove <grub/script.h>.
9958
9959 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
9960 and <grub/parser.h>.
9961 (run): Change editor_getline to use new parser interface. Change
9962 parameter to grub_command_execute.
9963
9964 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
9965 <grub/reader.h> and <grub/parser.h>.
9966 (grub_load_normal_mode): Execute normal command.
9967 (grub_main): Call grub_register_core_commands,
9968 grub_register_rescue_parser and grub_register_rescue_reader, use
9969 grub_reader_loop to enter input loop.
9970
7dd4a573 9971 * kern/parser.c (grub_parser_split_cmdline): Change type of
9972 getline parameter.
d558e6b5 9973 (grub_parser_class): New variable.
9974 (grub_parser_execute): New function.
9975
9976 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
9977 * loader/multiboot2.c: Likewise.
9978 * loader/sparc64/ieee1275/linux.c: Likewise.
9979
9980 * util/grub-emu.c (read_command_list): New dummy function.
9981
18db813d 99822009-05-02 Robert Millan <rmh.grub@aybabtu.com>
9983
9984 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
9985 count to 16 for CCISS and IDA.
9986
6c67de15 99872009-05-02 Robert Millan <rmh.grub@aybabtu.com>
9988
9989 * normal/menu_text.c (grub_wait_after_message): Print a newline
9990 after waiting for user input.
9991
9992 * loader/i386/linux.c: Include `<grub/normal.h>'.
9993 (grub_cmd_linux): Improve the error message about `ask' mode, by
9994 waiting for user input so it's not missed (we can do this, since
9995 user requested interaction).
9996
d9dc87b0 99972009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9998
9999 Added missing lst to grub-mkrescue
10000
10001 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
10002 and ${input_dir}/parttool.lst
10003
ac8a2baa 100042009-04-30 David S. Miller <davem@davemloft.net>
10005
ad22a610 10006 * util/hostdisk.c (device_is_wholedisk): New function.
10007 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
10008 zero only if device_is_wholedisk() returns true.
10009
6966215d 10010 * util/hostdisk.c (convert_system_partition_to_system_disk):
10011 Handle virtual disk devices named /dev/vdiskX as found on sparc
10012 and powerpc.
10013
ac8a2baa 10014 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
10015 lettered partition specifier is found, convert to numbered.
10016
979b4fb4 100172009-04-29 David S. Miller <davem@davemloft.net>
10018
e2bf39b2 10019 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
10020 * include/grub/sparc64/ieee1275/memory.h: Likewise.
10021
3c64e104 10022 * normal/command.c: Add missing newline at end of file.
10023
979b4fb4 10024 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
10025 warnings.
10026 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
10027 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
10028 grub_ofdisk_read): Likewise, and deal similarly with the fact that
10029 ihandles have a 32-bit type but need to be stored in a "void *".
10030
136d9f82 100312009-04-28 Pavel Roskin <proski@gnu.org>
10032
9459c306 10033 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
10034 not disk. Adjust all dependencies.
2e08a26a 10035 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 10036 grub_disk_close().
10037
136d9f82 10038 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
10039 parent's partition, don't copy it by reference, as it gets freed
10040 on close.
10041
7dd4a573 100422009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 10043
10044 Preboot hooks support
10045
10046 * commands/boot.c (struct grub_preboot_t): new declaration
10047 (preboots_head): new variable
10048 (preboots_tail): likewise
10049 (grub_loader_register_preboot_hook): new function
10050 (grub_loader_unregister_preboot_hook): likewise
10051 (grub_loader_set): launch preboot hooks
10052 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
10053 (grub_loader_register_preboot_hook): new declaration
10054 (grub_loader_unregister_preboot_hook): likewise
10055
5af922b5 100562009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
10057
10058 Warning fix
10059
7dd4a573 10060 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 10061 calling grub_dprintf
10062
a5562c30 100632009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10064
10065 Bug and warning fixes
10066
7dd4a573 10067 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 10068 declaration
10069 * commands/test.c (test_parse): fixed bug with file tests and corrected
10070 declaration of find_file
10071
4006f85c 100722009-04-26 Pavel Roskin <proski@gnu.org>
10073
10074 * Makefile.in: Don't install empty manual pages if help2man is
10075 missing. Use help2man option for output, not shell redirection.
10076
5c77c3de 100772009-04-26 David S. Miller <davem@davemloft.net>
10078
10079 * util/grub-mkdevicemap.c (make_device_map): Add missing
10080 NESTED_FUNC_ATTR to process_device().
10081
033b10a8 100822009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10083
10084 Test command
10085
10086 * commands/test.c: rewritten to use bash-like test
10087
e4343593 100882009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10089
10090 Parttool autoloading and improvements
10091
7dd4a573 10092 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 10093 (parttool.lst): new target
10094 * genmk.rb: generate parttool-*
10095 (CLEANFILES): add #{parttool}
10096 (PARTTOOLFILES): new variable
10097 * genparttoollist.sh: new file
7dd4a573 10098 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 10099 (grub_pcpart_type): likewise
10100 * commands/parttool.c (helpmsg): new variable
10101 (grub_cmd_parttool): output help if not enough arguments are supplied
10102 autoload modules
10103 (GRUB_MOD_INIT(parttool)): use helpmsg
10104
0d312500 101052009-04-24 David S. Miller <davem@davemloft.net>
10106
7dd4a573 10107 Avoiding opening same device multiple times in device iterator.
0d312500 10108
10109 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 10110 and use it to build a list of partitions in iterate_disk() and
0d312500 10111 iterate_partition().
10112
ac20caff 10113 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
10114 on disk->data.
10115
0dcf7495 10116 * disk/ieee1275/nand.c (grub_nand_iterate): Return
10117 grub_devalias_iterate() result instead of unconditional 0.
10118 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
10119 Also, capture hook return value, either directly or via
10120 grub_children_iterate(), and propagate to caller.
10121 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
10122 grub_children_iterate): Return value is now 'int' instead of
10123 'grub_err_t'.
10124 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
10125 like a proper iterator, stopping when hooks return non-zero.
10126 (grub_devalias_iterate): Likewise.
10127
c8c08833 101282009-04-23 David S. Miller <davem@davemloft.net>
10129
10130 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
10131
f01005a8 101322009-04-22 David S. Miller <davem@davemloft.net>
10133
10134 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
10135 is larger than address_cells, use that value for address_cells too.
10136
4e8269da 10137 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
10138 IEEE1275_MAX_PATH_LEN): Define.
10139 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
10140 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
10141 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
10142 'devtype'. Explicitly NULL terminate devalias expansion.
10143
a1447506 10144 * util/sparc64/ieee1275/misc.c: New file.
10145 * util/sparc64/ieee1275/grub-setup.c: New file.
10146 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
10147 * util/sparc64/ieee1275/grub-mkimage.c: New file.
10148 * util/sparc64/ieee1275/grub-install.in: New file.
10149 * util/ieee1275/ofpath.c: New file.
10150 * util/ieee1275/devicemap.c: New file.
10151 * util/devicemap.c: New file.
10152 * util/deviceiter.c: New file.
10153 * kern/sparc64/ieee1275/init.c: New file.
10154 * include/grub/util/ofpath.h: New file.
10155 * include/grub/util/deviceiter.h: New file.
10156 * util/grub-mkdevicemap.c: Include deviceiter.h.
10157 Implement using grub_util_emit_devicemap_entry and
10158 grub_util_iterate_devices.
10159 * conf/i386-corebook.rmk: Build util/deviceiter.c and
10160 util/devicemap.c into grub-mkdevicemap
10161 * conf/i386-efi.rmk: Likewise.
10162 * conf/i386-ieee1275.rmk: Likewise.
10163 * conf/i386-pc.rmk: Likewise.
10164 * conf/powerpc-ieee1275.rmk: Likewise.
10165 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
10166 images and installation utilities. Build kernel as image
10167 instead of as elf binary. Use common rules as much as possible.
10168
7dd4a573 101692009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 10170
10171 Correct GPT definition
10172
7dd4a573 10173 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 10174 of "attrib" member
10175
c6c5219f 101762009-04-19 Felix Zielcke <fzielcke@z-51.de>
10177
10178 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
10179
0552ff9f 101802009-04-19 David S. Miller <davem@davemloft.net>
10181
10182 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
10183 (grub_rescue_cmd_linux): Rename to...
10184 (grub_cmd_linux): and fix prototype.
10185 (grub_rescue_cmd_initrd): Rename to...
10186 (grub_cmd_initrd): and fix prototype.
10187 (cmd_linux, cmd_initrd): New.
10188 (GRUB_MOD_INIT(linux)): Use grub_register_command().
10189 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
10190
d1a282fc 101912009-04-17 Pavel Roskin <proski@gnu.org>
10192
07c5039f 10193 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
10194 format.
10195 (grub_ohci_transfer): Likewise.
10196
b012002d 10197 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
10198
1bc09c35 10199 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
10200 return without a value. Fix inconsistent indentation.
10201
e0ff9126 10202 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
10203 match struct grub_fs.
10204
d1a282fc 10205 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
10206 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
10207 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
10208 * commands/lspci.c (grub_lspci_iter): Likewise.
10209
a96df3f2 102102009-04-16 Bean <bean123ch@gmail.com>
10211
10212 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
10213 value.
10214
41bb0fe9 102152009-04-15 Pavel Roskin <proski@gnu.org>
10216
10217 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
10218 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
10219 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
10220 definitions.
10221
596c6970 102222009-04-15 Felix Zielcke <fzielcke@z-51.de>
10223
10224 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 10225 that no multiple data or metadata areas are supported and `Unknown
596c6970 10226 metadata header'.
10227
7dd4a573 102282009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 10229
10230 Move loader out of the kernel
10231
10232 * kern/loader.c: moved to ...
10233 * commands/boot.c: ... moved here
10234 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
10235 * commands/boot.c (grub_cmd_boot): moved here. All users updated
10236 * include/grub/kernel.h (grub_machine_fini): export
10237 * include/grub/loader.h (grub_loader_is_loaded): update declaration
10238 (grub_loader_set): likewise
10239 (grub_loader_unset): likewise
10240 (grub_loader_boot): likewise
10241 * conf/common.rmk: new module boot.mod
10242 (pkglib_MODULES): add boot.mod
10243 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
10244 (grub_emu_SOURCES): likewise
10245 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
10246 (grub_emu_SOURCES): likewise
10247 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
10248 (grub_emu_SOURCES): likewise
10249 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
10250 (grub_emu_SOURCES): likewise
10251 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
10252 (grub_emu_SOURCES): likewise
7dd4a573 10253 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
10254 (grub_emu_SOURCES): likewise
0d5d5653 10255 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 10256 (grub_emu_SOURCES): likewise
0d5d5653 10257
7dd4a573 102582009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 10259
10260 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 10261
5999d619 10262 * kern/misc.c (grub_itoa): Removed function
10263 (grub_ltoa): likewise
10264 (grub_vsprintf): use grub_lltoa
10265
7dd4a573 102662009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 10267
10268 Restore grub-emu
10269
10270 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
10271 * conf/i386-coreboot.rmk: likewise
10272 * conf/i386-ieee1275.rmk: likewise
10273 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 10274
20318222 102752009-04-15 Felix Zielcke <fzielcke@z-51.de>
10276
10277 * INSTALL: Add that `./autogen.sh' needs to be run before
10278 `./configure.'.
10279
d05f0df3 102802009-04-14 Bean <bean123ch@gmail.com>
10281
10282 * Makefile.in (pkglib_DATA): Add handler.lst.
10283 (handler.lst): New rule.
10284
10285 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
10286 * conf/i386-coreboot.rmk: Likewise.
10287 * conf/i386-ieee1275.rmk: Likewise.
10288 * conf/i386-efi.rmk: Likewise.
10289 * conf/x86_64-efi.rmk: Likewise.
10290 * conf/powerpc-ieee1275.rmk: Likewise.
10291 * conf/sparc64-ieee1275.rmk: Likewise.
10292
10293 * genhandlerlist.sh: New file.
10294
10295 * genmk.rb: Add rules to generate handler.lst.
10296
10297 * include/grub/normal.h (grub_file_getline): New function definition.
10298 (read_handler_list): Likewise.
10299 (free_handler_list): Likewise.
10300
10301 * include/grub/term.h (grub_term_register_input): Add name parameter
10302 for auto generation of handler.lst.
10303 (grub_term_register_output): Likewise.
10304
10305 * normal/handler.c: New file.
10306
10307 * normal/main.c (get_line): Renamed to grub_file_getline.
10308 (read_config_file): Use the newly renamed grub_file_getline.
10309 (read_command_list): Likewise.
10310 (read_fs_list): Likewise.
10311 (grub_normal_execute): Call read_handler_list to parse handler.lst.
10312 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
10313
10314 * term/efi/console.c (grub_console_init): Add name parameter for auto
10315 generation of handler.lst.
10316 * term/gfxterm.c: Likewise.
10317 * term/i386/pc/at_keyboard.c: Likewise.
10318 * term/i386/pc/console.c: Likewise.
10319 * term/i386/pc/serial.c: Likewise.
10320 * term/i386/pc/vesafb.c: Likewise.
10321 * term/i386/pc/vga.c: Likewise.
10322 * term/i386/pc/vga_text.c: Likewise.
10323 * term/ieee1275/ofconsole.c: Likewise.
10324 * term/usb_keyboard.c: Likewise.
10325
33c846be 103262009-04-14 Bean <bean123ch@gmail.com>
10327
10328 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
10329 properly with null character.
10330
4484e01e 103312009-04-14 Felix Zielcke <fzielcke@z-51.de>
10332
10333 * configure: Remove.
10334 * config.h.in: Likewise.
f93d668e 10335 * stamp-h.in: Likewise.
4484e01e 10336 * DISTLIST: Likewise.
10337 * conf/common.mk: Likewise.
10338 * conf/i386-coreboot.mk: Likewise.
10339 * conf/i386-efi.mk: Likewise.
10340 * conf/i386-ieee1275.mk: Likewise.
10341 * conf/i386.mk: Likewise.
10342 * conf/i386-pc.mk: Likewise.
10343 * conf/powerpc-ieee1275.mk: Likewise.
10344 * conf/sparc64-ieee1275.mk: Likewise.
10345 * conf/x86_64-efi.mk: Likewise.
10346
10347 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
10348 develop on GRUB.
10349
7dd4a573 103502009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 10351 David S. Miller <davem@davemloft.net>
10352
10353 * util/hostdisk.c (make_device_name): Fix buffer length
10354 calculations.
10355
e25b5a8c 103562009-04-14 Felix Zielcke <fzielcke@z-51.de>
10357
10358 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
10359 <sys/param.h> and <sys/sysctl.h>.
10360 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
10361 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
10362 opening the device and reset them afterwards.
10363
1f1f580c 103642009-04-13 Pavel Roskin <proski@gnu.org>
10365
10366 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
10367 Reported by John Stanley <jpsinthemix@verizon.net>
10368
7ebc2d6b 103692009-04-13 Robert Millan <rmh@aybabtu.com>
10370
10371 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 10372 that name for menuentries when appropriate.
7ebc2d6b 10373
d8ba3667 103742009-04-13 Felix Zielcke <fzielcke@z-51.de>
10375
10376 * util/grub.d/10_freebsd.in: Add a missing `fi'.
10377
cba416eb 103782009-04-13 Robert Millan <rmh@aybabtu.com>
10379
10380 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
10381 to Linux, simply abort telling the user it's no longer supported.
10382
a547a745 103832009-04-13 Felix Zielcke <fzielcke@z-51.de>
10384
10385 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 10386 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 10387 `freebsd_loadenv' only when devices.hints exist.
10388
232a769c 103892009-04-13 Pavel Roskin <proski@gnu.org>
10390
10391 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
10392
c3012039 103932009-04-13 Felix Zielcke <fzielcke@z-51.de>
10394
10395 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
10396 partition number.
10397 (grub_drive): Likewise.
10398
234022fe 103992009-04-13 David S. Miller <davem@davemloft.net>
10400
10401 * kern/sparc64/ieee1275/ieee1275.c: New file.
10402 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
10403 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
10404 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
10405 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
10406 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
10407 grub_ieee1275_alloc_physmem): Declare new exported functions.
10408
d8e1836c 10409 * include/grub/sparc64/ieee1275/loader.h: New file.
10410 * include/grub/sparc64/ieee1275/memory.h: Likewise.
10411 * include/grub/sparc64/kernel.h: Likewise.
10412 * loader/sparc64/ieee1275/linux.c: Likewise.
10413
96bd81ec 10414 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
10415 (grub_fstest_SOURCES): Likewise.
10416
6a4737e5 10417 * util/hostdisk.c (make_device_name): Do not make any assumptions
10418 about the length of drive names.
10419
1d7a72fd 10420 * kern/dl.c (grub_dl_load_file): Close file immediately when
10421 we are done using it.
10422
56bc2471 104232009-04-12 David S. Miller <davem@davemloft.net>
10424
10425 * kern/misc.c (grub_ltoa): Fix cast when handling negative
10426 values. Noticed by Pavel Roskin.
10427
df38d0bb 10428 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
10429 target compiler.
7dd4a573 10430
e382e93a 10431 * genmk.rb: Add more flexible image type specification, also
10432 pass --strip-unneeded to objcopy.
10433 * conf/i386-pc.rmk: Use *_FORMAT.
10434 * conf/i386-pc.mk: Rebuilt.
10435
f5dbbca9 10436 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
10437 (OFDISK_HASH_SZ): Define.
10438 (ofdisk_hash): New hash table.
10439 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
10440 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
10441 instead of device phandle which is not unique.
10442
91c88b12 10443 * kern/sparc64/ieee1275/init.c: Delete, replace with...
10444 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
10445 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
10446 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
10447 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
10448 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
10449 GRUB_KERNEL_MACHINE_DATA_END): Define.
10450 (grub_kernel_image_size, grub_total_module_size): Declare.
10451
5b5d4aa5 104522009-04-12 Pavel Roskin <proski@gnu.org>
10453
7dd4a573 10454 * configure.ac: Change the logic when we check for target tools.
10455 Do it when the target is specified and it's different from the
10456 specified value of the host.
5b5d4aa5 10457
c91e1793 104582009-04-11 Felix Zielcke <fzielcke@z-51.de>
10459
10460 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
10461 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
10462 GNU/kFreeBSD. Check if a device is a character device. Use
10463 DIOCGMEDIASIZE to get the size.
10464 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
10465 support for GNU/kFreeBSD.
10466 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
10467 is a character device instead of a block device. Add support for
10468 FreeBSD device names.
10469
10470 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
10471 is a character device instead of a block device.
10472
10473 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
10474 is a character device instead of a block device.
10475
b1ac8644 104762009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
10477
10478 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
10479 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
10480 FreeBSD. Check if a device is a character device. Use
10481 DIOCGMEDIASIZE to get the size.
10482 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
10483 support for FreeBSD.
10484 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
10485 is a character device instead of a block device. Add support for
10486 FreeBSD device names.
10487
10488 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
10489 a character device instead of a block device.
10490 (grub_util_check_char_device): New function.
10491
10492 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
10493 a character device instead of a block device.
10494
10495 * include/grub/util/getroot.h (grub_util_check_char_device): New
10496 prototype.
10497
a3f7515a 104982009-04-11 David S. Miller <davem@davemloft.net>
10499
10500 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
10501 static libgcc.
10502 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
10503 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
10504 function, if present.
10505 (__bswapdi2): Likewise.
10506
0d44993d 10507 * include/grub/sparc64/ieee1275/boot.h: New file.
10508 * boot/sparc64/ieee1275/boot.S: Likewise.
10509 * boot/sparc64/ieee1275/diskboot.S: Likewise.
10510
ed3d2bc2 10511 * kern/misc.c (grub_ltoa): New function.
10512 (grub_vsprintf): Use it to format 'long' integers.
10513
d3bfb59c 105142009-04-10 David S. Miller <davem@davemloft.net>
10515
10516 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
10517 slots are of type grub_ieee1275_cell_t.
10518 (grub_nand_read): Likewise.
10519 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
10520 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
10521 macros are used to compare values in arg/ret block of the call.
10522 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
10523 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
10524 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
10525 grub_ieee1275_instance_to_path, grub_ieee1275_write,
10526 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
10527 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
10528 grub_ieee1275_close, grub_ieee1275_set_property,
10529 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
10530 grub_ieee1275_cell_t.
10531 * kern/ieee1275/openfw.c (grub_map): Likewise.
10532 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
10533 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
10534
450e2238 10535 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
10536 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
10537 (grub_devalias_iterate): Likewise.
10538
7dd4a573 105392009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 10540
10541 UFS improvements
10542
10543 * fs/ufs.c (INODE_NBLOCKS): new definition
10544 (struct grub_ufs_dirent): added fields for non-BSD dirents
10545 (grub_ufs_get_file_block): fixed double indirect handling
10546 (grub_ufs_lookup_symlink): use more robust way to determine whether
10547 symlink is inline
10548 (grub_ufs_find_file): support for non-BSD dirents
10549 (grub_ufs_dir): support for non-BSD dirents
10550
e7e6862a 105512009-04-10 Bean <bean123ch@gnail.com>
10552
10553 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
10554 attribute, otherwise the size would be wrong for i386 platform.
10555
10556 * include/grub/pci.h (grub_pci_read_word): New inline function.
10557 (grub_pci_read_byte): Likewise.
10558 (grub_pci_write): Likewise.
10559 (grub_pci_write_word): Likewise.
10560 (grub_pci_write_byte): Likewise.
10561
10562 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
10563
10564 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
10565 (find_framebuf): Scan pci to locate the frame buffer address.
10566
10567 * commands/efi/fixvideo.c: New file.
10568
10569 * commands/efi/loadbios.c: Likewise.
10570
10571 * commands/memrw.c: Likewise.
10572
10573 * util/grub-dumpbios.in: Likewise.
10574
10575 * conf/common.rmk (grub-dumpbios): New utility.
10576 (pkglib_MODULES): New module memrw.mod.
10577 (memrw_mod_SOURCE): New macro.
10578 (memrw_mod_CFLAGS): Likewise.
10579 (memrw_mod_LDFLAGS): Likewise.
10580
7dd4a573 10581 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 10582 fixvideo.mod.
10583 (loadbios_mod_SOURCE): New macro.
10584 (loadbios_mod_CFLAGS): Likewise.
10585 (loadbios_mod_LDFLAGS): Likewise.
10586 (fixvideo_mod_SOURCE): Likewise.
10587 (fixvideo_mod_CFLAGS): Likewise.
10588 (fixvideo_mod_LDFLAGS): Likewise.
10589
7dd4a573 10590 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 10591 fixvideo.mod.
10592 (loadbios_mod_SOURCE): New macro.
10593 (loadbios_mod_CFLAGS): Likewise.
10594 (loadbios_mod_LDFLAGS): Likewise.
10595 (fixvideo_mod_SOURCE): Likewise.
10596 (fixvideo_mod_CFLAGS): Likewise.
10597 (fixvideo_mod_LDFLAGS): Likewise.
10598
af63ada2 105992009-04-08 Felix Zielcke <fzielcke@z-51.de>
10600
10601 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
10602
c2cdde70 106032009-04-07 David S. Miller <davem@davemloft.net>
10604
10605 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
10606 support for R_SPARC_OLO10 relocations. Fix compile warning for
10607 R_SPARC_WDISP30 case.
ea3f72cf 10608 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 10609
761319cf 106102009-04-06 Pavel Roskin <proski@gnu.org>
10611
1007d1f5 10612 * include/grub/misc.h (ARRAY_SIZE): New macro.
10613 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
10614 New macro.
10615 * loader/i386/linux.c (allocate_pages): Use free_pages().
10616 (grub_linux_unload): Don't use free_pages().
10617 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
10618 wrong index. Treat all other modes as text modes.
10619 (grub_cmd_linux): Initialize vid_mode unconditionally to
10620 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
10621
761319cf 10622 * commands/help.c (print_command_help): Use cmd->prio, not
10623 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
10624
ea761d40 106252009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 10626
ea761d40 10627 Parttool
10628
10629 * parttool/pcpart.c: new file
10630 * commands/parttool.c: likewise
10631 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
10632 (parttool_mod_SOURCES): new variable
10633 (parttool_mod_CFLAGS): likewise
10634 (parttool_mod_LDFLAGS): likewise
10635 (pcpart_mod_SOURCES): likewise
10636 (pcpart_mod_CFLAGS): likewise
10637 (pcpart_mod_LDFLAGS): likewise
7dd4a573 10638 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 10639 and parttool/pcpart.c
10640 * conf/i386-efi.rmk: likewise
10641 * conf/i386-ieee1275.rmk: likewise
10642 * conf/i386-pc.rmk: likewise
10643 * conf/powerpc-ieee1275.rmk: likewise
10644 * conf/sparc64-ieee1275.rmk: likewise
10645 * conf/x86_64-ieee1275.rmk: likewise
10646
05aaebfb 106472009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
10648
10649 Support for mtime and further expandability of dir command
10650
10651 * include/grub/lib/datetime.h: moved to ...
7dd4a573 10652 * include/grub/datetime.h: ... moved here and added
05aaebfb 10653 declaration of grub_unixtime2datetime. All users updated
7dd4a573 10654 * include/grub/fs.h: new syntax for dir and mtime functions in
10655 struct grub_fs
05aaebfb 10656 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
10657 and GRUB_FSHELP_FLAGS_MASK
10658 * commands/ls.c (grub_ls_list_files): Write mtime in long format
10659 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
10660 (grub_ext2_mtime): new function
10661 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
10662 (grub_hfsplus_mtime): new function
10663 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
10664 (GRUB_UFS_ATTR_FILE): likewise
10665 (GRUB_UFS_ATTR_LNK): likewise
10666 (struct grub_ufs_sblock): new fields mtime
10667 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
10668 all users updated
10669 (grub_ufs_dir): mtime support
10670 (grub_ufs_mtime): new function
10671 * fs/affs.c (grub_affs_dir): use new dir syntax
10672 * fs/afs.c (grub_afs_dir): likewise
10673 * fs/cpio.c (grub_cpio_dir): likewise
10674 * fs/fat.c (grub_fat_find_dir): likewise
10675 * fs/hfs.c (grub_hfs_dir): likewise
10676 * fs/iso9660.c (grub_iso9660_dir): likewise
10677 * fs/jfs.c (grub_jfs_dir): likewise
10678 * fs/minix.c (grub_minix_dir): likewise
10679 * fs/ntfs.c (grub_ntfs_dir): likewise
10680 * fs/reiserfs.c (grub_reiserfs_dir): likewise
10681 * fs/sfs.c (grub_sfs_dir): likewise
10682 * fs/xfs.c (grub_xfs_dir): likewise
10683 * util/hostfs.c (grub_hostfs_dir): likewise
10684 * lib/datetime.c: moved to ...
10685 * normal/datetime.c: ... moved here
10686 (grub_unixtime2datetime): new function
10687 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 10688 * normal/completion.c (iterate_dir): use new dir syntax
10689 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 10690 last modification time of a volume
7dd4a573 10691 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 10692 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 10693 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 10694 (normal_mod_SOURCES): likewise
10695 (datetime_mod_SOURCES): Removed lib/datetime.c
10696 * conf/i386-efi.rmk: likewise
7dd4a573 10697 * conf/i386-ieee1275.rmk: likewise
05aaebfb 10698 * conf/i386-pc.rmk: likewise
10699 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 10700 * conf/sparc64-ieee1275.rmk: likewise
10701 * conf/x86_64-efi.rmk: likewise
05aaebfb 10702
8a7e1a14 107032009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
10704
10705 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 10706
10707 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 10708 on grub_fat_find_dir
10709 (grub_fat_find_dir): use grub_fat_iterate_dir
10710 (grub_fat_label): likewise
10711
04186a9c 107122009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10713
7dd4a573 10714 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 10715 and command.h
10716 remove extraneous kernel_elf_HEADERS
10717
da4c0bb6 107182009-04-04 Bean <bean123ch@gnail.com>
10719
10720 * include/grub/util/misc.h: Add dummy function fsync for mingw.
10721
10722 * util/misc.c: Likewise.
10723
54ad9555 107242009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
10725
10726 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
10727 instead of grub_printf.
10728
7a6bf9f2 107292009-04-03 Robert Millan <rmh@aybabtu.com>
10730
10731 * loader/i386/linux.c (grub_linux_setup_video): Fill
10732 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
10733 values from `mode info' structure instead of hardcoded
10734 values.
10735
3fcc2083 107362009-04-01 Pavel Roskin <proski@gnu.org>
10737
10738 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
10739 unused now.
10740 * genmk.rb: Likewise.
10741 * configure.ac: Likewise.
10742
5ec9740b 107432009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
10744
10745 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
10746 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
10747
5270cec8 107482009-04-01 David S. Miller <davem@davemloft.net>
10749
10750 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 10751 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 10752 (grub_setjmp): Mark with 'returns_twice' attribute.
10753 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
10754 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
10755 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
10756
9c3dd854 107572009-04-01 Robert Millan <rmh@aybabtu.com>
10758
10759 Reapply fix from 2008-07-28 which was accidentally reverted; also
10760 perform the same fix to a similar check in same function.
10761
10762 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
10763 with the same number are found, just use issue a warning with
10764 grub_dprintf(), as this error has been reported to be non-fatal.
10765
0d818b7e 107662009-03-31 Pavel Roskin <proski@gnu.org>
10767
10768 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
10769 for cross-compilation.
10770
95646d92 107712009-03-30 Robert Millan <rmh@aybabtu.com>
10772
10773 Fix i386-ieee1275 build.
10774
10775 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
10776 Remove declaration.
10777
6a003ed1 107782009-03-30 Pavel Roskin <proski@gnu.org>
10779
10780 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
10781 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
10782 zero-terminated, rely only on the strlen value. Fix comparison
10783 of strings differing in length.
10784
92f33540 107852009-03-30 Robert Millan <rmh@aybabtu.com>
10786
10787 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
10788 checking for abi version. Improve error messages on BIOS to notify
10789 user about `linux16' command.
10790
a8c48fd5 107912009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10792
f968172e 10793 Leak fixes
a8c48fd5 10794
f968172e 10795 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
10796 in case of collision
10797 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 10798
9c323f09 107992009-03-29 Robert Millan <rmh@aybabtu.com>
10800
10801 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
10802 set `vid_mode' accordingly.
10803 (grub_linux_boot): Process `vid_mode' and set video mode.
10804
ae68f423 108052009-03-29 Robert Millan <rmh@aybabtu.com>
10806
10807 * util/grub.d/10_linux.in (linux_entry): New function.
10808 Factorize generation of Linux boot entries.
10809
5709cfc4 108102009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
10811
10812 Make the format of Environment Block plain text. The boot loader
10813 part is not tested well yet.
7dd4a573 10814
5709cfc4 10815 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
10816 (buffer): Removed.
10817 (envblk): Likewise.
10818 (usage): Remove "info" and "clear". Add "unset". Update the
10819 description of "set", as this does not delete variables any
10820 longer.
10821 (create_envblk_file): Complete rewrite.
10822 (open_envblk_file): Likewise.
10823 (cmd_info): Removed.
10824 (cmd_list): Likewise.
10825 (cmd_set): Likewise.
10826 (cmd_clear): Likewise.
10827 (list_variables): New function.
10828 (write_envblk): Likewise.
10829 (set_variables): Likewise.
10830 (unset_variables): Likewise.
10831 (main): Complete rewrite.
10832
10833 * commands/loadenv.c (buffer): Removed.
10834 (envblk): Likewise.
10835 (open_envblk_file): New function.
10836 (read_envblk_file): Complete rewrite.
10837 (grub_cmd_load_env): Likewise.
10838 (grub_cmd_list_env): Likewise.
10839 (struct blocklist): New struct.
10840 (free_blocklists): New function.
10841 (check_blocklists): Likewise.
10842 (write_blocklists): Likewise.
10843 (grub_cmd_save_env): Complete rewrite.
10844
10845 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
10846 a plain text signature.
10847 (GRUB_ENVBLK_MAXLEN): Removed.
10848 (struct grub_envblk): Complete rewrite.
10849 (grub_envblk_find): Removed.
10850 (grub_envblk_insert): Likewise.
10851 (grub_envblk_open): New prototype.
10852 (grub_envblk_set): Likewise.
10853 (grub_envblk_delete): Put const to VALUE.
10854 (grub_envblk_iterate): Put const to NAME and VALUE.
10855 (grub_envblk_close): New prototype.
10856 (grub_envblk_buffer): New inline function.
10857 (grub_envblk_size): Likewise.
10858
10859 * lib/envblk.c: Include grub/mm.h.
10860 (grub_env_find): Removed.
10861 (grub_envblk_open): New function.
10862 (grub_envblk_close): Likewise.
10863 (escaped_value_len): Likewise.
10864 (find_next_line): Likewise.
10865 (grub_envblk_insert): Removed.
10866 (grub_envblk_set): New function.
10867 (grub_envblk_delete): Complete rewrite.
10868 (grub_envblk_iterate): Likewise.
10869
a9368fd3 108702009-03-28 Robert Millan <rmh@aybabtu.com>
10871
10872 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
10873 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
10874 variables. Use 16-bit loader.
10875 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
10876 loader.
10877 * kern/i386/loader.S (grub_linux_boot): Rename to ...
10878 (grub_linux16_boot): ... this. Update all users.
10879 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
10880 (grub_linux_boot): ... this. Update all users.
10881
10882 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
10883 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
10884 commands to `linux16' and `initrd16'.
10885 (GRUB_MOD_FINI(linux)): Rename to ...
10886 (GRUB_MOD_FINI(linux16)): ... this.
10887
e4dd5a7e 108882009-03-24 Pavel Roskin <proski@gnu.org>
10889
10890 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
10891 not just for compilation.
10892
c04d6e05 108932009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
10894
10895 Move multiboot helper out of kernel
10896
10897 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
10898 `loader/i386/multiboot_helper.S'.
10899 * conf/i386-coreboot.rmk: Likewise
10900 * conf/i386-ieee1275.rmk: Likewise
10901
10902 * kern/i386/loader.S: Move multiboot helpers from here...
10903 * loader/i386/multiboot_helper.S: ...moved here
10904 * include/grub/i386/loader.h: Move declarations of multiboot
10905 helpers from here...
10906 * include/grub/i386/multiboot.h: ...moved here
10907 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
10908
42a5b3fc 109092009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
10910
10911 * kern/env.c (grub_env_context_open): Added an argument to specify
10912 whether a new context inherits exported variables from current
10913 one. This is useful when making a sandbox to interpret a config
10914 file.
10915 All callers updated.
10916
10917 * include/grub/env.h (grub_env_context_open): Updated the prototype.
10918
b28bbc4e 109192009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
10920
10921 * kern/env.c (grub_env_context_close): Fix memory leaks.
10922
f04f02e4 109232009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
10924
10925 * normal/main.c (grub_normal_execute): Added an argument
10926 BATCH to specify if an interactive interface should be provided
10927 after reading a config file.
10928 All callers updated.
10929 (read_command_list): Prevent being executed twice.
10930 (read_fs_list): Likewise.
10931
42a5b3fc 10932 * include/grub/normal.h (grub_normal_execute): Updated the
10933 prototype.
f04f02e4 10934
41473ac2 109352009-03-22 Pavel Roskin <proski@gno.org>
10936
fbc00b0c 10937 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
10938 _start.
10939 * kern/i386/pc/startup.S: Likewise.
10940 * kern/i386/efi/startup.S: Likewise.
10941 * kern/i386/ieee1275/startup.S: Likewise.
10942 * kern/i386/coreboot/startup.S: Likewise.
10943 * kern/x86_64/efi/startup.S: Likewise.
10944
41473ac2 10945 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
10946 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
10947 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
10948
2274cc8f 109492009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
10950
10951 Bugfixes in multiboot for bugs uncovered by solaris kernel.
10952
10953 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
10954 limit detection.
10955 Use vaddr of correct segment for entry_point.
10956
b1b797cb 109572009-03-21 Bean <bean123ch@gmail.com>
10958
10959 * commands/blocklist.c: Add include file <grub/command.h>, remove
10960 <grub/normal.h> and <grub/arg.h>.
10961 (grub_cmd_blocklist): Use the new command interface.
10962 (GRUB_MOD_INIT): Likewise.
10963 (GRUB_MOD_FINI): Likewise.
10964 * commands/boot.c: Likewise.
10965 * commands/cat.c: Likewise.
10966 * commands/cmp.c: Likewise.
10967 * commands/configfile.c: Likewise.
10968 * commands/crc.c: Likewise.
10969 * commands/echo.c: Likewise.
10970 * commands/halt.c: Likewise.
10971 * commands/handler.c: Likewise.
10972 * commands/hdparm.c: Likewise.
10973 * commands/help.c: Likewise.
10974 * commands/hexdump.c: Likewise.
10975 * commands/loadenv.c: Likewise.
10976 * commands/ls.c: Likewise.
10977 * commands/lsmmap.c: Likewise.
10978 * commands/lspci.c: Likewise.
10979 * commands/loadenv.c: Likewise.
10980 * commands/read.c: Likewise.
10981 * commands/reboot.c: Likewise.
10982 * commands/search.c: Likewise.
10983 * commands/sleep.c: Likewise.
10984 * commands/test.c: Likewise.
10985 * commands/usbtest.c: Likewise.
10986 * commands/videotest.c: Likewise.
10987 * commands/i386/cpuid.c: Likewise.
10988 * commands/i386/pc/halt.c: Likewise.
10989 * commands/i386/pc/play.c: Likewise.
10990 * commands/i386/pc/pxecmd.c: Likewise.
10991 * commands/i386/pc/vbeinfo.c: Likewise.
10992 * commands/i386/pc/vbetest.c: Likewise.
10993 * commands/ieee1275/suspend.c: Likewise.
10994 * disk/loopback.c: Likewise.
10995 * font/font_cmd.c: Likewise.
10996 * hello/hello.c: Likewise.
10997 * loader/efi/appleloader.c: Likewise.
10998 * loader/efi/chainloader.c: Likewise.
10999 * loader/i386/bsd.c: Likewise.
11000 * loader/i386/efi/linux.c: Likewise.
11001 * loader/i386/ieee1275/linux.c: Likewise.
11002 * loader/i386/linux.c: Likewise.
11003 * loader/i386/pc/chainloader.c: Likewise.
11004 * loader/i386/pc/linux.c: Likewise.
11005 * loader/powerpc/ieee1275/linux.c: Likewise.
11006 * loader/multiboot_loader.c: Likewise.
11007 * term/gfxterm.c: Likewise.
11008 * term/i386/pc/serial.c: Likewise.
11009 * term/terminfo.c: Likewise.
11010
11011 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
11012 * term/i386/pc/vga.c: Likewise.
11013 * video/readers/jpeg.c: Likewise.
11014 * video/readers/png.c: Likewise.
11015 * video/readers/tga.c: Likewise.
11016
11017 * util/grub-fstest (cmd_loopback): Removed.
11018 (cmd_blocklist): Likewise.
11019 (cmd_ls): Likewise.
11020 (grub_register_command): Likewise.
11021 (grub_unregister_command): Likewise.
11022 (execute_command): Use grub_command_find to locate command and execute
11023 it.
11024
11025 * include/grub/efi/chainloader.h: Removed.
11026 * loader/efi/chainloader_normal.c: Likewise.
11027 * loader/i386/bsd_normal.c: Likewise.
11028 * loader/i386/pc/chainloader_normal.c: Likewise.
11029 * loader/i386/pc/multiboot_normal.c: Likewise.
11030 * loader/linux_normal.c: Likewise.
11031 * loader/multiboot_loader_normal.c: Likewise.
11032 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
11033
11034 * gencmdlist.sh: Scan new registration command grub_register_extcmd
11035 and grub_register_command_p1.
11036
11037 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
11038 kern/command.c, lib/arg.c and commands/extcmd.c.
11039 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
11040 (minicmd_mod_SOURCES): New variable.
11041 (minicmd_mod_CFLAGS): Likewise.
11042 (minicmd_mod_LDFLAGS): Likewise.
11043 (extcmd_mod_SOURCES): Likewise.
11044 (extcmd_mod_CFLAGS): Likewise.
11045 (extcmd_mod_LDFLAGS): Likewise.
11046 (boot_mod_SOURCES): Removed.
11047 (boot_mod_CFLAGS): Likewise.
11048 (boot_mod_LDFLAGS): Likewise.
11049
11050 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
11051 kern/corecmd.c.
11052 (kernel_img_HEADERS): Add command.h.
11053 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
11054 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
11055 and lib/arg.c.
11056 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
11057 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
11058 remove the corresponding normal mode command.
11059 (normal_mod_SOURCES): Remove normal/arg.c.
11060 * conf/i386-coreboot.rmk: Likewise.
11061 * conf/i386-efi.rmk: Likewise.
11062 * conf/i386-ieee1275.rmk: Likewise.
11063 * conf/powerpc-ieee1275.rmk: Likewise.
11064 * conf/x86_64-efi.rmk: Likewise.
11065
11066 * include/grub/arg.h: Move from here ...
11067 * include/grub/lib/arg.h: ... to here.
11068
11069 * normal/arg.c: Move from here ...
11070 * lib/arg.c: ... to here.
11071
11072 * commands/extcmd.c: New file.
11073 * commands/minicmd.c: Likewise.
11074 * include/grub/command.h: Likewise.
11075 * include/grub/extcmd.h: Likewise.
11076 * kern/command.c: Likewise.
11077 * kern/corecmd.c: Likewise.
11078
11079 * kern/list.c (grub_list_iterate): Return int instead of void.
11080 (grub_list_insert): New function.
11081 (grub_prio_list_insert): Likewise.
11082
11083 * kern/rescue.c (grub_rescue_command): Removed.
11084 (grub_rescue_command_list): Likewise.
11085 (grub_rescue_register_command): Likewise.
11086 (grub_rescue_unregister_command): Likewise.
11087 (grub_rescue_cmd_boot): Move to minicmd.c
11088 (grub_rescue_cmd_help): Likewise.
11089 (grub_rescue_cmd_info): Likewise.
11090 (grub_rescue_cmd_boot): Likewise.
11091 (grub_rescue_cmd_testload): Likewise.
11092 (grub_rescue_cmd_dump): Likewise.
11093 (grub_rescue_cmd_rmmod): Likewise.
11094 (grub_rescue_cmd_lsmod): Likewise.
11095 (grub_rescue_cmd_exit): Likewise.
11096 (grub_rescue_print_devices): Moved to corecmd.c.
11097 (grub_rescue_print_files): Likewise.
11098 (grub_rescue_cmd_ls): Likewise.
11099 (grub_rescue_cmd_insmod): Likewise.
11100 (grub_rescue_cmd_set): Likewise.
11101 (grub_rescue_cmd_unset): Likewise.
7d074e3c 11102 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 11103 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 11104 commands, remove grub_rescue_register_command calls.
b1b797cb 11105
7d074e3c 11106 * normal/command.c (grub_register_command): Removed.
b1b797cb 11107 (grub_unregister_command): Likewise.
11108 (grub_command_find): Likewise.
11109 (grub_iterate_commands): Likewise.
11110 (rescue_command): Likewise.
11111 (export_command): Moved to corecmd.c.
11112 (set_command): Removed.
11113 (unset_command): Likewise.
11114 (insmod_command): Likewise.
11115 (rmmod_command): Likewise.
11116 (lsmod_command): Likewise.
11117 (grub_command_init): Likewise.
11118
11119 * normal/completion.c (iterate_command): Use cmd->prio to check for
11120 active command.
11121 (complete_arguments): Use grub_extcmd_t structure to find options.
11122 (grub_normal_do_completion): Change function grub_iterate_commands to
11123 grub_command_iterate.
11124
11125 * normal/execute.c (grub_script_execute_cmd): No need to parse
11126 argument here.
11127
11128 * normal/main.c (grub_dyncmd_dispatcher): New function.
11129 (read_command_list): Register unload commands as dyncmd.
11130 (grub_cmd_normal): Use new command interface, register rescue,
11131 unregister normal at entry, register normal, unregister rescue at exit.
11132
11133 * include/grub/list.h (grub_list_test_t): New type.
11134 (grub_list_iterate): Return int instead of void.
11135 (grub_list_insert): New function.
11136 (GRUB_AS_NAMED_LIST_P): New macro.
11137 (GRUB_AS_PRIO_LIST): Likewise.
11138 (GRUB_AS_PRIO_LIST_P): Likewise.
11139 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
11140 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
11141 (grub_prio_list): New structure.
11142 (grub_prio_list_insert): New function.
11143 (grub_prio_list_remove): New inline function.
11144
11145 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
11146 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
11147 (GRUB_COMMAND_FLAG_MENU): Likewise.
11148 (GRUB_COMMAND_FLAG_BOTH): Likewise.
11149 (GRUB_COMMAND_FLAG_TITLE): Likewise.
11150 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
11151 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
11152 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
11153 (grub_command): Likewise.
11154 (grub_register_command): Likewise.
11155 (grub_command_find): Likewise.
11156 (grub_iterate_commands): Likewise.
11157 (grub_command_init): Likewise.
11158 (grub_arg_parse): Likewise.
11159 (grub_arg_show_help): Likewise.
11160
11161 * include/grub/rescue.h (grub_rescue_register_command): Removed.
11162 (grub_rescue_unregister_command): Likewise.
11163
11164 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
11165 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
11166 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
11167
11168 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
11169 grub_rescue_cmd_initrd.
11170 * include/grub/i386/loader.h: Likewise.
11171 * include/grub/x86_64/loader.h: Likewise.
11172
11173 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
11174
1f4147aa 111752009-03-21 Bean <bean123ch@gmail.com>
11176
11177 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
11178 instead of stat in mingw environment.
11179
11180 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
11181
11182 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
11183
11184 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
11185 AC_CONFIG_LINKS.
11186
2156d5ba 111872009-03-21 Bean <bean123ch@gmail.com>
11188
11189 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
11190 out of range error.
11191
177b82ca 111922009-03-18 Michel Dänzer <michel@daenzer.net>
11193
11194 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
11195 checking inode flags for EXT4_EXTENTS_FLAG.
11196
14aad807 111972009-03-18 Robert Millan <rmh@aybabtu.com>
11198
11199 * loader/i386/linux.c: Include `<grub/video.h>' and
11200 `<grub/i386/pc/vbe.h>'..
11201 (grub_linux_setup_video): New function. Loosely based on the EFI one.
11202 (grub_linux32_boot): Attempt to configure video settings with
11203 grub_linux_setup_video().
11204 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
11205 to avoid grub_console_fini() which would step out of graphical mode
11206 unconditionally.
11207
8cf83a27 112082009-03-14 Robert Millan <rmh@aybabtu.com>
11209
11210 Fix build on powerpc.
11211 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
11212
40164e75 112132009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
11214
11215 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
11216 background image command.
11217
c58bc32a 112182009-03-12 Colin D Bennett <colin@gibibit.com>
11219
11220 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
11221 (grub_gfxterm_putchar): Extract pairs of identical calls to
11222 draw_cursor out of conditional blocks.
11223
5415144a 112242009-03-11 Pavel Roskin <proski@gnu.org>
11225
11226 * fs/hfs.c (grub_hfs_strncasecmp): New function.
11227 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
11228
6394042e 112292009-03-11 Robert Millan <rmh@aybabtu.com>
11230
11231 * loader/i386/multiboot_elfxx.c
11232 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
11233
b7b50e5f 112342009-03-11 Felix Zielcke <fzielcke@z-51.de>
11235
11236 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
11237 `kern/handler.c'.
11238
1ca7fc96 112392009-03-11 Robert Millan <rmh@aybabtu.com>
11240
11241 * loader/i386/multiboot.c (code_size): New variable.
11242 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 11243 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 11244 4-byte alignment to MBI and others by increasing
7d074e3c 11245 `boot_loader_name_length' appropriately.
1ca7fc96 11246
11247 * loader/i386/multiboot_elfxx.c
11248 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
11249
a83ea1d2 112502009-03-09 Felix Zielcke <fzielcke@z-51.de>
11251
11252 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
11253 `fs/ext2.c'.
11254
aa9f3bff 112552009-03-08 Robert Millan <rmh@aybabtu.com>
11256
11257 Make loader/i386/linux.c usable on i386-pc again.
11258
11259 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
11260 memory to heap.
11261 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
11262 `#error' stanza.
11263
d8b3b60e 112642009-03-07 Bean <bean123ch@gmail.com>
11265
11266 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
11267 allocation.
11268
b362c9e9 112692009-03-06 Robert Millan <rmh@aybabtu.com>
11270
11271 Fix display issue on terminals with screen size other than 80x25
11272 (e.g. gfxterm with resolution higher than 640x480).
11273
11274 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 11275 position relative to the center of the terminal instead of relying
b362c9e9 11276 on a hardcoded offset.
11277
9304eef1 112782009-03-04 Robert Millan <rmh@aybabtu.com>
11279
11280 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
11281 installed.
11282
11283 * Makefile.in (host_kernel): New variable.
11284 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
11285 scripts instead of just the windows one.
11286 * configure.ac: Initialize and AC_SUBST `host_kernel'.
11287
eabc95fb 112882009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 11289
11290 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
11291 `kern/handler.c'.
11292 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11293 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11294 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
11295 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11296 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11297 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11298
ceb1223c 112992009-03-04 Felix Zielcke <fzielcke@z-51.de>
11300
11301 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
11302 or if there's no space for the disk label and print the partition number on a
11303 invalid magic.
11304
4910684a 113052009-03-04 Felix Zielcke <fzielcke@z-51.de>
11306
11307 * util/misc.c: Include <time.h>.
11308 (grub_millisleep): New function.
11309
7e9ca17a 113102009-03-04 Bean <bean123ch@gmail.com>
11311
11312 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
11313 another option -mno-red-zone.
11314
11315 * commands/handler.c: Change module description.
11316
11317 * kern/handler.c: Add missing space at the end of description line.
11318
11319 * kern/list.c: Likewise.
11320
f501677c 113212009-03-03 Robert Millan <rmh@aybabtu.com>
11322
11323 Move more components to the relocation area, and fix mbi pointer
11324 handling to use the destination rather than the origin (thanks to
11325 Vladimir Serbinenko for spotting).
11326
11327 * loader/i386/multiboot.c (mbi_dest): New variable.
11328 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
11329 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
11330 relocation area.
11331
9902d047 113322009-03-01 Bean <bean123ch@gmail.com>
11333
50fb7002 11334 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 11335 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
11336 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
11337 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
11338
11339 * loader/i386/efi/linux.c (acpi_guid): New variable.
11340 (acpi_guid): Likewise.
11341 (EBDA_SEG_ADDR): New constant.
11342 (LOW_MEM_ADDR): Likewise.
11343 (FAKE_EBDA_SEG): Likewise.
11344 (fake_bios_data): New function.
11345 (grub_linux_boot): Call fake_bios_data.
11346
71b9f361 113472009-03-01 Bean <bean123ch@gmail.com>
11348
11349 * commands/terminal.c: Removed.
11350
11351 * commands/handler.c: New file.
11352
11353 * include/grub/list.h: Likewise.
11354
11355 * include/grub/handler.h: Likewise.
11356
11357 * kern/list.c: Likewise.
11358
11359 * kern/handler.c: Likewise.
11360
11361 * kern/term.h: Include header file <grub/handler.h>.
11362 (grub_term_input): Move next field to the beginning.
11363 (grub_term_output): Likewise.
11364 (grub_term_input_class): New variable.
11365 (grub_term_output_class): Likewise.
11366 (grub_term_register_input): Changed to inline function.
11367 (grub_term_register_output): Likewise.
11368 (grub_term_unregister_input): Likewise.
11369 (grub_term_unregister_output): Likewise.
11370 (grub_term_set_current_input): Likewise.
11371 (grub_term_set_current_output): Likewise.
11372 (grub_term_get_current_input): Likewise.
11373 (grub_term_get_current_output): Likewise.
11374 (grub_term_iterate_input): Removed.
11375 (grub_term_iterate_output): Likewise.
11376
11377 * kern/term.c (grub_term_list_input): Removed.
11378 (grub_term_list_output): Likewise.
11379 (grub_term_input_class): New variable.
11380 (grub_term_output_class): Likewise.
50fb7002 11381 (grub_cur_term_input): Change variable as macro.
71b9f361 11382 (grub_cur_term_output): Likewise.
11383 (grub_term_register_input): Removed.
11384 (grub_term_register_output): Likewise.
11385 (grub_term_unregister_input): Likewise.
11386 (grub_term_unregister_output): Likewise.
11387 (grub_term_set_current_input): Likewise.
11388 (grub_term_set_current_output): Likewise.
11389 (grub_term_iterate_input): Likewise.
11390 (grub_term_iterate_output): Likewise.
11391 (grub_term_get_current_input): Likewise.
11392 (grub_term_get_current_output): Likewise.
11393
11394 * util/grub-editenv.c: Include header file <grub/handler.h>.
11395 (grub_term_get_current_input): Removed.
11396 (grub_term_get_current_output): Likewise.
11397 (grub_term_input_class): New variable.
50fb7002 11398 (grub_term_output_class): Likewise.
71b9f361 11399
11400 * util/grub-fstest.c (grub_term_get_current_input): Removed.
11401 (grub_term_get_current_output): Likewise.
11402 (grub_term_input_class): New variable.
50fb7002 11403 (grub_term_output_class): Likewise.
71b9f361 11404
11405 * util/grub-probe.c (grub_term_get_current_input): Removed.
11406 (grub_term_get_current_output): Likewise.
11407 (grub_term_input_class): New variable.
50fb7002 11408 (grub_term_output_class): Likewise.
71b9f361 11409
11410 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
11411 (grub_term_get_current_output): Likewise.
11412 (grub_term_input_class): New variable.
50fb7002 11413 (grub_term_output_class): Likewise.
71b9f361 11414
11415 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
11416 (terminal_mod_SOURCES): Likewise.
11417 (terminal_mod_CFLAGS): Likewise.
11418 (terminal_mod_LDFLAGS): Likewise.
11419
11420 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
11421 handler.c.
11422 (kernel_img_SOURCES): Add list.c and handler.c.
11423 (kernel_img_HEADERS): Add list.h and handler.h.
11424
11425 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
11426 handler.c.
11427 (kernel_mod_SOURCES): Add list.c and handler.c.
11428 (kernel_mod_HEADERS): Add list.h and handler.h.
11429
11430 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
11431 handler.c.
11432 (kernel_elf_SOURCES): Add list.c and handler.c.
11433 (kernel_elf_HEADERS): Add list.h and handler.h.
11434
11435 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
11436 handler.c.
11437 (kernel_elf_SOURCES): Add list.c and handler.c.
11438 (kernel_elf_HEADERS): Add list.h and handler.h.
11439
11440 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
11441 handler.c.
11442 (kernel_mod_SOURCES): Add list.c and handler.c.
11443 (kernel_mod_HEADERS): Add list.h and handler.h.
11444
11445 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
11446 handler.c.
11447 (kernel_elf_SOURCES): Add list.c and handler.c.
11448 (kernel_elf_HEADERS): Add list.h and handler.h.
11449
8a31787f 114502009-02-27 Robert Millan <rmh@aybabtu.com>
11451
11452 Factorize elf32 / elf64 code in Multiboot loader. This will
11453 prevent it from getting out of sync again.
11454
11455 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
11456 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
11457 grub_multiboot_load_elf64): Move from here ...
11458 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
11459 grub_multiboot_load_elf): ... to here (new file).
11460
51cd3dfc 114612009-02-27 Robert Millan <rmh@aybabtu.com>
11462
11463 * util/grub.d/10_linux.in: Rename "single-user mode" to
11464 "recovery mode".
11465
6e8c9c3a 114662009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11467
11468 Don't leak in SCSI code.
11469 * disk/scsi.c (grub_scsi_close): free `scsi'.
11470
4b6bf4f9 114712009-02-27 Robert Millan <rmh@aybabtu.com>
11472
11473 * loader/i386/pc/multiboot.c: Move from here ...
11474 * loader/i386/multiboot.c: ... to here. Update all users.
11475
b9413424 114762009-02-27 Robert Millan <rmh@aybabtu.com>
11477
11478 Patch from Alexandre Bique <bique.alexandre@gmail.com>
11479 * util/i386/pc/grub-setup.c (setup): Fix directory path.
11480
50fb7002 114812009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 11482
11483 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
11484 b-tree.
11485
8cc50345 114862009-02-27 Robert Millan <rmh@aybabtu.com>
11487
11488 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
11489 `0x' qualifier as 0 when base is specified as parameter).
11490
6e09b8b7 114912009-02-24 Bean <bean123ch@gmail.com>
11492
11493 * configure.ac: Check for -mcmodel=large in x86_64 target.
11494
11495 * include/grub/efi/api.h (efi_call_10): New macro.
11496 (efi_wrap_10): New function.
11497
11498 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
11499 (GRUB_PE32_REL_BASED_HIGH): Likewise.
11500 (GRUB_PE32_REL_BASED_LOW): Likewise.
11501 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
11502 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
11503 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
11504 (GRUB_PE32_REL_BASED_SECTION): Likewise.
11505 (GRUB_PE32_REL_BASED_REL): Likewise.
11506 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
11507 (GRUB_PE32_REL_BASED_DIR64): Likewise.
11508 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
11509
11510 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
11511 issue.
11512
11513 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
11514 (efi_wrap_10): New function.
11515
11516 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
11517
11518 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
11519 MB/MBP model (NV chipset).
11520 (devdata_devs): Add devpath_5 to the list.
11521
11522 * load/i386/efi/linux.c (video_base): Remove variable.
11523 (RGB_MASK): New macro.
11524 (RGB_MAGIC): Likewise.
11525 (LINE_MIN): Likewise.
11526 (LINE_MAX): Likewise.
11527 (FBTEST_STEP): Likewise.
11528 (FBTEST_COUNT): Likewise.
11529 (fb_list): New variable.
11530 (grub_find_video_card): Remove function.
11531 (find_framebuf): New function.
11532 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
11533 line length.
11534
11535 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
11536 problem for x86_64.
11537
74b21bee 115382009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
11539
11540 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
11541
11542 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
11543 coding tool name.
11544
a455f472 115452009-02-22 Robert Millan <rmh@aybabtu.com>
11546
11547 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
11548 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
11549 in our relocation, instead of using it directly from heap. Also
11550 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
11551
6374daf3 115522009-02-21 Robert Millan <rmh@aybabtu.com>
11553
11554 Implement USB keyboard support (based on patch by Marco Gerards)
11555
11556 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
11557 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
11558 (usb_keyboard_mod_LDFLAGS): New variables.
11559
11560 * term/usb_keyboard.c: New file.
11561
8fa4ea70 115622009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
11563
11564 Corrected wrong declaration
11565
11566 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
11567
353976ac 115682009-02-14 Christian Franke <franke@computer.org>
11569
11570 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
11571 (grub_lspci_iter): Print class code and programming interface byte.
11572
6aa1169b 115732009-02-14 Christian Franke <franke@computer.org>
11574
11575 * gendistlist.sh: Ignore `.svn' directories.
11576
265372ca 115772009-02-14 Felix Zielcke <fzielcke@z-51.de>
11578
11579 * fs/fat.c: Add 2009 to Copyright line.
11580
9ff516f3 115812009-02-14 Christian Franke <franke@computer.org>
11582
11583 * commands/hdparm.c: New file. Provides `hdparm' command
11584 which sends ATA commands via grub_disk_ata_pass_through ().
11585
11586 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
11587
11588 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
11589 and <grub/cpu/io.h> to include/grub/ata.h.
11590 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
11591 (GRUB_CDROM_SECTOR_SIZE): Remove.
11592 (GRUB_ATA_*): Move to include/grub/ata.h.
11593 (GRUB_ATAPI_*): Likewise.
11594 (enum grub_ata_commands): Likewise.
11595 (enum grub_ata_timeout_milliseconds): Likewise.
11596 (struct grub_ata_device): Likewise.
11597 (grub_ata_regset): Likewise.
11598 (grub_ata_regget): Likewise.
11599 (grub_ata_regset2): Likewise.
11600 (grub_ata_regget2): Likewise.
11601 (grub_ata_check_ready): Likewise.
11602 (grub_ata_wait_not_busy): Remove static, exported in
11603 include/grub/ata.h.
11604 (grub_ata_wait_drq): Likewise.
11605 (grub_ata_pio_read): Likewise.
11606
11607 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
11608 function for hdparm.mod.
11609
11610 * include/grub/ata.h: New file, contains declarations from
11611 disk/ata.c.
11612 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
11613
11614 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
11615 (grub_disk_ata_pass_through): New exported variable.
11616
11617 * kern/disk.c (grub_disk_ata_pass_through): New variable.
11618
772e23da 116192009-02-13 Colin D Bennett <colin@gibibit.com>
11620
11621 Support multiple fallback entries, and provide an API to support
11622 executing default+fallback menu entries. Renamed the `terminal' menu
11623 viewer to `text'.
11624
11625 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
11626 variable declaration.
11627 (grub_menu_execute_callback): New structure declaration.
11628 (grub_menu_execute_callback_t): New typedef.
11629 (grub_menu_execute_with_fallback): New function declaration.
11630 (grub_menu_get_entry): Likewise.
11631 (grub_menu_get_timeout): Likewise.
11632 (grub_menu_set_timeout): Likewise.
11633
11634 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
11635
11636 * normal/menu.c (grub_wait_after_message): Moved to
11637 `normal/menu_text.c'.
11638 (draw_border): Likewise.
11639 (print_message): Likewise.
11640 (print_entry): Likewise.
11641 (print_entries): Likewise.
11642 (grub_menu_init_page): Likewise.
11643 (get_entry_number): Likewise.
11644 (print_timeout): Likewise.
11645 (run_menu): Likewise.
11646 (grub_menu_execute_entry): Likewise.
11647 (show_text_menu): Likewise.
11648 (get_and_remove_first_entry_number): New function.
11649 (grub_menu_execute_with_fallback): Likewise.
11650 (get_entry): Renamed to ...
11651 (grub_menu_get_entry): .. this and made it global.
11652 (get_timeout): Renamed to ...
11653 (grub_menu_get_timeout): ... this and made it global.
11654 (set_timeout): Renamed to ...
11655 (grub_menu_set_timeout): ... this and made it global.
11656 (grub_normal_terminal_menu_viewer): Renamed to ...
11657 (grub_normal_text_menu_viewer): ... this.
11658
11659 * normal/menu_text.c: New file. Extracted text-menu-specific code
11660 from normal/menu.c.
11661
11662 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
11663 (normal_mod_SOURCES): Likewise.
11664
11665 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11666 (normal_mod_SOURCES): Likewise.
11667
11668 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11669 (normal_mod_SOURCES): Likewise.
11670
11671 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
11672 (normal_mod_SOURCES): Likewise.
11673
11674 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11675 (normal_mod_SOURCES): Likewise.
11676
11677 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11678 (normal_mod_SOURCES): Likewise.
11679
11680 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11681 (normal_mod_SOURCES): Likewise.
11682
16ac430e 116832009-02-11 Robert Millan <rmh@aybabtu.com>
11684
11685 * util/grub.d/00_header.in: Update old reference to `font' command.
11686
06ff20fc 116872009-02-10 Felix Zielcke <fzielcke@z-51.de>
11688
11689 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
11690
11691 Based on patch from Javier Martín.
11692
96da9407 116932009-02-09 Felix Zielcke <fzielcke@z-51.de>
11694
11695 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 11696 to avoid false positives with FAT.
96da9407 11697 (grub_fstest_SOURCES): Likewise.
11698 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
11699 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11700 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11701 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
11702 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11703 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11704
6dca6fe4 117052009-02-09 Felix Zielcke <fzielcke@z-51.de>
11706
06ff20fc 11707 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 11708 bpb.version_specific.fat12_or_fat16.fstype and
11709 bpb.version_specific.fat32.fstype.
11710
2550c62f 117112009-02-08 Robert Millan <rmh@aybabtu.com>
11712
be110b30 11713 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 11714
56978920 117152009-02-08 Robert Millan <rmh@aybabtu.com>
11716
11717 * Makefile.in (host_os, host_cpu): New variables.
11718 (target_os): Remove. Update all users.
11719
d64399b5 117202009-02-08 Marco Gerards <marco@gnu.org>
11721
11722 * Makefile.in (enable_grub_emu_usb): New variable.
11723 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
11724 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
11725 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
11726 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
11727 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
11728 `usbtest.mod' and `usbms.mod'.
11729 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
11730 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
11731 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
11732 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
11733 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
11734 variables.
11735
11736 * disk/usbms.c: New file.
11737
11738 * include/grub/usb.h: Likewise.
11739
11740 * include/grub/usbtrans.h: Likewise.
11741
11742 * include/grub/usbdesc.h: Likewise.
11743
11744 * bus/usb/usbtrans.c: Likewise.
11745
11746 * bus/usb/ohci.c: Likewise.
11747
11748 * bus/usb/uhci.c: Likewise.
11749
11750 * bus/usb/usbhub.c: Likewise.
11751
11752 * bus/usb/usb.c: Likewise.
11753
11754 * commands/usbtest.c: Likewise.
11755
11756 * util/usb.c: Likewise.
50fb7002 11757
d64399b5 11758 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
11759
11760 * configure.ac: Test for libusb presence.
50fb7002 11761
d64399b5 11762 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
11763
2b40d6bb 117642009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
11765
11766 * kern/mm.c: Add more comments.
11767
73a4ce81 117682009-02-08 Robert Millan <rmh@aybabtu.com>
11769
11770 Patch from Javier Martín.
11771 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
11772 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
11773
f821ce59 117742009-02-08 Robert Millan <rmh@aybabtu.com>
11775
11776 * fs/cpio.c: Split tar functionality to ...
11777 * fs/tar.c: ... here (new file). Update all users.
11778
aebfc4b0 117792009-02-07 Robert Millan <rmh@aybabtu.com>
11780
11781 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
11782 backward-incompatible features.
11783
11784 Based on patch from Javier Martín, with some adjustments.
11785
50fb7002 117862009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 11787
11788 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
11789
0bb5115e 117902009-02-07 Robert Millan <rmh@aybabtu.com>
11791
11792 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
11793 position of `disk/lvm.c' to ensure grub_init_all() always picks it
11794 after the RAID stuff.
11795
38a0f8e7 117962009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
11797
50fb7002 11798 Fixes problem when running vbetest command as reported by
38a0f8e7 11799 Vladimir Serbinenko <phcoder@gmail.com>.
11800
11801 * (grub_vbe_set_video_mode): Fixed problem with text modes.
11802
3143cc1c 118032009-02-04 Felix Zielcke <fzielcke@z-51.de>
11804
11805 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
11806 /dev/md/NpN style mdraid devices.
11807
9cba6fce 118082009-02-03 Felix Zielcke <fzielcke@z-51.de>
11809
11810 * util/unifont2pff.rb: Remove.
11811
e507a2c1 118122009-02-03 Felix Zielcke <fzielcke@z-51.de>
11813
11814 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
11815 `#'.
11816
d2c2b4cd 118172009-02-03 Felix Zielcke <fzielcke@z-51.de>
11818
11819 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
11820 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11821 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11822 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
11823 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11824 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11825 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11826
b4315fb0 118272009-02-02 Christian Franke <franke@computer.org>
11828
11829 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
11830
de3aa260 118312009-02-01 Felix Zielcke <fzielcke@z-51.de>
11832
7c3ff286 11833 * INSTALL: Note that we now require at least autoconf 2.59 and
11834 that LZO is optional.
de3aa260 11835
825a182b 118362009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
11837
11838 Base on patch on bug #24154 created by Tomas Tintera
11839 <trosos@seznam.cz>.
11840
11841 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
11842
a69ef770 118432009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
11844
7c3ff286 11845 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 11846 <bero@arklinux.org>.
11847
11848 * normal/parser.y (script_init): Add missing semicolon.
11849
6fa42fa6 118502009-01-31 Colin D Bennett <colin@gibibit.com>
11851
7c3ff286 11852 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 11853 (free_menu_entry_classes): Added.
11854 (grub_normal_menu_addentry): Added class property handling.
11855 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
11856 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
11857
11858 * normal/menu_viewer.c: New file.
11859
11860 * normal/menu.c (run_menu_entry): Renamed to ...
11861 (grub_menu_execute_entry): ... this and made it as global.
11862 (grub_menu_run): Renamed to ...
11863 (show_text_menu): ... this and made it local.
11864 (show_text_menu): Adapt to new function names.
11865 (grub_normal_terminal_menu_viewer): New global variable.
11866
11867 * include/grub/menu.h: New file.
11868
11869 * include/grub/menu_viewer.h: New file.
11870
11871 * include/grub/normal.h: Added include to grub/menu.h.
11872 (grub_menu_entry): Moved to include/grub/menu.h.
11873 (grub_menu_entry_t): Likewise.
11874 (grub_menu): Likewise.
11875 (grub_menu_t): Likewise.
11876 (grub_normal_terminal_menu_viewer): Added.
11877 (grub_menu_execute_entry): Likewise.
11878 (grub_menu_run): Removed.
11879
11880 * DISTLIST: Added include/grub/menu.h.
11881 Added include/grub/menu_viewer.h.
11882 Added normal/menu_viewer.c.
11883
118842009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
11885
11886 * normal/execute.c (grub_script_execute_menuentry): Changed to use
11887 arglist for menutitle arguments.
11888
11889 * normal/main.c (grub_normal_menu_addentry): Likewise.
11890
11891 * normal/parser.y (menuentry): Likewise.
11892
11893 * normal/script.c (grub_script_create_cmdmenu): Likewise.
11894
11895 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
11896 (grub_script_create_cmdmenu): Likewise.
11897
11898 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
11899
11900 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
11901 changes.
11902
11903 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
11904
11905 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
11906
11907 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
11908
11909 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
11910
11911 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
11912
11913 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
11914
56192c23 119152009-01-30 Christian Franke <franke@computer.org>
11916
11917 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
11918 in option help text.
11919
d72521b3 119202009-01-27 Pavel Roskin <proski@gnu.org>
11921
11922 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
11923
994b5e84 119242009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
11925
11926 * commands/lsmmap.c: Add include to grub/machine/memory.h.
11927
11928 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
11929
11930 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
11931 unregister function.
11932
6a7eab2c 119332009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
11934
11935 * disk/scsi.c (grub_scsi_read): Fix sign problem.
11936
11937 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
11938
11939 * util/grub-mkfont.c (usage): Fix typo.
11940
11941 * util/elf/grub-mkimage.c (load_modules): Fix warning.
11942
1806b56e 119432009-01-26 Daniel Mierswa <impulze@impulze.org>
11944
3fb18f09 11945 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
11946
336e1fb9 11947 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
11948
1806b56e 11949 * kern/misc.c (grub_strcasecmp): New function.
11950 (grub_strcasecmp): Use grub_size_t instead of int for length.
11951 Fix return value.
11952 * include/grub/misc.h: Update function prototypes.
11953
580b2a0f 119542009-01-26 Robert Millan <rmh@aybabtu.com>
11955
11956 * configure.ac: Fix cross-compilation check.
ef257b36 11957
d31c24f1 119582009-01-22 Christian Franke <franke@computer.org>
11959
11960 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
11961 (precision) digit string. Allow `.format2' without `format1' (width).
11962 Limit input chars for `%s' output to `format2' if specified. This is
11963 compatible with standard printf ().
11964
3138b44c 119652009-01-22 Christian Franke <franke@computer.org>
11966
11967 * disk/ata.c (grub_ata_wait_status): Replace by ...
11968 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
11969 other status bits may be invalid while BSY is asserted.
11970 (grub_ata_check_ready): New function.
11971 (grub_ata_cmd): Removed.
11972 (grub_ata_wait_drq): New function.
11973 (grub_ata_strncpy): Remove inline.
11974 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
11975 and error check now done by grub_ata_wait_drq ().
11976 (grub_ata_pio_write): Likewise.
11977 (grub_atapi_identify): Set DEV before check for !BSY. Use
11978 grub_ata_wait_drq () to wait for data.
11979 (grub_ata_device_initialize): Add status register check to
11980 detect missing SATA slave devices. Add debug messages.
11981 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
11982 (grub_atapi_packet): Set DEV before check for !BSY. Replace
11983 transfer loop by grub_ata_pio_write ().
11984 (grub_ata_identify): Set DEV before check for !BSY. Use
11985 grub_ata_wait_drq () to wait for data.
ef257b36 11986 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 11987 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
11988 read/write in one loop. Fix invalid command on write. Fix incomplete
11989 command on (size % batch) == 0. Add missing error check after write of
11990 last block. Add debug messages.
11991 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
11992
59a64ef6 119932009-01-19 Christian Franke <franke@computer.org>
11994
11995 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
11996 (GRUB_ATAPI_IREASON_*): Likewise.
11997 (grub_ata_pio_write): Fix timeout error return.
11998 (grub_atapi_identify): Add grub_ata_wait () after cmd.
11999 (grub_atapi_wait_drq): New function.
12000 (grub_atapi_packet): New parameter `size'.
12001 Use grub_atapi_wait_drq () and direct write instead of
12002 grub_ata_pio_write ().
12003 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
12004 reads the number of bytes requested by the device for each DRQ
12005 assertion.
12006 (grub_atapi_write): Remove old implementation, return not
12007 implemented instead.
12008
1cfe20b3 120092009-01-19 Christian Franke <franke@computer.org>
12010
12011 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
12012 of 512 to calculate data size.
12013 (grub_scsi_read12): Likewise.
12014 (grub_scsi_write10): Likewise.
12015 (grub_scsi_write12): Likewise.
12016 (grub_scsi_read): Adjust size according to blocksize.
12017 Add checks for invalid blocksize and unaligned transfer.
12018
bee5fe5d 120192009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
12020
12021 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
12022
ef257b36 12023 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 12024 width glyphs.
12025
3e643f8c 120262009-01-19 Robert Millan <rmh@aybabtu.com>
12027
12028 * config.guess: Update to latest version from config git.
12029 * config.sub: Likewise.
12030
4fa80998 120312009-01-17 Felix Zielcke <fzielcke@z-51.de>
12032
12033 * Makefile.in: Change font compilation to use new grub-mkfont instead
12034 of java version.
12035
12036 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
12037 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
12038 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
12039 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
12040 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
12041 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
12042 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
12043 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
12044 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
12045
7086085b 120462009-01-16 Christian Franke <franke@computer.org>
12047
12048 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
12049 (enum grub_ata_timeout_milliseconds): New enum.
12050 (grub_ata_wait_status): Add parameter milliseconds.
12051 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
12052 recovery from timed-out commands.
12053 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
12054 return grub_errno instead of REG_ERROR.
12055 (grub_ata_pio_write): Add parameter milliseconds.
12056 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
12057 Pass milliseconds to grub_ata_wait_status () and
12058 grub_ata_pio_read ().
12059 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
12060 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
12061 grub_ata_wait_status (). Fix IDENTIFY timeout check.
12062 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
12063 It is not suitable for device detection, because DEV bit is ignored,
12064 the command may run too long, and not all devices set the signature
12065 properly.
12066 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
12067 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
12068 Fix device selection, DEV bit must be set first to address the registers
12069 of the correct device.
12070 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
12071 grub_ata_pio_read/write ().
12072 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
12073 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
12074
4a412913 120752009-01-13 Carles Pina i Estany <carles@pina.cat>
12076
12077 * util/grub-editenv.c (main): Use fseeko(), not fseek().
12078
7795c55e 120792009-01-13 Bean <bean123ch@gmail.com>
d913988c 12080
12081 * util/grub-mkfont.c (write_font): forget to remove some debug code.
12082
7795c55e 120832009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 12084
12085 * Makefile.in: (enable_grub_mkfont): New variable.
12086 (freetype_cflags): Likewise.
12087 (freetype_libs): Likewise.
12088
12089 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
12090 (grub_mkfont_SOURCES): New variable.
12091 (grub_mkfont_CFLAGS): Likewise.
12092 (grub_mkfont_LDFLAGS): Likewise.
12093
12094 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
12095 library if `--enable-grub-mkfont' is requested.
12096 (enable_grub_mkfont): New variable.
12097 (freetype_cflags): Likewise.
12098 (freetype_libs): Likewise.
12099
12100 * util/grub-mkfont.c: New file.
12101
093af1fe 121022009-01-12 Christian Franke <franke@computer.org>
12103
12104 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
12105 mode check. Fix setting of compat_use[].
12106
f36cc108 121072009-01-10 Robert Millan <rmh@aybabtu.com>
12108
12109 Update a few copyright years which we forgot to do in 2008 (only for
12110 files whose changes made in 2008 were copyright-significant)
12111
12112 * Makefile.in: Add 2008 to Copyright line.
12113 * disk/ieee1275/ofdisk.c: Likewise.
12114 * disk/efi/efidisk.c: Likewise.
12115 * kern/dl.c: Likewise.
12116 * kern/sparc64/ieee1275/init.c: Likewise.
12117 * kern/mm.c: Likewise.
12118 * kern/efi/mm.c: Likewise.
12119 * boot/i386/pc/boot.S: Likewise.
12120 * genfslist.sh: Likewise.
12121 * fs/iso9660.c: Likewise.
12122 * fs/hfs.c: Likewise.
12123 * fs/jfs.c: Likewise.
12124 * fs/minix.c: Likewise.
12125 * fs/ufs.c: Likewise.
12126 * gensymlist.sh.in: Likewise.
12127 * genkernsyms.sh.in: Likewise.
12128 * include/grub/misc.h: Likewise.
12129 * include/grub/types.h: Likewise.
12130 * include/grub/symbol.h: Likewise.
12131 * include/grub/elf.h: Likewise.
12132 * include/grub/kernel.h: Likewise.
12133 * include/grub/disk.h: Likewise.
12134 * include/grub/dl.h: Likewise.
12135 * include/grub/i386/linux.h: Likewise.
12136 * include/grub/i386/pc/biosdisk.h: Likewise.
12137 * include/grub/efi/api.h: Likewise.
12138 * include/grub/efi/pe32.h: Likewise.
12139 * include/grub/util/misc.h: Likewise.
12140 * normal/execute.c: Likewise.
12141 * normal/arg.c: Likewise.
12142 * normal/completion.c: Likewise.
12143 * normal/lexer.c: Likewise.
12144 * normal/parser.y: Likewise.
12145 * normal/misc.c: Likewise.
12146 * commands/i386/pc/vbeinfo.c: Likewise.
12147 * commands/hexdump.c: Likewise.
12148 * commands/terminal.c: Likewise.
12149 * commands/ls.c: Likewise.
12150 * commands/help.c: Likewise.
12151 * partmap/pc.c: Likewise.
12152 * loader/efi/chainloader.c: Likewise.
12153 * loader/multiboot_loader.c: Likewise.
12154 * loader/i386/pc/multiboot2.c: Likewise.
12155 * term/efi/console.c: Likewise.
12156 * term/i386/pc/serial.c: Likewise.
12157 * util/lvm.c: Likewise.
12158 * util/console.c: Likewise.
12159 * util/i386/efi/grub-mkimage.c: Likewise.
12160 * util/raid.c: Likewise.
12161
7f02114b 121622009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
12163
12164 * commands/videotest.c: Removed include to grub/machine/memory.h.
12165
12166 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
12167 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
12168 (video_mod_SOURCES): Removed.
12169 (video_mod_CFLAGS): Likewise.
12170 (video_mod_LDFLAGS): Likewise.
12171 (gfxterm_mod_SOURCES): Likewise.
12172 (gfxterm_mod_CFLAGS): Likewise.
12173 (gfxterm_mod_LDFLAGS): Likewise.
12174 (videotest_mod_SOURCES): Likewise.
12175 (videotest_mod_CFLAGS): Likewise.
12176 (videotest_mod_LDFLAGS): Likewise.
12177 (bitmap_mod_SOURCES): Likewise.
12178 (bitmap_mod_CFLAGS): Likewise.
12179 (bitmap_mod_LDFLAGS): Likewise.
12180 (tga_mod_SOURCES): Likewise.
12181 (tga_mod_CFLAGS): Likewise.
12182 (tga_mod_LDFLAGS): Likewise.
12183 (jpeg_mod_SOURCES): Likewise.
12184 (jpeg_mod_CFLAGS): Likewise.
12185 (jpeg_mod_LDFLAGS): Likewise.
12186 (png_mod_SOURCES): Likewise.
12187 (png_mod_CFLAGS): Likewise.
12188 (png_mod_LDFLAGS): Likewise.
12189
12190 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
12191 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
12192 (video_mod_SOURCES): Added.
12193 (video_mod_CFLAGS): Likewise.
12194 (video_mod_LDFLAGS): Likewise.
12195 (videotest_mod_SOURCES): Likewise.
12196 (videotest_mod_CFLAGS): Likewise.
12197 (videotest_mod_LDFLAGS): Likewise.
12198 (bitmap_mod_SOURCES): Likewise.
12199 (bitmap_mod_CFLAGS): Likewise.
12200 (bitmap_mod_LDFLAGS): Likewise.
12201 (tga_mod_SOURCES): Likewise.
12202 (tga_mod_CFLAGS): Likewise.
12203 (tga_mod_LDFLAGS): Likewise.
12204 (jpeg_mod_SOURCES): Likewise.
12205 (jpeg_mod_CFLAGS): Likewise.
12206 (jpeg_mod_LDFLAGS): Likewise.
12207 (png_mod_SOURCES): Likewise.
12208 (png_mod_CFLAGS): Likewise.
12209 (png_mod_LDFLAGS): Likewise.
12210 (gfxterm_mod_SOURCES): Likewise.
12211 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 12212 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 12213
12214 * term/gfxterm.c: Removed include to grub/machine/memory.h,
12215 grub/machine/console.h.
12216
644fff97 122172009-01-04 Jerone Young <jerone@gmail.com>
12218
12219 Make on screen instructions clearer
12220
12221 Based on patch created by Jidanni <jidanni@jidanni.org>
12222
12223 * normal/menu.c: print clearer instructions on the screen
12224
1e901a75 122252009-01-02 Colin D Bennett <colin@gibibit.com>
12226
12227 New font engine.
34c44600 12228
1e901a75 12229 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
12230 build system and fixed gfxterm.c to work with different sized fonts.
12231
12232 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 12233
1e901a75 12234 * configure: Re-generated.
34c44600 12235
1e901a75 12236 * DISTLIST: Removed font/manager.c.
12237 Added font/font.c.
12238 Added font/font_cmd.c.
34c44600 12239
1e901a75 12240 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
12241 compilation.
34c44600 12242
1e901a75 12243 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 12244
12245 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 12246
12247 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 12248
1e901a75 12249 * normal/menu.c: Likewise.
34c44600 12250
1e901a75 12251 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
12252 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 12253
1e901a75 12254 * include/grub/font.h: Replaced with new file.
34c44600 12255
1e901a75 12256 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
12257 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
12258 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
12259 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
12260 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 12261 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 12262 fg_red, fg_green, fg_blue, fg_alpha.
12263 (grub_video_adapter): Removed blit_glyph.
34c44600 12264 (grub_video_blit_glyph): Removed.
12265
1e901a75 12266 * font/manager.c: Removed file.
34c44600 12267
12268 * font/font.c: New file.
12269
1e901a75 12270 * font/font_cmd.c: Likewise.
34c44600 12271
1e901a75 12272 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 12273
1e901a75 12274 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
12275 (grub_video_vbe_map_rgba): Likewise.
12276 (grub_video_vbe_unmap_color_int): Likewise.
12277 (grub_video_vbe_blit_glyph): Removed.
12278 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 12279
1e901a75 12280 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
12281 (get_pixel): Likewise.
34c44600 12282 (set_pixel): Likewise.
12283
1e901a75 12284 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 12285
1e901a75 12286 * term/gfxterm.c: Adapted to new font engine.
34c44600 12287
1e901a75 12288 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 12289
1e901a75 12290 * term/i386/pc/vga.c: Likewise.
34c44600 12291
1e901a75 12292 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 12293
1e901a75 12294 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 12295
1e901a75 12296 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 12297
1e901a75 12298 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 12299
1e901a75 12300 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 12301
1e901a75 12302 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 12303
1e901a75 12304 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 12305
1e901a75 12306 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 12307
1e901a75 12308 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
12309
12310 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 12311
1e901a75 12312 * util/grub-mkconfig_lib.in: Changed font extension.
12313
278922e8 123142008-12-28 Felix Zielcke <fzielcke@z-51.de>
12315
12316 * util/getroot.c (grub_util_get_grub_dev): Add support for
12317 /dev/md/dNNpNN style partitionable mdraid devices.
12318
3ced05cf 123192008-12-12 Alex Smith <alex@alex-smith.me.uk>
12320
12321 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
12322 at a time limit of the PXE TFTP API correctly.
12323 (grub_pxefs_close): Likewise.
12324
7fd0ee30 123252008-11-29 Robert Millan <rmh@aybabtu.com>
12326
34c44600 12327 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 12328 grub_ata_device_initialize() calls.
12329
34c44600 123302008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 12331
12332 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
12333 iteration failed.
12334 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
12335
89313780 123362008-11-28 Robert Millan <rmh@aybabtu.com>
12337
12338 Fix build on powerpc-ieee1275. Based on patch created by
12339 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
12340 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
12341 `kern/ieee1275/mmap.c'.
12342 * include/grub/powerpc/ieee1275/memory.h: New file.
12343
15257703 12344 Provide grub-install on coreboot.
12345 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
12346 (grub_install_SOURCES): New variable.
12347 * util/i386/pc/grub-install.in: Add a few condition checks to make it
12348 usable on coreboot.
12349
9fc5388a 123502008-11-25 Felix Zielcke <fzielcke@z-51.de>
12351
12352 * util/grub-fstest.c (grub_term_get_current_input): Change return type
12353 to `grub_term_input_t'.
12354 (grub_term_get_current_output): Change return type to
12355 `grub_term_output_t'.
12356
bc3a2f31 123572008-11-22 Robert Millan <rmh@aybabtu.com>
12358
34c44600 12359 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 12360 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
12361 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
12362 grub_vga_text_cls().
12363
80fc88f2 12364 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 12365 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 12366
cbf36fd3 12367 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
12368 to 0x200000 (avoids trouble with some OFW implementations, and matches
12369 with the one in Yaboot).
12370 Reported by Manoel Abranches
12371
73e8e268 123722008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 12373
12374 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
12375 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
12376
73e8e268 12377 * util/grub-mkconfig_lib.in (grub_warn): New function.
12378 (convert_system_path_to_grub_path): Use grub_warn() when issuing
12379 warnings, to obtain consistent formatting.
12380 * util/grub.d/00_header.in: Likewise.
12381 * util/update-grub_lib.in: Likewise.
12382
e94045a1 12383 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 12384 Move comment text to `#error' stanza.
e94045a1 12385
79d29fd7 12386 Harmonize ieee1275's grub_available_iterate() with the generic
12387 grub_machine_mmap_iterate() interface (fixes a recently-introduced
12388 build problem on i386-ieee1275):
12389 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
12390 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
12391 parameter `type'. Update all users of this function.
12392 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
12393 `kern/ieee1275/mmap.c'.
12394 * kern/ieee1275/init.c
12395 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
12396 with ...
12397 (grub_machine_mmap_iterate): ... this.
12398 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
12399 return type to `grub_err_t'. Update all implementations of this
12400 function prototype.
12401 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
12402 Likewise.
12403
60d6b16e 12404 Add `lsmmap' command (lists firmware-provided memory map):
12405 * commands/lsmmap.c: New file.
12406 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
12407 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
12408 variables.
12409 * conf/powerpc-ieee1275.rmk: Likewise.
12410 * conf/i386-coreboot.rmk: Likewise.
12411 * conf/i386-ieee1275.rmk: Likewise.
12412
ebaaf49b 124132008-11-19 Robert Millan <rmh@aybabtu.com>
12414
12415 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 12416 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
12417 constraints to initrd allocation (based on code from
12418 loader/i386/pc/linux.c). Without them, initrd was allocated too high
12419 for Linux to find it.
ebaaf49b 12420
dfab719f 124212008-11-14 Robert Millan <rmh@aybabtu.com>
12422
12423 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
12424 order to cope with duplicate slashes.
12425
10fc3eb9 124262008-11-14 Robert Millan <rmh@aybabtu.com>
12427
12428 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
12429 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
12430 don't want to mess with lower memory, because it is used in the Linux
12431 loader.
12432
12433 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 12434 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 12435 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
12436 is in our heap (probably as a result of it being corrupted during
2f2a3442 12437 decompression). Add #error instance with comment to explain why this
12438 loader isn't currently usable on PC/BIOS.
10fc3eb9 12439
e2e07847 124402008-11-14 Robert Millan <rmh@aybabtu.com>
12441
12442 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 12443 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 12444
fe8e8d69 124452008-11-12 Robert Millan <rmh@aybabtu.com>
12446
12447 Make loader/i386/linux.c buildable on i386-pc (although disabled).
12448
12449 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
12450 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
12451 from here ...
12452 * include/grub/i386/pc/memory.h: ... to here.
12453
976b07d0 124542008-11-12 Robert Millan <rmh@aybabtu.com>
12455
12456 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
12457 split).
12458
12459 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
12460 (grub_console_cur_color, grub_console_real_putchar)
12461 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
12462 (grub_console_setcolorstate, grub_console_setcolor)
12463 (grub_console_getcolor): Move from here ...
12464 * include/grub/i386/vga_common.h: ... to here (new file).
12465
12466 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
12467 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
12468 `<grub/i386/io.h>'.
12469 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
12470 `<grub/i386/vga_common.h>'.
12471
76679cd3 124722008-11-12 Robert Millan <rmh@aybabtu.com>
12473
12474 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
12475 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
12476 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
12477 variables.
12478 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
12479 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
12480
12481 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
12482 grub_console_init() with call to grub_vga_text_init().
12483 (grub_machine_fini): Replace call to
12484 grub_console_fini() with call to grub_vga_text_fini() and
12485 grub_at_keyboard_fini().
12486
12487 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
12488 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
12489 (grub_console_setcolorstate, grub_console_setcolor)
12490 (grub_console_getcolor): New function prototypes.
12491
12492 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
12493 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
12494 (grub_vga_text_setcursor): Static-ize.
12495 (grub_vga_text_term): New structure.
12496 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
12497
12498 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
12499 (grub_console_cur_color, grub_console_standard_color)
12500 (grub_console_normal_color, grub_console_highlight_color)
12501 (map_char, grub_console_putchar, grub_console_getcharwidth)
12502 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
12503 (grub_console_getcolor): Move from here ...
12504 * term/i386/vga_common.c: ... to here (same function names).
12505
95b841d3 125062008-11-12 Robert Millan <rmh@aybabtu.com>
12507
12508 Use newly-added Multiboot support in coreboot.
12509
12510 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
12511 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
12512
12513 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
12514 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
12515 (codestart): Store the MBI in `startup_multiboot_info' when we're
12516 being loaded using Multiboot.
12517
12518 * kern/i386/coreboot/init.c (grub_machine_init): Move
12519 grub_at_keyboard_init() call to beginning of function (useful for
12520 debugging). Call grub_machine_mmap_init() before attempting to use
12521 grub_machine_mmap_iterate().
12522 (grub_lower_mem, grub_upper_mem): Move from here ...
12523 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
12524 here (new file).
12525
12526 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
12527 function prototype.
12528
761ca975 125292008-11-12 Robert Millan <rmh@aybabtu.com>
12530
12531 Fix a regression introduced by the at_keyboard.mod split. Because
12532 some terminals are default on some platforms and non-default on
12533 others, the first terminal being registered determines which is
12534 going to be default.
12535
12536 * kern/term.c (grub_term_register_input): If this is the first
12537 terminal being registered, set it as the current one.
12538 (grub_term_register_output): Likewise.
12539
12540 * term/efi/console.c (grub_console_init): Do not call
12541 grub_term_set_current_output() or grub_term_set_current_input().
12542 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
12543 * term/i386/pc/console.c (grub_console_init): Likewise.
12544 (grub_console_fini): Do not call grub_term_set_current_input()
12545 (but leave grub_term_set_current_output() to restore text mode).
12546
6c529df7 125472008-11-10 Robert Millan <rmh@aybabtu.com>
12548
12549 * util/grub.d/00_header.in: Add backward compatibility check for
12550 versions of terminal.mod that don't understand `terminal_input' or
12551 `terminal_output'.
12552
132e4113 125532008-11-09 Robert Millan <rmh@aybabtu.com>
12554
12555 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
12556 `terminal_input' / `terminal_output', not `terminal'.
12557
ac293d50 125582008-11-08 Robert Millan <rmh@aybabtu.com>
12559
12560 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 12561 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 12562
0025933a 125632008-11-08 Robert Millan <rmh@aybabtu.com>
12564
12565 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 12566 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 12567 members. Update all users.
12568 * util/console.c (grub_ncurses_term): Split in ...
12569 (grub_ncurses_term_input): ... this, and ...
12570 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 12571 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 12572
37c86336 125732008-11-08 Robert Millan <rmh@aybabtu.com>
12574
12575 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
12576 (PKGDATA): Add $(pkgdata_SRCDIR).
12577 (pkglib_BUILDDIR): New variable.
12578 (pkgdata_SRCDIR): New variable.
12579 (build_env.mk): New target.
12580 (include_DATA): New variable.
12581 (install-local): Install $(include_DATA) files in $(includedir).
12582
b6c15a2d 125832008-11-07 Pavel Roskin <proski@gnu.org>
12584
d99d46f1 12585 * gendistlist.sh: Use C locale for sorting to ensure consistent
12586 output on all systems.
12587
b6c15a2d 12588 * util/grub.d/00_header.in: Remove incorrect space before
12589 "serial".
12590
c32ee8c9 125912008-11-07 Robert Millan <rmh@aybabtu.com>
12592
12593 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
12594 per specification.
12595 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
12596 * loader/multiboot_loader.c (find_multi_boot2_header): New function
12597 (based on find_multi_boot1_header).
12598 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
12599 using find_multi_boot2_header(), and abort if neither Multiboot or
12600 Multiboot headers were found.
12601
651c29b7 126022008-11-07 Robert Millan <rmh@aybabtu.com>
12603
12604 Modularize at_keyboard.mod:
12605
12606 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
12607 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
12608 (at_keyboard_mod_LDFLAGS): New variables.
12609
12610 Actual terminal split:
12611
12612 * include/grub/term.h (struct grub_term): Split in ...
12613 (struct grub_term_input): ... this, and ...
12614 (struct grub_term_output): ... this. Update all users.
12615 (grub_term_set_current): Split in ...
12616 (grub_term_set_current_input): ... this, and ...
12617 (grub_term_set_current_output): ... this.
12618 (grub_term_get_current): Split in ...
12619 (grub_term_get_current_input): ... this, and ...
12620 (grub_term_get_current_output): ... this.
12621 (grub_term_register): Split in ...
12622 (grub_term_register_input): ... this, and ...
12623 (grub_term_register_output): ... this.
12624 (grub_term_unregister): Split in ...
12625 (grub_term_unregister_input): ... this, and ...
12626 (grub_term_unregister_output): ... this.
12627 (grub_term_iterate): Split in ...
12628 (grub_term_iterate_input): ... this, and ...
12629 (grub_term_iterate_output): ... this.
12630
12631 * kern/term.c (grub_term_list): Split in ...
12632 (grub_term_list_input): ... this, and ...
12633 (grub_term_list_output): ... this. Update all users.
12634 (grub_cur_term): Split in ...
12635 (grub_cur_term_input): ... this, and ...
12636 (grub_cur_term_output): ... this. Update all users.
12637 (grub_term_set_current): Split in ...
12638 (grub_term_set_current_input): ... this, and ...
12639 (grub_term_set_current_output): ... this.
12640 (grub_term_get_current): Split in ...
12641 (grub_term_get_current_input): ... this, and ...
12642 (grub_term_get_current_output): ... this.
12643 (grub_term_register): Split in ...
12644 (grub_term_register_input): ... this, and ...
12645 (grub_term_register_output): ... this.
12646 (grub_term_unregister): Split in ...
12647 (grub_term_unregister_input): ... this, and ...
12648 (grub_term_unregister_output): ... this.
12649 (grub_term_iterate): Split in ...
12650 (grub_term_iterate_input): ... this, and ...
12651 (grub_term_iterate_output): ... this.
12652
12653 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
12654 a check for input and one for output (and only attempt to get keys
12655 from user when input works).
12656
12657 * util/grub-probe.c (grub_term_get_current): Split in ...
12658 (grub_term_get_current_input): ... this, and ...
12659 (grub_term_get_current_output): ... this.
12660 * util/grub-fstest.c: Likewise.
12661 * util/i386/pc/grub-setup.c: Likewise.
12662 * util/grub-editenv.c: Likewise.
12663
12664 Portability adjustments:
12665
12666 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
12667 `term/i386/pc/at_keyboard.c'.
12668 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
12669 grub_keyboard_controller_init() (now handled by terminal .init).
12670 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
12671 grub_at_keyboard_init().
12672 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
12673 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
12674 at_keyboard.mod via input terminal interface).
12675 * include/grub/i386/coreboot/console.h: Convert into a stub for
12676 `<grub/i386/pc/console.h>'.
12677
12678 Migrate full terminals to new API:
12679
12680 * term/efi/console.c (grub_console_term): Split into ...
12681 (grub_console_term_input): ... this, and ...
12682 (grub_console_term_output): ... this. Update all users.
12683 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
12684 (grub_ofconsole_init): Split into ...
12685 (grub_ofconsole_init_input): ... this, and ...
12686 (grub_ofconsole_init_output): ... this.
12687 (grub_ofconsole_term): Split into ...
12688 (grub_ofconsole_term_input): ... this, and ...
12689 (grub_ofconsole_term_output): ... this. Update all users.
12690 * term/i386/pc/serial.c (grub_serial_term): Split into ...
12691 (grub_serial_term_input): ... this, and ...
12692 (grub_serial_term_output): ... this. Update all users.
12693 * term/i386/pc/console.c (grub_console_term): Split into ...
12694 (grub_console_term_input): ... this, and ...
12695 (grub_console_term_output): ... this. Update all users.
12696 (grub_console_term_input): Only enable it on PC/BIOS platform.
12697 (grub_console_init): Remove grub_keyboard_controller_init() call.
12698
12699 Migrate input terminals to new API:
12700
12701 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
12702 `i386' and `i386/pc' to enable build on x86_64 (this driver is
12703 i386-specific anyway).
12704 (grub_console_checkkey): Rename to ...
12705 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
12706 users.
12707 (grub_keyboard_controller_orig): New variable.
12708 (grub_console_getkey): Rename to ...
12709 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
12710 users.
12711 (grub_keyboard_controller_init): Static-ize. Save original
12712 controller value so that it can be restored ...
12713 (grub_keyboard_controller_fini): ... here (new function).
12714 (grub_at_keyboard_term): New structure.
12715 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
12716 functions.
12717
12718 Migrate output terminals to new API:
12719
12720 * term/i386/pc/vga.c (grub_vga_term): Change type to
12721 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
12722 members. Update all users.
12723 * term/gfxterm.c (grub_video_term): Change type to
12724 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
12725 members. Update all users.
12726 * include/grub/i386/pc/console.h (grub_console_checkkey)
12727 (grub_console_getkey): Do not export (no longer needed by gfxterm,
12728 etc).
12729
12730 Migrate `terminal' command and userland tools to new API:
12731
12732 * commands/terminal.c (grub_cmd_terminal): Split into ...
12733 (grub_cmd_terminal_input): ... this, and ...
12734 (grub_cmd_terminal_output): ... this.
12735 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
12736 `terminal_input' and `terminal_output'.
12737 * util/grub.d/00_header.in: Adjust `terminal' calls to new
12738 `terminal_input' / `terminal_output' API.
12739 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
12740 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
12741 provided ${GRUB_TERMINAL}, convert it).
12742
96e5d876 127432008-11-04 Robert Millan <rmh@aybabtu.com>
12744
12745 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
12746 for FreeBSD.
12747 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
12748
556f3775 127492008-11-03 Bean <bean123ch@gmail.com>
12750
12751 * kern/elf.c (grub_elf32_load): Revert to previous code.
12752 (grub_elf64_load): Likewise.
12753
12754 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
12755
926b9823 127562008-11-01 Robert Millan <rmh@aybabtu.com>
12757
12758 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
12759 (TARGET_CPPFLAGS): Likewise.
12760 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
12761
1432e958 127622008-11-01 Carles Pina i Estany <carles@pina.cat>
12763
12764 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
12765
dba3f844 127662008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 12767
12768 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
12769 addition of objects until the code is not going to be able to fail.
12770
dba3f844 127712008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 12772
12773 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
12774 (add a missing NULL check, and correct them by moving the pointer
12775 operations after the actual check).
12776
7ab28c21 127772008-10-29 Robert Millan <rmh@aybabtu.com>
12778
12779 * util/i386/pc/grub-install.in: Handle empty string as output from
12780 make_system_path_relative_to_its_root().
12781
1b7748eb 127822008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
12783
12784 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
12785 circular metadata worst case scenario. If the metadata is circular
12786 then copy the wrap in place.
12787 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
12788 project lib/format_text/layout.h
12789 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
12790
c9618ab2 127912008-10-03 Felix Zielcke <fzielcke@z-51.de>
12792
7a36edca 12793 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 12794
bf981c62 127952008-10-03 Felix Zielcke <fzielcke@z-51.de>
12796
12797 * util/update-grub_lib.in: Mention filename in warning message.
12798
6d994591 127992008-09-29 Felix Zielcke <fzielcke@z-51.de>
12800
12801 * NEWS: Update for rename of update-grub to grub-mkconfig.
12802
18ade780 128032008-09-29 Felix Zielcke <fzielcke@z-51.de>
12804
12805 * util/update-grub_lib.in: Copy to ...
12806 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 12807 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 12808 * util/update-grub.in: Rename to ...
12809 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
12810 option. Add `--output' option to allow users to specify the generated
12811 configuration file. Default to stdout.
12812 (update_grub_dir): Rename to ...
12813 (grub_mkconfig_dir): ... this.
12814 (grub_cfg): Default to an empty string.
12815 * conf/common.rmk (update-grub): Rename to ...
12816 (grub-mkconfig): ... this.
12817 (update-grub_lib): Copy to ...
12818 (grub-mkconfig_lib): ... this.
12819 (update-grub_SCRIPTS): Copy to ...
12820 (grub-mkconfig_SCRIPTS): ... this. Update all users.
12821 (update-grub_DATA): Rename to ...
12822 (grub-mkconfig_DATA): ... this.
12823
556ce6ac 128242008-09-28 Robert Millan <rmh@aybabtu.com>
12825
12826 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
12827 to `modified'. Add the real `created' field.
12828 (grub_iso9660_uuid): Use `modified' rather than `created' for
12829 constructing the UUID.
12830
128312008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 12832
12833 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
12834 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
12835
92274e85 128362008-09-28 Bean <bean123ch@gmail.com>
12837
12838 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
12839 Thanks to Christian Franke for finding this bug.
12840
add6f17a 128412008-09-25 Robert Millan <rmh@aybabtu.com>
12842
12843 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
12844 instances of grub_util_get_disk_name() (see previous commit).
12845
d2a367b8 128462008-09-25 Robert Millan <rmh@aybabtu.com>
12847
12848 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
12849 `util/i386/get_disk_name.c'.
12850 * conf/i386-efi.rmk: Likewise.
12851 * conf/x86_64-efi.rmk: Likewise.
12852 * conf/i386-coreboot.rmk: Likewise.
12853 * conf/i386-ieee1275.rmk: Likewise.
12854 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
12855 `util/ieee1275/get_disk_name.c'.
12856 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
12857 * util/ieee1275/get_disk_name.c: Remove file.
12858 * util/i386/get_disk_name.c: Remove file.
12859 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
12860 "hd%d" for device.map entries, rather than using
12861 grub_util_get_disk_name().
12862
81a06771 128632008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 12864
12865 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
12866 warning.
12867 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
12868
5a004279 128692008-09-24 Carles Pina i Estany <carles@pina.cat>
12870
12871 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
12872 Changed to 0x5100.
12873 (GRUB_TERM_PPAGE): Changed to 0x4900.
12874
397093d3 128752008-09-24 Robert Millan <rmh@aybabtu.com>
12876
12877 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
12878 macros (they were i386-pc specific).
12879 * include/grub/sparc64/ieee1275/console.h: Likewise.
12880 * include/grub/efi/console.h: Likewise.
12881
a91b6c7c 128822008-09-22 Bean <bean123ch@gmail.com>
12883
12884 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
12885 resident and in attribute list.
12886
12887 * include/grub/ntfs.h (BMP_LEN): Removed.
12888
c40fd116 128892008-09-22 Bean <bean123ch@gmail.com>
12890
81a06771 12891 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 12892 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
12893
12894 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
12895 error occurs, as grub_disk_open will call grub_disk_close, which will
12896 call p->close (scsi).
12897
81a06771 128982008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 12899
12900 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
12901 (AC_PREREQ): Bumped to 2.59.
12902 (AC_TRY_COMPILE): Replace obsolete macro with ...
12903 (AC_COMPILE_IFELSE): ... this.
12904 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
12905 (AC_LINK_IFELSE): ... this.
12906
5dc43410 129072008-09-21 Felix Zielcke <fzielcke@z-51.de>
12908
12909 * autogen.sh: Add a call to `gendistlist.sh'.
12910
9035dce4 129112008-09-19 Christian Franke <franke@computer.org>
12912
12913 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
12914 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
12915 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
12916 Export __enable_execute_stack() to modules.
12917 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
12918 New function.
12919
7fd75377 129202008-09-09 Felix Zielcke <fzielcke@z-51.de>
12921
040030b3 12922 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
12923 Sort the list.
12924
129252008-09-09 Felix Zielcke <fzielcke@z-51.de>
12926
12927 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 12928 #include <grub/util/hostdisk.h>.
12929
89d5ffcf 129302008-09-08 Robert Millan <rmh@aybabtu.com>
12931
12932 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
12933 segments when their filesz is zero (grub_file_read() interprets
81a06771 12934 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 12935 Use `lowest_segment' rather than 0 for calculating the current
12936 segment load address.
12937
40da438f 129382008-09-08 Robert Millan <rmh@aybabtu.com>
12939
12940 * util/hostdisk.c (open_device): Replace a grub_util_info() call
12941 with grub_dprintf("hostdisk", ...), as it was so verbose that it
12942 clobbered useful information.
12943
ddbf5556 129442008-09-08 Robert Millan <rmh@aybabtu.com>
12945
12946 * include/grub/util/biosdisk.h: Move to ...
12947 * include/grub/util/hostdisk.h: ... here. Update all users.
12948 * util/biosdisk.c: Move to ...
12949 * util/hostdisk.c: ... here. Update all users.
12950
783d0f48 129512008-09-07 Robert Millan <rmh@aybabtu.com>
12952
12953 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
12954 variables.
12955 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
12956 and length can be stored directly in the `mbi->mmap_addr' and
12957 `mbi->mmap_length' struct fields.
12958
548e2ea5 129592008-09-07 Robert Millan <rmh@aybabtu.com>
12960
12961 * conf/i386.rmk: New file. Provides declaration for building
12962 `cpuid.mod'.
12963 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
12964 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
12965 variables.
12966 Include `conf/i386.mk'.
12967 * conf/i386-efi.rmk: Likewise.
12968 * conf/x86_64-efi.rmk: Likewise.
12969 * conf/i386-coreboot.rmk: Likewise.
12970 * conf/i386-ieee1275.rmk: Likewise.
12971
0ea85a37 129722008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
12973
12974 Based on patch created by Colin D Bennett <colin@gibibit.com>.
12975 Adds optimization support for BGR based modes.
12976
12977 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
12978 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
12979 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
12980 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
12981 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
12982 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
12983 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
12984 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
12985 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
12986 (grub_video_i386_vbeblit_index_index): Likewise.
12987 (grub_video_i386_vbeblit_replace_directN): Added.
12988 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
12989 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
12990 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
12991 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
12992 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
12993 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 12994 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 12995 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
12996 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
12997 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
12998 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
12999 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
13000 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
13001
13002 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
13003 (grub_video_i386_vbefill_R8G8B8): Likewise.
13004 (grub_video_i386_vbefill_index): Likewise.
13005 (grub_video_i386_vbefill_direct32): Added.
13006 (grub_video_i386_vbefill_direct24): Likewise.
13007 (grub_video_i386_vbefill_direct16): Likewise.
13008 (grub_video_i386_vbefill_direct8): Likewise.
13009
81a06771 13010 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 13011 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
13012 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
13013 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
13014 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
13015 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 13016
0ea85a37 13017 * video/video.c (grub_video_get_blit_format): Updated to use new
13018 blit formats. Added handling for 16 bit color modes.
81a06771 13019
13020 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 13021 fillers.
13022 (common_blitter): Updated to use new blitters.
13023
13024 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
13025 Removed.
13026 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
13027 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
13028 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
13029 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
13030 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
13031 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
13032 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
13033 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
13034 (grub_video_i386_vbeblit_index_index): Likewise.
13035 (grub_video_i386_vbeblit_replace_directN): Added.
13036 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
13037 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
13038 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
13039 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
13040 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
13041 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
13042 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
13043 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
13044 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
13045 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
13046 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
13047 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
13048 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 13049
0ea85a37 13050 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
13051 (grub_video_i386_vbefill_R8G8B8): Likewise.
13052 (grub_video_i386_vbefill_index): Likewise.
13053 (grub_video_i386_vbefill_direct32): Added.
13054 (grub_video_i386_vbefill_direct24): Likewise.
13055 (grub_video_i386_vbefill_direct16): Likewise.
13056 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 13057
0ea85a37 13058 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
13059 types.
81a06771 13060
0ea85a37 13061 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
13062 types.
81a06771 13063
0ea85a37 13064 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
13065 blitter types.
81a06771 13066
0ea85a37 13067 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
13068 types.
13069
e8a83df6 130702008-09-06 Felix Zielcke <fzielcke@z-51.de>
13071
13072 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
13073 RAID level 1.
13074
6bcd8ee5 130752008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 13076
6bcd8ee5 13077 * fs/iso9660.c (grub_iso9660_date): New structure.
13078 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
13079 (grub_iso9660_uuid): New function.
c375ae58 13080
59261157 130812008-09-05 Bean <bean123ch@gmail.com>
13082
13083 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
13084
13085 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
13086 insensitive bit for names in Win32 and Win32 & DOS namespace.
13087
13088 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
13089
13090 * include/grub/types.h (LONG_MAX): Likewise.
13091
58b6645a 130922008-09-04 Felix Zielcke <fzielcke@z-51.de>
13093
4ee55921 13094 * util/getroot.c: Include <config.h>.
13095 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
13096 add support for /dev/md/N devices and handle LVM double dash escaping.
13097
130982008-09-04 Felix Zielcke <fzielcke@z-51.de>
13099
13100 * config.guess: Update to latest version from config git.
13101 * config.sub: Likewise.
58b6645a 13102
9124f65d 131032008-09-03 Robert Millan <rmh@aybabtu.com>
13104
13105 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
13106 `disk->total_sectors'.
13107
81a06771 131082008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 13109
13110 * include/grub/normal.h: Fixed incorrect comment for
13111 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
13112
81a06771 131132008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 13114
13115 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
13116 values with defines.
13117
13118 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
13119 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
13120 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
13121 (GRUB_VBE_MODEATTR_COLOR): Likewise.
13122 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
13123 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
13124 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
13125 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
13126 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
13127 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
13128 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
13129 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
13130 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
13131 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
13132 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
13133 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
13134 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
13135 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
13136 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
13137
93d5cbf8 131382008-08-31 Robert Millan <rmh@aybabtu.com>
13139
13140 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
13141 declaration.
13142 (grub_multiboot): Fix a few warnings.
13143
21751d50 131442008-08-31 Robert Millan <rmh@aybabtu.com>
13145
13146 * loader/i386/pc/multiboot.c: Update comment not to say that
13147 boot_device support is unimplemented.
13148
e27a75c5 131492008-08-31 Robert Millan <rmh@aybabtu.com>
13150
13151 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
13152 or memory map support are unimplemented.
13153
81a06771 131542008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 13155
13156 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
13157
81a06771 131582008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 13159
13160 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
13161 total video memory in 'vbeinfo' output; show color format details for
13162 each video mode.
13163
7c5d8d95 131642008-08-30 Pavel Roskin <proski@gnu.org>
13165
13166 * util/genmoddep.c: Remove for real this time.
13167 * DISTLIST: Remove util/genmoddep.c.
13168
4cebd25a 131692008-08-30 Robert Millan <rmh@aybabtu.com>
13170
13171 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
13172 as required by Multiboot spec (it was already 4-byte aligned, but
13173 only by chance).
13174
b497a269 131752008-08-29 Pavel Roskin <proski@gnu.org>
13176
e3925185 13177 * kern/powerpc/ieee1275/crt0.S: Rename to ...
13178 * kern/powerpc/ieee1275/startup.S: ... this.
13179 * conf/powerpc-ieee1275.rmk: Adjust for the above.
13180 * DISTLIST: Likewise.
13181
b497a269 13182 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
13183 grub/cpu/kernel.h. Add start label for consistency with other
13184 platforms. Add grub_prefix immediately after start. Add jump
13185 to the code after grub_prefix.
13186 * include/grub/powerpc/kernel.h: Provide valid values for
13187 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
13188
6e5a42fe 131892008-08-29 Bean <bean123ch@gmail.com>
13190
13191 * configure.ac: Change host_os to cygwin for mingw.
13192 (asprintf): New check for function.
13193
13194 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
13195 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
13196
13197 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 13198 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 13199 sync, sleep and grub_util_get_disk_size for mingw.
13200
13201 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
13202 to get size in mingw.
13203 (open_device): Use flag O_BINARY if it's defined.
13204 (find_root_device): Add dummy code for mingw.
13205
13206 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
13207 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
13208 (get_scsi_disk_name): Return 0 for mingw.
13209
13210 * util/hostfs.c: #include <grub/util/misc.h>.
13211 (grub_hostfs_open): Use "rb" flag to open file, use
13212 grub_util_get_disk_size to get disk size for mingw.
13213
13214 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
13215 (asprintf): New function if HAVE_ASPRINTF is not set.
13216 (sync): New function for mingw.
13217 (sleep): Likewise.
13218 (grub_util_get_disk_size): Likewise.
13219
ab3f2673 132202008-08-28 Pavel Roskin <proski@gnu.org>
13221
13222 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
13223 kern/time.c.
13224
1c282483 132252008-08-28 Robert Millan <rmh@aybabtu.com>
13226
13227 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
13228
678e849c 132292008-08-28 Robert Millan <rmh@aybabtu.com>
13230
13231 Change find_grub_drive() syntax so it doesn't prevent it from
13232 detecting NULL names as errors.
13233
13234 * util/biosdisk.c (find_grub_drive): Move free slot search code
13235 from here ...
13236 (find_free_slot): ... to here.
13237 (read_device_map): Use find_free_slot() to search for free slots.
13238
965c75ca 132392008-08-27 Marco Gerards <marco@gnu.org>
13240
13241 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
13242 (scsi_mod_SOURCES): New variable.
13243 (scsi_mod_CFLAGS): Likewise
13244 (scsi_mod_LDFLAGS): Likewise.
13245
13246 * disk/scsi.c: New file.
13247
13248 * include/grub/scsi.h: Likewise.
13249
13250 * include/grub/scsicmd.h: Likewise.
13251
13252 * disk/ata.c: Include <grub/scsi.h>.
13253 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
13254 instead.
13255 (grub_ata_iterate): Skip ATAPI devices.
13256 (grub_ata_open): Only handle ATAPI devices.
13257 (struct grub_atapi_read): Removed.
13258 (grub_atapi_readsector): Likewise.
13259 (grub_ata_read): No longer handle ATAPI devices.
13260 (grub_ata_write): Likewise.
13261 (grub_atapi_iterate): New function.
13262 (grub_atapi_read): Likewise.
13263 (grub_atapi_write): Likewise.
13264 (grub_atapi_open): Likewise.
13265 (grub_atapi_close): Likewise.
13266 (grub_atapi_dev): New variable.
13267 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
13268 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
13269
13270 * include/grub/disk.h (enum grub_disk_dev_id): Add
13271 `GRUB_DISK_DEVICE_SCSI_ID'.
13272
c07ae501 132732008-08-26 Robert Millan <rmh@aybabtu.com>
13274
13275 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
13276 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
13277 descriptive.
13278
5ed20adc 132792008-08-23 Bean <bean123ch@gmail.com>
13280
13281 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
13282 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
13283 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
13284 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
13285 dm_nv.mod.
13286 (raid5rec_mod_SOURCES): New macro.
13287 (raid5rec_mod_CFLAGS): Likewise.
13288 (raid5rec_mod_LDFLAGS): Likewise.
13289 (raid6rec_mod_SOURCES): Likewise.
13290 (raid6rec_mod_CFLAGS): Likewise.
13291 (raid6rec_mod_LDFLAGS): Likewise.
13292 (mdraid_mod_SOURCES): Likewise.
13293 (mdraid_mod_CFLAGS): Likewise.
13294 (mdraid_mod_LDFLAGS): Likewise.
13295 (dm_nv_mod_SOURCES): Likewise.
13296 (dm_nv_mod_CFLAGS): Likewise.
13297 (dm_nv_mod_LDFLAGS): Likewise.
13298
13299 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
13300 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
13301 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
13302
13303 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
13304 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
13305
13306 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13307
13308 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13309
13310 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13311
13312 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13313
13314 * disk/raid5_recover.c: New file.
13315
13316 * disk/raid6_recover.c: Likewise.
13317
13318 * disk/mdraid_linux.c: Likewise.
13319
13320 * disk/dmraid_nvidia.c: Likewise.
13321
13322 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
13323 ULONG_MAX.
13324
13325 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
13326 calculate the size of raid device.
13327 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
13328 different layout of raid5.
13329 (grub_raid_scan_device): Remove code specific to mdraid.
13330 (grub_raid_list): New variable.
13331 (free_array): New function.
13332 (grub_raid_register): Likewise.
13333 (grub_raid_unregister): Likewise.
13334 (grub_raid_rescan): Likewise.
13335 (GRUB_MOD_INIT): Don't iterate device here.
13336 (GRUB_MOD_FINI): Use free_array to release resource.
13337
13338 * include/grub/raid.h: Remove macro and structure specific to mdraid.
13339 (grub_raid5_recover_func_t): New function variable type.
13340 (grub_raid6_recover_func_t): Likewise.
13341 (grub_raid5_recover_func): New variable.
13342 (grub_raid6_recover_func): Likewise.
13343 (grub_raid_register): New function.
13344 (grub_raid_unregister): Likewise.
13345 (grub_raid_rescan): Likewise.
13346 (grub_raid_block_xor): Likewise.
13347
13348 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
13349 (CMD_CRC): New macro.
13350 (part): Removed.
13351 (read_file): Handle device as well as file.
13352 (cmd_crc): New function.
13353 (fstest): Handle multiple disks.
13354 (options): Remove part, raw and long, add root and diskcount.
13355 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 13356 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 13357 add handling for the new options, support multiple disks.
13358
13359 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
13360
29c18915 133612008-08-23 Bean <bean123ch@gmail.com>
13362
13363 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
13364
13365 * genfslist.sh: Ignore kernel.mod.
13366
13367 * genpartmaplist.sh: Likewise.
13368
8415f261 133692008-08-23 Robert Millan <rmh@aybabtu.com>
13370
13371 * util/getroot.c (find_root_device): Skip anything that starts with
13372 a dot, not just directories. This avoids things like /dev/.tmp.md0.
13373
d5a7dc5b 133742008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 13375
d5a7dc5b 13376 * util/update-grub.in (GRUB_GFXMODE): Export variable.
13377 * util/grub.d/00_header.in: Allow the administrator to change default
13378 gfxmode via ${GRUB_GFXMODE}.
13379
380cfbb4 133802008-08-21 Felix Zielcke <fzielcke@z-51.de>
13381
13382 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
13383
c9baafe7 133842008-08-21 Robert Millan <rmh@aybabtu.com>
13385
13386 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
13387 loader.
13388 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
13389 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
13390
e290bef2 133912008-08-20 Carles Pina i Estany <carles@pina.cat>
13392
13393 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
13394 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
13395
f9dbfc96 133962008-08-19 Robert Millan <rmh@aybabtu.com>
13397
13398 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
13399 (struct grub_virtual_screen): Remove `cursor_color'.
13400 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
13401 initialization.
13402 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
13403
dd6bd6ab 134042008-08-18 Robert Millan <rmh@aybabtu.com>
13405
13406 Unify (identical) linux_normal.c files.
13407 * loader/i386/efi/linux_normal.c: Move from here ...
13408 * loader/linux_normal.c: ... to here. Update all users.
13409 * loader/i386/pc/linux_normal.c: Delete. Update all users.
13410 * loader/i386/ieee1275/linux_normal.c: Likewise.
13411
7f42f83e 134122008-08-18 Robert Millan <rmh@aybabtu.com>
13413
13414 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
13415 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
13416 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
13417 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
13418 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
13419 New macros.
13420 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
13421 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
13422 (GRUB_LINUX_CL_END_OFFSET): ... to here.
13423 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
13424 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
13425 (GRUB_EFI_CL_END_OFFSET): Rename to ...
13426 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
13427 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
13428 Initialize `params->video_cursor_x' and `params->video_cursor_y'
13429 portably using grub_getxy().
13430 Replace `-EFI' with `-bzImage' in boot message.
13431
38487ddb 134322008-08-17 Robert Millan <rmh@aybabtu.com>
13433
13434 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
13435
deceb3ec 134362008-08-17 Robert Millan <rmh@aybabtu.com>
13437
13438 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
13439
13440 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
13441 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
13442 (grub_machine_mmap_iterate): New function declaration.
13443 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
13444 structure.
13445 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
13446 macros.
13447
13448 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
13449 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
13450 Move e820 parsing from here ...
13451 * kern/i386/pc/mmap.c: New file.
13452 (grub_machine_mmap_iterate): ... to here.
13453
13454 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
13455 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
13456 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
13457 (grub_available_iterate): Redeclare to return `void', and redeclare
13458 its hook to use grub_uint64_t as addr and size parameters, and rename
13459 to ...
13460 (grub_machine_mmap_iterate): ... this. Update all users.
13461
13462 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
13463 to make it more readable. Rename to ...
13464 (grub_machine_mmap_iterate): ... this.
13465
13466 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
13467 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
13468 (grub_multiboot): Allocate an extra region after the payload, and fill
13469 it with a Multiboot memory map. Adjust a.out loader to calculate size
13470 with the extra space.
13471 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
13472 with the extra space.
13473
f8aa0f43 134742008-08-17 Carles Pina i Estany <carles@pina.cat>
13475
9807deb9 13476 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 13477
605f5bb6 134782008-08-17 Felix Zielcke <fzielcke@z-51.de>
13479
13480 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
13481 mdate-sh to the list `find' searches for.
13482 * DISTLIST: Regenerated.
13483
210db6c6 134842008-08-16 Felix Zielcke <fzielcke@z-51.de>
13485
13486 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
13487 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 13488 genmoddep.awk, gensymlist.sh.in.
13489 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 13490 * DISTLIST: Regenerated.
48cdbfd4 13491 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 13492
1082b929 134932008-08-16 Robert Millan <rmh@aybabtu.com>
13494
13495 * disk/raid.c (grub_raid_init): Handle/report errors set by
13496 grub_device_iterate().
13497 * disk/lvm.c (grub_lvm_init): Likewise.
13498
42ce5170 134992008-08-15 Bean <bean123ch@gmail.com>
13500
13501 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
13502 and datehook.mod.
13503 (datetime_mod_SOURCES): New macro.
13504 (datetime_mod_CFLAGS): Likewise.
13505 (datetime_mod_LDFLAGS): Likewise.
13506 (date_mod_SOURCES): Likewise.
13507 (date_mod_CFLAGS): Likewise.
13508 (date_mod_LDFLAGS): Likewise.
13509 (datehook_mod_SOURCES): Likewise.
13510 (datehook_mod_CFLAGS): Likewise.
13511 (datehook_mod_LDFLAGS): Likewise.
13512
13513 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
13514 and datehook.mod.
13515 (datetime_mod_SOURCES): New macro.
13516 (datetime_mod_CFLAGS): Likewise.
13517 (datetime_mod_LDFLAGS): Likewise.
13518 (date_mod_SOURCES): Likewise.
13519 (date_mod_CFLAGS): Likewise.
13520 (date_mod_LDFLAGS): Likewise.
13521 (datehook_mod_SOURCES): Likewise.
13522 (datehook_mod_CFLAGS): Likewise.
13523 (datehook_mod_LDFLAGS): Likewise.
13524
13525 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
13526 and datehook.mod.
13527 (datetime_mod_SOURCES): New macro.
13528 (datetime_mod_CFLAGS): Likewise.
13529 (datetime_mod_LDFLAGS): Likewise.
13530 (date_mod_SOURCES): Likewise.
13531 (date_mod_CFLAGS): Likewise.
13532 (date_mod_LDFLAGS): Likewise.
13533 (datehook_mod_SOURCES): Likewise.
13534 (datehook_mod_CFLAGS): Likewise.
13535 (datehook_mod_LDFLAGS): Likewise.
13536
13537 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
13538 and datehook.mod.
13539 (datetime_mod_SOURCES): New macro.
13540 (datetime_mod_CFLAGS): Likewise.
13541 (datetime_mod_LDFLAGS): Likewise.
13542 (date_mod_SOURCES): Likewise.
13543 (date_mod_CFLAGS): Likewise.
13544 (date_mod_LDFLAGS): Likewise.
13545 (datehook_mod_SOURCES): Likewise.
13546 (datehook_mod_CFLAGS): Likewise.
13547 (datehook_mod_LDFLAGS): Likewise.
13548
13549 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
13550 and datehook.mod.
13551 (datetime_mod_SOURCES): New macro.
13552 (datetime_mod_CFLAGS): Likewise.
13553 (datetime_mod_LDFLAGS): Likewise.
13554 (date_mod_SOURCES): Likewise.
13555 (date_mod_CFLAGS): Likewise.
13556 (date_mod_LDFLAGS): Likewise.
13557 (datehook_mod_SOURCES): Likewise.
13558 (datehook_mod_CFLAGS): Likewise.
13559 (datehook_mod_LDFLAGS): Likewise.
13560
13561 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
13562
13563 * commands/date.c: New file.
13564
13565 * hook/datehook.c: Likewise.
13566
13567 * include/grub/lib/datetime.h: Likewise.
13568
13569 * include/grub/i386/cmos.h: Likewise.
13570
13571 * lib/datetime.c: Likewise.
13572
13573 * lib/i386/datetime.c: Likewise.
13574
13575 * lib/efi/datetime.c: Likewise.
13576
0e9242da 135772008-08-14 Robert Millan <rmh@aybabtu.com>
13578
13579 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
13580 (grub_mkelfimage_SOURCES): New variable.
13581 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
13582
13583 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
13584 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
13585 * conf/powerpc-ieee1275.rmk: Likewise.
13586 * conf/i386-ieee1275.rmk: Likewise.
13587
13588 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
13589 * kern/i386/coreboot/init.c: Likewise.
13590
13591 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
13592 with `<grub/cpu/kernel.h>'.
13593 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
13594 to ...
13595 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
13596 * kern/i386/coreboot/startup.S: Likewise.
13597
13598 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
13599 (GRUB_MOD_GAP): Remove.
13600 * include/grub/powerpc/kernel.h: New file.
13601 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
13602 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
13603 * include/grub/i386/kernel.h: New file.
13604 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
13605 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
13606 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
13607
13608 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
13609 `grub-mkelfimage'.
13610 Use --directory when invoking grub_mkimage.
13611
13612 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
13613 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
13614 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
13615 and GRUB_KERNEL_CPU_PREFIX.
13616
b86408f8 136172008-08-14 Felix Zielcke <fzielcke@z-51.de>
13618
d5e619ca 13619 * include/grub/err.h (grub_err_printf): New function prototype.
13620 * util/misc.c (grub_err_printf): New function.
13621 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
13622 grub_printf.
13623 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 13624
7161f0e0 136252008-08-13 Robert Millan <rmh@aybabtu.com>
13626
13627 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
13628
a1967522 136292008-08-13 Robert Millan <rmh@aybabtu.com>
13630
13631 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
13632 boot entry.
13633
371458b5 136342008-08-12 Robert Millan <rmh@aybabtu.com>
13635
13636 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
13637 of the relocation code from here ...
13638 (grub_multiboot): ... to here.
13639 (forward_relocator, backward_relocator): Move from here ...
13640 * kern/i386/loader.S (grub_multiboot_forward_relocator)
13641 (grub_multiboot_backward_relocator): ... to here.
13642 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
13643 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
13644 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
13645 (grub_multiboot_forward_relocator_end)
13646 (grub_multiboot_backward_relocator)
13647 (grub_multiboot_backward_relocator_end): New variables.
13648
05f9452b 136492008-08-12 Bean <bean123ch@gmail.com>
13650
13651 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
13652
20024ab0 136532008-08-11 Robert Millan <rmh@aybabtu.com>
13654
13655 * kern/i386/linuxbios/startup.S: Move from here ...
13656 * kern/i386/coreboot/startup.S: ... to here.
13657
13658 * kern/i386/linuxbios/init.c: Move from here ...
13659 * kern/i386/coreboot/init.c: ... to here.
13660
13661 * kern/i386/linuxbios/table.c: Move from here ...
13662 * kern/i386/coreboot/mmap.c: ... to here.
13663
13664 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
13665
e352e9cd 136662008-08-11 Robert Millan <rmh@aybabtu.com>
13667
13668 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
13669 errors. Leave it to the upper layer to handle them.
13670
2d05bc6a 136712008-08-09 Christian Franke <franke@computer.org>
13672
13673 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
13674 * conf/common.rmk: Install `grub-pe2elf' only if requested.
13675 Install `grub.d/10_windows' only on Cygwin.
13676 * configure.ac: Add subst of `target_os'.
13677 Check `target_os' also before setting TARGET_OBJ2ELF.
13678 Add `--enable-grub-pe2elf'.
13679
042bd419 136802008-08-08 Robert Millan <rmh@aybabtu.com>
13681
13682 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
13683 (grub_last_time): Change type to grub_uint64_t.
13684 (grub_disk_open): Migrate code from to using grub_get_time_ms().
13685 (grub_disk_close): Likewise.
13686
13687 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
13688 (run_menu): Migrate code from to using grub_get_time_ms().
13689
13690 * util/misc.c (grub_get_time_ms): New function.
13691
7f280db5 136922008-08-08 Marco Gerards <marco@gnu.org>
13693
13694 * disk/ata.c (grub_ata_regget): Change return type to
13695 `grub_uint8_t'.
13696 (grub_ata_regget2): Likewise.
13697 (grub_ata_wait_status): New function.
13698 (grub_ata_wait_busy): Removed function, updated all users to use
13699 `grub_ata_wait_status'.
13700 (grub_ata_wait_drq): Likewise.
13701 (grub_ata_cmd): New function.
13702 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
13703 error handling.
13704 (grub_ata_pio_write): Add error handling.
13705 (grub_atapi_identify): Likewise.
13706 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
13707 handling.
13708 (grub_ata_identify): Use `grub_ata_cmd' and improve error
13709 handling. Actually use the detected registers. Reorder the
13710 detection logic such that it is easier to read.
13711 (grub_ata_pciinit): Do not assign the same ID to each controller.
13712 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
13713 handling.
13714 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
13715
13716 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
13717
1fbc5e66 137182008-08-08 Marco Gerards <marco@gnu.org>
13719
13720 * NEWS: Update.
13721
819ce6c0 137222008-08-07 Bean <bean123ch@gmail.com>
13723
13724 * include/grub/x86_64/pci.h: New file.
13725
5c41d44d 137262008-08-07 Christian Franke <franke@computer.org>
13727
13728 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
13729 (TIMER2_GATE): Likewise.
13730 (grub_pit_wait): Add enable/disable of the timer2 gate
13731 bit of port 0x61. This fixes a possible infinite loop.
13732
5ebc275d 137332008-08-07 Bean <bean123ch@gmail.com>
13734
13735 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
13736 kern/i386/tsc.c and kern/i386/pit.c.
13737
13738 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
13739 x86_64 platform.
13740
13741 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
13742 <grub/i386/tsc.h>.
13743
13744 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
13745
e383b3d0 137462008-08-07 Bean <bean123ch@gmail.com>
13747
13748 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
13749
13750 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
13751
13752 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
13753 multiple inclusion. Add #include <grub/types.h>.
13754
1cbb58ac 137552008-08-06 Christian Franke <franke@computer.org>
13756
13757 * conf/common.rmk: Build and install `10_windows'.
13758 * util/grub.d/10_windows.in: New script.
13759
337f5a1e 137602008-08-06 Pavel Roskin <proski@gnu.org>
13761
13762 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
13763
057bc4ac 137642008-08-06 Robert Millan <rmh@aybabtu.com>
13765
13766 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
13767 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
13768
2b99f123 137692008-08-06 Bean <bean123ch@gmail.com>
13770
13771 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
13772 (grub_pxefs_fs_int): Remove dummy definition.
13773 (grub_pxefs_open): Use data->block_size to store the current block
13774 size setting.
13775 (grub_pxefs_read): Use block size stored in data->block_size. As the
13776 value of grub_pxe_blksize can be changed after the file is opened.
13777
9f0234cb 137782008-08-06 Bean <bean123ch@gmail.com>
13779
13780 * fs/i386/pc/pxe.c (curr_file): new variable.
13781 (grub_pxefs_open): Simply the handling of pxe file system. Don't
13782 require the dummy internal file system anymore.
13783 (grub_pxefs_read): Removed.
13784 (grub_pxefs_close): Likewise.
13785 (grub_pxefs_fs_int): Likewise.
13786 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
13787 connection when we switch file.
13788 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
13789
a55d42e0 137902008-08-06 Robert Millan <rmh@aybabtu.com>
13791
13792 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
13793 `halt.mod'.
13794 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
13795 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
13796
13797 * kern/i386/halt.c: New file.
13798 * kern/i386/reboot.c: Likewise.
13799 * include/grub/i386/reboot.h: Likewise.
13800 * include/grub/i386/halt.h: Likewise.
13801
13802 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
13803 Include `<grub/cpu/halt.h>'.
13804 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
13805 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
13806
13807 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
13808 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
13809 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
13810 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
13811 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
13812 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
13813 from here ...
13814 * include/grub/i386/at_keyboard.h: ... to here.
13815
24371d26 138162008-08-05 Robert Millan <rmh@aybabtu.com>
13817
13818 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
13819 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
13820 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
13821 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
13822 `kern/generic/millisleep.c'.
13823
13824 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
13825 instead of grub_get_rtc().
13826 (grub_tsc_init): Initialize `tsc_boot_time'.
13827
13828 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
13829 (grub_machine_init): Use grub_tsc_init() rather than
13830 installing an RTC-based handler via grub_install_get_time_ms().
13831
13832 * kern/i386/pit.c: New file.
13833 * include/grub/i386/pit.h: Likewise.
13834
9e7007b3 138352008-08-05 Bean <bean123ch@gmail.com>
13836
13837 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
13838
13839 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
13840 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
13841 (pxe_mod_SOURCES): New macro.
13842 (pxe_mod_CFLAGS): Likewise.
13843 (pxe_mod_LDFLAGS): Likewise.
13844 (pxecmd_mod_SOURCES): Likewise.
13845 (pxecmd_mod_CFLAGS): Likewise.
13846 (pxecmd_mod_LDFLAGS): Likewise.
13847
13848 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
13849 (grub_pxe_call): Likewise.
13850
13851 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
13852
13853 * commands/i386/pc/pxecmd.c: New file.
13854
9f0234cb 13855 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 13856
13857 * include/grub/i386/pc/pxe.h: Likewise.
13858
6977d49f 138592008-08-05 Bean <bean123ch@gmail.com>
13860
13861 * util/console.c (grub_console_cur_color): New variable.
13862 (grub_console_standard_color): Likewise.
13863 (grub_console_normal_color): Likewise.
13864 (grub_console_highlight_color): Likewise.
13865 (color_map): Likewise.
13866 (use_color): Likewise.
13867 (NUM_COLORS): New macro.
13868 (grub_ncurses_setcolorstate): Handle color properly.
13869 (grub_ncurses_setcolor): Don't change color here, just remember the
13870 settings, color will be set in grub_ncurses_setcolorstate.
13871 (grub_ncurses_getcolor): New function.
13872 (grub_ncurses_init): Initialize color pairs.
13873 (grub_ncurses_term): New member grub_ncurses_getcolor.
13874
9c2ff3ee 138752008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 13876
9c2ff3ee 13877 High resolution timer support. Implemented for x86 CPUs using TSC.
13878 Extracted generic grub_millisleep() so it's linked in only as needed.
13879 This requires a Pentium compatible CPU; if the RDTSC instruction is
13880 not supported, then it falls back on the generic grub_get_time_ms()
13881 implementation that uses the machine's RTC.
13882
13883 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
13884 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
13885 `kern/generic/millisleep.c'.
13886
13887 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
13888 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
13889
13890 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
13891 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
13892
13893 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
13894
13895 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
13896 `kern/generic/millisleep.c'.
13897
13898 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
13899
13900 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
13901
13902 * kern/generic/rtc_get_time_ms.c: New file.
13903
13904 * kern/generic/millisleep.c: New file.
337f5a1e 13905
9c2ff3ee 13906 * kern/misc.c: Don't include
13907 <kern/time.h> anymore.
13908 (grub_millisleep_generic): Removed.
13909
13910 * commands/sleep.c (grub_interruptible_millisleep): Uses
13911 grub_get_time_ms() instead of grub_get_rtc().
13912
13913 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
13914 function.
13915 (grub_cpu_is_cpuid_supported): New inline function.
13916 (grub_cpu_is_tsc_supported): New inline function.
13917 (grub_tsc_init): New function prototype.
13918 (grub_tsc_get_time_ms): New function prototype.
13919
13920 * kern/i386/tsc.c (grub_get_time_ms): New file.
13921
13922 * include/grub/time.h: Include <grub/types.h.
13923 (grub_millisleep_generic): Removed.
13924 (grub_get_time_ms): New prototype.
13925 (grub_install_get_time_ms): New prototype.
13926 (grub_rtc_get_time_ms): New prototype.
13927
13928 * kern/time.c (grub_get_time_ms): New function.
13929 (grub_install_get_time_ms): New function.
13930
13931 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
13932 <grub/time.h> anymore.
13933 (grub_millisleep): Removed.
13934 (grub_machine_init): Call grub_tsc_init.
13935
13936 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
13937 get_time_ms() implementation.
13938
13939 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
13940 (ieee1275_get_time_ms): New function.
13941 (grub_machine_init): Install get_time_ms() implementation.
13942
13943 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
13944 (grub_machine_init): Call grub_tsc_init().
13945 (grub_millisleep): Removed.
bf06a93f 13946
9c2ff3ee 13947 * kern/ieee1275/init.c (grub_millisleep): Removed.
13948 (grub_machine_init): Install ieee1275_get_time_ms()
13949 implementation.
13950 (ieee1275_get_time_ms): New function.
13951 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
13952 real work.
13953
9ec92aaf 139542008-08-05 Marco Gerards <marco@gnu.org>
13955
13956 * disk/ata.c: Include <grub/pci.h>.
13957 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
13958 (grub_ata_initialize): Rewritten.
13959 (grub_ata_device_initialize): New function.
13960
8d23f507 139612008-08-04 Pavel Roskin <proski@gnu.org>
13962
13963 * kern/main.c: Include grub/mm.h.
13964
5e15ee3d 139652008-08-04 Robert Millan <rmh@aybabtu.com>
13966
13967 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
13968 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
13969 corruption problem).
13970
a9053f8f 139712008-08-04 Robert Millan <rmh@aybabtu.com>
13972
13973 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
13974 warnings introduced in my last commit.
13975
dd19c7d7 139762008-08-03 Robert Millan <rmh@aybabtu.com>
13977
13978 Make PCI available on all i386 architectures.
13979
13980 * include/grub/i386/pc/pci.h: Move from here ...
13981 * include/grub/i386/pci.h: ... to here.
13982
13983 * include/grub/i386/pc/pci.h: Remove.
13984 * include/grub/i386/efi/pci.h: Remove.
13985 * include/grub/x86_64/efi/pci.h: Remove.
13986
13987 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
13988 `<grub/cpu/pci.h>'.
13989
13990 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
13991 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
13992 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
13993
13994 * conf/i386-ieee1275.rmk: Likewise.
13995
e14a6184 139962008-08-03 Robert Millan <rmh@aybabtu.com>
13997
13998 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
13999 (grub_console_setcursor): Make it possible to set cursor off.
14000
52768e37 140012008-08-03 Robert Millan <rmh@aybabtu.com>
14002
14003 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
14004 of modules instead of assuming which platform provides what.
14005 * util/update-grub.in: Likewise.
14006
2d52f57f 140072008-08-03 Robert Millan <rmh@aybabtu.com>
14008
14009 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
14010 instead of `grub_install_dos_part' to determine whether a drive needs
14011 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 14012 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 14013
2a5cd121 140142008-08-02 Robert Millan <rmh@aybabtu.com>
14015
14016 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
14017
93808428 140182008-08-02 Robert Millan <rmh@aybabtu.com>
14019
14020 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
14021 of informational grub_dprintf() calls.
14022
3bd0a12a 140232008-08-02 Robert Millan <rmh@aybabtu.com>
14024
14025 * disk/memdisk.c (memdisk_size): Don't initialize.
14026 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
14027
14028 * include/grub/i386/pc/kernel.h
14029 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
14030 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
14031 (grub_memdisk_image_size, grub_arch_memdisk_addr)
14032 (grub_arch_memdisk_size): Remove.
14033
14034 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
14035 field (was only used to transfer a constant). Add `type' field to
14036 support multiple module types.
14037 (grub_module_iterate): New function.
14038
14039 * kern/device.c (grub_device_open): Do not hide error messages
14040 when grub_disk_open() fails. Use grub_print_error() instead.
14041
14042 * kern/i386/pc/init.c (grub_arch_modules_addr)
14043 (grub_arch_memdisk_size): Remove functions.
14044 (grub_arch_modules_addr): Return the module address in high memory
14045 (now that it isn't copied anymore).
14046
14047 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
14048 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
14049 decompression routine (grub_total_module_size already includes that
14050 now). Don't copy modules back to low memory.
14051
14052 * kern/main.c: Include `<grub/mm.h>'.
14053 (grub_load_modules): Split out (and use) ...
14054 (grub_module_iterate): ... this function, which iterates through
14055 module objects and runs a hook.
14056 Comment out grub_mm_init_region() call, as it would cause non-ELF
14057 modules to be overwritten.
14058
14059 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
14060 the memdisk image in its own region, make it part of the module list.
14061 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
14062 (main): Parse --memdisk|-m option, and pass user-provided path as
14063 parameter to generate_image().
14064 (add_segments): Pass `memdisk_path' down to load_modules().
14065 (load_modules): Embed memdisk image in module section when requested.
14066 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
14067 `header.type' instead of `header.offset'.
14068
14069 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
14070 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
14071 (memdisk_mod_LDFLAGS): New variables.
14072 * conf/i386-coreboot.rmk: Likewise.
14073 * conf/i386-ieee1275.rmk: Likewise.
14074
a927cc73 140752008-08-02 Robert Millan <rmh@aybabtu.com>
14076
14077 * loader/i386/pc/multiboot.c (playground, forward_relocator)
14078 (backward_relocator): New variables. Used to allocate and relocate
14079 the payload, respectively.
14080 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 14081 address, install the appropriate relocator code in each bound of
a927cc73 14082 the payload, and set the entry point such that
14083 grub_multiboot_real_boot() will jump to one of them.
14084
14085 * kern/i386/loader.S (grub_multiboot_payload_size)
14086 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
14087 (grub_multiboot_payload_entry_offset): New variables.
14088 (grub_multiboot_real_boot): Set cpu context to what the relocator
14089 expects, and jump to the relocator instead of the payload.
14090
14091 * include/grub/i386/loader.h (grub_multiboot_payload_size)
14092 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
14093 (grub_multiboot_payload_entry_offset): Export.
14094
b15d8a0c 140952008-08-01 Bean <bean123ch@gmail.com>
14096
14097 * normal/menu_entry.c (editor_getline): Don't return the original
14098 string as result, as it will be released by lexer once it has done
14099 using it.
14100
cdfb3d22 141012008-08-01 Robert Millan <rmh@aybabtu.com>
14102
14103 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
14104 within menuentries, not before them.
14105 util/grub.d/10_hurd.in: Likewise.
14106
9175e93d 141072008-08-01 Bean <bean123ch@gmail.com>
14108
14109 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
14110 (bufio_mod_SOURCES): New macro.
14111 (bufio_mod_CFLAGS): Likewise.
14112 (bufio_mod_LDFLAGS): Likewise.
14113
14114 * include/grub/bufio.h: New file.
14115
14116 * io/bufio.c: Likewise.
14117
14118 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
14119 (grub_video_reader_png): Use grub_buffile_open to open file.
14120
14121 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
14122 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
14123
14124 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
14125 (grub_video_reader_tga): Use grub_buffile_open to open file.
14126
14127 * font/manager.c: Include <grub/bufio.h>.
14128 (add_font): Use grub_buffile_open to open file.
14129
3d8383e7 141302008-07-31 Robert Millan <rmh@aybabtu.com>
14131
14132 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
14133 ELF segments, use a macro for arbitrarily accessing any of them instead
14134 of preparing a pointer that allows access to one at a time.
14135 (grub_multiboot_load_elf64): Likewise.
14136
16e641b6 141372008-07-31 Bean <bean123ch@gmail.com>
14138
14139 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
14140 GRUB_KERNEL_MACHINE_DATA_END.
14141
59198b72 141422008-07-30 Robert Millan <rmh@aybabtu.com>
14143
14144 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
14145 Increase from 0x50 to 0x60.
14146 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
14147 use UUIDs to identify the root drive for them. If that's not
14148 possible, abort.
14149 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
14150 check, for cross-disk installs.
14151
ae88bca3 141522008-07-30 Robert Millan <rmh@aybabtu.com>
14153
14154 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
14155 is non-empty, use it to set the `prefix' environment variable instead
14156 of the usual approach.
14157 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
14158 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
14159 environment variable instead of dummy make_install_device().
14160
14161 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
14162 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 14163 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 14164
14165 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
14166 New variable reference.
14167 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
14168 New macro. Defines offset of `grub_prefix' within startup.S (relative
14169 to `start').
14170 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
14171 section within startup.S (relative to `start').
14172 * include/grub/i386/coreboot/kernel.h: Likewise.
14173
14174 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
14175 Overwrite grub_prefix with its contents, at the beginning of the
14176 first segment.
14177 (main): Understand -p|--prefix.
14178
14f41dd1 141792008-07-30 Robert Millan <rmh@aybabtu.com>
14180
14181 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
14182
4ca049a3 141832008-07-30 Robert Millan <rmh@aybabtu.com>
14184
14185 * term/i386/pc/vga_text.c (grub_console_cls): Use
14186 grub_console_gotoxy() to go back to beginning of the screen.
14187 Found by Patrick Georgi <patrick.georgi@coresystems.de>
14188
2921d337 141892008-07-29 Christian Franke <franke@computer.org>
14190
14191 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
14192 Add conversion of emulated mount points on Cygwin.
14193
b609876d 141942008-07-29 Christian Franke <franke@computer.org>
14195
14196 * util/update-grub.in: Add a check for admin
14197 group on Cygwin.
14198 Remove old `grub.cfg.new' before creation.
14199 Add `-f' to `mv' to handle the different filesystem
14200 semantics of Windows.
14201
e93e4679 142022008-07-29 Bean <bean123ch@gmail.com>
14203
14204 * normal/main.c (get_line): Fix buffer overflow bug.
14205
41694fd0 142062008-07-28 Robert Millan <rmh@aybabtu.com>
14207
14208 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
14209 (struct grub_apple_header): New struct. Describes the layout of
14210 the partmap header.
14211 (apple_partition_map_iterate): Check the header magic as well as the
14212 partition magic (which was already being checked).
14213
cfd0b4e6 142142008-07-28 Pavel Roskin <proski@gnu.org>
14215
14216 * genmk.rb: Add a warning to the beginning of the output that
14217 it's a generated file and should not be edited.
14218
93cce016 142192008-07-28 Robert Millan <rmh@aybabtu.com>
14220
14221 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
14222 with the same number are found, just use issue a warning with
14223 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 14224
cd1df915 142252008-07-27 Robert Millan <rmh@aybabtu.com>
14226
14227 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
14228 information.
14229
b70a8427 142302008-07-27 Bean <bean123ch@gmail.com>
14231
14232 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
14233 (grub_fat_find_dir): Ignore case when comparing filename.
14234
8f5e379f 142352008-07-27 Bean <bean123ch@gmail.com>
14236
14237 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
14238 smallino, as it's more descriptive, and i8count can be confused with
14239 the other field count.
14240 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
14241 inode type.
14242
a85cd5a0 142432008-07-27 Bean <bean123ch@gmail.com>
14244
14245 * commands/crc.c: New file.
14246
14247 * lib/crc.c: Likewise.
14248
14249 * include/grub/lib/crc.h: Likewise.
14250
14251 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
14252
14253 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
14254 (hexdump): Move this function to ...
14255
14256 * lib/hexdump.c: ... here.
14257
14258 * include/grub/hexdump.h: Renamed to ...
14259
14260 * include/grub/lib/hexdump.h: ... this.
14261
14262 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
14263
14264 * util/grub-editenv.c: Likewise.
14265
14266 * include/envblk.h: Renamed to ...
14267
14268 * include/lib/envblk.h: ... this.
14269
14270 * util/envblk.c: Renamed to ...
14271
14272 * lib/envblk.c: ... this.
14273
14274 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
14275 lib/hexdump.c.
14276 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
14277 (pkglib_MODULES): Add crc.mod.
14278 (hexdump_mod_SOURCES): Add lib/hexdump.c.
14279 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
14280 (crc_mod_SOURCES): New macro.
14281 (crc_mod_CFLAGS): Likewise.
14282 (crc_mod_LDFLAGS): Likewise.
14283
14284 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
14285
14286 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14287
14288 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14289
14290 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14291
14292 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14293
c298def0 142942008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 14295
14296 * commands/help.c: Include <grub/term.h>.
14297 (TERM_WIDTH): Removed. Updated all users.
14298
cc349fb3 142992008-07-27 Pavel Roskin <proski@gnu.org>
14300
14301 * util/getroot.c (find_root_device): Rephrase a comment to avoid
14302 spurious warnings about a comment within a comment.
14303
9051607e 143042008-07-25 Robert Millan <rmh@aybabtu.com>
14305
14306 * util/getroot.c (find_root_device): Skip devices that match
14307 /dev/dm-[0-9]. This lets the real device be found for any type of
14308 abstraction (LVM, EVMS, RAID..).
14309 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
14310 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
14311 device is found first, find_root_device() will now skip it.
14312
01453bfc 143132008-07-24 Pavel Roskin <proski@gnu.org>
14314
14315 * include/grub/types.h: Use __builtin_bswap32() and
14316 __builtin_bswap64() with gcc 4.3 and newer.
14317
6af9849f 143182008-07-24 Christian Franke <franke@computer.org>
14319
3a0fa256 14320 * util/i386/pc/grub-install.in: If `--debug' is specified,
14321 pass `--verbose' to grub-setup.
14322 Abort script if make_system_path_relative_to_its_root() fails.
14323
7810e747 143242008-07-24 Bean <bean123ch@gmail.com>
14325
14326 * configure.ac: Fixed a bug caused by the previous cygwin patch,
14327 variable `target_platform' should be `platform'.
14328
42290e17 143292008-07-24 Bean <bean123ch@gmail.com>
14330
51cc5193 14331 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 14332 (grub_png_init_fixed_block): New function.
14333 (grub_png_decode_image_data): Handle fixed huffman code compression.
14334
2a8a80e4 143352008-07-24 Bean <bean123ch@gmail.com>
14336
14337 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
14338 (grub_pe2elf_SOURCES): New macro.
14339 (CLEANFILES): Add grub-pe2elf.
14340
14341 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
14342 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
14343 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
14344 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
14345 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
14346 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
14347 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
14348 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
14349 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
14350 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
14351 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
14352 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
14353 (GRUB_PE32_DT_FUNCTION): Likewise.
14354 (GRUB_PE32_REL_I386_DIR32): Likewise.
14355 (GRUB_PE32_REL_I386_REL32): Likewise.
14356 (grub_pe32_symbol): New structure.
14357 (grub_pe32_reloc): Likewise.
14358
14359 * util/grub-pe2elf.c: New file.
14360
14361 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
14362 start symbol in non pc platform.
14363
14364 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
14365
14366 The following patches are from Christian Franke.
14367
14368 * include/grub/dl.h: Remove .previous, gas supports this only
14369 for ELF format.
14370
14371 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
14372 Remove .type, gas supports this only for ELF format.
14373
14374 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
14375 nullbytes in symbol table. This fixes an infinite loop if table is
14376 zero filled.
14377
14378 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
14379 TARGET_IMG_LDFLAGS and EXEEXT.
14380
14381 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
14382 TARGET_IMG_LDFLAGS_AC.
14383 (grub_CHECK_STACK_ARG_PROBE): New function.
14384
14385 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
14386
14387 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
14388
14389 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
14390 to set TARGET_IMG_LD* accordingly.
14391 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
14392 Add call to grub_CHECK_STACK_ARG_PROBE.
14393 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
14394
14395 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
14396
14397 * genmk.rb: Add EXEEXT to CLEANFILES.
14398
12ccdb75 143992008-07-23 Robert Millan <rmh@aybabtu.com>
14400
14401 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
14402 define the codes for arrows and lines used for the menu).
14403 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
14404 as well.
14405
14406 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
14407 fonts, because the latter are too slow.
14408
18eeaf04 144092008-07-21 Bean <bean123ch@gmail.com>
14410
14411 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
14412 a20. Run keyboard test last, as it will cause macbook to halt.
14413
b095e2ad 144142008-07-18 Pavel Roskin <proski@gnu.org>
14415
14416 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
14417 load foreign architecture modules correctly anyway. Keep
14418 support for loading host architecture modules, whether we
14419 compile them or not.
14420
737feb35 144212008-07-17 Pavel Roskin <proski@gnu.org>
14422
3f4ce737 14423 * configure.ac: Use -m32 or -m64 regardless of whether we had to
14424 change target_cpu. The compiler default can mismatch target_cpu
14425 in any case.
14426
4ad2d049 14427 * disk/efi/efidisk.c: Fix format warnings on x86_64.
14428 * kern/efi/efi.c: Likewise.
14429
f6130a12 14430 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
14431 target compiler is functional.
14432 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
14433 are set up.
14434
58393a2d 14435 * configure.ac: Default to efi platform for x86_64-apple. Allow
14436 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
14437 adjustments from the rest, only do them if target is not
14438 explicitly given. Merge other adjustments with the final sanity
14439 check. Remove an extraneous check for supported CPU. Be
14440 specific which CPU and which platform is not supported.
14441
737feb35 14442 * configure.ac: Default to pc platform for x86_64.
14443
546f966a 144442008-07-17 Robert Millan <rmh@aybabtu.com>
14445
14446 Partial LinuxBIOS -> Coreboot rename.
14447
14448 * conf/i386-linuxbios.rmk: Renamed to ...
14449 * conf/i386-coreboot.rmk: ... this.
14450 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
14451 * configure.ac: Accept "coreboot" as input platform (but maintain
14452 compatibility with "linuxbios").
14453 * include/grub/i386/linuxbios: Renamed to ...
14454 * include/grub/i386/coreboot: ... this.
14455
20011694 144562008-07-17 Bean <bean123ch@gmail.com>
14457
14458 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 14459 (appleldr_mod_SOURCE): New variable.
20011694 14460 (appleldr_mod_CFLAGS): Likewise.
14461 (appleldr_mod_LDFLAGS): Likewise.
14462 (pci_mod_SOURCES): Likewise.
14463 (pci_mod_CFLAGS): Likewise.
14464 (pci_mod_LDFLAGS): Likewise.
14465 (lspci_mod_SOURCES): Likewise.
14466 (lspci_mod_CFLAGS): Likewise.
14467 (lspci_mod_LDFLAGS): Likewise.
14468
14469 * conf/x86_64-efi.rmk: New file.
14470
14471 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
14472 macro.
14473 (grub_efidisk_write): Likewise.
14474
14475 * include/efi/api.h (efi_call_0): New macro.
14476 (efi_call_1): Likewise.
14477 (efi_call_2): Likewise.
14478 (efi_call_3): Likewise.
14479 (efi_call_4): Likewise.
14480 (efi_call_5): Likewise.
14481 (efi_call_6): Likewise.
14482
14483 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
14484 grub_rescue_cmd_chainloader.
14485
14486 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
14487 (grub_pe32_optional_header): Change some fields based on i386 or
14488 x86_64 platform.
14489 (GRUB_PE32_PE32_MAGIC): Likewise.
14490
14491 * include/grub/efi/uga_draw.h: New file.
14492
14493 * include/grub/elf.h (STN_ABS): New constant.
14494 (R_X86_64_NONE): Relocation constant for x86_64.
14495 (R_X86_64_64): Likewise.
14496 (R_X86_64_PC32): Likewise.
14497 (R_X86_64_GOT32): Likewise.
14498 (R_X86_64_PLT32): Likewise.
14499 (R_X86_64_COPY): Likewise.
14500 (R_X86_64_GLOB_DAT): Likewise.
14501 (R_X86_64_JUMP_SLOT): Likewise.
14502 (R_X86_64_RELATIVE): Likewise.
14503 (R_X86_64_GOTPCREL): Likewise.
14504 (R_X86_64_32): Likewise.
14505 (R_X86_64_32S): Likewise.
14506 (R_X86_64_16): Likewise.
14507 (R_X86_64_PC16): Likewise.
14508 (R_X86_64_8): Likewise.
14509 (R_X86_64_PC8): Likewise.
14510
14511 * include/grub/i386/efi/pci.h: New file.
14512
14513 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
14514 Change it value based on platform.
14515 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
14516 (GRUB_E820_RAM): Likewise.
14517 (GRUB_E820_RESERVED): Likewise.
14518 (GRUB_E820_ACPI): Likewise.
14519 (GRUB_E820_NVS): Likewise.
14520 (GRUB_E820_EXEC_CODE): Likewise.
14521 (GRUB_E820_MAX_ENTRY): Likewise.
14522 (grub_e820_mmap): New structure.
14523 (linux_kernel_header): Change the efi field according to different
14524 kernel version, also field from linux_kernel_header.
14525
14526 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
14527
14528 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
14529 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
14530 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
14531 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
14532 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
14533 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
14534 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
14535 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
14536 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
14537 (GRUB_PCI_ADDR_IO_MASK): Likewise.
14538
14539 * include/grub/x86_64/efi/kernel.h: New file.
14540
14541 * include/grub/x86_64/efi/loader.h: Likewise.
14542
14543 * include/grub/x86_64/efi/machine.h: Likewise.
14544
14545 * include/grub/x86_64/efi/pci.h: Likewise.
14546
14547 * include/grub/x86_64/efi/time.h: Likewise.
14548
14549 * include/grub/x86_64/linux.h: Likewise.
14550
14551 * include/grub/x86_64/setjmp.h: Likewise.
14552
14553 * include/grub/x86_64/time.h: Likewise.
14554
14555 * include/grub/x86_64/types.h: Likewise.
14556
14557 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
14558 GRUB_TARGET_SIZEOF_VOID_P.
14559
14560 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
14561 (grub_efi_locate_handle): Likewise.
14562 (grub_efi_open_protocol): Likewise.
14563 (grub_efi_set_text_mode): Likewise.
14564 (grub_efi_stall): Likewise.
14565 (grub_exit): Likewise.
14566 (grub_reboot): Likewise.
14567 (grub_halt): Likewise.
14568 (grub_efi_exit_boot_services): Likewise.
14569 (grub_get_rtc): Likewise.
14570
14571 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
14572 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
14573 (grub_efi_allocate_pages): Wrap efi calls.
14574 (grub_efi_free_pages): Wrap efi calls.
14575 (grub_efi_get_memory_map): Wrap efi calls.
14576
14577 * kern/x86_64/dl.c: New file.
14578
14579 * kern/x86_64/efi/callwrap.S: Likewise.
14580
14581 * kern/x86_64/efi/startup.S: Likewise.
14582
14583 * loader/efi/appleloader.c: Likewise.
14584
14585 * loader/efi/chainloader.c (cmdline): New variable.
14586 (grub_chainloader_unload): Wrap efi calls.
14587 (grub_chainloader_boot): Likewise.
14588 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
14589 command line.
14590
14591 * loader/efi/chainloader_normal.c (chainloader_command):
14592 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
14593 command line.
14594
14595 * loader/i386/efi/linux.c (allocate_pages): Change allocation
14596 method.
14597 (grub_e820_add_region): New function.
14598 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
14599 booting.
14600 (grub_find_video_card): New function.
14601 (grub_linux_setup_video): New function.
14602 (grub_rescue_cmd_linux): Probe for video information.
14603
14604 * normal/x86_64/setjmp.S: New file.
14605
14606 * term/efi/console.c (map_char): New function.
14607 (grub_console_putchar): Map unicode char.
14608 (grub_console_checkkey): Wrap efi calls.
14609 (grub_console_getkey): Likewise.
14610 (grub_console_getwh): Likewise.
14611 (grub_console_gotoxy): Likewise.
14612 (grub_console_cls): Likewise.
14613 (grub_console_setcolorstate): Likewise.
14614 (grub_console_setcursor): Likewise.
14615
14616 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
14617
59652a20 146182008-07-16 Pavel Roskin <proski@gnu.org>
14619
ef294055 14620 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
14621 format strings.
14622
59652a20 14623 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
14624 pointer, not an integer. This fixes a warning and prevents
14625 precision loss on 64-bit systems.
14626 (relocate_addresses): Remove unneeded cast.
14627
afc3b5d7 146282008-07-15 Pavel Roskin <proski@gnu.org>
14629
506b2b3e 14630 * kern/i386/ieee1275/init.c: Include grub/cache.h.
14631
62ead89c 14632 * term/ieee1275/ofconsole.c: Disable code unused on i386.
14633
c4cd51d7 14634 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
14635 Fix comparison between signed and unsigned.
14636
0d3d8f28 14637 * include/grub/i386/ieee1275/console.h: Declare
14638 grub_console_init() and grub_console_fini().
14639
8804b286 14640 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
14641 It's empty and unused.
14642
ee01cf35 14643 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
14644 beginning to avoid warnings with some compilers.
14645
afc3b5d7 14646 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
14647 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
14648
e4e8eaa5 146492008-07-14 Pavel Roskin <proski@gnu.org>
14650
407aceb4 14651 * kern/env.c (grub_register_variable_hook): Don't copy empty
14652 string, it leaks memory. Pass "" to grub_env_set(), it should
14653 handle constant strings.
14654
e4e8eaa5 14655 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
14656 * commands/cmp.c (grub_cmd_cmp): Likewise.
14657 * kern/dl.c (grub_dl_flush_cache): Likewise.
14658 (grub_dl_load_core): Likewise.
14659 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
14660 (grub_elf64_load_phdrs): Likewise.
14661
d4e2dad3 146622008-07-13 Pavel Roskin <proski@gnu.org>
14663
14664 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
14665 between signed and unsigned.
14666 (LzmaEnc_Finish): Fix warning about an unused parameter.
14667
aa24b516 146682008-07-13 Bean <bean123ch@gmail.com>
14669
14670 * Makefile.in (enable_lzo): New rule.
14671
14672 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
14673
14674 * configure.ac (ENABLE_LZO): New option --enable-lzo.
14675
14676 * boot/i386/pc/lnxboot.S: #include <config.h>.
14677
14678 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 14679 its value according to the compression algorithm used, lzo or lzma.
aa24b516 14680
14681 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
14682 compression algorithm according to configure macro.
14683
14684 * kern/i386/pc/startup.S (codestart): Likewise.
14685
14686 * kern/i386/pc/lzma_decode.S: New file.
14687
14688 * include/grub/lib/LzFind.h: Likewise.
14689
14690 * include/grub/lib/LzHash.h: Likewise.
14691
14692 * include/grub/lib/LzmaDec.h: Likewise.
14693
14694 * include/grub/lib/LzmaEnc.h: Likewise.
14695
14696 * include/grub/lib/LzmaTypes.h: Likewise.
14697
14698 * lib/LzFind.c: Likewise.
14699
14700 * lib/LzmaDec.c: Likewise.
14701
14702 * lib/LzmaEnc.c: Likewise.
14703
4ae821ac 147042008-07-13 Bean <bean123ch@gmail.com>
14705
14706 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
14707 (grub_ext4_extent_header): New structure.
14708 (grub_ext4_extent): Likewise.
14709 (grub_ext4_extent_idx): Likewise.
14710 (grub_ext4_find_leaf): New function.
14711 (grub_ext2_read_block): Handle extents.
14712
9a745147 147132008-07-12 Robert Millan <rmh@aybabtu.com>
14714
14715 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
14716
d49a4cf6 147172008-07-11 Robert Millan <rmh@aybabtu.com>
14718
14719 * util/grub.d/40_custom.in: New file. Example on how to add custom
14720 entries to /etc/grub.d.
14721 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
14722 40_custom (implicitly, by merging all the grub.d rules).
14723
947414b4 147242008-07-11 Pavel Roskin <proski@gnu.org>
14725
0059cf6f 14726 * commands/read.c (grub_getline): Fix invalid memory access.
14727 Don't add newline to the variable value.
14728
947414b4 14729 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
14730 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
14731 (serial_hw_get_port): Check validity of the port number.
14732 (grub_cmd_serial): Check return value of serial_hw_get_port().
14733
62a02d00 147342008-07-07 Pavel Roskin <proski@gnu.org>
14735
14736 * boot/i386/pc/diskboot.S (notification_string): Replace
14737 "Loading kernel" with just "loading". This is shorter, less
14738 confusing and saves a few bytes for possible future changes.
14739
3e5581b0 147402008-07-05 Pavel Roskin <proski@gnu.org>
14741
ea387a48 14742 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
14743 size for ATAPI devices, they are undefined. Output sector
14744 number in decimal form.
14745
3e5581b0 14746 * disk/ata.c: Use named constants for status bits.
14747
fdecb8fd 147482008-07-04 Pavel Roskin <proski@gnu.org>
14749
bcd35b90 14750 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
14751 grub_addr_t before casting it to the void pointer to fix a
14752 warning. Non-addressable regions are discarded earlier.
14753 (grub_arch_modules_addr): Cast _end to grub_addr_t.
14754 * kern/i386/linuxbios/table.c: Include grub/misc.h.
14755 (check_signature): Don't shadow table_header.
14756 (grub_linuxbios_table_iterate): Cast numeric constants to
14757 grub_linuxbios_table_header_t.
14758 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
14759 grub_stop().
14760
af58ab3d 14761 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
14762 prevent warnings.
14763
1759aa57 14764 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
14765 pointer, which can cause warnings. Support 64-bit addresses.
14766
fdecb8fd 14767 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
14768 of sizeof(long). This fixes PowerPC image generation on x86_64.
14769
8516d2a8 147702008-07-04 Robert Millan <rmh@aybabtu.com>
14771
14772 This fixes a performance issue when pc & gpt partmap iterators
14773 didn't abort iteration even after our hook found what it was
fe987087 14774 looking for (often causing expensive probes of non-existent drives).
8516d2a8 14775
14776 Some callers relied on previous buggy behaviour, since they would
34c44600 14777 raise an error when their own hooks caused early abortion of its
8516d2a8 14778 iteration.
14779
14780 * kern/device.c (grub_device_open): Improve error message.
14781 * disk/lvm.c (grub_lvm_open): Likewise.
14782 * disk/raid.c (grub_raid_open): Likewise.
14783
14784 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
14785 when hook requests it, independently of grub_errno.
14786 (pc_partition_map_probe): Do not fail when find_func() caused
14787 early abortion of pc_partition_map_iterate().
14788
14789 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
14790 when hook requests it, independently of grub_errno.
14791 (gpt_partition_map_probe): Do not fail when find_func() caused
14792 early abortion of gpt_partition_map_iterate().
14793
14794 * kern/partition.c (grub_partition_iterate): Abort parent iteration
14795 when hook requests it, independently of grub_errno. Do not fail when
14796 part_map_iterate_hook() caused early abortion of p->iterate().
14797
14798 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
14799 when grub_partition_iterate() returned with non-zero.
14800
277d0de9 148012008-07-03 Pavel Roskin <proski@gnu.org>
14802
14803 * disk/ata.c (grub_ata_pio_write): Check status before writing,
14804 like we do in grub_ata_pio_read().
14805 (grub_ata_readwrite): Always write individual sectors. Fix the
14806 sector count for the remainder.
14807 (grub_ata_write): Enable writing to ATA devices. Correctly
14808 report error for ATAPI devices.
14809
d4c9b428 148102008-07-02 Pavel Roskin <proski@gnu.org>
14811
e43fc690 14812 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
14813 warning.
14814
f707af42 14815 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
14816 for every read sector, we already increment it for the whole
14817 batch. This fixes reading more than 256 sectors at once.
14818
11e16b15 14819 * util/grub-editenv.c (cmd_info): Cast argument to long
14820 explicitly. ptrdiff_t reduces to int on i386.
14821
cbabfdd4 14822 * util/grub-editenv.c (main): Be specific which parameter is
14823 missing.
14824
b8fbce0a 14825 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
14826 (memdisk): Make memdisk_orig_addr a pointer.
14827
c9c8e606 14828 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
14829 for file offsets, use grub_off_t instead. Fix printf format
14830 warnings.
14831
ca62e598 14832 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
14833 there. Real unexpected warnings should not drown in the noise
14834 about known problems.
14835
ce8d1766 14836 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
14837 grub_disk_addr_t for memory addresses.
14838
00c7a56a 14839 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
14840 explicitly to fix a warning.
14841
08d3ef09 14842 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
14843
cb71ba20 14844 * Makefile.in (MODULE_LDFLAGS): New variable.
14845 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
14846 the linker accepts --build-id=none.
14847 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
14848 MODULE_LDFLAGS.
14849 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
14850
d4c9b428 14851 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
14852 those in Linux XFS code. Provide a way to access 64-bit parent
14853 inode.
14854 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
14855 the end of struct grub_xfs_dir_header.
14856
d4156eee 148572008-07-02 Bean <bean123ch@gmail.com>
14858
14859 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
14860 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
14861 and GRUB_IEEE1275_FLAG_NO_ANSI.
14862
14863 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
14864 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
14865 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
14866
14867 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
14868 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
14869
14870 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
14871 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
14872
14873 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
14874 esc sequence on non ANSI terminal.
14875 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
14876
14877 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
14878 beginning of file.
14879
2270f77b 148802008-07-02 Bean <bean123ch@gmail.com>
14881
14882 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
14883 (grub_editenv_SOURCES): New variable.
14884 (pkglib_MODULES): Add loadenv.mod.
14885 (loadenv_mod_SOURCES): New variable.
14886 (loadenv_mod_CFLAGS): Likewise.
14887 (loadenv_mod_LDFLAGS): Likewise.
14888
14889 * include/grub/envblk.h: New file.
14890
14891 * util/envblk.c: New file.
14892
14893 * util/grub-editenv.c: New file.
14894
14895 * commands/loadenv.c: New file.
14896
0e9e51ec 148972008-07-01 Pavel Roskin <proski@gnu.org>
14898
d89b7634 14899 * include/multiboot2.h (struct multiboot_tag_module): Use char,
14900 not unsigned char. This fixes warnings and is consistent with
14901 other tags.
14902
bf1835b1 14903 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
14904
8222a04b 14905 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
14906
6a42d99d 14907 * term/tparm.c (analyze): Always set *popcount.
14908
10b159d1 14909 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
14910 cast to fix a warning.
14911
b8789f6c 14912 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
14913 cast to suppress a warning.
14914
29d7e38a 14915 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
14916 grub_fshelp_read_file() expects.
14917
f341f669 14918 * fs/fat.c: Fix UUID calculation on big-endian systems. We
14919 write uuid as a 32-bit value in CPU byte order, so declare and
14920 use it as such.
14921
0e9e51ec 14922 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
14923 long if the format specifier expects it.
14924 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
14925 * partmap/pc.c (pc_partition_map_iterate): Likewise.
14926 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
14927 long to fix a warning.
14928 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
14929 grub_dprintf() arguments to fix warnings.
14930
3aefa857 149312008-06-30 Pavel Roskin <proski@gnu.org>
14932
56c7668b 14933 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
14934 install_bsd_part immediately before core.img is embedded or
14935 modified on disk. This fixes core.img verification if core.img
14936 cannot be embedded.
14937
3aefa857 14938 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
14939 core_path to calculate the blocklist.
14940 Patch from Javier Martín <lordhabbit@gmail.com>
14941
5444088d 149422008-06-29 Robert Millan <rmh@aybabtu.com>
14943
14944 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
14945 block to disk block.
14946 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
14947 Patch from Niels Böhm <bitbucket@arcor.de>
14948
674835c8 149492008-06-29 Robert Millan <rmh@aybabtu.com>
14950
14951 * util/update-grub_lib.in (font_path): Search for fonts in
14952 /boot/grub first, which is more likely to be readable (we aren't
14953 deciding where fonts live, just looking for them).
14954
f527dbc8 149552008-06-26 Pavel Roskin <proski@gnu.org>
14956
6c2d8df6 14957 * util/biosdisk.c (read_device_map): Don't leave dead map
14958 entries for devices failing stat() check.
14959
f527dbc8 14960 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
14961 core_path_dev for the core.img path on the target device.
14962
aebe3d13 149632008-06-26 Robert Millan <rmh@aybabtu.com>
14964
14965 * disk/fs_uuid.c: New file.
14966 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
14967 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
14968 (fs_uuid_mod_LDFLAGS): New variables.
14969 * include/grub/disk.h (grub_disk_dev_id): Add
14970 `GRUB_DISK_DEVICE_UUID_ID'.
14971 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
14972 implement iterate().
14973
37aaf354 149742008-06-26 Robert Millan <rmh@aybabtu.com>
14975
14976 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
14977 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
14978 Linux image includes no initrd.
14979
25ff262a 149802008-06-21 Javier Martín <lordhabbit@gmail.com>
14981
14982 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
14983 call to resolve the core image location that effectively appended the
14984 name twice.
14985
76a2bd44 149862008-06-21 Robert Millan <rmh@aybabtu.com>
14987
14988 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
14989 call from here ...
14990
14991 * util/grub.d/10_hurd.in: ... to here ...
14992 * util/grub.d/10_linux.in: ... and here.
14993
650e1c79 149942008-06-19 Robert Millan <rmh@aybabtu.com>
14995
fe987087 14996 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 14997 after it has been set by grub_machine_set_prefix().
14998
6ce63911 149992008-06-19 Robert Millan <rmh@aybabtu.com>
15000
15001 * commands/search.c (search_label, search_fs_uuid, search_file): Print
15002 search result when not saving to variable, not the other way around.
15003 When saving to variable, abort iteration as soon as a match is found.
15004
73940cec 150052008-06-19 Robert Millan <rmh@aybabtu.com>
15006
15007 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
15008 check for partition that provides /boot/grub. Its logic is flawed,
15009 as it prevents prepare_grub_to_access_device() from being called
15010 multiple times.
15011
3c62a39d 150122008-06-19 Robert Millan <rmh@aybabtu.com>
15013
15014 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
15015 "insmod" command directly when abstraction modules are needed,
fe987087 15016 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 15017 since it had already been processed).
15018
47395a42 150192008-06-19 Pavel Roskin <proski@gnu.org>
15020
15021 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
15022 changed. This is needed in case GRUB_LIBDIR changes.
15023 * conf/i386-ieee1275.rmk: Likewise.
15024 * conf/i386-linuxbios.rmk: Likewise.
15025 * conf/i386-pc.rmk: Likewise.
15026 * conf/powerpc-ieee1275.rmk: Likewise.
15027
a145ac2d 150282008-06-18 Pavel Roskin <proski@gnu.org>
15029
15030 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
15031 kernel_elf_symlist.c to symlist.c for consistency with other
15032 architectures. Update all users.
15033 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
15034
7847c51e 150352008-06-18 Robert Millan <rmh@aybabtu.com>
15036
15037 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
15038 it in prefix.
15039
15040 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
15041 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
15042 a RAID device, run setup() for all members independently on whether
15043 LVM abstraction is being used.
15044 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
15045 If grub-mkimage has set `*install_dos_part == -2', don't override this
15046 value.
15047 Perform *install_dos_part adjustments independently on whether
15048 we're embedding or not.
15049 Clarify error message when image is too big for embedding.
15050 Remove duplicate *install_dos_part stanza.
15051
b23e5644 150522008-06-17 Robert Millan <rmh@aybabtu.com>
15053
15054 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
15055 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
15056 variables.
15057 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
15058 values in grub_ofconsole_normal_color and
15059 grub_ofconsole_highlight_color (they're not directly related to
15060 background and foreground).
15061 (grub_ofconsole_setcolorstate): Extract background and foreground
15062 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
15063
0aac2f79 150642008-06-17 Robert Millan <rmh@aybabtu.com>
15065
15066 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
15067 /boot/grub for the check in last commit, not /boot (they could be
15068 different partitions).
15069
3cca7ef3 150702008-06-16 Robert Millan <rmh@aybabtu.com>
15071
15072 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
15073 asked to setup access for the same partition that provides /boot,
15074 don't bother using UUIDs since our root already has the value we
15075 want.
15076
347396d8 150772008-06-16 Robert Millan <rmh@aybabtu.com>
15078
15079 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
15080 I2O devices.
15081 Patch from Sven Mueller <sven@debian.org>.
15082
991477f8 150832008-06-16 Robert Millan <rmh@aybabtu.com>
15084
15085 * util/update-grub.in: Check for $EUID instead of $UID.
15086 Reported by Vincent Zweije.
15087
d31a32a1 150882008-06-16 Bean <bean123ch@gmail.com>
15089
fe987087 15090 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 15091 (grub_ext2_read_block): Likewise.
15092 (grub_ext2_read_inode): Likewise.
15093 (grub_ext2_mount): Likewise.
15094 (grub_ext2_close): Likewise.
15095 (grub_ext3_get_journal): Removed.
15096
fe987087 15097 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 15098 (grub_reiserfs_read_symlink): Likewise.
15099 (grub_reiserfs_mount): Likewise.
15100 (grub_reiserfs_open): Likewise.
15101 (grub_reiserfs_read): Likewise.
15102 (grub_reiserfs_close): Likewise.
15103 (grub_reiserfs_get_journal): Removed.
15104
15105 * fs/fshelp.c (grub_fshelp_read): Removed.
15106 (grub_fshelp_map_block): Likewise.
15107
15108 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
15109 (grub_fshelp_journal): Likewise.
15110 (grub_fshelp_read): Likewise.
15111 (grub_fshelp_map_block): Likewise.
15112
3540a760 151132008-06-16 Pavel Roskin <proski@gnu.org>
15114
15115 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
15116 floating point anymore.
15117 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
15118
95614c84 151192008-06-15 Pavel Roskin <proski@gnu.org>
15120
15121 * commands/ls.c (grub_ls_list_files): Use integer calculations
15122 for human readable format, avoid floating point use.
15123 * kern/misc.c (grub_ftoa): Remove.
15124 (grub_vsprintf): Remove floating point support.
15125
50465dd6 151262008-06-15 Robert Millan <rmh@aybabtu.com>
15127
fe6b695a 15128 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 15129 devices.
15130 Reported by Max Vozeler.
15131
a9207284 151322008-06-15 Robert Millan <rmh@aybabtu.com>
15133
15134 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
15135 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
15136 skipped later.
15137 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
15138 the beginning of the prefix.
15139
15140 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
15141 It is assumed that if we have a memdisk, grub-mkimage has set
15142 grub_prefix to include the "(memdisk)" drive in it.
15143
a7cbd45a 151442008-06-15 Robert Millan <rmh@aybabtu.com>
15145
15146 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
15147 Initialize keyboard controller after registering the terminal, so that
15148 grub_printf() can be called from grub_keyboard_controller_init().
15149
21cf716a 151502008-06-15 Robert Millan <rmh@aybabtu.com>
15151
15152 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
15153 extent-btree which is written as big endian on disk.
15154 Reported by Alain Greppin <al@chilibi.org>.
15155
23a64d8e 151562008-06-14 Robert Millan <rmh@aybabtu.com>
15157
15158 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
15159 * util/i386/pc/grub-install.in (modules): Likewise.
15160
d687651c 151612008-06-13 Pavel Roskin <proski@gnu.org>
15162
15163 * commands/ls.c (grub_ls_list_files): Fix format warnings.
15164
dfe9ddd4 151652008-06-13 Bean <bean123ch@gmail.com>
15166
15167 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
15168
15169 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
15170
15171 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
15172 to indicate sparse block.
15173
16ae7781 151742008-06-12 Pavel Roskin <proski@gnu.org>
15175
e6d1a308 15176 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
15177 number, grub_fshelp_read() does it for us.
15178
16ae7781 15179 * fs/fshelp.c (grub_fshelp_read): New function. Implement
15180 linear disk read with journal translation.
15181 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
15182 * include/grub/fshelp.h: Declare grub_fshelp_read().
15183
40fd3a2b 151842008-06-09 Pavel Roskin <proski@gnu.org>
15185
15186 * fs/minix.c (grub_minix_mount): Handle error reading
15187 superblock.
15188
f5679726 151892008-06-08 Robert Millan <rmh@aybabtu.com>
15190
15191 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
15192 don't append the RAID prefix afterwards.
15193 Reported by Clint Adams.
15194
ce525529 151952008-06-08 Robert Millan <rmh@aybabtu.com>
15196
15197 Based on description from Pavel:
15198 * kern/disk.c (grub_disk_check_range): Rename to ...
15199 (grub_disk_adjust_range): ... this. Add a comment explaining the
15200 tasks performed by this function.
15201
ad4936a0 152022008-06-08 Robert Millan <rmh@aybabtu.com>
15203
15204 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
15205 `num_serial' (for consistency with other variables).
15206 (struct grub_ntfs_data): Add `uuid' member.
15207 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
15208 (grub_ntfs_uuid): New function.
15209 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
15210
dc20b0f9 152112008-06-07 Pavel Roskin <proski@gnu.org>
15212
15213 * util/biosdisk.c (open_device): Revert last change to the
15214 function, it broke installation. The sector needs to be
15215 different dependent on which device is opened.
15216
c5e3cfba 152172008-06-06 Robert Millan <rmh@aybabtu.com>
15218
15219 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
15220 rest of GRUB, and breakage doesn't happen if its value were modified.
15221
15222 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
15223 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
15224 a constant (same value).
15225 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
15226 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
15227
26a1f8c4 152282008-06-06 Robert Millan <rmh@aybabtu.com>
15229
15230 * util/biosdisk.c (open_device): Do not modify sector offset when
15231 accessing a partition. kern/disk.c already handles this for us.
15232
25d6b327 152332008-06-06 Robert Millan <rmh@aybabtu.com>
15234
15235 * util/grub-emu.c (grub_machine_init): Move code in this function from
15236 here ...
15237 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
15238 segfault in case grub_printf() is called).
15239
15240 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
15241 grub_probe. Update all users not to explicitly add it again.
15242 (grub_device): New variable; contains corresponding device for grubdir.
15243 (fs_module, partmap_module, devabstraction_module): Pass
15244 `--device ${grub_device}' to grub_probe to avoid traversing /dev
15245 every time.
15246
9ece62fb 152472008-06-05 Robert Millan <rmh@aybabtu.com>
15248
15249 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
15250 is found, print it (same layout as with labels).
15251
1ad36d37 152522008-06-04 Robert Millan <rmh@aybabtu.com>
15253
15254 * util/biosdisk.c (get_drive): Rename to ...
15255 (find_grub_drive): ... this. Update all users.
15256
15257 (get_os_disk): Rename to ...
15258 (convert_system_partition_to_system_disk): ... this. Update all users.
15259
15260 (find_drive): Rename to ...
15261 (find_system_device): ... this. Update all users.
15262
e6a30859 152632008-06-04 Robert Millan <rmh@aybabtu.com>
15264
15265 * util/biosdisk.c (get_os_disk): Handle IDA devices.
15266 * util/grub-mkdevicemap.c (get_mmc_disk_name)
15267 (make_device_map): Likewise.
15268
00c108a4 152692008-06-01 Robert Millan <rmh@aybabtu.com>
15270
15271 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
15272 before dereferencing it.
15273
15274 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
15275 union with fat12/fat16-specific ones. Add some new fields, including
15276 `num_serial' for both versions.
15277 (struct grub_fat_data): Add `uuid' member.
15278 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
15279 names. Initialize `data->uuid' using `num_serial'.
15280 (grub_fat_uuid): New function.
15281 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
15282
15283 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
15284 (grub_reiserfs_uuid): New function.
15285 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
15286 member.
15287
15288 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
15289 (grub_xfs_uuid): New function.
15290 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
15291
1385c5bb 152922008-06-01 Robert Millan <rmh@aybabtu.com>
15293
15294 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
15295 code that is backward compatible with pre-uuid search command.
15296
c682dfd7 152972008-05-31 Robert Millan <rmh@aybabtu.com>
15298
15299 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
15300 floppies after everything else, to ensure floppy drive isn't accessed
15301 unnecessarily (patch from Bean).
15302
b7db5d47 153032008-05-31 Robert Millan <rmh@aybabtu.com>
15304
15305 * commands/search.c (search_label, search_fs_uuid, search_file): Do
15306 not print device names when we were asked to set a variable.
15307
6e037aa9 153082008-05-31 Robert Millan <rmh@aybabtu.com>
15309
15310 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
15311 using "cursor-on" and "cursor-off" commands (understood at least by
15312 the Open Firmware flavour on OLPC).
15313
41305bc8 153142008-05-31 Michael Gorven <michael@gorven.za.net>
15315
15316 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
15317 on and off sequences.
15318
69ba137e 153192008-05-31 Robert Millan <rmh@aybabtu.com>
15320
15321 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
15322 * util/update-grub.in: Likewise.
15323
520ae21b 153242008-05-30 Pavel Roskin <proski@gnu.org>
15325
15326 * util/biosdisk.c (linux_find_partition): Simplify logic and
15327 make the code more universal. Keep special processing for
15328 devfs, but use a simple rule for all other devices. If the
15329 device ends with a number, append 'p' and the partition number.
15330 Otherwise, append only the partition number.
15331
5786569b 153322008-05-30 Robert Millan <rmh@aybabtu.com>
15333
15334 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
15335 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
15336 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
15337 the `root' parameter to Linux.
15338
51500452 153392008-05-30 Robert Millan <rmh@aybabtu.com>
15340
15341 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
15342 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
15343 --fs_uuid with --fs-uuid.
15344 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
15345 all filesystems support them).
15346
811d3878 153472008-05-30 Robert Millan <rmh@aybabtu.com>
15348
15349 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 15350 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 15351
cab63c95 153522008-05-30 Robert Millan <rmh@aybabtu.com>
15353
15354 * util/grub.d/00_header.in: Remove obsolete comment referencing
15355 convert_system_path_to_grub_path().
15356 * util/update-grub.in: Likewise.
15357 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
15358 (convert_system_path_to_grub_path): Add a warning message explaining
15359 that this function is deprecated. Rely on is_path_readable_by_grub()
15360 for the readability checks.
15361 (font_path): Use is_path_readable_by_grub() for the readability
15362 check rather than convert_system_path_to_grub_path().
15363
972e2f7a 153642008-05-30 Robert Millan <rmh@aybabtu.com>
15365
15366 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
15367 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
15368 converting it first.
15369 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
15370 grub.cfg for access to font file, and afterwards call it again to set
15371 the root device.
15372
62191274 153732008-05-30 Robert Millan <rmh@aybabtu.com>
15374
15375 * commands/search.c (options): Add --fs_uuid option.
15376 (search_fs_uuid): New function.
15377 (grub_cmd_search): Fix --set argument passing.
15378 Use search_fs_uuid() when requested via --fs_uuid.
15379 (grub_search_init): Update help message.
15380 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
15381 and redeclare it as an array of 16-bit words.
15382 (grub_ext2_uuid): New function.
15383 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
15384 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
15385 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
15386 (GRUB_DEVICE_BOOT_UUID): New variables.
15387 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
15388 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
15389 whenever possible.
15390 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
15391 just assume `root' variable has the right value.
15392 * util/grub.d/10_linux.in: Likewise.
15393 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
15394 via PRINT_FS_UUID.
15395 (main): Recognise `-t fs_uuid' argument.
15396
01b73ec8 153972008-05-30 Robert Millan <rmh@aybabtu.com>
15398
15399 * util/biosdisk.c (map): Redefine structure to hold information
15400 about GRUB drive name.
fe6b695a 15401 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 15402 drive names.
15403 (call_hook): Remove.
15404 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
15405 member. Assume drive has partitions.
15406 (grub_util_biosdisk_open): Access device names via `.device' struct
15407 member.
15408 (open_device): Likewise.
15409 (find_drive): Likewise.
15410 (read_device_map): Adjust map[] usage to match the new struct
15411 definition. Don't check for duplicates (still possible, but not cheap
15412 anymore).
15413 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
15414 (make_device_name): Remove assumption of BIOS-like drive names.
15415
22f16596 154162008-05-30 Pavel Roskin <proski@gnu.org>
15417
15418 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
15419 compiling execute.c doesn't need grub_script.tab.h anymore.
15420 (normal/command.c_DEPENDENCIES): Likewise.
15421 (normal/function.c_DEPENDENCIES): Likewise.
15422 * conf/i386-ieee1275.rmk: Likewise.
15423 * conf/i386-linuxbios.rmk: Likewise.
15424 * conf/i386-pc.rmk: Likewise.
15425 * conf/powerpc-ieee1275.rmk: Likewise.
15426 * conf/sparc64-ieee1275.rmk: Likewise.
15427
528ad8f2 154282008-05-29 Pavel Roskin <proski@gnu.org>
15429
d1dff95d 15430 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
15431 when scanning metadata for volume group name.
15432
528ad8f2 15433 * include/grub/script.h: Don't include grub_script.tab.h. It's
15434 a generated file, which may only be included from the files with
15435 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
15436 use union YYSTYPE, as the later allows forward declaration.
15437 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
15438
47248e08 154392008-05-29 Robert Millan <rmh@aybabtu.com>
15440
15441 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
15442 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
15443 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
15444 (grub_console_checkkey): Add grub_dprintf() call to report unknown
15445 scan codes.
15446
ee632529 154472008-05-29 Robert Millan <rmh@aybabtu.com>
15448
15449 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
15450 control key combinations.
15451
eee96e08 154522008-05-29 Robert Millan <rmh@aybabtu.com>
15453
15454 * util/powerpc/ieee1275/grub-install.in: Move from here ...
15455 * util/ieee1275/grub-install.in: ... to here.
15456 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
15457 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
15458 (grub_install_SOURCES): Likewise.
15459
da9a6a94 154602008-05-29 Robert Millan <rmh@aybabtu.com>
15461
15462 * fs/affs.c: Update copyright year.
15463 * fs/ext2.c: Likewise.
15464 * fs/fshelp.c: Likewise.
15465 * fs/hfsplus.c: Likewise.
15466 * fs/ntfs.c: Likewise.
15467 * fs/xfs.c: Likewise.
15468 * include/grub/fshelp.h: Likewise.
15469 * util/grub-mkdevicemap.c: Likewise.
15470
12e65f3a 154712008-05-28 Robert Millan <rmh@aybabtu.com>
15472
15473 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
15474 might need to be fatfs to support some firmware implementations
15475 (e.g. OFW or EFI).
15476
23023641 154772008-05-28 Robert Millan <rmh@aybabtu.com>
15478
15479 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
15480 devices.
15481 * util/grub-mkdevicemap.c (get_mmc_disk_name)
15482 (make_device_map): Likewise.
15483
887d2619 154842008-05-20 Bean <bean123ch@gmail.com>
15485
15486 * fs/fshelp.c (grub_fshelp_map_block): New function.
15487 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
15488 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
15489
15490 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
15491 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
15492 (grub_fshelp_journal): New structure.
15493 (grub_fshelp_map_block): New function prototype.
15494 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
15495 (grub_fshelp_map_block): Likewise.
15496
15497 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
15498 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
15499 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
15500 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
15501 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
15502 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
15503 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
15504 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
15505 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
15506 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
15507 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
15508 (grub_ext2_sblock): New members for journal support.
15509 (grub_ext3_journal_header): New structure.
15510 (grub_ext3_journal_revoke_header): Likewise.
15511 (grub_ext3_journal_block_tag): Likewise.
15512 (grub_ext3_journal_sblock): Likewise.
15513 (grub_fshelp_node): New members logfile and journal.
15514 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
15515 grub_fshelp_map_block to get real block number.
15516 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
15517 number.
15518 (grub_ext2_read_inode): Likewise.
15519 (grub_ext3_get_journal): New function.
15520 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
15521 (grub_ext2_close): Release memory used by journal.
15522
15523 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
15524 (REISERFS_MAGIC_DESC_BLOCK): New macro.
15525 (grub_reiserfs_transaction_header): Renamed to
15526 grub_reiserfs_description_block, replace field data with real_blocks.
15527 (grub_reiserfs_commit_block): New structure.
15528 (grub_reiserfs_data): New member journal.
15529 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
15530 number.
15531 (grub_reiserfs_read_symlink): Likewise.
15532 (grub_reiserfs_iterate_dir): Likewise.
15533 (grub_reiserfs_open): Likewise.
15534 (grub_reiserfs_read): Likewise.
15535 (grub_reiserfs_get_journal): New function.
15536 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
15537 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
15538 using grub_reiserfs_get_journal.
15539 (grub_reiserfs_close): Release memory used by journal.
15540
15541 * fs/affs.c (grub_affs_read_block): Change block type to
15542 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
15543
15544 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
15545
15546 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
15547
15548 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
15549
15550 * fs/udf.c (grub_udf_read_block): Change block type to
15551 grub_disk_addr_t. Use type cast to avoid warning.
15552
15553 * fs/xfs.c (grub_xfs_read_block): Likewise.
15554
b7c6bed5 155552008-05-16 Christian Franke <franke@computer.org>
15556
15557 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
15558 to ensure that break with ESC will always work.
15559 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
15560 Remove ESC from keyboard queue.
15561
eedf167f 155622008-05-16 Christian Franke <franke@computer.org>
15563
15564 * util/biosdisk.c: [__CYGWIN__] Add includes.
15565 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
15566 (get_os_disk): Move variable declarations to OS specific
15567 parts to avoid warning.
15568 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
15569 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
15570 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
15571 Cygwin.
15572 * util/getroot.c: [__CYGWIN__] Add includes.
15573 (strip_extra_slashes): Fix "/" case.
15574 [__CYGWIN__] (get_win32_path): New function.
15575 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
15576 [__CYGWIN__] (find_root_device): Disable.
15577 [__CYGWIN__] (get_bootsec_serial): New function.
15578 [__CYGWIN__] (find_cygwin_root_device): Likewise.
15579 [__linux__] (grub_guess_root_device): Add early returns to simplify
15580 structure.
15581 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
15582 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
15583 check for Linux only.
15584
a079699e 155852008-05-15 Bean <bean123ch@gmail.com>
15586
15587 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
15588 keyboard hang problem in apple's intel mac.
15589
1cf4059a 155902008-05-09 Robert Millan <rmh@aybabtu.com>
15591
15592 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
15593 devices.
15594 * util/grub-mkdevicemap.c (get_virtio_disk_name)
15595 (make_device_map): Likewise.
15596 Reported by Aurelien Jarno <aurel32@debian.org>
15597
ed759390 155982008-05-07 Ian Campbell <ijc@hellion.org.uk>
15599
15600 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
15601 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
15602 (make_device_map): Output entries for xvd type disks.
15603
b56c4eaa 156042008-05-07 Robert Millan <rmh@aybabtu.com>
15605
15606 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
15607 devices.
15608 * util/grub-mkdevicemap.c (get_cciss_disk_name)
15609 (make_device_map): Likewise.
15610 Reported by Roland Dreier <rdreier@cisco.com>
15611
7f8866ed 156122008-05-07 Robert Millan <rmh@aybabtu.com>
15613
15614 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
15615 grub_strstr() call. Correct a few mistakes in failure path handling.
15616
b0346e0f 156172008-05-06 Robert Millan <rmh@aybabtu.com>
15618
15619 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
15620 Do not print a trailing slash (therefore, the root directory is an
15621 empty string).
15622 (convert_system_path_to_grub_path): Do not remove trailing slash
15623 from make_system_path_relative_to_its_root() output.
15624
15625 * util/i386/pc/grub-install.in: Add trailing slash to output from
15626 make_system_path_relative_to_its_root().
15627
6cf12cbd 156282008-05-06 Robert Millan <rmh@aybabtu.com>
15629
15630 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
15631 ensures that output lines aren't intermangled with those sent to
15632 stderr (via grub_util_info()).
15633 * util/grub-probe.c (grub_refresh): Likewise.
15634 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
15635
0fbb3117 156362008-05-05 Christian Franke <franke@computer.org>
15637
15638 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
15639 Add Cygwin device names.
15640 (get_ide_disk_name) [__CYGWIN__]: Likewise.
15641 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
15642 (check_device): Return error instead of success on empty name.
15643 (make_device_map): Move label inside linux specific code to
15644 prevent compiler warning.
15645
8124cdb7 156462008-04-30 Robert Millan <rmh@aybabtu.com>
15647
15648 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
15649 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
15650 first boot option.
15651 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
15652
094c01d0 156532008-04-29 Robert Millan <rmh@aybabtu.com>
15654
15655 * docs/grub.cfg: New file (example GRUB configuration).
15656
f4b1fc02 156572008-04-26 Robert Millan <rmh@aybabtu.com>
15658
329ce2a5 15659 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
15660 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
15661 and `disk/ieee1275/nand.c'.
f4b1fc02 15662
25f16ec1 156632008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 15664
25f16ec1 15665 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
15666 i386-linuxbios.
15667
15668 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
15669 change the buffer size to 4096 for cdrom device.
15670
15671 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
15672 and nand.mod.
15673 (_linux_mod_SOURCES): New variable.
15674 (_linux_mod_CFLAGS): Likewise.
15675 (_linux_mod_LDFLAGS): Likewise.
15676 (linux_mod_SOURCES): Likewise.
15677 (linux_mod_CFLAGS): Likewise.
15678 (linux_mod_LDFLAGS): Likewise.
15679 (nand_mod_SOURCES): Likewise.
15680 (nand_mod_CFLAGS): Likewise.
15681 (nand_mod_LDFLAGS): Likewise.
15682
15683 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
15684 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
15685 type property. (nand device in olpc don't have this property)
15686
15687 * include/grub/disk.h (grub_disk_dev_id): New macro
15688 GRUB_DISK_DEVICE_NAND_ID.
15689
15690 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
15691 function prototype.
15692 (grub_rescue_cmd_initrd): Likewise.
15693
15694 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
15695 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
15696 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 15697
25f16ec1 15698 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
15699 GRUB_MACHINE_IEEE1275 is defined.
15700
15701 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
15702 Use NESTED_FUNC_ATTR attribute on the hook parameter.
15703
15704 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
15705 on nested function heap_init.
15706 (grub_upper_mem): New variable for i386-ieee1275.
15707 (grub_get_extended_memory): New function for i386-ieee1275.
15708 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
15709
15710 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
15711 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
15712 property.
f19dbdb7 15713
25f16ec1 15714 * loader/i386/ieee1275/linux.c: New file.
15715
15716 * loader/i386/ieee1275/linux_normal.c: New file.
15717
15718 * disk/ieee1275/nand.c: New file.
15719
e89d61e9 157202008-04-18 Thomas Schwinge <tschwinge@gnu.org>
15721
15722 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
15723 value.
15724 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
15725
602566f6 157262008-04-18 Robert Millan <rmh@aybabtu.com>
15727
15728 Restructures early code path on ieee1275 to unify grub_main() as
15729 the first C function that is executed in every platform.
15730
15731 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
15732 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
15733 cmain().
15734 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
15735 * kern/ieee1275/cmain.c (cmain): Rename to ...
15736 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
15737 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
15738 at the beginning.
15739
57490c2b 157402008-04-18 Robert Millan <rmh@aybabtu.com>
15741
15742 * util/update-grub.in: Fix syntax error when setting
15743 `GRUB_PRELOAD_MODULES'.
15744 Reported by Stephane Chazelas <stephane@artesyncp.com>
15745
1977517d 157462008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
15747
15748 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
15749 section into account, newer toolchains generate unique build ids
15750 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 15751 we want build ids to be preserved
1977517d 15752 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
15753 far from other sections don't cause the raw binary images grow
15754 size
15755
bfb1f1a2 157562008-04-15 Robert Millan <rmh@aybabtu.com>
15757
15758 * disk/lvm.c: Update copyright year.
15759 * kern/misc.c: Likewise.
15760
01979850 157612008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
15762
15763 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 15764 there is no memory left for physical volume name.
01979850 15765
0a1150e2 157662008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
15767
15768 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
15769 volume name mapping to support bigger than 9 character names properly.
15770
82ead3fe 157712008-04-13 Robert Millan <rmh@aybabtu.com>
15772
15773 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
15774 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
15775
e54a72f5 157762008-04-13 Christian Franke <franke@computer.org>
15777
15778 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
15779 to create a floppy emulation boot CD when non emulation mode
15780 does not work.
15781 Enable Joliet CD filesystem extension.
15782
9fe86034 157832008-04-13 Robert Millan <rmh@aybabtu.com>
15784
15785 * kern/misc.c (grub_strncat): Fix off-by-one error.
15786 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
15787
15788 * kern/env.c (grub_env_context_close): Clear current context, not
15789 previous one.
15790 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
15791
15792 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
15793
7ceeee39 157942008-04-13 Robert Millan <rmh@aybabtu.com>
15795
15796 Improve robustness when handling LVM.
15797
15798 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 15799 (and leave `*p' unmodified).
7ceeee39 15800 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
15801 through it.
15802 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
15803 iterating through it.
15804 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
15805 through it.
fe6b695a 15806 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 15807 when due) on each grub_lvm_getvalue() or grub_strstr() call.
15808 Don't assume `vg->pvs != NULL' when iterating through it.
15809
58cd3d85 158102008-04-13 Robert Millan <rmh@aybabtu.com>
15811
15812 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
15813 * genmk.rb (partmap): New variable.
15814 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
15815 (#{partmap}): New target rule.
15816 * genpartmaplist.sh: New file.
15817 * Makefile.in (pkglib_DATA): Add partmap.lst.
15818 (partmap.lst): New target rule.
15819 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
15820 modules (including all partition maps), instead of preloading them.
15821
78b51059 158222007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
15823
15824 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
15825 `linux-boot-prober' (if installed) to detect other operating
15826 systems which are installed on the computer and add them to
15827 the boot menu.
15828 * conf/common.rmk: Build and install 30_os-prober.
15829
a91627b4 158302008-04-12 Robert Millan <rmh@aybabtu.com>
15831
15832 * kern/powerpc/ieee1275/init.c: Move from here ...
15833 * kern/ieee1275/init.c: ... to here. Update all users.
15834
15835 * kern/powerpc/ieee1275/cmain.c: Move from here ...
15836 * kern/ieee1275/cmain.c: ... to here. Update all users.
15837
15838 * kern/powerpc/ieee1275/openfw.c: Move from here ...
15839 * kern/ieee1275/openfw.c: ... to here. Update all users.
15840
15841 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
15842 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
15843
322562ea 158442008-04-10 Pavel Roskin <proski@gnu.org>
15845
15846 * configure.ac: Always use "_cv_" in cache variables for
15847 compatibility with Autoconf 2.62.
15848
a02a73c5 158492008-04-07 Robert Millan <rmh@aybabtu.com>
15850
15851 Revert grub/machine/init.h addition by Pavel (since it breaks on
15852 i386-ieee1275 and others):
15853 * util/i386/pc/misc.c: Remove grub/machine/init.h.
15854 * util/powerpc/ieee1275/misc.c: Likewise.
15855
25c024b1 158562008-04-07 Robert Millan <rmh@aybabtu.com>
15857
15858 * util/grub-probe.c (probe): Improve error message.
15859
3cbd2f98 158602008-04-07 Robert Millan <rmh@aybabtu.com>
15861
15862 * util/biosdisk.c (read_device_map): Skip devices that don't exist
15863 (this prevents the presence of a bogus entry from ruining the whole
15864 thing).
15865
87a297bf 158662008-04-06 Pavel Roskin <proski@gnu.org>
15867
36747a62 15868 * util/biosdisk.c: Include grub/util/biosdisk.h.
15869 * util/grub-fstest.c (execute_command): Make static.
15870 * util/grub-mkdevicemap.c (check_device): Likewise.
15871 * util/i386/pc/misc.c: Include grub/machine/init.h.
15872 * util/powerpc/ieee1275/misc.c: Likewise.
15873 * util/lvm.c: Include grub/util/lvm.h.
15874 * util/misc.c: Include grub/kernel.h, grub/misc.h and
15875 grub/cache.h.
15876 * util/raid.c: Include grub/util/raid.h.
15877 (grub_util_getdiskname): Make static.
15878
87a297bf 15879 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
15880 grub_hostfs_fini(), as they are called from grub_init_all() and
15881 grub_fini_all() respectively. This fixes an infinite loop in
15882 grub-fstest due to double registration of hostfs.
15883 Reported by Christian Franke <Christian.Franke@t-online.de>
15884
f6ce7629 158852008-04-05 Pavel Roskin <proski@gnu.org>
15886
15887 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
15888 all 8 functions. Otherwise, probe function 0 only.
15889
070e49e4 158902008-04-04 Pavel Roskin <proski@gnu.org>
15891
8b088a4c 15892 * commands/lspci.c (grub_lspci_iter): Print the bus number
15893 correctly.
15894
4f657021 15895 * commands/lspci.c (grub_pci_classes): Fix typos.
15896 (grub_lspci_iter): Don't print func twice. Print vendor ID
15897 before device ID, as it's normally done.
15898
070e49e4 15899 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
15900 Fix signedness warnings.
15901 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
15902 Likewise.
15903 * util/ieee1275/get_disk_name.c: Include config.h so that
15904 _GNU_SOURCE is defined and getline() is declared. Mark an
15905 unused argument as such. Fix a signedness warning.
15906
ba7328dc 159072008-04-02 Pavel Roskin <proski@gnu.org>
15908
26887f22 15909 * genkernsyms.sh.in: Use more robust assignments for CC and
15910 srcdir. Quote srcdir.
15911 * gensymlist.sh.in: Likewise. Assert at the compile time that
15912 the symbol table is not empty.
15913
ba7328dc 15914 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
15915 * fs/cpio.c (grub_cpio_read): Likewise.
15916
0f582c6b 159172008-04-01 Pavel Roskin <proski@gnu.org>
15918
4b6e1995 15919 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
15920 * disk/host.c (grub_host_open): Likewise.
15921 * disk/loopback.c (grub_loopback_open): Likewise.
15922 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
15923 disk->id as in disk/host.c, not a multi-character constant.
15924
828a2768 15925 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
15926 later is obsolete, potentially dangerous and sets a bad example.
15927 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
15928 * util/misc.c (grub_util_get_image_size): Likewise.
15929
2bb4fb47 15930 * disk/loopback.c (options): Improve help for "--partitions".
15931
0f582c6b 15932 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
15933 options to align them with the short options, e.g. "echo -e".
15934
a33224e0 159352008-03-31 Bean <bean123ch@gmail.com>
15936
15937 * video/reader/png.c (grub_png_data): New member is_16bit and
15938 image_data.
15939 (grub_png_decode_image_header): Detect 16 bit png image.
15940 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
15941 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
15942 (grub_video_reader_png): Release memory occupied by image_data.
15943
15944 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
15945 4096 bytes.
15946 (grub_nfs_mount): Skip the test for sector per cluster.
15947
15948 * include/grub/ntfs.h (MAX_SPC): Removed.
15949
86cb4f54 159502008-03-31 Bean <bean123ch@gmail.com>
15951
15952 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
15953 (grub_probe_SOURCES): Add fs/afs.c.
15954 (grub_fstest_SOURCES): Likewise.
15955 (afs_mod_SOURCES): New variable.
15956 (afs_mod_CFLAGS): Likewise.
15957 (afs_mod_LDFLAGS): Likewise.
15958
15959 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
15960 (grub_emu_SOURCES): Likewise.
15961
15962 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15963
15964 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15965
15966 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
15967
15968 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15969
15970 * fs/afs.c: New file.
15971
17c74c21 159722008-03-30 Pavel Roskin <proski@gnu.org>
15973
4cb68e89 15974 * disk/host.c: Include grub/misc.h to fix a warning.
15975 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
15976 warnings about implicit declarations.
15977
8790bb04 15978 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
15979 variable.
15980 * include/grub/i386/loader.h: Change declaration of
15981 grub_linux_boot() to match what grub_loader_set() expects.
15982 * util/getroot.c (grub_guess_root_device): Return const char* to
15983 fix a warning.
15984 * util/grub-probe.c (probe): Fix a warning about uninitialized
15985 abstraction_name variable.
15986 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
15987 second argument as unused to fix a warning.
15988
9a3f3296 15989 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
15990 missing grub_error() call.
15991
0ecef90d 15992 * util/update-grub_lib.in: Define datarootdir, since Autoconf
15993 2.60 and newer uses it to define datadir.
15994
0bf6d401 15995 * commands/sleep.c: Fix warning about implicit declaration.
15996 * disk/memdisk.c: Likewise.
15997 * loader/aout.c: Likewise.
15998 * loader/i386/bsd_normal.c: Likewise.
15999 * util/grub-probe.c: Likewise.
16000
7cdacf97 16001 * commands/i386/cpuid.c (has_longmode): Make static.
16002 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
16003 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
16004
17c74c21 16005 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
16006 GDT. This is more robust, as %ds can change.
16007 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
16008 calling real_to_prot().
16009 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
16010
80a3e68b 160112008-03-28 Pavel Roskin <proski@gnu.org>
16012
16013 * kern/i386/pc/startup.S: Assert that uncompressed functions
16014 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
16015 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
16016 code, as they push parts of the code (error handlers) beyond
16017 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
16018 code as correctness and size.
16019
77bcd272 160202008-03-28 Pavel Roskin <proski@gnu.org>
16021
16022 * kern/i386/pc/startup.S
16023 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
16024 data block address to the real mode, keep offset minimal. This
16025 works around a bug in AWARD BIOS on old Athlon systems, which
16026 makes CD detection hang.
16027
c5dfd43b 160282008-03-26 Pavel Roskin <proski@gnu.org>
16029
16030 * normal/color.c (grub_parse_color_name_pair): Make `name' a
16031 const.
16032 * include/grub/normal.h: Add grub_parse_color_name_pair()
16033 declaration.
16034
bf962df2 160352008-03-24 Bean <bean123ch@gmail.com>
16036
16037 * disk/i386/pc/biosdisk.c (cd_start): Removed.
16038 (cd_count): Removed.
16039 (cd_drive): New variable.
16040 (grub_biosdisk_get_drive): Don't check for (cdN) device.
16041 (grub_biosdisk_call_hook): Likewise.
16042 (grub_biosdisk_iterate): Change cdrom detection method.
16043 (grub_biosdisk_open): Replace cd_start with cd_drive.
16044 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
16045 detect cdrom device.
16046
16047 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
16048 Removed.
16049 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
16050 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
16051 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
16052 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
16053 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
16054 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
16055 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
16056 (grub_biosdisk_cdrp): New structure.
16057 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
16058
16059 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
16060
16061 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
16062 device.
16063
16064 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
16065 New function.
16066
68e7fc7a 160672008-03-20 Robert Millan <rmh@aybabtu.com>
16068
16069 Remove 2 TiB limit in ata.mod.
16070 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
16071 (grub_ata_dumpinfo): Print sector count with 0x%llx.
16072 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
16073 grub_uint64_t instead of grub_uint32_t.
16074
38ad2cf5 160752008-03-05 Bean <bean123ch@gmail.com>
16076
16077 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
16078 (grub_multiboot): Set boot device.
16079
16080 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
16081
2b89344e 160822008-03-02 Bean <bean123ch@gmail.com>
16083
16084 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
16085 symlink_buffer.
16086
87a95d1f 160872008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
16088
16089 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
16090 texinfo.tex.
16091
16092 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
16093 modified.
16094
16095 * docs/fdl.texi: New file.
f19dbdb7 16096
87a95d1f 16097 * docs/mdate-sh: New file. Copied from gnulib.
16098 * docs/texinfo.tex: Likewise.
16099
16100 * config.guess: Updated from gnulib.
16101 * install-sh: Likewise.
16102
7dc15d8e 161032008-02-28 Robert Millan <rmh@aybabtu.com>
16104
16105 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
16106 (aout_mod_SOURCES): New variable.
16107 (aout_mod_CFLAGS): Likewise.
16108 (aout_mod_LDFLAGS): Likewise.
16109
16110 * conf/i386-ieee1275.rmk: Likewise.
16111
b00ab696 161122008-02-28 Robert Millan <rmh@aybabtu.com>
16113
16114 * util/update-grub.in: Reorganise terminal validity check. Accept
16115 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
16116 Based on suggestion by Franklin PIAT.
16117
79ca2d78 161182008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
16119
16120 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
16121 function.
16122 * util/getroot.c (grub_util_check_block_device): New function that
16123 returns the given argument if it is a block device and returns NULL else.
16124 * util/grub-probe.c (argument_is_device): New variable.
16125 (probe): Promote device_name from a variable to an argument. Receive
16126 device_name from grub_util_check_block_device() if path is NULL and from
16127 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 16128 (options): Introduce new parameter '-d, --device'.
79ca2d78 16129 (main): Add description of the new parameter to the help screen.
16130 Rename path variable to argument. Set argument_is_device if the '-d'
16131 option is given. Pass argument to probe() depending on
16132 argument_is_device.
16133
0d16e571 161342008-02-24 Bean <bean123ch@gmail.com>
16135
16136 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
16137 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
16138 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
16139 (GRUB_ISO9660_VOLDESC_PART): Likewise.
16140 (GRUB_ISO9660_VOLDESC_END): Likewise.
16141 (grub_iso9660_primary_voldesc): New member escape.
16142 (grub_iso9660_data): New member joliet.
16143 (grub_iso9660_convert_string): New function.
16144 (grub_iso9660_mount): Detect joliet extension.
16145 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
16146 (grub_iso9660_iso9660_label): Likewise.
16147
16148 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
16149 (grub_setup_SOURCES): Add fs/udf.c.
16150 (grub_fstest_SOURCES): Likewise.
16151 (udf_mod_SOURCES): New variable.
16152 (udf_mod_CFLAGS): Likewise.
16153 (udf_mod_LDFLAGS): Likewise.
16154
16155 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
16156 (grub_emu_SOURCES): Likewise.
16157
16158 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16159
16160 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16161
16162 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
16163
16164 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16165
16166 * fs/udf.c: New file.
16167
8a594a17 161682008-02-24 Robert Millan <rmh@aybabtu.com>
16169
16170 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
16171 (normal/lexer.c_DEPENDENCIES): New variables.
16172 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
16173 (normal/lexer.c_DEPENDENCIES): Likewise.
16174 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
16175 (normal/lexer.c_DEPENDENCIES): Likewise.
16176 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
16177 (normal/lexer.c_DEPENDENCIES): Likewise.
16178 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
16179 (normal/lexer.c_DEPENDENCIES): Likewise.
16180 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
16181 (normal/lexer.c_DEPENDENCIES): Likewise.
16182
2dc33c03 161832008-02-23 Robert Millan <rmh@aybabtu.com>
16184
16185 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
16186 since they were intended to be in hex. This didn't break previously
16187 because of a bug in gpt_partition_map_iterate() (see below).
16188
16189 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
16190 when checking the validity of GPT header.
16191 Remove `partno', since it always provides the same information as `i'.
16192
f6f4cfb0 161932008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
16194
16195 * include/grub/efi/time.h: Fix a wrong comment.
16196
79ff665f 161972008-02-19 Pavel Roskin <proski@gnu.org>
16198
16199 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
16200 message.
16201
d38e24c2 162022008-02-19 Bean <bean123ch@gmail.com>
16203
16204 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
16205 (aout_mod_SOURCES): New variable.
16206 (aout_mod_CFLAGS): Likewise.
16207 (aout_mod_LDFLAGS): Likewise.
16208 (_bsd_mod_SOURCES): New variable.
16209 (_bsd_mod_CFLAGS): Likewise.
16210 (_bsd_mod_LDFLAGS): Likewise.
16211 (bsd_mod_SOURCES): New variable.
16212 (bsd_mod_CFLAGS): Likewise.
16213 (bsd_mod_LDFLAGS): Likewise.
16214
16215 * include/grub/aout.h: New file.
16216
16217 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
16218
16219 * include/grub/i386/bsd.h: New file.
16220
16221 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
16222 to make it public.
16223
16224 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
16225 function is called, so that it's possible to change it inside the hook.
16226 (grub_elf64_load): Likewise.
16227 (grub_elf_file): Don't close the file if elf header is not found.
16228 (grub_elf_close): Close the file if grub_elf_file fails (The new
16229 grub_elf_file won't close it).
16230 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
16231 (grub_elf64_size): Likewise.
16232
16233 * kern/i386/loader.S (grub_unix_real_boot): New function.
16234
16235 * loader/aout.c: New file.
16236
16237 * loader/i386/bsd.c: New file.
16238
16239 * loader/i386/bsd_normal.c: New file.
16240
16241 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
16242
16243 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 16244 can test other formats.
d38e24c2 16245
b93bdb0f 162462008-02-19 Robert Millan <rmh@aybabtu.com>
16247
16248 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
16249 (grub_gpt_partition_type_empty): Redefine with macro from
16250 `<grub/gpt_partition.h>'.
16251 (gpt_partition_map_iterate): Adjust partition type comparison.
16252
16253 Export `entry' as partmap-specific `part.data' struct.
16254 (grub_gpt_header, grub_gpt_partentry): Move from here ...
16255
16256 * include/grub/gpt_partition.h (grub_gpt_header)
16257 (grub_gpt_partentry): ... to here (new file).
16258
16259 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
16260
16261 (grub_gpt_partition_type_bios_boot): New const variable, defined
16262 with macro from `<grub/gpt_partition.h>'.
16263
16264 (setup): Replace `first_start' with `embed_region', which keeps
16265 track of the embed region (and is partmap-agnostic).
16266
16267 Replace find_first_partition_start() with find_usable_region(),
16268 which finds a usable region for embedding using partmap-specific
16269 knowledge (supports PC/MSDOS and GPT).
16270
16271 Fix all assumptions that the embed region start at sector 1, using
16272 `embed_region.start' from now on. Similarly, use `embed_region.end'
16273 rather than `first_start' to calculate available size.
16274
16275 In grub_util_info() message, replace "into after the MBR" with an
16276 indication of the specific sector our embed region starts at.
16277
66cb40f6 162782008-02-19 Robert Millan <rmh@aybabtu.com>
16279
16280 * DISTLIST: Replace `commands/ieee1275/halt.c' and
16281 `commands/ieee1275/reboot.c' with `commands/halt.c' and
16282 `commands/reboot.c'.
16283 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
16284 (halt_mod_SOURCES): Likewise.
16285 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
16286 (halt_mod_SOURCES): Likewise.
16287
b7202015 162882008-02-17 Christian Franke <franke@computer.org>
16289
16290 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
16291
32b0fc49 162922008-02-17 Robert Millan <rmh@aybabtu.com>
16293
16294 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
16295 set `first_start' to 0 for non-PC/MSDOS partition maps.
16296
aca63502 162972008-02-16 Robert Millan <rmh@aybabtu.com>
16298
16299 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
16300 do not assume partition map is PC/MSDOS before performing checks that
16301 are specific to that layout.
16302
0de8be86 163032008-02-13 Robert Millan <rmh@aybabtu.com>
16304
16305 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
16306 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
16307 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
16308
c3db8364 163092008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
16310
16311 * configure.ac: Only a cosmetic change on the handling of
16312 -fno-stack-protector.
16313
f714229e 163142008-02-12 Alexandre Boeglin <alex@boeglin.org>
16315
c3db8364 16316 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
16317 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
16318 reboot.c.
f714229e 16319 (grub_install_SOURCES): Add halt.mod and reboot.mod.
16320 (halt_mod_SOURCES): New variable.
16321 (halt_mod_CFLAGS): Likewise.
16322 (halt_mod_LDFLAGS): Likewise.
16323 (reboot_mod_SOURCES): Likewise.
16324 (reboot_mod_CFLAGS): Likewise.
16325 (reboot_mod_LDFLAGS): Likewise.
16326
c3db8364 16327 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
16328 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
16329 reboot.c.
f714229e 16330 (halt_mod_SOURCES): Likewise.
16331 (reboot_mod_SOURCES): Likewise.
16332
c3db8364 16333 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
16334 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 16335 (reboot_mod_SOURCES): Likewise.
16336
16337 * commands/i386/pc/reboot.c: merge this file ...
16338
16339 * commands/ieee1275/reboot.c: ... and this file ...
16340
16341 * commands/reboot.c: ... to this file.
c3db8364 16342 Add some precompiler directive to include the correct header for
16343 each machine.
f714229e 16344
16345 * commands/ieee1275/halt.c: move this file ...
16346
16347 * commands/halt.c: ... to here.
c3db8364 16348 Add some precompiler directive to include the correct header for
16349 each machine.
f714229e 16350
16351 * include/grub/efi/efi.h (grub_reboot): New function declaration.
16352 (grub_halt): Likewise.
16353
16354 * kern/efi/efi.c (grub_reboot): New function.
16355 (grub_halt): Likewise.
16356
c74493e0 163572008-02-12 Robert Millan <rmh@aybabtu.com>
16358
16359 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
16360 /dev (like it is done for /dev/mapper). This doesn't provide support
16361 for EVMS, but at least it is now easy to identify the problem when it
16362 arises.
16363
d0db4b04 163642008-02-11 Robert Millan <rmh@aybabtu.com>
16365
16366 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
16367 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
16368 comparing it with -1, not 0.
16369
bf748642 163702008-02-10 Robert Millan <rmh@aybabtu.com>
16371
16372 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
16373 `disk/lvm.c'.
16374 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16375 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
16376
16377 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
16378 `disk/lvm.c' to the end of the list.
16379 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
16380 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16381
b5db202a 163822008-02-10 Robert Millan <rmh@aybabtu.com>
16383
16384 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
16385 grub_print_error() instead. This will let user know why we're entering
16386 rescue mode.
16387 Based on suggestions from Sam Morris.
16388
83abee31 163892008-02-10 Alexandre Boeglin <alex@boeglin.org>
16390
16391 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
16392 on remaining N args, instead of "--" arg N times.
16393
78d5a08b 163942008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
16395
16396 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
16397 (fill_with_default_glyph): Changed to use unknown_glyph for fill
16398 pattern for unknown glyphs.
16399
68807e5f 164002008-02-09 Robert Millan <rmh@aybabtu.com>
16401
16402 * configure.ac: Probe for `help2man'.
16403 * Makefile.in (builddir): New variable.
16404 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
16405 or otherwise add a few flags/options to it.
16406 (install-local): For every executable utility or script that is
16407 installed, invoke $(HELP2MAN) to install a manpage based on --help
16408 output.
16409
16410 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
16411 that it doesn't prevent --help from working in build tree.
16412
16413 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
16414 with `bug-grub@gnu.org'.
16415 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
16416 * util/update-grub.in (usage): New function.
16417 Implement proper argument check, with support for --help and --version
16418 (as well as existing -y).
16419
164202008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 16421
16422 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
16423 avoid overwriting previous output.
16424 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
16425
c1962162 164262008-02-09 Robert Millan <rmh@aybabtu.com>
16427
16428 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
16429 drawing the menu.
16430
3dac2e3f 164312008-02-09 Robert Millan <rmh@aybabtu.com>
16432
16433 * commands/sleep.c: New file.
16434 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
16435 (sleep_mod_SOURCES): New variable.
16436 (sleep_mod_CFLAGS): Likewise.
16437 (sleep_mod_LDFLAGS): Likewise.
16438
7a634e08 164392008-02-09 Robert Millan <rmh@aybabtu.com>
16440
16441 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
16442 situations in which we can deduce the RAID size and the superblock
16443 doesn't match it.
16444
b92f0c18 164452008-02-09 Robert Millan <rmh@aybabtu.com>
16446
16447 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
16448 and return a grub_diskmemberlist_t composed of LVM physical volumes.
16449 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
16450
16451 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
16452 and return a grub_diskmemberlist_t composed of physical array members.
16453 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
16454
16455 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
16456 prototype.
16457 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
16458 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
16459 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
16460
16461 * util/grub-probe.c (probe): Move partmap probing code from here ...
16462 (probe_partmap): ... to here.
16463 (probe): Use probe_partmap() once for the disk we're probing, and
16464 additionally, when such disk contains a memberlist() struct member,
16465 once for each disk that is contained in the structure returned by
16466 memberlist().
16467
91a4bf68 164682008-02-09 Robert Millan <rmh@aybabtu.com>
16469
16470 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
16471 environment variable to 'all' in order to obtain debug output from
16472 non-util/ code.
16473 * util/i386/pc/grub-setup.c (main): Likewise.
16474
a96f9caa 164752008-02-08 Robert Millan <rmh@aybabtu.com>
16476
16477 * disk/raid.c (grub_raid_scan_device): Check for
16478 `array->device[sb.this_disk.number]' rather than for
16479 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 16480 guaranteed to be accessible.
a96f9caa 16481
b37a9222 164822008-02-08 Robert Millan <rmh@aybabtu.com>
16483
16484 * disk/raid.c: Update copyright.
16485 * fs/cpio.c: Likewise.
16486 * include/grub/raid.h: Likewise.
16487 * loader/i386/pc/multiboot.c: Likewise.
16488 * util/hostfs.c: Likewise.
16489
5626aee1 164902008-02-08 Robert Millan <rmh@aybabtu.com>
16491
16492 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
16493 to a grub_disk_t array.
16494 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
16495 `device[x]'.
16496 (grub_raid_scan_device): Replace `device[x].name' accesses with
16497 `device[x]->name'. Simplify initialization of `array->device[x]'.
16498
554f0187 164992008-02-08 Robert Millan <rmh@aybabtu.com>
16500
16501 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
16502 grub_dprintf() calls.
16503 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
16504 error message.
16505
1ec8425d 165062008-02-07 Christian Franke <franke@computer.org>
16507
16508 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
16509 instead of fseek and ftell to support large files.
16510 (grub_hostfs_read): Likewise.
16511
f2156fda 165122008-02-07 Robert Millan <rmh@aybabtu.com>
16513
16514 Patch from Jeroen Dekkers.
16515 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 16516 failure, since successfully reading all array members might not be
f2156fda 16517 required.
16518
9216e0e7 165192008-02-06 Robert Millan <rmh@aybabtu.com>
16520
16521 * util/grub-probe.c (probe): Simplify partmap probing (with the
16522 assumption that the first word up to the underscore equals to
16523 the module name).
16524
b0dfd29a 165252008-02-06 Christian Franke <franke@computer.org>
16526
16527 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
16528 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
16529 last block of a cpio or tar stream.
16530 Check for "TRAILER!!!" instead of any empty data
16531 block to detect last block of a cpio stream.
16532 (grub_cpio_dir): Fix constness of variable np.
16533 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
16534 cpio or tar trailer is detected. This fixes a crash
16535 on open of a non existing file.
16536
c32865bf 165372008-02-05 Bean <bean123ch@gmail.com>
16538
16539 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
16540 address of entry.
16541 (grub_multiboot_load_elf64): Likewise.
16542 (grub_multiboot): Initialize mbi structure.
16543
16544 * util/grub-fstest.c: Don't include unused header file script.h.
16545
fe6b695a 16546 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 16547 of file.
16548 (grub_fstest_SOURCES): Likewise.
16549
409480b7 165502008-02-05 Robert Millan <rmh@aybabtu.com>
16551
16552 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
16553 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
16554 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
16555 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
16556
16557 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
16558 (translation_table): Replace hardcoded values with macros
16559 provided by `<grub/term.h>'.
16560
16561 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
16562 (keyboard_map): Correct/add a few values, with macros provided
16563 by `<grub/term.h>'.
16564 (keyboard_map_shift): Zero values that don't differ from their
16565 `keyboard_map' equivalents.
16566 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
16567 Discard the second scan code that is always sent by Caps lock.
16568 Only use `keyboard_map_shift' when it provides a non-zero value,
16569 otherwise fallback to `keyboard_map'.
16570
99fadbaa 165712008-02-04 Bean <bean123ch@gmail.com>
16572
16573 * Makefile.in (enable_grub_fstest): New variable.
16574
16575 * conf/common.rmk (grub_fstest_init.lst): New rule.
16576 (grub_fstest_init.h): Likewise.
16577 (grub_fstest_init.c): Likewise.
16578 (util/grub-fstest.c_DEPENDENCIES): New variable.
16579 (grub_fstest_SOURCES): Likewise.
16580
16581 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
16582
16583 * util/grub-fstest.c: New file.
16584
bf567c50 165852008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
16586
16587 Make grub-setup handle a separate root device.
f19dbdb7 16588
bf567c50 16589 * util/i386/pc/grub-setup.c (setup): Always open the root device,
16590 so that the root device can be compared with the destination
16591 device.
16592 When embedding the core image, if the root and destination devices
16593 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
16594 0xFF.
16595 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 16596
9be6b98b 165972008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
16598
16599 Add support for having a grub directory in a different drive. This
16600 is still only the data handling part.
f19dbdb7 16601
9be6b98b 16602 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
16603 (codestart): Save %dh in GRUB_ROOT_DRIVE.
16604 (grub_root_drive): New variable.
16605
16606 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
16607 instead of GRUB_BOOT_DRIVE to construct a device name. Set
16608 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
16609 as it was.
16610
16611 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
16612
16613 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
16614 macro.
16615 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
16616
16617 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
16618 is bogus, because PXE booting does not specify any drive
16619 correctly.
16620
16621 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
16622 am not sure if this is really correct.
16623
16624 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
16625 is always identical to the boot drive when booting from a CD.
16626
16627 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
16628 longer.
16629 (root_drive): New variable.
16630 (real_start): Unconditionally set %dh to ROOT_DRIVE.
16631 (setup_sectors): Push %dx right after popping it, because %dh will
16632 be modified later.
16633 (copy_buffer): Restore %dx.
16634
e0ca0677 166352008-02-03 Robert Millan <rmh@aybabtu.com>
16636
16637 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
16638 use `cdboot.img' for cdrom images.
16639
3b3f6629 166402008-02-03 Robert Millan <rmh@aybabtu.com>
16641
16642 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
16643 only setup gfxterm when `font' command has succeeded.
16644
d42b3672 166452008-02-03 Robert Millan <rmh@aybabtu.com>
16646
16647 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
16648 (grub_rescue_cmd_multiboot_loader)
16649 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
16650
fa370ea6 166512008-02-03 Pavel Roskin <proski@gnu.org>
16652
e0c5dacb 16653 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 16654 %edx and %esi from stack only after grub_gate_a20() is called.
16655 grub_gate_a20() clobbers %edx.
16656
f2a76e1d 166572008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
16658
16659 * configure.ac (AC_INIT): Bumped to 1.96.
16660
16661 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
16662 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
16663 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
16664 video/readers/png.c.
16665
90fd32d1 166662008-02-03 Bean <bean123ch@gmail.com>
9be665dd 16667
16668 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
16669 (cdboot_img_SOURCES): New variable.
16670 (cdboot_img_ASFLAGS): New variable.
16671 (cdboot_img_LDFLAGS): New variable.
16672
16673 * boot/i386/pc/cdboot.S: New file.
16674
16675 * disk/i386/pc/biosdisk.c (cd_start): New variable.
16676 (cd_count): Likewise.
16677 (grub_biosdisk_get_drive): Add support for cd device.
16678 (grub_biosdisk_call_hook): Likewise.
16679 (grub_biosdisk_iterate): Likewise.
16680 (grub_biosdisk_open): Likewise.
16681 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
16682 (grub_biosdisk_rw): Support reading from cd device.
16683 (GRUB_MOD_INIT): Iterate cd devices.
16684
16685 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
16686 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
16687 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
16688
16689 * kern/i386/pc/init.c (make_install_device): Check for cd device.
16690
4020aa53 166912008-02-02 Robert Millan <rmh@aybabtu.com>
16692
16693 * commands/read.c: New file.
16694 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
16695 (read_mod_SOURCES): New variable.
16696 (read_mod_CFLAGS): Likewise.
16697 (read_mod_LDFLAGS): Likewise.
16698
e03a1132 166992008-02-02 Robert Millan <rmh@aybabtu.com>
16700
16701 * normal/main.c (grub_normal_execute): Check for `menu->size' when
16702 determining whether menu has to be displayed.
16703
58c69220 167042008-02-02 Marco Gerards <marco@gnu.org>
16705
16706 * bus/pci.c: New file.
16707
16708 * include/grub/pci.h: Likewise.
16709
16710 * include/grub/i386/pc/pci.h: Likewise.
16711
16712 * commands/lspci.c: Likewise.
16713
16714 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
16715 `lspci.mod'.
16716 (pci_mod_SOURCES): New variable.
16717 (pci_mod_CFLAGS): Likewise.
16718 (pci_mod_LDFLAGS): Likewise.
16719 (lspci_mod_SOURCES): Likewise.
16720 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 16721 (lspci_mod_LDFLAGS): Likewise.
58c69220 16722
c004e1b4 167232008-02-02 Bean <bean123ch@gmail.com>
16724
16725 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
16726 (grub_ufs_get_file_block): Fix indirect block calculation problem.
16727
16728 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
16729 (grub_xfs_btree_node): New structure.
16730 (grub_xfs_btree_root): New structure.
16731 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
16732 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
16733 (GRUB_XFS_EXTENT_BLOCK): Likewise.
16734 (GRUB_XFS_EXTENT_SIZE): Likewise.
16735 (grub_xfs_read_block): Support btree format type.
16736 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
16737 Use directory block as basic unit.
16738
16739 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
16740
16741 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
16742 __attribute__ ((__regparm__ (1))).
16743
f95562bf 167442008-02-01 Robert Millan <rmh@aybabtu.com>
16745
16746 Correct a mistake in previous commit.
16747
16748 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
16749 top.
16750 (normal/command.c_DEPENDENCIES): New variable.
16751
7d31f41f 167522008-02-01 Robert Millan <rmh@aybabtu.com>
16753
16754 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
16755 top.
16756 (normal/command.c_DEPENDENCIES): New variable.
16757 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
16758 * conf/i386-ieee1275.rmk: Likewise.
16759 * conf/i386-linuxbios.rmk: Likewise.
16760 * conf/i386-pc.rmk: Likewise.
16761 * conf/sparc64-ieee1275.rmk: Likewise.
16762 * conf/powerpc-ieee1275.rmk: Likewise.
16763 (grub_emu_SOURCES): Add `fs/fshelp.c'.
16764
16765 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
16766
60b6be74 167672008-02-01 Robert Millan <rmh@aybabtu.com>
16768
16769 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
16770 call at beginning of function.
16771
078522ab 167722008-01-31 Pavel Roskin <proski@gnu.org>
16773
16774 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 16775 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
16776 (grub_mkrescue_SOURCES): Likewise.
078522ab 16777 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
16778
ccaa8a5f 167792008-01-30 Robert Millan <rmh@aybabtu.com>
16780
16781 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
16782 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
16783 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
16784 (grub_probe_SOURCES): ... to here.
16785
16786 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
16787 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
16788 * conf/i386-ieee1275.rmk: Likewise.
16789 * conf/i386-linuxbios.rmk: Likewise.
16790 * conf/powerpc-ieee1275.rmk: Likewise.
16791
ae5a9cd7 167922008-01-30 Tristan Gingold <gingold@free.fr>
16793
16794 * kern/rescue.c: Silently accept empty lines.
16795
70bc2ef2 167962008-01-29 Bean <bean123ch@gmail.com>
16797
16798 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
16799 (real_code_2): Code cleanup and change comment style.
16800 (move_memory): Avoid using 32-bit address mode.
16801
6a4d50ea 168022008-01-29 Bean <bean123ch@gmail.com>
16803
16804 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
16805 (png_mod_SOURCES): New variable.
16806 (png_mod_CFLAGS): Likewise.
16807 (png_mod_LDFLAGS): Likewise.
16808
16809 * video/readers/png.c: New file.
16810
11cc30ac 168112008-01-28 Robert Millan <rmh@aybabtu.com>
16812
16813 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
16814 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
16815 `ifndef GRUB_MOD_GAP' hack.
16816 * util/elf/grub-mkimage.c (add_segments): Likewise.
16817
3abc589f 168182008-01-27 Robert Millan <rmh@aybabtu.com>
16819
16820 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
16821 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 16822 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 16823
e1907778 168242008-01-27 Robert Millan <rmh@aybabtu.com>
16825
16826 Get grub-emu to build again (including parallel builds).
16827
16828 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
16829 Split into ...
16830 (util/grub-emu.c_DEPENDENCIES): ... this, ...
16831 (normal/execute.c_DEPENDENCIES): ... this, ...
16832 (grub-emu_DEPENDENCIES): ... and this.
16833
16834 * conf/i386-efi.rmk: Likewise.
16835 * conf/i386-linuxbios.rmk: Likewise.
16836 * conf/i386-ieee1275.rmk: Likewise.
16837 * conf/powerpc-ieee1275.rmk: Likewise.
16838 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
16839
2216b101 168402008-01-27 Robert Millan <rmh@aybabtu.com>
16841
16842 * NEWS: Add a few items.
16843
f75172d9 168442008-01-27 Robert Millan <rmh@aybabtu.com>
16845
16846 Fix parallel builds with grub-emu. Based on earlier commit for
16847 grub-probe and grub-setup.
16848
16849 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
16850 (util/grub-emu.c_DEPENDENCIES): ... this.
16851 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
16852 (util/grub-emu.c_DEPENDENCIES): ... this.
16853 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
16854 (util/grub-emu.c_DEPENDENCIES): ... this.
16855 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
16856 (util/grub-emu.c_DEPENDENCIES): ... this.
16857 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
16858 (util/grub-emu.c_DEPENDENCIES): ... this.
16859
3f51de77 168602008-01-27 Pavel Roskin <proski@gnu.org>
16861
16862 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
16863 to create a gap between _end and the modules added to the image
16864 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
16865 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
16866 * util/elf/grub-mkimage.c (add_segments): Likewise.
16867
2033f53e 168682008-01-26 Pavel Roskin <proski@gnu.org>
16869
16870 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
16871 just return an error.
16872
22da1f6f 168732008-01-26 Bean <bean123ch@gmail.com>
16874
16875 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
16876 (grub_reiserfs_get_item): Save offset of the next item.
16877 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
16878
2a9525e6 168792008-01-25 Robert Millan <rmh@aybabtu.com>
16880
16881 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
16882 make all filesystem sources appear together (possibly fixing omissions
16883 while at it).
16884 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16885 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16886 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
16887 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16888
16889 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
16890 add `kern/file.c'.
16891 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
16892 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
16893 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
16894 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
16895
16896 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
16897 (probe): Add a sanity check to make sure of our ability to read
16898 requested files when probing for filesystem type.
16899
16900 * genmk.rb: Update copyright year (2007).
16901
16902 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
16903 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
16904 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
16905 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
16906 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
16907 : Remove function prototypes.
16908
b95f71b5 169092008-01-25 Robert Millan <rmh@aybabtu.com>
16910
16911 Revert my previous commits (based on wrong assumption of how grub_errno
16912 works).
16913
fe6b695a 16914 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 16915 * kern/file.c (grub_file_open): Likewise.
16916
d08bbb49 169172008-01-24 Pavel Roskin <proski@gnu.org>
16918
16919 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
16920 that hang if GRUB tries to setup colors.
16921 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
16922 colors for firmwares that don't support it.
16923 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
16924 Recognize Open Hack'Ware, set flags to work around its
16925 limitations.
16926
605e36ed 169272008-01-24 Robert Millan <rmh@aybabtu.com>
16928
16929 * kern/file.c (grub_file_open): Do not account previous failures of
16930 unrelated functions when grub_errno is checked for.
16931 Reported by Oleg Strikov.
16932
bac332a1 169332008-01-24 Bean <bean123ch@gmail.com>
16934
16935 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
16936 (grub_ufs_sblock): New member volume name.
16937 (grub_ufs_find_file): Fix string copy bug.
16938 (grub_ufs_label): Implement this function properly.
16939
16940 * fs/hfs.c (grub_hfs_cnid_type): New enum.
16941 (grub_hfs_iterate_records): Use the correct file number for extents
16942 and catalog file. Fix problem in next index calculation.
16943 (grub_hfs_find_node): Replace recursive function call with loop.
16944 (grub_hfs_iterate_dir): Replace recursive function call with loop.
16945
15c80c09 169462008-01-23 Robert Millan <rmh@aybabtu.com>
16947
16948 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
16949 `<grub/symbol.h>' and `<grub/multiboot.h>'.
16950 (grub_multiboot2_real_boot): New function prototype.
16951
16952 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
16953 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
16954
16955 * kern/i386/ieee1275/init.c (grub_os_area_addr)
16956 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
16957
305338fd 169582008-01-23 Robert Millan <rmh@aybabtu.com>
16959
16960 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
16961 #ifdef'ed out grub_printf().
16962
3ea52685 169632008-01-23 Robert Millan <rmh@aybabtu.com>
16964
16965 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
16966 grub_dprintf calls, since they make "debug=all" mode unusable.
16967 (grub_console_checkkey): Likewise.
16968
5882ae4b 169692008-01-23 Robert Millan <rmh@aybabtu.com>
16970
16971 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
16972 `term/i386/pc/at_keyboard.c'.
16973 (pkglib_MODULES): Add `serial.mod'.
16974 (serial_mod_SOURCES): New variable.
16975 (serial_mod_CFLAGS): Likewise.
16976 (serial_mod_LDFLAGS): Likewise.
16977
16978 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
16979 `<grub/powerpc/ieee1275/console.h>'.
16980 (grub_keyboard_controller_init): New function prototype.
16981 (grub_console_checkkey): Likewise.
16982 (grub_console_getkey): Likewise.
16983
16984 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
16985 keyboard on i386.
16986
16987 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
16988 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
16989
06ab5303 169902008-01-23 Robert Millan <rmh@aybabtu.com>
16991
16992 * kern/i386/pc/init.c (make_install_device): When memdisk image is
16993 present, "(memdisk)/boot/grub" becomes the default prefix.
16994
16995 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
16996 a memdisk tarball with all the modules. Add --overlay=DIR option that
16997 allows users to overlay additional files into the image.
16998
dbb475a4 169992008-01-23 Robert Millan <rmh@aybabtu.com>
17000
17001 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
17002 and `machine/memory.h'.
17003 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
17004 (_multiboot_mod_SOURCES): New variable.
17005 (_multiboot_mod_CFLAGS): Likewise.
17006 (_multiboot_mod_LDFLAGS): Likewise.
17007 (multiboot_mod_SOURCES): Likewise.
17008 (multiboot_mod_CFLAGS): Likewise.
17009 (multiboot_mod_LDFLAGS): Likewise.
17010
17011 * include/grub/i386/ieee1275/loader.h: New file.
17012
17013 * include/grub/i386/ieee1275/machine.h: Likewise.
17014
17015 * include/grub/i386/ieee1275/memory.h: Likewise.
17016
17017 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
17018 variable declaration.
17019 (grub_os_area_size): Likewise.
17020
17021 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
17022 (grub_lower_mem, grub_upper_mem): New variables.
17023 (grub_stop_floppy): New function (just to make
17024 grub_multiboot2_real_boot() happy).
17025
17026 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
17027 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
17028 (grub_stop): New function.
17029 Include `"../realmode.S"' and `"../loader.S"'.
17030
17031 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
17032 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
17033
17034 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
17035 rely on grub_multiboot2_real_boot() for final boot.
17036
25638629 170372008-01-22 Robert Millan <rmh@aybabtu.com>
17038
17039 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
17040 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
17041 device that doesn't look like an SD card.
17042 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
17043 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
17044 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
17045 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
17046 found.
17047
9dad816d 170482008-01-22 Robert Millan <rmh@aybabtu.com>
17049
17050 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
17051 avoid claiming over our own code.
17052
34842f2d 170532008-01-22 Bean <bean123ch@gmail.com>
17054
17055 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
17056 (jpeg_mod_SOURCES): New variable.
17057 (jpeg_mod_CFLAGS): Likewise.
17058 (jpeg_mod_LDFLAGS): Likewise.
17059
17060 * video/readers/jpeg.c : New file.
17061
44023a28 170622008-01-22 Bean <bean123ch@gmail.com>
17063
17064 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
17065 there are no more items.
17066
bc2d8ac6 170672008-01-21 Robert Millan <rmh@aybabtu.com>
17068
17069 * kern/mm.c (grub_mm_init_region): Improve debug message.
17070
261bd4bc 170712008-01-21 Robert Millan <rmh@aybabtu.com>
17072
17073 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
17074 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
17075 address.
17076 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
17077 a C macro.
17078 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
17079 Indicates start of upper memory.
17080 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
17081 (generate_image): Abort when image size is big enough to corrupt
17082 upper memory.
17083
17084 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
17085 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
17086 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
17087 instead of hardcoding 0xA0000.
17088 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
17089 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
17090 instead of hardcoding 0xA0000.
17091
f970b55e 170922008-01-21 Robert Millan <rmh@aybabtu.com>
17093
17094 * disk/memdisk.c (memdisk_size): New variable.
17095 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
17096 `memdisk_size'.
17097 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
17098 image to dynamic memory.
17099 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
17100 `memdisk_size'. Free memdisk block.
17101
1a8b0526 171022008-01-21 Robert Millan <rmh@aybabtu.com>
17103
17104 Fix detection of very small filesystems (like tar).
17105
17106 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
17107 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
17108 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
17109 a problem with this disk).
17110
6e9b4aab 171112008-01-21 Robert Millan <rmh@aybabtu.com>
17112
17113 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
17114 on grub_biosdisk_rw_standard() error.
17115
0d8837b2 171162008-01-21 Robert Millan <rmh@aybabtu.com>
17117
17118 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
17119 recent changes.
17120 * kern/elf.c: Likewise.
17121 * kern/ieee1275/ieee1275.c: Likewise.
17122 * kern/powerpc/ieee1275/openfw.c: Likewise.
17123 * term/ieee1275/ofconsole.c: Likewise.
17124
ffd36e34 171252008-01-21 Robert Millan <rmh@aybabtu.com>
17126
17127 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
17128
3f0093d0 17129 * include/grub/kernel.h (grub_arch_memdisk_addr)
17130 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 17131
3f0093d0 17132 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
17133 (grub_arch_memdisk_size): ... to here.
ffd36e34 17134
6c391b21 171352008-01-21 Robert Millan <rmh@aybabtu.com>
17136
17137 Mostly based on bugfix from Bean.
17138
17139 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
17140 attribute with hook() parameter.
17141 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
17142 declaration.
17143 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
17144 attribute with hook() parameter.
17145 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
17146 declaration.
17147
55a581dc 171482008-01-21 Robert Millan <rmh@aybabtu.com>
17149
17150 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
17151 (pkglib_MODULES): Add `memdisk.mod'.
17152 (memdisk_mod_SOURCES): New variable.
17153 (memdisk_mod_CFLAGS): Likewise.
17154 (memdisk_mod_LDFLAGS): Likewise.
17155
17156 * disk/memdisk.c: New file.
17157
17158 * include/grub/disk.h (grub_disk_dev_id): Add
17159 `GRUB_DISK_DEVICE_MEMDISK_ID'.
17160
17161 * include/grub/i386/pc/kernel.h
17162 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
17163 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
17164 (grub_kernel_image_size): New variable declaration.
17165 (grub_total_module_size): Likewise.
17166 (grub_memdisk_image_size): Likewise.
17167
17168 * include/grub/i386/pc/memory.h
17169 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
17170
17171 * include/grub/kernel.h: Include `<grub/symbol.h>'.
17172 (grub_arch_memdisk_addr): New variable declaration.
17173 (grub_arch_memdisk_size): Likewise.
17174
17175 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
17176 (grub_arch_memdisk_size): Likewise.
17177
17178 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
17179 (codestart): Replace hardcoded `0x100000' with
17180 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
17181
17182 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
17183 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
17184 not NULL, append the contents of the file it refers to, at the end of
17185 the compressed kernel image. Initialize `grub_memdisk_image_size'
17186 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
17187 (options): Add "memdisk"|'m' option.
17188 (main): Parse --memdisk|-m option, and pass user-provided path as
17189 parameter to generate_image().
17190
3d7f54c9 171912008-01-20 Robert Millan <rmh@aybabtu.com>
17192
17193 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
17194 grub_dprintf() calls from here ...
17195 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
17196
0bf74728 171972008-01-20 Robert Millan <rmh@aybabtu.com>
17198
17199 Fix detection of "real mode" when /options/real-mode? doesn't exist.
17200
17201 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
17202 declaration.
17203 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
17204 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
17205 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 17206 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 17207 property).
17208 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
17209 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
17210
33bf70a7 172112008-01-19 Robert Millan <rmh@aybabtu.com>
17212
fe6b695a 17213 Get rid of confusing function (superseded by
33bf70a7 17214 `grub_ieee1275_get_integer_property')
17215 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
17216 prototype.
17217 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
17218 function.
17219 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
17220 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 17221 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 17222
e2da7d26 172232008-01-19 Robert Millan <rmh@aybabtu.com>
17224
17225 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
17226 command after "shut-down", since implementations differ on which
17227 the command for halt is.
17228
59f1fd8d 172292008-01-19 Robert Millan <rmh@aybabtu.com>
17230
17231 * include/grub/i386/linuxbios/console.h: Add header protection.
17232 (grub_keyboard_controller_init): New function prototype.
17233 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
17234 (KEYBOARD_COMMAND_READ): Likewise.
17235 (KEYBOARD_COMMAND_WRITE): Likewise.
17236 (KEYBOARD_SCANCODE_SET1): Likewise.
17237 (grub_keyboard_controller_write): New function.
17238 (grub_keyboard_controller_read): Likewise.
17239 (grub_keyboard_controller_init): Likewise.
17240
17241 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
17242 (grub_console_init): On coreboot/LinuxBIOS, call
17243 grub_keyboard_controller_init().
17244
5f5a7c15 172452008-01-19 Robert Millan <rmh@aybabtu.com>
17246
17247 PowerPC changes provided by Pavel Roskin.
17248
17249 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
17250 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
17251 don't rely on cmain() doing it.
17252 * kern/i386/ieee1275/startup.S (_start): Store %eax in
17253 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
17254
1210e168 172552008-01-16 Robert Millan <rmh@aybabtu.com>
17256
17257 * include/grub/i386/linuxbios/memory.h
17258 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
17259 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
17260 receive `table_header' as argument. Instead, probe for it in the
17261 known memory ranges where it can be present.
17262 (grub_available_iterate): Do not pass a fixed `table_header' address
17263 to grub_linuxbios_table_iterate().
17264
3d04eab8 172652008-01-15 Robert Millan <rmh@aybabtu.com>
17266
17267 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
17268 * conf/i386-ieee1275.rmk: New file.
17269 * include/grub/i386/ieee1275/console.h: Likewise.
17270 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
17271 * include/grub/i386/ieee1275/kernel.h: Likewise.
17272 * include/grub/i386/ieee1275/time.h: Likewise.
17273 * kern/i386/ieee1275/init.c: Likewise.
17274 * kern/i386/ieee1275/startup.S: Likewise.
17275
d1bc1b73 172762008-01-15 Robert Millan <rmh@aybabtu.com>
17277
17278 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
17279 when pointers are 32-bit (but still do set it to one when they are
17280 64-bit).
17281
66a65807 172822008-01-15 Robert Millan <rmh@aybabtu.com>
17283
17284 * include/grub/ieee1275/ieee1275.h
17285 (grub_ieee1275_get_integer_property): New function prototype.
17286
17287 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
17288 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 17289 grub_ieee1275_get_property() to handle endianness.
66a65807 17290
17291 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
17292 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 17293 where appropriate.
66a65807 17294 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
17295 (grub_map): Likewise.
17296 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
17297
a83ccafd 172982008-01-15 Bean <bean123ch@gmail.com>
17299
17300 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
17301 (grub_script_execute_cmdline): Reset grub_errno.
17302
17303 * normal/main.c (read_config_file): Reset grub_errno.
17304
17305 * normal/parse.y (script_init): New.
17306 (script): Move function and menuentry here.
17307 (delimiter): New.
17308 (command): Add delimiter at the end of command.
17309 (commands): Adjust to match the new command.
17310 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 17311 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 17312 (if): Use the new commands.
17313
17314 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
17315
df6ecfc6 173162008-01-15 Robert Millan <rmh@aybabtu.com>
17317
17318 * normal/menu.c (run_menu): Move timeout message from here ...
17319 (print_timeout): ... to here.
17320 (run_menu): Use print_timeout() once during initial draw to print
17321 the whole message, and again in every clock tick to update only
17322 the number of seconds.
17323
87ae25eb 173242008-01-15 Robert Millan <rmh@aybabtu.com>
17325
17326 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
17327 actual size of `available' from grub_ieee1275_get_property(), and
17328 restrict parsing to that bound.
17329
47bf09a4 173302008-01-15 Christian Franke <franke@computer.org>
17331
17332 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
17333 (argp_program_version): Remove variable.
17334 (argp_program_bug_address): Likewise.
17335 (options): Convert from struct argp_option to struct option.
17336 (struct arguments): Remove.
17337 (parse_opt): Remove.
17338 (usage): New function.
17339 (main): Replace struct args members by simple variables.
17340 Replace argp_parse() by getopt_long().
17341 Add switch to evaluate options.
17342 Add missing "(...)" around root_dev in prefix string.
17343
c86f1469 173442008-01-14 Robert Millan <rmh@aybabtu.com>
17345
17346 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
17347 for grub_ieee1275_exit(), in order to improve portability.
17348
e622c559 173492008-01-14 Robert Millan <rmh@aybabtu.com>
17350
17351 * util/grub.d/10_linux.in (prefix): Define.
17352 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
17353
44cb1ec8 173542008-01-13 Pavel Roskin <proski@gnu.org>
17355
17356 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
17357 grub_errno if no errors have been detected.
17358
1eb8c802 173592008-01-12 Robert Millan <rmh@aybabtu.com>
17360
17361 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
17362 (grub_util_get_dev_abstraction): New function prototype.
17363
17364 * util/getroot.c: Include `<grub/util/getroot.h>'
17365 (grub_util_get_grub_dev): Move detection of abstraction type to ...
17366 (grub_util_get_dev_abstraction): ... here (new function).
17367
17368 * util/grub-probe.c: Convert PRINT_* to an enum. Add
17369 `PRINT_ABSTRACTION'.
17370 (probe): Probe for abstraction type when requested.
17371 (main): Understand `--target=abstraction'.
17372
17373 * util/i386/efi/grub-install.in: Add abstraction module to core
17374 image when it is found to be necessary.
17375 * util/i386/pc/grub-install.in: Likewise.
17376 * util/powerpc/ieee1275/grub-install.in: Likewise.
17377
17378 * util/update-grub_lib.in (font_path): Return system path without
17379 converting to GRUB path.
17380 * util/update-grub.in: Convert system path returned by font_path()
17381 to a GRUB path. Use `grub-probe -t abstraction' to determine what
17382 abstraction module is needed for loading fonts (if any). Export
17383 that as `GRUB_PRELOAD_MODULES'.
17384 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
17385 insmod commands).
17386
52bd3de9 173872008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
17388
17389 Remove some unused code from reiserfs.
f19dbdb7 17390
52bd3de9 17391 * fs/reiserfs.c (struct grub_reiserfs_key)
17392 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
17393 (struct grub_reiserfs_node_body): Removed.
17394 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
17395 Likewise.
17396 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
17397 Likewise.
17398 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
17399 Likewise.
17400 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
17401 Likewise.
17402 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
17403 Likewise.
17404 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
17405 Likewise.
17406 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
17407 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
17408 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
17409
2f80039d 174102008-01-10 Robert Millan <rmh@aybabtu.com>
17411
17412 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
17413 Determines if a file is garbage left by packaging systems, etc.
17414 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
17415 for processing /etc/grub.d scripts.
17416 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
17417 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
17418 as a condition for processing Linux images.
17419
87888032 174202008-01-10 Pavel Roskin <proski@gnu.org>
17421
17422 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
17423 to compile reiserfs.c on PowerPC.
17424
7e54fced 174252008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 17426
17427 * kern/device.c (grub_device_iterate): Do not abort device iteration
17428 when one of the devices cannot be opened.
17429 * kern/disk.c (grub_disk_open): Do not account previous failures of
17430 unrelated functions when grub_errno is checked for.
17431
5aa541e6 174322008-01-08 Robert Millan <rmh@aybabtu.com>
17433
17434 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
17435 `! grub_linux_is_bzimage', change order of address comparison to make
17436 it more intuitive, and improve "too big zImage" error message.
17437
7076340d 174382008-01-08 Robert Millan <rmh@aybabtu.com>
17439
17440 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
17441 `$(update-grub_DATA)'.
17442 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
17443 targets.
17444
9ca70333 174452008-01-07 Robert Millan <rmh@aybabtu.com>
17446
17447 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
17448 which instruction is modified by grub-setup during installation
17449 (since it wasn't obvious by only looking at this file).
17450
38ccf575 174512008-01-07 Robert Millan <rmh@aybabtu.com>
17452
17453 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
17454 listing actual TODO items.
17455
f5db4291 174562008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
17457
868967cf 17458 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
17459 correctly.
17460 (grub_reiserfs_get_key_offset): Likewise.
17461 (grub_reiserfs_set_key_offset): Likewise.
17462 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 17463 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 17464
17465 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
17466 better to remove the bitfield version completely.
f19dbdb7 17467
868967cf 174682008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 17469
f5db4291 17470 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
17471 allocated from the heap, due to the fshelp implementation.
17472 (grub_reiserfs_dir): Free NODE, due to the same reason.
17473
492e6d9d 174742008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
17475
17476 Mostly from Vincent Pelletier:
f19dbdb7 17477
492e6d9d 17478 * fs/reiserfs.c: New file.
f19dbdb7 17479
492e6d9d 17480 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
17481 (reiserfs_mod_SOURCES): New variable.
17482 (reiserfs_mod_CFLAGS): Likewise.
17483 (reiserfs_mod_LDFLAGS): Likewise.
17484
17485 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
17486 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
17487 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
17488 normal/color.c.
17489
9ce3e7c1 174902008-01-06 Robert Millan <rmh@aybabtu.com>
17491
17492 * normal/color.c: Remove `<grub/env.h>'.
17493
f3b58148 174942008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
17495
17496 * include/grub/normal.h: Include <grub/env.h>.
17497
7ac3bcfa 174982008-01-05 Robert Millan <rmh@aybabtu.com>
17499
17500 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
17501 usage example with `(hd0,1)'.
fb358190 17502 Reported by Samuel Thibault.
7ac3bcfa 17503
c8ee99d7 175042008-01-05 Robert Millan <rmh@aybabtu.com>
17505
17506 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
17507 (grub_linux_boot_zimage): Rename to ...
17508 (grub_linux_boot): ... this.
17509 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
17510 (grub_linux_boot_zimage): Conditionalize zImage copy.
17511
17512 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
17513 (grub_linux_boot_bzimage): Remove prototype.
17514 (grub_linux_boot_zimage): Rename to ...
17515 (grub_linux_boot): ... this.
17516
17517 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
17518 (grub_linux_boot): Remove function.
17519
0ece25b1 175202008-01-05 Robert Millan <rmh@aybabtu.com>
17521
17522 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
17523 (grub_env_write_color_highlight): Likewise.
17524 (grub_wait_after_message): Likewise.
17525
17526 * normal/color.c: New file.
17527
17528 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
17529 (normal_mod_DEPENDENCIES): Likewise.
17530
17531 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
17532 (normal_mod_DEPENDENCIES): Likewise.
17533
17534 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
17535 (normal_mod_DEPENDENCIES): Likewise.
17536
17537 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
17538 (normal_mod_DEPENDENCIES): Likewise.
17539
17540 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
17541 for waiting after a message is printed.
17542 * normal/main.c (read_config_file): Likewise.
17543 (grub_normal_init): Register grub_env_write_color_normal() and
17544 grub_env_write_color_highlight() hooks. Mark `color_normal' and
17545 `color_highlight' variables as global.
17546
17547 * normal/menu.c (grub_wait_after_message): New function.
17548 (grub_color_menu_normal): New variable. Replaces ...
17549 (GRUB_COLOR_MENU_NORMAL): ... this macro.
17550 (grub_color_menu_highlight): New variable. Replaces ...
17551 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
17552 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
17553 `GRUB_TERM_COLOR_STANDARD'.
17554 (print_message): Use `grub_setcolorstate' to reload colors. Rename
17555 `normal_code' and `highlight_code' to `old_color_normal' and
17556 `old_color_highlight', respectively.
17557 (grub_menu_init_page): Update colors when drawing the menu, based on
17558 `menu_color_normal' and `menu_color_highlight' variables.
17559 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
17560 a message is printed.
17561
182dd4e5 175622008-01-05 Robert Millan <rmh@aybabtu.com>
17563
17564 * kern/env.c (grub_env_context_open): Propagate hooks for global
17565 variables to new context.
17566
17567 * kern/main.c (grub_set_root_dev): Export `root' variable.
17568
ddf8f6ad 175692008-01-05 Robert Millan <rmh@aybabtu.com>
17570
17571 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 17572 discs unconditionally, since udev and others have options to provide
ddf8f6ad 17573 them.
17574
d8b43d9b 175752008-01-05 Robert Millan <rmh@aybabtu.com>
17576
17577 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
17578
2bff2de3 175792008-01-04 Christian Franke <franke@computer.org>
17580
17581 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
17582 of eisa_mmap.
17583
97eab917 175842008-01-03 Pavel Roskin <proski@gnu.org>
17585
17586 * kern/i386/linuxbios/init.c: Put "void" to all function
17587 declarations with no arguments.
17588 * kern/powerpc/ieee1275/init.c: Likewise.
17589 * term/i386/pc/at_keyboard.c: Likewise.
17590 * term/i386/pc/vga_text.c: Likewise.
17591 * util/grub-mkdevicemap.c: Likewise.
17592
b9416d00 175932008-01-02 Robert Millan <rmh@aybabtu.com>
17594
17595 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
17596 message when loaded image is out of bounds.
17597 (grub_multiboot_load_elf64): Likewise.
17598
92695df9 175992008-01-02 Pavel Roskin <proski@gnu.org>
17600
17601 * util/grub.d/10_linux.in: Try version without ".old" when
17602 looking for initrd. It's better to use initrd from the newer
17603 kernel of the same version than no initrd at all.
17604
d98d9cad 176052008-01-01 Robert Millan <rmh@aybabtu.com>
17606
17607 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
17608
dbfdce36 176092008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
17610
f19dbdb7 17611 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 17612 grub_video_get_active_render_target.
17613 (grub_video_adapter): Added unmap_color and get_active_render_target.
17614
f19dbdb7 17615 * video/video.c: Added grub_video_unmap_color and
dbfdce36 17616 grub_video_get_active_render_target.
17617 (grub_video_get_info): Changed method to accept NULL pointer as an
17618 argument to allow detection of active video adapter.
17619
17620 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
17621 grub_video_vbe_unmap_color_int.
17622 Added grub_video_vbe_unmap_color and
17623 grub_video_vbe_get_active_render_target.
17624 (grub_video_vbe_adapter): Added unmap_color and
17625 get_active_render_target.
17626
f19dbdb7 17627 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 17628 with grub_video_vbe_unmap_color_int.
17629
17630 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
17631 (DEFAULT_NORMAL_COLOR): Likewise.
17632 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
17633 (DEFAULT_FG_COLOR): Removed.
17634 (DEFAULT_BG_COLOR): Likewise.
17635 (DEFAULT_CURSOR_COLOR): Changed value.
17636 (grub_virtual_screen): Added standard_color_setting,
17637 normal_color_setting, highlight_color_setting and term_color.
17638 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
17639 (bitmap_width): Added.
17640 (bitmap_height): Likewise.
17641 (bitmap): Likewise.
17642 (set_term_color): Likewise.
17643 (grub_virtual_screen_setup): Changed to use new terminal coloring
17644 settings.
17645 (grub_gfxterm_init): Added init for bitmap.
17646 (grub_gfxterm_fini): Added destroy for bitmap.
17647 (redraw_screen_rect): Updated to use background bitmap and new
17648 terminal coloring.
17649 (scroll_up): Added optimization for case when there is no bitmap.
17650 (grub_gfxterm_cls): Fixed to use correct background color.
17651 (grub_virtual_screen_setcolorstate): Changed to use new terminal
17652 coloring.
17653 (grub_virtual_screen_setcolor): Likewise.
17654 (grub_virtual_screen_getcolor): Added.
17655 (grub_gfxterm_background_image_cmd): Likewise.
17656 (grub_video_term): Added setcolor and getcolor.
17657 (MOD_INIT): Added registration of background_image command.
17658 (MOD_TERM): Added unregistration for background_image command.
17659
c3c20931 176602007-12-30 Pavel Roskin <proski@gnu.org>
17661
17662 * loader/multiboot_loader.c: Fix multiboot command
17663 unregistration. Fix all typos in the word "multiboot".
17664
df266716 176652007-12-29 Pavel Roskin <proski@gnu.org>
94239199 17666
17667 * util/grub.d/10_linux.in: Refactor search for initrd. Add
17668 support for initrd names used in Fedora.
17669
fc6e896c 176702007-12-26 Bean <bean123ch@gmail.com>
17671
17672 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
17673 (cpio_mod_SOURCES): New variable.
17674 (cpio_mod_CFLAGS): Likewise.
17675 (cpio_mod_LDFLAGS): Likewise.
17676
17677 * fs/cpio.c: New file.
17678
17679 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
17680
17681 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17682
17683 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
17684
17685 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17686
533110ad 176872007-12-25 Robert Millan <rmh@aybabtu.com>
17688
17689 * include/grub/term.h (struct grub_term): Add `getcolor' function.
17690 (grub_getcolor): New function.
17691
17692 * kern/term.c (grub_getcolor): New function.
17693 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
17694 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
17695 (print_entry): Set normal and highlight colors to
17696 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
17697 respectively, before printing and restore them to old
17698 values afterwards.
17699 (grub_menu_init_page): Likewise. Fill an additional colored space
17700 that would otherwise be left blank.
17701
17702 * term/efi/console.c (grub_console_getcolor): New function.
17703 (struct grub_console_term.getcolor): New variable.
17704 * term/i386/pc/console.c (grub_console_getcolor): New function.
17705 (struct grub_console_term.getcolor): New variable.
17706 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
17707 (struct grub_console_term.getcolor): New variable.
17708
17709 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
17710 (struct grub_console_term.setcolor): Remove variable.
17711 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
17712 (struct grub_console_term.setcolor): Remove variable.
17713 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
17714 (struct grub_console_term.setcolor): Remove variable.
17715 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
17716 (struct grub_console_term.setcolor): Remove variable.
17717
4931827f 177182007-12-25 Robert Millan <rmh@aybabtu.com>
17719
17720 * configure.ac: Search for possible unifont.hex locations, and
17721 define UNIFONT_HEX if found.
17722
17723 * Makefile.in (UNIFONT_HEX): Define variable.
17724 (DATA): Rename to ...
17725 (PKGLIB): ... this. Update all users.
17726 (PKGDATA): New variable.
17727 (pkgdata_IMAGES): Rename to ...
17728 (pkglib_IMAGES): ... this. Update all users.
17729 (pkgdata_MODULES): Rename to ...
17730 (pkglib_MODULES): ... this. Update all users.
17731 (pkgdata_PROGRAMS): Rename to ...
17732 (pkglib_PROGRAMS): ... this. Update all users.
17733 (pkgdata_DATA): Rename to ...
17734 (pkglib_DATA): ... this. Update all users.
17735 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
17736 (unicode.pff, ascii.pff): New rules.
17737 (all-local): Add `$(PKGDATA)' dependency.
17738 (install-local): Process `$(PKGDATA)'.
17739
17740 * util/update-grub_lib.in (font_path): Search for *.pff files in
17741 a few more locations, including `${pkgdata}'.
17742
57e57e31 177432007-12-23 Robert Millan <rmh@aybabtu.com>
17744
17745 Patch from Bean <bean123ch@gmail.com>:
17746 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
17747 `size'.
17748
4bc72aa9 177492007-12-21 Bean <bean123ch@gmail.com>
17750
17751 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
17752 (ntfscomp_mod_SOURCES): New variable.
17753 (ntfscomp_mod_CFLAGS): Likewise.
17754 (ntfscomp_mod_LDFLAGS): Likewise.
17755
17756 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
17757 (grub_probe_SOURCES): Likewise.
17758 (grub_emu_SOURCES): Likewise.
17759
17760 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
17761 (grub_emu_SOURCES): Likewise.
17762
17763 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
17764 (grub_emu_SOURCES): Likewise.
17765
17766 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
17767 (grub_emu_SOURCES): Likewise.
17768
17769 * fs/ntfs.c (grub_ntfscomp_func): New variable.
17770 (read_run_list): Renamed to grub_ntfs_read_run_list.
17771 (decomp_nextvcn): Moved to ntfscomp.c.
17772 (decomp_getch): Likewise.
17773 (decomp_get16): Likewise.
17774 (decomp_block): Likewise.
17775 (read_block): Likewise.
17776 (read_data): Partially moved to ntfscomp.c.
17777 (fixup): Change unsigned to grub_uint16_t.
17778 (read_mft): Change unsigned long to grub_uint32_t.
17779 (read_attr): Likewise.
17780 (read_data): Likewise.
17781 (read_run_data): Likewise.
17782 (read_run_list): Likewise.
17783 (read_mft): Likewise.
17784
17785 * fs/ntfscomp.c: New file.
17786
17787 * include/grub/ntfs.h: New file.
17788
af680a87 177892007-12-16 Robert Millan <rmh@aybabtu.com>
17790
17791 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
17792 IDE disk check, since Linux is known to support 20 IDE disks.
17793 Reported by Colin Watson.
17794
84be7599 177952007-12-15 Bean <bean123ch@gmail.com>
17796
17797 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
17798 (lnxboot_img_SOURCES): New variable.
17799 (lnxboot_img_ASFLAGS): Likewise.
17800 (lnxboot_img_LDFLAGS): Likewise.
17801
17802 * boot/i386/pc/lnxboot.S: New file.
17803
6af9db01 178042007-11-24 Pavel Roskin <proski@gnu.org>
17805
17806 * configure.ac: Test if '--build-id=none' is supported by the
17807 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
17808 objcopy to generate incorrect binary files (binutils
17809 2.17.50.0.18-1 as shipped by Fedora 8).
17810 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
17811 linking, so that build ID doesn't break the test.
17812
7361cfe6 178132007-11-24 Pavel Roskin <proski@gnu.org>
17814
17815 * include/grub/i386/time.h: use "void" in the argument list
17816 of grub_cpu_idle().
17817 * include/grub/powerpc/time.h: Likewise.
17818 * include/grub/sparc64/time.h: Likewise.
17819
1593e10c 178202007-11-18 Christian Franke <franke@computer.org>
17821
17822 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
17823 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
17824 This fixes the problem that function keys did not work in grub-emu.
17825
3b8db1a8 178262007-11-18 Christian Franke <franke@computer.org>
17827
17828 * disk/host.c (grub_host_open): Remove attribute unused from
17829 name parameter. Add check for "host". This fixes the problem
17830 that grub-emu does not find partitions.
17831
2e29408d 178322007-11-18 Christian Franke <franke@computer.org>
17833
17834 * util/hostfs.c (is_dir): New function.
17835 (grub_hostfs_dir): Handle missing dirent.d_type case.
17836 (grub_hostfs_read): Add missing fseek().
17837 (grub_hostfs_label): Clear label pointer. This fixes a crash
17838 of grub-emu on "ls (host)".
17839
398cd047 178402007-11-18 Christian Franke <franke@computer.org>
17841
17842 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
17843 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
17844 to 64 bit boundary by default.
17845
c405c391 178462007-11-18 Bean <bean123ch@gmail.com>
17847
17848 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
17849 (hexdump_mod_SOURCES): New variable.
17850 (hexdump_mod_CFLAGS): Likewise.
17851 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 17852
c405c391 17853 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
17854
17855 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
17856
17857 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
17858
17859 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
17860
17861 * include/grub/hexdump.h: New file.
17862
17863 * commands/hexdump.c: New file.
17864
5cced7fd 178652007-11-10 Robert Millan <rmh@aybabtu.com>
17866
17867 * commands/i386/pc/play.c (beep_off): Switch order of arguments
17868 in grub_outb() calls.
17869 (beep_on): Likewise.
17870
8b714eb0 178712007-11-10 Christian Franke <franke@computer.org>
17872
17873 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
17874 (grub_menu_run): Likewise.
17875
ce0f1839 178762007-11-10 Robert Millan <rmh@aybabtu.com>
17877
17878 * include/grub/i386/efi/machine.h: New file.
17879 * include/grub/i386/linuxbios/machine.h: Likewise.
17880 * include/grub/i386/pc/machine.h: Likewise.
17881 * include/grub/powerpc/ieee1275/machine.h: Likewise.
17882 * include/grub/sparc64/ieee1275/machine.h: Likewise.
17883
17884 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
17885 (serial_hw_io_addr): New variable.
17886 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
17887 instead of `(unsigned short *) 0x400'.
17888
270c237d 178892007-11-10 Bean <bean123ch@gmail.com>
17890
17891 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
17892
a87783bf 178932007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
17894
17895 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
17896 (vga_mod_SOURCES): Added.
17897 (vga_mod_CFLAGS): Likewise.
17898 (vga_mod_LDFLAGS): Likewise.
17899
17900 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
17901 grub_outb() calls.
17902 (set_map_mask): Likewise.
17903 (set_read_map): Likewise.
17904 (set_read_address): Likewise.
17905 (vga_font): Removed variable.
17906 (get_vga_glyph): Removed function.
17907 (invalidate_char): Likewise.
17908 (write_char): Changed to use grub_font_get_glyph() for font
17909 information.
17910 (grub_vga_putchar): Likewise.
17911 (grub_vga_getcharwidth): Likewise.
17912
6433b448 179132007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
17914
17915 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
17916 flags.
17917 (pxeboot_img_LDFLAGS): Likewise.
17918 (diskboot_img_LDFLAGS): Likewise.
17919 (kernel_img_LDFLAGS): Likewise.
17920
49178511 179212007-11-06 Robert Millan <rmh@aybabtu.com>
17922
17923 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
17924 in grub_outb() calls.
17925 (serial_hw_init): Likewise.
17926
53b052de 179272007-11-05 Robert Millan <rmh@aybabtu.com>
17928
17929 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
17930 spaces. Skip non-regular files.
17931
5ab33bba 179322007-11-05 Robert Millan <rmh@aybabtu.com>
17933
17934 * kern/disk.c (grub_disk_firmware_fini)
17935 (grub_disk_firmware_is_tainted): New variables.
17936
17937 * include/grub/disk.h (grub_disk_firmware_fini)
17938 (grub_disk_firmware_is_tainted): Likewise.
17939
17940 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
17941 (grub_disk_biosdisk_fini): ... to here.
17942 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
17943 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
17944 is set. Register grub_disk_biosdisk_fini() in
17945 `grub_disk_firmware_fini'.
17946
17947 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
17948 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
17949 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
17950 to finish existing firmware disk interface.
17951
17952 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
17953 (ata_mod_SOURCES): New variable.
17954 (ata_mod_CFLAGS): Likewise.
17955 (ata_mod_LDFLAGS): Likewise.
17956
0149ab7c 179572007-11-05 Robert Millan <rmh@aybabtu.com>
17958
17959 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
17960 (grub_ata_wait): Reimplement using grub_millisleep().
17961
17962 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
17963 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
17964
be7ac41e 179652007-11-03 Marco Gerards <marco@gnu.org>
17966
17967 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
17968 (CRTC_ADDR_PORT): New macro.
17969 (CRTC_DATA_PORT): Likewise.
17970 (CRTC_CURSOR): Likewise.
17971 (CRTC_CURSOR_ADDR_HIGH): Likewise.
17972 (CRTC_CURSOR_ADDR_LOW): Likewise.
17973 (update_cursor): New function.
17974 (grub_console_real_putchar): Call `update_cursor'.
17975 (grub_console_gotoxy): Likewise.
17976 (grub_console_cls): Set the default color when clearing the
17977 screen.
17978 (grub_console_setcursor): Implemented.
17979
bb06ab2e 179802007-11-03 Marco Gerards <marco@gnu.org>
17981
17982 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
17983 become activate.
17984 (grub_ata_pio_write): Likewise.
17985
17986 (grub_atapi_identify): Wait after issuing an ATA command.
17987 (grub_atapi_packet): Likewise.
17988 (grub_ata_identify): Likewise.
17989 (grub_ata_readwrite): Likewise.
17990
cf8f780b 179912007-11-03 Marco Gerards <marco@gnu.org>
17992
17993 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
17994 (grub_ata_pio_write): Likewise.
17995 (grub_ata_readwrite): Use `grub_error', instead of
17996 returning `grub_errno'.
17997
ed649e54 179982007-11-03 Marco Gerards <marco@gnu.org>
17999
18000 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
18001 grub_ata_pio_write once for every single sector, instead of for
18002 multiple sectors.
18003
ca25d8f0 180042007-10-31 Robert Millan <rmh@aybabtu.com>
18005
18006 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
18007
18008 * conf/i386-linuxbios.rmk: New file.
18009
18010 * kern/i386/pc/hardware.c: Likewise.
18011 * term/i386/pc/at_keyboard.c: Likewise.
18012 * term/i386/pc/vga_text.c: Likewise.
18013
18014 * include/grub/i386/linuxbios/boot.h: Likewise.
18015 * include/grub/i386/linuxbios/console.h: Likewise.
18016 * include/grub/i386/linuxbios/init.h: Likewise.
18017 * include/grub/i386/linuxbios/kernel.h: Likewise.
18018 * include/grub/i386/linuxbios/loader.h: Likewise.
18019 * include/grub/i386/linuxbios/memory.h: Likewise.
18020 * include/grub/i386/linuxbios/serial.h: Likewise.
18021 * include/grub/i386/linuxbios/time.h: Likewise.
18022
18023 * kern/i386/linuxbios/init.c: Likewise.
18024 * kern/i386/linuxbios/startup.S: Likewise.
18025 * kern/i386/linuxbios/table.c: Likewise.
18026
e911ecc1 180272007-10-31 Marco Gerards <marco@gnu.org>
18028
18029 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
18030 (ata_mod_SOURCES): New variable.
18031 (ata_mod_CFLAGS): Likewise.
18032 (ata_mod_LDFLAGS): Likewise.
18033
18034 * disk/ata.c: New file.
18035
18036 * include/grub/disk.h (grub_disk_dev_id): Add
18037 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 18038
7f66d0e0 180392007-10-31 Robert Millan <rmh@aybabtu.com>
18040
18041 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
18042 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
18043
18044 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
18045 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
18046
18047 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
18048 `<grub/types.h>'.
18049
18050 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
18051
5cd7dd46 180522007-10-27 Robert Millan <rmh@aybabtu.com>
18053
3236ca65 18054 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 18055
2ebfc90f 180562007-10-22 Robert Millan <rmh@aybabtu.com>
18057
18058 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
18059 `"../realmode.S"'.
18060 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
18061
73fcb0f3 180622007-10-22 Robert Millan <rmh@aybabtu.com>
18063
18064 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
18065 (pkgdata_MODULES): Add `biosdisk.mod'.
18066 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
18067 variables.
18068
18069 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
18070 (grub_biosdisk_init): Replace with ...
18071 (GRUB_MOD_INIT(biosdisk)): ... this.
18072 (grub_biosdisk_fini): Replace with ...
18073 (GRUB_MOD_FINI(biosdisk)): ... this.
18074
18075 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
18076 (grub_machine_init): Remove call to grub_biosdisk_init().
18077 (grub_machine_fini): Remove call to grub_machine_fini().
18078
18079 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
18080
3381d274 180812007-10-22 Robert Millan <rmh@aybabtu.com>
18082
18083 * include/grub/time.h: New file.
18084 * include/grub/i386/time.h: Likewise.
18085 * include/grub/powerpc/time.h: Likewise.
18086 * include/grub/sparc64/time.h: Likewise.
18087
18088 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
18089 instances to ...
18090 (KERNEL_MACHINE_TIME_HEADER): ... this.
18091 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
18092 instances to ...
18093 (KERNEL_MACHINE_TIME_HEADER): ... this.
18094 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
18095 instances to ...
18096 (KERNEL_MACHINE_TIME_HEADER): ... this.
18097
18098 * kern/i386/efi/init.c: Include `<grub/time.h>'.
18099 (grub_millisleep): New function.
18100 * kern/i386/pc/init.c: Include `<grub/time.h>'.
18101 (grub_millisleep): New function.
18102 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
18103 Remove `grub/machine/time.h' include.
18104 (grub_millisleep): New function.
18105 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
18106 Remove `grub/machine/time.h' include.
18107 (grub_millisleep): New function.
18108
18109 * include/grub/misc.h (grub_div_roundup): New function.
18110
18111 * kern/misc.c: Include `<grub/time.h>'.
18112 (grub_millisleep_generic): New function.
18113
18114 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
18115 Add `time.h'.
18116 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
18117 Add `time.h'.
18118 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
18119 `machine/time.h'. Add `time.h'.
18120 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
18121
a39a0312 181222007-10-21 Robert Millan <rmh@aybabtu.com>
18123
18124 * include/grub/misc.h (grub_max): New function.
18125
2aad70e2 181262007-10-21 Robert Millan <rmh@aybabtu.com>
18127
18128 * util/misc.c (grub_util_info): Call fflush() before returning.
18129
54b71c4b 181302007-10-20 Robert Millan <rmh@aybabtu.com>
18131
18132 * genmk.rb (Image): Copy `extra_flags' from here ...
18133 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
18134
18135 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
18136 to `argc' and `args' arguments.
18137
a979f513 181382007-10-17 Robert Millan <rmh@aybabtu.com>
18139
18140 * kern/i386/loader.S: New file.
18141
18142 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
18143 * kern/i386/loader.S (grub_linux_prot_size)... to here.
18144 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
18145 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
18146 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
18147 * kern/i386/loader.S (grub_linux_real_addr)... to here.
18148 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
18149 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
18150 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
18151 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
18152 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
18153 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
18154 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
18155 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
18156
18157 * kern/i386/realmode.S: New file.
18158
18159 * kern/i386/pc/startup.S (protstack): Moved from here ...
18160 * kern/i386/realmode.S (protstack)... to here.
18161 * kern/i386/pc/startup.S (gdt): Moved from here ...
18162 * kern/i386/realmode.S (gdt)... to here.
18163 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
18164 * kern/i386/realmode.S (prot_to_real)... to here.
18165
18166 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
18167 `kern/i386/realmode.S'.
18168
825fc8fd 181692007-10-17 Robert Millan <rmh@aybabtu.com>
18170
18171 * include/grub/i386/loader.h: New file.
18172
18173 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
18174 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
18175 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
18176 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
18177 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
18178 * include/grub/i386/loader.h (grub_linux_prot_size)
18179 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
18180 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
18181 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
18182 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
18183
18184 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
18185
e179b2f4 181862007-10-15 Robert Millan <rmh@aybabtu.com>
18187
18188 * normal/misc.c (grub_normal_print_device_info): Do not probe for
18189 filesystem when dev->disk is unset.
18190 Do probe for filesystem even when dev->disk->has_partitions is set.
18191 In case a filesystem is found, always report it.
18192 In case it isn't, if dev->disk->has_partitions is set, report that
18193 a partition table was found instead of reporting that no filesystem
18194 could be identified.
18195
5db82af6 181962007-10-12 Robert Millan <rmh@aybabtu.com>
18197
18198 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
18199 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
18200
68f6ac74 18201 * include/grub/types.h (grub_host_to_target16): New macro.
18202 (grub_host_to_target32): Likewise.
18203 (grub_host_to_target64): Likewise.
18204 (grub_target_to_host16): Likewise.
18205 (grub_target_to_host32): Likewise.
18206 (grub_target_to_host64): Likewise.
5db82af6 18207
18208 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
18209 Renamed from to ...
18210 (GRUB_MOD_ALIGN): ...this. Update all users.
18211
68f6ac74 18212 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
18213 grub_host_to_target32.
18214 Replace grub_be_to_cpu32 with grub_target_to_host32.
18215 (load_modules): Likewise.
18216 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
18217 Replace grub_be_to_cpu32 with grub_target_to_host32.
18218 Replace grub_cpu_to_be16 with grub_host_to_target16.
18219 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 18220
3cf497cc 182212007-10-12 Robert Millan <rmh@aybabtu.com>
18222
18223 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
18224 * util/elf/grub-mkimage.c: ... here.
18225
18226 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
18227 `util/powerpc/ieee1275/grub-mkimage.c'.
18228
c8cc3692 182292007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 18230
c8cc3692 18231 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
18232 and make it easier to figure out.
18233 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
18234 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
18235 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
18236 leave us with less than HEAP_MIN_SIZE total heap.
18237 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 18238
5c58b791 182392007-10-03 Robert Millan <rmh@aybabtu.com>
18240
18241 * include/grub/i386/io.h: New file.
18242 * commands/i386/pc/play.c (inb): Removed.
18243 (outb): Removed.
18244 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
18245 with grub_outb().
afcd2ef8 18246 * term/i386/pc/serial.c (inb): Removed.
18247 (outb): Removed.
18248 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
18249 with grub_outb().
18250 * term/i386/pc/vga.c (inb): Removed.
18251 (outb): Removed.
18252 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
18253 with grub_outb().
5c58b791 18254
1a477ed6 182552007-10-02 Robert Millan <rmh@aybabtu.com>
18256
18257 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
18258 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18259 Reported by Marcin Kurek.
18260
6b5d80fa 182612007-09-07 Robert Millan <rmh@aybabtu.com>
18262
18263 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
18264 SmartFirmware version updates (as released by Sven Luther), and avoid
18265 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
18266 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
18267 known broken.
18268
5618afbf 182692007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
18270
18271 From Hitoshi Ozeki:
18272 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
18273 when merging two regions.
18274
6139dcd9 182752007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
18276
508e39ee 18277 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
18278 * normal/completion.c (grub_normal_do_completion): Likewise.
18279 Reported by Hitoshi Ozeki.
18280
182812007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 18282
6139dcd9 18283 Do not use devices at boot in chainloading.
f19dbdb7 18284
6139dcd9 18285 * loader/i386/pc/chainloader.c (boot_drive): New variable.
18286 (boot_part_addr): Likewise.
18287 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
18288 with BOOT_DRIVE and BOOT_PART_ADDR.
18289 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
18290 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
18291
38da6516 182922007-08-29 Robert Millan <rmh@aybabtu.com>
18293
18294 Patch from Simon Peter <dn.tlp@gmx.net>:
18295 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
18296 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
18297 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
18298 util/i386/pc/grub-setup.c_DEPENDENCIES.
18299 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
18300 util/grub-probe.c_DEPENDENCIES.
18301 * conf/powerpc-ieee1275.rmk: Likewise.
18302
29d0928c 183032007-08-28 Robert Millan <rmh@aybabtu.com>
18304
18305 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
18306 to tell grub-mkdevicemap how to name devices.
18307 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
18308 feature).
18309
18310 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
18311 util/i386/get_disk_name.c.
18312 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
18313 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
18314 util/ieee1275/get_disk_name.c.
18315
18316 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
18317
18318 * DISTLIST: Add util/i386/get_disk_name.c and
18319 util/ieee1275/get_disk_name.c.
18320
18321 * util/grub-mkdevicemap.c: Replace device naming logic with
18322 grub_util_get_disk_name() calls.
18323
5a0d3cca 183242007-08-20 Robert Millan <rmh@aybabtu.com>
18325
18326 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
18327 (so that it works for both plural and singular quantities).
18328
8b72db2f 183292007-08-05 Robert Millan <rmh@aybabtu.com>
18330
18331 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
18332 so that [xz] isn't taken into account when determining order.
18333
352466bf 183342007-08-02 Marco Gerards <marco@gnu.org>
18335
18336 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
18337 `include/multiboot2.h', `include/grub/elfload.h',
18338 `include/multiboot.h', `include/grub/multiboot.h',
18339 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
18340 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
18341 `kern/elf.c', `loader/multiboot_loader.c',
18342 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
18343 `loader/i386/pc/multiboot2.c',
18344 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
18345 `util/i386/pc/grub-mkrescue.in'. Remove
18346 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
18347 `include/grub/i386/pc/util/biosdisk.h' and
18348 `include/grub/powerpc/ieee1275/multiboot.h'.
18349
8f096014 183502007-08-02 Bean <bean123ch@gmail.com>
18351
18352 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
18353 (ntfs_mod_SOURCES): New variable.
18354 (ntfs_mod_CFLAGS): Likewise.
18355 (ntfs_mod_LDFLAGS): Likewise.
18356
18357 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
18358 (grub_probe_SOURCES): Likewise.
18359 (grub_emu_SOURCES): Likewise.
18360
18361 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
18362 (grub_emu_SOURCES): Likewise.
18363
18364 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
18365 (grub_emu_SOURCES): Likewise.
f19dbdb7 18366
8f096014 18367 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
18368
18369 * fs/ntfs.c: New file.
18370
9959f7db 183712007-08-02 Bean <bean123ch@gmail.com>
18372
18373 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
18374
18375 * file.h (grub_file): Likewise.
18376
18377 * fshelp.h (grub_fshelp_read_file): Likewise.
18378
18379 * util/i386/pc/grub-setup.c (setup): Likewise.
18380 (save_first_sector): Likewise.
18381 (save_blocklists): Likewise.
f19dbdb7 18382
9959f7db 18383 * fs/affs.c (grub_affs_read_file): Likewise.
18384
18385 * fs/ext2.c (grub_ext2_read_file): Likewise.
18386
18387 * fs/fat.c (grub_fat_read_data): Likewise.
18388
18389 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
18390
18391 * fs/hfs.c (grub_hfs_read_file): Likewise.
18392
18393 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
18394
18395 * fs/jfs.c (grub_jfs_read_file): Likewise.
18396
18397 * fs/minix.c (grub_minix_read_file): Likewise.
18398
18399 * fs/sfs.c (grub_sfs_read_file): Likewise.
18400
18401 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 18402
9959f7db 18403 * fs/xfs.c (grub_xfs_read_file): Likewise.
18404
18405 * command/blocklist.c (read_blocklist): Likewise.
18406 (print_blocklist): Likewise.
18407
0a203f83 184082007-08-02 Marco Gerards <marco@gnu.org>
18409
18410 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
18411 `util/hostfs.c'.
18412
18413 * disk/host.c: New file.
18414
18415 * util/hostfs.c: Likewise.
18416
18417 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
18418 return `GRUB_ERR_BAD_FS'.
18419 * fs/sfs.c (grub_sfs_mount): Likewise.
18420 * fs/xfs.c (grub_xfs_mount): Likewise.
18421
18422 * include/grub/disk.h (enum grub_disk_dev_id): Add
18423 `GRUB_DISK_DEVICE_HOST_ID'.
18424
18425 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
18426
e5dfe777 184272007-07-24 Jerone Young <jerone@gmail.com>
18428
f19dbdb7 18429 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 18430 modules for compilation.
18431 * conf/powerpc-ieee1275.rmk: Likewise.
18432
18433 * include/multiboot.h: Move multiboot definitions to one file. Rename
18434 many definitions to not get grub specific.
18435 * include/multiboot2.h: Create header with multiboot 2 definitions.
18436 * include/grub/multiboot.h: Header for grub specific function
18437 prototypes and definitions.
18438 * include/grub/multiboot2.h: Likewise.
18439 * include/grub/multiboot_loader.h: Likewise.
18440 * include/grub/i386/pc/multiboot.h: Removed.
18441 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
18442
18443 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
18444 and 2 to allow for one multiboot and module commands.
18445 * loader/multiboot2.c: Add multiboot2 functionality.
18446 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
18447 and definition names.
18448 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
18449 2 functions.
18450 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
18451 ieee1275 specific multiboot2 code.
18452
18453 * kern/i386/pc/startup.S: Change headers and definition names for
18454 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
18455
daf0f0ba 184562007-07-22 Robert Millan <rmh@aybabtu.com>
18457
18458 * geninitheader.sh: Process file specified in first parameter rather
18459 than hardcoding grub_modules_init.lst.
fe6b695a 18460 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 18461 than hardcoding grub_modules_init.h.
18462
18463 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
18464 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
18465 grub_probe_init.[ch] and grub_setup_init.[ch].
18466
18467 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
18468 grub_modules_init.h with grub_emu_init.h.
18469 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
18470 grub_probe_init.[ch] files.
18471 * conf/i386-efi.rmk: Likewise.
18472 * conf/i386-pc.rmk: Likewise.
18473 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
18474 grub_setup_init.[ch] files.
18475
18476 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
18477 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
18478 to initialize modules rather than a list of hardcoded functions.
18479 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
18480 grub_init_all() to initialize modules rather than a list of hardcoded
18481 functions.
18482
54cdc1cc 184832007-07-22 Robert Millan <rmh@aybabtu.com>
18484
18485 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
18486 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
18487
ad0686cc 184882007-07-22 Robert Millan <rmh@aybabtu.com>
18489
18490 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
18491 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
18492 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
18493 flag when running on SmartFirmware.
18494 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
18495 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
18496 was set.
18497
18498 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
18499 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
18500 rather than decreasing it.
18501
18502 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
18503 there's not enough space to do it, fail in the same way as when it
18504 can't be done because there are no partitions.
18505
18506 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
18507 when nvsetenv failed.
18508
969c02ec 185092007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
18510
18511 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
18512 because this rule is automatically generated.
18513 (grub-mkrescue): Removed for the same reason as above.
18514
5a79f472 185152007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
18516
18517 Migrate to GNU General Public License Version 3.
f19dbdb7 18518
5a79f472 18519 * COPYING: Replaced with the plain text version of GPLv3.
18520
18521 * config.guess: Updated from gnulib.
18522 * config.sub: Likewise.
18523
18524 * geninit.sh: Output a GPLv3 copyright notice.
18525 * geninitheader.sh: Likewise.
18526 * genmodsrc.sh: Likewise.
18527 * gensymlist.sh.in: Likewise.
18528
18529 * boot/i386/pc/boot.S: Upgraded to GPLv3.
18530 * boot/i386/pc/diskboot.S: Likewise.
18531 * boot/i386/pc/pxeboot.S: Likewise.
18532 * commands/blocklist.c: Likewise.
18533 * commands/boot.c: Likewise.
18534 * commands/cat.c: Likewise.
18535 * commands/cmp.c: Likewise.
18536 * commands/configfile.c: Likewise.
18537 * commands/echo.c: Likewise.
18538 * commands/help.c: Likewise.
18539 * commands/ls.c: Likewise.
18540 * commands/search.c: Likewise.
18541 * commands/terminal.c: Likewise.
18542 * commands/test.c: Likewise.
18543 * commands/videotest.c: Likewise.
18544 * commands/i386/cpuid.c: Likewise.
18545 * commands/i386/pc/halt.c: Likewise.
18546 * commands/i386/pc/play.c: Likewise.
18547 * commands/i386/pc/reboot.c: Likewise.
18548 * commands/i386/pc/vbeinfo.c: Likewise.
18549 * commands/i386/pc/vbetest.c: Likewise.
18550 * commands/ieee1275/halt.c: Likewise.
18551 * commands/ieee1275/reboot.c: Likewise.
18552 * commands/ieee1275/suspend.c: Likewise.
18553 * disk/loopback.c: Likewise.
18554 * disk/lvm.c: Likewise.
18555 * disk/raid.c: Likewise.
18556 * disk/efi/efidisk.c: Likewise.
18557 * disk/i386/pc/biosdisk.c: Likewise.
18558 * disk/ieee1275/ofdisk.c: Likewise.
18559 * font/manager.c: Likewise.
18560 * fs/affs.c: Likewise.
18561 * fs/ext2.c: Likewise.
18562 * fs/fat.c: Likewise.
18563 * fs/fshelp.c: Likewise.
18564 * fs/hfs.c: Likewise.
18565 * fs/hfsplus.c: Likewise.
18566 * fs/iso9660.c: Likewise.
18567 * fs/jfs.c: Likewise.
18568 * fs/minix.c: Likewise.
18569 * fs/sfs.c: Likewise.
18570 * fs/ufs.c: Likewise.
18571 * fs/xfs.c: Likewise.
18572 * hello/hello.c: Likewise.
18573 * include/grub/acorn_filecore.h: Likewise.
18574 * include/grub/arg.h: Likewise.
18575 * include/grub/bitmap.h: Likewise.
18576 * include/grub/boot.h: Likewise.
18577 * include/grub/cache.h: Likewise.
18578 * include/grub/device.h: Likewise.
18579 * include/grub/disk.h: Likewise.
18580 * include/grub/dl.h: Likewise.
18581 * include/grub/elfload.h: Likewise.
18582 * include/grub/env.h: Likewise.
18583 * include/grub/err.h: Likewise.
18584 * include/grub/file.h: Likewise.
18585 * include/grub/font.h: Likewise.
18586 * include/grub/fs.h: Likewise.
18587 * include/grub/fshelp.h: Likewise.
18588 * include/grub/gzio.h: Likewise.
18589 * include/grub/hfs.h: Likewise.
18590 * include/grub/kernel.h: Likewise.
18591 * include/grub/loader.h: Likewise.
18592 * include/grub/lvm.h: Likewise.
18593 * include/grub/misc.h: Likewise.
18594 * include/grub/mm.h: Likewise.
18595 * include/grub/net.h: Likewise.
18596 * include/grub/normal.h: Likewise.
18597 * include/grub/parser.h: Likewise.
18598 * include/grub/partition.h: Likewise.
18599 * include/grub/pc_partition.h: Likewise.
18600 * include/grub/raid.h: Likewise.
18601 * include/grub/rescue.h: Likewise.
18602 * include/grub/script.h: Likewise.
18603 * include/grub/setjmp.h: Likewise.
18604 * include/grub/symbol.h: Likewise.
18605 * include/grub/term.h: Likewise.
18606 * include/grub/terminfo.h: Likewise.
18607 * include/grub/tparm.h: Likewise.
18608 * include/grub/types.h: Likewise.
18609 * include/grub/video.h: Likewise.
18610 * include/grub/efi/api.h: Likewise.
18611 * include/grub/efi/chainloader.h: Likewise.
18612 * include/grub/efi/console.h: Likewise.
18613 * include/grub/efi/console_control.h: Likewise.
18614 * include/grub/efi/disk.h: Likewise.
18615 * include/grub/efi/efi.h: Likewise.
18616 * include/grub/efi/pe32.h: Likewise.
18617 * include/grub/efi/time.h: Likewise.
18618 * include/grub/i386/linux.h: Likewise.
18619 * include/grub/i386/setjmp.h: Likewise.
18620 * include/grub/i386/types.h: Likewise.
18621 * include/grub/i386/efi/kernel.h: Likewise.
18622 * include/grub/i386/efi/loader.h: Likewise.
18623 * include/grub/i386/efi/time.h: Likewise.
18624 * include/grub/i386/pc/biosdisk.h: Likewise.
18625 * include/grub/i386/pc/boot.h: Likewise.
18626 * include/grub/i386/pc/chainloader.h: Likewise.
18627 * include/grub/i386/pc/console.h: Likewise.
18628 * include/grub/i386/pc/init.h: Likewise.
18629 * include/grub/i386/pc/kernel.h: Likewise.
18630 * include/grub/i386/pc/loader.h: Likewise.
18631 * include/grub/i386/pc/memory.h: Likewise.
18632 * include/grub/i386/pc/multiboot.h: Likewise.
18633 * include/grub/i386/pc/serial.h: Likewise.
18634 * include/grub/i386/pc/time.h: Likewise.
18635 * include/grub/i386/pc/vbe.h: Likewise.
18636 * include/grub/i386/pc/vbeblit.h: Likewise.
18637 * include/grub/i386/pc/vbefill.h: Likewise.
18638 * include/grub/i386/pc/vbeutil.h: Likewise.
18639 * include/grub/i386/pc/vga.h: Likewise.
18640 * include/grub/ieee1275/ieee1275.h: Likewise.
18641 * include/grub/ieee1275/ofdisk.h: Likewise.
18642 * include/grub/powerpc/libgcc.h: Likewise.
18643 * include/grub/powerpc/setjmp.h: Likewise.
18644 * include/grub/powerpc/types.h: Likewise.
18645 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
18646 * include/grub/powerpc/ieee1275/console.h: Likewise.
18647 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
18648 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
18649 * include/grub/powerpc/ieee1275/loader.h: Likewise.
18650 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
18651 * include/grub/powerpc/ieee1275/time.h: Likewise.
18652 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
18653 * include/grub/sparc64/libgcc.h: Likewise.
18654 * include/grub/sparc64/setjmp.h: Likewise.
18655 * include/grub/sparc64/types.h: Likewise.
18656 * include/grub/sparc64/ieee1275/console.h: Likewise.
18657 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
18658 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
18659 * include/grub/sparc64/ieee1275/time.h: Likewise.
18660 * include/grub/util/biosdisk.h: Likewise.
18661 * include/grub/util/getroot.h: Likewise.
18662 * include/grub/util/lvm.h: Likewise.
18663 * include/grub/util/misc.h: Likewise.
18664 * include/grub/util/raid.h: Likewise.
18665 * include/grub/util/resolve.h: Likewise.
18666 * io/gzio.c: Likewise.
18667 * kern/device.c: Likewise.
18668 * kern/disk.c: Likewise.
18669 * kern/dl.c: Likewise.
18670 * kern/elf.c: Likewise.
18671 * kern/env.c: Likewise.
18672 * kern/err.c: Likewise.
18673 * kern/file.c: Likewise.
18674 * kern/fs.c: Likewise.
18675 * kern/loader.c: Likewise.
18676 * kern/main.c: Likewise.
18677 * kern/misc.c: Likewise.
18678 * kern/mm.c: Likewise.
18679 * kern/parser.c: Likewise.
18680 * kern/partition.c: Likewise.
18681 * kern/rescue.c: Likewise.
18682 * kern/term.c: Likewise.
18683 * kern/efi/efi.c: Likewise.
18684 * kern/efi/init.c: Likewise.
18685 * kern/efi/mm.c: Likewise.
18686 * kern/i386/dl.c: Likewise.
18687 * kern/i386/efi/init.c: Likewise.
18688 * kern/i386/efi/startup.S: Likewise.
18689 * kern/i386/pc/init.c: Likewise.
18690 * kern/i386/pc/lzo1x.S: Likewise.
18691 * kern/i386/pc/startup.S: Likewise.
18692 * kern/ieee1275/ieee1275.c: Likewise.
18693 * kern/powerpc/cache.S: Likewise.
18694 * kern/powerpc/dl.c: Likewise.
18695 * kern/powerpc/ieee1275/cmain.c: Likewise.
18696 * kern/powerpc/ieee1275/crt0.S: Likewise.
18697 * kern/powerpc/ieee1275/init.c: Likewise.
18698 * kern/powerpc/ieee1275/openfw.c: Likewise.
18699 * kern/sparc64/cache.S: Likewise.
18700 * kern/sparc64/dl.c: Likewise.
18701 * kern/sparc64/ieee1275/init.c: Likewise.
18702 * kern/sparc64/ieee1275/openfw.c: Likewise.
18703 * loader/efi/chainloader.c: Likewise.
18704 * loader/efi/chainloader_normal.c: Likewise.
18705 * loader/i386/efi/linux.c: Likewise.
18706 * loader/i386/efi/linux_normal.c: Likewise.
18707 * loader/i386/pc/chainloader.c: Likewise.
18708 * loader/i386/pc/chainloader_normal.c: Likewise.
18709 * loader/i386/pc/linux.c: Likewise.
18710 * loader/i386/pc/linux_normal.c: Likewise.
18711 * loader/i386/pc/multiboot.c: Likewise.
18712 * loader/i386/pc/multiboot_normal.c: Likewise.
18713 * loader/powerpc/ieee1275/linux.c: Likewise.
18714 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
18715 * normal/arg.c: Likewise.
18716 * normal/cmdline.c: Likewise.
18717 * normal/command.c: Likewise.
18718 * normal/completion.c: Likewise.
18719 * normal/execute.c: Likewise.
18720 * normal/function.c: Likewise.
18721 * normal/lexer.c: Likewise.
18722 * normal/main.c: Likewise.
18723 * normal/menu.c: Likewise.
18724 * normal/menu_entry.c: Likewise.
18725 * normal/misc.c: Likewise.
18726 * normal/parser.y: Likewise.
18727 * normal/script.c: Likewise.
18728 * normal/i386/setjmp.S: Likewise.
18729 * normal/powerpc/setjmp.S: Likewise.
18730 * normal/sparc64/setjmp.S: Likewise.
18731 * partmap/acorn.c: Likewise.
18732 * partmap/amiga.c: Likewise.
18733 * partmap/apple.c: Likewise.
18734 * partmap/gpt.c: Likewise.
18735 * partmap/pc.c: Likewise.
18736 * partmap/sun.c: Likewise.
18737 * term/gfxterm.c: Likewise.
18738 * term/terminfo.c: Likewise.
18739 * term/efi/console.c: Likewise.
18740 * term/i386/pc/console.c: Likewise.
18741 * term/i386/pc/serial.c: Likewise.
18742 * term/i386/pc/vesafb.c: Likewise.
18743 * term/i386/pc/vga.c: Likewise.
18744 * term/ieee1275/ofconsole.c: Likewise.
18745 * util/biosdisk.c: Likewise.
18746 * util/console.c: Likewise.
18747 * util/genmoddep.c: Likewise.
18748 * util/getroot.c: Likewise.
18749 * util/grub-emu.c: Likewise.
18750 * util/grub-mkdevicemap.c: Likewise.
18751 * util/grub-probe.c: Likewise.
18752 * util/lvm.c: Likewise.
18753 * util/misc.c: Likewise.
18754 * util/raid.c: Likewise.
18755 * util/resolve.c: Likewise.
18756 * util/update-grub.in: Likewise.
18757 * util/update-grub_lib.in: Likewise.
18758 * util/grub.d/00_header.in: Likewise.
18759 * util/grub.d/10_hurd.in: Likewise.
18760 * util/grub.d/10_linux.in: Likewise.
18761 * util/i386/efi/grub-install.in: Likewise.
18762 * util/i386/efi/grub-mkimage.c: Likewise.
18763 * util/i386/pc/grub-install.in: Likewise.
18764 * util/i386/pc/grub-mkimage.c: Likewise.
18765 * util/i386/pc/grub-mkrescue.in: Likewise.
18766 * util/i386/pc/grub-setup.c: Likewise.
18767 * util/i386/pc/misc.c: Likewise.
18768 * util/powerpc/ieee1275/grub-install.in: Likewise.
18769 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
18770 * util/powerpc/ieee1275/misc.c: Likewise.
18771 * video/bitmap.c: Likewise.
18772 * video/video.c: Likewise.
18773 * video/i386/pc/vbe.c: Likewise.
18774 * video/i386/pc/vbeblit.c: Likewise.
18775 * video/i386/pc/vbefill.c: Likewise.
18776 * video/i386/pc/vbeutil.c: Likewise.
18777 * video/readers/tga.c: Likewise.
18778
3572d015 187792007-07-02 Robert Millan <rmh@aybabtu.com>
18780
18781 * conf/i386-efi.rmk: Replace obsolete reference to
18782 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
18783 with util/getroot.c.
18784 * conf/powerpc-ieee1275.rmk: Likewise.
18785 * conf/sparc64-ieee1275.rmk: Likewise.
18786
18787 * util/grub-emu.c (main): Fix unchecked pointer handling.
18788
2c2a681b 187892007-07-02 Robert Millan <rmh@aybabtu.com>
18790
18791 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
18792 invocation to fail, in order to support partition-less media.
18793
18794 * util/i386/pc/grub-install.in: Likewise.
18795
18796 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
18797 which fs or partmap modules are needed (akin to its sister scripts).
18798
18799 Also use grub-probe to get rid of unportable /proc/mounts check.
18800
18801 Print the same informational message that the other scripts do, before
fe6b695a 18802 exiting.
2c2a681b 18803
6193defe 188042007-06-23 Robert Millan <rmh@aybabtu.com>
18805
fe6b695a 18806 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 18807 a font file can be found and, if so, echo the GRUB path to it.
18808
18809 * util/update-grub.in: Handle multiple terminals depending on user
18810 input, platform availability and font file presence. Propagate
18811 variables of our findings to /etc/grub.d/ children.
18812
18813 * util/grub.d/00_header.in: Handle multiple terminals, based on
18814 environment setup by update-grub.
18815
eface1dc 188162007-06-23 Robert Millan <rmh@aybabtu.com>
18817
ba50d28f 18818 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 18819
bf697e28 188202007-06-21 Robert Millan <rmh@aybabtu.com>
18821
18822 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
18823 indicate end of data section in kernel image.
18824 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
18825 GRUB_KERNEL_MACHINE_DATA_END.
18826
18827 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
18828 space for it.
18829 * kern/i386/efi/startup.S: Likewise.
18830
18831 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
18832 during image generation. Implement --prefix option to override this
18833 patch.
18834 * util/i386/efi/grub-mkimage.c: Likewise.
18835
18836 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
18837 code to make path relative to its root into a separate function.
18838
18839 * util/i386/pc/grub-install.in: Use newly provided
18840 make_system_path_relative_to_its_root() to convert ${grubdir}, then
18841 pass the result to grub-install --prefix.
18842
baa574b4 188432007-06-13 Robert Millan <rmh@aybabtu.com>
18844
18845 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
18846 DEFAULT_DEVICE_MAP.
18847 * util/grub-emu.c: Use above definitions from misc.h instead of
18848 defining them.
18849 * util/grub-mkdevicemap.c: Likewise.
18850 * util/i386/pc/grub-setup.c: Likewise.
18851 * util/grub-probe.c: Likewise.
18852 (probe): Abort with grub_util_error() when either
18853 grub_guess_root_device or grub_util_get_grub_dev fails.
18854
0215dcbf 188552007-06-12 Robert Millan <rmh@aybabtu.com>
18856
18857 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
18858 "pager" assignment.
18859 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
18860 "pcdata".
18861 * util/grub-probe.c (probe): Likewise for "drive_name".
18862
8af2ab7b 188632007-06-11 Robert Millan <rmh@aybabtu.com>
18864
18865 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
18866 not just the cdrom one.
18867
59d31694 188682007-06-11 Robert Millan <rmh@aybabtu.com>
18869
18870 * util/i386/pc/grub-mkrescue.in: Add "set -e".
18871 Add --pkglibdir=DIR option to override pkglibdir.
18872 Mention --image-type=TYPE in help output.
18873 Fix --grub-mkimage (it was a no-op).
fe6b695a 18874 Abort gracefully when no parameter is given.
59d31694 18875
7ee367e4 188762007-06-11 Robert Millan <rmh@aybabtu.com>
18877
18878 * util/i386/pc/grub-mkrescue.in: New file.
18879 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
18880 * Makefile.in: Handle bin_SCRIPTS.
18881
29b0ed46 188822007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
18883
18884 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
18885 list of video modes.
18886
c0f90770 188872007-06-06 Robert Millan <rmh@aybabtu.com>
18888
18889 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
18890 file doesn't exist, or if it is in a filesystem grub can't read.
18891
18892 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
18893 not abort if GRUB_DRIVE could not be defined. Rearrange generated
18894 header comment to fit in 80 columns when the variables are resolved.
18895
18896 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
18897 could be identified by update-grub. Remove redundant check for
fe6b695a 18898 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 18899 handles that).
18900
fb36dc26 189012007-06-04 Robert Millan <rmh@aybabtu.com>
18902
18903 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
18904
18905 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
18906
18907 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
18908
0c68c93e 189092007-06-04 Robert Millan <rmh@aybabtu.com>
18910
18911 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
18912
18913 * include/grub/partition.h: Declare grub_apple_partition_map_init and
18914 grub_apple_partition_map_fini.
18915
18916 * util/biosdisk.c
18917 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
18918 to access >2 TiB disks).
18919
18920 Print disk->total_sectors with %llu instead of %lu, since this
18921 variable is always 64-bit (prevents wrong disk size from being displayed
18922 on either >2 TiB disk or big-endian CPU).
18923
18924 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
18925 into a generic case that supports all (sane) partition maps.
18926
18927 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
18928 breaks big-endian.
18929
18930 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
18931 and grub_apple_partition_map_fini() after that.
18932
0f23eb74 189332007-06-01 Robert Millan <rmh@aybabtu.com>
18934
18935 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
18936
18937 * util/grub.d/00_header.in: Only enable gfxterm when
18938 convert_system_path_to_grub_path() succeeds.
18939
42c71976 189402007-05-20 Robert Millan <rmh@aybabtu.com>
18941
18942 * util/update-grub_lib.in: New file.
18943 * DISTLIST: Add update-grub_lib.in.
18944 * conf/common.rmk: Generate update-grub_lib and install it in
18945 $(lib_DATA).
18946 * Makefile.in: Add install routine for $(lib_DATA).
18947
18948 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
18949 function provided by update-grub_lib to support arbitrary paths of
18950 unifont.pff.
18951 * util/update-grub.in: Use convert_system_path_to_grub_path() to
18952 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
18953
5beb2291 189542007-05-19 Robert Millan <rmh@aybabtu.com>
18955
18956 * commands/i386/cpuid.c: New module.
18957 * DISTLIST: Add it.
18958 * conf/i386-efi.rmk: Enable cpuid.mod.
18959 * conf/i386-pc.rmk: Likewise.
18960
7262eca1 189612007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
18962
18963 * kern/disk.c (grub_disk_read): Check return value of
18964 grub_realloc().
18965
260ba823 189662007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
18967
18968 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
18969 arrays.
18970 * disk/raid.c (grub_raid_open): Likewise.
18971
1ecb6cf2 189722007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
18973
18974 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
18975 stack instead of on the heap.
18976
18977 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
18978 before doing a read on it.
18979
18980 * configure.ac: Only use -fno-stack-protector for the target
18981 environment.
f19dbdb7 18982
21c8cbb1 189832007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
18984
18985 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
18986 __attribute_ ((unused)) to mode_type argument.
18987
18988 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 18989
21c8cbb1 18990 * kern/misc.c (memcmp): Fix prototype.
18991
18992 * include/grub/partition.h [GRUB_UTIL]
18993 (grub_gpt_partition_map_init): Add prototype.
18994 (grub_gpt_partition_map_fini): Likewise.
18995
18996 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
18997 at the right place.
18998
18999 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
19000 (grub_fat_read_data): Likewise.
19001 (grub_fat_find_dir): Likewise.
19002
19003 * font/manager.c (find_glyph): Make table a const.
19004 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 19005
849d55d3 190062007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
19007
19008 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
19009 code, first search for device in /dev/mapper, then in /dev.
19010 (grub_util_get_grub_dev): New function.
19011 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
19012 prototype.
19013 * util/grub-probe.c (probe): Remove check for RAID, call
19014 grub_util_get_grub_dev() instead of
19015 grub_util_biosdisk_get_grub_dev().
19016 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
19017 grub_util_biosdisk_get_grub_dev().
19018 * util/i386/pc/grub-setup.c (main): Likewise.
19019
8fff7c2f 190202007-05-16 Robert Millan <rmh@aybabtu.com>
19021
19022 * DISTLIST: Update for the latest changes.
19023 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
19024 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
19025 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
19026 grub/util/biosdisk.h.
19027 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
19028 grub/util/biosdisk.h.
19029
48e12b52 190302007-05-16 Robert Millan <rmh@aybabtu.com>
19031
19032 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
19033
46b9d128 190342007-05-16 Robert Millan <rmh@aybabtu.com>
19035
19036 * util/i386/efi/grub-install.in: New.
19037 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
19038 newly added grub-install.
19039 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
19040 include.
19041 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
19042 grub/util/biosdisk.h.
19043 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
19044 grub/util/biosdisk.h.
19045
2d1a40a9 190462007-05-16 Robert Millan <rmh@aybabtu.com>
19047
19048 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
19049 * include/grub/util/biosdisk.h: ... here.
19050 * util/i386/pc/biosdisk.c: Moved to ...
19051 * util/biosdisk.c: ... here.
19052 * util/i386/pc/getroot.c: Moved to ...
19053 * util/getroot.c: ... here.
19054 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
19055 * util/grub-mkdevicemap.c: ... here.
19056 * util/i386/pc/grub-probe.c: Moved to ...
19057 * util/grub-probe.c: ... here.
19058
9e26e3bc 190592007-05-15 Robert Millan <rmh@aybabtu.com>
19060
19061 * util/update-grub.in: Remove duplicated line in grub.cfg header
19062 message.
19063
57f96397 190642007-05-13 Robert Millan <rmh@aybabtu.com>
19065
19066 * util/update-grub.in: Fix a few assumptions about the devices holding
19067 /, /boot and /boot/grub being the same.
19068 * util/grub.d/00_header.in: Likewise.
19069 * util/grub.d/10_hurd.in: Likewise.
19070 * util/grub.d/10_linux.in: Likewise.
19071
19072 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
19073 patterns. Use that to define the `.old' suffix as older than `'.
19074
19075 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
19076
19077 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
19078 the grub.cfg header message.
19079
2e610d62 190802007-05-11 Robert Millan <rmh@aybabtu.com>
19081
19082 * util/update-grub.in: Create device.map if it doesn't already exist,
19083 before attempting to run grub-probe.
19084 Check for grub-probe and grub-mkdevicemap with the same code
19085 grub-install is using.
19086 Remove test mode.
19087
3f6a10ef 190882007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
19089
19090 * Makefile.in: Add the datarootdir autoconf variable.
19091
02e7b75e 190922007-05-09 Robert Millan <rmh@aybabtu.com>
19093
19094 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 19095 fail gracefully if dev->disk->partition == NULL.
02e7b75e 19096
75f396cc 190972007-05-07 Robert Millan <rmh@aybabtu.com>
19098
19099 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
19100 determine partition map module.
19101 * util/i386/pc/grub-install.in: Use this feature to decide which
19102 partition module to load, instead of hardcoding pc and gpt.
19103
da65cb36 191042007-05-07 Robert Millan <rmh@aybabtu.com>
19105
19106 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
19107 source directory differs from build directory.
19108
b57d6a91 191092007-05-05 Robert Millan <rmh@aybabtu.com>
19110
19111 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
19112 initialisation.
19113
509d00f1 191142007-05-05 Robert Millan <rmh@aybabtu.com>
19115
19116 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
19117
c48f23ef 191182007-05-05 Robert Millan <rmh@aybabtu.com>
19119
19120 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
19121 command-line arguments via ${GRUB_CMDLINE_LINUX}.
19122
20b97658 191232007-05-05 Robert Millan <rmh@aybabtu.com>
19124
19125 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
19126 (grub_probe_SOURCES): Likewise.
19127 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
19128 GPT and initialize dos_part and bsd_part accordingly.
19129 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
19130 install_bsd_part.
19131 (main): Activate gpt module for use during partition identification,
19132 and deactivate it afterwards.
19133 * util/i386/pc/grub-install.in: Add gpt module to core.img.
19134 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
19135 partition identification, and deactivate it afterwards.
19136
99123174 191372007-05-05 Robert Millan <rmh@aybabtu.com>
19138
19139 * term/i386/pc/console.c (grub_console_fini): Call
19140 grub_term_set_current() before grub_term_unregister().
19141
ebd97f6e 191422007-05-04 Robert Millan <rmh@aybabtu.com>
19143
19144 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
19145 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
19146 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
19147 and update-grub_DATA.
19148 * conf/common.rmk: Build and install update-grub components.
19149 * conf/common.mk: Regenerate.
19150 * util/update-grub.in: New. Core of update-grub.
19151 * util/grub.d/00_header.in: New. Generates grub.cfg header.
19152 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
19153 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
19154 * util/grub.d/README: New. Document grub.d directory layout.
19155
b06a264d 191562007-05-01 Robert Millan <rmh@aybabtu.com>
19157
19158 * util/grub-emu.c: Move initialization functions
19159 grub_util_biosdisk_init() and grub_init_all() before
19160 grub_util_biosdisk_get_grub_dev(), which relies on them.
19161
41f0050e 191622007-04-19 Robert Millan <rmh@aybabtu.com>
19163
19164 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
19165 it is used later.
19166
04582bb3 191672007-04-18 Jerone Young <jerone@gmail.com>
19168
f19dbdb7 19169 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 19170 stanza.
19171
08db4632 191722007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 19173
08db4632 19174 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
19175 continue on and look for device node with real device name.
19176
801b76be 191772007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 19178
fe6b695a 19179 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 19180 ability.
19181 * Makefile.in: Add autoconf package transformation code.
19182 * util/i386/pc/grub-install.in: Likewise.
19183 * util/powerpc/ieee1275/grub-install.in: Likewise.
19184
6795c4e1 191852007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
19186
19187 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
19188 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
19189 (EXT2_REVISION): Likewise.
19190 (EXT2_INODE_SIZE): Likewise.
19191 (struct grub_ext2_block_group): Added a missing member
19192 "used_dirs".
19193 (grub_ext2_read_inode): Divide by the inode size in a superblock
19194 instead of 128 to obtain INODES_PER_BLOCK.
19195 Use the macro EXT2_INODE_SIZE instead of directly using
19196 SBLOCK->INODE_SIZE.
19197
d70af616 191982007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
19199
19200 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
19201 superblock instead of the structure size to compute an
19202 offset. This fixes the problem that GRUB could not read a
19203 filesystem when inode size is different from 128-byte.
19204
3b801603 192052007-03-05 Marco Gerards <marco@gnu.org>
19206
19207 * normal/main.c (read_config_file): When "menu" is not set, create
19208 an initial context.
19209
4785bfe4 192102007-02-21 Hollis Blanchard <hollis@penguinppc.org>
19211
19212 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
19213 (HEAP_LIMIT): New macro.
19214 (grub_claim_heap): Claim memory up to `heaplimit'.
19215
a0cbb023 192162007-02-21 Hollis Blanchard <hollis@penguinppc.org>
19217
19218 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
19219 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
19220 (_start): Likewise.
19221 (grub_arch_modules_addr): Return address after `_end'.
19222 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
19223 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
19224 (add_segments): Calculate `_end' from phdr size and location.
19225 (ALIGN_UP): Moved to ...
19226 * include/grub/misc.h: here.
19227 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
19228 New macro.
19229 (GRUB_IEEE1275_MODULE_BASE): Removed.
19230
fd7d8eba 192312007-02-20 Hollis Blanchard <hollis@penguinppc.org>
19232
19233 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
19234 loop boundary.
19235
9b09e6fc 192362007-02-20 Hollis Blanchard <hollis@penguinppc.org>
19237
19238 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
19239 All users updated.
19240 (grub_elf64_load_hook_t): Likewise.
19241 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
19242 debug output.
19243
3ce27299 192442007-02-20 Hollis Blanchard <hollis@penguinppc.org>
19245
19246 * kern/mm.c: Update copyright.
19247 (grub_mm_debug): Correct syntax error.
19248 (grub_mm_dump_free): New function.
19249 (grub_debug_free): Call `grub_free'.
19250 * include/grub/mm.h: Update copyright.
19251 (grub_mm_dump_free): Add declaration.
19252
077d5fee 192532007-02-12 Hollis Blanchard <hollis@penguinppc.org>
19254
19255 * include/grub/ieee1275/ieee1275.h: Update copyright.
19256 * kern/powerpc/ieee1275/init.c: Likewise.
19257 * kern/powerpc/ieee1275/openfw.c: Likewise.
19258
19259 * loader/powerpc/ieee1275/linux.c: Likewise.
19260 * include/grub/elfload.h: Likewise.
19261 * kern/elf.c: Likewise.
19262 (grub_elf32_load): Pass `base' and `size' parameters. Update all
19263 callers.
19264 (grub_elf64_load): Likewise.
19265 (grub_elf32_load_segment): Move to a nested function.
19266 (grub_elf64_load_segment): Likewise.
19267
dc946850 192682007-02-12 Hollis Blanchard <hollis@penguinppc.org>
19269
19270 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
19271 prototype.
19272 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
19273 (grub_heap_len): Likewise.
19274 (HEAP_SIZE): New macro.
19275 (grub_claim_heap): New function.
19276 (grub_machine_init): Don't claim heap directly. Call
19277 `grub_claim_heap'.
19278 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
19279 (grub_available_iterate): New function.
19280
baa2a121 192812007-02-03 Thomas Schwinge <tschwinge@gnu.org>
19282
19283 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
19284 * configure.ac: Use it for testing the HOST and TARGET compilers.
19285
4fe9862e 192862006-12-13 Thomas Schwinge <tschwinge@gnu.org>
19287
19288 * Makefile.in (enable_grub_emu): New variable.
19289 * configure.ac (--enable-grub-emu): New option.
19290 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
19291 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
19292 * conf/i386-pc.rmk: Likewise.
19293 * conf/powerpc-ieee1275.rmk: Likewise.
19294 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
19295
a8aa5762 192962006-12-12 Marco Gerards <marco@gnu.org>
19297
19298 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
19299
19300 * kern/env.c (grub_env_unset): Don't free the member `value' when
19301 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
19302 pointer.
19303
19304 * normal/main.c (current_menu): Removed.
19305 (free_menu): Unset the `menu' environment variable.
19306 (grub_normal_menu_addentry): Make use of the environment variable
19307 `menu', instead of using the global `current_menu'. Allocate
19308 memory for the sourcecode of this entry.
19309 (read_config_file): New argument `nested', changed all callers.
19310 Only in the case of a new context, initialize a new menu. Set the
19311 `menu' environment variable.
19312 (grub_normal_execute): Don't set and unset the environment
19313 variable `menu' here anymore. Only free the menu when leaving the
19314 context.
19315
19316 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
19317 leak.
19318
957b3a3e 193192006-12-11 Marco Gerards <marco@gnu.org>
19320
19321 * normal/menu_entry.c (run): Fix off by one bug so the last line
19322 is executed. Move the loader check to outside the loop.
19323
ef875714 193242006-12-08 Hollis Blanchard <hollis@penguinppc.org>
19325
19326 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
19327
4e739985 193282006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
19329
19330 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
19331 the number of sectors. Reported by Andrey Shuvikov
19332 <mr_hyro@yahoo.com>.
f19dbdb7 19333
790707f2 193342006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
19335
19336 * kern/disk.c (grub_disk_read): When there is a read error, always
19337 try to read only the necessary data.
f19dbdb7 19338
790707f2 19339 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
19340 disk/raid.c.
19341 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
19342 prototype.
19343 [GRUB_UTIL] (grub_raid_fini): Likewise.
19344 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 19345 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 19346 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
19347 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
19348 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
19349 and grub_raid_fini().
f19dbdb7 19350
03e58196 193512006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
19352
19353 * include/grub/types.h (__unused): Rename to UNUSED.
19354 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
19355 (grub_elf64_size): Likewise.
f19dbdb7 19356
ae4f23bf 193572006-11-03 Hollis Blanchard <hollis@penguinppc.org>
19358
19359 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
19360 grub_error_push and grub_error_pop in the error-handling path.
19361 (grub_elf32_load_segment): Only call grub_file_read with non-zero
19362 length.
19363
2166cc83 193642006-11-03 Hollis Blanchard <hollis@penguinppc.org>
19365
19366 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
19367 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19368 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19369 (kernel_elf_SOURCES): Likewise.
19370 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
19371 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
19372 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
19373 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
19374 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
19375 (elf_mod_SOURCES): New variable.
19376 (elf_mod_CFLAGS): Likewise.
19377 (elf_mod_LDFLAGS): Likewise.
19378 * include/grub/types.h (__unused): New macro.
19379 * include/grub/elfload.h: New file.
19380 * kern/elf.c: Likewise.
19381 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
19382 (ELF32_LOADMASK): New macro.
19383 (ELF64_LOADMASK): Likewise.
19384 (vmlinux): Removed.
19385 (grub_linux_load32): New function.
19386 (grub_linux_load64): Likewise.
19387 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
19388 Use grub_elf_t instead of grub_file_t.
19389
a09d5aa5 193902006-11-02 Hollis Blanchard <hollis@penguinppc.org>
19391
19392 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
19393 `catch_result' to struct set_color_args.
19394
d976fc51 193952006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
19396
19397 * normal/menu.c: Include grub/script.h.
19398 * normal/menu_entry.c: Likewise.
19399 * include/grub/normal.h: Do not include grub/script.h.
19400
67507549 194012006-10-27 Hollis Blanchard <hollis@penguinppc.org>
19402
19403 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
19404
69203a99 194052006-10-27 Hollis Blanchard <hollis@penguinppc.org>
19406
19407 * kern/disk.c (grub_disk_open): Print debug messages when opening a
19408 disk.
19409 (grub_disk_close): Print debug messages when closing a disk.
19410 (grub_disk_read): Print debug messages when disk read fails.
19411 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
19412 filesystem type.
19413 * kern/partition.c: Include misc.h.
19414 (grub_partition_iterate): Print debug messages when detecting
19415 partition type.
19416
e2b8278c 194172006-10-27 Hollis Blanchard <hollis@penguinppc.org>
19418
19419 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
19420 is negative.
19421 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
19422
97b2f2ff 194232006-10-26 Hollis Blanchard <hollis@penguinppc.org>
19424
19425 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
19426 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
19427
6555d655 194282006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
19429
19430 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
19431 instead of sizeof(lv). Patch by Michael Guntsche.
19432
4d42b77f 194332006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
19434
19435 * disk/lvm.c: Rename VGS to VG_LIST.
19436 (grub_lvm_iterate): Change VGS->LV to VG-LV.
19437 (grub_lvm_open): Likewise.
19438 Thanks to Michael Guntsche for finding this bug.
19439
5d74d927 194402006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
19441
19442 * configure.ac (AC_INIT): Bumped to 1.95.
19443
a1bb27e4 194442006-10-14 Robert Millan <rmh@aybabtu.com>
19445
19446 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
19447 with "/dev/.static/dev/md".
19448
e0994b8b 194492006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
19450
19451 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
19452 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
19453 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
19454 DRIVE_NAME are always freed.
19455
19456 * util/i386/pc/biosdisk.c (make_device_name): Add one into
19457 DOS_PART, as a DOS partition is counted from one instead of zero
19458 now. Reported by Robert Millan.
19459
ddd5cee9 194602006-10-14 Robert Millan <rmh@aybabtu.com>
19461
19462 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
19463 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
19464 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
19465 string returned by grub_guess_root_device.
19466 * util/i386/pc/grub-setup.c: Likewise.
19467 * util/i386/pc/grub-probefs.c: Likewise.
19468
19469 * util/i386/pc/grub-probefs.c: Rename to ...
19470 * util/i386/pc/grub-probe.c: ... this.
19471 * DISTLIST: Remove grub-probefs, add grub-probe.
19472 * conf/i386-efi.rmk: Likewise.
19473 * conf/i386-pc.rmk: Likewise.
19474 * util/i386/pc/grub-install.in: Likewise.
19475
19476 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
19477 choose which information we want to print.
19478
2b002173 194792006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
19480
19481 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
19482 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
19483 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
19484 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
19485 video/readers/tga.c and video/i386/pc/vbeutil.c.
19486
194872006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
19488
19489 Added support for RAID and LVM.
f19dbdb7 19490
2b002173 19491 * disk/lvm.c: New file.
19492 * disk/raid.c: Likewise.
19493 * include/grub/lvm.h: Likewise.
f19dbdb7 19494 * include/grub/raid.h: Likewise.
2b002173 19495 * include/grub/util/lvm.h: Likewise.
19496 * include/grub/util/raid.h: Likewise.
19497 * util/lvm.c: Likewise.
19498 * util/raid.c: Likewise.
19499
19500 * include/grub/disk.h (grub_disk_dev_id): Add
19501 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
19502 (grub_disk_get_size): New prototype.
19503 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
19504 returns a partition.
19505 (grub_disk_get_size): New function.
f19dbdb7 19506
2b002173 19507 * kern/i386/pc/init.c (make_install_device): Copy the prefix
19508 verbatim if grub_install_dos_part is -2.
19509
19510 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
19511 and LVM devices.
19512
19513 * util/i386/pc/grub-setup.c (setup): New argument
19514 MUST_EMBED. Force embedding of GRUB when the argument is
19515 true. Close FILE before returning.
19516 (main): Add support for RAID and LVM.
f19dbdb7 19517
2b002173 19518 * conf/common.rmk: Add RAID and LVM modules.
19519 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
19520 util/lvm.c.
19521 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
19522
19523 * kern/misc.c (grub_strstr): New function.
19524 * include/grub/misc.h (grub_strstr): New prototype.
19525
050548d0 195262006-10-10 Tristan Gingold <tristan.gingold@bull.net>
19527
19528 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
19529
da849d2d 195302006-10-05 Tristan Gingold <tristan.gingold@bull.net>
19531
19532 * kern/misc.c (grub_strtoull): Guess the base only if not
19533 specified.
19534
97b2f2ff 195352006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 19536
19537 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
19538 PowerMac support.
19539
97b2f2ff 195402006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 19541
19542 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
19543
19544 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
19545 Remove `flags' argument. All callers changed.
19546 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
19547 (IEEE1275_IHANDLE_INVALID): New variable.
19548 (IEEE1275_CELL_INVALID): New variable.
19549 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
19550 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
19551 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
19552 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
19553 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
19554 codes from Open Firmware. All callers updated.
19555 (grub_ieee1275_next_property): Directly return Open Firmware return
19556 code.
19557 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
19558 Standardize error checking from `grub_ieee1275_get_property'.
19559 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
19560 `devalias' to `aliases'. Correct comments. Consolidate error paths.
19561
97b2f2ff 195622006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 19563
19564 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
19565 `instance_to_package_args' to `instance_to_path_args'.
19566
19567 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
19568 `grub_ieee1275_chosen'.
19569
19570 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
19571 `grub_ieee1275_interpret'.
19572
97b2f2ff 195732006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 19574
19575 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
19576
97b2f2ff 195772006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 19578
19579 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
19580 (__cmpdi): Likewise.
19581
19582 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
19583 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
19584 `grub_ssize_t'.
19585
02bb8acc 19586 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 19587
19588 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
19589 to type `grub_ssize_t'.
19590 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
19591
7f9a8531 195922006-09-22 Marco Gerards <marco@gnu.org>
19593
19594 * normal/script.c (grub_script_create_cmdmenu): Skip leading
19595 newlines.
19596
b5ef1102 195972006-09-22 Marco Gerards <marco@gnu.org>
19598
19599 * commands/echo.c: New file.
19600
19601 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
19602
19603 * conf/common.rmk (echo_mod_SOURCES): New variable.
19604 (echo_mod_CFLAGS): Likewise.
19605 (echo_mod_LDFLAGS): Likewise.
19606
2cff3677 196072006-09-22 Marco Gerards <marco@gnu.org>
19608
19609 * normal/main.c (get_line): Malloc memory instead of using
19610 preallocated memory. Removed the arguments `cmdline' and
19611 `max_len'. Updated all callers.
19612
6ba4688b 196132006-09-22 Marco Gerards <marco@gnu.org>
19614
19615 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
19616 (normal_mod_DEPENDENCIES): Likewise.
19617
19618 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
19619 (normal_mod_DEPENDENCIES): Likewise.
19620
19621 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
19622
e02ac02c 196232006-09-22 Johan Rydberg <jrydberg@gnu.org>
19624
19625 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
19626 programs.
19627 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
19628 (normal_mod_DEPENDENCIES): Likewise.
19629 * conf/i386-pc.mk: Regenerate.
19630 * conf/i386-efi.mk: Likewise
19631 * conf/common.mk: Likewise.
19632 * conf/powerpc-ieee1275.mk: Likewise.
19633 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 19634
8d252e44 196352006-09-22 Robert Millan <rmh@aybabtu.com>
19636
19637 Sync with i386 version.
19638 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
19639 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
19640
209bf7ac 196412006-09-21 Robert Millan <rmh@aybabtu.com>
19642
19643 Import from GRUB Legacy (lib/device.c):
19644 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
19645 (init_device_map) [__linux__]: Add support for I2O devices.
19646
6b146090 196472006-09-14 Marco Gerards <marco@gnu.org>
19648
19649 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
19650 `-melf_i386'.
19651
e38600a8 196522006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 19653
19654 * util/i386/pc/grub-install.in: Skip menu.lst when removing
19655 /boot/grub/*.lst.
78fa1790 19656
2952da5d 19657 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 19658
2952da5d 19659 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
19660 before adding it to device.map.
19661
01b82a64 196622006-08-15 Johan Rydberg <jrydberg@gnu.org>
19663
fe6b695a 19664 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 19665 compiles a file; using the -MD option.
19666 * conf/common.mk: Regenerate.
19667 * conf/i386-pc.mk: Likewise.
19668 * conf/i386-efi.mk: Likewise.
19669 * conf/powerpc-ieee1275.mk: Likewise.
19670 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 19671
1064790d 196722006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
19673
19674 Move the prototypes of grub_setjmp and grub_longjmp to
19675 cpu/setjmp.h, so that each architecture may specify different
19676 attributes.
f19dbdb7 19677
1064790d 19678 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
19679 (grub_longjmp): Likewise.
19680 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
19681 (grub_longjmp): Likewise.
19682 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
19683 (grub_longjmp): Likewise.
19684
19685 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
19686 [!GRUB_UTIL] (grub_longjmp): Removed.
19687
29dda3ed 196882006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
19689
19690 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
19691 "color!" method does not return any value.
19692
ad2a06ed 196932006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
19694
19695 * include/grub/bitmap.h: New file.
19696
19697 * include/grub/i386/pc/vbeutil.h: Likewise.
19698
19699 * video/bitmap.c: Likewise.
19700
19701 * video/readers/tga.c: Likewise.
19702
19703 * video/i386/pc/vbeutil.c: Likewise.
19704
19705 * commands/videotest.c: Code cleanup and updated to reflect to new
19706 video API.
19707
19708 * term/gfxterm.c: Likewise.
19709
19710 * video/video.c: Likewise.
19711
19712 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
19713 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
19714 (bitmap_mod_SOURCES): New entry.
19715 (bitmap_mod_CFLAGS): Likewise.
19716 (bitmap_mod_LDFLAGS): Likewise.
19717 (tga_mod_SOURCES): Likewise.
19718 (tga_mod_CFLAGS): Likewise.
19719 (tga_mod_LDFLAGS): Likewise.
19720
19721 * include/grub/video.h (grub_video_blit_operators): New enum type.
19722 (grub_video_render_target): Changed as forward declaration and moved
19723 actual definition to be video driver specific.
19724 (grub_video_adapter.blit_bitmap): Added blitting operator.
19725 (grub_video_adapter.blit_render_target): Likewise.
19726 (grub_video_blit_bitmap): Likewise.
19727 (grub_video_blit_render_target): Likewise.
19728
19729 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
19730 driver specific render target definition.
19731 (grub_video_vbe_map_rgba): Added driver internal helper.
19732 (grub_video_vbe_unmap_color): Updated to use
19733 grub_video_i386_vbeblit_info.
19734 (grub_video_vbe_get_video_ptr): Likewise.
19735
19736 * include/grub/i386/pc/vbeblit.h
19737 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
19738 grub_video_i386_vbeblit_info.
19739 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
19740 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
19741 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
19742 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
19743 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
19744 (grub_video_i386_vbeblit_index_index): Likewise.
19745 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
19746 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
19747 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
19748 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
19749 operator.
19750 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
19751 operator.
19752
19753 * video/i386/pc/vbeblit.c: Updated to reflect changes on
19754 include/grub/i386/pc/vbeblit.h.
19755
19756 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
19757 Updated to use grub_video_i386_vbeblit_info.
19758 (grub_video_i386_vbefill_R8G8B8): Likewise.
19759 (grub_video_i386_vbefill_index): Likewise.
19760 (grub_video_i386_vbefill): Added generic filler.
19761
19762 * video/i386/pc/vbefill.c: Updated to reflect changes on
19763 include/grub/i386/pc/vbefill.h.
19764
19765 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
19766 grub_video_i386_vbeblit_info.
19767 (grub_video_vbe_unmap_color): Likewise.
19768 (grub_video_vbe_blit_glyph): Likewise.
19769 (grub_video_vbe_scroll): Likewise.
19770 (grub_video_vbe_draw_pixel): Removed function.
19771 (grub_video_vbe_get_pixel): Likewise.
19772 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
19773 updated code to use it.
19774 (common_blitter): Added common blitter for render target and bitmap.
19775 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
19776 (grub_video_vbe_blit_render_target): Likewise.
19777
bc8c036d 197782006-07-30 Johan Rydberg <jrydberg@gnu.org>
19779
19780 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
19781 is in text mode if there is no console control protocol instance
19782 available.
19783
684a8eff 197842006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
19785
19786 * include/grub/video.h: Code cleanup.
19787
19788 * include/grub/i386/pc/vbe.h: Likewise.
19789
19790 * video/i386/pc/vbe.c: Likewise.
19791
19792 * video/i386/pc/vbeblit.c: Likewise.
19793
19794 * video/i386/pc/vbefill.c: Likewise.
19795
19796 * video/video.c: Likewise. Also added more comments.
19797
5915059b 197982006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
19799
19800 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
19801 (struct grub_biosdisk_dap): Likewise.
19802
19803 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
19804 linkage settings for all functions.
19805
90ce5d56 198062006-07-12 Marco Gerards <marco@gnu.org>
19807
19808 * configure.ac (--enable-mm-debug): Fix typo.
19809
19810 * genkernsyms.sh.in: Use proper quoting for `CC'.
19811
43e7f879 198122006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
19813
19814 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
19815 (normal_mod_ASFLAGS): Remove "-m32".
19816
4889bdec 198172006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
19818
19819 * util/misc.c: Include config.h.
19820 [!HAVE_MEMALIGN]: Do not include malloc.h.
19821 (grub_memalign): Use posix_memalign, if present. Then, use
19822 memalign, if present. Otherwise, emit an error.
19823
19824 * util/grub-emu.c: Do not include malloc.h.
19825
19826 * include/grub/util/misc.h: Include unistd.h. This is required for
19827 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
19828 D. Eades III <hde@foobar-qux.org>.
19829
19830 * configure.ac (AC_GNU_SOURCE): Added.
19831 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
19832 type.
19833
fd39d4da 198342006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
19835
19836 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
19837 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
19838
b786f3b5 198392006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
19840
19841 * include/grub/types.h (grub_host_addr_t): Rename to
19842 grub_target_addr_t.
19843 (grub_host_off_t): Rename to grub_target_off_t.
19844 (grub_host_size_t): Rename to grub_target_size_t.
19845 (grub_host_ssize_t): Rename to grub_target_ssize_t.
19846 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
19847
19848 * include/grub/kernel.h (struct grub_module_header): Change type
19849 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
19850 (grub_module_info): Likewise.
f19dbdb7 19851
051988bb 198522006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
19853
19854 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
19855 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
19856 Velazquez <jesus.velazquez@gmail.com>.
19857
deae281b 198582006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
19859
19860 Count partitions from 1 instead of 0 in the string representation
19861 of partitions. Still use 0-based internally.
f19dbdb7 19862
deae281b 19863 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
19864 (sun_partition_map_iterate): Use grub_partition_t instead of
19865 struct grub_partition *. Cast DESC->START_CYLINDER to
19866 grub_uint64_t after converting the endian.
19867 (sun_partition_map_probe): Subtract 1 for PARTNUM.
19868 (sun_partition_map_get_name): Add 1 to P->INDEX.
19869
19870 * partmap/pc.c (grub_partition_parse): Subtract 1 for
19871 PCDATA->DOS_PART.
19872 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
19873
19874 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
19875 zero instead of one.
19876 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
19877 (gpt_partition_map_get_name): Add 1 into P->INDEX.
19878
19879 * partmap/apple.c (apple_partition_map_iterate): Change the type
19880 of POS to unsigned.
19881 (apple_partition_map_probe): Subtract 1 for PARTNUM.
19882 (apple_partition_map_get_name): Add 1 into P->INDEX.
19883
19884 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
19885 of POS to unsigned.
19886 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
19887 calculate the offset of a partition.
19888 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
19889 (amiga_partition_map_get_name): Add 1 into P->INDEX.
19890
19891 * partmap/acorn.c (acorn_partition_map_find): Change the type of
19892 SECTOR to grub_disk_addr_t.
19893 (acorn_partition_map_iterate): Likewise.
19894 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
19895 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
19896 top.
19897 (acorn_partition_map_get_name): Add 1 into P->INDEX.
19898
19899 * kern/i386/pc/init.c (make_install_device): Add 1 into
19900 GRUB_INSTALL_DOS_PART.
19901
19902 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
19903 conditional.
19904
524a1e6a 199052006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
19906
19907 Clean up the code to support 64-bit addressing in disks and
19908 files. This change is not enough for filesystems yet.
f19dbdb7 19909
524a1e6a 19910 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
19911 type of "start" to grub_uint64_t.
19912 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
19913 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
19914 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
19915 convert addresses.
19916
19917 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
19918 to grub_disk_addr_t.
19919
19920 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
19921 string.
19922
19923 * partmap/pc.c (pc_partition_map_iterate): Likewise.
19924
19925 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
19926 to char *.
19927
19928 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
19929
19930 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
19931
19932 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
19933
19934 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
19935 to grub_off_t, to detect an error from grub_file_seek.
19936 (grub_multiboot_load_elf32): Likewise.
19937
19938 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
19939 maximum unsigned long value when an overflow is detected.
19940 (grub_strtoull): New function.
19941 (grub_divmod64): Likewise.
19942 (grub_lltoa): use grub_divmod64.
19943
19944 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
19945 grub_disk_addr_t.
19946 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
19947 the pointer to next character. Use grub_strtoull instead of
19948 grub_strtoul.
19949 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
19950 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
19951 respectively.
19952
fe6b695a 19953 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 19954 return value is signed.
19955 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
19956 test if OFFSET is less than zero, as OFFSET is unsigned now.
19957
19958 * kern/disk.c (struct grub_disk_cache): Change the type of
19959 "sector" to grub_disk_addr_t.
19960 (grub_disk_cache_get_index): Change the type of SECTOR to
19961 grub_disk_addr_t. Calculate the hash with SECTOR casted to
19962 unsigned after shifting.
19963 (grub_disk_cache_invalidate): Change the type of SECTOR to
19964 grub_disk_addr_t.
19965 (grub_disk_cache_unlock): Likewise.
19966 (grub_disk_cache_store): Likewise.
19967 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
19968 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
19969 grub_disk_addr_t and grub_uint64_t, respectively.
19970 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
19971 body, as the value of OFFSET is tweaked by
19972 grub_disk_check_range. Change the types of START_SECTOR, LEN and
19973 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
19974 respectively.
19975 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
19976 body, as the value of OFFSET is tweaked by
19977 grub_disk_check_range. Change the types of LEN and N to
19978 grub_size_t.
19979
19980 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
19981 and "saved_offset" to grub_off_t.
19982 (test_header): Cast BUF to char *.
19983 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
19984 to char *.
19985 (grub_gzio_read): Change the types of OFFSET and SIZE to
19986 grub_off_t and grub_size_t, respectively.
19987
19988 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
19989 Removed.
19990 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
19991 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
19992 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
19993 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
19994 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
19995
19996 * include/grub/types.h (grub_off_t): Unconditionally set to
19997 grub_uint64_t.
19998 (grub_disk_addr_t): Changed to grub_uint64_t.
19999
20000 * include/grub/partition.h (struct grub_partition): Change the
20001 types of "start", "len" and "offset" to grub_disk_addr_t,
20002 grub_uint64_t and grub_disk_addr_t, respectively.
20003 (grub_partition_get_start): Return grub_disk_addr_t.
20004 (grub_partition_get_len): Return grub_uint64_t.
20005
20006 * include/grub/misc.h (grub_strtoull): New prototype.
20007 (grub_divmod64): Likewise.
20008
20009 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
20010 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
20011 grub_off_t, respectively.
20012 All callers and references changed.
20013
20014 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
20015 grub_size_t in "read".
20016 All callers and references changed.
20017
20018 * include/grub/file.h (struct grub_file): Change the types of
20019 "offset" and "size" to grub_off_t and grub_off_t,
20020 respectively. Change the type of SECTOR to grub_disk_addr_t in
20021 "read_hook".
20022 (grub_file_read): Change the type of LEN to grub_size_t.
20023 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
20024 grub_off_t.
20025 (grub_file_size): Return grub_off_t.
20026 (grub_file_tell): Likewise.
20027 All callers and references changed.
20028
20029 * include/grub/disk.h (struct grub_disk_dev): Change the types of
20030 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
20031 "write".
20032 (struct grub_disk): Change the type of "total_sectors" to
20033 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 20034 "read_hook".
524a1e6a 20035 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
20036 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
20037 (grub_disk_write): Likewise.
20038 All callers and references changed.
20039
20040 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
20041 char * for grub_strncmp to silence gcc.
20042 (grub_iso9660_mount): Likewise.
20043 (grub_iso9660_mount): Likewise.
20044 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
20045 return statement.
20046 (grub_iso9660_iterate_dir): Likewise.
20047 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
20048
20049 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
20050 LEN to grub_disk_addr_t and grub_size_t, respectively.
20051
20052 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
20053
20054 * fs/jfs.c (grub_jfs_read_file): Likewise.
20055
20056 * fs/minix.c (grub_jfs_read_file): Likewise.
20057
20058 * fs/sfs.c (grub_jfs_read_file): Likewise.
20059
20060 * fs/ufs.c (grub_jfs_read_file): Likewise.
20061
20062 * fs/xfs.c (grub_jfs_read_file): Likewise.
20063
20064 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
20065 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
20066 respectively.
20067
20068 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
20069 BLKNR to -1 instead of returning GRUB_ERRNO.
20070 (grub_ext2_read_file): Change the types of SECTOR and
20071 LEN to grub_disk_addr_t and grub_size_t, respectively.
20072
20073 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
20074 LEN to grub_disk_addr_t and grub_size_t, respectively.
20075
20076 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
20077 grub_file_read.
20078
20079 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
20080 string. Do not cast SECTOR explicitly.
20081
20082 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
20083 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
20084 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
20085 grub_disk_addr_t and grub_size_t, respectively. If the sector is
20086 over 2TB and LBA mode is not supported, raise an error.
20087 (get_safe_sectors): New function.
20088 (grub_biosdisk_read): Use get_safe_sectors.
20089 (grub_biosdisk_write): Likewise.
20090
20091 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
20092 (grub_efidisk_write): Likewise.
20093
20094 * disk/loopback.c (delete_loopback): Cosmetic changes.
20095 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
20096 correctly.
20097 (grub_loopback_open): Likewise.
20098 (grub_loopback_read): Likewise. Also, change the type of POS to
20099 grub_off_t, and fix the usage of grub_memset.
20100
20101 * commands/i386/pc/play.c: Include grub/machine/time.h.
20102
20103 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
20104 print FILE->SIZE.
20105
20106 * commands/configfile.c: Include grub/env.h.
20107
20108 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
20109 GRUB_ERRNO directly instead. Change the type of POS to
20110 grub_off_t. Follow the coding standard.
20111
20112 * commands/blocklist.c: Include grub/partition.h.
20113 (grub_cmd_blocklist): Return an error if the underlying device is
20114 not a disk. Take the starting sector of a partition into account,
20115 if a partition is used.
20116
20117 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
20118 a length field.
20119 (lba_mode): Support 64-bit addresses.
20120 (chs_mode): Likewise.
20121 (copy_buffer): Adapted to the new offsets of a length field and a
20122 segment field.
20123 (blocklist_default_start): Allocate 64-bit space.
20124
20125 * boot/i386/pc/boot.S (force_lba): Removed.
20126 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 20127 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 20128 space.
20129 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
20130 is useless.
20131 (lba_mode): Refactored to support a 64-bit address. More size
20132 optimization.
20133 (setup_sectors): Likewise.
20134
53af98ad 201352006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
20136
20137 * DISTLIST: Added include/grub/i386/linux.h. Removed
20138 include/grub/i386/pc/linux.h
20139
20140 * configure.ac (AC_INIT): Bumped to 1.94.
20141
20142 * config.guess: Updated from gnulib.
20143 * config.sub: Likewise.
20144 * install-sh: Likewise.
20145 * mkinstalldirs: Likewise.
20146
b4c1940a 201472006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
20148
20149 * conf/common.rmk (grub_modules_init.lst): Depended on
20150 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
20151 MODSRCFILES.
20152
20153 * genmk.rb (PModule::rule): Reverted the previous change.
20154
cfca1cfd 201552006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
20156
20157 * conf/common.rmk (grub_modules_init.lst): Depends on
20158 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
20159 that the target does not exist before producing.
20160 (grub_modules_init.h): Remove the target before generating.
20161 (grub_emu_init.c): Likewise.
20162
20163 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
20164
aa6d7826 201652006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
20166
20167 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
20168 for the target-specific tests. Make sure that we also have the
20169 up-to-date target variables for those tests.
20170
26c607b9 201712006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
20172
20173 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
20174 (PModule::rule): Likewise.
20175
0162321a 201762006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
20177
20178 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
20179 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
20180 target-specific flags should be prefixed.
20181 (PModule::rule): Likewise.
20182
6c826348 201832006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
20184
20185 * configure.ac (CMP): Check if cmp is available explicitly.
20186
b977bf01 201872006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
20188
20189 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
20190 (target_cpu): New variable.
20191 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 20192
b977bf01 20193 * util/i386/pc/grub-install.in (host_cpu): Removed.
20194 (target_cpu): New variable.
20195 (pkglibdir): Use target_cpu instead of host_cpu.
20196
20197 * util/genmoddep.c: Removed.
f19dbdb7 20198
b977bf01 20199 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
20200 instead of GRUB_HOST_SIZEOF_VOID_P.
20201 * kern/dl.c: Likewise.
20202
20203 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
20204 ...
20205 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
20206 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
20207 (GRUB_TARGET_SIZEOF_LONG): ... this.
20208 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
20209 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
20210 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
20211 to ...
20212 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
20213 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
20214 (GRUB_TARGET_SIZEOF_LONG): ... this.
20215 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
20216 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
20217 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
20218 to ...
20219 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
20220 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
20221 (GRUB_TARGET_SIZEOF_LONG): ... this.
20222 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
20223 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
20224
20225 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
20226 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
20227 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
20228 instead of GRUB_HOST_SIZEOF_LONG.
20229 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
20230 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
20231 GRUB_CPU_WORDS_BIGENDIAN.
20232 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
20233 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
20234 grub_host_ssize_t.
20235
20236 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
20237 (genmoddep_SOURCES): Likewise.
20238 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
20239 (genmoddep_SOURCES): Likewise.
20240 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
20241 (genmoddep_SOURCES): Likewise.
20242 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
20243 Likewise.
20244 (genmoddep_SOURCES): Likewise.
20245
20246 * genmoddep.awk: New file.
20247
20248 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
20249 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
20250 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
20251 (PModule::rule): Likewise.
20252 (Program::rule): Likewise.
20253 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
20254 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
20255 respectively.
20256
20257 * configure.ac: Rewritten intensively to use host and target
20258 instead of build and host, respectively.
20259
20260 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
20261 (host_cpu): Removed.
20262 (target_cpu): New variable.
20263 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
20264 (BUILD_CC): Removed.
20265 (BUILD_CFLAGS): Likewise.
20266 (BUILD_CPPFLAGS): Likewise.
20267 (TARGET_CC): New variable.
20268 (TARGET_CFLAGS): Likewise.
20269 (TARGET_CPPFLAGS): Likewise.
20270 (TARGET_LDFLAGS): Likewise.
20271 (AWK): Likewise.
20272 (include): Use target_cpu instead of host_cpu.
20273 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 20274
b977bf01 20275 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
20276
f09771a1 202772006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
20278
20279 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
20280 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
20281 field 'false' to 'exec_on_false'.
20282 (grub_script_create_cmdif): Renamed argument names to reflect above
20283 changes.
20284
20285 * normal/execute.c (grub_script_execute_cmdif): Likewise.
20286
20287 * normal/script.c (grub_script_create_cmdif): Likewise.
20288
118f4fb3 202892006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
20290
20291 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
20292 top.
20293 (grub_hfsplus_btree_recptr): Likewise.
20294 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
20295 FILEBLOCK both to pass a block number and store next block
20296 number.
20297 (grub_hfsplus_read_block): Rewritten heavily to support an extent
20298 overflow file correctly. Specify errors appropriately, because
20299 fshelp expects that GRUB_ERRNO is set when fails. Reuse
20300 grub_hfsplus_btree_recptr to get the pointer to a found key.
20301 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
20302 is found.
20303
20304 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
20305 linux.mod.
20306 (_linux_mod_SOURCES): New variable.
20307 (_linux_mod_CFLAGS): Likewise.
20308 (_linux_mod_LDFLAGS): Likewise.
20309 (linux_mod_SOURCES): Likewise.
20310 (linux_mod_CFLAGS): Likewise.
20311 (linux_mod_LDFLAGS): Likewise.
20312
20313 * DISTLIST: Added loader/i386/efi/linux.c,
20314 loader/i386/efi/linux_normal.c and
20315 include/grub/i386/efi/loader.h.
20316
20317 * loader/i386/efi/linux.c: New file.
20318 * loader/i386/efi/linux_normal.c: Likewise.
20319 * include/grub/i386/efi/loader.h: Likewise.
20320
89a7d726 203212006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
20322
20323 * commands/blocklist.c: New file.
20324
20325 * DISTLIST: Added commands/blocklist.c.
20326
20327 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 20328 color for the background, and a darker color for the foreground.
89a7d726 20329 (grub_console_checkkey): Return READ_KEY.
20330 (grub_console_cls): Set the background to
20331 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
20332
20333 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
20334
20335 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
20336 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
20337
20338 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
20339 prototype.
20340
20341 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
20342 BG. The spec is wrong again.
20343
20344 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
20345 prototype.
20346 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
20347
20348 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
20349 commands/blocklist.c.
20350 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 20351
89a7d726 20352 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
20353 (blocklist_mod_SOURCES): New variable.
20354 (blocklist_mod_CFLAGS): Likewise.
20355 (blocklist_mod_LDFLAGS): Likewise.
20356
75c8f258 203572006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
20358
20359 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
20360 duplication.
20361 (lba_mode): Use %eax more intensively to reduce the code size.
20362
da2eb181 203632006-05-20 Marco Gerards <marco@gnu.org>
20364
20365 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
20366
20367 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
20368 for `menuentry'.
20369 (script): Accept leading newlines.
20370 (newlines): New rule to describe 0 or more newlines.
20371 (commands): Accept `command' with trailing newline. Fixed the
20372 order in which arguments were passed to `grub_script_add_cmd'.
20373 Accept commands separated by newlines.
20374 (function): Changed to accept newlines.
20375 (menuentry) Rewritten.
20376
20377 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
20378 front of the list, instead of to the end.
20379
577b4050 203802006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
20381
20382 * util/i386/pc/grub-install.in (bindir): New variable.
20383 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
20384 Shaver <lbgwjl@gmail.com>.
20385
0d6e1189 203862006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
20387
20388 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
20389 grub/machine/linux.h
20390 * loader/i386/pc/linux.c: Likewise.
20391
20392 * include/grub/i386/pc/linux.h: Moved to ...
20393 * include/grub/i386/linux.h: ... here.
20394
20395 * include/grub/i386/linux.h (struct linux_kernel_params): New
20396 struct.
f19dbdb7 20397
31b86e9f 203982006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
20399
20400 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
20401 checking.
20402 (grub_video_vbe_blit_glyph): Likewise.
20403 (grub_video_vbe_blit_bitmap): Likewise.
20404 (grub_video_vbe_blit_render_target): Likewise.
20405
83b984de 204062006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
20407
20408 * configure.ac (--with-platform): Properly quote the square
20409 brackets.
20410
5f0413bd 204112006-05-08 Marco Gerards <marco@gnu.org>
20412
20413 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
20414 this...
20415 (kernel_elf_HEADERS): ...to this. Updated all users.
20416 (grubof_symlist.c): Renamed from this...
20417 (kernel_elf_symlist.c): ...to this. Updated all users.
20418 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
20419 (grubof_SOURCES): Renamed from this...
20420 (kernel_elf_SOURCES): ...to this.
20421 (grubof_HEADERS): Renamed from this...
20422 (kernel_elf_HEADERS): ...to this.
20423 (grubof_CFLAGS): Renamed from this...
20424 (kernel_elf_CFLAGS): ...to this.
20425 (grubof_ASFLAGS): Renamed from this...
20426 (kernel_elf_ASFLAGS): ...to this.
20427 (grubof_LDFLAGS): Renamed from this...
20428 (kernel_elf_LDFLAGS): ...to this.
20429
20430 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
20431 this...
20432 (kernel_elf_HEADERS): ...to this. Updated all users.
20433 (grubof_symlist.c): Renamed from this...
20434 (kernel_elf_symlist.c): ...to this. Updated all users.
20435 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
20436 (grubof_SOURCES): Renamed from this...
20437 (kernel_elf_SOURCES): ...to this.
20438 (grubof_HEADERS): Renamed from this...
20439 (kernel_elf_HEADERS): ...to this.
20440 (grubof_CFLAGS): Renamed from this...
20441 (kernel_elf_CFLAGS): ...to this.
20442 (grubof_ASFLAGS): Renamed from this...
20443 (kernel_elf_ASFLAGS): ...to this.
20444 (grubof_LDFLAGS): Renamed from this...
20445 (kernel_elf_LDFLAGS): ...to this.
20446
20447 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
20448 `kernel.elf' instead of `grubof'.
20449
05568c2e 204502006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
20451
20452 Add --with-platform to configure. Use pkglibdir instead of
20453 pkgdatadir. This is reported by Roger Leigh.
20454
20455 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
20456 (host_vendor): Likewise.
20457 (host_os): Likewise.
20458 (pkgdatadir): Likewise.
20459 (platform): New variable.
20460 (pkglibdir): Likewise.
20461 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 20462
05568c2e 20463 * util/i386/pc/grub-install.in (datadir): Removed.
20464 (host_vendor): Likewise.
20465 (host_os): Likewise.
20466 (pkgdatadir): Likewise.
20467 (platform): New variable.
20468 (pkglibdir): Likewise.
20469 Use PKGLIBDIR instead of PKGDATADIR.
20470
20471 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
20472 instead of GRUB_DATADIR.
20473 (main): Likewise.
20474 * util/i386/pc/grub-mkimage.c (usage): Likewise.
20475 (main): Likewise.
20476 * util/i386/efi/grub-mkimage.c (usage): Likewise.
20477 (main): Likewise.
20478
20479 * configure.ac (--with-platform): New option.
20480 Use PLATFORM instead of HOST_VENDOR to specify a platform.
20481
20482 * Makefile.in: Include a makefile based on PLATFORM instead of
20483 HOST_VENDOR.
20484 (pkgdatadir): Not appended by the machine type.
20485 (pkglibdir): Appended by the machine type.
20486 (host_vendor): Removed.
20487 (platform): New variable.
20488 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
20489 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
20490 (uninstall): Likewise.
20491
4e93851c 204922006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
20493
20494 Use the environment context in the menu. Remove the commands
20495 "default" and "timeout", and use variables instead.
f19dbdb7 20496
4e93851c 20497 * normal/menu.c: Include grub/env.h.
20498 (print_entry): Cast TITLE to silence gcc.
20499 (get_timeout): New function.
20500 (set_timeout): Likewise.
20501 (get_entry_number): Likewise.
20502 (run_menu): Use a default entry, a fallback entry and a timeout
20503 in the environment variables "default", "fallback" and
20504 "timeout". Also, tweak the default entry if it is not within the
20505 current menu entries.
20506 (grub_menu_run): Use a fallback entry in the environment variable
20507 "fallback".
20508
20509 * normal/main.c (read_config_file): Do not initialize
20510 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
20511 NEWMENU->TIMEOUT.
20512 (grub_normal_execute): Use a data slot to store the menu.
20513
20514 * include/grub/normal.h (struct grub_menu): Removed default_entry,
20515 fallback_entry and timeout.
20516 (struct grub_menu_list): Removed.
20517 (grub_menu_list_t): Likewise.
20518 (struct grub_context): Likewise.
20519 (grub_context_t): Likewise.
20520 (grub_context_get): Likewise.
20521 (grub_context_get_current_menu): Likewise.
20522 (grub_context_push_menu): Likewise.
20523 (grub_context_pop_menu): Likewise.
20524 (grub_default_init): Likewise.
20525 (grub_default_fini): Likewise.
20526 (grub_timeout_init): Likewise.
20527 (grub_timeout_fini): Likewise.
20528
20529 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
20530 and timeout.mod.
20531 (normal_mod_SOURCES): Removed normal/context.c.
20532
20533 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
20534 commands/default.c, commands/timeout.c and normal/context.c.
20535 (normal_mod_SOURCES): Removed normal/context.c.
20536
20537 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
20538 commands/timeout.c and normal/context.c.
20539 (normal_mod_SOURCES): Removed normal/context.c.
20540
20541 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
20542 commands/default.c, commands/timeout.c and normal/context.c.
20543 (normal_mod_SOURCES): Removed normal/context.c.
20544
20545 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
20546 timeout.mod.
20547 (default_mod_SOURCES): Removed.
20548 (default_mod_CFLAGS): Likewise.
20549 (default_mod_LDFLAGS): Likewise.
20550 (timeout_mod_SOURCES): Removed.
20551 (timeout_mod_CFLAGS): Likewise.
20552 (timeout_mod_LDFLAGS): Likewise.
20553
20554 * DISTLIST: Removed commands/default.c, commands/timeout.c and
20555 normal/context.c.
20556
20557 * commands/default.c: Removed.
20558 * commands/timeout.c: Likewise.
20559 * normal/context.c: Likewise.
20560
1eb9cc1d 205612006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
20562
20563 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
20564
385bd9c1 205652006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
20566
20567 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
20568 "next" to "prev" for readability.
20569 (struct grub_env_sorted_var): New struct.
20570 (grub_env_context): Renamed to ...
20571 (initial_context): ... this.
20572 (grub_env_var_context): Renamed to ...
20573 (current_context): ... this.
20574 (grub_env_find): Look only at CURRENT_CONTEXT.
20575 (grub_env_context_open): Rewritten to copy exported variables from
20576 previous context.
20577 (grub_env_context_close): Rewritten according to the new
20578 scheme. Also, add an assertion to prevent the initial context from
20579 removed.
20580 (grub_env_insert): Removed the code for the sorted list.
20581 (grub_env_remove): Likewise.
20582 (grub_env_export): Simply mark the variable with
20583 GRUB_ENV_VAR_GLOBAL.
20584 (grub_env_set): A cosmetic change for naming consistency.
20585 (grub_env_get): Likewise.
20586 (grub_env_unset): Likewise.
20587 (grub_env_iterate): Rewritten to sort variables within this
20588 function.
20589 (grub_register_variable_hook): Fixed for naming consistency. Call
20590 grub_env_find again, only if NAME is not found at the first time.
20591 (mangle_data_slot_name): New function.
20592 (grub_env_set_data_slot): Likewise.
20593 (grub_env_get_data_slot): Likewise.
20594 (grub_env_unset_data_slot): Likewise.
20595
20596 * include/grub/env.h (grub_env_var_type): New enum.
20597 (GRUB_ENV_VAR_LOCAL): New constant.
20598 (GRUB_ENV_VAR_GLOBAL): Likewise.
20599 (GRUB_ENV_VAR_DATA): Likewise.
20600 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
20601 "type".
20602 (grub_env_set): Replace VAR with NAME for consistency.
20603 (grub_register_variable_hook): Likewise.
20604 (grub_env_export): Specify the name of the argument.
20605 (grub_env_set_data_slot): New prototype.
20606 (grub_env_get_data_slot): Likewise.
20607 (grub_env_unset_data_slot): Likewise.
20608
7f362539 206092006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
20610
20611 Extend the loader so that GRUB can accept a loader which comes
20612 back to GRUB when a loaded image exits. Also, this change adds
20613 support for a chainloader on EFI.
f19dbdb7 20614
7f362539 20615 * term/efi/console.c: Include grub/misc.h.
20616 (grub_console_checkkey): Display a scan code on the top for
20617 debugging. This will be removed once the EFI port gets stable.
20618 Correct the scan code mapping.
20619
20620 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
20621 allocate memory from larger regions, in order to reduce the number
20622 of allocated regions. Otherwise, the MacOSX loader panics.
20623 (filter_memory_map): Avoid less than 1MB for compatibility with
20624 other loaders.
20625 (add_memory_regions): Allocate from the tail of a region, if
20626 possible, to avoid allocating a region near to 1MB, for the MacOSX
20627 loader.
20628
20629 * kern/efi/init.c (grub_efi_set_prefix): Specify
20630 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
20631
20632 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
20633 argument IMAGE_HANDLE and specify it to get a loaded image.
20634 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
20635 grub_efi_get_loaded_image.
fe6b695a 20636 (grub_efi_get_filename): Divide the length by the size of
7f362539 20637 grub_efi_char16_t.
20638 (grub_efi_get_device_path): New function.
20639 (grub_efi_print_device_path): Print End Device Path nodes. Divide
20640 the length by the size of grub_efi_char16_t for a file path device
20641 path node.
20642
20643 * kern/loader.c (grub_loader_noreturn): New variable.
20644 (grub_loader_set): Accept a new argument NORETURN. Set
20645 GRUB_LOADER_NORETURN to NORETURN.
20646 All callers changed.
20647 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
20648 grub_machine_fini.
20649
20650 * include/grub/efi/efi.h (grub_efi_get_device_path): New
20651 prototype.
20652 (grub_efi_get_loaded_image): Take an argument to specify an image
20653 handle.
20654
20655 * include/grub/loader.h (grub_loader_set): Added one more argument
20656 NORETURN.
20657
20658 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
20659 instead of grub_efi_open_protocol.
20660 (grub_efidisk_get_device_name): Likewise.
20661 (grub_efidisk_close): Print a newline.
20662 (grub_efidisk_get_device_handle): Fixed to use
20663 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
20664 GRUB_EFI_DEVICE_PATH_TYPE.
20665
20666 * disk/efi/efidisk.c (device_path_guid): Moved to ...
20667 * kern/efi/efi.c (device_path_guid): ... here.
20668
20669 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
20670 chain.mod.
20671 (kernel_mod_HEADERS): Added efi/disk.h.
20672 (_chain_mod_SOURCES): New variable.
20673 (_chain_mod_CFLAGS): Likewise.
20674 (_chain_mod_LDFLAGS): Likewise.
20675 (chain_mod_SOURCES): Likewise.
20676 (chain_mod_CFLAGS): Likewise.
20677 (chain_mod_LDFLAGS): Likewise.
20678
20679 * DISTLIST: Added include/grub/efi/chainloader.h,
20680 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
20681
20682 * include/grub/efi/chainloader.h: New file.
20683 * loader/efi/chainloader.c: Likewise.
20684 * loader/efi/chainloader_normal.c: Likewise.
20685
c0111d6e 206862006-04-30 Marco Gerards <marco@gnu.org>
20687
20688 * commands/configfile.c (grub_cmd_source): New function.
20689 (GRUB_MOD_INIT): Register the commands `source' and `.'.
20690 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
20691
df5341da 206922006-04-30 Marco Gerards <marco@gnu.org>
20693
20694 * normal/execute.c (grub_script_execute_cmd): Change the return
20695 type to `grub_err_t'. Correctly return the error.
20696 (grub_script_execute_cmdline): In case a command line is not a
20697 command or a function, try to interpret it as an assignment.
20698
f85934bd 206992006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
20700
20701 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
20702 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
20703 skip a node whose name is obviously invalid as UTF-16,
20704 i.e. contains a NUL character. Stop the iteration when the last
20705 directory entry is found. Instead of using the return value of
20706 grub_hfsplus_btree_iterate_node, store the value in RET and use
20707 it, because the iterator can be stopped by the last directory
20708 entry.
20709
8f8a2cf8 207102006-04-30 Marco Gerards <marco@gnu.org>
20711
20712 * include/grub/env.h (grub_env_export): New prototype. Reported
20713 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
20714
a27e84ce 207152006-04-30 Marco Gerards <marco@gnu.org>
20716
20717 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
20718 size of the extents in a catalog file record.
20719
eaef0553 207202006-04-29 Marco Gerards <marco@gnu.org>
20721
20722 * commands/configfile.c (grub_cmd_configfile): Execute the
20723 configfile within its own context.
20724
20725 * include/grub/env.h (grub_env_context_open): New prototype.
20726 (grub_env_context_close): Likewise.
20727
20728 * kern/env.c (grub_env): Removed.
20729 (grub_env_sorted): Likewise.
20730 (grub_env_context): New variable.
20731 (grub_env_var_context): Likewise.
20732 (grub_env_find): Search both the active context and the global
20733 context.
20734 (grub_env_context_open): New function.
20735 (grub_env_context_close): Likewise.
20736 (grub_env_insert): Likewise.
20737 (grub_env_remove): Likewise.
20738 (grub_env_export): Likewise.
20739 (grub_env_set): Changed to use helper functions to avoid code
20740 duplication.
20741 (grub_env_iterate): Rewritten so both the current context and the
20742 global context are being used.
20743
20744 * normal/command.c (export_command): New function.
20745 (grub_command_init): Register the `export' function.
20746
7b455f4d 207472006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
20748
20749 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
20750 explicitly to suppress gcc's warnings.
20751 * fs/fat.c (grub_fat_find_dir): Likewise.
20752 (grub_fat_label): Likewise.
20753 * fs/xfs.c (grub_xfs_read_inode): Likewise.
20754 (grub_xfs_mount): Likewise.
20755 (grub_xfs_label): Likewise.
20756 * fs/affs.c (grub_affs_mount): Likewise.
20757 (grub_affs_label): Likewise.
20758 (grub_affs_iterate_dir): Likewise.
20759 * fs/sfs.c (grub_sfs_mount): Likewise.
20760 (grub_sfs_iterate_dir): Likewise.
20761 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
20762 * fs/hfs.c (grub_hfs_mount): Likewise.
20763 (grub_hfs_cmp_catkeys): Likewise.
20764 (grub_hfs_find_dir): Likewise.
20765 (grub_hfs_dir): Likewise.
20766 (grub_hfs_label): Likewise.
20767 * fs/jfs.c (grub_jfs_mount): Likewise.
20768 (grub_jfs_opendir): Likewise.
20769 (grub_jfs_getent): Likewise.
20770 (grub_jfs_lookup_symlink): Likewise.
20771 (grub_jfs_label): Likewise.
20772 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
20773 (grub_hfsplus_iterate_dir): Likewise.
20774 (grub_hfsplus_btree_iterate_node): Made static.
20775
20776 * util/grub-emu.c (prefix): New variable.
20777 (grub_machine_set_prefix): New function.
20778 (main): Do not set the environment variable "prefix" here. Only
20779 set PREFIX, which is used later by grub_machine_set_prefix.
20780
20781 * include/grub/video.h: Do not include grub/symbol.h.
20782 (grub_video_register): Not exported. This symbol is not defined in
20783 the kernel.
20784 (grub_video_unregister): Likewise.
20785 (grub_video_iterate): Likewise.
20786 (grub_video_setup): Likewise.
20787 (grub_video_restore): Likewise.
20788 (grub_video_get_info): Likewise.
20789 (grub_video_get_blit_format): Likewise.
20790 (grub_video_set_palette): Likewise.
20791 (grub_video_get_palette): Likewise.
20792 (grub_video_set_viewport): Likewise.
20793 (grub_video_get_viewport): Likewise.
20794 (grub_video_map_color): Likewise.
20795 (grub_video_map_rgb): Likewise.
20796 (grub_video_map_rgba): Likewise.
20797 (grub_video_fill_rect): Likewise.
20798 (grub_video_blit_glyph): Likewise.
20799 (grub_video_blit_bitmap): Likewise.
20800 (grub_video_blit_render_target): Likewise.
20801 (grub_video_scroll): Likewise.
20802 (grub_video_swap_buffers): Likewise.
20803 (grub_video_create_render_target): Likewise.
20804 (grub_video_delete_render_target): Likewise.
20805 (grub_video_set_active_render_target): Likewise.
20806
20807 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
20808 Undefined.
20809 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
20810
20811 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
20812 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
20813 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
20814 instead of $(srcdir)/genkernsyms.sh.
20815
20816 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
20817 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
20818 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
20819 instead of $(srcdir)/genkernsyms.sh.
20820
20821 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
20822 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
20823 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
20824 instead of $(srcdir)/genkernsyms.sh.
20825
20826 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
20827 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
20828 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
20829 instead of $(srcdir)/genkernsyms.sh.
20830
20831 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
20832 genkernsyms.sh.
20833
20834 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
20835 genkernsyms.sh.
20836 (gensymlist.sh): New target.
20837 (genkernsyms.sh): Likewise.
20838
20839 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
20840 genkernsyms.sh.in and gensymlist.sh.in.
20841
20842 * genkernsyms.sh: Removed.
20843 * gensymlist.sh: Likewise.
f19dbdb7 20844
7b455f4d 20845 * genkernsyms.sh.in: New file.
20846 * gensymlist.sh.in: Likewise.
20847
1885bb27 208482006-04-25 Hollis Blanchard <hollis@penguinppc.org>
20849
20850 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
20851 clobber "prefix", since we may have already set it manually.
20852
71538dff 208532006-04-25 Hollis Blanchard <hollis@penguinppc.org>
20854
20855 * kern/misc.c (abort): New alias for grub_abort.
20856
2965c7cc 208572006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
20858
20859 A new machine-specific function "grub_machine_set_prefix" is
20860 defined. This is called after loading modules, so that a prefix
20861 initialization can use modules. Also, this change adds an
20862 intensive debugging feature for the memory manager via the
20863 configure option "--enable-mm-debug".
f19dbdb7 20864
2965c7cc 20865 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
20866 PART.LEN.
20867
20868 * kern/sparc64/ieee1275/init.c (abort): Removed.
20869 (grub_stop): Likewise.
20870 (grub_exit): New function.
20871 (grub_set_prefix): Renamed to ...
20872 (grub_machine_set_prefix): ... this.
20873 (grub_machine_init): Do not call grub_set_prefix.
20874
20875 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
20876 (grub_machine_set_prefix): ... this.
20877 (grub_machine_init): Do not call grub_set_prefix.
20878
20879 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
20880 (grub_machine_init): Do not set the prefix here.
20881
20882 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
20883
20884 * kern/efi/init.c: Include grub/mm.h.
20885 (grub_efi_set_prefix): New function.
20886
20887 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
20888 (grub_efi_get_filename): New function.
20889 (grub_print_device_path): Renamed to ...
20890 (grub_efi_print_device_path): ... this.
20891
20892 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
20893 [MM_DEBUG] (grub_realloc): Likewise.
20894 [MM_DEBUG] (grub_free): Likewise.
20895 [MM_DEBUG] (grub_memalign): Likewise.
20896 [MM_DEBUG] (grub_mm_debug): New variable.
20897 [MM_DEBUG] (grub_debug_malloc): New function.
20898 [MM_DEBUG] (grub_debug_free): New function.
20899 [MM_DEBUG] (grub_debug_realloc): New function.
20900 [MM_DEBUG] (grub_debug_memalign): New function.
20901
20902 * kern/misc.c (grub_abort): Print a newline to distinguish
20903 the message.
20904
20905 * kern/main.c (grub_main): Call grub_machine_set_prefix and
20906 grub_set_root_dev after loading modules. This is necessary when
20907 setting a prefix depends on modules.
20908
20909 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
20910 (grub_efi_print_device_path): ... this.
20911 (grub_efi_get_filename): New prototype.
20912 (grub_efi_set_prefix): Likewise.
20913
20914 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
20915 and grub/disk.h.
20916 (grub_efidisk_get_device_handle): New prototype.
20917 (grub_efidisk_get_device_name): Likewise.
20918
20919 * include/grub/mm.h: Include config.h.
20920 (MM_DEBUG): Removed.
20921 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
20922 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
20923 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
20924 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
20925 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
20926 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
20927 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
20928 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
20929 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
20930
20931 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
20932
20933 * disk/efi/efidisk.c: Include grub/partition.h.
20934 (iterate_child_devices): New function.
20935 (add_device): First, compare only last device path nodes, so that
20936 devices are sorted by the types.
20937 (grub_efidisk_get_device_handle): New function.
20938 (grub_efidisk_get_device_name): Likewise.
20939
20940 * configure.ac (--enable-mm-debug): New option to enable the
20941 memory manager debugging feature. This makes the binary much
20942 bigger, so is disabled by default.
20943
9cacaa17 209442006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
20945
20946 Use grub_abort instead of grub_stop, and grub_exit must be
20947 define in each architecture now. Also, this change adds support
20948 for EFI disks.
f19dbdb7 20949
9cacaa17 20950 * util/i386/pc/grub-probefs.c: Include grub/term.h.
20951 (grub_getkey): New function.
20952 (grub_term_get_current): Likewise.
20953
20954 * util/i386/pc/grub-setup.c: Include grub/term.h.
20955 (grub_getkey): New function.
20956 (grub_term_get_current): Likewise.
20957
20958 * util/misc.c (grub_stop): Renamed to ...
20959 (grub_exit): ... this.
20960
20961 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
20962 (grub_exit): ... this.
20963 (grub_machine_init): Use grub_abort instead of abort.
20964 (grub_stop): Removed.
20965
20966 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
20967 abort.
20968
20969 * kern/i386/pc/startup.S (grub_exit): New function.
20970 (cold_reboot): New label.
20971
20972 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
20973 (grub_efi_init): Call grub_efidisk_init.
20974 (grub_efi_fini): Call grub_efidisk_fini.
20975
20976 * kern/efi/efi.c: Include grub/mm.h.
20977 (grub_efi_console_control_guid): Renamed to ...
20978 (console_control_guid): ... this.
20979 (grub_efi_loaded_image_guid): Renamed to ...
20980 (loaded_image_guid): ... this.
20981 (grub_efi_locate_handle): New function.
20982 (grub_efi_open_protocol): Likewise.
20983 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
20984 GRUB_EFI_CONSOLE_CONTROL_GUID.
20985 (grub_efi_exit): Removed.
20986 (grub_stop): Likewise.
20987 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
20988 (grub_exit): New function.
20989 (grub_print_device_path): Likewise.
20990
20991 * kern/rescue.c (grub_rescue_cmd_exit): New function.
20992 (grub_enter_rescue_mode): Register "exit".
20993
20994 * kern/misc.c (grub_real_dprintf): A cosmetic change.
20995 (grub_abort): New function.
20996
20997 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
20998
20999 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
21000
21001 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
21002
21003 * include/grub/efi/efi.h (grub_efi_exit): Removed.
21004 (grub_print_device_path): New prototype.
21005 (grub_efi_locate_handle): Likewise.
21006 (grub_efi_open_protocol): Likewise.
21007
21008 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
21009 * disk/efi/efidisk.c: Likewise.
21010
21011 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
21012
21013 * include/grub/efi/console_control.h
21014 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
21015
21016 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
21017 last 8 bytes as an array.
21018 (GRUB_EFI_DISK_IO_GUID): New macro.
21019 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
21020 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
21021 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
21022 grub_uint8_t.
21023 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
21024 (struct grub_efi_device_path): Rename the member "sub_type" to
21025 "subtype".
21026 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
21027 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
21028 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
21029 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
21030 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
21031 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
21032 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
21033 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
21034 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
21035 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
21036 (struct grub_efi_pci_device_path): New structure.
21037 (grub_efi_pci_device_path_t): New type.
21038 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
21039 (struct grub_efi_pccard_device_path): New structure.
21040 (grub_efi_pccard_device_path_t): New type.
21041 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
21042 (struct grub_efi_memory_mapped_device_path): New structure.
21043 (grub_efi_memory_mapped_device_path_t): New type.
21044 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
21045 (struct grub_efi_vendor_device_path): New structure.
21046 (grub_efi_vendor_device_path_t): New type.
21047 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
21048 (struct grub_efi_controller_device_path): New structure.
21049 (grub_efi_controller_device_path_t): New type.
21050 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
21051 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
21052 (struct grub_efi_acpi_device_path): New structure.
21053 (grub_efi_acpi_device_path_t): New type.
21054 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
21055 (struct grub_efi_expanded_acpi_device_path): New structure.
21056 (grub_efi_expanded_acpi_device_path_t): New type.
21057 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
21058 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
21059 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
21060 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
21061 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
21062 (struct grub_efi_atapi_device_path): New structure.
21063 (grub_efi_atapi_device_path_t): New type.
21064 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
21065 (struct grub_efi_fibre_channel_device_path): New structure.
21066 (grub_efi_fibre_channel_device_path_t): New type.
21067 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
21068 (struct grub_efi_1394_device_path): New structure.
21069 (grub_efi_1394_device_path_t): New type.
21070 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
21071 (struct grub_efi_usb_device_path): New structure.
21072 (grub_efi_usb_device_path_t): New type.
21073 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
21074 (struct grub_efi_usb_class_device_path): New structure.
21075 (grub_efi_usb_class_device_path_t): New type.
21076 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
21077 (struct grub_efi_i2o_device_path): New structure.
21078 (grub_efi_i2o_device_path_t): New type.
21079 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
21080 (struct grub_efi_mac_address_device_path): New structure.
21081 (grub_efi_mac_address_device_path_t): New type.
21082 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
21083 (struct grub_efi_ipv4_device_path): New structure.
21084 (grub_efi_ipv4_device_path_t): New type.
21085 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
21086 (struct grub_efi_ipv6_device_path): New structure.
21087 (grub_efi_ipv6_device_path_t): New type.
21088 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
21089 (struct grub_efi_infiniband_device_path): New structure.
21090 (grub_efi_infiniband_device_path_t): New type.
21091 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
21092 (struct grub_efi_uart_device_path): New structure.
21093 (grub_efi_uart_device_path_t): New type.
21094 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
21095 (struct grub_efi_vendor_messaging_device_path): New structure.
21096 (grub_efi_vendor_messaging_device_path_t): New type.
21097 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
21098 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
21099 (struct grub_efi_hard_drive_device_path): New structure.
21100 (grub_efi_hard_drive_device_path_t): New type.
21101 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
21102 (struct grub_efi_cdrom_device_path): New structure.
21103 (grub_efi_cdrom_device_path_t): New type.
21104 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
21105 (struct grub_efi_vendor_media_device_path): New structure.
21106 (grub_efi_vendor_media_device_path_t): New type.
21107 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
21108 (struct grub_efi_file_path_device_path): New structure.
21109 (grub_efi_file_path_device_path_t): New type.
21110 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
21111 (struct grub_efi_protocol_device_path): New structure.
21112 (grub_efi_protocol_device_path_t): New type.
21113 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
21114 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
21115 (struct grub_efi_bios_device_path): New structure.
21116 (grub_efi_bios_device_path_t): New type.
21117 (struct grub_efi_disk_io): New structure.
21118 (grub_efi_disk_io_t): New type.
21119 (struct grub_efi_block_io_media): New structure.
21120 (grub_efi_block_io_media_t): New type.
21121 (struct grub_efi_block_io): New structure.
21122 (grub_efi_block_io_t): New type.
21123
21124 * include/grub/misc.h (grub_stop): Removed.
21125 (grub_exit): New prototype.
21126 (grub_abort): Likewise.
21127
21128 * include/grub/disk.h (enum grub_disk_dev_id): Added
21129 GRUB_DISK_DEVICE_EFIDISK_ID.
21130
21131 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
21132 disk/efi/efidisk.c.
21133 (kernel_syms.lst): Remove the target if an error occurs.
21134
49986a9f 211352006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
21136
21137 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
21138 as it was simply too buggy.
21139
970d3b8a 211402006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
21141
21142 * kern/misc.c (grub_lltoa): New function.
21143 (grub_vsprintf): Added support for the long long suffix,
21144 i.e. "ll".
21145
ff04ec24 211462006-04-20 Hollis Blanchard <hollis@penguinppc.org>
21147
21148 * Makefile.in (LDFLAGS): Add variable.
21149 (LD): Remove variable.
21150 * configure.ac: Add -m32 to LDFLAGS.
21151 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
21152 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
21153 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
21154 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
21155 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
21156 variables.
21157 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
21158 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
21159 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
21160
37e5e1a4 211612006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
21162
21163 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
21164 length for unknown glyph.
21165
c352d8dd 211662006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
21167
2eab1c0d 21168 Add support for pre-loaded modules into the EFI port.
f19dbdb7 21169
2eab1c0d 21170 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
21171 completely. Accept one more argument DIR. The caller has changed.
21172
21173 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
21174
21175 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
21176 (grub_efi_loaded_image_guid): New variable.
21177 (grub_efi_get_loaded_image): New function.
21178 (grub_arch_modules_addr): Likewise.
21179
21180 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
21181 prototype.
21182
21183 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
21184 (struct grub_efi_loaded_image): New structure.
21185 (grub_efi_loaded_image_t): New type.
21186
211872006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 21188
c352d8dd 21189 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
21190 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
21191 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
21192
6d01d6b4 211932006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
21194
21195 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
21196
976a4ea0 211972006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
21198
21199 * DISTLIST: Added include/grub/efi/console.h,
21200 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
21201 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
21202
21203 * include/grub/efi/console.h: New file.
21204 * include/grub/efi/time.h: Likewise.
21205 * include/grub/i386/efi/kernel.h: Likewise.
21206 * kern/efi/init.c: Likewise.
21207 * kern/efi/mm.c: Likewise.
21208 * term/efi/console.c: Likewise.
f19dbdb7 21209
976a4ea0 21210 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
21211 (grub_stop): Removed.
21212 (grub_get_rtc): Likewise.
21213 (grub_machine_init): Simply call grub_efi_init.
21214 (grub_machine_fini): Call grub_efi_fini.
21215
21216 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
21217 (grub_efi_output_string): Removed.
21218 (grub_efi_stall): New function.
21219 (grub_stop): Likewise.
21220 (grub_get_rtc): Likewise.
21221
21222 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
21223 (grub_efi_stall): New prototype.
21224 (grub_efi_allocate_pages): Likewise.
21225 (grub_efi_free_pages): Likewise.
21226 (grub_efi_get_memory_map): Likewise.
21227 (grub_efi_mm_init): Likewise.
21228 (grub_efi_mm_fini): Likewise.
21229 (grub_efi_init): Likewise.
21230 (grub_efi_fini): Likewise.
21231
21232 * include/grub/i386/efi/time.h: Do not include
21233 grub/symbol.h. Include grub/efi/time.h.
21234 (GRUB_TICKS_PER_SECOND): Removed.
21235 (grub_get_rtc): Likewise.
21236
21237 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
21238 Added padding. The EFI spec is buggy.
21239 (GRUB_EFI_BLACK): New macro.
21240 (GRUB_EFI_BLUE): Likewise.
21241 (GRUB_EFI_GREEN): Likewise.
21242 (GRUB_EFI_CYAN): Likewise.
21243 (GRUB_EFI_RED): Likewise.
21244 (GRUB_EFI_MAGENTA): Likewise.
21245 (GRUB_EFI_BROWN): Likewise.
21246 (GRUB_EFI_LIGHTGRAY): Likewise.
21247 (GRUB_EFI_BRIGHT): Likewise.
21248 (GRUB_EFI_DARKGRAY): Likewise.
21249 (GRUB_EFI_LIGHTBLUE): Likewise.
21250 (GRUB_EFI_LIGHTGREEN): Likewise.
21251 (GRUB_EFI_LIGHTCYAN): Likewise.
21252 (GRUB_EFI_LIGHTRED): Likewise.
21253 (GRUB_EFI_LIGHTMAGENTA): Likewise.
21254 (GRUB_EFI_YELLOW): Likewise.
21255 (GRUB_EFI_WHITE): Likewise.
21256 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
21257 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
21258 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
21259 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
21260 (GRUB_EFI_BACKGROUND_RED): Likewise.
21261 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
21262 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
21263 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
21264 (GRUB_EFI_TEXT_ATTR): Likewise.
21265
21266 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
21267 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
21268 (kernel_mod_HEADERS): Added efi/time.h.
21269
83709125 212702006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
21271
21272 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
21273 include/grub/efi/api.h, include/grub/efi/console_control.h,
21274 include/grub/efi/efi.h, include/grub/efi/pe32.h,
21275 include/grub/i386/efi/time.h, kern/efi/efi.c,
21276 kern/i386/efi/init.c, kern/i386/efi/startup.S,
21277 and util/i386/efi/grub-mkimage.c.
21278
21279 * Makefile.in (RMKFILES): Added i386-efi.rmk.
21280
21281 * genmk.rb (PModule#rule): Do not export symbols if
21282 #{prefix}_EXPORTS is set to "no".
21283
21284 * conf/i386-efi.mk: New file.
21285 * conf/i386-efi.rmk: Likewise.
21286 * include/grub/efi/api.h: Likewise.
21287 * include/grub/efi/console_control.h: Likewise.
21288 * include/grub/efi/efi.h: Likewise.
21289 * include/grub/efi/pe32.h: Likewise.
21290 * include/grub/i386/efi/time.h: Likewise.
21291 * kern/efi/efi.c: Likewise.
21292 * kern/i386/efi/init.c: Likewise.
21293 * kern/i386/efi/startup.S: Likewise.
21294 * util/i386/efi/grub-mkimage.c: Likewise.
21295
212962006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 21297
21298 * include/grub/script.h: Include <grub/parser.h> and
21299 "grub_script.tab.h".
21300 (struct grub_lexer_param): New struct.
21301 (struct grub_parser_param): Likewise.
21302 (grub_script_create_arglist): Pass the state in an argument.
21303 (grub_script_add_arglist): Likewise.
21304 (grub_script_create_cmdline): Likewise.
21305 (grub_script_create_cmdblock): Likewise.
21306 (grub_script_create_cmdif): Likewise.
21307 (grub_script_create_cmdmenu): Likewise.
21308 (grub_script_add_cmd): Likewise.
21309 (grub_script_arg_add): Likewise.
21310 (grub_script_lexer_ref): Likewise.
21311 (grub_script_lexer_deref): Likewise.
21312 (grub_script_lexer_record_start): Likewise.
21313 (grub_script_lexer_record_stop): Likewise.
21314 (grub_script_mem_record): Likewise.
21315 (grub_script_mem_record_stop): Likewise.
21316 (grub_script_malloc): Likewise.
21317 (grub_script_yylex): Likewise.
21318 (grub_script_yyparse): Likewise.
21319 (grub_script_yyerror): Likewise.
21320 (grub_script_yylex): Likewise.
21321 (grub_script_lexer_init): Return the state.
21322
21323 * normal/lexer.c (grub_script_lexer_state): Removed variable.
21324 (grub_script_lexer_done): Likewise.
21325 (grub_script_lexer_getline): Likewise.
21326 (grub_script_lexer_refs): Likewise.
21327 (script): Likewise.
21328 (newscript): Likewise.
21329 (record): Likewise.
21330 (recording): Likewise.
21331 (recordpos): Likewise.
21332 (recordlen): Likewise.
21333 (grub_script_lexer_init): Return the state instead of setting
21334 global variables.
21335 (grub_script_lexer_ref): Use the newly added argument for state
21336 instead of globals.
21337 (grub_script_lexer_deref): Likewise.
21338 (grub_script_lexer_record_start): Likewise.
21339 (grub_script_lexer_record_stop): Likewise.
21340 (recordchar): Likewise.
21341 (nextchar): Likewise.
21342 (grub_script_yylex2): Likewise.
21343 (grub_script_yylex): Likewise.
21344 (grub_script_yyerror): Likewise.
21345
21346 * normal/parser.y (func_mem): Removed variable.
21347 (menu_entry): Likewise.
21348 (err): Likewise.
21349 (%lex-param): New parser option.
21350 (%parse-param): Likewise.
21351 (script): Always return the AST.
21352 (argument): Pass the state around.
21353 (arguments): Likewise.
21354 (grubcmd): Likewise.
21355 (commands): Likewise.
21356 (function): Likewise.
21357 (menuentry): Likewise.
21358 (if_statement): Likewise.
21359 (if): Likewise.
21360
21361 * normal/script.c (grub_script_memused): Removed variable.
21362 (grub_script_parsed): Likewise.
21363 (grub_script_malloc): Added a state argument. Use that instead of
21364 global variables.
21365 (grub_script_mem_record): Likewise.
21366 (grub_script_mem_record_stop): Likewise.
21367 (grub_script_arg_add): Likewise.
21368 (grub_script_add_arglist): Likewise.
21369 (grub_script_create_cmdline): Likewise.
21370 (grub_script_create_cmdif): Likewise.
21371 (grub_script_create_cmdmenu): Likewise.
21372 (grub_script_add_cmd): Likewise.
21373 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 21374
e2a8c904 213752006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 21376
21377 * normal/command.c (grub_command_init): Remove the title command.
21378
21379 * normal/lexer.c (grub_script_yylex): Renamed from this...
21380 (grub_script_yylex2): ... to this.
21381 (grub_script_yylex): New function. Temporary
21382 introduced to filter some tokens.
21383 (grub_script_yyerror): Print a newline.
21384
21385 * normal/main.c (read_config_file): Output information about the
21386 lines that contain errors. Wait for a key after all lines have
21387 been processed. Don't return an empty menu.
21388
21389 * normal/parser.y (func_mem): Don't initialize.
21390 (menu_entry): Likewise.
21391 (err): New variable.
21392 (script): Don't return anything when an error was encountered.
21393 (ws, returns): Removed rules.
21394 (argument): Disabled concatenated variable support.
21395 (arguments): Remove explicit separators.
21396 (grubcmd): Likewise.
21397 (function): Likewise.
21398 (menuentry): Likewise.
21399 (if): Likewise.
21400 (commands): Likewise. Add error handling.
21401
21402 * normal/script.c (grub_script_create_cmdline): If
21403 `grub_script_parsed' is 0, assume the parser encountered an error.
21404
c9a86192 214052006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
21406
21407 * configure.ac: Add support for EFI. Fix the typo
21408 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
21409
70f3b243 214102006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
21411
21412 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
21413 foreign multibyte characters should be shown correctly.
21414
65f201ad 214152006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
21416
21417 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
21418 calculation.
21419 (read_config_file): Made it to close file before returning.
21420
b4b93674 214212006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
21422
21423 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
21424 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
21425 video/i386/pc/vbefill.c.
21426
21427 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
21428 video/i386/pc/vbefill.c.
21429
21430 * include/grub/video.h (grub_video_blit_format): New enum.
21431 (grub_video_mode_info): Added new member blit_format.
21432 (grub_video_get_blit_format): New function prototype.
21433
21434 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
21435 function prototype.
21436 (grub_video_vbe_map_rgb): Likewise.
21437 (grub_video_vbe_unmap_color): Likewise.
21438
21439 * include/grub/i386/pc/vbeblit.h: New file.
21440
21441 * include/grub/i386/pc/vbefill.h: New file.
21442
21443 * video/video.c (grub_video_get_blit_format): New function.
21444 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
21445 (grub_video_vbe_map_rgb): Likewise.
21446 (grub_video_vbe_unmap_color): Likewise.
21447
21448 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
21449 optimized fills.
21450 (grub_video_vbe_blit_render_target): Changed to use more optimized
21451 blits.
21452 (grub_video_vbe_setup): Added detection for optimized settings.
21453 (grub_video_vbe_create_render_target): Likewise.
21454
21455 * video/i386/pc/vbeblit.c: New file.
21456
21457 * video/i386/pc/vbefill.c: New file.
21458
c2379b9c 214592006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
21460
21461 * font/manager.c (grub_font_get_glyph): Removed font fixup from
21462 here...
21463
21464 * util/unifont2pff.rb: ... and moved it to here. Improved argument
21465 parsing to support both hex and dec ranges. If filename was missing
21466 show usage information.
21467
bd0d7896 214682006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
21469
21470 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
21471 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
21472
21473 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
21474 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
21475 (video_mod_SOURCES): Added.
21476 (video_mod_CFLAGS): Likewise.
21477 (video_mod_LDFLAGS): Likewise.
21478 (gfxterm_mod_SOURCES): Likewise.
21479 (gfxterm_mod_CFLAGS): Likewise.
21480 (gfxterm_mod_LDFLAGS): Likewise.
21481 (videotest_mod_SOURCES): Likewise.
21482 (videotest_mod_CFLAGS): Likewise.
21483 (videotest_mod_LDFLAGS): Likewise.
21484 (vesafb_mod_SOURCES): Removed.
21485 (vesafb_mod_CFLAGS): Likewise.
21486 (vesafb_mod_LDFLAGS): Likewise.
21487 (vga_mod_SOURCES): Likewise.
21488 (vga_mod_CFLAGS): Likewise.
21489 (vga_mod_LDFLAGS): Likewise.
21490
21491 * commands/videotest.c: New file.
21492
21493 * font/manager.c (fill_with_default_glyph): Modified to use
21494 grub_font_glyph.
21495 (grub_font_get_glyph): Likewise.
21496 (fontmanager): Renamed from this...
21497 (font_manager): ... to this.
21498
21499 * include/grub/font.h (grub_font_glyph): Added new structure.
21500 (grub_font_get_glyph): Modified to use grub_font_glyph.
21501
21502 * include/grub/misc.h (grub_abs): Added as inline function.
21503
21504 * include/grub/video.h: New file.
21505
21506 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
21507 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
21508 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
21509 (grub_vbe_get_controller_info): Renamed from this...
21510 (grub_vbe_bios_get_controller_info): ... to this.
21511 (grub_vbe_get_mode_info): Renamed from this...
21512 (grub_vbe_bios_get_mode_info): ... to this.
21513 (grub_vbe_set_mode): Renamed from this...
21514 (grub_vbe_bios_set_mode): ... to this.
21515 (grub_vbe_get_mode): Renamed from this...
21516 (grub_vbe_bios_get_mode): ... to this.
21517 (grub_vbe_set_memory_window): Renamed from this...
21518 (grub_vbe_bios_set_memory_window): ... to this.
21519 (grub_vbe_get_memory_window): Renamed from this...
21520 (grub_vbe_bios_get_memory_window): ... to this.
21521 (grub_vbe_set_scanline_length): Renamed from this...
21522 (grub_vbe_set_scanline_length): ... to this.
21523 (grub_vbe_get_scanline_length): Renamed from this...
21524 (grub_vbe_bios_get_scanline_length): ... to this.
21525 (grub_vbe_set_display_start): Renamed from this...
21526 (grub_vbe_bios_set_display_start): ... to this.
21527 (grub_vbe_get_display_start): Renamed from this...
21528 (grub_vbe_bios_get_display_start): ... to this.
21529 (grub_vbe_set_palette_data): Renamed from this...
21530 (grub_vbe_bios_set_palette_data): ... to this.
21531 (grub_vbe_set_pixel_rgb): Removed.
21532 (grub_vbe_set_pixel_index): Likewise.
21533
21534 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
21535 from this...
21536 (grub_vbe_bios_get_controller_info): ... to this.
21537 (grub_vbe_get_mode_info): Renamed from this...
21538 (grub_vbe_bios_get_mode_info): ... to this.
21539 (grub_vbe_set_mode): Renamed from this...
21540 (grub_vbe_bios_set_mode): ... to this.
21541 (grub_vbe_get_mode): Renamed from this...
21542 (grub_vbe_bios_get_mode): ... to this.
21543 (grub_vbe_set_memory_window): Renamed from this...
21544 (grub_vbe_bios_set_memory_window): ... to this.
21545 (grub_vbe_get_memory_window): Renamed from this...
21546 (grub_vbe_bios_get_memory_window): ... to this.
21547 (grub_vbe_set_scanline_length): Renamed from this...
21548 (grub_vbe_set_scanline_length): ... to this.
21549 (grub_vbe_get_scanline_length): Renamed from this...
21550 (grub_vbe_bios_get_scanline_length): ... to this.
21551 (grub_vbe_set_display_start): Renamed from this...
21552 (grub_vbe_bios_set_display_start): ... to this.
21553 (grub_vbe_get_display_start): Renamed from this...
21554 (grub_vbe_bios_get_display_start): ... to this.
21555 (grub_vbe_set_palette_data): Renamed from this...
21556 (grub_vbe_bios_set_palette_data): ... to this.
21557 (grub_vbe_bios_get_controller_info): Fixed problem with registers
21558 getting corrupted after calling it. Added more pushes and pops.
21559 (grub_vbe_bios_set_mode): Likewise.
21560 (grub_vbe_bios_get_mode): Likewise.
21561 (grub_vbe_bios_get_memory_window): Likewise.
21562 (grub_vbe_bios_set_scanline_length): Likewise.
21563 (grub_vbe_bios_get_scanline_length): Likewise.
21564 (grub_vbe_bios_get_display_start): Likewise.
21565 (grub_vbe_bios_set_palette_data): Likewise.
21566
21567 * normal/cmdline.c (cl_set_pos): Refresh the screen.
21568 (cl_insert): Likewise.
21569 (cl_delete): Likewise.
21570
21571 * term/gfxterm.c: New file.
21572
21573 * term/i386/pc/vesafb.c: Removed file.
21574
21575 * video/video.c: New file.
21576
21577 * video/i386/pc/vbe.c (real2pm): Added new function.
21578 (grub_video_vbe_draw_pixel): Likewise.
21579 (grub_video_vbe_get_video_ptr): Likewise.
21580 (grub_video_vbe_get_pixel): Likewise
21581 (grub_video_vbe_init): Likewise.
21582 (grub_video_vbe_fini): Likewise.
21583 (grub_video_vbe_setup): Likewise.
21584 (grub_video_vbe_get_info): Likewise.
21585 (grub_video_vbe_set_palette): Likewise.
21586 (grub_video_vbe_get_palette): Likewise.
21587 (grub_video_vbe_set_viewport): Likewise.
21588 (grub_video_vbe_get_viewport): Likewise.
21589 (grub_video_vbe_map_color): Likewise.
21590 (grub_video_vbe_map_rgb): Likewise.
21591 (grub_video_vbe_map_rgba): Likewise.
21592 (grub_video_vbe_unmap_color): Likewise.
21593 (grub_video_vbe_fill_rect): Likewise.
21594 (grub_video_vbe_blit_glyph): Likewise.
21595 (grub_video_vbe_blit_bitmap): Likewise.
21596 (grub_video_vbe_blit_render_target): Likewise.
21597 (grub_video_vbe_scroll): Likewise.
21598 (grub_video_vbe_swap_buffers): Likewise.
21599 (grub_video_vbe_create_render_target): Likewise.
21600 (grub_video_vbe_delete_render_target): Likewise.
21601 (grub_video_vbe_set_active_render_target): Likewise.
21602 (grub_vbe_set_pixel_rgb): Remove function.
21603 (grub_vbe_set_pixel_index): Likewise.
21604 (index_color_mode): Remove static variable.
21605 (active_mode): Likewise.
21606 (framebuffer): Likewise.
21607 (bytes_per_scan_line): Likewise.
21608 (grub_video_vbe_adapter): Added new static variable.
21609 (framebuffer): Likewise.
21610 (render_target): Likewise.
21611 (initial_mode): Likewise.
21612 (mode_in_use): Likewise.
21613 (mode_list): Likewise.
21614
5f97350b 216152006-03-10 Marco Gerards <marco@gnu.org>
21616
21617 * configure.ac (AC_INIT): Bumped to 1.93.
21618
21619 * DISTLIST: Added `include/grub/hfs.h'.
21620
a3c5c6f8 216212006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
21622
21623 * boot/i386/pc/boot.S (general_error): Before looping, try INT
21624 18H, which might help the BIOS falling back to next boot media.
21625
6de53d26 216262006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
21627
21628 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
21629 Poe Chen <poe.poechen@gmail.com>.
21630
77c4a393 216312006-01-17 Marco Gerards <marco@gnu.org>
21632
21633 * include/grub/normal.h: Include <grub/script.h>.
21634 (grub_command_list): Removed struct.
21635 (grub_command_list_t): Removed type.
21636 (grub_menu_entry): Remove members `num' and `command_list'. Add
21637 members `commands' and `sourcecode'.
21638 * include/grub/script.h: Add inclusion guards.
21639 (grub_script_cmd_menuentry): New struct.
21640 (grub_script_execute_menuentry): New prototype.
21641 (grub_script_lexer_record_start): Likewise.
21642 (grub_script_lexer_record_stop): Likewise.
21643 * normal/execute.c (grub_script_execute_menuentry): New function.
21644 * normal/lexer.c (record, recording, recordpos, recordlen): New
21645 variables.
21646 (grub_script_lexer_record_start): New function.
21647 (grub_script_lexer_record_stop): Likewise.
21648 (recordchar): Likewise.
21649 (nextchar): Likewise.
21650 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
21651 2048 as the buffer size. Add the tokens `menuentry' and `@'.
21652 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
21653 (current_menu): New variable.
21654 (free_menu): Mainly rewritten.
21655 (grub_normal_menu_addentry): New function.
21656 (read_config_file): Rewritten.
21657 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 21658 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 21659 the menu entry.
21660 (run): Mainly rewritten.
21661 * normal/parser.y (menu_entry): New variable.
21662 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
21663 (menuentry): New rule.
21664 (command): Add `menuentry'.
21665 (if_statement): Allow additional returns before `fi'.
21666 * normal/script.c (grub_script_create_cmdmenu): New function.
21667
144f1f98 216682006-01-03 Marco Gerards <marco@gnu.org>
21669
21670 * INSTALL: GNU Bison is required.
21671 * configure.ac: Rewritten the test to detect Bison.
21672 * Makefile.in (YACC): New variable. Reported by Xun Sun
21673 <xun.sun.cn@gmail.com>.
21674
af4b2d89 216752006-01-03 Marco Gerards <marco@gnu.org>
21676
21677 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
21678 the HFS+ filesystem to filesystem blocks.
21679 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
21680 GCC warning is silenced.
21681
15643b71 216822006-01-03 Marco Gerards <marco@gnu.org>
21683
21684 * partmap/apple.c (apple_partition_map_iterate): Convert the data
21685 read from disk from big endian to host byte order.
21686
00905879 216872006-01-03 Hollis Blanchard <hollis@penguinppc.org>
21688
21689 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
21690 documentation.
21691 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
21692 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
21693 embedded HFS+ filesystem.
21694 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
21695 (grub_hfs_sblock): Move from here...
21696 * include/grub/hfs.h: To here... New file.
21697 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
21698 documentation.
21699 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
21700 New macros.
21701 (grub_hfsplus_volheader): Change type of member `magic' to
21702 `grub_uint16_t'.
21703 (grub_hfsplus_data): Add new member `embedded_offset'.
21704 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
21705 returned block.
21706 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
21707 Calculate the offset.
21708
8899bc3e 217092005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
21710
21711 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
21712 Removed.
21713 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
21714
ae8c0277 217152005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
21716
21717 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
21718 ENV->NAME is NULL after allocating ENV->VALUE.
21719
07084456 217202005-12-25 Marco Gerards <marco@gnu.org>
21721
21722 * kern/env.c (grub_env_set): Rewritten the error handling code.
21723
4750f5f1 217242005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
21725
21726 * geninit.sh: Made more robust, and more portable.
21727
50214199 217282005-12-25 Marco Gerards <marco@gnu.org>
21729
21730 Add support for Apple HFS+ filesystems.
f19dbdb7 21731
50214199 21732 * fs/hfsplus.c: New file.
21733
21734 * DISTLIST: Added `fs/hfsplus.c'.
21735
21736 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
21737 (hfsplus_mod_SOURCES): New variable.
21738 (hfsplus_mod_CFLAGS): Likewise.
21739 (hfsplus_mod_LDFLAGS): Likewise.
21740 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
21741 (grub_setup_SOURCES): Likewise.
21742 (grub_mkdevicemap_SOURCES): Likewise.
21743 (grub_emu_SOURCES): Likewise.
21744 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21745
21746 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
21747
21748 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
21749
befaed6c 217502005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
21751
21752 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
21753 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
21754 include/grub/parser.h, include/grub/script.h, kern/parser.c,
21755 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
21756 normal/lexer.c, normal/parser.y, normal/script.c, and
21757 partmap/gpt.c.
21758 Removed kern/sparc64/cache.c.
21759
21760 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
21761 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
21762 grub_emu_init.c.
21763
21764 * configure.ac (AC_INIT): Bumped to 1.92.
21765
6a124103 217662005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
21767
21768 * kern/err.c (grub_error_push): Added new function to support error
21769 stacks.
21770 (grub_error_pop): Likewise.
21771 (grub_error_stack_items): New local variable to support error stacks.
21772 (grub_error_stack_pos): Likewise.
21773 (grub_error_stack_assert): Likewise.
21774 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
21775 stack depth.
21776 (grub_print_error): Added support to print errors from error stack.
21777
21778 * include/grub/err.h (grub_error_push): Added function prototype.
21779 (grub_error_pop): Likewise.
21780
be973c1b 217812005-12-09 Hollis Blanchard <hollis@penguinppc.org>
21782
21783 * configure.ac: Accept `powerpc64' as host_cpu.
21784 (amd64): Rename to `biarch32'.
21785
21786 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
21787 non-cacheline-aligned addresses.
21788
21789 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
21790 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
21791 if `size' is non-zero.
21792
b04216ab 217932005-12-03 Marco Gerards <mgerards@xs4all.nl>
21794
21795 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
21796 and `cd' to make sure the filename is not prefixed with a
21797 directory name.
21798 (pkgdata_MODULES): Add `gpt.mod'.
21799 (gpt_mod_SOURCES): New variable.
21800 (gpt_mod_CFLAGS): Likewise.
21801 (gpt_mod_LDFLAGS): Likewise.
21802
21803 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
21804
21805 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
21806 New macro.
21807
21808 * partmap/gpt.c: New file.
21809
21810 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
21811 GPT partition map is detected.
21812
41730ed9 218132005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
21814
21815 * commands/i386/pc/play.c: New file.
21816 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
21817 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
21818 macros.
f19dbdb7 21819
95dc3643 218202005-11-27 Marco Gerards <mgerards@xs4all.nl>
21821
21822 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
21823 ((unused))' to silence gcc warning.
21824
1569ec51 218252005-11-26 Hollis Blanchard <hollis@penguinppc.org>
21826
21827 * configure.ac: Correct `AC_PROG_YACC' test.
21828
9abde152 218292005-11-22 Hollis Blanchard <hollis@penguinppc.org>
21830
21831 * util/powerpc/ieee1275/grub-install.in: Run the mount point
21832 check before installing files.
21833
44b83271 218342005-11-22 Mike Small <smallm@panix.com>
21835
21836 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
21837 number regex so multidigit numbers are recognized correctly.
21838
218392005-11-22 Mike Small <smallm@panix.com>
21840
21841 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
21842 debugging message before attempting to claim memory.
21843 (grub_rescue_cmd_initrd): Add a claim debugging message and try
21844 multiple addresses in case of failure.
21845
9c12956b 218462005-11-22 Hollis Blanchard <hollis@penguinppc.org>
21847
21848 * term/tparm.c (get_space): Remove empty `if' statement.
21849
21850 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
21851
21852 * kern/parser.c (check_varstate): Rename `state' to 's'.
21853
aeaf81d9 218542005-11-22 Hollis Blanchard <hollis@penguinppc.org>
21855
21856 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
21857 variable definitions to the beginning of each function. Sort stack
21858 variables by size.
21859 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
21860 `buf' argument to `char *'.
21861
79bbb63f 218622005-11-22 Hollis Blanchard <hollis@penguinppc.org>
21863
21864 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
21865 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 21866 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 21867 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
21868 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
21869 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
21870 configfile.mod, search.mod, gzio.mod and test.mod.
21871 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
21872 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
21873 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
21874 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
21875 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
21876 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
21877 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
21878 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
21879 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
21880 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
21881 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
21882 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
21883 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
21884 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
21885 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
21886 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
21887 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
21888 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
21889 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
21890 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
21891 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
21892 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
21893 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
21894
21895 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
21896 `grep --include'.
21897 (pkgdata_MODULES): Add test.mod.
21898
233b1628 218992005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
21900
21901 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
21902 appending to variables with "+=".
21903 (PModule): Use full pathname to generate *.lst filenames.
21904
21905 * Makefile.in: Fixed list rules moved from genmk.rb.
21906 (.DELETE_ON_ERROR): New special target.
21907 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
21908
21909 * conf/i386-pc.rmk: Include conf/common.mk.
21910 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 21911 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 21912 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
21913 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
21914 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
21915 configfile.mod, search.mod, gzio.mod and test.mod.
21916 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
21917 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
21918 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
21919 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
21920 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
21921 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
21922 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
21923 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
21924 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
21925 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
21926 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
21927 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
21928 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
21929 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
21930 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
21931 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
21932 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
21933 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
21934 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
21935 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
21936 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
21937 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
21938 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
21939 here...
21940 * conf/common.rmk: ... to here. New file.
21941
21942 * conf/common.mk: New file.
21943
16f820c8 219442005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
21945
21946 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
21947 (grub_script.tab.c): ... here.
21948
21949 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
21950 (grub_script.tab.c): ... here.
21951
21952 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
21953 (grub_script.tab.c): ... here.
21954
21955 * normal/command.c (grub_command_find): Fixed a memory leak of
21956 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
21957
63ba1554 219582005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
21959
21960 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
21961 "@" which marks the start of a comment on ARM.
21962 (VARIABLE): Likewise.
21963
7f67dc13 219642005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
21965
79bbb63f 21966 Add support for Linux/ADFS partition tables.
7f67dc13 21967
21968 * partmap/acorn.c: New file.
21969
21970 * include/grub/acorn_filecore.h: Likewise.
21971
21972 * DISTLIST: Added `partmap/acorn.c' and
21973 `include/grub/acorn_filecore.h'.
f19dbdb7 21974
7f67dc13 21975 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
21976 `partmap/acorn.c'.
21977 (pkgdata_MODULES): Add `acorn.mod'.
21978 (acorn_mod_SOURCES): New variable.
21979 (acorn_mod_CFLAGS): Likewise.
21980
21981 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
21982 `partmap/acorn.c'.
21983 (pkgdata_MODULES): Add `acorn.mod'.
21984 (acorn_mod_SOURCES): New variable.
21985 (acorn_mod_CFLAGS): Likewise.
21986
21987 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
21988 (pkgdata_MODULES): Add `acorn.mod'.
21989 (acorn_mod_SOURCES): New variable.
21990 (acorn_mod_CFLAGS): Likewise.
21991 (acorn_mod_LDFLAGS): Likewise.
21992
21993 * include/types.h (grub_disk_addr_t): New typedef.
21994
6d099807 219952005-11-13 Marco Gerards <mgerards@xs4all.nl>
21996
21997 * geninit.sh: New file.
21998
21999 * geninitheader.sh: Likewise.
22000
22001 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
22002 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
22003 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
22004 * commands/configfile.c (grub_configfile_init)
22005 (grub_configfile_fini): Likewise.
22006 * commands/default.c (grub_default_init, grub_default_fini):
22007 Likewise.
22008 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
22009 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
22010 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
22011 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
22012 Likewise.
22013 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
22014 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
22015 Likewise.
22016 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 22017 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 22018 Likewise.
22019 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
22020 Likewise.
fe6b695a 22021 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 22022 Likewise.
22023 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
22024 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
22025 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
22026 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
22027 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
22028 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
22029 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
22030 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
22031 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
22032 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
22033 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
22034 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
22035 * partmap/amiga.c (grub_amiga_partition_map_init)
22036 (grub_amiga_partition_map_fini): Likewise.
22037 * partmap/apple.c (grub_apple_partition_map_init)
22038 (grub_apple_partition_map_fini): Likewise.
22039 * partmap/pc.c (grub_pc_partition_map_init)
22040 (grub_pc_partition_map_fini): Likewise.
22041 * partmap/sun.c (grub_sun_partition_map_init,
22042 grub_sun_partition_map_fini): Likewise.
22043 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
22044 Likewise.
22045
22046 * util/grub-emu.c: Include <grub_modules_init.h>.
22047 (main): Don't initialize and de-initialize any modules directly,
22048 use `grub_init_all' and `grub_fini_all' instead.
22049
22050 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
22051 `grub_vesafb_mod_init'.
22052 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
22053 all users.
22054 * term/i386/pc/vga.c (grub_vga_init): Renamed to
22055 `grub_vga_mod_init'. Updated all users.
22056 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 22057
6d099807 22058 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
22059 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
22060 rules.
22061
22062 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
22063 Generate a function to initialize the module in utilities.
22064 Updated all callers.
22065 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
22066 initialize the module in utilities. Updated all callers.
22067
9046bcf0 220682005-11-09 Hollis Blanchard <hollis@penguinppc.org>
22069
22070 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
22071 escape sequence and a literal ^L to clear the screen.
22072
22073 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
22074 when returning from Open Firmware.
22075
d13ea639 220762005-11-09 Hollis Blanchard <hollis@penguinppc.org>
22077
22078 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
22079 (grub_ofconsole_height): Likewise.
22080 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
22081 manually insert a '\n'.
22082 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
22083 `grub_ofconsole_height'. Return early if these are already set.
22084
a8fcf206 220852005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
22086
22087 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
22088 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
22089 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
22090 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
22091 and `normal/script.c'.
22092 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
22093 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
22094 (test_mod_SOURCES): New variable.
22095 (test_mod_CFLAGS): Likewise.
22096 (test_mod_LDFLAGS): Likewise.
22097 (pkgdata_MODULES): Add `test.mod'.
22098 (grub_script.tab.c): New rule.
22099 (grub_script.tab.h): Likewise.
22100
b6b32745 221012005-11-07 Marco Gerards <mgerards@xs4all.nl>
22102
22103 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
22104 `commands/test.c', `normal/execute.c', `normal/lexer.c',
22105 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
22106 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
22107 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
22108 (test_mod_SOURCES): New variable.
22109 (test_mod_CFLAGS): Likewise.
22110 (pkgdata_MODULES): Add `test.mod'.
22111 (grub_script.tab.c): New rule.
22112 (grub_script.tab.h): Likewise.
22113
daac212a 221142005-11-06 Marco Gerards <mgerards@xs4all.nl>
22115
22116 Add initial scripting support.
22117
22118 * commands/test.c: New file.
22119 * include/grub/script.h: Likewise.
22120 * normal/execute.c: Likewise.
22121 * normal/function.c: Likewise.
22122 * normal/lexer.c: Likewise.
22123 * normal/parser.y: Likewise.
22124 * normal/script.c: Likewise.
22125
22126 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 22127
daac212a 22128 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
22129 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
22130 `normal/function.c' and `normal/script.c'.
22131 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
22132 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 22133 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
22134 variables.
daac212a 22135 (pkgdata_MODULES): Add `test.mod'.
22136 (grub_script.tab.c): New rule.
22137 (grub_script.tab.h): Likewise.
22138
22139 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
22140
22141 * include/grub/normal.h (grub_test_init): New prototype.
22142 (grub_test_fini): Likewise.
f19dbdb7 22143
daac212a 22144 * normal/command.c: Include <grub/script.h>.
22145 (grub_command_execute): Rewritten.
f19dbdb7 22146
daac212a 22147 * util/grub-emu.c (main): Call `grub_test_init' and
22148 `grub_test_fini'.
22149
77500b2b 221502005-11-03 Hollis Blanchard <hollis@penguinppc.org>
22151
22152 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
22153 to 0.
22154 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
22155 there are no pending characters.
22156
e45deb9e 221572005-11-03 Hollis Blanchard <hollis@penguinppc.org>
22158
22159 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
22160 `grub_strndup' to drop device arguments. Replace unnecessary
22161 `grub_strndup' with `grub_strdup'.
22162
4ce32619 221632005-11-03 Hollis Blanchard <hollis@penguinppc.org>
22164
22165 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
22166 `debug' environment variable has been set.
22167
221682005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 22169
4ce32619 22170 * Makefile.in (install-local): Use $(DATA).
22171 (uninstall): Likewise.
22172 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
22173 (sbin_UTILITIES): ... to here.
22174 (sbin_SCRIPTS): New variable.
22175 (grub_install_SOURCES): New variable.
22176 * util/powerpc/ieee1275/grub-install.in: New file.
22177 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
22178 variable.
22179 (add_segments): Call `grub_util_get_path'.
22180
25fe6f03 221812005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
22182
22183 From Timothy Baldwin:
22184 * commands/ls.c (grub_ls_list_files): Close FILE with
22185 grub_file_close.
22186 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
22187
04ccf3ec 221882005-10-24 Marco Gerards <mgerards@xs4all.nl>
22189
22190 * include/grub/parser.h: New file.
22191
22192 * kern/parser.c: Likewise.
22193
22194 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
22195 (grub_setup_SOURCES): Likewise.
22196 (grub_probefs_SOURCES): Likewise.
22197 (grub_emu_SOURCES): Likewise.
22198 (kernel_img_HEADERS): Add `parser.h'.
22199
22200 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
22201 (grub_emu_SOURCES): Add `kern/parser.c'.
22202 (grubof_SOURCES): Likewise.
22203
22204 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
22205 (grubof_SOURCES): Add `kern/parser.c'.
22206
22207 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
22208
22209 * kern/misc.c (grub_split_cmdline): Removed function.
22210
22211 * kern/rescue.c: Include <grub/parser.h>.
22212 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
22213 of `grub_split_cmdline'.
22214
22215 * normal/command.c: Include <grub/parser.h>.
22216 (grub_command_execute): Use `grub_parser_split_cmdline' instead
22217 of `grub_split_cmdline'.
22218
22219 * normal/completion.c: Include <grub/parser.h>.
22220 (cmdline_state): New variable.
22221 (iterate_dir): End the filename with a quote depending on the
22222 command line state.
22223 (get_state): new function.
22224 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
22225 split the arguments and determine the current argument. When the
22226 argument string is not quoted, escape all spaces.
22227
6d8f4b0e 222282005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
22229
22230 * normal/sparc64/setjmp.S: New file.
22231
15cf03ed 222322005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
22233
22234 * include/grub/sparc64/libgcc.h: New file.
22235 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
22236 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
22237 normal/sparc64/setjmp.c.
22238
03e8661a 222392005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
22240
22241 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
22242 * kern/sparc64/cache.S: New file.
22243 * kern/sparc64/cache.c: Removed.
22244 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
22245 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
22246 -mtune=ultrasparc.
22247 (COMMON_LDFLAGS): Add -melf64_sparc.
22248 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
22249 (grubof_SOURCES): Use cache.S instead of cache.c.
22250 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
22251 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
22252 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
22253 commented though.
22254 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
22255 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
22256 (linux_mod_CFLAGS): Commented out.
22257 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
22258 out because module isn't built.
22259 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
22260 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
22261 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
22262 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
22263 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
22264 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
22265 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
22266 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
22267 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
22268 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
22269 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
22270 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
22271 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
22272 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
22273
34eeec8a 222742005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
22275
22276 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
22277 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
22278 longer, because HFS should not be used on PC.
22279
708367a3 222802005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
22281
22282 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
22283 consistently within the loop.
22284
6fa1251a 222852005-10-15 Marco Gerards <mgerards@xs4all.nl>
22286
22287 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
22288 directory can not be read.
22289
4801580b 222902005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
22291
22292 * configure.ac (AC_INIT): Increase the version number to 1.91.
22293
22294 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
22295 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
22296 term/i386/pc/serial.c.
22297
219ad426 222982005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
22299
22300 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
22301 file size must be permitted.
22302
22303 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
22304 between %ah and %al.
22305
688e5699 223062005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
22307
22308 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
22309 grub_uint64_t.
22310 Call the hook with a NUL-terminated filename.
22311 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
22312 grub_cpu_to_be32.
22313
22314 * kern/term.c (cursor_state): New variable.
22315 (grub_term_set_current): Reset the cursor state on a new
22316 terminal.
22317 (grub_setcursor): Rewritten to use CURSOR_STATE.
22318 (grub_getcursor): New function.
22319
22320 * include/grub/term.h (grub_getcursor): New prototype.
22321
22322 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
22323 integers on ARM. Reported by Timothy Baldwin
22324 <T.E.Baldwin99@members.leeds.ac.uk>.
22325
bb34586c 223262005-10-11 Marco Gerards <mgerards@xs4all.nl>
22327
22328 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
22329 allocated.
22330 (grub_sfs_dir): Likewise.
22331
9a909877 223322005-10-09 Marco Gerards <mgerards@xs4all.nl>
22333
22334 Add support for the SFS filesystem.
22335
22336 * fs/sfs.c: New file.
22337
22338 * DISTLIST: Added `fs/sfs.c'.
22339
22340 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
22341 (grub_probefs_SOURCES): Likewise.
22342 (grub_emu_SOURCES): Likewise.
22343 (pkgdata_MODULES): Add `sfs.mod'.
22344 (sfs_mod_SOURCES): New variable.
22345 (sfs_mod_CFLAGS): Likewise.
22346 (sfs_mod_LDFLAGS): Likewise.
22347
22348 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
22349 (pkgdata_MODULES): Add `sfs.mod'.
22350 (sfs_mod_SOURCES): New variable.
22351 (sfs_mod_CFLAGS): Likewise.
22352
22353 * util/grub-emu.c (main): Call `grub_sfs_init' and
22354 `grub_sfs_fini'.
22355
22356 * include/grub/fs.h (grub_sfs_init): New prototype.
22357 (grub_sfs_fini): Likewise.
22358
57bdbde3 223592005-10-07 Marco Gerards <mgerards@xs4all.nl>
22360
22361 Add support for the AFFS filesystem.
22362
22363 * fs/affs.c: New file.
22364
22365 * DISTLIST: Added `fs/affs.c'.
22366
22367 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
22368 (grub_probefs_SOURCES): Likewise.
22369 (grub_emu_SOURCES): Likewise.
22370 (pkgdata_MODULES): Add `affs.mod'.
22371 (affs_mod_SOURCES): New variable.
22372 (affs_mod_CFLAGS): Likewise.
22373 (affs_mod_LDFLAGS): Likewise.
22374
22375 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
22376 (pkgdata_MODULES): Add `affs.mod'.
22377 (affs_mod_SOURCES): New variable.
22378 (affs_mod_CFLAGS): Likewise.
22379
22380 * util/grub-emu.c (main): Call `grub_affs_init' and
22381 `grub_affs_fini'.
22382
22383 * include/grub/fs.h (grub_affs_init): New prototype.
22384 (grub_affs_fini): Likewise.
22385
047b67e0 223862005-10-01 Marco Gerards <mgerards@xs4all.nl>
22387
22388 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
22389
59b8208a 223902005-10-01 Marco Gerards <mgerards@xs4all.nl>
22391
22392 * configure.ac: Accept `x86_64' as host_cpu. In that case add
22393 `-m32' to CFLAGS.
22394
22395 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
22396 linking.
f19dbdb7 22397
59b8208a 22398 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
22399 (COMMON_LDFLAGS): New variable.
22400 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
22401 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
22402 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
22403 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
22404 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
22405 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
22406 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
22407 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
22408 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
22409 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
22410 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
22411 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
22412 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
22413 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
22414 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
22415 variables.
22416 (normal_mod_ASFLAGS): Add `-m32'.
22417
22418 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
22419 (grub_host_size_t, grub_host_ssize_t): New types.
22420 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 22421 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 22422 `GRUB_HOST_SIZEOF_VOID_P'.
22423
22424 * include/grub/kernel.h (struct grub_module_header): Type of
22425 member offset changed to `grub_host_off_t'. Type of member size
22426 changed to `grub_host_size_t'.
22427 (struct grub_module_info): Type of member offset changed to
22428 `grub_host_off_t'. Type of member size changed to
22429 `grub_host_size_t'.
22430
b4093103 224312005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
22432
22433 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 22434
b4093103 22435 * kern/i386/pc/startup.S (multiboot_header): New label.
22436 (multiboot_entry): Likewise.
22437 (multiboot_trampoline): Likewise.
22438
22439 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
22440 Increased to 0x4A0.
22441
22442 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
22443 put parentheses after a question mark.
22444 [!GRUB_UTIL] (my_mod): New variable.
22445
22446 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
22447
b2499b29 224482005-09-28 Marco Gerards <mgerards@xs4all.nl>
22449
22450 Adds support for the XFS filesystem. Btrees are not supported
22451 yet.
22452
22453 * fs/xfs.c: New file.
22454
22455 * DISTLIST: Added `fs/xfs.c'.
22456
22457 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
22458 (grub_probefs_SOURCES): Likewise.
22459 (grub_emu_SOURCES): Likewise.
22460 (pkgdata_MODULES): Add `xfs.mod'.
22461 (xfs_mod_SOURCES): New variable.
22462 (xfs_mod_CFLAGS): Likewise.
22463
22464 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
22465 (pkgdata_MODULES): Add `xfs.mod'.
22466 (xfs_mod_SOURCES): New variable.
22467 (xfs_mod_CFLAGS): Likewise.
22468
22469 * util/grub-emu.c (main): Call `grub_xfs_init' and
22470 `grub_xfs_fini'.
22471
22472 * include/grub/fs.h (grub_xfs_init): New prototype.
22473 (grub_xfs_fini): Likewise.
22474
f19dbdb7 22475
83d37a62 224762005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
22477
22478 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
22479 color modes, allow greater than 16 colors to be configured as
22480 a default palette.
22481
47d2d65e 224822005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
22483
22484 * normal/completion.c (complete_arguments): Add the qualifier
22485 const into OPTIONS.
22486
22487 From Omniflux <omniflux+lists@omniflux.com>:
22488 * include/grub/terminfo.h: New file.
22489 * include/grub/tparm.h: Likewise.
22490 * include/grub/i386/pc/serial.h: Likewise.
22491 * term/terminfo.c: Likewise.
22492 * term/tparm.c: Likewise.
22493 * term/i386/pc/serial.c: Likewise.
22494 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
22495 serial.mod.
22496 (terminfo_mod_SOURCES): New variable.
22497 (terminfo_mod_CFLAGS): Likewise.
22498 (serial_mod_SOURCES): Likewise.
22499 (serial_mod_CFLAGS): Likewise.
22500
48b671ff 225012005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
22502
22503 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
22504 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
22505 and kern/powerpc/ieee1275/cmain.c, respectively.
22506
22507 * boot/powerpc/ieee1275/crt0.S: Moved to ...
22508 * kern/powerpc/ieee1275/crt0.S: ... here.
22509
22510 * boot/powerpc/ieee1275/cmain.c: Moved to ...
22511 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 22512
48b671ff 22513 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
22514 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
22515 instead of boot/powerpc/ieee1275/crt0.S and
22516 boot/powerpc/ieee1275/cmain.c, respectively.
22517
22518 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
22519 sectors. It was not used anyway.
22520
09fc77a7 225212005-08-30 Hollis Blanchard <hollis@penguinppc.org>
22522
22523 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
22524 `unused parameter' warning.
22525
003789c7 225262005-08-30 Hollis Blanchard <hollis@penguinppc.org>
22527
22528 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
22529 function.
22530 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
22531 getcharwidth.
22532
67f44c86 225332005-08-28 Marco Gerards <metgerards@student.han.nl>
22534
22535 * include/grub/normal.h (enum grub_completion_type): Added
22536 `GRUB_COMPLETION_TYPE_ARGUMENT'.
22537
22538 * normal/cmdline.c (print_completion): Handle
22539 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
22540 * normal/menu_entry.c (store_completion): Likewise.
22541
22542 * normal/completion.c (complete_arguments): New function.
22543 (grub_normal_do_completion): Call `complete_arguments' when the
22544 current words start with a dash.
22545
0b5abe02 225462005-08-27 Marco Gerards <metgerards@student.han.nl>
22547
22548 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
22549 `gzio.mod' instead of `io.mod').
22550
d9864ee1 225512005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
22552
22553 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
22554 (DISTDIRS): Added io and video.
22555 Rewrite the search routine to make an output consistently.
22556
22557 * DISTLIST: Added conf/sparc64-ieee1275.mk,
22558 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
22559 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
22560 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
22561 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
22562 util/powerpc/ieee1275/misc.c.
f19dbdb7 22563
d9864ee1 22564 * include/grub/gzio.h: New file.
22565 * io/gzio.c: Likewise.
f19dbdb7 22566
d9864ee1 22567 * kern/file.c (grub_file_close): Call grub_device_close only if
22568 FILE->DEVICE is not NULL.
22569
22570 * include/grub/mm.h [!NULL] (NULL): New macro.
22571
22572 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
22573
22574 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
22575 (pkgdata_MODULES): Added gzio.mod.
22576 (gzio_mod_SOURCES): New variable.
22577 (gzio_mod_CFLAGS): Likewise.
22578
22579 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
22580 (pkgdata_MODULES): Added gzio.mod.
22581 (gzio_mod_SOURCES): New variable.
22582 (gzio_mod_CFLAGS): Likewise.
22583
22584 * commands/cat.c: Include grub/gzio.h.
22585 (grub_cmd_cat): Use grub_gzfile_open instead of
22586 grub_file_open.
f19dbdb7 22587
d9864ee1 22588 * commands/cmp.c: Include grub/gzio.h.
22589 (grub_cmd_cmp): Use grub_gzfile_open instead of
22590 grub_file_open.
22591
22592 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
22593 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
22594 grub_file_open.
22595 (grub_rescue_cmd_module): Likewise.
22596
fa46f4b5 225972005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
22598
22599 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
22600 kern/sparc64/ieee1275/init.c because it contains _start.
22601 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
22602
e9211b5d 226032005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
22604
22605 * configure.ac: Add support for sparc64 host with ieee1275
22606 firmware.
22607 * configure: Generated from configure.ac.
22608 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
22609 instead of int.
22610 (grub_ofdisk_read): Likewise.
22611 (grub_ofdisk_open): Use %p to print pointer values, and cast the
22612 pointers as (void *) to remove a warning.
22613 (grub_ofdisk_close): Likewise.
22614 (grub_ofdisk_read): Likewise.
22615 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
22616 returns, so make it return void to remove a warning.
22617 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
22618 Corresponding prototype change.
22619 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
22620 values, and cast the pointers as (void *) to remove a warning.
22621 (grub_mm_dump): Likewise.
22622 * conf/sparc64-ieee1275.mk: New file.
22623 * conf/sparc64-ieee1275.rmk: Likewise.
22624 * include/grub/sparc64/setjmp.h: Likewise.
22625 * include/grub/sparc64/types.h: Likewise.
22626 * include/grub/sparc64/ieee1275/console.h: Likewise.
22627 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
22628 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
22629 * include/grub/sparc64/ieee1275/time.h: Likewise.
22630 * kern/sparc64/cache.c: Likewise.
22631 * kern/sparc64/dl.c: Likewise.
22632 * kern/sparc64/ieee1275/init.c: Likewise.
22633 * kern/sparc64/ieee1275/openfw.c: Likewise.
22634
385c6a92 226352005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
22636
22637 * util/console.c (grub_ncurses_putchar): If C is greater than
22638 0x7f, set C to a question mark.
22639 (grub_ncurses_getcharwidth): New function.
22640 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
22641 getcharwidth.
22642
22643 * normal/menu.c (print_entry): Made aware of Unicode. First,
22644 convert TITLE to UCS-4, and predict the cursor position by
22645 grub_getcharwidth.
22646
22647 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
22648 const to SRC.
22649 * kern/misc.c (grub_utf16_to_utf8): Likewise.
22650
16ccb8b1 226512005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
22652
22653 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
22654 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
22655 grub_strcat.
22656
22657 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
22658 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
22659 grub_strcpy and grub_strlen. Take it into account that a space
22660 character is inserted as a delimiter.
22661
6a85ce79 226622005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
22663
22664 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 22665 invalid magic in the error.
6a85ce79 22666
22667 * commands/search.c: New file.
f19dbdb7 22668
6a85ce79 22669 * util/grub-emu.c (main): Call grub_search_init and
22670 grub_search_fini.
22671
22672 * kern/rescue.c (grub_rescue_print_disks): Removed.
22673 (grub_rescue_print_devices): New function.
22674 (grub_rescue_cmd_ls): Use grub_device_iterate with
22675 grub_rescue_print_devices instead of grub_disk_dev_iterate with
22676 grub_rescue_print_disks.
22677
22678 * kern/partition.c (grub_partition_iterate): Return the result of
22679 PARTMAP->ITERATE instead of GRUB_ERRNO.
22680
22681 * kern/device.c: Include grub/partition.h.
22682 (grub_device_iterate): New function.
22683
22684 * include/grub/partition.h (grub_partition_iterate): Return int
22685 instead of grub_err_t.
22686
22687 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
22688 prototype.
22689 [GRUB_UTIL] (grub_search_fini): Likewise.
22690
22691 * include/grub/device.h (grub_device_iterate): New prototype.
22692
22693 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
22694 commands/search.c.
22695 (pkgdata_MODULES): Added search.mod.
22696 (search_mod_SOURCES): New variable.
22697 (search_mod_CFLAGS): Likewise.
22698
22699 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
22700 (pkgdata_MODULES): Added search.mod.
22701 (search_mod_SOURCES): New variable.
22702 (search_mod_CFLAGS): Likewise.
22703
22704 * commands/ls.c (grub_ls_list_disks): Renamed to ...
22705 (grub_ls_list_devices): ... this, and use grub_device_iterate.
22706 All callers changed.
22707
22708 * DISTLIST: Added commands/search.c.
22709
ef095434 227102005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
22711
22712 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
22713 conversion.
22714 (grub_getcharwidth): New function.
22715
22716 * kern/misc.c (grub_utf8_to_ucs4): New function.
22717
22718 * include/grub/term.h (struct grub_term): Added a new member
22719 "getcharwidth".
22720 (grub_getcharwidth): New prototype.
22721
22722 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
22723
22724 * term/i386/pc/console.c (map_char): New function. Segregated from
22725 grub_console_putchar.
22726 (grub_console_putchar): Use map_char.
22727 (grub_console_getcharwidth): New function.
22728 (grub_console_term): Specified grub_console_getcharwidth as
22729 getcharwidth.
22730
22731 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
22732 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
22733
22734 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
22735 GRUB_ERRNO.
22736 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
22737 on grub_strtoul completely.
22738 (write_char): Declare local variables in the beginning of the
22739 function.
22740 (grub_vesafb_getcharwidth): New function.
22741 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
22742 getcharwidth.
22743
1f0a95e4 227442005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
22745
22746 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
22747 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
22748 commands/i386/pc/vbetest.c.
22749
22750 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
22751 call grub_vbe_get_controller_info again, because the returned
22752 information is volatile.
22753 (grub_vbe_set_video_mode): Mostly rewritten.
22754 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
22755 grub_vbe_status_t correctly.
22756 (grub_vbe_get_video_mode_info): Likewise.
22757 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
22758 several if statements.
22759
22760 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
22761 * commands/i386/pc/vbeinfo.c: ... this.
22762
22763 * commands/i386/pc/vbe_test.c: Renamed to ...
22764 * commands/i386/pc/vbetest.c: ... this.
22765
22766 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
22767 ...
22768 (grub_cmd_vbeinfo): ... this. Save video modes before
22769 iterating. Skip a video mode, if it is not available, not enough
22770 information is given or it is monochrome. Show the memory
22771 model. Leave the interpretation of MODEVAR to grub_strtoul
22772 completely.
22773 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
22774 (GRUB_MOD_FINI): Likewise.
22775
22776 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
22777 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
22778 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
22779 duplicated grub_env_get. Leave the interpretation of MODEVAR to
22780 grub_strtoul completely.
22781 (real2pm): Removed.
22782 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
22783 (GRUB_MOD_FINI): Likewise.
22784
22785 * normal/misc.c: Include grub/mm.h.
22786
22787 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
22788 vbe_list_modes with vbetest.mod and vbeinfo.mod.
22789 (vbe_list_modes_mod_SOURCES): Removed.
22790 (vbe_list_modes_mod_CFLAGS): Likewise.
22791 (vbe_test_mod_SOURCES): Likewise.
22792 (vbe_test_mod_CFLAGS): Likewise.
22793 (vbeinfo_mod_SOURCES): New variable.
22794 (vbeinfo_mod_CFLAGS): Likewise.
22795 (vbetest_mod_SOURCES): Likewise.
22796 (vbetest_mod_CFLAGS): Likewise.
22797
992ffbbe 227982005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
22799
22800 * normal/misc.c: New file.
22801
22802 * DISTLIST: Added normal/misc.c.
f19dbdb7 22803
992ffbbe 22804 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
22805 DISK to HOOK. Call HOOK with DISK.
22806 * partmap/apple.c (apple_partition_map_iterate): Likewise.
22807 * partmap/pc.c (pc_partition_map_iterate): Likewise.
22808 * partmap/sun.c (sun_partition_map_iterate): Likewise.
22809
22810 * normal/menu_entry.c (struct screen): Added a new member
22811 "completion_shown".
22812 (completion_buffer): New global variable.
22813 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
22814 (store_completion): New function.
22815 (complete): Likewise.
22816 (clear_completions): Likewise.
22817 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
22818 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
22819 a tab, call complete.
22820
22821 * normal/completion.c (disk_dev): Removed.
22822 (print_simple_completion): Likewise.
22823 (print_partition_completion): Likewise.
22824 (print_func): New global variable.
22825 (add_completion): Do not take the arguments WHAT or PRINT any
22826 longer. Added a new argument TYPE. Instead of printing directly,
22827 call PRINT_FUNC if not NULL.
22828 All callers changed.
22829 (complete_device): Use a local variable DEV instead of
22830 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
22831 (grub_normal_do_completion): Take a new argument HOOK. Do not
22832 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
22833 empty string, return NULL instead.
22834 All callers changed.
22835
22836 * normal/cmdline.c (print_completion): New function.
22837
22838 * kern/partition.c (grub_partition_iterate): Add an argument DISK
22839 to HOOK.
22840 All callers changed.
22841
22842 * kern/disk.c (grub_print_partinfo): Removed.
22843
22844 * include/grub/partition.h (struct grub_partition_map): Add a new
22845 argument DISK into HOOK of ITERATE.
22846 (grub_partition_iterate): Add a new argument DISK to HOOK.
22847
22848 * include/grub/normal.h (enum grub_completion_type): New enum.
22849 (grub_completion_type_t): New type.
22850 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
22851 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
22852 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
22853 (GRUB_COMPLETION_TYPE_FILE): Likewise.
22854 (grub_normal_do_completion): Added a new argument HOOK.
22855 (grub_normal_print_device_info): New prototype.
22856
22857 * include/grub/disk.h (grub_print_partinfo): Removed.
22858
22859 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
22860 (normal_mod_SOURCES): Likewise.
22861 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22862 (normal_mod_SOURCES): Likewise.
22863
22864 * commands/ls.c (grub_ls_list_disks): Use
22865 grub_normal_print_device_info instead of grub_print_partinfo. Free
22866 PNAME.
22867 (grub_ls_list_files): Use grub_normal_print_device_info instead of
22868 duplicating the code.
22869
0bd41162 228702005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
22871
22872 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 22873 follow GCS more precisely.
22874 * commands/i386/pc/vbe_test.c: Likewise.
22875 * include/grub/i386/pc/vbe.h: Likewise.
22876 * term/i386/pc/vesafb.c: Likewise.
22877 * video/i386/pc/vbe.c: Likewise.
0bd41162 22878
6323696a 228792005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
22880
22881 * DISTLIST: Added term/i386/pc/vesafb.c
22882 DISTLIST: Added video/i386/pc/vbe.c
22883 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
22884 DISTLIST: Added commands/i386/pc/vbe_test.c.
22885 * commands/i386/pc/vbe_list_modes.c: New file.
22886 * commands/i386/pc/vbe_test.c: Likewise.
22887 * term/i386/pc/vesafb.c: Likewise.
22888 * video/i386/pc/vbe.c: Likewise.
22889 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
22890 (grub_vbe_probe) Added prototype.
22891 (grub_vbe_set_video_mode) Likewise.
22892 (grub_vbe_get_video_mode) Likewise.
22893 (grub_vbe_get_video_mode_info) Likewise.
22894 (grub_vbe_set_pixel_rgb) Likewise.
22895 (grub_vbe_set_pixel_index) Likewise.
22896 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
22897 (pkgdata_MODULES): Added vesafb.mod.
22898 (pkgdata_MODULES): Added vbe_list_modes.mod.
22899 (pkgdata_MODULES): Added vbe_test.mod.
22900 (vbe_mod_SOURCES): Added.
22901 (vbe_mod_CFLAGS): Likewise.
22902 (vesafb_mod_SOURCES): Likewise.
22903 (vesafb_mod_CFLAGS): Likewise.
22904 (vbe_list_modes_mod_SOURCES): Likewise.
22905 (vbe_list_modes_mod_CFLAGS): Likewise.
22906 (vbe_test_mod_SOURCES): Likewise.
22907 (vbe_test_mod_CFLAGS): Likewise.
22908
0a74e62f 229092005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
22910
0a74e62f 22911 * normal/command.c (grub_command_execute): If INTERACTIVE is
22912 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
22913 CMDLINE. Disable the pager if INTERACTIVE is true.
22914 All callers are changed.
22915
22916 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
22917 before reading a config file.
22918 * normal/main.c (read_config_file): Even if a command is not
22919 found, register it if it is within an entry.
22920
22921 * util/grub-emu.c: Include sys/types.h and unistd.h.
22922 (options): Added --hold.
22923 (struct arguments): Added a new member "hold".
22924 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
22925 missing.
22926 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
22927 cleared by a debugger, if it is not zero.
22928
22929 * include/grub/normal.h (grub_command_execute): Add an argument
22930 INTERACTIVE.
22931
e51f85ae 229322005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
22933
22934 * DISTLIST: Added include/grub/i386/pc/vbe.h.
22935
e9c6f39b 229362005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
22937
22938 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
22939 program with another one, because the old one didn't detect a bug
22940 in gcc-3.4. Always use regparm 2, because the new test is still
22941 not enough for gcc-4.0. Someone must investigate a simple test
22942 case which detects a bug in gcc-4.0.
22943
8de3495c 229442005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
22945
22946 * DISTLIST: Added normal/completion.c.
22947
22948 * normal/completion.c: New file.
f19dbdb7 22949
8de3495c 22950 * term/i386/pc/console.c (grub_console_getwh): New function.
22951 (grub_console_term): Assign grub_console_getwh to getwh.
22952
22953 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
22954 function is defined in normal/completion.c as
22955 grub_normal_do_completion.
22956 (grub_cmdline_get): Use grub_normal_do_completion instead of
22957 grub_tab_complete.
22958
22959 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
22960 returns non-zero, otherwise return 0.
22961 (grub_partition_iterate): First, probe the partition map. Then,
22962 call ITERATE only for this partition map.
22963
22964 * kern/misc.c (grub_strncmp): Rewritten.
22965
22966 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
22967 returns non-zero. Otherwise return 0.
22968
22969 * include/grub/partition.h (grub_partition_map_iterate): Return
22970 int instead of void.
22971
22972 * include/grub/normal.h (grub_normal_do_completion): New prototype.
22973
22974 * include/grub/misc.h (grub_strncmp): Change the type of N to
22975 grub_size_t.
22976
22977 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
22978 of void.
22979
22980 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 22981 unsigned explicitly before comparing it with I.
8de3495c 22982
22983 * kern/main.c (grub_env_write_root): Add the attribute unused into
22984 VAR.
22985
22986 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
22987 normal/completion.c.
22988 (normal_mod_SOURCES): Likewise.
22989 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22990 (normal_mod_SOURCES): Likewise.
22991
22992 * normal/command.c (grub_iterate_commands): If ITERATE returns
22993 non-zero, return one immediately.
22994
e85e144b 229952005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
22996
22997 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
22998 * kern/i386/pc/startup.S: Updated Global Descriptor table's
22999 descriptions.
23000 (grub_vbe_get_controller_info): New function.
23001 (grub_vbe_get_mode_info): Likewise.
23002 (grub_vbe_set_mode): Likewise.
23003 (grub_vbe_get_mode): Likewise.
23004 (grub_vbe_set_memory_window): Likewise.
23005 (grub_vbe_get_memory_window): Likewise.
23006 (grub_vbe_set_scanline_length): Likewise.
23007 (grub_vbe_get_scanline_length): Likewise.
23008 (grub_vbe_set_display_start): Likewise.
23009 (grub_vbe_get_display_start): Likewise.
23010 (grub_vbe_set_palette_data): Likewise.
23011 * include/grub/i386/pc/vbe.h: New file.
23012
c46153d2 230132005-08-08 Hollis Blanchard <hollis@penguinppc.org>
23014
23015 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
23016 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
23017 * DISTLIST: Likewise.
23018 * kern/ieee1275/of.c: Moved to ...
23019 * kern/ieee1275/ieee1275.c: ... here.
23020
0cb90c45 230212005-08-08 Hollis Blanchard <hollis@penguinppc.org>
23022
23023 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
23024 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
23025 Pass 0 as `end' parameter to grub_strtoul().
23026
a19fb360 230272005-08-08 Hollis Blanchard <hollis@penguinppc.org>
23028
23029 * include/grub/powerpc/ieee1275/console.h: Do not include
23030 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
23031 ifdef.
23032 (grub_console_cur_color): Remove i386-specific prototype.
23033 (grub_console_real_putchar): Likewise.
23034 (grub_console_checkkey): Likewise.
23035 (grub_console_getkey): Likewise.
23036 (grub_console_getxy): Likewise.
23037 (grub_console_gotoxy): Likewise.
23038 (grub_console_cls): Likewise.
23039 (grub_console_setcursor): Likewise.
23040 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
23041 Include <grub/machine/console.h>.
23042 * term/ieee1275/ofconsole.c: Likewise.
23043
4ac9bd04 230442005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
23045
23046 * Makefile.in (LIBLZO): New variable.
23047
23048 * configure.ac: Check for LZO version 2.
23049
23050 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
23051 lzo/lzo1x.h instead of lzo1x.h.
23052
23053 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
23054 of -llzo.
23055
23056 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
23057 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
23058
23059 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
23060 copying the data from PARTITION to P.
23061
f4917dfd 230622005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
23063
23064 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
23065 negative, unload the module.
23066
23067 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
23068 map is "pc_partition_map" but not "pc".
23069 (usage): Fix the description. The options are --boot-image and
23070 --core-image but not --boot-file or --core-file.
23071 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
23072 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
23073 DEFAULT_DIRECTORY.
23074
23075 * util/i386/pc/grub-install.in: Do not specify --boot-file or
23076 --core-file. Specify INSTALL_DEVICE as an argument.
23077
23078 * util/console.c: Include config.h.
23079 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
23080 [HAVE_NCURSES_H]: Include ncurses.h.
23081 [HAVE_CURSES_H]: Include curses.h.
23082 [!A_NORMAL] (A_NORMAL): Defined as zero.
23083 [!A_STANDOUT] (A_STANDOUT): Likewise.
23084
23085 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
23086 -lncurses.
23087 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
23088
23089 * configure.ac: Check for curses libraries and headers.
23090
23091 * Makefile.in (LIBCURSES): New variable.
23092
23093 * genmk.rb (Script::rule): Set the executable bits.
23094
23095 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
23096 name of the PC partition map is "pc_partition_map" but not "pc".
23097
0e143073 230982005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
23099
23100 * util/i386/pc/grub-install.in (grub_probefs): New variable.
23101 (modules): Likewise.
23102 (usage): Added descriptions for --modules and --grub-probefs.
23103 Handle --modules and --grub-probefs. Save the arguments in MODULES
23104 and GRUB_PROBEFS, respectively.
23105 Auto-detect a filesystem module against GRUBDIR. If the result is
23106 empty and modules are not specified explicitly, abort the
23107 installation. Add the result to MODULES.
23108
23109 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
23110 disk/powerpc/ieee1275/ofdisk.c,
23111 include/grub/powerpc/ieee1275/init.h and
23112 term/powerpc/ieee1275/ofconsole.c.
23113 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
23114 term/ieee1275/ofconsole.c.
23115
23116 * include/grub/powerpc/ieee1275/console.h: Resurrected.
23117
23118 * COPYING: Upgraded to the latest version. Only the address of the
23119 FSF office has changed.
f19dbdb7 23120
efd6e6d5 231212005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
23122
23123 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
23124 kern/ieee1275.c with kern/ieee1275/of.c.
23125
23126 * kern/ieee1275.c: Moved to ...
23127 * kern/ieee1275/of.c: ... here.
23128
8ceafda2 231292005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
23130
23131 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 23132 readability.
8ceafda2 23133
23134 * config.guess: Updated to the latest version from gnulib.
23135 * config.sub: Likewise.
23136 * install.sh: Likewise.
23137 * mkinstalldirs: Likewise.
23138
23139 * include/grub/console.h: Removed. This file is arch-specific. Do
23140 not put this in include/grub.
23141
23142 * include/grub/i386/pc/console.h: Resurrected.
23143
23144 * util/console.c: Include grub/machine/console.h instead of
23145 grub/console.h.
23146 * util/grub-emu.c: Likewise.
23147
267f6cd9 231482005-08-04 Marco Gerards <metgerards@student.han.nl>
23149
23150 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
23151 hardcoded value.
f19dbdb7 23152
267f6cd9 23153 From Vincent Pelletier <subdino2004@yahoo.fr>
23154 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
23155 Redefined to use grub_getwh.
23156 (grub_term): New member named getwh.
23157 (grub_getwh): New prototype.
23158 * kern/term.c (grub_getwh): New function.
23159 * term/i386/pc/console.c (grub_console_getwh): New function.
23160 (grub_console_term): New member `getwh'.
23161 * term/i386/pc/vga.c (grub_vga_getwh): New function.
23162 (grub_vga_term): New member `getwh'.
0b5abe02 23163 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 23164 grub_ssize_t.
23165 (grub_ofconsole_getw): New function.
23166 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
23167 (grub_ofconsole_term): New field named getwh and new initial
23168 value.
23169
3be7266d 231702005-08-03 Hollis Blanchard <hollis@penguinppc.org>
23171
23172 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
23173 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
23174 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
23175 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
23176 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
23177 of <grub/machine/ieee1275.h>.
23178 * commands/ieee1275/reboot.c: Likewise.
23179 * boot/powerpc/ieee1275/ieee1275.c: Move ...
23180 * kern/ieee1275.c: ... to here. All users updated. Change all
23181 parameter structs to use new type `grub_ieee1275_cell_t'.
23182 * term/powerpc/ieee1275/ofconsole.c: Move ...
23183 * term/ieee1275/ofconsole.c: ... to here. All users updated.
23184 * disk/powerpc/ieee1275/ofdisk.c: Move ...
23185 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
23186 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
23187 to return int.
23188 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
23189 Remove unused prototypes. All users updated.
23190 * include/grub/powerpc/ieee1275/console.h: Removed.
23191 * include/grub/powerpc/ieee1275/ieee1275.h: Define
23192 `grub_ieee1275_cell_t'.
23193 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
23194 Cast comparisons with -1 to the correct type.
23195 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
23196 type to match `grub_ieee1275_entry_fn'.
23197
8b5f3938 231982005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
23199
23200 * DISTLIST: Added util/i386/pc/grub-probefs.c.
23201
23202 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
23203 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
23204 partmap/sun.c.
23205 (grub_probefs_SOURCES): New variable.
23206
23207 * util/i386/pc/grub-probefs.c: New file.
23208
23209 * util/i386/pc/grub-setup.c (main): Call
23210 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
23211 grub_hfs_init and grub_jfs_init to initialize the system. Call
23212 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
23213 grub_pc_partition_map_fini to finish the system.
23214
ea409713 232152005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
23216
23217 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
23218 function.
23219 (grub_multiboot_load_elf32): Likewise.
23220 (grub_multiboot_is_elf64): Likewise.
23221 (grub_multiboot_load_elf64): Likewise.
23222 (grub_multiboot_load_elf): Likewise.
23223 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
23224 an ELF32 or ELF64 file.
23225 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
23226
23227 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
23228 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
23229 NULL before calling FS->LABEL.
23230 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
23231 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
23232 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
23233 before calling FS->LABEL.
23234
141a288b 232352005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
23236
23237 * util/i386/pc/grub-install.in (datadir): New variable.
23238 (libdir): Removed.
23239 (pkgdatadir): New variable.
23240 (pkglibdir): Removed.
23241
0d5f8a54 232422005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
23243
23244 * DISTLIST: Added util/i386/pc/grub-install.in.
23245
23246 * util/i386/pc/grub-install.in: New file.
23247
23248 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
23249 (grub_install_SOURCES): Likewise.
23250
23251 * genmk.rb: Added support for scripts.
23252 (Script): New class.
23253 (scripts): New variable.
23254
23255 * Makefile.in (install-local): Install sbin_SCRIPTS by
23256 INSTALL_SCRIPT.
23257 (uninstall): Remove sbin_SCRIPTS.
23258
23259 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
23260 device, try to get a GRUB device by
23261 grub_util_biosdisk_get_grub_dev.
23262 Free DEST_DEV.
23263
23264 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
23265 description for --device-map.
23266
5f968e1e 232672005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
23268
23269 Change the semantics of variable hooks. They now return strings
23270 instead of error values.
f19dbdb7 23271
5f968e1e 23272 * util/i386/pc/grub-setup.c: Include grub/env.h.
23273 (setup): Use grub_device_set_root instead of grub_env_set.
23274
23275 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
23276 grub_env_get instead of grub_device_set_root and
23277 grub_device_get_root, respectively.
23278
23279 * kern/main.c (grub_env_write_root): New function.
23280 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
23281 grub_env_set instead of grub_device_set_root.
23282
23283 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
23284 many variables.
23285 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
23286 rather than calling ENV->WRITE_HOOK afterwards.
23287 (grub_env_get): Return the result of ENV->READ_HOOK rather than
23288 passing a pointer of a pointer.
23289 (grub_register_variable_hook): Change the types of "read_hook" and
23290 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
23291 respectively.
23292 Allocate the default empty string on the heap, because this string
23293 may be freed later.
23294
23295 * kern/device.c: Include grub/env.h.
23296 (grub_device_set_root): Removed.
23297 (grub_device_get_root): Likewise.
23298 (grub_device_open): Use grub_env_get instead of
23299 grub_device_get_root.
23300
23301 * include/grub/env.h (grub_env_read_hook_t): New type.
23302 (grub_env_write_hook_t): Likewise.
23303 (grub_env_var): Change the types of "read_hook" and "write_hook"
23304 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
23305 (grub_register_variable_hook): Likewise.
23306
23307 * include/grub/device.h (grub_device_set_root): Removed.
23308 (grub_device_set_root): Likewise.
23309
23310 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
23311 make sure that DIRNAME terminates with '/', so that
23312 grub_fat_find_dir will fail if PATH is not a directory.
23313
23314 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
23315 from DIRNAME.
23316 Use the qualifier auto for print_files and print_files_long.
23317 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
23318 as a regular file.
23319 Put a newline only if there is no error.
23320 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
23321 used.
23322
896f0afd 233232005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
23324
23325 * kern/partition.c (grub_partition_probe): Initialize PART to
23326 NULL. Otherwise, when no partition map is registered, this returns
23327 a garbage.
23328
b28b81b2 233292005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
23330
23331 * partmap/apple.c (apple_partition_map_iterate): Check if POS
23332 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
23333 valid.
23334
5f3607e0 233352005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
23336
23337 * commands/ls.c (grub_ls_list_disks): Print the filesystem
23338 information on each device, if it does not have partitions. Print
23339 "Device" instead of "Disk", because this function is not specific
23340 to disk devices.
23341
23342 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
23343 static to ensure that it is put on the memory rather than a
23344 register.
23345
502c87e8 233462005-07-17 Yoshinori Okuji <okuji@enbug.org>
23347
23348 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
23349 (grub_cat_init): Likewise.
23350 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
23351 (options): Likewise.
23352 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
23353 (grub_configfile_init): Likewise.
23354 * font/manager.c (GRUB_MOD_INIT): Likewise.
23355 * commands/help.c (GRUB_MOD_INIT): Likewise.
23356 (grub_help_init): Likewise.
23357 * normal/command.c (grub_command_init): Likewise.
23358 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
23359 * disk/loopback.c (grub_loop_init): Likewise.
23360 (GRUB_MOD_INIT): Likewise.
23361 * commands/ls.c (grub_ls_init): Likewise.
23362 (GRUB_MOD_INIT): Likewise.
23363 (options): Likewise.
23364 * commands/boot.c (grub_boot_init): Likewise.
23365 (GRUB_MOD_INIT): Likewise.
23366 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
23367 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
23368 (GRUB_MOD_INIT): Likewise.
23369 * commands/cmp.c (grub_cmp_init): Likewise.
23370 (GRUB_MOD_INIT): Likewise.
23371
23372 * normal/arg.c: Use <> instead of "" to include header files.
23373 (SHORT_ARG_HELP): New macro.
23374 (SHORT_ARG_USAGE): Likewise.
23375 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
23376 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
23377 descriptions.
23378 (find_short): Check if C is 'h' or 'u' explicitly.
23379 (grub_arg_show_help): Use space characters instead of tabs. Treat
23380 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
23381 are shown with --help and --usage only if they are not used for
23382 the command itself.
23383 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
23384 'h' and 'u'.
23385
23386 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
23387 const into "longarg". Change the type of "shortarg" to int.
23388
f806d18e 233892005-07-17 Yoshinori Okuji <okuji@enbug.org>
23390
23391 * boot/i386/pc/boot.S (boot_drive_check): New label.
23392
23393 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
23394 macro.
23395
23396 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
23397 which do not pass a boot drive correctly. Copied from GRUB Legacy.
23398
e293232b 233992005-07-17 Yoshinori Okuji <okuji@enbug.org>
23400
23401 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
23402 When turning off Gate A20, skip the check and return immediately,
23403 because this is not fatal usually.
23404
ebedfd00 234052005-07-17 Yoshinori Okuji <okuji@enbug.org>
23406
23407 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
23408 be 0x7C00 instead of 0x8000.
23409
23410 * boot/i386/pc/pxeboot.S: Rewritten.
23411
23412 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
23413 EXT_C.
23414 (gate_a20_check_state): Read a byte from 0x108000. Invert the
23415 result.
23416
654fc59f 234172005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
23418
23419 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
23420 robustness. This routine now supports a BIOS call and System
23421 Control Port A to modify the gate A20.
23422
23423 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
23424 Increased to 0x440.
23425
09f9923f 234262005-07-12 Hollis Blanchard <hollis@penguinppc.org>
23427
23428 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
23429 device path and resulting ihandle.
23430 (grub_ofdisk_close): dprintf the ihandle being closed.
23431 (grub_ofdisk_read): dprintf function parameters.
23432 * kern/mm.c (grub_mm_init_region): Likewise.
23433 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
23434 (grub_linux_boot): dprintf the Linux entry point, initrd address and
23435 size, and boot arguments.
23436 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
23437 before loading into memory.
23438 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
23439 before loading into memory.
23440
7ef504d8 234412005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
23442
23443 * kern/mm.c: Added much documentation.
23444 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
23445 8, set to 5 instead of 8.
23446
e0f050c2 234472005-07-10 Yoshinori Okuji <okuji@enbug.org>
23448
23449 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
23450
23451 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
23452 (grub_mkdevicemap_SOURCES): New variable.
23453
23454 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
23455 lib/device.c of GRUB Legacy.
23456
7224189a 234572005-07-10 Yoshinori Okuji <okuji@enbug.org>
23458
23459 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
23460 instead of PATH is NULL.
23461
68c864eb 234622005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
23463
23464 * commands/cmp.c (BUFFER_SIZE): New macro.
23465 (grub_cmd_cmp): Close the right file at the right time. Compare
23466 only data just read. Don't report files of different size as
23467 identical. Dynamically allocate buffers. Move variable
23468 declarations at the beginning of function.
23469
e6f3e614 234702005-07-09 Yoshinori Okuji <okuji@enbug.org>
23471
23472 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
23473 reverse.
23474
f8f1559a 234752004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
23476
23477 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
23478 when backspace is pressed at beginning of line.
23479
39c9d41d 234802005-07-03 Yoshinori Okuji <okuji@enbug.org>
23481
23482 * DISTLIST: Added genfslist.sh.
23483
23484 * normal/main.c (fs_module_list): New variable.
23485 (autoload_fs_module): New function.
23486 (read_fs_list): Likewise.
23487 (grub_normal_execute): Call read_fs_list.
23488
23489 * kern/fs.c (grub_fs_autoload_hook): New variable.
23490 (grub_fs_probe): Added support for auto-loading.
23491
23492 * include/grub/normal.h (struct grub_fs_module_list): New struct.
23493 (grub_fs_module_list_t): New type.
23494
23495 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
23496 (grub_fs_autoload_hook): New prototype.
23497
23498 * genfslist.sh: New file.
f19dbdb7 23499
39c9d41d 23500 * genmk.rb: Added a rule to generate a filesystem list.
23501
121c1d83 235022005-06-30 Marco Gerards <metgerards@student.han.nl>
23503
23504 * configure.ac: Fix the test for cross-compiling.
23505
23506 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
23507 define GRUB_UTIL anymore.
23508
23509 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
23510 so this function works on other systems than just big endian.
23511 (load_modules): Likewise.
23512 (add_segments): Likewise.
23513
e75d76e1 235142005-06-23 Hollis Blanchard <hollis@penguinppc.org>
23515
23516 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
23517 contains `l' modifier, get a long from va_arg().
23518
50b5a0a7 235192005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
23520
23521 * kern/mm.c (grub_free): If the next free block which is being
23522 merged is the first free block, set the first block to the block
23523 being freed.
23524 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
23525
89371b20 235262005-05-08 Hollis Blanchard <hollis@penguinppc.org>
23527
23528 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
23529 `grub_ieee1275_chosen'.
23530
168d6e58 235312005-05-08 Hollis Blanchard <hollis@penguinppc.org>
23532
23533 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
23534 (grub_ieee1275_chosen): New variable.
23535 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
23536 `chosen'.
23537 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
23538 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
23539 Rename first argument to `phandle' for consistency.
23540 (grub_ieee1275_get_property_length): Likewise.
23541 (grub_ieee1275_next_property): Likewise. Change type of first argument
23542 to grub_ieee1275_phandle_t.
23543 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
23544 Move export next to declaration.
23545 (grub_ieee1275_chosen): New variable.
23546 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
23547 Correct cosmetic typo.
23548 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
23549 `grub_ieee1275_chosen'.
23550 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
23551 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
23552 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
23553 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
23554 `grub_ieee1275_chosen'.
23555
ca5baa3f 235562005-05-10 Hollis Blanchard <hollis@penguinppc.org>
23557
23558 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
23559 /chosen/bootargs.
23560 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
23561 /chosen/bootargs as "variable=value" pairs.
23562
708b345f 235632005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
23564
23565 * include/grub/misc.h (grub_dprintf): New macro.
23566 (grub_real_dprintf): New prototype.
23567 (grub_strword): Likewise.
23568 (grub_iswordseparator): Likewise.
23569 * kern/misc.c (grub_real_dprintf): New function.
23570 (grub_strword): Likewise.
23571 (grub_iswordseparator): Likewise.
23572
f4c5e67c 235732005-04-30 Hollis Blanchard <hollis@penguinppc.org>
23574
23575 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
23576 (roundup): Remove macro.
23577 (grub_ieee1275_flags): Make static.
23578 (grub_ieee1275_realmode): Remove.
23579 (grub_ieee1275_test_flag): New function.
23580 (grub_ieee1275_set_flag): Likewise.
23581 (find_options): Rename to `grub_ieee1275_find_options'; update
23582 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
23583 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
23584 (cmain): New prototype.
23585 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
23586 `grub_ieee1275_flags' directly.
23587 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
23588 machine/biosdisk.h.
23589 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
23590 Don't include grub/machine/init.h.
23591 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
23592 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
23593 Remove prototype.
23594 (grub_ieee1275_realmode): Likewise.
23595 (grub_ieee1275_flag): New enum.
23596 (grub_ieee1275_test_flag): New prototype.
23597 (grub_ieee1275_set_flag): New prototype.
23598 * include/grub/powerpc/ieee1275/init.h: Remove file.
23599 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
23600 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
23601 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
23602 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
23603 comment.
23604 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
23605 `grub_ieee1275_test_flag'.
23606 (grub_ieee1275_encode_devname): Likewise.
23607
ed16607e 236082005-04-21 Hollis Blanchard <hollis@penguinppc.org>
23609
23610 * include/grub/powerpc/ieee1275/ieee1275.h
23611 (grub_ieee1275_encode_devname): New prototype.
23612 (grub_ieee1275_get_filename): Likewise.
23613 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
23614 function.
23615 (grub_set_prefix): Likewise.
23616 (grub_machine_init): Call grub_set_prefix.
23617 * kern/powerpc/ieee1275/openfw.c: Fix typos.
23618 (grub_parse_type): New enum.
23619 (grub_ieee1275_get_devargs): New function.
23620 (grub_ieee1275_get_devname): Likewise.
23621 (grub_ieee1275_parse_args): Likewise.
23622 (grub_ieee1275_get_filename): Likewise.
23623 (grub_ieee1275_encode_devname): Likewise.
23624
be369920 236252005-03-30 Marco Gerards <metgerards@student.han.nl>
23626
23627 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
23628 `grub_loader_unset'.
23629
a5ce3a4a 236302005-03-26 Hollis Blanchard <hollis@penguinppc.org>
23631
23632 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
23633 instead of grub_ieee1275_interpret.
23634 (grub_halt_init): New function.
23635 (grub_halt_fini): Likewise.
23636 (GRUB_MOD_INIT): Correct message grammar.
23637 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
23638 instead of grub_ieee1275_interpret.
23639 (grub_reboot_init): New function.
23640 (grub_reboot_fini): Likewise.
23641 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
23642 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
23643 util/i386/pc/misc.c with commands/ieee1275/halt.c,
23644 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
23645 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
23646 function.
23647 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
23648 Add prototype.
23649 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
23650 prototype.
23651 (grub_halt): Likewise.
23652 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
23653 (cmain): Remove __attribute__((unused)).
23654 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
23655 (grub_heap_len): Likewise.
23656 (grub_machine_fini): New function.
23657 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
23658 (grub_halt): Likewise.
23659 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
23660 function.
23661 * util/powerpc/ieee1275/misc.c: New file.
23662
0058f771 236632005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
23664
23665 * DISTLIST: New file.
23666 * gendistlist.sh: Likewise.
f19dbdb7 23667
0058f771 23668 * Makefile.in (COMMON_DISTFILES): Removed.
23669 (BOOT_DISTFILES): Likewise.
23670 (CONF_DISTFILES): Likewise.
23671 (DISK_DISTFILES): Likewise.
23672 (FS_DISTFILES): Likewise.
23673 (INCLUDE_DISTFILES): Likewise.
23674 (KERN_DISTFILES): Likewise.
23675 (LOADER_DISTFILES): Likewise.
23676 (TERM_DISTFILES): Likewise.
23677 (UTIL_DISTFILES): Likewise.
23678 (DISTFILES): Likewise.
23679 (uninstall): Uninstall files in $(pkgdata_DATA).
23680 (DISTLIST): New target.
23681 (distdir): Use the contents of the file DISTLIST to get a list of
23682 distributed files.
23683
46b3b8a5 236842005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
23685
23686 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
23687 descriptor. This is ported from GRUB Legacy.
23688
23689 * gencmdlist.sh: Added an extra semicolon to make it work with
23690 old sed versions. Reported by Robert Bihlmeyer
23691 <robbe@orcus.priv.at>.
23692
5822ff87 236932005-03-08 Yoshinori Okuji <okuji@enbug.org>
23694
23695 Automatic loading of commands is supported.
f19dbdb7 23696
5822ff87 23697 * normal/main.c (read_command_list): New function.
23698 (grub_normal_execute): Call read_command_list.
23699
23700 * normal/command.c (grub_register_command): Return zero or CMD.
23701 Allocate CMD->NAME from the heap.
23702 Initialize CMD->MODULE_NAME to zero.
23703 Find the same name as well. If the same command is found and it is
23704 a dummy command, overwrite members. If it is not a dummy command,
23705 return zero.
23706 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
23707 (grub_command_find): If a dummy command is found, load a module
23708 and retry to find a command only once.
23709
23710 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
23711 make sure that each command is loaded.
23712
23713 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
23714 macro.
23715 (struct grub_command): Remove const from the member `name'.
23716 Add a new member `module_name'.
23717 (grub_register_command): Return grub_command_t.
23718
23719 * commands/help.c (grub_cmd_help): Call grub_command_find to make
23720 sure that each command is loaded.
23721
23722 * genmk.rb (PModule::rule): Specify a module name without the
23723 suffix ".mod" to gencmdlist.sh.
23724
7b1f4b57 237252005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
23726
23727 * gencmdlist.sh: New file.
f19dbdb7 23728
7b1f4b57 23729 * genmk.rb (PModule::rule): Generate a rule for a command list.
23730 Clean command.lst.
23731 Generate command.lst from $(COMMANDFILES).
23732
23733 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
23734 (DATA): Added $(pkgdata_DATA).
23735 (install-local): Install files in $(pkgdata_DATA).
23736
062aaf39 237372005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
23738
23739 * term/i386/pc/vga.c (debug_command): Removed.
23740 (GRUB_MOD_INIT): Do not register the command "debug".
23741
23742 From Hollis Blanchard:
23743 * commands/configfile.c: New file.
23744 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
23745 commands/configfile.c.
23746 (pkgdata_MODULES): Added configfile.mod.
23747 (configfile_mod_SOURCES): New variable.
23748 (configfile_mod_CFLAGS): Likewise.
23749 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
23750 commands/configfile.c.
23751 (pkgdata_MODULES): Added configfile.mod.
23752 (configfile_mod_SOURCES): New variable.
23753 (configfile_mod_CFLAGS): Likewise.
23754 * util/grub-emu.c (main): Call grub_configfile_init and
23755 grub_configfile_fini.
23756 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
23757 prototype.
23758 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 23759
cee01aa6 237602005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
23761
23762 * normal/arg.c (grub_arg_show_help): Do not show the bug report
23763 address.
23764
23765 * commands/help.c (grub_cmd_help): Do not print newlines after
23766 the last command in print_command_help.
23767
93f3a1d8 237682005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
23769
23770 * commands/default.h: New file.
23771 * commands/timeout.h: Likewise.
23772 * normal/context.c: Likewise.
f19dbdb7 23773
93f3a1d8 23774 * util/misc.c: Do not include sys/times.h.
23775 Include sys/time.h and grub/machine/time.h.
23776 (grub_get_rtc): Rewritten with gettimeofday.
23777
23778 * util/grub-emu.c (main): Call grub_default_init and
23779 grub_timeout_init before grub_normal_init, and call
23780 grub_timeout_fini and grub_default_fini after grub_main.
23781
23782 * util/console.c (grub_ncurses_checkkey): Return the read
23783 character or -1.
23784
23785 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
23786 timeouts.
23787
23788 * normal/main.c (read_config_file): Push MENU. If this fails,
23789 print an error and wait for a user input.
23790 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
23791 If a menu is empty or an error occurs, pop MENU.
23792 (grub_normal_execute): Pop and free MENU after grub_menu_run
23793 returns.
23794
23795 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
23796
23797 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
23798 include time.h.
23799 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
23800 without GRUB_UTIL.
23801 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
23802 time.h.
23803 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
23804 without GRUB_UTIL.
23805
23806 * include/grub/normal.h (struct grub_menu_list): New struct.
23807 (grub_menu_list_t): New type.
23808 (struct grub_context): New struct.
23809 (grub_context_t): New type.
23810 (grub_register_command): Got rid of EXPORT_FUNC.
23811 (grub_unregister_command): Likewise.
23812 (grub_context_get): New prototype.
23813 (grub_context_get_current_menu): Likewise.
23814 (grub_context_push_menu): Likewise.
23815 (grub_context_pop_menu): Likewise.
23816 [GRUB_UTIL] (grub_default_init): Likewise.
23817 [GRUB_UTIL] (grub_default_fini): Likewise.
23818 [GRUB_UTIL] (grub_timeout_init): Likewise.
23819 [GRUB_UTIL] (grub_timeout_fini): Likewise.
23820
23821 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
23822 commands/timeout.c and normal/context.c.
23823 (pkgdata_MODULES): Added default.mod and timeout.mod.
23824 (normal_mod_SOURCES): Added normal/context.c.
23825 (default_mod_SOURCES): New variable.
23826 (default_mod_CFLAGS): Likewise.
23827 (timeout_mod_SOURCES): Likewise.
23828 (timeout_mod_CFLAGS): Likewise.
23829 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
23830 conf/i386-pc.rmk.
23831 (pkgdata_MODULES): Added default.mod and timeout.mod.
23832 (normal_mod_SOURCES): Added normal/context.c.
23833 (default_mod_SOURCES): New variable.
23834 (default_mod_CFLAGS): Likewise.
23835 (timeout_mod_SOURCES): Likewise.
23836 (timeout_mod_CFLAGS): Likewise.
23837
23838 * Makefile.in (all-local): Added $(MKFILES).
23839
4ed2e1dd 238402005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
23841
23842 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
23843 (grub_emu_SOURCES): Likewise.
23844 (pkgdata_MODULES): Add `sun.mod'.
23845 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
23846 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
23847 `partmap/sun.c'.
23848 (pkgdata_MODULES): Add `sun.mod'.
23849 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
23850 * include/grub/partition.h (grub_sun_partition_map_init): New
23851 prototype.
23852 (grub_sun_partition_map_fini): Likewise.
23853 * partmap/sun.c: New file.
23854 * util/grub-emu.c (main): Initialize and de-initialize the sun
23855 partitionmap support.
23856
4d4e372e 238572005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
23858
23859 This implements an Emacs-like menu entry editor.
f19dbdb7 23860
4d4e372e 23861 * normal/menu_entry.c: New file.
f19dbdb7 23862
4d4e372e 23863 * util/console.c (grub_ncurses_putchar): Translate some Unicode
23864 characters to ASCII.
23865 (saved_char): New variable.
23866 (grub_ncurses_checkkey): Rewritten completely.
23867 (grub_ncurses_getkey): Likewise.
23868 (grub_ncurses_init): Call raw instead of cbreak.
23869
23870 * normal/menu.c (print_entry): Do not put a space.
23871 (init_page): Renamed to ...
23872 (grub_menu_init_page): ... this. All callers changed.
23873 (edit_menu_entry): Removed.
23874 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
23875
23876 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
23877
23878 * kern/misc.c (grub_vprintf): Call grub_refresh.
23879
23880 * normal/menu.c (DISP_LEFT): Renamed to ...
23881 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
23882 * normal/menu.c (DISP_UP): Renamed to ...
23883 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
23884 * normal/menu.c (DISP_RIGHT): Renamed to ...
23885 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
23886 * normal/menu.c (DISP_DOWN): Renamed to ...
23887 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
23888 * normal/menu.c (DISP_HLINE): Renamed to ...
23889 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
23890 * normal/menu.c (DISP_VLINE): Renamed to ...
23891 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
23892 * normal/menu.c (DISP_UL): Renamed to ...
23893 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
23894 * normal/menu.c (DISP_UR): Renamed to ...
23895 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
23896 * normal/menu.c (DISP_LL): Renamed to ...
23897 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
23898 * normal/menu.c (DISP_LR): Renamed to ...
23899 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
23900 * normal/menu.c (TERM_WIDTH): Renamed to ...
23901 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
23902 * normal/menu.c (TERM_HEIGHT): Renamed to ...
23903 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
23904 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
23905 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
23906 * normal/menu.c (TERM_MARGIN): Renamed to ...
23907 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
23908 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
23909 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
23910 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
23911 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
23912 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
23913 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
23914 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
23915 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
23916 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
23917 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
23918 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
23919 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
23920 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
23921 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
23922 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
23923 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
23924 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
23925 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
23926 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
23927 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
23928 All callers changed.
23929
23930 * include/grub/normal.h: New prototype.
23931
23932 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
23933 normal/menu_entry.c.
23934 (normal_mod_SOURCES): Likewise.
23935 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23936 (normal_mod_SOURCES): Likewise.
23937
e6b92c8a 239382005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
23939
23940 * include/grub/normal.h (grub_halt_init): New prototype.
23941 (grub_halt_fini): Likewise.
23942 (grub_reboot_init): Likewise.
23943 (grub_reboot_fini): Likewise.
23944
23945 * util/grub-emu.c: Include signal.h.
23946 (main_env): New global variable.
23947 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
23948 catch C-c.
23949 (grub_machine_fini): New function.
23950 (main): Call grub_halt_init and grub_reboot_init before
23951 grub_main, and grub_reboot_fini and grub_halt_fini after it.
23952 Call setjmp with MAIN_ENV to go back afterwards.
23953 Call grub_machine_fini right before return.
23954
23955 * include/grub/util/misc.h: Include setjmp.h.
23956 (main_env): New prototype.
23957
23958 * include/grub/kernel.h (grub_machine_fini): New prototype.
23959 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
23960 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
23961
23962 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
23963 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
23964 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 23965
e6b92c8a 23966 * util/i386/pc/misc.c: New file.
f19dbdb7 23967
e6b92c8a 23968 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
23969 util/i386/pc/misc.c, commands/i386/pc/halt.c and
23970 commands/i386/pc/reboot.c.
23971
c642636f 239722005-02-14 Guillem Jover <guillem@hadrons.org>
23973
23974 * include/grub/dl.h (grub_dl_check_header): New prototype.
23975 (grub_arch_dl_check_header): Change return type to grub_err_t,
23976 remove size parameter and export function. Update all callers.
23977 * kern/dl.c (grub_dl_check_header): New function.
23978 (grub_dl_load_core): Use `grub_dl_check_header' instead of
23979 `grub_arch_dl_check_header'. Check ELF type. Check if sections
23980 are inside the core.
23981 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
23982 independent ELF header checks.
23983 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
23984 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
23985 `grub_dl_check_header' instead of explicit checks. Check for the
23986 ELF type.
23987 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
23988 `grub_dl_check_header' instead of explicit checks. Remove arch
23989 specific ELF header checks.
23990
e6b92c8a 23991 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
23992 argument SIZE.
23993
5eabe94b 239942005-02-13 Hollis Blanchard <hollis@penguinppc.org>
23995
23996 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
23997 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
23998
1b14a681 239992005-02-12 Hollis Blanchard <hollis@penguinppc.org>
24000
24001 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 24002 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 24003 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 24004 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 24005 * partmap/amiga.c (amiga_partition_map_iterate): Return
24006 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
24007 * partmap/apple.c (apple_partition_map_iterate): Likewise.
24008
aca108aa 240092005-02-01 Guillem Jover <guillem@hadrons.org>
24010
24011 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
24012 help info.
24013
c9f9c556 240142005-01-31 Marco Gerards <metgerards@student.han.nl>
24015
24016 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
24017 Removed prototype.
24018 (grub_rescue_cmd_linux): New prototype.
24019 (grub_rescue_cmd_initrd): Likewise.
24020 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
24021 `bi_rec'.
24022 (grub_linux_release_mem): Release the memory for the initrd.
24023 (grub_load_linux): Renamed from this...
24024 (grub_rescue_cmd_linux): ...To this. Changed all callers.
24025 Changed `entry' not to be static. Loop over memory regions to
24026 find another one when the default fails.
24027 (grub_rescue_cmd_initrd): New function.
24028 (grub_linux_init): Remove function.
24029 (grub_linux_fini): Likewise.
24030 (GRUB_MOD_INIT): Register `initrd'.
24031 (GRUB_MOD_FINI): Unregister `initrd'.
24032 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
24033 Function removed.
24034 (grub_linux_normal_fini): Likewise.
24035 (GRUB_MOD_INIT): Register `initrd'.
24036 (GRUB_MOD_FINI): Unregister `initrd'.
24037
990cf3aa 240382005-01-31 Marco Gerards <metgerards@student.han.nl>
24039
24040 * commands/help.c: New file.
24041 * normal/arg.c (show_help): Renamed to...
24042 (grub_arg_show_help): ... this.
24043 * commands/i386/pc/halt.c: New file.
24044 * commands/i386/pc/reboot.c: Likewise.
24045 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
24046 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
24047 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
24048 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
24049 variables.
24050 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
24051 `commands/help.c'.
24052 (pkgdata_MODULES): Add `help.mod'.
24053 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
24054 * grub/i386/pc/init.h (grub_reboot): New prototype.
24055 (grub_halt): Likewise.
24056 * include/grub/normal.h (grub_arg_show_help): New prototype.
24057 (grub_help_init): Likewise.
24058 (grub_help_fini): Likewise.
24059 * util/grub-emu.c (main): Initialize and deinitialize the help
24060 command.
24061
24062 * normal/cmdline.c (grub_cmdline_get): Doc fix.
24063
24064 * normal/command.c (grub_command_init): Fixed the description of
24065 the `set' and `unset' commands.
24066
240672005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 24068
24069 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
24070 function.
24071 * commands/ieee1275/halt.c: New file.
24072 * commands/ieee1275/reboot.c: Likewise.
24073 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
24074 `__attribute__ ((unused))'. Some GCS related fixed.
24075 (grub_suspend_init) [GRUB_UTIL]: Function removed.
24076 (grub_suspend_fini): Likewise.
24077 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
24078 and `halt.mod'.
24079 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
24080 (halt_mod_CFLAGS): New variables.
24081 * include/grub/powerpc/ieee1275/ieee1275.h
24082 (grub_ieee1275_interpret): New prototype.
24083
1ab09cc7 240842005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
24085
24086 * include/grub/misc.h (memmove): New prototype.
24087 (memcpy): Likewise.
24088
8b8cbdb2 240892005-01-22 Hollis Blanchard <hollis@penguinppc.org>
24090
24091 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
24092 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
24093
e3741a27 240942005-01-22 Marco Gerards <metgerards@student.han.nl>
24095
24096 * kern/misc.c (grub_strndup): Function rewritten.
24097
776bd780 240982005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
24099
24100 * normal/menu.c (TERM_WIDTH): Macro redefined.
24101 (TERM_TOP_BORDER_Y): Likewise.
24102 (draw_border): Replaced while-loop by a for-loop. Make the number
24103 of lines consistent with the number of lines displayed in
24104 print_entries. Added a margin below the rectangle.
24105 (print_entry): Make the entry fit in the rectangle.
24106 (print_entries): Display the scroll arrows next to the right
24107 border.
24108
78026bce 241092005-01-21 Marco Gerards <metgerards@student.han.nl>
24110
24111 * fs/minix.c (grub_minix_find_file): Reserve more space for
24112 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
24113 `grub_strncpy' to copy `path' into it.
24114
67bbaf0f 241152005-01-21 Marco Gerards <metgerards@student.han.nl>
24116
24117 Add the loopback device, a device via which files can be accessed
24118 as devices.
f19dbdb7 24119
67bbaf0f 24120 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
24121 (pkgdata_MODULES): Add loopback.mod.
24122 (loopback_mod_SOURCES): New variable.
24123 (loopback_mod_CFLAGS): Likewise.
24124 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
24125 `disk/loopback.c'.
24126 (pkgdata_MODULES): Add loopback.mod.
24127 (loopback_mod_SOURCES): New variable.
24128 (loopback_mod_CFLAGS): Likewise.
24129 * disk/loopback.c: new file.
24130 * include/grub/normal.h (grub_loop_init): New prototype.
24131 (grub_loop_fini): New prototype.
24132 * util/grub-emu.c (main): Initialize and de-initialize loopback
24133 support.
24134 * include/grub/disk.h (grub_disk_dev_id): Add
24135 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
24136
6f1c18bd 241372005-01-20 Hollis Blanchard <hollis@penguinppc.org>
24138
24139 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
24140 function.
24141 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
24142 (suspend_mod_SOURCES): New variable.
24143 (suspend_mod_CFLAGS): Likewise.
24144 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
24145 New prototype.
24146 * commands/ieee1275/suspend.c: New file.
24147
b38551da 241482005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
24149
24150 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 24151 ((unused))' to `__attribute__ ((used))'.
b38551da 24152 (GRUB_MOD_FINI): Likewise.
24153 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
24154 * genmk.rb (PModule): Assign space to common symbols when linking
24155 modules.
24156
777aff39 241572005-01-20 Marco Gerards <metgerards@student.han.nl>
24158
24159 * include/grub/mm.h (grub_mm_init_region): Change the type of the
24160 `unsigned' arguments to `grub_size_t'.
24161 (grub_malloc): Likewise.
24162 (grub_realloc): Likewise.
24163 (grub_memalign): Likewise.
24164 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
24165 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
24166 * util/misc.c (grub_malloc): Likewise.
24167 (grub_realloc): Likewise.
24168 * kern/mm.c (get_header_from_pointer): Change the casts to
24169 `unsigned' into a cast to `grub_size_t'.
24170
24171 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
24172 point to `currnode' when `currnode' is changed.
24173
24174 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
24175 Schottelius <nico-linux@schottelius.org>.
24176
d0ff18e1 241772005-01-09 Hollis Blanchard <hollis@penguinppc.org>
24178
24179 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
24180 (note_path): Remove variable.
24181 (GRUB_IEEE1275_NOTE_NAME): New macro.
24182 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
24183 (grub_ieee1275_note_hdr): New structure.
24184 (grub_ieee1275_note_desc): Likewise.
24185 (grub_ieee1275_note): Likewise.
24186 (load_note): Remove `dir' argument. All callers updated. Remove
24187 `note_img' and `path'. Do not load a file from `note_path'.
24188 Initialize a struct grub_ieee1275_note and write that to `out'.
24189 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
24190
4ca7004c 241912005-01-05 Marco Gerards <metgerards@student.han.nl>
24192
24193 * util/misc.c (grub_util_read_image): Revert last change. It
24194 called `grub_util_read_at', which seeks from the beginning of the
24195 file.
24196
0b412211 241972005-01-04 Hollis Blanchard <hollis@penguinppc.org>
24198
24199 * TODO: Add note about endianness in grub-mkimage.
24200 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
24201 section.
24202 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
24203 (grub_mkimage_SOURCES): New target.
24204 * include/grub/kernel.h (grub_start_addr): Remove variable.
24205 (grub_end_addr): Likewise.
24206 (grub_total_module_size): Likewise.
24207 (grub_kernel_image_size): Likewise.
24208 (GRUB_MODULE_MAGIC): New constant.
24209 (grub_module_info): New structure.
24210 (grub_arch_modules_addr): New prototype.
24211 (grub_get_end_addr): Remove prototype.
24212 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
24213 * include/grub/powerpc/ieee1275/kernel.h: New file.
24214 * include/grub/util/misc.h (grub_util_get_fp_size): New
24215 prototype.
24216 (grub_util_read_at): Likewise.
24217 (grub_util_write_image_at): Likewise.
24218 * kern/main.c (grub_get_end_addr): Remove function.
24219 (grub_load_modules): Call grub_arch_modules_addr instead of using
24220 grub_end_addr. Look for a grub_module_info struct in memory. Use
24221 the grub_module_info fields instead of calling grub_get_end_addr
24222 as loop conditions. Move grub_add_unused_region code here.
24223 (grub_add_unused_region): Remove function.
24224 * kern/i386/pc/init.c: Include grub/cache.h.
24225 (grub_machine_init): Remove call to grub_get_end_addr. Remove
24226 one call to add_mem_region.
24227 (grub_arch_modules_addr): New function.
24228 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
24229 (grub_total_module_size): Likewise.
24230 Include grub/machine/kernel.h.
24231 (grub_arch_modules_addr): New function.
24232 * util/grub-emu.c (grub_end_addr): Remove variable.
24233 (grub_total_module_size): Likewise.
24234 (grub_arch_modules_addr): New function.
24235 * util/misc.c: Include unistd.h.
24236 (grub_util_get_fp_size): New function.
24237 (grub_util_read_at): Likewise.
24238 (grub_util_write_image_at): Likewise.
24239 (grub_util_read_image): Call grub_util_read_at.
24240 (grub_util_write_image): Call grub_util_write_image_at.
24241 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
24242 additional memory in kernel_img for a struct grub_module_info.
24243 Fill in that grub_module_info.
24244 * util/powerpc/ieee1275/grub-mkimage.c: New file.
24245
458786f8 242462005-01-03 Hollis Blanchard <hollis@penguinppc.org>
24247
24248 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
24249 New function.
24250 * include/grub/powerpc/ieee1275/ieee1275.h
24251 (grub_ieee1275_milliseconds): New prototype.
24252 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
24253 Change to 1000.
24254 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
24255 grub_ieee1275_milliseconds.
24256
ac507d1b 242572005-01-03 Hollis Blanchard <hollis@penguinppc.org>
24258
24259 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
24260 variable.
24261 (find_options): New function.
24262 (cmain): Call find_options.
24263 * include/grub/powerpc/ieee1275/ieee1275.h
24264 (grub_ieee1275_realmode): New extern variable.
24265 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
24266 grub_map if grub_ieee1275_realmode is false.
24267
6b8fd1c4 242682004-12-29 Marco Gerards <metgerards@student.han.nl>
24269
24270 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
24271 lines are inserted and make it work like readline. Reported by
24272 Vincent Pelletier <subdino2004@yahoo.fr>.
24273
8514a1e0 242742004-12-28 Marco Gerards <metgerards@student.han.nl>
24275
24276 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
24277
24278 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
24279 `kern/powerpc/cache.S'.
24280
924b6140 242812004-12-27 Marco Gerards <metgerards@student.han.nl>
24282
24283 * genmk.rb: Handle the `Program' class in the main loop. Written
24284 by Johan Rydberg <jrydberg@gnu.org>.
24285 (Program): New class.
24286 (programs): New variable.
24287 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
24288 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
24289 instead of "grub/kernel.h". Include <grub/machine/init.h>.
24290 (help_arch): Function removed.
24291 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
24292 `powerpc/libgcc.h' and `loader.h'.
24293 (pkgdata_PROGRAMS): New variable.
24294 (sbin_UTILITIES): Variable removed.
24295 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
24296 (grubof_SOURCES): Variable re-defined so it only includes the
24297 core functionality.
24298 (grubof_CFLAGS): Remove `-DGRUBOF'.
24299 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
24300 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
24301 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
24302 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
24303 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
24304 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
24305 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
24306 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
24307 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
24308 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
24309 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
24310 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
24311 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
24312 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
24313 (pc_mod_CFLAGS): New variables.
24314 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
24315 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
24316 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
24317 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
24318 Moved from here...
24319 * include/grub/i386/pc/init.h (grub_os_area_addr)
24320 (rub_os_area_size): ... to here.
24321 * include/grub/powerpc/ieee1275/ieee1275.h
24322 (grub_ieee1275_entry_fn): Export symbol.
24323 * include/grub/powerpc/ieee1275/init.h: New file.
24324 * include/grub/powerpc/libgcc.h: Likewise.
24325 * include/grub/cache.h: Likewise.
24326 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
24327 <hollis@penguinppc.org>.
24328 * kern/dl.c: Include <grub/cache.h>.
24329 (grub_dl_flush_cache): New function.
24330 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
24331 for this module.
24332 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
24333 (grub_console_init): Removed prototypes.
24334 (grub_machine_init): Don't initialize the modules anymore.
24335 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
24336 static.
24337 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
24338 Macro undef removed.
24339 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
24340 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
24341 relocation `R_PPC_REL32'. Return an error when the relocation is
24342 unknown.
24343 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
24344 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
24345 * util/misc.c (grub_arch_sync_caches): Likewise.
24346
e4b47e0c 243472004-12-19 Marco Gerards <metgerards@student.han.nl>
24348
24349 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
24350 `symlist.c', add `grubof_symlist.c'.
24351 (symlist.c): Variable removed.
24352 (grubof_HEADERS): Variable added.
24353 (grubof_symlist.c): New target.
24354 (kernel_syms.lst): Use `grubof_HEADERS' instead of
24355 `kernel_img_HEADERS'.
24356 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
24357 * kern/powerpc/dl.c: New file.
24358 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
24359 Function removed.
24360 (grub_arch_dl_relocate_symbols): Likewise.
24361 (grub_register_exported_symbols): Likewise.
24362
4ceb3636 243632004-12-13 Marco Gerards <metgerards@student.han.nl>
24364
24365 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
24366 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
24367 to fail instead. Reported by Vincent Pelletier
24368 <subdino2004@yahoo.fr>.
24369
24370 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
24371 it is not allocated. Reported by Vincent Pelletier
24372 <subdino2004@yahoo.fr>.
24373
24374 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
24375 output so the output looks better.
f19dbdb7 24376
3f1578fe 243772004-12-04 Marco Gerards <metgerards@student.han.nl>
24378
24379 Modulize the partition map support and add support for the amiga
24380 partition map.
f19dbdb7 24381
3f1578fe 24382 * commands/ls.c: Include <grub/partition.h> instead of
24383 <grub/machine/partition.h>.
24384 * kern/disk.c: Likewise.
24385 * kern/rescue.c: Likewise.
24386 * loader/i386/pc/chainloader.c: Likewise.
24387 * normal/cmdline.c: Likewise.
24388 * kern/powerpc/ieee1275/init.c: Likewise.
24389 (grub_machine_init): Call `grub_pc_partition_map_init',
24390 `grub_amiga_partition_map_init' and
24391 `grub_apple_partition_map_init'.
24392 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
24393 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
24394 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
24395 `partition.h' and `pc_partition.h'.
24396 (grub_setup_SOURCES): Remove
24397 `disk/i386/pc/partition.c'. Add `kern/partition.c',
24398 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
24399 (grub_emu_SOURCES): Likewise.
24400 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
24401 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
24402 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
24403 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
24404 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
24405 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
24406 (grubof_SOURCES): Likewise.
24407 * disk/i386/pc/partition.c: File removed.
24408 * disk/powerpc/ieee1275/partition.c: Likewise.
24409 * include/grub/powerpc/ieee1275/partition.h: Likewise.
24410 * include/grub/i386/pc/partition.h: Likewise.
24411 * kern/partition.c: New file.
24412 * partmap/amiga.c: Likewise.
24413 * partmap/apple.c: Likewise.
24414 * partmap/pc.c: Likewise.
24415 * include/grub/partition.h: Likewise..
24416 * include/grub/pc_partition.h: Likewise.
24417 * util/grub-emu.c: Include <grub/partition.h> instead of
24418 <grub/machine/partition.h>.
24419 (main): Call `grub_pc_partition_map_init',
24420 `grub_amiga_partition_map_init' and
24421 `grub_apple_partition_map_init' and deinitialize afterwards.
24422 * util/i386/pc/biosdisk.c: Include `#include
24423 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
24424 `<grub/machine/partition.h>'.
24425 * util/i386/pc/grub-setup.c: Likewise.
24426 * util/i386/pc/biosdisk.c: Likewise.
24427 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
24428 partition information in case of a PC partition.
24429 * util/i386/pc/grub-setup.c: Include `#include
24430 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
24431 `<grub/machine/partition.h>'.
24432 (setup): Only access the PC specific partition information in case
24433 of a PC partition.
24434
0ef4ced9 244352004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 24436
0ef4ced9 24437 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
24438 (grub_longjmp): Likewise.
24439 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
24440 20.
24441 * normal/powerpc/setjmp.S: New file.
24442 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
24443 `normal/powerpc/setjmp.S'.
24444 (grubof_CFLAGS): Add `-DGRUBOF'.
24445 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
24446 [GRUB_UTIL && !GRUBOF].
f19dbdb7 24447
19950e29 244482004-11-16 Marco Gerards <metgerards@student.han.nl>
24449
24450 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
24451 property named `name'. Correctly handle the error returned by
24452 `grub_ieee1275_finddevice' if a device can not be opened.
24453
a2fea427 244542004-11-02 Hollis Blanchard <hollis@penguinppc.org>
24455
24456 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
24457 `actual' for negativity.
24458 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
24459 kern/fshelp.c.
24460
41ea0ea3 244612004-11-01 Marco Gerards <metgerards@student.han.nl>
24462
24463 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
24464 (PAGE_OFFSET): New macro.
24465 (CRTC_ADDR_PORT): Likewise.
24466 (CRTC_DATA_PORT): Likewise.
24467 (START_ADDR_HIGH_REGISTER): Likewise.
24468 (START_ADDR_LOW_REGISTER): Likewise.
24469 (GRAPHICS_ADDR_PORT): Likewise.
24470 (GRAPHICS_DATA_PORT): Likewise.
24471 (READ_MAP_REGISTER): Likewise.
24472 (INPUT_STATUS1_REGISTER): Likewise.
24473 (INPUT_STATUS1_VERTR_BIT): Likewise.
24474 (page): New variable.
24475 (wait_vretrace): New function.
24476 (set_read_map): Likewise.
24477 (set_start_address): Likewise.
24478 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
24479 the right page.
24480 (check_vga_mem): Take the page into account.
24481 (write_char): Likewise.
24482 (write_cursor): Likewise.
24483 (scroll_up): Likewise. Copy the page to the page that is not
24484 shown and switch between both pages.
24485 (grub_vga_putchar): Fix off by one error.
24486 (grub_vga_cls): Wait for the vertical retrace. Take the page into
24487 account.
24488
ad0bd20b 244892004-11-01 Marco Gerards <metgerards@student.han.nl>
24490
24491 Add support for iso9660 (including rockridge).
f19dbdb7 24492
ad0bd20b 24493 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
24494 (iso9660_mod_SOURCES): New variable.
24495 (iso9660_mod_CFLAGS): Likewise.
24496 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
24497 * include/grub/fs.h (grub_iso9660_init): New prototype.
24498 * util/grub-emu.c (main): Call `grub_iso9660_init'.
24499 * fs/iso9660.c: New file.
24500
24501 * include/grub/misc.h (grub_strncat): New prototype.
24502 * kern/misc.c (grub_strncat): New function.
f19dbdb7 24503
ad0bd20b 24504 * fs/hfs.c (grub_hfs_mount): Translate the error
24505 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
24506 * fs/jfs.c (grub_jfs_mount): Likewise.
24507 * fs/ufs.c (grub_ufs_mount): Likewise.
24508
a5477a59 245092004-10-28 Hollis Blanchard <hollis@penguinppc.org>
24510
24511 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
24512 which initialized BAT registers.
24513 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
24514 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
24515 Move from here...
24516 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
24517 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
24518 ... to here.
24519 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
24520 (grub_mapclaim): Likewise.
24521 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
24522 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
24523 hand.
24524
9304c1f8 245252004-10-19 Hollis Blanchard <hollis@penguinppc.org>
24526
24527 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
24528 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
24529 -ffreestanding and -msoft-float.
24530
86f4ae25 245312004-10-15 Hollis Blanchard <hollis@penguinppc.org>
24532
24533 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
24534 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
24535 set in grub_ieee1275_flags.
24536
38912228 245372004-10-14 Hollis Blanchard <hollis@penguinppc.org>
24538
24539 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
24540 prototype.
24541 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
24542 grub_console_init first.
24543 Change the memory range used for grub_ieee1275_claim and
24544 grub_mm_init_region.
24545 Print an error message if the claim fails.
24546 Include <grub/misc.h>.
24547
d1923dc8 245482004-10-13 Hollis Blanchard <hollis@penguinppc.org>
24549
24550 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
24551 Call grub_children_iterate for device nodes of type `scsi',
24552 `ide', or `ata'.
24553 (grub_ofdisk_open): Remove manual device alias resolution.
24554 Fix memory leak when device cannot be opened.
f19dbdb7 24555 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 24556 (grub_children_iterate): New prototype.
24557 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
24558 New function.
24559 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
24560 Return -1 if args.size was -1.
24561
4512e4f3 245622004-10-11 Hollis Blanchard <hollis@penguinppc.org>
24563
24564 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
24565 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
24566 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
24567 Open Firmware's memory for it; claim memory from _start to _end.
24568 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
24569 (_end): New extern.
24570 (_start): Zero BSS from __bss_start to _end.
24571 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
24572 New extern.
24573 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
24574
4d61feb0 245752004-10-11 Hollis Blanchard <hollis@penguinppc.org>
24576
ad0bd20b 24577 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
24578 -1 if args.base was -1.
4d61feb0 24579
026fa2f9 245802004-10-08 Hollis Blanchard <hollis@penguinppc.org>
24581
24582 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
24583 escape sequence instead of a literal ^L. Also call
24584 grub_ofconsole_gotoxy.
24585
9f2220ef 245862004-10-03 Hollis Blanchard <hollis@penguinppc.org>
24587
24588 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
24589 void * arguments to grub_addr_t. All callers updated. Also make
24590 the `result' argument optional.
24591 (grub_ieee1275_release): change void * arguments to grub_addr_t.
24592 All callers updated.
24593
8a572cd7 245942004-09-22 Hollis Blanchard <hollis@penguinppc.org>
24595
24596 * commands/ls.c (grub_ls_list_files): Use the string following the
24597 initial ')', if present, as the filesystem path.
24598 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
24599
24600 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
24601
18aa81f2 246022004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
24603
24604 Make the source code of the menu interface more readable.
f19dbdb7 24605
18aa81f2 24606 * normal/menu.c: Include grub/mm.h.
24607 (TERM_WIDTH): New macro.
24608 (TERM_HEIGHT): Likewise.
24609 (TERM_INFO_HEIGHT): Likewise.
24610 (TERM_MARGIN): Likewise.
24611 (TERM_SCROLL_WIDTH): Likewise.
24612 (TERM_TOP_BORDER_Y): Likewise.
24613 (TERM_LEFT_BORDER_X): Likewise.
24614 (TERM_BORDER_WIDTH): Likewise.
24615 (TERM_MESSAGE_HEIGHT): Likewise.
24616 (TERM_BORDER_HEIGHT): Likewise.
24617 (TERM_NUM_ENTRIES): Likewise.
24618 (TERM_FIRST_ENTRY_Y): Likewise.
24619 (TERM_ENTRY_WIDTH): Likewise.
24620 (TERM_CURSOR_X): Likewise.
24621 (draw_border): Use macros instead of magic numbers.
24622 (print_entry): Likewise.
24623 (print_entries): Likewise.
24624 (run_menu): Likewise. Also, handle the key 'e'.
24625 (run_menu_entry): Ignore empty command lines.
24626 (print_message): Added a new argument EDIT. If EDIT is true,
24627 print a different message.
24628 (init_page): Likewise.
24629 (edit_menu_entry): New function. Not implemented yet.
24630
b47efe30 246312004-09-17 Marco Gerards <metgerards@student.han.nl>
24632
24633 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
24634 can be loaded from normal mode.
f19dbdb7 24635
b47efe30 24636 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
24637 `multiboot.mod'.
24638 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
24639 (multiboot_mod_CFLAGS): New variables.
24640 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 24641 * loader/i386/pc/multiboot_normal.c: Likewise.
24642
b47efe30 24643 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
24644 attribute `unused'.
f19dbdb7 24645
b47efe30 24646 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
24647 `fdiro' to read the mode information from instead of `diro'.
24648
24649 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
24650 looking up a symlink.
24651
24652 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
24653 macro.
24654 * normal/command.c (grub_command_execute): Don't parse the
24655 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
24656 flags of the command.
24657
24658 * normal/menu.c (grub_menu_run): Fix typo.
24659
da75ac71 246602004-09-14 Hollis Blanchard <hollis@penguinppc.org>
24661
24662 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
24663
24664 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
24665 `y + 1' instead of `y - 1'.
24666
24667 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 24668
062b24c2 246692004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
24670
24671 From Hollis Blanchard <hollis@penguinppc.org>:
24672 * kern/misc.c (memmove): New alias for grub_memmove.
24673 (memcmp): New alias for grub_memcmp.
24674 (memset): New alias for grub_memset.
f19dbdb7 24675 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 24676 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 24677 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 24678 (grub_ieee1275_get_property): Likewise.
f19dbdb7 24679
8ddad845 246802004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
24681
24682 Added normal mode command `chainloader' as module chain.mod, which
24683 depends on normal.mod and _chain.mod.
f19dbdb7 24684
8ddad845 24685 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
24686 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
24687 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
24688 Deleted prototype.
24689 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
24690 but arguments parsing moved to ...
24691 (grub_chainloader_cmd): ... here. New function.
24692 * include/grub/i386/pc/chainloader.h: New file.
24693 * loader/i386/pc/chainloader_normal.c: Likewise.
24694
2c1f4ce3 246952004-09-11 Marco Gerards <metgerards@student.han.nl>
24696
24697 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
24698 (grub_mkimage_LDFLAGS): Likewise.
24699 (grub_emu_SOURCES): Likewise.
24700 (kernel_img_HEADERS): Added fshelp.h.
24701 * fs/ext2.c: Include <grub/fshelp.h>.
24702 (FILETYPE_REG): New macro.
24703 (FILETYPE_INO_REG): Likewise.
24704 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
24705 Changed all users.
24706 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
24707 all users.
24708 (grub_fshelp_node): New struct.
24709 (grub_ext2_data): Added member `diropen'. Changed member `inode'
24710 to a pointer.
24711 (grub_ext2_get_file_block): Removed function.
24712 (grub_ext2_read_block): New function.
24713 (grub_ext2_read_file): Replaced parameter `data' by `node'.
24714 This function was written.
24715 (grub_ext2_mount): Read the root inode. Create a diropen struct.
24716 (grub_ext2_find_file): Removed function.
24717 (grub_ext2_read_symlink): New function.
24718 (grub_ext2_iterate_dir): Likewise.
24719 (grub_ext2_open): Rewritten.
24720 (grub_ext2_dir): Rewritten.
24721 * include/grub/fshelp.h: New file.
24722 * fs/fshelp.c: Likewise.
24723
3c52136a 247242004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
24725
24726 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
24727 (print_message): Add a missing newline.
24728 (run_menu): Added timeout support.
24729 (run_menu_entry): New local function.
24730 (grub_menu_run): Added support for booting.
24731
24732 * kern/loader.c (grub_loader_is_loaded): New function.
24733
24734 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
24735 (grub_get_rtc): Exported.
24736
24737 * include/grub/i386/pc/time.h: Include grub/symbol.h.
24738 (grub_get_rtc): Exported.
24739
24740 * include/grub/normal.h (struct grub_command_list): Remove
24741 constant from the member `command'.
24742
24743 * include/grub/loader.h (grub_loader_is_loaded): Declared.
24744
24745 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
24746
24747 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
24748
aa033560 247492004-08-28 Marco Gerards <metgerards@student.han.nl>
24750
24751 Add support for the JFS filesystem.
24752
24753 * fs/jfs.c: New file.
24754 * include/grub/fs.h (grub_jfs_init): New prototype.
24755 (grub_jfs_fini): New prototype.
24756 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
24757 (grub_emu_SOURCES): Likewise.
24758 (pkgdata_MODULES): Add jfs.mod.
24759 (jfs_mod_SOURCES): New variable.
24760 (jfs_mod_CFLAGS): Likewise.
24761 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
24762 (grubof_SOURCES): Likewise.
24763 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
24764
24765 * fs/fat.c (grub_fat_find_dir): Convert the filename little
24766 endian to the host endian.
24767 (grub_fat_utf16_to_utf8): Move function from there...
24768 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 24769 the endianness of the source string anymore.
aa033560 24770 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
24771
94bc45af 247722004-08-24 Marco Gerards <metgerards@student.han.nl>
24773
24774 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
24775 (grub_boot_fini) [GRUB_UTIL]: Likewise.
24776 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
24777 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 24778
94bc45af 24779 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
24780 (grub_hfs_iterate_dir): Make the function static. Add prototypes
24781 for `node_found' and `it_dir'.
24782 (grub_hfs_dir): Add prototype for `dir_hook'.
24783
24784 * fs/minix.c (grub_minix_get_file_block): Add prototype for
24785 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
24786 and `indir32' to silence a gcc warning.
24787
24788 * include/grub/fs.h (grub_hfs_init): New prototype.
24789 (grub_hfs_fini): Likewise.
f19dbdb7 24790
24791
97543f08 247922004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
24793
24794 Each disk device has its own id now. This is useful to make use
24795 of multiple disk devices.
f19dbdb7 24796
97543f08 24797 * include/grub/disk.h (grub_disk_dev_id): New enum.
24798 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
24799 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
24800
24801 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
24802 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
24803
24804 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
24805 GRUB_DISK_DEVICE_OFDISK_ID as an id.
24806
24807 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
24808 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
24809
24810 * include/grub/disk.h (struct grub_disk_dev): Added a new member
24811 "id" which is used by the cache manager.
24812
24813 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
24814 of just "GRUB".
24815
64372eb4 248162004-08-18 Marco Gerards <metgerards@student.han.nl>
24817
24818 * fs/hfs.c: New file.
24819 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
24820 (grub_emu_SOURCES): Likewise.
24821 (pkgdata_MODULES): Add hfs.mod.
24822 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
24823 (grubof_SOURCES): Likewise.
24824 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
24825
24826 * include/grub/misc.h (grub_strncasecmp): Add prototype.
24827 * kern/misc.c (grub_strncasecmp): Add function.
24828
cc61b58f 248292004-08-14 Marco Gerards <metgerards@student.han.nl>
24830
24831 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
24832 with parentheses.
24833
24834 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
24835 (grub_ext2_dir): In case the directory entry type is unknown, read
24836 it from the inode.
24837
0ef123f6 248382004-08-02 Peter Bruin <pjbruin@dds.nl>
24839
24840 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
24841 grub_load_linux instead of grub_rescue_cmd_linux as second
24842 argument of grub_rescue_register_command.
24843
24844 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
24845
a447c5df 248462004-07-27 Marco Gerards <metgerards@student.han.nl>
24847
24848 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
24849 function.
24850 * commands/boot.c: Remove the check for `GRUB_UTIL'.
24851 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
24852 `loader/powerpc/ieee1275/linux.c',
24853 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
24854 * include/grub/powerpc/ieee1275/ieee1275.h
24855 (grub_ieee1275_release): New prototype.
24856 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
24857 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
24858 normal, boot, linux and linux_normal.
24859 * loader/powerpc/ieee1275/linux.c: New file.
24860 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
24861
5a9e3546 248622004-07-12 Marco Gerards <metgerards@student.han.nl>
24863
24864 * normal/arg.c (grub_arg_parse): Correct error handling after
24865 reallocating the argumentlist (check if `argl' is not null instead
24866 of checking if `args' is not null).
24867 * kern/mm.c (grub_realloc): Return the same pointer when using the
24868 same region, instead of returning the header address.
24869
e15199cb 248702004-07-11 Marco Gerards <metgerards@student.han.nl>
24871
24872 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
24873 one block instead of two when looking for the initial partition.
24874 (grub_partition_probe): Initialize the local variable `p' with 0.
24875 Use base 10 for the grub_strtoul call.
24876 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
24877 need for one local variable.
24878 (grub_strtoul): Don't add the new value to `num', instead of that
24879 just assign it.
24880
020616c2 248812004-07-11 Marco Gerards <metgerards@student.han.nl>
24882
24883 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
24884 (pxeboot_img_SOURCES): New variable.
24885 (pxeboot_img_ASFLAGS): Likewise.
24886 (pxeboot_img_LDFLAGS): Likewise.
24887 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
24888 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
24889 <lode_leroy@hotmail.com>.
24890
6c51eb64 248912004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
24892
24893 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
24894 there was no input.
24895
cfb12aff 248962004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
24897
24898 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
24899 the history buffer logic.
24900
6eabba74 249012004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
24902
24903 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
24904 (FILETYPE_INO_SYMLINK): New macros.
24905 (grub_ext2_find_file): Check if the node is a directory using the
24906 inode stat information instead of using the filetype in the
24907 dirent. Exclude the first character of an absolute symlink.
24908 (grub_ext2_dir): Mask out the filetype part of the mode member of
24909 the inode.
24910
66e19ef8 249112004-05-24 Marco Gerards <metgerards@student.han.nl>
24912
24913 Add support for UFS version 1 and 2. Add support for the minix
24914 filesystem version 1 and 2, both the variants with 14 and 30 long
24915 filenames.
f19dbdb7 24916
66e19ef8 24917 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
24918 fs/minix.c.
24919 (grub_emu_SOURCES): Likewise.
24920 (pkgdata_MODULES): Add ufs.mod and minix.mod.
24921 (ufs_mod_SOURCES): New variable.
24922 (ufs_mod_CFLAGS): Likewise.
24923 (minix_mod_SOURCES): Likewise.
24924 (minix_mod_CFLAGS): Likewise.
24925 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
24926 fs/minix.c.
24927 (grubof_SOURCES): Likewise.
24928 * fs/ufs.c: New file.
24929 * fs/minix.c: New file.
24930 * include/grub/fs.h (grub_ufs_init): New prototype.
24931 (grub_ufs_fini): Likewise.
24932 (grub_minix_init): Likewise.
24933 (grub_minix_fini): Likewise.
24934 * util/grub-emu.c (main): Initialize and deinitialize UFS and
24935 minix fs.
24936
cc2e748a 249372004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
24938
24939 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
24940 commands/ls.c, commands/terminal.c, commands/boot.c,
24941 commands/cmp.c and commands/cat.c.
24942 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
24943
24944 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
24945 "env.h"
24946
4b13b216 249472004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
24948
24949 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
24950 and grub_, respectively. Because the conversion is trivial and
24951 mechanical, I omit the details here. Please refer to the CVS
24952 if you need more information.
24953
6a142551 249542004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
24955
24956 * include/pupa: Renamed to ...
24957 * include/grub: ... this.
24958 * util/i386/pc/pupa-mkimage.c: Renamed to ...
24959 * util/i386/pc/grub-mkimage.c: ... this.
24960 * util/i386/pc/pupa-setup.c: Renamed to ...
24961 * util/i386/pc/grub-setup.c: ... this.
24962 * util/pupa-emu.c: Renamed to ...
24963 * util/grub-emu.c: ... this.
24964
e56cdf21 249652004-03-29 Marco Gerards <metgerards@student.han.nl>
24966
24967 Add support for the newworld apple macintosh (PPC). This has been
24968 tested on the powerbook 2000 only. It only adds support for
24969 generic ieee1275 functions, console and disk support. This should
24970 be easy to port to other architectures with support for Open
24971 Firmware.
f19dbdb7 24972
e56cdf21 24973 * configure.ac: Accept the powerpc as host_cpu. In the case of
24974 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
24975 specific tests are only executed while building for the i386.
24976 Inverse test for crosscompile.
24977 * genmk.rb (Utility): Allow assembler files.
24978 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
24979 * conf/powerpc-ieee1275.rmk: New file.
24980 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
24981 * disk/powerpc/ieee1275/partition.c: Likewise.
24982 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
24983 * include/pupa/powerpc/ieee1275/console.h: Likewise.
24984 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
24985 * include/pupa/powerpc/ieee1275/time.h: Likewise.
24986 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
24987 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
24988 * include/pupa/powerpc/ieee1275/loader.h
24989 * include/pupa/powerpc/setjmp.h: Likewise.
24990 * include/pupa/powerpc/types.h: Likewise.
24991 * kern/powerpc/ieee1275/init.c: Likewise.
24992 * kern/powerpc/ieee1275/openfw.c: Likewise.
24993 * term/powerpc/ieee1275/ofconsole.c: Likewise.
24994
24995 These files were written by Johan Rydberg
24996 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 24997
e56cdf21 24998 * boot/powerpc/ieee1275/cmain.c: New file.
24999 * boot/powerpc/ieee1275/crt0.S: Likewise.
25000 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
25001 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
25002
8c8cc205 250032004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
25004
25005 * Makefile.in: Update copyright.
25006 * genmodsrc.sh: Likewise.
25007 * gensymlist.sh: Likewise.
25008 * term/i386/pc/vga.c: Indent correctly.
25009
25010 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
25011 bugreporting address.
25012 * util/i386/pc/pupa-setup.c (usage): Likewise,
25013 (main): Call pupa_ext2_init and pupa_ext2_fini.
25014
f19dbdb7 25015 * fs/fat.c (log2): Renamed to ...
8c8cc205 25016 (fat_log2): ... this.
25017 All callers changed.
25018 * kern/misc.c (memcpy): Alias to pupa_memmove.
25019 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
25020 lvalue cast.
25021 * util/console.c (pupa_ncurses_fini): Return 0.
25022
25023 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
25024 Move fail label here.
25025 [__GNU__]: Don't warn when using stat.
25026 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
25027 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
25028 long int. Use strtol instead of strtoul.
f19dbdb7 25029
db1771cf 250302004-03-14 Marco Gerards <metgerards@student.han.nl>
25031
25032 * commands/boot.c: New file.
25033 * commands/cat.c: Likewise.
25034 * commands/cmp.c: Likewise.
25035 * commands/ls.c: Likewise.
25036 * commands/terminal.c: Likewise.
25037 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
25038 (pupa_register_command): Changed interface to match the new
25039 argument parser.
25040 (pupa_command_execute): Changed (almost rewritten) so it uses
25041 pupa_split_command. Added support for setting variables using the
25042 syntax `foo=bar'.
25043 (rescue_command): Changed to work with the new argument parser.
25044 (terminal_command): Moved from here to commands/terminal.c.
25045 (set_command): New function.
25046 (unset_command): New function.
25047 (insmod_command): New function.
25048 (rmmod_command): New function.
25049 (lsmod_command): New function.
25050 (pupa_command_init): Don't initialize the command terminal
25051 anymore. Initialize the commands set, unset, insmod, rmmod and
25052 lsmod.
25053 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
25054 (kernel_img_HEADERS): Add arg.h and env.h.
25055 (pupa_mkimage_LDFLAGS): Add kern/env.c.
25056 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
25057 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
25058 normal/arg.c.
25059 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
25060 terminal.mod.
25061 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
25062 (boot_mod_SOURCES): New variable.
25063 (terminal_mod_SOURCES): Likewise.
25064 (ls_mod_SOURCES): Likewise.
25065 (cmp_mod_SOURCES): Likewise.
25066 (cat_mod_SOURCES): Likewise.
25067
25068 * normal/arg.c: New file.
25069 * kern/env.c: Likewise.
25070 * include/pupa/arg.h: Likewise.
25071 * include/pupa/env.h: Likewise.
25072 * font/manager.c (font_command): Changed to match argument parsing
25073 interface changes.
25074 (PUPA_MOD_INIT): Likewise.
25075 * hello/hello.c (pupa_cmd_hello): Likewise.
25076 (PUPA_MOD_INIT): Likewise.
25077 * include/pupa/disk.h: Include <pupa/device.h>.
25078 (pupa_print_partinfo): New prototype.
25079 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
25080 (pupa_dl_get_prefix): Likewise.
25081 * include/pupa/misc.h: Include <pupa/err.h>.
25082 (pupa_isgraph): New prototype.
25083 (pupa_isdigit): Likewise.
25084 (pupa_split_cmdline): Likewise.
25085 * include/pupa/normal.h: Include <pupa/arg.h>.
25086 (pupa_command): Changed the prototype of the member `func' to
25087 match the argument parsing interface. Added member `options'.
25088 (pupa_register_command): Updated to match function.
25089 (pupa_arg_parse): New prototype.
25090 (pupa_hello_init) [PUPA_UTIL]: New prototype.
25091 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
25092 (pupa_ls_init) [PUPA_UTIL]: Likewise.
25093 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
25094 (pupa_cat_init) [PUPA_UTIL]: Likewise.
25095 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
25096 (pupa_boot_init) [PUPA_UTIL]: Likewise.
25097 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
25098 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
25099 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
25100 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
25101 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
25102 * kern/disk.c: Include <pupa/file.h>.
25103 (pupa_print_partinfo): New function.
25104 * kern/dl.c: Include <pupa/env.h>.
25105 (pupa_dl_dir): Variable removed.
25106 (pupa_dl_load): Use the environment variable `prefix' instead of
25107 the variable pupa_dl_dir.
25108 (pupa_dl_set_prefix): Function removed.
25109 (pupa_dl_get_prefix): Likewise.
25110 * kern/i386/pc/init.c: Include <pupa/env.h>.
25111 (pupa_machine_init): Use the environment variable `prefix' instead of
25112 using pupa_dl_set_prefix to set the prefix.
25113 * kern/main.c: Include <pupa/env.h>.
25114 (pupa_set_root_dev): Use the environment variable `prefix' instead of
25115 using pupa_dl_get_prefix to get the prefix.
25116 * kern/misc.c: Include <pupa/env.h>.
25117 (pupa_isdigit): New function.
25118 (pupa_isgraph): Likewise.
25119 (pupa_ftoa): Likewise.
25120 (pupa_vsprintf): Added support for printing values of the type
25121 `double'. Make it possible to format variable output when using
25122 formatting like `%1.2%f'.
25123 (pupa_split_cmdline): New function.
25124 * kern/rescue.c: Include <pupa/env.h>.
25125 (next_word): Removed function.
25126 (pupa_rescue_cmd_prefix): Likewise.
25127 (pupa_rescue_cmd_set): New function.
25128 (pupa_rescue_cmd_unset): New function.
25129 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
25130 split the command line instead of splitting it here. Added
25131 support for setting variables using the syntax `foo=bar'. Don't
25132 initialize the prefix command anymore. Initialized the set and
25133 unset commands.
25134 * normal/cmdline.c: Include <pupa/env.h>.
25135 (pupa_tab_complete): Added prototypes for print_simple_completion,
25136 print_partition_completion, add_completion, iterate_commands,
25137 iterate_dev, iterate_part and iterate_dir. Moved code to print
25138 partition information from here to kern/disk.c.
fe6b695a 25139 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 25140 * normal/main.c: Include <pupa/env.h>.
25141 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
25142 instead of using pupa_dl_get_prefix to get the prefix.
25143 * term/i386/pc/vga.c: Include <pupa/arg.h>.
25144 (check_vga_mem): Cast pointers to `void *' to silence a gcc
25145 warning.
25146 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
25147 (pupa_vga_setcolor): Declare unused variables with `__attribute__
25148 ((unused))' to silence a gcc warning.
25149 (pupa_vga_setcolor): Likewise.
25150 (debug_command): Changed to match argument parsing
25151 interface changes.
25152 * util/pupa-emu.c: Include <pupa/env.h>.
25153 (options): Added 0's for unused fields to silence a gcc warning.
25154 (argp): Likewise.
25155 (main): Use the environment variable `prefix' instead of using
25156 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
25157 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
25158 and terminal.
25159
25160 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
25161 * util/misc.c: Include <malloc.h>.
25162 (pupa_malloc): Rewritten so errors are correctly reported.
25163 (pupa_realloc): Likewise.
25164 (pupa_memalign): Likewise.
25165 (pupa_mm_init_region): Declare unused variables with
25166 `__attribute__ ((unused))' to silence a gcc warning.
25167 * normal/i386/setjmp.S: Remove tab at the end of the file to
25168 silence a gcc warning.
25169 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
25170 variables with `__attribute__ ((unused))' to silence a gcc
25171 warning.
25172 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
25173 local variable i unsigned to silence a gcc warning.
25174
25175 * kern/term.c: Include <pupa/misc.h>.
25176 (pupa_more_lines): New variable.
25177 (pupa_more): Likewise.
25178 (pupa_putcode): When the pager is active pause at the end of every
25179 screen.
25180 (pupa_set_more): New function.
25181 * include/pupa/term.h (pupa_set_more): New prototype.
25182
25183
3b1139cb 251842004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
25185
25186 Now this project is GRUB 2 rather than PUPA. The location of
25187 the CVS repository was moved to GRUB's.
f19dbdb7 25188
3b1139cb 25189 * configure.ac: Use bug-grub as the reporting address.
25190 Use GRUB instead of PUPA.
25191 Change the version number to 1.90.
25192
8367695c 251932004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
25194
25195 * genkernsyms.sh: Updated copyright information.
25196 * genmk.rb: Likewise.
25197 * genmodsrc.sh: Likewise.
25198 * gensymlist.sh: Likewise.
25199 * boot/i386/pc/boot.S: Likewise.
25200 * boot/i386/pc/diskboot.S: Likewise.
25201 * disk/i386/pc/biosdisk.c: Likewise.
25202 * disk/i386/pc/partition.c: Likewise.
25203 * font/manager.c: Likewise.
25204 * fs/ext2.c: Likewise.
25205 * fs/fat.c: Likewise.
25206 * include/pupa/boot.h: Likewise.
25207 * include/pupa/device.h: Likewise.
25208 * include/pupa/disk.h: Likewise.
25209 * include/pupa/dl.h: Likewise.
25210 * include/pupa/elf.h: Likewise.
25211 * include/pupa/err.h: Likewise.
25212 * include/pupa/file.h: Likewise.
25213 * include/pupa/font.h: Likewise.
25214 * include/pupa/fs.h: Likewise.
25215 * include/pupa/kernel.h: Likewise.
25216 * include/pupa/loader.h: Likewise.
25217 * include/pupa/misc.h: Likewise.
25218 * include/pupa/mm.h: Likewise.
25219 * include/pupa/net.h: Likewise.
25220 * include/pupa/normal.h: Likewise.
25221 * include/pupa/rescue.h: Likewise.
25222 * include/pupa/setjmp.h: Likewise.
25223 * include/pupa/symbol.h: Likewise.
25224 * include/pupa/term.h: Likewise.
25225 * include/pupa/types.h: Likewise.
25226 * include/pupa/i386/setjmp.h: Likewise.
25227 * include/pupa/i386/types.h: Likewise.
25228 * include/pupa/i386/pc/biosdisk.h: Likewise.
25229 * include/pupa/i386/pc/boot.h: Likewise.
25230 * include/pupa/i386/pc/console.h: Likewise.
25231 * include/pupa/i386/pc/init.h: Likewise.
25232 * include/pupa/i386/pc/kernel.h: Likewise.
25233 * include/pupa/i386/pc/linux.h: Likewise.
25234 * include/pupa/i386/pc/loader.h: Likewise.
25235 * include/pupa/i386/pc/memory.h: Likewise.
25236 * include/pupa/i386/pc/multiboot.h: Likewise.
25237 * include/pupa/i386/pc/partition.h: Likewise.
25238 * include/pupa/i386/pc/time.h: Likewise.
25239 * include/pupa/i386/pc/vga.h: Likewise.
25240 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
25241 * include/pupa/util/getroot.h: Likewise.
25242 * include/pupa/util/misc.h: Likewise.
25243 * include/pupa/util/resolve.h: Likewise.
25244 * kern/device.c: Likewise.
25245 * kern/disk.c: Likewise.
25246 * kern/dl.c: Likewise.
25247 * kern/err.c: Likewise.
25248 * kern/file.c: Likewise.
25249 * kern/fs.c: Likewise.
25250 * kern/loader.c: Likewise.
25251 * kern/main.c: Likewise.
25252 * kern/misc.c: Likewise.
25253 * kern/mm.c: Likewise.
25254 * kern/rescue.c: Likewise.
25255 * kern/term.c: Likewise.
25256 * kern/i386/dl.c: Likewise.
25257 * kern/i386/pc/init.c: Likewise.
25258 * kern/i386/pc/lzo1x.S: Likewise.
25259 * kern/i386/pc/startup.S: Likewise.
25260 * loader/i386/pc/chainloader.c: Likewise.
25261 * loader/i386/pc/linux.c: Likewise.
25262 * loader/i386/pc/multiboot.c: Likewise.
25263 * normal/cmdline.c: Likewise.
25264 * normal/command.c: Likewise.
25265 * normal/main.c: Likewise.
25266 * normal/menu.c: Likewise.
25267 * normal/i386/setjmp.S: Likewise.
25268 * term/i386/pc/console.c: Likewise.
25269 * term/i386/pc/vga.c: Likewise.
25270 * util/console.c: Likewise.
25271 * util/genmoddep.c: Likewise.
25272 * util/misc.c: Likewise.
25273 * util/pupa-emu.c: Likewise.
25274 * util/resolve.c: Likewise.
25275 * util/unifont2pff.rb: Likewise.
25276 * util/i386/pc/biosdisk.c: Likewise.
25277 * util/i386/pc/getroot.c: Likewise.
25278 * util/i386/pc/pupa-mkimage.c: Likewise.
25279 * util/i386/pc/pupa-setup.c: Likewise.
25280
e6eced71 252812004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
25282
25283 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
25284 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
25285 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
25286 reading and reset it after reading.
25287 (pupa_ext2_close): Return PUPA_ERR_NONE.
25288
25289 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
25290 Correct value.
25291 (struct linux_kernel_header): Add kernel_version and
25292 initrd_addr_max.
25293 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
25294 pupa_file_read succeeds.
25295 (pupa_rescue_cmd_initrd): Implement.
25296
5aded270 252972003-12-03 Marco Gerards <metgerards@student.han.nl>
25298
25299 * fs/ext2.c (pupa_ext2_label): New function.
25300 (pupa_ext2_fs): Added label.
25301 * fs/fat.c (pupa_fat_label): New function.
25302 (pupa_fat_fs): Added label.
25303 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
25304
25305 * kern/misc.c (pupa_strndup): New function.
25306 * include/pupa/misc.h (pupa_strndup): New prototype.
25307
25308 * include/pupa/normal.h: Include <pupa/err.h>.
25309 (pupa_set_history): New prototype.
25310 (pupa_iterate_commands): New prototype.
25311 * normal/cmdline.c: Include <pupa/machine/partition.h>,
25312 <pupa/disk.h>, <pupa/file.h>.
25313 (hist_size): New variable.
25314 (hist_lines): Likewise.
25315 (hist_end): Likewise.
25316 (hist_used): Likewise.
25317 (pupa_set_history): New function.
25318 (pupa_history_get): Likewise.
25319 (pupa_history_add): Likewise.
25320 (pupa_history_replace): Likewise.
25321 (pupa_tab_complete): Likewise.
25322 (pupa_cmdline_run): Added tab completion and history buffer. Tab
25323 completion shows partitionnames while completing partitions, this
25324 feature was suggested by Jeff Bailey.
25325 * normal/command.c (pupa_iterate_commands): New function.
25326 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
25327 (pupa_normal_init): Initialize history buffer.
25328 (PUPA_MOD_INIT): Likewise.
25329 (pupa_normal_fini): Free the history buffer.
25330 (PUPA_MOD_FINI): Likewise.
25331
25332 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
25333 key.
25334
25335 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
25336 * configure.ac [i386]: Check for regparam bug.
25337 (NESTED_FUNC_ATTR) [! i386]: Defined.
25338
1f7315a3 253392003-11-17 Marco Gerards <metgerards@student.han.nl>
25340
25341 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
25342 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
25343 (pupa_emu_SOURCES): New variable.
25344 (pupa_emu_LDFLAGS): Likewise.
25345 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
25346 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
25347 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
25348 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
25349 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
25350 (pupa_jmp_buf): New typedef.
25351 (pupa_setjmp) [PUPA_UTIL]: New macro.
25352 (pupa_longjmp) [PUPA_UTIL]: Likewise.
25353 * include/pupa/term.h (struct pupa_term): New member `refresh'.
25354 (pupa_refresh): New prototype.
25355 * include/pupa/util/getroot.h: New file.
25356 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
25357 it.
25358 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
25359 (pupa_rescue_cmd_cat): Likewise.
25360 (pupa_rescue_cmd_ls): Likewise.
25361 (pupa_rescue_cmd_testload): Likewise.
25362 (pupa_rescue_cmd_lsmod): Likewise.
25363 * normal/cmdline.c (pupa_cmdline_get): Likewise.
25364 * normal/menu.c (run_menu): Likewise.
25365 * kern/term.c (pupa_cls): Likewise.
25366 (pupa_refresh): New function.
25367 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
25368 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
25369 * util/console.c: New file.
f19dbdb7 25370
1f7315a3 25371 * util/i386/pc/getroot.c: New file.
25372 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
25373 (pupa_putchar): New function.
25374 (pupa_refresh): Likewise.
25375 (xgetcwd): Function moved to ...
25376 (strip_extra_slashes): Likewise.
25377 (get_prefix): Likewise.
f19dbdb7 25378 * util/i386/pc/getroot.c: ... here.
1f7315a3 25379 (find_root_device): Function moved and renamed to...
25380 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
25381 Changed all callers.
25382 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
25383 and renamed to...
25384 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
25385 Changed all callers.
25386 * util/misc.c (pupa_memalign): New function.
25387 (pupa_mm_init_region): Likewise.
25388 (pupa_register_exported_symbols): Likewise.
25389 (pupa_putchar): Function removed.
25390 * util/pupa-emu.c: New file.
25391
9a5c1ade 253922003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
25393
25394 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
25395 (_multiboot_mod_SOURCES): New variable.
25396 (_multiboot_mod_CFLAGS): Likewise.
25397 * loader/i386/pc/multiboot.c: New file.
25398 * include/pupa/i386/pc/multiboot.h: Likewise.
25399 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
25400 (pupa_multiboot_real_boot): New function.
25401 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
25402 (pupa_multiboot_real_boot): New prototype.
25403 (pupa_rescue_cmd_multiboot): Likewise
25404 (pupa_rescue_cmd_module): Likewise.
25405
25406 * kern/loader.c (pupa_loader_set): Continue when
25407 pupa_loader_unload_func() fails.
25408 (pupa_loader_unset): New function.
25409 * include/pupa/loader.h (pupa_loader_unset): New prototype.
25410
25411 * kern/misc.c (pupa_stpcpy): New function.
25412 * include/pupa/misc.h (pupa_stpcpy): New prototype.
25413
8e72a9c0 254142003-11-12 Marco Gerards <metgerards@student.han.nl>
25415
25416 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
25417 for available extensions.
25418
25419 * include/pupa/i386/pc/time.h: New file.
25420 * kern/disk.c: Include <pupa/machine/time.h>.
25421 (PUPA_CACHE_TIMEOUT): New macro.
25422 (pupa_last_time): New variable.
25423 (pupa_disk_open): Flush the cache when there was a timeout.
25424 (pupa_disk_close): Reset the timer.
25425 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
25426 pupa_currticks.
25427 * util/misc.c: Include <sys/times.h>
25428 (pupa_get_rtc): New function.
25429
c4adbd32 254302003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
25431
25432 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
25433 as blocks.
25434 (pupa_ext2_get_file_block): Use blocks member.
25435
25436 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
25437 first block. Return -1 instead of pupa_errno on error.
25438
bfd30f06 254392003-10-27 Marco Gerards <metgerards@student.han.nl>
25440
25441 * README: In the pupa-mkimage example use _chain instead of chain
25442 and ext2 instead of fat.
25443 * TODO: Replace ext2fs with jfs as an example. Add an item for
25444 adding journal playback for ext2fs.
25445 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
25446 (pkgdata_MODULES): Added ext2.mod.
25447 (ext2_mod_SOURCES): New variable.
25448 (ext2_mod_CFLAGS): Likewise.
25449 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
25450 * include/pupa/misc.h (pupa_strncpy): New prototype.
25451 (pupa_strcat): Likewise.
25452 (pupa_strncmp): Likewise.
25453 * kern/misc.c (pupa_strcat): Enable function.
25454 (pupa_strncpy): New function.
25455 (pupa_strncmp): Likewise.
25456 * fs/ext2.c: New file.
f19dbdb7 25457
bfd30f06 25458 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
25459 when the read failed before retrying.
25460 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
25461 (_FILE_OFFSET_BITS): Likewise.
25462 * configure.ac: Added AC_SYS_LARGEFILE.
25463
98d15063 254642003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
25465
25466 * genmk.rb (PModule#rule): Make sure to get only symbol names
25467 from the output of nm.
59cad637 25468 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 25469
18d9c7cd 254702003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
25471
25472 I forgot to check in these changes for a long time. This adds
25473 incomplete support for VGA console, and this is still very
25474 buggy. Also, a lot of consideration is required for I18N,
25475 UNICODE, and VGA font issues. Therefore, assume that this is
25476 such that "better than nothing".
f19dbdb7 25477
18d9c7cd 25478 * font/manager.c: New file.
25479 * include/pupa/font.h: Likewise.
25480 * include/pupa/i386/pc/vga.h: Likewise.
25481 * term/i386/pc/vga.c: Likewise.
25482 * util/unifont2pff.rb: Likewise.
25483
25484 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
25485 (pkgdata_MODULES): Added vga.mod and font.mod.
25486 (vga_mod_SOURCES): New variables.
25487 (vga_mod_CFLAGS): Likewise.
25488 (font_mod_SOURCES): Likewise.
25489 (font_mod_CFLAGS): Likewise.
25490
25491 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
25492
25493 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 25494 (struct pupa_term): Added init and fini.
18d9c7cd 25495 Changed the argument of putchar to pupa_uint32_t.
25496
25497 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
25498 (pupa_console_real_putchar): New prototype.
25499 (pupa_console_putchar): Removed.
25500 (pupa_console_checkkey): Exported.
25501 (pupa_console_getkey): Likewise.
25502
25503 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
25504 characters.
25505
25506 * kern/term.c (pupa_term_set_current): Rewritten.
25507 (pupa_putchar): Likewise.
25508 (pupa_putcode): New function.
25509
25510 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
25511 (pupa_console_real_putchar): ... this.
25512 (pupa_vga_set_mode): New function.
25513 (pupa_vga_get_font): Likewise.
25514
25515 * normal/command.c: Include pupa/term.h.
25516 (terminal_command): New function.
25517 (pupa_command_init): Register the command "terminal".
25518
25519 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
25520 (DISP_UP): Likewise.
25521 (DISP_RIGHT): Likewise.
25522 (DISP_DOWN): Likewise.
25523 (DISP_HLINE): Likewise.
25524 (DISP_VLINE): Likewise.
25525 (DISP_UL): Likewise.
25526 (DISP_UR): Likewise.
25527 (DISP_LL): Likewise.
25528 (DISP_LR): Likewise.
25529
25530 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 25531
977329f5 255322003-02-08 NIIBE Yutaka <gniibe@m17n.org>
25533
25534 * util/resolve.c (pupa_util_resolve_dependencies): BUG
25535 FIX. Reverse the path_list.
25536
25537 * include/pupa/normal.h: Export pupa_register_command and
25538 pupa_unregister_command.
25539
25540 * hello/hello.c (pupa_cmd_hello): New module.
25541 * conf/i386-pc.rmk: Added hello.mod.
25542
1f5ab428 255432003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
25544
25545 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 25546
1f5ab428 25547 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
25548 (compress_kernel): New variable.
25549 (generate_image): Heavily modified to support compressing a
25550 large part of the core image.
25551
25552 * util/misc.c (pupa_util_read_image): Fix a file descriptor
25553 leak.
25554 (pupa_util_load_image): New function.
25555
25556 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
25557 (pupa_compressed_size): New variable.
25558 (codestart): Enable Gate A20 here.
25559 Decompress the compressed part of the core image.
25560 Rearrange the code to put functions and variables which are
25561 required for initialization in the non-compressed part.
25562 Include lzo1x.S.
25563
25564 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
25565 here.
25566
25567 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
25568
f19dbdb7 25569 * include/pupa/i386/pc/kernel.h
1f5ab428 25570 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
25571 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
25572 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
25573 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
25574 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
25575
25576 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
25577
25578 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
25579 (Utility#rule): Likewise.
25580
25581 * configure.ac: Check if LZO is available.
25582
ce5bf700 255832003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
25584
25585 * include/pupa/normal.h: New file.
25586 * include/pupa/setjmp.h: Likewise.
25587 * include/pupa/i386/setjmp.h: Likewise.
25588 * normal/cmdline.c: Likewise.
25589 * normal/command.c: Likewise.
25590 * normal/main.c: Likewise.
25591 * normal/menu.c: Likewise.
25592 * normal/i386/setjmp.S: Likewise.
f19dbdb7 25593
ce5bf700 25594 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
25595 (pupa_rescue_cmd_initrd): Likewise.
25596
25597 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
25598 Likewise.
25599
25600 * kern/i386/pc/startup.S (translation_table): New variable.
25601 (translate_keycode): New function.
25602 (pupa_console_getkey): Call translate_keycode.
25603
25604 * kern/rescue.c (attempt_normal_mode): New function.
25605 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
25606 it failed, print a message.
25607
25608 * kern/mm.c (pupa_real_malloc): Print more information when a
25609 free magic is broken.
25610 (pupa_free): If the first free header is not free actually, set
25611 it to P.
25612
25613 * kern/main.c (pupa_load_normal_mode): Just load the module
25614 "normal".
25615 (pupa_main): Don't print the message
25616 "Entering into rescue mode..." here.
25617
25618 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
25619 Declared.
25620 (pupa_rescue_cmd_initrd): Likewise.
25621 (pupa_rescue_cmd_initrd): Likewise.
25622
25623 * include/pupa/symbol.h (FUNCTION): Specify the type.
25624 (VARIABLE): Likewise.
25625
25626 * include/pupa/err.h (pupa_err_t): Added
25627 PUPA_ERR_UNKNOWN_COMMAND.
25628
25629 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
25630 (pupa_dl_get_prefix): Likewise.
25631
25632 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
25633 Added _chain.mod and _linux.mod instead of chain.mod and
25634 linux.mod.
25635 (chain_mod_SOURCES): Renamed to ...
25636 (_chain_mod_SOURCES): ... this.
25637 (chain_mod_CFLAGS): Renamed to ...
25638 (_chain_mod_CFLAGS): ... this.
25639 (linux_mod_SOURCES): Renamed to ...
25640 (_linux_mod_SOURCES): ... this.
25641 (linux_mod_CFLAGS): Renamed to ...
25642 (_linux_mod_CFLAGS): ... this.
25643 (normal_mod_SOURCES): New variable.
25644 (normal_mod_CFLAGS): Likewise.
25645 (normal_mod_ASFLAGS): Likewise.
25646
256472003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
25648
25649 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
25650 possible.
25651
fe6b695a 25652 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 25653 recursively.
25654 (pupa_dl_unref): Unrefer depending modules recursively.
25655 Don't call pupa_dl_unload implicitly, because PUPA can crash if
25656 a module is unloaded before one depending on that module is
25657 unloaded.
25658 (pupa_dl_unload): Unload depending modules explicitly,
25659 if possible.
25660
c04da074 256612003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
25662
25663 * include/pupa/i386/pc/linux.h: New file.
25664 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 25665
c04da074 25666 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
25667 Removed.
25668 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
25669 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
25670 of PUPA_CHAINLOADER_BOOT_SECTOR.
25671
25672 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
25673 (pupa_linux_prot_size): New variable.
25674 (pupa_linux_tmp_addr): Likewise.
25675 (pupa_linux_real_addr): Likewise.
25676 (pupa_linux_boot_zimage): New function.
25677 (pupa_linux_boot_bzimage): Likewise.
25678
25679 * kern/i386/pc/init.c (struct mem_region): New structure.
25680 (MAX_REGIONS): New macro.
25681 (mem_regions): New variable.
25682 (num_regions): Likewise.
25683 (pupa_os_area_addr): Likewise.
25684 (pupa_os_area_size): Likewise.
25685 (pupa_lower_mem): Likewise.
25686 (pupa_upper_mem): Likewise.
25687 (add_mem_region): New function.
25688 (compact_mem_regions): Likewise.
25689 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
25690 the size of the conventional memory and that of so-called upper
25691 memory (before the first memory hole).
25692 Instead of adding each found region to free memory, use
25693 add_mem_region and add them after removing overlaps.
25694 Also, add only 1/4 of the upper memory to free memory. The rest
25695 is used for loading OS images. Maybe this is ad hoc, but this
25696 makes it much easier to relocate OS images when booting.
25697
25698 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
25699 (pupa_enter_rescue_mode): Don't register initrd and module.
25700
25701 * kern/mm.c: Include pupa/dl.h.
25702
25703 * kern/main.c: Include pupa/file.h and pupa/device.h.
25704
25705 * kern/loader.c (pupa_loader_load_module_func): Removed.
25706 (pupa_loader_load_module): Likewise.
25707
25708 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
25709 ``.o''.
25710
25711 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
25712 (pupa_linux_tmp_addr): Likewise.
25713 (pupa_linux_real_addr): Likewise.
25714 (pupa_linux_boot_zimage): Likewise.
25715 (pupa_linux_boot_bzimage): Likewise.
25716
25717 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
25718 (pupa_upper_mem): Likewise.
25719 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
25720 module is too dangerous.
25721
25722 * include/pupa/loader.h (pupa_os_area_addr): Declared.
25723 (pupa_os_area_size): Likewise.
25724 (pupa_loader_set): Remove the first argument. Loader doesn't
25725 manage modules or initrd any longer.
25726 (pupa_loader_load_module): Removed.
25727
25728 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
25729 (linux_mod_SOURCES): New variable.
25730 (linux_mod_CFLAGS): Likewise.
25731
a13f9237 257322003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
25733
25734 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
25735 the length of a blocklist correctly.
25736
25737 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
25738 Use ioctl only if the OS file is a block device.
25739 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
25740 not very useful for normal files.
25741
25742 * kern/main.c (pupa_set_root_dev): New function.
25743 (pupa_load_normal_mode): Likewise.
25744 (pupa_main): Call those above.
25745
25746 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
25747 pupa_uint16_t.
25748
25749 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
25750
a5ffe966 257512003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
25752
25753 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
25754 (setup): Configure the installed partition information and the
25755 dl prefix.
25756
25757 * loader/i386/pc/chainloader.c (my_mod): New variable.
25758 (pupa_chainloader_unload): New function.
25759 (pupa_rescue_cmd_chainloader): Refer itself.
25760 (PUPA_MOD_INIT): Save its own module in MY_MOD.
25761
25762 * kern/i386/pc/startup.S (install_partition): Removed.
25763 (version_string): Likewise.
25764 (config_file): Likewise.
25765 (pupa_install_dos_part): New variable.
25766 (pupa_install_bsd_part): Likewise.
25767 (pupa_prefix): Likewise.
25768 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
25769
25770 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
25771 and pupa/misc.h.
25772 (make_install_device): New function.
25773 (pupa_machine_init): Set the dl prefix.
25774
25775 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
25776 (buf): Renamed to ...
25777 (linebuf): ... this.
25778 (pupa_rescue_cmd_prefix): New function.
25779 (pupa_rescue_cmd_insmod): Likewise.
25780 (pupa_rescue_cmd_rmmod): Likewise.
25781 (pupa_rescue_cmd_lsmod): Likewise.
25782 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
25783 rmmod and lsmod.
25784
25785 * kern/mm.c (pupa_memalign): If failed even after invalidating
25786 disk caches, unload unneeded modules and retry.
25787
25788 * kern/misc.c (pupa_memmove): New function.
25789 (pupa_memcpy): Removed.
25790 (pupa_strcpy): New function.
25791 (pupa_itoa): Made static.
25792
25793 * kern/dl.c (pupa_dl_iterate): New function.
25794 (pupa_dl_ref): Likewise.
25795 (pupa_dl_unref): Likewise.
25796 (pupa_dl_unload): Return if succeeded or not.
25797 (pupa_dl_unload_unneeded): New function.
25798 (pupa_dl_unload_all): Likewise.
25799 (pupa_dl_init): Renamed to ...
25800 (pupa_dl_set_prefix): ... this.
25801 (pupa_dl_get_prefix): New function.
25802
25803 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
25804 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
25805 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
25806 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
25807 (pupa_install_dos_part): Declared.
25808 (pupa_install_bsd_part): Likewise.
25809 (pupa_prefix): Likewise.
25810 (pupa_boot_drive): Likewise.
25811
25812 * include/pupa/types.h: Fix a typo.
25813
25814 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
25815 pupa_memmove.
25816 (pupa_memmove): Declared.
25817 (pupa_strcpy): Likewise.
25818
25819 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
25820 pupa_mod_init takes one argument, its own module.
25821 (pupa_dl_unload_unneeded): Declared.
25822 (pupa_dl_unload_all): Likewise.
25823 (pupa_dl_ref): Likewise.
25824 (pupa_dl_unref): Likewise.
25825 (pupa_dl_iterate): Likewise.
25826 (pupa_dl_init): Renamed to ...
25827 (pupa_dl_set_prefix): ... this.
25828 (pupa_dl_get_prefix): Declared.
25829
25830 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 25831 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 25832 unloaded.
25833 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
25834 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
25835
25836 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
25837 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
25838
012d7999 258392003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
25840
25841 * util/i386/pc/pupa-setup.c (setup): Define the internal
25842 function find_first_partition_start at the top level, because GCC
25843 3.0.x cannot compile internal functions in deeper scopes
25844 correctly.
25845 (find_root_device): Use lstat instead of stat.
25846 Don't follow symbolic links.
25847 Fix the path-constructing code.
25848
25849 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
25850 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
25851 by a BLKGETSIZE ioctl first, because block devices don't fill
25852 the member st_mode of the structure stat on Linux.
25853 [__linux__] (linux_find_partition): Use a temporary buffer
25854 REAL_DEV for the working space. Copy it to DEV before returning.
25855 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
25856 buffer cache consistent.
25857 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
25858 strncmp. The previous value was merely wrong.
25859 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
25860
25861 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
25862 FAT size is 12. The previous value was merely wrong.
25863
25864 * kern/main.c (pupa_main): Don't split the starting message from
25865 newlines.
25866
25867 * kern/term.c (pupa_putchar): Put CR after LF instead of before
25868 LF, because BIOS goes crazy about character attributes in this
25869 case.
25870
1cc73a62 258712003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
25872
25873 * include/i386/pc/util/biosdisk.h: New file.
25874 * util/i386/pc/biosdisk.c: Likewise.
25875 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 25876
1cc73a62 25877 * Makefile.in (INCLUDE_DISTFILES): Added
25878 include/pupa/i386/pc/util/biosdisk.h.
25879 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
25880 directory util/i386/pc.
25881 (install-local): Added a rule for sbin_UTILITIES.
25882 (uninstall): Likewise.
25883
25884 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
25885
25886 * util/misc.c (xrealloc): New function.
25887 (pupa_malloc): Likewise.
25888 (pupa_free): Likewise.
25889 (pupa_realloc): Likewise.
25890 (pupa_stop): Likewise.
25891 (pupa_putchar): Likewise.
25892
25893 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
25894
25895 * include/pupa/util/misc.h (xrealloc): Declared.
25896
25897 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
25898 macro.
25899 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
25900 (PUPA_BOOT_MACHINE_BPB_END): ... this.
25901
25902 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
25903 [PUPA_UTIL] (pupa_fat_fini): Likewise.
25904
25905 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
25906 way should be implemented.
25907 [PUPA_UTIL] (pupa_fat_fini): Likewise.
25908
25909 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
25910 the size of NAME for safety.
25911 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
25912 0x88.
25913
25914 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
25915 (pupa_setup_SOURCES): Likewise.
25916
25917 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
25918
08b70fe8 259192002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
25920
25921 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
25922 bunch of pushl's from pusha, because this destroys the return
25923 value.
25924
62ddcc8f 259252002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
25926
25927 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
25928 This means that any missing prototypes could be fatal. Also, you
25929 must take care when writing assembly code. See the comments at
25930 the beginning of startup.S, for more details.
f19dbdb7 25931
62ddcc8f 25932 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
25933 compilation mechanism.
25934 (pupa_chainloader_real_boot): Likewise.
25935 (pupa_biosdisk_rw_int13_extensions): Likewise.
25936 (pupa_biosdisk_rw_standard): Likewise.
25937 (pupa_biosdisk_check_int13_extensions): Likewise.
25938 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
25939 (pupa_biosdisk_get_diskinfo_standard): Likewise.
25940 (pupa_get_memsize): Likewise.
25941 (pupa_get_mmap_entry): Likewise.
25942 (pupa_console_putchar): Likewise.
25943 (pupa_console_setcursor): Likewise.
25944 (pupa_getrtsecs): Use pushl instead of push.
25945
25946 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
25947 memory instead of the stack for a mmap entry, because some
25948 BIOSes may ignore the maximum size and overflow.
25949
25950 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
25951
25952 * genmk.rb (PModule#rule): Compile automatically generated
25953 sources with module-specific CFLAGS as well as other sources.
25954
9962ed99 259552002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
25956
25957 * configure.ac: Check ld.
25958 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
25959 respectively, before checking endianness and sizes.
25960
25961 * Makefile.in (LD): New variable.
f19dbdb7 25962
abdfc3c5 259632002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
25964
25965 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
25966
6a161fa9 259672002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
25968
25969 * Changelog: New file.
25970