]> git.proxmox.com Git - grub2.git/blame - ChangeLog
Resync with gnulib.
[grub2.git] / ChangeLog
CommitLineData
3506b90b
VS
12010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
2
3 Resync with gnulib.
4
5 * Makefile.in (GNULIB_CFLAGS): New variable.
6 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
7 (grub_script_check_CFLAGS): New variable.
8 * gnulib/alloca.h: Resync with gnulib.
9 * gnulib/error.c: Likewise.
10 * gnulib/error.h: Likewise.
11 * gnulib/fnmatch.c: Likewise.
12 * gnulib/fnmatch_loop.c: Likewise.
13 * gnulib/getdelim.c: Likewise.
14 * gnulib/getline.c: Likewise.
15 * gnulib/getopt.c: Likewise.
16 * gnulib/getopt1.c: Likewise.
17 * gnulib/getopt_int.h: Likewise.
18 * gnulib/gettext.h: Likewise.
19 * gnulib/progname.c: Likewise.
20 * gnulib/progname.h: Likewise.
21
394a3120
GS
222010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
23
24 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
25 which is the case with --disabled-nls.
26
27 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
28 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
29 * util/misc.c: Likewise.
30 * util/mkisofs/mkisofs.c: Likewise.
31 * util/mkisofs/mkisofs.h: Likewise.
32
969d1c78
VS
332010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
34
35 Simplify Apple CC support.
36
37 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
38 Add 0 byte at the end not to have a symbol with empty target.
39 * mmap/i386/pc/mmap_helper.S: Likewise.
40 * genmk.rb: Ignore errors 2030 and 2050.
41 * kern/i386/pc/startup.S: Use LOCAL when possible.
42
8d2977bb
BC
432010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
44
45 Testcase and the fix for final semicolon on cmdline.
46
47 * tests/grub_script_final_semicolon.in: New testcase.
48 * conf/tests.rmk: Rules for the new testcase.
49 * script/parser.y: Grammar fix.
50
a7bd6915
BC
512010-03-26 BVK Chaitanya <bvk@localhost>
52
53 Blank lines testcase for GRUB script.
54
55 * tests/grub_script_blanklines.in: New testcase.
56 * conf/tests.rmk: Rules for the new testcase.
57
e4ff6628
VS
582010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
59
60 Don't use __FILE__.
61
62 * genmk.rb: Add -DGRUB_FILE to all C targets.
63 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
64 * include/grub/list.h: Likewise.
65 * include/grub/misc.h: Likewise.
66 * include/grub/mm.h: Likewise.
67 * include/grub/test.h: Likewise.
68 * kern/mm.c: Likewise.
69 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
70
6a5cf6b6
VS
712010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
72
73 Sunpc partitions support.
74
75 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
76 (grub_fstest_SOURCES): Likewise.
77 (pkglib_MODULES): Add part_sunpc.mod.
78 (part_sunpc_mod_SOURCES): New variable.
79 (part_sunpc_mod_CFLAGS): Likewise.
80 (part_sunpc_mod_LDFLAGS): Likewise.
81 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
82 * partmap/sunpc.c: New file.
83
746d9045
BC
842010-03-26 BVK Chaitanya <bvk@localhost>
85
86 For loop support to GRUB script.
87
88 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
89 (grub_script_create_cmdfor): New function prototype.
90 (grub_script_execute_cmdfor): New function prototype.
91 * script/execute.c (grub_script_execute_cmdfor): New function.
92 * script/parser.y (command): New for command.
93 (forcmd): New grammar rule.
94 * script/script.c (grub_script_create_cmdfor): New function.
95 * util/grub-script-check.c (grub_script_execute_cmdfor): New
96 function.
97 * tests/grub_script_for1.in: New testcase.
98 * conf/tests.rmk: Rules for new testcase.
99
18486b18
VS
1002010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
101
102 Nested partitions
103
104 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
105 'partition' is NULL, grub_partition_get_start already does that.
106 * commands/loadenv.c (check_blocklists): Likewise.
107 (write_blocklists): Likewise.
108 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
109 (grub_fstest_SOURCES): Likewise.
110 (pkglib_MODULES): Add part_bsd.mod.
111 (part_bsd_mod_SOURCES): New variable.
112 (part_bsd_mod_CFLAGS): Likewise.
113 (part_bsd_mod_LDFLAGS): Likewise.
114 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
115 (grub_emu_SOURCES): Likewise.
116 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
117 * include/grub/bsdlabel.h: New file.
118 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
119 'get_name'.
120 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
121 (grub_partition_map_list): New variable.
122 (grub_partition_map_register): Inline.
123 (grub_partition_map_unregister): Likewise.
124 (FOR_PARTITION_MAPS): New macro.
125 (grub_partition_map_iterate): Removed.
126 (grub_partition_get_start): Handle nested partitions.
127 * include/grub/msdos_partition.h: Remove bsd-related entries.
128 (grub_pc_partition): Remove.
129 * kern/disk.c (grub_disk_close): Free partition data.
130 (grub_disk_adjust_range): Handle nested partitions.
131 * kern/partition.c (grub_partition_map_probe): New function.
132 (grub_partition_probe): Parse name to number, handle subpartitions.
133 (get_partmap): New function.
134 (grub_partition_iterate): Handle subpartitions.
135 (grub_partition_get_name): Likewise.
136 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
137 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
138 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
139 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
140 Set 'number'.
141 (acorn_partition_map_probe): Remove.
142 (acorn_partition_map_get_name): Likewise.
143 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
144 Set 'number'.
145 Set 'index' to 0 since there can be only one partition entry per sector.
146 (amiga_partition_map_probe): Remove.
147 (amiga_partition_map_get_name): Likewise.
148 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
149 Set 'number'.
150 Set 'offset' and 'index' to real positions of partitions.
151 (apple_partition_map_probe): Remove.
152 (apple_partition_map_get_name): Likewise.
153 * partmap/bsdlabel.c: New file.
154 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
155 Set 'number'.
156 Allocate 'data' so it can be correctly freed.
157 Set 'index' to offset inside sector.
158 (gpt_partition_map_probe): Remove.
159 (gpt_partition_map_get_name): Likewise.
160 * partmap/msdos.c (grub_partition_parse): Remove.
161 (pc_partition_map_iterate): Don't force raw access.
162 Set 'number'.
163 Make 'ext_offset' a local variable.
164 (pc_partition_map_probe): Remove.
165 (pc_partition_map_get_name): Remove.
166 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
167 Set 'number'.
168 (sun_partition_map_probe): Remove.
169 (sun_partition_map_get_name): Likewise.
170 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
171 (grub_pcpart_type): Likewise.
172 * util/hostdisk.c (open_device): Handle new numbering scheme.
173 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
174 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
175 * util/grub-probe.c (probe_partmap): Handle nested paritions.
176 * util/grub-install.in: Insert all subpartition modules.
177 * util/ieee1275/grub-install.in: Likewise.
178
a3940f88
AG
1792010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
180
181 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
182 grammar.
183
21b99926 1842010-03-24 Colin Watson <cjwatson@ubuntu.com>
185
186 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
187
bed1d352
CW
1882010-03-21 Colin Watson <cjwatson@ubuntu.com>
189
190 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
191 match where 'make install' puts them.
192 * util/i386/efi/grub-install.in: Likewise.
193
c9f58427
CW
1942010-03-19 Colin Watson <cjwatson@ubuntu.com>
195
196 * .bzrignore: Add gentrigtables, grub-script-check,
197 grub_script_check_init.c, grub_script_check_init.h, and
198 trigtables.c.
199
f84afb27
VS
2002010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
201
202 * kern/parser.c: Indented.
203
ed0e3d30
VS
2042010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
205
206 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
207
0ea81d98
VS
2082010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
209
210 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
211 alpha_mask_size == 0 case.
212
0cdc2a09
BC
2132010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
214
215 GRUB shell lexer and parser improvements.
216
217 * conf/any-emu.rmk: Build rule updates.
218 * conf/common.rmk: Likewise.
219 * conf/i386-coreboot.rmk: Likewise.
220 * conf/i386-efi.rmk: Likewise.
221 * conf/i386-ieee1275.rmk: Likewise.
222 * conf/i386-pc.rmk: Likewise.
223 * conf/powerpc-ieee1275.rmk: Likewise.
224 * conf/x86_64-efi.rmk: Likewise.
225
226 * configure.ac: Configure check for flex.
227
228 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
229 types.
230 (grub_lexer_param): Struct member updates.
231 (grub_parser_param): Likewise.
232 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
233 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
234 (grub_script_lexer_init): Prototype update.
235 (grub_script_lexer_record_start): Likewise.
236 (grub_script_lexer_record_stop): Likewise.
237 (grub_script_lexer_yywrap): New function prototype.
238 (grub_script_lexer_fini): Likewise.
239 (grub_script_execute_argument_to_string): Removed by...
240 (grub_script_execute_argument_to_argv): ...better version.
241
242 * script/execute.c (ROUND_UPTO): New macro.
243 (grub_script_execute_cmdline): Out of memory fixes.
244 (grub_script_execute_menuentry): Likewise.
245 (grub_script_execute_argument_to_string): Removed. Update all
246 users by...
247 (grub_script_execute_argument_to_argv): ...better version.
248 * script/function.c (grub_script_function_create): Use
249 grub_script_execute_argument_to_argv instead of
250 grub_script_execute_argument_to_string.
251
252 * script/lexer.c (check_varstate): Removed.
253 (check_textstate): Removed.
254 (grub_script_lexer_record_start): Likewise.
255 (grub_script_lexer_record_stop): Likewise.
256 (recordchar): Replaced with...
257 (grub_script_lexer_record): ...new function.
258 (nextchar): Removed.
259 (grub_script_lexer_init): Rewritten.
260 (grub_script_yylex): Rewritten.
261 (append_newline): New function.
262 (grub_script_lexer_yywrap): New function.
263 (grub_script_lexer_fini): New function.
264 (grub_script_yyerror): Sets error flag.
265
266 * script/yylex.l: New file.
267 (grub_lexer_yyfree): Wrapper for flex yyffre.
268 (grub_lexer_yyalloc): Likewise.
269 (grub_lexer_yyrealloc): Likewise.
270 * script/parser.y: Refactored.
271
272 * script/script.c (grub_script_arg_add): Out of memory fixes.
273 (grub_script_add_arglist): Likewise.
274 (grub_script_create_cmdline): Likewise.
275 (grub_script_create_cmdmenu): Likewise.
276 (grub_script_add_cmd): Likewise.
277 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
278 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
279 unnecessary code.
280
281 * tests/grub_script_echo1.in: New testcase.
282 * tests/grub_script_vars1.in: New testcase.
283 * tests/grub_script_echo_keywords.in: New testcase.
284
1d63a066
VS
2852010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
286
287 Remove some redundancy in build system.
288
289 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
290 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
291 (TARGET_LDFLAGS): Add -nostdlib.
292 (TARGET_IMG_LDFLAGS): Likewise.
293 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
294 anything since mmap isn't available.
295 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
296 Add util/time.c.
297 (pkglib_MODULES): Remove reboot.mod.
298 (reboot_mod_SOURCES): Removed.
299 (reboot_mod_CFLAGS): Likewise.
300 (reboot_mod_LDFLAGS): Likewise.
301 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
302 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
303 (DEFSYMFILES): Add kernel_syms.lst.
304 (kernel_img_HEADERS): Add common headers.
305 (symlist.c): New target.
306 (kernel_syms.lst): Likewise.
307 (pkglib_MODULES): Add memdisk.mod.
308 (memdisk_mod_SOURCES): New variable.
309 (memdisk_mod_CFLAGS): Likewise.
310 (memdisk_mod_LDFLAGS): Likewise.
311 (pkglib_MODULES): Add reboot.mod.
312 (reboot_mod_SOURCES): New variable.
313 (reboot_mod_CFLAGS): Likewise.
314 (reboot_mod_LDFLAGS): Likewise.
315 (pkglib_MODULES): Add date.mod.
316 (date_mod_SOURCES): New variable.
317 (date_mod_CFLAGS): Likewise.
318 (date_mod_LDFLAGS): Likewise.
319 (pkglib_MODULES): Add datehook.mod.
320 (datehook_mod_SOURCES): New variable.
321 (datehook_mod_CFLAGS): Likewise.
322 (datehook_mod_LDFLAGS): Likewise.
323 (pkglib_MODULES): Add lsmmap.mod.
324 (lsmmap_mod_SOURCES): New variable.
325 (lsmmap_mod_CFLAGS): Likewise.
326 (lsmmap_mod_LDFLAGS): Likewise.
327 (pkglib_MODULES): Add boot.mod.
328 (boot_mod_SOURCES): New variable.
329 (boot_mod_CFLAGS): Likewise.
330 (boot_mod_LDFLAGS): Likewise.
331 * conf/i386-coreboot.rmk: Removed redundant parts.
332 * conf/i386-ieee1275.rmk: Likewise.
333 * conf/i386-pc.rmk: Likewise.
334 * conf/mips-yeeloong.rmk: Likewise.
335 * conf/mips.rmk: Likewise.
336 * conf/powerpc-ieee1275.rmk: Likewise.
337 * conf/sparc64-ieee1275.rmk: Likewise.
338 * conf/x86_64-efi.rmk: Likewise.
339 * conf/i386-coreboot.rmk: Moved qemu parts ..
340 * conf/i386-qemu.rmk: ... here
341 * conf/i386-efi.rmk: Moved common parts to...
342 * conf/x86-efi.rmk: ... here.
343 * conf/i386.rmk: Added modules common to all x86 variants.
344 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
345 * disk/memdisk.c: Remove grub/machine/kernel.h.
346 * gensymlist.sh.in: Include symbol.h.
347 * hook/datehook.c: Correct module name.
348 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
349 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
350 * include/grub/i386/efi/serial.h: New file.
351 * include/grub/x86_64/efi/serial.h: Likewise.
352 * util/time.c: Likewise.
353 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
354
463ac55f
CK
3552010-03-14 Colin King <colin.king@ubuntu.com>
3562010-03-14 Colin Watson <cjwatson@ubuntu.com>
357
358 Shrink the pre-partition-table part of boot.img by eight bytes.
359
360 * boot/i386/pc/boot.S (ERR): New macro.
361 (chs_mode): Use ERR.
362 (geometry_error): Likewise.
363 (hd_probe_error): Remove. This is only used once, so we wrwite
364 it inline instead.
365 (read_error): Instead of printing read_error_string, just set up
366 %si and fall through to ...
367 (error_message): ... this new function, also used by ERR.
368
08e46ede
CW
3692010-03-14 Colin Watson <cjwatson@ubuntu.com>
370
371 Speed up consecutive hostdisk operations on the same device.
372
373 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
374 (grub_util_biosdisk_open): Initialise disk->data.
375 (struct linux_partition_cache): New structure.
376 (linux_find_partition): Cache partition start positions; these are
377 expensive to compute on every read and write.
378 (open_device): Cache open file descriptor in disk->data, so that we
379 don't have to reopen it and flush the buffer cache for consecutive
380 operations on the same device.
381 (grub_util_biosdisk_close): New function.
382 (grub_util_biosdisk_dev): Set `close' member.
383
384 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
385 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
386 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
387 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
388 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
389
4a6d2d06
VS
3902010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
391
392 Compile parts of grub-emu as modules.
393
394 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
395 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
396 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
397 (all-local): Add $(GRUB_EMU).
398 (install-local): Install $(GRUB_EMU).
399 (uninstall): Uninstall $(GRUB_EMU).
400 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
401 * kern/dl.c: Likewise.
402 * commands/sleep.c: Not include machine/time.h.
403 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
404 (COMMON_CFLAGS): Likewise.
405 (sbin_UTILITIES): Remove grub-emu.
406 (grub_emu_SOURCES): Removed.
407 (kernel_img_RELOCATABLE): New variable.
408 (pkglib_PROGRAMS): Add kernel.img.
409 (kernel_img_SOURCES): New variable
410 (kernel_img_CFLAGS): Likewise.
411 (kernel_img_LDFLAGS): Likewise.
412 (TARGET_NO_STRIP): Likewise.
413 (TARGET_NO_DYNAMIC_MODULES): Likewise.
414 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
415 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
416 (grub-emu): New target.
417 (GRUB_EMU): New variable.
418 * configure.ac: Whitelist -emu as possible x86_64 architecture.
419 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
420 * loader/xnu.c: Likewise.
421 * include/grub/pci.h: Likewise.
422 * genemuinit.sh: New file.
423 * genemuinitheader.sh: Likewise.
424 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
425 Support TARGET_NO_DYNAMIC_MODULES.
426 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
427 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
428 * disk/loopback.c: Likewise.
429 * font/font_cmd.c: Likewise.
430 * partmap/acorn.c: Likewise.
431 * partmap/amiga.c: Likewise.
432 * partmap/apple.c: Likewise.
433 * partmap/gpt.c: Likewise.
434 * partmap/msdos.c: Likewise.
435 * partmap/sun.c: Likewise.
436 * parttool/msdospart.c: Likewise.
437 * term/gfxterm.c: Likewise.
438 * video/bitmap.c: Likewise.
439 * video/readers/jpeg.c: Likewise.
440 * video/readers/png.c: Likewise.
441 * video/readers/tga.c: Likewise.
442 * video/video.c: Likewise.
443 * util/grub-emu.c (read_command_list): Removed.
444 (main): Don't call util_init_nls.
445 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
446 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
447
91fdd2ed
VS
4482010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
449
450 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
451 date.mod, datehook.mod.
452 (datetime_mod_SOURCES): New variable.
453 (datetime_mod_CFLAGS): Likewise.
454 (datetime_mod_LDFLAGS): Likewise.
455 (date_mod_SOURCES): Likewise.
456 (date_mod_CFLAGS): Likewise.
457 (date_mod_LDFLAGS): Likewise.
458 (datehook_mod_SOURCES): Likewise.
459 (datehook_mod_CFLAGS): Likewise.
460 (datehook_mod_LDFLAGS): Likewise.
461 * conf/sparc64-ieee1275.rmk: Likewise.
462 * lib/ieee1275/datetime.c: New file.
463
873ccae6
VS
4642010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
465
466 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
467 (ieee1275_fb_mod_SOURCES): New variable.
468 (ieee1275_fb_mod_CFLAGS): Likewise.
469 (ieee1275_fb_mod_LDFLAGS): Likewise.
470 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
471 New proto.
472 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
473 (HEAP_MAX_ADDR): Likewise.
474 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
475 type.
476 Correct stop condition.
477 (grub_ieee1275_devices_iterate): New function.
478 * video/ieee1275.c: New file.
479
601c97c0
VS
4802010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
481
482 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
483
484 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
485 as scratch.
486 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
487 SCRATCH_PAD_DISKBOOT as scratch.
488 (bootit): Pass Openfirmware pointer in %o4.
489 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
490 of 0x200000.
491 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
492 with util/grub-mkrawimage.c.
493 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
494 * include/grub/aout.h (AOUT_MID_SUN): New definition.
495 (grub_aout_get_type) [GRUB_UTIL]: Removed.
496 (grub_aout_load) [GRUB_UTIL]: Likewise.
497 * include/grub/kernel.h (grub_modules_get_end): New proto.
498 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
499 (SCRATCH_PAD_BOOT): New definition.
500 (SCRATCH_PAD_DISKBOOT): Likewise.
501 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
502 * include/grub/sparc64/ieee1275/ieee1275.h
503 (grub_ieee1275_original_stack): New variable
504 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
505 New definition
506 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
507 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
508 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
509 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
510 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
511 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
512 (grub_platform_image_format_t): New type.
513 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
514 * kern/main.c (grub_modules_get_end)
515 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
516 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
517 (codestart): Switch stacks.
518 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
519 variable.
520 (grub_heap_init): Use grub_modules_get_end.
521 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
522 stack.
523 * util/grub-mkrawimage.c (generate_image): Support sparc64.
524 (main): Likewise.
525 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
526
d68b491e
TG
5272010-03-14 Thorsten Glaser <tg@mirbsd.org>
528
529 * util/grub-mkrescue.in: Base ISO UUID on UTC.
530
4e02ed50
MK
5312010-03-08 Matt Kraai <kraai@ftbfs.org>
532
533 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
534 bug #559005).
535
1f15fc1e
VS
5362010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
537
538 * genmoddep.awk: Output all missing symbols and not only first.
539
fce5d8ff
VS
5402010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
541
542 * NEWS: Put the date of 1.98 release.
543
d1e8a02f
VS
5442010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
545
546 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
547 ft2build.h.
548
696fd607
VS
5492010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
550
551 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
552 completition in the middle of string.
553
33e2e6f3
VS
5542010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
555
556 * util/grub-mkrescue.in: Use mktemp with explicit template.
557
b1f6d291
VS
5582010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
559
560 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
561
2ac227c7
VS
5622010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
563
564 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
565 right pointer.
566
8f9a632b
VS
5672010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
568
569 Fix FreeBSD compilation.
570
571 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
572 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
573
60b03859
VS
5742010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
575
576 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
577
48a5a769
VS
5782010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
579
580 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
581
3ab4bd77
VS
5822010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
583
584 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
585
d116e0d8
RM
5862010-03-04 Robert Millan <rmh.grub@aybabtu.com>
587
588 Support relative image path in theme file.
589
590 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
591 (image_set_property): Handle theme_dir and relative path.
592
c7ef54aa
VS
5932010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
594
595 * configure.ac: Alias amd64 to x86_64.
596
fcee14ed
VS
5972010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
598
599 * NEWS: mention multiboot on EFI.
600
d0780363
VS
6012010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
602
603 * kern/main.c (grub_load_modules): Handle errors from init functions of
604 embeded modules.
605
41168ea4
VS
6062010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
607
608 * normal/autofs.c (autoload_fs_module): Handle errors.
609
b54d93ac
VS
6102010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
611
612 Disable linux.mod on qemu-mips since it's not functional and leads
613 to compilation failure.
614
615 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
616 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
617 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
618 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
619 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
620 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
621 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
622 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
623 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
624 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
625 Reported by: BVK Chaitanya
626
fc8345da
JU
6272010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
628
629 * INSTALL: Add gettext as a dependency and add qemu to a new section
630 "Prerequisites for make-check".
631
4760f979
CF
6322010-03-04 Christian Franke <franke@computer.org>
633
634 * util/grub-pe2elf.c: Add missing include "progname.h".
635
f209b5b2
VS
6362010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
637
638 * normal/crypto.c (read_crypto_list): Fix a typo.
639 Reported by: Seth Goldberg.
640
b4b7be98
VS
6412010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
642
643 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 644 Reported by: Seth Goldberg.
b4b7be98 645
c0ee0385
VS
6462010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
647
648 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
649 ascii.bitmaps.
650
a8efbf64
VS
6512010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
652
653 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 654 Reported by: Seth Goldberg.
a8efbf64 655
08dcd913
VS
6562010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
657
658 * util/i386/efi/grub-install.in: Copy gettext files.
659
c4d0b332
VS
6602010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
661
662 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
663
c6f2fe52
VS
6642010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
665
666 Wait for user entry basing on presence of output rather than on errors.
667
668 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
669 (grub_install_newline_hook): Likewise.
670 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
671 * normal/menu.c (show_menu): Check line_counter to determine presence
672 of output.
673 * normal/term.c (grub_normal_line_counter): New variable.
674 (grub_normal_get_line_counter): New function.
675 (grub_install_newline_hook): Likewise.
676
5382b1e4
VS
6772010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
678
679 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
680
5519963b
VS
6812010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
682
683 * configure.ac: Update version to 1.98.
684
72b28631
VS
6852010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
686
687 * util/grub.d/10_linux.in (linux_entry): Don't default to
688 gfxpayload=keep if Linux doesn't support video handover.
689
c140a180
VS
6902010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
691
692 Don't compile video modules on yeeloong since video subsystem is part
693 of kernel.
694
695 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
696 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
697 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
698 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
699 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
700 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
701 * include/grub/bitmap_scale.h: Likewise.
702 * include/grub/bufio.h: Likewise.
703 * include/grub/font.h: Likewise.
704 * include/grub/gfxterm.h: Likewise.
705 * include/grub/video.h: Likewise.
706 * include/grub/vbe.h: Don't include video_fb.h.
707 * video/i386/pc/vbe.c: Include video_fb.h.
708 * commands/i386/pc/vbetest.c: Include video.h.
709
a0ca21c2
CW
7102010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
711
712 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
713 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
714 default entry if GRUB_SAVEDEFAULT=true. This allows using
715 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
716 saving a new default on every boot.
717
4a8a763c
VS
7182010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
719
720 * normal/crypto.c (read_crypto_list): Fix a memory leak.
721 * normal/term.c (read_terminal_list): Likewise.
722 * normal/main.c (grub_normal_init_page): Likewise.
723 (grub_normal_read_line_real): Likewise.
724
607ffde2
VS
7252010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
726
727 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
728 memory leak.
729 Reported by: Seth Goldberg.
730
2b8fa975
CW
7312010-02-24 Joey Korkames <joey+lists@kidfixit.com>
732
733 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
734 duplicate declaration of `start'.
735
618307dd
VS
7362010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
737
738 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
739 filename.
740 Reported by: Georgy Buranov
741
7dd05b96 7422010-02-20 Carles Pina i Estany <carles@pina.cat>
743
744 * util/grub-mkrawimage.c (usage): Change string formatting to
745 improve gettext.
746
d1484a42
MRA
7472010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
748
749 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
750 backspace keys.
751
42b1d186
VS
7522010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
753
754 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
755 Reported by: Michael Suchanek.
756
7572010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
758
759 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
760 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
761
d9f31a41
VS
7622010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
763
764 Remove any reference to non-free fonts.
765
766 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
767 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
768 uses non-free components.
769 * font/font.c (grub_font_get_name): Remove example name.
770 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
771 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
772 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
773 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
774
2793c71e
GB
7752010-02-16 Georgy Buranov <gburanov@gmail.com>
776
777 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
778
402e3779
VS
7792010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
780
781 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
782 Double divisor.
783 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
784 features.
785 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
786
0dd1e0dd
VS
7872010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
788
789 * gensymlist.sh.in: Use TARGET_CC instead of CC.
790
6fa7cfce
ST
7912010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
792
793 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
794 * docs/grub.texi (Command-line and menu entry commands): Document play
795 command.
796
37c8483b
ST
7972010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
798
799 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
800 parse arguments as inline tempo and notes. Move code for playing notes
801 to...
802 (play): ... new function.
803
14da0fb7
ST
8042010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
805
806 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
807 grub_uint16_t instead of short.
808 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
809 disk from little endian to cpu endianness.
810
04459e70
ST
8112010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
812
813 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
814 GRUB_TICKS_PER_SECOND instead of 120.
815
a0876943
VS
8162010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
817
818 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
819 escape sequence after \e.
820
e29f95dc
VS
8212010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
822
823 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
824 non-ASCII characters.
825
d27859b2
VS
8262010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
827
828 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
829 set root in single quotes to prevent \, from being unescaped.
830
bc028f2f
VS
8312010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
832
833 Prevent unknown commands from stopping menuentry execution.
834
835 * script/execute.c (grub_script_execute_cmdline): Print error after
836 unknown command.
837
095f5f82
VS
8382010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
839
840 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
841 Reported by: Pavel Pisa.
842
8c717950
VS
8432010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
844
845 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
846
904935c3
VS
8472010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
848
849 Merge grub_ieee1275_map_physical into grub_map and rename to
850 grub_ieee1275_map
851
852 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
853 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
854 Remove.
855 * kern/ieee1275/openfw.c (grub_map): Rename to ...
856 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
857 necessary.
858 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
859
5b59a4e3
VS
8602010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
861
862 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
863 opening and not after.
864
69e137e8
VS
8652010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
866
867 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
868 constants.
869
2c0fcc36
VS
8702010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
871
872 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
873 (alloc_phys): Use ALIGN_UP instead of align_addr.
874
8c6052ce
VS
8752010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
876
877 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
878
17cec782
VS
8792010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
880
881 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
882
e0128bbd
VS
8832010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
884
885 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
886 verbose dprintf.
887
ca62070b
VS
8882010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
889
890 Fix over-4GiB seek on sparc64.
891
892 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
893 Replace pos_i and pos_lo with pos. All users updated.
894 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
895 New constant.
896 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
897 Likewise.
898 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
899 and pos_lo.
900
bdca2607
VS
9012010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
902
903 * util/grub-mkrawimage.c (main): Call set_program_name.
904
da278c4d
VS
9052010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
906
907 Properly align 64-bit targets.
908
909 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
910 (generate_image): Use ALIGN_ADDR.
911
b274d734
VS
9122010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
913
914 Properly create cross-endian images.
915
916 * include/grub/types.h (grub_host_to_target_addr): New macro
917 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
918
82da2062
VS
9192010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
920
921 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
922
7cae4377
VS
9232010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
924
925 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
926
927 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
928 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
929 (grub_linux_boot): Divide by 64K when on VESA.
930
65a533e7
VS
9312010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
932
933 Support GRUB_GFXPAYLOAD_LINUX.
934
935 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
936 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
937
dd01d397
VS
9382010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
939
940 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
941 to show messages instead of discarding them.
942 Process errors after executing command and not before. Keep old method
943 too as precaution.
944
660960d6
VS
9452010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
946
947 * configure.ac: Check for ft2build.h.
948
62509f04
VS
9492010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
950
951 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
952
473df63d
VS
9532010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
954
955 * genkernsyms.sh.in: Use TARGET_CC.
956
c98d2a13
CW
9572010-02-07 Colin Watson <cjwatson@ubuntu.com>
958
959 * NEWS: Update.
960
6e14234c
VS
9612010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
962
963 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
964 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
965 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 966
b255e9cf
YB
9672010-02-07 Yves Blusseau <blusseau@zetam.org>
968
6e14234c 969 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 970
98e6959d
VS
9712010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
972
973 Fix warnings in grub-emu when compiling with maximum warning options.
974
975 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
976 (grub_arch_modules_addr): Return 0 and not NULL.
977 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 978 (xstrdup): Use newstr instead of dup.
f88d801b
VS
979 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
980 of disk to dsk to avoid shadowing.
74e4934e
VS
981 (find_free_slot): Fix prototype.
982 * util/getroot.c (grub_util_is_dmraid): Make static.
983 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
984 Add missing prototype.
985 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 986
74e31b5c
VS
9872010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
988
989 * loader/i386/linux.c (grub_linux_setup_video): Handle error
990 appropriately.
991
6b2ad14b
VS
9922010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
993
994 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
995 code out.
996
8f891adc
VS
9972010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
998
999 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
1000 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
1001 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
1002 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
1003 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
1004 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
1005
74b45184
VS
10062010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1007
1008 * include/grub/err.h (grub_err_printf): Don't export.
1009
a4bced77
VS
10102010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1011
1012 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
1013
007d0695
VS
10142010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1015
1016 * include/grub/i18n.h (grub_gettext_dummy): Removed.
1017 * kern/misc.c (grub_gettext_dummy): Make static.
1018
b6c0d9c2
VS
10192010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1020
1021 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
1022 by non-valid ones.
1023 * kern/term.c (grub_putchar): Likewise.
1024
f51a90d0
VS
10252010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1026
1027 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
1028 buggy hook call and memory leak.
1029
6846cec5
VS
10302010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1031
1032 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
1033
468d69fe
VS
10342010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1035
1036 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
1037
51906b8c
VS
10382010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1039
1040 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
1041 modevar.
1042 Return grub_errno on allocation error.
1043
09706ce5
VS
10442010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1045
1046 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
1047
911df80c
YB
10482010-02-06 Yves Blusseau <blusseau@zetam.org>
1049
1050 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
1051 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
1052
3746a6bc
VS
10532010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1054
1055 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
1056 non-pxe disk.
1057 (grub_pxefs_open): Likewise.
1058
09706ce5
VS
10592010-02-06 Robert Millan <rmh.grub@aybabtu.com>
1060
1061 * util/grub.d/10_hurd.in: Add --class information to menuentries.
1062 * util/grub.d/10_kfreebsd.in: Likewise.
1063 * util/grub.d/10_linux.in: Likewise.
1064
7cc192d9
VS
10652010-02-06 Colin D Bennett <colin@gibibit.com>
1066
1067 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
1068 (gfxmenu_mod_SOURCES): New variable.
1069 (gfxmenu_mod_CFLAGS): Likewise.
1070 (gfxmenu_mod_LDFLAGS): Likewise.
1071 * include/grub/term.h (grub_term_set_current_output): Declare
1072 argument as const.
1073 * docs/gfxmenu-theme-example.txt: New file.
1074 * gfxmenu/gfxmenu.c: Likewise.
1075 * gfxmenu/gui_box.c: Likewise.
1076 * gfxmenu/gui_canvas.c: Likewise.
1077 * gfxmenu/gui_circular_progress.c: Likewise.
1078 * gfxmenu/gui_image.c: Likewise.
1079 * gfxmenu/gui_label.c: Likewise.
1080 * gfxmenu/gui_list.c: Likewise.
1081 * gfxmenu/gui_progress_bar.c: Likewise.
1082 * gfxmenu/gui_string_util.c: Likewise.
1083 * gfxmenu/gui_util.c: Likewise.
1084 * gfxmenu/icon_manager.c: Likewise.
1085 * gfxmenu/model.c: Likewise.
1086 * gfxmenu/named_colors.c: Likewise.
1087 * gfxmenu/theme_loader.c: Likewise.
1088 * gfxmenu/view.c: Likewise.
1089 * gfxmenu/widget-box.c: Likewise.
1090 * include/grub/gfxmenu_model.h: Likewise.
1091 * include/grub/gfxmenu_view.h: Likewise.
1092 * include/grub/gfxwidgets.h: Likewise.
1093 * include/grub/gui.h: Likewise.
1094 * include/grub/gui_string_util.h: Likewise.
1095 * include/grub/icon_manager.h: Likewise.
1096
10972010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1098
1099 Agglomerate scrolling in gfxterm.
1100
1101 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
1102 (grub_virtual_screen_setup): Initialise 'total_screen'.
1103 (write_char): Split to ...
1104 (paint_char): ... this ...
1105 (write_char): ... and this.
1106 (paint_char): Handle delayed scrolling.
1107 (draw_cursor): Likewise.
1108 (scroll_up): Split to ...
1109 (real_scroll): ... this ...
1110 (scroll_up): ... and this.
1111 (real_scroll): Handle multi-line scroll and draw below-the-bottom
1112 characters.
1113 (grub_gfxterm_refresh): Call real_scroll.
1114
11152010-02-06 Colin D Bennett <colin@gibibit.com>
1116
1117 * include/grub/misc.h (grub_iscntrl): New inline function.
1118 (grub_isalnum): Likewise.
1119 (grub_strtol): Likewise.
1120
11212010-02-06 Colin D Bennett <colin@gibibit.com>
1122
1123 * normal/menu_text.c (get_entry_number): Move from here ...
1124 * normal/menu.c (get_entry_number): ... moved here.
1125 * include/grub/menu.h (grub_menu_get_default_entry_index):
1126 New prototype.
1127 * normal/menu.c (grub_menu_get_default_entry_index): New function.
1128 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
1129 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
1130 (grub_menu_viewer_should_return): Likewise.
1131 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
1132 * normal/menu_text.c (run_menu): Enable menu switching.
1133 * normal/menu_viewer.c (should_return): New variable.
1134 (menu_viewer_changed): Likewise.
1135 (grub_menu_viewer_show_menu): Handle menu viewer changes.
1136 (grub_menu_viewer_should_return): New function.
1137 (menuviewer_write_hook): Likewise.
1138 (grub_menu_viewer_init): Likewise.
1139
11402010-02-06 Colin D Bennet <colin@gibibit.com>
11412010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1142
1143 Support for gfxterm in a window.
1144
1145 * include/grub/gfxterm.h: New file.
1146 * include/grub/video.h (struct grub_video_rect): New declaration.
1147 (grub_video_rect_t): Likewise.
1148 * term/gfxterm.c (struct grub_gfxterm_window): New type.
1149 (refcount): New variable.
1150 (render_target): Likewise.
1151 (window): Likewise.
1152 (repaint_callback): Likewise.
1153 (grub_virtual_screen_setup): Use 'render_target'.
1154 (init_window): New function.
1155 (grub_gfxterm_init_window): Likewise.
1156 (grub_gfxterm_init): Check reference counter.
1157 Use init_window.
1158 (destroy_window): New function.
1159 (grub_gfxterm_destroy_window): Likewise.
1160 (grub_gfxterm_fini): Check reference counter.
1161 Use destroy_window.
1162 (redraw_screen_rect): Restore viewport.
1163 Use 'render_target' and 'window'.
1164 Call 'repaint_callback'.
1165 (write_char): Use 'render_target'.
1166 (draw_cursor): Likewise.
1167 (scroll_up): Restore viewport.
1168 Use 'render_target' and 'window'.
1169 Call 'repaint_callback'.
1170 (grub_gfxterm_cls): Likewise.
1171 (grub_gfxterm_refresh): Use 'window'.
1172 (grub_gfxterm_set_repaint_callback): New function.
1173 (grub_gfxterm_background_image_cmd): Use 'window'.
1174 (grub_gfxterm_get_term): New function.
1175 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
1176
11772010-02-06 Colin D Bennett <colin@gibibit.com>
1178
1179 Bitmap scaling support.
1180
1181 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
1182 (bitmap_scale_mod_SOURCES): New variable.
1183 (bitmap_scale_mod_CFLAGS): Likewise.
1184 (bitmap_scale_mod_LDFLAGS): Likewise.
1185 * include/grub/bitmap_scale.h: New file.
1186 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
1187 (background_image_cmd_options): New variable.
1188 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
1189 (cmd): Rename and change type to ...
1190 (background_image_cmd_handle): ... this. All users updated.
1191 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
1192 * video/bitmap_scale.c: New file.
1193
11942010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1195
1196 SDL support.
1197
1198 * Makefile.in (LIBSDL): New variable.
1199 (enable_grub_emu_sdl): Likewise.
1200 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
1201 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
1202 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
1203 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
1204 * util/sdl.c: New file.
1205
12062010-02-06 Colin D Bennett <colin@gibibit.com>
12072010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1208
1209 Double buffering support.
1210
1211 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
1212 * include/grub/video.h: Update comment.
1213 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
1214 New type.
1215 (grub_video_fb_doublebuf_blit_init): New prototype.
1216 * term/gfxterm.c (scroll_up): Support double buffering.
1217 (grub_gfxterm_refresh): Likewise.
1218 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
1219 (grub_video_fb_doublebuf_blit_init): Likewise.
1220 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
1221 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
1222 'displayed_page', 'render_page' and 'update_screen'.
1223 (grub_video_vbe_fini): Free offscreen buffer.
1224 (doublebuf_pageflipping_commit): New function.
1225 (doublebuf_pageflipping_update_screen): Likewise.
1226 (doublebuf_pageflipping_init): Likewise.
1227 (double_buffering_init): Likewise.
1228 (grub_video_vbe_setup): Enable doublebuffering.
1229 (grub_video_vbe_swap_buffers): Implement.
1230 (grub_video_vbe_set_active_render_target): Handle double buffering.
1231 (grub_video_vbe_get_active_render_target): Likewise.
1232 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
1233 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
1234 (grub_video_vbe_enable_double_buffering): Likewise.
1235 (grub_video_vbe_swap_buffers): Use update_screen.
1236 (grub_video_set_mode): Use double buffering.
1237
12382010-02-06 Robert Millan <rmh.grub@aybabtu.com>
1239
1240 * maintainance/gentrigtables.py: Remove.
1241 * lib/trig.c: Likewise.
1242
1243 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
1244
1245 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
1246 `trigtables.c'.
1247 (trigtables.c): New rule.
1248 (gentrigtables): Likewise.
1249 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
1250
12512010-02-06 Robert Millan <rmh.grub@aybabtu.com>
1252
1253 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
1254 integer constants.
1255
12562010-02-06 Colin D Bennet <colin@gibibit.com>
1257
1258 Trigonometry support.
1259
1260 * include/grub/trig.h: New file.
1261 * lib/trig.c: Likewise.
1262 * maintainance/gentrigtables.py: Likewise.
1263 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
1264 (trig_mod_SOURCES): New variable.
1265 (trig_mod_CFLAGS): Likewise.
1266 (trig_mod_LDFLAGS): Likewise.
1267
5562834e
VS
12682010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1269
1270 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
1271 disk devices.
1272
4f8528fc
VS
12732010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1274
1275 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
1276 error.
1277
2b4068e9
VS
12782010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1279
1280 * util/hostdisk.c (open_device): Don't use partition device when reading
1281 before the partition.
1282 (grub_util_biosdisk_read): Don't read from partition and before the
1283 partition in single operation.
1284 (grub_util_biosdisk_write): Don't write to partition and before the
1285 partition in single operation.
1286
399f6e4d
TL
12872010-02-03 Torsten Landschoff <torsten@debian.org>
1288
1289 * kern/disk.c (grub_disk_read): Fix offset computation when reading
1290 last sectors.
1291
996649b0
VS
12922010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1293
1294 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
1295 CDROM reads.
1296 (grub_biosdisk_write): Refuse to write to CDROM.
1297
3b205d4d
VS
12982010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1299
1300 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
1301
61e89d9d
VS
13022010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1303
1304 * font/font.c (find_glyph): Check that bmp_idx is available before
1305 using it.
1306 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
1307 with (font == NULL).
1308
bf7fcba2
CS
13092010-01-28 Christian Schmitt <chris@ilovelinux.de>
1310
1311 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
1312
f45d2663
BC
13132010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
1314
1315 * include/grub/script_sh.h (sourcecode): Add const qualifier.
1316 * util/grub-script-check.c (getline): Fix empty lines case.
1317
ec1444e6
RM
13182010-01-28 Robert Millan <rmh.grub@aybabtu.com>
1319
1320 * Makefile.in (check): Exit with fail status when one of the tests
1321 fails.
1322 * tests/example_functional_test.c (example_test): Fix reversed assert.
1323 * tests/example_unit_test.c (example_test): Likewise.
1324
2e1cb9bb
CW
13252010-01-28 Colin Watson <cjwatson@ubuntu.com>
1326
1327 * util/grub.d/10_linux.in: This script does not use any of the
1328 contents of gettext.sh, only the external command `gettext', so stop
1329 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
1330 the same prefix as GRUB.)
1331 * util/grub.d/10_kfreebsd.in: Likewise.
1332
63533ab0
VS
13332010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1334
1335 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
1336 of the line.
1337
989e1f93
VS
13382010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1339
1340 * kern/disk.c (grub_disk_read): Fix offset computation when reading
1341 last sectors.
1342
e709ebe2
VS
13432010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1344
1345 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
1346 having a 4KiB and not 32KiB buffer size.
1347
27dea7ed
RM
13482010-01-27 Robert Millan <rmh.grub@aybabtu.com>
1349
1350 * util/hostfs.c: Include `<errno.h>'.
1351 (grub_hostfs_read): Handle errors from fseeko() and fread().
1352
67667b9c
RM
13532010-01-27 Robert Millan <rmh.grub@aybabtu.com>
1354
1355 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
1356 loop when using read hooks on files whose size isn't sector-aligned.
1357
c294d9d8
RM
13582010-01-27 Robert Millan <rmh.grub@aybabtu.com>
1359
1360 Remove unused parameter.
1361
1362 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
1363 (grub_iso9660_open): Remove initialization of `data->length'.
1364
af75a9f1
RM
13652010-01-27 Robert Millan <rmh.grub@aybabtu.com>
1366
1367 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
1368 memleak conditions.
1369
254e2ce5 13702010-01-27 Carles Pina i Estany <carles@pina.cat>
1371
1372 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
1373 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
1374
b510928c 13752010-01-26 Carles Pina i Estany <carles@pina.cat>
1376
1377 * util/bin2h.c (usage): Fix warning (space after backslash).
1378
aa2f9dd2 13792010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 1380
1381 * font/font.c: Include `grub/fontformat.h.
1382 Remove font file format constants.
1383 (grub_font_load): Use the new macros.
1384 * include/grub/fontformat.h: New file.
1385 * util/grub-mkfont.c: Include `grub/fontformat.c'.
1386 (write_font_pf2): Use the new macros.
1387
94e7e712
RM
13882010-01-26 Robert Millan <rmh.grub@aybabtu.com>
1389
1390 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
1391 does.
1392
3973a59a
RM
13932010-01-26 Robert Millan <rmh.grub@aybabtu.com>
1394
1395 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
1396
1397 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
1398 (_start): Macroify `0x7F'.
1399
1400 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
1401 (make_install_device): Use "(pxe)" as fallback prefix when booting
1402 via PXE.
1403
42e0cba3
GS
14042010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
1405
1406 * configure.ac: Reset LIBS after check for libgcc symbols.
1407
847effd8
CW
14082010-01-25 Colin Watson <cjwatson@ubuntu.com>
1409
1410 * util/hostdisk.c (open_device): Add trailing newline to debug
1411 message.
1412
ea4a7e35
GS
14132010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
1414
1415 * configure.ac: Check for `limits.h'.
1416 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
1417
67951a53
RM
14182010-01-24 Robert Millan <rmh.grub@aybabtu.com>
1419
1420 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
1421 capitalize error strings.
1422
c273d4ce
ST
14232010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
1424
1425 * util/grub.d/10_hurd.in: Add a recovery mode.
1426
69be5b74
VS
14272010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
1428
1429 * configure.ac: Check for libgcc symbols with -nostdlib.
1430
fc9e5810
BC
14312010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
1432
1433 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
1434
4b358c0a
VS
14352010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1436
1437 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
1438 stack since heap may be unavailable at that point.
1439 (grub_ofconsole_gotoxy): Likewise.
1440
454fcd1c
VS
14412010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1442
1443 * configure.ac: Check for _restgpr_14_x.
1444 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
1445 and _savegpr_* prototypes.
1446
566863ca
RM
14472010-01-22 Robert Millan <rmh.grub@aybabtu.com>
1448
1449 Use generic grub_reboot() for i386-efi.
1450
1451 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
1452 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
1453 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
1454
bf86e59a
VS
14552010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1456
1457 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
1458 presence of "prefix" variable as it breaks when normal.mod is
1459 embedded.
1460
d645e0f8
VS
14612010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1462
1463 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
1464 stack since heap is unavailable at that point.
1465
f9ab2e25
VS
14662010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1467
1468 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
1469 (grub_freebsd_bootinfo): Rewritten.
1470 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
1471
01fc7054
VS
14722010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1473
1474 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
1475
caab4fd6
RM
14762010-01-21 Robert Millan <rmh.grub@aybabtu.com>
1477
1478 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
1479 domain now.
1480
67eb1427
FZ
14812010-01-20 Felix Zielcke <fzielcke@z-51.de>
1482
1483 * util/misc.c (make_system_path_relative_to_its_root): Change the work
1484 around for handling "/" to the correct fix. Fix a memory leak. Use
1485 xstrdup instead of strdup.
1486
a9ed4ff3
VS
14872010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1488
1489 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
1490
14912010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
1492
1493 Optimise glyph lookup by Basic Multilingual Plane lookup array.
1494
1495 * font/font.c (struct grub_font): New member 'bmp_idx'.
1496 (font_init): Initialise 'bmp_idx'.
1497 (load_font_index): Fill 'bmp_idx'.
1498 (find_glyph): Make inline. Use bmp_idx for BMP characters.
1499
48209f4f
VS
15002010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1501
1502 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
1503 unnecessary calls.
1504
9f0a4bb7
VS
15052010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1506
1507 Move context handling out of the kernel.
1508
1509 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
1510 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
1511 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
1512 * conf/i386-efi.rmk: Likewise.
1513 * conf/i386-ieee1275.rmk: Likewise.
1514 * conf/i386-pc.rmk: Likewise.
1515 * conf/powerpc-ieee1275.rmk: Likewise.
1516 * conf/sparc64-ieee1275.rmk: Likewise.
1517 * conf/x86_64-efi.rmk: Likewise.
1518 * include/grub/env.h: Include grub/menu.h.
1519 (grub_env_var_type): Removed.
1520 (grub_env_var): Replaced field 'type' with 'global'.
1521 (grub_env_find): New prototype.
1522 (grub_env_context_open): Remove EXPORT_FUNC.
1523 (grub_env_context_close): Likewise.
1524 (grub_env_export): Likewise.
1525 (grub_env_set_data_slot): Removed.
1526 (grub_env_get_data_slot): Likewise.
1527 (grub_env_unset_data_slot): Likewise.
1528 (grub_env_unset_menu): New prototype.
1529 (grub_env_set_menu): Likewise.
1530 (grub_env_get_menu): Likewise.
1531 * include/grub/env_private.h: New file.
1532 * include/grub/normal.h (grub_context_init): New prototype.
1533 (grub_context_fini): Likewise.
1534 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
1535 * normal/context.c (grub_cmd_export): ... to here.
1536 * kern/env.c: Include env_private.h.
1537 (HASHSZ): Moved to include/grub/env_private.h.
1538 (grub_env_context): Likewise.
1539 (grub_env_sorted_var): Likewise.
1540 (current_context): Renamed from this ...
1541 (grub_current_context): ...to this. 'static' removed. All users updated.
1542 (grub_env_find): Removed 'static'.
1543 (grub_env_context_open): Moved to normal/context.c.
1544 (grub_env_context_close): Likewise.
1545 (grub_env_export): Likewise.
1546 (mangle_data_slot_name): Removed.
1547 (grub_env_set_data_slot): Likewise.
1548 (grub_env_get_data_slot): Likewise.
1549 (grub_env_unset_data_slot): Likewise.
1550 * kern/main.c (grub_set_root_dev): Don't export root.
1551 It will be done later.
1552 (grub_main): Don't export prefix.
1553 It will be done later.
1554 * normal/context.c: New file.
1555 * normal/main.c (free_menu): Use grub_env_unset_menu.
1556 (grub_normal_add_menu_entry): Use grub_env_get_menu.
1557 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
1558 (GRUB_MOD_INIT(normal)): Call grub_context_init.
1559 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
1560
8dd35b8c
VS
15612010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1562
1563 setpci support.
1564
1565 * commands/setpci.c: New file.
1566 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
1567 (setpci_mod_SOURCES): New variable.
1568 (setpci_mod_CFLAGS): Likewise.
1569 (setpci_mod_LDFLAGS): Likewise.
1570
449193d5
VS
15712010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1572
1573 Byte-addressable PCI configuration space.
1574
1575 * bus/pci.c (grub_pci_make_address): Use byte address instead of
1576 dword address.
1577 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
1578 GRUB_PCI_REG_CACHELINE.
1579 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
1580 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
1581 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
1582 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
1583 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
1584 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
1585 grub_pci_make_address.
1586 (lock_rom_area): Likewise.
1587 * commands/lspci.c (grub_lspci_iter): Use macroses
1588 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
1589 of grub_pci_make_address.
1590 * disk/ata.c (grub_ata_pciinit): Likewise.
1591 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
1592 (GRUB_PCI_REG_VENDOR): Likewise.
1593 (GRUB_PCI_REG_DEVICE): Likewise.
1594 (GRUB_PCI_REG_COMMAND): Likewise.
1595 (GRUB_PCI_REG_STATUS): Likewise.
1596 (GRUB_PCI_REG_REVISION): Likewise.
1597 (GRUB_PCI_REG_CLASS): Likewise.
1598 (GRUB_PCI_REG_CACHELINE): Likewise.
1599 (GRUB_PCI_REG_LAT_TIMER): Likewise.
1600 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
1601 (GRUB_PCI_REG_BIST): Likewise.
1602 (GRUB_PCI_REG_ADDRESSES): Likewise.
1603 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1604 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1605 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1606 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1607 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1608 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1609 (GRUB_PCI_REG_CIS_POINTER): Likewise.
1610 (GRUB_PCI_REG_SUBVENDOR): Likewise.
1611 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
1612 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
1613 (GRUB_PCI_REG_CAP_POINTER): Likewise.
1614 (GRUB_PCI_REG_IRQ_LINE): Likewise.
1615 (GRUB_PCI_REG_IRQ_PIN): Likewise.
1616 (GRUB_PCI_REG_MIN_GNT): Likewise.
1617 (GRUB_PCI_REG_MAX_LAT): Likewise.
1618 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
1619 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
1620 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 1621 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
1622 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
1623 space.
1624
96d73208
RM
16252010-01-20 Robert Millan <rmh.grub@aybabtu.com>
1626
1627 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
1628 can be reliably determined to be supported.
1629
d4484482
RM
16302010-01-20 Robert Millan <rmh.grub@aybabtu.com>
1631
1632 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
1633 that VESA is supported.
1634 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
1635 supported.
1636
00308ecf
VS
16372010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1638
1639 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
1640
f66924a4
RM
16412010-01-20 Robert Millan <rmh.grub@aybabtu.com>
1642
1643 * util/misc.c (make_system_path_relative_to_its_root): Work around
1644 special-casing of "/", as previous incarnation of this routine did.
1645
cbca0ada
VS
16462010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1647
1648 Fix any-emu compilation.
1649
1650 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
1651 * grub_bin2h_SOURCES: New variable.
1652
34a66d99
RM
16532010-01-20 Robert Millan <rmh.grub@aybabtu.com>
1654
1655 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
1656
94fabf58
RM
16572010-01-20 Robert Millan <rmh.grub@aybabtu.com>
1658
1659 * util/grub.d/00_header.in: Fix handling of locale_dir.
1660
02cf98ca
VS
16612010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1662
1663 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
1664 as possible unifont location (Gentoo).
1665 Reported by: Alexander BrĂ¼ning
1666
327dbcd7
VS
16672010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1668
1669 Don't try to generate lists for kernel.img.
1670
1671 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
1672 (pkglib_MODULES): Remove kernel.img.
1673 (kernel_img_EXPORTS): Removed.
1674 (kernel_img_RELOCATABLE): New variable.
1675 * conf/x86_64-efi.rmk: Likewise.
1676 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
1677
ca467290
VS
16782010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1679
1680 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
1681 grub_xasprintf or grub_snprintf.
1682 (grub_vsprintf): Likewise.
1683 (grub_snprintf): New proto.
1684 (grub_vsnprintf): Likewise.
1685 (grub_xasprintf): Likewise.
1686 (grub_xvasprintf): Likewise.
1687 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
1688 (grub_sprintf): Removed.
1689 (grub_vsnprintf): New function.
1690 (grub_snprintf): Likewise.
1691 (grub_xvasprintf): Likewise.
1692 (grub_xasprintf): Likewise.
1693 (grub_vsprintf): Renamed to ...
1694 (grub_vsnprintf_real): ...this. New argument max_len.
1695
aca655fd
BC
16962010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
1697
1698 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
1699 fix grub-script-check warning.
1700
7ee92c32
VS
17012010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1702
1703 * include/grub/font.h (grub_font_load): Fix prototype.
1704
f80927ca
VS
17052010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1706
1707 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
1708
119c50ea
VS
17092010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1710
1711 * include/grub/x86_64/at_keyboard.h: New file.
1712
47d5f3c1
VS
17132010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1714
1715 * loader/mips/linux.c: Include missing grub/i18n.h.
1716
55ff5266
RM
17172009-12-20 Robert Millan <rmh.grub@aybabtu.com>
1718
1719 * normal/menu.c (notify_execution_failure): Clarify error message.
1720
c893cc87
RM
17212009-12-20 Robert Millan <rmh.grub@aybabtu.com>
1722
1723 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
1724 return value (and revert all return statements). Update users.
1725
917dd370
CW
17262010-01-20 Dan Merillat <debian@dan.merillat.org>
1727
1728 * kern/device.c (grub_device_iterate): Allocate new part_ent
1729 structure based on sizeof (*p) rather than sizeof (p->next), to
1730 account for structure padding.
1731
1732 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
1733 disk is NULL, which might happen for LVM physical volumes with no
1734 LVM signature.
1735
d4a4ee57
RM
17362009-12-20 Robert Millan <rmh.grub@aybabtu.com>
1737
1738 * loader/mips/linux.c (grub_cmd_initrd)
1739 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
1740
17412009-12-20 Robert Millan <rmh.grub@aybabtu.com>
1742
1743 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
1744 (grub_video_video_init, grub_video_bitmap_init)
1745 (grub_font_manager_init, grub_term_gfxterm_init)
1746 (grub_at_keyboard_init): New extern declarations.
1747 (grub_machine_init): Initialize gfxterm and at_keyboard.
1748
1749 * kern/main.c (grub_main): Revert grub_printf delay kludge.
1750
1751 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
1752 `gfxterm.mod' into core image.
1753
1754 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
1755 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
1756 (kernel_img_FORMAT): Copy to ...
1757
1758 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
1759 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
1760 (kernel_img_FORMAT): ... here, and ...
1761
1762 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
1763 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
1764 (kernel_img_FORMAT): ... here.
1765
1766 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
1767 and input (at_keyboard) terminals in kernel.
1768 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
1769
1770 (pkglib_MODULES): Remove `pci.mod'.
1771 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
1772 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
1773 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
1774 (at_keyboard_mod_LDFLAGS): Remove variables.
1775
17762010-01-11 Felix Zielcke <fzielcke@z-51.de>
1777
1778 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
1779
17802009-12-10 Robert Millan <rmh.grub@aybabtu.com>
1781
1782 * include/grub/mips/libgcc.h: Only export symbols for functions
1783 that libgcc provides.
1784
17852009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
1786
1787 MIPS support.
1788
1789 * bus/bonito.c: New file.
1790 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
1791 GRUB_PCI_NUM_DEVICES.
1792 * term/i386/pc/serial.c: Move to ...
1793 * term/serial.c: ... here. All users updated.
1794 * util/i386/pc/grub-mkimage.c: Move to ...
1795 * util/grub-mkrawimage.c: ... here. All users updated.
1796 * term/i386/pc/at_keyboard.c: Move to ...
1797 * term/at_keyboard.c: ... here. All users updated.
1798 * conf/mips-qemu-mips.rmk: New file.
1799 * conf/mips-yeeloong.rmk: Likewise.
1800 * conf/mips.rmk: Likewise.
1801 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
1802 mipsel-qemu-mips.
1803 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
1804 to port addresses.
1805 (grub_ata_pciinit): Support CS5536.
1806 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
1807 * font/font_cmd.c (loadfont_command): Open file before passing it to
1808 grub_font_load.
1809 (pseudo_file_read): New function.
1810 (pseudo_file_close): Likewise.
1811 (pseudo_fs): New structure.
1812 (load_font_module): New function.
1813 (GRUB_MOD_INIT(font_manager)): Load embedded font.
1814 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
1815 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
1816 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
1817 * include/grub/i386/at_keyboard.h: Split into ...
1818 * include/grub/at_keyboard.h: ... this ...
1819 * include/grub/i386/at_keyboard.h: ... and this.
1820 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
1821 New prototype.
1822 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
1823 updated.
1824 (grub_elf64_size): Likewise.
1825 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
1826 filename.
1827 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
1828 * include/grub/i386/coreboot/serial.h: Rewritten.
1829 * include/grub/i386/ieee1275/serial.h: Include
1830 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
1831 * include/grub/i386/pc/serial.h: Moved from here ...
1832 * include/grub/serial.h: ... to here. All users updated.
1833 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
1834 (GRUB_PCI_NUM_BUS): Likewise.
1835 (GRUB_PCI_NUM_DEVICES): Likewise.
1836 (grub_pci_device_map_range): Add missing volatile keyword.
1837 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
1838 * include/grub/mips/at_keyboard.h: New file.
1839 * include/grub/mips/cache.h: Likewise.
1840 * include/grub/mips/io.h: Likewise.
1841 * include/grub/mips/kernel.h: Likewise.
1842 * include/grub/mips/libgcc.h: Likewise.
1843 * include/grub/mips/pci.h: Likewise.
1844 * include/grub/mips/qemu-mips/boot.h: Likewise.
1845 * include/grub/mips/qemu-mips/kernel.h: Likewise.
1846 * include/grub/mips/qemu-mips/loader.h: Likewise.
1847 * include/grub/mips/qemu-mips/memory.h: Likewise.
1848 * include/grub/mips/qemu-mips/serial.h: Likewise.
1849 * include/grub/mips/qemu-mips/time.h: Likewise.
1850 * include/grub/mips/relocator.h: Likewise.
1851 * include/grub/mips/time.h: Likewise.
1852 * include/grub/mips/types.h: Likewise.
1853 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
1854 * include/grub/mips/yeeloong/boot.h: Likewise.
1855 * include/grub/mips/yeeloong/kernel.h: Likewise.
1856 * include/grub/mips/yeeloong/loader.h: Likewise.
1857 * include/grub/mips/yeeloong/memory.h: Likewise.
1858 * include/grub/mips/yeeloong/pci.h: Likewise.
1859 * include/grub/mips/yeeloong/serial.h: Likewise.
1860 * include/grub/mips/yeeloong/time.h: Likewise.
1861 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
1862 * kern/elf.c (grub_elf32_size): New parameter. All users
1863 updated.
1864 (grub_elf64_size): Likewise.
1865 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
1866 Load modules before saying "Welcome to GRUB!".
1867 Call grub_refresh after saying "Welcome to GRUB!".
1868 * kern/mips/cache.S: New file.
1869 * kern/mips/cache_flush.S: Likewise.
1870 * kern/mips/dl.c: Likewise.
1871 * kern/mips/init.c: Likewise.
1872 * kern/mips/qemu-mips/init.c: Likewise.
1873 * kern/mips/startup.S: Likewise.
1874 * kern/mips/yeeloong/init.c: Likewise.
1875 * kern/term.c (grub_putcode): Handle NULL terminal.
1876 (grub_getcharwidth): Likewise.
1877 (grub_getkey): Likewise.
1878 (grub_checkkey): Likewise.
1879 (grub_getkeystatus): Likewise.
1880 (grub_getxy): Likewise.
1881 (grub_getwh): Likewise.
1882 (grub_gotoxy): Likewise.
1883 (grub_cls): Likewise.
1884 (grub_setcolorstate): Likewise.
1885 (grub_setcolor): Likewise.
1886 (grub_getcolor): Likewise.
1887 (grub_refresh): Likewise.
1888 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
1889 (write_jump): Add hatch nop.
1890 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
1891 * lib/mips/setjmp.S: New file.
1892 * loader/mips/linux.c: Likewise.
1893 * term/i386/pc/at_keyboard.c: Move from here ...
1894 * term/at_keyboard.c: ... to here.
1895 * term/i386/pc/serial.c: Moved from here ...
1896 * term/serial.c: ... to here. All users updated.
1897 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
1898 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
1899 (serial_translate_key_sequence): Avoid deadlock.
1900 (grub_serial_getkey): Handle backspace.
1901 (grub_serial_putchar): Fix newline handling.
1902 * util/i386/pc/grub-mkimage.c: Move from here ...
1903 * util/grub-mkrawimage.c: ... to here. All users updated.
1904 (generate_image): New parameters 'font_path' and 'format'.
1905 Support embedding font.
1906 Use grub_host_to_target* instead of grub_cpu_to_le*.
1907 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
1908 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
1909 (options): New option "--font".
1910 (usage): Likewise.
1911 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
1912 (main): Handle "--font".
1913 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
1914 (grub_virtual_screen_setup): Set bg_color_display.
1915 (redraw_screen_rect): Use bg_color_display instead of incorrect
1916 bg_color.
1917 (grub_gfxterm_cls): Likewise.
1918 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
1919 Support embedding config file.
1920 (add_segments): Likewise.
1921 (options): New option "--config".
1922 (main): Handle "--config".
1923 * video/sm712.c: New file.
1924
25c2b5b3
RM
19252010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1926
1927 Fix parallel builds.
1928
1929 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
1930 font.c depend on ascii.h).
1931
19322010-01-12 Carles Pina i Estany <carles@pina.cat>
1933
1934 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
1935
19362010-01-11 Carles Pina i Estany <carles@pina.cat>
1937
1938 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
1939 By default: disabled.
1940 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
1941 parameter.
1942
19432010-01-10 Carles Pina i Estany <carles@pina.cat>
1944
1945 * font/font.c: Update copyright years.
1946 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
1947
19482010-01-10 Carles Pina i Estany <carles@pina.cat>
1949
1950 * font/font.c: Include `ascii.h'.
1951 (ASCII_BITMAP_SIZE): New macro.
1952 (ascii_font_glyph): Define.
1953 (ascii_glyph_lookup): New function.
1954 (grub_font_get_string_width): Change comment. If glyph not found, use
1955 ascii_glyph_lookup.
1956 (grub_font_get_glyph_with_fallback): If glyph not available returns
1957 ascii_glyph_lookup.
1958 * util/grub-mkfont.c (file_formats): New enum.
1959 (options): Add `ascii-bitmaps' new option.
1960 (usage): Add `asii-bitmaps' new option.
1961 (write_font_ascii_bitmap): New function.
1962 (write_font): Rename to ...
1963 (write_font_p2): ... this. Remove print_glyphs call.
1964 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
1965 used. Call print_glyphs.
1966 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
1967
19682010-01-14 Robert Millan <rmh.grub@aybabtu.com>
1969
1970 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
1971 (grub_bin2h_SOURCES): New variable.
1972 * util/bin2h.c: New file.
1973
915fc1b8
VS
19742010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1975
1976 * include/multiboot.h: Resynced with spec.
1977 * include/multiboot2.h: Likewise.
1978 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
1979 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
1980
9444b678
RM
19812010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1982
1983 * include/grub/term.h (grub_term_register_input,
1984 grub_term_register_output): Check return of terminal init()
1985 routines, and abort if errors are raised.
1986
1987 * commands/terminal.c: Update copyright year.
1988
cba98e8d
RM
19892010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1990
1991 * commands/terminal.c (grub_cmd_terminal_input)
1992 (grub_cmd_terminal_output): Check return of terminal init()
1993 routines, and abort if errors are raised.
1994
6f7db5d6
VS
19952010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
1996
1997 * include/grub/i386/bsd.h: Fix include pathes.
1998
262bff8d
VS
19992010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2000
2001 Add missing *BSD copyright headers.
2002
2003 * include/grub/aout.h: Add BSD licence.
2004 * include/grub/i386/bsd.h: Parts under different licences moved to ...
2005 * include/grub/i386/freebsd_linker.h: ... here,
2006 * include/grub/i386/freebsd_reboot.h: ... here,
2007 * include/grub/i386/netbsd_bootinfo.h: ... here,
2008 * include/grub/i386/netbsd_reboot.h: ... here,
2009 * include/grub/i386/openbsd_bootarg.h: ... here,
2010 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
2011 licence to each file.
2012
b2cab848
RM
20132010-01-18 Robert Millan <rmh.grub@aybabtu.com>
2014
2015 * acinclude.m4: Remove `nop' assembly instruction; it's not
2016 implemented by all architectures.
2017
2cb6be4b
RM
20182010-01-18 Robert Millan <rmh.grub@aybabtu.com>
2019
2020 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
2021 ELILO. This is no longer necessary.
2022
a2eaee15
BC
20232010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
2024
2025 Added new tool, grub-scrit-check to verify grub.cfg syntax.
2026
2027 * util/grub-script-check.c: grub-script-check tool.
2028 * conf/common.rmk: Make rules for grub-script-check.
2029
88d17012
RM
20302010-01-18 Robert Millan <rmh.grub@aybabtu.com>
2031
2032 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
2033 spotting it back in 2008. Shame on me for forgetting he did.
2034
2035 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
2036
8040619d
RM
20372010-01-18 Robert Millan <rmh.grub@aybabtu.com>
2038
2039 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
2040 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
2041 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
2042 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
2043 (GRUB_VIDEO_TYPE_EFI): Rename to ...
2044 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
2045
a0c2a0f6
RM
20462010-01-17 Robert Millan <rmh.grub@aybabtu.com>
2047
2048 * include/grub/test.h: Add license header.
2049 * tests/example_functional_test.c: Likewise.
2050 * tests/example_unit_test.c: Likewise.
2051 * tests/lib/functional_test.c: Likewise.
2052 * tests/lib/test.c: Likewise.
2053 * tests/lib/unit_test.c: Likewise.
2054
b0b13907
VS
20552010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
2056
2057 Use flag-based instead of hook-based video mode selection and "auto"
2058 keyword.
2059
2060 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
2061 (grub_video_set_mode): Changed prototype. All users updated.
2062 (grub_video_check_mode_flag): New inline function.
2063 * video/video.c (parse_modespec): New function.
2064 (grub_video_set_mode): Parse flags and keywords.
2065
ea379330 20662010-01-17 Carles Pina i Estany <carles@pina.cat>
2067
2068 * util/misc.c (grub_util_info): Fix the order of the parameters in a
2069 fprintf call.
2070
e15c215e
FZ
20712010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
2072
2073 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
2074
409ae1c9 20752010-01-16 Carles Pina i Estany <carles@pina.cat>
2076
2077 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
2078 string.
2079 * util/grub-emu.c (usage): Likewise.
2080 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
2081 * util/i386/efi/grub-mkimage.c (usage): Likewise.
2082 * util/i386/pc/grub-mkimage.c (usage): Likewise.
2083 * util/i386/pc/grub-setup.c (usage): Likewise.
2084
70a14d3d 20852010-01-16 Carles Pina i Estany <carles@pina.cat>
2086
2087 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
2088 the message.
2089 (grub_util_info): Likewise.
2090 (grub_util_error): Likewise.
2091 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
2092 and/or new lines in `grub_util_warna', `grub_util_info',
2093 `grub_util_error' calls.
2094 * util/getroot.c: Likewise.
2095 * util/grub-editenv.c: Likewise.
2096 * util/grub-emu.c: Likewise.
2097 * util/grub-fstest.c: Likewise.
2098 * util/grub-mkdevicemap.c: Likewise.
2099 * util/grub-mkfont.c: Likewise.
2100 * util/grub-mkpasswd-pbkdf2.c: Likewise.
2101 * util/grub-mkrelpath.c: Likewise.
2102 * util/grub-pe2elf.c: Likewise.
2103 * util/grub-probe.c: Likewise.
2104 * util/hostdisk.c: Likewise.
2105 * util/i386/efi/grub-mkimage.c: Likewise.
2106 * util/i386/pc/grub-mkimage.c: Likewise.
2107 * util/i386/pc/grub-setup.c: Likewise.
2108 * util/ieee1275/ofpath.c: Likewise.
2109 * util/mkisofs/eltorito.c: Likewise.
2110 * util/mkisofs/rock.c: Likewise.
2111 * util/mkisofs/write.c: Likewise.
2112 * util/raid.c: Likewise.
2113 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
2114 * util/sparc64/ieee1275/grub-setup.c: Likewise.
2115
a0b766fc
VS
21162010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
2117
2118 Enable multiboot on non-pc.
2119
2120 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
2121 multiboot.mod and multiboot2.mod to ...
2122 * conf/i386.rmk (pkglib_MODULES): ... here.
2123 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
2124 Moved to ...
2125 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
2126 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
2127 Moved to ...
2128 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
2129 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
2130 Moved to ...
2131 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
2132 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
2133 Moved to ...
2134 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
2135 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
2136 relocator.mod.
2137 (ata_mod_SOURCES): Removed.
2138 (ata_mod_CFLAGS): Likewise.
2139 (ata_mod_LDFLAGS): Likewise.
2140 (relocator_mod_SOURCES): Removed.
2141 (relocator_mod_CFLAGS): Likewise.
2142 (relocator_mod_ASFLAGS): Likewise.
2143 (relocator_mod_LDFLAGS): Likewise.
2144 Include i386.mk.
2145 * include/grub/x86_64/multiboot.h: New file.
2146 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
2147 Terminate EFI.
2148
884ade56
VS
21492010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
2150
2151 Video multiboot support.
2152
2153 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
2154 New prototype.
2155 * include/multiboot.h: Resynced with multiboot specification.
2156 * include/multiboot2.h: Likewise.
2157 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
2158 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
2159 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
2160 (HAS_VGA_TEXT): Likewise.
2161 (accepts_video): New variable.
2162 (grub_multiboot_set_accepts_video): New function.
2163 (grub_multiboot_get_mbi_size): Account for video structures.
2164 (set_video_mode): New function.
2165 (retrieve_video_parameters): Likewise.
2166 (grub_multiboot_make_mbi): Fill video fields.
2167
0d90e8a6
VS
21682010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
2169
2170 Video driver ids.
2171
2172 * include/grub/video.h (grub_video_driver_id): New type.
2173 (grub_video_adapter): New member 'id'. All users updated.
2174 (grub_video_get_driver_id): New proto.
2175 * video/video.c (grub_video_get_driver_id): New function.
2176
5c71db1b 21772010-01-14 Carles Pina i Estany <carles@pina.cat>
2178
2179 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
2180 `var=val'.
2181
cca15b52 21822010-01-14 Carles Pina i Estany <carles@pina.cat>
2183
2184 * normal/cmdline.c (print_completion): Gettextizze.
2185
c586fbb2 21862001-01-14 Carles Pina i Estany <carles@pina.cat>
2187
2188 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
2189
ba2f6848 21902010-01-14 Carles Pina i Estany <carles@pina.cat>
2191
2192 * gettext/gettext.c (grub_gettext_translate): Push and pop
2193 grub_errno.
2194 (grub_gettext_delete_list): Change comment style.
2195 * kern/err.c (grub_error): Gettextizze.
2196 (grub_fatal): Gettextizze.
2197
0a46429a
RM
21982010-01-14 Robert Millan <rmh.grub@aybabtu.com>
2199
2200 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
2201 (grub_linux16_real_boot): ... this.
2202 * kern/i386/loader.S: Likewise.
2203 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
2204 (grub_linux16_boot): New function. Switches to text mode and calls
2205 grub_linux16_real_boot().
2206
2207 * loader/i386/bsd.c: Include `<grub/video.h>'.
2208 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
2209 text mode before calling grub_unix_real_boot().
2210
2211 * loader/i386/multiboot.c: Include `<grub/video.h>'.
2212 (grub_multiboot_boot): Switch to text mode before calling
2213 grub_relocator32_boot().
2214
2215 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
2216 (grub_chainloader_boot): Switch to text mode before calling
2217 grub_chainloader_real_boot().
2218
d6f93a66
RM
22192010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
22202010-01-05 Colin Watson <cjwatson@ubuntu.com>
2221
2222 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
2223 non-empty value.
2224
22252010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
22262010-01-05 Colin Watson <cjwatson@ubuntu.com>
2227
2228 * util/grub.d/00_header.in: Define a "savedefault" function for use
2229 in menu entries.
2230 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
2231
22322010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
22332010-01-05 Colin Watson <cjwatson@ubuntu.com>
2234
2235 * util/grub-mkconfig_lib.in (save_default_entry): Only set
2236 saved_entry if boot_once is unset.
2237 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
2238 previous saved entry (i.e. grub-reboot).
2239
22402009-12-08 Colin Watson <cjwatson@ubuntu.com>
2241
2242 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
2243
22442009-12-08 Colin Watson <cjwatson@ubuntu.com>
2245
2246 * util/grub.d/00_header.in: Use `set var=val' rather than plain
2247 `var=val'.
2248 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
2249
22502009-12-08 Colin Watson <cjwatson@ubuntu.com>
2251
2252 * util/grub-reboot.in: Fix --version output.
2253 * util/grub-set-default.in: Likewise.
2254
22552009-12-08 Colin Watson <cjwatson@ubuntu.com>
2256
2257 * util/grub.d/00_header.in: Silently ignore zero-sized environment
2258 blocks.
2259
22602009-12-08 Colin Watson <cjwatson@ubuntu.com>
2261
2262 * util/grub.d/00_header.in: Quote the value assigned to `default',
2263 in case it contains spaces.
2264
22652009-12-08 Colin Watson <cjwatson@ubuntu.com>
2266
2267 * util/grub.d/30_os-prober.in: Fix merge error that moved a
2268 `save_default_entry' call from the macosx case to the linux case.
2269
22702009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
22712009-10-25 Colin Watson <cjwatson@ubuntu.com>
2272
2273 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
2274 in `chosen' environment variable.
2275 * normal/menu_text.c (get_entry_number): Check if the variable
2276 matches the title of a menu entry.
2277 (run_menu): Pass menu to get_entry_number.
2278
2279 * util/grub-reboot.in: New file.
2280 * util/grub-set-default.in: New file.
2281 * conf/common.rmk (grub-reboot): New utility.
2282 (grub-set-default): New utility.
2283
2284 * util/grub-mkconfig_lib.in (save_default_entry): New function.
2285 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
2286 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
2287 move it to `saved_entry' for the next boot. Load environment on
2288 initialisation.
2289 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
2290 * util/grub.d/10_hurd.in: Likewise.
2291 * util/grub.d/10_linux.in (linux_entry): Likewise.
2292 * util/grub.d/10_windows.in: Likewise.
2293 * util/grub.d/30_os-prober.in: Likewise.
2294
2295 * util/grub-install.in: Create environment block.
2296 * util/i386/efi/grub-install.in: Likewise.
2297 * util/ieee1275/grub-install.in: Likewise.
2298 * util/sparc64/ieee1275/grub-install.in: Likewise.
2299
0934d184
BC
23002010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
2301
2302 Unit testing framework for GRUB.
2303
2304 * Makefile.in: Test framework build rules for 'make check'.
2305 * conf/tests.rmk: Build rules for individual tests and framework.
2306
2307 * include/grub/test.h: Header file for whitebox tests.
2308 * tests/lib/functional_test.c: Framework support for whitebox
2309 functional tests.
2310 * tests/lib/test.c: Common whitebox testing code for unit and
2311 functional tests.
2312 * tests/lib/unit_test.c: Framework support for whitebox unit
2313 tests.
2314
2315 * tests/util/grub-shell-tester.in: Support utility for grub-script
2316 tests.
2317 * tests/util/grub-shell.in: Utility to execute grub-script
2318 commands in a Qemu instance.
2319
2320 * tests/example_functional_test.c: Example whitebox functional
2321 test.
2322 * tests/example_grub_script_test.in: Example grub-script test.
2323 * tests/example_scripted_test.in: Example scripted test.
2324 * tests/example_unit_test.c: Example whitebox unit test.
2325
9c4ffeeb
VS
23262010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2327
2328 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
2329 Add loader/i386/multiboot_mbi.c.
2330 (multiboot2_mod_SOURCES): Likewise.
2331 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
2332 (multiboot2_mod_SOURCES): Likewise.
2333 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
2334 (grub_multiboot_make_mbi): Likewise.
2335 (grub_multiboot_free_mbi): Likewise.
2336 (grub_multiboot_init_mbi): Likewise.
2337 (grub_multiboot_add_module): Likewise.
2338 (grub_multiboot_set_bootdev): Likewise.
2339 * loader/i386/multiboot.c (mbi): Removed.
2340 (mbi_dest): Likewise.
2341 (alloc_mbi): New variable.
2342 (grub_multiboot_payload_size): Removed. All users updated.
2343 (grub_multiboot_pure_size): New variable.
2344 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
2345 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
2346 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
2347 (grub_fill_multiboot_mmap): Likewise.
2348 (grub_multiboot_get_bootdev): Likewise.
2349 (grub_multiboot): Use multiboot_mbi functions.
2350 * loader/i386/multiboot_mbi.c: New file.
2351
17383dfe
VS
23522010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2353
2354 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
2355 it would result in module crash.
2356
c1f28820
VS
23572010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2358
2359 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
2360 (grub_ofconsole_getwh): Split to ...
2361 (grub_ofconsole_getwh): ... this.
2362 (grub_ofconsole_dimensions): ...and this.
2363 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
2364
58655a16
RM
23652010-01-13 Robert Millan <rmh.grub@aybabtu.com>
2366
2367 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
2368
10891398
VS
23692010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2370
2371 * loader/i386/pc/multiboot2.c: Removed stalled file.
2372
0b8a223c
VS
23732010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2374
2375 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
2376 Reported by: Grégoire Sutre
2377
92ab12b0
RM
23782010-01-11 Robert Millan <rmh.grub@aybabtu.com>
2379
2380 * util/misc.c (canonicalize_file_name): New function.
2381 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
2382 instead of realpath().
2383
a788afb6
CW
23842010-01-11 Colin Watson <cjwatson@ubuntu.com>
2385
2386 * util/grub-install.in (usage): Clarify meaning of --root-directory,
2387 and make it clearer that it's optional. Based on confusion
2388 witnessed on IRC.
2389
ffa8e3d2
VS
23902010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2391
2392 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
2393 in premature implicit newline.
2394
e9060a9d
VS
23952010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2396
2397 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
2398 which resulted in garbled command line at the end of screen.
2399
f0d0c0b7
RM
24002010-01-10 Robert Millan <rmh.grub@aybabtu.com>
2401
2402 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
2403 initialization with similar approach as with other Linux loaders.
2404
0e60bae7
RM
24052010-01-10 Robert Millan <rmh.grub@aybabtu.com>
2406
2407 Fix i386-ieee1275 build.
2408
2409 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
2410 and grub_term_height() for video_{width,height} initialization.
2411
24122010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
2413
2414 Fix grub-emu build.
2415
2416 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
2417
cdb3f378
RM
24182010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
24192010-01-09 Robert Millan <rmh.grub@aybabtu.com>
2420
2421 Support for multiple terminals.
2422
2423 * Makefile.in (pkglib_DATA): terminal.lst.
2424 (terminal.lst): New target.
2425 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
2426 (GRUB_MOD_INIT(handler)): Likewise.
2427 (GRUB_MOD_FINI(handler)): Likewise.
2428 * commands/help.c (grub_cmd_help): Handle multiple terminals.
2429 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
2430 * commands/sleep.c (do_print): Use grub_term_restore_pos.
2431 (grub_cmd_sleep): Use grub_term_save_pos.
2432 * commands/terminal.c: New file.
2433 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
2434 commands/terminal.c and lib/charset.c.
2435 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
2436 (pkglib_MODULES): Add terminal.mod.
2437 (terminal_mod_SOURCES): New variable.
2438 (terminal_mod_CFLAGS): Likewise.
2439 (terminal_mod_LDFLAGS): Likewise.
2440 * genhandlerlist.sh: Don't handle terminals.
2441 * genmk.rb: Generate terminal-*.lst.
2442 * genterminallist.sh: New file.
2443 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
2444 (grub_is_valid_utf8): Likewise.
2445 (grub_utf8_to_ucs4_alloc): Likewise.
2446 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
2447 (grub_menu_register_viewer): Changed argument.
2448 (grub_menu_try_text): New proto.
2449 (grub_gfxmenu_try_hook): New declaration.
2450 * include/grub/normal.h (grub_normal_exit_level): New declaration.
2451 (grub_menu_init_page): Additional argument term.
2452 (grub_normal_init_page): Likewise.
2453 (grub_cmdline_get): Arguments simplified.
2454 (grub_utf8_to_ucs4_alloc): Removed.
2455 (grub_print_ucs4): Additional argument term.
2456 (grub_getstringwidth): Likewise.
2457 (grub_print_message_indented): Likewise.
2458 (grub_menu_text_register_instances): New proto.
2459 (grub_show_menu): Likewise.
2460 (read_terminal_list): Likewise.
2461 (grub_set_more): Likewise.
2462 * include/grub/parser.h: Include handler.h.
2463 * include/grub/reader.h: Rewritten.
2464 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
2465 (GRUB_TERM_WIDTH): Changed to function.
2466 (GRUB_TERM_HEIGHT): Likewise.
2467 (GRUB_TERM_BORDER_WIDTH): Likewise.
2468 (GRUB_TERM_BORDER_HEIGHT): Likewise.
2469 (GRUB_TERM_NUM_ENTRIES): Likewise.
2470 (GRUB_TERM_ENTRY_WIDTH): Likewise.
2471 (GRUB_TERM_CURSOR_X): Likewise.
2472 (grub_term_input_class): Likewise.
2473 (grub_term_output_class): Likewise.
2474 (grub_term_outputs_disabled): New declaration.
2475 (grub_term_inputs_disabled): Likewise.
2476 (grub_term_outputs): Likewise.
2477 (grub_term_inputs): Likewise.
2478 (grub_term_register_input): Rewritten.
2479 (grub_term_register_output): Likewise.
2480 (grub_term_unregister_input): Likewise.
2481 (grub_term_unregister_output): Likewise.
2482 (FOR_ACTIVE_TERM_INPUTS): New macro.
2483 (FOR_DISABLED_TERM_INPUTS): Likewise.
2484 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
2485 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
2486 * include/grub/terminfo.h: Add oterm argument to all protypes.
2487 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
2488 Use grub_rescue_run.
2489 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
2490 All users updated.
2491 * kern/reader.c: Removed. All users updated.
2492 * kern/rescue_reader.c (grub_rescue_init): Removed.
2493 (grub_rescue_reader): Likewise.
2494 (grub_register_rescue_reader): Likewise.
2495 (grub_rescue_run): New function based on kern/reader.c.
2496 * kern/term.c: Adapted for multiterm.
2497 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
2498 (grub_is_valid_utf8): Likewise.
2499 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
2500 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
2501 right terminal.
2502 * loader/i386/linux.c (grub_linux_boot): Likewise.
2503 * normal/auth.c (grub_username_get): New function.
2504 (grub_auth_check_authentication): Use grub_username_get.
2505 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
2506 * normal/color.c: Adapt for multiterm.
2507 * normal/main.c (read_config_file): Don't use grub_reader_loop.
2508 (grub_normal_init_page): Additional argument term.
2509 (read_lists): Call read_terminal_lists.
2510 (grub_enter_normal_mode): Call grub_cmdline_run.
2511 Handle grub_normal_exit_level.
2512 (grub_cmd_normal): Make reentrant.
2513 (grub_cmd_normal_exit): New function.
2514 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
2515 * normal/menu.c: Adapt for multiterm.
2516 * normal/menu_entry.c: Likewise.
2517 * normal/menu_text.c: Likewise.
2518 * normal/menu_viewer.c: Removed. All users updated.
2519 * normal/term.c: New file.
2520 * util/console.c: Change order of includes to workaround a bug in
2521 ncurses headers.
2522 * term/terminfo.c: New argument oterm on all exported functions.
2523 All users updated.
2524 * util/grub-editenv.c (grub_term_input_class): Removed.
2525 (grub_term_output_class): Likewise.
2526
1a064917
RM
25272010-01-09 Robert Millan <rmh.grub@aybabtu.com>
2528
2529 Make loader output a bit more user-friendly.
2530
2531 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
2532 is being loaded. Likewise for the Hurd.
2533
2534 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
2535 that kernel of FreeBSD ${version} is being loaded.
2536
2537 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
2538 grub_dprintf().
2539 (grub_cmd_initrd): Likewise.
2540 * util/grub.d/10_linux.in (linux_entry): Print message indicating
2541 that Linux ${version} is being loaded. Likewise for initrd.
2542
5ce0a83a 25432010-01-09 Carles Pina i Estany <carles@pina.cat>
2544
2545 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
2546
809bbfeb 25472010-01-08 Carles Pina i Estany <carles@pina.cat>
2548
2549 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
2550 (GRUB_MOD_INIT): Gettextizze.
2551 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
2552 (GRUB_MOD_INIT): Gettextizze.
2553 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
2554 (grub_cmd_linux): Capitalise Linux.
2555 (GRUB_MOD_INIT): Gettextizze.
2556 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
2557 (grub_cmd_linux): Capitalise Linux.
2558 (GRUB_MOD_INIT): Gettextizze.
2559 * loader/i386/linux.c: Include `<grub/i18n.h>'.
2560 (grub_cmd_linux): Capitalise Linux.
2561 (GRUB_MOD_INIT): Gettextizze.
2562 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
2563 (GRUB_MOD_INIT): Gettextizze.
2564 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
2565 (grub_cmd_linux): Capitalise Linux.
2566 (GRUB_MOD_INIT): Gettextizze.
2567 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
2568 (grub_cpu_xnu_init): Gettextizze.
2569 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
2570 (GRUB_MOD_INIT): Gettextizze.
2571 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
2572 (GRUB_MOD_INIT): Gettextizze.
2573 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
2574 (grub_linux_load64): Capitalise Linux.
2575 (GRUB_MOD_INIT): Gettextizze.
2576 * loader/xnu.c: Include `<grub/i18n.h>'.
2577 (GRUB_MOD_INIT): Gettextizze.
2578 * po/POTFILES: Add `loader/efi/appleloader.c',
2579 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
2580 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
2581 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
2582 `loader/i386/xnu.c', `loader/multiboot_loader.c',
2583 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
2584 and `loader/xnu.c'.
2585
b394b2ca
RM
25862010-01-08 Robert Millan <rmh.grub@aybabtu.com>
2587
2588 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
2589
25902010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
2591
2592 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
2593 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
2594 * util/mkisofs/mkisofs.c (main): Readjust --version output.
2595
bc8b32b3
RM
25962010-01-07 Robert Millan <rmh.grub@aybabtu.com>
2597
2598 Reset Multiboot 2 support. New loader implements the draft in
2599 /branches/multiboot2 and shares as much code as possible with the
2600 production Multiboot 1 implementation.
2601
2602 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
2603 * loader/multiboot2.c: Likewise.
2604 * loader/i386/multiboot_helper.S: Likewise.
2605 * include/multiboot2.h: Replace with latest version from the draft
2606 in /branches/multiboot2.
2607
2608 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
2609 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
2610 and `loader/multiboot2.c'.
2611 (pkglib_MODULES): Add `multiboot2.mod'.
2612 (multiboot2_mod_SOURCES): New variable.
2613 (multiboot2_mod_LDFLAGS): Likewise.
2614 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
2615
2616 * conf/i386-pc.rmk: Likewise.
2617
2618 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
2619 (multiboot_mod_SOURCES): Remove variable.
2620 (multiboot_mod_LDFLAGS): Likewise.
2621 (multiboot_mod_CFLAGS): Likewise.
2622
2623 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
2624 `<multiboot2.h>' instead of `<multiboot.h>'.
2625 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
2626 (MULTIBOOT_HEADER_MAGIC): New macros.
2627
2628 * loader/multiboot_loader.c (module_version_status): Remove variable.
2629 (find_multi_boot2_header): Remove function.
2630 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
2631 logic. Always check for the Multiboot version we're compiling for.
2632 (grub_cmd_module_loader): Likewise.
2633 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
2634 command instead of `multiboot'.
2635
5d2c52b8
RM
26362010-01-07 Robert Millan <rmh.grub@aybabtu.com>
2637
2638 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
2639 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
2640 all users.
2641
53108d92
RM
26422010-01-07 Robert Millan <rmh.grub@aybabtu.com>
26432010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
2644
2645 Fix breakage introduced with previous commit.
2646
2647 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
2648 commands.
2649 * normal/handler.c (read_handler_list): Revert part of previous commit
2650 affecting this file.
2651 * normal/main.c (read_lists): Move read_handler_list() call back to ...
2652 (grub_normal_execute): ... here.
2653
e2e936b2
RM
26542010-01-07 Robert Millan <rmh.grub@aybabtu.com>
2655
2656 Merge prefix-redefinition-fix branch.
2657
2658 * normal/autofs.c (read_fs_list): Make function capable of being
2659 run multiple times, gracefuly replacing the previous data
2660 structures.
2661 * normal/dyncmd.c (read_command_list): Likewise.
2662 * normal/handler.c (read_handler_list): Likewise.
2663 * normal/main.c (read_lists): New function. Calls all the
2664 list reading functions.
2665 (grub_normal_execute): Use read_lists() instead of calling all
2666 list reading functions explicitly. Register read_lists() as a
2667 variable hook attached to ${prefix}.
2668
607a3701
VS
26692010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
2670
2671 Merge crypto branch.
2672
2673 * Makefile.in (pkglib_DATA): Add crypto.lst.
2674 (crypto.lst): New target.
2675 * commands/hashsum.c: New file.
2676 * commands/password.c (check_password): Use grub_crypto_memcmp.
2677 * commands/password_pbkdf2.c: New file.
2678 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
2679 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
2680 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
2681 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
2682 -I$(srcdir)/lib/libgcrypt_wrap.
2683 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
2684 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
2685 password_pbkdf2.mod.
2686 (crypto_mod_SOURCES): New variable.
2687 (crypto_mod_CFLAGS): Likewise.
2688 (crypto_mod_LDFLAGS): Likewise.
2689 (hashsum_mod_SOURCES): New variable.
2690 (hashsum_mod_CFLAGS): Likewise.
2691 (hashsum_mod_LDFLAGS): Likewise.
2692 (pbkdf2_mod_SOURCES): New variable.
2693 (pbkdf2_mod_CFLAGS): Likewise.
2694 (pbkdf2_mod_LDFLAGS): Likewise.
2695 (password_pbkdf2_mod_SOURCES): New variable.
2696 (password_pbkdf2_mod_CFLAGS): Likewise.
2697 (password_pbkdf2_mod_LDFLAGS): Likewise.
2698 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
2699 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
2700 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
2701 Include conf/gcry.rmk.
2702 * include/grub/auth.h: Rewritten.
2703 * include/grub/crypto.h: New file.
2704 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
2705 * include/grub/normal.h (read_crypto_list): New prototype.
2706 * lib/crypto.c: New file.
2707 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
2708 * lib/pbkdf2.c: Likewise.
2709 * normal/auth.c (grub_auth_strcmp): Removed.
2710 (grub_iswordseparator): Likewise.
2711 (grub_auth_strword): Likewise.
2712 (is_authenticated): Use grub_strword.
2713 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
2714 and grub_strword. Pass entered password to authentication callback.
2715 * normal/crypto.c: New file.
2716 * normal/main.c: Call read_crypto_list.
2717 * util/grub-mkpasswd-pbkdf2.c: New file.
2718 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
2719
42841caa
VS
27202010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
2721
2722 Fix descent and ascent calculation.
2723
2724 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
2725 (options): New option "asce".
2726 (usage): Likewise.
2727 (add_char): Ignore invalid glyphs for descent calculation.
2728 Calculate ascent from actual content.
2729 (print_glyphs): Use 'asce'.
2730 (write_font): Likewise. Allow ascent override.
2731 (main): Handle "asce" option.
2732
e7730de7 27332010-01-06 Carles Pina i Estany <carles@pina.cat>
2734
2735 * kern/err.c: Include `<grub/i18n.h>'.
2736 (grub_print_error): Add full stop. Gettextizze.
2737 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
2738 (grub_bsd_load_elf): Capitalise ELF.
2739 (grub_cmd_freebsd_loadenv): Add `s' in error string.
2740 (grub_cmd_freebsd_module): Likewise.
2741 (grub_cmd_freebsd_module_elf): Likewise.
2742 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
2743
40e3a41f 27442010-01-06 Carles Pina i Estany <carles@pina.cat>
2745
2746 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
2747 * commands/search_file.c (HELP_MESSAGE): New macro.
2748 * commands/search_label.c (HELP_MESSAGE): Likewise.
2749 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
2750 * po/POTFILES: Add `commands/search_file.c',
2751 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
2752 `commands/search.c'.
2753
83507e68
RM
27542010-01-05 Robert Millan <rmh.grub@aybabtu.com>
2755
2756 * config.rpath: Update from Gnulib.
2757
465c787b
YB
27582010-01-05 Yves Blusseau <blusseau@zetam.org>
2759
2760 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
2761
6581dd3a
YB
27622010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
2763
2764 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
2765
3bff18c5
CW
27662010-01-05 Colin Watson <cjwatson@ubuntu.com>
2767
2768 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
2769 arguments to fread so that we get a return value in bytes, rather
2770 than something that will normally be rounded down to 0.
2771 Adjust error handling to avoid producing garbage when size_t is not
2772 the same size as long long.
2773
a1368118
CW
27742010-01-05 Colin Watson <cjwatson@ubuntu.com>
2775
2776 * util/mkisofs/write.c (padblock_write): Check return value of
2777 fread.
2778
7c302978
RM
27792010-01-05 Robert Millan <rmh.grub@aybabtu.com>
2780
2781 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
2782 floppy images now.
2783
2784 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
2785
e33ace06
RM
27862010-01-04 Robert Millan <rmh.grub@aybabtu.com>
2787
2788 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
2789 instead of manual alignment.
2790 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
2791 verbose). Avoid attempts to read past end of the device
2792 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
2793 but GRUB_DISK_CACHE_SIZE may exceed that).
2794
4b856776
RM
27952010-01-04 Robert Millan <rmh.grub@aybabtu.com>
2796
2797 * commands/crc.c (grub_cmd_crc): Abort on read errors.
2798 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
2799 it to upper layer.
2800
52c2d97f
VS
28012010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
2802
2803 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
2804 New constant.
2805 (grub_efi_piwg_device_path): New structure
2806 (grub_efi_piwg_device_path_t): New type.
2807 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
2808 (devpath_1): Transform to a structure. All users updated.
2809 (devpath_2): Likewise.
2810 (devpath_3): Likewise.
2811 (devpath_4): Likewise.
2812 (devpath_5): Likewise.
2813
98ff6a54
VS
28142010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
2815
2816 * loader/efi/appleloader.c: Restored. Update all users.
2817
3a73dcb6
RM
28182010-01-03 Robert Millan <rmh.grub@aybabtu.com>
2819
2820 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
2821
2822 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
2823 (struct boot_blocklist): Move from here ...
2824 * include/grub/i386/pc/boot.h [ASM_FILE]
2825 (struct grub_boot_blocklist): ... to here. Update all users.
2826 (setup): Only initialize `start' member of `first_block'
2827 structure. Add assert() calls to verify the other members.
2828
2829 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
2830 (generate_image): Fix broken blocklist length initialization.
2831 Add assert() call to verify blocklist `segment' field.
2832
ab0eeb0c
RM
28332010-01-03 Robert Millan <rmh.grub@aybabtu.com>
2834
2835 * loader/efi/appleloader.c: Remove. Update all users.
2836
58bc8bd5
RM
28372010-01-03 Robert Millan <rmh.grub@aybabtu.com>
2838
2839 * boot/i386/pc/boot.S: Update copyright year.
2840 * boot/i386/pc/cdboot.S: Likewise.
2841 * boot/i386/pc/diskboot.S: Likewise.
2842 * boot/i386/pc/lnxboot.S: Likewise.
2843 * boot/i386/pc/pxeboot.S: Likewise.
2844 * bus/pci.c: Likewise.
2845 * commands/cmp.c: Likewise.
2846 * commands/help.c: Likewise.
2847 * commands/hexdump.c: Likewise.
2848 * commands/i386/pc/halt.c: Likewise.
2849 * commands/i386/pc/play.c: Likewise.
2850 * commands/i386/pc/vbeinfo.c: Likewise.
2851 * commands/ls.c: Likewise.
2852 * commands/test.c: Likewise.
2853 * disk/dmraid_nvidia.c: Likewise.
2854 * disk/i386/pc/biosdisk.c: Likewise.
2855 * disk/ieee1275/nand.c: Likewise.
2856 * disk/ieee1275/ofdisk.c: Likewise.
2857 * disk/lvm.c: Likewise.
2858 * disk/raid.c: Likewise.
2859 * disk/raid6_recover.c: Likewise.
2860 * disk/scsi.c: Likewise.
2861 * fs/affs.c: Likewise.
2862 * fs/cpio.c: Likewise.
2863 * fs/ext2.c: Likewise.
2864 * fs/hfs.c: Likewise.
2865 * fs/iso9660.c: Likewise.
2866 * fs/ntfs.c: Likewise.
2867 * fs/sfs.c: Likewise.
2868 * fs/udf.c: Likewise.
2869 * fs/ufs.c: Likewise.
2870 * fs/xfs.c: Likewise.
2871 * gencmdlist.sh: Likewise.
2872 * genmk.rb: Likewise.
2873 * include/grub/disk.h: Likewise.
2874 * include/grub/efi/api.h: Likewise.
2875 * include/grub/efi/efi.h: Likewise.
2876 * include/grub/efi/pe32.h: Likewise.
2877 * include/grub/elf.h: Likewise.
2878 * include/grub/fs.h: Likewise.
2879 * include/grub/i386/at_keyboard.h: Likewise.
2880 * include/grub/i386/pc/memory.h: Likewise.
2881 * include/grub/i386/pc/vbe.h: Likewise.
2882 * include/grub/i386/pci.h: Likewise.
2883 * include/grub/i386/tsc.h: Likewise.
2884 * include/grub/ieee1275/ieee1275.h: Likewise.
2885 * include/grub/ntfs.h: Likewise.
2886 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
2887 * include/grub/sparc64/libgcc.h: Likewise.
2888 * include/grub/symbol.h: Likewise.
2889 * include/grub/types.h: Likewise.
2890 * include/multiboot2.h: Likewise.
2891 * io/gzio.c: Likewise.
2892 * kern/device.c: Likewise.
2893 * kern/disk.c: Likewise.
2894 * kern/efi/efi.c: Likewise.
2895 * kern/efi/mm.c: Likewise.
2896 * kern/elf.c: Likewise.
2897 * kern/file.c: Likewise.
2898 * kern/i386/dl.c: Likewise.
2899 * kern/i386/pc/init.c: Likewise.
2900 * kern/i386/pc/startup.S: Likewise.
2901 * kern/ieee1275/ieee1275.c: Likewise.
2902 * kern/ieee1275/init.c: Likewise.
2903 * kern/main.c: Likewise.
2904 * kern/mm.c: Likewise.
2905 * kern/powerpc/dl.c: Likewise.
2906 * kern/sparc64/dl.c: Likewise.
2907 * kern/x86_64/dl.c: Likewise.
2908 * lib/hexdump.c: Likewise.
2909 * loader/efi/appleloader.c: Likewise.
2910 * loader/i386/ieee1275/linux.c: Likewise.
2911 * loader/i386/pc/chainloader.c: Likewise.
2912 * loader/i386/pc/linux.c: Likewise.
2913 * loader/i386/pc/multiboot2.c: Likewise.
2914 * loader/ieee1275/multiboot2.c: Likewise.
2915 * loader/multiboot2.c: Likewise.
2916 * loader/multiboot_loader.c: Likewise.
2917 * loader/powerpc/ieee1275/linux.c: Likewise.
2918 * normal/completion.c: Likewise.
2919 * normal/menu_entry.c: Likewise.
2920 * partmap/apple.c: Likewise.
2921 * util/grub.d/10_hurd.in: Likewise.
2922 * util/hostfs.c: Likewise.
2923 * video/readers/png.c: Likewise.
2924
e2d70b5c
CW
29252010-01-03 Colin Watson <cjwatson@ubuntu.com>
2926
2927 * include/grub/misc.h (GNUC_PREREQ): New macro.
2928 (ATTRIBUTE_ERROR): New macro.
2929 * include/grub/list.h (grub_bad_type_cast_real): Use
2930 ATTRIBUTE_ERROR.
2931
a173283f 29322010-01-03 Carles Pina i Estany <carles@pina.cat>
2933
2934 * normal/menu_text.c (print_message): Change messages.
2935
7fa7ff74 29362010-01-03 Carles Pina i Estany <carles@pina.cat>
2937
2938 * normal/menu_entry.c (store_completion): Gettextizze.
2939
136d24f6 29402010-01-03 Carles Pina i Estany <carles@pina.cat>
2941
2942 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
2943
f936862e 29442010-01-03 Carles Pina i Estany <carles@pina.cat>
2945
2946 * po/POTFILES: Sort correctly.
2947
29c44ad1 29482010-01-03 Carles Pina i Estany <carles@pina.cat>
2949
2950 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
2951 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
2952 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
2953 full stop.
2954 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
2955 summary. Gettextizze the strings.
2956 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
2957 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
2958 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
2959 full stop.
2960 (GRUB_MOD_INIT): Remove command name from summary.
2961 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
2962 summary.
2963 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
2964 * term/i386/pc/serial.c (options): Add full stops.
2965 (GRUB_MOD_INIT): Remove command name from the summary.
2966
77a79592 29672010-01-03 Carles Pina i Estany <carles@pina.cat>
2968
2969 * commands/acpi.c: Gettextizze help strings and/or options. Include
2970 `grub/i18n.h' if needed.
2971 * commands/blocklist.c: Likewise.
2972 * commands/boot.c: Likewise.
2973 * commands/cat.c: Likewise.
2974 * commands/cmp.c: Likewise.
2975 * commands/configfile.c: Likewise.
2976 * commands/crc.c: Likewise.
2977 * commands/date.c: Likewise.
2978 * commands/echo.c: Likewise.
2979 * commands/efi/fixvideo.c: Likewise.
2980 * commands/efi/loadbios.c: Likewise.
2981 * commands/gptsync.c: Likewise.
2982 * commands/halt.c: Likewise.
2983 * commands/handler.c: Likewise.
2984 * commands/hdparm.c: Likewise.
2985 * commands/hexdump.c: Likewise.
2986 * commands/i386/cpuid.c: Likewise.
2987 * commands/i386/pc/drivemap.c: Likewise.
2988 * commands/i386/pc/halt.c: Likewise.
2989 * commands/i386/pc/pxecmd.c: Likewise.
2990 * commands/i386/pc/vbeinfo.c: Likewise.
2991 * commands/i386/pc/vbetest.c: Likewise.
2992 * commands/ieee1275/suspend.c: Likewise.
2993 * commands/keystatus.c: Likewise.
2994 * commands/loadenv.c: Likewise.
2995 * commands/ls.c: Likewise.
2996 * commands/lsmmap.c: Likewise.
2997 * commands/lspci.c: Likewise.
2998 * commands/memrw.c: Likewise.
2999 * commands/minicmd.c: Likewise.
3000 * commands/parttool.c: Likewise.
3001 * commands/password.c: Likewise.
3002 * commands/probe.c: Likewise.
3003 * commands/read.c: Likewise.
3004 * commands/reboot.c: Likewise.
3005 * commands/search.c: Likewise.
3006 * commands/sleep.c: Likewise.
3007 * commands/test.c: Likewise.
3008 * commands/true.c: Likewise.
3009 * commands/usbtest.c: Likewise.
3010 * commands/videotest.c: Likewise.
3011 * commands/xnu_uuid.c: Likewise.
3012 * disk/loopback.c: Likewise.
3013 * hello/hello.c: Likewise.
3014 * loader/i386/bsd.c: Likewise.
3015 * term/i386/pc/serial.c: Likewise.
3016 * po/POTFILES: Add new files.
3017
da8d5c53
CW
30182010-01-02 Colin Watson <cjwatson@ubuntu.com>
3019
3020 * term/i386/pc/at_keyboard.c
3021 (keyboard_controller_wait_untill_ready): Rename to ...
3022 (keyboard_controller_wait_until_ready): ... this. Update all users.
3023
33937904 30242010-01-01 Carles Pina i Estany <carles@pina.cat>
3025
3026 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
3027 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
3028 string using string width.
3029 * normal/menu_text.c (grub_print_message_indented): Use
3030 grub_print_spaces and not print_spaces.
3031 (print_timeout): Likewise.
3032 (print_spaces): Move to...
3033 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
3034
3fd3b8d8
RM
30352010-01-01 Robert Millan <rmh.grub@aybabtu.com>
3036
3037 Import from Gnulib.
3038
3039 * gnulib/getdelim.c: New file.
3040 * gnulib/getline.c: Likewise.
3041
33433555
VS
30422009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
3043
3044 * include/grub/list.h (grub_assert_fail): Removed.
3045 (grub_bad_type_cast_real): New function.
3046 (grub_bad_type_cast): New macro.
3047 (GRUB_AS_LIST): Use grub_bad_type_cast.
3048 (GRUB_AS_LIST_P): Likewise.
e44721e8 3049 (GRUB_AS_NAMED_LIST): Likewise.
33433555 3050 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 3051 (GRUB_AS_PRIO_LIST): Likewise.
33433555 3052 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 3053 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 3054
f5a51306
VS
30552009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
3056
3057 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
3058 Fix syntax error.
3059
90d1e879
RM
30602009-12-29 Robert Millan <rmh.grub@aybabtu.com>
3061
3062 * configure.ac: Check for TARGET_CFLAGS initialization before we
3063 initialize it ourselves (sigh).
3064 Move a few modifications to TARGET_CFLAGS to be unconditional
3065 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
3066 eh_frame)
3067
3068 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
3069 * term/i386/pc/at_keyboard.c
3070 (keyboard_controller_wait_untill_ready): Likewise.
3071 (keyboard_controller_led): Rename `led_status' paramter to avoid
3072 name conflict.
3073
465b5a81 30742009-12-28 Carles Pina i Estany <carles@pina.cat>
3075
3076 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
3077 quotes.
3078
c181849b
VS
30792009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
3080
3081 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
3082
9c8739a4
VS
30832009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
3084
3085 * normal/menu_text.c (grub_print_message_indented): Prevent
3086 past-the-end-of-array dereference.
3087
3e74249c
VS
30882009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
3089
3090 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
3091 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
3092
64fd18ed 30932009-12-27 Carles Pina i Estany <carles@pina.cat>
3094
3095 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
3096 * normal/main.c (grub_normal_read_line): Remove a space from the
3097 default prompt.
3098
714af9b9 30992009-12-27 Carles Pina i Estany <carles@pina.cat>
3100
3101 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
3102 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
3103 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
3104 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
3105 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
3106 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
3107 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
3108
82f3e412 31092009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 3110
3111 * video/readers/jpeg.c (cmd): Declare.
3112 (grub_cmd_jpegtest): Use `grub_command_t' type.
3113 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
3114 Assign to `cmd'.
3115 (GRUB_MOD_FINI): Use `cmd' to unregister.
3116 * video/readers/png.c (cmd): Declare.
3117 (grub_cmd_pngtest): Use `grub_command_t' type.
3118 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
3119 Assign to `cmd'.
3120 (GRUB_MOD_FINI): Use `cmd' to unregister.
3121 * video/readers/tga.c (cmd): Declare.
3122 (grub_cmd_tgatest): Use `grub_command_t' type.
3123 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
3124 Assign to `cmd'.
3125 (GRUB_MOD_FINI): Use `cmd' to unregister.
3126
82f3e412 31272009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 3128
3129 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
3130 stops.
3131 * kern/corecmd.c (grub_register_core_commands): Likewise.
3132 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
3133 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
3134 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
3135 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
3136 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
3137 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
3138 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
3139 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
3140 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
3141 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
3142 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
3143 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
3144 * normal/handler.c (insert_handler): Likewise.
3145 * normal/main.c (GRUB_MOD_INIT): Likewise.
3146 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
3147
fdcdbb66 31482009-12-26 Carles Pina i Estany <carles@pina.cat>
3149
3150 * commands/help.c (grub_cmd_help): Print the command name before the
3151 summary.
3152 (GRUB_MOD_INIT): Remove command name from the summary.
3153 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 3154 string as summary.
fdcdbb66 3155 * lib/arg.c (find_long): Print the command name before the summary.
3156 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
3157 summary.
3158 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
3159 * commands/cat.c (GRUB_MOD_INIT): Likewise.
3160 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
3161 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
3162 * commands/crc.c (GRUB_MOD_INIT): Likewise.
3163 * commands/date.c (GRUB_MOD_INIT): Likewise.
3164 * commands/echo.c (GRUB_MOD_INIT): Likewise.
3165 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
3166 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
3167 * commands/handler.c (GRUB_MOD_INIT): Likewise.
3168 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
3169 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
3170 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
3171 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
3172 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
3173 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
3174 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
3175 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
3176 * commands/ls.c (GRUB_MOD_INIT): Likewise.
3177 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
3178 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
3179 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
3180 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
3181 * commands/password.c (GRUB_MOD_INIT): Likewise.
3182 * commands/probe.c (GRUB_MOD_INIT): Likewise.
3183 * commands/read.c (GRUB_MOD_INIT): Likewise.
3184 * commands/search.c (GRUB_MOD_INIT): Likewise.
3185 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
3186 * commands/test.c (GRUB_MOD_INIT): Likewise.
3187 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
3188 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
3189 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
3190 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
3191 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
3192 * lib/arg.c (GRUB_MOD_INIT): Likewise.
3193 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
3194 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
3195 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
3196 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
3197 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
3198 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
3199 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
3200 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
3201
9c288be2
VS
32022009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3203
3204 Use search command for preliminar UUID search.
3205
3206 * commands/search.c: Split into ...
3207 * commands/search_wrap.c: ...this
3208 * commands/search.c: ...and this.
3209 * commands/search_file.c: New file.
3210 * commands/search_label.c: New file.
3211 * commands/search_uuid.c: New file.
3212 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
3213 Add commands/search_wrap.c, commands/search_file.c,
3214 commands/search_label.c and commands/search_uuid.c.
3215 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
3216 (search_mod_SOURCES): Set to commands/search_wrap.c.
3217 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
3218 search_label.mod.
3219 (search_fs_file_mod_SOURCES): New variable.
3220 (search_fs_file_mod_CFLAGS): Likewise.
3221 (search_fs_file_mod_LDFLAGS): Likewise.
3222 (search_label_mod_SOURCES): Likewise.
3223 (search_label_mod_CFLAGS): Likewise.
3224 (search_label_mod_LDFLAGS): Likewise.
3225 (search_fs_uuid_mod_SOURCES): New variable.
3226 (search_fs_uuid_mod_CFLAGS): Likewise.
3227 (search_fs_uuid_mod_LDFLAGS): Likewise.
3228 (fs_file_mod_SOURCES): Removed.
3229 (fs_file_mod_CFLAGS): Likewise.
3230 (fs_file_mod_LDFLAGS): Likewise.
3231 (fs_uuid_mod_SOURCES): Removed.
3232 (fs_uuid_mod_CFLAGS): Likewise.
3233 (fs_uuid_mod_LDFLAGS): Likewise.
3234 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
3235 Set to util/grub-install.in.
3236 * disk/fs_file.c: Removed.
3237 * disk/fs_uuid.c: Likewise.
3238 * include/grub/search.h: New file.
3239 * util/grub-install.in: Handle sparc64.
3240 Create and use load.cfg.
3241 * util/sparc64/ieee1275/grub-install.in: Removed.
3242
db943399
VS
32432009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3244
3245 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
3246 Ignore return status if CF is cleared.
3247 (grub_biosdisk_get_diskinfo_standard): Likewise.
3248
3fdae612
RM
32492009-12-25 Robert Millan <rmh.grub@aybabtu.com>
3250
3251 * term/i386/pc/at_keyboard.c
3252 (keyboard_controller_wait_untill_ready): New function.
3253 (grub_keyboard_controller_write, grub_keyboard_controller_read)
3254 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
3255 for keyboard polling, rather than duplicate the same loop. This
3256 saves a few bytes in code size.
3257
7ebaa2b4
VS
32582009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3259
3260 Support for (pxe[:server[:gateway]]) syntax and
3261 use environment variable for PXE.
3262
3263 * commands/i386/pc/pxecmd.c (options): Removed.
3264 (print_ip): Removed.
3265 (grub_cmd_pxe): Removed
3266 (grub_cmd_pxe_unload): New function.
3267 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
3268 (grub_pxe_your_ip): Made static.
3269 (grub_pxe_default_server_ip): Likewise.
3270 (grub_pxe_default_gateway_ip): Likewise.
3271 (grub_pxe_blksize): Likewise.
3272 (parse_ip): New function.
3273 (grub_pxe_open): Support server and gateway specification.
3274 (grub_pxe_close): Free disk->data.
3275 (grub_pxefs_open): Use disk->data.
3276 (grub_pxefs_read): Likewise.
3277 (grub_env_write_readonly): New function.
3278 (set_mac_env): Likewise.
3279 (set_env_limn_ro): Likewise.
3280 (parse_dhcp_vendor): Likewise.
3281 (grub_pxe_detect): Set the environment variables.
3282 (set_ip_env): New function.
3283 (write_ip_env): Likewise.
3284 (grub_env_write_pxe_default_server): Likewise.
3285 (grub_env_write_pxe_default_gateway): Likewise.
3286 (grub_env_write_pxe_blocksize): Likewise.
3287 (GRUB_MOD_INIT(pxe)): Set environment variables.
3288 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
3289 (grub_pxe_mac_addr_t): ... this. All users updated.
3290 (grub_pxe_your_ip): Removed.
3291 (grub_pxe_server_ip): Likewise.
3292 (grub_pxe_gateway_ip): Likewise.
3293 (grub_pxe_blksize): Likewise.
3294
ec5f98ab 32952009-12-25 Carles Pina i Estany <carles@pina.cat>
3296
3297 * commands/help.c: Include `<grub/i18n.h>'.
3298 (grub_cmd_help): Gettextizze.
3299 (GRUB_MOD_INIT): Likewise.
3300 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
3301 (GRUB_MOD_INIT): Gettextizze.
3302 * commands/search.c: Include `<grub/i18n.h>'.
3303 (options): Gettextizze.
3304 (GRUB_MOD_INIT): Gettextizze.
3305 * lib/arg.c: Include `<grub/i18n.h>'.
3306 (help_options): Gettextizze.
3307 (find_long): Likewise.
3308 (grub_arg_show_help): Likewise.
3309 * normal/dyncmd.c: Include `<grub/i18n.h>'.
3310 (read_command_list): Gettextizze.
3311 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 3312 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 3313
22815526
RM
33142009-12-25 Robert Millan <rmh.grub@aybabtu.com>
3315
3316 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
3317 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
3318 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
3319 (led_status): New variable.
3320 (keyboard_controller_led): New function.
3321 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
3322 update led status for caps lock, num lock and scroll lock.
3323
0ad46fd7
FZ
33242009-12-25 Felix Zielcke <fzielcke@z-51.de>
3325
3326 * util/hostdisk.c (open_device): Fix a comment.
3327
d0e158c2
RM
33282009-12-24 Robert Millan <rmh.grub@aybabtu.com>
3329
3330 * util/grub-install.in (host_os): New variable.
3331 * util/i386/efi/grub-install.in (host_os): Likewise.
3332
401c0ad6
RM
33332009-12-24 Robert Millan <rmh.grub@aybabtu.com>
3334
3335 * util/mkisofs/write.c (padblock_write): Abort when given an
3336 excedingly large embed image, instead of silently truncating it.
3337
d14d3370
RM
33382009-12-24 Robert Millan <rmh.grub@aybabtu.com>
3339
3340 * include/multiboot.h: Indentation fixes.
3341
eeed10b4
RM
33422009-12-24 Robert Millan <rmh.grub@aybabtu.com>
3343
3344 * include/multiboot.h (struct multiboot_aout_symbol_table)
3345 (struct multiboot_elf_section_header_table): New structure
3346 declarations (stolen from GRUB Legacy).
3347 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
3348 table information.
3349
3350 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
3351 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
3352 type aliases.
3353
681c70ab
RM
33542009-12-24 Robert Millan <rmh.grub@aybabtu.com>
3355
3356 * include/multiboot.h: Make comments src2texi-friendly.
3357
e4d47d8d
RM
33582009-12-24 Robert Millan <rmh.grub@aybabtu.com>
3359
3360 For consistency with [multiboot]/docs/boot.S.
3361
3362 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
3363 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
3364 (MULTIBOOT_MAGIC2): Rename from this ...
3365 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
3366
a0b70bda
RM
33672009-12-24 Robert Millan <rmh.grub@aybabtu.com>
3368
3369 * include/multiboot.h: Remove `<grub/types.h>'.
3370 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
3371 types. Update all users.
3372
61ba42be 33732009-12-25 Carles Pina i Estany <carles@pina.cat>
3374
3375 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
3376 `couldn't' and `can not' by `cannot'.
3377 * commands/i386/pc/drivemap.c: Likewise.
3378 * disk/ata.c: Likewise.
3379 * disk/ieee1275/nand.c: Likewise.
3380 * fs/affs.c: Likewise.
3381 * fs/fat.c: Likewise.
3382 * fs/hfs.c: Likewise.
3383 * fs/hfsplus.c: Likewise.
3384 * fs/iso9660.c: Likewise.
3385 * fs/jfs.c: Likewise.
3386 * fs/minix.c: Likewise.
3387 * fs/reiserfs.c: Likewise.
3388 * fs/sfs.c: Likewise.
3389 * fs/udf.c: Likewise.
3390 * fs/ufs.c: Likewise.
3391 * fs/xfs.c: Likewise.
3392 * loader/powerpc/ieee1275/linux.c: Likewise.
3393 * loader/sparc64/ieee1275/linux.c: Likewise.
3394 * util/grub-probe.c: Likewise.
3395 * util/misc.c: Likewise.
3396
7fd0baee 33972009-12-24 Carles Pina i Estany <carles@pina.cat>
3398
3399 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
3400 grub_errno calls.
3401 * commands/acpi.c: Likewise.
3402 * commands/blocklist.c: Likewise.
3403 * commands/efi/loadbios.c: Likewise.
3404 * commands/i386/pc/drivemap.c: Likewise.
3405 * commands/loadenv.c: Likewise.
3406 * commands/memrw.c: Likewise.
3407 * commands/password.c: Likewise.
3408 * commands/videotest.c: Likewise.
3409 * disk/ata.c: Likewise.
3410 * disk/ata_pthru.c: Likewise.
3411 * disk/dmraid_nvidia.c: Likewise.
3412 * disk/ieee1275/nand.c: Likewise.
3413 * disk/ieee1275/ofdisk.c: Likewise.
3414 * disk/loopback.c: Likewise.
3415 * disk/lvm.c: Likewise.
3416 * disk/mdraid_linux.c: Likewise.
3417 * disk/raid.c: Likewise.
3418 * disk/raid6_recover.c: Likewise.
3419 * disk/scsi.c: Likewise.
3420 * efiemu/main.c: Likewise.
3421 * efiemu/mm.c: Likewise.
3422 * efiemu/pnvram.c: Likewise.
3423 * efiemu/symbols.c: Likewise.
3424 * font/font.c: Likewise.
3425 * fs/cpio.c: Likewise.
3426 * fs/hfsplus.c: Likewise.
3427 * fs/iso9660.c: Likewise.
3428 * fs/jfs.c: Likewise.
3429 * fs/minix.c: Likewise.
3430 * fs/ntfs.c: Likewise.
3431 * fs/ntfscomp.c: Likewise.
3432 * fs/reiserfs.c: Likewise.
3433 * fs/ufs.c: Likewise.
3434 * fs/xfs.c: Likewise.
3435 * gettext/gettext.c: Likewise.
3436 * include/grub/auth.h: Likewise.
3437 * kern/elf.c: Likewise.
3438 * kern/file.c: Likewise.
3439 * kern/ieee1275/init.c: Likewise.
3440 * kern/ieee1275/mmap.c: Likewise.
3441 * kern/ieee1275/openfw.c: Likewise.
3442 * kern/powerpc/dl.c: Likewise.
3443 * kern/sparc64/dl.c: Likewise.
3444 * lib/arg.c: Likewise.
3445 * loader/i386/bsd.c: Likewise.
3446 * loader/i386/bsdXX.c: Likewise.
3447 * loader/i386/efi/linux.c: Likewise.
3448 * loader/i386/efi/xnu.c: Likewise.
3449 * loader/i386/ieee1275/linux.c: Likewise.
3450 * loader/i386/linux.c: Likewise.
3451 * loader/i386/multiboot.c: Likewise.
3452 * loader/i386/pc/linux.c: Likewise.
3453 * loader/i386/pc/multiboot2.c: Likewise.
3454 * loader/i386/xnu.c: Likewise.
3455 * loader/ieee1275/multiboot2.c: Likewise.
3456 * loader/macho.c: Likewise.
3457 * loader/machoXX.c: Likewise.
3458 * loader/multiboot2.c: Likewise.
3459 * loader/multiboot_loader.c: Likewise.
3460 * loader/powerpc/ieee1275/linux.c: Likewise.
3461 * loader/sparc64/ieee1275/linux.c: Likewise.
3462 * loader/xnu.c: Likewise.
3463 * loader/xnu_resume.c: Likewise.
3464 * mmap/i386/pc/mmap.c: Likewise.
3465 * normal/menu_viewer.c: Likewise.
3466 * partmap/acorn.c: Likewise.
3467 * partmap/amiga.c: Likewise.
3468 * partmap/apple.c: Likewise.
3469 * script/lexer.c: Likewise.
3470 * term/gfxterm.c: Likewise.
3471 * term/i386/pc/serial.c: Likewise.
3472 * term/i386/pc/vga.c: Likewise.
3473 * term/ieee1275/ofconsole.c: Likewise.
3474 * term/terminfo.c: Likewise.
3475 * video/bitmap.c: Likewise.
3476 * video/efi_gop.c: Likewise.
3477 * video/efi_uga.c: Likewise.
3478 * video/fb/video_fb.c: Likewise.
3479 * video/i386/pc/vbe.c: Likewise.
3480 * video/readers/tga.c: Likewise.
3481 * video/video.c: Likewise.
3482
0ad46fd7 34832009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
3484
3485 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
3486 * commands/lspci.c: Likewise.
3487 * commands/probe.c: Likewise.
3488 * commands/xnu_uuid.c: Likewise.
3489 * conf/i386-coreboot.rmk: Likewise.
3490 * conf/i386-efi.rmk: Likewise.
3491 * conf/i386-ieee1275.rmk: Likewise.
3492 * conf/i386-pc.rmk: Likewise.
3493 * conf/powerpc-ieee1275.rmk: Likewise.
3494 * conf/sparc64-ieee1275.rmk: Likewise.
3495 * conf/x86_64-efi.rmk: Likewise.
3496 * fs/i386/pc/pxe.c: Likewise.
3497 * gettext/gettext.c: Likewise.
3498 * include/grub/efi/graphics_output.h: Likewise.
3499 * include/grub/i386/pc/memory.h: Likewise.
3500 * kern/env.c: Likewise.
3501 * kern/i386/qemu/startup.S: Likewise.
3502 * lib/i386/pc/biosnum.c: Likewise.
3503 * lib/i386/relocator.c: Likewise.
3504 * lib/i386/relocator_asm.S: Likewise.
3505 * lib/relocator.c: Likewise.
3506 * loader/i386/bsd.c: Likewise.
3507 * loader/i386/multiboot.c: Likewise.
3508 * loader/i386/pc/chainloader.c: Likewise.
3509 * loader/i386/xnu.c: Likewise.
3510 * loader/xnu.c: Likewise.
3511 * normal/main.c: Likewise.
3512 * normal/menu_text.c: Likewise.
3513 * util/getroot.c: Likewise.
3514 * util/grub-mkconfig_lib.in: Likewise.
3515 * util/grub.d/00_header.in: Likewise.
3516 * util/i386/pc/grub-mkimage.c: Likewise.
3517 * util/mkisofs/eltorito.c: Likewise.
3518 * util/mkisofs/exclude.h: Likewise.
3519 * util/mkisofs/hash.c: Likewise.
3520 * util/mkisofs/iso9660.h: Likewise.
3521 * util/mkisofs/joliet.c: Likewise.
3522 * util/mkisofs/mkisofs.c: Likewise.
3523 * util/mkisofs/mkisofs.h: Likewise.
3524 * util/mkisofs/multi.c: Likewise.
3525 * util/mkisofs/name.c: Likewise.
3526 * util/mkisofs/rock.c: Likewise.
3527 * util/mkisofs/tree.c: Likewise.
3528 * util/mkisofs/write.c: Likewise.
3529 * video/efi_gop.c: Likewise.
3530
009ec743
VS
35312009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3532
3533 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
3534 size counting.
3535
0ad46fd7 35362009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
3537
3538 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
3539 * genmk.rb (class SCRIPT): Modify the target file instead of source.
3540
d3d30ea0
VS
35412009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
3542
3543 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
3544 (GRUB_MOD_INIT(memrw)): Update help line.
3545
a34f5c70
VS
35462009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
3547
3548 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
3549 Use grub_extcmd_t. All users updated.
3550 (options): New variable.
3551 (grub_cmd_read): Restructure for readability. Support "-v" option.
3552 (grub_cmd_write): Restructure for readability.
3553
0ad46fd7 35542009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
3555
3556 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
3557
0ad46fd7 35582009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
3559
3560 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
3561 with the actual contents of the correspondending make variable.
3562 * util/grub-mkrescue.in (pkglib_DATA): New variable.
3563 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
3564 specifying `*.lst' and `efiemu??.o'
3565
0ad46fd7 35662009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
3567
3568 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
3569 after function name.
3570 Noticed by Rene Engelhard <rene@debian.org>.
3571
dc77a799
VS
35722009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
3573
3574 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
3575 (options): New variable.
3576 (iospace): Likewise.
3577 (grub_lspci_iter): List IO spaces if "-i" was given.
3578 (grub_cmd_lspci): Parse options.
3579 (GRUB_MOD_INIT(lspci)): Use extcmd.
3580 (GRUB_MOD_FINI(lspci)): Likewise.
3581
0ad46fd7 35822009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
3583
3584 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
3585 `function' keyword.
3586 Patch by Tony Mancill <tmancill@debian.org>.
3587
b5d5993b
VS
35882009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
3589
3590 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
3591 (grub_uhci_portstatus): Likewise.
3592 (grub_uhci_portstatus): Add necessary delay.
11d18281 3593 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 3594
941903f2 35952009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 3596
941903f2 3597 * commands/acpi.c (options): Fix capitalizations and/or full stops.
3598 (GRUB_MOD_INIT): Likewise.
3599 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 3600 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
3601 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 3602 * commands/efi/loadbios.c (enable_rom_area): Likewise.
3603 (enable_rom_area): Likewise.
3604 (GRUB_MOD_INIT): Likewise.
3605 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
3606 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
3607 * commands/handler.c (GRUB_MOD_INIT): Likewise.
3608 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
3609 * commands/hexdump.c (options): Likewise.
3610 * commands/i386/cpuid.c (options): Likewise.
3611 (GRUB_MOD_INIT): Likewise.
3612 * commands/i386/pc/drivemap.c (options): Likewise.
3613 (GRUB_MOD_INIT): Likewise.
3614 * commands/i386/pc/halt (options): Likewise.
3615 (GRUB_MOD_INIT): Likewise.
3616 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
3617 * commands/i386/pc/pxecmd.c (options): Likewise.
3618 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
3619 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
3620 * commands/keystatus.c (options): Likewise.
3621 (GRUB_MOD_INIT): Likewise.
3622 * commands/loadenv.c (options): Likewise.
3623 * commands/ls.c (options): Likewise.
3624 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
3625 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
3626 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
3627 * commands/parttool.c (helpmsg): Likewise.
3628 * commands/probe.c (options): Likewise.
3629 * commands/read.c (GRUB_MOD_INIT): Likewise.
3630 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
3631 * commands/search.c (options): Likewise.
3632 * commands/sleep.c (options): Likewise.
3633 * commands/test.c (GRUB_MOD_INIT): Likewise.
3634 * commands/true.c (GRUB_MOD_INIT): Likewise.
3635 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
3636 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
3637 * lib/arg.c (help_options): Likewise.
e9bbb4e7 3638 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
3639 `$(XGETTEXT)'.
98a50553 3640 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 3641
0ad46fd7 36422009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 3643
ef3c2c3a 3644 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
3645 instead of specifying them explicit.
3646
7922f68b
RM
36472009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3648
3649 * NEWS: Add grub-probe support for GNU/Hurd.
3650
537ce47f
RM
36512009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3652
3653 * NEWS: gettext was added after 1.97.
3654
9b214e3a
RM
36552009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3656
3657 * util/mkisofs/msdos_partition.h: New file (based on
3658 include/grub/msdos_partition.h).
3659 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
3660 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
3661 (ld_options, main): Recognize --protective-msdos-label.
3662 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
3663 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
3664 (padblock_write): If `use_protective_msdos_label' is set, patch a
3665 protective DOS-style label in the output image.
3666
3667 * util/grub-mkrescue.in: Use --protective-msdos-label.
3668
e9309813
RM
36692009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3670
3671 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
3672 boot.
3673
0ae56929
RM
36742009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3675
3676 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
3677 variables.
3678 (ld_options, main): Recognize `--embedded-boot'.
3679 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
3680 declarations.
3681 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
3682 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
3683 (padblock_write): Likewise. Rewrite to support embedded boot image.
3684
3685 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
3686 for BIOS-based disk boot instead of only ElTorito.
3687
b15937b1
RM
36882009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3689
3690 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
3691 build (not needed for bootstrap).
3692
52cc3ce0
RM
36932009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3694
3695 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
3696 from i386-pc build (not needed for bootstrap).
3697 Rewrite a pair of strings.
3698
36f5ff04
RM
36992009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3700
3701 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
3702
973c6c85 37032009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
3704
3705 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
3706
05d21547
AB
37072009-12-21 Andreas Born <futur.andy@googlemail.com>
3708
3709 * kern/env.c (grub_env_context_open): Mark exported variable for
3710 reexport.
3711
0175d51f
AB
37122009-12-21 Andreas Born <futur.andy@googlemail.com>
3713
3714 * kern/env.c (grub_env_export): Create nonexistent variables before
3715 exporting.
3716
7f39d92f 37172009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 3718
7f39d92f 3719 * include/grub/auth.h: Include `<grub/i18n.h>'.
3720 (GRUB_GET_PASSWORD): Gettextizze string.
3721 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
3722 menu_text.c.
3723 (grub_utf8_to_ucs4_alloc): Fix indentation.
3724 (grub_print_ucs4): Likewise.
3725 (grub_getstringwidth): Likewise.
3726 (print_message_indented): New declaration.
3727 * normal/auth.c: Include `<grub/i18n.h>'.
3728 (grub_auth_check_authentication): Gettexttize string.
3729 * normal/cmdline.c: Include `<grub/i18n.h>'.
3730 (grub_cmdline_get): Gettextizze.
3731 * normal/color.c: Include `<grub/i18n.h>'.
3732 (grub_parse_color_name_pair): Gettexttize strings.
3733 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
3734 string (use `print_message_indented').
3735 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
3736 `include/grub/normal.h'.
3737 (print_message_indented): Renamed to ...
3738 (grub_print_message_indented): ... this. Remove `static' qualifer (now
3739 used in normal/main.c).
3740 (print_message): Use `grub_print_message_indented' instead of
3741 `print_message_indented'.
3742 (print_timeout): Likewise.
3743 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
3744 (grub_normal_print_device_info): Gettexttize strings.
3745 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
3746
3041d898
VS
37472009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
3748
3749 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
3750 of arguments. Return number of tokens and not arguments. All users
3751 updated.
3752
de15bf8e
VS
37532009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
3754
3755 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
3756 non-MSDOS paritions.
3757
e0a6ca52
VS
37582009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
3759
3760 * include/grub/types.h (UNUSED): Removed since it conflicts with
3761 NetBSD headers. All users changed to direct __attribute__ ((unused)).
3762 Reported by Grégoire Sutre.
3763
b99518d1 37642009-12-19 Carles Pina i Estany <carles@pina.cat>
3765
3766 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
3767 (grub_print_ucs4_alloc): Likewise.
3768 (grub_getstringwidth): Likewise.
3769 * normal/main.c (grub_normal_init_page): Gettextize version string.
3770 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
3771 (getstringwidth): Renamed to ...
3772 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
3773 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
3774 (grub_print_ucs4): Remove `static' qualifer (now used in
3775 normal/main.c).
3776 * po/POTFILES: Add normal/main.c.
3777
bfd5e52b 37782009-12-19 Carles Pina i Estany <carles@pina.cat>
3779
3780 * normal/menu_text.c (STANDARD_MARGIN): New macro.
3781 (print_message_indented): Add `margin_left' and `margin_right'
3782 parameters.
3783 (print_message): Update `print_message_indented' calls. Adds '\n' to the
3784 strings.
3785 (print_timeout): Use `print_message_indented' to print the message.
3786 Deletes `second_stage' parameter.
3787 (run_menu): Update `print_timeout' calls.
3788
5a1ad2b9
VS
37892009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
3790
3791 Fix console palette on OpenFirmware.
3792
3793 * term/ieee1275/ofconsole.c (MAX): Removed.
3794 (colors): Redone based on VGA palette.
3795 (grub_ofconsole_setcolor): Discard brightness bit since only 8
3796 colors are supported.
3797 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
3798
b045f00a
VS
37992009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
3800
3801 Fix potential EfiEmu double prepare.
3802
3803 * efiemu/main.c (prepared): New variable
3804 (grub_efiemu_unload): Set prepare to '0'.
3805 (grub_efiemu_prepare): Return if already prepared. Set prepared.
3806
3807 set_virtual_address_map support.
3808
3809 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
3810 prototype.
3811 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
3812 prototype.
3813 (grub_efiemu_crc32): Likewise.
3814 (grub_efiemu_crc64): Likewise.
3815 (grub_efiemu_set_virtual_address_map): Likewise.
3816 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
3817 New definition.
3818 (grub_autoefi_set_virtual_address_map): Likewise.
3819 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
3820 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
3821 Restructure flow to accomodate it.
3822 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
3823 (grub_efiemu_crc): Recompute CRC32.
3824 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
3825 (efiemu_ptv_relocated): ... this. Made global. All users updated.
3826 * efiemu/symbols.c (relocated_handle): New variable.
3827 (grub_efiemu_free_syms): Free relocated_handle.
3828 (grub_efiemu_alloc_syms): Allocate relocated_handle.
3829 (grub_efiemu_write_sym_markers): New function.
3830 (grub_efiemu_set_virtual_address_map): Likewise.
3831
3832 Newer XNU parameters.
3833
3834 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
3835 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
3836 (grub_xnu_fill_devicetree): New prototype.
3837 (grub_xnu_heap_real_start): New variable.
3838 * loader/xnu.c (get_name_ptr): New function.
3839 (grub_xnu_load_driver): Fill namelen and name.
3840
3841 64-bit xnu support.
3842
3843 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
3844 and 'loader/macho64.c'.
3845 * conf/i386-pc.rmk: Likewise.
3846 * conf/x86_64-efi.rmk: Likewise.
3847 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
3848 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
3849 * include/grub/macho.h (grub_macho_segment64): New structure.
3850 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
3851 (grub_macho_size32): ... to this.
3852 (grub_macho32_get_entry_point): Renamed from ...
3853 (grub_macho_get_entry_point32): ... to this.
3854 (grub_macho_contains_macho64): New prototype.
3855 (grub_macho_size64): Likewise.
3856 (grub_macho_get_entry_point64): Likewise.
3857 (grub_macho32_load): Renamed from ...
3858 (grub_macho_load32): ... to this.
3859 (grub_macho32_filesize): Renamed from ...
3860 (grub_macho_filesize32): ... to this.
3861 (grub_macho32_readfile): Renamed from ...
3862 (grub_macho_readfile32): ... to this.
3863 (grub_macho_filesize64): New prototype.
3864 (grub_macho_readfile64): Likewise.
3865 (grub_macho_parse32): Likewise.
3866 (grub_macho_parse64): Likewise.
3867 * loader/macho.c: Split into ...
3868 * loader/machoXX.c: ... and this. Replace 32 with XX.
3869 * loader/macho32.c: New file.
3870 * loader/macho64.c: Likewise.
3871 * loader/xnu.c (grub_xnu_is_64bit): New variable.
3872 (grub_cmd_xnu_kernel): Make 32-bit only.
3873 (grub_cmd_xnu_kernel64): New function.
3874 (grub_xnu_load_driver): Support Mach-O 64.
3875 (grub_cmd_xnu_mkext): Likewise.
3876 * util/grub.d/30_os-prober.in (osx_entry): New function.
3877 Generate entries for 64-bit boot too.
3878
3879 Eliminate ad-hoc tree format in XNU and EfiEmu.
3880
3881 * efiemu/main.c (grub_efiemu_prepare): Update comment.
3882 * efiemu/pnvram.c: Rewritten to use environment variables.
3883 All users updated.
3884
3885 Inline utf16_to_utf8.
3886
3887 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
3888 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
3889 All users updated.
3890 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
3891
3892 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
3893 * commands/usbtest.c (grub_usb_get_string): ... move here.
3894 (usb_print_str): Fix error handling.
3895 * include/grub/usb.h (grub_usb_get_string): Remove.
3896
3897 UTF-8 to UTF-16 transformation.
3898
3899 * conf/common.rmk (pkglib_MODULES): Add charset.mod
3900 (charset_mod_SOURCES): New variable.
3901 (charset_mod_CFLAGS): Likewise.
3902 (charset_mod_LDFLAGS): Likewise.
3903 * include/grub/utf.h: New file.
3904 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
3905
3906 Support for device properties.
3907
3908 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
3909 (grub_xnu_devprop_device_header): Likewise.
3910 (grub_xnu_devprop_device_descriptor): Likewise.
3911 (grub_xnu_devprop_add_device): New prototype.
3912 (grub_xnu_devprop_remove_device): Likewise.
3913 (grub_xnu_devprop_remove_property): Likewise.
3914 (grub_xnu_devprop_add_property_utf8): Likewise.
3915 (grub_xnu_devprop_add_property_utf16): Likewise.
3916 (grub_cpu_xnu_init): Likewise.
3917 (grub_cpu_xnu_fini): Likewise.
3918 (grub_cpu_xnu_unload): Likewise.
3919 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
3920 (property_descriptor): Likewise.
3921 (devices): New variable.
3922 (grub_xnu_devprop_remove_property): New function.
3923 (grub_xnu_devprop_add_device): Likewise.
3924 (grub_xnu_devprop_remove_device): Likewise.
3925 (grub_xnu_devprop_add_property): Likewise.
3926 (grub_xnu_devprop_add_property_utf8): Likewise.
3927 (grub_xnu_devprop_add_property_utf16): Likewise.
3928 (hextoval): Likewise.
3929 (grub_cpu_xnu_fill_devprop): Likewise.
3930 (grub_cmd_devprop_load): Likewise.
3931 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
3932 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
3933 (cmd_devprop_load): New variable.
3934 (grub_cpu_xnu_init): New function.
3935 (grub_cpu_xnu_fini): Likewise.
3936 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
3937 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
3938 (grub_cmd_xnu_devtree): Likewise.
3939 (hextoval): New function.
3940 (unescape): Likewise.
3941 (grub_xnu_fill_devicetree): Likewise.
3942
3943 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
3944 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
3945
0945f181
VS
39462009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
3947
3948 Workaround for broken ATI VBE.
3949
3950 * video/i386/pc/vbe.c (last_set_mode): New variable.
3951 (grub_vbe_set_video_mode): Set 'last_set_mode'.
3952 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
3953 (grub_video_vbe_setup): Don't check for reserved flag.
3954
0ad46fd7 39552009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
3956
3957 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
3958 the `find' command.
3959
c179ebe4
VS
39602009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
3961
3962 UUID support for HFS.
3963
3964 * fs/hfs.c (grub_hfs_uuid): New function.
3965 (grub_hfs_fs): New value .uuid.
3966 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
3967
0ad46fd7 39682009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
3969
3970 Fix a segfault with parsing unknown long options.
3971
3972 * util/grub-mkrelpath.c (options): Zero terminate it.
3973
c4a3e41a
CPE
39742009-12-13 Carles Pina i Estany <carles@pina.cat>
3975
3976 * include/grub/misc.h (grub_puts): New declaration.
3977 (grub_puts_): Likewise.
a22008a6 3978 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
3979 (grub_puts_): Likewise.
3980
2e8a7602
RM
39812009-12-13 Robert Millan <rmh.grub@aybabtu.com>
3982
3983 * util/grub-probe.c (probe): Improve error message.
3984
b50b77b9
RM
39852009-12-13 Robert Millan <rmh.grub@aybabtu.com>
3986
3987 * loader/i386/multiboot_elfxx.c
3988 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
3989 initialization.
3990
39912009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3992
3993 Relocator framework
3994
3995 * loader/i386/xnu_helper.S: Removed. All users updated.
3996 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
3997 (relocator_mod_SOURCES): New variable.
3998 (relocator_mod_CFLAGS): Likewise.
3999 (relocator_mod_LDFLAGS): Likewise.
4000 (relocator_mod_ASFLAGS): Likewise.
4001 * conf/x86_64.rmk: Likewise.
4002 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
4003 (grub_multiboot_payload_entry_offset): Likewise.
4004 (grub_multiboot_forward_relocator): Likewise.
4005 (grub_multiboot_forward_relocator_end): Likewise.
4006 (grub_multiboot_backward_relocator): Likewise.
4007 (grub_multiboot_backward_relocator_end): Likewise.
4008 (grub_multiboot_payload_eip): New variable.
4009 (grub_multiboot_payload_orig): Likewise.
4010 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
4011 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
4012 * include/grub/i386/memory.h
4013 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
4014 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
4015 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
4016 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
4017 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
4018 * include/grub/i386/relocator.h: New file.
4019 * include/grub/x86_64/relocator.h: Likewise.
4020 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
4021 (XNU_RELOCATOR): New macro.
4022 (grub_xnu_launcher_start): Remove.
4023 (grub_xnu_launcher_end): Likewise.
4024 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
4025 (grub_xnu_heap_real_start): Remove.
4026 (grub_xnu_heap_start): Change to void *. All users updated.
4027 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
4028 * lib/i386/relocator.c: New file.
4029 * lib/i386/relocator_asm.S: Likewise.
4030 * lib/i386/relocator_backward.S: Likewise.
4031 * lib/mips/relocator.c: Likewise.
4032 * lib/mips/relocator_asm.S: Likewise.
4033 * lib/relocator.c: Likewise.
4034 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
4035 (entry): Removed.
4036 (playground): Likewise.
4037 (grub_multiboot_payload_orig): New variable.
4038 (grub_multiboot_payload_dest): Likewise.
4039 (grub_multiboot_payload_size): Likewise.
4040 (grub_multiboot_payload_eip): Likewise.
4041 (grub_multiboot_payload_esp): Likewise.
4042 (grub_multiboot_boot): Use grub_relocator32_boot.
4043 (grub_multiboot_unload): Free relocators.
4044 (grub_multiboot): Setup stack. Use relocators.
4045 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
4046 (grub_multiboot_load_elfXX): Use relocators.
4047 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
4048 (grub_multiboot_payload_size): Likewise.
4049 (grub_multiboot_payload_dest): Likewise.
4050 (grub_multiboot_payload_entry_offset): Likewise.
4051 (grub_multiboot_forward_relocator): Likewise.
4052 (grub_multiboot_backward_relocator): Likewise.
4053 (grub_multiboot_real_boot): Likewise.
4054 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
4055 (grub_xnu_entry_point): Likewise.
4056 (grub_xnu_arg1): Likewise.
4057 (grub_xnu_stack): Likewise.
4058 (grub_xnu_launch): Removed.
4059 (grub_xnu_boot_resume): New function.
4060 (grub_xnu_boot): Use relocators.
4061 * loader/i386/xnu_helper.S: Removed.
4062 * loader/xnu.c (grub_xnu_heap_start): New variable.
4063 (grub_xnu_heap_size): Likewise.
4064 (grub_xnu_heap_malloc): Use relocators.
4065 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
4066
29eb90c6
VS
40672009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4068
4069 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
4070 anything.
4071
31027430
CPE
40722009-12-13 Carles Pina i Estany <carles@pina.cat>
4073
4074 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
4075 GRUB_ERR_NONE before calling grub_env_set.
4076
dc0c71d9
RM
40772009-12-12 Robert Millan <rmh@aybabtu.com>
4078
4079 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
4080 * genmk.rb (video): New variable.
4081 (CLEANFILES, VIDEOFILES): Add #{video}.
4082 (#{video}): New target rule.
4083 * genvideolist.sh: New file.
4084 * Makefile.in (pkglib_DATA): Add video.lst.
4085 (video.lst): New target rule.
4086 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
4087 `video.lst'.
4088 * util/grub.d/30_os-prober.in: Replace `vbe' with
4089 ${GRUB_VIDEO_BACKEND}.
4090
2a4bfcf0
RM
40912009-12-11 Robert Millan <rmh.grub@aybabtu.com>
4092
4093 * THANKS: Add David Miller.
4094
2a3aa4d5
RM
40952009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
4096
4097 libpciaccess support.
4098
4099 * Makefile.in (LIBPCIACCESS): New variable.
4100 (enable_grub_emu_pci): Likewise.
4101 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
4102 util/pci.c and commands/lspci.c.
4103 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
4104 * configure.ac (grub-emu-pci): New option.
4105 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
4106 (grub_pci_device_unmap_range): Likewise.
4107 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
4108 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
4109 (grub_pci_address_t) [!GRUB_UTIL]: New type.
4110 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
4111 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
4112 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
4113 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
4114 * include/grub/pciutils.h: New file.
4115 * util/pci.c: Likewise.
4116
0ad46fd7 41172009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
4118
4119 * util/misc.c: Don't include <errno.h> twice.
4120
0ad46fd7 41212009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
4122
4123 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
4124 name in an error message.
4125 (grub_biosdisk_rw): Likewise.
4126
2e59983c
VS
41272009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4128
4129 Eliminate NTFS 4Gib barrier.
4130
4131 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
4132 (read_run_data): Likewise.
4133 (grub_ntfs_read_run_list): Likewise.
4134 (grub_ntfs_read_block): Likewise.
4135 (grub_ntfs_iterate_dir): Likewise.
4136 (read_mft): Likewise.
4137 (read_data): Likewise.
4138 Use COM_LOG_LEN.
4139 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
4140 to avoid 64-bit division
4141 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
4142 (grub_ntfs_rlst): Use grub_disk_addr_t.
4143
71ee178a
VS
41442009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4145
4146 Eliminate grub-fstest 4Gib barrier.
4147
4148 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
4149 (read_file): Fix error reporting.
4150
2520d4b8
VS
41512009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4152
4153 Eliminate hexdump 4Gib barrier.
4154
4155 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
4156 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
4157
e1f27065
VS
41582009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4159
4160 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
4161 Fixes amarsh bug.
4162
1a0f7f45
RM
41632009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
4164
4165 Remove miscellaneous files in distclean target.
4166
4167 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
4168
c631d9fb
CW
41692009-12-09 Colin Watson <cjwatson@ubuntu.com>
4170
4171 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
4172 if they're already set. This resolves the conflict between my
4173 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
4174 fixing the --grub-probe option again.
4175 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
4176 change on 2009-10-06, so that we now once again source
4177 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
4178
7c7b6106
RM
41792009-12-08 Robert Millan <rmh.grub@aybabtu.com>
4180
4181 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
4182 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
4183 `util/devicemap.c'.
4184
e3069ec1
CPE
41852009-12-08 Carles Pina i Estany <carles@pina.cat>
4186
4187 * include/grub/misc.h (grub_printf_): New declaration.
4188 * kern/misc.c (grub_printf_): New definition.
4189 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
4190 instead of `grub_printf' and `_'.
4191 * normal/menu_entry.c (store_completion): Likewise.
4192 (run): Likewise.
4193 (grub_menu_entry_run): Likewise.
4194 * normal/menu_text.c (grub_wait_after_message): Likewise.
4195 (notify_booting): Likewise.
4196 (notify_fallback): Likewise.
4197 (notify_execution_failure): Likewise.
4198
d6ceebf1
CW
41992009-12-07 Colin Watson <cjwatson@ubuntu.com>
4200
4201 * configure.ac: Check for vasprintf.
4202 * util/misc.c (asprintf): Move allocation from here ...
4203 (vasprintf): ... to here. New function.
4204 (xasprintf): New function.
4205 * include/grub/util/misc.h (vasprintf, xasprintf): Add
4206 prototypes.
4207 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
4208 * util/grub-mkfont.c (write_font): Likewise.
4209 * util/grub-probe.c (probe): Likewise.
4210 * util/hostdisk.c (make_device_name): Likewise.
4211
de6daa8b
DM
42122009-12-06 David S. Miller <davem@sunset.davemloft.net>
4213
4214 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
4215 anything even prefixed with 'cdrom' as a cdrom.
4216
0ad46fd7 42172009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
4218
4219 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
4220 mount points.
4221
98d3dc02
CPE
42222009-12-05 Carles Pina i Estany <carles@pina.cat>
4223
4224 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
4225 grub_gettext_msg_list.
4226 (grub_gettext_gettranslation_from_position): Return const char *
4227 and not char *.
a2c1332b 4228 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
4229 returns from the list if existing there.
4230 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
4231 (grub_gettext_delete_list): Delete the list.
4232 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
4233 lang environment variable is changed.
4234 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
4235
b283f108
VS
42362009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
4237
4238 Rename kernel.mod to kernel.img.
4239
4240 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
4241 (kernel_mod_EXPORTS): Rename to ...
4242 (kernel_img_EXPORTS): ... this.
4243 (kernel_mod_SOURCES): Rename to ...
4244 (kernel_img_SOURCES): ... this.
4245 (kernel_mod_HEADERS): Rename to ...
4246 (kernel_img_HEADERS): ... this. All users updated.
4247 (kernel_mod_CFLAGS): Rename to ...
4248 (kernel_img_CFLAGS): ... this.
4249 (kernel_mod_ASFLAGS): Rename to ...
4250 (kernel_img_ASFLAGS): ... this.
4251 (kernel_mod_LDFLAGS): Rename to ...
4252 (kernel_img_LDFLAGS): ... this.
4253 * conf/x86_64-efi.rmk: Likewise.
4254 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
4255 (read_kernel_image): ... this. All users updated.
4256 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
4257
69055f8a
CPE
42582009-12-05 Carles Pina i Estany <carles@pina.cat>
4259
4260 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
4261 (print_spaces): New function.
4262 (grub_print_ucs4): New function.
4263 (getstringwidth): New function.
4264 (print_message_indented): New function.
4265 (print_message): Gettexttize strings using print_message_indented.
4266 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
4267 width.
4268 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 4269 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
4270 Gettextize.
4271 * normal/menu_entry.c (store_completion): Cleanup the gettextized
4272 string.
4273 (run): Likewise.
4274 (grub_menu_entry_run): Likewise.
4275 * PO/POTFILES: Add normal/menu_entry.c.
4276
f616f51c
VS
42772009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
4278
4279 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
4280
57bbe3be
CPE
42812009-12-05 Carles Pina i Estany <carles@pina.cat>
4282
4283 * util/grub-install.in: Install gettext .mo files.
4284 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
4285
013d67a1
CPE
42862009-12-05 Carles Pina i Estany <carles@pina.cat>
4287
4288 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
4289 grub_dprintf.
4290
fb954db0
RM
42912009-12-05 Robert Millan <rmh.grub@aybabtu.com>
4292
4293 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
4294 non-firmware-dependant one in realmode.S takes precedence.
4295
6b8474f8
RM
42962009-12-04 Robert Millan <rmh.grub@aybabtu.com>
4297
4298 * commands/halt.c: Replace misc arch-specific headers with
4299 `<grub/misc.h>'.
4300 * commands/reboot.c: Likewise.
4301 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
4302 `<grub/misc.h>'.
4303 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
4304 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
4305 (kernel_img_SOURCES): ... to here.
4306
4307 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
4308 * include/grub/i386/pc/init.h: Likewise.
4309 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
4310 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
4311
4312 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
4313
4314 * include/grub/i386/halt.h: Remove.
4315 * include/grub/i386/reboot.h: Likewise.
4316
4317 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
4318
4b2e6ca2
DM
43192009-12-03 David S. Miller <davem@sunset.davemloft.net>
4320
4321 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
4322 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
4323 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
4324 "progname.h"
4325 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
4326 * util/sparc64/ieee1275/grub-setup.c: Likewise.
4327 (usage): Add missing comma in printf.
4328
5239348f
RM
43292009-12-02 Robert Millan <rmh.grub@aybabtu.com>
4330
4331 Use the same reboot approach on i386 coreboot and qemu as we do on
4332 BIOS.
4333
4334 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
4335 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
4336 * kern/i386/reboot.c: Remove.
4337 * include/grub/i386/reboot.h (grub_reboot): Export function.
4338 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
4339 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
4340 0xf000:0xfff0 instead of 0xffff:0x0000.
4341 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
4342 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
4343
ef34cbd4
RM
43442009-11-30 Robert Millan <rmh.grub@aybabtu.com>
4345
4346 Fix $srcdir != $objdir build.
4347
4348 * Makefile.in (po/%.po): Rewrite as ...
4349 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
4350
dc9837ea
ST
43512009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
4352
4353 Fix GNU/Hurd grub-install crash.
4354 * util/grub-probe.c (probe): Try to access `path' only when it is not
4355 NULL.
4356
2f857f98
VS
43572009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
4358
4359 Correct module naming.
4360
4361 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
4362 (GRUB_MOD_INIT(efi_uga)): ... to this
4363 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
4364 (GRUB_MOD_FINI(efi_uga)): ... to this
4365 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
4366 (GRUB_MOD_INIT(efi_gop)): ... to this
4367 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
4368 (GRUB_MOD_FINI(efi_gop)): ... to this
4369
c5448046
RM
43702009-11-28 Robert Millan <rmh.grub@aybabtu.com>
4371
4372 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
4373 translatable.
4374 (usage): Translate `arg' strings using gettext().
4375 Thanks to Jordi Mallach for the suggestion.
4376
c85184ad
VS
43772009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
4378
4379 GOP support. Based on patch from Bean
4380 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
4381
4382 * video/efi_gop.c: New file.
4383 * include/grub/efi/graphics_output.h: Likewise.
4384 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
4385 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
4386 variables.
4387 * conf/x86_64-efi.rmk: Likewise.
4388
8a4c48d8
VS
43892009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
4390
4391 Rename efi_fb to efi_uga.
4392
4393 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
4394 'efi_uga.mod'.
4395 (efi_fb_mod_SOURCES): Rename this ...
4396 (efi_uga_mod_SOURCES): ... to this.
4397 (efi_fb_mod_CFLAGS): Rename this ...
4398 (efi_uga_mod_CFLAGS): ... to this.
4399 (efi_fb_mod_LDFLAGS): Rename this ...
4400 (efi_uga_mod_LDFLAGS): ... to this.
4401 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
4402 'efi_uga.mod'.
4403 (efi_fb_mod_SOURCES): Rename this ...
4404 (efi_uga_mod_SOURCES): ... to this.
4405 (efi_fb_mod_CFLAGS): Rename this ...
4406 (efi_uga_mod_CFLAGS): ... to this.
4407 (efi_fb_mod_LDFLAGS): Rename this ...
4408 (efi_uga_mod_LDFLAGS): ... to this.
4409 * video/efi_fb.c: Move this ...
4410 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
4411
fb6c1a7b
RM
44122009-11-27 Robert Millan <rmh.grub@aybabtu.com>
4413
4414 * po/README: New file. Explain our PO file workflow.
4415
3bc7896c
RM
44162009-11-27 Robert Millan <rmh.grub@aybabtu.com>
4417
4418 * po/ChangeLog: Remove. Move relevant entries back to ...
4419 * ChangeLog: ... here.
4420 * po/ca.po: Remove (now handled by TLP).
4421 * po/id.po: Likewise.
4422 * po/zh_CN.po: Likewise.
4423 * Makefile.in (LINGUAS): Initialize in a way that supports
4424 empty set.
4425
9ed4841d
RM
44262009-11-27 Robert Millan <rmh.grub@aybabtu.com>
4427
4428 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
4429 reliing on po/LINGUAS.
4430 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
4431 (po/%.po): ... this.
4432
0ad46fd7 44332009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
4434
4435 * util/i386/efi/grub-mkimage.c: Include "progname.h".
4436 (main): Use `program_name' instead of nonexistent `progname'.
4437
e30dd392
FZ
44382009-11-26 Felix Zielcke <fzielcke@z-51.de>
4439
4440 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
4441 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
4442
7656de4f
RM
44432009-11-26 Robert Millan <rmh.grub@aybabtu.com>
4444
4445 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
4446 commit.
4447 * conf/i386-efi.rmk: Likewise.
4448 * conf/i386-ieee1275.rmk: Likewise.
4449 * conf/powerpc-ieee1275.rmk: Likewise.
4450 * conf/sparc64-ieee1275.rmk: Likewise.
4451 * conf/x86_64-efi.rmk: Likewise.
4452
db77c4d4
FZ
44532009-11-26 Felix Zielcke <fzielcke@z-51.de>
4454
4455 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
4456
a755bb04
FZ
44572009-11-26 Felix Zielcke <fzielcke@z-51.de>
4458
4459 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
4460
8a4c07fd
RM
44612009-11-26 Robert Millan <rmh.grub@aybabtu.com>
4462
4463 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
4464 (grub_mkdevicemap_SOURCES): New variable.
4465 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
4466 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
4467 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
4468 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
4469 (grub_mkdevicemap_SOURCES): Remove.
4470 * conf/i386-efi.rmk: Likewise.
4471 * conf/i386-ieee1275.rmk: Likewise.
4472 * conf/i386-pc.rmk: Likewise.
4473 * conf/powerpc-ieee1275.rmk: Likewise.
4474 * conf/sparc64-ieee1275.rmk: Likewise.
4475 * conf/x86_64-efi.rmk: Likewise.
4476 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
4477 (usage): Fix strings to use `program_name'.
4478 (main): Initialize gettext.
4479 * util/grub-editenv.c: Likewise.
4480 * util/grub-emu.c: Likewise.
4481 * util/grub-fstest.c: Likewise.
4482 * util/grub-mkdevicemap.c: Likewise.
4483 * util/grub-mkfont.c: Likewise.
4484 * util/grub-mkrelpath.c: Likewise.
4485 * util/grub-pe2elf.c: Likewise.
4486 * util/grub-probe.c: Likewise.
4487 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
4488 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
4489 * util/sparc64/ieee1275/grub-setup.c: Likewise.
4490
4491 * util/misc.c: Include `"progname.h"'.
4492 (progname): Remove variable.
4493 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
4494
6f61ed55
FZ
44952009-11-25 Felix Zielcke <fzielcke@z-51.de>
4496
4497 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
4498 printf and print a newline after the menuentry header line.
4499 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
4500
f022876b
FZ
45012009-11-25 Felix Zielcke <fzielcke@z-51.de>
4502
4503 autoconf >= 2.60 support $(localedir).
4504
4505 * INSTALL: Note that autoconf 2.60 is required.
4506 * configure.ac (AC_PREREQ): Bump to 2.60.
4507 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
4508 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
4509
6717926e
YB
45102009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
4511
4512 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
4513 aclocal is run.
4514
08806a54
RM
45152009-11-25 Robert Millan <rmh.grub@aybabtu.com>
4516
4517 * normal/main.c (grub_normal_read_line): Fix off-by-one
4518 buffer overflow.
4519
13b33fba
RM
45202009-11-25 Robert Millan <rmh.grub@aybabtu.com>
4521
4522 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
4523 "parser.grub" in grub_command_execute() call.
4524
4a8572e9
CPE
45252009-11-24 Carles Pina i Estany <carles@pina.cat>
4526
4527 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
4528 * conf/i386-efi.rmk: Likewise.
4529 * conf/i386-ieee1275.rmk: Likewise.
4530 * conf/i386-pc.rmk: Likewise.
4531 * conf/powerpc-ieee1275.rmk: Likewise.
4532 * conf/sparc64-ieee1275.rmk: Likewise.
4533 * conf/x86_64-efi.rmk: Likewise.
4534 * gettext/gettex.c: Include <grub/i18n.h>.
4535 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
4536 here ...
4537 * include/grub/i18n.h: ... to here
4538 * include/grub/i18n.h: ... to here.
4539 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 4540 (grub_gettext_dummy): Move above user.
4a8572e9 4541
bee48093
FZ
45422009-11-24 Felix Zielcke <fzielcke@z-51.de>
4543
4544 * util/Makefile.in (install-local): Convert a `for' into a normal
4545 shell expansion.
4546
a031e91c
RM
45472009-11-24 Robert Millan <rmh.grub@aybabtu.com>
4548
4549 * autogen.sh: Add automake call.
4550 * config.guess: Remove.
4551 * config.sub: Likewise.
4552 * install-sh: Likewise.
4553
26bec39d
FZ
45542009-11-24 Felix Zielcke <fzielcke@z-51.de>
4555
4556 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
4557
8e2532fd
FZ
45582009-11-24 Felix Zielcke <fzielcke@z-51.de>
4559
4560 * util/Makefile.in (install-local): Convert a make `$(foreach)'
4561 function to a normal shell `for'.
4562
fefa1b7d
FZ
45632009-11-24 Felix Zielcke <fzielcke@z-51.de>
4564
4565 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
4566
4501250b
FZ
45672009-11-24 Felix Zielcke <fzielcke@z-51.de>
4568
4569 * util/grub-mkrelpath.c: New file.
4570 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
4571 (grub_mkrelpath_SOURCES): New variable.
4572 * include/grub/util/misc.h: New function prototype.
4573 * util/misc.c (make_system_path_relative_to_its_root): New function.
4574
4575 * util/grub-mkconfig_lib.in (bindir): New variable.
4576 (grub_mkrelpath): Likewise.
4577 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
4578
4579 * util/probe.c (probe): Make the file path relative to its root.
4580 Change a info message to use the GRUB path. Enable again the
4581 check if we can read the file with GRUB facilities.
4582
4583 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
4584 to its root.
4585
11d9778b
FZ
45862009-11-24 Felix Zielcke <fzielcke@z-51.de>
4587
4588 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
4589 platform.
4590
4465287d
FZ
45912009-11-24 Felix Zielcke <fzielcke@z-51.de>
4592
4593 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
4594 strncmp().
4595
62b47f22
FZ
45962009-11-24 Felix Zielcke <fzielcke@z-51.de>
4597
4598 * util/getroot.c (grub_util_is_dmraid): New function.
4599 (grub_util_get_dev_abstraction): Treat dmraid and multipath
4600 devices as normal ones, not as LVM.
4601
1eafb9b9 46022009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
4603
4604 * conf/common.rmk: Add grub-gettext_lib target and updates
4605 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
4606 LDFLAGS.
4607 * gettext/gettext.c: New file. (Reads mo files).
4608 * include/grub/file.h (grub_file_pread): New prototype.
4609 * include/grub/i18n.h (_): New prototype.
4610 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
4611 prototypes.
4612 * kern/misc.c (grub_gettext_dummy): New function.
4613 * normal/menu_text.c: Include <grub/i18n.h>.
4614 * normal/menu_text.c (print_timeout): Gettexttize string.
4615 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
4616 * po/POTFILES: Add `normal/menu_text.c'.
4617 * po/ca.po: Add new translations.
c3ea6bd4
CPE
4618 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
4619 gettext module and defines locale_dir and lang in grub.cfg.
4620 * NEWS: Add gettext support.
4621
0fdb2568
RM
46222009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4623
4624 * util/hostdisk.c: Include `<grub/i18n.h>'.
4625 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
4626 (make_device_name): Rewrite using asprintf.
4627 (convert_system_partition_to_system_disk): Replace 0 with NULL.
4628 (find_system_device): If a device is not found, generate one just
4629 by reusing the OS path name.
4630 (read_device_map): Make it permissible for device.map not to exist.
4631
f515aa62
RM
46322009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4633
4634 * script/sh/execute.c: Move from here ...
4635 * script/execute.c: ... to here. Update all users.
4636 * script/sh/function.c: Move from here ...
4637 * script/function.c: ... to here. Update all users.
4638 * script/sh/lexer.c: Move from here ...
4639 * script/lexer.c: ... to here. Update all users.
4640 * script/sh/main.c: Move from here ...
4641 * script/main.c: ... to here. Update all users.
4642 * script/sh/parser.y: Move from here ...
4643 * script/parser.y: ... to here. Update all users.
4644 * script/sh/script.c: Move from here ...
4645 * script/script.c: ... to here. Update all users.
4646
f84b481b
RM
46472009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4648
4649 * configure.ac: Detect all `emu' platforms. Define
4650 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
4651 --enable-grub-emu logic. Disable include/grub/machine
4652 symlink on `emu' platforms.
4653
4654 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
4655 * gensymlist.sh.in: Likewise.
4656
4657 * include/grub/i386/coreboot/machine.h: Remove file.
4658 * include/grub/i386/efi/machine.h: Likewise.
4659 * include/grub/i386/ieee1275/machine.h: Likewise.
4660 * include/grub/i386/pc/machine.h: Likewise.
4661 * include/grub/i386/qemu/machine.h: Likewise.
4662 * include/grub/powerpc/ieee1275/machine.h: Likewise.
4663 * include/grub/sparc64/ieee1275/machine.h: Likewise.
4664 * include/grub/x86_64/efi/machine.h: Likewise.
4665
4666 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
4667 * commands/halt.c: Likewise.
4668 * commands/reboot.c: Likewise.
4669 * include/grub/autoefi.h: Likewise.
4670 * include/grub/i386/at_keyboard.h: Likewise.
4671 * include/grub/i386/kernel.h: Likewise.
4672 * include/grub/i386/loader.h: Likewise.
4673 * include/grub/i386/pc/memory.h: Likewise.
4674 * kern/dl.c: Likewise.
4675 * kern/i386/coreboot/init.c: Likewise.
4676 * loader/i386/bsd.c: Likewise.
4677 * loader/i386/linux.c: Likewise.
4678 * loader/multiboot_loader.c: Likewise.
4679 * term/i386/pc/serial.c: Likewise.
4680 * term/usb_keyboard.c: Likewise.
4681
4682 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
4683 `<grub/machine/machine.h>'
4684 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
4685 * util/misc.c: Remove `<grub/machine/machine.h>' and
4686 `<grub/machine/time.h>'.
4687
4688 * Makefile.in (enable_grub_emu): Remove variable.
4689 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
4690
4691 * conf/any-emu.rmk: New file.
4692 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
4693 (grub_emu_init.c): Move from here ...
4694 * conf/any-emu.rmk: ... to here.
4695
4696 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
4697 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
4698 * conf/any-emu.rmk: ... to here.
4699
4efeab03
RM
47002009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4701
4702 * include/grub/parser.h (grub_parser_register): Document need
4703 of `name' parameter.
4704 * normal/main.c (grub_normal_read_line): Simplify prompt string.
4705 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
4706 "sh" to "grub".
4707
ea1dd8bf
RM
47082009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4709
4710 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
4711 `$(XGETTEXT)'.
4712 * include/grub/i18n.h (N_): New macro.
4713 * util/mkisofs/mkisofs.h: Likewise.
4714 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
4715 around N_().
4716 (usage): Use gettext() to translate help strings when printing them.
4717
0c140626
RM
47182009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4719
4720 Based on patch from Bean
4721 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
4722
4723 * video/efi_fb.c: New file.
4724 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
4725 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
4726 variables.
4727 * conf/x86_64-efi.rmk: Likewise.
4728
87d58298
RM
47292009-11-22 Robert Millan <rmh.grub@aybabtu.com>
4730
4731 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
4732 * util/i386/pc/grub-setup.c: Likewise.
4733
994cc3a3
ST
47342009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
4735
4736 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
4737 <hurd/fs.h>
4738 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
4739 file_get_storage_info to implement grub_guess_root_device.
4740
26a61d6a
FZ
47412009-11-21 Felix Zielcke <fzielcke@z-51.de>
4742
4743 * Makefile.in (target): Use make's builtin $(shell) function
4744 instead of calling directly $(SHELL) to create the locale directories,
4745 inside the $(foreach) function.
4746
74ff1dd5
FZ
47472009-11-21 Felix Zielcke <fzielcke@z-51.de>
4748
4749 * util/grub-mkrescue.in: Print an error and usage if output option
4750 has not been given.
4751
0b787d0e
FZ
47522009-11-21 Felix Zielcke <fzielcke@z-51.de>
4753
4754 Patch from LoĂ¯c Minier <loic.minier@ubuntu.com>.
4755 * util/grub.d/30_os-prober.in: Cope with Linux entries where
4756 root and /boot are on different devices.
4757
1164b270
RM
47582009-11-21 Robert Millan <rmh.grub@aybabtu.com>
4759
4760 Fix build for srcdir != objdir.
4761
4762 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
4763 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
4764 $(srcdir).
4765 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
4766 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
4767 reference for input.
4768
13774a2f
RM
47692009-11-21 Robert Millan <rmh.grub@aybabtu.com>
4770
4771 * util/grub-mkrescue.in: Use source directory direcly (without copiing
4772 or hardlinking it). Remove -J option, Joliet is not compatible with
4773 multiple source directories.
4774
efda854e
RM
47752009-11-21 Carles Pina i Estany <carles@pina.cat>
47762009-11-21 Robert Millan <rmh.grub@aybabtu.com>
4777
4778 * util/grub-mkrescue.in: Recognize `--override-directory' option.
4779 (process_input_dir): New function. Process an arbitrary input
4780 directory.
4781 Misc adjustments to support both "override mode" and system-wide mode.
4782
6c09890c
FZ
47832009-11-20 Felix Zielcke <fzielcke@z-51.de>
4784
4785 * configure.ac (UNIFONT_BDF): Rename to ...
4786 (FONT_SOURCE): ... this. Update all users.
4787
a797824f
FZ
47882009-11-20 Felix Zielcke <fzielcke@z-51.de>
4789
4790 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
4791 to the list of unifont files to look for.
4792
cd4f42b0
RM
47932009-11-19 Robert Millan <rmh.grub@aybabtu.com>
4794
4795 Patch from Joe Auricchio <jauricchio@gmail.com>
4796 * commands/minicmd.c (grub_mini_cmd_clear): New function.
4797 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
4798 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
4799
393c783d
FZ
48002009-11-19 Felix Zielcke <fzielcke@z-51.de>
4801
4802 * Makefile.in (install-local): Add a missing backslash.
4803
b2f1e327
FZ
48042009-11-19 Felix Zielcke <fzielcke@z-51.de>
4805
4806 * include/grub/x86_64/io.h: New file.
4807
f577f7a0
RM
48082009-11-19 Robert Millan <rmh.grub@aybabtu.com>
4809
4810 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
4811 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
4812 Include `"progname.h"'.
4813 (main): Initialize gettext.
4814 * util/i386/pc/grub-setup.c: Gettexttize.
4815 * util/i386/pc/grub-mkimage.c: Likewise.
4816
4817 * Makefile.in (po/*.po): Redefine as ...
4818 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
4819
3bc7896c
RM
4820 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
4821
c37943b6
RM
48222009-11-19 Robert Millan <rmh.grub@aybabtu.com>
4823
4824 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
4825 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
4826 (program_name): Remove.
4827 (main): Initialize gettext support.
6323f705
RM
4828 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
4829 Include `<libintl.h>'.
4830 (_): New macro.
c37943b6
RM
4831
4832 * util/mkisofs/eltorito.c: Gettexttize.
4833 * util/mkisofs/joliet.c: Likewise.
4834 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
4835 * util/mkisofs/multi.c: Likewise.
4836 * util/mkisofs/rock.c: Likewise.
4837 * util/mkisofs/tree.c: Likewise.
4838 * util/mkisofs/write.c: Likewise.
4839
3bc7896c
RM
4840 * po/POTFILES: Update with new files.
4841
5ce77c6e
RM
48422009-11-18 Robert Millan <rmh.grub@aybabtu.com>
4843
4844 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
4845 * util/mkisofs/iso9660.h: Likewise.
4846 * util/mkisofs/joliet.c: Likewise.
4847 * util/mkisofs/mkisofs.c: Likewise.
4848 * util/mkisofs/mkisofs.h: Likewise.
4849 * util/mkisofs/rock.c: Likewise.
4850 * util/mkisofs/tree.c: Likewise.
4851 * util/mkisofs/write.c: Likewise.
4852
4853 * util/mkisofs/eltorito.c (rcsid): Remove.
4854 * util/mkisofs/hash.c: Likewise.
4855 * util/mkisofs/joliet.c: Likewise.
4856 * util/mkisofs/name.c: Likewise.
4857 * util/mkisofs/rock.c: Likewise.
4858 * util/mkisofs/tree.c: Likewise.
4859 * util/mkisofs/write.c: Likewise.
4860
1dabbc77
RM
48612009-11-18 Robert Millan <rmh.grub@aybabtu.com>
4862
4863 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
4864 instead of static allocation.
4865 * util/mkisofs/match.h: Likewise.
4866
633877cb
RM
48672009-11-18 Robert Millan <rmh.grub@aybabtu.com>
4868
3bc7896c
RM
4869 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
4870 and `util/grub.d/10_linux.in'.
633877cb
RM
4871 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
4872 translatable Shell files.
4873
af1c0c85
RM
48742009-11-18 Robert Millan <rmh.grub@aybabtu.com>
4875
4876 * Makefile.in ($(srcdir)/aclocal.m4): New target.
4877
769ae37b
RM
48782009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4879
4880 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 4881 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
4882 * util/grub.d/10_kfreebsd.in (bindir): New variable.
4883 Add gettext initialization.
4884 (kfreebsd_entry): Make menuentry output translatable.
4885
48862009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4887
4888 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
4889 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
4890 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
4891 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
4892 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 4893 * po/LINGUAS: New file.
769ae37b
RM
4894
48952009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4896
4897 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
4898 other things).
4899 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
4900 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
4901 bindtextdomain() calls for gettext initialization.
4902
49032009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4904
4905 * gnulib/progname.c: New file (imported from Gnulib).
4906 * gnulib/progname.h: Likewise.
4907 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
4908 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
4909 (usage): Replace `progname' with `program_name'.
4910 (main): Use set_program_name() for program name initialization.
4911
49122009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4913
4914 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
4915 from here ...
4916 * Makefile.in (CPPFLAGS): ... to here.
4917
49182009-11-16 Robert Millan <rmh.grub@aybabtu.com>
4919
4920 * aclocal.m4: Move from here ...
4921 * acinclude.m4: ... to here.
4922 * autogen.sh: Add call to `aclocal'.
4923 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
4924
49252009-11-16 Robert Millan <rmh.grub@aybabtu.com>
4926
4927 * Makefile.in (CLEANFILES): Add `po/*.mo'.
4928 (LINGUAS): New variable.
4929 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
4930 (install-local): Install MO files.
4931 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
4932 * include/grub/i18n.h: New file.
3bc7896c
RM
4933 * po/POTFILES: New file.
4934 * po/ca.po: New file.
769ae37b
RM
4935 * util/grub.d/10_linux.in (bindir): New variable.
4936 Add gettext initialization.
4937 (linux_entry): Make menuentry output translatable.
4938 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
4939 (usage): Make --help output translatable.
4940 (main): Initialize gettext.
4941
02c0a6ad
RM
49422009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4943
4944 * import_gcry.py: New file (written by Vladimir with minor
4945 adjustments).
4946 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
4947 ciphers.
4948 * INSTALL: Document that Python is required for bootstrap.
4949
49502009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4951
4952 Import ciphers from libgcrypt 1.4.4.
4953
4954 * lib/libgcrypt/cipher/ChangeLog
4955 * lib/libgcrypt/cipher/ac.c
4956 * lib/libgcrypt/cipher/arcfour.c
4957 * lib/libgcrypt/cipher/bithelp.h
4958 * lib/libgcrypt/cipher/blowfish.c
4959 * lib/libgcrypt/cipher/camellia-glue.c
4960 * lib/libgcrypt/cipher/camellia.c
4961 * lib/libgcrypt/cipher/camellia.h
4962 * lib/libgcrypt/cipher/cast5.c
4963 * lib/libgcrypt/cipher/cipher.c
4964 * lib/libgcrypt/cipher/crc.c
4965 * lib/libgcrypt/cipher/des.c
4966 * lib/libgcrypt/cipher/dsa.c
4967 * lib/libgcrypt/cipher/ecc.c
4968 * lib/libgcrypt/cipher/elgamal.c
4969 * lib/libgcrypt/cipher/hash-common.c
4970 * lib/libgcrypt/cipher/hash-common.h
4971 * lib/libgcrypt/cipher/hmac-tests.c
4972 * lib/libgcrypt/cipher/md.c
4973 * lib/libgcrypt/cipher/md4.c
4974 * lib/libgcrypt/cipher/md5.c
4975 * lib/libgcrypt/cipher/primegen.c
4976 * lib/libgcrypt/cipher/pubkey.c
4977 * lib/libgcrypt/cipher/rfc2268.c
4978 * lib/libgcrypt/cipher/rijndael-tables.h
4979 * lib/libgcrypt/cipher/rijndael.c
4980 * lib/libgcrypt/cipher/rmd.h
4981 * lib/libgcrypt/cipher/rmd160.c
4982 * lib/libgcrypt/cipher/rsa.c
4983 * lib/libgcrypt/cipher/seed.c
4984 * lib/libgcrypt/cipher/serpent.c
4985 * lib/libgcrypt/cipher/sha1.c
4986 * lib/libgcrypt/cipher/sha256.c
4987 * lib/libgcrypt/cipher/sha512.c
4988 * lib/libgcrypt/cipher/tiger.c
4989 * lib/libgcrypt/cipher/twofish.c
4990 * lib/libgcrypt/cipher/whirlpool.c
4991
af2f93ac
RM
49922009-11-16 Robert Millan <rmh.grub@aybabtu.com>
4993
4994 Fix build for systems without error().
4995
4996 * gnulib/error.c: New file (imported from Gnulib).
4997 * gnulib/error.h: Likewise.
4998 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
4999 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
5000 (this variable is now used by error()).
5001
73fb3dd5
FZ
50022009-11-16 Felix Zielcke <fzielcke@z-51.de>
5003
814f5e96
FZ
5004 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
5005 instead of relying that char is signed.
73fb3dd5 5006
a691ca33
VS
50072009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5008
5009 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
5010 blocksize different from specified.
5011 (grub_pxefs_read): Likewise.
5012
2af8f0f4
FZ
50132009-11-16 Felix Zielcke <fzielcke@z-51.de>
5014
5015 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
5016
5017 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
5018 (grub_ata_readwrite): Likewise. Update 2 format strings.
5019 (grub_atapi_read): Likewise.
5020
5021 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
5022 * conf/i386.rmk (pkglib_MODULES): ... to here ...
5023 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
5024 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
5025 (ata_mod_LDFLAGS): Move from here ...
5026 * conf/i386.rmk: ... to here ...
5027 * conf/x86_64-efi.rmk: ... and here.
5028 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
5029 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
5030
83bdecaf
RM
50312009-11-16 Robert Millan <rmh.grub@aybabtu.com>
5032
5033 Relicense multiboot.h, with RMS' blessing.
5034
5035 * include/multiboot.h: Change to X11 license.
5036
fd6fd3d7
RM
50372009-11-15 Robert Millan <rmh.grub@aybabtu.com>
5038
5039 Support --version in grub-mkisofs.
5040
5041 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
5042 (OPTION_VERSION): New macro.
5043 (ld_options): Recognize --version.
5044 (usage): Move `program_name' from here ...
5045 (program_name): ... to here. Add `static' qualifier.
5046 (main): Recognize `OPTION_VERSION'.
5047
16a88c49
FZ
50482009-11-15 Felix Zielcke <fzielcke@z-51.de>
5049
5050 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
5051 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
5052
a4158476
RM
50532009-11-14 Robert Millan <rmh.grub@aybabtu.com>
5054
5055 Fix help2man generation for mkisofs.
5056
5057 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
5058 (usage): Send output to stdout (rather than stderr).
5059
fc2208b0
RM
50602009-11-14 Robert Millan <rmh.grub@aybabtu.com>
5061
5062 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
5063 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
5064 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
5065 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
5066 (bin_SCRIPTS): Add `grub-mkfloppy'.
5067 (grub_mkfloppy_SOURCES): New variable.
5068
5069 * util/grub-mkrescue.in: New file.
5070 * util/i386/pc/grub-mkfloppy.in: New file.
5071
5072 * util/i386/coreboot/grub-mkrescue.in: Remove.
5073 * util/i386/pc/grub-mkrescue.in: Remove.
5074
8d0edf4a
RM
50752009-11-13 Robert Millan <rmh.grub@aybabtu.com>
5076
5077 * include/grub/multiboot.h (struct grub_multiboot_header): Move
5078 from here ...
5079 * include/multiboot.h (struct multiboot_header): ... to here. Update
5080 all users.
5081 * include/grub/multiboot.h (struct grub_multiboot_info): Move
5082 from here ...
5083 * include/multiboot.h (struct multiboot_info): ... to here. Update
5084 all users.
5085 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
5086 from here ...
5087 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
5088 Update all users.
5089 * include/grub/multiboot.h (struct grub_mod_list): Move
5090 from here ...
5091 * include/multiboot.h (struct multiboot_mod_list): ... to here.
5092 Update all users.
5093
a73f5969
RM
50942009-11-13 Robert Millan <rmh.grub@aybabtu.com>
5095
5096 * include/multiboot2.h (multiboot_word): Rename from this ...
5097 (multiboot2_word): ... to this. Update all users.
5098 (multiboot_header): Rename from this ...
5099 (multiboot2_header): ... to this. Update all users.
5100 (multiboot_tag_header): Rename from this ...
5101 (multiboot2_tag_header): ... to this. Update all users.
5102 (multiboot_tag_start): Rename from this ...
5103 (multiboot2_tag_start): ... to this. Update all users.
5104 (multiboot_tag_name): Rename from this ...
5105 (multiboot2_tag_name): ... to this. Update all users.
5106 (multiboot_tag_module): Rename from this ...
5107 (multiboot2_tag_module): ... to this. Update all users.
5108 (multiboot_tag_memory): Rename from this ...
5109 (multiboot2_tag_memory): ... to this. Update all users.
5110 (multiboot_tag_unused): Rename from this ...
5111 (multiboot2_tag_unused): ... to this. Update all users.
5112 (multiboot_tag_end): Rename from this ...
5113 (multiboot2_tag_end): ... to this. Update all users.
5114
1c8927f0
RM
51152009-11-13 Robert Millan <rmh.grub@aybabtu.com>
5116
5117 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
5118 this platform we should support Multiboot1 first.
5119
5120 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
5121 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
5122 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
5123
6e1e0d89
RM
51242009-11-12 Robert Millan <rmh.grub@aybabtu.com>
5125
5126 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
5127 of write calls (converting them to fwrite() if they aren't already).
5128 (get_torito_desc): Likewise.
5129 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
5130
7f2b34d8
RM
51312009-11-12 Robert Millan <rmh.grub@aybabtu.com>
5132
5133 * util/i386/pc/grub-install.in: Move from here ...
5134 * util/grub-install.in: ... to here. Update all users.
5135
c0ef3311
CW
51362009-11-11 Colin Watson <cjwatson@ubuntu.com>
5137
5138 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
5139
e1f240ff
RM
51402009-11-11 Robert Millan <rmh.grub@aybabtu.com>
5141
5142 Support for El Torito without floppy emulation.
5143
5144 * util/mkisofs/eltorito.c: Include `<errno.h>'.
5145 (init_boot_catalog): Improve error handling.
5146 (get_torito_desc): Don't use floppy emulation unless requested by
5147 user. Patch boot information table when requested via
5148 `-boot-info-table'.
5149 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
5150 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
5151 (use_boot_info_table): New variables.
5152 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
5153 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
5154 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
5155 `--eltorito-emul-floppy'.
5156 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
5157 and `OPTION_ELTORITO_EMUL_FLOPPY'.
5158 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
5159 (use_boot_info_table, get_731): New prototypes.
5160 * util/mkisofs/write.c (get_731): New function.
5161
af7d4de5
FZ
51622009-11-11 Felix Zielcke <fzielcke@z-51.de>
5163
5164 Fix the generation of the man page.
5165
5166 * util/pc/i386/grub-install.in: Source
5167 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
5168
2c55dbc0
RM
51692009-11-11 Robert Millan <rmh.grub@aybabtu.com>
5170
5171 Large file support for grub-mkisofs.
5172
5173 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
5174 * util/mkisofs/mkisofs.c (next_extent, last_extent)
5175 (session_start): Upgrade type to `uint64_t'. Update all users.
5176 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
5177 (struct directory_entry): Upgrade type of `starting_block' and
5178 `size' to `uint64_t'. Update all users.
5179 (struct deferred): Remove unused structure.
5180 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
5181 Update all users.
5182 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
5183 file is larger than `UINT32_MAX'.
5184 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
5185 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
5186 return value.
5187 (struct deferred_write): Upgrade type of `extent' and `size' to
5188 `uint64_t'. Update all users.
5189 (last_extent_written): Upgrade type to `uint64_t'. Update all
5190 users.
5191 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
5192 Update all users. Upgrade type of `remain' to `int64_t' and
5193 `use' to `size_t'. Use error() to handle fread() errors.
5194 (write_files): Rely on write_one_file() rather than calling
5195 xfwrite() directly.
5196
6a9cead5
FZ
51972009-11-09 Felix Zielcke <fzielcke@z-51.de>
5198
5199 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
5200
4825d790
RM
52012009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5202
5203 * util/mkisofs/fnmatch.c: Remove.
5204 * util/mkisofs/getopt1.c: Likewise.
5205 * util/mkisofs/getopt.c: Likewise.
5206 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
5207 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
5208 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
5209 `gnulib/getopt1.c' and `gnulib/getopt.c'.
5210 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
5211
5212 * configure.ac: Detect `mingw32msvc' host_os.
5213 Check for lstat(), getuid() and getgid().
5214
5215 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
5216 instances of `u_char' with `uint8_t'.
5217
5218 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
5219 [!HAVE_GETUID] (getuid): New function (stub).
5220 [!HAVE_GETGID] (getgid): Likewise.
5221 [!HAVE_LSTAT] (lstat): Likewise.
5222 [!S_IROTH] (S_IROTH): New macro (dummy).
5223 [!S_IRGRP] (S_IRGRP): Likewise.
5224
84b860d8
RM
52252009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5226
5227 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
5228 conditional expression).
5229
66e9b712
RM
52302009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5231
5232 Import from Gnulib.
5233
5234 * gnulib/fnmatch.c: New file.
5235 * gnulib/fnmatch.h: Likewise.
5236 * gnulib/fnmatch_loop.c: Likewise.
5237 * gnulib/getopt.c: Likewise.
5238 * gnulib/getopt.h: Likewise.
5239 * gnulib/getopt1.c: Likewise.
5240 * gnulib/getopt_int.h: Likewise.
5241 * gnulib/gettext.h: Likewise.
5242
34f4a5b0
RM
52432009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5244
5245 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
5246 * normal/handler.c (read_handler_list): Likewise.
5247
ac451143
RM
52482009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5249
5250 Misc cleanup.
5251
5252 * kern/command.c (grub_register_command_prio): Use
5253 grub_zalloc() instead of explicitly zeroing data.
5254 * kern/list.c: Include `<grub/mm.h>'.
5255 (grub_named_list_find): Replace `0' with `NULL'.
5256 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
5257 (fs_module_list): Change type to `grub_named_list_t'. Update all
5258 users.
5259 * normal/dyncmd.c (read_command_list): Add space between function
5260 call and parenthesis.
5261 * normal/handler.c (read_handler_list): Likewise.
5262
4089b167
RM
52632009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5264
5265 * normal/auth.c (punishment_delay): Moved from here ...
5266 (grub_auth_strcmp): ... to here (inside function).
5267
325f5037
RM
52682009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5269
5270 * include/grub/list.h (struct grub_named_list): Remove `const'
5271 qualifier from `name'.
5272 (struct grub_prio_list): Likewise.
5273
7aea29a3
RM
52742009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5275
5276 * normal/auth.c: Include `<grub/time.h>'.
5277 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
5278
3fd6f044
RM
52792009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5280
5281 * normal/auth.c (punishment_delay): New variable.
5282 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
5283 (grub_auth_check_authentication): Punish failed login attempts with
5284 an incremental (2^N) delay.
5285
a4cd68e4
RM
52862009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5287
5288 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
5289 path with $(srcdir).
5290
7ad12f43
VS
52912009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5292
5293 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
5294
c1129f03
RM
52952009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5296
5297 * util/i386/coreboot/grub-mkrescue.in: New file.
5298 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
5299 variables.
5300
5301 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
5302 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
5303 * configure.ac: Add header and function checks to satisfy grub-mkisofs
5304 requirements.
5305 * util/mkisofs/defaults.h: New file.
5306 * util/mkisofs/eltorito.c: Likewise.
5307 * util/mkisofs/exclude.h: Likewise.
5308 * util/mkisofs/fnmatch.c: Likewise.
5309 * util/mkisofs/getopt.c: Likewise.
5310 * util/mkisofs/getopt1.c: Likewise.
5311 * util/mkisofs/hash.c: Likewise.
5312 * util/mkisofs/include/fctldefs.h: Likewise.
5313 * util/mkisofs/include/mconfig.h: Likewise.
5314 * util/mkisofs/include/prototyp.h: Likewise.
5315 * util/mkisofs/include/statdefs.h: Likewise.
5316 * util/mkisofs/iso9660.h: Likewise.
5317 * util/mkisofs/joliet.c: Likewise.
5318 * util/mkisofs/match.c: Likewise.
5319 * util/mkisofs/match.h: Likewise.
5320 * util/mkisofs/mkisofs.c: Likewise.
5321 * util/mkisofs/mkisofs.h: Likewise.
5322 * util/mkisofs/multi.c: Likewise.
5323 * util/mkisofs/name.c: Likewise.
5324 * util/mkisofs/rock.c: Likewise.
5325 * util/mkisofs/tree.c: Likewise.
5326 * util/mkisofs/write.c: Likewise.
5327
ec8bb77d
VS
53282009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5329
5330 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
5331 being insecure.
5332
3716b12c
RM
53332009-11-08 Robert Millan <rmh.grub@aybabtu.com>
5334
5335 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
5336 `grub-mkimage' (and use $0 when possible).
5337
b97b7b91
RM
53382009-11-08 Robert Millan <rmh.grub@aybabtu.com>
5339
5340 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
5341 error message for excessively large memory map.
5342
04114812
RM
53432009-11-08 Robert Millan <rmh.grub@aybabtu.com>
5344
5345 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
5346 executable bit.
5347
e4eb2373
RM
53482009-11-08 Robert Millan <rmh.grub@aybabtu.com>
5349
5350 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
5351 message for coreboot users.
5352
c926e1d5 53532009-11-07 Robert Millan <rmh.grub@aybabtu.com>
5354
5355 Fix build with GNU gold.
5356
5357 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
5358 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
5359 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
5360 link addresses.
5361 * aclocal.m4: Likewise.
5362
86e5b1db 53632009-11-04 Felix Zielcke <fzielcke@z-51.de>
5364
5365 * configure.ac (AC_PREREQ): Bump to 2.59d.
5366 * INSTALL: Make it more clear when Autoconf and Ruby are
5367 needed and when to run `./autogen.sh'.
5368
246cd78f 53692009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
5370
5371 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
5372 OSes.
5373
4f9dfb37 53742009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
5375
5376 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
5377
b82bd5e1 53782009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
5379
5380 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
5381 giving it to GNU Mach.
5382
ff1a9bca 53832009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
5384
5385 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
5386 GNU partition number to get internal GRUB partition number.
5387
61697d9c 53882009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
5389
5390 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
5391 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
5392
a50569e1 53932009-11-01 Robert Millan <rmh.grub@aybabtu.com>
5394
5395 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
5396 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
5397 case.
5398
5b153867 53992009-11-01 Felix Zielcke <fzielcke@z-51.de>
5400
5401 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
5402
d9e2cd70 54032009-10-30 Robert Millan <rmh.grub@aybabtu.com>
5404
5405 Fix build problem.
5406
5407 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
5408 `-isystem=$(srcdir)/include'.
5409
805111a4 54102009-10-30 Robert Millan <rmh.grub@aybabtu.com>
5411
5412 * util/i386/pc/grub-install.in: Remove hint that device.map should be
5413 checked (grub-install doesn't currently rely on it).
5414
fa6e945f 54152009-10-29 Robert Millan <rmh.grub@aybabtu.com>
5416
5417 Revert SVN r2660.
5418
5419 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
5420 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
5421 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
5422 * conf/i386-ieee1275.rmk: Likewise.
5423 * conf/i386-pc.rmk: Likewise.
5424 * conf/powerpc-ieee1275.rmk: Likewise.
5425 * conf/sparc64-ieee1275.rmk: Likewise.
5426 * conf/x86_64-efi.rmk: Likewise.
5427
cee15086 54282009-10-28 Robert Millan <rmh.grub@aybabtu.com>
5429
5430 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
5431
95b9239e 54322009-10-28 Robert Millan <rmh.grub@aybabtu.com>
5433
5434 * include/grub/misc.h: Stop checking for APPLE_CC.
5435
2ed19dfd 54362009-10-28 Robert Millan <rmh.grub@aybabtu.com>
5437
5438 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
5439 doesn't cause an infinite call loop.
5440
fdcdde19 54412009-10-28 Felix Zielcke <fzielcke@z-51.de>
5442
5443 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
5444 strings.
5445
cefabfe1 54462009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5447
5448 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
5449 variable.
5450 * Makefile.in: Likewise.
5451
ed96ab6d 54522009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5453
5454 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
5455
0579b753 54562009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5457
5458 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
5459
478df409 54602009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5461
5462 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
5463
083d1679 54642009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5465
5466 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
5467 from here ...
5468 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
5469
5947ae32 54702009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5471
5472 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
5473 in $(MAKEINFO) invocation. This makes it clear in output that
5474 errors are being ignored.
5475
94180ff6 54762009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5477
5478 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
5479 from here ...
5480 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
5481 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
5482 * conf/i386-ieee1275.rmk: Likewise.
5483 * conf/i386-pc.rmk: Likewise.
5484 * conf/powerpc-ieee1275.rmk: Likewise.
5485 * conf/sparc64-ieee1275.rmk: Likewise.
5486 * conf/x86_64-efi.rmk: Likewise.
5487
9031b03a 54882009-10-26 Colin Watson <cjwatson@ubuntu.com>
5489
5490 * util/grub-editenv.c (main): If only a command is given, use
5491 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
5492 (usage): FILENAME is now optional and has a default.
5493
e4f6809b 54942009-10-26 Colin Watson <cjwatson@ubuntu.com>
5495
5496 Improve grub-mkconfig performance when there are several menu
5497 entries on a single filesystem.
5498
5499 * util/grub.d/10_linux.in (linux_entry): Cache the output of
5500 prepare_grub_to_access_device.
5501 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
5502 * util/grub.d/30_os-prober.in: Likewise.
5503
67937d4d 55042009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5505
5506 * util/grub.d/10_freebsd.in: Remove.
5507 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
5508 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
5509
ee3756cc 55102009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5511
5c35048e 5512 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 5513
4dea1c6f 55142009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5515
5516 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
5517 grub_util_error() call.
5518
042484d7 55192009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5520
5521 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
5522 `reserved_first_sector' member.
5523 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
5524 `reserved_first_sector' to 1.
5525 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
5526 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
5527 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
5528 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
5529 filesystems which begin at first sector.
5530 (options): New option --skip-fs-probe.
5531 (main): Handle --skip-fs-probe and pass it to setup().
5532
d64448a7 55332009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5534
5535 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
5536 (memset): Fix function prototype.
5537
508d42ec 55382009-10-25 Robert Millan <rmh.grub@aybabtu.com>
55392009-10-25 Vasily Averin <vvs@parallels.com>
5540
5541 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
5542 `dirent.direntlen == 0'.
5543
b240e30c 55442009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5545
5546 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
5547 `cpio'.
5548 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
5549
346e7fbe 55502009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5551
5552 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
5553 `__trampoline_setup' and `__ucmpdi2'.
5554 * include/grub/powerpc/libgcc.h: Only export symbols for functions
5555 that libgcc provides.
5556
cdb308b0 55572009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5558
5559 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
5560 * include/grub/sparc64/libgcc.h (memset): Likewise.
5561 * include/grub/misc.h (memset, memcmp): New function prototypes.
5562
fb26abc2 55632009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5564
5565 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
5566 `cpio'.
5567 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
5568
f6693890 55692009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5570
5571 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
5572 * docs/grub.cfg: Compensate for recent change in multiboot
5573 loader (since 2009-08-14 it won't pass filename to payload).
5574 * util/grub.d/10_hurd.in: Likewise.
5575
0933cdc0 55762009-10-21 Felix Zielcke <fzielcke@z-51.de>
5577
5578 * config.guess: Update to latest version from config git
5579 repository.
5580 * config.sub: Likewise.
5581
3b2fe8c2 55822009-10-20 Robert Millan <rmh.grub@aybabtu.com>
5583
5584 Fix build on sparc64.
5585
5586 * configure.ac: Perform checks for libgcc symbols before
5587 adding `-nostdlib' to LDFLAGS.
5588
46695a62 55892009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5590
5591 Let user specify OpenBSD root device.
5592
5593 * loader/i386/bsd.c (openbsd_root): New variable.
5594 (openbsd_opts): New option 'root'.
5595 (OPENBSD_ROOT_ARG): New macro.
5596 (grub_openbsd_boot): Use 'openbsd_root'.
5597 (grub_cmd_openbsd): Fill 'openbsd_root'.
5598
d2b6b7fc 55992009-10-16 Robert Millan <rmh.grub@aybabtu.com>
5600
5601 * NEWS: Misc adjustments.
5602
421bd7ac 56032009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5604
5605 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
5606
f1d29d87 56072009-10-16 Robert Millan <rmh.grub@aybabtu.com>
5608
5609 * configure.ac: Bump version to 1.97.
5610
6f3cd880 56112009-10-16 Colin Watson <cjwatson@ubuntu.com>
5612
5613 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
5614 -mno-3dnow on x86 architectures. Some toolchains enable these
5615 features by default, but they rely on registers that aren't enabled
5616 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
5617
035f7122 56182009-10-15 Robert Millan <rmh.grub@aybabtu.com>
5619
5620 Make entry text a bit more readable.
5621
5622 * util/grub.d/10_linux.in: Add `with' before `Linux'.
5623
44998e58 56242009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
5625
5626 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
5627
cd2851b3 56282009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
5629
5630 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
5631 operations.
5632
c6f3b249 56332009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
5634
5635 * configure.ac: Add missing dollar.
5636
6b5886ba 56372009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
5638
5639 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
5640
5641 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
5642 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
5643 exports.
5644 * include/grub/sparc64/libgcc.h: Likewise. Use
5645 preprocessor conditionals.
5646
e9d66f6d 56472009-10-14 Robert Millan <rmh.grub@aybabtu.com>
5648
5649 * conf/common.rmk (grub-dumpbios): Remove rule.
5650 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
5651 * util/grub-dumpbios.in: Remove file.
5652
9155bc17 56532009-10-14 Robert Millan <rmh.grub@aybabtu.com>
5654
5655 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
5656 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
5657
5658 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
5659 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
5660 users.
5661
5662 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
5663 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
5664 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
5665 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
5666 users.
5667
bf7f7a18 56682009-10-12 Robert Millan <rmh.grub@aybabtu.com>
5669
5670 * term/tparm.c: Switch to GPLv3.
5671
86564c26 56722009-10-09 Robert Millan <rmh.grub@aybabtu.com>
5673
5674 * include/grub/i386/cpuid.h: Add header protection.
5675
5c936493 56762009-10-09 Robert Millan <rmh.grub@aybabtu.com>
5677
5678 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
5679
5680 * include/grub/i386/cpuid.h: New file.
5681 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
5682 (has_longmode): Rename to ...
5683 (grub_cpuid_has_longmode): ... this. Update all users. Remove
5684 `static' attribute.
5685 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
5686 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
5687 on a CPU that doesn't implement AMD64 instruction set.
5688
186e7cf2 56892009-10-06 Colin Watson <cjwatson@ubuntu.com>
5690
5691 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
5692 that version.texi is rebuilt on version number changes.
5693
83b65c4a 56942009-10-06 Colin Watson <cjwatson@ubuntu.com>
5695
5696 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
5697 Fixes bug #27602.
5698
d244281c 56992009-10-06 Colin Watson <cjwatson@ubuntu.com>
5700
5701 * util/i386/pc/grub-install.in: Source
5702 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
5703 that the --grub-probe option will work.
5704 * util/sparc64/ieee1275/grub-install.in: Likewise.
5705
da25306d 57062009-10-05 Robert Millan <rmh.grub@aybabtu.com>
5707
5708 * configure.ac: Bump version to 1.97~beta4.
5709
e8ee83c0 57102009-10-03 Robert Millan <rmh.grub@aybabtu.com>
5711
5712 Resync grub-mkdevicemap in x86_64-efi.
5713
5714 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
5715 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
5716 `util/devicemap.c'.
5717
50dcabcf 57182009-10-01 Colin Watson <cjwatson@ubuntu.com>
5719
5720 * util/grub-editenv.c (create_envblk_file): Write new block with a
5721 .new suffix and then rename it into place, to ensure atomic
5722 creation.
5723
0e51c3a7 57242009-09-28 Robert Millan <rmh.grub@aybabtu.com>
5725
5726 Do not automatically install headers.
5727
5728 * Makefile.in (include_DATA): Remove. Update all users.
5729
31299a95 57302009-09-26 Robert Millan <rmh.grub@aybabtu.com>
5731
5732 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
5733 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
5734
5735 * util/osdetect.lua: Remove.
5736 * script/lua/lauxlib.c: Likewise.
5737 * script/lua/ldebug.c: Likewise.
5738 * script/lua/grub_main.c: Likewise.
5739 * script/lua/lauxlib.h: Likewise.
5740 * script/lua/ldebug.h: Likewise.
5741 * script/lua/ltablib.c: Likewise.
5742 * script/lua/liolib.c: Likewise.
5743 * script/lua/lstrlib.c: Likewise.
5744 * script/lua/lualib.h: Likewise.
5745 * script/lua/ldo.c: Likewise.
5746 * script/lua/ldump.c: Likewise.
5747 * script/lua/ldo.h: Likewise.
5748 * script/lua/loslib.c: Likewise.
5749 * script/lua/lundump.c: Likewise.
5750 * script/lua/grub_lib.c: Likewise.
5751 * script/lua/ldblib.c: Likewise.
5752 * script/lua/lundump.h: Likewise.
5753 * script/lua/lmem.c: Likewise.
5754 * script/lua/grub_lib.h: Likewise.
5755 * script/lua/lmathlib.c: Likewise.
5756 * script/lua/lstate.c: Likewise.
5757 * script/lua/ltm.c: Likewise.
5758 * script/lua/lvm.c: Likewise.
5759 * script/lua/lmem.h: Likewise.
5760 * script/lua/lstate.h: Likewise.
5761 * script/lua/ltm.h: Likewise.
5762 * script/lua/ltable.c: Likewise.
5763 * script/lua/lvm.h: Likewise.
5764 * script/lua/llex.c: Likewise.
5765 * script/lua/lgc.c: Likewise.
5766 * script/lua/grub_lua.h: Likewise.
5767 * script/lua/loadlib.c: Likewise.
5768 * script/lua/lfunc.c: Likewise.
5769 * script/lua/lopcodes.c: Likewise.
5770 * script/lua/lparser.c: Likewise.
5771 * script/lua/ltable.h: Likewise.
5772 * script/lua/llex.h: Likewise.
5773 * script/lua/lgc.h: Likewise.
5774 * script/lua/lfunc.h: Likewise.
5775 * script/lua/lbaselib.c: Likewise.
5776 * script/lua/lopcodes.h: Likewise.
5777 * script/lua/lparser.h: Likewise.
5778 * script/lua/lzio.c: Likewise.
5779 * script/lua/linit.c: Likewise.
5780 * script/lua/lobject.c: Likewise.
5781 * script/lua/llimits.h: Likewise.
5782 * script/lua/lstring.c: Likewise.
5783 * script/lua/lzio.h: Likewise.
5784 * script/lua/lapi.c: Likewise.
5785 * script/lua/lcode.c: Likewise.
5786 * script/lua/lua.h: Likewise.
5787 * script/lua/lobject.h: Likewise.
5788 * script/lua/lstring.h: Likewise.
5789 * script/lua/lapi.h: Likewise.
5790 * script/lua/lcode.h: Likewise.
5791 * script/lua/luaconf.h: Likewise.
5792
cb8a2c38 57932009-09-26 Colin Watson <cjwatson@ubuntu.com>
5794
5795 * docs/grub.texi (Command-line and menu entry commands): Document
5796 date and echo commands.
5797
6b9b6276 57982009-09-24 Pavel Roskin <proski@gnu.org>
5799
5800 * include/grub/kernel.h (struct grub_module_header): Remove
5801 `grub_module_header_types'. Make `type' unsigned. Make `size'
5802 32-bit on all platforms.
5803 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
5804 8-bit field. Use grub_host_to_target32() for `size'.
5805 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
5806 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
5807 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
5808
4e5a02a7 58092009-09-24 Robert Millan <rmh.grub@aybabtu.com>
5810
5811 Fix "lost keypress" bug in at_keyboard.
5812
5813 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
5814 Checks for readyness of input buffer (without flushing it).
5815 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
5816 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
5817
c6dcedf6 58182009-09-24 Robert Millan <rmh.grub@aybabtu.com>
5819
5820 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
5821 size check within GRUB_MACHINE_PCBIOS section.
5822
74c958b1 58232009-09-24 Robert Millan <rmh.grub@aybabtu.com>
5824
5825 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
5826 return value.
5827 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
5828 KEYBOARD_ISREADY check.
5829 (grub_at_keyboard_checkkey): Rename to ...
5830 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
5831 Remove gratuitous cast.
5832
ff420223 58332009-09-23 Colin Watson <cjwatson@ubuntu.com>
5834
5835 * configure.ac: Call AC_PROG_MKDIR_P.
5836 * Makefile.in (docs/stamp-vti): Create docs directory. Create
5837 version.texi in $(builddir) rather than $(srcdir).
5838 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
5839 to makeinfo's @include search path.
5840
d96875df 58412009-09-23 Felix Zielcke <fzielcke@z-51.de>
5842
5843 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
5844
9b3f8365 58452009-09-23 Felix Zielcke <fzielcke@z-51.de>
5846
5847 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
5848 for `*.dpkg-new'.
5849
c44c90db 58502009-09-21 Colin Watson <cjwatson@ubuntu.com>
5851
5852 Build info documentation. Some code borrowed from Automake.
5853
5854 * configure.ac: Check for makeinfo.
5855 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
5856 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
5857 docs/version.texi.
5858 (MOSTLYCLEANFILES): Add vti.tmp.
5859 (docs/version.texi, docs/stamp-vti): Update automatically.
5860 (docs/grub.info): Build info documentation. Use --force and ignore
5861 errors for now.
5862 (all-local): Add $(INFOS).
5863 (install-local): Install info files.
5864 (uninstall): Uninstall info files.
5865 * docs/version.texi: Remove from revision control. This file is
5866 automatically generated on build now.
5867 * gendistlist.sh: Add `*.info'.
5868
e0b37bb5 58692009-09-21 Felix Zielcke <fzielcke@z-51.de>
5870
5871 * kern/term.c: Fix indentation.
5872
5a78865b 58732009-09-21 Felix Zielcke <fzielcke@z-51.de>
5874
5875 * util/hostdisk.c: Fix a comment.
5876
dace7e8a 58772009-09-20 Robert Millan <rmh.grub@aybabtu.com>
5878
5879 Fix regression introduced in r2539.
5880
5881 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
5882 to 0xA1.
5883
a83d079b 58842009-09-19 Colin Watson <cjwatson@ubuntu.com>
5885
5886 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 5887 os-prober. Under normal operation, it does not print anything to
5888 stderr; if it does, we need to debug it, and throwing away stderr
5889 makes that excessively difficult.
a83d079b 5890
be94a509 58912009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
5892
5893 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
5894
63f745e8 58952009-09-16 Robert Millan <rmh.grub@aybabtu.com>
5896
5897 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
5898 AC_LANG_PROGRAM from autoconf.
5899 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
5900 prototypes (fixes warning).
5901
5902 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
5903 `--disable-werror' was used.
5904
bbb2a70f 59052009-09-16 Robert Millan <rmh.grub@aybabtu.com>
5906
5907 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
5908 uninitialized `lastaddr'.
5909
77c24f1d 59102009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
5911
0f0b8c87 5912 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 5913
07197f23 59142009-09-14 Colin Watson <cjwatson@ubuntu.com>
5915
5916 * commands/test.c (get_fileinfo): Return immediately if
5917 grub_fs_probe fails.
5918
dabf1798 59192009-09-14 José Martínez <xosemp@gmail.com>
5920
5921 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
5922
d52109a7 59232009-09-14 Colin Watson <cjwatson@ubuntu.com>
5924
5925 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
5926 output.
5927
56532179 59282009-09-13 Robert Millan <rmh.grub@aybabtu.com>
5929
5930 * configure.ac: Remove --enable-grub-pe2elf. Only build
5931 grub-pe2elf when needed by the build system itself.
5932 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
5933
8ef070f5 59342009-09-12 Robert Millan <rmh.grub@aybabtu.com>
5935
5936 * configure.ac: Bump version to 1.97~beta3.
5937 * docs/version.texi: Likewise.
5938
61229557 59392009-09-12 Robert Millan <rmh.grub@aybabtu.com>
5940
5941 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
5942 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
5943 from here ...
5944 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
5945 (grub_linux_setup_video): ... to here (with some adjustments).
5946
5c9f8d84 59472009-09-12 Robert Millan <rmh.grub@aybabtu.com>
5948
5949 Fix memory corruption issue (spotted by Colin Watson).
5950
5951 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
5952 causing returned size to be stored in an incorrect memory location.
5953 Fix use of uninitialized value when storing the returned size.
5954
e8f5d6e9 59552009-09-12 Yves Blusseau <blusseau@zetam.org>
5956
5957 Change clean rules to properly remove files
5958
5959 * genmk.rb: add new clean rules
5960 * Makefile.in (clean): add the new targets
5961 (mostlyclean): likewise
5962
cda2a409 59632009-09-11 Colin Watson <cjwatson@ubuntu.com>
5964
5965 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
5966 to grub_uint64_t.
5967 * fs/ntfs.c (init_file): Understand 64-bit sizes for
5968 non-resident files.
5969
86695375 59702009-09-11 Colin Watson <cjwatson@ubuntu.com>
5971
5972 * configure.ac: Don't look for help2man when cross-compiling. Fixes
5973 part of bug #27349.
5974
8aa1541a 59752009-09-10 Felix Zielcke <fzielcke@z-51.de>
5976
5977 * util/grub-mkconfig.in: Make the created config mode 400 and
5978 print a warning if it fails.
5979
48d9bb0a 59802009-09-10 Robert Millan <rmh.grub@aybabtu.com>
5981
5982 * util/grub.d/40_custom.in: Ask user to type custom entries below
5983 comment, rather than below 'exec tail' line.
5984
3b0521be 59852009-09-10 Colin Watson <cjwatson@ubuntu.com>
5986
5987 * util/grub.d/40_custom.in: Make sure that the explanatory text is
5988 visible in grub.cfg.
5989
50051d55 59902009-09-10 Colin Watson <cjwatson@ubuntu.com>
5991
5992 * util/grub.d/40_custom.in: Make it a little clearer how to use this
5993 file.
5994
c0d34387 59952009-09-10 Felix Zielcke <fzielcke@z-51.de>
5996
5997 * docs/grub.cfg: Add an example menu entry for memtest86+.
5998
80a608f3 59992009-09-09 Felix Zielcke <fzielcke@z-51.de>
6000
a2094832 6001 * config.guess: Update to latest version from config git.
80a608f3 6002 * config.sub: Likewise.
6003
99423078 60042009-09-08 Colin Watson <cjwatson@ubuntu.com>
6005
6006 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
6007 unknown-command case. Fixes bug #27320.
6008
44454e4c 60092009-09-08 Felix Zielcke <fzielcke@z-51.de>
6010
6011 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
6012 `help' if the command exists.
6013
e30d87ad 60142009-09-06 Robert Millan <rmh.grub@aybabtu.com>
6015
6016 * INSTALL: Require GCC 4.1.3 or later.
6017
9a86f1ec 60182009-09-06 Yves Blusseau <blusseau@zetam.org>
6019
6020 * Makefile.in (RMKFILES): add i386-qemu.rmk
6021 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
6022 $(srcdir)/stamp-h.in
6023
7f26d466 60242009-09-05 Robert Millan <rmh.grub@aybabtu.com>
6025
6026 * util/grub-probe.c (probe): Comment out buggy codepath, which
6027 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
6028 should be re-enabled after 1.97.
6029
3a613259 60302009-09-05 Felix Zielcke <fzielcke@z-51.de>
6031
6032 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
6033 find searches for.
6034
197f76c7 60352009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
6036
6037 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
6038 unnecessary calls to grub_error.
6039
70ba68ce 60402009-09-04 Colin Watson <cjwatson@ubuntu.com>
6041
6042 * NEWS: Mention `keystatus' and Unicode fonts.
6043
4ff0d7a4 60442009-09-04 Robert Millan <rmh.grub@aybabtu.com>
6045
6046 * configure.ac: Bump version to 1.97~beta2.
6047 * docs/version.texi: Likewise.
6048
77c55a87 60492009-09-03 Colin Watson <cjwatson@ubuntu.com>
6050
6051 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
6052 containing unwind information in some cases where it previously did
6053 not. Use -fno-dwarf2-cfi-asm if available to restore the old
6054 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
6055 discussion.
6056
f79572cd 60572009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
6058
6059 Embedding loadenv module into grub-emu
6060
6061 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
6062 commands/loadenv.c
6063 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
6064 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
6065 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
6066 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
6067 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
6068 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
6069
93a81088 60702009-09-03 Magnus Granberg <zorry@ume.nu>
6071
6072 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
6073 include -fPIE in the default specs.
6074 * configure.ac: Check if pie_possible is yes and add -fno-PIE
6075 to TARGET_CFLAGS.
6076
160034b2 60772009-09-03 Felix Zielcke <fzielcke@z-51.de>
6078
6079 * INSTALL: Note that GNU Bison 2.3 or later is required.
6080
087c07c4 60812009-09-03 Colin Watson <cjwatson@ubuntu.com>
6082
6083 * kern/i386/pc/startup.S: Fix typo.
6084
cbf978c0 60852009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
6086
6087 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
6088 according to GCS.
6089
60902009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 6091
6092 * docs/grub.texi (Naming convention): Describe one-based partition
6093 numbering.
6094 (Device syntax): Likewise.
6095 (File name syntax): Likewise.
6096 (Block list syntax): Likewise.
6097 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
6098 menu.lst.
6099 (File name syntax): Likewise.
6100 (Command-line and menu entry commands): Document acpi, blocklist,
6101 crc, export, insmod, keystatus, ls, set, and unset commands.
6102
f3e8cdfd 61032009-09-02 Colin Watson <cjwatson@ubuntu.com>
6104
6105 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
6106 to avoid implying that only one of --shift, --ctrl, or --alt may be
6107 used.
6108
c0bc232b 61092009-09-02 Colin Watson <cjwatson@ubuntu.com>
6110
6111 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
6112 rather than comparing against S_IFREG, which will almost never work.
6113
aa0f752d 61142009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
6115
6116 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
6117 (write_blocklists): Likewise.
6118
ecb3166a 61192009-09-01 Colin Watson <cjwatson@ubuntu.com>
6120
6121 * script/lua/grub_lua.h (fputs): Supply a format string as the first
6122 argument to grub_printf.
6123
c403a125 61242009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 6125
6126 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 6127 non GNU test.
31aba781 6128
b5e7312c 61292009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
6130
6131 * kern/file.c (grub_file_read): Spelling fix
6132
fe00f472 61332009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
6134
6135 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
6136 loading of headers in some cases.
6137
cc55302e 61382009-08-30 Robert Millan <rmh.grub@aybabtu.com>
6139
6140 * configure.ac: Bump version to 1.97~beta1.
6141 * docs/version.texi: Likewise.
6142
5c90cdd2 61432009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 6144
6145 * include/grub/i386/xnu.h: Add license header.
6146 include grub/err.h explicitly.
6147
c90edae4 61482009-08-29 Robert Millan <rmh.grub@aybabtu.com>
6149
6150 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
6151 to `ufs' in the vfs.root.mountfrom kernel parameter.
6152
d8888b5c 61532009-08-29 Robert Millan <rmh.grub@aybabtu.com>
6154
6155 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
6156
6157 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
6158 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
6159
6160 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
6161 `ARRAY_SIZE' macro.
6162
6f07b921 61632009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
6164
6165 * kern/file.c (grub_file_read): Check offset.
6166 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
6167 * fs/jfs.c (grub_jfs_read_file): Likewise.
6168 * fs/ntfs.c (grub_ntfs_read): Likewise.
6169 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
6170 * fs/minix.c (grub_minix_read_file): Correct offset check.
6171 * fs/ufs.c (grub_ufs_read_file): Likewise.
6172
b4f34077 61732009-08-28 Colin Watson <cjwatson@ubuntu.com>
6174
6175 * term/i386/pc/console.c (bios_data_area): Cast
6176 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
6177
e7c69859 61782009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
6179
6180 1-bit optimised blitters.
6181
6182 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
6183 prototype.
6184 (grub_video_fbblit_replace_24bit_1bit): Likewise.
6185 (grub_video_fbblit_replace_16bit_1bit): Likewise.
6186 (grub_video_fbblit_replace_8bit_1bit): Likewise.
6187 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
6188 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
6189 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
6190 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
6191 function.
6192 (grub_video_fbblit_replace_24bit_1bit): Likewise.
6193 (grub_video_fbblit_replace_16bit_1bit): Likewise.
6194 (grub_video_fbblit_replace_8bit_1bit): Likewise.
6195 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
6196 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
6197 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
6198 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
6199 when possible.
6200 * video/video.c (grub_video_get_blit_format): Return
6201 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
6202
a57da43f 62032009-08-28 Colin Watson <cjwatson@ubuntu.com>
6204
6205 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
6206 the first argument to grub_printf.
6207
4cbe67e5 62082009-08-28 Colin Watson <cjwatson@ubuntu.com>
62092009-08-28 Robert Millan <rmh.grub@aybabtu.com>
6210
6211 Add `getkeystatus' terminal method. Add a new `keystatus' command
6212 to query it.
6213
6214 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
6215 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
6216 modifier key bitmasks.
6217 (struct grub_term_input): Add `getkeystatus' member.
6218 (grub_getkeystatus): Add prototype.
6219 * kern/term.c (grub_getkeystatus): New function.
6220
6221 * include/grub/i386/pc/memory.h
6222 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
6223 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
6224 Data Area layout.
6225 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
6226 (grub_console_term_input): Set `getkeystatus' member.
6227 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
6228 constants.
6229 (grub_usb_keyboard_getreport): Likewise.
6230 (grub_usb_keyboard_checkkey): Likewise.
6231 (grub_usb_keyboard_getkeystatus): New function.
6232 (grub_usb_keyboard_term): Set `getkeystatus' member.
6233
6234 * commands/keystatus.c: New file.
6235 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
6236 (keystatus_mod_SOURCES): New variable.
6237 (keystatus_mod_CFLAGS): Likewise.
6238 (keystatus_mod_LDFLAGS): Likewise.
6239 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
6240 commands/keystatus.c.
6241 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
6242 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6243 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
6244 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6245 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6246 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 6247
6e2a9085 62482009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
6249
6250 Split befs.mod and afs.mod into *_be.mod and *.mod
6251
6252 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
6253 (grub_fstest_SOURCES): Likewise.
6254 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
6255 (afs_be_mod_SOURCES): New variable.
6256 (afs_be_mod_CFLAGS): Likewise.
6257 (afs_be_mod_LDFLAGS): Likewise.
6258 (befs_be_mod_SOURCES): Likewise.
6259 (befs_be_mod_CFLAGS): Likewise.
6260 (befs_be_mod_LDFLAGS): Likewise.
6261 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
6262 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
6263 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6264 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
6265 (grub_emu_SOURCES): Likewise.
6266 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6267 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6268 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
6269 * fs/afs_be.c: New file.
6270 * fs/befs_be.c: New file.
6271 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
6272 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
6273 (U16): Replaced with ...
6274 (grub_afs_to_cpu16): ...this. All users updated.
6275 (U32): Replaced with ...
6276 (grub_afs_to_cpu32): ...this. All users updated.
6277 (U64): Replaced with ...
6278 (grub_afs_to_cpu64): ...this. All users updated.
6279 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
6280 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 6281 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 6282 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
6283 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
6284 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
6285 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
6286 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
6287 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
6288 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
6289 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
6290
32a71655 62912009-08-26 Bean <bean123ch@gmail.com>
6292
6293 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
6294 64-bit number.
6295 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
6296 (grub_xfs_inode_block): Change return type to grub_uint64_t.
6297 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
6298
552bf6c5 62992009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
6300
6301 NetBSD memory map support.
6302
6303 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
6304 (grub_netbsd_btinfo_mmap_header): New structure.
6305 (grub_netbsd_btinfo_mmap_entry): Likewise.
6306 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
6307
1ae2078c 63082009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
6309
6310 Enable bsd.mod on coreboot.
6311
6312 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
6313 (bsd_mod_SOURCES): New variable.
6314 (bsd_mod_CFLAGS): Likewise.
6315 (bsd_mod_LDFLAGS): Likewise.
6316 (bsd_mod_ASFLAGS): Likewise.
6317 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
6318 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
6319
beefc598 63202009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
6321
6322 Cleanup NetBSD root support.
6323
6324 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
6325 grub_bsd_get_device.
6326 Fix typo.
6327
3b76e68b 63282009-08-25 Felix Zielcke <fzielcke@z-51.de>
6329
6330 * util/grub.d/00_header.in: Move check for the video backend of
6331 gfxterm from here ...
6332 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
6333 a suitable video backend.
6334
aea664ea 63352009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
6336
6337 Fix breakage in grub-setup.
6338
6339 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
6340 "msdos_partition_map".
6341
ff747d50 63422009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
6343
6344 Fix breakage in normal/auth.c.
6345
6346 * normal/auth.c (grub_iswordseparator): New function.
6347
e7e1f93f 63482009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
6349
6350 Authentication support.
6351
6352 * commands/password.c: New file.
6353 * conf/common.rmk (pkglib_MODULES): Add password.mod.
6354 (password_mod_SOURCES): New variable.
6355 (password_mod_CFLAGS): Likewise.
6356 (password_mod_LDFLAGS): Likewise.
6357 (normal_mod_SOURCES): Add normal/auth.c.
6358 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
6359 normal/auth.c.
6360 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
6361 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6362 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
6363 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6364 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6365 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
6366 * include/grub/auth.h: New file.
6367 * include/grub/err.h (grub_err_t): New enum value
6368 GRUB_ERR_ACCESS_DENIED.
6369 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
6370 'users'.
6371 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
6372 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
6373 users updated.
6374 * normal/auth.c: New file.
6375 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
6376 (grub_cmdline_run): Don't allow to go to command line without
6377 authentication.
6378 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
6379 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
6380 menuentry without superuser rights.
6381 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
6382 user isn't a superuser.
6383
70f1161d 63842009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
6385
6386 Save space by inlining misc.c functions.
6387
6388 * kern/misc.c (grub_iswordseparator): Made static.
6389 * kern/misc.c (grub_strcat): Moved from here ...
6390 * include/grub/misc.h (grub_strcat): ... here. Inlined.
6391 * kern/misc.c (grub_strncat): Moved from here ...
6392 * include/grub/misc.h (grub_strncat): ... here. Inlined.
6393 * kern/misc.c (grub_strcasecmp): Moved from here ...
6394 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
6395 * kern/misc.c (grub_strncasecmp): Moved from here ...
6396 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
6397 * kern/misc.c (grub_isalpha): Moved from here ...
6398 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
6399 * kern/misc.c (grub_isdigit): Moved from here ...
6400 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
6401 * kern/misc.c (grub_isgraph): Moved from here ...
6402 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
6403 * kern/misc.c (grub_tolower): Moved from here ...
6404 * include/grub/misc.h (grub_tolower): ... here. Inlined.
6405
48e40bff 64062009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
6407
6408 * script/sh/function.c (grub_script_function_find): Cut error message
6409 not to flood terminal.
6410 * script/sh/lexer.c (grub_script_yylex): Remove command line length
6411 limit.
6412 * script/sh/script.c (grub_script_arg_add): Duplicate string.
6413
c385bfc3 64142009-08-24 Colin Watson <cjwatson@ubuntu.com>
6415
6416 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
6417 `report' grub_uint8_t *.
6418 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
6419 Use a 50-millisecond timeout rather than just repeating
6420 grub_usb_keyboard_getreport 50 times.
6421 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
6422
2d21e3e8 64232009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
6424
6425 Rename *_partition_map to part_*
6426
6427 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
6428 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
6429 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
6430 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
6431 All users updated.
6432 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
6433 All users updated.
6434 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
6435 * util/grub-probe.c (probe_partmap): Don't transform partition name
6436 to get module name.
6437
dd103c4e 64382009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
6439
6440 Fix OpenBSD and NetBSD support.
6441
6442 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
6443 memory address conflict.
6444 (OPENBSD_MMAP_ACPI): New definition.
6445 (OPENBSD_MMAP_NVS): Likewise.
6446 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
6447 and OPENBSD_MMAP_NVS.
6448 Add memory map terminator
6449 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 6450 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 6451
16c84d74 64522009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
6453
6454 Let user specify NetBSD root device.
6455
6456 * loader/i386/bsd.c (netbsd_root): New variable.
6457 (netbsd_opts): New option 'root'.
6458 (NETBSD_ROOT_ARG): New macro.
6459 (grub_netbsd_boot): Use 'netbsd_root'.
6460 (grub_bsd_unload): Free 'netbsd_root'.
6461 (grub_cmd_netbsd): Fill 'netbsd_root'.
6462
adb29902 64632009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
6464
6465 Support for 64-bit NetBSD.
6466
6467 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
6468 point when booting non-FreeBSD.
6469
f5ae9f74 64702009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
6471
6472 Support --no-smp and --no-acpi for NetBSD.
6473
6474 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
6475 (NETBSD_AB_NOACPI): Likewise.
6476 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
6477 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
6478
de74f136 64792009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6480
6481 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
6482 errors.
6483 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
6484 errors. Call grub_error when needed.
6485
e9a925da 64862009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6487
6488 * commands/search.c (search_fs): Try searching without autoload first.
6489 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
6490 filesystem module explicitly for faster booting.
6491
5174302b 64922009-08-23 Colin Watson <cjwatson@ubuntu.com>
6493
6494 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
6495
c8c80635 64962009-08-23 Colin Watson <cjwatson@ubuntu.com>
6497
6498 * util/grub.d/30_os-prober.in: Disable os-prober if
6499 `GRUB_DISABLE_OS_PROBER' was set to true.
6500
71acf5e5 65012009-08-23 Robert Millan <rmh.grub@aybabtu.com>
6502
6503 * partmap/pc.c: Rename to ...
6504 * partmap/msdos.c: ... this. Update all users.
6505 (grub_pc_partition_map): Rename to ...
6506 (grub_msdos_partition_map): ... this. Update all users.
6507
6508 * parttool/pcpart.c: Rename to ...
6509 * parttool/msdospart.c: ... this. Update all users.
6510
6511 * include/grub/pc_partition.h: Rename to ...
6512 * include/grub/msdos_partition.h: ... this. Update all users.
6513 (grub_pc_partition_bsd_entry): Rename to ...
6514 (grub_msdos_partition_bsd_entry): ... this. Update all users.
6515 (grub_pc_partition_disk_label): Rename to ...
6516 (grub_msdos_partition_disk_label): ... this. Update all users.
6517 (grub_pc_partition_entry): Rename to ...
6518 (grub_msdos_partition_entry): ... this. Update all users.
6519 (grub_pc_partition_mbr): Rename to ...
6520 (grub_msdos_partition_mbr): ... this. Update all users.
6521 (grub_pc_partition): Rename to ...
6522 (grub_msdos_partition): ... this. Update all users.
6523 (grub_pc_partition_is_empty): Rename to ...
6524 (grub_msdos_partition_is_empty): ... this. Update all users.
6525 (grub_pc_partition_is_extended): Rename to ...
6526 (grub_msdos_partition_is_extended): ... this. Update all users.
6527 (grub_pc_partition_is_bsd): Rename to ...
6528 (grub_msdos_partition_is_bsd): ... this. Update all users.
6529
6530 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
6531 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
6532 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
6533 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
6534 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
6535 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
6536 (gpt_mod_LDFLAGS): Rename to ...
6537 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
6538 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
6539 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
6540 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
6541 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
6542 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
6543 (part_gpt_mod_LDFLAGS): ... this.
6544 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
6545 `pcpart.mod' to `msdospart.mod'.
6546 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
6547 to ...
6548 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
6549 (msdospart_mod_LDFLAGS): ... this.
6550
c11fded5 65512009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6552
6553 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
6554 (openbsd_opts): Likewise.
6555 (netbsd_opts): Likewise.
6556 (freebsd_flags): Added 0 terminator.
6557 (openbsd_flags): Likewise.
6558 (netbsd_flags): Likewise.
6559 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
6560 (grub_cmd_freebsd): Transformed into extended command.
6561 (grub_cmd_openbsd): Likewise.
6562 (grub_cmd_netbsd): Likewise.
6563 (cmd_freebsd): Changed type to grub_extcmd_t.
6564 (cmd_openbsd): Likewise.
6565 (cmd_netbsd): Likewise.
6566 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
6567 grub_cmd_openbsd as extended commands.
6568 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
6569 cmd_netbsd and cmd_openbsd
6570
11d1c769 65712009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
6572
6573 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
6574
7a9094e5 65752009-08-21 Pavel Roskin <proski@gnu.org>
6576
5496c37e 6577 * Makefile.in (install-local): When checking if a file is in the
6578 build directory, use "test -e" to detect symlinks.
6579
7a9094e5 6580 * Makefile.in (install-local): Remove all files in
6581 $(DESTDIR)$(pkglibdir) before installing new files there.
6582
e53cea11 65832009-08-18 Felix Zielcke <fzielcke@z-51.de>
6584
6585 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
6586 grub-mkelfimage.
6587
9aced544 65882009-08-18 Felix Zielcke <fzielcke@z-51.de>
6589
6590 * util/grub-mkconfig.in: Don't use gfxterm by default if not
6591 explicitly specified by the user.
6592
b7da6bab 65932009-08-18 Pavel Roskin <proski@gnu.org>
6594
6595 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
6596 grub_uint8_t pointer for data.
6597 * include/grub/fbutil.h (struct grub_video_fbblit_info):
6598 Likewise.
6599 * video/fb/fbutil.c: Remove unnecessary casts.
6600
19f1b335 66012009-08-17 Michal Suchanek <hramrach@centrum.cz>
6602
6603 VBE cleanup.
6604
6605 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
6606 (grub_vbe_set_video_mode): Save active mode info
6607 only after setting the mode.
6608 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
6609 second argument.
6610
2f467aa9 66112009-08-17 Michal Suchanek <hramrach@centrum.cz>
6612
6613 Rename variables for clarity.
6614
6615 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
6616 (active_vbe_mode_info): ... this. All users updated.
6617 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
6618 All users updated.
6619 (initial_mode): Rename to ...
6620 (initial_vbe_mode): ... this. All users updated.
6621 (mode_in_use): Rename to ..
6622 (vbe_mode_in_use): ... this. All users updated.
6623 (mode_list): Rename to ..
6624 (vbe_mode_list): ... this. All users updated.
6625 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
6626 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
6627 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
6628 'mode_list_size' to 'vbe_mode_list_size'.
6629 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
6630 'best_mode_info' to 'best_vbe_mode_info' and
6631 'best_mode' to 'best_vbe_mode'
6632
6025fcd7 66332009-08-17 Michal Suchanek <hramrach@centrum.cz>
6634
6635 Remove duplicate grub_video_fb_get_video_ptr.
6636
6637 * include/grub/fbutil.h (get_data_ptr): Rename to ...
6638 (grub_video_fb_get_video_ptr): ... this.
6639 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
6640 * video/fb/fbutil.c: Add comment about addressing.
6641 (get_data_ptr): Rename to ...
6642 (grub_video_fb_get_video_ptr): ... this. All users updated.
6643 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
6644
cc8c6faf 66452009-08-17 Robert Millan <rmh.grub@aybabtu.com>
6646
6647 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
6648 grub_dprintf() that was just added.
6649
08aa61f0 66502009-08-17 Robert Millan <rmh.grub@aybabtu.com>
6651
6652 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
6653 (DEFAULT_VIDEO_MODE): Remove macros.
6654 (grub_linux_boot): Remove assumption that Linux has FB support,
6655 and use "text" as default video mode.
6656
7cef4f75 66572009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
6658
6659 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
6660 grub_dprintf.
6661 * fs/fat.c (grub_fat_read_data): Likewise.
6662
e1f39873 66632009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
6664
6665 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
6666 payload.
6667 (grub_module): Likewise.
6668
c166d79e 66692009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
6670
6671 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
6672 mbi->cmdline but free playground.
6673
c60cee8e 66742009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
6675
6676 Handle group offset on UFS1.
6677
6678 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
6679 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
6680
c0d8b5d4 66812009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
6682
6683 Split ufs.mod into ufs1.mod and ufs2.mod.
6684
6685 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
6686 (grub_fstest_SOURCES): Likewise.
6687 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
6688 (ufs_mod_SOURCES): Remove.
6689 (ufs_mod_CFLAGS): Likewise.
6690 (ufs_mod_LDFLAGS): Likewise.
6691 (ufs1_mod_SOURCES): New variable.
6692 (ufs1_mod_CFLAGS): Likewise.
6693 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 6694 (ufs2_mod_SOURCES): New variable.
6695 (ufs2_mod_CFLAGS): Likewise.
6696 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 6697 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
6698 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
6699 Likewise.
6700 (grub_emu_SOURCES): Likewise.
6701 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6702 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
6703 (grub_setup_SOURCES): Likewise.
6704 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6705 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
6706 (grub_setup_SOURCES): Likewise.
6707 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
6708 Likewise.
6709 * fs/ufs2.c: New file.
6710 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
6711
d3539132 67122009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
6713
6714 Framebuffer split.
6715
6716 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
6717 subsystem at the end.
6718 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
6719 (video_fb_mod_SOURCES): New variable.
6720 (video_fb_mod_CFLAGS): Likewise.
6721 (video_fb_mod_LDFLAGS): Likewise.
6722 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
6723 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
6724 * video/i386/pc/vbeblit.c: Moved from here ...
6725 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
6726 * video/i386/pc/vbefill.c: Moved from here ...
6727 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
6728 * video/i386/pc/vbeutil.c: Moved from here ...
6729 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
6730 * include/grub/i386/pc/vbeblit.h: Moved from here ...
6731 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
6732 * include/grub/i386/pc/vbefill.h: Moved from here ...
6733 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
6734 * include/grub/i386/pc/vbeutil.h: Moved from here ...
6735 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
6736 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
6737 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
6738 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
6739 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
6740 (grub_video_adapter): Added 'get_info_and_fini'.
6741 (grub_video_get_info_and_fini): New prototype.
6742 (grub_video_set_mode): make modestring const char *.
6743 * loader/i386/linux.c (grub_linux_setup_video): Use
6744 grub_video_get_info_and_fini.
6745 (grub_linux_boot): Move modesetting just before booting.
6746 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
6747 grub_video_get_info_and_fini.
6748 * video/i386/pc/vbe.c: Moved framebuffer part ...
6749 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
6750 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
6751 grub_video_fbstd_colors and grub_video_fb_set_palette.
6752 (grub_video_vbe_init): Clear 'framebuffer' variable and use
6753 grub_video_fb_init.
6754 (grub_video_vbe_fini): Use grub_video_fb_fini.
6755 (grub_video_vbe_setup): Use framebuffer.render_target instead of
6756 render_target and use grub_video_fb_set_active_render_target and
6757 grub_video_fb_set_palette.
6758 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
6759 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
6760 (grub_video_vbe_adapter): Use framebuffer.
6761 * video/video.c (grub_video_get_info_and_fini): New function.
6762 (grub_video_set_mode): Make modestring const char *.
6763 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
6764 values are already initialised.
6765
d404ee56 67662009-08-14 Pavel Roskin <proski@gnu.org>
6767
6768 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
6769 ABS and APPLE_CC.
6770 * boot/i386/pc/diskboot.S: Likewise.
6771 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
6772 sectors allow compilation on MacOSX.
6773 * conf/i386-pc.rmk: Enable unconditional compilation of
6774 lnxboot.img.
6775
9a10df16 67762009-08-13 Colin Watson <cjwatson@ubuntu.com>
6777
6778 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
6779 * util/grub.d/00_header.in: Enter interruptible sleep if
6780 GRUB_HIDDEN_TIMEOUT is set.
6781
be3c9ca7 67822009-08-13 Yves Blusseau <blusseau@zetam.org>
6783
6784 * include/grub/symbol.h: Add the LOCAL macro.
6785 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
6786 starting with "L_".
6787
1f9e557e 67882009-08-13 Pavel Roskin <proski@gnu.org>
6789
9ca62843 6790 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
6791 any modern compilers we support.
6792
1f9e557e 6793 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
6794 Use local labels starting with "L_" so that Apple assembler
6795 knows they are local.
6796
81623db6 67972009-08-10 Robert Millan <rmh.grub@aybabtu.com>
6798
6799 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
6800 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
6801 (bsd_kernel_types): ... this enum.
6802
6803 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
6804 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
6805 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
6806
6807 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
6808 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
6809 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
6810 messages.
6811
f5d35e7a 68122009-08-08 Robert Millan <rmh.grub@aybabtu.com>
6813
6814 * util/grub-dumpdevtree: Moved from here ...
6815 * util/i386/efi/grub-dumpdevtree: ... to here.
6816 (hexify): New function. Converts a string to its hex version.
6817 Generate hex versions of "efi" and "device-properties" by calling
6818 hexify() on the ASCII strings rather than by hardcoding numbers.
6819
d1e1d527 68202009-08-08 Robert Millan <rmh.grub@aybabtu.com>
6821
6822 * fs/jfs.c: Update copyright year.
6823
1ebbe064 68242009-08-08 Felix Zielcke <fzielcke@z-51.de>
6825
6826 * util/grub.d/00_header.in: Fix a comment.
6827 * util/grub.d/10_linux.in: Likewise.
6828 * util/grub.d/10_windows.in: Likewise.
6829 * util/grub.d/10_hurd.in: Likewise.
6830
a78c8d24 68312009-08-08 Felix Zielcke <fzielcke@z-51.de>
6832
6833 * util/grub-mkconfig.in: Allow the user to specify the used font
6834 with GRUB_FONT.
6835
29a6b9e8 68362009-08-08 Pavel Roskin <proski@gnu.org>
6837
b5f16cc4 6838 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
6839 available, xfs.mod needs it now.
6840
2f5cb827 6841 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
6842 the "g" modifier in sed when the intention is to strip something
6843 once. This fixes comparison of kernels with multiple dashes.
6844
29a6b9e8 6845 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
6846 on it. Add missing space before closing bracket. Fix
6847 misleading formatting.
6848
892a3d98 68492009-08-07 Robert Millan <rmh.grub@aybabtu.com>
6850
6851 * docs/grub.texi: Major overhaul. Remove all sections that are
6852 specific to GRUB Legacy, or mostly composed of Legacy-specific
6853 information.
6854
ed94253f 68552009-08-07 Robert Millan <rmh.grub@aybabtu.com>
6856
6857 * docs/version.texi: New file. Provides version information for
6858 grub.texi.
6859
126d6628 68602009-08-07 Robert Millan <rmh.grub@aybabtu.com>
6861
6862 * docs/grub.texi: Update CVS information to SVN.
6863 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
6864
998b5aa9 68652009-08-07 Felix Zielcke <fzielcke@z-51.de>
6866
6867 * util/grub-mkconfig.in: Remove a wrong `fi'.
6868
818e094a 68692009-08-07 Felix Zielcke <fzielcke@z-51.de>
6870
6871 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
6872 (grub_jfs_uuid): New function.
6873 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
6874
b969c52f 68752009-08-07 Felix Zielcke <fzielcke@z-51.de>
6876
6877 * util/grub-mkconfig_lib.in (font_path): Move the functionality
6878 of it to ...
6879 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
6880 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
6881
7a4894cc 68822009-08-07 Robert Millan <rmh.grub@aybabtu.com>
6883
6884 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
6885 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
6886 Update all users.
6887
6888 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
6889 not just "vmlinu[zx]".
6890 Moved from here ...
6891 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
6892 all users.
6893
6894 * util/grub.d/10_linux.in (find_latest): Moved from here ...
6895 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
6896 all users.
6897
4e2171f8 68982009-08-07 Robert Millan <rmh.grub@aybabtu.com>
6899
6900 * util/grub.d/10_freebsd.in: Use an absolute device path for
6901 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
6902
6dcfcb32 69032009-08-06 Felix Zielcke <fzielcke@z-51.de>
6904
6905 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
6906 handling of multiple abstraction modules.
6907
f56a8756 69082009-08-04 Robert Millan <rmh.grub@aybabtu.com>
6909
6910 Fix a bug resulting in black screen when loading Linux using a
6911 packed video mode.
6912
6913 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
6914 function.
6915
6916 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
6917 (grub_vbe_bios_getset_dac_palette_width): New function.
6918 (grub_vbe_bios_get_dac_palette_width)
6919 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
6920 grub_vbe_bios_getset_dac_palette_width()).
6921
6922 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
6923 check for return status.
6924 (grub_vbe_get_video_mode_info): When getting information for a packed
6925 mode (<= 8 bpp), obtain DAC palette width using
6926 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
6927 {red,green,blue}_mark_size.
6928
222671b2 69292009-08-04 Felix Zielcke <fzielcke@z-51.de>
6930
ecb1a6d9 6931 * commands/search.c (options): Fix help output to match actual code.
222671b2 6932
f84114f5 69332009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
6934
6935 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
6936 of homegrown code.
6937
bd288a20 69382009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 6939
6940 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
6941 on XFS or ReiserFS.
6942
8aab5e25 69432009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
6944
6945 Support Apple partition map with sector size different from 512 bytes.
6946
6947 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
6948 (apple_partition_map_iterate): Respect 'aheader.blocksize'
6949 and 'apart.partmap_size'.
6950
6ad6258a 69512009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
69522009-08-01 Robert Millan <rmh.grub@aybabtu.com>
6953
6954 Fix cpuid command.
6955
6956 * commands/i386/cpuid.c (options): New variable.
6957 (grub_cmd_cpuid): Return real error.
6958 (GRUB_MOD_INIT(cpuid)): Declare options.
6959
67459bc6 69602009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
6961
6962 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
6963 valid.
6964
fbc6ab54 69652009-07-31 Bean <bean123ch@gmail.com>
6966
6967 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
6968 log2_inode.
6969 (grub_fshelp_node): Move inode field to the end.
6970 (grub_xfs_data): Remove inode field.
6971 (grub_xfs_inode_block): Calculate inode size using sblock.
6972 (grub_xfs_inode_offset): Likewise.
6973 (grub_xfs_read_inode): Calculate inode size using sblock.
6974 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
6975 (grub_xfs_iterate_dir): Calculate inode size using sblock.
6976 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
6977 to match inode size.
6978 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
6979 not accessible when data is null.
6980 (grub_xfs_open): Likewise.
6981
f45d6cfc 69822009-07-31 Bean <bean123ch@gmail.com>
6983
6984 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
6985 Don't change pv->disk if it's already set.
6986
6987 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
6988 (grub_raid_register): ... here.
6989 (grub_raid_rescan): Removed.
6990
6991 * include/grub/raid.h (grub_raid_rescan): Removed.
6992
6993 * util/grub-fstest.c: Remove include file <grub/raid.h>.
6994 (fstest): Replace grub_raid_rescan with module fini function followed
6995 by init function.
6996
6997 * util/grub-probe.c: Add include file <grub/raid.h>.
6998 (probe_raid_level): New function.
6999 (probe): Detect abstraction by walking the disk device, support two
7000 level of abstraction (LVM on RAID) when detecting partition map.
7001
24443b5a 70022009-07-31 Pavel Roskin <proski@gnu.org>
7003
7004 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
7005 to grub_zalloc(), it was erroneous.
7006 Reported by Bean <bean123ch@gmail.com>
7007
a275d9e7 70082009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
7009
7010 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 7011 embedding zone, not only the first one.
a275d9e7 7012
56c5a47f 70132009-07-29 Joe Auricchio <jauricchio@gmail.com>
7014
7015 * term/gfxterm.c (clear_char): New function.
7016 (grub_virtual_screen_setup): Use clear_char.
7017 (scroll_up): Likewise.
7018 (grub_virtual_screen_cls): Likewise.
7019
67bb323a 70202009-07-29 Felix Zielcke <fzielcke@z-51.de>
7021
7022 * util/deviceiter.c (get_acceleraid_disk_name): New static
7023 function.
7024 (grub_util_iterate_devices): Handle Accelraid devices.
7025 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
7026
388a7c75 70272009-07-28 Robert Millan <rmh.grub@aybabtu.com>
7028
7029 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
7030 separator for the suggested gfxpayload string (';' collides with the
7031 parser and needs escaping).
7032
3bb7abcf 70332009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
7034
7035 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
7036 Clear direction flag before jumping to OS.
7037 (grub_multiboot2_real_boot): Likewise.
7038
2ddd36d7 70392009-07-28 Felix Zielcke <fzielcke@z-51.de>
7040
7041 * util/i386/pc/grub-install: Fix parsing of --disk-module
7042 option.
7043
c521b62b 70442009-07-28 Felix Zielcke <fzielcke@z-51.de>
7045
7046 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
7047 when embedding.
7048
880e0a0c 70492009-07-26 Felix Zielcke <fzielcke@z-51.de>
7050
7051 * util/grub-mkconfig.in (package_version): New variable.
7052 Use it do display the version.
7053
2366e356 70542009-07-25 Felix Zielcke <fzielcke@z-51.de>
7055
7056 * kern/file.c (grub_file_open): Revert to previous check with
7057 grub_errno.
7058
7ad8c80e 70592009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7060
7061 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
7062 from help line. It's out of sync with code.
7063
72b9658b 70642009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7065
7066 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
7067 entries on failed boot.
7068
77435277 70692009-07-25 Felix Zielcke <fzielcke@z-51.de>
7070
7071 * kern/file.c (grub_file_open): Fix an error check.
7072
fcaa8b21 70732009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
7074
35d16c74 7075 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
7076 partition map couldn't be identified.
fcaa8b21 7077
48904cd1 70782009-07-23 Pavel Roskin <proski@gnu.org>
7079
ef3c317f 7080 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
7081 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
7082 case of little endian words becomes just an optimization.
7083 Respect const modifier.
ad8ea1f4 7084 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 7085
48904cd1 7086 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
7087 to avoid loss of upper bits if align is unsigned and shorter
7088 than addr.
7089
260c9a89 70902009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
7091
7092 UUID support for UFS
7093
7094 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
7095 (grub_ufs_uuid): New function.
7096 (grub_ufs_fs): add .uuid
7097
f76ce889 70982009-07-21 Pavel Roskin <proski@gnu.org>
7099
7100 * kern/dl.c (grub_dl_check_header): Make static.
7101
6a6cbcaf 71022009-07-21 Felix Zielcke <fzielcke@z-51.de>
7103
7104 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
7105 add drivemap for Vista. It breaks Windows 7.
7106
cffcddb2 71072009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
7108
7109 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
7110 128 bytes
7111
1ef44b80 71122009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
7113
7114 Add BFS support
7115
7116 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
7117 (grub_fstest_SOURCES): Likewise.
7118 (pkglib_MODULES): Add befs.mod.
7119 (befs_mod_SOURCES): New variable.
7120 (befs_mod_CFLAGS): Likewise.
7121 (befs_mod_LDFLAGS): Likewise.
7122 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
7123 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
7124 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7125 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
7126 (grub_setup_SOURCES): Likewise.
7127 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7128 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7129 (grub_setup_SOURCES): Likewise.
7130 * fs/befs.c: New file.
7131 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
7132 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
7133 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
7134 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
7135 (B_KEY_INDEX_ALIGN): New declaration.
7136 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
7137 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
7138 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
7139 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
7140 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
7141 (grub_afs_mount) [MODE_BFS]: Likewise.
7142 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
7143 (grub_afs_fs): Use GRUB_AFS_FSNAME
7144 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
7145 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
7146 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
7147 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
7148
4f253044 71492009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
7150
7151 * util/getroot.c (find_root_device): Add support for MacOSX.
7152 * util/hostdisk.c: Likewise.
7153
57a55913 71542009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
7155
7156 * font/font.c (find_glyph): Check whether a font is present to avoid
7157 segmentation fault.
75421ca9 7158
71592009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 7160
7161 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
7162
e98cd0c2 71632009-07-20 Pavel Roskin <proski@gnu.org>
7164
7165 * configure.ac: Trim excessively wordy excuses.
7166
1d2d169a 71672009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
7168
7169 Add symlink, mtime and label support to AtheFS.
7170
7171 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
7172 (grub_afs_iterate_dir): Handle symlinks.
7173 (grub_afs_open): Use grub_afs_read_symlink.
7174 (grub_afs_dir): Likewise.
7175 Pass mtime.
7176 (grub_afs_label): New function.
7177 (grub_afs_fs): Add grub_afs_label.
7178 (grub_afs_read_symlink): New function.
7179
186f3189 71802009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
7181
7182 Fix AtheFS support.
7183
7184 * fs/afs.c: Fix comments style.
7185 (grub_afs_blockrun): Declare as packed.
7186 (grub_afs_datastream): Likewise.
7187 (grub_afs_bnode): Likewise.
7188 (grub_afs_btree): Likewise.
7189 (grub_afs_sblock): Likewise.
7190 Declare `name' as char.
7191 (grub_afs_inode): Declare as packed.
7192 Change void *vnode to grub_uint32_t unused.
7193 (grub_afs_iterate_dir): Check that key_size is positive.
7194 (grub_afs_mount): Don't read superblock twice.
75421ca9 7195 (grub_afs_dir): Don't free node in case of error,
186f3189 7196 grub_fshelp_find_file already handles this.
7197 (grub_afs_open): Likewise.
7198
5680109e 71992009-07-19 Pavel Roskin <proski@gnu.org>
7200
7201 * Makefile.in: Remove LIBLZO and enable_lzo.
7202 * conf/i386-pc.rmk: Remove lzo support.
7203 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
7204 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
7205 support.
7206 * kern/i386/pc/lzo1x.S: Remove.
7207 * kern/i386/pc/startup.S: Remove lzo support.
7208 * util/i386/pc/grub-mkimage.c: Likewise.
7209
ac70fa32 72102009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
7211
7212 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
7213 * fs/xfs.c (grub_xfs_dir): Likewise.
7214 * fs/afs.c (grub_afs_dir): Likewise.
7215 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
7216 (grub_iso9660_open): Likewise.
7217 * fs/jfs.c (grub_jfs_open): Likewise.
7218 * fs/ext2.c (grub_ext2_dir): Likewise.
7219 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
7220 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 7221
eab58da2 72222009-07-16 Pavel Roskin <proski@gnu.org>
7223
d2838156 7224 * configure.ac: Never add "-c" to CFLAGS.
7225
55c70904 7226 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
7227
43e6200c 7228 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
7229 grub_cv_cc_efiemu should be used.
7230
ce7a733d 7231 * configure.ac: Typo fixes.
7232
eab58da2 7233 * kern/mm.c (grub_zalloc): New function.
7234 (grub_debug_zalloc): Likewise.
7235 * include/grub/mm.h: Declare grub_zalloc() and
7236 grub_debug_zalloc().
7237 * util/misc.c (grub_zalloc): New function.
7238 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
7239 instead of grub_malloc(), remove unneeded initializations.
7240 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
7241 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
7242 * commands/parttool.c (grub_cmd_parttool): Likewise.
7243 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
7244 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
7245 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
7246 * disk/usbms.c (grub_usbms_finddevs): Likewise.
7247 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
7248 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
7249 (grub_cmd_efiemu_pnvram): Likewise.
7250 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
7251 * fs/iso9660.c (grub_iso9660_mount): Likewise.
7252 (grub_iso9660_iterate_dir): Likewise.
7253 * fs/jfs.c (grub_jfs_opendir): Likewise.
7254 * fs/ntfs.c (list_file): Likewise.
7255 (grub_ntfs_mount): Likewise.
7256 * kern/disk.c (grub_disk_open): Likewise.
7257 * kern/dl.c (grub_dl_load_core): Likewise.
7258 * kern/elf.c (grub_elf_file): Likewise.
7259 * kern/env.c (grub_env_context_open): Likewise.
7260 (grub_env_set): Likewise.
7261 (grub_env_set_data_slot): Likewise.
7262 * kern/file.c (grub_file_open): Likewise.
7263 * kern/fs.c (grub_fs_blocklist_open): Likewise.
7264 * loader/i386/multiboot.c (grub_module): Likewise.
7265 * loader/xnu.c (grub_xnu_create_key): Likewise.
7266 (grub_xnu_create_value): Likewise.
7267 * normal/main.c (grub_normal_add_menu_entry): Likewise.
7268 (read_config_file): Likewise.
7269 * normal/menu_entry.c (make_screen): Likewise.
7270 * partmap/sun.c (sun_partition_map_iterate): Likewise.
7271 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
7272 * script/sh/script.c (grub_script_parse): Likewise.
7273 * video/bitmap.c (grub_video_bitmap_create): Likewise.
7274 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
7275 * video/readers/png.c (grub_png_output_byte): Likewise.
7276 (grub_video_reader_png): Likewise.
7277
830afef7 72782009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 7279
7280 Enable all targets that can be built by default
7281
830afef7 7282 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 7283 grub-mkfont and grub-fstest if they can be built
7284
ee293aee 72852009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
7286
7287 Fix hang and segmentation fault in grub-emu-usb
7288
7289 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
7290 * util/usb.c (grub_libusb_devices): likewise
7291 (grub_libusb_init): rename to ...
7292 (GRUB_MOD_INIT (libusb)):...this
7293 (grub_libusb_fini): rename to ..
7294 (GRUB_MOD_FINI (libusb)):...this
7295 * disk/usbms.c (grub_usbms_transfer): fix retry logic
7296 * include/grub/disk.h (grub_raid_init): removed, it's useless
7297 (grub_raid_fini): likewise
7298 (grub_lvm_init): likewise
7299 (grub_lvm_fini): likewise
7300 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
7301 by grub_init_all
7302
94414221 73032009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
7304
7305 Fix libusb
7306
7307 * Makefile.in (LIBUSB): new macro
7308 * genmk.rb (Utility/print_tail): new method
7309 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
7310 (top level): call util.print_tail at the end.
7311
59ade63d 73122009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
7313
7314 Make FreeBSD accept zpool.cache
7315
7316 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
7317 type is /boot/zfs/zpool.cache
7318
a58da8c7 73192009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
7320
7321 Fix 64-bit efiemu
7322
7323 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
7324 correct wrong typedef
7325 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
7326
20591577 73272009-07-15 Pavel Roskin <proski@gnu.org>
7328
560ca572 7329 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
7330 * kern/disk.c (struct grub_disk_cache): Likewise.
7331
e8e8e4fd 7332 * commands/probe.c (options): Typo fix.
7333
fde24e10 7334 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
7335 Increase to 0x5a to accommodate FAT32. Adjust other offsets
7336 accordingly.
7337 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
7338
379c54c1 7339 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
7340 the end of "Error" to make the message more readable.
7341
7bd8f5bf 7342 * boot/i386/pc/boot.S (kernel_segment): Remove.
7343 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
7344 for destination.
7345
40b132c5 7346 * boot/i386/pc/boot.S (boot_version): Remove.
7347 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
7348 Remove.
7349
20591577 7350 * include/grub/i386/pc/boot.h: Sort all offsets.
7351 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
7352 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
7353 * boot/i386/pc/boot.S: Assert location of every offset listed in
7354 include/grub/i386/pc/boot.h.
7355
2df32b2c 73562009-07-13 Pavel Roskin <proski@gnu.org>
7357
44b5d879 7358 * include/grub/i386/coreboot/machine.h: Rename
7359 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
7360 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
7361 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
7362
17dc3751 7363 * kern/dl.c: Force native word size to suppress warnings when
7364 compiling grub-emu.
7365
2df32b2c 7366 * kern/device.c (grub_device_iterate): Change struct part_ent to
7367 hold the name, not a pointer to it. Use one grub_malloc() per
7368 partition, not two. Free partition_name if grub_malloc() fails.
7369 Set ents to NULL only before grub_partition_iterate() is called.
7370
75c59f59 73712009-07-11 Bean <bean123ch@gmail.com>
7372
7373 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
7374 childname.
7375
0ae1bf88 73762009-07-10 Bean <bean123ch@gmail.com>
73772009-07-10 Robert Millan <rmh.grub@aybabtu.com>
7378
7379 * kern/ieee1275/openfw.c (grub_children_iterate)
7380 (grub_devalias_iterate): Fix size evaluation for property or path
7381 strings, which was broken since r2132.
7382
8279cade 73832009-07-07 Pavel Roskin <proski@gnu.org>
7384
7d8a52d3 7385 * commands/search.c (search_file): Merge into ...
7386 (search_fs): ... this. Accept search type as argument.
7387 (grub_cmd_search): Pass search type to search_fs().
7388
25f9a05a 7389 * include/grub/util/console.h: New file.
7390 * util/console.c: Use it instead of grub/machine/console.h.
7391 * util/grub-emu.c: Likewise.
7392
8279cade 7393 * lib/arg.c (find_long_option): Remove.
7394 (find_long): Add `len' argument, make `s' const char *.
7395 (grub_arg_parse): Parse long options in place, not in a
7396 temporary buffer.
7397
4a11b60f 73982009-07-06 Pavel Roskin <proski@gnu.org>
7399
99f68041 7400 * commands/search.c (search_fs): Fix potential NULL pointer
7401 dereference.
7402
4a11b60f 7403 * commands/search.c (search_fs): Replace QUID macro with quid_fn
7404 function pointer.
7405
e110f4de 74062009-07-06 Daniel Mierswa <impulze@impulze.org>
7407
7408 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
7409 comparison.
7410
46eeb6a2 74112009-07-05 Pavel Roskin <proski@gnu.org>
7412
bab74958 7413 * include/grub/i386/linux.h (struct linux_kernel_params):
7414 Restore padding3, it's still needed.
7415
46eeb6a2 7416 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
7417 FreeBSD.
7418 * util/osdetect.lua: Likewise.
7419
b4a1dc79 74202009-07-05 Bean <bean123ch@gmail.com>
7421
7422 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
7423
7424 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
7425 (grub_lua_getenv): Likewise.
7426 (grub_lua_setenv): Likewise.
7427 (save_errno): New function.
7428 (push_result): Likewise.
7429 (grub_lua_enum_device): Likewise.
7430 (grub_lua_enum_file): Likewise.
7431 (grub_lua_file_open): Likewise.
7432 (grub_lua_file_close): Likewise.
7433 (grub_lua_file_seek): Likewise.
7434 (grub_lua_file_read): Likewise.
7435 (grub_lua_file_getline): Likewise.
7436 (grub_lua_file_getsize): Likewise.
7437 (grub_lua_file_getpos): Likewise.
7438 (grub_lua_file_eof): Likewise.
7439 (grub_lua_file_exist): Likewise.
7440 (grub_lua_add_menu): Likewise.
7441
7442 * script/lua/grub_lua.h (isupper): New inline function.
7443 (islower): Likewise.
7444 (ispunct): Likewise.
7445 (isxdigit): Likewise.
7446 (strcspn): Change to normal function.
7447 (strpbkr): New function declaration.
7448 (memchr): Likewise.
7449
7450 * script/lua/grub_main.c (scan_str): New function.
7451 (strcspn): Likewise.
7452 (strpbrk): Likewise.
7453 (memchr): Likewise.
7454
7455 * script/lua/linit.c (lualibs): Enable the string library.
7456
7457 * util/osdetect.lua: New file.
7458
2da92295 74592009-07-04 Robert Millan <rmh.grub@aybabtu.com>
7460
7461 * include/grub/i386/linux.h (struct linux_kernel_params): Add
7462 `capabilities' member.
7463
b2582ec9 74642009-07-02 Pavel Roskin <proski@gnu.org>
7465
7466 * genparttoollist.sh: Add missing newline at the end.
7467
32622956 74682009-07-01 Pavel Roskin <proski@gnu.org>
7469
87a7339e 7470 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
7471
d23af54e 7472 * util/hostdisk.c (open_device): Remove `const' from
7473 `sysctl_size', as sysctlbyname() can change it (in this case it
7474 doesn't actually happen).
7475
c94b18a9 7476 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
7477 using signed long int constants.
7478
c6cd3ef0 7479 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
7480 constant to avoid a warning on FreeBSD.
7481
0df63420 7482 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
7483 where it's needed.
7484
999577f1 7485 * Makefile.in: Install include/grub/machine symlink.
7486
6f41557f 7487 * Makefile.in: When installing symlinks, use "cp -fR", which
7488 works on FreeBSD and MacOSX.
7489 From Yves Blusseau <cl7m42e02@sneakemail.com>
7490
c8d22988 7491 * kern/dl.c (grub_dl_resolve_symbol): Make static.
7492 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
7493
1b96e952 7494 * util/misc.c: Move grub_reboot() and grub_halt() ...
7495 * util/grub-emu.c: ... here. Make main_env static.
7496 * include/grub/util/misc.h: Remove main_env.
7497
2ef0084d 7498 * kern/mm.c: Use correct format to print size_t.
7499
32622956 7500 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
7501 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
7502 * kern/powerpc/dl.c: Likewise.
7503 * kern/sparc64/dl.c: Likewise.
7504 * kern/x86_64/dl.c: Likewise.
7505
3f7f0cd0 75062009-07-01 Robert Millan <rmh.grub@aybabtu.com>
7507
7508 Fix grub-emu build on sparc64-ieee1275.
7509
75421ca9 7510 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 7511 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
7512
211d06b5 75132009-07-01 Robert Millan <rmh.grub@aybabtu.com>
7514
7515 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
7516 (grub_reboot, grub_halt): New functions.
7517
7518 * util/i386/pc/misc.c: Delete. Update all users.
7519 * util/sparc64/ieee1275/misc.c: Likewise.
7520 * util/powerpc/ieee1275/misc.c: Likewise.
7521
aaf53e3c 75222009-07-01 Robert Millan <rmh.grub@aybabtu.com>
7523
7524 * conf/i386.rmk (setjmp_mod_SOURCES)
7525 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
7526 * conf/common.rmk (setjmp_mod_SOURCES)
7527 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
7528 to use $(target_cpu).
7529 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
7530 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
7531 * conf/powerpc-ieee1275.rmk: Likewise.
7532 * conf/sparc64-ieee1275.rmk: Likewise.
7533
7534 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
7535 $(target_cpu) for kern/$(target_cpu)/dl.c.
7536 * conf/i386-efi.rmk: Likewise.
7537 * conf/i386-ieee1275.rmk: Likewise.
7538 * conf/x86_64-efi.rmk: Likewise.
7539 * conf/i386-coreboot.rmk: Likewise.
7540 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
7541 $(target_cpu) for kern/$(target_cpu)/dl.c and for
7542 kern/$(target_cpu)/cache.S.
7543 * conf/sparc64-ieee1275.rmk: Likewise.
7544
a337130b 75452009-07-01 Robert Millan <rmh.grub@aybabtu.com>
7546
7547 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
7548 type to `grub_uint8_t', and adjust `padding9' accordingly.
7549
c6fe4d53 75502009-06-29 Robert Millan <rmh.grub@aybabtu.com>
7551
b09db61d 7552 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
7553
c6fe4d53 7554 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
7555 assembly in final jump, using register constraints.
7556
b09db61d 7557 (grub_linux_boot): For text mode, initialize `have_vga' using
7558 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
7559
7560 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
7561 right before the final jump.
7562
7563 Set `video_mode' to 0x3.
7564
7565 Document initialization of `video_page', `video_mode' and
7566 `video_ega_bx'.
7567
28333ad0 75682009-06-29 Robert Millan <rmh.grub@aybabtu.com>
7569
7570 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
7571 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 7572 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 7573
02164e1b 75742009-06-29 Robert Millan <rmh.grub@aybabtu.com>
7575
7576 Fix build on Debian / sparc.
7577
7578 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
7579
18b6c557 75802009-06-28 Pavel Roskin <proski@gnu.org>
7581
85f2aab6 7582 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
7583 fix a warning.
7584
18b6c557 7585 * util/grub.d/10_linux.in: Match SUSE style initrd names.
7586
ad760f81 75872009-06-27 Robert Millan <rmh.grub@aybabtu.com>
7588
7589 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
7590 `err'.
7591
87a4623b 75922009-06-27 Robert Millan <rmh.grub@aybabtu.com>
7593
7594 Revert r2338.
7595
7596 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
7597 file can't be opened. grub_file_open() is already supposed to set
75421ca9 7598 grub_errno / grub_errmsg appropriately.
87a4623b 7599 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7600
8231fb77 76012009-06-27 Pavel Roskin <proski@gnu.org>
76022009-06-27 Robert Millan <rmh.grub@aybabtu.com>
7603
7604 * include/grub/dl.h: Include grub/elf.h.
7605 (struct grub_dl): Add symtab field.
7606 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
7607 GRUB_MODULES_MACHINE_READONLY.
7608 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
7609 of the header for read-only modules.
7610 (grub_dl_unload): Free mod->symtab for read-only modules.
7611 * kern/i386/dl.c: Use mod->symtab.
7612 * kern/powerpc/dl.c: Likewise.
7613 * kern/sparc64/dl.c: Likewise.
7614 * kern/x86_64/dl.c: Likewise.
7615
7616 * conf/i386-qemu.rmk: New file.
7617 * kern/i386/qemu/startup.S: Likewise.
7618 * kern/i386/qemu/mmap.c: Likewise.
7619 * boot/i386/qemu/boot.S: Likewise.
7620 * include/grub/i386/qemu/time.h: Likewise.
7621 * include/grub/i386/qemu/serial.h: Likewise.
7622 * include/grub/i386/qemu/kernel.h: Likewise.
7623 * include/grub/i386/qemu/console.h: Likewise.
7624 * include/grub/i386/qemu/boot.h: Likewise.
7625 * include/grub/i386/qemu/init.h: Likewise.
7626 * include/grub/i386/qemu/machine.h: Likewise.
7627 * include/grub/i386/qemu/loader.h: Likewise.
7628 * include/grub/i386/qemu/memory.h: Likewise.
7629
7630 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
7631 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
7632 [qemu] (pkglib_IMAGES): Add `boot.img'.
7633 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
7634 [qemu] (boot_img_FORMAT): New variables.
7635 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
7636 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
7637 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
7638 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
7639 [qemu] (kernel_img_FORMAT): New variables.
7640
7641 * configure.ac: Recognise `i386-qemu'.
7642
7643 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
7644 (for no compression).
7645 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
7646 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
7647 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
7648 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
7649 ifdefs).
7650
97fe384e 76512009-06-27 Pavel Roskin <proski@gnu.org>
7652
7653 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
7654 read.
7655 * efiemu/prepare32.c: Likewise.
7656 * efiemu/prepare64.c: Likewise.
7657
c402ab17 76582009-06-26 Pavel Roskin <proski@gnu.org>
7659
7660 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
7661 * include/grub/elf.h: Define symbols without "32" or "64" based
7662 on GRUB_TARGET_WORDSIZE.
7663 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
7664 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
7665 ELF definitions.
7666 * efiemu/loadcore64.c: Likewise.
7667 * loader/i386/bsd32.c: Likewise.
7668 * loader/i386/bsd64.c: Likewise.
7669 * kern/dl.c: Remove own ELF definitions.
7670 * util/i386/efi/grub-mkimage.c: Likewise.
7671
9bbdfd4d 76722009-06-23 Robert Millan <rmh.grub@aybabtu.com>
7673
7674 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
7675 segment 0x0 unconditionally, because the reference generated by
7676 GAS is an absolute address.
7677
a42ce6e9 76782009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7679
7680 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
7681 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
7682
c952cf92 76832009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7684
7685 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
7686 indexes. Check for -f explicitly.
cc3752ad 7687 (search_file): Improve error message.
7688 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 7689
132a0a59 76902009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7691
7692 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
7693 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
7694
387a140c 76952009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7696
7697 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
7698 * conf/i386-ieee1275.rmk: Likewise.
7699 * conf/i386-coreboot.rmk: Likewise.
7700
7701 * kern/i386/pc/startup.S (grub_stop): Remove function.
7702 * kern/i386/ieee1275/startup.S: Likewise.
7703 * kern/i386/coreboot/startup.S: Likewise.
7704 * kern/i386/misc.S (grub_stop): New function.
7705
41da9665 77062009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7707
7708 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
7709 * kern/i386/realmode.S (real_to_prot): ... to here.
7710
bf337234 77112009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7712
7713 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
7714 with `kernel.img'.
7715 (kernel_elf_SOURCES): Rename to ...
7716 (kernel_img_SOURCES): ... this.
7717 (kernel_elf_HEADERS): Rename to ...
7718 (kernel_img_HEADERS): ... this. Update all users.
7719 (kernel_elf_ASFLAGS): Rename to ...
7720 (kernel_img_ASFLAGS): ... this.
7721 (kernel_elf_CFLAGS): Rename to ...
7722 (kernel_img_CFLAGS): ... this.
7723 (kernel_elf_LDFLAGS): Rename to ...
7724 (kernel_img_LDFLAGS): ... this.
7725 * conf/i386-coreboot.rmk: Likewise.
7726 * conf/powerpc-ieee1275.rmk: Likewise.
7727
7728 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
7729 with "kernel.img".
7730
f52196ff 77312009-06-21 Pavel Roskin <proski@gnu.org>
7732
c3cee413 7733 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
7734 to match nested functions.
7735 * loader/sparc64/ieee1275/linux.c: Likewise.
7736
f52196ff 7737 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
7738
58750afc 77392009-06-21 Robert Millan <rmh.grub@aybabtu.com>
7740
7741 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
7742 all i386 platforms.
7743
15355c7d 77442009-06-21 Robert Millan <rmh.grub@aybabtu.com>
7745
7746 Fix asm file handling on ELF, and remove workarounds.
7747
7748 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 7749 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 7750 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
7751 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
7752
3f3ec72b 77532009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7754
7755 Load BSD ELF modules
7756
7757 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
7758 and loader/i386/bsd64.c
7759 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
7760 (FREEBSD_MODTYPE_ELF_MODULE): New definition
7761 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
7762 (grub_freebsd_load_elfmodule32): New declaration
7763 (grub_freebsd_load_elfmoduleobj64): Likewise
7764 (grub_freebsd_load_elf_meta32): Likewise
7765 (grub_freebsd_load_elf_meta64): Likewise
7766 (grub_freebsd_add_meta): Likewise
7767 (grub_freebsd_add_meta_module): Likewise
7768 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
7769 (grub_freebsd_add_meta_module): Likewise and move module-specific
7770 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
7771 (grub_cmd_freebsd): Add elf-kernel specific parts
7772 based on grub_freebsd_add_meta_module
7773 (grub_cmd_freebsd_module): Add type parsing moved from
7774 grub_freebsd_add_meta_module
7775 (grub_cmd_freebsd_module_elf): New function
7776 (cmd_freebsd_module_elf): New variable
7777 (GRUB_MOD_INIT): Register freebsd_module_elf
7778 * loader/i386/bsd32.c: New file
7779 * loader/i386/bsd64.c: Likewise
7780 * loader/i386/bsdXX.c: Likewise
7781 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
7782 (grub_elf64_load): Likewise
7783 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
7784 All users updated
7785 (grub_elf64_load_hook_t): Likewise
7786
0db15301 77872009-06-21 Colin Watson <cjwatson@ubuntu.com>
7788
7789 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
7790 variable.
7791 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
7792 don't write a menu entry for recovery mode.
7793
546796c1 77942009-06-20 Robert Millan <rmh.grub@aybabtu.com>
7795
7796 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
7797 after it's no longer needed.
7798
cd7310d5 77992009-06-20 Robert Millan <rmh.grub@aybabtu.com>
7800
7801 * include/grub/i386/loader.h (grub_linux_prot_size)
7802 (grub_linux_tmp_addr, grub_linux_real_addr)
7803 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
7804 GRUB_MACHINE_PCBIOS.
7805 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
7806 common grub_util_info() call to ...
7807 (generate_image): ... here.
7808 Fix use of uninitialized memory, comparison of signed with
7809 unsigned integers and memory leak.
7810 Remove bogus module address message.
7811
ab32d3b5 78122009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7813
7814 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
7815 grub_raid_register
7816 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
7817
024ef597 78182009-06-19 Pavel Roskin <proski@gnu.org>
7819
7820 * configure.ac: Remove stray AC_MSG_CHECKING.
7821
3ac72b51 78222009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7823
7824 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 7825
e14cd814 78262009-06-18 Pavel Roskin <proski@gnu.org>
7827
7828 * conf/common.rmk: Add fs_file.mod.
7829 * disk/fs_file.c: New file.
7830 * include/grub/disk.h (enum grub_disk_dev_id): Add
7831 GRUB_DISK_DEVICE_FILE_ID.
7832
26586d98 78332009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7834
7835 Fix build with Apple's toolchain. Part 2
7836
7837 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
7838 a fake start
7839
26de2bcd 78402009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7841
7842 Fix build with Apple's toolchain. Part 1
7843
7844 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
7845 for long calls
7846 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 7847 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 7848 Apple's toolchain
7849
09b3490b 78502009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7851
7852 Fix warnings
7853
7854 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
7855 (decomp_block): initialize ch
7856 use grub_memcpy instead of memcpy
7857
c22a006a 78582009-06-17 Pavel Roskin <proski@gnu.org>
7859
d3638678 7860 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
7861 version, use declarations needed to use vga_text as the startup
7862 console.
7863
c22a006a 7864 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
7865 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
7866 the kernel.
7867 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
7868 and grub_at_keyboard_fini(), it's done on module load and
7869 unload.
7870
05b129e0 78712009-06-17 Felix Zielcke <fzielcke@z-51.de>
7872
7873 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
7874 file can't be found.
7875 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7876
cf24ed9e 78772009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
7878
7879 Fix newline handling
7880
7881 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 7882 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 7883 (grub_script_yylex): don't segfault on unterminated script
7884 newline terminates command and variable
7885
74aa8e4b 78862009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
7887
7888 avoid double grub_adjust_range call. Bug reported by David Simner
7889
7890 * kern/disk.c (grub_disk_write): change to raw disk access before
7891 calling disk_read
7892
1bd265f3 78932009-06-17 Colin Watson <cjwatson@ubuntu.com>
7894
7895 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
7896 spaces, for the benefit of help2man.
7897 * util/i386/efi/grub-mkimage.c (usage): Likewise.
7898
a2d08c06 78992009-06-16 Pavel Roskin <proski@gnu.org>
7900
7901 * kern/i386/halt.c: Include grub/machine/init.h.
7902 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
7903
b97bcb19 79042009-06-16 Felix Zielcke <fzielcke@z-51.de>
7905
7906 * util/grub.d/30_os-prober.in: Use ${root} in the generated
7907 drivemap menuentry.
7908
0644f96c 79092009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
7910
7911 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
7912 `echo' command.
7913
3ef17a2e 79142009-06-16 Pavel Roskin <proski@gnu.org>
7915
7916 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
7917 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
7918 save %dx, we only need %dl and we never change it.
7919 * boot/i386/pc/cdboot.S: Don't set the root drive.
7920 * boot/i386/pc/pxeboot.S: Likewise.
7921 * include/grub/i386/pc/boot.h: Remove
7922 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
7923 GRUB_BOOT_MACHINE_DRIVE_CHECK.
7924 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
7925 * kern/i386/pc/init.c (make_install_device): Remove references
7926 to grub_root_drive.
7927 * kern/i386/pc/startup.S: Likewise.
7928 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
7929
693fe637 79302009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
7931
7932 xnu_uuid command
7933
7934 * commands/xnu_uuid.c: new file
7935 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
7936 (xnu_uuid_mod_SOURCES): new variable
7937 (xnu_uuid_mod_CFLAGS): likewise
7938 (xnu_uuid_mod_LDFLAGS): likewise
7939 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
7940 * conf/i386-ieee1275.rmk: likewise
7941 * conf/i386-pc.rmk: likewise
7942 * conf/powerpc-ieee1275.rmk: likewise
7943 * conf/sparc64-ieee1275.rmk: likewise
7944 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
7945
c9da87d0 79462009-06-16 Pavel Roskin <proski@gnu.org>
7947
7948 * configure.ac: Avoid '==' in test command, it's not portable.
7949
9c6f4596 79502009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
7951
7952 Probe command
7953
7954 * commands/probe.c: new file
7955 * conf/common.rmk (pkglib_MODULES): add probe.mod
7956 (probe_mod_SOURCES): new variable
7957 (probe_mod_CFLAGS): likewise
7958 (probe_mod_LDFLAGS): likewise
7959 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
7960 * conf/i386-ieee1275.rmk: likewise
7961 * conf/i386-pc.rmk: likewise
7962 * conf/powerpc-ieee1275.rmk: likewise
7963 * conf/sparc64-ieee1275.rmk: likewise
7964
70b7f9fd 79652009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7966
7967 Fix handling of string like \"hello\" and "a
7968 b"
7969
7970 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
7971 (grub_script_yylex): fix parsing of quoting, escaping and newline
7972
71c79a6b 79732009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7974
dd74360c 7975 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 7976 handling
dd74360c 7977
0644f96c 79782009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 7979
7980 * util/grub-mkconfig.in: Fix parsing of --output option.
7981
e40893c3 79822009-06-12 Pavel Roskin <proski@gnu.org>
7983
7984 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
7985 genmk.rb don't need to be generated or installed.
7986
3a1acfe2 79872009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7988
7989 * commands/i386/pc/drivemap_int13h.S: add more comments
7990
3a4575d4 79912009-06-11 Pavel Roskin <proski@gnu.org>
7992
0658e928 7993 * Makefile.in (uninstall): Uninstall manuals.
7994
ca0388f0 7995 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
7996 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
7997 and update-grub_lib in two places.
7998 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
7999
e3b27c39 8000 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
8001 a compiler warning.
8002
3a4575d4 8003 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
8004 `entry_lo' to fix variable shadowing.
8005
af1f4f55 80062009-06-11 Christian Franke <franke@computer.org>
8007
8008 * kern/misc.c (__enable_execute_stack): Add missing return type
8009 to prevent gcc warning.
8010
5225e649 80112009-06-11 Felix Zielcke <fzielcke@z-51.de>
8012
8013 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
8014
7d83bd47 80152009-06-11 Pavel Roskin <proski@gnu.org>
8016
c1cb63ba 8017 * Makefile.in: Don't rely on any scripts being executable.
8018 Always use $(SHELL) to run shell scripts.
8019
7d83bd47 8020 * configure.ac: Always define ___main if using -nostdlib. This
8021 fixes tests on Cygwin.
8022
948f48e7 80232009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
8024
8025 UDF fix
8026
7d83bd47 8027 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 8028 is in bytes and not in blocks
7d83bd47 8029
8ada9bc1 80302009-06-11 Pavel Roskin <proski@gnu.org>
8031
8032 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
8033 warning.
8034
25ad2323 80352009-06-11 Felix Zielcke <fzielcke@z-51.de>
8036
8037 * util/grub.d/30_os-prober.in: Fix a comment. Source
8038 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
8039 to set the root device. Place drivemap command in the generated
8040 chain entry.
8041
e65acb0c 80422009-06-11 Pavel Roskin <proski@gnu.org>
8043
8044 * configure.ac: Remove host_m32. Issues with 64-bit utilities
8045 have long been resolved.
8046
f285fe2d 80472009-06-11 Colin Watson <cjwatson@ubuntu.com>
8048
bd47b0b5 8049 * util/grub.d/10_linux.in: Capitalise "Linux".
8050
f285fe2d 8051 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
8052
a0c62e4e 80532009-06-11 Pavel Roskin <proski@gnu.org>
8054
b6783cb2 8055 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
8056 fix a gcc warning and ensure that the function won't ever exit.
8057
dde032e8 8058 * kern/i386/ieee1275/init.c: Add missing prototype for
8059 grub_stop_floppy().
8060
22cd079d 8061 * loader/ieee1275/multiboot2.c [__i386__]: Include
8062 grub/cpu/multiboot.h.
8063
a0c62e4e 8064 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
8065 casts to short - they are not portable and cause warnings. Fix
8066 use of uninitialized values in input_buf. Use ARRAY_SIZE.
8067
63963d17 80682009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
8069
8070 Drivemap fixes
8071
8072 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
8073 new function
8074 (grub_get_root_biosnumber_saved): new variable
8075 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
8076 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 8077 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 8078 %dx after the call if necessary
8079 * conf/common.rmk (pkglib_MODULES): remove boot.mod
8080 (boot_mod_SOURCES): remove
8081 (boot_mod_CFLAGS): remove
8082 (boot_mod_LDFLAGS): remove
8083 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
8084 (boot_mod_SOURCES): new variable
8085 (boot_mod_CFLAGS): likewise
8086 (boot_mod_LDFLAGS): likewise
8087 * conf/i386-efi.rmk: likewise
8088 * conf/i386-ieee1275.rmk: likewise
8089 * conf/i386-pc.rmk: likewise
8090 * conf/powerpc-ieee1275.rmk: likewise
8091 * conf/sparc64-ieee1275.rmk: likewise
8092 * conf/x86_64-efi.rmk: likewise
8093 * include/grub/i386/pc/biosnum.h: new file
8094 * lib/i386/pc/biosnum.c: likewise
8095 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
8096 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
8097 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 8098
33abf7ae 80992009-06-10 Pavel Roskin <proski@gnu.org>
8100
5ac35b35 8101 * io/gzio.c (test_header): Don't reuse one buffer for all data.
8102 Use separate variables. Read only the file size at the end, but
8103 not the checksum that we don't use.
8104
5c5215d5 8105 * kern/file.c (grub_file_read): Use void pointer for the buffer.
8106 Adjust all callers.
8107
27d5fef7 8108 * kern/ieee1275/openfw.c: Remove libc includes.
8109 * kern/ieee1275/cmain.c: Likewise.
8110 * include/grub/ieee1275/ieee1275.h: Likewise.
8111
33abf7ae 8112 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
8113 compiler warnings.
8114
19d50c2b 81152009-06-10 Felix Zielcke <fzielcke@z-51.de>
8116
8117 * Makefile.in: Remove all trailing whitespace.
8118 * conf/i386-pc.rmk: Likewise.
8119 * conf/powerpc-ieee1275.rmk: Likewise.
8120 * conf/sparc64-ieee1275.rmk: Likewise.
8121 * docs/grub.texi: Likewise.
8122 * docs/texinfo.tex: Likewise.
8123 * disk/fs_uuid.c: Likewise.
8124 * disk/lvm.c: Likewise.
8125 * disk/scsi.c: Likewise.
8126 * disk/ata.c: Likewise.
8127 * disk/ieee1275/ofdisk.c: Likewise.
8128 * disk/i386/pc/biosdisk.c: Likewise.
8129 * disk/host.c: Likewise.
8130 * disk/raid.c: Likewise.
8131 * disk/efi/efidisk.c: Likewise.
8132 * disk/usbms.c: Likewise.
8133 * disk/memdisk.c: Likewise.
8134 * disk/loopback.c: Likewise.
8135 * kern/powerpc/dl.c: Likewise.
8136 * kern/device.c: Likewise.
8137 * kern/dl.c: Likewise.
8138 * kern/sparc64/dl.c: Likewise.
8139 * kern/ieee1275/ieee1275.c: Likewise.
8140 * kern/term.c: Likewise.
8141 * kern/fs.c: Likewise.
8142 * kern/i386/dl.c: Likewise.
8143 * kern/i386/pc/startup.S: Likewise.
8144 * kern/i386/pc/init.c: Likewise.
8145 * kern/i386/pc/mmap.c: Likewise.
8146 * kern/i386/pc/lzo1x.S: Likewise.
8147 * kern/i386/ieee1275/init.c: Likewise.
8148 * kern/i386/realmode.S: Likewise.
8149 * kern/i386/tsc.c: Likewise.
8150 * kern/partition.c: Likewise.
8151 * kern/corecmd.c: Likewise.
8152 * kern/file.c: Likewise.
8153 * kern/efi/efi.c: Likewise.
8154 * kern/efi/init.c: Likewise.
8155 * kern/efi/mm.c: Likewise.
8156 * kern/main.c: Likewise.
8157 * kern/err.c: Likewise.
8158 * kern/env.c: Likewise.
8159 * kern/disk.c: Likewise.
8160 * kern/generic/millisleep.c: Likewise.
8161 * kern/generic/rtc_get_time_ms.c: Likewise.
8162 * kern/misc.c: Likewise.
8163 * kern/parser.c: Likewise.
8164 * genmk.rb: Likewise.
8165 * configure.ac: Likewise.
8166 * boot/i386/pc/diskboot.S: Likewise.
8167 * boot/i386/pc/pxeboot.S: Likewise.
8168 * boot/i386/pc/boot.S: Likewise.
8169 * boot/i386/pc/lnxboot.S: Likewise.
8170 * boot/i386/pc/cdboot.S: Likewise.
8171 * parttool/pcpart.c: Likewise.
8172 * video/readers/tga.c: Likewise.
8173 * video/video.c: Likewise.
8174 * video/bitmap.c: Likewise.
8175 * lib/envblk.c: Likewise.
8176 * lib/i386/setjmp.S: Likewise.
8177 * fs/xfs.c: Likewise.
8178 * fs/afs.c: Likewise.
8179 * fs/fat.c: Likewise.
8180 * fs/ntfs.c: Likewise.
8181 * fs/udf.c: Likewise.
8182 * fs/affs.c: Likewise.
8183 * fs/iso9660.c: Likewise.
8184 * fs/hfs.c: Likewise.
8185 * fs/fshelp.c: Likewise.
8186 * fs/ext2.c: Likewise.
8187 * fs/jfs.c: Likewise.
8188 * fs/reiserfs.c: Likewise.
8189 * fs/hfsplus.c: Likewise.
8190 * fs/minix.c: Likewise.
8191 * fs/cpio.c: Likewise.
8192 * fs/sfs.c: Likewise.
8193 * fs/ufs.c: Likewise.
8194 * efiemu/prepare.c: Likewise.
8195 * efiemu/loadcore_common.c: Likewise.
8196 * efiemu/runtime/efiemu.sh: Likewise.
8197 * efiemu/runtime/efiemu.S: Likewise.
8198 * efiemu/runtime/efiemu.c: Likewise.
8199 * efiemu/pnvram.c: Likewise.
8200 * efiemu/main.c: Likewise.
8201 * efiemu/i386/pc/cfgtables.c: Likewise.
8202 * efiemu/i386/loadcore64.c: Likewise.
8203 * efiemu/i386/loadcore32.c: Likewise.
8204 * efiemu/loadcore.c: Likewise.
8205 * efiemu/symbols.c: Likewise.
8206 * efiemu/mm.c: Likewise.
8207 * include/grub/autoefi.h: Likewise.
8208 * include/grub/datetime.h: Likewise.
8209 * include/grub/term.h: Likewise.
8210 * include/grub/hfs.h: Likewise.
8211 * include/grub/lvm.h: Likewise.
8212 * include/grub/i386/tsc.h: Likewise.
8213 * include/grub/i386/linux.h: Likewise.
8214 * include/grub/i386/xnu.h: Likewise.
8215 * include/grub/i386/efiemu.h: Likewise.
8216 * include/grub/i386/pc/biosdisk.h: Likewise.
8217 * include/grub/i386/pc/memory.h: Likewise.
8218 * include/grub/i386/pc/vbe.h: Likewise.
8219 * include/grub/parttool.h: Likewise.
8220 * include/grub/video.h: Likewise.
8221 * include/grub/memory.h: Likewise.
8222 * include/grub/fs.h: Likewise.
8223 * include/grub/partition.h: Likewise.
8224 * include/grub/xnu.h: Likewise.
8225 * include/grub/efi/api.h: Likewise.
8226 * include/grub/efi/pe32.h: Likewise.
8227 * include/grub/efi/memory.h: Likewise.
8228 * include/grub/multiboot.h: Likewise.
8229 * include/grub/usbdesc.h: Likewise.
8230 * include/grub/multiboot2.h: Likewise.
8231 * include/grub/acpi.h: Likewise.
8232 * include/grub/efiemu/efiemu.h: Likewise.
8233 * include/grub/disk.h: Likewise.
8234 * include/grub/ieee1275/ieee1275.h: Likewise.
8235 * include/grub/net.h: Likewise.
8236 * include/grub/machoload.h: Likewise.
8237 * include/grub/macho.h: Likewise.
8238 * include/multiboot.h: Likewise.
8239 * genmoddep.awk: Likewise.
8240 * normal/main.c: Likewise.
8241 * normal/menu_entry.c: Likewise.
8242 * normal/menu_viewer.c: Likewise.
8243 * normal/completion.c: Likewise.
8244 * normal/cmdline.c: Likewise.
8245 * normal/misc.c: Likewise.
8246 * normal/datetime.c: Likewise.
8247 * bus/usb/usbtrans.c: Likewise.
8248 * bus/usb/ohci.c: Likewise.
8249 * bus/usb/uhci.c: Likewise.
8250 * bus/usb/usb.c: Likewise.
8251 * mmap/efi/mmap.c: Likewise.
8252 * mmap/i386/pc/mmap_helper.S: Likewise.
8253 * mmap/i386/pc/mmap.c: Likewise.
8254 * mmap/i386/mmap.c: Likewise.
8255 * mmap/i386/uppermem.c: Likewise.
8256 * mmap/mmap.c: Likewise.
8257 * commands/acpi.c: Likewise.
8258 * commands/echo.c: Likewise.
8259 * commands/blocklist.c: Likewise.
8260 * commands/loadenv.c: Likewise.
8261 * commands/usbtest.c: Likewise.
8262 * commands/boot.c: Likewise.
8263 * commands/parttool.c: Likewise.
8264 * commands/search.c: Likewise.
8265 * commands/cat.c: Likewise.
8266 * commands/i386/pc/play.c: Likewise.
8267 * commands/i386/pc/drivemap.c: Likewise.
8268 * commands/i386/pc/vbeinfo.c: Likewise.
8269 * commands/i386/pc/acpi.c: Likewise.
8270 * commands/i386/pc/vbetest.c: Likewise.
8271 * commands/ls.c: Likewise.
8272 * commands/cmp.c: Likewise.
8273 * commands/test.c: Likewise.
8274 * commands/efi/acpi.c: Likewise.
8275 * commands/gptsync.c: Likewise.
8276 * commands/help.c: Likewise.
8277 * partmap/amiga.c: Likewise.
8278 * partmap/apple.c: Likewise.
8279 * partmap/acorn.c: Likewise.
8280 * partmap/pc.c: Likewise.
8281 * partmap/sun.c: Likewise.
8282 * partmap/gpt.c: Likewise.
8283 * script/sh/lexer.c: Likewise.
8284 * script/sh/function.c: Likewise.
8285 * font/font.c: Likewise.
8286 * font/font_cmd.c: Likewise.
8287 * loader/powerpc/ieee1275/linux.c: Likewise.
8288 * loader/efi/chainloader.c: Likewise.
8289 * loader/multiboot_loader.c: Likewise.
8290 * loader/macho.c: Likewise.
8291 * loader/i386/multiboot.c: Likewise.
8292 * loader/i386/linux.c: Likewise.
8293 * loader/i386/pc/linux.c: Likewise.
8294 * loader/i386/pc/multiboot2.c: Likewise.
8295 * loader/i386/pc/chainloader.c: Likewise.
8296 * loader/i386/pc/xnu.c: Likewise.
8297 * loader/i386/bsd_trampoline.S: Likewise.
8298 * loader/i386/efi/linux.c: Likewise.
8299 * loader/i386/multiboot_elfxx.c: Likewise.
8300 * loader/i386/bsd_helper.S: Likewise.
8301 * loader/i386/bsd.c: Likewise.
8302 * loader/i386/linux_trampoline.S: Likewise.
8303 * loader/i386/xnu_helper.S: Likewise.
8304 * loader/i386/xnu.c: Likewise.
8305 * loader/i386/bsd_pagetable.c: Likewise.
8306 * loader/i386/multiboot_helper.S: Likewise.
8307 * loader/xnu.c: Likewise.
8308 * loader/xnu_resume.c: Likewise.
8309 * io/gzio.c: Likewise.
8310 * term/efi/console.c: Likewise.
8311 * term/terminfo.c: Likewise.
8312 * term/ieee1275/ofconsole.c: Likewise.
8313 * term/i386/pc/serial.c: Likewise.
8314 * term/i386/pc/vesafb.c: Likewise.
8315 * term/i386/pc/vga.c: Likewise.
8316 * term/usb_keyboard.c: Likewise.
8317 * term/gfxterm.c: Likewise.
8318 * aclocal.m4: Likewise.
8319 * util/lvm.c: Likewise.
8320 * util/grub.d/30_os-prober.in: Likewise.
8321 * util/grub.d/10_hurd.in: Likewise.
8322 * util/console.c: Likewise.
8323 * util/grub-macho2img.c: Likewise.
8324 * util/grub-probe.c: Likewise.
8325 * util/hostfs.c: Likewise.
8326 * util/i386/pc/grub-mkimage.c: Likewise.
8327 * util/i386/pc/grub-setup.c: Likewise.
8328 * util/i386/efi/grub-mkimage.c: Likewise.
8329 * util/grub-mkconfig.in: Likewise.
8330 * util/raid.c: Likewise.
8331 * util/resolve.c: Likewise.
8332 * util/grub-mkdevicemap.c: Likewise.
8333 * util/grub-emu.c: Likewise.
8334 * util/getroot.c: Likewise.
8335 * util/hostdisk.c: Likewise.
8336 * util/usb.c: Likewise.
8337 * util/grub-editenv.c: Likewise.
8338 * util/misc.c: Likewise.
8339
d2d49665 83402009-06-10 Felix Zielcke <fzielcke@z-51.de>
8341
8342 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
8343 `genparttoollist.sh'.
8344 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
8345 Add `*.sh' to the list find searches for and change `mdate.sh'
8346 to `mdate-sh'.
8347
fe052e37 83482009-06-10 Pavel Roskin <proski@gnu.org>
8349
2763ac18 8350 * include/grub/multiboot2.h: Provide compatibility defines for
8351 multiboot2.h.
8352 * include/multiboot2.h: Include stdint.h only if needed, using
8353 angle brackets.
8354 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
8355 grub/multiboot2.h.
8356 * loader/ieee1275/multiboot2.c: Likewise.
8357 * loader/multiboot2.c: Likewise.
8358 * loader/multiboot_loader.c: Likewise.
8359
437e6adc 8360 * configure.ac: Use -nostdlib when probing for the target. It
8361 should not be required to have libc for the target.
8362
06a6836c 8363 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
8364 they fail without libc headers for the target.
8365 * include/grub/powerpc/libgcc.h: Use weak attribute for all
8366 exports.
8367 * include/grub/sparc64/libgcc.h: Likewise. Don't use
8368 preprocessor conditionals.
8369
fe052e37 8370 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
8371 build system doesn't need to be aware of the tar.c internals.
8372
afd22553 83732009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 8374
afd22553 8375 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 8376
6b787c4f 83772009-06-09 Robert Millan <rmh.grub@aybabtu.com>
8378
8379 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
8380 disk limit to 26 for IDE, Virtio, Xen and SCSI.
8381
83822009-06-09 Felix Zielcke <fzielcke@z-51.de>
8383
8384 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 8385 aren't available if ata.mod gets used.
6b787c4f 8386
473d1e45 83872009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 8388
473d1e45 8389 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 8390 initialising controller.
473d1e45 8391 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 8392
255a27d4 83932009-06-08 Felix Zielcke <fzielcke@z-51.de>
8394
8395 * util/i386/pc/grub-install.in: Add a parameter --disk-module
8396 to choose between ata and biosdisk module on i386-pc.
8397
473d1e45 83982009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 8399
d55842d8 8400 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
8401 Subclass and Programming Interface fields in terms of the 3 byte
8402 Class Code register.
8403 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
8404
fa5db0b1 8405 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
8406 interface is OHCI. Add grub_dprintf for symmetry with
8407 bus/usb/uhci.c.
8408 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
8409 interface is UHCI. Add interf variable for programming
8410 interface. Print interface with class/subclass.
8411
c0947beb 8412 * bus/usb/ohci.c: Set interf with correct field.
8413
69da8877 8414 * bus/usb/uhci.c: Remove unneeded doubled lines.
8415 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
8416 Remove whitespace inside comment.
8417
9e172e30 84182009-06-08 Robert Millan <rmh.grub@aybabtu.com>
8419
8420 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
8421 as fallback an equivalent option without depth.
8422
de65ee2b 84232009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8424
8425 Not fail if unable to retrieve C/H/S on LBA disks
8426
473d1e45 8427 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 8428 if unable to retrieve C/H/S on LBA disks
8429
b57ea2c9 84302009-06-08 Pavel Roskin <proski@gnu.org>
8431
8432 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
8433 about aliasing.
8434
af361263 84352009-06-08 Felix Zielcke <fzielcke@z-51.de>
8436
8437 * Makefile.in (uninstall): Remove all $lib_DATA files.
8438
4c9ec6b3 84392009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8440
8441 Bugfix: install on partitionless device
8442
8443 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
8444 is a whole disk
8445
e76fc924 84462009-06-08 Felix Zielcke <fzielcke@z-51.de>
8447
8448 * Makefile.in (uninstall): Remove all $include_DATA files.
8449
ba5a0d05 84502009-06-08 Felix Zielcke <fzielcke@z-51.de>
8451
8452 * commands/true.c: New file. Implement the true and false commands.
8453 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
8454 (true_mod_SOURCES): New variable.
8455 (true_mod_CFLAGS): Likewise.
8456 (true_mod_LDFLAGS): Likewise.
8457
c8048e32 84582009-06-05 Colin D Bennett <colin@gibibit.com>
8459
8460 Optimized font character lookup using binary search instead of linear
8461 search. Fonts now are required to have the character index ordered by
8462 code point.
8463
8464 * font/font.c (load_font_index): Verify that fonts have ordered
8465 character indices.
8466 (find_glyph): Use binary search instead of linear search to find a
8467 character in a font.
8468
408305be 84692009-06-05 Michael Scherer <misc@mandriva.org>
8470
8471 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
8472 uses case sensitive btree.
8473 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
8474 only for case insensitive filesystems.
8475
8ee1e0d9 84762009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8477
8478 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
8479 * conf/common.rmk (search_mod_CFLAGS): likewise
8480
a9966eb1 84812009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8482
473d1e45 8483 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 8484 compensate a compiler bug
8485
9e7100fb 84862009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8487
473d1e45 8488 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 8489 instead of '\b'
473d1e45 8490
ede21d71 84912009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8492
8493 Definitions for creating asm symbols with Apple's CC
8494
8495 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
8496 [APPLE_CC] (VARIABLE): likewise
8497
9dbf7653 84982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8499
8500 Disable lnxboot.img when compiled
8501 with Apple's CC
8502
8503 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
8504 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
8505 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
8506 [! APPLE_CC] (CODE_LENG): skip
8507 [! APPLE_CC] (setup_sects): likewise
8508 [! APPLE_CC]: skip filling
473d1e45 8509
e93cdc3d 85102009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8511
8512 Address in trampolines based on 32-bit registers when compiled
8513 with Apple's CC
8514
473d1e45 8515 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 8516 for addresses
8517 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
8518
6c688477 85192009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8520
8521 Avoid aliases when compiling with Apple's CC for PCBIOS machine
8522
8523 * kern/misc.c [APPLE_CC] (memcpy): new function
8524 [APPLE_CC] (memmove): likewise
8525 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 8526 (memcpy): define alias conditionally on !APPLE_CC
6c688477 8527 (memset): likewise
8528 (abort): likewise
8529 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
8530 APPLE_CC are defined
8531 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
8532 (grub_assert_fail): make prototype conditional
8533
e37ffc5c 85342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8535
8536 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
8537
473d1e45 8538 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
8539 grub-macho2img
e37ffc5c 8540 (CLEANFILES): add grub-macho2img
8541 (grub_macho2img_SOURCES): new variable
8542 * kern/i386/pc/startup.S (bss_start): new variable
8543 (bss_end): likewise
8544 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
8545 * util/grub-macho2img.c: new file
8546
cf00df31 85472009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8548
8549 Use objconv when compiling with Apple's CC
8550
8551 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
8552 (efiemu64.o): likewise
8553 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
8554 when compiling with Apple's CC
8555 (efiemu64_s.o): likewise
8556 * configure.ac: check for objconv when compiling with Apple's CC
8557 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 8558
d119a20c 85592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8560
8561 Define segment as well as section when compiling with
8562 Apple's CC
8563
8564 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
8565 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
8566 (efiemu_convert_pointer): likewise
8567 (efiemu_set_virtual_address_map): likewise
8568 (efiemu_convert_pointer): likewise
8569 (efiemu_getcrc32): likewise
8570 (init_crc32_table): likewise
8571 (reflect): likewise
8572 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
8573 (GRUB_MOD_DEP): likewise
473d1e45 8574
c8600122 85752009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8576
8577 Allow a compilation without -mcmodel=large
8578
8579 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
8580 when compiled without -mcmodel=large
473d1e45 8581 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 8582 without -mcmodel=large
473d1e45 8583 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 8584 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 8585
e8df1d4e 85862009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8587
8588 Remove nested functions in efiemu core
8589
8590 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 8591
cc6c3ac1 85922009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8593
8594 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
8595
8596 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
8597 temporary storage
473d1e45 8598 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
8599 using Apple's CC
cc6c3ac1 8600 (grub_cpu_is_tsc_supported): likewise
8601 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 8602
3e325901 86032009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8604
8605 Absolute addressing through constant with Apple's cc
8606
8607 * kern/i386/pc/startup.S: Define necessary constants
8608 and address through it when using ABS with Apple's CC
8609 * boot/i386/pc/diskboot.S: likewise
8610 * boot/i386/pc/boot.S: likewise
8611 * boot/i386/pc/lnxboot.S: likewise
8612 * boot/i386/pc/cdboot.S: likewise
8613 * mmap/i386/pc/mmap_helper.S: likewise
8614 * commands/i386/pc/drivemap_int13h.S: likewise
8615
2b167a72 86162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8617
8618 Check if compiler is apple cc
8619
8620 * Makefile.in (ASFLAGS): new variable
8621 (TARGET_ASFLAGS): likewise
8622 (TARGET_MODULE_FORMAT): likewise
8623 (TARGET_APPLE_CC): likewise
8624 (OBJCONV): likewise
8625 (TARGET_IMG_CFLAGS): likewise
8626 (TARGET_CPPFLAGS): add includedir
8627 * configure.ac: call grub_apple_cc and grub_apple_target_cc
8628 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
8629 Check for linker script only if compiler isn't Apple's CC
8630 (TARGET_MODULE_FORMAT): set
8631 (TARGET_APPLE_CC): likewise
8632 (TARGET_ASFLAGS): likewise
8633 (ASFLAGS): likewise
8634 Check for objcopy only if compiler isn't Apple's CC
8635 Check for BSS symbol only if compiler isn't Apple's CC
8636 * genmk.rb: adapt nm options if we use Apple's utils
8637 * aclocal.m4 (grub_apple_cc): new test
8638 (grub_apple_target_cc): likewise
473d1e45 8639
fb14123e 86402009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8641
8642 Simplify sed expressions and improve awk
8643
8644 * Makefile.in (install-local): simplify sed expression
8645 * gencmdlist.sh: likewise
8646 * genmoddep.awk: avoid adding module as a dependency of itself
8647
5b889789 86482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8649
8650 Add missing start symbols
8651
8652 * boot/i386/pc/boot.S: add start
fb14123e 8653 * boot/i386/pc/pxeboot.S: likewise
473d1e45 8654
fd2bf2e3 86552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8656
8657 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 8658
8659 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 8660 (relocate_addresses): consider both r_addend and value at offset
8661 (make_mods_section): zerofill modinfo and header
8662 (convert_elf): write prefix here
473d1e45 8663
5389763d 86642009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8665
8666 Use .asciz instead of .string
8667
8668 * i386/pc/diskboot.S: use .asciz instead of .string
8669 * i386/pc/boot.S: likewise
8670 * include/grub/dl.h (GRUB_MOD_DEP): likewise
8671 (GRUB_MOD_NAME): likewise
473d1e45 8672
3eb5ed4e 86732009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8674
8675 gfxpayload support
8676
8677 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
8678 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
8679 (grub_video_setup): remove
8680 (grub_video_set_mode): new prototype
8681 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
8682 (vid_mode): remove
8683 (linux_vesafb_res): compile only on PCBIOS
8684 (grub_linux_boot): support gfxpayload
8685 * loader/i386/pc/xnu.c (video_hook): new function
8686 (grub_xnu_set_video): support gfxpayload
8687 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
8688 (DEFAULT_VIDEO_HEIGHT): likewise
8689 (DEFAULT_VIDEO_FLAGS): likewise
8690 (DEFAULT_VIDEO_MODE): new definition
8691 (video_hook): new function
8692 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 8693 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 8694 loading xnu
8695 * video/video.c (grub_video_setup): removed
473d1e45 8696 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 8697 grub_video_setup
8698
4b0e1143 86992009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8700
8701 Avoid calling biosdisk in drivemap
8702
8703 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
8704 (revparse_biosdisk): likewise
8705 (list_mappings): derive name from id directly
8706 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 8707
fda6cb98 87082009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8709
8710 Script fixes
8711
8712 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
8713 (grub_lexer_param): add tokenonhold
8714 (grub_script_create_cmdline): remove cmdline. All callers updated
8715 (grub_script_function_create): make functionname
8716 grub_script_arg. All callers updated
8717 (grub_script_execute_argument_to_string): new prototype
8718 * kern/parser.c (state_transitions): reorder
8719 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 8720 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 8721 make global
8722 (grub_script_execute_cmdline): use new format
8723 * script/sh/function.c (grub_script_function_create): make functionname
8724 grub_script_arg. All callers updated
473d1e45 8725 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 8726 (grub_script_yylex): remove
8727 (grub_script_yylex2): renamed to ...
8728 (grub_script_yylex): ...renamed
8729 parse the expressions like a${b}c
8730 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
8731 (GRUB_PARSER_TOKEN_VAR): remove
8732 (GRUB_PARSER_TOKEN_NAME): likewise
8733 ("if"): declare as typeless
8734 ("while"): likewise
8735 ("function"): likewise
8736 ("else"): likewise
8737 ("then"): likewise
8738 ("fi"): likewise
8739 (text): remove
8740 (argument): likewise
8741 (script): accept empty scripts and make exit on error
8742 (arguments): use GRUB_PARSER_TOKEN_ARG
8743 (function): likewise
8744 (command): move error handling to script
8745 (menuentry): move grub_script_lexer_ref before
473d1e45 8746 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 8747 argument. All callers updated
8748
f4448a07 87492009-06-04 Robert Millan <rmh.grub@aybabtu.com>
8750
8751 Prevent GRUB from probing floppies during boot.
8752
8753 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
8754 * commands/search.c (options): Add --no-floppy.
8755 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
8756 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
8757 --no-floppy when searching for UUIDs.
8758
2bf5885a 87592009-06-04 Robert Millan <rmh.grub@aybabtu.com>
8760
8761 Simplify the code duplication in commands/search.c.
8762
8763 * commands/search.c (search_label, search_fs_uuid): Merge into ...
8764 (search_fs): ... this. Update all users.
8765
f6fd460a 87662009-06-03 Felix Zielcke <fzielcke@z-51.de>
8767
8768 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
8769
cbb3c83e 87702009-05-28 Pavel Roskin <proski@gnu.org>
8771
57788cfd 8772 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
8773 Remove the original symlink explicitly.
8774
cbb3c83e 8775 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
8776 just one slash. That's how grub_fshelp_find_file() does it.
8777
cd0d5e30 87782009-05-26 Pavel Roskin <proski@gnu.org>
8779
f0f8bbe2 8780 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
8781 to `str'.
8782
cd0d5e30 8783 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
8784 possibly unused.
8785
8c2cab51 87862009-05-25 Christian Franke <franke@computer.org>
8787
8788 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
8789 register.
8790 (grub_atapi_identify): Add wait after drive select.
8791 (grub_ata_identify): Do more strict status register check before
8792 calling grub_atapi_identify (). Suppress error message if status
8793 register is 0x00 after command failure. Add status register
8794 check after PIO read to avoid bogus identify due to stuck DRQ.
8795 Thanks to Pavel Roskin for testing.
8796 (grub_device_initialize): Remove unsafe status register check.
8797 Thanks to 'phcoder' for problem report and patch.
8798 Prevent sign extension in debug message.
8799
230c0ad6 88002009-05-23 Colin D Bennett <colin@gibibit.com>
8801
8802 Cleaned up `include/grub/normal.h'. Grouped prototypes by
8803 definition file, and functions defined in `normal/menu.c' have had
8804 their prototypes moved to `include/grub/menu.h' for consistency.
8805
8806 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
8807 from normal.h.
8808 (grub_menu_get_entry): Likewise.
8809 (grub_menu_get_timeout): Likewise.
8810 (grub_menu_set_timeout): Likewise.
8811 (grub_menu_execute_entry): Likewise.
8812 (grub_menu_execute_with_fallback): Likewise.
8813 (grub_menu_entry_run): Likewise.
8814
8815 * include/grub/normal.h: Re-ordered and grouped function
8816 prototypes by file that the function is defined in.
8817 (grub_menu_execute_callback): Removed; moved to menu.h.
8818 (grub_menu_get_entry): Likewise.
8819 (grub_menu_get_timeout): Likewise.
8820 (grub_menu_set_timeout): Likewise.
8821 (grub_menu_execute_entry): Likewise.
8822 (grub_menu_execute_with_fallback): Likewise.
8823 (grub_menu_entry_run): Likewise.
8824 (grub_menu_addentry): Renamed from this ...
8825 (grub_normal_add_menu_entry): ... to this.
8826
8827 * normal/main.c (grub_menu_addentry): Renamed from this ...
8828 (grub_normal_add_menu_entry): ... to this.
8829
8830 * script/sh/execute.c (grub_script_execute_menuentry): Update
8831 reference to renamed grub_menu_addentry function.
8832
861f03a5 88332009-05-23 Felix Zielcke <fzielcke@z-51.de>
8834
8835 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
8836
96b1619a 88372009-05-22 Pavel Roskin <proski@gnu.org>
8838
bf6a5fb2 8839 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
8840 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
8841 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
8842 compiling for the i386 targets, but not for the utilities.
8843
96b1619a 8844 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
8845 to grub_uint8_t.
8846 (grub_root_drive): Likewise.
8847 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
8848 remove alignment.
8849 (grub_root_drive): Change size to byte.
8850 (grub_start_addr): Remove.
8851 (grub_end_addr): Likewise.
8852 (grub_apm_bios_info): Likewise.
8853
b729776b 88542009-05-21 Felix Zielcke <fzielcke@z-51.de>
8855
8856 * normal/i386: Remove.
8857 * normal/powerpc: Likewise.
8858 * normal/sparc64: Likewise.
8859 * normal/x86_64: Likewise.
8860
0a15ce80 88612009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
8862
8863 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 8864 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 8865 * loader/i386/xnu_helper.S: Likewise
d6da58e6 8866
33db9015 88672009-05-18 Colin D Bennett <colin@gibibit.com>
8868
d6da58e6 8869 Display error messages when parsing a Lua statement fails.
8870 Previously, executing a syntactically invalid statement like
8871 ")foo" or "bar;" would silently fail.
33db9015 8872
8873 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 8874 (grub_lua_parse_line): Improved reporting of Lua parser and
8875 execution errors.
33db9015 8876
46422c89 88772009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8878
8879 Remove -Werror which causes build to fail on some systems
8880
8881 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
8882 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
8883 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 8884
22f53a96 88852009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8886
8887 trampoline for linux on 64-bit platform
8888
18f547ad 8889 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
8890 loader/i386/efi/linux_trampoline.S
8891 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 8892 declaration
d6da58e6 8893 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
8894 here
22f53a96 8895 * loader/i386/linux_trampoline.S: moved here
d6da58e6 8896 * loader/i386/efi/linux.c (allocate_pages): reserve space for
8897 trampoline
22f53a96 8898 (jumpvector): removed
8899 (grub_linux_trampoline_start): new declaration
8900 (grub_linux_trampoline_end): likewise
8901 (grub_linux_boot): use trampoline when on 64-bit platform
8902 * loader/i386/linux.c: likewise
8903
cb5a0f40 89042009-05-16 Pavel Roskin <proski@gnu.org>
8905
8906 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
8907 const to avoid a warning.
8908 (grub_lua_setenv): Likewise.
8909 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
8910 lmsg to fix a warning.
8911
334f2c28 89122009-05-16 Felix Zielcke <fzielcke@z-51.de>
8913
8914 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 8915 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
8916 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
8917 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
8918 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
8919 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
8920 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
8921 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 8922
59e5d3ec 89232009-05-16 Felix Zielcke <fzielcke@z-51.de>
8924
8925 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
8926
9d87a1ba 89272009-05-16 Bean <bean123ch@gmail.com>
8928
8929 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
8930 (lua_mod_SOURCES): New variable.
8931 (lua_mod_CFLAGS): Likewise.
8932 (lua_mod_LDFLAGS): Likewise.
8933
8934 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
8935 (setjmp_mod_SOURCES): New variable.
8936 (setjmp_mod_CFLAGS): Likewise.
8937 (setjmp_LDFLAGS): Likewise.
8938
8939 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
8940 (setjmp_mod_SOURCES): New variable.
8941 (setjmp_mod_CFLAGS): Likewise.
8942 (setjmp_LDFLAGS): Likewise.
8943
8944 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
8945 (setjmp_mod_SOURCES): New variable.
8946 (setjmp_mod_CFLAGS): Likewise.
8947 (setjmp_LDFLAGS): Likewise.
8948
8949 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
8950 (setjmp_mod_SOURCES): New variable.
8951 (setjmp_mod_CFLAGS): Likewise.
8952 (setjmp_LDFLAGS): Likewise.
8953
8954 * normal/i386/setjmp.S: Moved from here ...
8955 * lib/i386/setjmp.S: ... Moved here
8956 * normal/x86_64/setjmp.S: Moved from here ...
8957 * lib/x86_64/setjmp.S: ... Moved here
8958 * normal/powerpc/setjmp.S: Moved from here ...
8959 * lib/powerpc/setjmp.S: ... Moved here
8960 * normal/sparc64/setjmp.S: Moved from here ...
8961 * lib/sparc64/setjmp.S: ... Moved here
8962
8963 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
8964 returns_twice in mingw.
8965
8966 * script/lua/grub_lib.c: New file.
8967 * script/lua/grub_lib.h: Likewise.
8968 * script/lua/grub_lua.h: Likewise.
8969 * script/lua/grub_main.c: Likewise.
8970 * script/lua/lapi.c: Likewise.
8971 * script/lua/lapi.h: Likewise.
8972 * script/lua/lauxlib.c: Likewise.
8973 * script/lua/lauxlib.h: Likewise.
8974 * script/lua/lbaselib.c: Likewise.
8975 * script/lua/lcode.c: Likewise.
8976 * script/lua/lcode.h: Likewise.
8977 * script/lua/ldblib.c: Likewise.
8978 * script/lua/ldebug.c: Likewise.
8979 * script/lua/ldebug.h: Likewise.
8980 * script/lua/ldo.c: Likewise.
8981 * script/lua/ldo.h: Likewise.
8982 * script/lua/ldump.c: Likewise.
8983 * script/lua/lfunc.c: Likewise.
8984 * script/lua/lfunc.h: Likewise.
8985 * script/lua/lgc.c: Likewise.
8986 * script/lua/lgc.h: Likewise.
8987 * script/lua/linit.c: Likewise.
8988 * script/lua/liolib.c: Likewise.
8989 * script/lua/llex.c: Likewise.
8990 * script/lua/llex.h: Likewise.
8991 * script/lua/llimits.h: Likewise.
8992 * script/lua/lmathlib.c: Likewise.
8993 * script/lua/lmem.c: Likewise.
8994 * script/lua/lmem.h: Likewise.
8995 * script/lua/loadlib.c: Likewise.
8996 * script/lua/lobject.c: Likewise.
8997 * script/lua/lobject.h: Likewise.
8998 * script/lua/lopcodes.c: Likewise.
8999 * script/lua/lopcodes.h: Likewise.
9000 * script/lua/loslib.c: Likewise.
9001 * script/lua/lparser.c: Likewise.
9002 * script/lua/lparser.h: Likewise.
9003 * script/lua/lstate.c: Likewise.
9004 * script/lua/lstate.h: Likewise.
9005 * script/lua/lstring.c: Likewise.
9006 * script/lua/lstring.h: Likewise.
9007 * script/lua/lstrlib.c: Likewise.
9008 * script/lua/ltable.c: Likewise.
9009 * script/lua/ltable.h: Likewise.
9010 * script/lua/ltablib.c: Likewise.
9011 * script/lua/ltm.c: Likewise.
9012 * script/lua/ltm.h: Likewise.
9013 * script/lua/lua.h: Likewise.
9014 * script/lua/luaconf.h: Likewise.
9015 * script/lua/lualib.h: Likewise.
9016 * script/lua/lundump.c: Likewise.
9017 * script/lua/lundump.h: Likewise.
9018 * script/lua/lvm.c: Likewise.
9019 * script/lua/lvm.h: Likewise.
9020 * script/lua/lzio.c: Likewise.
9021 * script/lua/lzio.h: Likewise.
9022
5e898c9d 90232009-05-16 Bean <bean123ch@gmail.com>
9024
9025 * include/grub/kernel.h (grub_module_header_types): Add type
9026 OBJ_TYPE_CONFIG.
9027
9028 * kern/main.c (grub_load_config): New function.
9029 (grub_main): Call grub_load_config to read boot config.
9030
9031 * grub-mkimage (generate_image): New parameter config_path.
9032 (options): New option --config.
9033 (main): Parse --config option, and pass it to generate_image.
9034
cf353a47 90352009-05-14 Christian Franke <franke@computer.org>
9036
9037 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
9038 This fixes build on Cygwin.
9039
3834887f 90402009-05-14 Pavel Roskin <proski@gnu.org>
9041
9042 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
9043 jump. This saves two bytes, so the typical case of 2 swapped
9044 drives would fit 32 bytes.
9045
8090fc01 90462009-05-13 Pavel Roskin <proski@gnu.org>
9047
ac963883 9048 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
9049 grub_uint32_t to avoid a warning.
9050
8090fc01 9051 * loader/i386/linux.c (allocate_pages): When assigning
9052 real_mode_mem, cast through grub_size_t to fix a warning. The
9053 code already makes sure that the value would fit a pointer.
9054 (grub_linux_setup_video): Cast render_target->data to
9055 grub_size_t to fix a warning.
9056
18f547ad 90572009-05-13 Javier MartĂ­n <lordhabbit@gmail.com>
4246b8a9 9058
9059 * commands/i386/pc/drivemap.c: New file - implement drivemap
9060 command.
9061 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
9062 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
9063
6f6a8b28 90642009-05-13 Pavel Roskin <proski@gnu.org>
9065
9066 * util/i386/pc/grub-setup.c (setup): Remove unused variable
9067 embedding_area_exists.
9068
15fbf4c4 90692009-05-13 Robert Millan <rmh.grub@aybabtu.com>
9070
9071 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
9072 it easier to understand / work with.
59978c8a 9073 Improve warning messages for cases where there's no embedding area,
9074 or when it is too small (or core.img too large).
15fbf4c4 9075
238e871f 90762009-05-13 Pavel Roskin <proski@gnu.org>
9077
0ab3a9a4 9078 * loader/i386/pc/multiboot2.c: Add necessary includes for
9079 grub_multiboot2_real_boot().
9080
a2c8c5f8 9081 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
9082 PX record is always little-endian. We only need the lower 2
9083 bytes of the mode.
9084
faec96af 9085 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
9086 facilitate code reuse.
9087 (grub_cpio_mount): Use "struct head", not a char buffer. This
9088 fixes a warning reported by gcc 4.4.
9089
238e871f 9090 * kernel/disk.c (grub_disk_read): Use void pointer for the
9091 buffer.
9092 (grub_disk_write): Use const void pointer for the buffer.
9093 Adjust all callers. Remove unnecessary casts.
9094
901d2f0c 90952009-05-10 Robert Millan <rmh.grub@aybabtu.com>
9096
9097 * util/i386/pc/grub-install.in: Update copyright year.
9098
18f547ad 90992009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 9100
9101 gptsync
9102
9103 * commands/gptsync.c: new file
9104 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
9105 (gptsync_mod_SOURCES): new variable
9106 (gptsync_mod_CFLAGS): likewise
9107 (gptsync_mod_LDFLAGS): likewise
18f547ad 9108 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 9109 new definition
9110 (GRUB_PC_PARTITION_TYPE_HFS): likewise
9111 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
9112 * conf/i386-ieee1275.rmk: likewise
9113 * conf/i386-pc.rmk: likewise
9114 * conf/powerpc-ieee1275.rmk: likewise
9115
b4ba690a 91162009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9117
9118 Fixed grub-emu
9119
9120 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
9121 (grub_dl_ref): likewise
9122
317e1a44 91232009-05-08 Robert Millan <rmh.grub@aybabtu.com>
9124
9125 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
9126 split in two functions (one for msdos and one for gpt).
9127
041b8094 91282009-05-08 Pavel Roskin <proski@gnu.org>
9129
752473c2 9130 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
9131 not modified.
9132
041b8094 9133 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
9134 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
9135 Initialize them with -1. Add sanity check for bad1. Eliminate
9136 nerr variable.
9137
172800ce 91382009-05-08 David S. Miller <davem@davemloft.net>
9139
9140 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
9141
29aa5e81 91422009-05-06 Robert Millan <rmh.grub@aybabtu.com>
9143
9144 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 9145 existence.
29aa5e81 9146
96613b62 91472009-05-05 Felix Zielcke <fzielcke@z-51.de>
9148
9149 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 9150 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 9151
eef73c8a 91522009-05-05 David S. Miller <davem@davemloft.net>
9153
9154 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
9155
119494b5 91562009-05-05 Pavel Roskin <proski@gnu.org>
9157
9158 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
9159 of grub_dl_ref() and grub_dl_unref().
9160 * commands/parttool.c: Remove preprocessor conditionals around
9161 grub_dl_ref() and grub_dl_unref().
9162 * fs/affs.c: Likewise.
9163 * fs/afs.c: Likewise.
9164 * fs/cpio.c: Likewise.
9165 * fs/ext2.c: Likewise.
9166 * fs/fat.c: Likewise.
9167 * fs/hfs.c: Likewise.
9168 * fs/hfsplus.c: Likewise.
9169 * fs/iso9660.c: Likewise.
9170 * fs/jfs.c: Likewise.
9171 * fs/minix.c: Likewise.
9172 * fs/ntfs.c: Likewise.
9173 * fs/reiserfs.c: Likewise.
9174 * fs/sfs.c: Likewise.
9175 * fs/udf.c: Likewise.
9176 * fs/ufs.c: Likewise.
9177 * fs/xfs.c: Likewise.
9178 * include/grub/dl.h: Likewise.
9179 * loader/xnu.c: Likewise.
9180
de5fd76e 91812009-05-04 Pavel Roskin <proski@gnu.org>
9182
9183 * commands/acpi.c: Remove unused variable my_mod.
9184 * partmap/amiga.c: Likewise.
9185 * partmap/apple.c: Likewise.
9186 * partmap/gpt.c: Likewise.
9187 * partmap/pc.c: Likewise.
9188 * partmap/sun.c: Likewise.
9189 * term/gfxterm.c: Likewise.
9190 * term/i386/pc/vesafb.c: Likewise.
9191 * term/i386/pc/vga.c: Likewise.
9192
983598ad 91932009-05-04 David S. Miller <davem@davemloft.net>
9194
9195 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
9196 pointer args to grub_ieee1275_get_property().
9197
8aadec43 9198 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
9199
9554b15e 9200 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
9201 devices, and do not traverse down under controller nodes.
9202
67e23c90 9203 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
9204 (grub_ofdisk_open): Use it to un-escape "," characters.
9205 * kern/disk.c (find_part_sep): New.
9206 (grub_disk_open): Use it to find the first non-escaped ','
9207 character in the disk name.
9208 * util/ieee1275/devicemap.c (escape_of_path): New.
9209 (grub_util_emit_devicemap_entry): Use it.
9210 * util/sparc64/ieee1275/grub-install.in: Update script to
9211 strip partition specifiers properly by not triggering on
9212 '\' escaped ',' characters.
9213
74bfdd2f 92142009-05-04 Robert Millan <rmh.grub@aybabtu.com>
9215
9216 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
9217 to 0x300.
9218 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
9219 resolutions.
9220 (linux_vesafb_modes): Add a lot of additional modes to the list (based
9221 on documentation from Wikipedia).
9222
4241d2b1 92232009-05-04 Pavel Roskin <proski@gnu.org>
9224
9225 * disk/ata.c: Spelling fixes.
9226 * disk/raid.c: Likewise.
9227 * disk/usbms.c: Likewise.
9228 * disk/dmraid_nvidia.c: Likewise.
9229 * kern/ieee1275/openfw.c: Likewise.
9230 * kern/ieee1275/init.c: Likewise.
9231 * kern/ieee1275/cmain.c: Likewise.
9232 * boot/i386/pc/cdboot.S: Likewise.
9233 * video/readers/png.c: Likewise.
9234 * video/i386/pc/vbe.c: Likewise.
9235 * fs/udf.c: Likewise.
9236 * fs/hfs.c: Likewise.
9237 * fs/reiserfs.c: Likewise.
9238 * efiemu/runtime/efiemu.c: Likewise.
9239 * efiemu/main.c: Likewise.
9240 * efiemu/mm.c: Likewise.
9241 * include/grub/elf.h: Likewise.
9242 * include/grub/xnu.h: Likewise.
9243 * include/grub/usbdesc.h: Likewise.
9244 * include/grub/usb.h: Likewise.
9245 * include/grub/script_sh.h: Likewise.
9246 * include/grub/lib/LzmaEnc.h: Likewise.
9247 * include/grub/efiemu/efiemu.h: Likewise.
9248 * include/grub/command.h: Likewise.
9249 * normal/menu.c: Likewise.
9250 * normal/main.c: Likewise.
9251 * normal/datetime.c: Likewise.
9252 * bus/usb/uhci.c: Likewise.
9253 * mmap/i386/uppermem.c: Likewise.
9254 * mmap/mmap.c: Likewise.
9255 * commands/acpi.c: Likewise.
9256 * commands/test.c: Likewise.
9257 * partmap/apple.c: Likewise.
9258 * font/font.c: Likewise.
9259 * loader/sparc64/ieee1275/linux.c: Likewise.
9260 * loader/macho.c: Likewise.
9261 * loader/i386/bsd_trampoline.S: Likewise.
9262 * loader/i386/bsd.c: Likewise.
9263 * loader/xnu.c: Likewise.
9264 * term/i386/pc/vesafb.c: Likewise.
9265 * term/usb_keyboard.c: Likewise.
9266 * util/resolve.c: Likewise.
9267 * util/getroot.c: Likewise.
9268
0cfc0083 92692009-05-04 Felix Zielcke <fzielcke@z-51.de>
9270
9271 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
9272
7c1d00cd 92732009-05-04 Robert Millan <rmh.grub@aybabtu.com>
9274
9275 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
9276 build error.
9277
b01f0548 92782009-05-04 Robert Millan <rmh.grub@aybabtu.com>
9279
9280 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
9281 parameter only available on BIOS.
9282
ecc3eb22 92832009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9284
9285 Removed wrong semicolon in declaration
9286
9287 * grub/misc.h (grub_dprintf): remove semicolon
9288
112972a9 92892009-05-04 Robert Millan <rmh.grub@aybabtu.com>
9290
9291 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
9292 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
9293 is done by grub_cmd_linux() now).
9294 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
9295 restore video to text mode.
9296 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
9297 indicates lack of "vga=" parameter. "vga=0" is mapped to
9298 `GRUB_LINUX_VID_MODE_NORMAL'.
9299
afd5c115 93002009-05-04 Felix Zielcke <fzielcke@z-51.de>
9301
9302 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
9303 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
9304 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 9305 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 9306 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
9307 `grub_script.tab.c'.
9308
9309 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9310 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9311 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9312 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
9313 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9314
faa517ce 9315 * Makefile.in: Remove duplicated 2008 in Copyright line.
9316
ae0c0bdc 93172009-05-04 Robert Millan <rmh.grub@aybabtu.com>
9318
473d1e45 9319 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 9320 unconditionally.
9321 * include/grub/util/misc.h (grub_util_warn): New declaration.
9322
9323 * util/i386/pc/grub-install.in: Understand --force and pass it down
9324 to grub-setup.
9325
9326 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
9327 down to setup().
9328 (setup): Improve error messages and add warnings when requested to
9329 install in odd layouts. Refuse to install using blocklists unless
9330 --force was set.
9331
18f547ad 93322009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 9333
9334 * disk/raid.c (grub_raid_scan_device): Improve debug message.
9335
6d260daa 93362009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9337
9338 Updated copyright year
9339
9340 * fs/hfsplus.c: updated copyright year
18f547ad 9341
69f853f8 93422009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9343
9344 HFS+ UUID
9345
18f547ad 9346 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 9347 in the space previously used by unused3
9348 (grub_hfsplus_uuid): new function
9349 (grub_hfsplus_fs): added uuid field
9350
4c402e73 93512009-05-03 Pavel Roskin <proski@gnu.org>
9352
9353 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
9354 suppress warnings. It's no longer needed.
9355 * disk/host.c: Likewise.
9356 * disk/ata_pthru.c: Likewise.
9357 * disk/loopback.c: Likewise.
9358 * hook/datehook.c: Likewise.
9359 * parttool/pcpart.c: Likewise.
9360 * fs/i386/pc/pxe.c: Likewise.
9361 * fs/ntfscomp.c: Likewise.
9362 * efiemu/main.c: Likewise.
9363 * mmap/mmap.c: Likewise.
9364 * commands/crc.c: Likewise.
9365 * commands/hexdump.c: Likewise.
9366 * commands/hdparm.c: Likewise.
9367 * commands/acpi.c: Likewise.
9368 * commands/echo.c: Likewise.
9369 * commands/minicmd.c: Likewise.
9370 * commands/blocklist.c: Likewise.
9371 * commands/memrw.c: Likewise.
9372 * commands/loadenv.c: Likewise.
9373 * commands/usbtest.c: Likewise.
9374 * commands/lsmmap.c: Likewise.
9375 * commands/boot.c: Likewise.
9376 * commands/parttool.c: Likewise.
9377 * commands/configfile.c: Likewise.
9378 * commands/search.c: Likewise.
9379 * commands/ieee1275/suspend.c: Likewise.
9380 * commands/cat.c: Likewise.
9381 * commands/i386/pc/pxecmd.c: Likewise.
9382 * commands/i386/pc/play.c: Likewise.
9383 * commands/i386/pc/halt.c: Likewise.
9384 * commands/i386/pc/vbeinfo.c: Likewise.
9385 * commands/i386/pc/vbetest.c: Likewise.
9386 * commands/lspci.c: Likewise.
9387 * commands/date.c: Likewise.
9388 * commands/handler.c: Likewise.
9389 * commands/ls.c: Likewise.
9390 * commands/test.c: Likewise.
9391 * commands/cmp.c: Likewise.
9392 * commands/efi/loadbios.c: Likewise.
9393 * commands/efi/fixvideo.c: Likewise.
9394 * commands/halt.c: Likewise.
9395 * commands/help.c: Likewise.
9396 * commands/reboot.c: Likewise.
9397 * hello/hello.c: Likewise.
9398 * script/sh/main.c: Likewise.
9399 * loader/xnu.c: Likewise.
9400 * term/terminfo.c: Likewise.
9401 * term/i386/pc/serial.c: Likewise.
9402 * term/usb_keyboard.c: Likewise.
9403
515b5079 94042009-05-03 David S. Miller <davem@davemloft.net>
9405
9406 * normal/menu.c: Include grub/parser.h
9407
dfc31a22 94082009-05-03 Pavel Roskin <proski@gnu.org>
9409
2fee74f1 9410 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
9411 not char*.
9412 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
9413 Suggested by Javier MartĂ­n <lordhabbit@gmail.com>
9414
dfc31a22 9415 * util/i386/pc/grub-mkrescue.in: Allow for the case when
9416 efiemu??.o doesn't exist.
9417 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
9418 copying.
9419
18f547ad 94202009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 9421
9422 FreeBSD 64-bit support
9423
18f547ad 9424 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 9425 and loader/i386/bsd_trampoline.S
9426 (bsd_mod_ASFLAGS): new variable
9427 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
9428 (FREEBSD_MODTYPE_KERNEL64): likewise
9429 (grub_bsd64_trampoline_start): likewise
9430 (grub_bsd64_trampoline_end): likewise
9431 (grub_bsd64_trampoline_selfjump): likewise
9432 (grub_bsd64_trampoline_gdt): likewise
9433 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
9434 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
9435 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
9436 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 9437 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 9438 of "attrib" member
9439 * loader/i386/bsd_pagetable.c: new file
9440 * loader/i386/bsd_trampoline.S: likewise
9441 * loader/i386/bsd.c (ALIGN_QWORD): new macro
9442 (ALIGN_VAR): likewise
9443 (entry_hi): new variable
9444 (kern_end_mdofs): likewise
9445 (is_64bit): likewise
9446 (grub_freebsd_add_meta): use ALIGN_VAR
9447 (grub_e820_mmap): new declaration
9448 (grub_freebsd_add_mmap): new function
9449 (grub_freebsd_add_meta_module): support 64 bit kernels
9450 (grub_freebsd_list_modules): use ALIGN_VAR
9451 (gdt_descriptor): new declaration
9452 (grub_freebsd_boot): support 64 bit kernels
9453 (grub_bsd_elf64_hook): new function
9454 (grub_bsd_load_elf): support elf64
9455
038c5720 94562009-05-03 Bean <bean123ch@gmail.com>
9457
9458 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
9459 after we get the result of if statement.
9460
fc45fb58 94612009-05-03 Bean <bean123ch@gmail.com>
9462
9463 * Makefile.in (enable_efiemu): New variable.
9464
9465 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
9466 set.
9467 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
9468 path.
9469 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
9470 path, add -mno-red-zone option.
9471 (efiemu64_s.o): Likewise.
9472 (efiemu64.o): Use macro $^ for source file.
9473
9474 * configure.ac (--enable-efiemu): New option.
9475
bbee0f2b 94762009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9477
9478 xnu support
9479
9480 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
9481 (pkglib_MODULES): add xnu.mod
9482 (xnu_mod_SOURCES): new variable
9483 (xnu_mod_CFLAGS): likewise
9484 (xnu_mod_LDFLAGS): likewise
9485 (xnu_mod_ASFLAGS): likewise
9486 * conf/i386-pc.rmk: likewise
9487 * conf/x86_64-efi.rmk: likewise
7dd4a573 9488 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 9489 new declaration
9490 * include/grub/i386/macho.h: new file
9491 * include/grub/i386/xnu.h: likewise
9492 * include/grub/macho.h: likewise
9493 * include/grub/machoload.h: likewise
9494 * include/grub/x86_64/macho.h: likewise
9495 * include/grub/x86_64/xnu.h: likewise
9496 * include/grub/xnu.h: likewise
9497 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
9498 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
9499 * loader/i386/efi/xnu.c: new file
9500 * loader/i386/pc/xnu.c: likewise
9501 * loader/i386/xnu.c: likewise
9502 * loader/i386/xnu_helper.S: likewise
9503 * loader/macho.c: likewise
9504 * loader/xnu.c: likewise
9505 * loader/xnu_resume.c: likewise
9506 * util/grub-dumpdevtree: likewise
9507 * include/grub/i386/pit.h: include grub/err.h
9508 (grub_pit_wait): export
9509 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 9510
5caf964d 95112009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9512
9513 Efiemu
7dd4a573 9514
5caf964d 9515 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 9516 _linux_efi, linux_efi.
9517 new files in grub-emu
5caf964d 9518 new targets efiemu32.o and efiemu64.o
9519 * loader/linux_normal_efiemu.c: likewise
9520 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 9521 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 9522 files to copy
9523 * include/grub/autoefi.h: new file
7dd4a573 9524 * include/grub/i386/efiemu.h: likewise
5caf964d 9525 * include/grub/i386/pc/efiemu.h: likewise
9526 * include/grub/efi/api.h: add LL suffix when necessary
9527 new definitions relating to tables
9528 * include/grub/efiemu/efiemu.h: new file
9529 * include/grub/efiemu/runtime.h: likewise
9530 * efiemu/prepare.c: likewise
9531 * efiemu/loadcore_common.c: likewise
9532 * efiemu/loadcore64.c: likewise
9533 * efiemu/runtime/efiemu.sh: likewise
9534 * efiemu/runtime/efiemu.S: likewise
9535 * efiemu/runtime/efiemu.c: likewise
9536 * efiemu/runtime/config.h: likewise
9537 * efiemu/prepare32.c: likewise
9538 * efiemu/main.c: likewise
9539 * efiemu/modules/pnvram.c: likewise
9540 * efiemu/modules/i386: likewise
9541 * efiemu/modules/i386/pc: likewise
9542 * efiemu/modules/acpi.c: likewise
9543 * efiemu/i386/pc/cfgtables.c: likewise
9544 * efiemu/i386/loadcore64.c: likewise
9545 * efiemu/i386/loadcore32.c: likewise
9546 * efiemu/prepare64.c: likewise
9547 * efiemu/loadcore.c: likewise
9548 * efiemu/symbols.c: likewise
9549 * efiemu/mm.c: likewise
9550 * efiemu/loadcore32.c: likewise
7dd4a573 9551
95522009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 9553
9554 ACPI spoofing
9555
9556 * commands/acpi.c: new file
9557 * commands/i386/pc/acpi.c: likewise
9558 * commands/efi/acpi.c: likewise
9559 * include/grub/acpi.h: likewise
9560 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
9561 (acpi_mod_SOURCES): new variable
9562 (acpi_mod_CFLAGS): likewise
9563 (acpi_mod_LDFLAGS): likewise
9564 * conf/i386-efi.rmk: likewise
9565 * conf/x86_64-efi.rmk: likewise
9566
7dd4a573 95672009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 9568
9569 Missing part from mmap patch
9570
9571 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
9572 (grub_mmap_unregister)
9573 (grub_mmap_free_and_unregister): use grub_mmap_register
9574
7dd4a573 95752009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 9576
9577 Mmap services
9578
9579 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
9580 * loader/i386/linux.c (find_mmap_size): likewise
9581 (allocate_pages): likewise
9582 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
9583 (grub_fill_multiboot_mmap): likewise
9584 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
9585 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
9586 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
9587 (OPENBSD_MMAP_RESERVED): likewise
9588 * include/grub/i386/pc/memory.h: include grub/memory.h
9589 (grub_lower_mem): removed
9590 (grub_upper_mem): likewise
9591 (GRUB_MACHINE_MEMORY_ACPI): new definition
9592 (GRUB_MACHINE_MEMORY_NVS): likewise
9593 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
9594 (GRUB_MACHINE_MEMORY_HOLE): likewise
9595 (grub_machine_mmap_register): likewise
9596 (grub_machine_mmap_unregister): likewise
9597 (grub_machine_get_upper): likewise
9598 (grub_machine_get_lower): likewise
9599 (grub_machine_get_post64): likewise
9600 * include/grub/i386/efi/memory.h: new file
9601 * include/grub/x86_64/efi/memory.h: likewise
9602 * include/grub/efi/memory.h: likewise
9603 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
9604 (mmap_mod_SOURCES): new variable
9605 (mmap_mod_LDFLAGS): likewise
9606 (mmap_mod_ASFLAGS): likewise
9607 * conf/i386-coreboot.rmk: likewise
9608 * conf/i386-ieee1275.rmk: likewise
9609 * conf/i386-efi.rmk: likewise
9610 * conf/x86_64-efi.rmk: likewise
9611 * include/grub/types.h (UINT_TO_PTR): new macro
9612 (PTR_TO_UINT32): likewise
9613 (PTR_TO_UINT64): likewise
9614 * include/grub/memory.h: new file
9615 * mmap/i386/pc/mmap.c: likewise
9616 * mmap/i386/pc/mmap_helper.S: likewise
9617 * mmap/i386/uppermem.c: likewise
9618 * mmap/mmap.c: likewise
9619 * mmap/efi/mmap.c: likewise
7dd4a573 9620 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 9621 grub_upper_mem
9622 * kern/i386/pc/init.c (grub_lower_mem): removed variable
9623 (grub_upper_mem): likewise
9624 (grub_machine_init): don't use grub_upper_mem,
9625 make grub_lower_mem local
9626 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
9627 grub_mmap_iterate and grub_mmap_get_upper
9628 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
9629
d558e6b5 96302009-05-02 Bean <bean123ch@gmail.com>
9631
9632 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
9633 script/sh/parser.y.
9634 (pkglib_MODULES): Add normal.mod and sh.mod.
9635 (normal_SOURCES): New variable.
9636 (normal_mod_CFLAGS): Likewise.
9637 (normal_mod_LDFLAGS): Likewise.
9638 (sh_mod_SOURCES): Likewise.
9639 (sh_mod_CFLAGS): Likewise.
9640 (sh_mod_LDFLAGS): Likewise.
9641
9642 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
9643 script/sh/lexer.c_DEPENDENCIES.
9644 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
9645 kern/rescue_reader.c and kern/rescue_parser.c.
9646 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
9647 (grub_emu_SOURCES): Change source files.
9648 (pkglib_MODULES): Remove normal.mod.
9649 (normal_SOURCES): Removed.
9650 (normal_mod_CFLAGS): Likewise.
9651 (normal_mod_LDFLAGS): Likewise.
9652 * conf/i386-coreboot.rmk: Likewise.
9653 * conf/i386-efi.rmk: Likewise.
9654 * conf/i386-ieee1276.rmk: Likewise.
9655 * conf/powerpc-ieee1275.rmk: Likewise.
9656 * conf/sparc64-ieee1275.rmk: Likewise.
9657 * conf/x86_64-efi.rmk: Likewise.
9658
9659 * include/grub/command.h (grub_command_execute): New inline function.
9660
9661 * include/grub/menu.h (grub_menu_entry): Removed commands field.
9662
9663 * include/grub/normal.h: Remove <grub/setjmp.h>.
9664 (grub_fs_module_list): Moved to normal/autofs.c.
9665 (grub_exit_env): Removed.
9666 (grub_command_execute): Likewise.
9667 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
9668 parameter script.
9669 (read_command_list): New function declaration.
9670 (read_fs_list): Likewise.
9671
9672 * include/parser.h: Include <grub/reader.h>.
9673 (grub_parser_split_cmdline): Change type of getline parameter.
9674 (grub_parser): New structure.
9675 (grub_parser_class): New variable.
9676 (grub_parser_execute): New function declaration.
9677 (grub_register_rescue_parser): Likewise.
9678 (grub_parser_register): New inline function.
9679 (grub_parser_unregister): Likewise.
9680 (grub_parser_get_current): Likewise.
9681 (grub_parser_set_current): Likewise.
9682
9683 * include/grub/reader.h: New file.
9684 * kern/reader.c: Likewise.
9685 * kern/rescue_parser.c: Likewise.
9686 * kern/rescue_reader.c: Likewise.
9687 * normal/autofs.c: Likewise.
9688 * normal/dyncmd.c: Likewise.
9689
9690 * include/grub/rescue.h: Removed.
9691 * normal/command.h: Likewise.
9692
9693 * include/grub/script.h: Moved to ...
9694 * include/grub/script_sh.h: ... Moved here.
9695 * normal/execute.c: Moved to ...
9696 * script/sh/execute.c: ... Moved here.
9697 * normal/function.c: Moved to ...
9698 * script/sh/function.c: ... Moved here.
9699 * normal/lexer.c: Moved to ...
9700 * script/sh/lexer.c: ... Moved here.
9701 * normal/parser.y: Moved to ...
9702 * script/sh/parser.y: ... Moved here.
9703 * normal/script.c: Moved to ...
9704 * script/sh/script.c: ... Moved here.
9705
9706 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
9707 <grub/reader.h>.
9708 (grub_exit_env): Removed.
9709 (fs_module_list): Moved to normal/autofs.c.
9710 (grub_file_getline): Don't handle comment here.
9711 (free_menu): Skip removed field entry->commands.
9712 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
9713 script parameter.
9714 (read_config_file): Removed nested parameter, change getline function.
9715 (grub_enter_normal_mode): Removed.
9716 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
9717 (read_command_list): Likewise.
9718 (autoload_fs_module): Moved to normal/autofs.c.
9719 (read_fs_list): Likewise.
9720 (reader_nested): New variable.
9721 (grub_normal_execute): Run parser.sh to switch to sh parser.
9722 (grub_cmd_rescue): Removed.
9723 (cmd_normal): Removed.
9724 (grub_cmd_normal): Unregister itself at the beginning. Don't register
9725 rescue command.
9726 (grub_cmdline_run): New function.
9727 (grub_normal_reader_init): Likewise.
9728 (grub_normal_read_line): Likewise.
9729 (grub_env_write_pager): Likewise.
9730 (cmdline): New variable.
9731 (grub_normal_reader): Likewise.
9732 (GRUB_MOD_INIT): Register normal reader and set as current, register
9733 pager hook, register normal command with grub_register_command_prio,
9734 so that it won't show up in command.lst.
9735 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
9736 grub_fs_autoload_hook.
9737
9738 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
9739 (grub_menu_execute_entry): Replace grub_script_execute with
9740 grub_parser_execute, change parameter to grub_command_execute.
9741
9742 * normal/menu_text.c: Remove <grub/script.h>.
9743
9744 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
9745 and <grub/parser.h>.
9746 (run): Change editor_getline to use new parser interface. Change
9747 parameter to grub_command_execute.
9748
9749 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
9750 <grub/reader.h> and <grub/parser.h>.
9751 (grub_load_normal_mode): Execute normal command.
9752 (grub_main): Call grub_register_core_commands,
9753 grub_register_rescue_parser and grub_register_rescue_reader, use
9754 grub_reader_loop to enter input loop.
9755
7dd4a573 9756 * kern/parser.c (grub_parser_split_cmdline): Change type of
9757 getline parameter.
d558e6b5 9758 (grub_parser_class): New variable.
9759 (grub_parser_execute): New function.
9760
9761 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
9762 * loader/multiboot2.c: Likewise.
9763 * loader/sparc64/ieee1275/linux.c: Likewise.
9764
9765 * util/grub-emu.c (read_command_list): New dummy function.
9766
18db813d 97672009-05-02 Robert Millan <rmh.grub@aybabtu.com>
9768
9769 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
9770 count to 16 for CCISS and IDA.
9771
6c67de15 97722009-05-02 Robert Millan <rmh.grub@aybabtu.com>
9773
9774 * normal/menu_text.c (grub_wait_after_message): Print a newline
9775 after waiting for user input.
9776
9777 * loader/i386/linux.c: Include `<grub/normal.h>'.
9778 (grub_cmd_linux): Improve the error message about `ask' mode, by
9779 waiting for user input so it's not missed (we can do this, since
9780 user requested interaction).
9781
d9dc87b0 97822009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9783
9784 Added missing lst to grub-mkrescue
9785
9786 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
9787 and ${input_dir}/parttool.lst
9788
ac8a2baa 97892009-04-30 David S. Miller <davem@davemloft.net>
9790
ad22a610 9791 * util/hostdisk.c (device_is_wholedisk): New function.
9792 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
9793 zero only if device_is_wholedisk() returns true.
9794
6966215d 9795 * util/hostdisk.c (convert_system_partition_to_system_disk):
9796 Handle virtual disk devices named /dev/vdiskX as found on sparc
9797 and powerpc.
9798
ac8a2baa 9799 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
9800 lettered partition specifier is found, convert to numbered.
9801
979b4fb4 98022009-04-29 David S. Miller <davem@davemloft.net>
9803
e2bf39b2 9804 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
9805 * include/grub/sparc64/ieee1275/memory.h: Likewise.
9806
3c64e104 9807 * normal/command.c: Add missing newline at end of file.
9808
979b4fb4 9809 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
9810 warnings.
9811 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
9812 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
9813 grub_ofdisk_read): Likewise, and deal similarly with the fact that
9814 ihandles have a 32-bit type but need to be stored in a "void *".
9815
136d9f82 98162009-04-28 Pavel Roskin <proski@gnu.org>
9817
9459c306 9818 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
9819 not disk. Adjust all dependencies.
2e08a26a 9820 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 9821 grub_disk_close().
9822
136d9f82 9823 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
9824 parent's partition, don't copy it by reference, as it gets freed
9825 on close.
9826
7dd4a573 98272009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 9828
9829 Preboot hooks support
9830
9831 * commands/boot.c (struct grub_preboot_t): new declaration
9832 (preboots_head): new variable
9833 (preboots_tail): likewise
9834 (grub_loader_register_preboot_hook): new function
9835 (grub_loader_unregister_preboot_hook): likewise
9836 (grub_loader_set): launch preboot hooks
9837 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
9838 (grub_loader_register_preboot_hook): new declaration
9839 (grub_loader_unregister_preboot_hook): likewise
9840
5af922b5 98412009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
9842
9843 Warning fix
9844
7dd4a573 9845 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 9846 calling grub_dprintf
9847
a5562c30 98482009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9849
9850 Bug and warning fixes
9851
7dd4a573 9852 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 9853 declaration
9854 * commands/test.c (test_parse): fixed bug with file tests and corrected
9855 declaration of find_file
9856
4006f85c 98572009-04-26 Pavel Roskin <proski@gnu.org>
9858
9859 * Makefile.in: Don't install empty manual pages if help2man is
9860 missing. Use help2man option for output, not shell redirection.
9861
5c77c3de 98622009-04-26 David S. Miller <davem@davemloft.net>
9863
9864 * util/grub-mkdevicemap.c (make_device_map): Add missing
9865 NESTED_FUNC_ATTR to process_device().
9866
033b10a8 98672009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9868
9869 Test command
9870
9871 * commands/test.c: rewritten to use bash-like test
9872
e4343593 98732009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9874
9875 Parttool autoloading and improvements
9876
7dd4a573 9877 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 9878 (parttool.lst): new target
9879 * genmk.rb: generate parttool-*
9880 (CLEANFILES): add #{parttool}
9881 (PARTTOOLFILES): new variable
9882 * genparttoollist.sh: new file
7dd4a573 9883 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 9884 (grub_pcpart_type): likewise
9885 * commands/parttool.c (helpmsg): new variable
9886 (grub_cmd_parttool): output help if not enough arguments are supplied
9887 autoload modules
9888 (GRUB_MOD_INIT(parttool)): use helpmsg
9889
0d312500 98902009-04-24 David S. Miller <davem@davemloft.net>
9891
7dd4a573 9892 Avoiding opening same device multiple times in device iterator.
0d312500 9893
9894 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 9895 and use it to build a list of partitions in iterate_disk() and
0d312500 9896 iterate_partition().
9897
ac20caff 9898 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
9899 on disk->data.
9900
0dcf7495 9901 * disk/ieee1275/nand.c (grub_nand_iterate): Return
9902 grub_devalias_iterate() result instead of unconditional 0.
9903 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
9904 Also, capture hook return value, either directly or via
9905 grub_children_iterate(), and propagate to caller.
9906 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
9907 grub_children_iterate): Return value is now 'int' instead of
9908 'grub_err_t'.
9909 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
9910 like a proper iterator, stopping when hooks return non-zero.
9911 (grub_devalias_iterate): Likewise.
9912
c8c08833 99132009-04-23 David S. Miller <davem@davemloft.net>
9914
9915 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
9916
f01005a8 99172009-04-22 David S. Miller <davem@davemloft.net>
9918
9919 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
9920 is larger than address_cells, use that value for address_cells too.
9921
4e8269da 9922 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
9923 IEEE1275_MAX_PATH_LEN): Define.
9924 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
9925 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
9926 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
9927 'devtype'. Explicitly NULL terminate devalias expansion.
9928
a1447506 9929 * util/sparc64/ieee1275/misc.c: New file.
9930 * util/sparc64/ieee1275/grub-setup.c: New file.
9931 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
9932 * util/sparc64/ieee1275/grub-mkimage.c: New file.
9933 * util/sparc64/ieee1275/grub-install.in: New file.
9934 * util/ieee1275/ofpath.c: New file.
9935 * util/ieee1275/devicemap.c: New file.
9936 * util/devicemap.c: New file.
9937 * util/deviceiter.c: New file.
9938 * kern/sparc64/ieee1275/init.c: New file.
9939 * include/grub/util/ofpath.h: New file.
9940 * include/grub/util/deviceiter.h: New file.
9941 * util/grub-mkdevicemap.c: Include deviceiter.h.
9942 Implement using grub_util_emit_devicemap_entry and
9943 grub_util_iterate_devices.
9944 * conf/i386-corebook.rmk: Build util/deviceiter.c and
9945 util/devicemap.c into grub-mkdevicemap
9946 * conf/i386-efi.rmk: Likewise.
9947 * conf/i386-ieee1275.rmk: Likewise.
9948 * conf/i386-pc.rmk: Likewise.
9949 * conf/powerpc-ieee1275.rmk: Likewise.
9950 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
9951 images and installation utilities. Build kernel as image
9952 instead of as elf binary. Use common rules as much as possible.
9953
7dd4a573 99542009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 9955
9956 Correct GPT definition
9957
7dd4a573 9958 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 9959 of "attrib" member
9960
c6c5219f 99612009-04-19 Felix Zielcke <fzielcke@z-51.de>
9962
9963 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
9964
0552ff9f 99652009-04-19 David S. Miller <davem@davemloft.net>
9966
9967 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
9968 (grub_rescue_cmd_linux): Rename to...
9969 (grub_cmd_linux): and fix prototype.
9970 (grub_rescue_cmd_initrd): Rename to...
9971 (grub_cmd_initrd): and fix prototype.
9972 (cmd_linux, cmd_initrd): New.
9973 (GRUB_MOD_INIT(linux)): Use grub_register_command().
9974 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
9975
d1a282fc 99762009-04-17 Pavel Roskin <proski@gnu.org>
9977
07c5039f 9978 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
9979 format.
9980 (grub_ohci_transfer): Likewise.
9981
b012002d 9982 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
9983
1bc09c35 9984 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
9985 return without a value. Fix inconsistent indentation.
9986
e0ff9126 9987 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
9988 match struct grub_fs.
9989
d1a282fc 9990 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
9991 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
9992 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
9993 * commands/lspci.c (grub_lspci_iter): Likewise.
9994
a96df3f2 99952009-04-16 Bean <bean123ch@gmail.com>
9996
9997 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
9998 value.
9999
41bb0fe9 100002009-04-15 Pavel Roskin <proski@gnu.org>
10001
10002 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
10003 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
10004 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
10005 definitions.
10006
596c6970 100072009-04-15 Felix Zielcke <fzielcke@z-51.de>
10008
10009 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 10010 that no multiple data or metadata areas are supported and `Unknown
596c6970 10011 metadata header'.
10012
7dd4a573 100132009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 10014
10015 Move loader out of the kernel
10016
10017 * kern/loader.c: moved to ...
10018 * commands/boot.c: ... moved here
10019 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
10020 * commands/boot.c (grub_cmd_boot): moved here. All users updated
10021 * include/grub/kernel.h (grub_machine_fini): export
10022 * include/grub/loader.h (grub_loader_is_loaded): update declaration
10023 (grub_loader_set): likewise
10024 (grub_loader_unset): likewise
10025 (grub_loader_boot): likewise
10026 * conf/common.rmk: new module boot.mod
10027 (pkglib_MODULES): add boot.mod
10028 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
10029 (grub_emu_SOURCES): likewise
10030 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
10031 (grub_emu_SOURCES): likewise
10032 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
10033 (grub_emu_SOURCES): likewise
10034 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
10035 (grub_emu_SOURCES): likewise
10036 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
10037 (grub_emu_SOURCES): likewise
7dd4a573 10038 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
10039 (grub_emu_SOURCES): likewise
0d5d5653 10040 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 10041 (grub_emu_SOURCES): likewise
0d5d5653 10042
7dd4a573 100432009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 10044
10045 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 10046
5999d619 10047 * kern/misc.c (grub_itoa): Removed function
10048 (grub_ltoa): likewise
10049 (grub_vsprintf): use grub_lltoa
10050
7dd4a573 100512009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 10052
10053 Restore grub-emu
10054
10055 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
10056 * conf/i386-coreboot.rmk: likewise
10057 * conf/i386-ieee1275.rmk: likewise
10058 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 10059
20318222 100602009-04-15 Felix Zielcke <fzielcke@z-51.de>
10061
10062 * INSTALL: Add that `./autogen.sh' needs to be run before
10063 `./configure.'.
10064
d05f0df3 100652009-04-14 Bean <bean123ch@gmail.com>
10066
10067 * Makefile.in (pkglib_DATA): Add handler.lst.
10068 (handler.lst): New rule.
10069
10070 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
10071 * conf/i386-coreboot.rmk: Likewise.
10072 * conf/i386-ieee1275.rmk: Likewise.
10073 * conf/i386-efi.rmk: Likewise.
10074 * conf/x86_64-efi.rmk: Likewise.
10075 * conf/powerpc-ieee1275.rmk: Likewise.
10076 * conf/sparc64-ieee1275.rmk: Likewise.
10077
10078 * genhandlerlist.sh: New file.
10079
10080 * genmk.rb: Add rules to generate handler.lst.
10081
10082 * include/grub/normal.h (grub_file_getline): New function definition.
10083 (read_handler_list): Likewise.
10084 (free_handler_list): Likewise.
10085
10086 * include/grub/term.h (grub_term_register_input): Add name parameter
10087 for auto generation of handler.lst.
10088 (grub_term_register_output): Likewise.
10089
10090 * normal/handler.c: New file.
10091
10092 * normal/main.c (get_line): Renamed to grub_file_getline.
10093 (read_config_file): Use the newly renamed grub_file_getline.
10094 (read_command_list): Likewise.
10095 (read_fs_list): Likewise.
10096 (grub_normal_execute): Call read_handler_list to parse handler.lst.
10097 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
10098
10099 * term/efi/console.c (grub_console_init): Add name parameter for auto
10100 generation of handler.lst.
10101 * term/gfxterm.c: Likewise.
10102 * term/i386/pc/at_keyboard.c: Likewise.
10103 * term/i386/pc/console.c: Likewise.
10104 * term/i386/pc/serial.c: Likewise.
10105 * term/i386/pc/vesafb.c: Likewise.
10106 * term/i386/pc/vga.c: Likewise.
10107 * term/i386/pc/vga_text.c: Likewise.
10108 * term/ieee1275/ofconsole.c: Likewise.
10109 * term/usb_keyboard.c: Likewise.
10110
33c846be 101112009-04-14 Bean <bean123ch@gmail.com>
10112
10113 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
10114 properly with null character.
10115
4484e01e 101162009-04-14 Felix Zielcke <fzielcke@z-51.de>
10117
10118 * configure: Remove.
10119 * config.h.in: Likewise.
f93d668e 10120 * stamp-h.in: Likewise.
4484e01e 10121 * DISTLIST: Likewise.
10122 * conf/common.mk: Likewise.
10123 * conf/i386-coreboot.mk: Likewise.
10124 * conf/i386-efi.mk: Likewise.
10125 * conf/i386-ieee1275.mk: Likewise.
10126 * conf/i386.mk: Likewise.
10127 * conf/i386-pc.mk: Likewise.
10128 * conf/powerpc-ieee1275.mk: Likewise.
10129 * conf/sparc64-ieee1275.mk: Likewise.
10130 * conf/x86_64-efi.mk: Likewise.
10131
10132 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
10133 develop on GRUB.
10134
7dd4a573 101352009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 10136 David S. Miller <davem@davemloft.net>
10137
10138 * util/hostdisk.c (make_device_name): Fix buffer length
10139 calculations.
10140
e25b5a8c 101412009-04-14 Felix Zielcke <fzielcke@z-51.de>
10142
10143 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
10144 <sys/param.h> and <sys/sysctl.h>.
10145 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
10146 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
10147 opening the device and reset them afterwards.
10148
1f1f580c 101492009-04-13 Pavel Roskin <proski@gnu.org>
10150
10151 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
10152 Reported by John Stanley <jpsinthemix@verizon.net>
10153
7ebc2d6b 101542009-04-13 Robert Millan <rmh@aybabtu.com>
10155
10156 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 10157 that name for menuentries when appropriate.
7ebc2d6b 10158
d8ba3667 101592009-04-13 Felix Zielcke <fzielcke@z-51.de>
10160
10161 * util/grub.d/10_freebsd.in: Add a missing `fi'.
10162
cba416eb 101632009-04-13 Robert Millan <rmh@aybabtu.com>
10164
10165 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
10166 to Linux, simply abort telling the user it's no longer supported.
10167
a547a745 101682009-04-13 Felix Zielcke <fzielcke@z-51.de>
10169
10170 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 10171 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 10172 `freebsd_loadenv' only when devices.hints exist.
10173
232a769c 101742009-04-13 Pavel Roskin <proski@gnu.org>
10175
10176 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
10177
c3012039 101782009-04-13 Felix Zielcke <fzielcke@z-51.de>
10179
10180 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
10181 partition number.
10182 (grub_drive): Likewise.
10183
234022fe 101842009-04-13 David S. Miller <davem@davemloft.net>
10185
10186 * kern/sparc64/ieee1275/ieee1275.c: New file.
10187 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
10188 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
10189 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
10190 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
10191 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
10192 grub_ieee1275_alloc_physmem): Declare new exported functions.
10193
d8e1836c 10194 * include/grub/sparc64/ieee1275/loader.h: New file.
10195 * include/grub/sparc64/ieee1275/memory.h: Likewise.
10196 * include/grub/sparc64/kernel.h: Likewise.
10197 * loader/sparc64/ieee1275/linux.c: Likewise.
10198
96bd81ec 10199 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
10200 (grub_fstest_SOURCES): Likewise.
10201
6a4737e5 10202 * util/hostdisk.c (make_device_name): Do not make any assumptions
10203 about the length of drive names.
10204
1d7a72fd 10205 * kern/dl.c (grub_dl_load_file): Close file immediately when
10206 we are done using it.
10207
56bc2471 102082009-04-12 David S. Miller <davem@davemloft.net>
10209
10210 * kern/misc.c (grub_ltoa): Fix cast when handling negative
10211 values. Noticed by Pavel Roskin.
10212
df38d0bb 10213 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
10214 target compiler.
7dd4a573 10215
e382e93a 10216 * genmk.rb: Add more flexible image type specification, also
10217 pass --strip-unneeded to objcopy.
10218 * conf/i386-pc.rmk: Use *_FORMAT.
10219 * conf/i386-pc.mk: Rebuilt.
10220
f5dbbca9 10221 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
10222 (OFDISK_HASH_SZ): Define.
10223 (ofdisk_hash): New hash table.
10224 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
10225 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
10226 instead of device phandle which is not unique.
10227
91c88b12 10228 * kern/sparc64/ieee1275/init.c: Delete, replace with...
10229 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
10230 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
10231 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
10232 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
10233 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
10234 GRUB_KERNEL_MACHINE_DATA_END): Define.
10235 (grub_kernel_image_size, grub_total_module_size): Declare.
10236
5b5d4aa5 102372009-04-12 Pavel Roskin <proski@gnu.org>
10238
7dd4a573 10239 * configure.ac: Change the logic when we check for target tools.
10240 Do it when the target is specified and it's different from the
10241 specified value of the host.
5b5d4aa5 10242
c91e1793 102432009-04-11 Felix Zielcke <fzielcke@z-51.de>
10244
10245 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
10246 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
10247 GNU/kFreeBSD. Check if a device is a character device. Use
10248 DIOCGMEDIASIZE to get the size.
10249 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
10250 support for GNU/kFreeBSD.
10251 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
10252 is a character device instead of a block device. Add support for
10253 FreeBSD device names.
10254
10255 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
10256 is a character device instead of a block device.
10257
10258 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
10259 is a character device instead of a block device.
10260
b1ac8644 102612009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
10262
10263 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
10264 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
10265 FreeBSD. Check if a device is a character device. Use
10266 DIOCGMEDIASIZE to get the size.
10267 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
10268 support for FreeBSD.
10269 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
10270 is a character device instead of a block device. Add support for
10271 FreeBSD device names.
10272
10273 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
10274 a character device instead of a block device.
10275 (grub_util_check_char_device): New function.
10276
10277 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
10278 a character device instead of a block device.
10279
10280 * include/grub/util/getroot.h (grub_util_check_char_device): New
10281 prototype.
10282
a3f7515a 102832009-04-11 David S. Miller <davem@davemloft.net>
10284
10285 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
10286 static libgcc.
10287 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
10288 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
10289 function, if present.
10290 (__bswapdi2): Likewise.
10291
0d44993d 10292 * include/grub/sparc64/ieee1275/boot.h: New file.
10293 * boot/sparc64/ieee1275/boot.S: Likewise.
10294 * boot/sparc64/ieee1275/diskboot.S: Likewise.
10295
ed3d2bc2 10296 * kern/misc.c (grub_ltoa): New function.
10297 (grub_vsprintf): Use it to format 'long' integers.
10298
d3bfb59c 102992009-04-10 David S. Miller <davem@davemloft.net>
10300
10301 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
10302 slots are of type grub_ieee1275_cell_t.
10303 (grub_nand_read): Likewise.
10304 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
10305 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
10306 macros are used to compare values in arg/ret block of the call.
10307 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
10308 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
10309 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
10310 grub_ieee1275_instance_to_path, grub_ieee1275_write,
10311 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
10312 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
10313 grub_ieee1275_close, grub_ieee1275_set_property,
10314 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
10315 grub_ieee1275_cell_t.
10316 * kern/ieee1275/openfw.c (grub_map): Likewise.
10317 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
10318 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
10319
450e2238 10320 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
10321 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
10322 (grub_devalias_iterate): Likewise.
10323
7dd4a573 103242009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 10325
10326 UFS improvements
10327
10328 * fs/ufs.c (INODE_NBLOCKS): new definition
10329 (struct grub_ufs_dirent): added fields for non-BSD dirents
10330 (grub_ufs_get_file_block): fixed double indirect handling
10331 (grub_ufs_lookup_symlink): use more robust way to determine whether
10332 symlink is inline
10333 (grub_ufs_find_file): support for non-BSD dirents
10334 (grub_ufs_dir): support for non-BSD dirents
10335
e7e6862a 103362009-04-10 Bean <bean123ch@gnail.com>
10337
10338 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
10339 attribute, otherwise the size would be wrong for i386 platform.
10340
10341 * include/grub/pci.h (grub_pci_read_word): New inline function.
10342 (grub_pci_read_byte): Likewise.
10343 (grub_pci_write): Likewise.
10344 (grub_pci_write_word): Likewise.
10345 (grub_pci_write_byte): Likewise.
10346
10347 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
10348
10349 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
10350 (find_framebuf): Scan pci to locate the frame buffer address.
10351
10352 * commands/efi/fixvideo.c: New file.
10353
10354 * commands/efi/loadbios.c: Likewise.
10355
10356 * commands/memrw.c: Likewise.
10357
10358 * util/grub-dumpbios.in: Likewise.
10359
10360 * conf/common.rmk (grub-dumpbios): New utility.
10361 (pkglib_MODULES): New module memrw.mod.
10362 (memrw_mod_SOURCE): New macro.
10363 (memrw_mod_CFLAGS): Likewise.
10364 (memrw_mod_LDFLAGS): Likewise.
10365
7dd4a573 10366 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 10367 fixvideo.mod.
10368 (loadbios_mod_SOURCE): New macro.
10369 (loadbios_mod_CFLAGS): Likewise.
10370 (loadbios_mod_LDFLAGS): Likewise.
10371 (fixvideo_mod_SOURCE): Likewise.
10372 (fixvideo_mod_CFLAGS): Likewise.
10373 (fixvideo_mod_LDFLAGS): Likewise.
10374
7dd4a573 10375 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 10376 fixvideo.mod.
10377 (loadbios_mod_SOURCE): New macro.
10378 (loadbios_mod_CFLAGS): Likewise.
10379 (loadbios_mod_LDFLAGS): Likewise.
10380 (fixvideo_mod_SOURCE): Likewise.
10381 (fixvideo_mod_CFLAGS): Likewise.
10382 (fixvideo_mod_LDFLAGS): Likewise.
10383
af63ada2 103842009-04-08 Felix Zielcke <fzielcke@z-51.de>
10385
10386 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
10387
c2cdde70 103882009-04-07 David S. Miller <davem@davemloft.net>
10389
10390 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
10391 support for R_SPARC_OLO10 relocations. Fix compile warning for
10392 R_SPARC_WDISP30 case.
ea3f72cf 10393 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 10394
761319cf 103952009-04-06 Pavel Roskin <proski@gnu.org>
10396
1007d1f5 10397 * include/grub/misc.h (ARRAY_SIZE): New macro.
10398 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
10399 New macro.
10400 * loader/i386/linux.c (allocate_pages): Use free_pages().
10401 (grub_linux_unload): Don't use free_pages().
10402 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
10403 wrong index. Treat all other modes as text modes.
10404 (grub_cmd_linux): Initialize vid_mode unconditionally to
10405 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
10406
761319cf 10407 * commands/help.c (print_command_help): Use cmd->prio, not
10408 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
10409
ea761d40 104102009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 10411
ea761d40 10412 Parttool
10413
10414 * parttool/pcpart.c: new file
10415 * commands/parttool.c: likewise
10416 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
10417 (parttool_mod_SOURCES): new variable
10418 (parttool_mod_CFLAGS): likewise
10419 (parttool_mod_LDFLAGS): likewise
10420 (pcpart_mod_SOURCES): likewise
10421 (pcpart_mod_CFLAGS): likewise
10422 (pcpart_mod_LDFLAGS): likewise
7dd4a573 10423 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 10424 and parttool/pcpart.c
10425 * conf/i386-efi.rmk: likewise
10426 * conf/i386-ieee1275.rmk: likewise
10427 * conf/i386-pc.rmk: likewise
10428 * conf/powerpc-ieee1275.rmk: likewise
10429 * conf/sparc64-ieee1275.rmk: likewise
10430 * conf/x86_64-ieee1275.rmk: likewise
10431
05aaebfb 104322009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
10433
10434 Support for mtime and further expandability of dir command
10435
10436 * include/grub/lib/datetime.h: moved to ...
7dd4a573 10437 * include/grub/datetime.h: ... moved here and added
05aaebfb 10438 declaration of grub_unixtime2datetime. All users updated
7dd4a573 10439 * include/grub/fs.h: new syntax for dir and mtime functions in
10440 struct grub_fs
05aaebfb 10441 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
10442 and GRUB_FSHELP_FLAGS_MASK
10443 * commands/ls.c (grub_ls_list_files): Write mtime in long format
10444 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
10445 (grub_ext2_mtime): new function
10446 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
10447 (grub_hfsplus_mtime): new function
10448 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
10449 (GRUB_UFS_ATTR_FILE): likewise
10450 (GRUB_UFS_ATTR_LNK): likewise
10451 (struct grub_ufs_sblock): new fields mtime
10452 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
10453 all users updated
10454 (grub_ufs_dir): mtime support
10455 (grub_ufs_mtime): new function
10456 * fs/affs.c (grub_affs_dir): use new dir syntax
10457 * fs/afs.c (grub_afs_dir): likewise
10458 * fs/cpio.c (grub_cpio_dir): likewise
10459 * fs/fat.c (grub_fat_find_dir): likewise
10460 * fs/hfs.c (grub_hfs_dir): likewise
10461 * fs/iso9660.c (grub_iso9660_dir): likewise
10462 * fs/jfs.c (grub_jfs_dir): likewise
10463 * fs/minix.c (grub_minix_dir): likewise
10464 * fs/ntfs.c (grub_ntfs_dir): likewise
10465 * fs/reiserfs.c (grub_reiserfs_dir): likewise
10466 * fs/sfs.c (grub_sfs_dir): likewise
10467 * fs/xfs.c (grub_xfs_dir): likewise
10468 * util/hostfs.c (grub_hostfs_dir): likewise
10469 * lib/datetime.c: moved to ...
10470 * normal/datetime.c: ... moved here
10471 (grub_unixtime2datetime): new function
10472 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 10473 * normal/completion.c (iterate_dir): use new dir syntax
10474 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 10475 last modification time of a volume
7dd4a573 10476 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 10477 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 10478 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 10479 (normal_mod_SOURCES): likewise
10480 (datetime_mod_SOURCES): Removed lib/datetime.c
10481 * conf/i386-efi.rmk: likewise
7dd4a573 10482 * conf/i386-ieee1275.rmk: likewise
05aaebfb 10483 * conf/i386-pc.rmk: likewise
10484 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 10485 * conf/sparc64-ieee1275.rmk: likewise
10486 * conf/x86_64-efi.rmk: likewise
05aaebfb 10487
8a7e1a14 104882009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
10489
10490 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 10491
10492 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 10493 on grub_fat_find_dir
10494 (grub_fat_find_dir): use grub_fat_iterate_dir
10495 (grub_fat_label): likewise
10496
04186a9c 104972009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10498
7dd4a573 10499 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 10500 and command.h
10501 remove extraneous kernel_elf_HEADERS
10502
da4c0bb6 105032009-04-04 Bean <bean123ch@gnail.com>
10504
10505 * include/grub/util/misc.h: Add dummy function fsync for mingw.
10506
10507 * util/misc.c: Likewise.
10508
54ad9555 105092009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
10510
10511 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
10512 instead of grub_printf.
10513
7a6bf9f2 105142009-04-03 Robert Millan <rmh@aybabtu.com>
10515
10516 * loader/i386/linux.c (grub_linux_setup_video): Fill
10517 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
10518 values from `mode info' structure instead of hardcoded
10519 values.
10520
3fcc2083 105212009-04-01 Pavel Roskin <proski@gnu.org>
10522
10523 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
10524 unused now.
10525 * genmk.rb: Likewise.
10526 * configure.ac: Likewise.
10527
5ec9740b 105282009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
10529
10530 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
10531 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
10532
5270cec8 105332009-04-01 David S. Miller <davem@davemloft.net>
10534
10535 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 10536 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 10537 (grub_setjmp): Mark with 'returns_twice' attribute.
10538 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
10539 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
10540 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
10541
9c3dd854 105422009-04-01 Robert Millan <rmh@aybabtu.com>
10543
10544 Reapply fix from 2008-07-28 which was accidentally reverted; also
10545 perform the same fix to a similar check in same function.
10546
10547 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
10548 with the same number are found, just use issue a warning with
10549 grub_dprintf(), as this error has been reported to be non-fatal.
10550
0d818b7e 105512009-03-31 Pavel Roskin <proski@gnu.org>
10552
10553 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
10554 for cross-compilation.
10555
95646d92 105562009-03-30 Robert Millan <rmh@aybabtu.com>
10557
10558 Fix i386-ieee1275 build.
10559
10560 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
10561 Remove declaration.
10562
6a003ed1 105632009-03-30 Pavel Roskin <proski@gnu.org>
10564
10565 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
10566 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
10567 zero-terminated, rely only on the strlen value. Fix comparison
10568 of strings differing in length.
10569
92f33540 105702009-03-30 Robert Millan <rmh@aybabtu.com>
10571
10572 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
10573 checking for abi version. Improve error messages on BIOS to notify
10574 user about `linux16' command.
10575
a8c48fd5 105762009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10577
f968172e 10578 Leak fixes
a8c48fd5 10579
f968172e 10580 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
10581 in case of collision
10582 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 10583
9c323f09 105842009-03-29 Robert Millan <rmh@aybabtu.com>
10585
10586 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
10587 set `vid_mode' accordingly.
10588 (grub_linux_boot): Process `vid_mode' and set video mode.
10589
ae68f423 105902009-03-29 Robert Millan <rmh@aybabtu.com>
10591
10592 * util/grub.d/10_linux.in (linux_entry): New function.
10593 Factorize generation of Linux boot entries.
10594
5709cfc4 105952009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
10596
10597 Make the format of Environment Block plain text. The boot loader
10598 part is not tested well yet.
7dd4a573 10599
5709cfc4 10600 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
10601 (buffer): Removed.
10602 (envblk): Likewise.
10603 (usage): Remove "info" and "clear". Add "unset". Update the
10604 description of "set", as this does not delete variables any
10605 longer.
10606 (create_envblk_file): Complete rewrite.
10607 (open_envblk_file): Likewise.
10608 (cmd_info): Removed.
10609 (cmd_list): Likewise.
10610 (cmd_set): Likewise.
10611 (cmd_clear): Likewise.
10612 (list_variables): New function.
10613 (write_envblk): Likewise.
10614 (set_variables): Likewise.
10615 (unset_variables): Likewise.
10616 (main): Complete rewrite.
10617
10618 * commands/loadenv.c (buffer): Removed.
10619 (envblk): Likewise.
10620 (open_envblk_file): New function.
10621 (read_envblk_file): Complete rewrite.
10622 (grub_cmd_load_env): Likewise.
10623 (grub_cmd_list_env): Likewise.
10624 (struct blocklist): New struct.
10625 (free_blocklists): New function.
10626 (check_blocklists): Likewise.
10627 (write_blocklists): Likewise.
10628 (grub_cmd_save_env): Complete rewrite.
10629
10630 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
10631 a plain text signature.
10632 (GRUB_ENVBLK_MAXLEN): Removed.
10633 (struct grub_envblk): Complete rewrite.
10634 (grub_envblk_find): Removed.
10635 (grub_envblk_insert): Likewise.
10636 (grub_envblk_open): New prototype.
10637 (grub_envblk_set): Likewise.
10638 (grub_envblk_delete): Put const to VALUE.
10639 (grub_envblk_iterate): Put const to NAME and VALUE.
10640 (grub_envblk_close): New prototype.
10641 (grub_envblk_buffer): New inline function.
10642 (grub_envblk_size): Likewise.
10643
10644 * lib/envblk.c: Include grub/mm.h.
10645 (grub_env_find): Removed.
10646 (grub_envblk_open): New function.
10647 (grub_envblk_close): Likewise.
10648 (escaped_value_len): Likewise.
10649 (find_next_line): Likewise.
10650 (grub_envblk_insert): Removed.
10651 (grub_envblk_set): New function.
10652 (grub_envblk_delete): Complete rewrite.
10653 (grub_envblk_iterate): Likewise.
10654
a9368fd3 106552009-03-28 Robert Millan <rmh@aybabtu.com>
10656
10657 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
10658 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
10659 variables. Use 16-bit loader.
10660 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
10661 loader.
10662 * kern/i386/loader.S (grub_linux_boot): Rename to ...
10663 (grub_linux16_boot): ... this. Update all users.
10664 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
10665 (grub_linux_boot): ... this. Update all users.
10666
10667 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
10668 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
10669 commands to `linux16' and `initrd16'.
10670 (GRUB_MOD_FINI(linux)): Rename to ...
10671 (GRUB_MOD_FINI(linux16)): ... this.
10672
e4dd5a7e 106732009-03-24 Pavel Roskin <proski@gnu.org>
10674
10675 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
10676 not just for compilation.
10677
c04d6e05 106782009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
10679
10680 Move multiboot helper out of kernel
10681
10682 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
10683 `loader/i386/multiboot_helper.S'.
10684 * conf/i386-coreboot.rmk: Likewise
10685 * conf/i386-ieee1275.rmk: Likewise
10686
10687 * kern/i386/loader.S: Move multiboot helpers from here...
10688 * loader/i386/multiboot_helper.S: ...moved here
10689 * include/grub/i386/loader.h: Move declarations of multiboot
10690 helpers from here...
10691 * include/grub/i386/multiboot.h: ...moved here
10692 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
10693
42a5b3fc 106942009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
10695
10696 * kern/env.c (grub_env_context_open): Added an argument to specify
10697 whether a new context inherits exported variables from current
10698 one. This is useful when making a sandbox to interpret a config
10699 file.
10700 All callers updated.
10701
10702 * include/grub/env.h (grub_env_context_open): Updated the prototype.
10703
b28bbc4e 107042009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
10705
10706 * kern/env.c (grub_env_context_close): Fix memory leaks.
10707
f04f02e4 107082009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
10709
10710 * normal/main.c (grub_normal_execute): Added an argument
10711 BATCH to specify if an interactive interface should be provided
10712 after reading a config file.
10713 All callers updated.
10714 (read_command_list): Prevent being executed twice.
10715 (read_fs_list): Likewise.
10716
42a5b3fc 10717 * include/grub/normal.h (grub_normal_execute): Updated the
10718 prototype.
f04f02e4 10719
41473ac2 107202009-03-22 Pavel Roskin <proski@gno.org>
10721
fbc00b0c 10722 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
10723 _start.
10724 * kern/i386/pc/startup.S: Likewise.
10725 * kern/i386/efi/startup.S: Likewise.
10726 * kern/i386/ieee1275/startup.S: Likewise.
10727 * kern/i386/coreboot/startup.S: Likewise.
10728 * kern/x86_64/efi/startup.S: Likewise.
10729
41473ac2 10730 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
10731 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
10732 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
10733
2274cc8f 107342009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
10735
10736 Bugfixes in multiboot for bugs uncovered by solaris kernel.
10737
10738 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
10739 limit detection.
10740 Use vaddr of correct segment for entry_point.
10741
b1b797cb 107422009-03-21 Bean <bean123ch@gmail.com>
10743
10744 * commands/blocklist.c: Add include file <grub/command.h>, remove
10745 <grub/normal.h> and <grub/arg.h>.
10746 (grub_cmd_blocklist): Use the new command interface.
10747 (GRUB_MOD_INIT): Likewise.
10748 (GRUB_MOD_FINI): Likewise.
10749 * commands/boot.c: Likewise.
10750 * commands/cat.c: Likewise.
10751 * commands/cmp.c: Likewise.
10752 * commands/configfile.c: Likewise.
10753 * commands/crc.c: Likewise.
10754 * commands/echo.c: Likewise.
10755 * commands/halt.c: Likewise.
10756 * commands/handler.c: Likewise.
10757 * commands/hdparm.c: Likewise.
10758 * commands/help.c: Likewise.
10759 * commands/hexdump.c: Likewise.
10760 * commands/loadenv.c: Likewise.
10761 * commands/ls.c: Likewise.
10762 * commands/lsmmap.c: Likewise.
10763 * commands/lspci.c: Likewise.
10764 * commands/loadenv.c: Likewise.
10765 * commands/read.c: Likewise.
10766 * commands/reboot.c: Likewise.
10767 * commands/search.c: Likewise.
10768 * commands/sleep.c: Likewise.
10769 * commands/test.c: Likewise.
10770 * commands/usbtest.c: Likewise.
10771 * commands/videotest.c: Likewise.
10772 * commands/i386/cpuid.c: Likewise.
10773 * commands/i386/pc/halt.c: Likewise.
10774 * commands/i386/pc/play.c: Likewise.
10775 * commands/i386/pc/pxecmd.c: Likewise.
10776 * commands/i386/pc/vbeinfo.c: Likewise.
10777 * commands/i386/pc/vbetest.c: Likewise.
10778 * commands/ieee1275/suspend.c: Likewise.
10779 * disk/loopback.c: Likewise.
10780 * font/font_cmd.c: Likewise.
10781 * hello/hello.c: Likewise.
10782 * loader/efi/appleloader.c: Likewise.
10783 * loader/efi/chainloader.c: Likewise.
10784 * loader/i386/bsd.c: Likewise.
10785 * loader/i386/efi/linux.c: Likewise.
10786 * loader/i386/ieee1275/linux.c: Likewise.
10787 * loader/i386/linux.c: Likewise.
10788 * loader/i386/pc/chainloader.c: Likewise.
10789 * loader/i386/pc/linux.c: Likewise.
10790 * loader/powerpc/ieee1275/linux.c: Likewise.
10791 * loader/multiboot_loader.c: Likewise.
10792 * term/gfxterm.c: Likewise.
10793 * term/i386/pc/serial.c: Likewise.
10794 * term/terminfo.c: Likewise.
10795
10796 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
10797 * term/i386/pc/vga.c: Likewise.
10798 * video/readers/jpeg.c: Likewise.
10799 * video/readers/png.c: Likewise.
10800 * video/readers/tga.c: Likewise.
10801
10802 * util/grub-fstest (cmd_loopback): Removed.
10803 (cmd_blocklist): Likewise.
10804 (cmd_ls): Likewise.
10805 (grub_register_command): Likewise.
10806 (grub_unregister_command): Likewise.
10807 (execute_command): Use grub_command_find to locate command and execute
10808 it.
10809
10810 * include/grub/efi/chainloader.h: Removed.
10811 * loader/efi/chainloader_normal.c: Likewise.
10812 * loader/i386/bsd_normal.c: Likewise.
10813 * loader/i386/pc/chainloader_normal.c: Likewise.
10814 * loader/i386/pc/multiboot_normal.c: Likewise.
10815 * loader/linux_normal.c: Likewise.
10816 * loader/multiboot_loader_normal.c: Likewise.
10817 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
10818
10819 * gencmdlist.sh: Scan new registration command grub_register_extcmd
10820 and grub_register_command_p1.
10821
10822 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
10823 kern/command.c, lib/arg.c and commands/extcmd.c.
10824 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
10825 (minicmd_mod_SOURCES): New variable.
10826 (minicmd_mod_CFLAGS): Likewise.
10827 (minicmd_mod_LDFLAGS): Likewise.
10828 (extcmd_mod_SOURCES): Likewise.
10829 (extcmd_mod_CFLAGS): Likewise.
10830 (extcmd_mod_LDFLAGS): Likewise.
10831 (boot_mod_SOURCES): Removed.
10832 (boot_mod_CFLAGS): Likewise.
10833 (boot_mod_LDFLAGS): Likewise.
10834
10835 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
10836 kern/corecmd.c.
10837 (kernel_img_HEADERS): Add command.h.
10838 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
10839 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
10840 and lib/arg.c.
10841 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
10842 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
10843 remove the corresponding normal mode command.
10844 (normal_mod_SOURCES): Remove normal/arg.c.
10845 * conf/i386-coreboot.rmk: Likewise.
10846 * conf/i386-efi.rmk: Likewise.
10847 * conf/i386-ieee1275.rmk: Likewise.
10848 * conf/powerpc-ieee1275.rmk: Likewise.
10849 * conf/x86_64-efi.rmk: Likewise.
10850
10851 * include/grub/arg.h: Move from here ...
10852 * include/grub/lib/arg.h: ... to here.
10853
10854 * normal/arg.c: Move from here ...
10855 * lib/arg.c: ... to here.
10856
10857 * commands/extcmd.c: New file.
10858 * commands/minicmd.c: Likewise.
10859 * include/grub/command.h: Likewise.
10860 * include/grub/extcmd.h: Likewise.
10861 * kern/command.c: Likewise.
10862 * kern/corecmd.c: Likewise.
10863
10864 * kern/list.c (grub_list_iterate): Return int instead of void.
10865 (grub_list_insert): New function.
10866 (grub_prio_list_insert): Likewise.
10867
10868 * kern/rescue.c (grub_rescue_command): Removed.
10869 (grub_rescue_command_list): Likewise.
10870 (grub_rescue_register_command): Likewise.
10871 (grub_rescue_unregister_command): Likewise.
10872 (grub_rescue_cmd_boot): Move to minicmd.c
10873 (grub_rescue_cmd_help): Likewise.
10874 (grub_rescue_cmd_info): Likewise.
10875 (grub_rescue_cmd_boot): Likewise.
10876 (grub_rescue_cmd_testload): Likewise.
10877 (grub_rescue_cmd_dump): Likewise.
10878 (grub_rescue_cmd_rmmod): Likewise.
10879 (grub_rescue_cmd_lsmod): Likewise.
10880 (grub_rescue_cmd_exit): Likewise.
10881 (grub_rescue_print_devices): Moved to corecmd.c.
10882 (grub_rescue_print_files): Likewise.
10883 (grub_rescue_cmd_ls): Likewise.
10884 (grub_rescue_cmd_insmod): Likewise.
10885 (grub_rescue_cmd_set): Likewise.
10886 (grub_rescue_cmd_unset): Likewise.
7d074e3c 10887 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 10888 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 10889 commands, remove grub_rescue_register_command calls.
b1b797cb 10890
7d074e3c 10891 * normal/command.c (grub_register_command): Removed.
b1b797cb 10892 (grub_unregister_command): Likewise.
10893 (grub_command_find): Likewise.
10894 (grub_iterate_commands): Likewise.
10895 (rescue_command): Likewise.
10896 (export_command): Moved to corecmd.c.
10897 (set_command): Removed.
10898 (unset_command): Likewise.
10899 (insmod_command): Likewise.
10900 (rmmod_command): Likewise.
10901 (lsmod_command): Likewise.
10902 (grub_command_init): Likewise.
10903
10904 * normal/completion.c (iterate_command): Use cmd->prio to check for
10905 active command.
10906 (complete_arguments): Use grub_extcmd_t structure to find options.
10907 (grub_normal_do_completion): Change function grub_iterate_commands to
10908 grub_command_iterate.
10909
10910 * normal/execute.c (grub_script_execute_cmd): No need to parse
10911 argument here.
10912
10913 * normal/main.c (grub_dyncmd_dispatcher): New function.
10914 (read_command_list): Register unload commands as dyncmd.
10915 (grub_cmd_normal): Use new command interface, register rescue,
10916 unregister normal at entry, register normal, unregister rescue at exit.
10917
10918 * include/grub/list.h (grub_list_test_t): New type.
10919 (grub_list_iterate): Return int instead of void.
10920 (grub_list_insert): New function.
10921 (GRUB_AS_NAMED_LIST_P): New macro.
10922 (GRUB_AS_PRIO_LIST): Likewise.
10923 (GRUB_AS_PRIO_LIST_P): Likewise.
10924 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
10925 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
10926 (grub_prio_list): New structure.
10927 (grub_prio_list_insert): New function.
10928 (grub_prio_list_remove): New inline function.
10929
10930 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
10931 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
10932 (GRUB_COMMAND_FLAG_MENU): Likewise.
10933 (GRUB_COMMAND_FLAG_BOTH): Likewise.
10934 (GRUB_COMMAND_FLAG_TITLE): Likewise.
10935 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
10936 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
10937 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
10938 (grub_command): Likewise.
10939 (grub_register_command): Likewise.
10940 (grub_command_find): Likewise.
10941 (grub_iterate_commands): Likewise.
10942 (grub_command_init): Likewise.
10943 (grub_arg_parse): Likewise.
10944 (grub_arg_show_help): Likewise.
10945
10946 * include/grub/rescue.h (grub_rescue_register_command): Removed.
10947 (grub_rescue_unregister_command): Likewise.
10948
10949 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
10950 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
10951 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
10952
10953 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
10954 grub_rescue_cmd_initrd.
10955 * include/grub/i386/loader.h: Likewise.
10956 * include/grub/x86_64/loader.h: Likewise.
10957
10958 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
10959
1f4147aa 109602009-03-21 Bean <bean123ch@gmail.com>
10961
10962 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
10963 instead of stat in mingw environment.
10964
10965 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
10966
10967 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
10968
10969 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
10970 AC_CONFIG_LINKS.
10971
2156d5ba 109722009-03-21 Bean <bean123ch@gmail.com>
10973
10974 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
10975 out of range error.
10976
177b82ca 109772009-03-18 Michel Dänzer <michel@daenzer.net>
10978
10979 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
10980 checking inode flags for EXT4_EXTENTS_FLAG.
10981
14aad807 109822009-03-18 Robert Millan <rmh@aybabtu.com>
10983
10984 * loader/i386/linux.c: Include `<grub/video.h>' and
10985 `<grub/i386/pc/vbe.h>'..
10986 (grub_linux_setup_video): New function. Loosely based on the EFI one.
10987 (grub_linux32_boot): Attempt to configure video settings with
10988 grub_linux_setup_video().
10989 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
10990 to avoid grub_console_fini() which would step out of graphical mode
10991 unconditionally.
10992
8cf83a27 109932009-03-14 Robert Millan <rmh@aybabtu.com>
10994
10995 Fix build on powerpc.
10996 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
10997
40164e75 109982009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
10999
11000 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
11001 background image command.
11002
c58bc32a 110032009-03-12 Colin D Bennett <colin@gibibit.com>
11004
11005 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
11006 (grub_gfxterm_putchar): Extract pairs of identical calls to
11007 draw_cursor out of conditional blocks.
11008
5415144a 110092009-03-11 Pavel Roskin <proski@gnu.org>
11010
11011 * fs/hfs.c (grub_hfs_strncasecmp): New function.
11012 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
11013
6394042e 110142009-03-11 Robert Millan <rmh@aybabtu.com>
11015
11016 * loader/i386/multiboot_elfxx.c
11017 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
11018
b7b50e5f 110192009-03-11 Felix Zielcke <fzielcke@z-51.de>
11020
11021 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
11022 `kern/handler.c'.
11023
1ca7fc96 110242009-03-11 Robert Millan <rmh@aybabtu.com>
11025
11026 * loader/i386/multiboot.c (code_size): New variable.
11027 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 11028 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 11029 4-byte alignment to MBI and others by increasing
7d074e3c 11030 `boot_loader_name_length' appropriately.
1ca7fc96 11031
11032 * loader/i386/multiboot_elfxx.c
11033 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
11034
a83ea1d2 110352009-03-09 Felix Zielcke <fzielcke@z-51.de>
11036
11037 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
11038 `fs/ext2.c'.
11039
aa9f3bff 110402009-03-08 Robert Millan <rmh@aybabtu.com>
11041
11042 Make loader/i386/linux.c usable on i386-pc again.
11043
11044 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
11045 memory to heap.
11046 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
11047 `#error' stanza.
11048
d8b3b60e 110492009-03-07 Bean <bean123ch@gmail.com>
11050
11051 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
11052 allocation.
11053
b362c9e9 110542009-03-06 Robert Millan <rmh@aybabtu.com>
11055
11056 Fix display issue on terminals with screen size other than 80x25
11057 (e.g. gfxterm with resolution higher than 640x480).
11058
11059 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 11060 position relative to the center of the terminal instead of relying
b362c9e9 11061 on a hardcoded offset.
11062
9304eef1 110632009-03-04 Robert Millan <rmh@aybabtu.com>
11064
11065 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
11066 installed.
11067
11068 * Makefile.in (host_kernel): New variable.
11069 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
11070 scripts instead of just the windows one.
11071 * configure.ac: Initialize and AC_SUBST `host_kernel'.
11072
eabc95fb 110732009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 11074
11075 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
11076 `kern/handler.c'.
11077 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11078 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11079 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
11080 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11081 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11082 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11083
ceb1223c 110842009-03-04 Felix Zielcke <fzielcke@z-51.de>
11085
11086 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
11087 or if there's no space for the disk label and print the partition number on a
11088 invalid magic.
11089
4910684a 110902009-03-04 Felix Zielcke <fzielcke@z-51.de>
11091
11092 * util/misc.c: Include <time.h>.
11093 (grub_millisleep): New function.
11094
7e9ca17a 110952009-03-04 Bean <bean123ch@gmail.com>
11096
11097 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
11098 another option -mno-red-zone.
11099
11100 * commands/handler.c: Change module description.
11101
11102 * kern/handler.c: Add missing space at the end of description line.
11103
11104 * kern/list.c: Likewise.
11105
f501677c 111062009-03-03 Robert Millan <rmh@aybabtu.com>
11107
11108 Move more components to the relocation area, and fix mbi pointer
11109 handling to use the destination rather than the origin (thanks to
11110 Vladimir Serbinenko for spotting).
11111
11112 * loader/i386/multiboot.c (mbi_dest): New variable.
11113 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
11114 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
11115 relocation area.
11116
9902d047 111172009-03-01 Bean <bean123ch@gmail.com>
11118
50fb7002 11119 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 11120 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
11121 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
11122 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
11123
11124 * loader/i386/efi/linux.c (acpi_guid): New variable.
11125 (acpi_guid): Likewise.
11126 (EBDA_SEG_ADDR): New constant.
11127 (LOW_MEM_ADDR): Likewise.
11128 (FAKE_EBDA_SEG): Likewise.
11129 (fake_bios_data): New function.
11130 (grub_linux_boot): Call fake_bios_data.
11131
71b9f361 111322009-03-01 Bean <bean123ch@gmail.com>
11133
11134 * commands/terminal.c: Removed.
11135
11136 * commands/handler.c: New file.
11137
11138 * include/grub/list.h: Likewise.
11139
11140 * include/grub/handler.h: Likewise.
11141
11142 * kern/list.c: Likewise.
11143
11144 * kern/handler.c: Likewise.
11145
11146 * kern/term.h: Include header file <grub/handler.h>.
11147 (grub_term_input): Move next field to the beginning.
11148 (grub_term_output): Likewise.
11149 (grub_term_input_class): New variable.
11150 (grub_term_output_class): Likewise.
11151 (grub_term_register_input): Changed to inline function.
11152 (grub_term_register_output): Likewise.
11153 (grub_term_unregister_input): Likewise.
11154 (grub_term_unregister_output): Likewise.
11155 (grub_term_set_current_input): Likewise.
11156 (grub_term_set_current_output): Likewise.
11157 (grub_term_get_current_input): Likewise.
11158 (grub_term_get_current_output): Likewise.
11159 (grub_term_iterate_input): Removed.
11160 (grub_term_iterate_output): Likewise.
11161
11162 * kern/term.c (grub_term_list_input): Removed.
11163 (grub_term_list_output): Likewise.
11164 (grub_term_input_class): New variable.
11165 (grub_term_output_class): Likewise.
50fb7002 11166 (grub_cur_term_input): Change variable as macro.
71b9f361 11167 (grub_cur_term_output): Likewise.
11168 (grub_term_register_input): Removed.
11169 (grub_term_register_output): Likewise.
11170 (grub_term_unregister_input): Likewise.
11171 (grub_term_unregister_output): Likewise.
11172 (grub_term_set_current_input): Likewise.
11173 (grub_term_set_current_output): Likewise.
11174 (grub_term_iterate_input): Likewise.
11175 (grub_term_iterate_output): Likewise.
11176 (grub_term_get_current_input): Likewise.
11177 (grub_term_get_current_output): Likewise.
11178
11179 * util/grub-editenv.c: Include header file <grub/handler.h>.
11180 (grub_term_get_current_input): Removed.
11181 (grub_term_get_current_output): Likewise.
11182 (grub_term_input_class): New variable.
50fb7002 11183 (grub_term_output_class): Likewise.
71b9f361 11184
11185 * util/grub-fstest.c (grub_term_get_current_input): Removed.
11186 (grub_term_get_current_output): Likewise.
11187 (grub_term_input_class): New variable.
50fb7002 11188 (grub_term_output_class): Likewise.
71b9f361 11189
11190 * util/grub-probe.c (grub_term_get_current_input): Removed.
11191 (grub_term_get_current_output): Likewise.
11192 (grub_term_input_class): New variable.
50fb7002 11193 (grub_term_output_class): Likewise.
71b9f361 11194
11195 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
11196 (grub_term_get_current_output): Likewise.
11197 (grub_term_input_class): New variable.
50fb7002 11198 (grub_term_output_class): Likewise.
71b9f361 11199
11200 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
11201 (terminal_mod_SOURCES): Likewise.
11202 (terminal_mod_CFLAGS): Likewise.
11203 (terminal_mod_LDFLAGS): Likewise.
11204
11205 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
11206 handler.c.
11207 (kernel_img_SOURCES): Add list.c and handler.c.
11208 (kernel_img_HEADERS): Add list.h and handler.h.
11209
11210 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
11211 handler.c.
11212 (kernel_mod_SOURCES): Add list.c and handler.c.
11213 (kernel_mod_HEADERS): Add list.h and handler.h.
11214
11215 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
11216 handler.c.
11217 (kernel_elf_SOURCES): Add list.c and handler.c.
11218 (kernel_elf_HEADERS): Add list.h and handler.h.
11219
11220 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
11221 handler.c.
11222 (kernel_elf_SOURCES): Add list.c and handler.c.
11223 (kernel_elf_HEADERS): Add list.h and handler.h.
11224
11225 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
11226 handler.c.
11227 (kernel_mod_SOURCES): Add list.c and handler.c.
11228 (kernel_mod_HEADERS): Add list.h and handler.h.
11229
11230 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
11231 handler.c.
11232 (kernel_elf_SOURCES): Add list.c and handler.c.
11233 (kernel_elf_HEADERS): Add list.h and handler.h.
11234
8a31787f 112352009-02-27 Robert Millan <rmh@aybabtu.com>
11236
11237 Factorize elf32 / elf64 code in Multiboot loader. This will
11238 prevent it from getting out of sync again.
11239
11240 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
11241 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
11242 grub_multiboot_load_elf64): Move from here ...
11243 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
11244 grub_multiboot_load_elf): ... to here (new file).
11245
51cd3dfc 112462009-02-27 Robert Millan <rmh@aybabtu.com>
11247
11248 * util/grub.d/10_linux.in: Rename "single-user mode" to
11249 "recovery mode".
11250
6e8c9c3a 112512009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11252
11253 Don't leak in SCSI code.
11254 * disk/scsi.c (grub_scsi_close): free `scsi'.
11255
4b6bf4f9 112562009-02-27 Robert Millan <rmh@aybabtu.com>
11257
11258 * loader/i386/pc/multiboot.c: Move from here ...
11259 * loader/i386/multiboot.c: ... to here. Update all users.
11260
b9413424 112612009-02-27 Robert Millan <rmh@aybabtu.com>
11262
11263 Patch from Alexandre Bique <bique.alexandre@gmail.com>
11264 * util/i386/pc/grub-setup.c (setup): Fix directory path.
11265
50fb7002 112662009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 11267
11268 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
11269 b-tree.
11270
8cc50345 112712009-02-27 Robert Millan <rmh@aybabtu.com>
11272
11273 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
11274 `0x' qualifier as 0 when base is specified as parameter).
11275
6e09b8b7 112762009-02-24 Bean <bean123ch@gmail.com>
11277
11278 * configure.ac: Check for -mcmodel=large in x86_64 target.
11279
11280 * include/grub/efi/api.h (efi_call_10): New macro.
11281 (efi_wrap_10): New function.
11282
11283 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
11284 (GRUB_PE32_REL_BASED_HIGH): Likewise.
11285 (GRUB_PE32_REL_BASED_LOW): Likewise.
11286 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
11287 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
11288 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
11289 (GRUB_PE32_REL_BASED_SECTION): Likewise.
11290 (GRUB_PE32_REL_BASED_REL): Likewise.
11291 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
11292 (GRUB_PE32_REL_BASED_DIR64): Likewise.
11293 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
11294
11295 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
11296 issue.
11297
11298 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
11299 (efi_wrap_10): New function.
11300
11301 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
11302
11303 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
11304 MB/MBP model (NV chipset).
11305 (devdata_devs): Add devpath_5 to the list.
11306
11307 * load/i386/efi/linux.c (video_base): Remove variable.
11308 (RGB_MASK): New macro.
11309 (RGB_MAGIC): Likewise.
11310 (LINE_MIN): Likewise.
11311 (LINE_MAX): Likewise.
11312 (FBTEST_STEP): Likewise.
11313 (FBTEST_COUNT): Likewise.
11314 (fb_list): New variable.
11315 (grub_find_video_card): Remove function.
11316 (find_framebuf): New function.
11317 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
11318 line length.
11319
11320 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
11321 problem for x86_64.
11322
74b21bee 113232009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
11324
11325 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
11326
11327 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
11328 coding tool name.
11329
a455f472 113302009-02-22 Robert Millan <rmh@aybabtu.com>
11331
11332 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
11333 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
11334 in our relocation, instead of using it directly from heap. Also
11335 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
11336
6374daf3 113372009-02-21 Robert Millan <rmh@aybabtu.com>
11338
11339 Implement USB keyboard support (based on patch by Marco Gerards)
11340
11341 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
11342 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
11343 (usb_keyboard_mod_LDFLAGS): New variables.
11344
11345 * term/usb_keyboard.c: New file.
11346
8fa4ea70 113472009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
11348
11349 Corrected wrong declaration
11350
11351 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
11352
353976ac 113532009-02-14 Christian Franke <franke@computer.org>
11354
11355 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
11356 (grub_lspci_iter): Print class code and programming interface byte.
11357
6aa1169b 113582009-02-14 Christian Franke <franke@computer.org>
11359
11360 * gendistlist.sh: Ignore `.svn' directories.
11361
265372ca 113622009-02-14 Felix Zielcke <fzielcke@z-51.de>
11363
11364 * fs/fat.c: Add 2009 to Copyright line.
11365
9ff516f3 113662009-02-14 Christian Franke <franke@computer.org>
11367
11368 * commands/hdparm.c: New file. Provides `hdparm' command
11369 which sends ATA commands via grub_disk_ata_pass_through ().
11370
11371 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
11372
11373 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
11374 and <grub/cpu/io.h> to include/grub/ata.h.
11375 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
11376 (GRUB_CDROM_SECTOR_SIZE): Remove.
11377 (GRUB_ATA_*): Move to include/grub/ata.h.
11378 (GRUB_ATAPI_*): Likewise.
11379 (enum grub_ata_commands): Likewise.
11380 (enum grub_ata_timeout_milliseconds): Likewise.
11381 (struct grub_ata_device): Likewise.
11382 (grub_ata_regset): Likewise.
11383 (grub_ata_regget): Likewise.
11384 (grub_ata_regset2): Likewise.
11385 (grub_ata_regget2): Likewise.
11386 (grub_ata_check_ready): Likewise.
11387 (grub_ata_wait_not_busy): Remove static, exported in
11388 include/grub/ata.h.
11389 (grub_ata_wait_drq): Likewise.
11390 (grub_ata_pio_read): Likewise.
11391
11392 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
11393 function for hdparm.mod.
11394
11395 * include/grub/ata.h: New file, contains declarations from
11396 disk/ata.c.
11397 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
11398
11399 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
11400 (grub_disk_ata_pass_through): New exported variable.
11401
11402 * kern/disk.c (grub_disk_ata_pass_through): New variable.
11403
772e23da 114042009-02-13 Colin D Bennett <colin@gibibit.com>
11405
11406 Support multiple fallback entries, and provide an API to support
11407 executing default+fallback menu entries. Renamed the `terminal' menu
11408 viewer to `text'.
11409
11410 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
11411 variable declaration.
11412 (grub_menu_execute_callback): New structure declaration.
11413 (grub_menu_execute_callback_t): New typedef.
11414 (grub_menu_execute_with_fallback): New function declaration.
11415 (grub_menu_get_entry): Likewise.
11416 (grub_menu_get_timeout): Likewise.
11417 (grub_menu_set_timeout): Likewise.
11418
11419 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
11420
11421 * normal/menu.c (grub_wait_after_message): Moved to
11422 `normal/menu_text.c'.
11423 (draw_border): Likewise.
11424 (print_message): Likewise.
11425 (print_entry): Likewise.
11426 (print_entries): Likewise.
11427 (grub_menu_init_page): Likewise.
11428 (get_entry_number): Likewise.
11429 (print_timeout): Likewise.
11430 (run_menu): Likewise.
11431 (grub_menu_execute_entry): Likewise.
11432 (show_text_menu): Likewise.
11433 (get_and_remove_first_entry_number): New function.
11434 (grub_menu_execute_with_fallback): Likewise.
11435 (get_entry): Renamed to ...
11436 (grub_menu_get_entry): .. this and made it global.
11437 (get_timeout): Renamed to ...
11438 (grub_menu_get_timeout): ... this and made it global.
11439 (set_timeout): Renamed to ...
11440 (grub_menu_set_timeout): ... this and made it global.
11441 (grub_normal_terminal_menu_viewer): Renamed to ...
11442 (grub_normal_text_menu_viewer): ... this.
11443
11444 * normal/menu_text.c: New file. Extracted text-menu-specific code
11445 from normal/menu.c.
11446
11447 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
11448 (normal_mod_SOURCES): Likewise.
11449
11450 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11451 (normal_mod_SOURCES): Likewise.
11452
11453 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11454 (normal_mod_SOURCES): Likewise.
11455
11456 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
11457 (normal_mod_SOURCES): Likewise.
11458
11459 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11460 (normal_mod_SOURCES): Likewise.
11461
11462 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11463 (normal_mod_SOURCES): Likewise.
11464
11465 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11466 (normal_mod_SOURCES): Likewise.
11467
16ac430e 114682009-02-11 Robert Millan <rmh@aybabtu.com>
11469
11470 * util/grub.d/00_header.in: Update old reference to `font' command.
11471
06ff20fc 114722009-02-10 Felix Zielcke <fzielcke@z-51.de>
11473
11474 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
11475
11476 Based on patch from Javier MartĂ­n.
11477
96da9407 114782009-02-09 Felix Zielcke <fzielcke@z-51.de>
11479
11480 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 11481 to avoid false positives with FAT.
96da9407 11482 (grub_fstest_SOURCES): Likewise.
11483 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
11484 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11485 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11486 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
11487 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11488 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11489
6dca6fe4 114902009-02-09 Felix Zielcke <fzielcke@z-51.de>
11491
06ff20fc 11492 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 11493 bpb.version_specific.fat12_or_fat16.fstype and
11494 bpb.version_specific.fat32.fstype.
11495
2550c62f 114962009-02-08 Robert Millan <rmh@aybabtu.com>
11497
be110b30 11498 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 11499
56978920 115002009-02-08 Robert Millan <rmh@aybabtu.com>
11501
11502 * Makefile.in (host_os, host_cpu): New variables.
11503 (target_os): Remove. Update all users.
11504
d64399b5 115052009-02-08 Marco Gerards <marco@gnu.org>
11506
11507 * Makefile.in (enable_grub_emu_usb): New variable.
11508 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
11509 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
11510 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
11511 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
11512 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
11513 `usbtest.mod' and `usbms.mod'.
11514 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
11515 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
11516 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
11517 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
11518 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
11519 variables.
11520
11521 * disk/usbms.c: New file.
11522
11523 * include/grub/usb.h: Likewise.
11524
11525 * include/grub/usbtrans.h: Likewise.
11526
11527 * include/grub/usbdesc.h: Likewise.
11528
11529 * bus/usb/usbtrans.c: Likewise.
11530
11531 * bus/usb/ohci.c: Likewise.
11532
11533 * bus/usb/uhci.c: Likewise.
11534
11535 * bus/usb/usbhub.c: Likewise.
11536
11537 * bus/usb/usb.c: Likewise.
11538
11539 * commands/usbtest.c: Likewise.
11540
11541 * util/usb.c: Likewise.
50fb7002 11542
d64399b5 11543 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
11544
11545 * configure.ac: Test for libusb presence.
50fb7002 11546
d64399b5 11547 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
11548
2b40d6bb 115492009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
11550
11551 * kern/mm.c: Add more comments.
11552
73a4ce81 115532009-02-08 Robert Millan <rmh@aybabtu.com>
11554
11555 Patch from Javier MartĂ­n.
11556 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
11557 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
11558
f821ce59 115592009-02-08 Robert Millan <rmh@aybabtu.com>
11560
11561 * fs/cpio.c: Split tar functionality to ...
11562 * fs/tar.c: ... here (new file). Update all users.
11563
aebfc4b0 115642009-02-07 Robert Millan <rmh@aybabtu.com>
11565
11566 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
11567 backward-incompatible features.
11568
11569 Based on patch from Javier MartĂ­n, with some adjustments.
11570
50fb7002 115712009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 11572
11573 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
11574
0bb5115e 115752009-02-07 Robert Millan <rmh@aybabtu.com>
11576
11577 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
11578 position of `disk/lvm.c' to ensure grub_init_all() always picks it
11579 after the RAID stuff.
11580
38a0f8e7 115812009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
11582
50fb7002 11583 Fixes problem when running vbetest command as reported by
38a0f8e7 11584 Vladimir Serbinenko <phcoder@gmail.com>.
11585
11586 * (grub_vbe_set_video_mode): Fixed problem with text modes.
11587
3143cc1c 115882009-02-04 Felix Zielcke <fzielcke@z-51.de>
11589
11590 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
11591 /dev/md/NpN style mdraid devices.
11592
9cba6fce 115932009-02-03 Felix Zielcke <fzielcke@z-51.de>
11594
11595 * util/unifont2pff.rb: Remove.
11596
e507a2c1 115972009-02-03 Felix Zielcke <fzielcke@z-51.de>
11598
11599 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
11600 `#'.
11601
d2c2b4cd 116022009-02-03 Felix Zielcke <fzielcke@z-51.de>
11603
11604 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
11605 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11606 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11607 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
11608 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11609 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11610 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11611
b4315fb0 116122009-02-02 Christian Franke <franke@computer.org>
11613
11614 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
11615
de3aa260 116162009-02-01 Felix Zielcke <fzielcke@z-51.de>
11617
7c3ff286 11618 * INSTALL: Note that we now require at least autoconf 2.59 and
11619 that LZO is optional.
de3aa260 11620
825a182b 116212009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
11622
11623 Base on patch on bug #24154 created by Tomas Tintera
11624 <trosos@seznam.cz>.
11625
11626 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
11627
a69ef770 116282009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
11629
7c3ff286 11630 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 11631 <bero@arklinux.org>.
11632
11633 * normal/parser.y (script_init): Add missing semicolon.
11634
6fa42fa6 116352009-01-31 Colin D Bennett <colin@gibibit.com>
11636
7c3ff286 11637 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 11638 (free_menu_entry_classes): Added.
11639 (grub_normal_menu_addentry): Added class property handling.
11640 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
11641 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
11642
11643 * normal/menu_viewer.c: New file.
11644
11645 * normal/menu.c (run_menu_entry): Renamed to ...
11646 (grub_menu_execute_entry): ... this and made it as global.
11647 (grub_menu_run): Renamed to ...
11648 (show_text_menu): ... this and made it local.
11649 (show_text_menu): Adapt to new function names.
11650 (grub_normal_terminal_menu_viewer): New global variable.
11651
11652 * include/grub/menu.h: New file.
11653
11654 * include/grub/menu_viewer.h: New file.
11655
11656 * include/grub/normal.h: Added include to grub/menu.h.
11657 (grub_menu_entry): Moved to include/grub/menu.h.
11658 (grub_menu_entry_t): Likewise.
11659 (grub_menu): Likewise.
11660 (grub_menu_t): Likewise.
11661 (grub_normal_terminal_menu_viewer): Added.
11662 (grub_menu_execute_entry): Likewise.
11663 (grub_menu_run): Removed.
11664
11665 * DISTLIST: Added include/grub/menu.h.
11666 Added include/grub/menu_viewer.h.
11667 Added normal/menu_viewer.c.
11668
116692009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
11670
11671 * normal/execute.c (grub_script_execute_menuentry): Changed to use
11672 arglist for menutitle arguments.
11673
11674 * normal/main.c (grub_normal_menu_addentry): Likewise.
11675
11676 * normal/parser.y (menuentry): Likewise.
11677
11678 * normal/script.c (grub_script_create_cmdmenu): Likewise.
11679
11680 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
11681 (grub_script_create_cmdmenu): Likewise.
11682
11683 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
11684
11685 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
11686 changes.
11687
11688 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
11689
11690 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
11691
11692 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
11693
11694 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
11695
11696 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
11697
11698 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
11699
56192c23 117002009-01-30 Christian Franke <franke@computer.org>
11701
11702 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
11703 in option help text.
11704
d72521b3 117052009-01-27 Pavel Roskin <proski@gnu.org>
11706
11707 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
11708
994b5e84 117092009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
11710
11711 * commands/lsmmap.c: Add include to grub/machine/memory.h.
11712
11713 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
11714
11715 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
11716 unregister function.
11717
6a7eab2c 117182009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
11719
11720 * disk/scsi.c (grub_scsi_read): Fix sign problem.
11721
11722 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
11723
11724 * util/grub-mkfont.c (usage): Fix typo.
11725
11726 * util/elf/grub-mkimage.c (load_modules): Fix warning.
11727
1806b56e 117282009-01-26 Daniel Mierswa <impulze@impulze.org>
11729
3fb18f09 11730 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
11731
336e1fb9 11732 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
11733
1806b56e 11734 * kern/misc.c (grub_strcasecmp): New function.
11735 (grub_strcasecmp): Use grub_size_t instead of int for length.
11736 Fix return value.
11737 * include/grub/misc.h: Update function prototypes.
11738
580b2a0f 117392009-01-26 Robert Millan <rmh@aybabtu.com>
11740
11741 * configure.ac: Fix cross-compilation check.
ef257b36 11742
d31c24f1 117432009-01-22 Christian Franke <franke@computer.org>
11744
11745 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
11746 (precision) digit string. Allow `.format2' without `format1' (width).
11747 Limit input chars for `%s' output to `format2' if specified. This is
11748 compatible with standard printf ().
11749
3138b44c 117502009-01-22 Christian Franke <franke@computer.org>
11751
11752 * disk/ata.c (grub_ata_wait_status): Replace by ...
11753 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
11754 other status bits may be invalid while BSY is asserted.
11755 (grub_ata_check_ready): New function.
11756 (grub_ata_cmd): Removed.
11757 (grub_ata_wait_drq): New function.
11758 (grub_ata_strncpy): Remove inline.
11759 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
11760 and error check now done by grub_ata_wait_drq ().
11761 (grub_ata_pio_write): Likewise.
11762 (grub_atapi_identify): Set DEV before check for !BSY. Use
11763 grub_ata_wait_drq () to wait for data.
11764 (grub_ata_device_initialize): Add status register check to
11765 detect missing SATA slave devices. Add debug messages.
11766 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
11767 (grub_atapi_packet): Set DEV before check for !BSY. Replace
11768 transfer loop by grub_ata_pio_write ().
11769 (grub_ata_identify): Set DEV before check for !BSY. Use
11770 grub_ata_wait_drq () to wait for data.
ef257b36 11771 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 11772 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
11773 read/write in one loop. Fix invalid command on write. Fix incomplete
11774 command on (size % batch) == 0. Add missing error check after write of
11775 last block. Add debug messages.
11776 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
11777
59a64ef6 117782009-01-19 Christian Franke <franke@computer.org>
11779
11780 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
11781 (GRUB_ATAPI_IREASON_*): Likewise.
11782 (grub_ata_pio_write): Fix timeout error return.
11783 (grub_atapi_identify): Add grub_ata_wait () after cmd.
11784 (grub_atapi_wait_drq): New function.
11785 (grub_atapi_packet): New parameter `size'.
11786 Use grub_atapi_wait_drq () and direct write instead of
11787 grub_ata_pio_write ().
11788 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
11789 reads the number of bytes requested by the device for each DRQ
11790 assertion.
11791 (grub_atapi_write): Remove old implementation, return not
11792 implemented instead.
11793
1cfe20b3 117942009-01-19 Christian Franke <franke@computer.org>
11795
11796 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
11797 of 512 to calculate data size.
11798 (grub_scsi_read12): Likewise.
11799 (grub_scsi_write10): Likewise.
11800 (grub_scsi_write12): Likewise.
11801 (grub_scsi_read): Adjust size according to blocksize.
11802 Add checks for invalid blocksize and unaligned transfer.
11803
bee5fe5d 118042009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
11805
11806 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
11807
ef257b36 11808 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 11809 width glyphs.
11810
3e643f8c 118112009-01-19 Robert Millan <rmh@aybabtu.com>
11812
11813 * config.guess: Update to latest version from config git.
11814 * config.sub: Likewise.
11815
4fa80998 118162009-01-17 Felix Zielcke <fzielcke@z-51.de>
11817
11818 * Makefile.in: Change font compilation to use new grub-mkfont instead
11819 of java version.
11820
11821 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
11822 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
11823 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
11824 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
11825 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
11826 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
11827 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
11828 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
11829 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
11830
7086085b 118312009-01-16 Christian Franke <franke@computer.org>
11832
11833 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
11834 (enum grub_ata_timeout_milliseconds): New enum.
11835 (grub_ata_wait_status): Add parameter milliseconds.
11836 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
11837 recovery from timed-out commands.
11838 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
11839 return grub_errno instead of REG_ERROR.
11840 (grub_ata_pio_write): Add parameter milliseconds.
11841 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
11842 Pass milliseconds to grub_ata_wait_status () and
11843 grub_ata_pio_read ().
11844 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
11845 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
11846 grub_ata_wait_status (). Fix IDENTIFY timeout check.
11847 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
11848 It is not suitable for device detection, because DEV bit is ignored,
11849 the command may run too long, and not all devices set the signature
11850 properly.
11851 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
11852 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
11853 Fix device selection, DEV bit must be set first to address the registers
11854 of the correct device.
11855 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
11856 grub_ata_pio_read/write ().
11857 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
11858 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
11859
4a412913 118602009-01-13 Carles Pina i Estany <carles@pina.cat>
11861
11862 * util/grub-editenv.c (main): Use fseeko(), not fseek().
11863
7795c55e 118642009-01-13 Bean <bean123ch@gmail.com>
d913988c 11865
11866 * util/grub-mkfont.c (write_font): forget to remove some debug code.
11867
7795c55e 118682009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 11869
11870 * Makefile.in: (enable_grub_mkfont): New variable.
11871 (freetype_cflags): Likewise.
11872 (freetype_libs): Likewise.
11873
11874 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
11875 (grub_mkfont_SOURCES): New variable.
11876 (grub_mkfont_CFLAGS): Likewise.
11877 (grub_mkfont_LDFLAGS): Likewise.
11878
11879 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
11880 library if `--enable-grub-mkfont' is requested.
11881 (enable_grub_mkfont): New variable.
11882 (freetype_cflags): Likewise.
11883 (freetype_libs): Likewise.
11884
11885 * util/grub-mkfont.c: New file.
11886
093af1fe 118872009-01-12 Christian Franke <franke@computer.org>
11888
11889 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
11890 mode check. Fix setting of compat_use[].
11891
f36cc108 118922009-01-10 Robert Millan <rmh@aybabtu.com>
11893
11894 Update a few copyright years which we forgot to do in 2008 (only for
11895 files whose changes made in 2008 were copyright-significant)
11896
11897 * Makefile.in: Add 2008 to Copyright line.
11898 * disk/ieee1275/ofdisk.c: Likewise.
11899 * disk/efi/efidisk.c: Likewise.
11900 * kern/dl.c: Likewise.
11901 * kern/sparc64/ieee1275/init.c: Likewise.
11902 * kern/mm.c: Likewise.
11903 * kern/efi/mm.c: Likewise.
11904 * boot/i386/pc/boot.S: Likewise.
11905 * genfslist.sh: Likewise.
11906 * fs/iso9660.c: Likewise.
11907 * fs/hfs.c: Likewise.
11908 * fs/jfs.c: Likewise.
11909 * fs/minix.c: Likewise.
11910 * fs/ufs.c: Likewise.
11911 * gensymlist.sh.in: Likewise.
11912 * genkernsyms.sh.in: Likewise.
11913 * include/grub/misc.h: Likewise.
11914 * include/grub/types.h: Likewise.
11915 * include/grub/symbol.h: Likewise.
11916 * include/grub/elf.h: Likewise.
11917 * include/grub/kernel.h: Likewise.
11918 * include/grub/disk.h: Likewise.
11919 * include/grub/dl.h: Likewise.
11920 * include/grub/i386/linux.h: Likewise.
11921 * include/grub/i386/pc/biosdisk.h: Likewise.
11922 * include/grub/efi/api.h: Likewise.
11923 * include/grub/efi/pe32.h: Likewise.
11924 * include/grub/util/misc.h: Likewise.
11925 * normal/execute.c: Likewise.
11926 * normal/arg.c: Likewise.
11927 * normal/completion.c: Likewise.
11928 * normal/lexer.c: Likewise.
11929 * normal/parser.y: Likewise.
11930 * normal/misc.c: Likewise.
11931 * commands/i386/pc/vbeinfo.c: Likewise.
11932 * commands/hexdump.c: Likewise.
11933 * commands/terminal.c: Likewise.
11934 * commands/ls.c: Likewise.
11935 * commands/help.c: Likewise.
11936 * partmap/pc.c: Likewise.
11937 * loader/efi/chainloader.c: Likewise.
11938 * loader/multiboot_loader.c: Likewise.
11939 * loader/i386/pc/multiboot2.c: Likewise.
11940 * term/efi/console.c: Likewise.
11941 * term/i386/pc/serial.c: Likewise.
11942 * util/lvm.c: Likewise.
11943 * util/console.c: Likewise.
11944 * util/i386/efi/grub-mkimage.c: Likewise.
11945 * util/raid.c: Likewise.
11946
7f02114b 119472009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
11948
11949 * commands/videotest.c: Removed include to grub/machine/memory.h.
11950
11951 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
11952 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
11953 (video_mod_SOURCES): Removed.
11954 (video_mod_CFLAGS): Likewise.
11955 (video_mod_LDFLAGS): Likewise.
11956 (gfxterm_mod_SOURCES): Likewise.
11957 (gfxterm_mod_CFLAGS): Likewise.
11958 (gfxterm_mod_LDFLAGS): Likewise.
11959 (videotest_mod_SOURCES): Likewise.
11960 (videotest_mod_CFLAGS): Likewise.
11961 (videotest_mod_LDFLAGS): Likewise.
11962 (bitmap_mod_SOURCES): Likewise.
11963 (bitmap_mod_CFLAGS): Likewise.
11964 (bitmap_mod_LDFLAGS): Likewise.
11965 (tga_mod_SOURCES): Likewise.
11966 (tga_mod_CFLAGS): Likewise.
11967 (tga_mod_LDFLAGS): Likewise.
11968 (jpeg_mod_SOURCES): Likewise.
11969 (jpeg_mod_CFLAGS): Likewise.
11970 (jpeg_mod_LDFLAGS): Likewise.
11971 (png_mod_SOURCES): Likewise.
11972 (png_mod_CFLAGS): Likewise.
11973 (png_mod_LDFLAGS): Likewise.
11974
11975 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
11976 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
11977 (video_mod_SOURCES): Added.
11978 (video_mod_CFLAGS): Likewise.
11979 (video_mod_LDFLAGS): Likewise.
11980 (videotest_mod_SOURCES): Likewise.
11981 (videotest_mod_CFLAGS): Likewise.
11982 (videotest_mod_LDFLAGS): Likewise.
11983 (bitmap_mod_SOURCES): Likewise.
11984 (bitmap_mod_CFLAGS): Likewise.
11985 (bitmap_mod_LDFLAGS): Likewise.
11986 (tga_mod_SOURCES): Likewise.
11987 (tga_mod_CFLAGS): Likewise.
11988 (tga_mod_LDFLAGS): Likewise.
11989 (jpeg_mod_SOURCES): Likewise.
11990 (jpeg_mod_CFLAGS): Likewise.
11991 (jpeg_mod_LDFLAGS): Likewise.
11992 (png_mod_SOURCES): Likewise.
11993 (png_mod_CFLAGS): Likewise.
11994 (png_mod_LDFLAGS): Likewise.
11995 (gfxterm_mod_SOURCES): Likewise.
11996 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 11997 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 11998
11999 * term/gfxterm.c: Removed include to grub/machine/memory.h,
12000 grub/machine/console.h.
12001
644fff97 120022009-01-04 Jerone Young <jerone@gmail.com>
12003
12004 Make on screen instructions clearer
12005
12006 Based on patch created by Jidanni <jidanni@jidanni.org>
12007
12008 * normal/menu.c: print clearer instructions on the screen
12009
1e901a75 120102009-01-02 Colin D Bennett <colin@gibibit.com>
12011
12012 New font engine.
34c44600 12013
1e901a75 12014 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
12015 build system and fixed gfxterm.c to work with different sized fonts.
12016
12017 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 12018
1e901a75 12019 * configure: Re-generated.
34c44600 12020
1e901a75 12021 * DISTLIST: Removed font/manager.c.
12022 Added font/font.c.
12023 Added font/font_cmd.c.
34c44600 12024
1e901a75 12025 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
12026 compilation.
34c44600 12027
1e901a75 12028 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 12029
12030 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 12031
12032 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 12033
1e901a75 12034 * normal/menu.c: Likewise.
34c44600 12035
1e901a75 12036 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
12037 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 12038
1e901a75 12039 * include/grub/font.h: Replaced with new file.
34c44600 12040
1e901a75 12041 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
12042 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
12043 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
12044 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
12045 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 12046 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 12047 fg_red, fg_green, fg_blue, fg_alpha.
12048 (grub_video_adapter): Removed blit_glyph.
34c44600 12049 (grub_video_blit_glyph): Removed.
12050
1e901a75 12051 * font/manager.c: Removed file.
34c44600 12052
12053 * font/font.c: New file.
12054
1e901a75 12055 * font/font_cmd.c: Likewise.
34c44600 12056
1e901a75 12057 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 12058
1e901a75 12059 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
12060 (grub_video_vbe_map_rgba): Likewise.
12061 (grub_video_vbe_unmap_color_int): Likewise.
12062 (grub_video_vbe_blit_glyph): Removed.
12063 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 12064
1e901a75 12065 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
12066 (get_pixel): Likewise.
34c44600 12067 (set_pixel): Likewise.
12068
1e901a75 12069 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 12070
1e901a75 12071 * term/gfxterm.c: Adapted to new font engine.
34c44600 12072
1e901a75 12073 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 12074
1e901a75 12075 * term/i386/pc/vga.c: Likewise.
34c44600 12076
1e901a75 12077 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 12078
1e901a75 12079 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 12080
1e901a75 12081 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 12082
1e901a75 12083 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 12084
1e901a75 12085 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 12086
1e901a75 12087 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 12088
1e901a75 12089 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 12090
1e901a75 12091 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 12092
1e901a75 12093 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
12094
12095 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 12096
1e901a75 12097 * util/grub-mkconfig_lib.in: Changed font extension.
12098
278922e8 120992008-12-28 Felix Zielcke <fzielcke@z-51.de>
12100
12101 * util/getroot.c (grub_util_get_grub_dev): Add support for
12102 /dev/md/dNNpNN style partitionable mdraid devices.
12103
3ced05cf 121042008-12-12 Alex Smith <alex@alex-smith.me.uk>
12105
12106 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
12107 at a time limit of the PXE TFTP API correctly.
12108 (grub_pxefs_close): Likewise.
12109
7fd0ee30 121102008-11-29 Robert Millan <rmh@aybabtu.com>
12111
34c44600 12112 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 12113 grub_ata_device_initialize() calls.
12114
34c44600 121152008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 12116
12117 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
12118 iteration failed.
12119 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
12120
89313780 121212008-11-28 Robert Millan <rmh@aybabtu.com>
12122
12123 Fix build on powerpc-ieee1275. Based on patch created by
12124 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
12125 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
12126 `kern/ieee1275/mmap.c'.
12127 * include/grub/powerpc/ieee1275/memory.h: New file.
12128
15257703 12129 Provide grub-install on coreboot.
12130 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
12131 (grub_install_SOURCES): New variable.
12132 * util/i386/pc/grub-install.in: Add a few condition checks to make it
12133 usable on coreboot.
12134
9fc5388a 121352008-11-25 Felix Zielcke <fzielcke@z-51.de>
12136
12137 * util/grub-fstest.c (grub_term_get_current_input): Change return type
12138 to `grub_term_input_t'.
12139 (grub_term_get_current_output): Change return type to
12140 `grub_term_output_t'.
12141
bc3a2f31 121422008-11-22 Robert Millan <rmh@aybabtu.com>
12143
34c44600 12144 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 12145 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
12146 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
12147 grub_vga_text_cls().
12148
80fc88f2 12149 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 12150 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 12151
cbf36fd3 12152 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
12153 to 0x200000 (avoids trouble with some OFW implementations, and matches
12154 with the one in Yaboot).
12155 Reported by Manoel Abranches
12156
73e8e268 121572008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 12158
12159 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
12160 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
12161
73e8e268 12162 * util/grub-mkconfig_lib.in (grub_warn): New function.
12163 (convert_system_path_to_grub_path): Use grub_warn() when issuing
12164 warnings, to obtain consistent formatting.
12165 * util/grub.d/00_header.in: Likewise.
12166 * util/update-grub_lib.in: Likewise.
12167
e94045a1 12168 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 12169 Move comment text to `#error' stanza.
e94045a1 12170
79d29fd7 12171 Harmonize ieee1275's grub_available_iterate() with the generic
12172 grub_machine_mmap_iterate() interface (fixes a recently-introduced
12173 build problem on i386-ieee1275):
12174 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
12175 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
12176 parameter `type'. Update all users of this function.
12177 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
12178 `kern/ieee1275/mmap.c'.
12179 * kern/ieee1275/init.c
12180 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
12181 with ...
12182 (grub_machine_mmap_iterate): ... this.
12183 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
12184 return type to `grub_err_t'. Update all implementations of this
12185 function prototype.
12186 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
12187 Likewise.
12188
60d6b16e 12189 Add `lsmmap' command (lists firmware-provided memory map):
12190 * commands/lsmmap.c: New file.
12191 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
12192 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
12193 variables.
12194 * conf/powerpc-ieee1275.rmk: Likewise.
12195 * conf/i386-coreboot.rmk: Likewise.
12196 * conf/i386-ieee1275.rmk: Likewise.
12197
ebaaf49b 121982008-11-19 Robert Millan <rmh@aybabtu.com>
12199
12200 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 12201 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
12202 constraints to initrd allocation (based on code from
12203 loader/i386/pc/linux.c). Without them, initrd was allocated too high
12204 for Linux to find it.
ebaaf49b 12205
dfab719f 122062008-11-14 Robert Millan <rmh@aybabtu.com>
12207
12208 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
12209 order to cope with duplicate slashes.
12210
10fc3eb9 122112008-11-14 Robert Millan <rmh@aybabtu.com>
12212
12213 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
12214 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
12215 don't want to mess with lower memory, because it is used in the Linux
12216 loader.
12217
12218 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 12219 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 12220 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
12221 is in our heap (probably as a result of it being corrupted during
2f2a3442 12222 decompression). Add #error instance with comment to explain why this
12223 loader isn't currently usable on PC/BIOS.
10fc3eb9 12224
e2e07847 122252008-11-14 Robert Millan <rmh@aybabtu.com>
12226
12227 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 12228 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 12229
fe8e8d69 122302008-11-12 Robert Millan <rmh@aybabtu.com>
12231
12232 Make loader/i386/linux.c buildable on i386-pc (although disabled).
12233
12234 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
12235 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
12236 from here ...
12237 * include/grub/i386/pc/memory.h: ... to here.
12238
976b07d0 122392008-11-12 Robert Millan <rmh@aybabtu.com>
12240
12241 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
12242 split).
12243
12244 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
12245 (grub_console_cur_color, grub_console_real_putchar)
12246 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
12247 (grub_console_setcolorstate, grub_console_setcolor)
12248 (grub_console_getcolor): Move from here ...
12249 * include/grub/i386/vga_common.h: ... to here (new file).
12250
12251 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
12252 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
12253 `<grub/i386/io.h>'.
12254 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
12255 `<grub/i386/vga_common.h>'.
12256
76679cd3 122572008-11-12 Robert Millan <rmh@aybabtu.com>
12258
12259 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
12260 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
12261 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
12262 variables.
12263 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
12264 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
12265
12266 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
12267 grub_console_init() with call to grub_vga_text_init().
12268 (grub_machine_fini): Replace call to
12269 grub_console_fini() with call to grub_vga_text_fini() and
12270 grub_at_keyboard_fini().
12271
12272 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
12273 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
12274 (grub_console_setcolorstate, grub_console_setcolor)
12275 (grub_console_getcolor): New function prototypes.
12276
12277 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
12278 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
12279 (grub_vga_text_setcursor): Static-ize.
12280 (grub_vga_text_term): New structure.
12281 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
12282
12283 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
12284 (grub_console_cur_color, grub_console_standard_color)
12285 (grub_console_normal_color, grub_console_highlight_color)
12286 (map_char, grub_console_putchar, grub_console_getcharwidth)
12287 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
12288 (grub_console_getcolor): Move from here ...
12289 * term/i386/vga_common.c: ... to here (same function names).
12290
95b841d3 122912008-11-12 Robert Millan <rmh@aybabtu.com>
12292
12293 Use newly-added Multiboot support in coreboot.
12294
12295 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
12296 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
12297
12298 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
12299 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
12300 (codestart): Store the MBI in `startup_multiboot_info' when we're
12301 being loaded using Multiboot.
12302
12303 * kern/i386/coreboot/init.c (grub_machine_init): Move
12304 grub_at_keyboard_init() call to beginning of function (useful for
12305 debugging). Call grub_machine_mmap_init() before attempting to use
12306 grub_machine_mmap_iterate().
12307 (grub_lower_mem, grub_upper_mem): Move from here ...
12308 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
12309 here (new file).
12310
12311 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
12312 function prototype.
12313
761ca975 123142008-11-12 Robert Millan <rmh@aybabtu.com>
12315
12316 Fix a regression introduced by the at_keyboard.mod split. Because
12317 some terminals are default on some platforms and non-default on
12318 others, the first terminal being registered determines which is
12319 going to be default.
12320
12321 * kern/term.c (grub_term_register_input): If this is the first
12322 terminal being registered, set it as the current one.
12323 (grub_term_register_output): Likewise.
12324
12325 * term/efi/console.c (grub_console_init): Do not call
12326 grub_term_set_current_output() or grub_term_set_current_input().
12327 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
12328 * term/i386/pc/console.c (grub_console_init): Likewise.
12329 (grub_console_fini): Do not call grub_term_set_current_input()
12330 (but leave grub_term_set_current_output() to restore text mode).
12331
6c529df7 123322008-11-10 Robert Millan <rmh@aybabtu.com>
12333
12334 * util/grub.d/00_header.in: Add backward compatibility check for
12335 versions of terminal.mod that don't understand `terminal_input' or
12336 `terminal_output'.
12337
132e4113 123382008-11-09 Robert Millan <rmh@aybabtu.com>
12339
12340 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
12341 `terminal_input' / `terminal_output', not `terminal'.
12342
ac293d50 123432008-11-08 Robert Millan <rmh@aybabtu.com>
12344
12345 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 12346 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 12347
0025933a 123482008-11-08 Robert Millan <rmh@aybabtu.com>
12349
12350 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 12351 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 12352 members. Update all users.
12353 * util/console.c (grub_ncurses_term): Split in ...
12354 (grub_ncurses_term_input): ... this, and ...
12355 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 12356 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 12357
37c86336 123582008-11-08 Robert Millan <rmh@aybabtu.com>
12359
12360 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
12361 (PKGDATA): Add $(pkgdata_SRCDIR).
12362 (pkglib_BUILDDIR): New variable.
12363 (pkgdata_SRCDIR): New variable.
12364 (build_env.mk): New target.
12365 (include_DATA): New variable.
12366 (install-local): Install $(include_DATA) files in $(includedir).
12367
b6c15a2d 123682008-11-07 Pavel Roskin <proski@gnu.org>
12369
d99d46f1 12370 * gendistlist.sh: Use C locale for sorting to ensure consistent
12371 output on all systems.
12372
b6c15a2d 12373 * util/grub.d/00_header.in: Remove incorrect space before
12374 "serial".
12375
c32ee8c9 123762008-11-07 Robert Millan <rmh@aybabtu.com>
12377
12378 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
12379 per specification.
12380 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
12381 * loader/multiboot_loader.c (find_multi_boot2_header): New function
12382 (based on find_multi_boot1_header).
12383 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
12384 using find_multi_boot2_header(), and abort if neither Multiboot or
12385 Multiboot headers were found.
12386
651c29b7 123872008-11-07 Robert Millan <rmh@aybabtu.com>
12388
12389 Modularize at_keyboard.mod:
12390
12391 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
12392 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
12393 (at_keyboard_mod_LDFLAGS): New variables.
12394
12395 Actual terminal split:
12396
12397 * include/grub/term.h (struct grub_term): Split in ...
12398 (struct grub_term_input): ... this, and ...
12399 (struct grub_term_output): ... this. Update all users.
12400 (grub_term_set_current): Split in ...
12401 (grub_term_set_current_input): ... this, and ...
12402 (grub_term_set_current_output): ... this.
12403 (grub_term_get_current): Split in ...
12404 (grub_term_get_current_input): ... this, and ...
12405 (grub_term_get_current_output): ... this.
12406 (grub_term_register): Split in ...
12407 (grub_term_register_input): ... this, and ...
12408 (grub_term_register_output): ... this.
12409 (grub_term_unregister): Split in ...
12410 (grub_term_unregister_input): ... this, and ...
12411 (grub_term_unregister_output): ... this.
12412 (grub_term_iterate): Split in ...
12413 (grub_term_iterate_input): ... this, and ...
12414 (grub_term_iterate_output): ... this.
12415
12416 * kern/term.c (grub_term_list): Split in ...
12417 (grub_term_list_input): ... this, and ...
12418 (grub_term_list_output): ... this. Update all users.
12419 (grub_cur_term): Split in ...
12420 (grub_cur_term_input): ... this, and ...
12421 (grub_cur_term_output): ... this. Update all users.
12422 (grub_term_set_current): Split in ...
12423 (grub_term_set_current_input): ... this, and ...
12424 (grub_term_set_current_output): ... this.
12425 (grub_term_get_current): Split in ...
12426 (grub_term_get_current_input): ... this, and ...
12427 (grub_term_get_current_output): ... this.
12428 (grub_term_register): Split in ...
12429 (grub_term_register_input): ... this, and ...
12430 (grub_term_register_output): ... this.
12431 (grub_term_unregister): Split in ...
12432 (grub_term_unregister_input): ... this, and ...
12433 (grub_term_unregister_output): ... this.
12434 (grub_term_iterate): Split in ...
12435 (grub_term_iterate_input): ... this, and ...
12436 (grub_term_iterate_output): ... this.
12437
12438 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
12439 a check for input and one for output (and only attempt to get keys
12440 from user when input works).
12441
12442 * util/grub-probe.c (grub_term_get_current): Split in ...
12443 (grub_term_get_current_input): ... this, and ...
12444 (grub_term_get_current_output): ... this.
12445 * util/grub-fstest.c: Likewise.
12446 * util/i386/pc/grub-setup.c: Likewise.
12447 * util/grub-editenv.c: Likewise.
12448
12449 Portability adjustments:
12450
12451 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
12452 `term/i386/pc/at_keyboard.c'.
12453 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
12454 grub_keyboard_controller_init() (now handled by terminal .init).
12455 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
12456 grub_at_keyboard_init().
12457 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
12458 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
12459 at_keyboard.mod via input terminal interface).
12460 * include/grub/i386/coreboot/console.h: Convert into a stub for
12461 `<grub/i386/pc/console.h>'.
12462
12463 Migrate full terminals to new API:
12464
12465 * term/efi/console.c (grub_console_term): Split into ...
12466 (grub_console_term_input): ... this, and ...
12467 (grub_console_term_output): ... this. Update all users.
12468 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
12469 (grub_ofconsole_init): Split into ...
12470 (grub_ofconsole_init_input): ... this, and ...
12471 (grub_ofconsole_init_output): ... this.
12472 (grub_ofconsole_term): Split into ...
12473 (grub_ofconsole_term_input): ... this, and ...
12474 (grub_ofconsole_term_output): ... this. Update all users.
12475 * term/i386/pc/serial.c (grub_serial_term): Split into ...
12476 (grub_serial_term_input): ... this, and ...
12477 (grub_serial_term_output): ... this. Update all users.
12478 * term/i386/pc/console.c (grub_console_term): Split into ...
12479 (grub_console_term_input): ... this, and ...
12480 (grub_console_term_output): ... this. Update all users.
12481 (grub_console_term_input): Only enable it on PC/BIOS platform.
12482 (grub_console_init): Remove grub_keyboard_controller_init() call.
12483
12484 Migrate input terminals to new API:
12485
12486 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
12487 `i386' and `i386/pc' to enable build on x86_64 (this driver is
12488 i386-specific anyway).
12489 (grub_console_checkkey): Rename to ...
12490 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
12491 users.
12492 (grub_keyboard_controller_orig): New variable.
12493 (grub_console_getkey): Rename to ...
12494 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
12495 users.
12496 (grub_keyboard_controller_init): Static-ize. Save original
12497 controller value so that it can be restored ...
12498 (grub_keyboard_controller_fini): ... here (new function).
12499 (grub_at_keyboard_term): New structure.
12500 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
12501 functions.
12502
12503 Migrate output terminals to new API:
12504
12505 * term/i386/pc/vga.c (grub_vga_term): Change type to
12506 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
12507 members. Update all users.
12508 * term/gfxterm.c (grub_video_term): Change type to
12509 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
12510 members. Update all users.
12511 * include/grub/i386/pc/console.h (grub_console_checkkey)
12512 (grub_console_getkey): Do not export (no longer needed by gfxterm,
12513 etc).
12514
12515 Migrate `terminal' command and userland tools to new API:
12516
12517 * commands/terminal.c (grub_cmd_terminal): Split into ...
12518 (grub_cmd_terminal_input): ... this, and ...
12519 (grub_cmd_terminal_output): ... this.
12520 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
12521 `terminal_input' and `terminal_output'.
12522 * util/grub.d/00_header.in: Adjust `terminal' calls to new
12523 `terminal_input' / `terminal_output' API.
12524 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
12525 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
12526 provided ${GRUB_TERMINAL}, convert it).
12527
96e5d876 125282008-11-04 Robert Millan <rmh@aybabtu.com>
12529
12530 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
12531 for FreeBSD.
12532 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
12533
556f3775 125342008-11-03 Bean <bean123ch@gmail.com>
12535
12536 * kern/elf.c (grub_elf32_load): Revert to previous code.
12537 (grub_elf64_load): Likewise.
12538
12539 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
12540
926b9823 125412008-11-01 Robert Millan <rmh@aybabtu.com>
12542
12543 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
12544 (TARGET_CPPFLAGS): Likewise.
12545 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
12546
1432e958 125472008-11-01 Carles Pina i Estany <carles@pina.cat>
12548
12549 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
12550
dba3f844 125512008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 12552
12553 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
12554 addition of objects until the code is not going to be able to fail.
12555
dba3f844 125562008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 12557
12558 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
12559 (add a missing NULL check, and correct them by moving the pointer
12560 operations after the actual check).
12561
7ab28c21 125622008-10-29 Robert Millan <rmh@aybabtu.com>
12563
12564 * util/i386/pc/grub-install.in: Handle empty string as output from
12565 make_system_path_relative_to_its_root().
12566
1b7748eb 125672008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
12568
12569 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
12570 circular metadata worst case scenario. If the metadata is circular
12571 then copy the wrap in place.
12572 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
12573 project lib/format_text/layout.h
12574 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
12575
c9618ab2 125762008-10-03 Felix Zielcke <fzielcke@z-51.de>
12577
7a36edca 12578 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 12579
bf981c62 125802008-10-03 Felix Zielcke <fzielcke@z-51.de>
12581
12582 * util/update-grub_lib.in: Mention filename in warning message.
12583
6d994591 125842008-09-29 Felix Zielcke <fzielcke@z-51.de>
12585
12586 * NEWS: Update for rename of update-grub to grub-mkconfig.
12587
18ade780 125882008-09-29 Felix Zielcke <fzielcke@z-51.de>
12589
12590 * util/update-grub_lib.in: Copy to ...
12591 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 12592 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 12593 * util/update-grub.in: Rename to ...
12594 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
12595 option. Add `--output' option to allow users to specify the generated
12596 configuration file. Default to stdout.
12597 (update_grub_dir): Rename to ...
12598 (grub_mkconfig_dir): ... this.
12599 (grub_cfg): Default to an empty string.
12600 * conf/common.rmk (update-grub): Rename to ...
12601 (grub-mkconfig): ... this.
12602 (update-grub_lib): Copy to ...
12603 (grub-mkconfig_lib): ... this.
12604 (update-grub_SCRIPTS): Copy to ...
12605 (grub-mkconfig_SCRIPTS): ... this. Update all users.
12606 (update-grub_DATA): Rename to ...
12607 (grub-mkconfig_DATA): ... this.
12608
556ce6ac 126092008-09-28 Robert Millan <rmh@aybabtu.com>
12610
12611 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
12612 to `modified'. Add the real `created' field.
12613 (grub_iso9660_uuid): Use `modified' rather than `created' for
12614 constructing the UUID.
12615
126162008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 12617
12618 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
12619 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
12620
92274e85 126212008-09-28 Bean <bean123ch@gmail.com>
12622
12623 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
12624 Thanks to Christian Franke for finding this bug.
12625
add6f17a 126262008-09-25 Robert Millan <rmh@aybabtu.com>
12627
12628 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
12629 instances of grub_util_get_disk_name() (see previous commit).
12630
d2a367b8 126312008-09-25 Robert Millan <rmh@aybabtu.com>
12632
12633 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
12634 `util/i386/get_disk_name.c'.
12635 * conf/i386-efi.rmk: Likewise.
12636 * conf/x86_64-efi.rmk: Likewise.
12637 * conf/i386-coreboot.rmk: Likewise.
12638 * conf/i386-ieee1275.rmk: Likewise.
12639 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
12640 `util/ieee1275/get_disk_name.c'.
12641 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
12642 * util/ieee1275/get_disk_name.c: Remove file.
12643 * util/i386/get_disk_name.c: Remove file.
12644 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
12645 "hd%d" for device.map entries, rather than using
12646 grub_util_get_disk_name().
12647
81a06771 126482008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 12649
12650 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
12651 warning.
12652 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
12653
5a004279 126542008-09-24 Carles Pina i Estany <carles@pina.cat>
12655
12656 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
12657 Changed to 0x5100.
12658 (GRUB_TERM_PPAGE): Changed to 0x4900.
12659
397093d3 126602008-09-24 Robert Millan <rmh@aybabtu.com>
12661
12662 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
12663 macros (they were i386-pc specific).
12664 * include/grub/sparc64/ieee1275/console.h: Likewise.
12665 * include/grub/efi/console.h: Likewise.
12666
a91b6c7c 126672008-09-22 Bean <bean123ch@gmail.com>
12668
12669 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
12670 resident and in attribute list.
12671
12672 * include/grub/ntfs.h (BMP_LEN): Removed.
12673
c40fd116 126742008-09-22 Bean <bean123ch@gmail.com>
12675
81a06771 12676 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 12677 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
12678
12679 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
12680 error occurs, as grub_disk_open will call grub_disk_close, which will
12681 call p->close (scsi).
12682
81a06771 126832008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 12684
12685 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
12686 (AC_PREREQ): Bumped to 2.59.
12687 (AC_TRY_COMPILE): Replace obsolete macro with ...
12688 (AC_COMPILE_IFELSE): ... this.
12689 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
12690 (AC_LINK_IFELSE): ... this.
12691
5dc43410 126922008-09-21 Felix Zielcke <fzielcke@z-51.de>
12693
12694 * autogen.sh: Add a call to `gendistlist.sh'.
12695
9035dce4 126962008-09-19 Christian Franke <franke@computer.org>
12697
12698 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
12699 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
12700 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
12701 Export __enable_execute_stack() to modules.
12702 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
12703 New function.
12704
7fd75377 127052008-09-09 Felix Zielcke <fzielcke@z-51.de>
12706
040030b3 12707 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
12708 Sort the list.
12709
127102008-09-09 Felix Zielcke <fzielcke@z-51.de>
12711
12712 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 12713 #include <grub/util/hostdisk.h>.
12714
89d5ffcf 127152008-09-08 Robert Millan <rmh@aybabtu.com>
12716
12717 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
12718 segments when their filesz is zero (grub_file_read() interprets
81a06771 12719 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 12720 Use `lowest_segment' rather than 0 for calculating the current
12721 segment load address.
12722
40da438f 127232008-09-08 Robert Millan <rmh@aybabtu.com>
12724
12725 * util/hostdisk.c (open_device): Replace a grub_util_info() call
12726 with grub_dprintf("hostdisk", ...), as it was so verbose that it
12727 clobbered useful information.
12728
ddbf5556 127292008-09-08 Robert Millan <rmh@aybabtu.com>
12730
12731 * include/grub/util/biosdisk.h: Move to ...
12732 * include/grub/util/hostdisk.h: ... here. Update all users.
12733 * util/biosdisk.c: Move to ...
12734 * util/hostdisk.c: ... here. Update all users.
12735
783d0f48 127362008-09-07 Robert Millan <rmh@aybabtu.com>
12737
12738 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
12739 variables.
12740 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
12741 and length can be stored directly in the `mbi->mmap_addr' and
12742 `mbi->mmap_length' struct fields.
12743
548e2ea5 127442008-09-07 Robert Millan <rmh@aybabtu.com>
12745
12746 * conf/i386.rmk: New file. Provides declaration for building
12747 `cpuid.mod'.
12748 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
12749 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
12750 variables.
12751 Include `conf/i386.mk'.
12752 * conf/i386-efi.rmk: Likewise.
12753 * conf/x86_64-efi.rmk: Likewise.
12754 * conf/i386-coreboot.rmk: Likewise.
12755 * conf/i386-ieee1275.rmk: Likewise.
12756
0ea85a37 127572008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
12758
12759 Based on patch created by Colin D Bennett <colin@gibibit.com>.
12760 Adds optimization support for BGR based modes.
12761
12762 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
12763 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
12764 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
12765 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
12766 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
12767 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
12768 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
12769 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
12770 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
12771 (grub_video_i386_vbeblit_index_index): Likewise.
12772 (grub_video_i386_vbeblit_replace_directN): Added.
12773 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
12774 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
12775 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
12776 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
12777 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
12778 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 12779 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 12780 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
12781 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
12782 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
12783 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
12784 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
12785 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
12786
12787 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
12788 (grub_video_i386_vbefill_R8G8B8): Likewise.
12789 (grub_video_i386_vbefill_index): Likewise.
12790 (grub_video_i386_vbefill_direct32): Added.
12791 (grub_video_i386_vbefill_direct24): Likewise.
12792 (grub_video_i386_vbefill_direct16): Likewise.
12793 (grub_video_i386_vbefill_direct8): Likewise.
12794
81a06771 12795 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 12796 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
12797 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
12798 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
12799 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
12800 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 12801
0ea85a37 12802 * video/video.c (grub_video_get_blit_format): Updated to use new
12803 blit formats. Added handling for 16 bit color modes.
81a06771 12804
12805 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 12806 fillers.
12807 (common_blitter): Updated to use new blitters.
12808
12809 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
12810 Removed.
12811 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
12812 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
12813 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
12814 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
12815 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
12816 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
12817 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
12818 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
12819 (grub_video_i386_vbeblit_index_index): Likewise.
12820 (grub_video_i386_vbeblit_replace_directN): Added.
12821 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
12822 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
12823 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
12824 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
12825 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
12826 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
12827 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
12828 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
12829 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
12830 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
12831 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
12832 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
12833 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 12834
0ea85a37 12835 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
12836 (grub_video_i386_vbefill_R8G8B8): Likewise.
12837 (grub_video_i386_vbefill_index): Likewise.
12838 (grub_video_i386_vbefill_direct32): Added.
12839 (grub_video_i386_vbefill_direct24): Likewise.
12840 (grub_video_i386_vbefill_direct16): Likewise.
12841 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 12842
0ea85a37 12843 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
12844 types.
81a06771 12845
0ea85a37 12846 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
12847 types.
81a06771 12848
0ea85a37 12849 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
12850 blitter types.
81a06771 12851
0ea85a37 12852 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
12853 types.
12854
e8a83df6 128552008-09-06 Felix Zielcke <fzielcke@z-51.de>
12856
12857 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
12858 RAID level 1.
12859
6bcd8ee5 128602008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 12861
6bcd8ee5 12862 * fs/iso9660.c (grub_iso9660_date): New structure.
12863 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
12864 (grub_iso9660_uuid): New function.
c375ae58 12865
59261157 128662008-09-05 Bean <bean123ch@gmail.com>
12867
12868 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
12869
12870 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
12871 insensitive bit for names in Win32 and Win32 & DOS namespace.
12872
12873 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
12874
12875 * include/grub/types.h (LONG_MAX): Likewise.
12876
58b6645a 128772008-09-04 Felix Zielcke <fzielcke@z-51.de>
12878
4ee55921 12879 * util/getroot.c: Include <config.h>.
12880 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
12881 add support for /dev/md/N devices and handle LVM double dash escaping.
12882
128832008-09-04 Felix Zielcke <fzielcke@z-51.de>
12884
12885 * config.guess: Update to latest version from config git.
12886 * config.sub: Likewise.
58b6645a 12887
9124f65d 128882008-09-03 Robert Millan <rmh@aybabtu.com>
12889
12890 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
12891 `disk->total_sectors'.
12892
81a06771 128932008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 12894
12895 * include/grub/normal.h: Fixed incorrect comment for
12896 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
12897
81a06771 128982008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 12899
12900 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
12901 values with defines.
12902
12903 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
12904 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
12905 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
12906 (GRUB_VBE_MODEATTR_COLOR): Likewise.
12907 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
12908 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
12909 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
12910 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
12911 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
12912 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
12913 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
12914 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
12915 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
12916 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
12917 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
12918 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
12919 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
12920 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
12921 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
12922
93d5cbf8 129232008-08-31 Robert Millan <rmh@aybabtu.com>
12924
12925 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
12926 declaration.
12927 (grub_multiboot): Fix a few warnings.
12928
21751d50 129292008-08-31 Robert Millan <rmh@aybabtu.com>
12930
12931 * loader/i386/pc/multiboot.c: Update comment not to say that
12932 boot_device support is unimplemented.
12933
e27a75c5 129342008-08-31 Robert Millan <rmh@aybabtu.com>
12935
12936 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
12937 or memory map support are unimplemented.
12938
81a06771 129392008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 12940
12941 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
12942
81a06771 129432008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 12944
12945 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
12946 total video memory in 'vbeinfo' output; show color format details for
12947 each video mode.
12948
7c5d8d95 129492008-08-30 Pavel Roskin <proski@gnu.org>
12950
12951 * util/genmoddep.c: Remove for real this time.
12952 * DISTLIST: Remove util/genmoddep.c.
12953
4cebd25a 129542008-08-30 Robert Millan <rmh@aybabtu.com>
12955
12956 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
12957 as required by Multiboot spec (it was already 4-byte aligned, but
12958 only by chance).
12959
b497a269 129602008-08-29 Pavel Roskin <proski@gnu.org>
12961
e3925185 12962 * kern/powerpc/ieee1275/crt0.S: Rename to ...
12963 * kern/powerpc/ieee1275/startup.S: ... this.
12964 * conf/powerpc-ieee1275.rmk: Adjust for the above.
12965 * DISTLIST: Likewise.
12966
b497a269 12967 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
12968 grub/cpu/kernel.h. Add start label for consistency with other
12969 platforms. Add grub_prefix immediately after start. Add jump
12970 to the code after grub_prefix.
12971 * include/grub/powerpc/kernel.h: Provide valid values for
12972 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
12973
6e5a42fe 129742008-08-29 Bean <bean123ch@gmail.com>
12975
12976 * configure.ac: Change host_os to cygwin for mingw.
12977 (asprintf): New check for function.
12978
12979 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
12980 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
12981
12982 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 12983 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 12984 sync, sleep and grub_util_get_disk_size for mingw.
12985
12986 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
12987 to get size in mingw.
12988 (open_device): Use flag O_BINARY if it's defined.
12989 (find_root_device): Add dummy code for mingw.
12990
12991 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
12992 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
12993 (get_scsi_disk_name): Return 0 for mingw.
12994
12995 * util/hostfs.c: #include <grub/util/misc.h>.
12996 (grub_hostfs_open): Use "rb" flag to open file, use
12997 grub_util_get_disk_size to get disk size for mingw.
12998
12999 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
13000 (asprintf): New function if HAVE_ASPRINTF is not set.
13001 (sync): New function for mingw.
13002 (sleep): Likewise.
13003 (grub_util_get_disk_size): Likewise.
13004
ab3f2673 130052008-08-28 Pavel Roskin <proski@gnu.org>
13006
13007 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
13008 kern/time.c.
13009
1c282483 130102008-08-28 Robert Millan <rmh@aybabtu.com>
13011
13012 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
13013
678e849c 130142008-08-28 Robert Millan <rmh@aybabtu.com>
13015
13016 Change find_grub_drive() syntax so it doesn't prevent it from
13017 detecting NULL names as errors.
13018
13019 * util/biosdisk.c (find_grub_drive): Move free slot search code
13020 from here ...
13021 (find_free_slot): ... to here.
13022 (read_device_map): Use find_free_slot() to search for free slots.
13023
965c75ca 130242008-08-27 Marco Gerards <marco@gnu.org>
13025
13026 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
13027 (scsi_mod_SOURCES): New variable.
13028 (scsi_mod_CFLAGS): Likewise
13029 (scsi_mod_LDFLAGS): Likewise.
13030
13031 * disk/scsi.c: New file.
13032
13033 * include/grub/scsi.h: Likewise.
13034
13035 * include/grub/scsicmd.h: Likewise.
13036
13037 * disk/ata.c: Include <grub/scsi.h>.
13038 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
13039 instead.
13040 (grub_ata_iterate): Skip ATAPI devices.
13041 (grub_ata_open): Only handle ATAPI devices.
13042 (struct grub_atapi_read): Removed.
13043 (grub_atapi_readsector): Likewise.
13044 (grub_ata_read): No longer handle ATAPI devices.
13045 (grub_ata_write): Likewise.
13046 (grub_atapi_iterate): New function.
13047 (grub_atapi_read): Likewise.
13048 (grub_atapi_write): Likewise.
13049 (grub_atapi_open): Likewise.
13050 (grub_atapi_close): Likewise.
13051 (grub_atapi_dev): New variable.
13052 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
13053 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
13054
13055 * include/grub/disk.h (enum grub_disk_dev_id): Add
13056 `GRUB_DISK_DEVICE_SCSI_ID'.
13057
c07ae501 130582008-08-26 Robert Millan <rmh@aybabtu.com>
13059
13060 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
13061 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
13062 descriptive.
13063
5ed20adc 130642008-08-23 Bean <bean123ch@gmail.com>
13065
13066 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
13067 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
13068 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
13069 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
13070 dm_nv.mod.
13071 (raid5rec_mod_SOURCES): New macro.
13072 (raid5rec_mod_CFLAGS): Likewise.
13073 (raid5rec_mod_LDFLAGS): Likewise.
13074 (raid6rec_mod_SOURCES): Likewise.
13075 (raid6rec_mod_CFLAGS): Likewise.
13076 (raid6rec_mod_LDFLAGS): Likewise.
13077 (mdraid_mod_SOURCES): Likewise.
13078 (mdraid_mod_CFLAGS): Likewise.
13079 (mdraid_mod_LDFLAGS): Likewise.
13080 (dm_nv_mod_SOURCES): Likewise.
13081 (dm_nv_mod_CFLAGS): Likewise.
13082 (dm_nv_mod_LDFLAGS): Likewise.
13083
13084 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
13085 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
13086 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
13087
13088 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
13089 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
13090
13091 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13092
13093 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13094
13095 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13096
13097 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13098
13099 * disk/raid5_recover.c: New file.
13100
13101 * disk/raid6_recover.c: Likewise.
13102
13103 * disk/mdraid_linux.c: Likewise.
13104
13105 * disk/dmraid_nvidia.c: Likewise.
13106
13107 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
13108 ULONG_MAX.
13109
13110 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
13111 calculate the size of raid device.
13112 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
13113 different layout of raid5.
13114 (grub_raid_scan_device): Remove code specific to mdraid.
13115 (grub_raid_list): New variable.
13116 (free_array): New function.
13117 (grub_raid_register): Likewise.
13118 (grub_raid_unregister): Likewise.
13119 (grub_raid_rescan): Likewise.
13120 (GRUB_MOD_INIT): Don't iterate device here.
13121 (GRUB_MOD_FINI): Use free_array to release resource.
13122
13123 * include/grub/raid.h: Remove macro and structure specific to mdraid.
13124 (grub_raid5_recover_func_t): New function variable type.
13125 (grub_raid6_recover_func_t): Likewise.
13126 (grub_raid5_recover_func): New variable.
13127 (grub_raid6_recover_func): Likewise.
13128 (grub_raid_register): New function.
13129 (grub_raid_unregister): Likewise.
13130 (grub_raid_rescan): Likewise.
13131 (grub_raid_block_xor): Likewise.
13132
13133 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
13134 (CMD_CRC): New macro.
13135 (part): Removed.
13136 (read_file): Handle device as well as file.
13137 (cmd_crc): New function.
13138 (fstest): Handle multiple disks.
13139 (options): Remove part, raw and long, add root and diskcount.
13140 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 13141 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 13142 add handling for the new options, support multiple disks.
13143
13144 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
13145
29c18915 131462008-08-23 Bean <bean123ch@gmail.com>
13147
13148 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
13149
13150 * genfslist.sh: Ignore kernel.mod.
13151
13152 * genpartmaplist.sh: Likewise.
13153
8415f261 131542008-08-23 Robert Millan <rmh@aybabtu.com>
13155
13156 * util/getroot.c (find_root_device): Skip anything that starts with
13157 a dot, not just directories. This avoids things like /dev/.tmp.md0.
13158
d5a7dc5b 131592008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 13160
d5a7dc5b 13161 * util/update-grub.in (GRUB_GFXMODE): Export variable.
13162 * util/grub.d/00_header.in: Allow the administrator to change default
13163 gfxmode via ${GRUB_GFXMODE}.
13164
380cfbb4 131652008-08-21 Felix Zielcke <fzielcke@z-51.de>
13166
13167 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
13168
c9baafe7 131692008-08-21 Robert Millan <rmh@aybabtu.com>
13170
13171 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
13172 loader.
13173 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
13174 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
13175
e290bef2 131762008-08-20 Carles Pina i Estany <carles@pina.cat>
13177
13178 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
13179 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
13180
f9dbfc96 131812008-08-19 Robert Millan <rmh@aybabtu.com>
13182
13183 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
13184 (struct grub_virtual_screen): Remove `cursor_color'.
13185 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
13186 initialization.
13187 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
13188
dd6bd6ab 131892008-08-18 Robert Millan <rmh@aybabtu.com>
13190
13191 Unify (identical) linux_normal.c files.
13192 * loader/i386/efi/linux_normal.c: Move from here ...
13193 * loader/linux_normal.c: ... to here. Update all users.
13194 * loader/i386/pc/linux_normal.c: Delete. Update all users.
13195 * loader/i386/ieee1275/linux_normal.c: Likewise.
13196
7f42f83e 131972008-08-18 Robert Millan <rmh@aybabtu.com>
13198
13199 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
13200 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
13201 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
13202 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
13203 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
13204 New macros.
13205 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
13206 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
13207 (GRUB_LINUX_CL_END_OFFSET): ... to here.
13208 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
13209 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
13210 (GRUB_EFI_CL_END_OFFSET): Rename to ...
13211 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
13212 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
13213 Initialize `params->video_cursor_x' and `params->video_cursor_y'
13214 portably using grub_getxy().
13215 Replace `-EFI' with `-bzImage' in boot message.
13216
38487ddb 132172008-08-17 Robert Millan <rmh@aybabtu.com>
13218
13219 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
13220
deceb3ec 132212008-08-17 Robert Millan <rmh@aybabtu.com>
13222
13223 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
13224
13225 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
13226 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
13227 (grub_machine_mmap_iterate): New function declaration.
13228 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
13229 structure.
13230 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
13231 macros.
13232
13233 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
13234 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
13235 Move e820 parsing from here ...
13236 * kern/i386/pc/mmap.c: New file.
13237 (grub_machine_mmap_iterate): ... to here.
13238
13239 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
13240 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
13241 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
13242 (grub_available_iterate): Redeclare to return `void', and redeclare
13243 its hook to use grub_uint64_t as addr and size parameters, and rename
13244 to ...
13245 (grub_machine_mmap_iterate): ... this. Update all users.
13246
13247 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
13248 to make it more readable. Rename to ...
13249 (grub_machine_mmap_iterate): ... this.
13250
13251 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
13252 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
13253 (grub_multiboot): Allocate an extra region after the payload, and fill
13254 it with a Multiboot memory map. Adjust a.out loader to calculate size
13255 with the extra space.
13256 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
13257 with the extra space.
13258
f8aa0f43 132592008-08-17 Carles Pina i Estany <carles@pina.cat>
13260
9807deb9 13261 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 13262
605f5bb6 132632008-08-17 Felix Zielcke <fzielcke@z-51.de>
13264
13265 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
13266 mdate-sh to the list `find' searches for.
13267 * DISTLIST: Regenerated.
13268
210db6c6 132692008-08-16 Felix Zielcke <fzielcke@z-51.de>
13270
13271 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
13272 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 13273 genmoddep.awk, gensymlist.sh.in.
13274 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 13275 * DISTLIST: Regenerated.
48cdbfd4 13276 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 13277
1082b929 132782008-08-16 Robert Millan <rmh@aybabtu.com>
13279
13280 * disk/raid.c (grub_raid_init): Handle/report errors set by
13281 grub_device_iterate().
13282 * disk/lvm.c (grub_lvm_init): Likewise.
13283
42ce5170 132842008-08-15 Bean <bean123ch@gmail.com>
13285
13286 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
13287 and datehook.mod.
13288 (datetime_mod_SOURCES): New macro.
13289 (datetime_mod_CFLAGS): Likewise.
13290 (datetime_mod_LDFLAGS): Likewise.
13291 (date_mod_SOURCES): Likewise.
13292 (date_mod_CFLAGS): Likewise.
13293 (date_mod_LDFLAGS): Likewise.
13294 (datehook_mod_SOURCES): Likewise.
13295 (datehook_mod_CFLAGS): Likewise.
13296 (datehook_mod_LDFLAGS): Likewise.
13297
13298 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
13299 and datehook.mod.
13300 (datetime_mod_SOURCES): New macro.
13301 (datetime_mod_CFLAGS): Likewise.
13302 (datetime_mod_LDFLAGS): Likewise.
13303 (date_mod_SOURCES): Likewise.
13304 (date_mod_CFLAGS): Likewise.
13305 (date_mod_LDFLAGS): Likewise.
13306 (datehook_mod_SOURCES): Likewise.
13307 (datehook_mod_CFLAGS): Likewise.
13308 (datehook_mod_LDFLAGS): Likewise.
13309
13310 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
13311 and datehook.mod.
13312 (datetime_mod_SOURCES): New macro.
13313 (datetime_mod_CFLAGS): Likewise.
13314 (datetime_mod_LDFLAGS): Likewise.
13315 (date_mod_SOURCES): Likewise.
13316 (date_mod_CFLAGS): Likewise.
13317 (date_mod_LDFLAGS): Likewise.
13318 (datehook_mod_SOURCES): Likewise.
13319 (datehook_mod_CFLAGS): Likewise.
13320 (datehook_mod_LDFLAGS): Likewise.
13321
13322 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
13323 and datehook.mod.
13324 (datetime_mod_SOURCES): New macro.
13325 (datetime_mod_CFLAGS): Likewise.
13326 (datetime_mod_LDFLAGS): Likewise.
13327 (date_mod_SOURCES): Likewise.
13328 (date_mod_CFLAGS): Likewise.
13329 (date_mod_LDFLAGS): Likewise.
13330 (datehook_mod_SOURCES): Likewise.
13331 (datehook_mod_CFLAGS): Likewise.
13332 (datehook_mod_LDFLAGS): Likewise.
13333
13334 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
13335 and datehook.mod.
13336 (datetime_mod_SOURCES): New macro.
13337 (datetime_mod_CFLAGS): Likewise.
13338 (datetime_mod_LDFLAGS): Likewise.
13339 (date_mod_SOURCES): Likewise.
13340 (date_mod_CFLAGS): Likewise.
13341 (date_mod_LDFLAGS): Likewise.
13342 (datehook_mod_SOURCES): Likewise.
13343 (datehook_mod_CFLAGS): Likewise.
13344 (datehook_mod_LDFLAGS): Likewise.
13345
13346 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
13347
13348 * commands/date.c: New file.
13349
13350 * hook/datehook.c: Likewise.
13351
13352 * include/grub/lib/datetime.h: Likewise.
13353
13354 * include/grub/i386/cmos.h: Likewise.
13355
13356 * lib/datetime.c: Likewise.
13357
13358 * lib/i386/datetime.c: Likewise.
13359
13360 * lib/efi/datetime.c: Likewise.
13361
0e9242da 133622008-08-14 Robert Millan <rmh@aybabtu.com>
13363
13364 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
13365 (grub_mkelfimage_SOURCES): New variable.
13366 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
13367
13368 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
13369 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
13370 * conf/powerpc-ieee1275.rmk: Likewise.
13371 * conf/i386-ieee1275.rmk: Likewise.
13372
13373 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
13374 * kern/i386/coreboot/init.c: Likewise.
13375
13376 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
13377 with `<grub/cpu/kernel.h>'.
13378 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
13379 to ...
13380 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
13381 * kern/i386/coreboot/startup.S: Likewise.
13382
13383 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
13384 (GRUB_MOD_GAP): Remove.
13385 * include/grub/powerpc/kernel.h: New file.
13386 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
13387 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
13388 * include/grub/i386/kernel.h: New file.
13389 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
13390 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
13391 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
13392
13393 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
13394 `grub-mkelfimage'.
13395 Use --directory when invoking grub_mkimage.
13396
13397 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
13398 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
13399 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
13400 and GRUB_KERNEL_CPU_PREFIX.
13401
b86408f8 134022008-08-14 Felix Zielcke <fzielcke@z-51.de>
13403
d5e619ca 13404 * include/grub/err.h (grub_err_printf): New function prototype.
13405 * util/misc.c (grub_err_printf): New function.
13406 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
13407 grub_printf.
13408 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 13409
7161f0e0 134102008-08-13 Robert Millan <rmh@aybabtu.com>
13411
13412 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
13413
a1967522 134142008-08-13 Robert Millan <rmh@aybabtu.com>
13415
13416 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
13417 boot entry.
13418
371458b5 134192008-08-12 Robert Millan <rmh@aybabtu.com>
13420
13421 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
13422 of the relocation code from here ...
13423 (grub_multiboot): ... to here.
13424 (forward_relocator, backward_relocator): Move from here ...
13425 * kern/i386/loader.S (grub_multiboot_forward_relocator)
13426 (grub_multiboot_backward_relocator): ... to here.
13427 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
13428 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
13429 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
13430 (grub_multiboot_forward_relocator_end)
13431 (grub_multiboot_backward_relocator)
13432 (grub_multiboot_backward_relocator_end): New variables.
13433
05f9452b 134342008-08-12 Bean <bean123ch@gmail.com>
13435
13436 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
13437
20024ab0 134382008-08-11 Robert Millan <rmh@aybabtu.com>
13439
13440 * kern/i386/linuxbios/startup.S: Move from here ...
13441 * kern/i386/coreboot/startup.S: ... to here.
13442
13443 * kern/i386/linuxbios/init.c: Move from here ...
13444 * kern/i386/coreboot/init.c: ... to here.
13445
13446 * kern/i386/linuxbios/table.c: Move from here ...
13447 * kern/i386/coreboot/mmap.c: ... to here.
13448
13449 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
13450
e352e9cd 134512008-08-11 Robert Millan <rmh@aybabtu.com>
13452
13453 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
13454 errors. Leave it to the upper layer to handle them.
13455
2d05bc6a 134562008-08-09 Christian Franke <franke@computer.org>
13457
13458 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
13459 * conf/common.rmk: Install `grub-pe2elf' only if requested.
13460 Install `grub.d/10_windows' only on Cygwin.
13461 * configure.ac: Add subst of `target_os'.
13462 Check `target_os' also before setting TARGET_OBJ2ELF.
13463 Add `--enable-grub-pe2elf'.
13464
042bd419 134652008-08-08 Robert Millan <rmh@aybabtu.com>
13466
13467 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
13468 (grub_last_time): Change type to grub_uint64_t.
13469 (grub_disk_open): Migrate code from to using grub_get_time_ms().
13470 (grub_disk_close): Likewise.
13471
13472 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
13473 (run_menu): Migrate code from to using grub_get_time_ms().
13474
13475 * util/misc.c (grub_get_time_ms): New function.
13476
7f280db5 134772008-08-08 Marco Gerards <marco@gnu.org>
13478
13479 * disk/ata.c (grub_ata_regget): Change return type to
13480 `grub_uint8_t'.
13481 (grub_ata_regget2): Likewise.
13482 (grub_ata_wait_status): New function.
13483 (grub_ata_wait_busy): Removed function, updated all users to use
13484 `grub_ata_wait_status'.
13485 (grub_ata_wait_drq): Likewise.
13486 (grub_ata_cmd): New function.
13487 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
13488 error handling.
13489 (grub_ata_pio_write): Add error handling.
13490 (grub_atapi_identify): Likewise.
13491 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
13492 handling.
13493 (grub_ata_identify): Use `grub_ata_cmd' and improve error
13494 handling. Actually use the detected registers. Reorder the
13495 detection logic such that it is easier to read.
13496 (grub_ata_pciinit): Do not assign the same ID to each controller.
13497 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
13498 handling.
13499 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
13500
13501 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
13502
1fbc5e66 135032008-08-08 Marco Gerards <marco@gnu.org>
13504
13505 * NEWS: Update.
13506
819ce6c0 135072008-08-07 Bean <bean123ch@gmail.com>
13508
13509 * include/grub/x86_64/pci.h: New file.
13510
5c41d44d 135112008-08-07 Christian Franke <franke@computer.org>
13512
13513 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
13514 (TIMER2_GATE): Likewise.
13515 (grub_pit_wait): Add enable/disable of the timer2 gate
13516 bit of port 0x61. This fixes a possible infinite loop.
13517
5ebc275d 135182008-08-07 Bean <bean123ch@gmail.com>
13519
13520 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
13521 kern/i386/tsc.c and kern/i386/pit.c.
13522
13523 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
13524 x86_64 platform.
13525
13526 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
13527 <grub/i386/tsc.h>.
13528
13529 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
13530
e383b3d0 135312008-08-07 Bean <bean123ch@gmail.com>
13532
13533 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
13534
13535 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
13536
13537 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
13538 multiple inclusion. Add #include <grub/types.h>.
13539
1cbb58ac 135402008-08-06 Christian Franke <franke@computer.org>
13541
13542 * conf/common.rmk: Build and install `10_windows'.
13543 * util/grub.d/10_windows.in: New script.
13544
337f5a1e 135452008-08-06 Pavel Roskin <proski@gnu.org>
13546
13547 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
13548
057bc4ac 135492008-08-06 Robert Millan <rmh@aybabtu.com>
13550
13551 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
13552 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
13553
2b99f123 135542008-08-06 Bean <bean123ch@gmail.com>
13555
13556 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
13557 (grub_pxefs_fs_int): Remove dummy definition.
13558 (grub_pxefs_open): Use data->block_size to store the current block
13559 size setting.
13560 (grub_pxefs_read): Use block size stored in data->block_size. As the
13561 value of grub_pxe_blksize can be changed after the file is opened.
13562
9f0234cb 135632008-08-06 Bean <bean123ch@gmail.com>
13564
13565 * fs/i386/pc/pxe.c (curr_file): new variable.
13566 (grub_pxefs_open): Simply the handling of pxe file system. Don't
13567 require the dummy internal file system anymore.
13568 (grub_pxefs_read): Removed.
13569 (grub_pxefs_close): Likewise.
13570 (grub_pxefs_fs_int): Likewise.
13571 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
13572 connection when we switch file.
13573 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
13574
a55d42e0 135752008-08-06 Robert Millan <rmh@aybabtu.com>
13576
13577 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
13578 `halt.mod'.
13579 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
13580 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
13581
13582 * kern/i386/halt.c: New file.
13583 * kern/i386/reboot.c: Likewise.
13584 * include/grub/i386/reboot.h: Likewise.
13585 * include/grub/i386/halt.h: Likewise.
13586
13587 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
13588 Include `<grub/cpu/halt.h>'.
13589 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
13590 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
13591
13592 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
13593 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
13594 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
13595 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
13596 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
13597 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
13598 from here ...
13599 * include/grub/i386/at_keyboard.h: ... to here.
13600
24371d26 136012008-08-05 Robert Millan <rmh@aybabtu.com>
13602
13603 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
13604 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
13605 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
13606 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
13607 `kern/generic/millisleep.c'.
13608
13609 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
13610 instead of grub_get_rtc().
13611 (grub_tsc_init): Initialize `tsc_boot_time'.
13612
13613 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
13614 (grub_machine_init): Use grub_tsc_init() rather than
13615 installing an RTC-based handler via grub_install_get_time_ms().
13616
13617 * kern/i386/pit.c: New file.
13618 * include/grub/i386/pit.h: Likewise.
13619
9e7007b3 136202008-08-05 Bean <bean123ch@gmail.com>
13621
13622 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
13623
13624 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
13625 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
13626 (pxe_mod_SOURCES): New macro.
13627 (pxe_mod_CFLAGS): Likewise.
13628 (pxe_mod_LDFLAGS): Likewise.
13629 (pxecmd_mod_SOURCES): Likewise.
13630 (pxecmd_mod_CFLAGS): Likewise.
13631 (pxecmd_mod_LDFLAGS): Likewise.
13632
13633 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
13634 (grub_pxe_call): Likewise.
13635
13636 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
13637
13638 * commands/i386/pc/pxecmd.c: New file.
13639
9f0234cb 13640 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 13641
13642 * include/grub/i386/pc/pxe.h: Likewise.
13643
6977d49f 136442008-08-05 Bean <bean123ch@gmail.com>
13645
13646 * util/console.c (grub_console_cur_color): New variable.
13647 (grub_console_standard_color): Likewise.
13648 (grub_console_normal_color): Likewise.
13649 (grub_console_highlight_color): Likewise.
13650 (color_map): Likewise.
13651 (use_color): Likewise.
13652 (NUM_COLORS): New macro.
13653 (grub_ncurses_setcolorstate): Handle color properly.
13654 (grub_ncurses_setcolor): Don't change color here, just remember the
13655 settings, color will be set in grub_ncurses_setcolorstate.
13656 (grub_ncurses_getcolor): New function.
13657 (grub_ncurses_init): Initialize color pairs.
13658 (grub_ncurses_term): New member grub_ncurses_getcolor.
13659
9c2ff3ee 136602008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 13661
9c2ff3ee 13662 High resolution timer support. Implemented for x86 CPUs using TSC.
13663 Extracted generic grub_millisleep() so it's linked in only as needed.
13664 This requires a Pentium compatible CPU; if the RDTSC instruction is
13665 not supported, then it falls back on the generic grub_get_time_ms()
13666 implementation that uses the machine's RTC.
13667
13668 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
13669 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
13670 `kern/generic/millisleep.c'.
13671
13672 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
13673 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
13674
13675 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
13676 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
13677
13678 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
13679
13680 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
13681 `kern/generic/millisleep.c'.
13682
13683 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
13684
13685 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
13686
13687 * kern/generic/rtc_get_time_ms.c: New file.
13688
13689 * kern/generic/millisleep.c: New file.
337f5a1e 13690
9c2ff3ee 13691 * kern/misc.c: Don't include
13692 <kern/time.h> anymore.
13693 (grub_millisleep_generic): Removed.
13694
13695 * commands/sleep.c (grub_interruptible_millisleep): Uses
13696 grub_get_time_ms() instead of grub_get_rtc().
13697
13698 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
13699 function.
13700 (grub_cpu_is_cpuid_supported): New inline function.
13701 (grub_cpu_is_tsc_supported): New inline function.
13702 (grub_tsc_init): New function prototype.
13703 (grub_tsc_get_time_ms): New function prototype.
13704
13705 * kern/i386/tsc.c (grub_get_time_ms): New file.
13706
13707 * include/grub/time.h: Include <grub/types.h.
13708 (grub_millisleep_generic): Removed.
13709 (grub_get_time_ms): New prototype.
13710 (grub_install_get_time_ms): New prototype.
13711 (grub_rtc_get_time_ms): New prototype.
13712
13713 * kern/time.c (grub_get_time_ms): New function.
13714 (grub_install_get_time_ms): New function.
13715
13716 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
13717 <grub/time.h> anymore.
13718 (grub_millisleep): Removed.
13719 (grub_machine_init): Call grub_tsc_init.
13720
13721 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
13722 get_time_ms() implementation.
13723
13724 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
13725 (ieee1275_get_time_ms): New function.
13726 (grub_machine_init): Install get_time_ms() implementation.
13727
13728 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
13729 (grub_machine_init): Call grub_tsc_init().
13730 (grub_millisleep): Removed.
bf06a93f 13731
9c2ff3ee 13732 * kern/ieee1275/init.c (grub_millisleep): Removed.
13733 (grub_machine_init): Install ieee1275_get_time_ms()
13734 implementation.
13735 (ieee1275_get_time_ms): New function.
13736 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
13737 real work.
13738
9ec92aaf 137392008-08-05 Marco Gerards <marco@gnu.org>
13740
13741 * disk/ata.c: Include <grub/pci.h>.
13742 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
13743 (grub_ata_initialize): Rewritten.
13744 (grub_ata_device_initialize): New function.
13745
8d23f507 137462008-08-04 Pavel Roskin <proski@gnu.org>
13747
13748 * kern/main.c: Include grub/mm.h.
13749
5e15ee3d 137502008-08-04 Robert Millan <rmh@aybabtu.com>
13751
13752 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
13753 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
13754 corruption problem).
13755
a9053f8f 137562008-08-04 Robert Millan <rmh@aybabtu.com>
13757
13758 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
13759 warnings introduced in my last commit.
13760
dd19c7d7 137612008-08-03 Robert Millan <rmh@aybabtu.com>
13762
13763 Make PCI available on all i386 architectures.
13764
13765 * include/grub/i386/pc/pci.h: Move from here ...
13766 * include/grub/i386/pci.h: ... to here.
13767
13768 * include/grub/i386/pc/pci.h: Remove.
13769 * include/grub/i386/efi/pci.h: Remove.
13770 * include/grub/x86_64/efi/pci.h: Remove.
13771
13772 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
13773 `<grub/cpu/pci.h>'.
13774
13775 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
13776 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
13777 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
13778
13779 * conf/i386-ieee1275.rmk: Likewise.
13780
e14a6184 137812008-08-03 Robert Millan <rmh@aybabtu.com>
13782
13783 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
13784 (grub_console_setcursor): Make it possible to set cursor off.
13785
52768e37 137862008-08-03 Robert Millan <rmh@aybabtu.com>
13787
13788 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
13789 of modules instead of assuming which platform provides what.
13790 * util/update-grub.in: Likewise.
13791
2d52f57f 137922008-08-03 Robert Millan <rmh@aybabtu.com>
13793
13794 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
13795 instead of `grub_install_dos_part' to determine whether a drive needs
13796 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 13797 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 13798
2a5cd121 137992008-08-02 Robert Millan <rmh@aybabtu.com>
13800
13801 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
13802
93808428 138032008-08-02 Robert Millan <rmh@aybabtu.com>
13804
13805 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
13806 of informational grub_dprintf() calls.
13807
3bd0a12a 138082008-08-02 Robert Millan <rmh@aybabtu.com>
13809
13810 * disk/memdisk.c (memdisk_size): Don't initialize.
13811 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
13812
13813 * include/grub/i386/pc/kernel.h
13814 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
13815 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
13816 (grub_memdisk_image_size, grub_arch_memdisk_addr)
13817 (grub_arch_memdisk_size): Remove.
13818
13819 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
13820 field (was only used to transfer a constant). Add `type' field to
13821 support multiple module types.
13822 (grub_module_iterate): New function.
13823
13824 * kern/device.c (grub_device_open): Do not hide error messages
13825 when grub_disk_open() fails. Use grub_print_error() instead.
13826
13827 * kern/i386/pc/init.c (grub_arch_modules_addr)
13828 (grub_arch_memdisk_size): Remove functions.
13829 (grub_arch_modules_addr): Return the module address in high memory
13830 (now that it isn't copied anymore).
13831
13832 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
13833 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
13834 decompression routine (grub_total_module_size already includes that
13835 now). Don't copy modules back to low memory.
13836
13837 * kern/main.c: Include `<grub/mm.h>'.
13838 (grub_load_modules): Split out (and use) ...
13839 (grub_module_iterate): ... this function, which iterates through
13840 module objects and runs a hook.
13841 Comment out grub_mm_init_region() call, as it would cause non-ELF
13842 modules to be overwritten.
13843
13844 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
13845 the memdisk image in its own region, make it part of the module list.
13846 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
13847 (main): Parse --memdisk|-m option, and pass user-provided path as
13848 parameter to generate_image().
13849 (add_segments): Pass `memdisk_path' down to load_modules().
13850 (load_modules): Embed memdisk image in module section when requested.
13851 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
13852 `header.type' instead of `header.offset'.
13853
13854 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
13855 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
13856 (memdisk_mod_LDFLAGS): New variables.
13857 * conf/i386-coreboot.rmk: Likewise.
13858 * conf/i386-ieee1275.rmk: Likewise.
13859
a927cc73 138602008-08-02 Robert Millan <rmh@aybabtu.com>
13861
13862 * loader/i386/pc/multiboot.c (playground, forward_relocator)
13863 (backward_relocator): New variables. Used to allocate and relocate
13864 the payload, respectively.
13865 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 13866 address, install the appropriate relocator code in each bound of
a927cc73 13867 the payload, and set the entry point such that
13868 grub_multiboot_real_boot() will jump to one of them.
13869
13870 * kern/i386/loader.S (grub_multiboot_payload_size)
13871 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
13872 (grub_multiboot_payload_entry_offset): New variables.
13873 (grub_multiboot_real_boot): Set cpu context to what the relocator
13874 expects, and jump to the relocator instead of the payload.
13875
13876 * include/grub/i386/loader.h (grub_multiboot_payload_size)
13877 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
13878 (grub_multiboot_payload_entry_offset): Export.
13879
b15d8a0c 138802008-08-01 Bean <bean123ch@gmail.com>
13881
13882 * normal/menu_entry.c (editor_getline): Don't return the original
13883 string as result, as it will be released by lexer once it has done
13884 using it.
13885
cdfb3d22 138862008-08-01 Robert Millan <rmh@aybabtu.com>
13887
13888 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
13889 within menuentries, not before them.
13890 util/grub.d/10_hurd.in: Likewise.
13891
9175e93d 138922008-08-01 Bean <bean123ch@gmail.com>
13893
13894 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
13895 (bufio_mod_SOURCES): New macro.
13896 (bufio_mod_CFLAGS): Likewise.
13897 (bufio_mod_LDFLAGS): Likewise.
13898
13899 * include/grub/bufio.h: New file.
13900
13901 * io/bufio.c: Likewise.
13902
13903 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
13904 (grub_video_reader_png): Use grub_buffile_open to open file.
13905
13906 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
13907 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
13908
13909 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
13910 (grub_video_reader_tga): Use grub_buffile_open to open file.
13911
13912 * font/manager.c: Include <grub/bufio.h>.
13913 (add_font): Use grub_buffile_open to open file.
13914
3d8383e7 139152008-07-31 Robert Millan <rmh@aybabtu.com>
13916
13917 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
13918 ELF segments, use a macro for arbitrarily accessing any of them instead
13919 of preparing a pointer that allows access to one at a time.
13920 (grub_multiboot_load_elf64): Likewise.
13921
16e641b6 139222008-07-31 Bean <bean123ch@gmail.com>
13923
13924 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
13925 GRUB_KERNEL_MACHINE_DATA_END.
13926
59198b72 139272008-07-30 Robert Millan <rmh@aybabtu.com>
13928
13929 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
13930 Increase from 0x50 to 0x60.
13931 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
13932 use UUIDs to identify the root drive for them. If that's not
13933 possible, abort.
13934 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
13935 check, for cross-disk installs.
13936
ae88bca3 139372008-07-30 Robert Millan <rmh@aybabtu.com>
13938
13939 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
13940 is non-empty, use it to set the `prefix' environment variable instead
13941 of the usual approach.
13942 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
13943 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
13944 environment variable instead of dummy make_install_device().
13945
13946 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
13947 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 13948 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 13949
13950 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
13951 New variable reference.
13952 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
13953 New macro. Defines offset of `grub_prefix' within startup.S (relative
13954 to `start').
13955 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
13956 section within startup.S (relative to `start').
13957 * include/grub/i386/coreboot/kernel.h: Likewise.
13958
13959 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
13960 Overwrite grub_prefix with its contents, at the beginning of the
13961 first segment.
13962 (main): Understand -p|--prefix.
13963
14f41dd1 139642008-07-30 Robert Millan <rmh@aybabtu.com>
13965
13966 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
13967
4ca049a3 139682008-07-30 Robert Millan <rmh@aybabtu.com>
13969
13970 * term/i386/pc/vga_text.c (grub_console_cls): Use
13971 grub_console_gotoxy() to go back to beginning of the screen.
13972 Found by Patrick Georgi <patrick.georgi@coresystems.de>
13973
2921d337 139742008-07-29 Christian Franke <franke@computer.org>
13975
13976 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
13977 Add conversion of emulated mount points on Cygwin.
13978
b609876d 139792008-07-29 Christian Franke <franke@computer.org>
13980
13981 * util/update-grub.in: Add a check for admin
13982 group on Cygwin.
13983 Remove old `grub.cfg.new' before creation.
13984 Add `-f' to `mv' to handle the different filesystem
13985 semantics of Windows.
13986
e93e4679 139872008-07-29 Bean <bean123ch@gmail.com>
13988
13989 * normal/main.c (get_line): Fix buffer overflow bug.
13990
41694fd0 139912008-07-28 Robert Millan <rmh@aybabtu.com>
13992
13993 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
13994 (struct grub_apple_header): New struct. Describes the layout of
13995 the partmap header.
13996 (apple_partition_map_iterate): Check the header magic as well as the
13997 partition magic (which was already being checked).
13998
cfd0b4e6 139992008-07-28 Pavel Roskin <proski@gnu.org>
14000
14001 * genmk.rb: Add a warning to the beginning of the output that
14002 it's a generated file and should not be edited.
14003
93cce016 140042008-07-28 Robert Millan <rmh@aybabtu.com>
14005
14006 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
14007 with the same number are found, just use issue a warning with
14008 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 14009
cd1df915 140102008-07-27 Robert Millan <rmh@aybabtu.com>
14011
14012 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
14013 information.
14014
b70a8427 140152008-07-27 Bean <bean123ch@gmail.com>
14016
14017 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
14018 (grub_fat_find_dir): Ignore case when comparing filename.
14019
8f5e379f 140202008-07-27 Bean <bean123ch@gmail.com>
14021
14022 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
14023 smallino, as it's more descriptive, and i8count can be confused with
14024 the other field count.
14025 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
14026 inode type.
14027
a85cd5a0 140282008-07-27 Bean <bean123ch@gmail.com>
14029
14030 * commands/crc.c: New file.
14031
14032 * lib/crc.c: Likewise.
14033
14034 * include/grub/lib/crc.h: Likewise.
14035
14036 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
14037
14038 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
14039 (hexdump): Move this function to ...
14040
14041 * lib/hexdump.c: ... here.
14042
14043 * include/grub/hexdump.h: Renamed to ...
14044
14045 * include/grub/lib/hexdump.h: ... this.
14046
14047 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
14048
14049 * util/grub-editenv.c: Likewise.
14050
14051 * include/envblk.h: Renamed to ...
14052
14053 * include/lib/envblk.h: ... this.
14054
14055 * util/envblk.c: Renamed to ...
14056
14057 * lib/envblk.c: ... this.
14058
14059 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
14060 lib/hexdump.c.
14061 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
14062 (pkglib_MODULES): Add crc.mod.
14063 (hexdump_mod_SOURCES): Add lib/hexdump.c.
14064 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
14065 (crc_mod_SOURCES): New macro.
14066 (crc_mod_CFLAGS): Likewise.
14067 (crc_mod_LDFLAGS): Likewise.
14068
14069 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
14070
14071 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14072
14073 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14074
14075 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14076
14077 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14078
c298def0 140792008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 14080
14081 * commands/help.c: Include <grub/term.h>.
14082 (TERM_WIDTH): Removed. Updated all users.
14083
cc349fb3 140842008-07-27 Pavel Roskin <proski@gnu.org>
14085
14086 * util/getroot.c (find_root_device): Rephrase a comment to avoid
14087 spurious warnings about a comment within a comment.
14088
9051607e 140892008-07-25 Robert Millan <rmh@aybabtu.com>
14090
14091 * util/getroot.c (find_root_device): Skip devices that match
14092 /dev/dm-[0-9]. This lets the real device be found for any type of
14093 abstraction (LVM, EVMS, RAID..).
14094 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
14095 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
14096 device is found first, find_root_device() will now skip it.
14097
01453bfc 140982008-07-24 Pavel Roskin <proski@gnu.org>
14099
14100 * include/grub/types.h: Use __builtin_bswap32() and
14101 __builtin_bswap64() with gcc 4.3 and newer.
14102
6af9849f 141032008-07-24 Christian Franke <franke@computer.org>
14104
3a0fa256 14105 * util/i386/pc/grub-install.in: If `--debug' is specified,
14106 pass `--verbose' to grub-setup.
14107 Abort script if make_system_path_relative_to_its_root() fails.
14108
7810e747 141092008-07-24 Bean <bean123ch@gmail.com>
14110
14111 * configure.ac: Fixed a bug caused by the previous cygwin patch,
14112 variable `target_platform' should be `platform'.
14113
42290e17 141142008-07-24 Bean <bean123ch@gmail.com>
14115
51cc5193 14116 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 14117 (grub_png_init_fixed_block): New function.
14118 (grub_png_decode_image_data): Handle fixed huffman code compression.
14119
2a8a80e4 141202008-07-24 Bean <bean123ch@gmail.com>
14121
14122 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
14123 (grub_pe2elf_SOURCES): New macro.
14124 (CLEANFILES): Add grub-pe2elf.
14125
14126 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
14127 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
14128 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
14129 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
14130 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
14131 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
14132 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
14133 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
14134 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
14135 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
14136 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
14137 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
14138 (GRUB_PE32_DT_FUNCTION): Likewise.
14139 (GRUB_PE32_REL_I386_DIR32): Likewise.
14140 (GRUB_PE32_REL_I386_REL32): Likewise.
14141 (grub_pe32_symbol): New structure.
14142 (grub_pe32_reloc): Likewise.
14143
14144 * util/grub-pe2elf.c: New file.
14145
14146 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
14147 start symbol in non pc platform.
14148
14149 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
14150
14151 The following patches are from Christian Franke.
14152
14153 * include/grub/dl.h: Remove .previous, gas supports this only
14154 for ELF format.
14155
14156 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
14157 Remove .type, gas supports this only for ELF format.
14158
14159 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
14160 nullbytes in symbol table. This fixes an infinite loop if table is
14161 zero filled.
14162
14163 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
14164 TARGET_IMG_LDFLAGS and EXEEXT.
14165
14166 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
14167 TARGET_IMG_LDFLAGS_AC.
14168 (grub_CHECK_STACK_ARG_PROBE): New function.
14169
14170 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
14171
14172 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
14173
14174 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
14175 to set TARGET_IMG_LD* accordingly.
14176 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
14177 Add call to grub_CHECK_STACK_ARG_PROBE.
14178 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
14179
14180 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
14181
14182 * genmk.rb: Add EXEEXT to CLEANFILES.
14183
12ccdb75 141842008-07-23 Robert Millan <rmh@aybabtu.com>
14185
14186 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
14187 define the codes for arrows and lines used for the menu).
14188 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
14189 as well.
14190
14191 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
14192 fonts, because the latter are too slow.
14193
18eeaf04 141942008-07-21 Bean <bean123ch@gmail.com>
14195
14196 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
14197 a20. Run keyboard test last, as it will cause macbook to halt.
14198
b095e2ad 141992008-07-18 Pavel Roskin <proski@gnu.org>
14200
14201 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
14202 load foreign architecture modules correctly anyway. Keep
14203 support for loading host architecture modules, whether we
14204 compile them or not.
14205
737feb35 142062008-07-17 Pavel Roskin <proski@gnu.org>
14207
3f4ce737 14208 * configure.ac: Use -m32 or -m64 regardless of whether we had to
14209 change target_cpu. The compiler default can mismatch target_cpu
14210 in any case.
14211
4ad2d049 14212 * disk/efi/efidisk.c: Fix format warnings on x86_64.
14213 * kern/efi/efi.c: Likewise.
14214
f6130a12 14215 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
14216 target compiler is functional.
14217 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
14218 are set up.
14219
58393a2d 14220 * configure.ac: Default to efi platform for x86_64-apple. Allow
14221 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
14222 adjustments from the rest, only do them if target is not
14223 explicitly given. Merge other adjustments with the final sanity
14224 check. Remove an extraneous check for supported CPU. Be
14225 specific which CPU and which platform is not supported.
14226
737feb35 14227 * configure.ac: Default to pc platform for x86_64.
14228
546f966a 142292008-07-17 Robert Millan <rmh@aybabtu.com>
14230
14231 Partial LinuxBIOS -> Coreboot rename.
14232
14233 * conf/i386-linuxbios.rmk: Renamed to ...
14234 * conf/i386-coreboot.rmk: ... this.
14235 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
14236 * configure.ac: Accept "coreboot" as input platform (but maintain
14237 compatibility with "linuxbios").
14238 * include/grub/i386/linuxbios: Renamed to ...
14239 * include/grub/i386/coreboot: ... this.
14240
20011694 142412008-07-17 Bean <bean123ch@gmail.com>
14242
14243 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 14244 (appleldr_mod_SOURCE): New variable.
20011694 14245 (appleldr_mod_CFLAGS): Likewise.
14246 (appleldr_mod_LDFLAGS): Likewise.
14247 (pci_mod_SOURCES): Likewise.
14248 (pci_mod_CFLAGS): Likewise.
14249 (pci_mod_LDFLAGS): Likewise.
14250 (lspci_mod_SOURCES): Likewise.
14251 (lspci_mod_CFLAGS): Likewise.
14252 (lspci_mod_LDFLAGS): Likewise.
14253
14254 * conf/x86_64-efi.rmk: New file.
14255
14256 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
14257 macro.
14258 (grub_efidisk_write): Likewise.
14259
14260 * include/efi/api.h (efi_call_0): New macro.
14261 (efi_call_1): Likewise.
14262 (efi_call_2): Likewise.
14263 (efi_call_3): Likewise.
14264 (efi_call_4): Likewise.
14265 (efi_call_5): Likewise.
14266 (efi_call_6): Likewise.
14267
14268 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
14269 grub_rescue_cmd_chainloader.
14270
14271 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
14272 (grub_pe32_optional_header): Change some fields based on i386 or
14273 x86_64 platform.
14274 (GRUB_PE32_PE32_MAGIC): Likewise.
14275
14276 * include/grub/efi/uga_draw.h: New file.
14277
14278 * include/grub/elf.h (STN_ABS): New constant.
14279 (R_X86_64_NONE): Relocation constant for x86_64.
14280 (R_X86_64_64): Likewise.
14281 (R_X86_64_PC32): Likewise.
14282 (R_X86_64_GOT32): Likewise.
14283 (R_X86_64_PLT32): Likewise.
14284 (R_X86_64_COPY): Likewise.
14285 (R_X86_64_GLOB_DAT): Likewise.
14286 (R_X86_64_JUMP_SLOT): Likewise.
14287 (R_X86_64_RELATIVE): Likewise.
14288 (R_X86_64_GOTPCREL): Likewise.
14289 (R_X86_64_32): Likewise.
14290 (R_X86_64_32S): Likewise.
14291 (R_X86_64_16): Likewise.
14292 (R_X86_64_PC16): Likewise.
14293 (R_X86_64_8): Likewise.
14294 (R_X86_64_PC8): Likewise.
14295
14296 * include/grub/i386/efi/pci.h: New file.
14297
14298 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
14299 Change it value based on platform.
14300 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
14301 (GRUB_E820_RAM): Likewise.
14302 (GRUB_E820_RESERVED): Likewise.
14303 (GRUB_E820_ACPI): Likewise.
14304 (GRUB_E820_NVS): Likewise.
14305 (GRUB_E820_EXEC_CODE): Likewise.
14306 (GRUB_E820_MAX_ENTRY): Likewise.
14307 (grub_e820_mmap): New structure.
14308 (linux_kernel_header): Change the efi field according to different
14309 kernel version, also field from linux_kernel_header.
14310
14311 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
14312
14313 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
14314 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
14315 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
14316 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
14317 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
14318 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
14319 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
14320 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
14321 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
14322 (GRUB_PCI_ADDR_IO_MASK): Likewise.
14323
14324 * include/grub/x86_64/efi/kernel.h: New file.
14325
14326 * include/grub/x86_64/efi/loader.h: Likewise.
14327
14328 * include/grub/x86_64/efi/machine.h: Likewise.
14329
14330 * include/grub/x86_64/efi/pci.h: Likewise.
14331
14332 * include/grub/x86_64/efi/time.h: Likewise.
14333
14334 * include/grub/x86_64/linux.h: Likewise.
14335
14336 * include/grub/x86_64/setjmp.h: Likewise.
14337
14338 * include/grub/x86_64/time.h: Likewise.
14339
14340 * include/grub/x86_64/types.h: Likewise.
14341
14342 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
14343 GRUB_TARGET_SIZEOF_VOID_P.
14344
14345 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
14346 (grub_efi_locate_handle): Likewise.
14347 (grub_efi_open_protocol): Likewise.
14348 (grub_efi_set_text_mode): Likewise.
14349 (grub_efi_stall): Likewise.
14350 (grub_exit): Likewise.
14351 (grub_reboot): Likewise.
14352 (grub_halt): Likewise.
14353 (grub_efi_exit_boot_services): Likewise.
14354 (grub_get_rtc): Likewise.
14355
14356 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
14357 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
14358 (grub_efi_allocate_pages): Wrap efi calls.
14359 (grub_efi_free_pages): Wrap efi calls.
14360 (grub_efi_get_memory_map): Wrap efi calls.
14361
14362 * kern/x86_64/dl.c: New file.
14363
14364 * kern/x86_64/efi/callwrap.S: Likewise.
14365
14366 * kern/x86_64/efi/startup.S: Likewise.
14367
14368 * loader/efi/appleloader.c: Likewise.
14369
14370 * loader/efi/chainloader.c (cmdline): New variable.
14371 (grub_chainloader_unload): Wrap efi calls.
14372 (grub_chainloader_boot): Likewise.
14373 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
14374 command line.
14375
14376 * loader/efi/chainloader_normal.c (chainloader_command):
14377 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
14378 command line.
14379
14380 * loader/i386/efi/linux.c (allocate_pages): Change allocation
14381 method.
14382 (grub_e820_add_region): New function.
14383 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
14384 booting.
14385 (grub_find_video_card): New function.
14386 (grub_linux_setup_video): New function.
14387 (grub_rescue_cmd_linux): Probe for video information.
14388
14389 * normal/x86_64/setjmp.S: New file.
14390
14391 * term/efi/console.c (map_char): New function.
14392 (grub_console_putchar): Map unicode char.
14393 (grub_console_checkkey): Wrap efi calls.
14394 (grub_console_getkey): Likewise.
14395 (grub_console_getwh): Likewise.
14396 (grub_console_gotoxy): Likewise.
14397 (grub_console_cls): Likewise.
14398 (grub_console_setcolorstate): Likewise.
14399 (grub_console_setcursor): Likewise.
14400
14401 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
14402
59652a20 144032008-07-16 Pavel Roskin <proski@gnu.org>
14404
ef294055 14405 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
14406 format strings.
14407
59652a20 14408 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
14409 pointer, not an integer. This fixes a warning and prevents
14410 precision loss on 64-bit systems.
14411 (relocate_addresses): Remove unneeded cast.
14412
afc3b5d7 144132008-07-15 Pavel Roskin <proski@gnu.org>
14414
506b2b3e 14415 * kern/i386/ieee1275/init.c: Include grub/cache.h.
14416
62ead89c 14417 * term/ieee1275/ofconsole.c: Disable code unused on i386.
14418
c4cd51d7 14419 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
14420 Fix comparison between signed and unsigned.
14421
0d3d8f28 14422 * include/grub/i386/ieee1275/console.h: Declare
14423 grub_console_init() and grub_console_fini().
14424
8804b286 14425 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
14426 It's empty and unused.
14427
ee01cf35 14428 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
14429 beginning to avoid warnings with some compilers.
14430
afc3b5d7 14431 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
14432 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
14433
e4e8eaa5 144342008-07-14 Pavel Roskin <proski@gnu.org>
14435
407aceb4 14436 * kern/env.c (grub_register_variable_hook): Don't copy empty
14437 string, it leaks memory. Pass "" to grub_env_set(), it should
14438 handle constant strings.
14439
e4e8eaa5 14440 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
14441 * commands/cmp.c (grub_cmd_cmp): Likewise.
14442 * kern/dl.c (grub_dl_flush_cache): Likewise.
14443 (grub_dl_load_core): Likewise.
14444 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
14445 (grub_elf64_load_phdrs): Likewise.
14446
d4e2dad3 144472008-07-13 Pavel Roskin <proski@gnu.org>
14448
14449 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
14450 between signed and unsigned.
14451 (LzmaEnc_Finish): Fix warning about an unused parameter.
14452
aa24b516 144532008-07-13 Bean <bean123ch@gmail.com>
14454
14455 * Makefile.in (enable_lzo): New rule.
14456
14457 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
14458
14459 * configure.ac (ENABLE_LZO): New option --enable-lzo.
14460
14461 * boot/i386/pc/lnxboot.S: #include <config.h>.
14462
14463 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 14464 its value according to the compression algorithm used, lzo or lzma.
aa24b516 14465
14466 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
14467 compression algorithm according to configure macro.
14468
14469 * kern/i386/pc/startup.S (codestart): Likewise.
14470
14471 * kern/i386/pc/lzma_decode.S: New file.
14472
14473 * include/grub/lib/LzFind.h: Likewise.
14474
14475 * include/grub/lib/LzHash.h: Likewise.
14476
14477 * include/grub/lib/LzmaDec.h: Likewise.
14478
14479 * include/grub/lib/LzmaEnc.h: Likewise.
14480
14481 * include/grub/lib/LzmaTypes.h: Likewise.
14482
14483 * lib/LzFind.c: Likewise.
14484
14485 * lib/LzmaDec.c: Likewise.
14486
14487 * lib/LzmaEnc.c: Likewise.
14488
4ae821ac 144892008-07-13 Bean <bean123ch@gmail.com>
14490
14491 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
14492 (grub_ext4_extent_header): New structure.
14493 (grub_ext4_extent): Likewise.
14494 (grub_ext4_extent_idx): Likewise.
14495 (grub_ext4_find_leaf): New function.
14496 (grub_ext2_read_block): Handle extents.
14497
9a745147 144982008-07-12 Robert Millan <rmh@aybabtu.com>
14499
14500 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
14501
d49a4cf6 145022008-07-11 Robert Millan <rmh@aybabtu.com>
14503
14504 * util/grub.d/40_custom.in: New file. Example on how to add custom
14505 entries to /etc/grub.d.
14506 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
14507 40_custom (implicitly, by merging all the grub.d rules).
14508
947414b4 145092008-07-11 Pavel Roskin <proski@gnu.org>
14510
0059cf6f 14511 * commands/read.c (grub_getline): Fix invalid memory access.
14512 Don't add newline to the variable value.
14513
947414b4 14514 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
14515 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
14516 (serial_hw_get_port): Check validity of the port number.
14517 (grub_cmd_serial): Check return value of serial_hw_get_port().
14518
62a02d00 145192008-07-07 Pavel Roskin <proski@gnu.org>
14520
14521 * boot/i386/pc/diskboot.S (notification_string): Replace
14522 "Loading kernel" with just "loading". This is shorter, less
14523 confusing and saves a few bytes for possible future changes.
14524
3e5581b0 145252008-07-05 Pavel Roskin <proski@gnu.org>
14526
ea387a48 14527 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
14528 size for ATAPI devices, they are undefined. Output sector
14529 number in decimal form.
14530
3e5581b0 14531 * disk/ata.c: Use named constants for status bits.
14532
fdecb8fd 145332008-07-04 Pavel Roskin <proski@gnu.org>
14534
bcd35b90 14535 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
14536 grub_addr_t before casting it to the void pointer to fix a
14537 warning. Non-addressable regions are discarded earlier.
14538 (grub_arch_modules_addr): Cast _end to grub_addr_t.
14539 * kern/i386/linuxbios/table.c: Include grub/misc.h.
14540 (check_signature): Don't shadow table_header.
14541 (grub_linuxbios_table_iterate): Cast numeric constants to
14542 grub_linuxbios_table_header_t.
14543 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
14544 grub_stop().
14545
af58ab3d 14546 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
14547 prevent warnings.
14548
1759aa57 14549 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
14550 pointer, which can cause warnings. Support 64-bit addresses.
14551
fdecb8fd 14552 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
14553 of sizeof(long). This fixes PowerPC image generation on x86_64.
14554
8516d2a8 145552008-07-04 Robert Millan <rmh@aybabtu.com>
14556
14557 This fixes a performance issue when pc & gpt partmap iterators
14558 didn't abort iteration even after our hook found what it was
fe987087 14559 looking for (often causing expensive probes of non-existent drives).
8516d2a8 14560
14561 Some callers relied on previous buggy behaviour, since they would
34c44600 14562 raise an error when their own hooks caused early abortion of its
8516d2a8 14563 iteration.
14564
14565 * kern/device.c (grub_device_open): Improve error message.
14566 * disk/lvm.c (grub_lvm_open): Likewise.
14567 * disk/raid.c (grub_raid_open): Likewise.
14568
14569 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
14570 when hook requests it, independently of grub_errno.
14571 (pc_partition_map_probe): Do not fail when find_func() caused
14572 early abortion of pc_partition_map_iterate().
14573
14574 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
14575 when hook requests it, independently of grub_errno.
14576 (gpt_partition_map_probe): Do not fail when find_func() caused
14577 early abortion of gpt_partition_map_iterate().
14578
14579 * kern/partition.c (grub_partition_iterate): Abort parent iteration
14580 when hook requests it, independently of grub_errno. Do not fail when
14581 part_map_iterate_hook() caused early abortion of p->iterate().
14582
14583 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
14584 when grub_partition_iterate() returned with non-zero.
14585
277d0de9 145862008-07-03 Pavel Roskin <proski@gnu.org>
14587
14588 * disk/ata.c (grub_ata_pio_write): Check status before writing,
14589 like we do in grub_ata_pio_read().
14590 (grub_ata_readwrite): Always write individual sectors. Fix the
14591 sector count for the remainder.
14592 (grub_ata_write): Enable writing to ATA devices. Correctly
14593 report error for ATAPI devices.
14594
d4c9b428 145952008-07-02 Pavel Roskin <proski@gnu.org>
14596
e43fc690 14597 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
14598 warning.
14599
f707af42 14600 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
14601 for every read sector, we already increment it for the whole
14602 batch. This fixes reading more than 256 sectors at once.
14603
11e16b15 14604 * util/grub-editenv.c (cmd_info): Cast argument to long
14605 explicitly. ptrdiff_t reduces to int on i386.
14606
cbabfdd4 14607 * util/grub-editenv.c (main): Be specific which parameter is
14608 missing.
14609
b8fbce0a 14610 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
14611 (memdisk): Make memdisk_orig_addr a pointer.
14612
c9c8e606 14613 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
14614 for file offsets, use grub_off_t instead. Fix printf format
14615 warnings.
14616
ca62e598 14617 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
14618 there. Real unexpected warnings should not drown in the noise
14619 about known problems.
14620
ce8d1766 14621 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
14622 grub_disk_addr_t for memory addresses.
14623
00c7a56a 14624 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
14625 explicitly to fix a warning.
14626
08d3ef09 14627 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
14628
cb71ba20 14629 * Makefile.in (MODULE_LDFLAGS): New variable.
14630 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
14631 the linker accepts --build-id=none.
14632 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
14633 MODULE_LDFLAGS.
14634 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
14635
d4c9b428 14636 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
14637 those in Linux XFS code. Provide a way to access 64-bit parent
14638 inode.
14639 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
14640 the end of struct grub_xfs_dir_header.
14641
d4156eee 146422008-07-02 Bean <bean123ch@gmail.com>
14643
14644 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
14645 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
14646 and GRUB_IEEE1275_FLAG_NO_ANSI.
14647
14648 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
14649 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
14650 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
14651
14652 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
14653 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
14654
14655 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
14656 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
14657
14658 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
14659 esc sequence on non ANSI terminal.
14660 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
14661
14662 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
14663 beginning of file.
14664
2270f77b 146652008-07-02 Bean <bean123ch@gmail.com>
14666
14667 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
14668 (grub_editenv_SOURCES): New variable.
14669 (pkglib_MODULES): Add loadenv.mod.
14670 (loadenv_mod_SOURCES): New variable.
14671 (loadenv_mod_CFLAGS): Likewise.
14672 (loadenv_mod_LDFLAGS): Likewise.
14673
14674 * include/grub/envblk.h: New file.
14675
14676 * util/envblk.c: New file.
14677
14678 * util/grub-editenv.c: New file.
14679
14680 * commands/loadenv.c: New file.
14681
0e9e51ec 146822008-07-01 Pavel Roskin <proski@gnu.org>
14683
d89b7634 14684 * include/multiboot2.h (struct multiboot_tag_module): Use char,
14685 not unsigned char. This fixes warnings and is consistent with
14686 other tags.
14687
bf1835b1 14688 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
14689
8222a04b 14690 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
14691
6a42d99d 14692 * term/tparm.c (analyze): Always set *popcount.
14693
10b159d1 14694 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
14695 cast to fix a warning.
14696
b8789f6c 14697 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
14698 cast to suppress a warning.
14699
29d7e38a 14700 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
14701 grub_fshelp_read_file() expects.
14702
f341f669 14703 * fs/fat.c: Fix UUID calculation on big-endian systems. We
14704 write uuid as a 32-bit value in CPU byte order, so declare and
14705 use it as such.
14706
0e9e51ec 14707 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
14708 long if the format specifier expects it.
14709 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
14710 * partmap/pc.c (pc_partition_map_iterate): Likewise.
14711 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
14712 long to fix a warning.
14713 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
14714 grub_dprintf() arguments to fix warnings.
14715
3aefa857 147162008-06-30 Pavel Roskin <proski@gnu.org>
14717
56c7668b 14718 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
14719 install_bsd_part immediately before core.img is embedded or
14720 modified on disk. This fixes core.img verification if core.img
14721 cannot be embedded.
14722
3aefa857 14723 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
14724 core_path to calculate the blocklist.
14725 Patch from Javier MartĂ­n <lordhabbit@gmail.com>
14726
5444088d 147272008-06-29 Robert Millan <rmh@aybabtu.com>
14728
14729 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
14730 block to disk block.
14731 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
14732 Patch from Niels Böhm <bitbucket@arcor.de>
14733
674835c8 147342008-06-29 Robert Millan <rmh@aybabtu.com>
14735
14736 * util/update-grub_lib.in (font_path): Search for fonts in
14737 /boot/grub first, which is more likely to be readable (we aren't
14738 deciding where fonts live, just looking for them).
14739
f527dbc8 147402008-06-26 Pavel Roskin <proski@gnu.org>
14741
6c2d8df6 14742 * util/biosdisk.c (read_device_map): Don't leave dead map
14743 entries for devices failing stat() check.
14744
f527dbc8 14745 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
14746 core_path_dev for the core.img path on the target device.
14747
aebe3d13 147482008-06-26 Robert Millan <rmh@aybabtu.com>
14749
14750 * disk/fs_uuid.c: New file.
14751 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
14752 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
14753 (fs_uuid_mod_LDFLAGS): New variables.
14754 * include/grub/disk.h (grub_disk_dev_id): Add
14755 `GRUB_DISK_DEVICE_UUID_ID'.
14756 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
14757 implement iterate().
14758
37aaf354 147592008-06-26 Robert Millan <rmh@aybabtu.com>
14760
14761 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
14762 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
14763 Linux image includes no initrd.
14764
25ff262a 147652008-06-21 Javier MartĂ­n <lordhabbit@gmail.com>
14766
14767 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
14768 call to resolve the core image location that effectively appended the
14769 name twice.
14770
76a2bd44 147712008-06-21 Robert Millan <rmh@aybabtu.com>
14772
14773 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
14774 call from here ...
14775
14776 * util/grub.d/10_hurd.in: ... to here ...
14777 * util/grub.d/10_linux.in: ... and here.
14778
650e1c79 147792008-06-19 Robert Millan <rmh@aybabtu.com>
14780
fe987087 14781 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 14782 after it has been set by grub_machine_set_prefix().
14783
6ce63911 147842008-06-19 Robert Millan <rmh@aybabtu.com>
14785
14786 * commands/search.c (search_label, search_fs_uuid, search_file): Print
14787 search result when not saving to variable, not the other way around.
14788 When saving to variable, abort iteration as soon as a match is found.
14789
73940cec 147902008-06-19 Robert Millan <rmh@aybabtu.com>
14791
14792 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
14793 check for partition that provides /boot/grub. Its logic is flawed,
14794 as it prevents prepare_grub_to_access_device() from being called
14795 multiple times.
14796
3c62a39d 147972008-06-19 Robert Millan <rmh@aybabtu.com>
14798
14799 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
14800 "insmod" command directly when abstraction modules are needed,
fe987087 14801 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 14802 since it had already been processed).
14803
47395a42 148042008-06-19 Pavel Roskin <proski@gnu.org>
14805
14806 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
14807 changed. This is needed in case GRUB_LIBDIR changes.
14808 * conf/i386-ieee1275.rmk: Likewise.
14809 * conf/i386-linuxbios.rmk: Likewise.
14810 * conf/i386-pc.rmk: Likewise.
14811 * conf/powerpc-ieee1275.rmk: Likewise.
14812
a145ac2d 148132008-06-18 Pavel Roskin <proski@gnu.org>
14814
14815 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
14816 kernel_elf_symlist.c to symlist.c for consistency with other
14817 architectures. Update all users.
14818 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
14819
7847c51e 148202008-06-18 Robert Millan <rmh@aybabtu.com>
14821
14822 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
14823 it in prefix.
14824
14825 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
14826 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
14827 a RAID device, run setup() for all members independently on whether
14828 LVM abstraction is being used.
14829 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
14830 If grub-mkimage has set `*install_dos_part == -2', don't override this
14831 value.
14832 Perform *install_dos_part adjustments independently on whether
14833 we're embedding or not.
14834 Clarify error message when image is too big for embedding.
14835 Remove duplicate *install_dos_part stanza.
14836
b23e5644 148372008-06-17 Robert Millan <rmh@aybabtu.com>
14838
14839 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
14840 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
14841 variables.
14842 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
14843 values in grub_ofconsole_normal_color and
14844 grub_ofconsole_highlight_color (they're not directly related to
14845 background and foreground).
14846 (grub_ofconsole_setcolorstate): Extract background and foreground
14847 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
14848
0aac2f79 148492008-06-17 Robert Millan <rmh@aybabtu.com>
14850
14851 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
14852 /boot/grub for the check in last commit, not /boot (they could be
14853 different partitions).
14854
3cca7ef3 148552008-06-16 Robert Millan <rmh@aybabtu.com>
14856
14857 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
14858 asked to setup access for the same partition that provides /boot,
14859 don't bother using UUIDs since our root already has the value we
14860 want.
14861
347396d8 148622008-06-16 Robert Millan <rmh@aybabtu.com>
14863
14864 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
14865 I2O devices.
14866 Patch from Sven Mueller <sven@debian.org>.
14867
991477f8 148682008-06-16 Robert Millan <rmh@aybabtu.com>
14869
14870 * util/update-grub.in: Check for $EUID instead of $UID.
14871 Reported by Vincent Zweije.
14872
d31a32a1 148732008-06-16 Bean <bean123ch@gmail.com>
14874
fe987087 14875 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 14876 (grub_ext2_read_block): Likewise.
14877 (grub_ext2_read_inode): Likewise.
14878 (grub_ext2_mount): Likewise.
14879 (grub_ext2_close): Likewise.
14880 (grub_ext3_get_journal): Removed.
14881
fe987087 14882 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 14883 (grub_reiserfs_read_symlink): Likewise.
14884 (grub_reiserfs_mount): Likewise.
14885 (grub_reiserfs_open): Likewise.
14886 (grub_reiserfs_read): Likewise.
14887 (grub_reiserfs_close): Likewise.
14888 (grub_reiserfs_get_journal): Removed.
14889
14890 * fs/fshelp.c (grub_fshelp_read): Removed.
14891 (grub_fshelp_map_block): Likewise.
14892
14893 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
14894 (grub_fshelp_journal): Likewise.
14895 (grub_fshelp_read): Likewise.
14896 (grub_fshelp_map_block): Likewise.
14897
3540a760 148982008-06-16 Pavel Roskin <proski@gnu.org>
14899
14900 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
14901 floating point anymore.
14902 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
14903
95614c84 149042008-06-15 Pavel Roskin <proski@gnu.org>
14905
14906 * commands/ls.c (grub_ls_list_files): Use integer calculations
14907 for human readable format, avoid floating point use.
14908 * kern/misc.c (grub_ftoa): Remove.
14909 (grub_vsprintf): Remove floating point support.
14910
50465dd6 149112008-06-15 Robert Millan <rmh@aybabtu.com>
14912
fe6b695a 14913 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 14914 devices.
14915 Reported by Max Vozeler.
14916
a9207284 149172008-06-15 Robert Millan <rmh@aybabtu.com>
14918
14919 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
14920 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
14921 skipped later.
14922 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
14923 the beginning of the prefix.
14924
14925 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
14926 It is assumed that if we have a memdisk, grub-mkimage has set
14927 grub_prefix to include the "(memdisk)" drive in it.
14928
a7cbd45a 149292008-06-15 Robert Millan <rmh@aybabtu.com>
14930
14931 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
14932 Initialize keyboard controller after registering the terminal, so that
14933 grub_printf() can be called from grub_keyboard_controller_init().
14934
21cf716a 149352008-06-15 Robert Millan <rmh@aybabtu.com>
14936
14937 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
14938 extent-btree which is written as big endian on disk.
14939 Reported by Alain Greppin <al@chilibi.org>.
14940
23a64d8e 149412008-06-14 Robert Millan <rmh@aybabtu.com>
14942
14943 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
14944 * util/i386/pc/grub-install.in (modules): Likewise.
14945
d687651c 149462008-06-13 Pavel Roskin <proski@gnu.org>
14947
14948 * commands/ls.c (grub_ls_list_files): Fix format warnings.
14949
dfe9ddd4 149502008-06-13 Bean <bean123ch@gmail.com>
14951
14952 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
14953
14954 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
14955
14956 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
14957 to indicate sparse block.
14958
16ae7781 149592008-06-12 Pavel Roskin <proski@gnu.org>
14960
e6d1a308 14961 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
14962 number, grub_fshelp_read() does it for us.
14963
16ae7781 14964 * fs/fshelp.c (grub_fshelp_read): New function. Implement
14965 linear disk read with journal translation.
14966 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
14967 * include/grub/fshelp.h: Declare grub_fshelp_read().
14968
40fd3a2b 149692008-06-09 Pavel Roskin <proski@gnu.org>
14970
14971 * fs/minix.c (grub_minix_mount): Handle error reading
14972 superblock.
14973
f5679726 149742008-06-08 Robert Millan <rmh@aybabtu.com>
14975
14976 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
14977 don't append the RAID prefix afterwards.
14978 Reported by Clint Adams.
14979
ce525529 149802008-06-08 Robert Millan <rmh@aybabtu.com>
14981
14982 Based on description from Pavel:
14983 * kern/disk.c (grub_disk_check_range): Rename to ...
14984 (grub_disk_adjust_range): ... this. Add a comment explaining the
14985 tasks performed by this function.
14986
ad4936a0 149872008-06-08 Robert Millan <rmh@aybabtu.com>
14988
14989 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
14990 `num_serial' (for consistency with other variables).
14991 (struct grub_ntfs_data): Add `uuid' member.
14992 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
14993 (grub_ntfs_uuid): New function.
14994 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
14995
dc20b0f9 149962008-06-07 Pavel Roskin <proski@gnu.org>
14997
14998 * util/biosdisk.c (open_device): Revert last change to the
14999 function, it broke installation. The sector needs to be
15000 different dependent on which device is opened.
15001
c5e3cfba 150022008-06-06 Robert Millan <rmh@aybabtu.com>
15003
15004 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
15005 rest of GRUB, and breakage doesn't happen if its value were modified.
15006
15007 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
15008 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
15009 a constant (same value).
15010 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
15011 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
15012
26a1f8c4 150132008-06-06 Robert Millan <rmh@aybabtu.com>
15014
15015 * util/biosdisk.c (open_device): Do not modify sector offset when
15016 accessing a partition. kern/disk.c already handles this for us.
15017
25d6b327 150182008-06-06 Robert Millan <rmh@aybabtu.com>
15019
15020 * util/grub-emu.c (grub_machine_init): Move code in this function from
15021 here ...
15022 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
15023 segfault in case grub_printf() is called).
15024
15025 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
15026 grub_probe. Update all users not to explicitly add it again.
15027 (grub_device): New variable; contains corresponding device for grubdir.
15028 (fs_module, partmap_module, devabstraction_module): Pass
15029 `--device ${grub_device}' to grub_probe to avoid traversing /dev
15030 every time.
15031
9ece62fb 150322008-06-05 Robert Millan <rmh@aybabtu.com>
15033
15034 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
15035 is found, print it (same layout as with labels).
15036
1ad36d37 150372008-06-04 Robert Millan <rmh@aybabtu.com>
15038
15039 * util/biosdisk.c (get_drive): Rename to ...
15040 (find_grub_drive): ... this. Update all users.
15041
15042 (get_os_disk): Rename to ...
15043 (convert_system_partition_to_system_disk): ... this. Update all users.
15044
15045 (find_drive): Rename to ...
15046 (find_system_device): ... this. Update all users.
15047
e6a30859 150482008-06-04 Robert Millan <rmh@aybabtu.com>
15049
15050 * util/biosdisk.c (get_os_disk): Handle IDA devices.
15051 * util/grub-mkdevicemap.c (get_mmc_disk_name)
15052 (make_device_map): Likewise.
15053
00c108a4 150542008-06-01 Robert Millan <rmh@aybabtu.com>
15055
15056 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
15057 before dereferencing it.
15058
15059 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
15060 union with fat12/fat16-specific ones. Add some new fields, including
15061 `num_serial' for both versions.
15062 (struct grub_fat_data): Add `uuid' member.
15063 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
15064 names. Initialize `data->uuid' using `num_serial'.
15065 (grub_fat_uuid): New function.
15066 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
15067
15068 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
15069 (grub_reiserfs_uuid): New function.
15070 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
15071 member.
15072
15073 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
15074 (grub_xfs_uuid): New function.
15075 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
15076
1385c5bb 150772008-06-01 Robert Millan <rmh@aybabtu.com>
15078
15079 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
15080 code that is backward compatible with pre-uuid search command.
15081
c682dfd7 150822008-05-31 Robert Millan <rmh@aybabtu.com>
15083
15084 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
15085 floppies after everything else, to ensure floppy drive isn't accessed
15086 unnecessarily (patch from Bean).
15087
b7db5d47 150882008-05-31 Robert Millan <rmh@aybabtu.com>
15089
15090 * commands/search.c (search_label, search_fs_uuid, search_file): Do
15091 not print device names when we were asked to set a variable.
15092
6e037aa9 150932008-05-31 Robert Millan <rmh@aybabtu.com>
15094
15095 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
15096 using "cursor-on" and "cursor-off" commands (understood at least by
15097 the Open Firmware flavour on OLPC).
15098
41305bc8 150992008-05-31 Michael Gorven <michael@gorven.za.net>
15100
15101 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
15102 on and off sequences.
15103
69ba137e 151042008-05-31 Robert Millan <rmh@aybabtu.com>
15105
15106 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
15107 * util/update-grub.in: Likewise.
15108
520ae21b 151092008-05-30 Pavel Roskin <proski@gnu.org>
15110
15111 * util/biosdisk.c (linux_find_partition): Simplify logic and
15112 make the code more universal. Keep special processing for
15113 devfs, but use a simple rule for all other devices. If the
15114 device ends with a number, append 'p' and the partition number.
15115 Otherwise, append only the partition number.
15116
5786569b 151172008-05-30 Robert Millan <rmh@aybabtu.com>
15118
15119 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
15120 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
15121 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
15122 the `root' parameter to Linux.
15123
51500452 151242008-05-30 Robert Millan <rmh@aybabtu.com>
15125
15126 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
15127 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
15128 --fs_uuid with --fs-uuid.
15129 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
15130 all filesystems support them).
15131
811d3878 151322008-05-30 Robert Millan <rmh@aybabtu.com>
15133
15134 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 15135 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 15136
cab63c95 151372008-05-30 Robert Millan <rmh@aybabtu.com>
15138
15139 * util/grub.d/00_header.in: Remove obsolete comment referencing
15140 convert_system_path_to_grub_path().
15141 * util/update-grub.in: Likewise.
15142 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
15143 (convert_system_path_to_grub_path): Add a warning message explaining
15144 that this function is deprecated. Rely on is_path_readable_by_grub()
15145 for the readability checks.
15146 (font_path): Use is_path_readable_by_grub() for the readability
15147 check rather than convert_system_path_to_grub_path().
15148
972e2f7a 151492008-05-30 Robert Millan <rmh@aybabtu.com>
15150
15151 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
15152 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
15153 converting it first.
15154 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
15155 grub.cfg for access to font file, and afterwards call it again to set
15156 the root device.
15157
62191274 151582008-05-30 Robert Millan <rmh@aybabtu.com>
15159
15160 * commands/search.c (options): Add --fs_uuid option.
15161 (search_fs_uuid): New function.
15162 (grub_cmd_search): Fix --set argument passing.
15163 Use search_fs_uuid() when requested via --fs_uuid.
15164 (grub_search_init): Update help message.
15165 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
15166 and redeclare it as an array of 16-bit words.
15167 (grub_ext2_uuid): New function.
15168 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
15169 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
15170 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
15171 (GRUB_DEVICE_BOOT_UUID): New variables.
15172 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
15173 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
15174 whenever possible.
15175 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
15176 just assume `root' variable has the right value.
15177 * util/grub.d/10_linux.in: Likewise.
15178 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
15179 via PRINT_FS_UUID.
15180 (main): Recognise `-t fs_uuid' argument.
15181
01b73ec8 151822008-05-30 Robert Millan <rmh@aybabtu.com>
15183
15184 * util/biosdisk.c (map): Redefine structure to hold information
15185 about GRUB drive name.
fe6b695a 15186 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 15187 drive names.
15188 (call_hook): Remove.
15189 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
15190 member. Assume drive has partitions.
15191 (grub_util_biosdisk_open): Access device names via `.device' struct
15192 member.
15193 (open_device): Likewise.
15194 (find_drive): Likewise.
15195 (read_device_map): Adjust map[] usage to match the new struct
15196 definition. Don't check for duplicates (still possible, but not cheap
15197 anymore).
15198 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
15199 (make_device_name): Remove assumption of BIOS-like drive names.
15200
22f16596 152012008-05-30 Pavel Roskin <proski@gnu.org>
15202
15203 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
15204 compiling execute.c doesn't need grub_script.tab.h anymore.
15205 (normal/command.c_DEPENDENCIES): Likewise.
15206 (normal/function.c_DEPENDENCIES): Likewise.
15207 * conf/i386-ieee1275.rmk: Likewise.
15208 * conf/i386-linuxbios.rmk: Likewise.
15209 * conf/i386-pc.rmk: Likewise.
15210 * conf/powerpc-ieee1275.rmk: Likewise.
15211 * conf/sparc64-ieee1275.rmk: Likewise.
15212
528ad8f2 152132008-05-29 Pavel Roskin <proski@gnu.org>
15214
d1dff95d 15215 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
15216 when scanning metadata for volume group name.
15217
528ad8f2 15218 * include/grub/script.h: Don't include grub_script.tab.h. It's
15219 a generated file, which may only be included from the files with
15220 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
15221 use union YYSTYPE, as the later allows forward declaration.
15222 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
15223
47248e08 152242008-05-29 Robert Millan <rmh@aybabtu.com>
15225
15226 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
15227 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
15228 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
15229 (grub_console_checkkey): Add grub_dprintf() call to report unknown
15230 scan codes.
15231
ee632529 152322008-05-29 Robert Millan <rmh@aybabtu.com>
15233
15234 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
15235 control key combinations.
15236
eee96e08 152372008-05-29 Robert Millan <rmh@aybabtu.com>
15238
15239 * util/powerpc/ieee1275/grub-install.in: Move from here ...
15240 * util/ieee1275/grub-install.in: ... to here.
15241 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
15242 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
15243 (grub_install_SOURCES): Likewise.
15244
da9a6a94 152452008-05-29 Robert Millan <rmh@aybabtu.com>
15246
15247 * fs/affs.c: Update copyright year.
15248 * fs/ext2.c: Likewise.
15249 * fs/fshelp.c: Likewise.
15250 * fs/hfsplus.c: Likewise.
15251 * fs/ntfs.c: Likewise.
15252 * fs/xfs.c: Likewise.
15253 * include/grub/fshelp.h: Likewise.
15254 * util/grub-mkdevicemap.c: Likewise.
15255
12e65f3a 152562008-05-28 Robert Millan <rmh@aybabtu.com>
15257
15258 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
15259 might need to be fatfs to support some firmware implementations
15260 (e.g. OFW or EFI).
15261
23023641 152622008-05-28 Robert Millan <rmh@aybabtu.com>
15263
15264 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
15265 devices.
15266 * util/grub-mkdevicemap.c (get_mmc_disk_name)
15267 (make_device_map): Likewise.
15268
887d2619 152692008-05-20 Bean <bean123ch@gmail.com>
15270
15271 * fs/fshelp.c (grub_fshelp_map_block): New function.
15272 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
15273 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
15274
15275 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
15276 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
15277 (grub_fshelp_journal): New structure.
15278 (grub_fshelp_map_block): New function prototype.
15279 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
15280 (grub_fshelp_map_block): Likewise.
15281
15282 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
15283 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
15284 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
15285 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
15286 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
15287 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
15288 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
15289 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
15290 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
15291 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
15292 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
15293 (grub_ext2_sblock): New members for journal support.
15294 (grub_ext3_journal_header): New structure.
15295 (grub_ext3_journal_revoke_header): Likewise.
15296 (grub_ext3_journal_block_tag): Likewise.
15297 (grub_ext3_journal_sblock): Likewise.
15298 (grub_fshelp_node): New members logfile and journal.
15299 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
15300 grub_fshelp_map_block to get real block number.
15301 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
15302 number.
15303 (grub_ext2_read_inode): Likewise.
15304 (grub_ext3_get_journal): New function.
15305 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
15306 (grub_ext2_close): Release memory used by journal.
15307
15308 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
15309 (REISERFS_MAGIC_DESC_BLOCK): New macro.
15310 (grub_reiserfs_transaction_header): Renamed to
15311 grub_reiserfs_description_block, replace field data with real_blocks.
15312 (grub_reiserfs_commit_block): New structure.
15313 (grub_reiserfs_data): New member journal.
15314 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
15315 number.
15316 (grub_reiserfs_read_symlink): Likewise.
15317 (grub_reiserfs_iterate_dir): Likewise.
15318 (grub_reiserfs_open): Likewise.
15319 (grub_reiserfs_read): Likewise.
15320 (grub_reiserfs_get_journal): New function.
15321 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
15322 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
15323 using grub_reiserfs_get_journal.
15324 (grub_reiserfs_close): Release memory used by journal.
15325
15326 * fs/affs.c (grub_affs_read_block): Change block type to
15327 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
15328
15329 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
15330
15331 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
15332
15333 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
15334
15335 * fs/udf.c (grub_udf_read_block): Change block type to
15336 grub_disk_addr_t. Use type cast to avoid warning.
15337
15338 * fs/xfs.c (grub_xfs_read_block): Likewise.
15339
b7c6bed5 153402008-05-16 Christian Franke <franke@computer.org>
15341
15342 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
15343 to ensure that break with ESC will always work.
15344 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
15345 Remove ESC from keyboard queue.
15346
eedf167f 153472008-05-16 Christian Franke <franke@computer.org>
15348
15349 * util/biosdisk.c: [__CYGWIN__] Add includes.
15350 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
15351 (get_os_disk): Move variable declarations to OS specific
15352 parts to avoid warning.
15353 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
15354 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
15355 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
15356 Cygwin.
15357 * util/getroot.c: [__CYGWIN__] Add includes.
15358 (strip_extra_slashes): Fix "/" case.
15359 [__CYGWIN__] (get_win32_path): New function.
15360 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
15361 [__CYGWIN__] (find_root_device): Disable.
15362 [__CYGWIN__] (get_bootsec_serial): New function.
15363 [__CYGWIN__] (find_cygwin_root_device): Likewise.
15364 [__linux__] (grub_guess_root_device): Add early returns to simplify
15365 structure.
15366 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
15367 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
15368 check for Linux only.
15369
a079699e 153702008-05-15 Bean <bean123ch@gmail.com>
15371
15372 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
15373 keyboard hang problem in apple's intel mac.
15374
1cf4059a 153752008-05-09 Robert Millan <rmh@aybabtu.com>
15376
15377 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
15378 devices.
15379 * util/grub-mkdevicemap.c (get_virtio_disk_name)
15380 (make_device_map): Likewise.
15381 Reported by Aurelien Jarno <aurel32@debian.org>
15382
ed759390 153832008-05-07 Ian Campbell <ijc@hellion.org.uk>
15384
15385 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
15386 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
15387 (make_device_map): Output entries for xvd type disks.
15388
b56c4eaa 153892008-05-07 Robert Millan <rmh@aybabtu.com>
15390
15391 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
15392 devices.
15393 * util/grub-mkdevicemap.c (get_cciss_disk_name)
15394 (make_device_map): Likewise.
15395 Reported by Roland Dreier <rdreier@cisco.com>
15396
7f8866ed 153972008-05-07 Robert Millan <rmh@aybabtu.com>
15398
15399 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
15400 grub_strstr() call. Correct a few mistakes in failure path handling.
15401
b0346e0f 154022008-05-06 Robert Millan <rmh@aybabtu.com>
15403
15404 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
15405 Do not print a trailing slash (therefore, the root directory is an
15406 empty string).
15407 (convert_system_path_to_grub_path): Do not remove trailing slash
15408 from make_system_path_relative_to_its_root() output.
15409
15410 * util/i386/pc/grub-install.in: Add trailing slash to output from
15411 make_system_path_relative_to_its_root().
15412
6cf12cbd 154132008-05-06 Robert Millan <rmh@aybabtu.com>
15414
15415 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
15416 ensures that output lines aren't intermangled with those sent to
15417 stderr (via grub_util_info()).
15418 * util/grub-probe.c (grub_refresh): Likewise.
15419 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
15420
0fbb3117 154212008-05-05 Christian Franke <franke@computer.org>
15422
15423 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
15424 Add Cygwin device names.
15425 (get_ide_disk_name) [__CYGWIN__]: Likewise.
15426 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
15427 (check_device): Return error instead of success on empty name.
15428 (make_device_map): Move label inside linux specific code to
15429 prevent compiler warning.
15430
8124cdb7 154312008-04-30 Robert Millan <rmh@aybabtu.com>
15432
15433 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
15434 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
15435 first boot option.
15436 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
15437
094c01d0 154382008-04-29 Robert Millan <rmh@aybabtu.com>
15439
15440 * docs/grub.cfg: New file (example GRUB configuration).
15441
f4b1fc02 154422008-04-26 Robert Millan <rmh@aybabtu.com>
15443
329ce2a5 15444 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
15445 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
15446 and `disk/ieee1275/nand.c'.
f4b1fc02 15447
25f16ec1 154482008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 15449
25f16ec1 15450 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
15451 i386-linuxbios.
15452
15453 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
15454 change the buffer size to 4096 for cdrom device.
15455
15456 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
15457 and nand.mod.
15458 (_linux_mod_SOURCES): New variable.
15459 (_linux_mod_CFLAGS): Likewise.
15460 (_linux_mod_LDFLAGS): Likewise.
15461 (linux_mod_SOURCES): Likewise.
15462 (linux_mod_CFLAGS): Likewise.
15463 (linux_mod_LDFLAGS): Likewise.
15464 (nand_mod_SOURCES): Likewise.
15465 (nand_mod_CFLAGS): Likewise.
15466 (nand_mod_LDFLAGS): Likewise.
15467
15468 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
15469 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
15470 type property. (nand device in olpc don't have this property)
15471
15472 * include/grub/disk.h (grub_disk_dev_id): New macro
15473 GRUB_DISK_DEVICE_NAND_ID.
15474
15475 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
15476 function prototype.
15477 (grub_rescue_cmd_initrd): Likewise.
15478
15479 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
15480 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
15481 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 15482
25f16ec1 15483 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
15484 GRUB_MACHINE_IEEE1275 is defined.
15485
15486 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
15487 Use NESTED_FUNC_ATTR attribute on the hook parameter.
15488
15489 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
15490 on nested function heap_init.
15491 (grub_upper_mem): New variable for i386-ieee1275.
15492 (grub_get_extended_memory): New function for i386-ieee1275.
15493 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
15494
15495 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
15496 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
15497 property.
f19dbdb7 15498
25f16ec1 15499 * loader/i386/ieee1275/linux.c: New file.
15500
15501 * loader/i386/ieee1275/linux_normal.c: New file.
15502
15503 * disk/ieee1275/nand.c: New file.
15504
e89d61e9 155052008-04-18 Thomas Schwinge <tschwinge@gnu.org>
15506
15507 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
15508 value.
15509 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
15510
602566f6 155112008-04-18 Robert Millan <rmh@aybabtu.com>
15512
15513 Restructures early code path on ieee1275 to unify grub_main() as
15514 the first C function that is executed in every platform.
15515
15516 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
15517 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
15518 cmain().
15519 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
15520 * kern/ieee1275/cmain.c (cmain): Rename to ...
15521 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
15522 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
15523 at the beginning.
15524
57490c2b 155252008-04-18 Robert Millan <rmh@aybabtu.com>
15526
15527 * util/update-grub.in: Fix syntax error when setting
15528 `GRUB_PRELOAD_MODULES'.
15529 Reported by Stephane Chazelas <stephane@artesyncp.com>
15530
1977517d 155312008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
15532
15533 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
15534 section into account, newer toolchains generate unique build ids
15535 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 15536 we want build ids to be preserved
1977517d 15537 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
15538 far from other sections don't cause the raw binary images grow
15539 size
15540
bfb1f1a2 155412008-04-15 Robert Millan <rmh@aybabtu.com>
15542
15543 * disk/lvm.c: Update copyright year.
15544 * kern/misc.c: Likewise.
15545
01979850 155462008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
15547
15548 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 15549 there is no memory left for physical volume name.
01979850 15550
0a1150e2 155512008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
15552
15553 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
15554 volume name mapping to support bigger than 9 character names properly.
15555
82ead3fe 155562008-04-13 Robert Millan <rmh@aybabtu.com>
15557
15558 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
15559 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
15560
e54a72f5 155612008-04-13 Christian Franke <franke@computer.org>
15562
15563 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
15564 to create a floppy emulation boot CD when non emulation mode
15565 does not work.
15566 Enable Joliet CD filesystem extension.
15567
9fe86034 155682008-04-13 Robert Millan <rmh@aybabtu.com>
15569
15570 * kern/misc.c (grub_strncat): Fix off-by-one error.
15571 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
15572
15573 * kern/env.c (grub_env_context_close): Clear current context, not
15574 previous one.
15575 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
15576
15577 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
15578
7ceeee39 155792008-04-13 Robert Millan <rmh@aybabtu.com>
15580
15581 Improve robustness when handling LVM.
15582
15583 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 15584 (and leave `*p' unmodified).
7ceeee39 15585 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
15586 through it.
15587 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
15588 iterating through it.
15589 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
15590 through it.
fe6b695a 15591 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 15592 when due) on each grub_lvm_getvalue() or grub_strstr() call.
15593 Don't assume `vg->pvs != NULL' when iterating through it.
15594
58cd3d85 155952008-04-13 Robert Millan <rmh@aybabtu.com>
15596
15597 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
15598 * genmk.rb (partmap): New variable.
15599 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
15600 (#{partmap}): New target rule.
15601 * genpartmaplist.sh: New file.
15602 * Makefile.in (pkglib_DATA): Add partmap.lst.
15603 (partmap.lst): New target rule.
15604 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
15605 modules (including all partition maps), instead of preloading them.
15606
78b51059 156072007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
15608
15609 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
15610 `linux-boot-prober' (if installed) to detect other operating
15611 systems which are installed on the computer and add them to
15612 the boot menu.
15613 * conf/common.rmk: Build and install 30_os-prober.
15614
a91627b4 156152008-04-12 Robert Millan <rmh@aybabtu.com>
15616
15617 * kern/powerpc/ieee1275/init.c: Move from here ...
15618 * kern/ieee1275/init.c: ... to here. Update all users.
15619
15620 * kern/powerpc/ieee1275/cmain.c: Move from here ...
15621 * kern/ieee1275/cmain.c: ... to here. Update all users.
15622
15623 * kern/powerpc/ieee1275/openfw.c: Move from here ...
15624 * kern/ieee1275/openfw.c: ... to here. Update all users.
15625
15626 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
15627 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
15628
322562ea 156292008-04-10 Pavel Roskin <proski@gnu.org>
15630
15631 * configure.ac: Always use "_cv_" in cache variables for
15632 compatibility with Autoconf 2.62.
15633
a02a73c5 156342008-04-07 Robert Millan <rmh@aybabtu.com>
15635
15636 Revert grub/machine/init.h addition by Pavel (since it breaks on
15637 i386-ieee1275 and others):
15638 * util/i386/pc/misc.c: Remove grub/machine/init.h.
15639 * util/powerpc/ieee1275/misc.c: Likewise.
15640
25c024b1 156412008-04-07 Robert Millan <rmh@aybabtu.com>
15642
15643 * util/grub-probe.c (probe): Improve error message.
15644
3cbd2f98 156452008-04-07 Robert Millan <rmh@aybabtu.com>
15646
15647 * util/biosdisk.c (read_device_map): Skip devices that don't exist
15648 (this prevents the presence of a bogus entry from ruining the whole
15649 thing).
15650
87a297bf 156512008-04-06 Pavel Roskin <proski@gnu.org>
15652
36747a62 15653 * util/biosdisk.c: Include grub/util/biosdisk.h.
15654 * util/grub-fstest.c (execute_command): Make static.
15655 * util/grub-mkdevicemap.c (check_device): Likewise.
15656 * util/i386/pc/misc.c: Include grub/machine/init.h.
15657 * util/powerpc/ieee1275/misc.c: Likewise.
15658 * util/lvm.c: Include grub/util/lvm.h.
15659 * util/misc.c: Include grub/kernel.h, grub/misc.h and
15660 grub/cache.h.
15661 * util/raid.c: Include grub/util/raid.h.
15662 (grub_util_getdiskname): Make static.
15663
87a297bf 15664 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
15665 grub_hostfs_fini(), as they are called from grub_init_all() and
15666 grub_fini_all() respectively. This fixes an infinite loop in
15667 grub-fstest due to double registration of hostfs.
15668 Reported by Christian Franke <Christian.Franke@t-online.de>
15669
f6ce7629 156702008-04-05 Pavel Roskin <proski@gnu.org>
15671
15672 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
15673 all 8 functions. Otherwise, probe function 0 only.
15674
070e49e4 156752008-04-04 Pavel Roskin <proski@gnu.org>
15676
8b088a4c 15677 * commands/lspci.c (grub_lspci_iter): Print the bus number
15678 correctly.
15679
4f657021 15680 * commands/lspci.c (grub_pci_classes): Fix typos.
15681 (grub_lspci_iter): Don't print func twice. Print vendor ID
15682 before device ID, as it's normally done.
15683
070e49e4 15684 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
15685 Fix signedness warnings.
15686 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
15687 Likewise.
15688 * util/ieee1275/get_disk_name.c: Include config.h so that
15689 _GNU_SOURCE is defined and getline() is declared. Mark an
15690 unused argument as such. Fix a signedness warning.
15691
ba7328dc 156922008-04-02 Pavel Roskin <proski@gnu.org>
15693
26887f22 15694 * genkernsyms.sh.in: Use more robust assignments for CC and
15695 srcdir. Quote srcdir.
15696 * gensymlist.sh.in: Likewise. Assert at the compile time that
15697 the symbol table is not empty.
15698
ba7328dc 15699 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
15700 * fs/cpio.c (grub_cpio_read): Likewise.
15701
0f582c6b 157022008-04-01 Pavel Roskin <proski@gnu.org>
15703
4b6e1995 15704 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
15705 * disk/host.c (grub_host_open): Likewise.
15706 * disk/loopback.c (grub_loopback_open): Likewise.
15707 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
15708 disk->id as in disk/host.c, not a multi-character constant.
15709
828a2768 15710 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
15711 later is obsolete, potentially dangerous and sets a bad example.
15712 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
15713 * util/misc.c (grub_util_get_image_size): Likewise.
15714
2bb4fb47 15715 * disk/loopback.c (options): Improve help for "--partitions".
15716
0f582c6b 15717 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
15718 options to align them with the short options, e.g. "echo -e".
15719
a33224e0 157202008-03-31 Bean <bean123ch@gmail.com>
15721
15722 * video/reader/png.c (grub_png_data): New member is_16bit and
15723 image_data.
15724 (grub_png_decode_image_header): Detect 16 bit png image.
15725 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
15726 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
15727 (grub_video_reader_png): Release memory occupied by image_data.
15728
15729 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
15730 4096 bytes.
15731 (grub_nfs_mount): Skip the test for sector per cluster.
15732
15733 * include/grub/ntfs.h (MAX_SPC): Removed.
15734
86cb4f54 157352008-03-31 Bean <bean123ch@gmail.com>
15736
15737 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
15738 (grub_probe_SOURCES): Add fs/afs.c.
15739 (grub_fstest_SOURCES): Likewise.
15740 (afs_mod_SOURCES): New variable.
15741 (afs_mod_CFLAGS): Likewise.
15742 (afs_mod_LDFLAGS): Likewise.
15743
15744 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
15745 (grub_emu_SOURCES): Likewise.
15746
15747 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15748
15749 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15750
15751 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
15752
15753 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15754
15755 * fs/afs.c: New file.
15756
17c74c21 157572008-03-30 Pavel Roskin <proski@gnu.org>
15758
4cb68e89 15759 * disk/host.c: Include grub/misc.h to fix a warning.
15760 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
15761 warnings about implicit declarations.
15762
8790bb04 15763 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
15764 variable.
15765 * include/grub/i386/loader.h: Change declaration of
15766 grub_linux_boot() to match what grub_loader_set() expects.
15767 * util/getroot.c (grub_guess_root_device): Return const char* to
15768 fix a warning.
15769 * util/grub-probe.c (probe): Fix a warning about uninitialized
15770 abstraction_name variable.
15771 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
15772 second argument as unused to fix a warning.
15773
9a3f3296 15774 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
15775 missing grub_error() call.
15776
0ecef90d 15777 * util/update-grub_lib.in: Define datarootdir, since Autoconf
15778 2.60 and newer uses it to define datadir.
15779
0bf6d401 15780 * commands/sleep.c: Fix warning about implicit declaration.
15781 * disk/memdisk.c: Likewise.
15782 * loader/aout.c: Likewise.
15783 * loader/i386/bsd_normal.c: Likewise.
15784 * util/grub-probe.c: Likewise.
15785
7cdacf97 15786 * commands/i386/cpuid.c (has_longmode): Make static.
15787 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
15788 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
15789
17c74c21 15790 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
15791 GDT. This is more robust, as %ds can change.
15792 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
15793 calling real_to_prot().
15794 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
15795
80a3e68b 157962008-03-28 Pavel Roskin <proski@gnu.org>
15797
15798 * kern/i386/pc/startup.S: Assert that uncompressed functions
15799 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
15800 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
15801 code, as they push parts of the code (error handlers) beyond
15802 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
15803 code as correctness and size.
15804
77bcd272 158052008-03-28 Pavel Roskin <proski@gnu.org>
15806
15807 * kern/i386/pc/startup.S
15808 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
15809 data block address to the real mode, keep offset minimal. This
15810 works around a bug in AWARD BIOS on old Athlon systems, which
15811 makes CD detection hang.
15812
c5dfd43b 158132008-03-26 Pavel Roskin <proski@gnu.org>
15814
15815 * normal/color.c (grub_parse_color_name_pair): Make `name' a
15816 const.
15817 * include/grub/normal.h: Add grub_parse_color_name_pair()
15818 declaration.
15819
bf962df2 158202008-03-24 Bean <bean123ch@gmail.com>
15821
15822 * disk/i386/pc/biosdisk.c (cd_start): Removed.
15823 (cd_count): Removed.
15824 (cd_drive): New variable.
15825 (grub_biosdisk_get_drive): Don't check for (cdN) device.
15826 (grub_biosdisk_call_hook): Likewise.
15827 (grub_biosdisk_iterate): Change cdrom detection method.
15828 (grub_biosdisk_open): Replace cd_start with cd_drive.
15829 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
15830 detect cdrom device.
15831
15832 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
15833 Removed.
15834 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
15835 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
15836 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
15837 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
15838 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
15839 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
15840 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
15841 (grub_biosdisk_cdrp): New structure.
15842 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
15843
15844 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
15845
15846 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
15847 device.
15848
15849 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
15850 New function.
15851
68e7fc7a 158522008-03-20 Robert Millan <rmh@aybabtu.com>
15853
15854 Remove 2 TiB limit in ata.mod.
15855 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
15856 (grub_ata_dumpinfo): Print sector count with 0x%llx.
15857 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
15858 grub_uint64_t instead of grub_uint32_t.
15859
38ad2cf5 158602008-03-05 Bean <bean123ch@gmail.com>
15861
15862 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
15863 (grub_multiboot): Set boot device.
15864
15865 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
15866
2b89344e 158672008-03-02 Bean <bean123ch@gmail.com>
15868
15869 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
15870 symlink_buffer.
15871
87a95d1f 158722008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
15873
15874 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
15875 texinfo.tex.
15876
15877 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
15878 modified.
15879
15880 * docs/fdl.texi: New file.
f19dbdb7 15881
87a95d1f 15882 * docs/mdate-sh: New file. Copied from gnulib.
15883 * docs/texinfo.tex: Likewise.
15884
15885 * config.guess: Updated from gnulib.
15886 * install-sh: Likewise.
15887
7dc15d8e 158882008-02-28 Robert Millan <rmh@aybabtu.com>
15889
15890 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
15891 (aout_mod_SOURCES): New variable.
15892 (aout_mod_CFLAGS): Likewise.
15893 (aout_mod_LDFLAGS): Likewise.
15894
15895 * conf/i386-ieee1275.rmk: Likewise.
15896
b00ab696 158972008-02-28 Robert Millan <rmh@aybabtu.com>
15898
15899 * util/update-grub.in: Reorganise terminal validity check. Accept
15900 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
15901 Based on suggestion by Franklin PIAT.
15902
79ca2d78 159032008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
15904
15905 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
15906 function.
15907 * util/getroot.c (grub_util_check_block_device): New function that
15908 returns the given argument if it is a block device and returns NULL else.
15909 * util/grub-probe.c (argument_is_device): New variable.
15910 (probe): Promote device_name from a variable to an argument. Receive
15911 device_name from grub_util_check_block_device() if path is NULL and from
15912 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 15913 (options): Introduce new parameter '-d, --device'.
79ca2d78 15914 (main): Add description of the new parameter to the help screen.
15915 Rename path variable to argument. Set argument_is_device if the '-d'
15916 option is given. Pass argument to probe() depending on
15917 argument_is_device.
15918
0d16e571 159192008-02-24 Bean <bean123ch@gmail.com>
15920
15921 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
15922 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
15923 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
15924 (GRUB_ISO9660_VOLDESC_PART): Likewise.
15925 (GRUB_ISO9660_VOLDESC_END): Likewise.
15926 (grub_iso9660_primary_voldesc): New member escape.
15927 (grub_iso9660_data): New member joliet.
15928 (grub_iso9660_convert_string): New function.
15929 (grub_iso9660_mount): Detect joliet extension.
15930 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
15931 (grub_iso9660_iso9660_label): Likewise.
15932
15933 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
15934 (grub_setup_SOURCES): Add fs/udf.c.
15935 (grub_fstest_SOURCES): Likewise.
15936 (udf_mod_SOURCES): New variable.
15937 (udf_mod_CFLAGS): Likewise.
15938 (udf_mod_LDFLAGS): Likewise.
15939
15940 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
15941 (grub_emu_SOURCES): Likewise.
15942
15943 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15944
15945 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15946
15947 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
15948
15949 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15950
15951 * fs/udf.c: New file.
15952
8a594a17 159532008-02-24 Robert Millan <rmh@aybabtu.com>
15954
15955 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
15956 (normal/lexer.c_DEPENDENCIES): New variables.
15957 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
15958 (normal/lexer.c_DEPENDENCIES): Likewise.
15959 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
15960 (normal/lexer.c_DEPENDENCIES): Likewise.
15961 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
15962 (normal/lexer.c_DEPENDENCIES): Likewise.
15963 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
15964 (normal/lexer.c_DEPENDENCIES): Likewise.
15965 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
15966 (normal/lexer.c_DEPENDENCIES): Likewise.
15967
2dc33c03 159682008-02-23 Robert Millan <rmh@aybabtu.com>
15969
15970 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
15971 since they were intended to be in hex. This didn't break previously
15972 because of a bug in gpt_partition_map_iterate() (see below).
15973
15974 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
15975 when checking the validity of GPT header.
15976 Remove `partno', since it always provides the same information as `i'.
15977
f6f4cfb0 159782008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
15979
15980 * include/grub/efi/time.h: Fix a wrong comment.
15981
79ff665f 159822008-02-19 Pavel Roskin <proski@gnu.org>
15983
15984 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
15985 message.
15986
d38e24c2 159872008-02-19 Bean <bean123ch@gmail.com>
15988
15989 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
15990 (aout_mod_SOURCES): New variable.
15991 (aout_mod_CFLAGS): Likewise.
15992 (aout_mod_LDFLAGS): Likewise.
15993 (_bsd_mod_SOURCES): New variable.
15994 (_bsd_mod_CFLAGS): Likewise.
15995 (_bsd_mod_LDFLAGS): Likewise.
15996 (bsd_mod_SOURCES): New variable.
15997 (bsd_mod_CFLAGS): Likewise.
15998 (bsd_mod_LDFLAGS): Likewise.
15999
16000 * include/grub/aout.h: New file.
16001
16002 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
16003
16004 * include/grub/i386/bsd.h: New file.
16005
16006 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
16007 to make it public.
16008
16009 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
16010 function is called, so that it's possible to change it inside the hook.
16011 (grub_elf64_load): Likewise.
16012 (grub_elf_file): Don't close the file if elf header is not found.
16013 (grub_elf_close): Close the file if grub_elf_file fails (The new
16014 grub_elf_file won't close it).
16015 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
16016 (grub_elf64_size): Likewise.
16017
16018 * kern/i386/loader.S (grub_unix_real_boot): New function.
16019
16020 * loader/aout.c: New file.
16021
16022 * loader/i386/bsd.c: New file.
16023
16024 * loader/i386/bsd_normal.c: New file.
16025
16026 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
16027
16028 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 16029 can test other formats.
d38e24c2 16030
b93bdb0f 160312008-02-19 Robert Millan <rmh@aybabtu.com>
16032
16033 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
16034 (grub_gpt_partition_type_empty): Redefine with macro from
16035 `<grub/gpt_partition.h>'.
16036 (gpt_partition_map_iterate): Adjust partition type comparison.
16037
16038 Export `entry' as partmap-specific `part.data' struct.
16039 (grub_gpt_header, grub_gpt_partentry): Move from here ...
16040
16041 * include/grub/gpt_partition.h (grub_gpt_header)
16042 (grub_gpt_partentry): ... to here (new file).
16043
16044 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
16045
16046 (grub_gpt_partition_type_bios_boot): New const variable, defined
16047 with macro from `<grub/gpt_partition.h>'.
16048
16049 (setup): Replace `first_start' with `embed_region', which keeps
16050 track of the embed region (and is partmap-agnostic).
16051
16052 Replace find_first_partition_start() with find_usable_region(),
16053 which finds a usable region for embedding using partmap-specific
16054 knowledge (supports PC/MSDOS and GPT).
16055
16056 Fix all assumptions that the embed region start at sector 1, using
16057 `embed_region.start' from now on. Similarly, use `embed_region.end'
16058 rather than `first_start' to calculate available size.
16059
16060 In grub_util_info() message, replace "into after the MBR" with an
16061 indication of the specific sector our embed region starts at.
16062
66cb40f6 160632008-02-19 Robert Millan <rmh@aybabtu.com>
16064
16065 * DISTLIST: Replace `commands/ieee1275/halt.c' and
16066 `commands/ieee1275/reboot.c' with `commands/halt.c' and
16067 `commands/reboot.c'.
16068 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
16069 (halt_mod_SOURCES): Likewise.
16070 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
16071 (halt_mod_SOURCES): Likewise.
16072
b7202015 160732008-02-17 Christian Franke <franke@computer.org>
16074
16075 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
16076
32b0fc49 160772008-02-17 Robert Millan <rmh@aybabtu.com>
16078
16079 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
16080 set `first_start' to 0 for non-PC/MSDOS partition maps.
16081
aca63502 160822008-02-16 Robert Millan <rmh@aybabtu.com>
16083
16084 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
16085 do not assume partition map is PC/MSDOS before performing checks that
16086 are specific to that layout.
16087
0de8be86 160882008-02-13 Robert Millan <rmh@aybabtu.com>
16089
16090 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
16091 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
16092 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
16093
c3db8364 160942008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
16095
16096 * configure.ac: Only a cosmetic change on the handling of
16097 -fno-stack-protector.
16098
f714229e 160992008-02-12 Alexandre Boeglin <alex@boeglin.org>
16100
c3db8364 16101 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
16102 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
16103 reboot.c.
f714229e 16104 (grub_install_SOURCES): Add halt.mod and reboot.mod.
16105 (halt_mod_SOURCES): New variable.
16106 (halt_mod_CFLAGS): Likewise.
16107 (halt_mod_LDFLAGS): Likewise.
16108 (reboot_mod_SOURCES): Likewise.
16109 (reboot_mod_CFLAGS): Likewise.
16110 (reboot_mod_LDFLAGS): Likewise.
16111
c3db8364 16112 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
16113 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
16114 reboot.c.
f714229e 16115 (halt_mod_SOURCES): Likewise.
16116 (reboot_mod_SOURCES): Likewise.
16117
c3db8364 16118 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
16119 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 16120 (reboot_mod_SOURCES): Likewise.
16121
16122 * commands/i386/pc/reboot.c: merge this file ...
16123
16124 * commands/ieee1275/reboot.c: ... and this file ...
16125
16126 * commands/reboot.c: ... to this file.
c3db8364 16127 Add some precompiler directive to include the correct header for
16128 each machine.
f714229e 16129
16130 * commands/ieee1275/halt.c: move this file ...
16131
16132 * commands/halt.c: ... to here.
c3db8364 16133 Add some precompiler directive to include the correct header for
16134 each machine.
f714229e 16135
16136 * include/grub/efi/efi.h (grub_reboot): New function declaration.
16137 (grub_halt): Likewise.
16138
16139 * kern/efi/efi.c (grub_reboot): New function.
16140 (grub_halt): Likewise.
16141
c74493e0 161422008-02-12 Robert Millan <rmh@aybabtu.com>
16143
16144 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
16145 /dev (like it is done for /dev/mapper). This doesn't provide support
16146 for EVMS, but at least it is now easy to identify the problem when it
16147 arises.
16148
d0db4b04 161492008-02-11 Robert Millan <rmh@aybabtu.com>
16150
16151 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
16152 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
16153 comparing it with -1, not 0.
16154
bf748642 161552008-02-10 Robert Millan <rmh@aybabtu.com>
16156
16157 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
16158 `disk/lvm.c'.
16159 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16160 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
16161
16162 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
16163 `disk/lvm.c' to the end of the list.
16164 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
16165 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16166
b5db202a 161672008-02-10 Robert Millan <rmh@aybabtu.com>
16168
16169 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
16170 grub_print_error() instead. This will let user know why we're entering
16171 rescue mode.
16172 Based on suggestions from Sam Morris.
16173
83abee31 161742008-02-10 Alexandre Boeglin <alex@boeglin.org>
16175
16176 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
16177 on remaining N args, instead of "--" arg N times.
16178
78d5a08b 161792008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
16180
16181 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
16182 (fill_with_default_glyph): Changed to use unknown_glyph for fill
16183 pattern for unknown glyphs.
16184
68807e5f 161852008-02-09 Robert Millan <rmh@aybabtu.com>
16186
16187 * configure.ac: Probe for `help2man'.
16188 * Makefile.in (builddir): New variable.
16189 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
16190 or otherwise add a few flags/options to it.
16191 (install-local): For every executable utility or script that is
16192 installed, invoke $(HELP2MAN) to install a manpage based on --help
16193 output.
16194
16195 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
16196 that it doesn't prevent --help from working in build tree.
16197
16198 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
16199 with `bug-grub@gnu.org'.
16200 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
16201 * util/update-grub.in (usage): New function.
16202 Implement proper argument check, with support for --help and --version
16203 (as well as existing -y).
16204
162052008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 16206
16207 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
16208 avoid overwriting previous output.
16209 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
16210
c1962162 162112008-02-09 Robert Millan <rmh@aybabtu.com>
16212
16213 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
16214 drawing the menu.
16215
3dac2e3f 162162008-02-09 Robert Millan <rmh@aybabtu.com>
16217
16218 * commands/sleep.c: New file.
16219 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
16220 (sleep_mod_SOURCES): New variable.
16221 (sleep_mod_CFLAGS): Likewise.
16222 (sleep_mod_LDFLAGS): Likewise.
16223
7a634e08 162242008-02-09 Robert Millan <rmh@aybabtu.com>
16225
16226 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
16227 situations in which we can deduce the RAID size and the superblock
16228 doesn't match it.
16229
b92f0c18 162302008-02-09 Robert Millan <rmh@aybabtu.com>
16231
16232 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
16233 and return a grub_diskmemberlist_t composed of LVM physical volumes.
16234 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
16235
16236 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
16237 and return a grub_diskmemberlist_t composed of physical array members.
16238 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
16239
16240 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
16241 prototype.
16242 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
16243 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
16244 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
16245
16246 * util/grub-probe.c (probe): Move partmap probing code from here ...
16247 (probe_partmap): ... to here.
16248 (probe): Use probe_partmap() once for the disk we're probing, and
16249 additionally, when such disk contains a memberlist() struct member,
16250 once for each disk that is contained in the structure returned by
16251 memberlist().
16252
91a4bf68 162532008-02-09 Robert Millan <rmh@aybabtu.com>
16254
16255 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
16256 environment variable to 'all' in order to obtain debug output from
16257 non-util/ code.
16258 * util/i386/pc/grub-setup.c (main): Likewise.
16259
a96f9caa 162602008-02-08 Robert Millan <rmh@aybabtu.com>
16261
16262 * disk/raid.c (grub_raid_scan_device): Check for
16263 `array->device[sb.this_disk.number]' rather than for
16264 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 16265 guaranteed to be accessible.
a96f9caa 16266
b37a9222 162672008-02-08 Robert Millan <rmh@aybabtu.com>
16268
16269 * disk/raid.c: Update copyright.
16270 * fs/cpio.c: Likewise.
16271 * include/grub/raid.h: Likewise.
16272 * loader/i386/pc/multiboot.c: Likewise.
16273 * util/hostfs.c: Likewise.
16274
5626aee1 162752008-02-08 Robert Millan <rmh@aybabtu.com>
16276
16277 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
16278 to a grub_disk_t array.
16279 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
16280 `device[x]'.
16281 (grub_raid_scan_device): Replace `device[x].name' accesses with
16282 `device[x]->name'. Simplify initialization of `array->device[x]'.
16283
554f0187 162842008-02-08 Robert Millan <rmh@aybabtu.com>
16285
16286 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
16287 grub_dprintf() calls.
16288 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
16289 error message.
16290
1ec8425d 162912008-02-07 Christian Franke <franke@computer.org>
16292
16293 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
16294 instead of fseek and ftell to support large files.
16295 (grub_hostfs_read): Likewise.
16296
f2156fda 162972008-02-07 Robert Millan <rmh@aybabtu.com>
16298
16299 Patch from Jeroen Dekkers.
16300 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 16301 failure, since successfully reading all array members might not be
f2156fda 16302 required.
16303
9216e0e7 163042008-02-06 Robert Millan <rmh@aybabtu.com>
16305
16306 * util/grub-probe.c (probe): Simplify partmap probing (with the
16307 assumption that the first word up to the underscore equals to
16308 the module name).
16309
b0dfd29a 163102008-02-06 Christian Franke <franke@computer.org>
16311
16312 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
16313 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
16314 last block of a cpio or tar stream.
16315 Check for "TRAILER!!!" instead of any empty data
16316 block to detect last block of a cpio stream.
16317 (grub_cpio_dir): Fix constness of variable np.
16318 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
16319 cpio or tar trailer is detected. This fixes a crash
16320 on open of a non existing file.
16321
c32865bf 163222008-02-05 Bean <bean123ch@gmail.com>
16323
16324 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
16325 address of entry.
16326 (grub_multiboot_load_elf64): Likewise.
16327 (grub_multiboot): Initialize mbi structure.
16328
16329 * util/grub-fstest.c: Don't include unused header file script.h.
16330
fe6b695a 16331 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 16332 of file.
16333 (grub_fstest_SOURCES): Likewise.
16334
409480b7 163352008-02-05 Robert Millan <rmh@aybabtu.com>
16336
16337 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
16338 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
16339 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
16340 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
16341
16342 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
16343 (translation_table): Replace hardcoded values with macros
16344 provided by `<grub/term.h>'.
16345
16346 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
16347 (keyboard_map): Correct/add a few values, with macros provided
16348 by `<grub/term.h>'.
16349 (keyboard_map_shift): Zero values that don't differ from their
16350 `keyboard_map' equivalents.
16351 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
16352 Discard the second scan code that is always sent by Caps lock.
16353 Only use `keyboard_map_shift' when it provides a non-zero value,
16354 otherwise fallback to `keyboard_map'.
16355
99fadbaa 163562008-02-04 Bean <bean123ch@gmail.com>
16357
16358 * Makefile.in (enable_grub_fstest): New variable.
16359
16360 * conf/common.rmk (grub_fstest_init.lst): New rule.
16361 (grub_fstest_init.h): Likewise.
16362 (grub_fstest_init.c): Likewise.
16363 (util/grub-fstest.c_DEPENDENCIES): New variable.
16364 (grub_fstest_SOURCES): Likewise.
16365
16366 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
16367
16368 * util/grub-fstest.c: New file.
16369
bf567c50 163702008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
16371
16372 Make grub-setup handle a separate root device.
f19dbdb7 16373
bf567c50 16374 * util/i386/pc/grub-setup.c (setup): Always open the root device,
16375 so that the root device can be compared with the destination
16376 device.
16377 When embedding the core image, if the root and destination devices
16378 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
16379 0xFF.
16380 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 16381
9be6b98b 163822008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
16383
16384 Add support for having a grub directory in a different drive. This
16385 is still only the data handling part.
f19dbdb7 16386
9be6b98b 16387 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
16388 (codestart): Save %dh in GRUB_ROOT_DRIVE.
16389 (grub_root_drive): New variable.
16390
16391 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
16392 instead of GRUB_BOOT_DRIVE to construct a device name. Set
16393 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
16394 as it was.
16395
16396 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
16397
16398 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
16399 macro.
16400 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
16401
16402 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
16403 is bogus, because PXE booting does not specify any drive
16404 correctly.
16405
16406 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
16407 am not sure if this is really correct.
16408
16409 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
16410 is always identical to the boot drive when booting from a CD.
16411
16412 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
16413 longer.
16414 (root_drive): New variable.
16415 (real_start): Unconditionally set %dh to ROOT_DRIVE.
16416 (setup_sectors): Push %dx right after popping it, because %dh will
16417 be modified later.
16418 (copy_buffer): Restore %dx.
16419
e0ca0677 164202008-02-03 Robert Millan <rmh@aybabtu.com>
16421
16422 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
16423 use `cdboot.img' for cdrom images.
16424
3b3f6629 164252008-02-03 Robert Millan <rmh@aybabtu.com>
16426
16427 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
16428 only setup gfxterm when `font' command has succeeded.
16429
d42b3672 164302008-02-03 Robert Millan <rmh@aybabtu.com>
16431
16432 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
16433 (grub_rescue_cmd_multiboot_loader)
16434 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
16435
fa370ea6 164362008-02-03 Pavel Roskin <proski@gnu.org>
16437
e0c5dacb 16438 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 16439 %edx and %esi from stack only after grub_gate_a20() is called.
16440 grub_gate_a20() clobbers %edx.
16441
f2a76e1d 164422008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
16443
16444 * configure.ac (AC_INIT): Bumped to 1.96.
16445
16446 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
16447 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
16448 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
16449 video/readers/png.c.
16450
90fd32d1 164512008-02-03 Bean <bean123ch@gmail.com>
9be665dd 16452
16453 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
16454 (cdboot_img_SOURCES): New variable.
16455 (cdboot_img_ASFLAGS): New variable.
16456 (cdboot_img_LDFLAGS): New variable.
16457
16458 * boot/i386/pc/cdboot.S: New file.
16459
16460 * disk/i386/pc/biosdisk.c (cd_start): New variable.
16461 (cd_count): Likewise.
16462 (grub_biosdisk_get_drive): Add support for cd device.
16463 (grub_biosdisk_call_hook): Likewise.
16464 (grub_biosdisk_iterate): Likewise.
16465 (grub_biosdisk_open): Likewise.
16466 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
16467 (grub_biosdisk_rw): Support reading from cd device.
16468 (GRUB_MOD_INIT): Iterate cd devices.
16469
16470 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
16471 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
16472 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
16473
16474 * kern/i386/pc/init.c (make_install_device): Check for cd device.
16475
4020aa53 164762008-02-02 Robert Millan <rmh@aybabtu.com>
16477
16478 * commands/read.c: New file.
16479 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
16480 (read_mod_SOURCES): New variable.
16481 (read_mod_CFLAGS): Likewise.
16482 (read_mod_LDFLAGS): Likewise.
16483
e03a1132 164842008-02-02 Robert Millan <rmh@aybabtu.com>
16485
16486 * normal/main.c (grub_normal_execute): Check for `menu->size' when
16487 determining whether menu has to be displayed.
16488
58c69220 164892008-02-02 Marco Gerards <marco@gnu.org>
16490
16491 * bus/pci.c: New file.
16492
16493 * include/grub/pci.h: Likewise.
16494
16495 * include/grub/i386/pc/pci.h: Likewise.
16496
16497 * commands/lspci.c: Likewise.
16498
16499 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
16500 `lspci.mod'.
16501 (pci_mod_SOURCES): New variable.
16502 (pci_mod_CFLAGS): Likewise.
16503 (pci_mod_LDFLAGS): Likewise.
16504 (lspci_mod_SOURCES): Likewise.
16505 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 16506 (lspci_mod_LDFLAGS): Likewise.
58c69220 16507
c004e1b4 165082008-02-02 Bean <bean123ch@gmail.com>
16509
16510 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
16511 (grub_ufs_get_file_block): Fix indirect block calculation problem.
16512
16513 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
16514 (grub_xfs_btree_node): New structure.
16515 (grub_xfs_btree_root): New structure.
16516 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
16517 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
16518 (GRUB_XFS_EXTENT_BLOCK): Likewise.
16519 (GRUB_XFS_EXTENT_SIZE): Likewise.
16520 (grub_xfs_read_block): Support btree format type.
16521 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
16522 Use directory block as basic unit.
16523
16524 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
16525
16526 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
16527 __attribute__ ((__regparm__ (1))).
16528
f95562bf 165292008-02-01 Robert Millan <rmh@aybabtu.com>
16530
16531 Correct a mistake in previous commit.
16532
16533 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
16534 top.
16535 (normal/command.c_DEPENDENCIES): New variable.
16536
7d31f41f 165372008-02-01 Robert Millan <rmh@aybabtu.com>
16538
16539 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
16540 top.
16541 (normal/command.c_DEPENDENCIES): New variable.
16542 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
16543 * conf/i386-ieee1275.rmk: Likewise.
16544 * conf/i386-linuxbios.rmk: Likewise.
16545 * conf/i386-pc.rmk: Likewise.
16546 * conf/sparc64-ieee1275.rmk: Likewise.
16547 * conf/powerpc-ieee1275.rmk: Likewise.
16548 (grub_emu_SOURCES): Add `fs/fshelp.c'.
16549
16550 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
16551
60b6be74 165522008-02-01 Robert Millan <rmh@aybabtu.com>
16553
16554 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
16555 call at beginning of function.
16556
078522ab 165572008-01-31 Pavel Roskin <proski@gnu.org>
16558
16559 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 16560 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
16561 (grub_mkrescue_SOURCES): Likewise.
078522ab 16562 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
16563
ccaa8a5f 165642008-01-30 Robert Millan <rmh@aybabtu.com>
16565
16566 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
16567 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
16568 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
16569 (grub_probe_SOURCES): ... to here.
16570
16571 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
16572 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
16573 * conf/i386-ieee1275.rmk: Likewise.
16574 * conf/i386-linuxbios.rmk: Likewise.
16575 * conf/powerpc-ieee1275.rmk: Likewise.
16576
ae5a9cd7 165772008-01-30 Tristan Gingold <gingold@free.fr>
16578
16579 * kern/rescue.c: Silently accept empty lines.
16580
70bc2ef2 165812008-01-29 Bean <bean123ch@gmail.com>
16582
16583 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
16584 (real_code_2): Code cleanup and change comment style.
16585 (move_memory): Avoid using 32-bit address mode.
16586
6a4d50ea 165872008-01-29 Bean <bean123ch@gmail.com>
16588
16589 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
16590 (png_mod_SOURCES): New variable.
16591 (png_mod_CFLAGS): Likewise.
16592 (png_mod_LDFLAGS): Likewise.
16593
16594 * video/readers/png.c: New file.
16595
11cc30ac 165962008-01-28 Robert Millan <rmh@aybabtu.com>
16597
16598 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
16599 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
16600 `ifndef GRUB_MOD_GAP' hack.
16601 * util/elf/grub-mkimage.c (add_segments): Likewise.
16602
3abc589f 166032008-01-27 Robert Millan <rmh@aybabtu.com>
16604
16605 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
16606 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 16607 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 16608
e1907778 166092008-01-27 Robert Millan <rmh@aybabtu.com>
16610
16611 Get grub-emu to build again (including parallel builds).
16612
16613 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
16614 Split into ...
16615 (util/grub-emu.c_DEPENDENCIES): ... this, ...
16616 (normal/execute.c_DEPENDENCIES): ... this, ...
16617 (grub-emu_DEPENDENCIES): ... and this.
16618
16619 * conf/i386-efi.rmk: Likewise.
16620 * conf/i386-linuxbios.rmk: Likewise.
16621 * conf/i386-ieee1275.rmk: Likewise.
16622 * conf/powerpc-ieee1275.rmk: Likewise.
16623 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
16624
2216b101 166252008-01-27 Robert Millan <rmh@aybabtu.com>
16626
16627 * NEWS: Add a few items.
16628
f75172d9 166292008-01-27 Robert Millan <rmh@aybabtu.com>
16630
16631 Fix parallel builds with grub-emu. Based on earlier commit for
16632 grub-probe and grub-setup.
16633
16634 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
16635 (util/grub-emu.c_DEPENDENCIES): ... this.
16636 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
16637 (util/grub-emu.c_DEPENDENCIES): ... this.
16638 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
16639 (util/grub-emu.c_DEPENDENCIES): ... this.
16640 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
16641 (util/grub-emu.c_DEPENDENCIES): ... this.
16642 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
16643 (util/grub-emu.c_DEPENDENCIES): ... this.
16644
3f51de77 166452008-01-27 Pavel Roskin <proski@gnu.org>
16646
16647 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
16648 to create a gap between _end and the modules added to the image
16649 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
16650 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
16651 * util/elf/grub-mkimage.c (add_segments): Likewise.
16652
2033f53e 166532008-01-26 Pavel Roskin <proski@gnu.org>
16654
16655 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
16656 just return an error.
16657
22da1f6f 166582008-01-26 Bean <bean123ch@gmail.com>
16659
16660 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
16661 (grub_reiserfs_get_item): Save offset of the next item.
16662 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
16663
2a9525e6 166642008-01-25 Robert Millan <rmh@aybabtu.com>
16665
16666 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
16667 make all filesystem sources appear together (possibly fixing omissions
16668 while at it).
16669 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16670 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16671 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
16672 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16673
16674 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
16675 add `kern/file.c'.
16676 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
16677 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
16678 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
16679 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
16680
16681 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
16682 (probe): Add a sanity check to make sure of our ability to read
16683 requested files when probing for filesystem type.
16684
16685 * genmk.rb: Update copyright year (2007).
16686
16687 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
16688 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
16689 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
16690 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
16691 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
16692 : Remove function prototypes.
16693
b95f71b5 166942008-01-25 Robert Millan <rmh@aybabtu.com>
16695
16696 Revert my previous commits (based on wrong assumption of how grub_errno
16697 works).
16698
fe6b695a 16699 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 16700 * kern/file.c (grub_file_open): Likewise.
16701
d08bbb49 167022008-01-24 Pavel Roskin <proski@gnu.org>
16703
16704 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
16705 that hang if GRUB tries to setup colors.
16706 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
16707 colors for firmwares that don't support it.
16708 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
16709 Recognize Open Hack'Ware, set flags to work around its
16710 limitations.
16711
605e36ed 167122008-01-24 Robert Millan <rmh@aybabtu.com>
16713
16714 * kern/file.c (grub_file_open): Do not account previous failures of
16715 unrelated functions when grub_errno is checked for.
16716 Reported by Oleg Strikov.
16717
bac332a1 167182008-01-24 Bean <bean123ch@gmail.com>
16719
16720 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
16721 (grub_ufs_sblock): New member volume name.
16722 (grub_ufs_find_file): Fix string copy bug.
16723 (grub_ufs_label): Implement this function properly.
16724
16725 * fs/hfs.c (grub_hfs_cnid_type): New enum.
16726 (grub_hfs_iterate_records): Use the correct file number for extents
16727 and catalog file. Fix problem in next index calculation.
16728 (grub_hfs_find_node): Replace recursive function call with loop.
16729 (grub_hfs_iterate_dir): Replace recursive function call with loop.
16730
15c80c09 167312008-01-23 Robert Millan <rmh@aybabtu.com>
16732
16733 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
16734 `<grub/symbol.h>' and `<grub/multiboot.h>'.
16735 (grub_multiboot2_real_boot): New function prototype.
16736
16737 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
16738 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
16739
16740 * kern/i386/ieee1275/init.c (grub_os_area_addr)
16741 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
16742
305338fd 167432008-01-23 Robert Millan <rmh@aybabtu.com>
16744
16745 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
16746 #ifdef'ed out grub_printf().
16747
3ea52685 167482008-01-23 Robert Millan <rmh@aybabtu.com>
16749
16750 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
16751 grub_dprintf calls, since they make "debug=all" mode unusable.
16752 (grub_console_checkkey): Likewise.
16753
5882ae4b 167542008-01-23 Robert Millan <rmh@aybabtu.com>
16755
16756 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
16757 `term/i386/pc/at_keyboard.c'.
16758 (pkglib_MODULES): Add `serial.mod'.
16759 (serial_mod_SOURCES): New variable.
16760 (serial_mod_CFLAGS): Likewise.
16761 (serial_mod_LDFLAGS): Likewise.
16762
16763 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
16764 `<grub/powerpc/ieee1275/console.h>'.
16765 (grub_keyboard_controller_init): New function prototype.
16766 (grub_console_checkkey): Likewise.
16767 (grub_console_getkey): Likewise.
16768
16769 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
16770 keyboard on i386.
16771
16772 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
16773 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
16774
06ab5303 167752008-01-23 Robert Millan <rmh@aybabtu.com>
16776
16777 * kern/i386/pc/init.c (make_install_device): When memdisk image is
16778 present, "(memdisk)/boot/grub" becomes the default prefix.
16779
16780 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
16781 a memdisk tarball with all the modules. Add --overlay=DIR option that
16782 allows users to overlay additional files into the image.
16783
dbb475a4 167842008-01-23 Robert Millan <rmh@aybabtu.com>
16785
16786 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
16787 and `machine/memory.h'.
16788 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
16789 (_multiboot_mod_SOURCES): New variable.
16790 (_multiboot_mod_CFLAGS): Likewise.
16791 (_multiboot_mod_LDFLAGS): Likewise.
16792 (multiboot_mod_SOURCES): Likewise.
16793 (multiboot_mod_CFLAGS): Likewise.
16794 (multiboot_mod_LDFLAGS): Likewise.
16795
16796 * include/grub/i386/ieee1275/loader.h: New file.
16797
16798 * include/grub/i386/ieee1275/machine.h: Likewise.
16799
16800 * include/grub/i386/ieee1275/memory.h: Likewise.
16801
16802 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
16803 variable declaration.
16804 (grub_os_area_size): Likewise.
16805
16806 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
16807 (grub_lower_mem, grub_upper_mem): New variables.
16808 (grub_stop_floppy): New function (just to make
16809 grub_multiboot2_real_boot() happy).
16810
16811 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
16812 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
16813 (grub_stop): New function.
16814 Include `"../realmode.S"' and `"../loader.S"'.
16815
16816 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
16817 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
16818
16819 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
16820 rely on grub_multiboot2_real_boot() for final boot.
16821
25638629 168222008-01-22 Robert Millan <rmh@aybabtu.com>
16823
16824 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
16825 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
16826 device that doesn't look like an SD card.
16827 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
16828 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
16829 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
16830 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
16831 found.
16832
9dad816d 168332008-01-22 Robert Millan <rmh@aybabtu.com>
16834
16835 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
16836 avoid claiming over our own code.
16837
34842f2d 168382008-01-22 Bean <bean123ch@gmail.com>
16839
16840 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
16841 (jpeg_mod_SOURCES): New variable.
16842 (jpeg_mod_CFLAGS): Likewise.
16843 (jpeg_mod_LDFLAGS): Likewise.
16844
16845 * video/readers/jpeg.c : New file.
16846
44023a28 168472008-01-22 Bean <bean123ch@gmail.com>
16848
16849 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
16850 there are no more items.
16851
bc2d8ac6 168522008-01-21 Robert Millan <rmh@aybabtu.com>
16853
16854 * kern/mm.c (grub_mm_init_region): Improve debug message.
16855
261bd4bc 168562008-01-21 Robert Millan <rmh@aybabtu.com>
16857
16858 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
16859 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
16860 address.
16861 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
16862 a C macro.
16863 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
16864 Indicates start of upper memory.
16865 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
16866 (generate_image): Abort when image size is big enough to corrupt
16867 upper memory.
16868
16869 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
16870 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
16871 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
16872 instead of hardcoding 0xA0000.
16873 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
16874 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
16875 instead of hardcoding 0xA0000.
16876
f970b55e 168772008-01-21 Robert Millan <rmh@aybabtu.com>
16878
16879 * disk/memdisk.c (memdisk_size): New variable.
16880 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
16881 `memdisk_size'.
16882 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
16883 image to dynamic memory.
16884 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
16885 `memdisk_size'. Free memdisk block.
16886
1a8b0526 168872008-01-21 Robert Millan <rmh@aybabtu.com>
16888
16889 Fix detection of very small filesystems (like tar).
16890
16891 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
16892 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
16893 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
16894 a problem with this disk).
16895
6e9b4aab 168962008-01-21 Robert Millan <rmh@aybabtu.com>
16897
16898 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
16899 on grub_biosdisk_rw_standard() error.
16900
0d8837b2 169012008-01-21 Robert Millan <rmh@aybabtu.com>
16902
16903 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
16904 recent changes.
16905 * kern/elf.c: Likewise.
16906 * kern/ieee1275/ieee1275.c: Likewise.
16907 * kern/powerpc/ieee1275/openfw.c: Likewise.
16908 * term/ieee1275/ofconsole.c: Likewise.
16909
ffd36e34 169102008-01-21 Robert Millan <rmh@aybabtu.com>
16911
16912 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
16913
3f0093d0 16914 * include/grub/kernel.h (grub_arch_memdisk_addr)
16915 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 16916
3f0093d0 16917 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
16918 (grub_arch_memdisk_size): ... to here.
ffd36e34 16919
6c391b21 169202008-01-21 Robert Millan <rmh@aybabtu.com>
16921
16922 Mostly based on bugfix from Bean.
16923
16924 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
16925 attribute with hook() parameter.
16926 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
16927 declaration.
16928 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
16929 attribute with hook() parameter.
16930 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
16931 declaration.
16932
55a581dc 169332008-01-21 Robert Millan <rmh@aybabtu.com>
16934
16935 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
16936 (pkglib_MODULES): Add `memdisk.mod'.
16937 (memdisk_mod_SOURCES): New variable.
16938 (memdisk_mod_CFLAGS): Likewise.
16939 (memdisk_mod_LDFLAGS): Likewise.
16940
16941 * disk/memdisk.c: New file.
16942
16943 * include/grub/disk.h (grub_disk_dev_id): Add
16944 `GRUB_DISK_DEVICE_MEMDISK_ID'.
16945
16946 * include/grub/i386/pc/kernel.h
16947 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
16948 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
16949 (grub_kernel_image_size): New variable declaration.
16950 (grub_total_module_size): Likewise.
16951 (grub_memdisk_image_size): Likewise.
16952
16953 * include/grub/i386/pc/memory.h
16954 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
16955
16956 * include/grub/kernel.h: Include `<grub/symbol.h>'.
16957 (grub_arch_memdisk_addr): New variable declaration.
16958 (grub_arch_memdisk_size): Likewise.
16959
16960 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
16961 (grub_arch_memdisk_size): Likewise.
16962
16963 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
16964 (codestart): Replace hardcoded `0x100000' with
16965 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
16966
16967 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
16968 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
16969 not NULL, append the contents of the file it refers to, at the end of
16970 the compressed kernel image. Initialize `grub_memdisk_image_size'
16971 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
16972 (options): Add "memdisk"|'m' option.
16973 (main): Parse --memdisk|-m option, and pass user-provided path as
16974 parameter to generate_image().
16975
3d7f54c9 169762008-01-20 Robert Millan <rmh@aybabtu.com>
16977
16978 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
16979 grub_dprintf() calls from here ...
16980 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
16981
0bf74728 169822008-01-20 Robert Millan <rmh@aybabtu.com>
16983
16984 Fix detection of "real mode" when /options/real-mode? doesn't exist.
16985
16986 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
16987 declaration.
16988 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
16989 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
16990 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 16991 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 16992 property).
16993 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
16994 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
16995
33bf70a7 169962008-01-19 Robert Millan <rmh@aybabtu.com>
16997
fe6b695a 16998 Get rid of confusing function (superseded by
33bf70a7 16999 `grub_ieee1275_get_integer_property')
17000 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
17001 prototype.
17002 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
17003 function.
17004 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
17005 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 17006 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 17007
e2da7d26 170082008-01-19 Robert Millan <rmh@aybabtu.com>
17009
17010 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
17011 command after "shut-down", since implementations differ on which
17012 the command for halt is.
17013
59f1fd8d 170142008-01-19 Robert Millan <rmh@aybabtu.com>
17015
17016 * include/grub/i386/linuxbios/console.h: Add header protection.
17017 (grub_keyboard_controller_init): New function prototype.
17018 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
17019 (KEYBOARD_COMMAND_READ): Likewise.
17020 (KEYBOARD_COMMAND_WRITE): Likewise.
17021 (KEYBOARD_SCANCODE_SET1): Likewise.
17022 (grub_keyboard_controller_write): New function.
17023 (grub_keyboard_controller_read): Likewise.
17024 (grub_keyboard_controller_init): Likewise.
17025
17026 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
17027 (grub_console_init): On coreboot/LinuxBIOS, call
17028 grub_keyboard_controller_init().
17029
5f5a7c15 170302008-01-19 Robert Millan <rmh@aybabtu.com>
17031
17032 PowerPC changes provided by Pavel Roskin.
17033
17034 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
17035 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
17036 don't rely on cmain() doing it.
17037 * kern/i386/ieee1275/startup.S (_start): Store %eax in
17038 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
17039
1210e168 170402008-01-16 Robert Millan <rmh@aybabtu.com>
17041
17042 * include/grub/i386/linuxbios/memory.h
17043 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
17044 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
17045 receive `table_header' as argument. Instead, probe for it in the
17046 known memory ranges where it can be present.
17047 (grub_available_iterate): Do not pass a fixed `table_header' address
17048 to grub_linuxbios_table_iterate().
17049
3d04eab8 170502008-01-15 Robert Millan <rmh@aybabtu.com>
17051
17052 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
17053 * conf/i386-ieee1275.rmk: New file.
17054 * include/grub/i386/ieee1275/console.h: Likewise.
17055 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
17056 * include/grub/i386/ieee1275/kernel.h: Likewise.
17057 * include/grub/i386/ieee1275/time.h: Likewise.
17058 * kern/i386/ieee1275/init.c: Likewise.
17059 * kern/i386/ieee1275/startup.S: Likewise.
17060
d1bc1b73 170612008-01-15 Robert Millan <rmh@aybabtu.com>
17062
17063 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
17064 when pointers are 32-bit (but still do set it to one when they are
17065 64-bit).
17066
66a65807 170672008-01-15 Robert Millan <rmh@aybabtu.com>
17068
17069 * include/grub/ieee1275/ieee1275.h
17070 (grub_ieee1275_get_integer_property): New function prototype.
17071
17072 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
17073 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 17074 grub_ieee1275_get_property() to handle endianness.
66a65807 17075
17076 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
17077 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 17078 where appropriate.
66a65807 17079 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
17080 (grub_map): Likewise.
17081 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
17082
a83ccafd 170832008-01-15 Bean <bean123ch@gmail.com>
17084
17085 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
17086 (grub_script_execute_cmdline): Reset grub_errno.
17087
17088 * normal/main.c (read_config_file): Reset grub_errno.
17089
17090 * normal/parse.y (script_init): New.
17091 (script): Move function and menuentry here.
17092 (delimiter): New.
17093 (command): Add delimiter at the end of command.
17094 (commands): Adjust to match the new command.
17095 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 17096 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 17097 (if): Use the new commands.
17098
17099 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
17100
df6ecfc6 171012008-01-15 Robert Millan <rmh@aybabtu.com>
17102
17103 * normal/menu.c (run_menu): Move timeout message from here ...
17104 (print_timeout): ... to here.
17105 (run_menu): Use print_timeout() once during initial draw to print
17106 the whole message, and again in every clock tick to update only
17107 the number of seconds.
17108
87ae25eb 171092008-01-15 Robert Millan <rmh@aybabtu.com>
17110
17111 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
17112 actual size of `available' from grub_ieee1275_get_property(), and
17113 restrict parsing to that bound.
17114
47bf09a4 171152008-01-15 Christian Franke <franke@computer.org>
17116
17117 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
17118 (argp_program_version): Remove variable.
17119 (argp_program_bug_address): Likewise.
17120 (options): Convert from struct argp_option to struct option.
17121 (struct arguments): Remove.
17122 (parse_opt): Remove.
17123 (usage): New function.
17124 (main): Replace struct args members by simple variables.
17125 Replace argp_parse() by getopt_long().
17126 Add switch to evaluate options.
17127 Add missing "(...)" around root_dev in prefix string.
17128
c86f1469 171292008-01-14 Robert Millan <rmh@aybabtu.com>
17130
17131 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
17132 for grub_ieee1275_exit(), in order to improve portability.
17133
e622c559 171342008-01-14 Robert Millan <rmh@aybabtu.com>
17135
17136 * util/grub.d/10_linux.in (prefix): Define.
17137 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
17138
44cb1ec8 171392008-01-13 Pavel Roskin <proski@gnu.org>
17140
17141 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
17142 grub_errno if no errors have been detected.
17143
1eb8c802 171442008-01-12 Robert Millan <rmh@aybabtu.com>
17145
17146 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
17147 (grub_util_get_dev_abstraction): New function prototype.
17148
17149 * util/getroot.c: Include `<grub/util/getroot.h>'
17150 (grub_util_get_grub_dev): Move detection of abstraction type to ...
17151 (grub_util_get_dev_abstraction): ... here (new function).
17152
17153 * util/grub-probe.c: Convert PRINT_* to an enum. Add
17154 `PRINT_ABSTRACTION'.
17155 (probe): Probe for abstraction type when requested.
17156 (main): Understand `--target=abstraction'.
17157
17158 * util/i386/efi/grub-install.in: Add abstraction module to core
17159 image when it is found to be necessary.
17160 * util/i386/pc/grub-install.in: Likewise.
17161 * util/powerpc/ieee1275/grub-install.in: Likewise.
17162
17163 * util/update-grub_lib.in (font_path): Return system path without
17164 converting to GRUB path.
17165 * util/update-grub.in: Convert system path returned by font_path()
17166 to a GRUB path. Use `grub-probe -t abstraction' to determine what
17167 abstraction module is needed for loading fonts (if any). Export
17168 that as `GRUB_PRELOAD_MODULES'.
17169 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
17170 insmod commands).
17171
52bd3de9 171722008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
17173
17174 Remove some unused code from reiserfs.
f19dbdb7 17175
52bd3de9 17176 * fs/reiserfs.c (struct grub_reiserfs_key)
17177 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
17178 (struct grub_reiserfs_node_body): Removed.
17179 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
17180 Likewise.
17181 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
17182 Likewise.
17183 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
17184 Likewise.
17185 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
17186 Likewise.
17187 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
17188 Likewise.
17189 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
17190 Likewise.
17191 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
17192 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
17193 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
17194
2f80039d 171952008-01-10 Robert Millan <rmh@aybabtu.com>
17196
17197 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
17198 Determines if a file is garbage left by packaging systems, etc.
17199 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
17200 for processing /etc/grub.d scripts.
17201 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
17202 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
17203 as a condition for processing Linux images.
17204
87888032 172052008-01-10 Pavel Roskin <proski@gnu.org>
17206
17207 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
17208 to compile reiserfs.c on PowerPC.
17209
7e54fced 172102008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 17211
17212 * kern/device.c (grub_device_iterate): Do not abort device iteration
17213 when one of the devices cannot be opened.
17214 * kern/disk.c (grub_disk_open): Do not account previous failures of
17215 unrelated functions when grub_errno is checked for.
17216
5aa541e6 172172008-01-08 Robert Millan <rmh@aybabtu.com>
17218
17219 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
17220 `! grub_linux_is_bzimage', change order of address comparison to make
17221 it more intuitive, and improve "too big zImage" error message.
17222
7076340d 172232008-01-08 Robert Millan <rmh@aybabtu.com>
17224
17225 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
17226 `$(update-grub_DATA)'.
17227 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
17228 targets.
17229
9ca70333 172302008-01-07 Robert Millan <rmh@aybabtu.com>
17231
17232 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
17233 which instruction is modified by grub-setup during installation
17234 (since it wasn't obvious by only looking at this file).
17235
38ccf575 172362008-01-07 Robert Millan <rmh@aybabtu.com>
17237
17238 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
17239 listing actual TODO items.
17240
f5db4291 172412008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
17242
868967cf 17243 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
17244 correctly.
17245 (grub_reiserfs_get_key_offset): Likewise.
17246 (grub_reiserfs_set_key_offset): Likewise.
17247 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 17248 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 17249
17250 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
17251 better to remove the bitfield version completely.
f19dbdb7 17252
868967cf 172532008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 17254
f5db4291 17255 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
17256 allocated from the heap, due to the fshelp implementation.
17257 (grub_reiserfs_dir): Free NODE, due to the same reason.
17258
492e6d9d 172592008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
17260
17261 Mostly from Vincent Pelletier:
f19dbdb7 17262
492e6d9d 17263 * fs/reiserfs.c: New file.
f19dbdb7 17264
492e6d9d 17265 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
17266 (reiserfs_mod_SOURCES): New variable.
17267 (reiserfs_mod_CFLAGS): Likewise.
17268 (reiserfs_mod_LDFLAGS): Likewise.
17269
17270 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
17271 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
17272 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
17273 normal/color.c.
17274
9ce3e7c1 172752008-01-06 Robert Millan <rmh@aybabtu.com>
17276
17277 * normal/color.c: Remove `<grub/env.h>'.
17278
f3b58148 172792008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
17280
17281 * include/grub/normal.h: Include <grub/env.h>.
17282
7ac3bcfa 172832008-01-05 Robert Millan <rmh@aybabtu.com>
17284
17285 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
17286 usage example with `(hd0,1)'.
fb358190 17287 Reported by Samuel Thibault.
7ac3bcfa 17288
c8ee99d7 172892008-01-05 Robert Millan <rmh@aybabtu.com>
17290
17291 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
17292 (grub_linux_boot_zimage): Rename to ...
17293 (grub_linux_boot): ... this.
17294 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
17295 (grub_linux_boot_zimage): Conditionalize zImage copy.
17296
17297 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
17298 (grub_linux_boot_bzimage): Remove prototype.
17299 (grub_linux_boot_zimage): Rename to ...
17300 (grub_linux_boot): ... this.
17301
17302 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
17303 (grub_linux_boot): Remove function.
17304
0ece25b1 173052008-01-05 Robert Millan <rmh@aybabtu.com>
17306
17307 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
17308 (grub_env_write_color_highlight): Likewise.
17309 (grub_wait_after_message): Likewise.
17310
17311 * normal/color.c: New file.
17312
17313 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
17314 (normal_mod_DEPENDENCIES): Likewise.
17315
17316 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
17317 (normal_mod_DEPENDENCIES): Likewise.
17318
17319 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
17320 (normal_mod_DEPENDENCIES): Likewise.
17321
17322 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
17323 (normal_mod_DEPENDENCIES): Likewise.
17324
17325 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
17326 for waiting after a message is printed.
17327 * normal/main.c (read_config_file): Likewise.
17328 (grub_normal_init): Register grub_env_write_color_normal() and
17329 grub_env_write_color_highlight() hooks. Mark `color_normal' and
17330 `color_highlight' variables as global.
17331
17332 * normal/menu.c (grub_wait_after_message): New function.
17333 (grub_color_menu_normal): New variable. Replaces ...
17334 (GRUB_COLOR_MENU_NORMAL): ... this macro.
17335 (grub_color_menu_highlight): New variable. Replaces ...
17336 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
17337 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
17338 `GRUB_TERM_COLOR_STANDARD'.
17339 (print_message): Use `grub_setcolorstate' to reload colors. Rename
17340 `normal_code' and `highlight_code' to `old_color_normal' and
17341 `old_color_highlight', respectively.
17342 (grub_menu_init_page): Update colors when drawing the menu, based on
17343 `menu_color_normal' and `menu_color_highlight' variables.
17344 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
17345 a message is printed.
17346
182dd4e5 173472008-01-05 Robert Millan <rmh@aybabtu.com>
17348
17349 * kern/env.c (grub_env_context_open): Propagate hooks for global
17350 variables to new context.
17351
17352 * kern/main.c (grub_set_root_dev): Export `root' variable.
17353
ddf8f6ad 173542008-01-05 Robert Millan <rmh@aybabtu.com>
17355
17356 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 17357 discs unconditionally, since udev and others have options to provide
ddf8f6ad 17358 them.
17359
d8b43d9b 173602008-01-05 Robert Millan <rmh@aybabtu.com>
17361
17362 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
17363
2bff2de3 173642008-01-04 Christian Franke <franke@computer.org>
17365
17366 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
17367 of eisa_mmap.
17368
97eab917 173692008-01-03 Pavel Roskin <proski@gnu.org>
17370
17371 * kern/i386/linuxbios/init.c: Put "void" to all function
17372 declarations with no arguments.
17373 * kern/powerpc/ieee1275/init.c: Likewise.
17374 * term/i386/pc/at_keyboard.c: Likewise.
17375 * term/i386/pc/vga_text.c: Likewise.
17376 * util/grub-mkdevicemap.c: Likewise.
17377
b9416d00 173782008-01-02 Robert Millan <rmh@aybabtu.com>
17379
17380 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
17381 message when loaded image is out of bounds.
17382 (grub_multiboot_load_elf64): Likewise.
17383
92695df9 173842008-01-02 Pavel Roskin <proski@gnu.org>
17385
17386 * util/grub.d/10_linux.in: Try version without ".old" when
17387 looking for initrd. It's better to use initrd from the newer
17388 kernel of the same version than no initrd at all.
17389
d98d9cad 173902008-01-01 Robert Millan <rmh@aybabtu.com>
17391
17392 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
17393
dbfdce36 173942008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
17395
f19dbdb7 17396 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 17397 grub_video_get_active_render_target.
17398 (grub_video_adapter): Added unmap_color and get_active_render_target.
17399
f19dbdb7 17400 * video/video.c: Added grub_video_unmap_color and
dbfdce36 17401 grub_video_get_active_render_target.
17402 (grub_video_get_info): Changed method to accept NULL pointer as an
17403 argument to allow detection of active video adapter.
17404
17405 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
17406 grub_video_vbe_unmap_color_int.
17407 Added grub_video_vbe_unmap_color and
17408 grub_video_vbe_get_active_render_target.
17409 (grub_video_vbe_adapter): Added unmap_color and
17410 get_active_render_target.
17411
f19dbdb7 17412 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 17413 with grub_video_vbe_unmap_color_int.
17414
17415 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
17416 (DEFAULT_NORMAL_COLOR): Likewise.
17417 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
17418 (DEFAULT_FG_COLOR): Removed.
17419 (DEFAULT_BG_COLOR): Likewise.
17420 (DEFAULT_CURSOR_COLOR): Changed value.
17421 (grub_virtual_screen): Added standard_color_setting,
17422 normal_color_setting, highlight_color_setting and term_color.
17423 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
17424 (bitmap_width): Added.
17425 (bitmap_height): Likewise.
17426 (bitmap): Likewise.
17427 (set_term_color): Likewise.
17428 (grub_virtual_screen_setup): Changed to use new terminal coloring
17429 settings.
17430 (grub_gfxterm_init): Added init for bitmap.
17431 (grub_gfxterm_fini): Added destroy for bitmap.
17432 (redraw_screen_rect): Updated to use background bitmap and new
17433 terminal coloring.
17434 (scroll_up): Added optimization for case when there is no bitmap.
17435 (grub_gfxterm_cls): Fixed to use correct background color.
17436 (grub_virtual_screen_setcolorstate): Changed to use new terminal
17437 coloring.
17438 (grub_virtual_screen_setcolor): Likewise.
17439 (grub_virtual_screen_getcolor): Added.
17440 (grub_gfxterm_background_image_cmd): Likewise.
17441 (grub_video_term): Added setcolor and getcolor.
17442 (MOD_INIT): Added registration of background_image command.
17443 (MOD_TERM): Added unregistration for background_image command.
17444
c3c20931 174452007-12-30 Pavel Roskin <proski@gnu.org>
17446
17447 * loader/multiboot_loader.c: Fix multiboot command
17448 unregistration. Fix all typos in the word "multiboot".
17449
df266716 174502007-12-29 Pavel Roskin <proski@gnu.org>
94239199 17451
17452 * util/grub.d/10_linux.in: Refactor search for initrd. Add
17453 support for initrd names used in Fedora.
17454
fc6e896c 174552007-12-26 Bean <bean123ch@gmail.com>
17456
17457 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
17458 (cpio_mod_SOURCES): New variable.
17459 (cpio_mod_CFLAGS): Likewise.
17460 (cpio_mod_LDFLAGS): Likewise.
17461
17462 * fs/cpio.c: New file.
17463
17464 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
17465
17466 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17467
17468 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
17469
17470 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17471
533110ad 174722007-12-25 Robert Millan <rmh@aybabtu.com>
17473
17474 * include/grub/term.h (struct grub_term): Add `getcolor' function.
17475 (grub_getcolor): New function.
17476
17477 * kern/term.c (grub_getcolor): New function.
17478 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
17479 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
17480 (print_entry): Set normal and highlight colors to
17481 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
17482 respectively, before printing and restore them to old
17483 values afterwards.
17484 (grub_menu_init_page): Likewise. Fill an additional colored space
17485 that would otherwise be left blank.
17486
17487 * term/efi/console.c (grub_console_getcolor): New function.
17488 (struct grub_console_term.getcolor): New variable.
17489 * term/i386/pc/console.c (grub_console_getcolor): New function.
17490 (struct grub_console_term.getcolor): New variable.
17491 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
17492 (struct grub_console_term.getcolor): New variable.
17493
17494 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
17495 (struct grub_console_term.setcolor): Remove variable.
17496 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
17497 (struct grub_console_term.setcolor): Remove variable.
17498 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
17499 (struct grub_console_term.setcolor): Remove variable.
17500 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
17501 (struct grub_console_term.setcolor): Remove variable.
17502
4931827f 175032007-12-25 Robert Millan <rmh@aybabtu.com>
17504
17505 * configure.ac: Search for possible unifont.hex locations, and
17506 define UNIFONT_HEX if found.
17507
17508 * Makefile.in (UNIFONT_HEX): Define variable.
17509 (DATA): Rename to ...
17510 (PKGLIB): ... this. Update all users.
17511 (PKGDATA): New variable.
17512 (pkgdata_IMAGES): Rename to ...
17513 (pkglib_IMAGES): ... this. Update all users.
17514 (pkgdata_MODULES): Rename to ...
17515 (pkglib_MODULES): ... this. Update all users.
17516 (pkgdata_PROGRAMS): Rename to ...
17517 (pkglib_PROGRAMS): ... this. Update all users.
17518 (pkgdata_DATA): Rename to ...
17519 (pkglib_DATA): ... this. Update all users.
17520 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
17521 (unicode.pff, ascii.pff): New rules.
17522 (all-local): Add `$(PKGDATA)' dependency.
17523 (install-local): Process `$(PKGDATA)'.
17524
17525 * util/update-grub_lib.in (font_path): Search for *.pff files in
17526 a few more locations, including `${pkgdata}'.
17527
57e57e31 175282007-12-23 Robert Millan <rmh@aybabtu.com>
17529
17530 Patch from Bean <bean123ch@gmail.com>:
17531 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
17532 `size'.
17533
4bc72aa9 175342007-12-21 Bean <bean123ch@gmail.com>
17535
17536 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
17537 (ntfscomp_mod_SOURCES): New variable.
17538 (ntfscomp_mod_CFLAGS): Likewise.
17539 (ntfscomp_mod_LDFLAGS): Likewise.
17540
17541 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
17542 (grub_probe_SOURCES): Likewise.
17543 (grub_emu_SOURCES): Likewise.
17544
17545 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
17546 (grub_emu_SOURCES): Likewise.
17547
17548 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
17549 (grub_emu_SOURCES): Likewise.
17550
17551 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
17552 (grub_emu_SOURCES): Likewise.
17553
17554 * fs/ntfs.c (grub_ntfscomp_func): New variable.
17555 (read_run_list): Renamed to grub_ntfs_read_run_list.
17556 (decomp_nextvcn): Moved to ntfscomp.c.
17557 (decomp_getch): Likewise.
17558 (decomp_get16): Likewise.
17559 (decomp_block): Likewise.
17560 (read_block): Likewise.
17561 (read_data): Partially moved to ntfscomp.c.
17562 (fixup): Change unsigned to grub_uint16_t.
17563 (read_mft): Change unsigned long to grub_uint32_t.
17564 (read_attr): Likewise.
17565 (read_data): Likewise.
17566 (read_run_data): Likewise.
17567 (read_run_list): Likewise.
17568 (read_mft): Likewise.
17569
17570 * fs/ntfscomp.c: New file.
17571
17572 * include/grub/ntfs.h: New file.
17573
af680a87 175742007-12-16 Robert Millan <rmh@aybabtu.com>
17575
17576 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
17577 IDE disk check, since Linux is known to support 20 IDE disks.
17578 Reported by Colin Watson.
17579
84be7599 175802007-12-15 Bean <bean123ch@gmail.com>
17581
17582 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
17583 (lnxboot_img_SOURCES): New variable.
17584 (lnxboot_img_ASFLAGS): Likewise.
17585 (lnxboot_img_LDFLAGS): Likewise.
17586
17587 * boot/i386/pc/lnxboot.S: New file.
17588
6af9db01 175892007-11-24 Pavel Roskin <proski@gnu.org>
17590
17591 * configure.ac: Test if '--build-id=none' is supported by the
17592 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
17593 objcopy to generate incorrect binary files (binutils
17594 2.17.50.0.18-1 as shipped by Fedora 8).
17595 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
17596 linking, so that build ID doesn't break the test.
17597
7361cfe6 175982007-11-24 Pavel Roskin <proski@gnu.org>
17599
17600 * include/grub/i386/time.h: use "void" in the argument list
17601 of grub_cpu_idle().
17602 * include/grub/powerpc/time.h: Likewise.
17603 * include/grub/sparc64/time.h: Likewise.
17604
1593e10c 176052007-11-18 Christian Franke <franke@computer.org>
17606
17607 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
17608 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
17609 This fixes the problem that function keys did not work in grub-emu.
17610
3b8db1a8 176112007-11-18 Christian Franke <franke@computer.org>
17612
17613 * disk/host.c (grub_host_open): Remove attribute unused from
17614 name parameter. Add check for "host". This fixes the problem
17615 that grub-emu does not find partitions.
17616
2e29408d 176172007-11-18 Christian Franke <franke@computer.org>
17618
17619 * util/hostfs.c (is_dir): New function.
17620 (grub_hostfs_dir): Handle missing dirent.d_type case.
17621 (grub_hostfs_read): Add missing fseek().
17622 (grub_hostfs_label): Clear label pointer. This fixes a crash
17623 of grub-emu on "ls (host)".
17624
398cd047 176252007-11-18 Christian Franke <franke@computer.org>
17626
17627 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
17628 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
17629 to 64 bit boundary by default.
17630
c405c391 176312007-11-18 Bean <bean123ch@gmail.com>
17632
17633 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
17634 (hexdump_mod_SOURCES): New variable.
17635 (hexdump_mod_CFLAGS): Likewise.
17636 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 17637
c405c391 17638 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
17639
17640 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
17641
17642 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
17643
17644 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
17645
17646 * include/grub/hexdump.h: New file.
17647
17648 * commands/hexdump.c: New file.
17649
5cced7fd 176502007-11-10 Robert Millan <rmh@aybabtu.com>
17651
17652 * commands/i386/pc/play.c (beep_off): Switch order of arguments
17653 in grub_outb() calls.
17654 (beep_on): Likewise.
17655
8b714eb0 176562007-11-10 Christian Franke <franke@computer.org>
17657
17658 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
17659 (grub_menu_run): Likewise.
17660
ce0f1839 176612007-11-10 Robert Millan <rmh@aybabtu.com>
17662
17663 * include/grub/i386/efi/machine.h: New file.
17664 * include/grub/i386/linuxbios/machine.h: Likewise.
17665 * include/grub/i386/pc/machine.h: Likewise.
17666 * include/grub/powerpc/ieee1275/machine.h: Likewise.
17667 * include/grub/sparc64/ieee1275/machine.h: Likewise.
17668
17669 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
17670 (serial_hw_io_addr): New variable.
17671 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
17672 instead of `(unsigned short *) 0x400'.
17673
270c237d 176742007-11-10 Bean <bean123ch@gmail.com>
17675
17676 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
17677
a87783bf 176782007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
17679
17680 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
17681 (vga_mod_SOURCES): Added.
17682 (vga_mod_CFLAGS): Likewise.
17683 (vga_mod_LDFLAGS): Likewise.
17684
17685 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
17686 grub_outb() calls.
17687 (set_map_mask): Likewise.
17688 (set_read_map): Likewise.
17689 (set_read_address): Likewise.
17690 (vga_font): Removed variable.
17691 (get_vga_glyph): Removed function.
17692 (invalidate_char): Likewise.
17693 (write_char): Changed to use grub_font_get_glyph() for font
17694 information.
17695 (grub_vga_putchar): Likewise.
17696 (grub_vga_getcharwidth): Likewise.
17697
6433b448 176982007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
17699
17700 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
17701 flags.
17702 (pxeboot_img_LDFLAGS): Likewise.
17703 (diskboot_img_LDFLAGS): Likewise.
17704 (kernel_img_LDFLAGS): Likewise.
17705
49178511 177062007-11-06 Robert Millan <rmh@aybabtu.com>
17707
17708 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
17709 in grub_outb() calls.
17710 (serial_hw_init): Likewise.
17711
53b052de 177122007-11-05 Robert Millan <rmh@aybabtu.com>
17713
17714 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
17715 spaces. Skip non-regular files.
17716
5ab33bba 177172007-11-05 Robert Millan <rmh@aybabtu.com>
17718
17719 * kern/disk.c (grub_disk_firmware_fini)
17720 (grub_disk_firmware_is_tainted): New variables.
17721
17722 * include/grub/disk.h (grub_disk_firmware_fini)
17723 (grub_disk_firmware_is_tainted): Likewise.
17724
17725 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
17726 (grub_disk_biosdisk_fini): ... to here.
17727 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
17728 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
17729 is set. Register grub_disk_biosdisk_fini() in
17730 `grub_disk_firmware_fini'.
17731
17732 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
17733 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
17734 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
17735 to finish existing firmware disk interface.
17736
17737 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
17738 (ata_mod_SOURCES): New variable.
17739 (ata_mod_CFLAGS): Likewise.
17740 (ata_mod_LDFLAGS): Likewise.
17741
0149ab7c 177422007-11-05 Robert Millan <rmh@aybabtu.com>
17743
17744 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
17745 (grub_ata_wait): Reimplement using grub_millisleep().
17746
17747 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
17748 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
17749
be7ac41e 177502007-11-03 Marco Gerards <marco@gnu.org>
17751
17752 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
17753 (CRTC_ADDR_PORT): New macro.
17754 (CRTC_DATA_PORT): Likewise.
17755 (CRTC_CURSOR): Likewise.
17756 (CRTC_CURSOR_ADDR_HIGH): Likewise.
17757 (CRTC_CURSOR_ADDR_LOW): Likewise.
17758 (update_cursor): New function.
17759 (grub_console_real_putchar): Call `update_cursor'.
17760 (grub_console_gotoxy): Likewise.
17761 (grub_console_cls): Set the default color when clearing the
17762 screen.
17763 (grub_console_setcursor): Implemented.
17764
bb06ab2e 177652007-11-03 Marco Gerards <marco@gnu.org>
17766
17767 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
17768 become activate.
17769 (grub_ata_pio_write): Likewise.
17770
17771 (grub_atapi_identify): Wait after issuing an ATA command.
17772 (grub_atapi_packet): Likewise.
17773 (grub_ata_identify): Likewise.
17774 (grub_ata_readwrite): Likewise.
17775
cf8f780b 177762007-11-03 Marco Gerards <marco@gnu.org>
17777
17778 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
17779 (grub_ata_pio_write): Likewise.
17780 (grub_ata_readwrite): Use `grub_error', instead of
17781 returning `grub_errno'.
17782
ed649e54 177832007-11-03 Marco Gerards <marco@gnu.org>
17784
17785 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
17786 grub_ata_pio_write once for every single sector, instead of for
17787 multiple sectors.
17788
ca25d8f0 177892007-10-31 Robert Millan <rmh@aybabtu.com>
17790
17791 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
17792
17793 * conf/i386-linuxbios.rmk: New file.
17794
17795 * kern/i386/pc/hardware.c: Likewise.
17796 * term/i386/pc/at_keyboard.c: Likewise.
17797 * term/i386/pc/vga_text.c: Likewise.
17798
17799 * include/grub/i386/linuxbios/boot.h: Likewise.
17800 * include/grub/i386/linuxbios/console.h: Likewise.
17801 * include/grub/i386/linuxbios/init.h: Likewise.
17802 * include/grub/i386/linuxbios/kernel.h: Likewise.
17803 * include/grub/i386/linuxbios/loader.h: Likewise.
17804 * include/grub/i386/linuxbios/memory.h: Likewise.
17805 * include/grub/i386/linuxbios/serial.h: Likewise.
17806 * include/grub/i386/linuxbios/time.h: Likewise.
17807
17808 * kern/i386/linuxbios/init.c: Likewise.
17809 * kern/i386/linuxbios/startup.S: Likewise.
17810 * kern/i386/linuxbios/table.c: Likewise.
17811
e911ecc1 178122007-10-31 Marco Gerards <marco@gnu.org>
17813
17814 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
17815 (ata_mod_SOURCES): New variable.
17816 (ata_mod_CFLAGS): Likewise.
17817 (ata_mod_LDFLAGS): Likewise.
17818
17819 * disk/ata.c: New file.
17820
17821 * include/grub/disk.h (grub_disk_dev_id): Add
17822 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 17823
7f66d0e0 178242007-10-31 Robert Millan <rmh@aybabtu.com>
17825
17826 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
17827 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
17828
17829 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
17830 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
17831
17832 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
17833 `<grub/types.h>'.
17834
17835 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
17836
5cd7dd46 178372007-10-27 Robert Millan <rmh@aybabtu.com>
17838
3236ca65 17839 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 17840
2ebfc90f 178412007-10-22 Robert Millan <rmh@aybabtu.com>
17842
17843 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
17844 `"../realmode.S"'.
17845 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
17846
73fcb0f3 178472007-10-22 Robert Millan <rmh@aybabtu.com>
17848
17849 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
17850 (pkgdata_MODULES): Add `biosdisk.mod'.
17851 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
17852 variables.
17853
17854 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
17855 (grub_biosdisk_init): Replace with ...
17856 (GRUB_MOD_INIT(biosdisk)): ... this.
17857 (grub_biosdisk_fini): Replace with ...
17858 (GRUB_MOD_FINI(biosdisk)): ... this.
17859
17860 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
17861 (grub_machine_init): Remove call to grub_biosdisk_init().
17862 (grub_machine_fini): Remove call to grub_machine_fini().
17863
17864 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
17865
3381d274 178662007-10-22 Robert Millan <rmh@aybabtu.com>
17867
17868 * include/grub/time.h: New file.
17869 * include/grub/i386/time.h: Likewise.
17870 * include/grub/powerpc/time.h: Likewise.
17871 * include/grub/sparc64/time.h: Likewise.
17872
17873 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
17874 instances to ...
17875 (KERNEL_MACHINE_TIME_HEADER): ... this.
17876 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
17877 instances to ...
17878 (KERNEL_MACHINE_TIME_HEADER): ... this.
17879 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
17880 instances to ...
17881 (KERNEL_MACHINE_TIME_HEADER): ... this.
17882
17883 * kern/i386/efi/init.c: Include `<grub/time.h>'.
17884 (grub_millisleep): New function.
17885 * kern/i386/pc/init.c: Include `<grub/time.h>'.
17886 (grub_millisleep): New function.
17887 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
17888 Remove `grub/machine/time.h' include.
17889 (grub_millisleep): New function.
17890 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
17891 Remove `grub/machine/time.h' include.
17892 (grub_millisleep): New function.
17893
17894 * include/grub/misc.h (grub_div_roundup): New function.
17895
17896 * kern/misc.c: Include `<grub/time.h>'.
17897 (grub_millisleep_generic): New function.
17898
17899 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
17900 Add `time.h'.
17901 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
17902 Add `time.h'.
17903 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
17904 `machine/time.h'. Add `time.h'.
17905 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
17906
a39a0312 179072007-10-21 Robert Millan <rmh@aybabtu.com>
17908
17909 * include/grub/misc.h (grub_max): New function.
17910
2aad70e2 179112007-10-21 Robert Millan <rmh@aybabtu.com>
17912
17913 * util/misc.c (grub_util_info): Call fflush() before returning.
17914
54b71c4b 179152007-10-20 Robert Millan <rmh@aybabtu.com>
17916
17917 * genmk.rb (Image): Copy `extra_flags' from here ...
17918 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
17919
17920 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
17921 to `argc' and `args' arguments.
17922
a979f513 179232007-10-17 Robert Millan <rmh@aybabtu.com>
17924
17925 * kern/i386/loader.S: New file.
17926
17927 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
17928 * kern/i386/loader.S (grub_linux_prot_size)... to here.
17929 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
17930 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
17931 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
17932 * kern/i386/loader.S (grub_linux_real_addr)... to here.
17933 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
17934 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
17935 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
17936 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
17937 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
17938 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
17939 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
17940 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
17941
17942 * kern/i386/realmode.S: New file.
17943
17944 * kern/i386/pc/startup.S (protstack): Moved from here ...
17945 * kern/i386/realmode.S (protstack)... to here.
17946 * kern/i386/pc/startup.S (gdt): Moved from here ...
17947 * kern/i386/realmode.S (gdt)... to here.
17948 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
17949 * kern/i386/realmode.S (prot_to_real)... to here.
17950
17951 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
17952 `kern/i386/realmode.S'.
17953
825fc8fd 179542007-10-17 Robert Millan <rmh@aybabtu.com>
17955
17956 * include/grub/i386/loader.h: New file.
17957
17958 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
17959 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
17960 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
17961 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
17962 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
17963 * include/grub/i386/loader.h (grub_linux_prot_size)
17964 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
17965 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
17966 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
17967 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
17968
17969 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
17970
e179b2f4 179712007-10-15 Robert Millan <rmh@aybabtu.com>
17972
17973 * normal/misc.c (grub_normal_print_device_info): Do not probe for
17974 filesystem when dev->disk is unset.
17975 Do probe for filesystem even when dev->disk->has_partitions is set.
17976 In case a filesystem is found, always report it.
17977 In case it isn't, if dev->disk->has_partitions is set, report that
17978 a partition table was found instead of reporting that no filesystem
17979 could be identified.
17980
5db82af6 179812007-10-12 Robert Millan <rmh@aybabtu.com>
17982
17983 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
17984 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
17985
68f6ac74 17986 * include/grub/types.h (grub_host_to_target16): New macro.
17987 (grub_host_to_target32): Likewise.
17988 (grub_host_to_target64): Likewise.
17989 (grub_target_to_host16): Likewise.
17990 (grub_target_to_host32): Likewise.
17991 (grub_target_to_host64): Likewise.
5db82af6 17992
17993 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
17994 Renamed from to ...
17995 (GRUB_MOD_ALIGN): ...this. Update all users.
17996
68f6ac74 17997 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
17998 grub_host_to_target32.
17999 Replace grub_be_to_cpu32 with grub_target_to_host32.
18000 (load_modules): Likewise.
18001 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
18002 Replace grub_be_to_cpu32 with grub_target_to_host32.
18003 Replace grub_cpu_to_be16 with grub_host_to_target16.
18004 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 18005
3cf497cc 180062007-10-12 Robert Millan <rmh@aybabtu.com>
18007
18008 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
18009 * util/elf/grub-mkimage.c: ... here.
18010
18011 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
18012 `util/powerpc/ieee1275/grub-mkimage.c'.
18013
c8cc3692 180142007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 18015
c8cc3692 18016 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
18017 and make it easier to figure out.
18018 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
18019 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
18020 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
18021 leave us with less than HEAP_MIN_SIZE total heap.
18022 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 18023
5c58b791 180242007-10-03 Robert Millan <rmh@aybabtu.com>
18025
18026 * include/grub/i386/io.h: New file.
18027 * commands/i386/pc/play.c (inb): Removed.
18028 (outb): Removed.
18029 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
18030 with grub_outb().
afcd2ef8 18031 * term/i386/pc/serial.c (inb): Removed.
18032 (outb): Removed.
18033 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
18034 with grub_outb().
18035 * term/i386/pc/vga.c (inb): Removed.
18036 (outb): Removed.
18037 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
18038 with grub_outb().
5c58b791 18039
1a477ed6 180402007-10-02 Robert Millan <rmh@aybabtu.com>
18041
18042 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
18043 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18044 Reported by Marcin Kurek.
18045
6b5d80fa 180462007-09-07 Robert Millan <rmh@aybabtu.com>
18047
18048 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
18049 SmartFirmware version updates (as released by Sven Luther), and avoid
18050 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
18051 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
18052 known broken.
18053
5618afbf 180542007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
18055
18056 From Hitoshi Ozeki:
18057 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
18058 when merging two regions.
18059
6139dcd9 180602007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
18061
508e39ee 18062 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
18063 * normal/completion.c (grub_normal_do_completion): Likewise.
18064 Reported by Hitoshi Ozeki.
18065
180662007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 18067
6139dcd9 18068 Do not use devices at boot in chainloading.
f19dbdb7 18069
6139dcd9 18070 * loader/i386/pc/chainloader.c (boot_drive): New variable.
18071 (boot_part_addr): Likewise.
18072 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
18073 with BOOT_DRIVE and BOOT_PART_ADDR.
18074 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
18075 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
18076
38da6516 180772007-08-29 Robert Millan <rmh@aybabtu.com>
18078
18079 Patch from Simon Peter <dn.tlp@gmx.net>:
18080 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
18081 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
18082 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
18083 util/i386/pc/grub-setup.c_DEPENDENCIES.
18084 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
18085 util/grub-probe.c_DEPENDENCIES.
18086 * conf/powerpc-ieee1275.rmk: Likewise.
18087
29d0928c 180882007-08-28 Robert Millan <rmh@aybabtu.com>
18089
18090 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
18091 to tell grub-mkdevicemap how to name devices.
18092 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
18093 feature).
18094
18095 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
18096 util/i386/get_disk_name.c.
18097 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
18098 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
18099 util/ieee1275/get_disk_name.c.
18100
18101 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
18102
18103 * DISTLIST: Add util/i386/get_disk_name.c and
18104 util/ieee1275/get_disk_name.c.
18105
18106 * util/grub-mkdevicemap.c: Replace device naming logic with
18107 grub_util_get_disk_name() calls.
18108
5a0d3cca 181092007-08-20 Robert Millan <rmh@aybabtu.com>
18110
18111 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
18112 (so that it works for both plural and singular quantities).
18113
8b72db2f 181142007-08-05 Robert Millan <rmh@aybabtu.com>
18115
18116 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
18117 so that [xz] isn't taken into account when determining order.
18118
352466bf 181192007-08-02 Marco Gerards <marco@gnu.org>
18120
18121 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
18122 `include/multiboot2.h', `include/grub/elfload.h',
18123 `include/multiboot.h', `include/grub/multiboot.h',
18124 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
18125 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
18126 `kern/elf.c', `loader/multiboot_loader.c',
18127 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
18128 `loader/i386/pc/multiboot2.c',
18129 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
18130 `util/i386/pc/grub-mkrescue.in'. Remove
18131 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
18132 `include/grub/i386/pc/util/biosdisk.h' and
18133 `include/grub/powerpc/ieee1275/multiboot.h'.
18134
8f096014 181352007-08-02 Bean <bean123ch@gmail.com>
18136
18137 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
18138 (ntfs_mod_SOURCES): New variable.
18139 (ntfs_mod_CFLAGS): Likewise.
18140 (ntfs_mod_LDFLAGS): Likewise.
18141
18142 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
18143 (grub_probe_SOURCES): Likewise.
18144 (grub_emu_SOURCES): Likewise.
18145
18146 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
18147 (grub_emu_SOURCES): Likewise.
18148
18149 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
18150 (grub_emu_SOURCES): Likewise.
f19dbdb7 18151
8f096014 18152 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
18153
18154 * fs/ntfs.c: New file.
18155
9959f7db 181562007-08-02 Bean <bean123ch@gmail.com>
18157
18158 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
18159
18160 * file.h (grub_file): Likewise.
18161
18162 * fshelp.h (grub_fshelp_read_file): Likewise.
18163
18164 * util/i386/pc/grub-setup.c (setup): Likewise.
18165 (save_first_sector): Likewise.
18166 (save_blocklists): Likewise.
f19dbdb7 18167
9959f7db 18168 * fs/affs.c (grub_affs_read_file): Likewise.
18169
18170 * fs/ext2.c (grub_ext2_read_file): Likewise.
18171
18172 * fs/fat.c (grub_fat_read_data): Likewise.
18173
18174 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
18175
18176 * fs/hfs.c (grub_hfs_read_file): Likewise.
18177
18178 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
18179
18180 * fs/jfs.c (grub_jfs_read_file): Likewise.
18181
18182 * fs/minix.c (grub_minix_read_file): Likewise.
18183
18184 * fs/sfs.c (grub_sfs_read_file): Likewise.
18185
18186 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 18187
9959f7db 18188 * fs/xfs.c (grub_xfs_read_file): Likewise.
18189
18190 * command/blocklist.c (read_blocklist): Likewise.
18191 (print_blocklist): Likewise.
18192
0a203f83 181932007-08-02 Marco Gerards <marco@gnu.org>
18194
18195 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
18196 `util/hostfs.c'.
18197
18198 * disk/host.c: New file.
18199
18200 * util/hostfs.c: Likewise.
18201
18202 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
18203 return `GRUB_ERR_BAD_FS'.
18204 * fs/sfs.c (grub_sfs_mount): Likewise.
18205 * fs/xfs.c (grub_xfs_mount): Likewise.
18206
18207 * include/grub/disk.h (enum grub_disk_dev_id): Add
18208 `GRUB_DISK_DEVICE_HOST_ID'.
18209
18210 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
18211
e5dfe777 182122007-07-24 Jerone Young <jerone@gmail.com>
18213
f19dbdb7 18214 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 18215 modules for compilation.
18216 * conf/powerpc-ieee1275.rmk: Likewise.
18217
18218 * include/multiboot.h: Move multiboot definitions to one file. Rename
18219 many definitions to not get grub specific.
18220 * include/multiboot2.h: Create header with multiboot 2 definitions.
18221 * include/grub/multiboot.h: Header for grub specific function
18222 prototypes and definitions.
18223 * include/grub/multiboot2.h: Likewise.
18224 * include/grub/multiboot_loader.h: Likewise.
18225 * include/grub/i386/pc/multiboot.h: Removed.
18226 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
18227
18228 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
18229 and 2 to allow for one multiboot and module commands.
18230 * loader/multiboot2.c: Add multiboot2 functionality.
18231 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
18232 and definition names.
18233 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
18234 2 functions.
18235 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
18236 ieee1275 specific multiboot2 code.
18237
18238 * kern/i386/pc/startup.S: Change headers and definition names for
18239 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
18240
daf0f0ba 182412007-07-22 Robert Millan <rmh@aybabtu.com>
18242
18243 * geninitheader.sh: Process file specified in first parameter rather
18244 than hardcoding grub_modules_init.lst.
fe6b695a 18245 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 18246 than hardcoding grub_modules_init.h.
18247
18248 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
18249 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
18250 grub_probe_init.[ch] and grub_setup_init.[ch].
18251
18252 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
18253 grub_modules_init.h with grub_emu_init.h.
18254 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
18255 grub_probe_init.[ch] files.
18256 * conf/i386-efi.rmk: Likewise.
18257 * conf/i386-pc.rmk: Likewise.
18258 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
18259 grub_setup_init.[ch] files.
18260
18261 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
18262 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
18263 to initialize modules rather than a list of hardcoded functions.
18264 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
18265 grub_init_all() to initialize modules rather than a list of hardcoded
18266 functions.
18267
54cdc1cc 182682007-07-22 Robert Millan <rmh@aybabtu.com>
18269
18270 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
18271 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
18272
ad0686cc 182732007-07-22 Robert Millan <rmh@aybabtu.com>
18274
18275 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
18276 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
18277 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
18278 flag when running on SmartFirmware.
18279 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
18280 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
18281 was set.
18282
18283 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
18284 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
18285 rather than decreasing it.
18286
18287 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
18288 there's not enough space to do it, fail in the same way as when it
18289 can't be done because there are no partitions.
18290
18291 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
18292 when nvsetenv failed.
18293
969c02ec 182942007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
18295
18296 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
18297 because this rule is automatically generated.
18298 (grub-mkrescue): Removed for the same reason as above.
18299
5a79f472 183002007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
18301
18302 Migrate to GNU General Public License Version 3.
f19dbdb7 18303
5a79f472 18304 * COPYING: Replaced with the plain text version of GPLv3.
18305
18306 * config.guess: Updated from gnulib.
18307 * config.sub: Likewise.
18308
18309 * geninit.sh: Output a GPLv3 copyright notice.
18310 * geninitheader.sh: Likewise.
18311 * genmodsrc.sh: Likewise.
18312 * gensymlist.sh.in: Likewise.
18313
18314 * boot/i386/pc/boot.S: Upgraded to GPLv3.
18315 * boot/i386/pc/diskboot.S: Likewise.
18316 * boot/i386/pc/pxeboot.S: Likewise.
18317 * commands/blocklist.c: Likewise.
18318 * commands/boot.c: Likewise.
18319 * commands/cat.c: Likewise.
18320 * commands/cmp.c: Likewise.
18321 * commands/configfile.c: Likewise.
18322 * commands/echo.c: Likewise.
18323 * commands/help.c: Likewise.
18324 * commands/ls.c: Likewise.
18325 * commands/search.c: Likewise.
18326 * commands/terminal.c: Likewise.
18327 * commands/test.c: Likewise.
18328 * commands/videotest.c: Likewise.
18329 * commands/i386/cpuid.c: Likewise.
18330 * commands/i386/pc/halt.c: Likewise.
18331 * commands/i386/pc/play.c: Likewise.
18332 * commands/i386/pc/reboot.c: Likewise.
18333 * commands/i386/pc/vbeinfo.c: Likewise.
18334 * commands/i386/pc/vbetest.c: Likewise.
18335 * commands/ieee1275/halt.c: Likewise.
18336 * commands/ieee1275/reboot.c: Likewise.
18337 * commands/ieee1275/suspend.c: Likewise.
18338 * disk/loopback.c: Likewise.
18339 * disk/lvm.c: Likewise.
18340 * disk/raid.c: Likewise.
18341 * disk/efi/efidisk.c: Likewise.
18342 * disk/i386/pc/biosdisk.c: Likewise.
18343 * disk/ieee1275/ofdisk.c: Likewise.
18344 * font/manager.c: Likewise.
18345 * fs/affs.c: Likewise.
18346 * fs/ext2.c: Likewise.
18347 * fs/fat.c: Likewise.
18348 * fs/fshelp.c: Likewise.
18349 * fs/hfs.c: Likewise.
18350 * fs/hfsplus.c: Likewise.
18351 * fs/iso9660.c: Likewise.
18352 * fs/jfs.c: Likewise.
18353 * fs/minix.c: Likewise.
18354 * fs/sfs.c: Likewise.
18355 * fs/ufs.c: Likewise.
18356 * fs/xfs.c: Likewise.
18357 * hello/hello.c: Likewise.
18358 * include/grub/acorn_filecore.h: Likewise.
18359 * include/grub/arg.h: Likewise.
18360 * include/grub/bitmap.h: Likewise.
18361 * include/grub/boot.h: Likewise.
18362 * include/grub/cache.h: Likewise.
18363 * include/grub/device.h: Likewise.
18364 * include/grub/disk.h: Likewise.
18365 * include/grub/dl.h: Likewise.
18366 * include/grub/elfload.h: Likewise.
18367 * include/grub/env.h: Likewise.
18368 * include/grub/err.h: Likewise.
18369 * include/grub/file.h: Likewise.
18370 * include/grub/font.h: Likewise.
18371 * include/grub/fs.h: Likewise.
18372 * include/grub/fshelp.h: Likewise.
18373 * include/grub/gzio.h: Likewise.
18374 * include/grub/hfs.h: Likewise.
18375 * include/grub/kernel.h: Likewise.
18376 * include/grub/loader.h: Likewise.
18377 * include/grub/lvm.h: Likewise.
18378 * include/grub/misc.h: Likewise.
18379 * include/grub/mm.h: Likewise.
18380 * include/grub/net.h: Likewise.
18381 * include/grub/normal.h: Likewise.
18382 * include/grub/parser.h: Likewise.
18383 * include/grub/partition.h: Likewise.
18384 * include/grub/pc_partition.h: Likewise.
18385 * include/grub/raid.h: Likewise.
18386 * include/grub/rescue.h: Likewise.
18387 * include/grub/script.h: Likewise.
18388 * include/grub/setjmp.h: Likewise.
18389 * include/grub/symbol.h: Likewise.
18390 * include/grub/term.h: Likewise.
18391 * include/grub/terminfo.h: Likewise.
18392 * include/grub/tparm.h: Likewise.
18393 * include/grub/types.h: Likewise.
18394 * include/grub/video.h: Likewise.
18395 * include/grub/efi/api.h: Likewise.
18396 * include/grub/efi/chainloader.h: Likewise.
18397 * include/grub/efi/console.h: Likewise.
18398 * include/grub/efi/console_control.h: Likewise.
18399 * include/grub/efi/disk.h: Likewise.
18400 * include/grub/efi/efi.h: Likewise.
18401 * include/grub/efi/pe32.h: Likewise.
18402 * include/grub/efi/time.h: Likewise.
18403 * include/grub/i386/linux.h: Likewise.
18404 * include/grub/i386/setjmp.h: Likewise.
18405 * include/grub/i386/types.h: Likewise.
18406 * include/grub/i386/efi/kernel.h: Likewise.
18407 * include/grub/i386/efi/loader.h: Likewise.
18408 * include/grub/i386/efi/time.h: Likewise.
18409 * include/grub/i386/pc/biosdisk.h: Likewise.
18410 * include/grub/i386/pc/boot.h: Likewise.
18411 * include/grub/i386/pc/chainloader.h: Likewise.
18412 * include/grub/i386/pc/console.h: Likewise.
18413 * include/grub/i386/pc/init.h: Likewise.
18414 * include/grub/i386/pc/kernel.h: Likewise.
18415 * include/grub/i386/pc/loader.h: Likewise.
18416 * include/grub/i386/pc/memory.h: Likewise.
18417 * include/grub/i386/pc/multiboot.h: Likewise.
18418 * include/grub/i386/pc/serial.h: Likewise.
18419 * include/grub/i386/pc/time.h: Likewise.
18420 * include/grub/i386/pc/vbe.h: Likewise.
18421 * include/grub/i386/pc/vbeblit.h: Likewise.
18422 * include/grub/i386/pc/vbefill.h: Likewise.
18423 * include/grub/i386/pc/vbeutil.h: Likewise.
18424 * include/grub/i386/pc/vga.h: Likewise.
18425 * include/grub/ieee1275/ieee1275.h: Likewise.
18426 * include/grub/ieee1275/ofdisk.h: Likewise.
18427 * include/grub/powerpc/libgcc.h: Likewise.
18428 * include/grub/powerpc/setjmp.h: Likewise.
18429 * include/grub/powerpc/types.h: Likewise.
18430 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
18431 * include/grub/powerpc/ieee1275/console.h: Likewise.
18432 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
18433 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
18434 * include/grub/powerpc/ieee1275/loader.h: Likewise.
18435 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
18436 * include/grub/powerpc/ieee1275/time.h: Likewise.
18437 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
18438 * include/grub/sparc64/libgcc.h: Likewise.
18439 * include/grub/sparc64/setjmp.h: Likewise.
18440 * include/grub/sparc64/types.h: Likewise.
18441 * include/grub/sparc64/ieee1275/console.h: Likewise.
18442 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
18443 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
18444 * include/grub/sparc64/ieee1275/time.h: Likewise.
18445 * include/grub/util/biosdisk.h: Likewise.
18446 * include/grub/util/getroot.h: Likewise.
18447 * include/grub/util/lvm.h: Likewise.
18448 * include/grub/util/misc.h: Likewise.
18449 * include/grub/util/raid.h: Likewise.
18450 * include/grub/util/resolve.h: Likewise.
18451 * io/gzio.c: Likewise.
18452 * kern/device.c: Likewise.
18453 * kern/disk.c: Likewise.
18454 * kern/dl.c: Likewise.
18455 * kern/elf.c: Likewise.
18456 * kern/env.c: Likewise.
18457 * kern/err.c: Likewise.
18458 * kern/file.c: Likewise.
18459 * kern/fs.c: Likewise.
18460 * kern/loader.c: Likewise.
18461 * kern/main.c: Likewise.
18462 * kern/misc.c: Likewise.
18463 * kern/mm.c: Likewise.
18464 * kern/parser.c: Likewise.
18465 * kern/partition.c: Likewise.
18466 * kern/rescue.c: Likewise.
18467 * kern/term.c: Likewise.
18468 * kern/efi/efi.c: Likewise.
18469 * kern/efi/init.c: Likewise.
18470 * kern/efi/mm.c: Likewise.
18471 * kern/i386/dl.c: Likewise.
18472 * kern/i386/efi/init.c: Likewise.
18473 * kern/i386/efi/startup.S: Likewise.
18474 * kern/i386/pc/init.c: Likewise.
18475 * kern/i386/pc/lzo1x.S: Likewise.
18476 * kern/i386/pc/startup.S: Likewise.
18477 * kern/ieee1275/ieee1275.c: Likewise.
18478 * kern/powerpc/cache.S: Likewise.
18479 * kern/powerpc/dl.c: Likewise.
18480 * kern/powerpc/ieee1275/cmain.c: Likewise.
18481 * kern/powerpc/ieee1275/crt0.S: Likewise.
18482 * kern/powerpc/ieee1275/init.c: Likewise.
18483 * kern/powerpc/ieee1275/openfw.c: Likewise.
18484 * kern/sparc64/cache.S: Likewise.
18485 * kern/sparc64/dl.c: Likewise.
18486 * kern/sparc64/ieee1275/init.c: Likewise.
18487 * kern/sparc64/ieee1275/openfw.c: Likewise.
18488 * loader/efi/chainloader.c: Likewise.
18489 * loader/efi/chainloader_normal.c: Likewise.
18490 * loader/i386/efi/linux.c: Likewise.
18491 * loader/i386/efi/linux_normal.c: Likewise.
18492 * loader/i386/pc/chainloader.c: Likewise.
18493 * loader/i386/pc/chainloader_normal.c: Likewise.
18494 * loader/i386/pc/linux.c: Likewise.
18495 * loader/i386/pc/linux_normal.c: Likewise.
18496 * loader/i386/pc/multiboot.c: Likewise.
18497 * loader/i386/pc/multiboot_normal.c: Likewise.
18498 * loader/powerpc/ieee1275/linux.c: Likewise.
18499 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
18500 * normal/arg.c: Likewise.
18501 * normal/cmdline.c: Likewise.
18502 * normal/command.c: Likewise.
18503 * normal/completion.c: Likewise.
18504 * normal/execute.c: Likewise.
18505 * normal/function.c: Likewise.
18506 * normal/lexer.c: Likewise.
18507 * normal/main.c: Likewise.
18508 * normal/menu.c: Likewise.
18509 * normal/menu_entry.c: Likewise.
18510 * normal/misc.c: Likewise.
18511 * normal/parser.y: Likewise.
18512 * normal/script.c: Likewise.
18513 * normal/i386/setjmp.S: Likewise.
18514 * normal/powerpc/setjmp.S: Likewise.
18515 * normal/sparc64/setjmp.S: Likewise.
18516 * partmap/acorn.c: Likewise.
18517 * partmap/amiga.c: Likewise.
18518 * partmap/apple.c: Likewise.
18519 * partmap/gpt.c: Likewise.
18520 * partmap/pc.c: Likewise.
18521 * partmap/sun.c: Likewise.
18522 * term/gfxterm.c: Likewise.
18523 * term/terminfo.c: Likewise.
18524 * term/efi/console.c: Likewise.
18525 * term/i386/pc/console.c: Likewise.
18526 * term/i386/pc/serial.c: Likewise.
18527 * term/i386/pc/vesafb.c: Likewise.
18528 * term/i386/pc/vga.c: Likewise.
18529 * term/ieee1275/ofconsole.c: Likewise.
18530 * util/biosdisk.c: Likewise.
18531 * util/console.c: Likewise.
18532 * util/genmoddep.c: Likewise.
18533 * util/getroot.c: Likewise.
18534 * util/grub-emu.c: Likewise.
18535 * util/grub-mkdevicemap.c: Likewise.
18536 * util/grub-probe.c: Likewise.
18537 * util/lvm.c: Likewise.
18538 * util/misc.c: Likewise.
18539 * util/raid.c: Likewise.
18540 * util/resolve.c: Likewise.
18541 * util/update-grub.in: Likewise.
18542 * util/update-grub_lib.in: Likewise.
18543 * util/grub.d/00_header.in: Likewise.
18544 * util/grub.d/10_hurd.in: Likewise.
18545 * util/grub.d/10_linux.in: Likewise.
18546 * util/i386/efi/grub-install.in: Likewise.
18547 * util/i386/efi/grub-mkimage.c: Likewise.
18548 * util/i386/pc/grub-install.in: Likewise.
18549 * util/i386/pc/grub-mkimage.c: Likewise.
18550 * util/i386/pc/grub-mkrescue.in: Likewise.
18551 * util/i386/pc/grub-setup.c: Likewise.
18552 * util/i386/pc/misc.c: Likewise.
18553 * util/powerpc/ieee1275/grub-install.in: Likewise.
18554 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
18555 * util/powerpc/ieee1275/misc.c: Likewise.
18556 * video/bitmap.c: Likewise.
18557 * video/video.c: Likewise.
18558 * video/i386/pc/vbe.c: Likewise.
18559 * video/i386/pc/vbeblit.c: Likewise.
18560 * video/i386/pc/vbefill.c: Likewise.
18561 * video/i386/pc/vbeutil.c: Likewise.
18562 * video/readers/tga.c: Likewise.
18563
3572d015 185642007-07-02 Robert Millan <rmh@aybabtu.com>
18565
18566 * conf/i386-efi.rmk: Replace obsolete reference to
18567 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
18568 with util/getroot.c.
18569 * conf/powerpc-ieee1275.rmk: Likewise.
18570 * conf/sparc64-ieee1275.rmk: Likewise.
18571
18572 * util/grub-emu.c (main): Fix unchecked pointer handling.
18573
2c2a681b 185742007-07-02 Robert Millan <rmh@aybabtu.com>
18575
18576 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
18577 invocation to fail, in order to support partition-less media.
18578
18579 * util/i386/pc/grub-install.in: Likewise.
18580
18581 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
18582 which fs or partmap modules are needed (akin to its sister scripts).
18583
18584 Also use grub-probe to get rid of unportable /proc/mounts check.
18585
18586 Print the same informational message that the other scripts do, before
fe6b695a 18587 exiting.
2c2a681b 18588
6193defe 185892007-06-23 Robert Millan <rmh@aybabtu.com>
18590
fe6b695a 18591 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 18592 a font file can be found and, if so, echo the GRUB path to it.
18593
18594 * util/update-grub.in: Handle multiple terminals depending on user
18595 input, platform availability and font file presence. Propagate
18596 variables of our findings to /etc/grub.d/ children.
18597
18598 * util/grub.d/00_header.in: Handle multiple terminals, based on
18599 environment setup by update-grub.
18600
eface1dc 186012007-06-23 Robert Millan <rmh@aybabtu.com>
18602
ba50d28f 18603 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 18604
bf697e28 186052007-06-21 Robert Millan <rmh@aybabtu.com>
18606
18607 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
18608 indicate end of data section in kernel image.
18609 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
18610 GRUB_KERNEL_MACHINE_DATA_END.
18611
18612 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
18613 space for it.
18614 * kern/i386/efi/startup.S: Likewise.
18615
18616 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
18617 during image generation. Implement --prefix option to override this
18618 patch.
18619 * util/i386/efi/grub-mkimage.c: Likewise.
18620
18621 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
18622 code to make path relative to its root into a separate function.
18623
18624 * util/i386/pc/grub-install.in: Use newly provided
18625 make_system_path_relative_to_its_root() to convert ${grubdir}, then
18626 pass the result to grub-install --prefix.
18627
baa574b4 186282007-06-13 Robert Millan <rmh@aybabtu.com>
18629
18630 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
18631 DEFAULT_DEVICE_MAP.
18632 * util/grub-emu.c: Use above definitions from misc.h instead of
18633 defining them.
18634 * util/grub-mkdevicemap.c: Likewise.
18635 * util/i386/pc/grub-setup.c: Likewise.
18636 * util/grub-probe.c: Likewise.
18637 (probe): Abort with grub_util_error() when either
18638 grub_guess_root_device or grub_util_get_grub_dev fails.
18639
0215dcbf 186402007-06-12 Robert Millan <rmh@aybabtu.com>
18641
18642 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
18643 "pager" assignment.
18644 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
18645 "pcdata".
18646 * util/grub-probe.c (probe): Likewise for "drive_name".
18647
8af2ab7b 186482007-06-11 Robert Millan <rmh@aybabtu.com>
18649
18650 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
18651 not just the cdrom one.
18652
59d31694 186532007-06-11 Robert Millan <rmh@aybabtu.com>
18654
18655 * util/i386/pc/grub-mkrescue.in: Add "set -e".
18656 Add --pkglibdir=DIR option to override pkglibdir.
18657 Mention --image-type=TYPE in help output.
18658 Fix --grub-mkimage (it was a no-op).
fe6b695a 18659 Abort gracefully when no parameter is given.
59d31694 18660
7ee367e4 186612007-06-11 Robert Millan <rmh@aybabtu.com>
18662
18663 * util/i386/pc/grub-mkrescue.in: New file.
18664 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
18665 * Makefile.in: Handle bin_SCRIPTS.
18666
29b0ed46 186672007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
18668
18669 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
18670 list of video modes.
18671
c0f90770 186722007-06-06 Robert Millan <rmh@aybabtu.com>
18673
18674 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
18675 file doesn't exist, or if it is in a filesystem grub can't read.
18676
18677 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
18678 not abort if GRUB_DRIVE could not be defined. Rearrange generated
18679 header comment to fit in 80 columns when the variables are resolved.
18680
18681 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
18682 could be identified by update-grub. Remove redundant check for
fe6b695a 18683 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 18684 handles that).
18685
fb36dc26 186862007-06-04 Robert Millan <rmh@aybabtu.com>
18687
18688 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
18689
18690 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
18691
18692 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
18693
0c68c93e 186942007-06-04 Robert Millan <rmh@aybabtu.com>
18695
18696 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
18697
18698 * include/grub/partition.h: Declare grub_apple_partition_map_init and
18699 grub_apple_partition_map_fini.
18700
18701 * util/biosdisk.c
18702 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
18703 to access >2 TiB disks).
18704
18705 Print disk->total_sectors with %llu instead of %lu, since this
18706 variable is always 64-bit (prevents wrong disk size from being displayed
18707 on either >2 TiB disk or big-endian CPU).
18708
18709 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
18710 into a generic case that supports all (sane) partition maps.
18711
18712 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
18713 breaks big-endian.
18714
18715 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
18716 and grub_apple_partition_map_fini() after that.
18717
0f23eb74 187182007-06-01 Robert Millan <rmh@aybabtu.com>
18719
18720 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
18721
18722 * util/grub.d/00_header.in: Only enable gfxterm when
18723 convert_system_path_to_grub_path() succeeds.
18724
42c71976 187252007-05-20 Robert Millan <rmh@aybabtu.com>
18726
18727 * util/update-grub_lib.in: New file.
18728 * DISTLIST: Add update-grub_lib.in.
18729 * conf/common.rmk: Generate update-grub_lib and install it in
18730 $(lib_DATA).
18731 * Makefile.in: Add install routine for $(lib_DATA).
18732
18733 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
18734 function provided by update-grub_lib to support arbitrary paths of
18735 unifont.pff.
18736 * util/update-grub.in: Use convert_system_path_to_grub_path() to
18737 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
18738
5beb2291 187392007-05-19 Robert Millan <rmh@aybabtu.com>
18740
18741 * commands/i386/cpuid.c: New module.
18742 * DISTLIST: Add it.
18743 * conf/i386-efi.rmk: Enable cpuid.mod.
18744 * conf/i386-pc.rmk: Likewise.
18745
7262eca1 187462007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
18747
18748 * kern/disk.c (grub_disk_read): Check return value of
18749 grub_realloc().
18750
260ba823 187512007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
18752
18753 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
18754 arrays.
18755 * disk/raid.c (grub_raid_open): Likewise.
18756
1ecb6cf2 187572007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
18758
18759 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
18760 stack instead of on the heap.
18761
18762 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
18763 before doing a read on it.
18764
18765 * configure.ac: Only use -fno-stack-protector for the target
18766 environment.
f19dbdb7 18767
21c8cbb1 187682007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
18769
18770 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
18771 __attribute_ ((unused)) to mode_type argument.
18772
18773 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 18774
21c8cbb1 18775 * kern/misc.c (memcmp): Fix prototype.
18776
18777 * include/grub/partition.h [GRUB_UTIL]
18778 (grub_gpt_partition_map_init): Add prototype.
18779 (grub_gpt_partition_map_fini): Likewise.
18780
18781 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
18782 at the right place.
18783
18784 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
18785 (grub_fat_read_data): Likewise.
18786 (grub_fat_find_dir): Likewise.
18787
18788 * font/manager.c (find_glyph): Make table a const.
18789 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 18790
849d55d3 187912007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
18792
18793 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
18794 code, first search for device in /dev/mapper, then in /dev.
18795 (grub_util_get_grub_dev): New function.
18796 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
18797 prototype.
18798 * util/grub-probe.c (probe): Remove check for RAID, call
18799 grub_util_get_grub_dev() instead of
18800 grub_util_biosdisk_get_grub_dev().
18801 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
18802 grub_util_biosdisk_get_grub_dev().
18803 * util/i386/pc/grub-setup.c (main): Likewise.
18804
8fff7c2f 188052007-05-16 Robert Millan <rmh@aybabtu.com>
18806
18807 * DISTLIST: Update for the latest changes.
18808 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
18809 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
18810 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
18811 grub/util/biosdisk.h.
18812 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
18813 grub/util/biosdisk.h.
18814
48e12b52 188152007-05-16 Robert Millan <rmh@aybabtu.com>
18816
18817 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
18818
46b9d128 188192007-05-16 Robert Millan <rmh@aybabtu.com>
18820
18821 * util/i386/efi/grub-install.in: New.
18822 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
18823 newly added grub-install.
18824 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
18825 include.
18826 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
18827 grub/util/biosdisk.h.
18828 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
18829 grub/util/biosdisk.h.
18830
2d1a40a9 188312007-05-16 Robert Millan <rmh@aybabtu.com>
18832
18833 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
18834 * include/grub/util/biosdisk.h: ... here.
18835 * util/i386/pc/biosdisk.c: Moved to ...
18836 * util/biosdisk.c: ... here.
18837 * util/i386/pc/getroot.c: Moved to ...
18838 * util/getroot.c: ... here.
18839 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
18840 * util/grub-mkdevicemap.c: ... here.
18841 * util/i386/pc/grub-probe.c: Moved to ...
18842 * util/grub-probe.c: ... here.
18843
9e26e3bc 188442007-05-15 Robert Millan <rmh@aybabtu.com>
18845
18846 * util/update-grub.in: Remove duplicated line in grub.cfg header
18847 message.
18848
57f96397 188492007-05-13 Robert Millan <rmh@aybabtu.com>
18850
18851 * util/update-grub.in: Fix a few assumptions about the devices holding
18852 /, /boot and /boot/grub being the same.
18853 * util/grub.d/00_header.in: Likewise.
18854 * util/grub.d/10_hurd.in: Likewise.
18855 * util/grub.d/10_linux.in: Likewise.
18856
18857 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
18858 patterns. Use that to define the `.old' suffix as older than `'.
18859
18860 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
18861
18862 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
18863 the grub.cfg header message.
18864
2e610d62 188652007-05-11 Robert Millan <rmh@aybabtu.com>
18866
18867 * util/update-grub.in: Create device.map if it doesn't already exist,
18868 before attempting to run grub-probe.
18869 Check for grub-probe and grub-mkdevicemap with the same code
18870 grub-install is using.
18871 Remove test mode.
18872
3f6a10ef 188732007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
18874
18875 * Makefile.in: Add the datarootdir autoconf variable.
18876
02e7b75e 188772007-05-09 Robert Millan <rmh@aybabtu.com>
18878
18879 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 18880 fail gracefully if dev->disk->partition == NULL.
02e7b75e 18881
75f396cc 188822007-05-07 Robert Millan <rmh@aybabtu.com>
18883
18884 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
18885 determine partition map module.
18886 * util/i386/pc/grub-install.in: Use this feature to decide which
18887 partition module to load, instead of hardcoding pc and gpt.
18888
da65cb36 188892007-05-07 Robert Millan <rmh@aybabtu.com>
18890
18891 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
18892 source directory differs from build directory.
18893
b57d6a91 188942007-05-05 Robert Millan <rmh@aybabtu.com>
18895
18896 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
18897 initialisation.
18898
509d00f1 188992007-05-05 Robert Millan <rmh@aybabtu.com>
18900
18901 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
18902
c48f23ef 189032007-05-05 Robert Millan <rmh@aybabtu.com>
18904
18905 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
18906 command-line arguments via ${GRUB_CMDLINE_LINUX}.
18907
20b97658 189082007-05-05 Robert Millan <rmh@aybabtu.com>
18909
18910 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
18911 (grub_probe_SOURCES): Likewise.
18912 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
18913 GPT and initialize dos_part and bsd_part accordingly.
18914 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
18915 install_bsd_part.
18916 (main): Activate gpt module for use during partition identification,
18917 and deactivate it afterwards.
18918 * util/i386/pc/grub-install.in: Add gpt module to core.img.
18919 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
18920 partition identification, and deactivate it afterwards.
18921
99123174 189222007-05-05 Robert Millan <rmh@aybabtu.com>
18923
18924 * term/i386/pc/console.c (grub_console_fini): Call
18925 grub_term_set_current() before grub_term_unregister().
18926
ebd97f6e 189272007-05-04 Robert Millan <rmh@aybabtu.com>
18928
18929 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
18930 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
18931 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
18932 and update-grub_DATA.
18933 * conf/common.rmk: Build and install update-grub components.
18934 * conf/common.mk: Regenerate.
18935 * util/update-grub.in: New. Core of update-grub.
18936 * util/grub.d/00_header.in: New. Generates grub.cfg header.
18937 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
18938 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
18939 * util/grub.d/README: New. Document grub.d directory layout.
18940
b06a264d 189412007-05-01 Robert Millan <rmh@aybabtu.com>
18942
18943 * util/grub-emu.c: Move initialization functions
18944 grub_util_biosdisk_init() and grub_init_all() before
18945 grub_util_biosdisk_get_grub_dev(), which relies on them.
18946
41f0050e 189472007-04-19 Robert Millan <rmh@aybabtu.com>
18948
18949 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
18950 it is used later.
18951
04582bb3 189522007-04-18 Jerone Young <jerone@gmail.com>
18953
f19dbdb7 18954 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 18955 stanza.
18956
08db4632 189572007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 18958
08db4632 18959 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
18960 continue on and look for device node with real device name.
18961
801b76be 189622007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 18963
fe6b695a 18964 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 18965 ability.
18966 * Makefile.in: Add autoconf package transformation code.
18967 * util/i386/pc/grub-install.in: Likewise.
18968 * util/powerpc/ieee1275/grub-install.in: Likewise.
18969
6795c4e1 189702007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
18971
18972 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
18973 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
18974 (EXT2_REVISION): Likewise.
18975 (EXT2_INODE_SIZE): Likewise.
18976 (struct grub_ext2_block_group): Added a missing member
18977 "used_dirs".
18978 (grub_ext2_read_inode): Divide by the inode size in a superblock
18979 instead of 128 to obtain INODES_PER_BLOCK.
18980 Use the macro EXT2_INODE_SIZE instead of directly using
18981 SBLOCK->INODE_SIZE.
18982
d70af616 189832007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
18984
18985 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
18986 superblock instead of the structure size to compute an
18987 offset. This fixes the problem that GRUB could not read a
18988 filesystem when inode size is different from 128-byte.
18989
3b801603 189902007-03-05 Marco Gerards <marco@gnu.org>
18991
18992 * normal/main.c (read_config_file): When "menu" is not set, create
18993 an initial context.
18994
4785bfe4 189952007-02-21 Hollis Blanchard <hollis@penguinppc.org>
18996
18997 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
18998 (HEAP_LIMIT): New macro.
18999 (grub_claim_heap): Claim memory up to `heaplimit'.
19000
a0cbb023 190012007-02-21 Hollis Blanchard <hollis@penguinppc.org>
19002
19003 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
19004 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
19005 (_start): Likewise.
19006 (grub_arch_modules_addr): Return address after `_end'.
19007 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
19008 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
19009 (add_segments): Calculate `_end' from phdr size and location.
19010 (ALIGN_UP): Moved to ...
19011 * include/grub/misc.h: here.
19012 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
19013 New macro.
19014 (GRUB_IEEE1275_MODULE_BASE): Removed.
19015
fd7d8eba 190162007-02-20 Hollis Blanchard <hollis@penguinppc.org>
19017
19018 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
19019 loop boundary.
19020
9b09e6fc 190212007-02-20 Hollis Blanchard <hollis@penguinppc.org>
19022
19023 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
19024 All users updated.
19025 (grub_elf64_load_hook_t): Likewise.
19026 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
19027 debug output.
19028
3ce27299 190292007-02-20 Hollis Blanchard <hollis@penguinppc.org>
19030
19031 * kern/mm.c: Update copyright.
19032 (grub_mm_debug): Correct syntax error.
19033 (grub_mm_dump_free): New function.
19034 (grub_debug_free): Call `grub_free'.
19035 * include/grub/mm.h: Update copyright.
19036 (grub_mm_dump_free): Add declaration.
19037
077d5fee 190382007-02-12 Hollis Blanchard <hollis@penguinppc.org>
19039
19040 * include/grub/ieee1275/ieee1275.h: Update copyright.
19041 * kern/powerpc/ieee1275/init.c: Likewise.
19042 * kern/powerpc/ieee1275/openfw.c: Likewise.
19043
19044 * loader/powerpc/ieee1275/linux.c: Likewise.
19045 * include/grub/elfload.h: Likewise.
19046 * kern/elf.c: Likewise.
19047 (grub_elf32_load): Pass `base' and `size' parameters. Update all
19048 callers.
19049 (grub_elf64_load): Likewise.
19050 (grub_elf32_load_segment): Move to a nested function.
19051 (grub_elf64_load_segment): Likewise.
19052
dc946850 190532007-02-12 Hollis Blanchard <hollis@penguinppc.org>
19054
19055 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
19056 prototype.
19057 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
19058 (grub_heap_len): Likewise.
19059 (HEAP_SIZE): New macro.
19060 (grub_claim_heap): New function.
19061 (grub_machine_init): Don't claim heap directly. Call
19062 `grub_claim_heap'.
19063 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
19064 (grub_available_iterate): New function.
19065
baa2a121 190662007-02-03 Thomas Schwinge <tschwinge@gnu.org>
19067
19068 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
19069 * configure.ac: Use it for testing the HOST and TARGET compilers.
19070
4fe9862e 190712006-12-13 Thomas Schwinge <tschwinge@gnu.org>
19072
19073 * Makefile.in (enable_grub_emu): New variable.
19074 * configure.ac (--enable-grub-emu): New option.
19075 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
19076 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
19077 * conf/i386-pc.rmk: Likewise.
19078 * conf/powerpc-ieee1275.rmk: Likewise.
19079 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
19080
a8aa5762 190812006-12-12 Marco Gerards <marco@gnu.org>
19082
19083 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
19084
19085 * kern/env.c (grub_env_unset): Don't free the member `value' when
19086 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
19087 pointer.
19088
19089 * normal/main.c (current_menu): Removed.
19090 (free_menu): Unset the `menu' environment variable.
19091 (grub_normal_menu_addentry): Make use of the environment variable
19092 `menu', instead of using the global `current_menu'. Allocate
19093 memory for the sourcecode of this entry.
19094 (read_config_file): New argument `nested', changed all callers.
19095 Only in the case of a new context, initialize a new menu. Set the
19096 `menu' environment variable.
19097 (grub_normal_execute): Don't set and unset the environment
19098 variable `menu' here anymore. Only free the menu when leaving the
19099 context.
19100
19101 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
19102 leak.
19103
957b3a3e 191042006-12-11 Marco Gerards <marco@gnu.org>
19105
19106 * normal/menu_entry.c (run): Fix off by one bug so the last line
19107 is executed. Move the loader check to outside the loop.
19108
ef875714 191092006-12-08 Hollis Blanchard <hollis@penguinppc.org>
19110
19111 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
19112
4e739985 191132006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
19114
19115 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
19116 the number of sectors. Reported by Andrey Shuvikov
19117 <mr_hyro@yahoo.com>.
f19dbdb7 19118
790707f2 191192006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
19120
19121 * kern/disk.c (grub_disk_read): When there is a read error, always
19122 try to read only the necessary data.
f19dbdb7 19123
790707f2 19124 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
19125 disk/raid.c.
19126 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
19127 prototype.
19128 [GRUB_UTIL] (grub_raid_fini): Likewise.
19129 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 19130 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 19131 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
19132 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
19133 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
19134 and grub_raid_fini().
f19dbdb7 19135
03e58196 191362006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
19137
19138 * include/grub/types.h (__unused): Rename to UNUSED.
19139 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
19140 (grub_elf64_size): Likewise.
f19dbdb7 19141
ae4f23bf 191422006-11-03 Hollis Blanchard <hollis@penguinppc.org>
19143
19144 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
19145 grub_error_push and grub_error_pop in the error-handling path.
19146 (grub_elf32_load_segment): Only call grub_file_read with non-zero
19147 length.
19148
2166cc83 191492006-11-03 Hollis Blanchard <hollis@penguinppc.org>
19150
19151 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
19152 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19153 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19154 (kernel_elf_SOURCES): Likewise.
19155 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
19156 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
19157 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
19158 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
19159 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
19160 (elf_mod_SOURCES): New variable.
19161 (elf_mod_CFLAGS): Likewise.
19162 (elf_mod_LDFLAGS): Likewise.
19163 * include/grub/types.h (__unused): New macro.
19164 * include/grub/elfload.h: New file.
19165 * kern/elf.c: Likewise.
19166 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
19167 (ELF32_LOADMASK): New macro.
19168 (ELF64_LOADMASK): Likewise.
19169 (vmlinux): Removed.
19170 (grub_linux_load32): New function.
19171 (grub_linux_load64): Likewise.
19172 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
19173 Use grub_elf_t instead of grub_file_t.
19174
a09d5aa5 191752006-11-02 Hollis Blanchard <hollis@penguinppc.org>
19176
19177 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
19178 `catch_result' to struct set_color_args.
19179
d976fc51 191802006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
19181
19182 * normal/menu.c: Include grub/script.h.
19183 * normal/menu_entry.c: Likewise.
19184 * include/grub/normal.h: Do not include grub/script.h.
19185
67507549 191862006-10-27 Hollis Blanchard <hollis@penguinppc.org>
19187
19188 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
19189
69203a99 191902006-10-27 Hollis Blanchard <hollis@penguinppc.org>
19191
19192 * kern/disk.c (grub_disk_open): Print debug messages when opening a
19193 disk.
19194 (grub_disk_close): Print debug messages when closing a disk.
19195 (grub_disk_read): Print debug messages when disk read fails.
19196 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
19197 filesystem type.
19198 * kern/partition.c: Include misc.h.
19199 (grub_partition_iterate): Print debug messages when detecting
19200 partition type.
19201
e2b8278c 192022006-10-27 Hollis Blanchard <hollis@penguinppc.org>
19203
19204 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
19205 is negative.
19206 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
19207
97b2f2ff 192082006-10-26 Hollis Blanchard <hollis@penguinppc.org>
19209
19210 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
19211 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
19212
6555d655 192132006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
19214
19215 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
19216 instead of sizeof(lv). Patch by Michael Guntsche.
19217
4d42b77f 192182006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
19219
19220 * disk/lvm.c: Rename VGS to VG_LIST.
19221 (grub_lvm_iterate): Change VGS->LV to VG-LV.
19222 (grub_lvm_open): Likewise.
19223 Thanks to Michael Guntsche for finding this bug.
19224
5d74d927 192252006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
19226
19227 * configure.ac (AC_INIT): Bumped to 1.95.
19228
a1bb27e4 192292006-10-14 Robert Millan <rmh@aybabtu.com>
19230
19231 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
19232 with "/dev/.static/dev/md".
19233
e0994b8b 192342006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
19235
19236 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
19237 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
19238 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
19239 DRIVE_NAME are always freed.
19240
19241 * util/i386/pc/biosdisk.c (make_device_name): Add one into
19242 DOS_PART, as a DOS partition is counted from one instead of zero
19243 now. Reported by Robert Millan.
19244
ddd5cee9 192452006-10-14 Robert Millan <rmh@aybabtu.com>
19246
19247 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
19248 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
19249 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
19250 string returned by grub_guess_root_device.
19251 * util/i386/pc/grub-setup.c: Likewise.
19252 * util/i386/pc/grub-probefs.c: Likewise.
19253
19254 * util/i386/pc/grub-probefs.c: Rename to ...
19255 * util/i386/pc/grub-probe.c: ... this.
19256 * DISTLIST: Remove grub-probefs, add grub-probe.
19257 * conf/i386-efi.rmk: Likewise.
19258 * conf/i386-pc.rmk: Likewise.
19259 * util/i386/pc/grub-install.in: Likewise.
19260
19261 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
19262 choose which information we want to print.
19263
2b002173 192642006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
19265
19266 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
19267 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
19268 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
19269 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
19270 video/readers/tga.c and video/i386/pc/vbeutil.c.
19271
192722006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
19273
19274 Added support for RAID and LVM.
f19dbdb7 19275
2b002173 19276 * disk/lvm.c: New file.
19277 * disk/raid.c: Likewise.
19278 * include/grub/lvm.h: Likewise.
f19dbdb7 19279 * include/grub/raid.h: Likewise.
2b002173 19280 * include/grub/util/lvm.h: Likewise.
19281 * include/grub/util/raid.h: Likewise.
19282 * util/lvm.c: Likewise.
19283 * util/raid.c: Likewise.
19284
19285 * include/grub/disk.h (grub_disk_dev_id): Add
19286 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
19287 (grub_disk_get_size): New prototype.
19288 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
19289 returns a partition.
19290 (grub_disk_get_size): New function.
f19dbdb7 19291
2b002173 19292 * kern/i386/pc/init.c (make_install_device): Copy the prefix
19293 verbatim if grub_install_dos_part is -2.
19294
19295 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
19296 and LVM devices.
19297
19298 * util/i386/pc/grub-setup.c (setup): New argument
19299 MUST_EMBED. Force embedding of GRUB when the argument is
19300 true. Close FILE before returning.
19301 (main): Add support for RAID and LVM.
f19dbdb7 19302
2b002173 19303 * conf/common.rmk: Add RAID and LVM modules.
19304 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
19305 util/lvm.c.
19306 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
19307
19308 * kern/misc.c (grub_strstr): New function.
19309 * include/grub/misc.h (grub_strstr): New prototype.
19310
050548d0 193112006-10-10 Tristan Gingold <tristan.gingold@bull.net>
19312
19313 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
19314
da849d2d 193152006-10-05 Tristan Gingold <tristan.gingold@bull.net>
19316
19317 * kern/misc.c (grub_strtoull): Guess the base only if not
19318 specified.
19319
97b2f2ff 193202006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 19321
19322 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
19323 PowerMac support.
19324
97b2f2ff 193252006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 19326
19327 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
19328
19329 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
19330 Remove `flags' argument. All callers changed.
19331 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
19332 (IEEE1275_IHANDLE_INVALID): New variable.
19333 (IEEE1275_CELL_INVALID): New variable.
19334 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
19335 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
19336 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
19337 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
19338 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
19339 codes from Open Firmware. All callers updated.
19340 (grub_ieee1275_next_property): Directly return Open Firmware return
19341 code.
19342 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
19343 Standardize error checking from `grub_ieee1275_get_property'.
19344 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
19345 `devalias' to `aliases'. Correct comments. Consolidate error paths.
19346
97b2f2ff 193472006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 19348
19349 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
19350 `instance_to_package_args' to `instance_to_path_args'.
19351
19352 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
19353 `grub_ieee1275_chosen'.
19354
19355 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
19356 `grub_ieee1275_interpret'.
19357
97b2f2ff 193582006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 19359
19360 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
19361
97b2f2ff 193622006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 19363
19364 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
19365 (__cmpdi): Likewise.
19366
19367 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
19368 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
19369 `grub_ssize_t'.
19370
02bb8acc 19371 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 19372
19373 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
19374 to type `grub_ssize_t'.
19375 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
19376
7f9a8531 193772006-09-22 Marco Gerards <marco@gnu.org>
19378
19379 * normal/script.c (grub_script_create_cmdmenu): Skip leading
19380 newlines.
19381
b5ef1102 193822006-09-22 Marco Gerards <marco@gnu.org>
19383
19384 * commands/echo.c: New file.
19385
19386 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
19387
19388 * conf/common.rmk (echo_mod_SOURCES): New variable.
19389 (echo_mod_CFLAGS): Likewise.
19390 (echo_mod_LDFLAGS): Likewise.
19391
2cff3677 193922006-09-22 Marco Gerards <marco@gnu.org>
19393
19394 * normal/main.c (get_line): Malloc memory instead of using
19395 preallocated memory. Removed the arguments `cmdline' and
19396 `max_len'. Updated all callers.
19397
6ba4688b 193982006-09-22 Marco Gerards <marco@gnu.org>
19399
19400 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
19401 (normal_mod_DEPENDENCIES): Likewise.
19402
19403 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
19404 (normal_mod_DEPENDENCIES): Likewise.
19405
19406 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
19407
e02ac02c 194082006-09-22 Johan Rydberg <jrydberg@gnu.org>
19409
19410 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
19411 programs.
19412 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
19413 (normal_mod_DEPENDENCIES): Likewise.
19414 * conf/i386-pc.mk: Regenerate.
19415 * conf/i386-efi.mk: Likewise
19416 * conf/common.mk: Likewise.
19417 * conf/powerpc-ieee1275.mk: Likewise.
19418 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 19419
8d252e44 194202006-09-22 Robert Millan <rmh@aybabtu.com>
19421
19422 Sync with i386 version.
19423 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
19424 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
19425
209bf7ac 194262006-09-21 Robert Millan <rmh@aybabtu.com>
19427
19428 Import from GRUB Legacy (lib/device.c):
19429 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
19430 (init_device_map) [__linux__]: Add support for I2O devices.
19431
6b146090 194322006-09-14 Marco Gerards <marco@gnu.org>
19433
19434 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
19435 `-melf_i386'.
19436
e38600a8 194372006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 19438
19439 * util/i386/pc/grub-install.in: Skip menu.lst when removing
19440 /boot/grub/*.lst.
78fa1790 19441
2952da5d 19442 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 19443
2952da5d 19444 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
19445 before adding it to device.map.
19446
01b82a64 194472006-08-15 Johan Rydberg <jrydberg@gnu.org>
19448
fe6b695a 19449 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 19450 compiles a file; using the -MD option.
19451 * conf/common.mk: Regenerate.
19452 * conf/i386-pc.mk: Likewise.
19453 * conf/i386-efi.mk: Likewise.
19454 * conf/powerpc-ieee1275.mk: Likewise.
19455 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 19456
1064790d 194572006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
19458
19459 Move the prototypes of grub_setjmp and grub_longjmp to
19460 cpu/setjmp.h, so that each architecture may specify different
19461 attributes.
f19dbdb7 19462
1064790d 19463 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
19464 (grub_longjmp): Likewise.
19465 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
19466 (grub_longjmp): Likewise.
19467 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
19468 (grub_longjmp): Likewise.
19469
19470 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
19471 [!GRUB_UTIL] (grub_longjmp): Removed.
19472
29dda3ed 194732006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
19474
19475 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
19476 "color!" method does not return any value.
19477
ad2a06ed 194782006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
19479
19480 * include/grub/bitmap.h: New file.
19481
19482 * include/grub/i386/pc/vbeutil.h: Likewise.
19483
19484 * video/bitmap.c: Likewise.
19485
19486 * video/readers/tga.c: Likewise.
19487
19488 * video/i386/pc/vbeutil.c: Likewise.
19489
19490 * commands/videotest.c: Code cleanup and updated to reflect to new
19491 video API.
19492
19493 * term/gfxterm.c: Likewise.
19494
19495 * video/video.c: Likewise.
19496
19497 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
19498 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
19499 (bitmap_mod_SOURCES): New entry.
19500 (bitmap_mod_CFLAGS): Likewise.
19501 (bitmap_mod_LDFLAGS): Likewise.
19502 (tga_mod_SOURCES): Likewise.
19503 (tga_mod_CFLAGS): Likewise.
19504 (tga_mod_LDFLAGS): Likewise.
19505
19506 * include/grub/video.h (grub_video_blit_operators): New enum type.
19507 (grub_video_render_target): Changed as forward declaration and moved
19508 actual definition to be video driver specific.
19509 (grub_video_adapter.blit_bitmap): Added blitting operator.
19510 (grub_video_adapter.blit_render_target): Likewise.
19511 (grub_video_blit_bitmap): Likewise.
19512 (grub_video_blit_render_target): Likewise.
19513
19514 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
19515 driver specific render target definition.
19516 (grub_video_vbe_map_rgba): Added driver internal helper.
19517 (grub_video_vbe_unmap_color): Updated to use
19518 grub_video_i386_vbeblit_info.
19519 (grub_video_vbe_get_video_ptr): Likewise.
19520
19521 * include/grub/i386/pc/vbeblit.h
19522 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
19523 grub_video_i386_vbeblit_info.
19524 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
19525 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
19526 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
19527 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
19528 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
19529 (grub_video_i386_vbeblit_index_index): Likewise.
19530 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
19531 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
19532 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
19533 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
19534 operator.
19535 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
19536 operator.
19537
19538 * video/i386/pc/vbeblit.c: Updated to reflect changes on
19539 include/grub/i386/pc/vbeblit.h.
19540
19541 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
19542 Updated to use grub_video_i386_vbeblit_info.
19543 (grub_video_i386_vbefill_R8G8B8): Likewise.
19544 (grub_video_i386_vbefill_index): Likewise.
19545 (grub_video_i386_vbefill): Added generic filler.
19546
19547 * video/i386/pc/vbefill.c: Updated to reflect changes on
19548 include/grub/i386/pc/vbefill.h.
19549
19550 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
19551 grub_video_i386_vbeblit_info.
19552 (grub_video_vbe_unmap_color): Likewise.
19553 (grub_video_vbe_blit_glyph): Likewise.
19554 (grub_video_vbe_scroll): Likewise.
19555 (grub_video_vbe_draw_pixel): Removed function.
19556 (grub_video_vbe_get_pixel): Likewise.
19557 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
19558 updated code to use it.
19559 (common_blitter): Added common blitter for render target and bitmap.
19560 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
19561 (grub_video_vbe_blit_render_target): Likewise.
19562
bc8c036d 195632006-07-30 Johan Rydberg <jrydberg@gnu.org>
19564
19565 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
19566 is in text mode if there is no console control protocol instance
19567 available.
19568
684a8eff 195692006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
19570
19571 * include/grub/video.h: Code cleanup.
19572
19573 * include/grub/i386/pc/vbe.h: Likewise.
19574
19575 * video/i386/pc/vbe.c: Likewise.
19576
19577 * video/i386/pc/vbeblit.c: Likewise.
19578
19579 * video/i386/pc/vbefill.c: Likewise.
19580
19581 * video/video.c: Likewise. Also added more comments.
19582
5915059b 195832006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
19584
19585 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
19586 (struct grub_biosdisk_dap): Likewise.
19587
19588 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
19589 linkage settings for all functions.
19590
90ce5d56 195912006-07-12 Marco Gerards <marco@gnu.org>
19592
19593 * configure.ac (--enable-mm-debug): Fix typo.
19594
19595 * genkernsyms.sh.in: Use proper quoting for `CC'.
19596
43e7f879 195972006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
19598
19599 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
19600 (normal_mod_ASFLAGS): Remove "-m32".
19601
4889bdec 196022006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
19603
19604 * util/misc.c: Include config.h.
19605 [!HAVE_MEMALIGN]: Do not include malloc.h.
19606 (grub_memalign): Use posix_memalign, if present. Then, use
19607 memalign, if present. Otherwise, emit an error.
19608
19609 * util/grub-emu.c: Do not include malloc.h.
19610
19611 * include/grub/util/misc.h: Include unistd.h. This is required for
19612 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
19613 D. Eades III <hde@foobar-qux.org>.
19614
19615 * configure.ac (AC_GNU_SOURCE): Added.
19616 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
19617 type.
19618
fd39d4da 196192006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
19620
19621 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
19622 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
19623
b786f3b5 196242006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
19625
19626 * include/grub/types.h (grub_host_addr_t): Rename to
19627 grub_target_addr_t.
19628 (grub_host_off_t): Rename to grub_target_off_t.
19629 (grub_host_size_t): Rename to grub_target_size_t.
19630 (grub_host_ssize_t): Rename to grub_target_ssize_t.
19631 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
19632
19633 * include/grub/kernel.h (struct grub_module_header): Change type
19634 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
19635 (grub_module_info): Likewise.
f19dbdb7 19636
051988bb 196372006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
19638
19639 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
19640 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
19641 Velazquez <jesus.velazquez@gmail.com>.
19642
deae281b 196432006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
19644
19645 Count partitions from 1 instead of 0 in the string representation
19646 of partitions. Still use 0-based internally.
f19dbdb7 19647
deae281b 19648 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
19649 (sun_partition_map_iterate): Use grub_partition_t instead of
19650 struct grub_partition *. Cast DESC->START_CYLINDER to
19651 grub_uint64_t after converting the endian.
19652 (sun_partition_map_probe): Subtract 1 for PARTNUM.
19653 (sun_partition_map_get_name): Add 1 to P->INDEX.
19654
19655 * partmap/pc.c (grub_partition_parse): Subtract 1 for
19656 PCDATA->DOS_PART.
19657 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
19658
19659 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
19660 zero instead of one.
19661 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
19662 (gpt_partition_map_get_name): Add 1 into P->INDEX.
19663
19664 * partmap/apple.c (apple_partition_map_iterate): Change the type
19665 of POS to unsigned.
19666 (apple_partition_map_probe): Subtract 1 for PARTNUM.
19667 (apple_partition_map_get_name): Add 1 into P->INDEX.
19668
19669 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
19670 of POS to unsigned.
19671 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
19672 calculate the offset of a partition.
19673 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
19674 (amiga_partition_map_get_name): Add 1 into P->INDEX.
19675
19676 * partmap/acorn.c (acorn_partition_map_find): Change the type of
19677 SECTOR to grub_disk_addr_t.
19678 (acorn_partition_map_iterate): Likewise.
19679 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
19680 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
19681 top.
19682 (acorn_partition_map_get_name): Add 1 into P->INDEX.
19683
19684 * kern/i386/pc/init.c (make_install_device): Add 1 into
19685 GRUB_INSTALL_DOS_PART.
19686
19687 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
19688 conditional.
19689
524a1e6a 196902006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
19691
19692 Clean up the code to support 64-bit addressing in disks and
19693 files. This change is not enough for filesystems yet.
f19dbdb7 19694
524a1e6a 19695 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
19696 type of "start" to grub_uint64_t.
19697 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
19698 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
19699 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
19700 convert addresses.
19701
19702 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
19703 to grub_disk_addr_t.
19704
19705 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
19706 string.
19707
19708 * partmap/pc.c (pc_partition_map_iterate): Likewise.
19709
19710 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
19711 to char *.
19712
19713 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
19714
19715 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
19716
19717 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
19718
19719 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
19720 to grub_off_t, to detect an error from grub_file_seek.
19721 (grub_multiboot_load_elf32): Likewise.
19722
19723 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
19724 maximum unsigned long value when an overflow is detected.
19725 (grub_strtoull): New function.
19726 (grub_divmod64): Likewise.
19727 (grub_lltoa): use grub_divmod64.
19728
19729 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
19730 grub_disk_addr_t.
19731 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
19732 the pointer to next character. Use grub_strtoull instead of
19733 grub_strtoul.
19734 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
19735 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
19736 respectively.
19737
fe6b695a 19738 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 19739 return value is signed.
19740 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
19741 test if OFFSET is less than zero, as OFFSET is unsigned now.
19742
19743 * kern/disk.c (struct grub_disk_cache): Change the type of
19744 "sector" to grub_disk_addr_t.
19745 (grub_disk_cache_get_index): Change the type of SECTOR to
19746 grub_disk_addr_t. Calculate the hash with SECTOR casted to
19747 unsigned after shifting.
19748 (grub_disk_cache_invalidate): Change the type of SECTOR to
19749 grub_disk_addr_t.
19750 (grub_disk_cache_unlock): Likewise.
19751 (grub_disk_cache_store): Likewise.
19752 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
19753 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
19754 grub_disk_addr_t and grub_uint64_t, respectively.
19755 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
19756 body, as the value of OFFSET is tweaked by
19757 grub_disk_check_range. Change the types of START_SECTOR, LEN and
19758 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
19759 respectively.
19760 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
19761 body, as the value of OFFSET is tweaked by
19762 grub_disk_check_range. Change the types of LEN and N to
19763 grub_size_t.
19764
19765 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
19766 and "saved_offset" to grub_off_t.
19767 (test_header): Cast BUF to char *.
19768 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
19769 to char *.
19770 (grub_gzio_read): Change the types of OFFSET and SIZE to
19771 grub_off_t and grub_size_t, respectively.
19772
19773 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
19774 Removed.
19775 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
19776 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
19777 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
19778 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
19779 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
19780
19781 * include/grub/types.h (grub_off_t): Unconditionally set to
19782 grub_uint64_t.
19783 (grub_disk_addr_t): Changed to grub_uint64_t.
19784
19785 * include/grub/partition.h (struct grub_partition): Change the
19786 types of "start", "len" and "offset" to grub_disk_addr_t,
19787 grub_uint64_t and grub_disk_addr_t, respectively.
19788 (grub_partition_get_start): Return grub_disk_addr_t.
19789 (grub_partition_get_len): Return grub_uint64_t.
19790
19791 * include/grub/misc.h (grub_strtoull): New prototype.
19792 (grub_divmod64): Likewise.
19793
19794 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
19795 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
19796 grub_off_t, respectively.
19797 All callers and references changed.
19798
19799 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
19800 grub_size_t in "read".
19801 All callers and references changed.
19802
19803 * include/grub/file.h (struct grub_file): Change the types of
19804 "offset" and "size" to grub_off_t and grub_off_t,
19805 respectively. Change the type of SECTOR to grub_disk_addr_t in
19806 "read_hook".
19807 (grub_file_read): Change the type of LEN to grub_size_t.
19808 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
19809 grub_off_t.
19810 (grub_file_size): Return grub_off_t.
19811 (grub_file_tell): Likewise.
19812 All callers and references changed.
19813
19814 * include/grub/disk.h (struct grub_disk_dev): Change the types of
19815 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
19816 "write".
19817 (struct grub_disk): Change the type of "total_sectors" to
19818 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 19819 "read_hook".
524a1e6a 19820 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
19821 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
19822 (grub_disk_write): Likewise.
19823 All callers and references changed.
19824
19825 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
19826 char * for grub_strncmp to silence gcc.
19827 (grub_iso9660_mount): Likewise.
19828 (grub_iso9660_mount): Likewise.
19829 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
19830 return statement.
19831 (grub_iso9660_iterate_dir): Likewise.
19832 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
19833
19834 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
19835 LEN to grub_disk_addr_t and grub_size_t, respectively.
19836
19837 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
19838
19839 * fs/jfs.c (grub_jfs_read_file): Likewise.
19840
19841 * fs/minix.c (grub_jfs_read_file): Likewise.
19842
19843 * fs/sfs.c (grub_jfs_read_file): Likewise.
19844
19845 * fs/ufs.c (grub_jfs_read_file): Likewise.
19846
19847 * fs/xfs.c (grub_jfs_read_file): Likewise.
19848
19849 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
19850 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
19851 respectively.
19852
19853 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
19854 BLKNR to -1 instead of returning GRUB_ERRNO.
19855 (grub_ext2_read_file): Change the types of SECTOR and
19856 LEN to grub_disk_addr_t and grub_size_t, respectively.
19857
19858 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
19859 LEN to grub_disk_addr_t and grub_size_t, respectively.
19860
19861 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
19862 grub_file_read.
19863
19864 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
19865 string. Do not cast SECTOR explicitly.
19866
19867 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
19868 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
19869 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
19870 grub_disk_addr_t and grub_size_t, respectively. If the sector is
19871 over 2TB and LBA mode is not supported, raise an error.
19872 (get_safe_sectors): New function.
19873 (grub_biosdisk_read): Use get_safe_sectors.
19874 (grub_biosdisk_write): Likewise.
19875
19876 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
19877 (grub_efidisk_write): Likewise.
19878
19879 * disk/loopback.c (delete_loopback): Cosmetic changes.
19880 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
19881 correctly.
19882 (grub_loopback_open): Likewise.
19883 (grub_loopback_read): Likewise. Also, change the type of POS to
19884 grub_off_t, and fix the usage of grub_memset.
19885
19886 * commands/i386/pc/play.c: Include grub/machine/time.h.
19887
19888 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
19889 print FILE->SIZE.
19890
19891 * commands/configfile.c: Include grub/env.h.
19892
19893 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
19894 GRUB_ERRNO directly instead. Change the type of POS to
19895 grub_off_t. Follow the coding standard.
19896
19897 * commands/blocklist.c: Include grub/partition.h.
19898 (grub_cmd_blocklist): Return an error if the underlying device is
19899 not a disk. Take the starting sector of a partition into account,
19900 if a partition is used.
19901
19902 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
19903 a length field.
19904 (lba_mode): Support 64-bit addresses.
19905 (chs_mode): Likewise.
19906 (copy_buffer): Adapted to the new offsets of a length field and a
19907 segment field.
19908 (blocklist_default_start): Allocate 64-bit space.
19909
19910 * boot/i386/pc/boot.S (force_lba): Removed.
19911 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 19912 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 19913 space.
19914 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
19915 is useless.
19916 (lba_mode): Refactored to support a 64-bit address. More size
19917 optimization.
19918 (setup_sectors): Likewise.
19919
53af98ad 199202006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
19921
19922 * DISTLIST: Added include/grub/i386/linux.h. Removed
19923 include/grub/i386/pc/linux.h
19924
19925 * configure.ac (AC_INIT): Bumped to 1.94.
19926
19927 * config.guess: Updated from gnulib.
19928 * config.sub: Likewise.
19929 * install-sh: Likewise.
19930 * mkinstalldirs: Likewise.
19931
b4c1940a 199322006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
19933
19934 * conf/common.rmk (grub_modules_init.lst): Depended on
19935 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
19936 MODSRCFILES.
19937
19938 * genmk.rb (PModule::rule): Reverted the previous change.
19939
cfca1cfd 199402006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
19941
19942 * conf/common.rmk (grub_modules_init.lst): Depends on
19943 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
19944 that the target does not exist before producing.
19945 (grub_modules_init.h): Remove the target before generating.
19946 (grub_emu_init.c): Likewise.
19947
19948 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
19949
aa6d7826 199502006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
19951
19952 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
19953 for the target-specific tests. Make sure that we also have the
19954 up-to-date target variables for those tests.
19955
26c607b9 199562006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
19957
19958 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
19959 (PModule::rule): Likewise.
19960
0162321a 199612006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
19962
19963 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
19964 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
19965 target-specific flags should be prefixed.
19966 (PModule::rule): Likewise.
19967
6c826348 199682006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
19969
19970 * configure.ac (CMP): Check if cmp is available explicitly.
19971
b977bf01 199722006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
19973
19974 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
19975 (target_cpu): New variable.
19976 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 19977
b977bf01 19978 * util/i386/pc/grub-install.in (host_cpu): Removed.
19979 (target_cpu): New variable.
19980 (pkglibdir): Use target_cpu instead of host_cpu.
19981
19982 * util/genmoddep.c: Removed.
f19dbdb7 19983
b977bf01 19984 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
19985 instead of GRUB_HOST_SIZEOF_VOID_P.
19986 * kern/dl.c: Likewise.
19987
19988 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
19989 ...
19990 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
19991 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
19992 (GRUB_TARGET_SIZEOF_LONG): ... this.
19993 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
19994 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
19995 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
19996 to ...
19997 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
19998 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
19999 (GRUB_TARGET_SIZEOF_LONG): ... this.
20000 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
20001 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
20002 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
20003 to ...
20004 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
20005 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
20006 (GRUB_TARGET_SIZEOF_LONG): ... this.
20007 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
20008 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
20009
20010 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
20011 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
20012 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
20013 instead of GRUB_HOST_SIZEOF_LONG.
20014 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
20015 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
20016 GRUB_CPU_WORDS_BIGENDIAN.
20017 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
20018 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
20019 grub_host_ssize_t.
20020
20021 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
20022 (genmoddep_SOURCES): Likewise.
20023 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
20024 (genmoddep_SOURCES): Likewise.
20025 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
20026 (genmoddep_SOURCES): Likewise.
20027 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
20028 Likewise.
20029 (genmoddep_SOURCES): Likewise.
20030
20031 * genmoddep.awk: New file.
20032
20033 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
20034 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
20035 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
20036 (PModule::rule): Likewise.
20037 (Program::rule): Likewise.
20038 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
20039 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
20040 respectively.
20041
20042 * configure.ac: Rewritten intensively to use host and target
20043 instead of build and host, respectively.
20044
20045 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
20046 (host_cpu): Removed.
20047 (target_cpu): New variable.
20048 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
20049 (BUILD_CC): Removed.
20050 (BUILD_CFLAGS): Likewise.
20051 (BUILD_CPPFLAGS): Likewise.
20052 (TARGET_CC): New variable.
20053 (TARGET_CFLAGS): Likewise.
20054 (TARGET_CPPFLAGS): Likewise.
20055 (TARGET_LDFLAGS): Likewise.
20056 (AWK): Likewise.
20057 (include): Use target_cpu instead of host_cpu.
20058 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 20059
b977bf01 20060 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
20061
f09771a1 200622006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
20063
20064 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
20065 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
20066 field 'false' to 'exec_on_false'.
20067 (grub_script_create_cmdif): Renamed argument names to reflect above
20068 changes.
20069
20070 * normal/execute.c (grub_script_execute_cmdif): Likewise.
20071
20072 * normal/script.c (grub_script_create_cmdif): Likewise.
20073
118f4fb3 200742006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
20075
20076 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
20077 top.
20078 (grub_hfsplus_btree_recptr): Likewise.
20079 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
20080 FILEBLOCK both to pass a block number and store next block
20081 number.
20082 (grub_hfsplus_read_block): Rewritten heavily to support an extent
20083 overflow file correctly. Specify errors appropriately, because
20084 fshelp expects that GRUB_ERRNO is set when fails. Reuse
20085 grub_hfsplus_btree_recptr to get the pointer to a found key.
20086 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
20087 is found.
20088
20089 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
20090 linux.mod.
20091 (_linux_mod_SOURCES): New variable.
20092 (_linux_mod_CFLAGS): Likewise.
20093 (_linux_mod_LDFLAGS): Likewise.
20094 (linux_mod_SOURCES): Likewise.
20095 (linux_mod_CFLAGS): Likewise.
20096 (linux_mod_LDFLAGS): Likewise.
20097
20098 * DISTLIST: Added loader/i386/efi/linux.c,
20099 loader/i386/efi/linux_normal.c and
20100 include/grub/i386/efi/loader.h.
20101
20102 * loader/i386/efi/linux.c: New file.
20103 * loader/i386/efi/linux_normal.c: Likewise.
20104 * include/grub/i386/efi/loader.h: Likewise.
20105
89a7d726 201062006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
20107
20108 * commands/blocklist.c: New file.
20109
20110 * DISTLIST: Added commands/blocklist.c.
20111
20112 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 20113 color for the background, and a darker color for the foreground.
89a7d726 20114 (grub_console_checkkey): Return READ_KEY.
20115 (grub_console_cls): Set the background to
20116 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
20117
20118 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
20119
20120 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
20121 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
20122
20123 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
20124 prototype.
20125
20126 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
20127 BG. The spec is wrong again.
20128
20129 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
20130 prototype.
20131 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
20132
20133 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
20134 commands/blocklist.c.
20135 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 20136
89a7d726 20137 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
20138 (blocklist_mod_SOURCES): New variable.
20139 (blocklist_mod_CFLAGS): Likewise.
20140 (blocklist_mod_LDFLAGS): Likewise.
20141
75c8f258 201422006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
20143
20144 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
20145 duplication.
20146 (lba_mode): Use %eax more intensively to reduce the code size.
20147
da2eb181 201482006-05-20 Marco Gerards <marco@gnu.org>
20149
20150 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
20151
20152 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
20153 for `menuentry'.
20154 (script): Accept leading newlines.
20155 (newlines): New rule to describe 0 or more newlines.
20156 (commands): Accept `command' with trailing newline. Fixed the
20157 order in which arguments were passed to `grub_script_add_cmd'.
20158 Accept commands separated by newlines.
20159 (function): Changed to accept newlines.
20160 (menuentry) Rewritten.
20161
20162 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
20163 front of the list, instead of to the end.
20164
577b4050 201652006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
20166
20167 * util/i386/pc/grub-install.in (bindir): New variable.
20168 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
20169 Shaver <lbgwjl@gmail.com>.
20170
0d6e1189 201712006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
20172
20173 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
20174 grub/machine/linux.h
20175 * loader/i386/pc/linux.c: Likewise.
20176
20177 * include/grub/i386/pc/linux.h: Moved to ...
20178 * include/grub/i386/linux.h: ... here.
20179
20180 * include/grub/i386/linux.h (struct linux_kernel_params): New
20181 struct.
f19dbdb7 20182
31b86e9f 201832006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
20184
20185 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
20186 checking.
20187 (grub_video_vbe_blit_glyph): Likewise.
20188 (grub_video_vbe_blit_bitmap): Likewise.
20189 (grub_video_vbe_blit_render_target): Likewise.
20190
83b984de 201912006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
20192
20193 * configure.ac (--with-platform): Properly quote the square
20194 brackets.
20195
5f0413bd 201962006-05-08 Marco Gerards <marco@gnu.org>
20197
20198 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
20199 this...
20200 (kernel_elf_HEADERS): ...to this. Updated all users.
20201 (grubof_symlist.c): Renamed from this...
20202 (kernel_elf_symlist.c): ...to this. Updated all users.
20203 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
20204 (grubof_SOURCES): Renamed from this...
20205 (kernel_elf_SOURCES): ...to this.
20206 (grubof_HEADERS): Renamed from this...
20207 (kernel_elf_HEADERS): ...to this.
20208 (grubof_CFLAGS): Renamed from this...
20209 (kernel_elf_CFLAGS): ...to this.
20210 (grubof_ASFLAGS): Renamed from this...
20211 (kernel_elf_ASFLAGS): ...to this.
20212 (grubof_LDFLAGS): Renamed from this...
20213 (kernel_elf_LDFLAGS): ...to this.
20214
20215 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
20216 this...
20217 (kernel_elf_HEADERS): ...to this. Updated all users.
20218 (grubof_symlist.c): Renamed from this...
20219 (kernel_elf_symlist.c): ...to this. Updated all users.
20220 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
20221 (grubof_SOURCES): Renamed from this...
20222 (kernel_elf_SOURCES): ...to this.
20223 (grubof_HEADERS): Renamed from this...
20224 (kernel_elf_HEADERS): ...to this.
20225 (grubof_CFLAGS): Renamed from this...
20226 (kernel_elf_CFLAGS): ...to this.
20227 (grubof_ASFLAGS): Renamed from this...
20228 (kernel_elf_ASFLAGS): ...to this.
20229 (grubof_LDFLAGS): Renamed from this...
20230 (kernel_elf_LDFLAGS): ...to this.
20231
20232 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
20233 `kernel.elf' instead of `grubof'.
20234
05568c2e 202352006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
20236
20237 Add --with-platform to configure. Use pkglibdir instead of
20238 pkgdatadir. This is reported by Roger Leigh.
20239
20240 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
20241 (host_vendor): Likewise.
20242 (host_os): Likewise.
20243 (pkgdatadir): Likewise.
20244 (platform): New variable.
20245 (pkglibdir): Likewise.
20246 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 20247
05568c2e 20248 * util/i386/pc/grub-install.in (datadir): Removed.
20249 (host_vendor): Likewise.
20250 (host_os): Likewise.
20251 (pkgdatadir): Likewise.
20252 (platform): New variable.
20253 (pkglibdir): Likewise.
20254 Use PKGLIBDIR instead of PKGDATADIR.
20255
20256 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
20257 instead of GRUB_DATADIR.
20258 (main): Likewise.
20259 * util/i386/pc/grub-mkimage.c (usage): Likewise.
20260 (main): Likewise.
20261 * util/i386/efi/grub-mkimage.c (usage): Likewise.
20262 (main): Likewise.
20263
20264 * configure.ac (--with-platform): New option.
20265 Use PLATFORM instead of HOST_VENDOR to specify a platform.
20266
20267 * Makefile.in: Include a makefile based on PLATFORM instead of
20268 HOST_VENDOR.
20269 (pkgdatadir): Not appended by the machine type.
20270 (pkglibdir): Appended by the machine type.
20271 (host_vendor): Removed.
20272 (platform): New variable.
20273 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
20274 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
20275 (uninstall): Likewise.
20276
4e93851c 202772006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
20278
20279 Use the environment context in the menu. Remove the commands
20280 "default" and "timeout", and use variables instead.
f19dbdb7 20281
4e93851c 20282 * normal/menu.c: Include grub/env.h.
20283 (print_entry): Cast TITLE to silence gcc.
20284 (get_timeout): New function.
20285 (set_timeout): Likewise.
20286 (get_entry_number): Likewise.
20287 (run_menu): Use a default entry, a fallback entry and a timeout
20288 in the environment variables "default", "fallback" and
20289 "timeout". Also, tweak the default entry if it is not within the
20290 current menu entries.
20291 (grub_menu_run): Use a fallback entry in the environment variable
20292 "fallback".
20293
20294 * normal/main.c (read_config_file): Do not initialize
20295 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
20296 NEWMENU->TIMEOUT.
20297 (grub_normal_execute): Use a data slot to store the menu.
20298
20299 * include/grub/normal.h (struct grub_menu): Removed default_entry,
20300 fallback_entry and timeout.
20301 (struct grub_menu_list): Removed.
20302 (grub_menu_list_t): Likewise.
20303 (struct grub_context): Likewise.
20304 (grub_context_t): Likewise.
20305 (grub_context_get): Likewise.
20306 (grub_context_get_current_menu): Likewise.
20307 (grub_context_push_menu): Likewise.
20308 (grub_context_pop_menu): Likewise.
20309 (grub_default_init): Likewise.
20310 (grub_default_fini): Likewise.
20311 (grub_timeout_init): Likewise.
20312 (grub_timeout_fini): Likewise.
20313
20314 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
20315 and timeout.mod.
20316 (normal_mod_SOURCES): Removed normal/context.c.
20317
20318 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
20319 commands/default.c, commands/timeout.c and normal/context.c.
20320 (normal_mod_SOURCES): Removed normal/context.c.
20321
20322 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
20323 commands/timeout.c and normal/context.c.
20324 (normal_mod_SOURCES): Removed normal/context.c.
20325
20326 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
20327 commands/default.c, commands/timeout.c and normal/context.c.
20328 (normal_mod_SOURCES): Removed normal/context.c.
20329
20330 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
20331 timeout.mod.
20332 (default_mod_SOURCES): Removed.
20333 (default_mod_CFLAGS): Likewise.
20334 (default_mod_LDFLAGS): Likewise.
20335 (timeout_mod_SOURCES): Removed.
20336 (timeout_mod_CFLAGS): Likewise.
20337 (timeout_mod_LDFLAGS): Likewise.
20338
20339 * DISTLIST: Removed commands/default.c, commands/timeout.c and
20340 normal/context.c.
20341
20342 * commands/default.c: Removed.
20343 * commands/timeout.c: Likewise.
20344 * normal/context.c: Likewise.
20345
1eb9cc1d 203462006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
20347
20348 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
20349
385bd9c1 203502006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
20351
20352 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
20353 "next" to "prev" for readability.
20354 (struct grub_env_sorted_var): New struct.
20355 (grub_env_context): Renamed to ...
20356 (initial_context): ... this.
20357 (grub_env_var_context): Renamed to ...
20358 (current_context): ... this.
20359 (grub_env_find): Look only at CURRENT_CONTEXT.
20360 (grub_env_context_open): Rewritten to copy exported variables from
20361 previous context.
20362 (grub_env_context_close): Rewritten according to the new
20363 scheme. Also, add an assertion to prevent the initial context from
20364 removed.
20365 (grub_env_insert): Removed the code for the sorted list.
20366 (grub_env_remove): Likewise.
20367 (grub_env_export): Simply mark the variable with
20368 GRUB_ENV_VAR_GLOBAL.
20369 (grub_env_set): A cosmetic change for naming consistency.
20370 (grub_env_get): Likewise.
20371 (grub_env_unset): Likewise.
20372 (grub_env_iterate): Rewritten to sort variables within this
20373 function.
20374 (grub_register_variable_hook): Fixed for naming consistency. Call
20375 grub_env_find again, only if NAME is not found at the first time.
20376 (mangle_data_slot_name): New function.
20377 (grub_env_set_data_slot): Likewise.
20378 (grub_env_get_data_slot): Likewise.
20379 (grub_env_unset_data_slot): Likewise.
20380
20381 * include/grub/env.h (grub_env_var_type): New enum.
20382 (GRUB_ENV_VAR_LOCAL): New constant.
20383 (GRUB_ENV_VAR_GLOBAL): Likewise.
20384 (GRUB_ENV_VAR_DATA): Likewise.
20385 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
20386 "type".
20387 (grub_env_set): Replace VAR with NAME for consistency.
20388 (grub_register_variable_hook): Likewise.
20389 (grub_env_export): Specify the name of the argument.
20390 (grub_env_set_data_slot): New prototype.
20391 (grub_env_get_data_slot): Likewise.
20392 (grub_env_unset_data_slot): Likewise.
20393
7f362539 203942006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
20395
20396 Extend the loader so that GRUB can accept a loader which comes
20397 back to GRUB when a loaded image exits. Also, this change adds
20398 support for a chainloader on EFI.
f19dbdb7 20399
7f362539 20400 * term/efi/console.c: Include grub/misc.h.
20401 (grub_console_checkkey): Display a scan code on the top for
20402 debugging. This will be removed once the EFI port gets stable.
20403 Correct the scan code mapping.
20404
20405 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
20406 allocate memory from larger regions, in order to reduce the number
20407 of allocated regions. Otherwise, the MacOSX loader panics.
20408 (filter_memory_map): Avoid less than 1MB for compatibility with
20409 other loaders.
20410 (add_memory_regions): Allocate from the tail of a region, if
20411 possible, to avoid allocating a region near to 1MB, for the MacOSX
20412 loader.
20413
20414 * kern/efi/init.c (grub_efi_set_prefix): Specify
20415 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
20416
20417 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
20418 argument IMAGE_HANDLE and specify it to get a loaded image.
20419 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
20420 grub_efi_get_loaded_image.
fe6b695a 20421 (grub_efi_get_filename): Divide the length by the size of
7f362539 20422 grub_efi_char16_t.
20423 (grub_efi_get_device_path): New function.
20424 (grub_efi_print_device_path): Print End Device Path nodes. Divide
20425 the length by the size of grub_efi_char16_t for a file path device
20426 path node.
20427
20428 * kern/loader.c (grub_loader_noreturn): New variable.
20429 (grub_loader_set): Accept a new argument NORETURN. Set
20430 GRUB_LOADER_NORETURN to NORETURN.
20431 All callers changed.
20432 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
20433 grub_machine_fini.
20434
20435 * include/grub/efi/efi.h (grub_efi_get_device_path): New
20436 prototype.
20437 (grub_efi_get_loaded_image): Take an argument to specify an image
20438 handle.
20439
20440 * include/grub/loader.h (grub_loader_set): Added one more argument
20441 NORETURN.
20442
20443 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
20444 instead of grub_efi_open_protocol.
20445 (grub_efidisk_get_device_name): Likewise.
20446 (grub_efidisk_close): Print a newline.
20447 (grub_efidisk_get_device_handle): Fixed to use
20448 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
20449 GRUB_EFI_DEVICE_PATH_TYPE.
20450
20451 * disk/efi/efidisk.c (device_path_guid): Moved to ...
20452 * kern/efi/efi.c (device_path_guid): ... here.
20453
20454 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
20455 chain.mod.
20456 (kernel_mod_HEADERS): Added efi/disk.h.
20457 (_chain_mod_SOURCES): New variable.
20458 (_chain_mod_CFLAGS): Likewise.
20459 (_chain_mod_LDFLAGS): Likewise.
20460 (chain_mod_SOURCES): Likewise.
20461 (chain_mod_CFLAGS): Likewise.
20462 (chain_mod_LDFLAGS): Likewise.
20463
20464 * DISTLIST: Added include/grub/efi/chainloader.h,
20465 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
20466
20467 * include/grub/efi/chainloader.h: New file.
20468 * loader/efi/chainloader.c: Likewise.
20469 * loader/efi/chainloader_normal.c: Likewise.
20470
c0111d6e 204712006-04-30 Marco Gerards <marco@gnu.org>
20472
20473 * commands/configfile.c (grub_cmd_source): New function.
20474 (GRUB_MOD_INIT): Register the commands `source' and `.'.
20475 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
20476
df5341da 204772006-04-30 Marco Gerards <marco@gnu.org>
20478
20479 * normal/execute.c (grub_script_execute_cmd): Change the return
20480 type to `grub_err_t'. Correctly return the error.
20481 (grub_script_execute_cmdline): In case a command line is not a
20482 command or a function, try to interpret it as an assignment.
20483
f85934bd 204842006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
20485
20486 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
20487 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
20488 skip a node whose name is obviously invalid as UTF-16,
20489 i.e. contains a NUL character. Stop the iteration when the last
20490 directory entry is found. Instead of using the return value of
20491 grub_hfsplus_btree_iterate_node, store the value in RET and use
20492 it, because the iterator can be stopped by the last directory
20493 entry.
20494
8f8a2cf8 204952006-04-30 Marco Gerards <marco@gnu.org>
20496
20497 * include/grub/env.h (grub_env_export): New prototype. Reported
20498 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
20499
a27e84ce 205002006-04-30 Marco Gerards <marco@gnu.org>
20501
20502 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
20503 size of the extents in a catalog file record.
20504
eaef0553 205052006-04-29 Marco Gerards <marco@gnu.org>
20506
20507 * commands/configfile.c (grub_cmd_configfile): Execute the
20508 configfile within its own context.
20509
20510 * include/grub/env.h (grub_env_context_open): New prototype.
20511 (grub_env_context_close): Likewise.
20512
20513 * kern/env.c (grub_env): Removed.
20514 (grub_env_sorted): Likewise.
20515 (grub_env_context): New variable.
20516 (grub_env_var_context): Likewise.
20517 (grub_env_find): Search both the active context and the global
20518 context.
20519 (grub_env_context_open): New function.
20520 (grub_env_context_close): Likewise.
20521 (grub_env_insert): Likewise.
20522 (grub_env_remove): Likewise.
20523 (grub_env_export): Likewise.
20524 (grub_env_set): Changed to use helper functions to avoid code
20525 duplication.
20526 (grub_env_iterate): Rewritten so both the current context and the
20527 global context are being used.
20528
20529 * normal/command.c (export_command): New function.
20530 (grub_command_init): Register the `export' function.
20531
7b455f4d 205322006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
20533
20534 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
20535 explicitly to suppress gcc's warnings.
20536 * fs/fat.c (grub_fat_find_dir): Likewise.
20537 (grub_fat_label): Likewise.
20538 * fs/xfs.c (grub_xfs_read_inode): Likewise.
20539 (grub_xfs_mount): Likewise.
20540 (grub_xfs_label): Likewise.
20541 * fs/affs.c (grub_affs_mount): Likewise.
20542 (grub_affs_label): Likewise.
20543 (grub_affs_iterate_dir): Likewise.
20544 * fs/sfs.c (grub_sfs_mount): Likewise.
20545 (grub_sfs_iterate_dir): Likewise.
20546 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
20547 * fs/hfs.c (grub_hfs_mount): Likewise.
20548 (grub_hfs_cmp_catkeys): Likewise.
20549 (grub_hfs_find_dir): Likewise.
20550 (grub_hfs_dir): Likewise.
20551 (grub_hfs_label): Likewise.
20552 * fs/jfs.c (grub_jfs_mount): Likewise.
20553 (grub_jfs_opendir): Likewise.
20554 (grub_jfs_getent): Likewise.
20555 (grub_jfs_lookup_symlink): Likewise.
20556 (grub_jfs_label): Likewise.
20557 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
20558 (grub_hfsplus_iterate_dir): Likewise.
20559 (grub_hfsplus_btree_iterate_node): Made static.
20560
20561 * util/grub-emu.c (prefix): New variable.
20562 (grub_machine_set_prefix): New function.
20563 (main): Do not set the environment variable "prefix" here. Only
20564 set PREFIX, which is used later by grub_machine_set_prefix.
20565
20566 * include/grub/video.h: Do not include grub/symbol.h.
20567 (grub_video_register): Not exported. This symbol is not defined in
20568 the kernel.
20569 (grub_video_unregister): Likewise.
20570 (grub_video_iterate): Likewise.
20571 (grub_video_setup): Likewise.
20572 (grub_video_restore): Likewise.
20573 (grub_video_get_info): Likewise.
20574 (grub_video_get_blit_format): Likewise.
20575 (grub_video_set_palette): Likewise.
20576 (grub_video_get_palette): Likewise.
20577 (grub_video_set_viewport): Likewise.
20578 (grub_video_get_viewport): Likewise.
20579 (grub_video_map_color): Likewise.
20580 (grub_video_map_rgb): Likewise.
20581 (grub_video_map_rgba): Likewise.
20582 (grub_video_fill_rect): Likewise.
20583 (grub_video_blit_glyph): Likewise.
20584 (grub_video_blit_bitmap): Likewise.
20585 (grub_video_blit_render_target): Likewise.
20586 (grub_video_scroll): Likewise.
20587 (grub_video_swap_buffers): Likewise.
20588 (grub_video_create_render_target): Likewise.
20589 (grub_video_delete_render_target): Likewise.
20590 (grub_video_set_active_render_target): Likewise.
20591
20592 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
20593 Undefined.
20594 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
20595
20596 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
20597 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
20598 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
20599 instead of $(srcdir)/genkernsyms.sh.
20600
20601 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
20602 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
20603 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
20604 instead of $(srcdir)/genkernsyms.sh.
20605
20606 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
20607 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
20608 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
20609 instead of $(srcdir)/genkernsyms.sh.
20610
20611 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
20612 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
20613 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
20614 instead of $(srcdir)/genkernsyms.sh.
20615
20616 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
20617 genkernsyms.sh.
20618
20619 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
20620 genkernsyms.sh.
20621 (gensymlist.sh): New target.
20622 (genkernsyms.sh): Likewise.
20623
20624 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
20625 genkernsyms.sh.in and gensymlist.sh.in.
20626
20627 * genkernsyms.sh: Removed.
20628 * gensymlist.sh: Likewise.
f19dbdb7 20629
7b455f4d 20630 * genkernsyms.sh.in: New file.
20631 * gensymlist.sh.in: Likewise.
20632
1885bb27 206332006-04-25 Hollis Blanchard <hollis@penguinppc.org>
20634
20635 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
20636 clobber "prefix", since we may have already set it manually.
20637
71538dff 206382006-04-25 Hollis Blanchard <hollis@penguinppc.org>
20639
20640 * kern/misc.c (abort): New alias for grub_abort.
20641
2965c7cc 206422006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
20643
20644 A new machine-specific function "grub_machine_set_prefix" is
20645 defined. This is called after loading modules, so that a prefix
20646 initialization can use modules. Also, this change adds an
20647 intensive debugging feature for the memory manager via the
20648 configure option "--enable-mm-debug".
f19dbdb7 20649
2965c7cc 20650 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
20651 PART.LEN.
20652
20653 * kern/sparc64/ieee1275/init.c (abort): Removed.
20654 (grub_stop): Likewise.
20655 (grub_exit): New function.
20656 (grub_set_prefix): Renamed to ...
20657 (grub_machine_set_prefix): ... this.
20658 (grub_machine_init): Do not call grub_set_prefix.
20659
20660 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
20661 (grub_machine_set_prefix): ... this.
20662 (grub_machine_init): Do not call grub_set_prefix.
20663
20664 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
20665 (grub_machine_init): Do not set the prefix here.
20666
20667 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
20668
20669 * kern/efi/init.c: Include grub/mm.h.
20670 (grub_efi_set_prefix): New function.
20671
20672 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
20673 (grub_efi_get_filename): New function.
20674 (grub_print_device_path): Renamed to ...
20675 (grub_efi_print_device_path): ... this.
20676
20677 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
20678 [MM_DEBUG] (grub_realloc): Likewise.
20679 [MM_DEBUG] (grub_free): Likewise.
20680 [MM_DEBUG] (grub_memalign): Likewise.
20681 [MM_DEBUG] (grub_mm_debug): New variable.
20682 [MM_DEBUG] (grub_debug_malloc): New function.
20683 [MM_DEBUG] (grub_debug_free): New function.
20684 [MM_DEBUG] (grub_debug_realloc): New function.
20685 [MM_DEBUG] (grub_debug_memalign): New function.
20686
20687 * kern/misc.c (grub_abort): Print a newline to distinguish
20688 the message.
20689
20690 * kern/main.c (grub_main): Call grub_machine_set_prefix and
20691 grub_set_root_dev after loading modules. This is necessary when
20692 setting a prefix depends on modules.
20693
20694 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
20695 (grub_efi_print_device_path): ... this.
20696 (grub_efi_get_filename): New prototype.
20697 (grub_efi_set_prefix): Likewise.
20698
20699 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
20700 and grub/disk.h.
20701 (grub_efidisk_get_device_handle): New prototype.
20702 (grub_efidisk_get_device_name): Likewise.
20703
20704 * include/grub/mm.h: Include config.h.
20705 (MM_DEBUG): Removed.
20706 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
20707 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
20708 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
20709 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
20710 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
20711 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
20712 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
20713 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
20714 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
20715
20716 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
20717
20718 * disk/efi/efidisk.c: Include grub/partition.h.
20719 (iterate_child_devices): New function.
20720 (add_device): First, compare only last device path nodes, so that
20721 devices are sorted by the types.
20722 (grub_efidisk_get_device_handle): New function.
20723 (grub_efidisk_get_device_name): Likewise.
20724
20725 * configure.ac (--enable-mm-debug): New option to enable the
20726 memory manager debugging feature. This makes the binary much
20727 bigger, so is disabled by default.
20728
9cacaa17 207292006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
20730
20731 Use grub_abort instead of grub_stop, and grub_exit must be
20732 define in each architecture now. Also, this change adds support
20733 for EFI disks.
f19dbdb7 20734
9cacaa17 20735 * util/i386/pc/grub-probefs.c: Include grub/term.h.
20736 (grub_getkey): New function.
20737 (grub_term_get_current): Likewise.
20738
20739 * util/i386/pc/grub-setup.c: Include grub/term.h.
20740 (grub_getkey): New function.
20741 (grub_term_get_current): Likewise.
20742
20743 * util/misc.c (grub_stop): Renamed to ...
20744 (grub_exit): ... this.
20745
20746 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
20747 (grub_exit): ... this.
20748 (grub_machine_init): Use grub_abort instead of abort.
20749 (grub_stop): Removed.
20750
20751 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
20752 abort.
20753
20754 * kern/i386/pc/startup.S (grub_exit): New function.
20755 (cold_reboot): New label.
20756
20757 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
20758 (grub_efi_init): Call grub_efidisk_init.
20759 (grub_efi_fini): Call grub_efidisk_fini.
20760
20761 * kern/efi/efi.c: Include grub/mm.h.
20762 (grub_efi_console_control_guid): Renamed to ...
20763 (console_control_guid): ... this.
20764 (grub_efi_loaded_image_guid): Renamed to ...
20765 (loaded_image_guid): ... this.
20766 (grub_efi_locate_handle): New function.
20767 (grub_efi_open_protocol): Likewise.
20768 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
20769 GRUB_EFI_CONSOLE_CONTROL_GUID.
20770 (grub_efi_exit): Removed.
20771 (grub_stop): Likewise.
20772 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
20773 (grub_exit): New function.
20774 (grub_print_device_path): Likewise.
20775
20776 * kern/rescue.c (grub_rescue_cmd_exit): New function.
20777 (grub_enter_rescue_mode): Register "exit".
20778
20779 * kern/misc.c (grub_real_dprintf): A cosmetic change.
20780 (grub_abort): New function.
20781
20782 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
20783
20784 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
20785
20786 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
20787
20788 * include/grub/efi/efi.h (grub_efi_exit): Removed.
20789 (grub_print_device_path): New prototype.
20790 (grub_efi_locate_handle): Likewise.
20791 (grub_efi_open_protocol): Likewise.
20792
20793 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
20794 * disk/efi/efidisk.c: Likewise.
20795
20796 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
20797
20798 * include/grub/efi/console_control.h
20799 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
20800
20801 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
20802 last 8 bytes as an array.
20803 (GRUB_EFI_DISK_IO_GUID): New macro.
20804 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
20805 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
20806 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
20807 grub_uint8_t.
20808 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
20809 (struct grub_efi_device_path): Rename the member "sub_type" to
20810 "subtype".
20811 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
20812 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
20813 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
20814 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
20815 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
20816 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
20817 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
20818 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
20819 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
20820 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
20821 (struct grub_efi_pci_device_path): New structure.
20822 (grub_efi_pci_device_path_t): New type.
20823 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
20824 (struct grub_efi_pccard_device_path): New structure.
20825 (grub_efi_pccard_device_path_t): New type.
20826 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
20827 (struct grub_efi_memory_mapped_device_path): New structure.
20828 (grub_efi_memory_mapped_device_path_t): New type.
20829 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
20830 (struct grub_efi_vendor_device_path): New structure.
20831 (grub_efi_vendor_device_path_t): New type.
20832 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
20833 (struct grub_efi_controller_device_path): New structure.
20834 (grub_efi_controller_device_path_t): New type.
20835 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
20836 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
20837 (struct grub_efi_acpi_device_path): New structure.
20838 (grub_efi_acpi_device_path_t): New type.
20839 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
20840 (struct grub_efi_expanded_acpi_device_path): New structure.
20841 (grub_efi_expanded_acpi_device_path_t): New type.
20842 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
20843 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
20844 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
20845 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
20846 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
20847 (struct grub_efi_atapi_device_path): New structure.
20848 (grub_efi_atapi_device_path_t): New type.
20849 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
20850 (struct grub_efi_fibre_channel_device_path): New structure.
20851 (grub_efi_fibre_channel_device_path_t): New type.
20852 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
20853 (struct grub_efi_1394_device_path): New structure.
20854 (grub_efi_1394_device_path_t): New type.
20855 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
20856 (struct grub_efi_usb_device_path): New structure.
20857 (grub_efi_usb_device_path_t): New type.
20858 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
20859 (struct grub_efi_usb_class_device_path): New structure.
20860 (grub_efi_usb_class_device_path_t): New type.
20861 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
20862 (struct grub_efi_i2o_device_path): New structure.
20863 (grub_efi_i2o_device_path_t): New type.
20864 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
20865 (struct grub_efi_mac_address_device_path): New structure.
20866 (grub_efi_mac_address_device_path_t): New type.
20867 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
20868 (struct grub_efi_ipv4_device_path): New structure.
20869 (grub_efi_ipv4_device_path_t): New type.
20870 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
20871 (struct grub_efi_ipv6_device_path): New structure.
20872 (grub_efi_ipv6_device_path_t): New type.
20873 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
20874 (struct grub_efi_infiniband_device_path): New structure.
20875 (grub_efi_infiniband_device_path_t): New type.
20876 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
20877 (struct grub_efi_uart_device_path): New structure.
20878 (grub_efi_uart_device_path_t): New type.
20879 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
20880 (struct grub_efi_vendor_messaging_device_path): New structure.
20881 (grub_efi_vendor_messaging_device_path_t): New type.
20882 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
20883 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
20884 (struct grub_efi_hard_drive_device_path): New structure.
20885 (grub_efi_hard_drive_device_path_t): New type.
20886 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
20887 (struct grub_efi_cdrom_device_path): New structure.
20888 (grub_efi_cdrom_device_path_t): New type.
20889 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
20890 (struct grub_efi_vendor_media_device_path): New structure.
20891 (grub_efi_vendor_media_device_path_t): New type.
20892 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
20893 (struct grub_efi_file_path_device_path): New structure.
20894 (grub_efi_file_path_device_path_t): New type.
20895 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
20896 (struct grub_efi_protocol_device_path): New structure.
20897 (grub_efi_protocol_device_path_t): New type.
20898 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
20899 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
20900 (struct grub_efi_bios_device_path): New structure.
20901 (grub_efi_bios_device_path_t): New type.
20902 (struct grub_efi_disk_io): New structure.
20903 (grub_efi_disk_io_t): New type.
20904 (struct grub_efi_block_io_media): New structure.
20905 (grub_efi_block_io_media_t): New type.
20906 (struct grub_efi_block_io): New structure.
20907 (grub_efi_block_io_t): New type.
20908
20909 * include/grub/misc.h (grub_stop): Removed.
20910 (grub_exit): New prototype.
20911 (grub_abort): Likewise.
20912
20913 * include/grub/disk.h (enum grub_disk_dev_id): Added
20914 GRUB_DISK_DEVICE_EFIDISK_ID.
20915
20916 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
20917 disk/efi/efidisk.c.
20918 (kernel_syms.lst): Remove the target if an error occurs.
20919
49986a9f 209202006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
20921
20922 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
20923 as it was simply too buggy.
20924
970d3b8a 209252006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
20926
20927 * kern/misc.c (grub_lltoa): New function.
20928 (grub_vsprintf): Added support for the long long suffix,
20929 i.e. "ll".
20930
ff04ec24 209312006-04-20 Hollis Blanchard <hollis@penguinppc.org>
20932
20933 * Makefile.in (LDFLAGS): Add variable.
20934 (LD): Remove variable.
20935 * configure.ac: Add -m32 to LDFLAGS.
20936 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
20937 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
20938 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
20939 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
20940 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
20941 variables.
20942 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
20943 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
20944 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
20945
37e5e1a4 209462006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
20947
20948 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
20949 length for unknown glyph.
20950
c352d8dd 209512006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
20952
2eab1c0d 20953 Add support for pre-loaded modules into the EFI port.
f19dbdb7 20954
2eab1c0d 20955 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
20956 completely. Accept one more argument DIR. The caller has changed.
20957
20958 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
20959
20960 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
20961 (grub_efi_loaded_image_guid): New variable.
20962 (grub_efi_get_loaded_image): New function.
20963 (grub_arch_modules_addr): Likewise.
20964
20965 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
20966 prototype.
20967
20968 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
20969 (struct grub_efi_loaded_image): New structure.
20970 (grub_efi_loaded_image_t): New type.
20971
209722006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 20973
c352d8dd 20974 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
20975 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
20976 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
20977
6d01d6b4 209782006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
20979
20980 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
20981
976a4ea0 209822006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
20983
20984 * DISTLIST: Added include/grub/efi/console.h,
20985 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
20986 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
20987
20988 * include/grub/efi/console.h: New file.
20989 * include/grub/efi/time.h: Likewise.
20990 * include/grub/i386/efi/kernel.h: Likewise.
20991 * kern/efi/init.c: Likewise.
20992 * kern/efi/mm.c: Likewise.
20993 * term/efi/console.c: Likewise.
f19dbdb7 20994
976a4ea0 20995 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
20996 (grub_stop): Removed.
20997 (grub_get_rtc): Likewise.
20998 (grub_machine_init): Simply call grub_efi_init.
20999 (grub_machine_fini): Call grub_efi_fini.
21000
21001 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
21002 (grub_efi_output_string): Removed.
21003 (grub_efi_stall): New function.
21004 (grub_stop): Likewise.
21005 (grub_get_rtc): Likewise.
21006
21007 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
21008 (grub_efi_stall): New prototype.
21009 (grub_efi_allocate_pages): Likewise.
21010 (grub_efi_free_pages): Likewise.
21011 (grub_efi_get_memory_map): Likewise.
21012 (grub_efi_mm_init): Likewise.
21013 (grub_efi_mm_fini): Likewise.
21014 (grub_efi_init): Likewise.
21015 (grub_efi_fini): Likewise.
21016
21017 * include/grub/i386/efi/time.h: Do not include
21018 grub/symbol.h. Include grub/efi/time.h.
21019 (GRUB_TICKS_PER_SECOND): Removed.
21020 (grub_get_rtc): Likewise.
21021
21022 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
21023 Added padding. The EFI spec is buggy.
21024 (GRUB_EFI_BLACK): New macro.
21025 (GRUB_EFI_BLUE): Likewise.
21026 (GRUB_EFI_GREEN): Likewise.
21027 (GRUB_EFI_CYAN): Likewise.
21028 (GRUB_EFI_RED): Likewise.
21029 (GRUB_EFI_MAGENTA): Likewise.
21030 (GRUB_EFI_BROWN): Likewise.
21031 (GRUB_EFI_LIGHTGRAY): Likewise.
21032 (GRUB_EFI_BRIGHT): Likewise.
21033 (GRUB_EFI_DARKGRAY): Likewise.
21034 (GRUB_EFI_LIGHTBLUE): Likewise.
21035 (GRUB_EFI_LIGHTGREEN): Likewise.
21036 (GRUB_EFI_LIGHTCYAN): Likewise.
21037 (GRUB_EFI_LIGHTRED): Likewise.
21038 (GRUB_EFI_LIGHTMAGENTA): Likewise.
21039 (GRUB_EFI_YELLOW): Likewise.
21040 (GRUB_EFI_WHITE): Likewise.
21041 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
21042 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
21043 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
21044 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
21045 (GRUB_EFI_BACKGROUND_RED): Likewise.
21046 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
21047 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
21048 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
21049 (GRUB_EFI_TEXT_ATTR): Likewise.
21050
21051 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
21052 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
21053 (kernel_mod_HEADERS): Added efi/time.h.
21054
83709125 210552006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
21056
21057 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
21058 include/grub/efi/api.h, include/grub/efi/console_control.h,
21059 include/grub/efi/efi.h, include/grub/efi/pe32.h,
21060 include/grub/i386/efi/time.h, kern/efi/efi.c,
21061 kern/i386/efi/init.c, kern/i386/efi/startup.S,
21062 and util/i386/efi/grub-mkimage.c.
21063
21064 * Makefile.in (RMKFILES): Added i386-efi.rmk.
21065
21066 * genmk.rb (PModule#rule): Do not export symbols if
21067 #{prefix}_EXPORTS is set to "no".
21068
21069 * conf/i386-efi.mk: New file.
21070 * conf/i386-efi.rmk: Likewise.
21071 * include/grub/efi/api.h: Likewise.
21072 * include/grub/efi/console_control.h: Likewise.
21073 * include/grub/efi/efi.h: Likewise.
21074 * include/grub/efi/pe32.h: Likewise.
21075 * include/grub/i386/efi/time.h: Likewise.
21076 * kern/efi/efi.c: Likewise.
21077 * kern/i386/efi/init.c: Likewise.
21078 * kern/i386/efi/startup.S: Likewise.
21079 * util/i386/efi/grub-mkimage.c: Likewise.
21080
210812006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 21082
21083 * include/grub/script.h: Include <grub/parser.h> and
21084 "grub_script.tab.h".
21085 (struct grub_lexer_param): New struct.
21086 (struct grub_parser_param): Likewise.
21087 (grub_script_create_arglist): Pass the state in an argument.
21088 (grub_script_add_arglist): Likewise.
21089 (grub_script_create_cmdline): Likewise.
21090 (grub_script_create_cmdblock): Likewise.
21091 (grub_script_create_cmdif): Likewise.
21092 (grub_script_create_cmdmenu): Likewise.
21093 (grub_script_add_cmd): Likewise.
21094 (grub_script_arg_add): Likewise.
21095 (grub_script_lexer_ref): Likewise.
21096 (grub_script_lexer_deref): Likewise.
21097 (grub_script_lexer_record_start): Likewise.
21098 (grub_script_lexer_record_stop): Likewise.
21099 (grub_script_mem_record): Likewise.
21100 (grub_script_mem_record_stop): Likewise.
21101 (grub_script_malloc): Likewise.
21102 (grub_script_yylex): Likewise.
21103 (grub_script_yyparse): Likewise.
21104 (grub_script_yyerror): Likewise.
21105 (grub_script_yylex): Likewise.
21106 (grub_script_lexer_init): Return the state.
21107
21108 * normal/lexer.c (grub_script_lexer_state): Removed variable.
21109 (grub_script_lexer_done): Likewise.
21110 (grub_script_lexer_getline): Likewise.
21111 (grub_script_lexer_refs): Likewise.
21112 (script): Likewise.
21113 (newscript): Likewise.
21114 (record): Likewise.
21115 (recording): Likewise.
21116 (recordpos): Likewise.
21117 (recordlen): Likewise.
21118 (grub_script_lexer_init): Return the state instead of setting
21119 global variables.
21120 (grub_script_lexer_ref): Use the newly added argument for state
21121 instead of globals.
21122 (grub_script_lexer_deref): Likewise.
21123 (grub_script_lexer_record_start): Likewise.
21124 (grub_script_lexer_record_stop): Likewise.
21125 (recordchar): Likewise.
21126 (nextchar): Likewise.
21127 (grub_script_yylex2): Likewise.
21128 (grub_script_yylex): Likewise.
21129 (grub_script_yyerror): Likewise.
21130
21131 * normal/parser.y (func_mem): Removed variable.
21132 (menu_entry): Likewise.
21133 (err): Likewise.
21134 (%lex-param): New parser option.
21135 (%parse-param): Likewise.
21136 (script): Always return the AST.
21137 (argument): Pass the state around.
21138 (arguments): Likewise.
21139 (grubcmd): Likewise.
21140 (commands): Likewise.
21141 (function): Likewise.
21142 (menuentry): Likewise.
21143 (if_statement): Likewise.
21144 (if): Likewise.
21145
21146 * normal/script.c (grub_script_memused): Removed variable.
21147 (grub_script_parsed): Likewise.
21148 (grub_script_malloc): Added a state argument. Use that instead of
21149 global variables.
21150 (grub_script_mem_record): Likewise.
21151 (grub_script_mem_record_stop): Likewise.
21152 (grub_script_arg_add): Likewise.
21153 (grub_script_add_arglist): Likewise.
21154 (grub_script_create_cmdline): Likewise.
21155 (grub_script_create_cmdif): Likewise.
21156 (grub_script_create_cmdmenu): Likewise.
21157 (grub_script_add_cmd): Likewise.
21158 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 21159
e2a8c904 211602006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 21161
21162 * normal/command.c (grub_command_init): Remove the title command.
21163
21164 * normal/lexer.c (grub_script_yylex): Renamed from this...
21165 (grub_script_yylex2): ... to this.
21166 (grub_script_yylex): New function. Temporary
21167 introduced to filter some tokens.
21168 (grub_script_yyerror): Print a newline.
21169
21170 * normal/main.c (read_config_file): Output information about the
21171 lines that contain errors. Wait for a key after all lines have
21172 been processed. Don't return an empty menu.
21173
21174 * normal/parser.y (func_mem): Don't initialize.
21175 (menu_entry): Likewise.
21176 (err): New variable.
21177 (script): Don't return anything when an error was encountered.
21178 (ws, returns): Removed rules.
21179 (argument): Disabled concatenated variable support.
21180 (arguments): Remove explicit separators.
21181 (grubcmd): Likewise.
21182 (function): Likewise.
21183 (menuentry): Likewise.
21184 (if): Likewise.
21185 (commands): Likewise. Add error handling.
21186
21187 * normal/script.c (grub_script_create_cmdline): If
21188 `grub_script_parsed' is 0, assume the parser encountered an error.
21189
c9a86192 211902006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
21191
21192 * configure.ac: Add support for EFI. Fix the typo
21193 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
21194
70f3b243 211952006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
21196
21197 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
21198 foreign multibyte characters should be shown correctly.
21199
65f201ad 212002006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
21201
21202 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
21203 calculation.
21204 (read_config_file): Made it to close file before returning.
21205
b4b93674 212062006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
21207
21208 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
21209 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
21210 video/i386/pc/vbefill.c.
21211
21212 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
21213 video/i386/pc/vbefill.c.
21214
21215 * include/grub/video.h (grub_video_blit_format): New enum.
21216 (grub_video_mode_info): Added new member blit_format.
21217 (grub_video_get_blit_format): New function prototype.
21218
21219 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
21220 function prototype.
21221 (grub_video_vbe_map_rgb): Likewise.
21222 (grub_video_vbe_unmap_color): Likewise.
21223
21224 * include/grub/i386/pc/vbeblit.h: New file.
21225
21226 * include/grub/i386/pc/vbefill.h: New file.
21227
21228 * video/video.c (grub_video_get_blit_format): New function.
21229 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
21230 (grub_video_vbe_map_rgb): Likewise.
21231 (grub_video_vbe_unmap_color): Likewise.
21232
21233 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
21234 optimized fills.
21235 (grub_video_vbe_blit_render_target): Changed to use more optimized
21236 blits.
21237 (grub_video_vbe_setup): Added detection for optimized settings.
21238 (grub_video_vbe_create_render_target): Likewise.
21239
21240 * video/i386/pc/vbeblit.c: New file.
21241
21242 * video/i386/pc/vbefill.c: New file.
21243
c2379b9c 212442006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
21245
21246 * font/manager.c (grub_font_get_glyph): Removed font fixup from
21247 here...
21248
21249 * util/unifont2pff.rb: ... and moved it to here. Improved argument
21250 parsing to support both hex and dec ranges. If filename was missing
21251 show usage information.
21252
bd0d7896 212532006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
21254
21255 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
21256 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
21257
21258 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
21259 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
21260 (video_mod_SOURCES): Added.
21261 (video_mod_CFLAGS): Likewise.
21262 (video_mod_LDFLAGS): Likewise.
21263 (gfxterm_mod_SOURCES): Likewise.
21264 (gfxterm_mod_CFLAGS): Likewise.
21265 (gfxterm_mod_LDFLAGS): Likewise.
21266 (videotest_mod_SOURCES): Likewise.
21267 (videotest_mod_CFLAGS): Likewise.
21268 (videotest_mod_LDFLAGS): Likewise.
21269 (vesafb_mod_SOURCES): Removed.
21270 (vesafb_mod_CFLAGS): Likewise.
21271 (vesafb_mod_LDFLAGS): Likewise.
21272 (vga_mod_SOURCES): Likewise.
21273 (vga_mod_CFLAGS): Likewise.
21274 (vga_mod_LDFLAGS): Likewise.
21275
21276 * commands/videotest.c: New file.
21277
21278 * font/manager.c (fill_with_default_glyph): Modified to use
21279 grub_font_glyph.
21280 (grub_font_get_glyph): Likewise.
21281 (fontmanager): Renamed from this...
21282 (font_manager): ... to this.
21283
21284 * include/grub/font.h (grub_font_glyph): Added new structure.
21285 (grub_font_get_glyph): Modified to use grub_font_glyph.
21286
21287 * include/grub/misc.h (grub_abs): Added as inline function.
21288
21289 * include/grub/video.h: New file.
21290
21291 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
21292 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
21293 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
21294 (grub_vbe_get_controller_info): Renamed from this...
21295 (grub_vbe_bios_get_controller_info): ... to this.
21296 (grub_vbe_get_mode_info): Renamed from this...
21297 (grub_vbe_bios_get_mode_info): ... to this.
21298 (grub_vbe_set_mode): Renamed from this...
21299 (grub_vbe_bios_set_mode): ... to this.
21300 (grub_vbe_get_mode): Renamed from this...
21301 (grub_vbe_bios_get_mode): ... to this.
21302 (grub_vbe_set_memory_window): Renamed from this...
21303 (grub_vbe_bios_set_memory_window): ... to this.
21304 (grub_vbe_get_memory_window): Renamed from this...
21305 (grub_vbe_bios_get_memory_window): ... to this.
21306 (grub_vbe_set_scanline_length): Renamed from this...
21307 (grub_vbe_set_scanline_length): ... to this.
21308 (grub_vbe_get_scanline_length): Renamed from this...
21309 (grub_vbe_bios_get_scanline_length): ... to this.
21310 (grub_vbe_set_display_start): Renamed from this...
21311 (grub_vbe_bios_set_display_start): ... to this.
21312 (grub_vbe_get_display_start): Renamed from this...
21313 (grub_vbe_bios_get_display_start): ... to this.
21314 (grub_vbe_set_palette_data): Renamed from this...
21315 (grub_vbe_bios_set_palette_data): ... to this.
21316 (grub_vbe_set_pixel_rgb): Removed.
21317 (grub_vbe_set_pixel_index): Likewise.
21318
21319 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
21320 from this...
21321 (grub_vbe_bios_get_controller_info): ... to this.
21322 (grub_vbe_get_mode_info): Renamed from this...
21323 (grub_vbe_bios_get_mode_info): ... to this.
21324 (grub_vbe_set_mode): Renamed from this...
21325 (grub_vbe_bios_set_mode): ... to this.
21326 (grub_vbe_get_mode): Renamed from this...
21327 (grub_vbe_bios_get_mode): ... to this.
21328 (grub_vbe_set_memory_window): Renamed from this...
21329 (grub_vbe_bios_set_memory_window): ... to this.
21330 (grub_vbe_get_memory_window): Renamed from this...
21331 (grub_vbe_bios_get_memory_window): ... to this.
21332 (grub_vbe_set_scanline_length): Renamed from this...
21333 (grub_vbe_set_scanline_length): ... to this.
21334 (grub_vbe_get_scanline_length): Renamed from this...
21335 (grub_vbe_bios_get_scanline_length): ... to this.
21336 (grub_vbe_set_display_start): Renamed from this...
21337 (grub_vbe_bios_set_display_start): ... to this.
21338 (grub_vbe_get_display_start): Renamed from this...
21339 (grub_vbe_bios_get_display_start): ... to this.
21340 (grub_vbe_set_palette_data): Renamed from this...
21341 (grub_vbe_bios_set_palette_data): ... to this.
21342 (grub_vbe_bios_get_controller_info): Fixed problem with registers
21343 getting corrupted after calling it. Added more pushes and pops.
21344 (grub_vbe_bios_set_mode): Likewise.
21345 (grub_vbe_bios_get_mode): Likewise.
21346 (grub_vbe_bios_get_memory_window): Likewise.
21347 (grub_vbe_bios_set_scanline_length): Likewise.
21348 (grub_vbe_bios_get_scanline_length): Likewise.
21349 (grub_vbe_bios_get_display_start): Likewise.
21350 (grub_vbe_bios_set_palette_data): Likewise.
21351
21352 * normal/cmdline.c (cl_set_pos): Refresh the screen.
21353 (cl_insert): Likewise.
21354 (cl_delete): Likewise.
21355
21356 * term/gfxterm.c: New file.
21357
21358 * term/i386/pc/vesafb.c: Removed file.
21359
21360 * video/video.c: New file.
21361
21362 * video/i386/pc/vbe.c (real2pm): Added new function.
21363 (grub_video_vbe_draw_pixel): Likewise.
21364 (grub_video_vbe_get_video_ptr): Likewise.
21365 (grub_video_vbe_get_pixel): Likewise
21366 (grub_video_vbe_init): Likewise.
21367 (grub_video_vbe_fini): Likewise.
21368 (grub_video_vbe_setup): Likewise.
21369 (grub_video_vbe_get_info): Likewise.
21370 (grub_video_vbe_set_palette): Likewise.
21371 (grub_video_vbe_get_palette): Likewise.
21372 (grub_video_vbe_set_viewport): Likewise.
21373 (grub_video_vbe_get_viewport): Likewise.
21374 (grub_video_vbe_map_color): Likewise.
21375 (grub_video_vbe_map_rgb): Likewise.
21376 (grub_video_vbe_map_rgba): Likewise.
21377 (grub_video_vbe_unmap_color): Likewise.
21378 (grub_video_vbe_fill_rect): Likewise.
21379 (grub_video_vbe_blit_glyph): Likewise.
21380 (grub_video_vbe_blit_bitmap): Likewise.
21381 (grub_video_vbe_blit_render_target): Likewise.
21382 (grub_video_vbe_scroll): Likewise.
21383 (grub_video_vbe_swap_buffers): Likewise.
21384 (grub_video_vbe_create_render_target): Likewise.
21385 (grub_video_vbe_delete_render_target): Likewise.
21386 (grub_video_vbe_set_active_render_target): Likewise.
21387 (grub_vbe_set_pixel_rgb): Remove function.
21388 (grub_vbe_set_pixel_index): Likewise.
21389 (index_color_mode): Remove static variable.
21390 (active_mode): Likewise.
21391 (framebuffer): Likewise.
21392 (bytes_per_scan_line): Likewise.
21393 (grub_video_vbe_adapter): Added new static variable.
21394 (framebuffer): Likewise.
21395 (render_target): Likewise.
21396 (initial_mode): Likewise.
21397 (mode_in_use): Likewise.
21398 (mode_list): Likewise.
21399
5f97350b 214002006-03-10 Marco Gerards <marco@gnu.org>
21401
21402 * configure.ac (AC_INIT): Bumped to 1.93.
21403
21404 * DISTLIST: Added `include/grub/hfs.h'.
21405
a3c5c6f8 214062006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
21407
21408 * boot/i386/pc/boot.S (general_error): Before looping, try INT
21409 18H, which might help the BIOS falling back to next boot media.
21410
6de53d26 214112006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
21412
21413 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
21414 Poe Chen <poe.poechen@gmail.com>.
21415
77c4a393 214162006-01-17 Marco Gerards <marco@gnu.org>
21417
21418 * include/grub/normal.h: Include <grub/script.h>.
21419 (grub_command_list): Removed struct.
21420 (grub_command_list_t): Removed type.
21421 (grub_menu_entry): Remove members `num' and `command_list'. Add
21422 members `commands' and `sourcecode'.
21423 * include/grub/script.h: Add inclusion guards.
21424 (grub_script_cmd_menuentry): New struct.
21425 (grub_script_execute_menuentry): New prototype.
21426 (grub_script_lexer_record_start): Likewise.
21427 (grub_script_lexer_record_stop): Likewise.
21428 * normal/execute.c (grub_script_execute_menuentry): New function.
21429 * normal/lexer.c (record, recording, recordpos, recordlen): New
21430 variables.
21431 (grub_script_lexer_record_start): New function.
21432 (grub_script_lexer_record_stop): Likewise.
21433 (recordchar): Likewise.
21434 (nextchar): Likewise.
21435 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
21436 2048 as the buffer size. Add the tokens `menuentry' and `@'.
21437 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
21438 (current_menu): New variable.
21439 (free_menu): Mainly rewritten.
21440 (grub_normal_menu_addentry): New function.
21441 (read_config_file): Rewritten.
21442 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 21443 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 21444 the menu entry.
21445 (run): Mainly rewritten.
21446 * normal/parser.y (menu_entry): New variable.
21447 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
21448 (menuentry): New rule.
21449 (command): Add `menuentry'.
21450 (if_statement): Allow additional returns before `fi'.
21451 * normal/script.c (grub_script_create_cmdmenu): New function.
21452
144f1f98 214532006-01-03 Marco Gerards <marco@gnu.org>
21454
21455 * INSTALL: GNU Bison is required.
21456 * configure.ac: Rewritten the test to detect Bison.
21457 * Makefile.in (YACC): New variable. Reported by Xun Sun
21458 <xun.sun.cn@gmail.com>.
21459
af4b2d89 214602006-01-03 Marco Gerards <marco@gnu.org>
21461
21462 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
21463 the HFS+ filesystem to filesystem blocks.
21464 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
21465 GCC warning is silenced.
21466
15643b71 214672006-01-03 Marco Gerards <marco@gnu.org>
21468
21469 * partmap/apple.c (apple_partition_map_iterate): Convert the data
21470 read from disk from big endian to host byte order.
21471
00905879 214722006-01-03 Hollis Blanchard <hollis@penguinppc.org>
21473
21474 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
21475 documentation.
21476 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
21477 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
21478 embedded HFS+ filesystem.
21479 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
21480 (grub_hfs_sblock): Move from here...
21481 * include/grub/hfs.h: To here... New file.
21482 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
21483 documentation.
21484 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
21485 New macros.
21486 (grub_hfsplus_volheader): Change type of member `magic' to
21487 `grub_uint16_t'.
21488 (grub_hfsplus_data): Add new member `embedded_offset'.
21489 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
21490 returned block.
21491 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
21492 Calculate the offset.
21493
8899bc3e 214942005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
21495
21496 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
21497 Removed.
21498 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
21499
ae8c0277 215002005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
21501
21502 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
21503 ENV->NAME is NULL after allocating ENV->VALUE.
21504
07084456 215052005-12-25 Marco Gerards <marco@gnu.org>
21506
21507 * kern/env.c (grub_env_set): Rewritten the error handling code.
21508
4750f5f1 215092005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
21510
21511 * geninit.sh: Made more robust, and more portable.
21512
50214199 215132005-12-25 Marco Gerards <marco@gnu.org>
21514
21515 Add support for Apple HFS+ filesystems.
f19dbdb7 21516
50214199 21517 * fs/hfsplus.c: New file.
21518
21519 * DISTLIST: Added `fs/hfsplus.c'.
21520
21521 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
21522 (hfsplus_mod_SOURCES): New variable.
21523 (hfsplus_mod_CFLAGS): Likewise.
21524 (hfsplus_mod_LDFLAGS): Likewise.
21525 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
21526 (grub_setup_SOURCES): Likewise.
21527 (grub_mkdevicemap_SOURCES): Likewise.
21528 (grub_emu_SOURCES): Likewise.
21529 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21530
21531 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
21532
21533 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
21534
befaed6c 215352005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
21536
21537 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
21538 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
21539 include/grub/parser.h, include/grub/script.h, kern/parser.c,
21540 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
21541 normal/lexer.c, normal/parser.y, normal/script.c, and
21542 partmap/gpt.c.
21543 Removed kern/sparc64/cache.c.
21544
21545 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
21546 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
21547 grub_emu_init.c.
21548
21549 * configure.ac (AC_INIT): Bumped to 1.92.
21550
6a124103 215512005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
21552
21553 * kern/err.c (grub_error_push): Added new function to support error
21554 stacks.
21555 (grub_error_pop): Likewise.
21556 (grub_error_stack_items): New local variable to support error stacks.
21557 (grub_error_stack_pos): Likewise.
21558 (grub_error_stack_assert): Likewise.
21559 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
21560 stack depth.
21561 (grub_print_error): Added support to print errors from error stack.
21562
21563 * include/grub/err.h (grub_error_push): Added function prototype.
21564 (grub_error_pop): Likewise.
21565
be973c1b 215662005-12-09 Hollis Blanchard <hollis@penguinppc.org>
21567
21568 * configure.ac: Accept `powerpc64' as host_cpu.
21569 (amd64): Rename to `biarch32'.
21570
21571 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
21572 non-cacheline-aligned addresses.
21573
21574 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
21575 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
21576 if `size' is non-zero.
21577
b04216ab 215782005-12-03 Marco Gerards <mgerards@xs4all.nl>
21579
21580 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
21581 and `cd' to make sure the filename is not prefixed with a
21582 directory name.
21583 (pkgdata_MODULES): Add `gpt.mod'.
21584 (gpt_mod_SOURCES): New variable.
21585 (gpt_mod_CFLAGS): Likewise.
21586 (gpt_mod_LDFLAGS): Likewise.
21587
21588 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
21589
21590 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
21591 New macro.
21592
21593 * partmap/gpt.c: New file.
21594
21595 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
21596 GPT partition map is detected.
21597
41730ed9 215982005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
21599
21600 * commands/i386/pc/play.c: New file.
21601 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
21602 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
21603 macros.
f19dbdb7 21604
95dc3643 216052005-11-27 Marco Gerards <mgerards@xs4all.nl>
21606
21607 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
21608 ((unused))' to silence gcc warning.
21609
1569ec51 216102005-11-26 Hollis Blanchard <hollis@penguinppc.org>
21611
21612 * configure.ac: Correct `AC_PROG_YACC' test.
21613
9abde152 216142005-11-22 Hollis Blanchard <hollis@penguinppc.org>
21615
21616 * util/powerpc/ieee1275/grub-install.in: Run the mount point
21617 check before installing files.
21618
44b83271 216192005-11-22 Mike Small <smallm@panix.com>
21620
21621 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
21622 number regex so multidigit numbers are recognized correctly.
21623
216242005-11-22 Mike Small <smallm@panix.com>
21625
21626 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
21627 debugging message before attempting to claim memory.
21628 (grub_rescue_cmd_initrd): Add a claim debugging message and try
21629 multiple addresses in case of failure.
21630
9c12956b 216312005-11-22 Hollis Blanchard <hollis@penguinppc.org>
21632
21633 * term/tparm.c (get_space): Remove empty `if' statement.
21634
21635 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
21636
21637 * kern/parser.c (check_varstate): Rename `state' to 's'.
21638
aeaf81d9 216392005-11-22 Hollis Blanchard <hollis@penguinppc.org>
21640
21641 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
21642 variable definitions to the beginning of each function. Sort stack
21643 variables by size.
21644 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
21645 `buf' argument to `char *'.
21646
79bbb63f 216472005-11-22 Hollis Blanchard <hollis@penguinppc.org>
21648
21649 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
21650 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 21651 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 21652 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
21653 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
21654 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
21655 configfile.mod, search.mod, gzio.mod and test.mod.
21656 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
21657 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
21658 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
21659 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
21660 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
21661 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
21662 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
21663 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
21664 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
21665 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
21666 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
21667 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
21668 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
21669 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
21670 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
21671 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
21672 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
21673 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
21674 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
21675 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
21676 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
21677 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
21678 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
21679
21680 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
21681 `grep --include'.
21682 (pkgdata_MODULES): Add test.mod.
21683
233b1628 216842005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
21685
21686 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
21687 appending to variables with "+=".
21688 (PModule): Use full pathname to generate *.lst filenames.
21689
21690 * Makefile.in: Fixed list rules moved from genmk.rb.
21691 (.DELETE_ON_ERROR): New special target.
21692 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
21693
21694 * conf/i386-pc.rmk: Include conf/common.mk.
21695 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 21696 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 21697 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
21698 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
21699 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
21700 configfile.mod, search.mod, gzio.mod and test.mod.
21701 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
21702 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
21703 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
21704 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
21705 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
21706 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
21707 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
21708 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
21709 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
21710 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
21711 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
21712 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
21713 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
21714 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
21715 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
21716 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
21717 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
21718 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
21719 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
21720 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
21721 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
21722 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
21723 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
21724 here...
21725 * conf/common.rmk: ... to here. New file.
21726
21727 * conf/common.mk: New file.
21728
16f820c8 217292005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
21730
21731 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
21732 (grub_script.tab.c): ... here.
21733
21734 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
21735 (grub_script.tab.c): ... here.
21736
21737 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
21738 (grub_script.tab.c): ... here.
21739
21740 * normal/command.c (grub_command_find): Fixed a memory leak of
21741 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
21742
63ba1554 217432005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
21744
21745 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
21746 "@" which marks the start of a comment on ARM.
21747 (VARIABLE): Likewise.
21748
7f67dc13 217492005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
21750
79bbb63f 21751 Add support for Linux/ADFS partition tables.
7f67dc13 21752
21753 * partmap/acorn.c: New file.
21754
21755 * include/grub/acorn_filecore.h: Likewise.
21756
21757 * DISTLIST: Added `partmap/acorn.c' and
21758 `include/grub/acorn_filecore.h'.
f19dbdb7 21759
7f67dc13 21760 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
21761 `partmap/acorn.c'.
21762 (pkgdata_MODULES): Add `acorn.mod'.
21763 (acorn_mod_SOURCES): New variable.
21764 (acorn_mod_CFLAGS): Likewise.
21765
21766 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
21767 `partmap/acorn.c'.
21768 (pkgdata_MODULES): Add `acorn.mod'.
21769 (acorn_mod_SOURCES): New variable.
21770 (acorn_mod_CFLAGS): Likewise.
21771
21772 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
21773 (pkgdata_MODULES): Add `acorn.mod'.
21774 (acorn_mod_SOURCES): New variable.
21775 (acorn_mod_CFLAGS): Likewise.
21776 (acorn_mod_LDFLAGS): Likewise.
21777
21778 * include/types.h (grub_disk_addr_t): New typedef.
21779
6d099807 217802005-11-13 Marco Gerards <mgerards@xs4all.nl>
21781
21782 * geninit.sh: New file.
21783
21784 * geninitheader.sh: Likewise.
21785
21786 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
21787 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
21788 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
21789 * commands/configfile.c (grub_configfile_init)
21790 (grub_configfile_fini): Likewise.
21791 * commands/default.c (grub_default_init, grub_default_fini):
21792 Likewise.
21793 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
21794 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
21795 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
21796 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
21797 Likewise.
21798 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
21799 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
21800 Likewise.
21801 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 21802 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 21803 Likewise.
21804 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
21805 Likewise.
fe6b695a 21806 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 21807 Likewise.
21808 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
21809 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
21810 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
21811 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
21812 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
21813 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
21814 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
21815 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
21816 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
21817 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
21818 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
21819 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
21820 * partmap/amiga.c (grub_amiga_partition_map_init)
21821 (grub_amiga_partition_map_fini): Likewise.
21822 * partmap/apple.c (grub_apple_partition_map_init)
21823 (grub_apple_partition_map_fini): Likewise.
21824 * partmap/pc.c (grub_pc_partition_map_init)
21825 (grub_pc_partition_map_fini): Likewise.
21826 * partmap/sun.c (grub_sun_partition_map_init,
21827 grub_sun_partition_map_fini): Likewise.
21828 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
21829 Likewise.
21830
21831 * util/grub-emu.c: Include <grub_modules_init.h>.
21832 (main): Don't initialize and de-initialize any modules directly,
21833 use `grub_init_all' and `grub_fini_all' instead.
21834
21835 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
21836 `grub_vesafb_mod_init'.
21837 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
21838 all users.
21839 * term/i386/pc/vga.c (grub_vga_init): Renamed to
21840 `grub_vga_mod_init'. Updated all users.
21841 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 21842
6d099807 21843 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
21844 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
21845 rules.
21846
21847 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
21848 Generate a function to initialize the module in utilities.
21849 Updated all callers.
21850 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
21851 initialize the module in utilities. Updated all callers.
21852
9046bcf0 218532005-11-09 Hollis Blanchard <hollis@penguinppc.org>
21854
21855 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
21856 escape sequence and a literal ^L to clear the screen.
21857
21858 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
21859 when returning from Open Firmware.
21860
d13ea639 218612005-11-09 Hollis Blanchard <hollis@penguinppc.org>
21862
21863 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
21864 (grub_ofconsole_height): Likewise.
21865 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
21866 manually insert a '\n'.
21867 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
21868 `grub_ofconsole_height'. Return early if these are already set.
21869
a8fcf206 218702005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
21871
21872 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
21873 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
21874 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
21875 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
21876 and `normal/script.c'.
21877 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
21878 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
21879 (test_mod_SOURCES): New variable.
21880 (test_mod_CFLAGS): Likewise.
21881 (test_mod_LDFLAGS): Likewise.
21882 (pkgdata_MODULES): Add `test.mod'.
21883 (grub_script.tab.c): New rule.
21884 (grub_script.tab.h): Likewise.
21885
b6b32745 218862005-11-07 Marco Gerards <mgerards@xs4all.nl>
21887
21888 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
21889 `commands/test.c', `normal/execute.c', `normal/lexer.c',
21890 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
21891 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
21892 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
21893 (test_mod_SOURCES): New variable.
21894 (test_mod_CFLAGS): Likewise.
21895 (pkgdata_MODULES): Add `test.mod'.
21896 (grub_script.tab.c): New rule.
21897 (grub_script.tab.h): Likewise.
21898
daac212a 218992005-11-06 Marco Gerards <mgerards@xs4all.nl>
21900
21901 Add initial scripting support.
21902
21903 * commands/test.c: New file.
21904 * include/grub/script.h: Likewise.
21905 * normal/execute.c: Likewise.
21906 * normal/function.c: Likewise.
21907 * normal/lexer.c: Likewise.
21908 * normal/parser.y: Likewise.
21909 * normal/script.c: Likewise.
21910
21911 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 21912
daac212a 21913 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
21914 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
21915 `normal/function.c' and `normal/script.c'.
21916 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
21917 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 21918 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
21919 variables.
daac212a 21920 (pkgdata_MODULES): Add `test.mod'.
21921 (grub_script.tab.c): New rule.
21922 (grub_script.tab.h): Likewise.
21923
21924 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
21925
21926 * include/grub/normal.h (grub_test_init): New prototype.
21927 (grub_test_fini): Likewise.
f19dbdb7 21928
daac212a 21929 * normal/command.c: Include <grub/script.h>.
21930 (grub_command_execute): Rewritten.
f19dbdb7 21931
daac212a 21932 * util/grub-emu.c (main): Call `grub_test_init' and
21933 `grub_test_fini'.
21934
77500b2b 219352005-11-03 Hollis Blanchard <hollis@penguinppc.org>
21936
21937 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
21938 to 0.
21939 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
21940 there are no pending characters.
21941
e45deb9e 219422005-11-03 Hollis Blanchard <hollis@penguinppc.org>
21943
21944 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
21945 `grub_strndup' to drop device arguments. Replace unnecessary
21946 `grub_strndup' with `grub_strdup'.
21947
4ce32619 219482005-11-03 Hollis Blanchard <hollis@penguinppc.org>
21949
21950 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
21951 `debug' environment variable has been set.
21952
219532005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 21954
4ce32619 21955 * Makefile.in (install-local): Use $(DATA).
21956 (uninstall): Likewise.
21957 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
21958 (sbin_UTILITIES): ... to here.
21959 (sbin_SCRIPTS): New variable.
21960 (grub_install_SOURCES): New variable.
21961 * util/powerpc/ieee1275/grub-install.in: New file.
21962 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
21963 variable.
21964 (add_segments): Call `grub_util_get_path'.
21965
25fe6f03 219662005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
21967
21968 From Timothy Baldwin:
21969 * commands/ls.c (grub_ls_list_files): Close FILE with
21970 grub_file_close.
21971 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
21972
04ccf3ec 219732005-10-24 Marco Gerards <mgerards@xs4all.nl>
21974
21975 * include/grub/parser.h: New file.
21976
21977 * kern/parser.c: Likewise.
21978
21979 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
21980 (grub_setup_SOURCES): Likewise.
21981 (grub_probefs_SOURCES): Likewise.
21982 (grub_emu_SOURCES): Likewise.
21983 (kernel_img_HEADERS): Add `parser.h'.
21984
21985 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
21986 (grub_emu_SOURCES): Add `kern/parser.c'.
21987 (grubof_SOURCES): Likewise.
21988
21989 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
21990 (grubof_SOURCES): Add `kern/parser.c'.
21991
21992 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
21993
21994 * kern/misc.c (grub_split_cmdline): Removed function.
21995
21996 * kern/rescue.c: Include <grub/parser.h>.
21997 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
21998 of `grub_split_cmdline'.
21999
22000 * normal/command.c: Include <grub/parser.h>.
22001 (grub_command_execute): Use `grub_parser_split_cmdline' instead
22002 of `grub_split_cmdline'.
22003
22004 * normal/completion.c: Include <grub/parser.h>.
22005 (cmdline_state): New variable.
22006 (iterate_dir): End the filename with a quote depending on the
22007 command line state.
22008 (get_state): new function.
22009 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
22010 split the arguments and determine the current argument. When the
22011 argument string is not quoted, escape all spaces.
22012
6d8f4b0e 220132005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
22014
22015 * normal/sparc64/setjmp.S: New file.
22016
15cf03ed 220172005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
22018
22019 * include/grub/sparc64/libgcc.h: New file.
22020 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
22021 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
22022 normal/sparc64/setjmp.c.
22023
03e8661a 220242005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
22025
22026 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
22027 * kern/sparc64/cache.S: New file.
22028 * kern/sparc64/cache.c: Removed.
22029 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
22030 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
22031 -mtune=ultrasparc.
22032 (COMMON_LDFLAGS): Add -melf64_sparc.
22033 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
22034 (grubof_SOURCES): Use cache.S instead of cache.c.
22035 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
22036 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
22037 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
22038 commented though.
22039 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
22040 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
22041 (linux_mod_CFLAGS): Commented out.
22042 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
22043 out because module isn't built.
22044 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
22045 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
22046 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
22047 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
22048 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
22049 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
22050 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
22051 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
22052 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
22053 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
22054 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
22055 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
22056 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
22057 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
22058
34eeec8a 220592005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
22060
22061 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
22062 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
22063 longer, because HFS should not be used on PC.
22064
708367a3 220652005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
22066
22067 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
22068 consistently within the loop.
22069
6fa1251a 220702005-10-15 Marco Gerards <mgerards@xs4all.nl>
22071
22072 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
22073 directory can not be read.
22074
4801580b 220752005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
22076
22077 * configure.ac (AC_INIT): Increase the version number to 1.91.
22078
22079 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
22080 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
22081 term/i386/pc/serial.c.
22082
219ad426 220832005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
22084
22085 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
22086 file size must be permitted.
22087
22088 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
22089 between %ah and %al.
22090
688e5699 220912005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
22092
22093 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
22094 grub_uint64_t.
22095 Call the hook with a NUL-terminated filename.
22096 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
22097 grub_cpu_to_be32.
22098
22099 * kern/term.c (cursor_state): New variable.
22100 (grub_term_set_current): Reset the cursor state on a new
22101 terminal.
22102 (grub_setcursor): Rewritten to use CURSOR_STATE.
22103 (grub_getcursor): New function.
22104
22105 * include/grub/term.h (grub_getcursor): New prototype.
22106
22107 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
22108 integers on ARM. Reported by Timothy Baldwin
22109 <T.E.Baldwin99@members.leeds.ac.uk>.
22110
bb34586c 221112005-10-11 Marco Gerards <mgerards@xs4all.nl>
22112
22113 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
22114 allocated.
22115 (grub_sfs_dir): Likewise.
22116
9a909877 221172005-10-09 Marco Gerards <mgerards@xs4all.nl>
22118
22119 Add support for the SFS filesystem.
22120
22121 * fs/sfs.c: New file.
22122
22123 * DISTLIST: Added `fs/sfs.c'.
22124
22125 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
22126 (grub_probefs_SOURCES): Likewise.
22127 (grub_emu_SOURCES): Likewise.
22128 (pkgdata_MODULES): Add `sfs.mod'.
22129 (sfs_mod_SOURCES): New variable.
22130 (sfs_mod_CFLAGS): Likewise.
22131 (sfs_mod_LDFLAGS): Likewise.
22132
22133 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
22134 (pkgdata_MODULES): Add `sfs.mod'.
22135 (sfs_mod_SOURCES): New variable.
22136 (sfs_mod_CFLAGS): Likewise.
22137
22138 * util/grub-emu.c (main): Call `grub_sfs_init' and
22139 `grub_sfs_fini'.
22140
22141 * include/grub/fs.h (grub_sfs_init): New prototype.
22142 (grub_sfs_fini): Likewise.
22143
57bdbde3 221442005-10-07 Marco Gerards <mgerards@xs4all.nl>
22145
22146 Add support for the AFFS filesystem.
22147
22148 * fs/affs.c: New file.
22149
22150 * DISTLIST: Added `fs/affs.c'.
22151
22152 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
22153 (grub_probefs_SOURCES): Likewise.
22154 (grub_emu_SOURCES): Likewise.
22155 (pkgdata_MODULES): Add `affs.mod'.
22156 (affs_mod_SOURCES): New variable.
22157 (affs_mod_CFLAGS): Likewise.
22158 (affs_mod_LDFLAGS): Likewise.
22159
22160 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
22161 (pkgdata_MODULES): Add `affs.mod'.
22162 (affs_mod_SOURCES): New variable.
22163 (affs_mod_CFLAGS): Likewise.
22164
22165 * util/grub-emu.c (main): Call `grub_affs_init' and
22166 `grub_affs_fini'.
22167
22168 * include/grub/fs.h (grub_affs_init): New prototype.
22169 (grub_affs_fini): Likewise.
22170
047b67e0 221712005-10-01 Marco Gerards <mgerards@xs4all.nl>
22172
22173 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
22174
59b8208a 221752005-10-01 Marco Gerards <mgerards@xs4all.nl>
22176
22177 * configure.ac: Accept `x86_64' as host_cpu. In that case add
22178 `-m32' to CFLAGS.
22179
22180 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
22181 linking.
f19dbdb7 22182
59b8208a 22183 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
22184 (COMMON_LDFLAGS): New variable.
22185 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
22186 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
22187 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
22188 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
22189 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
22190 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
22191 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
22192 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
22193 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
22194 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
22195 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
22196 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
22197 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
22198 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
22199 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
22200 variables.
22201 (normal_mod_ASFLAGS): Add `-m32'.
22202
22203 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
22204 (grub_host_size_t, grub_host_ssize_t): New types.
22205 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 22206 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 22207 `GRUB_HOST_SIZEOF_VOID_P'.
22208
22209 * include/grub/kernel.h (struct grub_module_header): Type of
22210 member offset changed to `grub_host_off_t'. Type of member size
22211 changed to `grub_host_size_t'.
22212 (struct grub_module_info): Type of member offset changed to
22213 `grub_host_off_t'. Type of member size changed to
22214 `grub_host_size_t'.
22215
b4093103 222162005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
22217
22218 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 22219
b4093103 22220 * kern/i386/pc/startup.S (multiboot_header): New label.
22221 (multiboot_entry): Likewise.
22222 (multiboot_trampoline): Likewise.
22223
22224 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
22225 Increased to 0x4A0.
22226
22227 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
22228 put parentheses after a question mark.
22229 [!GRUB_UTIL] (my_mod): New variable.
22230
22231 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
22232
b2499b29 222332005-09-28 Marco Gerards <mgerards@xs4all.nl>
22234
22235 Adds support for the XFS filesystem. Btrees are not supported
22236 yet.
22237
22238 * fs/xfs.c: New file.
22239
22240 * DISTLIST: Added `fs/xfs.c'.
22241
22242 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
22243 (grub_probefs_SOURCES): Likewise.
22244 (grub_emu_SOURCES): Likewise.
22245 (pkgdata_MODULES): Add `xfs.mod'.
22246 (xfs_mod_SOURCES): New variable.
22247 (xfs_mod_CFLAGS): Likewise.
22248
22249 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
22250 (pkgdata_MODULES): Add `xfs.mod'.
22251 (xfs_mod_SOURCES): New variable.
22252 (xfs_mod_CFLAGS): Likewise.
22253
22254 * util/grub-emu.c (main): Call `grub_xfs_init' and
22255 `grub_xfs_fini'.
22256
22257 * include/grub/fs.h (grub_xfs_init): New prototype.
22258 (grub_xfs_fini): Likewise.
22259
f19dbdb7 22260
83d37a62 222612005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
22262
22263 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
22264 color modes, allow greater than 16 colors to be configured as
22265 a default palette.
22266
47d2d65e 222672005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
22268
22269 * normal/completion.c (complete_arguments): Add the qualifier
22270 const into OPTIONS.
22271
22272 From Omniflux <omniflux+lists@omniflux.com>:
22273 * include/grub/terminfo.h: New file.
22274 * include/grub/tparm.h: Likewise.
22275 * include/grub/i386/pc/serial.h: Likewise.
22276 * term/terminfo.c: Likewise.
22277 * term/tparm.c: Likewise.
22278 * term/i386/pc/serial.c: Likewise.
22279 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
22280 serial.mod.
22281 (terminfo_mod_SOURCES): New variable.
22282 (terminfo_mod_CFLAGS): Likewise.
22283 (serial_mod_SOURCES): Likewise.
22284 (serial_mod_CFLAGS): Likewise.
22285
48b671ff 222862005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
22287
22288 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
22289 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
22290 and kern/powerpc/ieee1275/cmain.c, respectively.
22291
22292 * boot/powerpc/ieee1275/crt0.S: Moved to ...
22293 * kern/powerpc/ieee1275/crt0.S: ... here.
22294
22295 * boot/powerpc/ieee1275/cmain.c: Moved to ...
22296 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 22297
48b671ff 22298 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
22299 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
22300 instead of boot/powerpc/ieee1275/crt0.S and
22301 boot/powerpc/ieee1275/cmain.c, respectively.
22302
22303 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
22304 sectors. It was not used anyway.
22305
09fc77a7 223062005-08-30 Hollis Blanchard <hollis@penguinppc.org>
22307
22308 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
22309 `unused parameter' warning.
22310
003789c7 223112005-08-30 Hollis Blanchard <hollis@penguinppc.org>
22312
22313 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
22314 function.
22315 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
22316 getcharwidth.
22317
67f44c86 223182005-08-28 Marco Gerards <metgerards@student.han.nl>
22319
22320 * include/grub/normal.h (enum grub_completion_type): Added
22321 `GRUB_COMPLETION_TYPE_ARGUMENT'.
22322
22323 * normal/cmdline.c (print_completion): Handle
22324 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
22325 * normal/menu_entry.c (store_completion): Likewise.
22326
22327 * normal/completion.c (complete_arguments): New function.
22328 (grub_normal_do_completion): Call `complete_arguments' when the
22329 current words start with a dash.
22330
0b5abe02 223312005-08-27 Marco Gerards <metgerards@student.han.nl>
22332
22333 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
22334 `gzio.mod' instead of `io.mod').
22335
d9864ee1 223362005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
22337
22338 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
22339 (DISTDIRS): Added io and video.
22340 Rewrite the search routine to make an output consistently.
22341
22342 * DISTLIST: Added conf/sparc64-ieee1275.mk,
22343 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
22344 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
22345 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
22346 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
22347 util/powerpc/ieee1275/misc.c.
f19dbdb7 22348
d9864ee1 22349 * include/grub/gzio.h: New file.
22350 * io/gzio.c: Likewise.
f19dbdb7 22351
d9864ee1 22352 * kern/file.c (grub_file_close): Call grub_device_close only if
22353 FILE->DEVICE is not NULL.
22354
22355 * include/grub/mm.h [!NULL] (NULL): New macro.
22356
22357 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
22358
22359 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
22360 (pkgdata_MODULES): Added gzio.mod.
22361 (gzio_mod_SOURCES): New variable.
22362 (gzio_mod_CFLAGS): Likewise.
22363
22364 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
22365 (pkgdata_MODULES): Added gzio.mod.
22366 (gzio_mod_SOURCES): New variable.
22367 (gzio_mod_CFLAGS): Likewise.
22368
22369 * commands/cat.c: Include grub/gzio.h.
22370 (grub_cmd_cat): Use grub_gzfile_open instead of
22371 grub_file_open.
f19dbdb7 22372
d9864ee1 22373 * commands/cmp.c: Include grub/gzio.h.
22374 (grub_cmd_cmp): Use grub_gzfile_open instead of
22375 grub_file_open.
22376
22377 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
22378 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
22379 grub_file_open.
22380 (grub_rescue_cmd_module): Likewise.
22381
fa46f4b5 223822005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
22383
22384 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
22385 kern/sparc64/ieee1275/init.c because it contains _start.
22386 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
22387
e9211b5d 223882005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
22389
22390 * configure.ac: Add support for sparc64 host with ieee1275
22391 firmware.
22392 * configure: Generated from configure.ac.
22393 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
22394 instead of int.
22395 (grub_ofdisk_read): Likewise.
22396 (grub_ofdisk_open): Use %p to print pointer values, and cast the
22397 pointers as (void *) to remove a warning.
22398 (grub_ofdisk_close): Likewise.
22399 (grub_ofdisk_read): Likewise.
22400 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
22401 returns, so make it return void to remove a warning.
22402 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
22403 Corresponding prototype change.
22404 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
22405 values, and cast the pointers as (void *) to remove a warning.
22406 (grub_mm_dump): Likewise.
22407 * conf/sparc64-ieee1275.mk: New file.
22408 * conf/sparc64-ieee1275.rmk: Likewise.
22409 * include/grub/sparc64/setjmp.h: Likewise.
22410 * include/grub/sparc64/types.h: Likewise.
22411 * include/grub/sparc64/ieee1275/console.h: Likewise.
22412 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
22413 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
22414 * include/grub/sparc64/ieee1275/time.h: Likewise.
22415 * kern/sparc64/cache.c: Likewise.
22416 * kern/sparc64/dl.c: Likewise.
22417 * kern/sparc64/ieee1275/init.c: Likewise.
22418 * kern/sparc64/ieee1275/openfw.c: Likewise.
22419
385c6a92 224202005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
22421
22422 * util/console.c (grub_ncurses_putchar): If C is greater than
22423 0x7f, set C to a question mark.
22424 (grub_ncurses_getcharwidth): New function.
22425 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
22426 getcharwidth.
22427
22428 * normal/menu.c (print_entry): Made aware of Unicode. First,
22429 convert TITLE to UCS-4, and predict the cursor position by
22430 grub_getcharwidth.
22431
22432 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
22433 const to SRC.
22434 * kern/misc.c (grub_utf16_to_utf8): Likewise.
22435
16ccb8b1 224362005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
22437
22438 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
22439 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
22440 grub_strcat.
22441
22442 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
22443 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
22444 grub_strcpy and grub_strlen. Take it into account that a space
22445 character is inserted as a delimiter.
22446
6a85ce79 224472005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
22448
22449 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 22450 invalid magic in the error.
6a85ce79 22451
22452 * commands/search.c: New file.
f19dbdb7 22453
6a85ce79 22454 * util/grub-emu.c (main): Call grub_search_init and
22455 grub_search_fini.
22456
22457 * kern/rescue.c (grub_rescue_print_disks): Removed.
22458 (grub_rescue_print_devices): New function.
22459 (grub_rescue_cmd_ls): Use grub_device_iterate with
22460 grub_rescue_print_devices instead of grub_disk_dev_iterate with
22461 grub_rescue_print_disks.
22462
22463 * kern/partition.c (grub_partition_iterate): Return the result of
22464 PARTMAP->ITERATE instead of GRUB_ERRNO.
22465
22466 * kern/device.c: Include grub/partition.h.
22467 (grub_device_iterate): New function.
22468
22469 * include/grub/partition.h (grub_partition_iterate): Return int
22470 instead of grub_err_t.
22471
22472 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
22473 prototype.
22474 [GRUB_UTIL] (grub_search_fini): Likewise.
22475
22476 * include/grub/device.h (grub_device_iterate): New prototype.
22477
22478 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
22479 commands/search.c.
22480 (pkgdata_MODULES): Added search.mod.
22481 (search_mod_SOURCES): New variable.
22482 (search_mod_CFLAGS): Likewise.
22483
22484 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
22485 (pkgdata_MODULES): Added search.mod.
22486 (search_mod_SOURCES): New variable.
22487 (search_mod_CFLAGS): Likewise.
22488
22489 * commands/ls.c (grub_ls_list_disks): Renamed to ...
22490 (grub_ls_list_devices): ... this, and use grub_device_iterate.
22491 All callers changed.
22492
22493 * DISTLIST: Added commands/search.c.
22494
ef095434 224952005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
22496
22497 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
22498 conversion.
22499 (grub_getcharwidth): New function.
22500
22501 * kern/misc.c (grub_utf8_to_ucs4): New function.
22502
22503 * include/grub/term.h (struct grub_term): Added a new member
22504 "getcharwidth".
22505 (grub_getcharwidth): New prototype.
22506
22507 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
22508
22509 * term/i386/pc/console.c (map_char): New function. Segregated from
22510 grub_console_putchar.
22511 (grub_console_putchar): Use map_char.
22512 (grub_console_getcharwidth): New function.
22513 (grub_console_term): Specified grub_console_getcharwidth as
22514 getcharwidth.
22515
22516 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
22517 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
22518
22519 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
22520 GRUB_ERRNO.
22521 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
22522 on grub_strtoul completely.
22523 (write_char): Declare local variables in the beginning of the
22524 function.
22525 (grub_vesafb_getcharwidth): New function.
22526 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
22527 getcharwidth.
22528
1f0a95e4 225292005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
22530
22531 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
22532 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
22533 commands/i386/pc/vbetest.c.
22534
22535 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
22536 call grub_vbe_get_controller_info again, because the returned
22537 information is volatile.
22538 (grub_vbe_set_video_mode): Mostly rewritten.
22539 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
22540 grub_vbe_status_t correctly.
22541 (grub_vbe_get_video_mode_info): Likewise.
22542 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
22543 several if statements.
22544
22545 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
22546 * commands/i386/pc/vbeinfo.c: ... this.
22547
22548 * commands/i386/pc/vbe_test.c: Renamed to ...
22549 * commands/i386/pc/vbetest.c: ... this.
22550
22551 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
22552 ...
22553 (grub_cmd_vbeinfo): ... this. Save video modes before
22554 iterating. Skip a video mode, if it is not available, not enough
22555 information is given or it is monochrome. Show the memory
22556 model. Leave the interpretation of MODEVAR to grub_strtoul
22557 completely.
22558 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
22559 (GRUB_MOD_FINI): Likewise.
22560
22561 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
22562 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
22563 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
22564 duplicated grub_env_get. Leave the interpretation of MODEVAR to
22565 grub_strtoul completely.
22566 (real2pm): Removed.
22567 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
22568 (GRUB_MOD_FINI): Likewise.
22569
22570 * normal/misc.c: Include grub/mm.h.
22571
22572 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
22573 vbe_list_modes with vbetest.mod and vbeinfo.mod.
22574 (vbe_list_modes_mod_SOURCES): Removed.
22575 (vbe_list_modes_mod_CFLAGS): Likewise.
22576 (vbe_test_mod_SOURCES): Likewise.
22577 (vbe_test_mod_CFLAGS): Likewise.
22578 (vbeinfo_mod_SOURCES): New variable.
22579 (vbeinfo_mod_CFLAGS): Likewise.
22580 (vbetest_mod_SOURCES): Likewise.
22581 (vbetest_mod_CFLAGS): Likewise.
22582
992ffbbe 225832005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
22584
22585 * normal/misc.c: New file.
22586
22587 * DISTLIST: Added normal/misc.c.
f19dbdb7 22588
992ffbbe 22589 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
22590 DISK to HOOK. Call HOOK with DISK.
22591 * partmap/apple.c (apple_partition_map_iterate): Likewise.
22592 * partmap/pc.c (pc_partition_map_iterate): Likewise.
22593 * partmap/sun.c (sun_partition_map_iterate): Likewise.
22594
22595 * normal/menu_entry.c (struct screen): Added a new member
22596 "completion_shown".
22597 (completion_buffer): New global variable.
22598 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
22599 (store_completion): New function.
22600 (complete): Likewise.
22601 (clear_completions): Likewise.
22602 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
22603 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
22604 a tab, call complete.
22605
22606 * normal/completion.c (disk_dev): Removed.
22607 (print_simple_completion): Likewise.
22608 (print_partition_completion): Likewise.
22609 (print_func): New global variable.
22610 (add_completion): Do not take the arguments WHAT or PRINT any
22611 longer. Added a new argument TYPE. Instead of printing directly,
22612 call PRINT_FUNC if not NULL.
22613 All callers changed.
22614 (complete_device): Use a local variable DEV instead of
22615 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
22616 (grub_normal_do_completion): Take a new argument HOOK. Do not
22617 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
22618 empty string, return NULL instead.
22619 All callers changed.
22620
22621 * normal/cmdline.c (print_completion): New function.
22622
22623 * kern/partition.c (grub_partition_iterate): Add an argument DISK
22624 to HOOK.
22625 All callers changed.
22626
22627 * kern/disk.c (grub_print_partinfo): Removed.
22628
22629 * include/grub/partition.h (struct grub_partition_map): Add a new
22630 argument DISK into HOOK of ITERATE.
22631 (grub_partition_iterate): Add a new argument DISK to HOOK.
22632
22633 * include/grub/normal.h (enum grub_completion_type): New enum.
22634 (grub_completion_type_t): New type.
22635 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
22636 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
22637 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
22638 (GRUB_COMPLETION_TYPE_FILE): Likewise.
22639 (grub_normal_do_completion): Added a new argument HOOK.
22640 (grub_normal_print_device_info): New prototype.
22641
22642 * include/grub/disk.h (grub_print_partinfo): Removed.
22643
22644 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
22645 (normal_mod_SOURCES): Likewise.
22646 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22647 (normal_mod_SOURCES): Likewise.
22648
22649 * commands/ls.c (grub_ls_list_disks): Use
22650 grub_normal_print_device_info instead of grub_print_partinfo. Free
22651 PNAME.
22652 (grub_ls_list_files): Use grub_normal_print_device_info instead of
22653 duplicating the code.
22654
0bd41162 226552005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
22656
22657 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 22658 follow GCS more precisely.
22659 * commands/i386/pc/vbe_test.c: Likewise.
22660 * include/grub/i386/pc/vbe.h: Likewise.
22661 * term/i386/pc/vesafb.c: Likewise.
22662 * video/i386/pc/vbe.c: Likewise.
0bd41162 22663
6323696a 226642005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
22665
22666 * DISTLIST: Added term/i386/pc/vesafb.c
22667 DISTLIST: Added video/i386/pc/vbe.c
22668 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
22669 DISTLIST: Added commands/i386/pc/vbe_test.c.
22670 * commands/i386/pc/vbe_list_modes.c: New file.
22671 * commands/i386/pc/vbe_test.c: Likewise.
22672 * term/i386/pc/vesafb.c: Likewise.
22673 * video/i386/pc/vbe.c: Likewise.
22674 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
22675 (grub_vbe_probe) Added prototype.
22676 (grub_vbe_set_video_mode) Likewise.
22677 (grub_vbe_get_video_mode) Likewise.
22678 (grub_vbe_get_video_mode_info) Likewise.
22679 (grub_vbe_set_pixel_rgb) Likewise.
22680 (grub_vbe_set_pixel_index) Likewise.
22681 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
22682 (pkgdata_MODULES): Added vesafb.mod.
22683 (pkgdata_MODULES): Added vbe_list_modes.mod.
22684 (pkgdata_MODULES): Added vbe_test.mod.
22685 (vbe_mod_SOURCES): Added.
22686 (vbe_mod_CFLAGS): Likewise.
22687 (vesafb_mod_SOURCES): Likewise.
22688 (vesafb_mod_CFLAGS): Likewise.
22689 (vbe_list_modes_mod_SOURCES): Likewise.
22690 (vbe_list_modes_mod_CFLAGS): Likewise.
22691 (vbe_test_mod_SOURCES): Likewise.
22692 (vbe_test_mod_CFLAGS): Likewise.
22693
0a74e62f 226942005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
22695
0a74e62f 22696 * normal/command.c (grub_command_execute): If INTERACTIVE is
22697 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
22698 CMDLINE. Disable the pager if INTERACTIVE is true.
22699 All callers are changed.
22700
22701 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
22702 before reading a config file.
22703 * normal/main.c (read_config_file): Even if a command is not
22704 found, register it if it is within an entry.
22705
22706 * util/grub-emu.c: Include sys/types.h and unistd.h.
22707 (options): Added --hold.
22708 (struct arguments): Added a new member "hold".
22709 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
22710 missing.
22711 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
22712 cleared by a debugger, if it is not zero.
22713
22714 * include/grub/normal.h (grub_command_execute): Add an argument
22715 INTERACTIVE.
22716
e51f85ae 227172005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
22718
22719 * DISTLIST: Added include/grub/i386/pc/vbe.h.
22720
e9c6f39b 227212005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
22722
22723 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
22724 program with another one, because the old one didn't detect a bug
22725 in gcc-3.4. Always use regparm 2, because the new test is still
22726 not enough for gcc-4.0. Someone must investigate a simple test
22727 case which detects a bug in gcc-4.0.
22728
8de3495c 227292005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
22730
22731 * DISTLIST: Added normal/completion.c.
22732
22733 * normal/completion.c: New file.
f19dbdb7 22734
8de3495c 22735 * term/i386/pc/console.c (grub_console_getwh): New function.
22736 (grub_console_term): Assign grub_console_getwh to getwh.
22737
22738 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
22739 function is defined in normal/completion.c as
22740 grub_normal_do_completion.
22741 (grub_cmdline_get): Use grub_normal_do_completion instead of
22742 grub_tab_complete.
22743
22744 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
22745 returns non-zero, otherwise return 0.
22746 (grub_partition_iterate): First, probe the partition map. Then,
22747 call ITERATE only for this partition map.
22748
22749 * kern/misc.c (grub_strncmp): Rewritten.
22750
22751 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
22752 returns non-zero. Otherwise return 0.
22753
22754 * include/grub/partition.h (grub_partition_map_iterate): Return
22755 int instead of void.
22756
22757 * include/grub/normal.h (grub_normal_do_completion): New prototype.
22758
22759 * include/grub/misc.h (grub_strncmp): Change the type of N to
22760 grub_size_t.
22761
22762 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
22763 of void.
22764
22765 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 22766 unsigned explicitly before comparing it with I.
8de3495c 22767
22768 * kern/main.c (grub_env_write_root): Add the attribute unused into
22769 VAR.
22770
22771 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
22772 normal/completion.c.
22773 (normal_mod_SOURCES): Likewise.
22774 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22775 (normal_mod_SOURCES): Likewise.
22776
22777 * normal/command.c (grub_iterate_commands): If ITERATE returns
22778 non-zero, return one immediately.
22779
e85e144b 227802005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
22781
22782 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
22783 * kern/i386/pc/startup.S: Updated Global Descriptor table's
22784 descriptions.
22785 (grub_vbe_get_controller_info): New function.
22786 (grub_vbe_get_mode_info): Likewise.
22787 (grub_vbe_set_mode): Likewise.
22788 (grub_vbe_get_mode): Likewise.
22789 (grub_vbe_set_memory_window): Likewise.
22790 (grub_vbe_get_memory_window): Likewise.
22791 (grub_vbe_set_scanline_length): Likewise.
22792 (grub_vbe_get_scanline_length): Likewise.
22793 (grub_vbe_set_display_start): Likewise.
22794 (grub_vbe_get_display_start): Likewise.
22795 (grub_vbe_set_palette_data): Likewise.
22796 * include/grub/i386/pc/vbe.h: New file.
22797
c46153d2 227982005-08-08 Hollis Blanchard <hollis@penguinppc.org>
22799
22800 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
22801 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
22802 * DISTLIST: Likewise.
22803 * kern/ieee1275/of.c: Moved to ...
22804 * kern/ieee1275/ieee1275.c: ... here.
22805
0cb90c45 228062005-08-08 Hollis Blanchard <hollis@penguinppc.org>
22807
22808 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
22809 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
22810 Pass 0 as `end' parameter to grub_strtoul().
22811
a19fb360 228122005-08-08 Hollis Blanchard <hollis@penguinppc.org>
22813
22814 * include/grub/powerpc/ieee1275/console.h: Do not include
22815 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
22816 ifdef.
22817 (grub_console_cur_color): Remove i386-specific prototype.
22818 (grub_console_real_putchar): Likewise.
22819 (grub_console_checkkey): Likewise.
22820 (grub_console_getkey): Likewise.
22821 (grub_console_getxy): Likewise.
22822 (grub_console_gotoxy): Likewise.
22823 (grub_console_cls): Likewise.
22824 (grub_console_setcursor): Likewise.
22825 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
22826 Include <grub/machine/console.h>.
22827 * term/ieee1275/ofconsole.c: Likewise.
22828
4ac9bd04 228292005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
22830
22831 * Makefile.in (LIBLZO): New variable.
22832
22833 * configure.ac: Check for LZO version 2.
22834
22835 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
22836 lzo/lzo1x.h instead of lzo1x.h.
22837
22838 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
22839 of -llzo.
22840
22841 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
22842 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
22843
22844 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
22845 copying the data from PARTITION to P.
22846
f4917dfd 228472005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
22848
22849 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
22850 negative, unload the module.
22851
22852 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
22853 map is "pc_partition_map" but not "pc".
22854 (usage): Fix the description. The options are --boot-image and
22855 --core-image but not --boot-file or --core-file.
22856 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
22857 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
22858 DEFAULT_DIRECTORY.
22859
22860 * util/i386/pc/grub-install.in: Do not specify --boot-file or
22861 --core-file. Specify INSTALL_DEVICE as an argument.
22862
22863 * util/console.c: Include config.h.
22864 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
22865 [HAVE_NCURSES_H]: Include ncurses.h.
22866 [HAVE_CURSES_H]: Include curses.h.
22867 [!A_NORMAL] (A_NORMAL): Defined as zero.
22868 [!A_STANDOUT] (A_STANDOUT): Likewise.
22869
22870 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
22871 -lncurses.
22872 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
22873
22874 * configure.ac: Check for curses libraries and headers.
22875
22876 * Makefile.in (LIBCURSES): New variable.
22877
22878 * genmk.rb (Script::rule): Set the executable bits.
22879
22880 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
22881 name of the PC partition map is "pc_partition_map" but not "pc".
22882
0e143073 228832005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
22884
22885 * util/i386/pc/grub-install.in (grub_probefs): New variable.
22886 (modules): Likewise.
22887 (usage): Added descriptions for --modules and --grub-probefs.
22888 Handle --modules and --grub-probefs. Save the arguments in MODULES
22889 and GRUB_PROBEFS, respectively.
22890 Auto-detect a filesystem module against GRUBDIR. If the result is
22891 empty and modules are not specified explicitly, abort the
22892 installation. Add the result to MODULES.
22893
22894 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
22895 disk/powerpc/ieee1275/ofdisk.c,
22896 include/grub/powerpc/ieee1275/init.h and
22897 term/powerpc/ieee1275/ofconsole.c.
22898 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
22899 term/ieee1275/ofconsole.c.
22900
22901 * include/grub/powerpc/ieee1275/console.h: Resurrected.
22902
22903 * COPYING: Upgraded to the latest version. Only the address of the
22904 FSF office has changed.
f19dbdb7 22905
efd6e6d5 229062005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
22907
22908 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
22909 kern/ieee1275.c with kern/ieee1275/of.c.
22910
22911 * kern/ieee1275.c: Moved to ...
22912 * kern/ieee1275/of.c: ... here.
22913
8ceafda2 229142005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
22915
22916 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 22917 readability.
8ceafda2 22918
22919 * config.guess: Updated to the latest version from gnulib.
22920 * config.sub: Likewise.
22921 * install.sh: Likewise.
22922 * mkinstalldirs: Likewise.
22923
22924 * include/grub/console.h: Removed. This file is arch-specific. Do
22925 not put this in include/grub.
22926
22927 * include/grub/i386/pc/console.h: Resurrected.
22928
22929 * util/console.c: Include grub/machine/console.h instead of
22930 grub/console.h.
22931 * util/grub-emu.c: Likewise.
22932
267f6cd9 229332005-08-04 Marco Gerards <metgerards@student.han.nl>
22934
22935 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
22936 hardcoded value.
f19dbdb7 22937
267f6cd9 22938 From Vincent Pelletier <subdino2004@yahoo.fr>
22939 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
22940 Redefined to use grub_getwh.
22941 (grub_term): New member named getwh.
22942 (grub_getwh): New prototype.
22943 * kern/term.c (grub_getwh): New function.
22944 * term/i386/pc/console.c (grub_console_getwh): New function.
22945 (grub_console_term): New member `getwh'.
22946 * term/i386/pc/vga.c (grub_vga_getwh): New function.
22947 (grub_vga_term): New member `getwh'.
0b5abe02 22948 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 22949 grub_ssize_t.
22950 (grub_ofconsole_getw): New function.
22951 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
22952 (grub_ofconsole_term): New field named getwh and new initial
22953 value.
22954
3be7266d 229552005-08-03 Hollis Blanchard <hollis@penguinppc.org>
22956
22957 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
22958 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
22959 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
22960 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
22961 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
22962 of <grub/machine/ieee1275.h>.
22963 * commands/ieee1275/reboot.c: Likewise.
22964 * boot/powerpc/ieee1275/ieee1275.c: Move ...
22965 * kern/ieee1275.c: ... to here. All users updated. Change all
22966 parameter structs to use new type `grub_ieee1275_cell_t'.
22967 * term/powerpc/ieee1275/ofconsole.c: Move ...
22968 * term/ieee1275/ofconsole.c: ... to here. All users updated.
22969 * disk/powerpc/ieee1275/ofdisk.c: Move ...
22970 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
22971 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
22972 to return int.
22973 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
22974 Remove unused prototypes. All users updated.
22975 * include/grub/powerpc/ieee1275/console.h: Removed.
22976 * include/grub/powerpc/ieee1275/ieee1275.h: Define
22977 `grub_ieee1275_cell_t'.
22978 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
22979 Cast comparisons with -1 to the correct type.
22980 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
22981 type to match `grub_ieee1275_entry_fn'.
22982
8b5f3938 229832005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
22984
22985 * DISTLIST: Added util/i386/pc/grub-probefs.c.
22986
22987 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
22988 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
22989 partmap/sun.c.
22990 (grub_probefs_SOURCES): New variable.
22991
22992 * util/i386/pc/grub-probefs.c: New file.
22993
22994 * util/i386/pc/grub-setup.c (main): Call
22995 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
22996 grub_hfs_init and grub_jfs_init to initialize the system. Call
22997 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
22998 grub_pc_partition_map_fini to finish the system.
22999
ea409713 230002005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
23001
23002 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
23003 function.
23004 (grub_multiboot_load_elf32): Likewise.
23005 (grub_multiboot_is_elf64): Likewise.
23006 (grub_multiboot_load_elf64): Likewise.
23007 (grub_multiboot_load_elf): Likewise.
23008 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
23009 an ELF32 or ELF64 file.
23010 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
23011
23012 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
23013 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
23014 NULL before calling FS->LABEL.
23015 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
23016 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
23017 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
23018 before calling FS->LABEL.
23019
141a288b 230202005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
23021
23022 * util/i386/pc/grub-install.in (datadir): New variable.
23023 (libdir): Removed.
23024 (pkgdatadir): New variable.
23025 (pkglibdir): Removed.
23026
0d5f8a54 230272005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
23028
23029 * DISTLIST: Added util/i386/pc/grub-install.in.
23030
23031 * util/i386/pc/grub-install.in: New file.
23032
23033 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
23034 (grub_install_SOURCES): Likewise.
23035
23036 * genmk.rb: Added support for scripts.
23037 (Script): New class.
23038 (scripts): New variable.
23039
23040 * Makefile.in (install-local): Install sbin_SCRIPTS by
23041 INSTALL_SCRIPT.
23042 (uninstall): Remove sbin_SCRIPTS.
23043
23044 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
23045 device, try to get a GRUB device by
23046 grub_util_biosdisk_get_grub_dev.
23047 Free DEST_DEV.
23048
23049 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
23050 description for --device-map.
23051
5f968e1e 230522005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
23053
23054 Change the semantics of variable hooks. They now return strings
23055 instead of error values.
f19dbdb7 23056
5f968e1e 23057 * util/i386/pc/grub-setup.c: Include grub/env.h.
23058 (setup): Use grub_device_set_root instead of grub_env_set.
23059
23060 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
23061 grub_env_get instead of grub_device_set_root and
23062 grub_device_get_root, respectively.
23063
23064 * kern/main.c (grub_env_write_root): New function.
23065 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
23066 grub_env_set instead of grub_device_set_root.
23067
23068 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
23069 many variables.
23070 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
23071 rather than calling ENV->WRITE_HOOK afterwards.
23072 (grub_env_get): Return the result of ENV->READ_HOOK rather than
23073 passing a pointer of a pointer.
23074 (grub_register_variable_hook): Change the types of "read_hook" and
23075 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
23076 respectively.
23077 Allocate the default empty string on the heap, because this string
23078 may be freed later.
23079
23080 * kern/device.c: Include grub/env.h.
23081 (grub_device_set_root): Removed.
23082 (grub_device_get_root): Likewise.
23083 (grub_device_open): Use grub_env_get instead of
23084 grub_device_get_root.
23085
23086 * include/grub/env.h (grub_env_read_hook_t): New type.
23087 (grub_env_write_hook_t): Likewise.
23088 (grub_env_var): Change the types of "read_hook" and "write_hook"
23089 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
23090 (grub_register_variable_hook): Likewise.
23091
23092 * include/grub/device.h (grub_device_set_root): Removed.
23093 (grub_device_set_root): Likewise.
23094
23095 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
23096 make sure that DIRNAME terminates with '/', so that
23097 grub_fat_find_dir will fail if PATH is not a directory.
23098
23099 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
23100 from DIRNAME.
23101 Use the qualifier auto for print_files and print_files_long.
23102 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
23103 as a regular file.
23104 Put a newline only if there is no error.
23105 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
23106 used.
23107
896f0afd 231082005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
23109
23110 * kern/partition.c (grub_partition_probe): Initialize PART to
23111 NULL. Otherwise, when no partition map is registered, this returns
23112 a garbage.
23113
b28b81b2 231142005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
23115
23116 * partmap/apple.c (apple_partition_map_iterate): Check if POS
23117 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
23118 valid.
23119
5f3607e0 231202005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
23121
23122 * commands/ls.c (grub_ls_list_disks): Print the filesystem
23123 information on each device, if it does not have partitions. Print
23124 "Device" instead of "Disk", because this function is not specific
23125 to disk devices.
23126
23127 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
23128 static to ensure that it is put on the memory rather than a
23129 register.
23130
502c87e8 231312005-07-17 Yoshinori Okuji <okuji@enbug.org>
23132
23133 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
23134 (grub_cat_init): Likewise.
23135 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
23136 (options): Likewise.
23137 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
23138 (grub_configfile_init): Likewise.
23139 * font/manager.c (GRUB_MOD_INIT): Likewise.
23140 * commands/help.c (GRUB_MOD_INIT): Likewise.
23141 (grub_help_init): Likewise.
23142 * normal/command.c (grub_command_init): Likewise.
23143 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
23144 * disk/loopback.c (grub_loop_init): Likewise.
23145 (GRUB_MOD_INIT): Likewise.
23146 * commands/ls.c (grub_ls_init): Likewise.
23147 (GRUB_MOD_INIT): Likewise.
23148 (options): Likewise.
23149 * commands/boot.c (grub_boot_init): Likewise.
23150 (GRUB_MOD_INIT): Likewise.
23151 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
23152 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
23153 (GRUB_MOD_INIT): Likewise.
23154 * commands/cmp.c (grub_cmp_init): Likewise.
23155 (GRUB_MOD_INIT): Likewise.
23156
23157 * normal/arg.c: Use <> instead of "" to include header files.
23158 (SHORT_ARG_HELP): New macro.
23159 (SHORT_ARG_USAGE): Likewise.
23160 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
23161 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
23162 descriptions.
23163 (find_short): Check if C is 'h' or 'u' explicitly.
23164 (grub_arg_show_help): Use space characters instead of tabs. Treat
23165 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
23166 are shown with --help and --usage only if they are not used for
23167 the command itself.
23168 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
23169 'h' and 'u'.
23170
23171 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
23172 const into "longarg". Change the type of "shortarg" to int.
23173
f806d18e 231742005-07-17 Yoshinori Okuji <okuji@enbug.org>
23175
23176 * boot/i386/pc/boot.S (boot_drive_check): New label.
23177
23178 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
23179 macro.
23180
23181 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
23182 which do not pass a boot drive correctly. Copied from GRUB Legacy.
23183
e293232b 231842005-07-17 Yoshinori Okuji <okuji@enbug.org>
23185
23186 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
23187 When turning off Gate A20, skip the check and return immediately,
23188 because this is not fatal usually.
23189
ebedfd00 231902005-07-17 Yoshinori Okuji <okuji@enbug.org>
23191
23192 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
23193 be 0x7C00 instead of 0x8000.
23194
23195 * boot/i386/pc/pxeboot.S: Rewritten.
23196
23197 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
23198 EXT_C.
23199 (gate_a20_check_state): Read a byte from 0x108000. Invert the
23200 result.
23201
654fc59f 232022005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
23203
23204 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
23205 robustness. This routine now supports a BIOS call and System
23206 Control Port A to modify the gate A20.
23207
23208 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
23209 Increased to 0x440.
23210
09f9923f 232112005-07-12 Hollis Blanchard <hollis@penguinppc.org>
23212
23213 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
23214 device path and resulting ihandle.
23215 (grub_ofdisk_close): dprintf the ihandle being closed.
23216 (grub_ofdisk_read): dprintf function parameters.
23217 * kern/mm.c (grub_mm_init_region): Likewise.
23218 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
23219 (grub_linux_boot): dprintf the Linux entry point, initrd address and
23220 size, and boot arguments.
23221 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
23222 before loading into memory.
23223 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
23224 before loading into memory.
23225
7ef504d8 232262005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
23227
23228 * kern/mm.c: Added much documentation.
23229 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
23230 8, set to 5 instead of 8.
23231
e0f050c2 232322005-07-10 Yoshinori Okuji <okuji@enbug.org>
23233
23234 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
23235
23236 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
23237 (grub_mkdevicemap_SOURCES): New variable.
23238
23239 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
23240 lib/device.c of GRUB Legacy.
23241
7224189a 232422005-07-10 Yoshinori Okuji <okuji@enbug.org>
23243
23244 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
23245 instead of PATH is NULL.
23246
68c864eb 232472005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
23248
23249 * commands/cmp.c (BUFFER_SIZE): New macro.
23250 (grub_cmd_cmp): Close the right file at the right time. Compare
23251 only data just read. Don't report files of different size as
23252 identical. Dynamically allocate buffers. Move variable
23253 declarations at the beginning of function.
23254
e6f3e614 232552005-07-09 Yoshinori Okuji <okuji@enbug.org>
23256
23257 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
23258 reverse.
23259
f8f1559a 232602004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
23261
23262 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
23263 when backspace is pressed at beginning of line.
23264
39c9d41d 232652005-07-03 Yoshinori Okuji <okuji@enbug.org>
23266
23267 * DISTLIST: Added genfslist.sh.
23268
23269 * normal/main.c (fs_module_list): New variable.
23270 (autoload_fs_module): New function.
23271 (read_fs_list): Likewise.
23272 (grub_normal_execute): Call read_fs_list.
23273
23274 * kern/fs.c (grub_fs_autoload_hook): New variable.
23275 (grub_fs_probe): Added support for auto-loading.
23276
23277 * include/grub/normal.h (struct grub_fs_module_list): New struct.
23278 (grub_fs_module_list_t): New type.
23279
23280 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
23281 (grub_fs_autoload_hook): New prototype.
23282
23283 * genfslist.sh: New file.
f19dbdb7 23284
39c9d41d 23285 * genmk.rb: Added a rule to generate a filesystem list.
23286
121c1d83 232872005-06-30 Marco Gerards <metgerards@student.han.nl>
23288
23289 * configure.ac: Fix the test for cross-compiling.
23290
23291 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
23292 define GRUB_UTIL anymore.
23293
23294 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
23295 so this function works on other systems than just big endian.
23296 (load_modules): Likewise.
23297 (add_segments): Likewise.
23298
e75d76e1 232992005-06-23 Hollis Blanchard <hollis@penguinppc.org>
23300
23301 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
23302 contains `l' modifier, get a long from va_arg().
23303
50b5a0a7 233042005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
23305
23306 * kern/mm.c (grub_free): If the next free block which is being
23307 merged is the first free block, set the first block to the block
23308 being freed.
23309 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
23310
89371b20 233112005-05-08 Hollis Blanchard <hollis@penguinppc.org>
23312
23313 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
23314 `grub_ieee1275_chosen'.
23315
168d6e58 233162005-05-08 Hollis Blanchard <hollis@penguinppc.org>
23317
23318 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
23319 (grub_ieee1275_chosen): New variable.
23320 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
23321 `chosen'.
23322 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
23323 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
23324 Rename first argument to `phandle' for consistency.
23325 (grub_ieee1275_get_property_length): Likewise.
23326 (grub_ieee1275_next_property): Likewise. Change type of first argument
23327 to grub_ieee1275_phandle_t.
23328 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
23329 Move export next to declaration.
23330 (grub_ieee1275_chosen): New variable.
23331 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
23332 Correct cosmetic typo.
23333 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
23334 `grub_ieee1275_chosen'.
23335 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
23336 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
23337 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
23338 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
23339 `grub_ieee1275_chosen'.
23340
ca5baa3f 233412005-05-10 Hollis Blanchard <hollis@penguinppc.org>
23342
23343 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
23344 /chosen/bootargs.
23345 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
23346 /chosen/bootargs as "variable=value" pairs.
23347
708b345f 233482005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
23349
23350 * include/grub/misc.h (grub_dprintf): New macro.
23351 (grub_real_dprintf): New prototype.
23352 (grub_strword): Likewise.
23353 (grub_iswordseparator): Likewise.
23354 * kern/misc.c (grub_real_dprintf): New function.
23355 (grub_strword): Likewise.
23356 (grub_iswordseparator): Likewise.
23357
f4c5e67c 233582005-04-30 Hollis Blanchard <hollis@penguinppc.org>
23359
23360 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
23361 (roundup): Remove macro.
23362 (grub_ieee1275_flags): Make static.
23363 (grub_ieee1275_realmode): Remove.
23364 (grub_ieee1275_test_flag): New function.
23365 (grub_ieee1275_set_flag): Likewise.
23366 (find_options): Rename to `grub_ieee1275_find_options'; update
23367 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
23368 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
23369 (cmain): New prototype.
23370 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
23371 `grub_ieee1275_flags' directly.
23372 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
23373 machine/biosdisk.h.
23374 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
23375 Don't include grub/machine/init.h.
23376 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
23377 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
23378 Remove prototype.
23379 (grub_ieee1275_realmode): Likewise.
23380 (grub_ieee1275_flag): New enum.
23381 (grub_ieee1275_test_flag): New prototype.
23382 (grub_ieee1275_set_flag): New prototype.
23383 * include/grub/powerpc/ieee1275/init.h: Remove file.
23384 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
23385 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
23386 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
23387 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
23388 comment.
23389 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
23390 `grub_ieee1275_test_flag'.
23391 (grub_ieee1275_encode_devname): Likewise.
23392
ed16607e 233932005-04-21 Hollis Blanchard <hollis@penguinppc.org>
23394
23395 * include/grub/powerpc/ieee1275/ieee1275.h
23396 (grub_ieee1275_encode_devname): New prototype.
23397 (grub_ieee1275_get_filename): Likewise.
23398 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
23399 function.
23400 (grub_set_prefix): Likewise.
23401 (grub_machine_init): Call grub_set_prefix.
23402 * kern/powerpc/ieee1275/openfw.c: Fix typos.
23403 (grub_parse_type): New enum.
23404 (grub_ieee1275_get_devargs): New function.
23405 (grub_ieee1275_get_devname): Likewise.
23406 (grub_ieee1275_parse_args): Likewise.
23407 (grub_ieee1275_get_filename): Likewise.
23408 (grub_ieee1275_encode_devname): Likewise.
23409
be369920 234102005-03-30 Marco Gerards <metgerards@student.han.nl>
23411
23412 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
23413 `grub_loader_unset'.
23414
a5ce3a4a 234152005-03-26 Hollis Blanchard <hollis@penguinppc.org>
23416
23417 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
23418 instead of grub_ieee1275_interpret.
23419 (grub_halt_init): New function.
23420 (grub_halt_fini): Likewise.
23421 (GRUB_MOD_INIT): Correct message grammar.
23422 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
23423 instead of grub_ieee1275_interpret.
23424 (grub_reboot_init): New function.
23425 (grub_reboot_fini): Likewise.
23426 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
23427 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
23428 util/i386/pc/misc.c with commands/ieee1275/halt.c,
23429 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
23430 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
23431 function.
23432 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
23433 Add prototype.
23434 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
23435 prototype.
23436 (grub_halt): Likewise.
23437 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
23438 (cmain): Remove __attribute__((unused)).
23439 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
23440 (grub_heap_len): Likewise.
23441 (grub_machine_fini): New function.
23442 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
23443 (grub_halt): Likewise.
23444 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
23445 function.
23446 * util/powerpc/ieee1275/misc.c: New file.
23447
0058f771 234482005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
23449
23450 * DISTLIST: New file.
23451 * gendistlist.sh: Likewise.
f19dbdb7 23452
0058f771 23453 * Makefile.in (COMMON_DISTFILES): Removed.
23454 (BOOT_DISTFILES): Likewise.
23455 (CONF_DISTFILES): Likewise.
23456 (DISK_DISTFILES): Likewise.
23457 (FS_DISTFILES): Likewise.
23458 (INCLUDE_DISTFILES): Likewise.
23459 (KERN_DISTFILES): Likewise.
23460 (LOADER_DISTFILES): Likewise.
23461 (TERM_DISTFILES): Likewise.
23462 (UTIL_DISTFILES): Likewise.
23463 (DISTFILES): Likewise.
23464 (uninstall): Uninstall files in $(pkgdata_DATA).
23465 (DISTLIST): New target.
23466 (distdir): Use the contents of the file DISTLIST to get a list of
23467 distributed files.
23468
46b3b8a5 234692005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
23470
23471 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
23472 descriptor. This is ported from GRUB Legacy.
23473
23474 * gencmdlist.sh: Added an extra semicolon to make it work with
23475 old sed versions. Reported by Robert Bihlmeyer
23476 <robbe@orcus.priv.at>.
23477
5822ff87 234782005-03-08 Yoshinori Okuji <okuji@enbug.org>
23479
23480 Automatic loading of commands is supported.
f19dbdb7 23481
5822ff87 23482 * normal/main.c (read_command_list): New function.
23483 (grub_normal_execute): Call read_command_list.
23484
23485 * normal/command.c (grub_register_command): Return zero or CMD.
23486 Allocate CMD->NAME from the heap.
23487 Initialize CMD->MODULE_NAME to zero.
23488 Find the same name as well. If the same command is found and it is
23489 a dummy command, overwrite members. If it is not a dummy command,
23490 return zero.
23491 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
23492 (grub_command_find): If a dummy command is found, load a module
23493 and retry to find a command only once.
23494
23495 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
23496 make sure that each command is loaded.
23497
23498 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
23499 macro.
23500 (struct grub_command): Remove const from the member `name'.
23501 Add a new member `module_name'.
23502 (grub_register_command): Return grub_command_t.
23503
23504 * commands/help.c (grub_cmd_help): Call grub_command_find to make
23505 sure that each command is loaded.
23506
23507 * genmk.rb (PModule::rule): Specify a module name without the
23508 suffix ".mod" to gencmdlist.sh.
23509
7b1f4b57 235102005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
23511
23512 * gencmdlist.sh: New file.
f19dbdb7 23513
7b1f4b57 23514 * genmk.rb (PModule::rule): Generate a rule for a command list.
23515 Clean command.lst.
23516 Generate command.lst from $(COMMANDFILES).
23517
23518 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
23519 (DATA): Added $(pkgdata_DATA).
23520 (install-local): Install files in $(pkgdata_DATA).
23521
062aaf39 235222005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
23523
23524 * term/i386/pc/vga.c (debug_command): Removed.
23525 (GRUB_MOD_INIT): Do not register the command "debug".
23526
23527 From Hollis Blanchard:
23528 * commands/configfile.c: New file.
23529 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
23530 commands/configfile.c.
23531 (pkgdata_MODULES): Added configfile.mod.
23532 (configfile_mod_SOURCES): New variable.
23533 (configfile_mod_CFLAGS): Likewise.
23534 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
23535 commands/configfile.c.
23536 (pkgdata_MODULES): Added configfile.mod.
23537 (configfile_mod_SOURCES): New variable.
23538 (configfile_mod_CFLAGS): Likewise.
23539 * util/grub-emu.c (main): Call grub_configfile_init and
23540 grub_configfile_fini.
23541 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
23542 prototype.
23543 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 23544
cee01aa6 235452005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
23546
23547 * normal/arg.c (grub_arg_show_help): Do not show the bug report
23548 address.
23549
23550 * commands/help.c (grub_cmd_help): Do not print newlines after
23551 the last command in print_command_help.
23552
93f3a1d8 235532005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
23554
23555 * commands/default.h: New file.
23556 * commands/timeout.h: Likewise.
23557 * normal/context.c: Likewise.
f19dbdb7 23558
93f3a1d8 23559 * util/misc.c: Do not include sys/times.h.
23560 Include sys/time.h and grub/machine/time.h.
23561 (grub_get_rtc): Rewritten with gettimeofday.
23562
23563 * util/grub-emu.c (main): Call grub_default_init and
23564 grub_timeout_init before grub_normal_init, and call
23565 grub_timeout_fini and grub_default_fini after grub_main.
23566
23567 * util/console.c (grub_ncurses_checkkey): Return the read
23568 character or -1.
23569
23570 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
23571 timeouts.
23572
23573 * normal/main.c (read_config_file): Push MENU. If this fails,
23574 print an error and wait for a user input.
23575 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
23576 If a menu is empty or an error occurs, pop MENU.
23577 (grub_normal_execute): Pop and free MENU after grub_menu_run
23578 returns.
23579
23580 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
23581
23582 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
23583 include time.h.
23584 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
23585 without GRUB_UTIL.
23586 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
23587 time.h.
23588 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
23589 without GRUB_UTIL.
23590
23591 * include/grub/normal.h (struct grub_menu_list): New struct.
23592 (grub_menu_list_t): New type.
23593 (struct grub_context): New struct.
23594 (grub_context_t): New type.
23595 (grub_register_command): Got rid of EXPORT_FUNC.
23596 (grub_unregister_command): Likewise.
23597 (grub_context_get): New prototype.
23598 (grub_context_get_current_menu): Likewise.
23599 (grub_context_push_menu): Likewise.
23600 (grub_context_pop_menu): Likewise.
23601 [GRUB_UTIL] (grub_default_init): Likewise.
23602 [GRUB_UTIL] (grub_default_fini): Likewise.
23603 [GRUB_UTIL] (grub_timeout_init): Likewise.
23604 [GRUB_UTIL] (grub_timeout_fini): Likewise.
23605
23606 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
23607 commands/timeout.c and normal/context.c.
23608 (pkgdata_MODULES): Added default.mod and timeout.mod.
23609 (normal_mod_SOURCES): Added normal/context.c.
23610 (default_mod_SOURCES): New variable.
23611 (default_mod_CFLAGS): Likewise.
23612 (timeout_mod_SOURCES): Likewise.
23613 (timeout_mod_CFLAGS): Likewise.
23614 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
23615 conf/i386-pc.rmk.
23616 (pkgdata_MODULES): Added default.mod and timeout.mod.
23617 (normal_mod_SOURCES): Added normal/context.c.
23618 (default_mod_SOURCES): New variable.
23619 (default_mod_CFLAGS): Likewise.
23620 (timeout_mod_SOURCES): Likewise.
23621 (timeout_mod_CFLAGS): Likewise.
23622
23623 * Makefile.in (all-local): Added $(MKFILES).
23624
4ed2e1dd 236252005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
23626
23627 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
23628 (grub_emu_SOURCES): Likewise.
23629 (pkgdata_MODULES): Add `sun.mod'.
23630 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
23631 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
23632 `partmap/sun.c'.
23633 (pkgdata_MODULES): Add `sun.mod'.
23634 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
23635 * include/grub/partition.h (grub_sun_partition_map_init): New
23636 prototype.
23637 (grub_sun_partition_map_fini): Likewise.
23638 * partmap/sun.c: New file.
23639 * util/grub-emu.c (main): Initialize and de-initialize the sun
23640 partitionmap support.
23641
4d4e372e 236422005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
23643
23644 This implements an Emacs-like menu entry editor.
f19dbdb7 23645
4d4e372e 23646 * normal/menu_entry.c: New file.
f19dbdb7 23647
4d4e372e 23648 * util/console.c (grub_ncurses_putchar): Translate some Unicode
23649 characters to ASCII.
23650 (saved_char): New variable.
23651 (grub_ncurses_checkkey): Rewritten completely.
23652 (grub_ncurses_getkey): Likewise.
23653 (grub_ncurses_init): Call raw instead of cbreak.
23654
23655 * normal/menu.c (print_entry): Do not put a space.
23656 (init_page): Renamed to ...
23657 (grub_menu_init_page): ... this. All callers changed.
23658 (edit_menu_entry): Removed.
23659 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
23660
23661 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
23662
23663 * kern/misc.c (grub_vprintf): Call grub_refresh.
23664
23665 * normal/menu.c (DISP_LEFT): Renamed to ...
23666 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
23667 * normal/menu.c (DISP_UP): Renamed to ...
23668 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
23669 * normal/menu.c (DISP_RIGHT): Renamed to ...
23670 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
23671 * normal/menu.c (DISP_DOWN): Renamed to ...
23672 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
23673 * normal/menu.c (DISP_HLINE): Renamed to ...
23674 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
23675 * normal/menu.c (DISP_VLINE): Renamed to ...
23676 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
23677 * normal/menu.c (DISP_UL): Renamed to ...
23678 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
23679 * normal/menu.c (DISP_UR): Renamed to ...
23680 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
23681 * normal/menu.c (DISP_LL): Renamed to ...
23682 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
23683 * normal/menu.c (DISP_LR): Renamed to ...
23684 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
23685 * normal/menu.c (TERM_WIDTH): Renamed to ...
23686 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
23687 * normal/menu.c (TERM_HEIGHT): Renamed to ...
23688 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
23689 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
23690 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
23691 * normal/menu.c (TERM_MARGIN): Renamed to ...
23692 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
23693 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
23694 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
23695 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
23696 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
23697 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
23698 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
23699 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
23700 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
23701 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
23702 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
23703 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
23704 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
23705 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
23706 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
23707 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
23708 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
23709 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
23710 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
23711 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
23712 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
23713 All callers changed.
23714
23715 * include/grub/normal.h: New prototype.
23716
23717 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
23718 normal/menu_entry.c.
23719 (normal_mod_SOURCES): Likewise.
23720 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23721 (normal_mod_SOURCES): Likewise.
23722
e6b92c8a 237232005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
23724
23725 * include/grub/normal.h (grub_halt_init): New prototype.
23726 (grub_halt_fini): Likewise.
23727 (grub_reboot_init): Likewise.
23728 (grub_reboot_fini): Likewise.
23729
23730 * util/grub-emu.c: Include signal.h.
23731 (main_env): New global variable.
23732 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
23733 catch C-c.
23734 (grub_machine_fini): New function.
23735 (main): Call grub_halt_init and grub_reboot_init before
23736 grub_main, and grub_reboot_fini and grub_halt_fini after it.
23737 Call setjmp with MAIN_ENV to go back afterwards.
23738 Call grub_machine_fini right before return.
23739
23740 * include/grub/util/misc.h: Include setjmp.h.
23741 (main_env): New prototype.
23742
23743 * include/grub/kernel.h (grub_machine_fini): New prototype.
23744 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
23745 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
23746
23747 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
23748 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
23749 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 23750
e6b92c8a 23751 * util/i386/pc/misc.c: New file.
f19dbdb7 23752
e6b92c8a 23753 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
23754 util/i386/pc/misc.c, commands/i386/pc/halt.c and
23755 commands/i386/pc/reboot.c.
23756
c642636f 237572005-02-14 Guillem Jover <guillem@hadrons.org>
23758
23759 * include/grub/dl.h (grub_dl_check_header): New prototype.
23760 (grub_arch_dl_check_header): Change return type to grub_err_t,
23761 remove size parameter and export function. Update all callers.
23762 * kern/dl.c (grub_dl_check_header): New function.
23763 (grub_dl_load_core): Use `grub_dl_check_header' instead of
23764 `grub_arch_dl_check_header'. Check ELF type. Check if sections
23765 are inside the core.
23766 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
23767 independent ELF header checks.
23768 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
23769 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
23770 `grub_dl_check_header' instead of explicit checks. Check for the
23771 ELF type.
23772 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
23773 `grub_dl_check_header' instead of explicit checks. Remove arch
23774 specific ELF header checks.
23775
e6b92c8a 23776 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
23777 argument SIZE.
23778
5eabe94b 237792005-02-13 Hollis Blanchard <hollis@penguinppc.org>
23780
23781 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
23782 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
23783
1b14a681 237842005-02-12 Hollis Blanchard <hollis@penguinppc.org>
23785
23786 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 23787 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 23788 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 23789 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 23790 * partmap/amiga.c (amiga_partition_map_iterate): Return
23791 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
23792 * partmap/apple.c (apple_partition_map_iterate): Likewise.
23793
aca108aa 237942005-02-01 Guillem Jover <guillem@hadrons.org>
23795
23796 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
23797 help info.
23798
c9f9c556 237992005-01-31 Marco Gerards <metgerards@student.han.nl>
23800
23801 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
23802 Removed prototype.
23803 (grub_rescue_cmd_linux): New prototype.
23804 (grub_rescue_cmd_initrd): Likewise.
23805 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
23806 `bi_rec'.
23807 (grub_linux_release_mem): Release the memory for the initrd.
23808 (grub_load_linux): Renamed from this...
23809 (grub_rescue_cmd_linux): ...To this. Changed all callers.
23810 Changed `entry' not to be static. Loop over memory regions to
23811 find another one when the default fails.
23812 (grub_rescue_cmd_initrd): New function.
23813 (grub_linux_init): Remove function.
23814 (grub_linux_fini): Likewise.
23815 (GRUB_MOD_INIT): Register `initrd'.
23816 (GRUB_MOD_FINI): Unregister `initrd'.
23817 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
23818 Function removed.
23819 (grub_linux_normal_fini): Likewise.
23820 (GRUB_MOD_INIT): Register `initrd'.
23821 (GRUB_MOD_FINI): Unregister `initrd'.
23822
990cf3aa 238232005-01-31 Marco Gerards <metgerards@student.han.nl>
23824
23825 * commands/help.c: New file.
23826 * normal/arg.c (show_help): Renamed to...
23827 (grub_arg_show_help): ... this.
23828 * commands/i386/pc/halt.c: New file.
23829 * commands/i386/pc/reboot.c: Likewise.
23830 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
23831 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
23832 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
23833 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
23834 variables.
23835 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
23836 `commands/help.c'.
23837 (pkgdata_MODULES): Add `help.mod'.
23838 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
23839 * grub/i386/pc/init.h (grub_reboot): New prototype.
23840 (grub_halt): Likewise.
23841 * include/grub/normal.h (grub_arg_show_help): New prototype.
23842 (grub_help_init): Likewise.
23843 (grub_help_fini): Likewise.
23844 * util/grub-emu.c (main): Initialize and deinitialize the help
23845 command.
23846
23847 * normal/cmdline.c (grub_cmdline_get): Doc fix.
23848
23849 * normal/command.c (grub_command_init): Fixed the description of
23850 the `set' and `unset' commands.
23851
238522005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 23853
23854 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
23855 function.
23856 * commands/ieee1275/halt.c: New file.
23857 * commands/ieee1275/reboot.c: Likewise.
23858 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
23859 `__attribute__ ((unused))'. Some GCS related fixed.
23860 (grub_suspend_init) [GRUB_UTIL]: Function removed.
23861 (grub_suspend_fini): Likewise.
23862 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
23863 and `halt.mod'.
23864 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
23865 (halt_mod_CFLAGS): New variables.
23866 * include/grub/powerpc/ieee1275/ieee1275.h
23867 (grub_ieee1275_interpret): New prototype.
23868
1ab09cc7 238692005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
23870
23871 * include/grub/misc.h (memmove): New prototype.
23872 (memcpy): Likewise.
23873
8b8cbdb2 238742005-01-22 Hollis Blanchard <hollis@penguinppc.org>
23875
23876 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
23877 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
23878
e3741a27 238792005-01-22 Marco Gerards <metgerards@student.han.nl>
23880
23881 * kern/misc.c (grub_strndup): Function rewritten.
23882
776bd780 238832005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
23884
23885 * normal/menu.c (TERM_WIDTH): Macro redefined.
23886 (TERM_TOP_BORDER_Y): Likewise.
23887 (draw_border): Replaced while-loop by a for-loop. Make the number
23888 of lines consistent with the number of lines displayed in
23889 print_entries. Added a margin below the rectangle.
23890 (print_entry): Make the entry fit in the rectangle.
23891 (print_entries): Display the scroll arrows next to the right
23892 border.
23893
78026bce 238942005-01-21 Marco Gerards <metgerards@student.han.nl>
23895
23896 * fs/minix.c (grub_minix_find_file): Reserve more space for
23897 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
23898 `grub_strncpy' to copy `path' into it.
23899
67bbaf0f 239002005-01-21 Marco Gerards <metgerards@student.han.nl>
23901
23902 Add the loopback device, a device via which files can be accessed
23903 as devices.
f19dbdb7 23904
67bbaf0f 23905 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
23906 (pkgdata_MODULES): Add loopback.mod.
23907 (loopback_mod_SOURCES): New variable.
23908 (loopback_mod_CFLAGS): Likewise.
23909 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
23910 `disk/loopback.c'.
23911 (pkgdata_MODULES): Add loopback.mod.
23912 (loopback_mod_SOURCES): New variable.
23913 (loopback_mod_CFLAGS): Likewise.
23914 * disk/loopback.c: new file.
23915 * include/grub/normal.h (grub_loop_init): New prototype.
23916 (grub_loop_fini): New prototype.
23917 * util/grub-emu.c (main): Initialize and de-initialize loopback
23918 support.
23919 * include/grub/disk.h (grub_disk_dev_id): Add
23920 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
23921
6f1c18bd 239222005-01-20 Hollis Blanchard <hollis@penguinppc.org>
23923
23924 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
23925 function.
23926 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
23927 (suspend_mod_SOURCES): New variable.
23928 (suspend_mod_CFLAGS): Likewise.
23929 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
23930 New prototype.
23931 * commands/ieee1275/suspend.c: New file.
23932
b38551da 239332005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
23934
23935 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 23936 ((unused))' to `__attribute__ ((used))'.
b38551da 23937 (GRUB_MOD_FINI): Likewise.
23938 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
23939 * genmk.rb (PModule): Assign space to common symbols when linking
23940 modules.
23941
777aff39 239422005-01-20 Marco Gerards <metgerards@student.han.nl>
23943
23944 * include/grub/mm.h (grub_mm_init_region): Change the type of the
23945 `unsigned' arguments to `grub_size_t'.
23946 (grub_malloc): Likewise.
23947 (grub_realloc): Likewise.
23948 (grub_memalign): Likewise.
23949 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
23950 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
23951 * util/misc.c (grub_malloc): Likewise.
23952 (grub_realloc): Likewise.
23953 * kern/mm.c (get_header_from_pointer): Change the casts to
23954 `unsigned' into a cast to `grub_size_t'.
23955
23956 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
23957 point to `currnode' when `currnode' is changed.
23958
23959 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
23960 Schottelius <nico-linux@schottelius.org>.
23961
d0ff18e1 239622005-01-09 Hollis Blanchard <hollis@penguinppc.org>
23963
23964 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
23965 (note_path): Remove variable.
23966 (GRUB_IEEE1275_NOTE_NAME): New macro.
23967 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
23968 (grub_ieee1275_note_hdr): New structure.
23969 (grub_ieee1275_note_desc): Likewise.
23970 (grub_ieee1275_note): Likewise.
23971 (load_note): Remove `dir' argument. All callers updated. Remove
23972 `note_img' and `path'. Do not load a file from `note_path'.
23973 Initialize a struct grub_ieee1275_note and write that to `out'.
23974 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
23975
4ca7004c 239762005-01-05 Marco Gerards <metgerards@student.han.nl>
23977
23978 * util/misc.c (grub_util_read_image): Revert last change. It
23979 called `grub_util_read_at', which seeks from the beginning of the
23980 file.
23981
0b412211 239822005-01-04 Hollis Blanchard <hollis@penguinppc.org>
23983
23984 * TODO: Add note about endianness in grub-mkimage.
23985 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
23986 section.
23987 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
23988 (grub_mkimage_SOURCES): New target.
23989 * include/grub/kernel.h (grub_start_addr): Remove variable.
23990 (grub_end_addr): Likewise.
23991 (grub_total_module_size): Likewise.
23992 (grub_kernel_image_size): Likewise.
23993 (GRUB_MODULE_MAGIC): New constant.
23994 (grub_module_info): New structure.
23995 (grub_arch_modules_addr): New prototype.
23996 (grub_get_end_addr): Remove prototype.
23997 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
23998 * include/grub/powerpc/ieee1275/kernel.h: New file.
23999 * include/grub/util/misc.h (grub_util_get_fp_size): New
24000 prototype.
24001 (grub_util_read_at): Likewise.
24002 (grub_util_write_image_at): Likewise.
24003 * kern/main.c (grub_get_end_addr): Remove function.
24004 (grub_load_modules): Call grub_arch_modules_addr instead of using
24005 grub_end_addr. Look for a grub_module_info struct in memory. Use
24006 the grub_module_info fields instead of calling grub_get_end_addr
24007 as loop conditions. Move grub_add_unused_region code here.
24008 (grub_add_unused_region): Remove function.
24009 * kern/i386/pc/init.c: Include grub/cache.h.
24010 (grub_machine_init): Remove call to grub_get_end_addr. Remove
24011 one call to add_mem_region.
24012 (grub_arch_modules_addr): New function.
24013 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
24014 (grub_total_module_size): Likewise.
24015 Include grub/machine/kernel.h.
24016 (grub_arch_modules_addr): New function.
24017 * util/grub-emu.c (grub_end_addr): Remove variable.
24018 (grub_total_module_size): Likewise.
24019 (grub_arch_modules_addr): New function.
24020 * util/misc.c: Include unistd.h.
24021 (grub_util_get_fp_size): New function.
24022 (grub_util_read_at): Likewise.
24023 (grub_util_write_image_at): Likewise.
24024 (grub_util_read_image): Call grub_util_read_at.
24025 (grub_util_write_image): Call grub_util_write_image_at.
24026 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
24027 additional memory in kernel_img for a struct grub_module_info.
24028 Fill in that grub_module_info.
24029 * util/powerpc/ieee1275/grub-mkimage.c: New file.
24030
458786f8 240312005-01-03 Hollis Blanchard <hollis@penguinppc.org>
24032
24033 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
24034 New function.
24035 * include/grub/powerpc/ieee1275/ieee1275.h
24036 (grub_ieee1275_milliseconds): New prototype.
24037 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
24038 Change to 1000.
24039 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
24040 grub_ieee1275_milliseconds.
24041
ac507d1b 240422005-01-03 Hollis Blanchard <hollis@penguinppc.org>
24043
24044 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
24045 variable.
24046 (find_options): New function.
24047 (cmain): Call find_options.
24048 * include/grub/powerpc/ieee1275/ieee1275.h
24049 (grub_ieee1275_realmode): New extern variable.
24050 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
24051 grub_map if grub_ieee1275_realmode is false.
24052
6b8fd1c4 240532004-12-29 Marco Gerards <metgerards@student.han.nl>
24054
24055 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
24056 lines are inserted and make it work like readline. Reported by
24057 Vincent Pelletier <subdino2004@yahoo.fr>.
24058
8514a1e0 240592004-12-28 Marco Gerards <metgerards@student.han.nl>
24060
24061 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
24062
24063 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
24064 `kern/powerpc/cache.S'.
24065
924b6140 240662004-12-27 Marco Gerards <metgerards@student.han.nl>
24067
24068 * genmk.rb: Handle the `Program' class in the main loop. Written
24069 by Johan Rydberg <jrydberg@gnu.org>.
24070 (Program): New class.
24071 (programs): New variable.
24072 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
24073 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
24074 instead of "grub/kernel.h". Include <grub/machine/init.h>.
24075 (help_arch): Function removed.
24076 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
24077 `powerpc/libgcc.h' and `loader.h'.
24078 (pkgdata_PROGRAMS): New variable.
24079 (sbin_UTILITIES): Variable removed.
24080 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
24081 (grubof_SOURCES): Variable re-defined so it only includes the
24082 core functionality.
24083 (grubof_CFLAGS): Remove `-DGRUBOF'.
24084 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
24085 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
24086 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
24087 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
24088 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
24089 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
24090 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
24091 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
24092 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
24093 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
24094 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
24095 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
24096 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
24097 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
24098 (pc_mod_CFLAGS): New variables.
24099 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
24100 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
24101 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
24102 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
24103 Moved from here...
24104 * include/grub/i386/pc/init.h (grub_os_area_addr)
24105 (rub_os_area_size): ... to here.
24106 * include/grub/powerpc/ieee1275/ieee1275.h
24107 (grub_ieee1275_entry_fn): Export symbol.
24108 * include/grub/powerpc/ieee1275/init.h: New file.
24109 * include/grub/powerpc/libgcc.h: Likewise.
24110 * include/grub/cache.h: Likewise.
24111 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
24112 <hollis@penguinppc.org>.
24113 * kern/dl.c: Include <grub/cache.h>.
24114 (grub_dl_flush_cache): New function.
24115 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
24116 for this module.
24117 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
24118 (grub_console_init): Removed prototypes.
24119 (grub_machine_init): Don't initialize the modules anymore.
24120 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
24121 static.
24122 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
24123 Macro undef removed.
24124 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
24125 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
24126 relocation `R_PPC_REL32'. Return an error when the relocation is
24127 unknown.
24128 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
24129 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
24130 * util/misc.c (grub_arch_sync_caches): Likewise.
24131
e4b47e0c 241322004-12-19 Marco Gerards <metgerards@student.han.nl>
24133
24134 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
24135 `symlist.c', add `grubof_symlist.c'.
24136 (symlist.c): Variable removed.
24137 (grubof_HEADERS): Variable added.
24138 (grubof_symlist.c): New target.
24139 (kernel_syms.lst): Use `grubof_HEADERS' instead of
24140 `kernel_img_HEADERS'.
24141 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
24142 * kern/powerpc/dl.c: New file.
24143 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
24144 Function removed.
24145 (grub_arch_dl_relocate_symbols): Likewise.
24146 (grub_register_exported_symbols): Likewise.
24147
4ceb3636 241482004-12-13 Marco Gerards <metgerards@student.han.nl>
24149
24150 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
24151 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
24152 to fail instead. Reported by Vincent Pelletier
24153 <subdino2004@yahoo.fr>.
24154
24155 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
24156 it is not allocated. Reported by Vincent Pelletier
24157 <subdino2004@yahoo.fr>.
24158
24159 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
24160 output so the output looks better.
f19dbdb7 24161
3f1578fe 241622004-12-04 Marco Gerards <metgerards@student.han.nl>
24163
24164 Modulize the partition map support and add support for the amiga
24165 partition map.
f19dbdb7 24166
3f1578fe 24167 * commands/ls.c: Include <grub/partition.h> instead of
24168 <grub/machine/partition.h>.
24169 * kern/disk.c: Likewise.
24170 * kern/rescue.c: Likewise.
24171 * loader/i386/pc/chainloader.c: Likewise.
24172 * normal/cmdline.c: Likewise.
24173 * kern/powerpc/ieee1275/init.c: Likewise.
24174 (grub_machine_init): Call `grub_pc_partition_map_init',
24175 `grub_amiga_partition_map_init' and
24176 `grub_apple_partition_map_init'.
24177 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
24178 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
24179 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
24180 `partition.h' and `pc_partition.h'.
24181 (grub_setup_SOURCES): Remove
24182 `disk/i386/pc/partition.c'. Add `kern/partition.c',
24183 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
24184 (grub_emu_SOURCES): Likewise.
24185 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
24186 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
24187 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
24188 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
24189 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
24190 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
24191 (grubof_SOURCES): Likewise.
24192 * disk/i386/pc/partition.c: File removed.
24193 * disk/powerpc/ieee1275/partition.c: Likewise.
24194 * include/grub/powerpc/ieee1275/partition.h: Likewise.
24195 * include/grub/i386/pc/partition.h: Likewise.
24196 * kern/partition.c: New file.
24197 * partmap/amiga.c: Likewise.
24198 * partmap/apple.c: Likewise.
24199 * partmap/pc.c: Likewise.
24200 * include/grub/partition.h: Likewise..
24201 * include/grub/pc_partition.h: Likewise.
24202 * util/grub-emu.c: Include <grub/partition.h> instead of
24203 <grub/machine/partition.h>.
24204 (main): Call `grub_pc_partition_map_init',
24205 `grub_amiga_partition_map_init' and
24206 `grub_apple_partition_map_init' and deinitialize afterwards.
24207 * util/i386/pc/biosdisk.c: Include `#include
24208 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
24209 `<grub/machine/partition.h>'.
24210 * util/i386/pc/grub-setup.c: Likewise.
24211 * util/i386/pc/biosdisk.c: Likewise.
24212 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
24213 partition information in case of a PC partition.
24214 * util/i386/pc/grub-setup.c: Include `#include
24215 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
24216 `<grub/machine/partition.h>'.
24217 (setup): Only access the PC specific partition information in case
24218 of a PC partition.
24219
0ef4ced9 242202004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 24221
0ef4ced9 24222 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
24223 (grub_longjmp): Likewise.
24224 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
24225 20.
24226 * normal/powerpc/setjmp.S: New file.
24227 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
24228 `normal/powerpc/setjmp.S'.
24229 (grubof_CFLAGS): Add `-DGRUBOF'.
24230 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
24231 [GRUB_UTIL && !GRUBOF].
f19dbdb7 24232
19950e29 242332004-11-16 Marco Gerards <metgerards@student.han.nl>
24234
24235 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
24236 property named `name'. Correctly handle the error returned by
24237 `grub_ieee1275_finddevice' if a device can not be opened.
24238
a2fea427 242392004-11-02 Hollis Blanchard <hollis@penguinppc.org>
24240
24241 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
24242 `actual' for negativity.
24243 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
24244 kern/fshelp.c.
24245
41ea0ea3 242462004-11-01 Marco Gerards <metgerards@student.han.nl>
24247
24248 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
24249 (PAGE_OFFSET): New macro.
24250 (CRTC_ADDR_PORT): Likewise.
24251 (CRTC_DATA_PORT): Likewise.
24252 (START_ADDR_HIGH_REGISTER): Likewise.
24253 (START_ADDR_LOW_REGISTER): Likewise.
24254 (GRAPHICS_ADDR_PORT): Likewise.
24255 (GRAPHICS_DATA_PORT): Likewise.
24256 (READ_MAP_REGISTER): Likewise.
24257 (INPUT_STATUS1_REGISTER): Likewise.
24258 (INPUT_STATUS1_VERTR_BIT): Likewise.
24259 (page): New variable.
24260 (wait_vretrace): New function.
24261 (set_read_map): Likewise.
24262 (set_start_address): Likewise.
24263 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
24264 the right page.
24265 (check_vga_mem): Take the page into account.
24266 (write_char): Likewise.
24267 (write_cursor): Likewise.
24268 (scroll_up): Likewise. Copy the page to the page that is not
24269 shown and switch between both pages.
24270 (grub_vga_putchar): Fix off by one error.
24271 (grub_vga_cls): Wait for the vertical retrace. Take the page into
24272 account.
24273
ad0bd20b 242742004-11-01 Marco Gerards <metgerards@student.han.nl>
24275
24276 Add support for iso9660 (including rockridge).
f19dbdb7 24277
ad0bd20b 24278 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
24279 (iso9660_mod_SOURCES): New variable.
24280 (iso9660_mod_CFLAGS): Likewise.
24281 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
24282 * include/grub/fs.h (grub_iso9660_init): New prototype.
24283 * util/grub-emu.c (main): Call `grub_iso9660_init'.
24284 * fs/iso9660.c: New file.
24285
24286 * include/grub/misc.h (grub_strncat): New prototype.
24287 * kern/misc.c (grub_strncat): New function.
f19dbdb7 24288
ad0bd20b 24289 * fs/hfs.c (grub_hfs_mount): Translate the error
24290 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
24291 * fs/jfs.c (grub_jfs_mount): Likewise.
24292 * fs/ufs.c (grub_ufs_mount): Likewise.
24293
a5477a59 242942004-10-28 Hollis Blanchard <hollis@penguinppc.org>
24295
24296 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
24297 which initialized BAT registers.
24298 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
24299 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
24300 Move from here...
24301 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
24302 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
24303 ... to here.
24304 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
24305 (grub_mapclaim): Likewise.
24306 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
24307 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
24308 hand.
24309
9304c1f8 243102004-10-19 Hollis Blanchard <hollis@penguinppc.org>
24311
24312 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
24313 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
24314 -ffreestanding and -msoft-float.
24315
86f4ae25 243162004-10-15 Hollis Blanchard <hollis@penguinppc.org>
24317
24318 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
24319 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
24320 set in grub_ieee1275_flags.
24321
38912228 243222004-10-14 Hollis Blanchard <hollis@penguinppc.org>
24323
24324 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
24325 prototype.
24326 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
24327 grub_console_init first.
24328 Change the memory range used for grub_ieee1275_claim and
24329 grub_mm_init_region.
24330 Print an error message if the claim fails.
24331 Include <grub/misc.h>.
24332
d1923dc8 243332004-10-13 Hollis Blanchard <hollis@penguinppc.org>
24334
24335 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
24336 Call grub_children_iterate for device nodes of type `scsi',
24337 `ide', or `ata'.
24338 (grub_ofdisk_open): Remove manual device alias resolution.
24339 Fix memory leak when device cannot be opened.
f19dbdb7 24340 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 24341 (grub_children_iterate): New prototype.
24342 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
24343 New function.
24344 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
24345 Return -1 if args.size was -1.
24346
4512e4f3 243472004-10-11 Hollis Blanchard <hollis@penguinppc.org>
24348
24349 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
24350 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
24351 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
24352 Open Firmware's memory for it; claim memory from _start to _end.
24353 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
24354 (_end): New extern.
24355 (_start): Zero BSS from __bss_start to _end.
24356 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
24357 New extern.
24358 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
24359
4d61feb0 243602004-10-11 Hollis Blanchard <hollis@penguinppc.org>
24361
ad0bd20b 24362 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
24363 -1 if args.base was -1.
4d61feb0 24364
026fa2f9 243652004-10-08 Hollis Blanchard <hollis@penguinppc.org>
24366
24367 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
24368 escape sequence instead of a literal ^L. Also call
24369 grub_ofconsole_gotoxy.
24370
9f2220ef 243712004-10-03 Hollis Blanchard <hollis@penguinppc.org>
24372
24373 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
24374 void * arguments to grub_addr_t. All callers updated. Also make
24375 the `result' argument optional.
24376 (grub_ieee1275_release): change void * arguments to grub_addr_t.
24377 All callers updated.
24378
8a572cd7 243792004-09-22 Hollis Blanchard <hollis@penguinppc.org>
24380
24381 * commands/ls.c (grub_ls_list_files): Use the string following the
24382 initial ')', if present, as the filesystem path.
24383 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
24384
24385 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
24386
18aa81f2 243872004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
24388
24389 Make the source code of the menu interface more readable.
f19dbdb7 24390
18aa81f2 24391 * normal/menu.c: Include grub/mm.h.
24392 (TERM_WIDTH): New macro.
24393 (TERM_HEIGHT): Likewise.
24394 (TERM_INFO_HEIGHT): Likewise.
24395 (TERM_MARGIN): Likewise.
24396 (TERM_SCROLL_WIDTH): Likewise.
24397 (TERM_TOP_BORDER_Y): Likewise.
24398 (TERM_LEFT_BORDER_X): Likewise.
24399 (TERM_BORDER_WIDTH): Likewise.
24400 (TERM_MESSAGE_HEIGHT): Likewise.
24401 (TERM_BORDER_HEIGHT): Likewise.
24402 (TERM_NUM_ENTRIES): Likewise.
24403 (TERM_FIRST_ENTRY_Y): Likewise.
24404 (TERM_ENTRY_WIDTH): Likewise.
24405 (TERM_CURSOR_X): Likewise.
24406 (draw_border): Use macros instead of magic numbers.
24407 (print_entry): Likewise.
24408 (print_entries): Likewise.
24409 (run_menu): Likewise. Also, handle the key 'e'.
24410 (run_menu_entry): Ignore empty command lines.
24411 (print_message): Added a new argument EDIT. If EDIT is true,
24412 print a different message.
24413 (init_page): Likewise.
24414 (edit_menu_entry): New function. Not implemented yet.
24415
b47efe30 244162004-09-17 Marco Gerards <metgerards@student.han.nl>
24417
24418 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
24419 can be loaded from normal mode.
f19dbdb7 24420
b47efe30 24421 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
24422 `multiboot.mod'.
24423 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
24424 (multiboot_mod_CFLAGS): New variables.
24425 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 24426 * loader/i386/pc/multiboot_normal.c: Likewise.
24427
b47efe30 24428 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
24429 attribute `unused'.
f19dbdb7 24430
b47efe30 24431 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
24432 `fdiro' to read the mode information from instead of `diro'.
24433
24434 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
24435 looking up a symlink.
24436
24437 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
24438 macro.
24439 * normal/command.c (grub_command_execute): Don't parse the
24440 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
24441 flags of the command.
24442
24443 * normal/menu.c (grub_menu_run): Fix typo.
24444
da75ac71 244452004-09-14 Hollis Blanchard <hollis@penguinppc.org>
24446
24447 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
24448
24449 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
24450 `y + 1' instead of `y - 1'.
24451
24452 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 24453
062b24c2 244542004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
24455
24456 From Hollis Blanchard <hollis@penguinppc.org>:
24457 * kern/misc.c (memmove): New alias for grub_memmove.
24458 (memcmp): New alias for grub_memcmp.
24459 (memset): New alias for grub_memset.
f19dbdb7 24460 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 24461 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 24462 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 24463 (grub_ieee1275_get_property): Likewise.
f19dbdb7 24464
8ddad845 244652004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
24466
24467 Added normal mode command `chainloader' as module chain.mod, which
24468 depends on normal.mod and _chain.mod.
f19dbdb7 24469
8ddad845 24470 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
24471 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
24472 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
24473 Deleted prototype.
24474 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
24475 but arguments parsing moved to ...
24476 (grub_chainloader_cmd): ... here. New function.
24477 * include/grub/i386/pc/chainloader.h: New file.
24478 * loader/i386/pc/chainloader_normal.c: Likewise.
24479
2c1f4ce3 244802004-09-11 Marco Gerards <metgerards@student.han.nl>
24481
24482 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
24483 (grub_mkimage_LDFLAGS): Likewise.
24484 (grub_emu_SOURCES): Likewise.
24485 (kernel_img_HEADERS): Added fshelp.h.
24486 * fs/ext2.c: Include <grub/fshelp.h>.
24487 (FILETYPE_REG): New macro.
24488 (FILETYPE_INO_REG): Likewise.
24489 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
24490 Changed all users.
24491 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
24492 all users.
24493 (grub_fshelp_node): New struct.
24494 (grub_ext2_data): Added member `diropen'. Changed member `inode'
24495 to a pointer.
24496 (grub_ext2_get_file_block): Removed function.
24497 (grub_ext2_read_block): New function.
24498 (grub_ext2_read_file): Replaced parameter `data' by `node'.
24499 This function was written.
24500 (grub_ext2_mount): Read the root inode. Create a diropen struct.
24501 (grub_ext2_find_file): Removed function.
24502 (grub_ext2_read_symlink): New function.
24503 (grub_ext2_iterate_dir): Likewise.
24504 (grub_ext2_open): Rewritten.
24505 (grub_ext2_dir): Rewritten.
24506 * include/grub/fshelp.h: New file.
24507 * fs/fshelp.c: Likewise.
24508
3c52136a 245092004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
24510
24511 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
24512 (print_message): Add a missing newline.
24513 (run_menu): Added timeout support.
24514 (run_menu_entry): New local function.
24515 (grub_menu_run): Added support for booting.
24516
24517 * kern/loader.c (grub_loader_is_loaded): New function.
24518
24519 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
24520 (grub_get_rtc): Exported.
24521
24522 * include/grub/i386/pc/time.h: Include grub/symbol.h.
24523 (grub_get_rtc): Exported.
24524
24525 * include/grub/normal.h (struct grub_command_list): Remove
24526 constant from the member `command'.
24527
24528 * include/grub/loader.h (grub_loader_is_loaded): Declared.
24529
24530 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
24531
24532 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
24533
aa033560 245342004-08-28 Marco Gerards <metgerards@student.han.nl>
24535
24536 Add support for the JFS filesystem.
24537
24538 * fs/jfs.c: New file.
24539 * include/grub/fs.h (grub_jfs_init): New prototype.
24540 (grub_jfs_fini): New prototype.
24541 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
24542 (grub_emu_SOURCES): Likewise.
24543 (pkgdata_MODULES): Add jfs.mod.
24544 (jfs_mod_SOURCES): New variable.
24545 (jfs_mod_CFLAGS): Likewise.
24546 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
24547 (grubof_SOURCES): Likewise.
24548 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
24549
24550 * fs/fat.c (grub_fat_find_dir): Convert the filename little
24551 endian to the host endian.
24552 (grub_fat_utf16_to_utf8): Move function from there...
24553 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 24554 the endianness of the source string anymore.
aa033560 24555 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
24556
94bc45af 245572004-08-24 Marco Gerards <metgerards@student.han.nl>
24558
24559 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
24560 (grub_boot_fini) [GRUB_UTIL]: Likewise.
24561 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
24562 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 24563
94bc45af 24564 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
24565 (grub_hfs_iterate_dir): Make the function static. Add prototypes
24566 for `node_found' and `it_dir'.
24567 (grub_hfs_dir): Add prototype for `dir_hook'.
24568
24569 * fs/minix.c (grub_minix_get_file_block): Add prototype for
24570 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
24571 and `indir32' to silence a gcc warning.
24572
24573 * include/grub/fs.h (grub_hfs_init): New prototype.
24574 (grub_hfs_fini): Likewise.
f19dbdb7 24575
24576
97543f08 245772004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
24578
24579 Each disk device has its own id now. This is useful to make use
24580 of multiple disk devices.
f19dbdb7 24581
97543f08 24582 * include/grub/disk.h (grub_disk_dev_id): New enum.
24583 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
24584 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
24585
24586 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
24587 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
24588
24589 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
24590 GRUB_DISK_DEVICE_OFDISK_ID as an id.
24591
24592 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
24593 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
24594
24595 * include/grub/disk.h (struct grub_disk_dev): Added a new member
24596 "id" which is used by the cache manager.
24597
24598 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
24599 of just "GRUB".
24600
64372eb4 246012004-08-18 Marco Gerards <metgerards@student.han.nl>
24602
24603 * fs/hfs.c: New file.
24604 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
24605 (grub_emu_SOURCES): Likewise.
24606 (pkgdata_MODULES): Add hfs.mod.
24607 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
24608 (grubof_SOURCES): Likewise.
24609 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
24610
24611 * include/grub/misc.h (grub_strncasecmp): Add prototype.
24612 * kern/misc.c (grub_strncasecmp): Add function.
24613
cc61b58f 246142004-08-14 Marco Gerards <metgerards@student.han.nl>
24615
24616 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
24617 with parentheses.
24618
24619 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
24620 (grub_ext2_dir): In case the directory entry type is unknown, read
24621 it from the inode.
24622
0ef123f6 246232004-08-02 Peter Bruin <pjbruin@dds.nl>
24624
24625 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
24626 grub_load_linux instead of grub_rescue_cmd_linux as second
24627 argument of grub_rescue_register_command.
24628
24629 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
24630
a447c5df 246312004-07-27 Marco Gerards <metgerards@student.han.nl>
24632
24633 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
24634 function.
24635 * commands/boot.c: Remove the check for `GRUB_UTIL'.
24636 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
24637 `loader/powerpc/ieee1275/linux.c',
24638 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
24639 * include/grub/powerpc/ieee1275/ieee1275.h
24640 (grub_ieee1275_release): New prototype.
24641 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
24642 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
24643 normal, boot, linux and linux_normal.
24644 * loader/powerpc/ieee1275/linux.c: New file.
24645 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
24646
5a9e3546 246472004-07-12 Marco Gerards <metgerards@student.han.nl>
24648
24649 * normal/arg.c (grub_arg_parse): Correct error handling after
24650 reallocating the argumentlist (check if `argl' is not null instead
24651 of checking if `args' is not null).
24652 * kern/mm.c (grub_realloc): Return the same pointer when using the
24653 same region, instead of returning the header address.
24654
e15199cb 246552004-07-11 Marco Gerards <metgerards@student.han.nl>
24656
24657 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
24658 one block instead of two when looking for the initial partition.
24659 (grub_partition_probe): Initialize the local variable `p' with 0.
24660 Use base 10 for the grub_strtoul call.
24661 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
24662 need for one local variable.
24663 (grub_strtoul): Don't add the new value to `num', instead of that
24664 just assign it.
24665
020616c2 246662004-07-11 Marco Gerards <metgerards@student.han.nl>
24667
24668 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
24669 (pxeboot_img_SOURCES): New variable.
24670 (pxeboot_img_ASFLAGS): Likewise.
24671 (pxeboot_img_LDFLAGS): Likewise.
24672 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
24673 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
24674 <lode_leroy@hotmail.com>.
24675
6c51eb64 246762004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
24677
24678 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
24679 there was no input.
24680
cfb12aff 246812004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
24682
24683 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
24684 the history buffer logic.
24685
6eabba74 246862004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
24687
24688 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
24689 (FILETYPE_INO_SYMLINK): New macros.
24690 (grub_ext2_find_file): Check if the node is a directory using the
24691 inode stat information instead of using the filetype in the
24692 dirent. Exclude the first character of an absolute symlink.
24693 (grub_ext2_dir): Mask out the filetype part of the mode member of
24694 the inode.
24695
66e19ef8 246962004-05-24 Marco Gerards <metgerards@student.han.nl>
24697
24698 Add support for UFS version 1 and 2. Add support for the minix
24699 filesystem version 1 and 2, both the variants with 14 and 30 long
24700 filenames.
f19dbdb7 24701
66e19ef8 24702 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
24703 fs/minix.c.
24704 (grub_emu_SOURCES): Likewise.
24705 (pkgdata_MODULES): Add ufs.mod and minix.mod.
24706 (ufs_mod_SOURCES): New variable.
24707 (ufs_mod_CFLAGS): Likewise.
24708 (minix_mod_SOURCES): Likewise.
24709 (minix_mod_CFLAGS): Likewise.
24710 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
24711 fs/minix.c.
24712 (grubof_SOURCES): Likewise.
24713 * fs/ufs.c: New file.
24714 * fs/minix.c: New file.
24715 * include/grub/fs.h (grub_ufs_init): New prototype.
24716 (grub_ufs_fini): Likewise.
24717 (grub_minix_init): Likewise.
24718 (grub_minix_fini): Likewise.
24719 * util/grub-emu.c (main): Initialize and deinitialize UFS and
24720 minix fs.
24721
cc2e748a 247222004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
24723
24724 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
24725 commands/ls.c, commands/terminal.c, commands/boot.c,
24726 commands/cmp.c and commands/cat.c.
24727 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
24728
24729 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
24730 "env.h"
24731
4b13b216 247322004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
24733
24734 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
24735 and grub_, respectively. Because the conversion is trivial and
24736 mechanical, I omit the details here. Please refer to the CVS
24737 if you need more information.
24738
6a142551 247392004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
24740
24741 * include/pupa: Renamed to ...
24742 * include/grub: ... this.
24743 * util/i386/pc/pupa-mkimage.c: Renamed to ...
24744 * util/i386/pc/grub-mkimage.c: ... this.
24745 * util/i386/pc/pupa-setup.c: Renamed to ...
24746 * util/i386/pc/grub-setup.c: ... this.
24747 * util/pupa-emu.c: Renamed to ...
24748 * util/grub-emu.c: ... this.
24749
e56cdf21 247502004-03-29 Marco Gerards <metgerards@student.han.nl>
24751
24752 Add support for the newworld apple macintosh (PPC). This has been
24753 tested on the powerbook 2000 only. It only adds support for
24754 generic ieee1275 functions, console and disk support. This should
24755 be easy to port to other architectures with support for Open
24756 Firmware.
f19dbdb7 24757
e56cdf21 24758 * configure.ac: Accept the powerpc as host_cpu. In the case of
24759 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
24760 specific tests are only executed while building for the i386.
24761 Inverse test for crosscompile.
24762 * genmk.rb (Utility): Allow assembler files.
24763 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
24764 * conf/powerpc-ieee1275.rmk: New file.
24765 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
24766 * disk/powerpc/ieee1275/partition.c: Likewise.
24767 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
24768 * include/pupa/powerpc/ieee1275/console.h: Likewise.
24769 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
24770 * include/pupa/powerpc/ieee1275/time.h: Likewise.
24771 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
24772 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
24773 * include/pupa/powerpc/ieee1275/loader.h
24774 * include/pupa/powerpc/setjmp.h: Likewise.
24775 * include/pupa/powerpc/types.h: Likewise.
24776 * kern/powerpc/ieee1275/init.c: Likewise.
24777 * kern/powerpc/ieee1275/openfw.c: Likewise.
24778 * term/powerpc/ieee1275/ofconsole.c: Likewise.
24779
24780 These files were written by Johan Rydberg
24781 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 24782
e56cdf21 24783 * boot/powerpc/ieee1275/cmain.c: New file.
24784 * boot/powerpc/ieee1275/crt0.S: Likewise.
24785 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
24786 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
24787
8c8cc205 247882004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
24789
24790 * Makefile.in: Update copyright.
24791 * genmodsrc.sh: Likewise.
24792 * gensymlist.sh: Likewise.
24793 * term/i386/pc/vga.c: Indent correctly.
24794
24795 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
24796 bugreporting address.
24797 * util/i386/pc/pupa-setup.c (usage): Likewise,
24798 (main): Call pupa_ext2_init and pupa_ext2_fini.
24799
f19dbdb7 24800 * fs/fat.c (log2): Renamed to ...
8c8cc205 24801 (fat_log2): ... this.
24802 All callers changed.
24803 * kern/misc.c (memcpy): Alias to pupa_memmove.
24804 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
24805 lvalue cast.
24806 * util/console.c (pupa_ncurses_fini): Return 0.
24807
24808 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
24809 Move fail label here.
24810 [__GNU__]: Don't warn when using stat.
24811 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
24812 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
24813 long int. Use strtol instead of strtoul.
f19dbdb7 24814
db1771cf 248152004-03-14 Marco Gerards <metgerards@student.han.nl>
24816
24817 * commands/boot.c: New file.
24818 * commands/cat.c: Likewise.
24819 * commands/cmp.c: Likewise.
24820 * commands/ls.c: Likewise.
24821 * commands/terminal.c: Likewise.
24822 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
24823 (pupa_register_command): Changed interface to match the new
24824 argument parser.
24825 (pupa_command_execute): Changed (almost rewritten) so it uses
24826 pupa_split_command. Added support for setting variables using the
24827 syntax `foo=bar'.
24828 (rescue_command): Changed to work with the new argument parser.
24829 (terminal_command): Moved from here to commands/terminal.c.
24830 (set_command): New function.
24831 (unset_command): New function.
24832 (insmod_command): New function.
24833 (rmmod_command): New function.
24834 (lsmod_command): New function.
24835 (pupa_command_init): Don't initialize the command terminal
24836 anymore. Initialize the commands set, unset, insmod, rmmod and
24837 lsmod.
24838 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
24839 (kernel_img_HEADERS): Add arg.h and env.h.
24840 (pupa_mkimage_LDFLAGS): Add kern/env.c.
24841 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
24842 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
24843 normal/arg.c.
24844 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
24845 terminal.mod.
24846 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
24847 (boot_mod_SOURCES): New variable.
24848 (terminal_mod_SOURCES): Likewise.
24849 (ls_mod_SOURCES): Likewise.
24850 (cmp_mod_SOURCES): Likewise.
24851 (cat_mod_SOURCES): Likewise.
24852
24853 * normal/arg.c: New file.
24854 * kern/env.c: Likewise.
24855 * include/pupa/arg.h: Likewise.
24856 * include/pupa/env.h: Likewise.
24857 * font/manager.c (font_command): Changed to match argument parsing
24858 interface changes.
24859 (PUPA_MOD_INIT): Likewise.
24860 * hello/hello.c (pupa_cmd_hello): Likewise.
24861 (PUPA_MOD_INIT): Likewise.
24862 * include/pupa/disk.h: Include <pupa/device.h>.
24863 (pupa_print_partinfo): New prototype.
24864 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
24865 (pupa_dl_get_prefix): Likewise.
24866 * include/pupa/misc.h: Include <pupa/err.h>.
24867 (pupa_isgraph): New prototype.
24868 (pupa_isdigit): Likewise.
24869 (pupa_split_cmdline): Likewise.
24870 * include/pupa/normal.h: Include <pupa/arg.h>.
24871 (pupa_command): Changed the prototype of the member `func' to
24872 match the argument parsing interface. Added member `options'.
24873 (pupa_register_command): Updated to match function.
24874 (pupa_arg_parse): New prototype.
24875 (pupa_hello_init) [PUPA_UTIL]: New prototype.
24876 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
24877 (pupa_ls_init) [PUPA_UTIL]: Likewise.
24878 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
24879 (pupa_cat_init) [PUPA_UTIL]: Likewise.
24880 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
24881 (pupa_boot_init) [PUPA_UTIL]: Likewise.
24882 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
24883 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
24884 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
24885 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
24886 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
24887 * kern/disk.c: Include <pupa/file.h>.
24888 (pupa_print_partinfo): New function.
24889 * kern/dl.c: Include <pupa/env.h>.
24890 (pupa_dl_dir): Variable removed.
24891 (pupa_dl_load): Use the environment variable `prefix' instead of
24892 the variable pupa_dl_dir.
24893 (pupa_dl_set_prefix): Function removed.
24894 (pupa_dl_get_prefix): Likewise.
24895 * kern/i386/pc/init.c: Include <pupa/env.h>.
24896 (pupa_machine_init): Use the environment variable `prefix' instead of
24897 using pupa_dl_set_prefix to set the prefix.
24898 * kern/main.c: Include <pupa/env.h>.
24899 (pupa_set_root_dev): Use the environment variable `prefix' instead of
24900 using pupa_dl_get_prefix to get the prefix.
24901 * kern/misc.c: Include <pupa/env.h>.
24902 (pupa_isdigit): New function.
24903 (pupa_isgraph): Likewise.
24904 (pupa_ftoa): Likewise.
24905 (pupa_vsprintf): Added support for printing values of the type
24906 `double'. Make it possible to format variable output when using
24907 formatting like `%1.2%f'.
24908 (pupa_split_cmdline): New function.
24909 * kern/rescue.c: Include <pupa/env.h>.
24910 (next_word): Removed function.
24911 (pupa_rescue_cmd_prefix): Likewise.
24912 (pupa_rescue_cmd_set): New function.
24913 (pupa_rescue_cmd_unset): New function.
24914 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
24915 split the command line instead of splitting it here. Added
24916 support for setting variables using the syntax `foo=bar'. Don't
24917 initialize the prefix command anymore. Initialized the set and
24918 unset commands.
24919 * normal/cmdline.c: Include <pupa/env.h>.
24920 (pupa_tab_complete): Added prototypes for print_simple_completion,
24921 print_partition_completion, add_completion, iterate_commands,
24922 iterate_dev, iterate_part and iterate_dir. Moved code to print
24923 partition information from here to kern/disk.c.
fe6b695a 24924 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 24925 * normal/main.c: Include <pupa/env.h>.
24926 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
24927 instead of using pupa_dl_get_prefix to get the prefix.
24928 * term/i386/pc/vga.c: Include <pupa/arg.h>.
24929 (check_vga_mem): Cast pointers to `void *' to silence a gcc
24930 warning.
24931 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
24932 (pupa_vga_setcolor): Declare unused variables with `__attribute__
24933 ((unused))' to silence a gcc warning.
24934 (pupa_vga_setcolor): Likewise.
24935 (debug_command): Changed to match argument parsing
24936 interface changes.
24937 * util/pupa-emu.c: Include <pupa/env.h>.
24938 (options): Added 0's for unused fields to silence a gcc warning.
24939 (argp): Likewise.
24940 (main): Use the environment variable `prefix' instead of using
24941 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
24942 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
24943 and terminal.
24944
24945 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
24946 * util/misc.c: Include <malloc.h>.
24947 (pupa_malloc): Rewritten so errors are correctly reported.
24948 (pupa_realloc): Likewise.
24949 (pupa_memalign): Likewise.
24950 (pupa_mm_init_region): Declare unused variables with
24951 `__attribute__ ((unused))' to silence a gcc warning.
24952 * normal/i386/setjmp.S: Remove tab at the end of the file to
24953 silence a gcc warning.
24954 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
24955 variables with `__attribute__ ((unused))' to silence a gcc
24956 warning.
24957 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
24958 local variable i unsigned to silence a gcc warning.
24959
24960 * kern/term.c: Include <pupa/misc.h>.
24961 (pupa_more_lines): New variable.
24962 (pupa_more): Likewise.
24963 (pupa_putcode): When the pager is active pause at the end of every
24964 screen.
24965 (pupa_set_more): New function.
24966 * include/pupa/term.h (pupa_set_more): New prototype.
24967
24968
3b1139cb 249692004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
24970
24971 Now this project is GRUB 2 rather than PUPA. The location of
24972 the CVS repository was moved to GRUB's.
f19dbdb7 24973
3b1139cb 24974 * configure.ac: Use bug-grub as the reporting address.
24975 Use GRUB instead of PUPA.
24976 Change the version number to 1.90.
24977
8367695c 249782004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
24979
24980 * genkernsyms.sh: Updated copyright information.
24981 * genmk.rb: Likewise.
24982 * genmodsrc.sh: Likewise.
24983 * gensymlist.sh: Likewise.
24984 * boot/i386/pc/boot.S: Likewise.
24985 * boot/i386/pc/diskboot.S: Likewise.
24986 * disk/i386/pc/biosdisk.c: Likewise.
24987 * disk/i386/pc/partition.c: Likewise.
24988 * font/manager.c: Likewise.
24989 * fs/ext2.c: Likewise.
24990 * fs/fat.c: Likewise.
24991 * include/pupa/boot.h: Likewise.
24992 * include/pupa/device.h: Likewise.
24993 * include/pupa/disk.h: Likewise.
24994 * include/pupa/dl.h: Likewise.
24995 * include/pupa/elf.h: Likewise.
24996 * include/pupa/err.h: Likewise.
24997 * include/pupa/file.h: Likewise.
24998 * include/pupa/font.h: Likewise.
24999 * include/pupa/fs.h: Likewise.
25000 * include/pupa/kernel.h: Likewise.
25001 * include/pupa/loader.h: Likewise.
25002 * include/pupa/misc.h: Likewise.
25003 * include/pupa/mm.h: Likewise.
25004 * include/pupa/net.h: Likewise.
25005 * include/pupa/normal.h: Likewise.
25006 * include/pupa/rescue.h: Likewise.
25007 * include/pupa/setjmp.h: Likewise.
25008 * include/pupa/symbol.h: Likewise.
25009 * include/pupa/term.h: Likewise.
25010 * include/pupa/types.h: Likewise.
25011 * include/pupa/i386/setjmp.h: Likewise.
25012 * include/pupa/i386/types.h: Likewise.
25013 * include/pupa/i386/pc/biosdisk.h: Likewise.
25014 * include/pupa/i386/pc/boot.h: Likewise.
25015 * include/pupa/i386/pc/console.h: Likewise.
25016 * include/pupa/i386/pc/init.h: Likewise.
25017 * include/pupa/i386/pc/kernel.h: Likewise.
25018 * include/pupa/i386/pc/linux.h: Likewise.
25019 * include/pupa/i386/pc/loader.h: Likewise.
25020 * include/pupa/i386/pc/memory.h: Likewise.
25021 * include/pupa/i386/pc/multiboot.h: Likewise.
25022 * include/pupa/i386/pc/partition.h: Likewise.
25023 * include/pupa/i386/pc/time.h: Likewise.
25024 * include/pupa/i386/pc/vga.h: Likewise.
25025 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
25026 * include/pupa/util/getroot.h: Likewise.
25027 * include/pupa/util/misc.h: Likewise.
25028 * include/pupa/util/resolve.h: Likewise.
25029 * kern/device.c: Likewise.
25030 * kern/disk.c: Likewise.
25031 * kern/dl.c: Likewise.
25032 * kern/err.c: Likewise.
25033 * kern/file.c: Likewise.
25034 * kern/fs.c: Likewise.
25035 * kern/loader.c: Likewise.
25036 * kern/main.c: Likewise.
25037 * kern/misc.c: Likewise.
25038 * kern/mm.c: Likewise.
25039 * kern/rescue.c: Likewise.
25040 * kern/term.c: Likewise.
25041 * kern/i386/dl.c: Likewise.
25042 * kern/i386/pc/init.c: Likewise.
25043 * kern/i386/pc/lzo1x.S: Likewise.
25044 * kern/i386/pc/startup.S: Likewise.
25045 * loader/i386/pc/chainloader.c: Likewise.
25046 * loader/i386/pc/linux.c: Likewise.
25047 * loader/i386/pc/multiboot.c: Likewise.
25048 * normal/cmdline.c: Likewise.
25049 * normal/command.c: Likewise.
25050 * normal/main.c: Likewise.
25051 * normal/menu.c: Likewise.
25052 * normal/i386/setjmp.S: Likewise.
25053 * term/i386/pc/console.c: Likewise.
25054 * term/i386/pc/vga.c: Likewise.
25055 * util/console.c: Likewise.
25056 * util/genmoddep.c: Likewise.
25057 * util/misc.c: Likewise.
25058 * util/pupa-emu.c: Likewise.
25059 * util/resolve.c: Likewise.
25060 * util/unifont2pff.rb: Likewise.
25061 * util/i386/pc/biosdisk.c: Likewise.
25062 * util/i386/pc/getroot.c: Likewise.
25063 * util/i386/pc/pupa-mkimage.c: Likewise.
25064 * util/i386/pc/pupa-setup.c: Likewise.
25065
e6eced71 250662004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
25067
25068 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
25069 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
25070 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
25071 reading and reset it after reading.
25072 (pupa_ext2_close): Return PUPA_ERR_NONE.
25073
25074 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
25075 Correct value.
25076 (struct linux_kernel_header): Add kernel_version and
25077 initrd_addr_max.
25078 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
25079 pupa_file_read succeeds.
25080 (pupa_rescue_cmd_initrd): Implement.
25081
5aded270 250822003-12-03 Marco Gerards <metgerards@student.han.nl>
25083
25084 * fs/ext2.c (pupa_ext2_label): New function.
25085 (pupa_ext2_fs): Added label.
25086 * fs/fat.c (pupa_fat_label): New function.
25087 (pupa_fat_fs): Added label.
25088 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
25089
25090 * kern/misc.c (pupa_strndup): New function.
25091 * include/pupa/misc.h (pupa_strndup): New prototype.
25092
25093 * include/pupa/normal.h: Include <pupa/err.h>.
25094 (pupa_set_history): New prototype.
25095 (pupa_iterate_commands): New prototype.
25096 * normal/cmdline.c: Include <pupa/machine/partition.h>,
25097 <pupa/disk.h>, <pupa/file.h>.
25098 (hist_size): New variable.
25099 (hist_lines): Likewise.
25100 (hist_end): Likewise.
25101 (hist_used): Likewise.
25102 (pupa_set_history): New function.
25103 (pupa_history_get): Likewise.
25104 (pupa_history_add): Likewise.
25105 (pupa_history_replace): Likewise.
25106 (pupa_tab_complete): Likewise.
25107 (pupa_cmdline_run): Added tab completion and history buffer. Tab
25108 completion shows partitionnames while completing partitions, this
25109 feature was suggested by Jeff Bailey.
25110 * normal/command.c (pupa_iterate_commands): New function.
25111 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
25112 (pupa_normal_init): Initialize history buffer.
25113 (PUPA_MOD_INIT): Likewise.
25114 (pupa_normal_fini): Free the history buffer.
25115 (PUPA_MOD_FINI): Likewise.
25116
25117 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
25118 key.
25119
25120 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
25121 * configure.ac [i386]: Check for regparam bug.
25122 (NESTED_FUNC_ATTR) [! i386]: Defined.
25123
1f7315a3 251242003-11-17 Marco Gerards <metgerards@student.han.nl>
25125
25126 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
25127 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
25128 (pupa_emu_SOURCES): New variable.
25129 (pupa_emu_LDFLAGS): Likewise.
25130 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
25131 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
25132 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
25133 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
25134 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
25135 (pupa_jmp_buf): New typedef.
25136 (pupa_setjmp) [PUPA_UTIL]: New macro.
25137 (pupa_longjmp) [PUPA_UTIL]: Likewise.
25138 * include/pupa/term.h (struct pupa_term): New member `refresh'.
25139 (pupa_refresh): New prototype.
25140 * include/pupa/util/getroot.h: New file.
25141 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
25142 it.
25143 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
25144 (pupa_rescue_cmd_cat): Likewise.
25145 (pupa_rescue_cmd_ls): Likewise.
25146 (pupa_rescue_cmd_testload): Likewise.
25147 (pupa_rescue_cmd_lsmod): Likewise.
25148 * normal/cmdline.c (pupa_cmdline_get): Likewise.
25149 * normal/menu.c (run_menu): Likewise.
25150 * kern/term.c (pupa_cls): Likewise.
25151 (pupa_refresh): New function.
25152 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
25153 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
25154 * util/console.c: New file.
f19dbdb7 25155
1f7315a3 25156 * util/i386/pc/getroot.c: New file.
25157 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
25158 (pupa_putchar): New function.
25159 (pupa_refresh): Likewise.
25160 (xgetcwd): Function moved to ...
25161 (strip_extra_slashes): Likewise.
25162 (get_prefix): Likewise.
f19dbdb7 25163 * util/i386/pc/getroot.c: ... here.
1f7315a3 25164 (find_root_device): Function moved and renamed to...
25165 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
25166 Changed all callers.
25167 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
25168 and renamed to...
25169 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
25170 Changed all callers.
25171 * util/misc.c (pupa_memalign): New function.
25172 (pupa_mm_init_region): Likewise.
25173 (pupa_register_exported_symbols): Likewise.
25174 (pupa_putchar): Function removed.
25175 * util/pupa-emu.c: New file.
25176
9a5c1ade 251772003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
25178
25179 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
25180 (_multiboot_mod_SOURCES): New variable.
25181 (_multiboot_mod_CFLAGS): Likewise.
25182 * loader/i386/pc/multiboot.c: New file.
25183 * include/pupa/i386/pc/multiboot.h: Likewise.
25184 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
25185 (pupa_multiboot_real_boot): New function.
25186 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
25187 (pupa_multiboot_real_boot): New prototype.
25188 (pupa_rescue_cmd_multiboot): Likewise
25189 (pupa_rescue_cmd_module): Likewise.
25190
25191 * kern/loader.c (pupa_loader_set): Continue when
25192 pupa_loader_unload_func() fails.
25193 (pupa_loader_unset): New function.
25194 * include/pupa/loader.h (pupa_loader_unset): New prototype.
25195
25196 * kern/misc.c (pupa_stpcpy): New function.
25197 * include/pupa/misc.h (pupa_stpcpy): New prototype.
25198
8e72a9c0 251992003-11-12 Marco Gerards <metgerards@student.han.nl>
25200
25201 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
25202 for available extensions.
25203
25204 * include/pupa/i386/pc/time.h: New file.
25205 * kern/disk.c: Include <pupa/machine/time.h>.
25206 (PUPA_CACHE_TIMEOUT): New macro.
25207 (pupa_last_time): New variable.
25208 (pupa_disk_open): Flush the cache when there was a timeout.
25209 (pupa_disk_close): Reset the timer.
25210 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
25211 pupa_currticks.
25212 * util/misc.c: Include <sys/times.h>
25213 (pupa_get_rtc): New function.
25214
c4adbd32 252152003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
25216
25217 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
25218 as blocks.
25219 (pupa_ext2_get_file_block): Use blocks member.
25220
25221 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
25222 first block. Return -1 instead of pupa_errno on error.
25223
bfd30f06 252242003-10-27 Marco Gerards <metgerards@student.han.nl>
25225
25226 * README: In the pupa-mkimage example use _chain instead of chain
25227 and ext2 instead of fat.
25228 * TODO: Replace ext2fs with jfs as an example. Add an item for
25229 adding journal playback for ext2fs.
25230 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
25231 (pkgdata_MODULES): Added ext2.mod.
25232 (ext2_mod_SOURCES): New variable.
25233 (ext2_mod_CFLAGS): Likewise.
25234 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
25235 * include/pupa/misc.h (pupa_strncpy): New prototype.
25236 (pupa_strcat): Likewise.
25237 (pupa_strncmp): Likewise.
25238 * kern/misc.c (pupa_strcat): Enable function.
25239 (pupa_strncpy): New function.
25240 (pupa_strncmp): Likewise.
25241 * fs/ext2.c: New file.
f19dbdb7 25242
bfd30f06 25243 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
25244 when the read failed before retrying.
25245 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
25246 (_FILE_OFFSET_BITS): Likewise.
25247 * configure.ac: Added AC_SYS_LARGEFILE.
25248
98d15063 252492003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
25250
25251 * genmk.rb (PModule#rule): Make sure to get only symbol names
25252 from the output of nm.
59cad637 25253 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 25254
18d9c7cd 252552003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
25256
25257 I forgot to check in these changes for a long time. This adds
25258 incomplete support for VGA console, and this is still very
25259 buggy. Also, a lot of consideration is required for I18N,
25260 UNICODE, and VGA font issues. Therefore, assume that this is
25261 such that "better than nothing".
f19dbdb7 25262
18d9c7cd 25263 * font/manager.c: New file.
25264 * include/pupa/font.h: Likewise.
25265 * include/pupa/i386/pc/vga.h: Likewise.
25266 * term/i386/pc/vga.c: Likewise.
25267 * util/unifont2pff.rb: Likewise.
25268
25269 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
25270 (pkgdata_MODULES): Added vga.mod and font.mod.
25271 (vga_mod_SOURCES): New variables.
25272 (vga_mod_CFLAGS): Likewise.
25273 (font_mod_SOURCES): Likewise.
25274 (font_mod_CFLAGS): Likewise.
25275
25276 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
25277
25278 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 25279 (struct pupa_term): Added init and fini.
18d9c7cd 25280 Changed the argument of putchar to pupa_uint32_t.
25281
25282 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
25283 (pupa_console_real_putchar): New prototype.
25284 (pupa_console_putchar): Removed.
25285 (pupa_console_checkkey): Exported.
25286 (pupa_console_getkey): Likewise.
25287
25288 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
25289 characters.
25290
25291 * kern/term.c (pupa_term_set_current): Rewritten.
25292 (pupa_putchar): Likewise.
25293 (pupa_putcode): New function.
25294
25295 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
25296 (pupa_console_real_putchar): ... this.
25297 (pupa_vga_set_mode): New function.
25298 (pupa_vga_get_font): Likewise.
25299
25300 * normal/command.c: Include pupa/term.h.
25301 (terminal_command): New function.
25302 (pupa_command_init): Register the command "terminal".
25303
25304 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
25305 (DISP_UP): Likewise.
25306 (DISP_RIGHT): Likewise.
25307 (DISP_DOWN): Likewise.
25308 (DISP_HLINE): Likewise.
25309 (DISP_VLINE): Likewise.
25310 (DISP_UL): Likewise.
25311 (DISP_UR): Likewise.
25312 (DISP_LL): Likewise.
25313 (DISP_LR): Likewise.
25314
25315 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 25316
977329f5 253172003-02-08 NIIBE Yutaka <gniibe@m17n.org>
25318
25319 * util/resolve.c (pupa_util_resolve_dependencies): BUG
25320 FIX. Reverse the path_list.
25321
25322 * include/pupa/normal.h: Export pupa_register_command and
25323 pupa_unregister_command.
25324
25325 * hello/hello.c (pupa_cmd_hello): New module.
25326 * conf/i386-pc.rmk: Added hello.mod.
25327
1f5ab428 253282003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
25329
25330 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 25331
1f5ab428 25332 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
25333 (compress_kernel): New variable.
25334 (generate_image): Heavily modified to support compressing a
25335 large part of the core image.
25336
25337 * util/misc.c (pupa_util_read_image): Fix a file descriptor
25338 leak.
25339 (pupa_util_load_image): New function.
25340
25341 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
25342 (pupa_compressed_size): New variable.
25343 (codestart): Enable Gate A20 here.
25344 Decompress the compressed part of the core image.
25345 Rearrange the code to put functions and variables which are
25346 required for initialization in the non-compressed part.
25347 Include lzo1x.S.
25348
25349 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
25350 here.
25351
25352 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
25353
f19dbdb7 25354 * include/pupa/i386/pc/kernel.h
1f5ab428 25355 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
25356 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
25357 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
25358 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
25359 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
25360
25361 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
25362
25363 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
25364 (Utility#rule): Likewise.
25365
25366 * configure.ac: Check if LZO is available.
25367
ce5bf700 253682003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
25369
25370 * include/pupa/normal.h: New file.
25371 * include/pupa/setjmp.h: Likewise.
25372 * include/pupa/i386/setjmp.h: Likewise.
25373 * normal/cmdline.c: Likewise.
25374 * normal/command.c: Likewise.
25375 * normal/main.c: Likewise.
25376 * normal/menu.c: Likewise.
25377 * normal/i386/setjmp.S: Likewise.
f19dbdb7 25378
ce5bf700 25379 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
25380 (pupa_rescue_cmd_initrd): Likewise.
25381
25382 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
25383 Likewise.
25384
25385 * kern/i386/pc/startup.S (translation_table): New variable.
25386 (translate_keycode): New function.
25387 (pupa_console_getkey): Call translate_keycode.
25388
25389 * kern/rescue.c (attempt_normal_mode): New function.
25390 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
25391 it failed, print a message.
25392
25393 * kern/mm.c (pupa_real_malloc): Print more information when a
25394 free magic is broken.
25395 (pupa_free): If the first free header is not free actually, set
25396 it to P.
25397
25398 * kern/main.c (pupa_load_normal_mode): Just load the module
25399 "normal".
25400 (pupa_main): Don't print the message
25401 "Entering into rescue mode..." here.
25402
25403 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
25404 Declared.
25405 (pupa_rescue_cmd_initrd): Likewise.
25406 (pupa_rescue_cmd_initrd): Likewise.
25407
25408 * include/pupa/symbol.h (FUNCTION): Specify the type.
25409 (VARIABLE): Likewise.
25410
25411 * include/pupa/err.h (pupa_err_t): Added
25412 PUPA_ERR_UNKNOWN_COMMAND.
25413
25414 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
25415 (pupa_dl_get_prefix): Likewise.
25416
25417 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
25418 Added _chain.mod and _linux.mod instead of chain.mod and
25419 linux.mod.
25420 (chain_mod_SOURCES): Renamed to ...
25421 (_chain_mod_SOURCES): ... this.
25422 (chain_mod_CFLAGS): Renamed to ...
25423 (_chain_mod_CFLAGS): ... this.
25424 (linux_mod_SOURCES): Renamed to ...
25425 (_linux_mod_SOURCES): ... this.
25426 (linux_mod_CFLAGS): Renamed to ...
25427 (_linux_mod_CFLAGS): ... this.
25428 (normal_mod_SOURCES): New variable.
25429 (normal_mod_CFLAGS): Likewise.
25430 (normal_mod_ASFLAGS): Likewise.
25431
254322003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
25433
25434 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
25435 possible.
25436
fe6b695a 25437 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 25438 recursively.
25439 (pupa_dl_unref): Unrefer depending modules recursively.
25440 Don't call pupa_dl_unload implicitly, because PUPA can crash if
25441 a module is unloaded before one depending on that module is
25442 unloaded.
25443 (pupa_dl_unload): Unload depending modules explicitly,
25444 if possible.
25445
c04da074 254462003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
25447
25448 * include/pupa/i386/pc/linux.h: New file.
25449 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 25450
c04da074 25451 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
25452 Removed.
25453 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
25454 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
25455 of PUPA_CHAINLOADER_BOOT_SECTOR.
25456
25457 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
25458 (pupa_linux_prot_size): New variable.
25459 (pupa_linux_tmp_addr): Likewise.
25460 (pupa_linux_real_addr): Likewise.
25461 (pupa_linux_boot_zimage): New function.
25462 (pupa_linux_boot_bzimage): Likewise.
25463
25464 * kern/i386/pc/init.c (struct mem_region): New structure.
25465 (MAX_REGIONS): New macro.
25466 (mem_regions): New variable.
25467 (num_regions): Likewise.
25468 (pupa_os_area_addr): Likewise.
25469 (pupa_os_area_size): Likewise.
25470 (pupa_lower_mem): Likewise.
25471 (pupa_upper_mem): Likewise.
25472 (add_mem_region): New function.
25473 (compact_mem_regions): Likewise.
25474 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
25475 the size of the conventional memory and that of so-called upper
25476 memory (before the first memory hole).
25477 Instead of adding each found region to free memory, use
25478 add_mem_region and add them after removing overlaps.
25479 Also, add only 1/4 of the upper memory to free memory. The rest
25480 is used for loading OS images. Maybe this is ad hoc, but this
25481 makes it much easier to relocate OS images when booting.
25482
25483 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
25484 (pupa_enter_rescue_mode): Don't register initrd and module.
25485
25486 * kern/mm.c: Include pupa/dl.h.
25487
25488 * kern/main.c: Include pupa/file.h and pupa/device.h.
25489
25490 * kern/loader.c (pupa_loader_load_module_func): Removed.
25491 (pupa_loader_load_module): Likewise.
25492
25493 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
25494 ``.o''.
25495
25496 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
25497 (pupa_linux_tmp_addr): Likewise.
25498 (pupa_linux_real_addr): Likewise.
25499 (pupa_linux_boot_zimage): Likewise.
25500 (pupa_linux_boot_bzimage): Likewise.
25501
25502 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
25503 (pupa_upper_mem): Likewise.
25504 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
25505 module is too dangerous.
25506
25507 * include/pupa/loader.h (pupa_os_area_addr): Declared.
25508 (pupa_os_area_size): Likewise.
25509 (pupa_loader_set): Remove the first argument. Loader doesn't
25510 manage modules or initrd any longer.
25511 (pupa_loader_load_module): Removed.
25512
25513 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
25514 (linux_mod_SOURCES): New variable.
25515 (linux_mod_CFLAGS): Likewise.
25516
a13f9237 255172003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
25518
25519 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
25520 the length of a blocklist correctly.
25521
25522 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
25523 Use ioctl only if the OS file is a block device.
25524 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
25525 not very useful for normal files.
25526
25527 * kern/main.c (pupa_set_root_dev): New function.
25528 (pupa_load_normal_mode): Likewise.
25529 (pupa_main): Call those above.
25530
25531 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
25532 pupa_uint16_t.
25533
25534 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
25535
a5ffe966 255362003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
25537
25538 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
25539 (setup): Configure the installed partition information and the
25540 dl prefix.
25541
25542 * loader/i386/pc/chainloader.c (my_mod): New variable.
25543 (pupa_chainloader_unload): New function.
25544 (pupa_rescue_cmd_chainloader): Refer itself.
25545 (PUPA_MOD_INIT): Save its own module in MY_MOD.
25546
25547 * kern/i386/pc/startup.S (install_partition): Removed.
25548 (version_string): Likewise.
25549 (config_file): Likewise.
25550 (pupa_install_dos_part): New variable.
25551 (pupa_install_bsd_part): Likewise.
25552 (pupa_prefix): Likewise.
25553 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
25554
25555 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
25556 and pupa/misc.h.
25557 (make_install_device): New function.
25558 (pupa_machine_init): Set the dl prefix.
25559
25560 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
25561 (buf): Renamed to ...
25562 (linebuf): ... this.
25563 (pupa_rescue_cmd_prefix): New function.
25564 (pupa_rescue_cmd_insmod): Likewise.
25565 (pupa_rescue_cmd_rmmod): Likewise.
25566 (pupa_rescue_cmd_lsmod): Likewise.
25567 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
25568 rmmod and lsmod.
25569
25570 * kern/mm.c (pupa_memalign): If failed even after invalidating
25571 disk caches, unload unneeded modules and retry.
25572
25573 * kern/misc.c (pupa_memmove): New function.
25574 (pupa_memcpy): Removed.
25575 (pupa_strcpy): New function.
25576 (pupa_itoa): Made static.
25577
25578 * kern/dl.c (pupa_dl_iterate): New function.
25579 (pupa_dl_ref): Likewise.
25580 (pupa_dl_unref): Likewise.
25581 (pupa_dl_unload): Return if succeeded or not.
25582 (pupa_dl_unload_unneeded): New function.
25583 (pupa_dl_unload_all): Likewise.
25584 (pupa_dl_init): Renamed to ...
25585 (pupa_dl_set_prefix): ... this.
25586 (pupa_dl_get_prefix): New function.
25587
25588 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
25589 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
25590 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
25591 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
25592 (pupa_install_dos_part): Declared.
25593 (pupa_install_bsd_part): Likewise.
25594 (pupa_prefix): Likewise.
25595 (pupa_boot_drive): Likewise.
25596
25597 * include/pupa/types.h: Fix a typo.
25598
25599 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
25600 pupa_memmove.
25601 (pupa_memmove): Declared.
25602 (pupa_strcpy): Likewise.
25603
25604 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
25605 pupa_mod_init takes one argument, its own module.
25606 (pupa_dl_unload_unneeded): Declared.
25607 (pupa_dl_unload_all): Likewise.
25608 (pupa_dl_ref): Likewise.
25609 (pupa_dl_unref): Likewise.
25610 (pupa_dl_iterate): Likewise.
25611 (pupa_dl_init): Renamed to ...
25612 (pupa_dl_set_prefix): ... this.
25613 (pupa_dl_get_prefix): Declared.
25614
25615 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 25616 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 25617 unloaded.
25618 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
25619 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
25620
25621 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
25622 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
25623
012d7999 256242003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
25625
25626 * util/i386/pc/pupa-setup.c (setup): Define the internal
25627 function find_first_partition_start at the top level, because GCC
25628 3.0.x cannot compile internal functions in deeper scopes
25629 correctly.
25630 (find_root_device): Use lstat instead of stat.
25631 Don't follow symbolic links.
25632 Fix the path-constructing code.
25633
25634 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
25635 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
25636 by a BLKGETSIZE ioctl first, because block devices don't fill
25637 the member st_mode of the structure stat on Linux.
25638 [__linux__] (linux_find_partition): Use a temporary buffer
25639 REAL_DEV for the working space. Copy it to DEV before returning.
25640 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
25641 buffer cache consistent.
25642 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
25643 strncmp. The previous value was merely wrong.
25644 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
25645
25646 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
25647 FAT size is 12. The previous value was merely wrong.
25648
25649 * kern/main.c (pupa_main): Don't split the starting message from
25650 newlines.
25651
25652 * kern/term.c (pupa_putchar): Put CR after LF instead of before
25653 LF, because BIOS goes crazy about character attributes in this
25654 case.
25655
1cc73a62 256562003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
25657
25658 * include/i386/pc/util/biosdisk.h: New file.
25659 * util/i386/pc/biosdisk.c: Likewise.
25660 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 25661
1cc73a62 25662 * Makefile.in (INCLUDE_DISTFILES): Added
25663 include/pupa/i386/pc/util/biosdisk.h.
25664 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
25665 directory util/i386/pc.
25666 (install-local): Added a rule for sbin_UTILITIES.
25667 (uninstall): Likewise.
25668
25669 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
25670
25671 * util/misc.c (xrealloc): New function.
25672 (pupa_malloc): Likewise.
25673 (pupa_free): Likewise.
25674 (pupa_realloc): Likewise.
25675 (pupa_stop): Likewise.
25676 (pupa_putchar): Likewise.
25677
25678 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
25679
25680 * include/pupa/util/misc.h (xrealloc): Declared.
25681
25682 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
25683 macro.
25684 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
25685 (PUPA_BOOT_MACHINE_BPB_END): ... this.
25686
25687 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
25688 [PUPA_UTIL] (pupa_fat_fini): Likewise.
25689
25690 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
25691 way should be implemented.
25692 [PUPA_UTIL] (pupa_fat_fini): Likewise.
25693
25694 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
25695 the size of NAME for safety.
25696 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
25697 0x88.
25698
25699 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
25700 (pupa_setup_SOURCES): Likewise.
25701
25702 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
25703
08b70fe8 257042002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
25705
25706 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
25707 bunch of pushl's from pusha, because this destroys the return
25708 value.
25709
62ddcc8f 257102002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
25711
25712 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
25713 This means that any missing prototypes could be fatal. Also, you
25714 must take care when writing assembly code. See the comments at
25715 the beginning of startup.S, for more details.
f19dbdb7 25716
62ddcc8f 25717 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
25718 compilation mechanism.
25719 (pupa_chainloader_real_boot): Likewise.
25720 (pupa_biosdisk_rw_int13_extensions): Likewise.
25721 (pupa_biosdisk_rw_standard): Likewise.
25722 (pupa_biosdisk_check_int13_extensions): Likewise.
25723 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
25724 (pupa_biosdisk_get_diskinfo_standard): Likewise.
25725 (pupa_get_memsize): Likewise.
25726 (pupa_get_mmap_entry): Likewise.
25727 (pupa_console_putchar): Likewise.
25728 (pupa_console_setcursor): Likewise.
25729 (pupa_getrtsecs): Use pushl instead of push.
25730
25731 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
25732 memory instead of the stack for a mmap entry, because some
25733 BIOSes may ignore the maximum size and overflow.
25734
25735 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
25736
25737 * genmk.rb (PModule#rule): Compile automatically generated
25738 sources with module-specific CFLAGS as well as other sources.
25739
9962ed99 257402002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
25741
25742 * configure.ac: Check ld.
25743 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
25744 respectively, before checking endianness and sizes.
25745
25746 * Makefile.in (LD): New variable.
f19dbdb7 25747
abdfc3c5 257482002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
25749
25750 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
25751
6a161fa9 257522002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
25753
25754 * Changelog: New file.
25755