]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix compilation on corebo...
[grub2.git] / ChangeLog
CommitLineData
af09641e
VS
12010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
2
3 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
4 compilation on coreboot and qemu
5
016883a5
VS
62010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
7
8 * include/multiboot2.h: Resync with spec.
9
f97e1f7d
VS
102010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
11
12 Multiboot2 tag support
13
14 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
15 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
16 Remove loader/multiboot_loader.c.
17 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
18 (grub_multiboot2_real_boot): Likewise.
19 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
20 (grub_get_multiboot_mmap_count): New proto.
21 (grub_fill_multiboot_mmap): Likewise.
22 (grub_multiboot_set_video_mode): Likewise.
23 (grub_multiboot_set_console): Likewise.
24 (grub_multiboot_load): Likewise.
25 (grub_multiboot_load_elf): Likewise.
26 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
27 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
28 * include/multiboot.h: Resynced with specification.
29 * include/multiboot2.h: Resynced with specification.
30 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
31 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
32 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
33 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
34 users updated.
35 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
36 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
37 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
38 Removed.
39 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
40 Moved from here...
41 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
42 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
43 Moved from here...
44 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
45 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
46 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
47 All users updated.
48 * loader/i386/multiboot_mbi2.c: New file.
49
3506b90b
VS
502010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
51
52 Resync with gnulib.
53
54 * Makefile.in (GNULIB_CFLAGS): New variable.
55 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
56 (grub_script_check_CFLAGS): New variable.
57 * gnulib/alloca.h: Resync with gnulib.
58 * gnulib/error.c: Likewise.
59 * gnulib/error.h: Likewise.
60 * gnulib/fnmatch.c: Likewise.
61 * gnulib/fnmatch_loop.c: Likewise.
62 * gnulib/getdelim.c: Likewise.
63 * gnulib/getline.c: Likewise.
64 * gnulib/getopt.c: Likewise.
65 * gnulib/getopt1.c: Likewise.
66 * gnulib/getopt_int.h: Likewise.
67 * gnulib/gettext.h: Likewise.
68 * gnulib/progname.c: Likewise.
69 * gnulib/progname.h: Likewise.
70
394a3120
GS
712010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
72
73 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
74 which is the case with --disabled-nls.
75
76 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
77 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
78 * util/misc.c: Likewise.
79 * util/mkisofs/mkisofs.c: Likewise.
80 * util/mkisofs/mkisofs.h: Likewise.
81
969d1c78
VS
822010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
83
84 Simplify Apple CC support.
85
86 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
87 Add 0 byte at the end not to have a symbol with empty target.
88 * mmap/i386/pc/mmap_helper.S: Likewise.
89 * genmk.rb: Ignore errors 2030 and 2050.
90 * kern/i386/pc/startup.S: Use LOCAL when possible.
91
8d2977bb
BC
922010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
93
94 Testcase and the fix for final semicolon on cmdline.
95
96 * tests/grub_script_final_semicolon.in: New testcase.
97 * conf/tests.rmk: Rules for the new testcase.
98 * script/parser.y: Grammar fix.
99
a7bd6915
BC
1002010-03-26 BVK Chaitanya <bvk@localhost>
101
102 Blank lines testcase for GRUB script.
103
104 * tests/grub_script_blanklines.in: New testcase.
105 * conf/tests.rmk: Rules for the new testcase.
106
e4ff6628
VS
1072010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
108
109 Don't use __FILE__.
110
111 * genmk.rb: Add -DGRUB_FILE to all C targets.
112 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
113 * include/grub/list.h: Likewise.
114 * include/grub/misc.h: Likewise.
115 * include/grub/mm.h: Likewise.
116 * include/grub/test.h: Likewise.
117 * kern/mm.c: Likewise.
118 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
119
6a5cf6b6
VS
1202010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
121
122 Sunpc partitions support.
123
124 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
125 (grub_fstest_SOURCES): Likewise.
126 (pkglib_MODULES): Add part_sunpc.mod.
127 (part_sunpc_mod_SOURCES): New variable.
128 (part_sunpc_mod_CFLAGS): Likewise.
129 (part_sunpc_mod_LDFLAGS): Likewise.
130 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
131 * partmap/sunpc.c: New file.
132
746d9045
BC
1332010-03-26 BVK Chaitanya <bvk@localhost>
134
135 For loop support to GRUB script.
136
137 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
138 (grub_script_create_cmdfor): New function prototype.
139 (grub_script_execute_cmdfor): New function prototype.
140 * script/execute.c (grub_script_execute_cmdfor): New function.
141 * script/parser.y (command): New for command.
142 (forcmd): New grammar rule.
143 * script/script.c (grub_script_create_cmdfor): New function.
144 * util/grub-script-check.c (grub_script_execute_cmdfor): New
145 function.
146 * tests/grub_script_for1.in: New testcase.
147 * conf/tests.rmk: Rules for new testcase.
148
18486b18
VS
1492010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
150
151 Nested partitions
152
153 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
154 'partition' is NULL, grub_partition_get_start already does that.
155 * commands/loadenv.c (check_blocklists): Likewise.
156 (write_blocklists): Likewise.
157 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
158 (grub_fstest_SOURCES): Likewise.
159 (pkglib_MODULES): Add part_bsd.mod.
160 (part_bsd_mod_SOURCES): New variable.
161 (part_bsd_mod_CFLAGS): Likewise.
162 (part_bsd_mod_LDFLAGS): Likewise.
163 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
164 (grub_emu_SOURCES): Likewise.
165 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
166 * include/grub/bsdlabel.h: New file.
167 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
168 'get_name'.
169 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
170 (grub_partition_map_list): New variable.
171 (grub_partition_map_register): Inline.
172 (grub_partition_map_unregister): Likewise.
173 (FOR_PARTITION_MAPS): New macro.
174 (grub_partition_map_iterate): Removed.
175 (grub_partition_get_start): Handle nested partitions.
176 * include/grub/msdos_partition.h: Remove bsd-related entries.
177 (grub_pc_partition): Remove.
178 * kern/disk.c (grub_disk_close): Free partition data.
179 (grub_disk_adjust_range): Handle nested partitions.
180 * kern/partition.c (grub_partition_map_probe): New function.
181 (grub_partition_probe): Parse name to number, handle subpartitions.
182 (get_partmap): New function.
183 (grub_partition_iterate): Handle subpartitions.
184 (grub_partition_get_name): Likewise.
185 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
186 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
187 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
188 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
189 Set 'number'.
190 (acorn_partition_map_probe): Remove.
191 (acorn_partition_map_get_name): Likewise.
192 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
193 Set 'number'.
194 Set 'index' to 0 since there can be only one partition entry per sector.
195 (amiga_partition_map_probe): Remove.
196 (amiga_partition_map_get_name): Likewise.
197 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
198 Set 'number'.
199 Set 'offset' and 'index' to real positions of partitions.
200 (apple_partition_map_probe): Remove.
201 (apple_partition_map_get_name): Likewise.
202 * partmap/bsdlabel.c: New file.
203 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
204 Set 'number'.
205 Allocate 'data' so it can be correctly freed.
206 Set 'index' to offset inside sector.
207 (gpt_partition_map_probe): Remove.
208 (gpt_partition_map_get_name): Likewise.
209 * partmap/msdos.c (grub_partition_parse): Remove.
210 (pc_partition_map_iterate): Don't force raw access.
211 Set 'number'.
212 Make 'ext_offset' a local variable.
213 (pc_partition_map_probe): Remove.
214 (pc_partition_map_get_name): Remove.
215 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
216 Set 'number'.
217 (sun_partition_map_probe): Remove.
218 (sun_partition_map_get_name): Likewise.
219 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
220 (grub_pcpart_type): Likewise.
221 * util/hostdisk.c (open_device): Handle new numbering scheme.
222 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
223 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
224 * util/grub-probe.c (probe_partmap): Handle nested paritions.
225 * util/grub-install.in: Insert all subpartition modules.
226 * util/ieee1275/grub-install.in: Likewise.
227
a3940f88
AG
2282010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
229
230 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
231 grammar.
232
21b99926 2332010-03-24 Colin Watson <cjwatson@ubuntu.com>
234
235 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
236
bed1d352
CW
2372010-03-21 Colin Watson <cjwatson@ubuntu.com>
238
239 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
240 match where 'make install' puts them.
241 * util/i386/efi/grub-install.in: Likewise.
242
c9f58427
CW
2432010-03-19 Colin Watson <cjwatson@ubuntu.com>
244
245 * .bzrignore: Add gentrigtables, grub-script-check,
246 grub_script_check_init.c, grub_script_check_init.h, and
247 trigtables.c.
248
f84afb27
VS
2492010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
250
251 * kern/parser.c: Indented.
252
ed0e3d30
VS
2532010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
254
255 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
256
0ea81d98
VS
2572010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
258
259 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
260 alpha_mask_size == 0 case.
261
0cdc2a09
BC
2622010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
263
264 GRUB shell lexer and parser improvements.
265
266 * conf/any-emu.rmk: Build rule updates.
267 * conf/common.rmk: Likewise.
268 * conf/i386-coreboot.rmk: Likewise.
269 * conf/i386-efi.rmk: Likewise.
270 * conf/i386-ieee1275.rmk: Likewise.
271 * conf/i386-pc.rmk: Likewise.
272 * conf/powerpc-ieee1275.rmk: Likewise.
273 * conf/x86_64-efi.rmk: Likewise.
274
275 * configure.ac: Configure check for flex.
276
277 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
278 types.
279 (grub_lexer_param): Struct member updates.
280 (grub_parser_param): Likewise.
281 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
282 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
283 (grub_script_lexer_init): Prototype update.
284 (grub_script_lexer_record_start): Likewise.
285 (grub_script_lexer_record_stop): Likewise.
286 (grub_script_lexer_yywrap): New function prototype.
287 (grub_script_lexer_fini): Likewise.
288 (grub_script_execute_argument_to_string): Removed by...
289 (grub_script_execute_argument_to_argv): ...better version.
290
291 * script/execute.c (ROUND_UPTO): New macro.
292 (grub_script_execute_cmdline): Out of memory fixes.
293 (grub_script_execute_menuentry): Likewise.
294 (grub_script_execute_argument_to_string): Removed. Update all
295 users by...
296 (grub_script_execute_argument_to_argv): ...better version.
297 * script/function.c (grub_script_function_create): Use
298 grub_script_execute_argument_to_argv instead of
299 grub_script_execute_argument_to_string.
300
301 * script/lexer.c (check_varstate): Removed.
302 (check_textstate): Removed.
303 (grub_script_lexer_record_start): Likewise.
304 (grub_script_lexer_record_stop): Likewise.
305 (recordchar): Replaced with...
306 (grub_script_lexer_record): ...new function.
307 (nextchar): Removed.
308 (grub_script_lexer_init): Rewritten.
309 (grub_script_yylex): Rewritten.
310 (append_newline): New function.
311 (grub_script_lexer_yywrap): New function.
312 (grub_script_lexer_fini): New function.
313 (grub_script_yyerror): Sets error flag.
314
315 * script/yylex.l: New file.
316 (grub_lexer_yyfree): Wrapper for flex yyffre.
317 (grub_lexer_yyalloc): Likewise.
318 (grub_lexer_yyrealloc): Likewise.
319 * script/parser.y: Refactored.
320
321 * script/script.c (grub_script_arg_add): Out of memory fixes.
322 (grub_script_add_arglist): Likewise.
323 (grub_script_create_cmdline): Likewise.
324 (grub_script_create_cmdmenu): Likewise.
325 (grub_script_add_cmd): Likewise.
326 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
327 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
328 unnecessary code.
329
330 * tests/grub_script_echo1.in: New testcase.
331 * tests/grub_script_vars1.in: New testcase.
332 * tests/grub_script_echo_keywords.in: New testcase.
333
1d63a066
VS
3342010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
335
336 Remove some redundancy in build system.
337
338 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
339 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
340 (TARGET_LDFLAGS): Add -nostdlib.
341 (TARGET_IMG_LDFLAGS): Likewise.
342 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
343 anything since mmap isn't available.
344 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
345 Add util/time.c.
346 (pkglib_MODULES): Remove reboot.mod.
347 (reboot_mod_SOURCES): Removed.
348 (reboot_mod_CFLAGS): Likewise.
349 (reboot_mod_LDFLAGS): Likewise.
350 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
351 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
352 (DEFSYMFILES): Add kernel_syms.lst.
353 (kernel_img_HEADERS): Add common headers.
354 (symlist.c): New target.
355 (kernel_syms.lst): Likewise.
356 (pkglib_MODULES): Add memdisk.mod.
357 (memdisk_mod_SOURCES): New variable.
358 (memdisk_mod_CFLAGS): Likewise.
359 (memdisk_mod_LDFLAGS): Likewise.
360 (pkglib_MODULES): Add reboot.mod.
361 (reboot_mod_SOURCES): New variable.
362 (reboot_mod_CFLAGS): Likewise.
363 (reboot_mod_LDFLAGS): Likewise.
364 (pkglib_MODULES): Add date.mod.
365 (date_mod_SOURCES): New variable.
366 (date_mod_CFLAGS): Likewise.
367 (date_mod_LDFLAGS): Likewise.
368 (pkglib_MODULES): Add datehook.mod.
369 (datehook_mod_SOURCES): New variable.
370 (datehook_mod_CFLAGS): Likewise.
371 (datehook_mod_LDFLAGS): Likewise.
372 (pkglib_MODULES): Add lsmmap.mod.
373 (lsmmap_mod_SOURCES): New variable.
374 (lsmmap_mod_CFLAGS): Likewise.
375 (lsmmap_mod_LDFLAGS): Likewise.
376 (pkglib_MODULES): Add boot.mod.
377 (boot_mod_SOURCES): New variable.
378 (boot_mod_CFLAGS): Likewise.
379 (boot_mod_LDFLAGS): Likewise.
380 * conf/i386-coreboot.rmk: Removed redundant parts.
381 * conf/i386-ieee1275.rmk: Likewise.
382 * conf/i386-pc.rmk: Likewise.
383 * conf/mips-yeeloong.rmk: Likewise.
384 * conf/mips.rmk: Likewise.
385 * conf/powerpc-ieee1275.rmk: Likewise.
386 * conf/sparc64-ieee1275.rmk: Likewise.
387 * conf/x86_64-efi.rmk: Likewise.
388 * conf/i386-coreboot.rmk: Moved qemu parts ..
389 * conf/i386-qemu.rmk: ... here
390 * conf/i386-efi.rmk: Moved common parts to...
391 * conf/x86-efi.rmk: ... here.
392 * conf/i386.rmk: Added modules common to all x86 variants.
393 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
394 * disk/memdisk.c: Remove grub/machine/kernel.h.
395 * gensymlist.sh.in: Include symbol.h.
396 * hook/datehook.c: Correct module name.
397 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
398 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
399 * include/grub/i386/efi/serial.h: New file.
400 * include/grub/x86_64/efi/serial.h: Likewise.
401 * util/time.c: Likewise.
402 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
403
463ac55f
CK
4042010-03-14 Colin King <colin.king@ubuntu.com>
4052010-03-14 Colin Watson <cjwatson@ubuntu.com>
406
407 Shrink the pre-partition-table part of boot.img by eight bytes.
408
409 * boot/i386/pc/boot.S (ERR): New macro.
410 (chs_mode): Use ERR.
411 (geometry_error): Likewise.
412 (hd_probe_error): Remove. This is only used once, so we wrwite
413 it inline instead.
414 (read_error): Instead of printing read_error_string, just set up
415 %si and fall through to ...
416 (error_message): ... this new function, also used by ERR.
417
08e46ede
CW
4182010-03-14 Colin Watson <cjwatson@ubuntu.com>
419
420 Speed up consecutive hostdisk operations on the same device.
421
422 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
423 (grub_util_biosdisk_open): Initialise disk->data.
424 (struct linux_partition_cache): New structure.
425 (linux_find_partition): Cache partition start positions; these are
426 expensive to compute on every read and write.
427 (open_device): Cache open file descriptor in disk->data, so that we
428 don't have to reopen it and flush the buffer cache for consecutive
429 operations on the same device.
430 (grub_util_biosdisk_close): New function.
431 (grub_util_biosdisk_dev): Set `close' member.
432
433 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
434 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
435 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
436 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
437 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
438
4a6d2d06
VS
4392010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
440
441 Compile parts of grub-emu as modules.
442
443 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
444 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
445 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
446 (all-local): Add $(GRUB_EMU).
447 (install-local): Install $(GRUB_EMU).
448 (uninstall): Uninstall $(GRUB_EMU).
449 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
450 * kern/dl.c: Likewise.
451 * commands/sleep.c: Not include machine/time.h.
452 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
453 (COMMON_CFLAGS): Likewise.
454 (sbin_UTILITIES): Remove grub-emu.
455 (grub_emu_SOURCES): Removed.
456 (kernel_img_RELOCATABLE): New variable.
457 (pkglib_PROGRAMS): Add kernel.img.
458 (kernel_img_SOURCES): New variable
459 (kernel_img_CFLAGS): Likewise.
460 (kernel_img_LDFLAGS): Likewise.
461 (TARGET_NO_STRIP): Likewise.
462 (TARGET_NO_DYNAMIC_MODULES): Likewise.
463 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
464 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
465 (grub-emu): New target.
466 (GRUB_EMU): New variable.
467 * configure.ac: Whitelist -emu as possible x86_64 architecture.
468 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
469 * loader/xnu.c: Likewise.
470 * include/grub/pci.h: Likewise.
471 * genemuinit.sh: New file.
472 * genemuinitheader.sh: Likewise.
473 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
474 Support TARGET_NO_DYNAMIC_MODULES.
475 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
476 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
477 * disk/loopback.c: Likewise.
478 * font/font_cmd.c: Likewise.
479 * partmap/acorn.c: Likewise.
480 * partmap/amiga.c: Likewise.
481 * partmap/apple.c: Likewise.
482 * partmap/gpt.c: Likewise.
483 * partmap/msdos.c: Likewise.
484 * partmap/sun.c: Likewise.
485 * parttool/msdospart.c: Likewise.
486 * term/gfxterm.c: Likewise.
487 * video/bitmap.c: Likewise.
488 * video/readers/jpeg.c: Likewise.
489 * video/readers/png.c: Likewise.
490 * video/readers/tga.c: Likewise.
491 * video/video.c: Likewise.
492 * util/grub-emu.c (read_command_list): Removed.
493 (main): Don't call util_init_nls.
494 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
495 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
496
91fdd2ed
VS
4972010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
498
499 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
500 date.mod, datehook.mod.
501 (datetime_mod_SOURCES): New variable.
502 (datetime_mod_CFLAGS): Likewise.
503 (datetime_mod_LDFLAGS): Likewise.
504 (date_mod_SOURCES): Likewise.
505 (date_mod_CFLAGS): Likewise.
506 (date_mod_LDFLAGS): Likewise.
507 (datehook_mod_SOURCES): Likewise.
508 (datehook_mod_CFLAGS): Likewise.
509 (datehook_mod_LDFLAGS): Likewise.
510 * conf/sparc64-ieee1275.rmk: Likewise.
511 * lib/ieee1275/datetime.c: New file.
512
873ccae6
VS
5132010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
514
515 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
516 (ieee1275_fb_mod_SOURCES): New variable.
517 (ieee1275_fb_mod_CFLAGS): Likewise.
518 (ieee1275_fb_mod_LDFLAGS): Likewise.
519 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
520 New proto.
521 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
522 (HEAP_MAX_ADDR): Likewise.
523 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
524 type.
525 Correct stop condition.
526 (grub_ieee1275_devices_iterate): New function.
527 * video/ieee1275.c: New file.
528
601c97c0
VS
5292010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
530
531 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
532
533 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
534 as scratch.
535 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
536 SCRATCH_PAD_DISKBOOT as scratch.
537 (bootit): Pass Openfirmware pointer in %o4.
538 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
539 of 0x200000.
540 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
541 with util/grub-mkrawimage.c.
542 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
543 * include/grub/aout.h (AOUT_MID_SUN): New definition.
544 (grub_aout_get_type) [GRUB_UTIL]: Removed.
545 (grub_aout_load) [GRUB_UTIL]: Likewise.
546 * include/grub/kernel.h (grub_modules_get_end): New proto.
547 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
548 (SCRATCH_PAD_BOOT): New definition.
549 (SCRATCH_PAD_DISKBOOT): Likewise.
550 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
551 * include/grub/sparc64/ieee1275/ieee1275.h
552 (grub_ieee1275_original_stack): New variable
553 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
554 New definition
555 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
556 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
557 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
558 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
559 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
560 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
561 (grub_platform_image_format_t): New type.
562 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
563 * kern/main.c (grub_modules_get_end)
564 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
565 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
566 (codestart): Switch stacks.
567 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
568 variable.
569 (grub_heap_init): Use grub_modules_get_end.
570 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
571 stack.
572 * util/grub-mkrawimage.c (generate_image): Support sparc64.
573 (main): Likewise.
574 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
575
d68b491e
TG
5762010-03-14 Thorsten Glaser <tg@mirbsd.org>
577
578 * util/grub-mkrescue.in: Base ISO UUID on UTC.
579
4e02ed50
MK
5802010-03-08 Matt Kraai <kraai@ftbfs.org>
581
582 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
583 bug #559005).
584
1f15fc1e
VS
5852010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
586
587 * genmoddep.awk: Output all missing symbols and not only first.
588
fce5d8ff
VS
5892010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
590
591 * NEWS: Put the date of 1.98 release.
592
d1e8a02f
VS
5932010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
594
595 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
596 ft2build.h.
597
696fd607
VS
5982010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
599
600 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
601 completition in the middle of string.
602
33e2e6f3
VS
6032010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
604
605 * util/grub-mkrescue.in: Use mktemp with explicit template.
606
b1f6d291
VS
6072010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
608
609 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
610
2ac227c7
VS
6112010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
612
613 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
614 right pointer.
615
8f9a632b
VS
6162010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
617
618 Fix FreeBSD compilation.
619
620 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
621 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
622
60b03859
VS
6232010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
624
625 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
626
48a5a769
VS
6272010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
628
629 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
630
3ab4bd77
VS
6312010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
632
633 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
634
d116e0d8
RM
6352010-03-04 Robert Millan <rmh.grub@aybabtu.com>
636
637 Support relative image path in theme file.
638
639 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
640 (image_set_property): Handle theme_dir and relative path.
641
c7ef54aa
VS
6422010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
643
644 * configure.ac: Alias amd64 to x86_64.
645
fcee14ed
VS
6462010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
647
648 * NEWS: mention multiboot on EFI.
649
d0780363
VS
6502010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
651
652 * kern/main.c (grub_load_modules): Handle errors from init functions of
653 embeded modules.
654
41168ea4
VS
6552010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
656
657 * normal/autofs.c (autoload_fs_module): Handle errors.
658
b54d93ac
VS
6592010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
660
661 Disable linux.mod on qemu-mips since it's not functional and leads
662 to compilation failure.
663
664 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
665 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
666 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
667 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
668 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
669 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
670 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
671 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
672 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
673 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
674 Reported by: BVK Chaitanya
675
fc8345da
JU
6762010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
677
678 * INSTALL: Add gettext as a dependency and add qemu to a new section
679 "Prerequisites for make-check".
680
4760f979
CF
6812010-03-04 Christian Franke <franke@computer.org>
682
683 * util/grub-pe2elf.c: Add missing include "progname.h".
684
f209b5b2
VS
6852010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
686
687 * normal/crypto.c (read_crypto_list): Fix a typo.
688 Reported by: Seth Goldberg.
689
b4b7be98
VS
6902010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
691
692 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 693 Reported by: Seth Goldberg.
b4b7be98 694
c0ee0385
VS
6952010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
696
697 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
698 ascii.bitmaps.
699
a8efbf64
VS
7002010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
701
702 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 703 Reported by: Seth Goldberg.
a8efbf64 704
08dcd913
VS
7052010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
706
707 * util/i386/efi/grub-install.in: Copy gettext files.
708
c4d0b332
VS
7092010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
710
711 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
712
c6f2fe52
VS
7132010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
714
715 Wait for user entry basing on presence of output rather than on errors.
716
717 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
718 (grub_install_newline_hook): Likewise.
719 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
720 * normal/menu.c (show_menu): Check line_counter to determine presence
721 of output.
722 * normal/term.c (grub_normal_line_counter): New variable.
723 (grub_normal_get_line_counter): New function.
724 (grub_install_newline_hook): Likewise.
725
5382b1e4
VS
7262010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
727
728 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
729
5519963b
VS
7302010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
731
732 * configure.ac: Update version to 1.98.
733
72b28631
VS
7342010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
735
736 * util/grub.d/10_linux.in (linux_entry): Don't default to
737 gfxpayload=keep if Linux doesn't support video handover.
738
c140a180
VS
7392010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
740
741 Don't compile video modules on yeeloong since video subsystem is part
742 of kernel.
743
744 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
745 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
746 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
747 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
748 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
749 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
750 * include/grub/bitmap_scale.h: Likewise.
751 * include/grub/bufio.h: Likewise.
752 * include/grub/font.h: Likewise.
753 * include/grub/gfxterm.h: Likewise.
754 * include/grub/video.h: Likewise.
755 * include/grub/vbe.h: Don't include video_fb.h.
756 * video/i386/pc/vbe.c: Include video_fb.h.
757 * commands/i386/pc/vbetest.c: Include video.h.
758
a0ca21c2
CW
7592010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
760
761 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
762 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
763 default entry if GRUB_SAVEDEFAULT=true. This allows using
764 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
765 saving a new default on every boot.
766
4a8a763c
VS
7672010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
768
769 * normal/crypto.c (read_crypto_list): Fix a memory leak.
770 * normal/term.c (read_terminal_list): Likewise.
771 * normal/main.c (grub_normal_init_page): Likewise.
772 (grub_normal_read_line_real): Likewise.
773
607ffde2
VS
7742010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
775
776 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
777 memory leak.
778 Reported by: Seth Goldberg.
779
2b8fa975
CW
7802010-02-24 Joey Korkames <joey+lists@kidfixit.com>
781
782 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
783 duplicate declaration of `start'.
784
618307dd
VS
7852010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
786
787 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
788 filename.
789 Reported by: Georgy Buranov
790
7dd05b96 7912010-02-20 Carles Pina i Estany <carles@pina.cat>
792
793 * util/grub-mkrawimage.c (usage): Change string formatting to
794 improve gettext.
795
d1484a42
MRA
7962010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
797
798 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
799 backspace keys.
800
42b1d186
VS
8012010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
802
803 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
804 Reported by: Michael Suchanek.
805
8062010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
807
808 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
809 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
810
d9f31a41
VS
8112010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
812
813 Remove any reference to non-free fonts.
814
815 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
816 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
817 uses non-free components.
818 * font/font.c (grub_font_get_name): Remove example name.
819 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
820 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
821 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
822 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
823
2793c71e
GB
8242010-02-16 Georgy Buranov <gburanov@gmail.com>
825
826 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
827
402e3779
VS
8282010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
829
830 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
831 Double divisor.
832 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
833 features.
834 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
835
0dd1e0dd
VS
8362010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
837
838 * gensymlist.sh.in: Use TARGET_CC instead of CC.
839
6fa7cfce
ST
8402010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
841
842 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
843 * docs/grub.texi (Command-line and menu entry commands): Document play
844 command.
845
37c8483b
ST
8462010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
847
848 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
849 parse arguments as inline tempo and notes. Move code for playing notes
850 to...
851 (play): ... new function.
852
14da0fb7
ST
8532010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
854
855 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
856 grub_uint16_t instead of short.
857 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
858 disk from little endian to cpu endianness.
859
04459e70
ST
8602010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
861
862 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
863 GRUB_TICKS_PER_SECOND instead of 120.
864
a0876943
VS
8652010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
866
867 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
868 escape sequence after \e.
869
e29f95dc
VS
8702010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
871
872 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
873 non-ASCII characters.
874
d27859b2
VS
8752010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
876
877 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
878 set root in single quotes to prevent \, from being unescaped.
879
bc028f2f
VS
8802010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
881
882 Prevent unknown commands from stopping menuentry execution.
883
884 * script/execute.c (grub_script_execute_cmdline): Print error after
885 unknown command.
886
095f5f82
VS
8872010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
888
889 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
890 Reported by: Pavel Pisa.
891
8c717950
VS
8922010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
893
894 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
895
904935c3
VS
8962010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
897
898 Merge grub_ieee1275_map_physical into grub_map and rename to
899 grub_ieee1275_map
900
901 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
902 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
903 Remove.
904 * kern/ieee1275/openfw.c (grub_map): Rename to ...
905 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
906 necessary.
907 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
908
5b59a4e3
VS
9092010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
910
911 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
912 opening and not after.
913
69e137e8
VS
9142010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
915
916 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
917 constants.
918
2c0fcc36
VS
9192010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
920
921 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
922 (alloc_phys): Use ALIGN_UP instead of align_addr.
923
8c6052ce
VS
9242010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
925
926 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
927
17cec782
VS
9282010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
929
930 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
931
e0128bbd
VS
9322010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
933
934 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
935 verbose dprintf.
936
ca62070b
VS
9372010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
938
939 Fix over-4GiB seek on sparc64.
940
941 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
942 Replace pos_i and pos_lo with pos. All users updated.
943 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
944 New constant.
945 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
946 Likewise.
947 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
948 and pos_lo.
949
bdca2607
VS
9502010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
951
952 * util/grub-mkrawimage.c (main): Call set_program_name.
953
da278c4d
VS
9542010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
955
956 Properly align 64-bit targets.
957
958 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
959 (generate_image): Use ALIGN_ADDR.
960
b274d734
VS
9612010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
962
963 Properly create cross-endian images.
964
965 * include/grub/types.h (grub_host_to_target_addr): New macro
966 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
967
82da2062
VS
9682010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
969
970 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
971
7cae4377
VS
9722010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
973
974 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
975
976 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
977 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
978 (grub_linux_boot): Divide by 64K when on VESA.
979
65a533e7
VS
9802010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
981
982 Support GRUB_GFXPAYLOAD_LINUX.
983
984 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
985 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
986
dd01d397
VS
9872010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
988
989 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
990 to show messages instead of discarding them.
991 Process errors after executing command and not before. Keep old method
992 too as precaution.
993
660960d6
VS
9942010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
995
996 * configure.ac: Check for ft2build.h.
997
62509f04
VS
9982010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
1001
473df63d
VS
10022010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1003
1004 * genkernsyms.sh.in: Use TARGET_CC.
1005
c98d2a13
CW
10062010-02-07 Colin Watson <cjwatson@ubuntu.com>
1007
1008 * NEWS: Update.
1009
6e14234c
VS
10102010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1011
1012 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
1013 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
1014 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 1015
b255e9cf
YB
10162010-02-07 Yves Blusseau <blusseau@zetam.org>
1017
6e14234c 1018 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 1019
98e6959d
VS
10202010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1021
1022 Fix warnings in grub-emu when compiling with maximum warning options.
1023
1024 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
1025 (grub_arch_modules_addr): Return 0 and not NULL.
1026 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 1027 (xstrdup): Use newstr instead of dup.
f88d801b
VS
1028 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
1029 of disk to dsk to avoid shadowing.
74e4934e
VS
1030 (find_free_slot): Fix prototype.
1031 * util/getroot.c (grub_util_is_dmraid): Make static.
1032 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
1033 Add missing prototype.
1034 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 1035
74e31b5c
VS
10362010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1037
1038 * loader/i386/linux.c (grub_linux_setup_video): Handle error
1039 appropriately.
1040
6b2ad14b
VS
10412010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1042
1043 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
1044 code out.
1045
8f891adc
VS
10462010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1047
1048 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
1049 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
1050 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
1051 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
1052 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
1053 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
1054
74b45184
VS
10552010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1056
1057 * include/grub/err.h (grub_err_printf): Don't export.
1058
a4bced77
VS
10592010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1060
1061 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
1062
007d0695
VS
10632010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1064
1065 * include/grub/i18n.h (grub_gettext_dummy): Removed.
1066 * kern/misc.c (grub_gettext_dummy): Make static.
1067
b6c0d9c2
VS
10682010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1069
1070 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
1071 by non-valid ones.
1072 * kern/term.c (grub_putchar): Likewise.
1073
f51a90d0
VS
10742010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1075
1076 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
1077 buggy hook call and memory leak.
1078
6846cec5
VS
10792010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1080
1081 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
1082
468d69fe
VS
10832010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1084
1085 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
1086
51906b8c
VS
10872010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1088
1089 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
1090 modevar.
1091 Return grub_errno on allocation error.
1092
09706ce5
VS
10932010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1094
1095 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
1096
911df80c
YB
10972010-02-06 Yves Blusseau <blusseau@zetam.org>
1098
1099 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
1100 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
1101
3746a6bc
VS
11022010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1103
1104 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
1105 non-pxe disk.
1106 (grub_pxefs_open): Likewise.
1107
09706ce5
VS
11082010-02-06 Robert Millan <rmh.grub@aybabtu.com>
1109
1110 * util/grub.d/10_hurd.in: Add --class information to menuentries.
1111 * util/grub.d/10_kfreebsd.in: Likewise.
1112 * util/grub.d/10_linux.in: Likewise.
1113
7cc192d9
VS
11142010-02-06 Colin D Bennett <colin@gibibit.com>
1115
1116 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
1117 (gfxmenu_mod_SOURCES): New variable.
1118 (gfxmenu_mod_CFLAGS): Likewise.
1119 (gfxmenu_mod_LDFLAGS): Likewise.
1120 * include/grub/term.h (grub_term_set_current_output): Declare
1121 argument as const.
1122 * docs/gfxmenu-theme-example.txt: New file.
1123 * gfxmenu/gfxmenu.c: Likewise.
1124 * gfxmenu/gui_box.c: Likewise.
1125 * gfxmenu/gui_canvas.c: Likewise.
1126 * gfxmenu/gui_circular_progress.c: Likewise.
1127 * gfxmenu/gui_image.c: Likewise.
1128 * gfxmenu/gui_label.c: Likewise.
1129 * gfxmenu/gui_list.c: Likewise.
1130 * gfxmenu/gui_progress_bar.c: Likewise.
1131 * gfxmenu/gui_string_util.c: Likewise.
1132 * gfxmenu/gui_util.c: Likewise.
1133 * gfxmenu/icon_manager.c: Likewise.
1134 * gfxmenu/model.c: Likewise.
1135 * gfxmenu/named_colors.c: Likewise.
1136 * gfxmenu/theme_loader.c: Likewise.
1137 * gfxmenu/view.c: Likewise.
1138 * gfxmenu/widget-box.c: Likewise.
1139 * include/grub/gfxmenu_model.h: Likewise.
1140 * include/grub/gfxmenu_view.h: Likewise.
1141 * include/grub/gfxwidgets.h: Likewise.
1142 * include/grub/gui.h: Likewise.
1143 * include/grub/gui_string_util.h: Likewise.
1144 * include/grub/icon_manager.h: Likewise.
1145
11462010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1147
1148 Agglomerate scrolling in gfxterm.
1149
1150 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
1151 (grub_virtual_screen_setup): Initialise 'total_screen'.
1152 (write_char): Split to ...
1153 (paint_char): ... this ...
1154 (write_char): ... and this.
1155 (paint_char): Handle delayed scrolling.
1156 (draw_cursor): Likewise.
1157 (scroll_up): Split to ...
1158 (real_scroll): ... this ...
1159 (scroll_up): ... and this.
1160 (real_scroll): Handle multi-line scroll and draw below-the-bottom
1161 characters.
1162 (grub_gfxterm_refresh): Call real_scroll.
1163
11642010-02-06 Colin D Bennett <colin@gibibit.com>
1165
1166 * include/grub/misc.h (grub_iscntrl): New inline function.
1167 (grub_isalnum): Likewise.
1168 (grub_strtol): Likewise.
1169
11702010-02-06 Colin D Bennett <colin@gibibit.com>
1171
1172 * normal/menu_text.c (get_entry_number): Move from here ...
1173 * normal/menu.c (get_entry_number): ... moved here.
1174 * include/grub/menu.h (grub_menu_get_default_entry_index):
1175 New prototype.
1176 * normal/menu.c (grub_menu_get_default_entry_index): New function.
1177 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
1178 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
1179 (grub_menu_viewer_should_return): Likewise.
1180 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
1181 * normal/menu_text.c (run_menu): Enable menu switching.
1182 * normal/menu_viewer.c (should_return): New variable.
1183 (menu_viewer_changed): Likewise.
1184 (grub_menu_viewer_show_menu): Handle menu viewer changes.
1185 (grub_menu_viewer_should_return): New function.
1186 (menuviewer_write_hook): Likewise.
1187 (grub_menu_viewer_init): Likewise.
1188
11892010-02-06 Colin D Bennet <colin@gibibit.com>
11902010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1191
1192 Support for gfxterm in a window.
1193
1194 * include/grub/gfxterm.h: New file.
1195 * include/grub/video.h (struct grub_video_rect): New declaration.
1196 (grub_video_rect_t): Likewise.
1197 * term/gfxterm.c (struct grub_gfxterm_window): New type.
1198 (refcount): New variable.
1199 (render_target): Likewise.
1200 (window): Likewise.
1201 (repaint_callback): Likewise.
1202 (grub_virtual_screen_setup): Use 'render_target'.
1203 (init_window): New function.
1204 (grub_gfxterm_init_window): Likewise.
1205 (grub_gfxterm_init): Check reference counter.
1206 Use init_window.
1207 (destroy_window): New function.
1208 (grub_gfxterm_destroy_window): Likewise.
1209 (grub_gfxterm_fini): Check reference counter.
1210 Use destroy_window.
1211 (redraw_screen_rect): Restore viewport.
1212 Use 'render_target' and 'window'.
1213 Call 'repaint_callback'.
1214 (write_char): Use 'render_target'.
1215 (draw_cursor): Likewise.
1216 (scroll_up): Restore viewport.
1217 Use 'render_target' and 'window'.
1218 Call 'repaint_callback'.
1219 (grub_gfxterm_cls): Likewise.
1220 (grub_gfxterm_refresh): Use 'window'.
1221 (grub_gfxterm_set_repaint_callback): New function.
1222 (grub_gfxterm_background_image_cmd): Use 'window'.
1223 (grub_gfxterm_get_term): New function.
1224 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
1225
12262010-02-06 Colin D Bennett <colin@gibibit.com>
1227
1228 Bitmap scaling support.
1229
1230 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
1231 (bitmap_scale_mod_SOURCES): New variable.
1232 (bitmap_scale_mod_CFLAGS): Likewise.
1233 (bitmap_scale_mod_LDFLAGS): Likewise.
1234 * include/grub/bitmap_scale.h: New file.
1235 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
1236 (background_image_cmd_options): New variable.
1237 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
1238 (cmd): Rename and change type to ...
1239 (background_image_cmd_handle): ... this. All users updated.
1240 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
1241 * video/bitmap_scale.c: New file.
1242
12432010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1244
1245 SDL support.
1246
1247 * Makefile.in (LIBSDL): New variable.
1248 (enable_grub_emu_sdl): Likewise.
1249 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
1250 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
1251 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
1252 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
1253 * util/sdl.c: New file.
1254
12552010-02-06 Colin D Bennett <colin@gibibit.com>
12562010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1257
1258 Double buffering support.
1259
1260 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
1261 * include/grub/video.h: Update comment.
1262 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
1263 New type.
1264 (grub_video_fb_doublebuf_blit_init): New prototype.
1265 * term/gfxterm.c (scroll_up): Support double buffering.
1266 (grub_gfxterm_refresh): Likewise.
1267 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
1268 (grub_video_fb_doublebuf_blit_init): Likewise.
1269 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
1270 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
1271 'displayed_page', 'render_page' and 'update_screen'.
1272 (grub_video_vbe_fini): Free offscreen buffer.
1273 (doublebuf_pageflipping_commit): New function.
1274 (doublebuf_pageflipping_update_screen): Likewise.
1275 (doublebuf_pageflipping_init): Likewise.
1276 (double_buffering_init): Likewise.
1277 (grub_video_vbe_setup): Enable doublebuffering.
1278 (grub_video_vbe_swap_buffers): Implement.
1279 (grub_video_vbe_set_active_render_target): Handle double buffering.
1280 (grub_video_vbe_get_active_render_target): Likewise.
1281 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
1282 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
1283 (grub_video_vbe_enable_double_buffering): Likewise.
1284 (grub_video_vbe_swap_buffers): Use update_screen.
1285 (grub_video_set_mode): Use double buffering.
1286
12872010-02-06 Robert Millan <rmh.grub@aybabtu.com>
1288
1289 * maintainance/gentrigtables.py: Remove.
1290 * lib/trig.c: Likewise.
1291
1292 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
1293
1294 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
1295 `trigtables.c'.
1296 (trigtables.c): New rule.
1297 (gentrigtables): Likewise.
1298 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
1299
13002010-02-06 Robert Millan <rmh.grub@aybabtu.com>
1301
1302 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
1303 integer constants.
1304
13052010-02-06 Colin D Bennet <colin@gibibit.com>
1306
1307 Trigonometry support.
1308
1309 * include/grub/trig.h: New file.
1310 * lib/trig.c: Likewise.
1311 * maintainance/gentrigtables.py: Likewise.
1312 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
1313 (trig_mod_SOURCES): New variable.
1314 (trig_mod_CFLAGS): Likewise.
1315 (trig_mod_LDFLAGS): Likewise.
1316
5562834e
VS
13172010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1318
1319 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
1320 disk devices.
1321
4f8528fc
VS
13222010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1323
1324 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
1325 error.
1326
2b4068e9
VS
13272010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1328
1329 * util/hostdisk.c (open_device): Don't use partition device when reading
1330 before the partition.
1331 (grub_util_biosdisk_read): Don't read from partition and before the
1332 partition in single operation.
1333 (grub_util_biosdisk_write): Don't write to partition and before the
1334 partition in single operation.
1335
399f6e4d
TL
13362010-02-03 Torsten Landschoff <torsten@debian.org>
1337
1338 * kern/disk.c (grub_disk_read): Fix offset computation when reading
1339 last sectors.
1340
996649b0
VS
13412010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1342
1343 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
1344 CDROM reads.
1345 (grub_biosdisk_write): Refuse to write to CDROM.
1346
3b205d4d
VS
13472010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1348
1349 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
1350
61e89d9d
VS
13512010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1352
1353 * font/font.c (find_glyph): Check that bmp_idx is available before
1354 using it.
1355 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
1356 with (font == NULL).
1357
bf7fcba2
CS
13582010-01-28 Christian Schmitt <chris@ilovelinux.de>
1359
1360 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
1361
f45d2663
BC
13622010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
1363
1364 * include/grub/script_sh.h (sourcecode): Add const qualifier.
1365 * util/grub-script-check.c (getline): Fix empty lines case.
1366
ec1444e6
RM
13672010-01-28 Robert Millan <rmh.grub@aybabtu.com>
1368
1369 * Makefile.in (check): Exit with fail status when one of the tests
1370 fails.
1371 * tests/example_functional_test.c (example_test): Fix reversed assert.
1372 * tests/example_unit_test.c (example_test): Likewise.
1373
2e1cb9bb
CW
13742010-01-28 Colin Watson <cjwatson@ubuntu.com>
1375
1376 * util/grub.d/10_linux.in: This script does not use any of the
1377 contents of gettext.sh, only the external command `gettext', so stop
1378 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
1379 the same prefix as GRUB.)
1380 * util/grub.d/10_kfreebsd.in: Likewise.
1381
63533ab0
VS
13822010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1383
1384 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
1385 of the line.
1386
989e1f93
VS
13872010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1388
1389 * kern/disk.c (grub_disk_read): Fix offset computation when reading
1390 last sectors.
1391
e709ebe2
VS
13922010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1393
1394 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
1395 having a 4KiB and not 32KiB buffer size.
1396
27dea7ed
RM
13972010-01-27 Robert Millan <rmh.grub@aybabtu.com>
1398
1399 * util/hostfs.c: Include `<errno.h>'.
1400 (grub_hostfs_read): Handle errors from fseeko() and fread().
1401
67667b9c
RM
14022010-01-27 Robert Millan <rmh.grub@aybabtu.com>
1403
1404 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
1405 loop when using read hooks on files whose size isn't sector-aligned.
1406
c294d9d8
RM
14072010-01-27 Robert Millan <rmh.grub@aybabtu.com>
1408
1409 Remove unused parameter.
1410
1411 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
1412 (grub_iso9660_open): Remove initialization of `data->length'.
1413
af75a9f1
RM
14142010-01-27 Robert Millan <rmh.grub@aybabtu.com>
1415
1416 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
1417 memleak conditions.
1418
254e2ce5 14192010-01-27 Carles Pina i Estany <carles@pina.cat>
1420
1421 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
1422 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
1423
b510928c 14242010-01-26 Carles Pina i Estany <carles@pina.cat>
1425
1426 * util/bin2h.c (usage): Fix warning (space after backslash).
1427
aa2f9dd2 14282010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 1429
1430 * font/font.c: Include `grub/fontformat.h.
1431 Remove font file format constants.
1432 (grub_font_load): Use the new macros.
1433 * include/grub/fontformat.h: New file.
1434 * util/grub-mkfont.c: Include `grub/fontformat.c'.
1435 (write_font_pf2): Use the new macros.
1436
94e7e712
RM
14372010-01-26 Robert Millan <rmh.grub@aybabtu.com>
1438
1439 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
1440 does.
1441
3973a59a
RM
14422010-01-26 Robert Millan <rmh.grub@aybabtu.com>
1443
1444 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
1445
1446 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
1447 (_start): Macroify `0x7F'.
1448
1449 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
1450 (make_install_device): Use "(pxe)" as fallback prefix when booting
1451 via PXE.
1452
42e0cba3
GS
14532010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
1454
1455 * configure.ac: Reset LIBS after check for libgcc symbols.
1456
847effd8
CW
14572010-01-25 Colin Watson <cjwatson@ubuntu.com>
1458
1459 * util/hostdisk.c (open_device): Add trailing newline to debug
1460 message.
1461
ea4a7e35
GS
14622010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
1463
1464 * configure.ac: Check for `limits.h'.
1465 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
1466
67951a53
RM
14672010-01-24 Robert Millan <rmh.grub@aybabtu.com>
1468
1469 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
1470 capitalize error strings.
1471
c273d4ce
ST
14722010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
1473
1474 * util/grub.d/10_hurd.in: Add a recovery mode.
1475
69be5b74
VS
14762010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
1477
1478 * configure.ac: Check for libgcc symbols with -nostdlib.
1479
fc9e5810
BC
14802010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
1481
1482 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
1483
4b358c0a
VS
14842010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1485
1486 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
1487 stack since heap may be unavailable at that point.
1488 (grub_ofconsole_gotoxy): Likewise.
1489
454fcd1c
VS
14902010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1491
1492 * configure.ac: Check for _restgpr_14_x.
1493 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
1494 and _savegpr_* prototypes.
1495
566863ca
RM
14962010-01-22 Robert Millan <rmh.grub@aybabtu.com>
1497
1498 Use generic grub_reboot() for i386-efi.
1499
1500 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
1501 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
1502 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
1503
bf86e59a
VS
15042010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1505
1506 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
1507 presence of "prefix" variable as it breaks when normal.mod is
1508 embedded.
1509
d645e0f8
VS
15102010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1511
1512 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
1513 stack since heap is unavailable at that point.
1514
f9ab2e25
VS
15152010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1516
1517 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
1518 (grub_freebsd_bootinfo): Rewritten.
1519 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
1520
01fc7054
VS
15212010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1522
1523 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
1524
caab4fd6
RM
15252010-01-21 Robert Millan <rmh.grub@aybabtu.com>
1526
1527 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
1528 domain now.
1529
67eb1427
FZ
15302010-01-20 Felix Zielcke <fzielcke@z-51.de>
1531
1532 * util/misc.c (make_system_path_relative_to_its_root): Change the work
1533 around for handling "/" to the correct fix. Fix a memory leak. Use
1534 xstrdup instead of strdup.
1535
a9ed4ff3
VS
15362010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1537
1538 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
1539
15402010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
1541
1542 Optimise glyph lookup by Basic Multilingual Plane lookup array.
1543
1544 * font/font.c (struct grub_font): New member 'bmp_idx'.
1545 (font_init): Initialise 'bmp_idx'.
1546 (load_font_index): Fill 'bmp_idx'.
1547 (find_glyph): Make inline. Use bmp_idx for BMP characters.
1548
48209f4f
VS
15492010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1550
1551 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
1552 unnecessary calls.
1553
9f0a4bb7
VS
15542010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1555
1556 Move context handling out of the kernel.
1557
1558 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
1559 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
1560 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
1561 * conf/i386-efi.rmk: Likewise.
1562 * conf/i386-ieee1275.rmk: Likewise.
1563 * conf/i386-pc.rmk: Likewise.
1564 * conf/powerpc-ieee1275.rmk: Likewise.
1565 * conf/sparc64-ieee1275.rmk: Likewise.
1566 * conf/x86_64-efi.rmk: Likewise.
1567 * include/grub/env.h: Include grub/menu.h.
1568 (grub_env_var_type): Removed.
1569 (grub_env_var): Replaced field 'type' with 'global'.
1570 (grub_env_find): New prototype.
1571 (grub_env_context_open): Remove EXPORT_FUNC.
1572 (grub_env_context_close): Likewise.
1573 (grub_env_export): Likewise.
1574 (grub_env_set_data_slot): Removed.
1575 (grub_env_get_data_slot): Likewise.
1576 (grub_env_unset_data_slot): Likewise.
1577 (grub_env_unset_menu): New prototype.
1578 (grub_env_set_menu): Likewise.
1579 (grub_env_get_menu): Likewise.
1580 * include/grub/env_private.h: New file.
1581 * include/grub/normal.h (grub_context_init): New prototype.
1582 (grub_context_fini): Likewise.
1583 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
1584 * normal/context.c (grub_cmd_export): ... to here.
1585 * kern/env.c: Include env_private.h.
1586 (HASHSZ): Moved to include/grub/env_private.h.
1587 (grub_env_context): Likewise.
1588 (grub_env_sorted_var): Likewise.
1589 (current_context): Renamed from this ...
1590 (grub_current_context): ...to this. 'static' removed. All users updated.
1591 (grub_env_find): Removed 'static'.
1592 (grub_env_context_open): Moved to normal/context.c.
1593 (grub_env_context_close): Likewise.
1594 (grub_env_export): Likewise.
1595 (mangle_data_slot_name): Removed.
1596 (grub_env_set_data_slot): Likewise.
1597 (grub_env_get_data_slot): Likewise.
1598 (grub_env_unset_data_slot): Likewise.
1599 * kern/main.c (grub_set_root_dev): Don't export root.
1600 It will be done later.
1601 (grub_main): Don't export prefix.
1602 It will be done later.
1603 * normal/context.c: New file.
1604 * normal/main.c (free_menu): Use grub_env_unset_menu.
1605 (grub_normal_add_menu_entry): Use grub_env_get_menu.
1606 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
1607 (GRUB_MOD_INIT(normal)): Call grub_context_init.
1608 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
1609
8dd35b8c
VS
16102010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1611
1612 setpci support.
1613
1614 * commands/setpci.c: New file.
1615 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
1616 (setpci_mod_SOURCES): New variable.
1617 (setpci_mod_CFLAGS): Likewise.
1618 (setpci_mod_LDFLAGS): Likewise.
1619
449193d5
VS
16202010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1621
1622 Byte-addressable PCI configuration space.
1623
1624 * bus/pci.c (grub_pci_make_address): Use byte address instead of
1625 dword address.
1626 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
1627 GRUB_PCI_REG_CACHELINE.
1628 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
1629 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
1630 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
1631 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
1632 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
1633 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
1634 grub_pci_make_address.
1635 (lock_rom_area): Likewise.
1636 * commands/lspci.c (grub_lspci_iter): Use macroses
1637 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
1638 of grub_pci_make_address.
1639 * disk/ata.c (grub_ata_pciinit): Likewise.
1640 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
1641 (GRUB_PCI_REG_VENDOR): Likewise.
1642 (GRUB_PCI_REG_DEVICE): Likewise.
1643 (GRUB_PCI_REG_COMMAND): Likewise.
1644 (GRUB_PCI_REG_STATUS): Likewise.
1645 (GRUB_PCI_REG_REVISION): Likewise.
1646 (GRUB_PCI_REG_CLASS): Likewise.
1647 (GRUB_PCI_REG_CACHELINE): Likewise.
1648 (GRUB_PCI_REG_LAT_TIMER): Likewise.
1649 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
1650 (GRUB_PCI_REG_BIST): Likewise.
1651 (GRUB_PCI_REG_ADDRESSES): Likewise.
1652 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1653 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1654 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1655 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1656 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1657 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1658 (GRUB_PCI_REG_CIS_POINTER): Likewise.
1659 (GRUB_PCI_REG_SUBVENDOR): Likewise.
1660 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
1661 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
1662 (GRUB_PCI_REG_CAP_POINTER): Likewise.
1663 (GRUB_PCI_REG_IRQ_LINE): Likewise.
1664 (GRUB_PCI_REG_IRQ_PIN): Likewise.
1665 (GRUB_PCI_REG_MIN_GNT): Likewise.
1666 (GRUB_PCI_REG_MAX_LAT): Likewise.
1667 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
1668 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
1669 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 1670 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
1671 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
1672 space.
1673
96d73208
RM
16742010-01-20 Robert Millan <rmh.grub@aybabtu.com>
1675
1676 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
1677 can be reliably determined to be supported.
1678
d4484482
RM
16792010-01-20 Robert Millan <rmh.grub@aybabtu.com>
1680
1681 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
1682 that VESA is supported.
1683 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
1684 supported.
1685
00308ecf
VS
16862010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1687
1688 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
1689
f66924a4
RM
16902010-01-20 Robert Millan <rmh.grub@aybabtu.com>
1691
1692 * util/misc.c (make_system_path_relative_to_its_root): Work around
1693 special-casing of "/", as previous incarnation of this routine did.
1694
cbca0ada
VS
16952010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1696
1697 Fix any-emu compilation.
1698
1699 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
1700 * grub_bin2h_SOURCES: New variable.
1701
34a66d99
RM
17022010-01-20 Robert Millan <rmh.grub@aybabtu.com>
1703
1704 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
1705
94fabf58
RM
17062010-01-20 Robert Millan <rmh.grub@aybabtu.com>
1707
1708 * util/grub.d/00_header.in: Fix handling of locale_dir.
1709
02cf98ca
VS
17102010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1711
1712 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
1713 as possible unifont location (Gentoo).
1714 Reported by: Alexander BrĂ¼ning
1715
327dbcd7
VS
17162010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1717
1718 Don't try to generate lists for kernel.img.
1719
1720 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
1721 (pkglib_MODULES): Remove kernel.img.
1722 (kernel_img_EXPORTS): Removed.
1723 (kernel_img_RELOCATABLE): New variable.
1724 * conf/x86_64-efi.rmk: Likewise.
1725 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
1726
ca467290
VS
17272010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1728
1729 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
1730 grub_xasprintf or grub_snprintf.
1731 (grub_vsprintf): Likewise.
1732 (grub_snprintf): New proto.
1733 (grub_vsnprintf): Likewise.
1734 (grub_xasprintf): Likewise.
1735 (grub_xvasprintf): Likewise.
1736 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
1737 (grub_sprintf): Removed.
1738 (grub_vsnprintf): New function.
1739 (grub_snprintf): Likewise.
1740 (grub_xvasprintf): Likewise.
1741 (grub_xasprintf): Likewise.
1742 (grub_vsprintf): Renamed to ...
1743 (grub_vsnprintf_real): ...this. New argument max_len.
1744
aca655fd
BC
17452010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
1746
1747 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
1748 fix grub-script-check warning.
1749
7ee92c32
VS
17502010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1751
1752 * include/grub/font.h (grub_font_load): Fix prototype.
1753
f80927ca
VS
17542010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1755
1756 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
1757
119c50ea
VS
17582010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1759
1760 * include/grub/x86_64/at_keyboard.h: New file.
1761
47d5f3c1
VS
17622010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1763
1764 * loader/mips/linux.c: Include missing grub/i18n.h.
1765
55ff5266
RM
17662009-12-20 Robert Millan <rmh.grub@aybabtu.com>
1767
1768 * normal/menu.c (notify_execution_failure): Clarify error message.
1769
c893cc87
RM
17702009-12-20 Robert Millan <rmh.grub@aybabtu.com>
1771
1772 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
1773 return value (and revert all return statements). Update users.
1774
917dd370
CW
17752010-01-20 Dan Merillat <debian@dan.merillat.org>
1776
1777 * kern/device.c (grub_device_iterate): Allocate new part_ent
1778 structure based on sizeof (*p) rather than sizeof (p->next), to
1779 account for structure padding.
1780
1781 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
1782 disk is NULL, which might happen for LVM physical volumes with no
1783 LVM signature.
1784
d4a4ee57
RM
17852009-12-20 Robert Millan <rmh.grub@aybabtu.com>
1786
1787 * loader/mips/linux.c (grub_cmd_initrd)
1788 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
1789
17902009-12-20 Robert Millan <rmh.grub@aybabtu.com>
1791
1792 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
1793 (grub_video_video_init, grub_video_bitmap_init)
1794 (grub_font_manager_init, grub_term_gfxterm_init)
1795 (grub_at_keyboard_init): New extern declarations.
1796 (grub_machine_init): Initialize gfxterm and at_keyboard.
1797
1798 * kern/main.c (grub_main): Revert grub_printf delay kludge.
1799
1800 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
1801 `gfxterm.mod' into core image.
1802
1803 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
1804 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
1805 (kernel_img_FORMAT): Copy to ...
1806
1807 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
1808 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
1809 (kernel_img_FORMAT): ... here, and ...
1810
1811 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
1812 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
1813 (kernel_img_FORMAT): ... here.
1814
1815 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
1816 and input (at_keyboard) terminals in kernel.
1817 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
1818
1819 (pkglib_MODULES): Remove `pci.mod'.
1820 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
1821 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
1822 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
1823 (at_keyboard_mod_LDFLAGS): Remove variables.
1824
18252010-01-11 Felix Zielcke <fzielcke@z-51.de>
1826
1827 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
1828
18292009-12-10 Robert Millan <rmh.grub@aybabtu.com>
1830
1831 * include/grub/mips/libgcc.h: Only export symbols for functions
1832 that libgcc provides.
1833
18342009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
1835
1836 MIPS support.
1837
1838 * bus/bonito.c: New file.
1839 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
1840 GRUB_PCI_NUM_DEVICES.
1841 * term/i386/pc/serial.c: Move to ...
1842 * term/serial.c: ... here. All users updated.
1843 * util/i386/pc/grub-mkimage.c: Move to ...
1844 * util/grub-mkrawimage.c: ... here. All users updated.
1845 * term/i386/pc/at_keyboard.c: Move to ...
1846 * term/at_keyboard.c: ... here. All users updated.
1847 * conf/mips-qemu-mips.rmk: New file.
1848 * conf/mips-yeeloong.rmk: Likewise.
1849 * conf/mips.rmk: Likewise.
1850 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
1851 mipsel-qemu-mips.
1852 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
1853 to port addresses.
1854 (grub_ata_pciinit): Support CS5536.
1855 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
1856 * font/font_cmd.c (loadfont_command): Open file before passing it to
1857 grub_font_load.
1858 (pseudo_file_read): New function.
1859 (pseudo_file_close): Likewise.
1860 (pseudo_fs): New structure.
1861 (load_font_module): New function.
1862 (GRUB_MOD_INIT(font_manager)): Load embedded font.
1863 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
1864 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
1865 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
1866 * include/grub/i386/at_keyboard.h: Split into ...
1867 * include/grub/at_keyboard.h: ... this ...
1868 * include/grub/i386/at_keyboard.h: ... and this.
1869 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
1870 New prototype.
1871 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
1872 updated.
1873 (grub_elf64_size): Likewise.
1874 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
1875 filename.
1876 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
1877 * include/grub/i386/coreboot/serial.h: Rewritten.
1878 * include/grub/i386/ieee1275/serial.h: Include
1879 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
1880 * include/grub/i386/pc/serial.h: Moved from here ...
1881 * include/grub/serial.h: ... to here. All users updated.
1882 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
1883 (GRUB_PCI_NUM_BUS): Likewise.
1884 (GRUB_PCI_NUM_DEVICES): Likewise.
1885 (grub_pci_device_map_range): Add missing volatile keyword.
1886 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
1887 * include/grub/mips/at_keyboard.h: New file.
1888 * include/grub/mips/cache.h: Likewise.
1889 * include/grub/mips/io.h: Likewise.
1890 * include/grub/mips/kernel.h: Likewise.
1891 * include/grub/mips/libgcc.h: Likewise.
1892 * include/grub/mips/pci.h: Likewise.
1893 * include/grub/mips/qemu-mips/boot.h: Likewise.
1894 * include/grub/mips/qemu-mips/kernel.h: Likewise.
1895 * include/grub/mips/qemu-mips/loader.h: Likewise.
1896 * include/grub/mips/qemu-mips/memory.h: Likewise.
1897 * include/grub/mips/qemu-mips/serial.h: Likewise.
1898 * include/grub/mips/qemu-mips/time.h: Likewise.
1899 * include/grub/mips/relocator.h: Likewise.
1900 * include/grub/mips/time.h: Likewise.
1901 * include/grub/mips/types.h: Likewise.
1902 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
1903 * include/grub/mips/yeeloong/boot.h: Likewise.
1904 * include/grub/mips/yeeloong/kernel.h: Likewise.
1905 * include/grub/mips/yeeloong/loader.h: Likewise.
1906 * include/grub/mips/yeeloong/memory.h: Likewise.
1907 * include/grub/mips/yeeloong/pci.h: Likewise.
1908 * include/grub/mips/yeeloong/serial.h: Likewise.
1909 * include/grub/mips/yeeloong/time.h: Likewise.
1910 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
1911 * kern/elf.c (grub_elf32_size): New parameter. All users
1912 updated.
1913 (grub_elf64_size): Likewise.
1914 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
1915 Load modules before saying "Welcome to GRUB!".
1916 Call grub_refresh after saying "Welcome to GRUB!".
1917 * kern/mips/cache.S: New file.
1918 * kern/mips/cache_flush.S: Likewise.
1919 * kern/mips/dl.c: Likewise.
1920 * kern/mips/init.c: Likewise.
1921 * kern/mips/qemu-mips/init.c: Likewise.
1922 * kern/mips/startup.S: Likewise.
1923 * kern/mips/yeeloong/init.c: Likewise.
1924 * kern/term.c (grub_putcode): Handle NULL terminal.
1925 (grub_getcharwidth): Likewise.
1926 (grub_getkey): Likewise.
1927 (grub_checkkey): Likewise.
1928 (grub_getkeystatus): Likewise.
1929 (grub_getxy): Likewise.
1930 (grub_getwh): Likewise.
1931 (grub_gotoxy): Likewise.
1932 (grub_cls): Likewise.
1933 (grub_setcolorstate): Likewise.
1934 (grub_setcolor): Likewise.
1935 (grub_getcolor): Likewise.
1936 (grub_refresh): Likewise.
1937 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
1938 (write_jump): Add hatch nop.
1939 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
1940 * lib/mips/setjmp.S: New file.
1941 * loader/mips/linux.c: Likewise.
1942 * term/i386/pc/at_keyboard.c: Move from here ...
1943 * term/at_keyboard.c: ... to here.
1944 * term/i386/pc/serial.c: Moved from here ...
1945 * term/serial.c: ... to here. All users updated.
1946 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
1947 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
1948 (serial_translate_key_sequence): Avoid deadlock.
1949 (grub_serial_getkey): Handle backspace.
1950 (grub_serial_putchar): Fix newline handling.
1951 * util/i386/pc/grub-mkimage.c: Move from here ...
1952 * util/grub-mkrawimage.c: ... to here. All users updated.
1953 (generate_image): New parameters 'font_path' and 'format'.
1954 Support embedding font.
1955 Use grub_host_to_target* instead of grub_cpu_to_le*.
1956 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
1957 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
1958 (options): New option "--font".
1959 (usage): Likewise.
1960 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
1961 (main): Handle "--font".
1962 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
1963 (grub_virtual_screen_setup): Set bg_color_display.
1964 (redraw_screen_rect): Use bg_color_display instead of incorrect
1965 bg_color.
1966 (grub_gfxterm_cls): Likewise.
1967 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
1968 Support embedding config file.
1969 (add_segments): Likewise.
1970 (options): New option "--config".
1971 (main): Handle "--config".
1972 * video/sm712.c: New file.
1973
25c2b5b3
RM
19742010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1975
1976 Fix parallel builds.
1977
1978 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
1979 font.c depend on ascii.h).
1980
19812010-01-12 Carles Pina i Estany <carles@pina.cat>
1982
1983 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
1984
19852010-01-11 Carles Pina i Estany <carles@pina.cat>
1986
1987 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
1988 By default: disabled.
1989 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
1990 parameter.
1991
19922010-01-10 Carles Pina i Estany <carles@pina.cat>
1993
1994 * font/font.c: Update copyright years.
1995 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
1996
19972010-01-10 Carles Pina i Estany <carles@pina.cat>
1998
1999 * font/font.c: Include `ascii.h'.
2000 (ASCII_BITMAP_SIZE): New macro.
2001 (ascii_font_glyph): Define.
2002 (ascii_glyph_lookup): New function.
2003 (grub_font_get_string_width): Change comment. If glyph not found, use
2004 ascii_glyph_lookup.
2005 (grub_font_get_glyph_with_fallback): If glyph not available returns
2006 ascii_glyph_lookup.
2007 * util/grub-mkfont.c (file_formats): New enum.
2008 (options): Add `ascii-bitmaps' new option.
2009 (usage): Add `asii-bitmaps' new option.
2010 (write_font_ascii_bitmap): New function.
2011 (write_font): Rename to ...
2012 (write_font_p2): ... this. Remove print_glyphs call.
2013 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
2014 used. Call print_glyphs.
2015 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
2016
20172010-01-14 Robert Millan <rmh.grub@aybabtu.com>
2018
2019 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
2020 (grub_bin2h_SOURCES): New variable.
2021 * util/bin2h.c: New file.
2022
915fc1b8
VS
20232010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2024
2025 * include/multiboot.h: Resynced with spec.
2026 * include/multiboot2.h: Likewise.
2027 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
2028 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
2029
9444b678
RM
20302010-01-18 Robert Millan <rmh.grub@aybabtu.com>
2031
2032 * include/grub/term.h (grub_term_register_input,
2033 grub_term_register_output): Check return of terminal init()
2034 routines, and abort if errors are raised.
2035
2036 * commands/terminal.c: Update copyright year.
2037
cba98e8d
RM
20382010-01-18 Robert Millan <rmh.grub@aybabtu.com>
2039
2040 * commands/terminal.c (grub_cmd_terminal_input)
2041 (grub_cmd_terminal_output): Check return of terminal init()
2042 routines, and abort if errors are raised.
2043
6f7db5d6
VS
20442010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2045
2046 * include/grub/i386/bsd.h: Fix include pathes.
2047
262bff8d
VS
20482010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2049
2050 Add missing *BSD copyright headers.
2051
2052 * include/grub/aout.h: Add BSD licence.
2053 * include/grub/i386/bsd.h: Parts under different licences moved to ...
2054 * include/grub/i386/freebsd_linker.h: ... here,
2055 * include/grub/i386/freebsd_reboot.h: ... here,
2056 * include/grub/i386/netbsd_bootinfo.h: ... here,
2057 * include/grub/i386/netbsd_reboot.h: ... here,
2058 * include/grub/i386/openbsd_bootarg.h: ... here,
2059 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
2060 licence to each file.
2061
b2cab848
RM
20622010-01-18 Robert Millan <rmh.grub@aybabtu.com>
2063
2064 * acinclude.m4: Remove `nop' assembly instruction; it's not
2065 implemented by all architectures.
2066
2cb6be4b
RM
20672010-01-18 Robert Millan <rmh.grub@aybabtu.com>
2068
2069 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
2070 ELILO. This is no longer necessary.
2071
a2eaee15
BC
20722010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
2073
2074 Added new tool, grub-scrit-check to verify grub.cfg syntax.
2075
2076 * util/grub-script-check.c: grub-script-check tool.
2077 * conf/common.rmk: Make rules for grub-script-check.
2078
88d17012
RM
20792010-01-18 Robert Millan <rmh.grub@aybabtu.com>
2080
2081 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
2082 spotting it back in 2008. Shame on me for forgetting he did.
2083
2084 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
2085
8040619d
RM
20862010-01-18 Robert Millan <rmh.grub@aybabtu.com>
2087
2088 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
2089 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
2090 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
2091 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
2092 (GRUB_VIDEO_TYPE_EFI): Rename to ...
2093 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
2094
a0c2a0f6
RM
20952010-01-17 Robert Millan <rmh.grub@aybabtu.com>
2096
2097 * include/grub/test.h: Add license header.
2098 * tests/example_functional_test.c: Likewise.
2099 * tests/example_unit_test.c: Likewise.
2100 * tests/lib/functional_test.c: Likewise.
2101 * tests/lib/test.c: Likewise.
2102 * tests/lib/unit_test.c: Likewise.
2103
b0b13907
VS
21042010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
2105
2106 Use flag-based instead of hook-based video mode selection and "auto"
2107 keyword.
2108
2109 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
2110 (grub_video_set_mode): Changed prototype. All users updated.
2111 (grub_video_check_mode_flag): New inline function.
2112 * video/video.c (parse_modespec): New function.
2113 (grub_video_set_mode): Parse flags and keywords.
2114
ea379330 21152010-01-17 Carles Pina i Estany <carles@pina.cat>
2116
2117 * util/misc.c (grub_util_info): Fix the order of the parameters in a
2118 fprintf call.
2119
e15c215e
FZ
21202010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
2121
2122 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
2123
409ae1c9 21242010-01-16 Carles Pina i Estany <carles@pina.cat>
2125
2126 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
2127 string.
2128 * util/grub-emu.c (usage): Likewise.
2129 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
2130 * util/i386/efi/grub-mkimage.c (usage): Likewise.
2131 * util/i386/pc/grub-mkimage.c (usage): Likewise.
2132 * util/i386/pc/grub-setup.c (usage): Likewise.
2133
70a14d3d 21342010-01-16 Carles Pina i Estany <carles@pina.cat>
2135
2136 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
2137 the message.
2138 (grub_util_info): Likewise.
2139 (grub_util_error): Likewise.
2140 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
2141 and/or new lines in `grub_util_warna', `grub_util_info',
2142 `grub_util_error' calls.
2143 * util/getroot.c: Likewise.
2144 * util/grub-editenv.c: Likewise.
2145 * util/grub-emu.c: Likewise.
2146 * util/grub-fstest.c: Likewise.
2147 * util/grub-mkdevicemap.c: Likewise.
2148 * util/grub-mkfont.c: Likewise.
2149 * util/grub-mkpasswd-pbkdf2.c: Likewise.
2150 * util/grub-mkrelpath.c: Likewise.
2151 * util/grub-pe2elf.c: Likewise.
2152 * util/grub-probe.c: Likewise.
2153 * util/hostdisk.c: Likewise.
2154 * util/i386/efi/grub-mkimage.c: Likewise.
2155 * util/i386/pc/grub-mkimage.c: Likewise.
2156 * util/i386/pc/grub-setup.c: Likewise.
2157 * util/ieee1275/ofpath.c: Likewise.
2158 * util/mkisofs/eltorito.c: Likewise.
2159 * util/mkisofs/rock.c: Likewise.
2160 * util/mkisofs/write.c: Likewise.
2161 * util/raid.c: Likewise.
2162 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
2163 * util/sparc64/ieee1275/grub-setup.c: Likewise.
2164
a0b766fc
VS
21652010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
2166
2167 Enable multiboot on non-pc.
2168
2169 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
2170 multiboot.mod and multiboot2.mod to ...
2171 * conf/i386.rmk (pkglib_MODULES): ... here.
2172 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
2173 Moved to ...
2174 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
2175 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
2176 Moved to ...
2177 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
2178 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
2179 Moved to ...
2180 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
2181 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
2182 Moved to ...
2183 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
2184 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
2185 relocator.mod.
2186 (ata_mod_SOURCES): Removed.
2187 (ata_mod_CFLAGS): Likewise.
2188 (ata_mod_LDFLAGS): Likewise.
2189 (relocator_mod_SOURCES): Removed.
2190 (relocator_mod_CFLAGS): Likewise.
2191 (relocator_mod_ASFLAGS): Likewise.
2192 (relocator_mod_LDFLAGS): Likewise.
2193 Include i386.mk.
2194 * include/grub/x86_64/multiboot.h: New file.
2195 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
2196 Terminate EFI.
2197
884ade56
VS
21982010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
2199
2200 Video multiboot support.
2201
2202 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
2203 New prototype.
2204 * include/multiboot.h: Resynced with multiboot specification.
2205 * include/multiboot2.h: Likewise.
2206 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
2207 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
2208 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
2209 (HAS_VGA_TEXT): Likewise.
2210 (accepts_video): New variable.
2211 (grub_multiboot_set_accepts_video): New function.
2212 (grub_multiboot_get_mbi_size): Account for video structures.
2213 (set_video_mode): New function.
2214 (retrieve_video_parameters): Likewise.
2215 (grub_multiboot_make_mbi): Fill video fields.
2216
0d90e8a6
VS
22172010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
2218
2219 Video driver ids.
2220
2221 * include/grub/video.h (grub_video_driver_id): New type.
2222 (grub_video_adapter): New member 'id'. All users updated.
2223 (grub_video_get_driver_id): New proto.
2224 * video/video.c (grub_video_get_driver_id): New function.
2225
5c71db1b 22262010-01-14 Carles Pina i Estany <carles@pina.cat>
2227
2228 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
2229 `var=val'.
2230
cca15b52 22312010-01-14 Carles Pina i Estany <carles@pina.cat>
2232
2233 * normal/cmdline.c (print_completion): Gettextizze.
2234
c586fbb2 22352001-01-14 Carles Pina i Estany <carles@pina.cat>
2236
2237 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
2238
ba2f6848 22392010-01-14 Carles Pina i Estany <carles@pina.cat>
2240
2241 * gettext/gettext.c (grub_gettext_translate): Push and pop
2242 grub_errno.
2243 (grub_gettext_delete_list): Change comment style.
2244 * kern/err.c (grub_error): Gettextizze.
2245 (grub_fatal): Gettextizze.
2246
0a46429a
RM
22472010-01-14 Robert Millan <rmh.grub@aybabtu.com>
2248
2249 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
2250 (grub_linux16_real_boot): ... this.
2251 * kern/i386/loader.S: Likewise.
2252 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
2253 (grub_linux16_boot): New function. Switches to text mode and calls
2254 grub_linux16_real_boot().
2255
2256 * loader/i386/bsd.c: Include `<grub/video.h>'.
2257 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
2258 text mode before calling grub_unix_real_boot().
2259
2260 * loader/i386/multiboot.c: Include `<grub/video.h>'.
2261 (grub_multiboot_boot): Switch to text mode before calling
2262 grub_relocator32_boot().
2263
2264 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
2265 (grub_chainloader_boot): Switch to text mode before calling
2266 grub_chainloader_real_boot().
2267
d6f93a66
RM
22682010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
22692010-01-05 Colin Watson <cjwatson@ubuntu.com>
2270
2271 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
2272 non-empty value.
2273
22742010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
22752010-01-05 Colin Watson <cjwatson@ubuntu.com>
2276
2277 * util/grub.d/00_header.in: Define a "savedefault" function for use
2278 in menu entries.
2279 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
2280
22812010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
22822010-01-05 Colin Watson <cjwatson@ubuntu.com>
2283
2284 * util/grub-mkconfig_lib.in (save_default_entry): Only set
2285 saved_entry if boot_once is unset.
2286 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
2287 previous saved entry (i.e. grub-reboot).
2288
22892009-12-08 Colin Watson <cjwatson@ubuntu.com>
2290
2291 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
2292
22932009-12-08 Colin Watson <cjwatson@ubuntu.com>
2294
2295 * util/grub.d/00_header.in: Use `set var=val' rather than plain
2296 `var=val'.
2297 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
2298
22992009-12-08 Colin Watson <cjwatson@ubuntu.com>
2300
2301 * util/grub-reboot.in: Fix --version output.
2302 * util/grub-set-default.in: Likewise.
2303
23042009-12-08 Colin Watson <cjwatson@ubuntu.com>
2305
2306 * util/grub.d/00_header.in: Silently ignore zero-sized environment
2307 blocks.
2308
23092009-12-08 Colin Watson <cjwatson@ubuntu.com>
2310
2311 * util/grub.d/00_header.in: Quote the value assigned to `default',
2312 in case it contains spaces.
2313
23142009-12-08 Colin Watson <cjwatson@ubuntu.com>
2315
2316 * util/grub.d/30_os-prober.in: Fix merge error that moved a
2317 `save_default_entry' call from the macosx case to the linux case.
2318
23192009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
23202009-10-25 Colin Watson <cjwatson@ubuntu.com>
2321
2322 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
2323 in `chosen' environment variable.
2324 * normal/menu_text.c (get_entry_number): Check if the variable
2325 matches the title of a menu entry.
2326 (run_menu): Pass menu to get_entry_number.
2327
2328 * util/grub-reboot.in: New file.
2329 * util/grub-set-default.in: New file.
2330 * conf/common.rmk (grub-reboot): New utility.
2331 (grub-set-default): New utility.
2332
2333 * util/grub-mkconfig_lib.in (save_default_entry): New function.
2334 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
2335 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
2336 move it to `saved_entry' for the next boot. Load environment on
2337 initialisation.
2338 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
2339 * util/grub.d/10_hurd.in: Likewise.
2340 * util/grub.d/10_linux.in (linux_entry): Likewise.
2341 * util/grub.d/10_windows.in: Likewise.
2342 * util/grub.d/30_os-prober.in: Likewise.
2343
2344 * util/grub-install.in: Create environment block.
2345 * util/i386/efi/grub-install.in: Likewise.
2346 * util/ieee1275/grub-install.in: Likewise.
2347 * util/sparc64/ieee1275/grub-install.in: Likewise.
2348
0934d184
BC
23492010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
2350
2351 Unit testing framework for GRUB.
2352
2353 * Makefile.in: Test framework build rules for 'make check'.
2354 * conf/tests.rmk: Build rules for individual tests and framework.
2355
2356 * include/grub/test.h: Header file for whitebox tests.
2357 * tests/lib/functional_test.c: Framework support for whitebox
2358 functional tests.
2359 * tests/lib/test.c: Common whitebox testing code for unit and
2360 functional tests.
2361 * tests/lib/unit_test.c: Framework support for whitebox unit
2362 tests.
2363
2364 * tests/util/grub-shell-tester.in: Support utility for grub-script
2365 tests.
2366 * tests/util/grub-shell.in: Utility to execute grub-script
2367 commands in a Qemu instance.
2368
2369 * tests/example_functional_test.c: Example whitebox functional
2370 test.
2371 * tests/example_grub_script_test.in: Example grub-script test.
2372 * tests/example_scripted_test.in: Example scripted test.
2373 * tests/example_unit_test.c: Example whitebox unit test.
2374
9c4ffeeb
VS
23752010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2376
2377 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
2378 Add loader/i386/multiboot_mbi.c.
2379 (multiboot2_mod_SOURCES): Likewise.
2380 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
2381 (multiboot2_mod_SOURCES): Likewise.
2382 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
2383 (grub_multiboot_make_mbi): Likewise.
2384 (grub_multiboot_free_mbi): Likewise.
2385 (grub_multiboot_init_mbi): Likewise.
2386 (grub_multiboot_add_module): Likewise.
2387 (grub_multiboot_set_bootdev): Likewise.
2388 * loader/i386/multiboot.c (mbi): Removed.
2389 (mbi_dest): Likewise.
2390 (alloc_mbi): New variable.
2391 (grub_multiboot_payload_size): Removed. All users updated.
2392 (grub_multiboot_pure_size): New variable.
2393 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
2394 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
2395 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
2396 (grub_fill_multiboot_mmap): Likewise.
2397 (grub_multiboot_get_bootdev): Likewise.
2398 (grub_multiboot): Use multiboot_mbi functions.
2399 * loader/i386/multiboot_mbi.c: New file.
2400
17383dfe
VS
24012010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2402
2403 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
2404 it would result in module crash.
2405
c1f28820
VS
24062010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2407
2408 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
2409 (grub_ofconsole_getwh): Split to ...
2410 (grub_ofconsole_getwh): ... this.
2411 (grub_ofconsole_dimensions): ...and this.
2412 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
2413
58655a16
RM
24142010-01-13 Robert Millan <rmh.grub@aybabtu.com>
2415
2416 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
2417
10891398
VS
24182010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2419
2420 * loader/i386/pc/multiboot2.c: Removed stalled file.
2421
0b8a223c
VS
24222010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2423
2424 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
2425 Reported by: Grégoire Sutre
2426
92ab12b0
RM
24272010-01-11 Robert Millan <rmh.grub@aybabtu.com>
2428
2429 * util/misc.c (canonicalize_file_name): New function.
2430 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
2431 instead of realpath().
2432
a788afb6
CW
24332010-01-11 Colin Watson <cjwatson@ubuntu.com>
2434
2435 * util/grub-install.in (usage): Clarify meaning of --root-directory,
2436 and make it clearer that it's optional. Based on confusion
2437 witnessed on IRC.
2438
ffa8e3d2
VS
24392010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2440
2441 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
2442 in premature implicit newline.
2443
e9060a9d
VS
24442010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2445
2446 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
2447 which resulted in garbled command line at the end of screen.
2448
f0d0c0b7
RM
24492010-01-10 Robert Millan <rmh.grub@aybabtu.com>
2450
2451 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
2452 initialization with similar approach as with other Linux loaders.
2453
0e60bae7
RM
24542010-01-10 Robert Millan <rmh.grub@aybabtu.com>
2455
2456 Fix i386-ieee1275 build.
2457
2458 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
2459 and grub_term_height() for video_{width,height} initialization.
2460
24612010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
2462
2463 Fix grub-emu build.
2464
2465 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
2466
cdb3f378
RM
24672010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
24682010-01-09 Robert Millan <rmh.grub@aybabtu.com>
2469
2470 Support for multiple terminals.
2471
2472 * Makefile.in (pkglib_DATA): terminal.lst.
2473 (terminal.lst): New target.
2474 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
2475 (GRUB_MOD_INIT(handler)): Likewise.
2476 (GRUB_MOD_FINI(handler)): Likewise.
2477 * commands/help.c (grub_cmd_help): Handle multiple terminals.
2478 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
2479 * commands/sleep.c (do_print): Use grub_term_restore_pos.
2480 (grub_cmd_sleep): Use grub_term_save_pos.
2481 * commands/terminal.c: New file.
2482 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
2483 commands/terminal.c and lib/charset.c.
2484 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
2485 (pkglib_MODULES): Add terminal.mod.
2486 (terminal_mod_SOURCES): New variable.
2487 (terminal_mod_CFLAGS): Likewise.
2488 (terminal_mod_LDFLAGS): Likewise.
2489 * genhandlerlist.sh: Don't handle terminals.
2490 * genmk.rb: Generate terminal-*.lst.
2491 * genterminallist.sh: New file.
2492 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
2493 (grub_is_valid_utf8): Likewise.
2494 (grub_utf8_to_ucs4_alloc): Likewise.
2495 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
2496 (grub_menu_register_viewer): Changed argument.
2497 (grub_menu_try_text): New proto.
2498 (grub_gfxmenu_try_hook): New declaration.
2499 * include/grub/normal.h (grub_normal_exit_level): New declaration.
2500 (grub_menu_init_page): Additional argument term.
2501 (grub_normal_init_page): Likewise.
2502 (grub_cmdline_get): Arguments simplified.
2503 (grub_utf8_to_ucs4_alloc): Removed.
2504 (grub_print_ucs4): Additional argument term.
2505 (grub_getstringwidth): Likewise.
2506 (grub_print_message_indented): Likewise.
2507 (grub_menu_text_register_instances): New proto.
2508 (grub_show_menu): Likewise.
2509 (read_terminal_list): Likewise.
2510 (grub_set_more): Likewise.
2511 * include/grub/parser.h: Include handler.h.
2512 * include/grub/reader.h: Rewritten.
2513 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
2514 (GRUB_TERM_WIDTH): Changed to function.
2515 (GRUB_TERM_HEIGHT): Likewise.
2516 (GRUB_TERM_BORDER_WIDTH): Likewise.
2517 (GRUB_TERM_BORDER_HEIGHT): Likewise.
2518 (GRUB_TERM_NUM_ENTRIES): Likewise.
2519 (GRUB_TERM_ENTRY_WIDTH): Likewise.
2520 (GRUB_TERM_CURSOR_X): Likewise.
2521 (grub_term_input_class): Likewise.
2522 (grub_term_output_class): Likewise.
2523 (grub_term_outputs_disabled): New declaration.
2524 (grub_term_inputs_disabled): Likewise.
2525 (grub_term_outputs): Likewise.
2526 (grub_term_inputs): Likewise.
2527 (grub_term_register_input): Rewritten.
2528 (grub_term_register_output): Likewise.
2529 (grub_term_unregister_input): Likewise.
2530 (grub_term_unregister_output): Likewise.
2531 (FOR_ACTIVE_TERM_INPUTS): New macro.
2532 (FOR_DISABLED_TERM_INPUTS): Likewise.
2533 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
2534 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
2535 * include/grub/terminfo.h: Add oterm argument to all protypes.
2536 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
2537 Use grub_rescue_run.
2538 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
2539 All users updated.
2540 * kern/reader.c: Removed. All users updated.
2541 * kern/rescue_reader.c (grub_rescue_init): Removed.
2542 (grub_rescue_reader): Likewise.
2543 (grub_register_rescue_reader): Likewise.
2544 (grub_rescue_run): New function based on kern/reader.c.
2545 * kern/term.c: Adapted for multiterm.
2546 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
2547 (grub_is_valid_utf8): Likewise.
2548 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
2549 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
2550 right terminal.
2551 * loader/i386/linux.c (grub_linux_boot): Likewise.
2552 * normal/auth.c (grub_username_get): New function.
2553 (grub_auth_check_authentication): Use grub_username_get.
2554 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
2555 * normal/color.c: Adapt for multiterm.
2556 * normal/main.c (read_config_file): Don't use grub_reader_loop.
2557 (grub_normal_init_page): Additional argument term.
2558 (read_lists): Call read_terminal_lists.
2559 (grub_enter_normal_mode): Call grub_cmdline_run.
2560 Handle grub_normal_exit_level.
2561 (grub_cmd_normal): Make reentrant.
2562 (grub_cmd_normal_exit): New function.
2563 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
2564 * normal/menu.c: Adapt for multiterm.
2565 * normal/menu_entry.c: Likewise.
2566 * normal/menu_text.c: Likewise.
2567 * normal/menu_viewer.c: Removed. All users updated.
2568 * normal/term.c: New file.
2569 * util/console.c: Change order of includes to workaround a bug in
2570 ncurses headers.
2571 * term/terminfo.c: New argument oterm on all exported functions.
2572 All users updated.
2573 * util/grub-editenv.c (grub_term_input_class): Removed.
2574 (grub_term_output_class): Likewise.
2575
1a064917
RM
25762010-01-09 Robert Millan <rmh.grub@aybabtu.com>
2577
2578 Make loader output a bit more user-friendly.
2579
2580 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
2581 is being loaded. Likewise for the Hurd.
2582
2583 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
2584 that kernel of FreeBSD ${version} is being loaded.
2585
2586 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
2587 grub_dprintf().
2588 (grub_cmd_initrd): Likewise.
2589 * util/grub.d/10_linux.in (linux_entry): Print message indicating
2590 that Linux ${version} is being loaded. Likewise for initrd.
2591
5ce0a83a 25922010-01-09 Carles Pina i Estany <carles@pina.cat>
2593
2594 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
2595
809bbfeb 25962010-01-08 Carles Pina i Estany <carles@pina.cat>
2597
2598 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
2599 (GRUB_MOD_INIT): Gettextizze.
2600 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
2601 (GRUB_MOD_INIT): Gettextizze.
2602 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
2603 (grub_cmd_linux): Capitalise Linux.
2604 (GRUB_MOD_INIT): Gettextizze.
2605 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
2606 (grub_cmd_linux): Capitalise Linux.
2607 (GRUB_MOD_INIT): Gettextizze.
2608 * loader/i386/linux.c: Include `<grub/i18n.h>'.
2609 (grub_cmd_linux): Capitalise Linux.
2610 (GRUB_MOD_INIT): Gettextizze.
2611 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
2612 (GRUB_MOD_INIT): Gettextizze.
2613 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
2614 (grub_cmd_linux): Capitalise Linux.
2615 (GRUB_MOD_INIT): Gettextizze.
2616 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
2617 (grub_cpu_xnu_init): Gettextizze.
2618 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
2619 (GRUB_MOD_INIT): Gettextizze.
2620 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
2621 (GRUB_MOD_INIT): Gettextizze.
2622 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
2623 (grub_linux_load64): Capitalise Linux.
2624 (GRUB_MOD_INIT): Gettextizze.
2625 * loader/xnu.c: Include `<grub/i18n.h>'.
2626 (GRUB_MOD_INIT): Gettextizze.
2627 * po/POTFILES: Add `loader/efi/appleloader.c',
2628 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
2629 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
2630 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
2631 `loader/i386/xnu.c', `loader/multiboot_loader.c',
2632 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
2633 and `loader/xnu.c'.
2634
b394b2ca
RM
26352010-01-08 Robert Millan <rmh.grub@aybabtu.com>
2636
2637 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
2638
26392010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
2640
2641 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
2642 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
2643 * util/mkisofs/mkisofs.c (main): Readjust --version output.
2644
bc8b32b3
RM
26452010-01-07 Robert Millan <rmh.grub@aybabtu.com>
2646
2647 Reset Multiboot 2 support. New loader implements the draft in
2648 /branches/multiboot2 and shares as much code as possible with the
2649 production Multiboot 1 implementation.
2650
2651 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
2652 * loader/multiboot2.c: Likewise.
2653 * loader/i386/multiboot_helper.S: Likewise.
2654 * include/multiboot2.h: Replace with latest version from the draft
2655 in /branches/multiboot2.
2656
2657 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
2658 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
2659 and `loader/multiboot2.c'.
2660 (pkglib_MODULES): Add `multiboot2.mod'.
2661 (multiboot2_mod_SOURCES): New variable.
2662 (multiboot2_mod_LDFLAGS): Likewise.
2663 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
2664
2665 * conf/i386-pc.rmk: Likewise.
2666
2667 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
2668 (multiboot_mod_SOURCES): Remove variable.
2669 (multiboot_mod_LDFLAGS): Likewise.
2670 (multiboot_mod_CFLAGS): Likewise.
2671
2672 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
2673 `<multiboot2.h>' instead of `<multiboot.h>'.
2674 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
2675 (MULTIBOOT_HEADER_MAGIC): New macros.
2676
2677 * loader/multiboot_loader.c (module_version_status): Remove variable.
2678 (find_multi_boot2_header): Remove function.
2679 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
2680 logic. Always check for the Multiboot version we're compiling for.
2681 (grub_cmd_module_loader): Likewise.
2682 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
2683 command instead of `multiboot'.
2684
5d2c52b8
RM
26852010-01-07 Robert Millan <rmh.grub@aybabtu.com>
2686
2687 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
2688 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
2689 all users.
2690
53108d92
RM
26912010-01-07 Robert Millan <rmh.grub@aybabtu.com>
26922010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
2693
2694 Fix breakage introduced with previous commit.
2695
2696 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
2697 commands.
2698 * normal/handler.c (read_handler_list): Revert part of previous commit
2699 affecting this file.
2700 * normal/main.c (read_lists): Move read_handler_list() call back to ...
2701 (grub_normal_execute): ... here.
2702
e2e936b2
RM
27032010-01-07 Robert Millan <rmh.grub@aybabtu.com>
2704
2705 Merge prefix-redefinition-fix branch.
2706
2707 * normal/autofs.c (read_fs_list): Make function capable of being
2708 run multiple times, gracefuly replacing the previous data
2709 structures.
2710 * normal/dyncmd.c (read_command_list): Likewise.
2711 * normal/handler.c (read_handler_list): Likewise.
2712 * normal/main.c (read_lists): New function. Calls all the
2713 list reading functions.
2714 (grub_normal_execute): Use read_lists() instead of calling all
2715 list reading functions explicitly. Register read_lists() as a
2716 variable hook attached to ${prefix}.
2717
607a3701
VS
27182010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
2719
2720 Merge crypto branch.
2721
2722 * Makefile.in (pkglib_DATA): Add crypto.lst.
2723 (crypto.lst): New target.
2724 * commands/hashsum.c: New file.
2725 * commands/password.c (check_password): Use grub_crypto_memcmp.
2726 * commands/password_pbkdf2.c: New file.
2727 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
2728 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
2729 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
2730 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
2731 -I$(srcdir)/lib/libgcrypt_wrap.
2732 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
2733 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
2734 password_pbkdf2.mod.
2735 (crypto_mod_SOURCES): New variable.
2736 (crypto_mod_CFLAGS): Likewise.
2737 (crypto_mod_LDFLAGS): Likewise.
2738 (hashsum_mod_SOURCES): New variable.
2739 (hashsum_mod_CFLAGS): Likewise.
2740 (hashsum_mod_LDFLAGS): Likewise.
2741 (pbkdf2_mod_SOURCES): New variable.
2742 (pbkdf2_mod_CFLAGS): Likewise.
2743 (pbkdf2_mod_LDFLAGS): Likewise.
2744 (password_pbkdf2_mod_SOURCES): New variable.
2745 (password_pbkdf2_mod_CFLAGS): Likewise.
2746 (password_pbkdf2_mod_LDFLAGS): Likewise.
2747 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
2748 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
2749 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
2750 Include conf/gcry.rmk.
2751 * include/grub/auth.h: Rewritten.
2752 * include/grub/crypto.h: New file.
2753 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
2754 * include/grub/normal.h (read_crypto_list): New prototype.
2755 * lib/crypto.c: New file.
2756 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
2757 * lib/pbkdf2.c: Likewise.
2758 * normal/auth.c (grub_auth_strcmp): Removed.
2759 (grub_iswordseparator): Likewise.
2760 (grub_auth_strword): Likewise.
2761 (is_authenticated): Use grub_strword.
2762 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
2763 and grub_strword. Pass entered password to authentication callback.
2764 * normal/crypto.c: New file.
2765 * normal/main.c: Call read_crypto_list.
2766 * util/grub-mkpasswd-pbkdf2.c: New file.
2767 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
2768
42841caa
VS
27692010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
2770
2771 Fix descent and ascent calculation.
2772
2773 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
2774 (options): New option "asce".
2775 (usage): Likewise.
2776 (add_char): Ignore invalid glyphs for descent calculation.
2777 Calculate ascent from actual content.
2778 (print_glyphs): Use 'asce'.
2779 (write_font): Likewise. Allow ascent override.
2780 (main): Handle "asce" option.
2781
e7730de7 27822010-01-06 Carles Pina i Estany <carles@pina.cat>
2783
2784 * kern/err.c: Include `<grub/i18n.h>'.
2785 (grub_print_error): Add full stop. Gettextizze.
2786 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
2787 (grub_bsd_load_elf): Capitalise ELF.
2788 (grub_cmd_freebsd_loadenv): Add `s' in error string.
2789 (grub_cmd_freebsd_module): Likewise.
2790 (grub_cmd_freebsd_module_elf): Likewise.
2791 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
2792
40e3a41f 27932010-01-06 Carles Pina i Estany <carles@pina.cat>
2794
2795 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
2796 * commands/search_file.c (HELP_MESSAGE): New macro.
2797 * commands/search_label.c (HELP_MESSAGE): Likewise.
2798 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
2799 * po/POTFILES: Add `commands/search_file.c',
2800 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
2801 `commands/search.c'.
2802
83507e68
RM
28032010-01-05 Robert Millan <rmh.grub@aybabtu.com>
2804
2805 * config.rpath: Update from Gnulib.
2806
465c787b
YB
28072010-01-05 Yves Blusseau <blusseau@zetam.org>
2808
2809 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
2810
6581dd3a
YB
28112010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
2812
2813 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
2814
3bff18c5
CW
28152010-01-05 Colin Watson <cjwatson@ubuntu.com>
2816
2817 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
2818 arguments to fread so that we get a return value in bytes, rather
2819 than something that will normally be rounded down to 0.
2820 Adjust error handling to avoid producing garbage when size_t is not
2821 the same size as long long.
2822
a1368118
CW
28232010-01-05 Colin Watson <cjwatson@ubuntu.com>
2824
2825 * util/mkisofs/write.c (padblock_write): Check return value of
2826 fread.
2827
7c302978
RM
28282010-01-05 Robert Millan <rmh.grub@aybabtu.com>
2829
2830 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
2831 floppy images now.
2832
2833 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
2834
e33ace06
RM
28352010-01-04 Robert Millan <rmh.grub@aybabtu.com>
2836
2837 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
2838 instead of manual alignment.
2839 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
2840 verbose). Avoid attempts to read past end of the device
2841 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
2842 but GRUB_DISK_CACHE_SIZE may exceed that).
2843
4b856776
RM
28442010-01-04 Robert Millan <rmh.grub@aybabtu.com>
2845
2846 * commands/crc.c (grub_cmd_crc): Abort on read errors.
2847 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
2848 it to upper layer.
2849
52c2d97f
VS
28502010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
2851
2852 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
2853 New constant.
2854 (grub_efi_piwg_device_path): New structure
2855 (grub_efi_piwg_device_path_t): New type.
2856 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
2857 (devpath_1): Transform to a structure. All users updated.
2858 (devpath_2): Likewise.
2859 (devpath_3): Likewise.
2860 (devpath_4): Likewise.
2861 (devpath_5): Likewise.
2862
98ff6a54
VS
28632010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
2864
2865 * loader/efi/appleloader.c: Restored. Update all users.
2866
3a73dcb6
RM
28672010-01-03 Robert Millan <rmh.grub@aybabtu.com>
2868
2869 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
2870
2871 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
2872 (struct boot_blocklist): Move from here ...
2873 * include/grub/i386/pc/boot.h [ASM_FILE]
2874 (struct grub_boot_blocklist): ... to here. Update all users.
2875 (setup): Only initialize `start' member of `first_block'
2876 structure. Add assert() calls to verify the other members.
2877
2878 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
2879 (generate_image): Fix broken blocklist length initialization.
2880 Add assert() call to verify blocklist `segment' field.
2881
ab0eeb0c
RM
28822010-01-03 Robert Millan <rmh.grub@aybabtu.com>
2883
2884 * loader/efi/appleloader.c: Remove. Update all users.
2885
58bc8bd5
RM
28862010-01-03 Robert Millan <rmh.grub@aybabtu.com>
2887
2888 * boot/i386/pc/boot.S: Update copyright year.
2889 * boot/i386/pc/cdboot.S: Likewise.
2890 * boot/i386/pc/diskboot.S: Likewise.
2891 * boot/i386/pc/lnxboot.S: Likewise.
2892 * boot/i386/pc/pxeboot.S: Likewise.
2893 * bus/pci.c: Likewise.
2894 * commands/cmp.c: Likewise.
2895 * commands/help.c: Likewise.
2896 * commands/hexdump.c: Likewise.
2897 * commands/i386/pc/halt.c: Likewise.
2898 * commands/i386/pc/play.c: Likewise.
2899 * commands/i386/pc/vbeinfo.c: Likewise.
2900 * commands/ls.c: Likewise.
2901 * commands/test.c: Likewise.
2902 * disk/dmraid_nvidia.c: Likewise.
2903 * disk/i386/pc/biosdisk.c: Likewise.
2904 * disk/ieee1275/nand.c: Likewise.
2905 * disk/ieee1275/ofdisk.c: Likewise.
2906 * disk/lvm.c: Likewise.
2907 * disk/raid.c: Likewise.
2908 * disk/raid6_recover.c: Likewise.
2909 * disk/scsi.c: Likewise.
2910 * fs/affs.c: Likewise.
2911 * fs/cpio.c: Likewise.
2912 * fs/ext2.c: Likewise.
2913 * fs/hfs.c: Likewise.
2914 * fs/iso9660.c: Likewise.
2915 * fs/ntfs.c: Likewise.
2916 * fs/sfs.c: Likewise.
2917 * fs/udf.c: Likewise.
2918 * fs/ufs.c: Likewise.
2919 * fs/xfs.c: Likewise.
2920 * gencmdlist.sh: Likewise.
2921 * genmk.rb: Likewise.
2922 * include/grub/disk.h: Likewise.
2923 * include/grub/efi/api.h: Likewise.
2924 * include/grub/efi/efi.h: Likewise.
2925 * include/grub/efi/pe32.h: Likewise.
2926 * include/grub/elf.h: Likewise.
2927 * include/grub/fs.h: Likewise.
2928 * include/grub/i386/at_keyboard.h: Likewise.
2929 * include/grub/i386/pc/memory.h: Likewise.
2930 * include/grub/i386/pc/vbe.h: Likewise.
2931 * include/grub/i386/pci.h: Likewise.
2932 * include/grub/i386/tsc.h: Likewise.
2933 * include/grub/ieee1275/ieee1275.h: Likewise.
2934 * include/grub/ntfs.h: Likewise.
2935 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
2936 * include/grub/sparc64/libgcc.h: Likewise.
2937 * include/grub/symbol.h: Likewise.
2938 * include/grub/types.h: Likewise.
2939 * include/multiboot2.h: Likewise.
2940 * io/gzio.c: Likewise.
2941 * kern/device.c: Likewise.
2942 * kern/disk.c: Likewise.
2943 * kern/efi/efi.c: Likewise.
2944 * kern/efi/mm.c: Likewise.
2945 * kern/elf.c: Likewise.
2946 * kern/file.c: Likewise.
2947 * kern/i386/dl.c: Likewise.
2948 * kern/i386/pc/init.c: Likewise.
2949 * kern/i386/pc/startup.S: Likewise.
2950 * kern/ieee1275/ieee1275.c: Likewise.
2951 * kern/ieee1275/init.c: Likewise.
2952 * kern/main.c: Likewise.
2953 * kern/mm.c: Likewise.
2954 * kern/powerpc/dl.c: Likewise.
2955 * kern/sparc64/dl.c: Likewise.
2956 * kern/x86_64/dl.c: Likewise.
2957 * lib/hexdump.c: Likewise.
2958 * loader/efi/appleloader.c: Likewise.
2959 * loader/i386/ieee1275/linux.c: Likewise.
2960 * loader/i386/pc/chainloader.c: Likewise.
2961 * loader/i386/pc/linux.c: Likewise.
2962 * loader/i386/pc/multiboot2.c: Likewise.
2963 * loader/ieee1275/multiboot2.c: Likewise.
2964 * loader/multiboot2.c: Likewise.
2965 * loader/multiboot_loader.c: Likewise.
2966 * loader/powerpc/ieee1275/linux.c: Likewise.
2967 * normal/completion.c: Likewise.
2968 * normal/menu_entry.c: Likewise.
2969 * partmap/apple.c: Likewise.
2970 * util/grub.d/10_hurd.in: Likewise.
2971 * util/hostfs.c: Likewise.
2972 * video/readers/png.c: Likewise.
2973
e2d70b5c
CW
29742010-01-03 Colin Watson <cjwatson@ubuntu.com>
2975
2976 * include/grub/misc.h (GNUC_PREREQ): New macro.
2977 (ATTRIBUTE_ERROR): New macro.
2978 * include/grub/list.h (grub_bad_type_cast_real): Use
2979 ATTRIBUTE_ERROR.
2980
a173283f 29812010-01-03 Carles Pina i Estany <carles@pina.cat>
2982
2983 * normal/menu_text.c (print_message): Change messages.
2984
7fa7ff74 29852010-01-03 Carles Pina i Estany <carles@pina.cat>
2986
2987 * normal/menu_entry.c (store_completion): Gettextizze.
2988
136d24f6 29892010-01-03 Carles Pina i Estany <carles@pina.cat>
2990
2991 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
2992
f936862e 29932010-01-03 Carles Pina i Estany <carles@pina.cat>
2994
2995 * po/POTFILES: Sort correctly.
2996
29c44ad1 29972010-01-03 Carles Pina i Estany <carles@pina.cat>
2998
2999 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
3000 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
3001 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
3002 full stop.
3003 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
3004 summary. Gettextizze the strings.
3005 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
3006 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
3007 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
3008 full stop.
3009 (GRUB_MOD_INIT): Remove command name from summary.
3010 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
3011 summary.
3012 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
3013 * term/i386/pc/serial.c (options): Add full stops.
3014 (GRUB_MOD_INIT): Remove command name from the summary.
3015
77a79592 30162010-01-03 Carles Pina i Estany <carles@pina.cat>
3017
3018 * commands/acpi.c: Gettextizze help strings and/or options. Include
3019 `grub/i18n.h' if needed.
3020 * commands/blocklist.c: Likewise.
3021 * commands/boot.c: Likewise.
3022 * commands/cat.c: Likewise.
3023 * commands/cmp.c: Likewise.
3024 * commands/configfile.c: Likewise.
3025 * commands/crc.c: Likewise.
3026 * commands/date.c: Likewise.
3027 * commands/echo.c: Likewise.
3028 * commands/efi/fixvideo.c: Likewise.
3029 * commands/efi/loadbios.c: Likewise.
3030 * commands/gptsync.c: Likewise.
3031 * commands/halt.c: Likewise.
3032 * commands/handler.c: Likewise.
3033 * commands/hdparm.c: Likewise.
3034 * commands/hexdump.c: Likewise.
3035 * commands/i386/cpuid.c: Likewise.
3036 * commands/i386/pc/drivemap.c: Likewise.
3037 * commands/i386/pc/halt.c: Likewise.
3038 * commands/i386/pc/pxecmd.c: Likewise.
3039 * commands/i386/pc/vbeinfo.c: Likewise.
3040 * commands/i386/pc/vbetest.c: Likewise.
3041 * commands/ieee1275/suspend.c: Likewise.
3042 * commands/keystatus.c: Likewise.
3043 * commands/loadenv.c: Likewise.
3044 * commands/ls.c: Likewise.
3045 * commands/lsmmap.c: Likewise.
3046 * commands/lspci.c: Likewise.
3047 * commands/memrw.c: Likewise.
3048 * commands/minicmd.c: Likewise.
3049 * commands/parttool.c: Likewise.
3050 * commands/password.c: Likewise.
3051 * commands/probe.c: Likewise.
3052 * commands/read.c: Likewise.
3053 * commands/reboot.c: Likewise.
3054 * commands/search.c: Likewise.
3055 * commands/sleep.c: Likewise.
3056 * commands/test.c: Likewise.
3057 * commands/true.c: Likewise.
3058 * commands/usbtest.c: Likewise.
3059 * commands/videotest.c: Likewise.
3060 * commands/xnu_uuid.c: Likewise.
3061 * disk/loopback.c: Likewise.
3062 * hello/hello.c: Likewise.
3063 * loader/i386/bsd.c: Likewise.
3064 * term/i386/pc/serial.c: Likewise.
3065 * po/POTFILES: Add new files.
3066
da8d5c53
CW
30672010-01-02 Colin Watson <cjwatson@ubuntu.com>
3068
3069 * term/i386/pc/at_keyboard.c
3070 (keyboard_controller_wait_untill_ready): Rename to ...
3071 (keyboard_controller_wait_until_ready): ... this. Update all users.
3072
33937904 30732010-01-01 Carles Pina i Estany <carles@pina.cat>
3074
3075 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
3076 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
3077 string using string width.
3078 * normal/menu_text.c (grub_print_message_indented): Use
3079 grub_print_spaces and not print_spaces.
3080 (print_timeout): Likewise.
3081 (print_spaces): Move to...
3082 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
3083
3fd3b8d8
RM
30842010-01-01 Robert Millan <rmh.grub@aybabtu.com>
3085
3086 Import from Gnulib.
3087
3088 * gnulib/getdelim.c: New file.
3089 * gnulib/getline.c: Likewise.
3090
33433555
VS
30912009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
3092
3093 * include/grub/list.h (grub_assert_fail): Removed.
3094 (grub_bad_type_cast_real): New function.
3095 (grub_bad_type_cast): New macro.
3096 (GRUB_AS_LIST): Use grub_bad_type_cast.
3097 (GRUB_AS_LIST_P): Likewise.
e44721e8 3098 (GRUB_AS_NAMED_LIST): Likewise.
33433555 3099 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 3100 (GRUB_AS_PRIO_LIST): Likewise.
33433555 3101 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 3102 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 3103
f5a51306
VS
31042009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
3105
3106 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
3107 Fix syntax error.
3108
90d1e879
RM
31092009-12-29 Robert Millan <rmh.grub@aybabtu.com>
3110
3111 * configure.ac: Check for TARGET_CFLAGS initialization before we
3112 initialize it ourselves (sigh).
3113 Move a few modifications to TARGET_CFLAGS to be unconditional
3114 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
3115 eh_frame)
3116
3117 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
3118 * term/i386/pc/at_keyboard.c
3119 (keyboard_controller_wait_untill_ready): Likewise.
3120 (keyboard_controller_led): Rename `led_status' paramter to avoid
3121 name conflict.
3122
465b5a81 31232009-12-28 Carles Pina i Estany <carles@pina.cat>
3124
3125 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
3126 quotes.
3127
c181849b
VS
31282009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
3129
3130 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
3131
9c8739a4
VS
31322009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
3133
3134 * normal/menu_text.c (grub_print_message_indented): Prevent
3135 past-the-end-of-array dereference.
3136
3e74249c
VS
31372009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
3138
3139 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
3140 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
3141
64fd18ed 31422009-12-27 Carles Pina i Estany <carles@pina.cat>
3143
3144 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
3145 * normal/main.c (grub_normal_read_line): Remove a space from the
3146 default prompt.
3147
714af9b9 31482009-12-27 Carles Pina i Estany <carles@pina.cat>
3149
3150 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
3151 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
3152 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
3153 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
3154 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
3155 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
3156 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
3157
82f3e412 31582009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 3159
3160 * video/readers/jpeg.c (cmd): Declare.
3161 (grub_cmd_jpegtest): Use `grub_command_t' type.
3162 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
3163 Assign to `cmd'.
3164 (GRUB_MOD_FINI): Use `cmd' to unregister.
3165 * video/readers/png.c (cmd): Declare.
3166 (grub_cmd_pngtest): Use `grub_command_t' type.
3167 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
3168 Assign to `cmd'.
3169 (GRUB_MOD_FINI): Use `cmd' to unregister.
3170 * video/readers/tga.c (cmd): Declare.
3171 (grub_cmd_tgatest): Use `grub_command_t' type.
3172 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
3173 Assign to `cmd'.
3174 (GRUB_MOD_FINI): Use `cmd' to unregister.
3175
82f3e412 31762009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 3177
3178 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
3179 stops.
3180 * kern/corecmd.c (grub_register_core_commands): Likewise.
3181 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
3182 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
3183 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
3184 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
3185 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
3186 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
3187 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
3188 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
3189 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
3190 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
3191 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
3192 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
3193 * normal/handler.c (insert_handler): Likewise.
3194 * normal/main.c (GRUB_MOD_INIT): Likewise.
3195 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
3196
fdcdbb66 31972009-12-26 Carles Pina i Estany <carles@pina.cat>
3198
3199 * commands/help.c (grub_cmd_help): Print the command name before the
3200 summary.
3201 (GRUB_MOD_INIT): Remove command name from the summary.
3202 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 3203 string as summary.
fdcdbb66 3204 * lib/arg.c (find_long): Print the command name before the summary.
3205 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
3206 summary.
3207 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
3208 * commands/cat.c (GRUB_MOD_INIT): Likewise.
3209 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
3210 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
3211 * commands/crc.c (GRUB_MOD_INIT): Likewise.
3212 * commands/date.c (GRUB_MOD_INIT): Likewise.
3213 * commands/echo.c (GRUB_MOD_INIT): Likewise.
3214 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
3215 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
3216 * commands/handler.c (GRUB_MOD_INIT): Likewise.
3217 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
3218 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
3219 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
3220 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
3221 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
3222 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
3223 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
3224 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
3225 * commands/ls.c (GRUB_MOD_INIT): Likewise.
3226 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
3227 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
3228 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
3229 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
3230 * commands/password.c (GRUB_MOD_INIT): Likewise.
3231 * commands/probe.c (GRUB_MOD_INIT): Likewise.
3232 * commands/read.c (GRUB_MOD_INIT): Likewise.
3233 * commands/search.c (GRUB_MOD_INIT): Likewise.
3234 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
3235 * commands/test.c (GRUB_MOD_INIT): Likewise.
3236 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
3237 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
3238 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
3239 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
3240 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
3241 * lib/arg.c (GRUB_MOD_INIT): Likewise.
3242 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
3243 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
3244 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
3245 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
3246 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
3247 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
3248 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
3249 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
3250
9c288be2
VS
32512009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3252
3253 Use search command for preliminar UUID search.
3254
3255 * commands/search.c: Split into ...
3256 * commands/search_wrap.c: ...this
3257 * commands/search.c: ...and this.
3258 * commands/search_file.c: New file.
3259 * commands/search_label.c: New file.
3260 * commands/search_uuid.c: New file.
3261 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
3262 Add commands/search_wrap.c, commands/search_file.c,
3263 commands/search_label.c and commands/search_uuid.c.
3264 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
3265 (search_mod_SOURCES): Set to commands/search_wrap.c.
3266 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
3267 search_label.mod.
3268 (search_fs_file_mod_SOURCES): New variable.
3269 (search_fs_file_mod_CFLAGS): Likewise.
3270 (search_fs_file_mod_LDFLAGS): Likewise.
3271 (search_label_mod_SOURCES): Likewise.
3272 (search_label_mod_CFLAGS): Likewise.
3273 (search_label_mod_LDFLAGS): Likewise.
3274 (search_fs_uuid_mod_SOURCES): New variable.
3275 (search_fs_uuid_mod_CFLAGS): Likewise.
3276 (search_fs_uuid_mod_LDFLAGS): Likewise.
3277 (fs_file_mod_SOURCES): Removed.
3278 (fs_file_mod_CFLAGS): Likewise.
3279 (fs_file_mod_LDFLAGS): Likewise.
3280 (fs_uuid_mod_SOURCES): Removed.
3281 (fs_uuid_mod_CFLAGS): Likewise.
3282 (fs_uuid_mod_LDFLAGS): Likewise.
3283 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
3284 Set to util/grub-install.in.
3285 * disk/fs_file.c: Removed.
3286 * disk/fs_uuid.c: Likewise.
3287 * include/grub/search.h: New file.
3288 * util/grub-install.in: Handle sparc64.
3289 Create and use load.cfg.
3290 * util/sparc64/ieee1275/grub-install.in: Removed.
3291
db943399
VS
32922009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3293
3294 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
3295 Ignore return status if CF is cleared.
3296 (grub_biosdisk_get_diskinfo_standard): Likewise.
3297
3fdae612
RM
32982009-12-25 Robert Millan <rmh.grub@aybabtu.com>
3299
3300 * term/i386/pc/at_keyboard.c
3301 (keyboard_controller_wait_untill_ready): New function.
3302 (grub_keyboard_controller_write, grub_keyboard_controller_read)
3303 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
3304 for keyboard polling, rather than duplicate the same loop. This
3305 saves a few bytes in code size.
3306
7ebaa2b4
VS
33072009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3308
3309 Support for (pxe[:server[:gateway]]) syntax and
3310 use environment variable for PXE.
3311
3312 * commands/i386/pc/pxecmd.c (options): Removed.
3313 (print_ip): Removed.
3314 (grub_cmd_pxe): Removed
3315 (grub_cmd_pxe_unload): New function.
3316 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
3317 (grub_pxe_your_ip): Made static.
3318 (grub_pxe_default_server_ip): Likewise.
3319 (grub_pxe_default_gateway_ip): Likewise.
3320 (grub_pxe_blksize): Likewise.
3321 (parse_ip): New function.
3322 (grub_pxe_open): Support server and gateway specification.
3323 (grub_pxe_close): Free disk->data.
3324 (grub_pxefs_open): Use disk->data.
3325 (grub_pxefs_read): Likewise.
3326 (grub_env_write_readonly): New function.
3327 (set_mac_env): Likewise.
3328 (set_env_limn_ro): Likewise.
3329 (parse_dhcp_vendor): Likewise.
3330 (grub_pxe_detect): Set the environment variables.
3331 (set_ip_env): New function.
3332 (write_ip_env): Likewise.
3333 (grub_env_write_pxe_default_server): Likewise.
3334 (grub_env_write_pxe_default_gateway): Likewise.
3335 (grub_env_write_pxe_blocksize): Likewise.
3336 (GRUB_MOD_INIT(pxe)): Set environment variables.
3337 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
3338 (grub_pxe_mac_addr_t): ... this. All users updated.
3339 (grub_pxe_your_ip): Removed.
3340 (grub_pxe_server_ip): Likewise.
3341 (grub_pxe_gateway_ip): Likewise.
3342 (grub_pxe_blksize): Likewise.
3343
ec5f98ab 33442009-12-25 Carles Pina i Estany <carles@pina.cat>
3345
3346 * commands/help.c: Include `<grub/i18n.h>'.
3347 (grub_cmd_help): Gettextizze.
3348 (GRUB_MOD_INIT): Likewise.
3349 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
3350 (GRUB_MOD_INIT): Gettextizze.
3351 * commands/search.c: Include `<grub/i18n.h>'.
3352 (options): Gettextizze.
3353 (GRUB_MOD_INIT): Gettextizze.
3354 * lib/arg.c: Include `<grub/i18n.h>'.
3355 (help_options): Gettextizze.
3356 (find_long): Likewise.
3357 (grub_arg_show_help): Likewise.
3358 * normal/dyncmd.c: Include `<grub/i18n.h>'.
3359 (read_command_list): Gettextizze.
3360 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 3361 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 3362
22815526
RM
33632009-12-25 Robert Millan <rmh.grub@aybabtu.com>
3364
3365 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
3366 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
3367 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
3368 (led_status): New variable.
3369 (keyboard_controller_led): New function.
3370 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
3371 update led status for caps lock, num lock and scroll lock.
3372
0ad46fd7
FZ
33732009-12-25 Felix Zielcke <fzielcke@z-51.de>
3374
3375 * util/hostdisk.c (open_device): Fix a comment.
3376
d0e158c2
RM
33772009-12-24 Robert Millan <rmh.grub@aybabtu.com>
3378
3379 * util/grub-install.in (host_os): New variable.
3380 * util/i386/efi/grub-install.in (host_os): Likewise.
3381
401c0ad6
RM
33822009-12-24 Robert Millan <rmh.grub@aybabtu.com>
3383
3384 * util/mkisofs/write.c (padblock_write): Abort when given an
3385 excedingly large embed image, instead of silently truncating it.
3386
d14d3370
RM
33872009-12-24 Robert Millan <rmh.grub@aybabtu.com>
3388
3389 * include/multiboot.h: Indentation fixes.
3390
eeed10b4
RM
33912009-12-24 Robert Millan <rmh.grub@aybabtu.com>
3392
3393 * include/multiboot.h (struct multiboot_aout_symbol_table)
3394 (struct multiboot_elf_section_header_table): New structure
3395 declarations (stolen from GRUB Legacy).
3396 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
3397 table information.
3398
3399 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
3400 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
3401 type aliases.
3402
681c70ab
RM
34032009-12-24 Robert Millan <rmh.grub@aybabtu.com>
3404
3405 * include/multiboot.h: Make comments src2texi-friendly.
3406
e4d47d8d
RM
34072009-12-24 Robert Millan <rmh.grub@aybabtu.com>
3408
3409 For consistency with [multiboot]/docs/boot.S.
3410
3411 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
3412 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
3413 (MULTIBOOT_MAGIC2): Rename from this ...
3414 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
3415
a0b70bda
RM
34162009-12-24 Robert Millan <rmh.grub@aybabtu.com>
3417
3418 * include/multiboot.h: Remove `<grub/types.h>'.
3419 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
3420 types. Update all users.
3421
61ba42be 34222009-12-25 Carles Pina i Estany <carles@pina.cat>
3423
3424 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
3425 `couldn't' and `can not' by `cannot'.
3426 * commands/i386/pc/drivemap.c: Likewise.
3427 * disk/ata.c: Likewise.
3428 * disk/ieee1275/nand.c: Likewise.
3429 * fs/affs.c: Likewise.
3430 * fs/fat.c: Likewise.
3431 * fs/hfs.c: Likewise.
3432 * fs/hfsplus.c: Likewise.
3433 * fs/iso9660.c: Likewise.
3434 * fs/jfs.c: Likewise.
3435 * fs/minix.c: Likewise.
3436 * fs/reiserfs.c: Likewise.
3437 * fs/sfs.c: Likewise.
3438 * fs/udf.c: Likewise.
3439 * fs/ufs.c: Likewise.
3440 * fs/xfs.c: Likewise.
3441 * loader/powerpc/ieee1275/linux.c: Likewise.
3442 * loader/sparc64/ieee1275/linux.c: Likewise.
3443 * util/grub-probe.c: Likewise.
3444 * util/misc.c: Likewise.
3445
7fd0baee 34462009-12-24 Carles Pina i Estany <carles@pina.cat>
3447
3448 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
3449 grub_errno calls.
3450 * commands/acpi.c: Likewise.
3451 * commands/blocklist.c: Likewise.
3452 * commands/efi/loadbios.c: Likewise.
3453 * commands/i386/pc/drivemap.c: Likewise.
3454 * commands/loadenv.c: Likewise.
3455 * commands/memrw.c: Likewise.
3456 * commands/password.c: Likewise.
3457 * commands/videotest.c: Likewise.
3458 * disk/ata.c: Likewise.
3459 * disk/ata_pthru.c: Likewise.
3460 * disk/dmraid_nvidia.c: Likewise.
3461 * disk/ieee1275/nand.c: Likewise.
3462 * disk/ieee1275/ofdisk.c: Likewise.
3463 * disk/loopback.c: Likewise.
3464 * disk/lvm.c: Likewise.
3465 * disk/mdraid_linux.c: Likewise.
3466 * disk/raid.c: Likewise.
3467 * disk/raid6_recover.c: Likewise.
3468 * disk/scsi.c: Likewise.
3469 * efiemu/main.c: Likewise.
3470 * efiemu/mm.c: Likewise.
3471 * efiemu/pnvram.c: Likewise.
3472 * efiemu/symbols.c: Likewise.
3473 * font/font.c: Likewise.
3474 * fs/cpio.c: Likewise.
3475 * fs/hfsplus.c: Likewise.
3476 * fs/iso9660.c: Likewise.
3477 * fs/jfs.c: Likewise.
3478 * fs/minix.c: Likewise.
3479 * fs/ntfs.c: Likewise.
3480 * fs/ntfscomp.c: Likewise.
3481 * fs/reiserfs.c: Likewise.
3482 * fs/ufs.c: Likewise.
3483 * fs/xfs.c: Likewise.
3484 * gettext/gettext.c: Likewise.
3485 * include/grub/auth.h: Likewise.
3486 * kern/elf.c: Likewise.
3487 * kern/file.c: Likewise.
3488 * kern/ieee1275/init.c: Likewise.
3489 * kern/ieee1275/mmap.c: Likewise.
3490 * kern/ieee1275/openfw.c: Likewise.
3491 * kern/powerpc/dl.c: Likewise.
3492 * kern/sparc64/dl.c: Likewise.
3493 * lib/arg.c: Likewise.
3494 * loader/i386/bsd.c: Likewise.
3495 * loader/i386/bsdXX.c: Likewise.
3496 * loader/i386/efi/linux.c: Likewise.
3497 * loader/i386/efi/xnu.c: Likewise.
3498 * loader/i386/ieee1275/linux.c: Likewise.
3499 * loader/i386/linux.c: Likewise.
3500 * loader/i386/multiboot.c: Likewise.
3501 * loader/i386/pc/linux.c: Likewise.
3502 * loader/i386/pc/multiboot2.c: Likewise.
3503 * loader/i386/xnu.c: Likewise.
3504 * loader/ieee1275/multiboot2.c: Likewise.
3505 * loader/macho.c: Likewise.
3506 * loader/machoXX.c: Likewise.
3507 * loader/multiboot2.c: Likewise.
3508 * loader/multiboot_loader.c: Likewise.
3509 * loader/powerpc/ieee1275/linux.c: Likewise.
3510 * loader/sparc64/ieee1275/linux.c: Likewise.
3511 * loader/xnu.c: Likewise.
3512 * loader/xnu_resume.c: Likewise.
3513 * mmap/i386/pc/mmap.c: Likewise.
3514 * normal/menu_viewer.c: Likewise.
3515 * partmap/acorn.c: Likewise.
3516 * partmap/amiga.c: Likewise.
3517 * partmap/apple.c: Likewise.
3518 * script/lexer.c: Likewise.
3519 * term/gfxterm.c: Likewise.
3520 * term/i386/pc/serial.c: Likewise.
3521 * term/i386/pc/vga.c: Likewise.
3522 * term/ieee1275/ofconsole.c: Likewise.
3523 * term/terminfo.c: Likewise.
3524 * video/bitmap.c: Likewise.
3525 * video/efi_gop.c: Likewise.
3526 * video/efi_uga.c: Likewise.
3527 * video/fb/video_fb.c: Likewise.
3528 * video/i386/pc/vbe.c: Likewise.
3529 * video/readers/tga.c: Likewise.
3530 * video/video.c: Likewise.
3531
0ad46fd7 35322009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
3533
3534 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
3535 * commands/lspci.c: Likewise.
3536 * commands/probe.c: Likewise.
3537 * commands/xnu_uuid.c: Likewise.
3538 * conf/i386-coreboot.rmk: Likewise.
3539 * conf/i386-efi.rmk: Likewise.
3540 * conf/i386-ieee1275.rmk: Likewise.
3541 * conf/i386-pc.rmk: Likewise.
3542 * conf/powerpc-ieee1275.rmk: Likewise.
3543 * conf/sparc64-ieee1275.rmk: Likewise.
3544 * conf/x86_64-efi.rmk: Likewise.
3545 * fs/i386/pc/pxe.c: Likewise.
3546 * gettext/gettext.c: Likewise.
3547 * include/grub/efi/graphics_output.h: Likewise.
3548 * include/grub/i386/pc/memory.h: Likewise.
3549 * kern/env.c: Likewise.
3550 * kern/i386/qemu/startup.S: Likewise.
3551 * lib/i386/pc/biosnum.c: Likewise.
3552 * lib/i386/relocator.c: Likewise.
3553 * lib/i386/relocator_asm.S: Likewise.
3554 * lib/relocator.c: Likewise.
3555 * loader/i386/bsd.c: Likewise.
3556 * loader/i386/multiboot.c: Likewise.
3557 * loader/i386/pc/chainloader.c: Likewise.
3558 * loader/i386/xnu.c: Likewise.
3559 * loader/xnu.c: Likewise.
3560 * normal/main.c: Likewise.
3561 * normal/menu_text.c: Likewise.
3562 * util/getroot.c: Likewise.
3563 * util/grub-mkconfig_lib.in: Likewise.
3564 * util/grub.d/00_header.in: Likewise.
3565 * util/i386/pc/grub-mkimage.c: Likewise.
3566 * util/mkisofs/eltorito.c: Likewise.
3567 * util/mkisofs/exclude.h: Likewise.
3568 * util/mkisofs/hash.c: Likewise.
3569 * util/mkisofs/iso9660.h: Likewise.
3570 * util/mkisofs/joliet.c: Likewise.
3571 * util/mkisofs/mkisofs.c: Likewise.
3572 * util/mkisofs/mkisofs.h: Likewise.
3573 * util/mkisofs/multi.c: Likewise.
3574 * util/mkisofs/name.c: Likewise.
3575 * util/mkisofs/rock.c: Likewise.
3576 * util/mkisofs/tree.c: Likewise.
3577 * util/mkisofs/write.c: Likewise.
3578 * video/efi_gop.c: Likewise.
3579
009ec743
VS
35802009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3581
3582 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
3583 size counting.
3584
0ad46fd7 35852009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
3586
3587 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
3588 * genmk.rb (class SCRIPT): Modify the target file instead of source.
3589
d3d30ea0
VS
35902009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
3591
3592 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
3593 (GRUB_MOD_INIT(memrw)): Update help line.
3594
a34f5c70
VS
35952009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
3596
3597 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
3598 Use grub_extcmd_t. All users updated.
3599 (options): New variable.
3600 (grub_cmd_read): Restructure for readability. Support "-v" option.
3601 (grub_cmd_write): Restructure for readability.
3602
0ad46fd7 36032009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
3604
3605 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
3606
0ad46fd7 36072009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
3608
3609 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
3610 with the actual contents of the correspondending make variable.
3611 * util/grub-mkrescue.in (pkglib_DATA): New variable.
3612 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
3613 specifying `*.lst' and `efiemu??.o'
3614
0ad46fd7 36152009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
3616
3617 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
3618 after function name.
3619 Noticed by Rene Engelhard <rene@debian.org>.
3620
dc77a799
VS
36212009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
3622
3623 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
3624 (options): New variable.
3625 (iospace): Likewise.
3626 (grub_lspci_iter): List IO spaces if "-i" was given.
3627 (grub_cmd_lspci): Parse options.
3628 (GRUB_MOD_INIT(lspci)): Use extcmd.
3629 (GRUB_MOD_FINI(lspci)): Likewise.
3630
0ad46fd7 36312009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
3632
3633 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
3634 `function' keyword.
3635 Patch by Tony Mancill <tmancill@debian.org>.
3636
b5d5993b
VS
36372009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
3638
3639 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
3640 (grub_uhci_portstatus): Likewise.
3641 (grub_uhci_portstatus): Add necessary delay.
11d18281 3642 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 3643
941903f2 36442009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 3645
941903f2 3646 * commands/acpi.c (options): Fix capitalizations and/or full stops.
3647 (GRUB_MOD_INIT): Likewise.
3648 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 3649 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
3650 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 3651 * commands/efi/loadbios.c (enable_rom_area): Likewise.
3652 (enable_rom_area): Likewise.
3653 (GRUB_MOD_INIT): Likewise.
3654 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
3655 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
3656 * commands/handler.c (GRUB_MOD_INIT): Likewise.
3657 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
3658 * commands/hexdump.c (options): Likewise.
3659 * commands/i386/cpuid.c (options): Likewise.
3660 (GRUB_MOD_INIT): Likewise.
3661 * commands/i386/pc/drivemap.c (options): Likewise.
3662 (GRUB_MOD_INIT): Likewise.
3663 * commands/i386/pc/halt (options): Likewise.
3664 (GRUB_MOD_INIT): Likewise.
3665 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
3666 * commands/i386/pc/pxecmd.c (options): Likewise.
3667 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
3668 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
3669 * commands/keystatus.c (options): Likewise.
3670 (GRUB_MOD_INIT): Likewise.
3671 * commands/loadenv.c (options): Likewise.
3672 * commands/ls.c (options): Likewise.
3673 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
3674 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
3675 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
3676 * commands/parttool.c (helpmsg): Likewise.
3677 * commands/probe.c (options): Likewise.
3678 * commands/read.c (GRUB_MOD_INIT): Likewise.
3679 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
3680 * commands/search.c (options): Likewise.
3681 * commands/sleep.c (options): Likewise.
3682 * commands/test.c (GRUB_MOD_INIT): Likewise.
3683 * commands/true.c (GRUB_MOD_INIT): Likewise.
3684 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
3685 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
3686 * lib/arg.c (help_options): Likewise.
e9bbb4e7 3687 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
3688 `$(XGETTEXT)'.
98a50553 3689 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 3690
0ad46fd7 36912009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 3692
ef3c2c3a 3693 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
3694 instead of specifying them explicit.
3695
7922f68b
RM
36962009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3697
3698 * NEWS: Add grub-probe support for GNU/Hurd.
3699
537ce47f
RM
37002009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3701
3702 * NEWS: gettext was added after 1.97.
3703
9b214e3a
RM
37042009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3705
3706 * util/mkisofs/msdos_partition.h: New file (based on
3707 include/grub/msdos_partition.h).
3708 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
3709 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
3710 (ld_options, main): Recognize --protective-msdos-label.
3711 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
3712 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
3713 (padblock_write): If `use_protective_msdos_label' is set, patch a
3714 protective DOS-style label in the output image.
3715
3716 * util/grub-mkrescue.in: Use --protective-msdos-label.
3717
e9309813
RM
37182009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3719
3720 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
3721 boot.
3722
0ae56929
RM
37232009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3724
3725 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
3726 variables.
3727 (ld_options, main): Recognize `--embedded-boot'.
3728 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
3729 declarations.
3730 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
3731 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
3732 (padblock_write): Likewise. Rewrite to support embedded boot image.
3733
3734 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
3735 for BIOS-based disk boot instead of only ElTorito.
3736
b15937b1
RM
37372009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3738
3739 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
3740 build (not needed for bootstrap).
3741
52cc3ce0
RM
37422009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3743
3744 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
3745 from i386-pc build (not needed for bootstrap).
3746 Rewrite a pair of strings.
3747
36f5ff04
RM
37482009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3749
3750 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
3751
973c6c85 37522009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
3753
3754 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
3755
05d21547
AB
37562009-12-21 Andreas Born <futur.andy@googlemail.com>
3757
3758 * kern/env.c (grub_env_context_open): Mark exported variable for
3759 reexport.
3760
0175d51f
AB
37612009-12-21 Andreas Born <futur.andy@googlemail.com>
3762
3763 * kern/env.c (grub_env_export): Create nonexistent variables before
3764 exporting.
3765
7f39d92f 37662009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 3767
7f39d92f 3768 * include/grub/auth.h: Include `<grub/i18n.h>'.
3769 (GRUB_GET_PASSWORD): Gettextizze string.
3770 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
3771 menu_text.c.
3772 (grub_utf8_to_ucs4_alloc): Fix indentation.
3773 (grub_print_ucs4): Likewise.
3774 (grub_getstringwidth): Likewise.
3775 (print_message_indented): New declaration.
3776 * normal/auth.c: Include `<grub/i18n.h>'.
3777 (grub_auth_check_authentication): Gettexttize string.
3778 * normal/cmdline.c: Include `<grub/i18n.h>'.
3779 (grub_cmdline_get): Gettextizze.
3780 * normal/color.c: Include `<grub/i18n.h>'.
3781 (grub_parse_color_name_pair): Gettexttize strings.
3782 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
3783 string (use `print_message_indented').
3784 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
3785 `include/grub/normal.h'.
3786 (print_message_indented): Renamed to ...
3787 (grub_print_message_indented): ... this. Remove `static' qualifer (now
3788 used in normal/main.c).
3789 (print_message): Use `grub_print_message_indented' instead of
3790 `print_message_indented'.
3791 (print_timeout): Likewise.
3792 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
3793 (grub_normal_print_device_info): Gettexttize strings.
3794 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
3795
3041d898
VS
37962009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
3797
3798 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
3799 of arguments. Return number of tokens and not arguments. All users
3800 updated.
3801
de15bf8e
VS
38022009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
3803
3804 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
3805 non-MSDOS paritions.
3806
e0a6ca52
VS
38072009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
3808
3809 * include/grub/types.h (UNUSED): Removed since it conflicts with
3810 NetBSD headers. All users changed to direct __attribute__ ((unused)).
3811 Reported by Grégoire Sutre.
3812
b99518d1 38132009-12-19 Carles Pina i Estany <carles@pina.cat>
3814
3815 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
3816 (grub_print_ucs4_alloc): Likewise.
3817 (grub_getstringwidth): Likewise.
3818 * normal/main.c (grub_normal_init_page): Gettextize version string.
3819 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
3820 (getstringwidth): Renamed to ...
3821 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
3822 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
3823 (grub_print_ucs4): Remove `static' qualifer (now used in
3824 normal/main.c).
3825 * po/POTFILES: Add normal/main.c.
3826
bfd5e52b 38272009-12-19 Carles Pina i Estany <carles@pina.cat>
3828
3829 * normal/menu_text.c (STANDARD_MARGIN): New macro.
3830 (print_message_indented): Add `margin_left' and `margin_right'
3831 parameters.
3832 (print_message): Update `print_message_indented' calls. Adds '\n' to the
3833 strings.
3834 (print_timeout): Use `print_message_indented' to print the message.
3835 Deletes `second_stage' parameter.
3836 (run_menu): Update `print_timeout' calls.
3837
5a1ad2b9
VS
38382009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
3839
3840 Fix console palette on OpenFirmware.
3841
3842 * term/ieee1275/ofconsole.c (MAX): Removed.
3843 (colors): Redone based on VGA palette.
3844 (grub_ofconsole_setcolor): Discard brightness bit since only 8
3845 colors are supported.
3846 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
3847
b045f00a
VS
38482009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
3849
3850 Fix potential EfiEmu double prepare.
3851
3852 * efiemu/main.c (prepared): New variable
3853 (grub_efiemu_unload): Set prepare to '0'.
3854 (grub_efiemu_prepare): Return if already prepared. Set prepared.
3855
3856 set_virtual_address_map support.
3857
3858 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
3859 prototype.
3860 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
3861 prototype.
3862 (grub_efiemu_crc32): Likewise.
3863 (grub_efiemu_crc64): Likewise.
3864 (grub_efiemu_set_virtual_address_map): Likewise.
3865 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
3866 New definition.
3867 (grub_autoefi_set_virtual_address_map): Likewise.
3868 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
3869 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
3870 Restructure flow to accomodate it.
3871 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
3872 (grub_efiemu_crc): Recompute CRC32.
3873 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
3874 (efiemu_ptv_relocated): ... this. Made global. All users updated.
3875 * efiemu/symbols.c (relocated_handle): New variable.
3876 (grub_efiemu_free_syms): Free relocated_handle.
3877 (grub_efiemu_alloc_syms): Allocate relocated_handle.
3878 (grub_efiemu_write_sym_markers): New function.
3879 (grub_efiemu_set_virtual_address_map): Likewise.
3880
3881 Newer XNU parameters.
3882
3883 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
3884 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
3885 (grub_xnu_fill_devicetree): New prototype.
3886 (grub_xnu_heap_real_start): New variable.
3887 * loader/xnu.c (get_name_ptr): New function.
3888 (grub_xnu_load_driver): Fill namelen and name.
3889
3890 64-bit xnu support.
3891
3892 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
3893 and 'loader/macho64.c'.
3894 * conf/i386-pc.rmk: Likewise.
3895 * conf/x86_64-efi.rmk: Likewise.
3896 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
3897 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
3898 * include/grub/macho.h (grub_macho_segment64): New structure.
3899 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
3900 (grub_macho_size32): ... to this.
3901 (grub_macho32_get_entry_point): Renamed from ...
3902 (grub_macho_get_entry_point32): ... to this.
3903 (grub_macho_contains_macho64): New prototype.
3904 (grub_macho_size64): Likewise.
3905 (grub_macho_get_entry_point64): Likewise.
3906 (grub_macho32_load): Renamed from ...
3907 (grub_macho_load32): ... to this.
3908 (grub_macho32_filesize): Renamed from ...
3909 (grub_macho_filesize32): ... to this.
3910 (grub_macho32_readfile): Renamed from ...
3911 (grub_macho_readfile32): ... to this.
3912 (grub_macho_filesize64): New prototype.
3913 (grub_macho_readfile64): Likewise.
3914 (grub_macho_parse32): Likewise.
3915 (grub_macho_parse64): Likewise.
3916 * loader/macho.c: Split into ...
3917 * loader/machoXX.c: ... and this. Replace 32 with XX.
3918 * loader/macho32.c: New file.
3919 * loader/macho64.c: Likewise.
3920 * loader/xnu.c (grub_xnu_is_64bit): New variable.
3921 (grub_cmd_xnu_kernel): Make 32-bit only.
3922 (grub_cmd_xnu_kernel64): New function.
3923 (grub_xnu_load_driver): Support Mach-O 64.
3924 (grub_cmd_xnu_mkext): Likewise.
3925 * util/grub.d/30_os-prober.in (osx_entry): New function.
3926 Generate entries for 64-bit boot too.
3927
3928 Eliminate ad-hoc tree format in XNU and EfiEmu.
3929
3930 * efiemu/main.c (grub_efiemu_prepare): Update comment.
3931 * efiemu/pnvram.c: Rewritten to use environment variables.
3932 All users updated.
3933
3934 Inline utf16_to_utf8.
3935
3936 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
3937 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
3938 All users updated.
3939 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
3940
3941 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
3942 * commands/usbtest.c (grub_usb_get_string): ... move here.
3943 (usb_print_str): Fix error handling.
3944 * include/grub/usb.h (grub_usb_get_string): Remove.
3945
3946 UTF-8 to UTF-16 transformation.
3947
3948 * conf/common.rmk (pkglib_MODULES): Add charset.mod
3949 (charset_mod_SOURCES): New variable.
3950 (charset_mod_CFLAGS): Likewise.
3951 (charset_mod_LDFLAGS): Likewise.
3952 * include/grub/utf.h: New file.
3953 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
3954
3955 Support for device properties.
3956
3957 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
3958 (grub_xnu_devprop_device_header): Likewise.
3959 (grub_xnu_devprop_device_descriptor): Likewise.
3960 (grub_xnu_devprop_add_device): New prototype.
3961 (grub_xnu_devprop_remove_device): Likewise.
3962 (grub_xnu_devprop_remove_property): Likewise.
3963 (grub_xnu_devprop_add_property_utf8): Likewise.
3964 (grub_xnu_devprop_add_property_utf16): Likewise.
3965 (grub_cpu_xnu_init): Likewise.
3966 (grub_cpu_xnu_fini): Likewise.
3967 (grub_cpu_xnu_unload): Likewise.
3968 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
3969 (property_descriptor): Likewise.
3970 (devices): New variable.
3971 (grub_xnu_devprop_remove_property): New function.
3972 (grub_xnu_devprop_add_device): Likewise.
3973 (grub_xnu_devprop_remove_device): Likewise.
3974 (grub_xnu_devprop_add_property): Likewise.
3975 (grub_xnu_devprop_add_property_utf8): Likewise.
3976 (grub_xnu_devprop_add_property_utf16): Likewise.
3977 (hextoval): Likewise.
3978 (grub_cpu_xnu_fill_devprop): Likewise.
3979 (grub_cmd_devprop_load): Likewise.
3980 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
3981 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
3982 (cmd_devprop_load): New variable.
3983 (grub_cpu_xnu_init): New function.
3984 (grub_cpu_xnu_fini): Likewise.
3985 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
3986 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
3987 (grub_cmd_xnu_devtree): Likewise.
3988 (hextoval): New function.
3989 (unescape): Likewise.
3990 (grub_xnu_fill_devicetree): Likewise.
3991
3992 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
3993 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
3994
0945f181
VS
39952009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
3996
3997 Workaround for broken ATI VBE.
3998
3999 * video/i386/pc/vbe.c (last_set_mode): New variable.
4000 (grub_vbe_set_video_mode): Set 'last_set_mode'.
4001 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
4002 (grub_video_vbe_setup): Don't check for reserved flag.
4003
0ad46fd7 40042009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
4005
4006 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
4007 the `find' command.
4008
c179ebe4
VS
40092009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
4010
4011 UUID support for HFS.
4012
4013 * fs/hfs.c (grub_hfs_uuid): New function.
4014 (grub_hfs_fs): New value .uuid.
4015 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
4016
0ad46fd7 40172009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
4018
4019 Fix a segfault with parsing unknown long options.
4020
4021 * util/grub-mkrelpath.c (options): Zero terminate it.
4022
c4a3e41a
CPE
40232009-12-13 Carles Pina i Estany <carles@pina.cat>
4024
4025 * include/grub/misc.h (grub_puts): New declaration.
4026 (grub_puts_): Likewise.
a22008a6 4027 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
4028 (grub_puts_): Likewise.
4029
2e8a7602
RM
40302009-12-13 Robert Millan <rmh.grub@aybabtu.com>
4031
4032 * util/grub-probe.c (probe): Improve error message.
4033
b50b77b9
RM
40342009-12-13 Robert Millan <rmh.grub@aybabtu.com>
4035
4036 * loader/i386/multiboot_elfxx.c
4037 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
4038 initialization.
4039
40402009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4041
4042 Relocator framework
4043
4044 * loader/i386/xnu_helper.S: Removed. All users updated.
4045 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
4046 (relocator_mod_SOURCES): New variable.
4047 (relocator_mod_CFLAGS): Likewise.
4048 (relocator_mod_LDFLAGS): Likewise.
4049 (relocator_mod_ASFLAGS): Likewise.
4050 * conf/x86_64.rmk: Likewise.
4051 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
4052 (grub_multiboot_payload_entry_offset): Likewise.
4053 (grub_multiboot_forward_relocator): Likewise.
4054 (grub_multiboot_forward_relocator_end): Likewise.
4055 (grub_multiboot_backward_relocator): Likewise.
4056 (grub_multiboot_backward_relocator_end): Likewise.
4057 (grub_multiboot_payload_eip): New variable.
4058 (grub_multiboot_payload_orig): Likewise.
4059 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
4060 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
4061 * include/grub/i386/memory.h
4062 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
4063 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
4064 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
4065 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
4066 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
4067 * include/grub/i386/relocator.h: New file.
4068 * include/grub/x86_64/relocator.h: Likewise.
4069 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
4070 (XNU_RELOCATOR): New macro.
4071 (grub_xnu_launcher_start): Remove.
4072 (grub_xnu_launcher_end): Likewise.
4073 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
4074 (grub_xnu_heap_real_start): Remove.
4075 (grub_xnu_heap_start): Change to void *. All users updated.
4076 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
4077 * lib/i386/relocator.c: New file.
4078 * lib/i386/relocator_asm.S: Likewise.
4079 * lib/i386/relocator_backward.S: Likewise.
4080 * lib/mips/relocator.c: Likewise.
4081 * lib/mips/relocator_asm.S: Likewise.
4082 * lib/relocator.c: Likewise.
4083 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
4084 (entry): Removed.
4085 (playground): Likewise.
4086 (grub_multiboot_payload_orig): New variable.
4087 (grub_multiboot_payload_dest): Likewise.
4088 (grub_multiboot_payload_size): Likewise.
4089 (grub_multiboot_payload_eip): Likewise.
4090 (grub_multiboot_payload_esp): Likewise.
4091 (grub_multiboot_boot): Use grub_relocator32_boot.
4092 (grub_multiboot_unload): Free relocators.
4093 (grub_multiboot): Setup stack. Use relocators.
4094 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
4095 (grub_multiboot_load_elfXX): Use relocators.
4096 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
4097 (grub_multiboot_payload_size): Likewise.
4098 (grub_multiboot_payload_dest): Likewise.
4099 (grub_multiboot_payload_entry_offset): Likewise.
4100 (grub_multiboot_forward_relocator): Likewise.
4101 (grub_multiboot_backward_relocator): Likewise.
4102 (grub_multiboot_real_boot): Likewise.
4103 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
4104 (grub_xnu_entry_point): Likewise.
4105 (grub_xnu_arg1): Likewise.
4106 (grub_xnu_stack): Likewise.
4107 (grub_xnu_launch): Removed.
4108 (grub_xnu_boot_resume): New function.
4109 (grub_xnu_boot): Use relocators.
4110 * loader/i386/xnu_helper.S: Removed.
4111 * loader/xnu.c (grub_xnu_heap_start): New variable.
4112 (grub_xnu_heap_size): Likewise.
4113 (grub_xnu_heap_malloc): Use relocators.
4114 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
4115
29eb90c6
VS
41162009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4117
4118 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
4119 anything.
4120
31027430
CPE
41212009-12-13 Carles Pina i Estany <carles@pina.cat>
4122
4123 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
4124 GRUB_ERR_NONE before calling grub_env_set.
4125
dc0c71d9
RM
41262009-12-12 Robert Millan <rmh@aybabtu.com>
4127
4128 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
4129 * genmk.rb (video): New variable.
4130 (CLEANFILES, VIDEOFILES): Add #{video}.
4131 (#{video}): New target rule.
4132 * genvideolist.sh: New file.
4133 * Makefile.in (pkglib_DATA): Add video.lst.
4134 (video.lst): New target rule.
4135 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
4136 `video.lst'.
4137 * util/grub.d/30_os-prober.in: Replace `vbe' with
4138 ${GRUB_VIDEO_BACKEND}.
4139
2a4bfcf0
RM
41402009-12-11 Robert Millan <rmh.grub@aybabtu.com>
4141
4142 * THANKS: Add David Miller.
4143
2a3aa4d5
RM
41442009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
4145
4146 libpciaccess support.
4147
4148 * Makefile.in (LIBPCIACCESS): New variable.
4149 (enable_grub_emu_pci): Likewise.
4150 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
4151 util/pci.c and commands/lspci.c.
4152 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
4153 * configure.ac (grub-emu-pci): New option.
4154 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
4155 (grub_pci_device_unmap_range): Likewise.
4156 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
4157 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
4158 (grub_pci_address_t) [!GRUB_UTIL]: New type.
4159 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
4160 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
4161 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
4162 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
4163 * include/grub/pciutils.h: New file.
4164 * util/pci.c: Likewise.
4165
0ad46fd7 41662009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
4167
4168 * util/misc.c: Don't include <errno.h> twice.
4169
0ad46fd7 41702009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
4171
4172 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
4173 name in an error message.
4174 (grub_biosdisk_rw): Likewise.
4175
2e59983c
VS
41762009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4177
4178 Eliminate NTFS 4Gib barrier.
4179
4180 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
4181 (read_run_data): Likewise.
4182 (grub_ntfs_read_run_list): Likewise.
4183 (grub_ntfs_read_block): Likewise.
4184 (grub_ntfs_iterate_dir): Likewise.
4185 (read_mft): Likewise.
4186 (read_data): Likewise.
4187 Use COM_LOG_LEN.
4188 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
4189 to avoid 64-bit division
4190 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
4191 (grub_ntfs_rlst): Use grub_disk_addr_t.
4192
71ee178a
VS
41932009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4194
4195 Eliminate grub-fstest 4Gib barrier.
4196
4197 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
4198 (read_file): Fix error reporting.
4199
2520d4b8
VS
42002009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4201
4202 Eliminate hexdump 4Gib barrier.
4203
4204 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
4205 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
4206
e1f27065
VS
42072009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4208
4209 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
4210 Fixes amarsh bug.
4211
1a0f7f45
RM
42122009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
4213
4214 Remove miscellaneous files in distclean target.
4215
4216 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
4217
c631d9fb
CW
42182009-12-09 Colin Watson <cjwatson@ubuntu.com>
4219
4220 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
4221 if they're already set. This resolves the conflict between my
4222 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
4223 fixing the --grub-probe option again.
4224 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
4225 change on 2009-10-06, so that we now once again source
4226 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
4227
7c7b6106
RM
42282009-12-08 Robert Millan <rmh.grub@aybabtu.com>
4229
4230 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
4231 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
4232 `util/devicemap.c'.
4233
e3069ec1
CPE
42342009-12-08 Carles Pina i Estany <carles@pina.cat>
4235
4236 * include/grub/misc.h (grub_printf_): New declaration.
4237 * kern/misc.c (grub_printf_): New definition.
4238 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
4239 instead of `grub_printf' and `_'.
4240 * normal/menu_entry.c (store_completion): Likewise.
4241 (run): Likewise.
4242 (grub_menu_entry_run): Likewise.
4243 * normal/menu_text.c (grub_wait_after_message): Likewise.
4244 (notify_booting): Likewise.
4245 (notify_fallback): Likewise.
4246 (notify_execution_failure): Likewise.
4247
d6ceebf1
CW
42482009-12-07 Colin Watson <cjwatson@ubuntu.com>
4249
4250 * configure.ac: Check for vasprintf.
4251 * util/misc.c (asprintf): Move allocation from here ...
4252 (vasprintf): ... to here. New function.
4253 (xasprintf): New function.
4254 * include/grub/util/misc.h (vasprintf, xasprintf): Add
4255 prototypes.
4256 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
4257 * util/grub-mkfont.c (write_font): Likewise.
4258 * util/grub-probe.c (probe): Likewise.
4259 * util/hostdisk.c (make_device_name): Likewise.
4260
de6daa8b
DM
42612009-12-06 David S. Miller <davem@sunset.davemloft.net>
4262
4263 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
4264 anything even prefixed with 'cdrom' as a cdrom.
4265
0ad46fd7 42662009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
4267
4268 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
4269 mount points.
4270
98d3dc02
CPE
42712009-12-05 Carles Pina i Estany <carles@pina.cat>
4272
4273 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
4274 grub_gettext_msg_list.
4275 (grub_gettext_gettranslation_from_position): Return const char *
4276 and not char *.
a2c1332b 4277 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
4278 returns from the list if existing there.
4279 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
4280 (grub_gettext_delete_list): Delete the list.
4281 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
4282 lang environment variable is changed.
4283 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
4284
b283f108
VS
42852009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
4286
4287 Rename kernel.mod to kernel.img.
4288
4289 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
4290 (kernel_mod_EXPORTS): Rename to ...
4291 (kernel_img_EXPORTS): ... this.
4292 (kernel_mod_SOURCES): Rename to ...
4293 (kernel_img_SOURCES): ... this.
4294 (kernel_mod_HEADERS): Rename to ...
4295 (kernel_img_HEADERS): ... this. All users updated.
4296 (kernel_mod_CFLAGS): Rename to ...
4297 (kernel_img_CFLAGS): ... this.
4298 (kernel_mod_ASFLAGS): Rename to ...
4299 (kernel_img_ASFLAGS): ... this.
4300 (kernel_mod_LDFLAGS): Rename to ...
4301 (kernel_img_LDFLAGS): ... this.
4302 * conf/x86_64-efi.rmk: Likewise.
4303 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
4304 (read_kernel_image): ... this. All users updated.
4305 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
4306
69055f8a
CPE
43072009-12-05 Carles Pina i Estany <carles@pina.cat>
4308
4309 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
4310 (print_spaces): New function.
4311 (grub_print_ucs4): New function.
4312 (getstringwidth): New function.
4313 (print_message_indented): New function.
4314 (print_message): Gettexttize strings using print_message_indented.
4315 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
4316 width.
4317 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 4318 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
4319 Gettextize.
4320 * normal/menu_entry.c (store_completion): Cleanup the gettextized
4321 string.
4322 (run): Likewise.
4323 (grub_menu_entry_run): Likewise.
4324 * PO/POTFILES: Add normal/menu_entry.c.
4325
f616f51c
VS
43262009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
4327
4328 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
4329
57bbe3be
CPE
43302009-12-05 Carles Pina i Estany <carles@pina.cat>
4331
4332 * util/grub-install.in: Install gettext .mo files.
4333 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
4334
013d67a1
CPE
43352009-12-05 Carles Pina i Estany <carles@pina.cat>
4336
4337 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
4338 grub_dprintf.
4339
fb954db0
RM
43402009-12-05 Robert Millan <rmh.grub@aybabtu.com>
4341
4342 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
4343 non-firmware-dependant one in realmode.S takes precedence.
4344
6b8474f8
RM
43452009-12-04 Robert Millan <rmh.grub@aybabtu.com>
4346
4347 * commands/halt.c: Replace misc arch-specific headers with
4348 `<grub/misc.h>'.
4349 * commands/reboot.c: Likewise.
4350 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
4351 `<grub/misc.h>'.
4352 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
4353 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
4354 (kernel_img_SOURCES): ... to here.
4355
4356 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
4357 * include/grub/i386/pc/init.h: Likewise.
4358 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
4359 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
4360
4361 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
4362
4363 * include/grub/i386/halt.h: Remove.
4364 * include/grub/i386/reboot.h: Likewise.
4365
4366 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
4367
4b2e6ca2
DM
43682009-12-03 David S. Miller <davem@sunset.davemloft.net>
4369
4370 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
4371 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
4372 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
4373 "progname.h"
4374 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
4375 * util/sparc64/ieee1275/grub-setup.c: Likewise.
4376 (usage): Add missing comma in printf.
4377
5239348f
RM
43782009-12-02 Robert Millan <rmh.grub@aybabtu.com>
4379
4380 Use the same reboot approach on i386 coreboot and qemu as we do on
4381 BIOS.
4382
4383 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
4384 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
4385 * kern/i386/reboot.c: Remove.
4386 * include/grub/i386/reboot.h (grub_reboot): Export function.
4387 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
4388 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
4389 0xf000:0xfff0 instead of 0xffff:0x0000.
4390 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
4391 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
4392
ef34cbd4
RM
43932009-11-30 Robert Millan <rmh.grub@aybabtu.com>
4394
4395 Fix $srcdir != $objdir build.
4396
4397 * Makefile.in (po/%.po): Rewrite as ...
4398 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
4399
dc9837ea
ST
44002009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
4401
4402 Fix GNU/Hurd grub-install crash.
4403 * util/grub-probe.c (probe): Try to access `path' only when it is not
4404 NULL.
4405
2f857f98
VS
44062009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
4407
4408 Correct module naming.
4409
4410 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
4411 (GRUB_MOD_INIT(efi_uga)): ... to this
4412 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
4413 (GRUB_MOD_FINI(efi_uga)): ... to this
4414 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
4415 (GRUB_MOD_INIT(efi_gop)): ... to this
4416 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
4417 (GRUB_MOD_FINI(efi_gop)): ... to this
4418
c5448046
RM
44192009-11-28 Robert Millan <rmh.grub@aybabtu.com>
4420
4421 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
4422 translatable.
4423 (usage): Translate `arg' strings using gettext().
4424 Thanks to Jordi Mallach for the suggestion.
4425
c85184ad
VS
44262009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
4427
4428 GOP support. Based on patch from Bean
4429 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
4430
4431 * video/efi_gop.c: New file.
4432 * include/grub/efi/graphics_output.h: Likewise.
4433 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
4434 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
4435 variables.
4436 * conf/x86_64-efi.rmk: Likewise.
4437
8a4c48d8
VS
44382009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
4439
4440 Rename efi_fb to efi_uga.
4441
4442 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
4443 'efi_uga.mod'.
4444 (efi_fb_mod_SOURCES): Rename this ...
4445 (efi_uga_mod_SOURCES): ... to this.
4446 (efi_fb_mod_CFLAGS): Rename this ...
4447 (efi_uga_mod_CFLAGS): ... to this.
4448 (efi_fb_mod_LDFLAGS): Rename this ...
4449 (efi_uga_mod_LDFLAGS): ... to this.
4450 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
4451 'efi_uga.mod'.
4452 (efi_fb_mod_SOURCES): Rename this ...
4453 (efi_uga_mod_SOURCES): ... to this.
4454 (efi_fb_mod_CFLAGS): Rename this ...
4455 (efi_uga_mod_CFLAGS): ... to this.
4456 (efi_fb_mod_LDFLAGS): Rename this ...
4457 (efi_uga_mod_LDFLAGS): ... to this.
4458 * video/efi_fb.c: Move this ...
4459 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
4460
fb6c1a7b
RM
44612009-11-27 Robert Millan <rmh.grub@aybabtu.com>
4462
4463 * po/README: New file. Explain our PO file workflow.
4464
3bc7896c
RM
44652009-11-27 Robert Millan <rmh.grub@aybabtu.com>
4466
4467 * po/ChangeLog: Remove. Move relevant entries back to ...
4468 * ChangeLog: ... here.
4469 * po/ca.po: Remove (now handled by TLP).
4470 * po/id.po: Likewise.
4471 * po/zh_CN.po: Likewise.
4472 * Makefile.in (LINGUAS): Initialize in a way that supports
4473 empty set.
4474
9ed4841d
RM
44752009-11-27 Robert Millan <rmh.grub@aybabtu.com>
4476
4477 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
4478 reliing on po/LINGUAS.
4479 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
4480 (po/%.po): ... this.
4481
0ad46fd7 44822009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
4483
4484 * util/i386/efi/grub-mkimage.c: Include "progname.h".
4485 (main): Use `program_name' instead of nonexistent `progname'.
4486
e30dd392
FZ
44872009-11-26 Felix Zielcke <fzielcke@z-51.de>
4488
4489 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
4490 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
4491
7656de4f
RM
44922009-11-26 Robert Millan <rmh.grub@aybabtu.com>
4493
4494 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
4495 commit.
4496 * conf/i386-efi.rmk: Likewise.
4497 * conf/i386-ieee1275.rmk: Likewise.
4498 * conf/powerpc-ieee1275.rmk: Likewise.
4499 * conf/sparc64-ieee1275.rmk: Likewise.
4500 * conf/x86_64-efi.rmk: Likewise.
4501
db77c4d4
FZ
45022009-11-26 Felix Zielcke <fzielcke@z-51.de>
4503
4504 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
4505
a755bb04
FZ
45062009-11-26 Felix Zielcke <fzielcke@z-51.de>
4507
4508 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
4509
8a4c07fd
RM
45102009-11-26 Robert Millan <rmh.grub@aybabtu.com>
4511
4512 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
4513 (grub_mkdevicemap_SOURCES): New variable.
4514 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
4515 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
4516 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
4517 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
4518 (grub_mkdevicemap_SOURCES): Remove.
4519 * conf/i386-efi.rmk: Likewise.
4520 * conf/i386-ieee1275.rmk: Likewise.
4521 * conf/i386-pc.rmk: Likewise.
4522 * conf/powerpc-ieee1275.rmk: Likewise.
4523 * conf/sparc64-ieee1275.rmk: Likewise.
4524 * conf/x86_64-efi.rmk: Likewise.
4525 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
4526 (usage): Fix strings to use `program_name'.
4527 (main): Initialize gettext.
4528 * util/grub-editenv.c: Likewise.
4529 * util/grub-emu.c: Likewise.
4530 * util/grub-fstest.c: Likewise.
4531 * util/grub-mkdevicemap.c: Likewise.
4532 * util/grub-mkfont.c: Likewise.
4533 * util/grub-mkrelpath.c: Likewise.
4534 * util/grub-pe2elf.c: Likewise.
4535 * util/grub-probe.c: Likewise.
4536 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
4537 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
4538 * util/sparc64/ieee1275/grub-setup.c: Likewise.
4539
4540 * util/misc.c: Include `"progname.h"'.
4541 (progname): Remove variable.
4542 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
4543
6f61ed55
FZ
45442009-11-25 Felix Zielcke <fzielcke@z-51.de>
4545
4546 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
4547 printf and print a newline after the menuentry header line.
4548 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
4549
f022876b
FZ
45502009-11-25 Felix Zielcke <fzielcke@z-51.de>
4551
4552 autoconf >= 2.60 support $(localedir).
4553
4554 * INSTALL: Note that autoconf 2.60 is required.
4555 * configure.ac (AC_PREREQ): Bump to 2.60.
4556 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
4557 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
4558
6717926e
YB
45592009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
4560
4561 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
4562 aclocal is run.
4563
08806a54
RM
45642009-11-25 Robert Millan <rmh.grub@aybabtu.com>
4565
4566 * normal/main.c (grub_normal_read_line): Fix off-by-one
4567 buffer overflow.
4568
13b33fba
RM
45692009-11-25 Robert Millan <rmh.grub@aybabtu.com>
4570
4571 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
4572 "parser.grub" in grub_command_execute() call.
4573
4a8572e9
CPE
45742009-11-24 Carles Pina i Estany <carles@pina.cat>
4575
4576 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
4577 * conf/i386-efi.rmk: Likewise.
4578 * conf/i386-ieee1275.rmk: Likewise.
4579 * conf/i386-pc.rmk: Likewise.
4580 * conf/powerpc-ieee1275.rmk: Likewise.
4581 * conf/sparc64-ieee1275.rmk: Likewise.
4582 * conf/x86_64-efi.rmk: Likewise.
4583 * gettext/gettex.c: Include <grub/i18n.h>.
4584 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
4585 here ...
4586 * include/grub/i18n.h: ... to here
4587 * include/grub/i18n.h: ... to here.
4588 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 4589 (grub_gettext_dummy): Move above user.
4a8572e9 4590
bee48093
FZ
45912009-11-24 Felix Zielcke <fzielcke@z-51.de>
4592
4593 * util/Makefile.in (install-local): Convert a `for' into a normal
4594 shell expansion.
4595
a031e91c
RM
45962009-11-24 Robert Millan <rmh.grub@aybabtu.com>
4597
4598 * autogen.sh: Add automake call.
4599 * config.guess: Remove.
4600 * config.sub: Likewise.
4601 * install-sh: Likewise.
4602
26bec39d
FZ
46032009-11-24 Felix Zielcke <fzielcke@z-51.de>
4604
4605 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
4606
8e2532fd
FZ
46072009-11-24 Felix Zielcke <fzielcke@z-51.de>
4608
4609 * util/Makefile.in (install-local): Convert a make `$(foreach)'
4610 function to a normal shell `for'.
4611
fefa1b7d
FZ
46122009-11-24 Felix Zielcke <fzielcke@z-51.de>
4613
4614 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
4615
4501250b
FZ
46162009-11-24 Felix Zielcke <fzielcke@z-51.de>
4617
4618 * util/grub-mkrelpath.c: New file.
4619 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
4620 (grub_mkrelpath_SOURCES): New variable.
4621 * include/grub/util/misc.h: New function prototype.
4622 * util/misc.c (make_system_path_relative_to_its_root): New function.
4623
4624 * util/grub-mkconfig_lib.in (bindir): New variable.
4625 (grub_mkrelpath): Likewise.
4626 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
4627
4628 * util/probe.c (probe): Make the file path relative to its root.
4629 Change a info message to use the GRUB path. Enable again the
4630 check if we can read the file with GRUB facilities.
4631
4632 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
4633 to its root.
4634
11d9778b
FZ
46352009-11-24 Felix Zielcke <fzielcke@z-51.de>
4636
4637 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
4638 platform.
4639
4465287d
FZ
46402009-11-24 Felix Zielcke <fzielcke@z-51.de>
4641
4642 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
4643 strncmp().
4644
62b47f22
FZ
46452009-11-24 Felix Zielcke <fzielcke@z-51.de>
4646
4647 * util/getroot.c (grub_util_is_dmraid): New function.
4648 (grub_util_get_dev_abstraction): Treat dmraid and multipath
4649 devices as normal ones, not as LVM.
4650
1eafb9b9 46512009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
4652
4653 * conf/common.rmk: Add grub-gettext_lib target and updates
4654 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
4655 LDFLAGS.
4656 * gettext/gettext.c: New file. (Reads mo files).
4657 * include/grub/file.h (grub_file_pread): New prototype.
4658 * include/grub/i18n.h (_): New prototype.
4659 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
4660 prototypes.
4661 * kern/misc.c (grub_gettext_dummy): New function.
4662 * normal/menu_text.c: Include <grub/i18n.h>.
4663 * normal/menu_text.c (print_timeout): Gettexttize string.
4664 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
4665 * po/POTFILES: Add `normal/menu_text.c'.
4666 * po/ca.po: Add new translations.
c3ea6bd4
CPE
4667 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
4668 gettext module and defines locale_dir and lang in grub.cfg.
4669 * NEWS: Add gettext support.
4670
0fdb2568
RM
46712009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4672
4673 * util/hostdisk.c: Include `<grub/i18n.h>'.
4674 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
4675 (make_device_name): Rewrite using asprintf.
4676 (convert_system_partition_to_system_disk): Replace 0 with NULL.
4677 (find_system_device): If a device is not found, generate one just
4678 by reusing the OS path name.
4679 (read_device_map): Make it permissible for device.map not to exist.
4680
f515aa62
RM
46812009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4682
4683 * script/sh/execute.c: Move from here ...
4684 * script/execute.c: ... to here. Update all users.
4685 * script/sh/function.c: Move from here ...
4686 * script/function.c: ... to here. Update all users.
4687 * script/sh/lexer.c: Move from here ...
4688 * script/lexer.c: ... to here. Update all users.
4689 * script/sh/main.c: Move from here ...
4690 * script/main.c: ... to here. Update all users.
4691 * script/sh/parser.y: Move from here ...
4692 * script/parser.y: ... to here. Update all users.
4693 * script/sh/script.c: Move from here ...
4694 * script/script.c: ... to here. Update all users.
4695
f84b481b
RM
46962009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4697
4698 * configure.ac: Detect all `emu' platforms. Define
4699 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
4700 --enable-grub-emu logic. Disable include/grub/machine
4701 symlink on `emu' platforms.
4702
4703 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
4704 * gensymlist.sh.in: Likewise.
4705
4706 * include/grub/i386/coreboot/machine.h: Remove file.
4707 * include/grub/i386/efi/machine.h: Likewise.
4708 * include/grub/i386/ieee1275/machine.h: Likewise.
4709 * include/grub/i386/pc/machine.h: Likewise.
4710 * include/grub/i386/qemu/machine.h: Likewise.
4711 * include/grub/powerpc/ieee1275/machine.h: Likewise.
4712 * include/grub/sparc64/ieee1275/machine.h: Likewise.
4713 * include/grub/x86_64/efi/machine.h: Likewise.
4714
4715 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
4716 * commands/halt.c: Likewise.
4717 * commands/reboot.c: Likewise.
4718 * include/grub/autoefi.h: Likewise.
4719 * include/grub/i386/at_keyboard.h: Likewise.
4720 * include/grub/i386/kernel.h: Likewise.
4721 * include/grub/i386/loader.h: Likewise.
4722 * include/grub/i386/pc/memory.h: Likewise.
4723 * kern/dl.c: Likewise.
4724 * kern/i386/coreboot/init.c: Likewise.
4725 * loader/i386/bsd.c: Likewise.
4726 * loader/i386/linux.c: Likewise.
4727 * loader/multiboot_loader.c: Likewise.
4728 * term/i386/pc/serial.c: Likewise.
4729 * term/usb_keyboard.c: Likewise.
4730
4731 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
4732 `<grub/machine/machine.h>'
4733 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
4734 * util/misc.c: Remove `<grub/machine/machine.h>' and
4735 `<grub/machine/time.h>'.
4736
4737 * Makefile.in (enable_grub_emu): Remove variable.
4738 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
4739
4740 * conf/any-emu.rmk: New file.
4741 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
4742 (grub_emu_init.c): Move from here ...
4743 * conf/any-emu.rmk: ... to here.
4744
4745 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
4746 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
4747 * conf/any-emu.rmk: ... to here.
4748
4efeab03
RM
47492009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4750
4751 * include/grub/parser.h (grub_parser_register): Document need
4752 of `name' parameter.
4753 * normal/main.c (grub_normal_read_line): Simplify prompt string.
4754 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
4755 "sh" to "grub".
4756
ea1dd8bf
RM
47572009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4758
4759 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
4760 `$(XGETTEXT)'.
4761 * include/grub/i18n.h (N_): New macro.
4762 * util/mkisofs/mkisofs.h: Likewise.
4763 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
4764 around N_().
4765 (usage): Use gettext() to translate help strings when printing them.
4766
0c140626
RM
47672009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4768
4769 Based on patch from Bean
4770 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
4771
4772 * video/efi_fb.c: New file.
4773 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
4774 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
4775 variables.
4776 * conf/x86_64-efi.rmk: Likewise.
4777
87d58298
RM
47782009-11-22 Robert Millan <rmh.grub@aybabtu.com>
4779
4780 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
4781 * util/i386/pc/grub-setup.c: Likewise.
4782
994cc3a3
ST
47832009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
4784
4785 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
4786 <hurd/fs.h>
4787 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
4788 file_get_storage_info to implement grub_guess_root_device.
4789
26a61d6a
FZ
47902009-11-21 Felix Zielcke <fzielcke@z-51.de>
4791
4792 * Makefile.in (target): Use make's builtin $(shell) function
4793 instead of calling directly $(SHELL) to create the locale directories,
4794 inside the $(foreach) function.
4795
74ff1dd5
FZ
47962009-11-21 Felix Zielcke <fzielcke@z-51.de>
4797
4798 * util/grub-mkrescue.in: Print an error and usage if output option
4799 has not been given.
4800
0b787d0e
FZ
48012009-11-21 Felix Zielcke <fzielcke@z-51.de>
4802
4803 Patch from LoĂ¯c Minier <loic.minier@ubuntu.com>.
4804 * util/grub.d/30_os-prober.in: Cope with Linux entries where
4805 root and /boot are on different devices.
4806
1164b270
RM
48072009-11-21 Robert Millan <rmh.grub@aybabtu.com>
4808
4809 Fix build for srcdir != objdir.
4810
4811 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
4812 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
4813 $(srcdir).
4814 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
4815 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
4816 reference for input.
4817
13774a2f
RM
48182009-11-21 Robert Millan <rmh.grub@aybabtu.com>
4819
4820 * util/grub-mkrescue.in: Use source directory direcly (without copiing
4821 or hardlinking it). Remove -J option, Joliet is not compatible with
4822 multiple source directories.
4823
efda854e
RM
48242009-11-21 Carles Pina i Estany <carles@pina.cat>
48252009-11-21 Robert Millan <rmh.grub@aybabtu.com>
4826
4827 * util/grub-mkrescue.in: Recognize `--override-directory' option.
4828 (process_input_dir): New function. Process an arbitrary input
4829 directory.
4830 Misc adjustments to support both "override mode" and system-wide mode.
4831
6c09890c
FZ
48322009-11-20 Felix Zielcke <fzielcke@z-51.de>
4833
4834 * configure.ac (UNIFONT_BDF): Rename to ...
4835 (FONT_SOURCE): ... this. Update all users.
4836
a797824f
FZ
48372009-11-20 Felix Zielcke <fzielcke@z-51.de>
4838
4839 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
4840 to the list of unifont files to look for.
4841
cd4f42b0
RM
48422009-11-19 Robert Millan <rmh.grub@aybabtu.com>
4843
4844 Patch from Joe Auricchio <jauricchio@gmail.com>
4845 * commands/minicmd.c (grub_mini_cmd_clear): New function.
4846 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
4847 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
4848
393c783d
FZ
48492009-11-19 Felix Zielcke <fzielcke@z-51.de>
4850
4851 * Makefile.in (install-local): Add a missing backslash.
4852
b2f1e327
FZ
48532009-11-19 Felix Zielcke <fzielcke@z-51.de>
4854
4855 * include/grub/x86_64/io.h: New file.
4856
f577f7a0
RM
48572009-11-19 Robert Millan <rmh.grub@aybabtu.com>
4858
4859 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
4860 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
4861 Include `"progname.h"'.
4862 (main): Initialize gettext.
4863 * util/i386/pc/grub-setup.c: Gettexttize.
4864 * util/i386/pc/grub-mkimage.c: Likewise.
4865
4866 * Makefile.in (po/*.po): Redefine as ...
4867 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
4868
3bc7896c
RM
4869 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
4870
c37943b6
RM
48712009-11-19 Robert Millan <rmh.grub@aybabtu.com>
4872
4873 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
4874 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
4875 (program_name): Remove.
4876 (main): Initialize gettext support.
6323f705
RM
4877 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
4878 Include `<libintl.h>'.
4879 (_): New macro.
c37943b6
RM
4880
4881 * util/mkisofs/eltorito.c: Gettexttize.
4882 * util/mkisofs/joliet.c: Likewise.
4883 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
4884 * util/mkisofs/multi.c: Likewise.
4885 * util/mkisofs/rock.c: Likewise.
4886 * util/mkisofs/tree.c: Likewise.
4887 * util/mkisofs/write.c: Likewise.
4888
3bc7896c
RM
4889 * po/POTFILES: Update with new files.
4890
5ce77c6e
RM
48912009-11-18 Robert Millan <rmh.grub@aybabtu.com>
4892
4893 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
4894 * util/mkisofs/iso9660.h: Likewise.
4895 * util/mkisofs/joliet.c: Likewise.
4896 * util/mkisofs/mkisofs.c: Likewise.
4897 * util/mkisofs/mkisofs.h: Likewise.
4898 * util/mkisofs/rock.c: Likewise.
4899 * util/mkisofs/tree.c: Likewise.
4900 * util/mkisofs/write.c: Likewise.
4901
4902 * util/mkisofs/eltorito.c (rcsid): Remove.
4903 * util/mkisofs/hash.c: Likewise.
4904 * util/mkisofs/joliet.c: Likewise.
4905 * util/mkisofs/name.c: Likewise.
4906 * util/mkisofs/rock.c: Likewise.
4907 * util/mkisofs/tree.c: Likewise.
4908 * util/mkisofs/write.c: Likewise.
4909
1dabbc77
RM
49102009-11-18 Robert Millan <rmh.grub@aybabtu.com>
4911
4912 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
4913 instead of static allocation.
4914 * util/mkisofs/match.h: Likewise.
4915
633877cb
RM
49162009-11-18 Robert Millan <rmh.grub@aybabtu.com>
4917
3bc7896c
RM
4918 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
4919 and `util/grub.d/10_linux.in'.
633877cb
RM
4920 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
4921 translatable Shell files.
4922
af1c0c85
RM
49232009-11-18 Robert Millan <rmh.grub@aybabtu.com>
4924
4925 * Makefile.in ($(srcdir)/aclocal.m4): New target.
4926
769ae37b
RM
49272009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4928
4929 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 4930 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
4931 * util/grub.d/10_kfreebsd.in (bindir): New variable.
4932 Add gettext initialization.
4933 (kfreebsd_entry): Make menuentry output translatable.
4934
49352009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4936
4937 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
4938 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
4939 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
4940 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
4941 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 4942 * po/LINGUAS: New file.
769ae37b
RM
4943
49442009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4945
4946 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
4947 other things).
4948 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
4949 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
4950 bindtextdomain() calls for gettext initialization.
4951
49522009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4953
4954 * gnulib/progname.c: New file (imported from Gnulib).
4955 * gnulib/progname.h: Likewise.
4956 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
4957 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
4958 (usage): Replace `progname' with `program_name'.
4959 (main): Use set_program_name() for program name initialization.
4960
49612009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4962
4963 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
4964 from here ...
4965 * Makefile.in (CPPFLAGS): ... to here.
4966
49672009-11-16 Robert Millan <rmh.grub@aybabtu.com>
4968
4969 * aclocal.m4: Move from here ...
4970 * acinclude.m4: ... to here.
4971 * autogen.sh: Add call to `aclocal'.
4972 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
4973
49742009-11-16 Robert Millan <rmh.grub@aybabtu.com>
4975
4976 * Makefile.in (CLEANFILES): Add `po/*.mo'.
4977 (LINGUAS): New variable.
4978 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
4979 (install-local): Install MO files.
4980 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
4981 * include/grub/i18n.h: New file.
3bc7896c
RM
4982 * po/POTFILES: New file.
4983 * po/ca.po: New file.
769ae37b
RM
4984 * util/grub.d/10_linux.in (bindir): New variable.
4985 Add gettext initialization.
4986 (linux_entry): Make menuentry output translatable.
4987 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
4988 (usage): Make --help output translatable.
4989 (main): Initialize gettext.
4990
02c0a6ad
RM
49912009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4992
4993 * import_gcry.py: New file (written by Vladimir with minor
4994 adjustments).
4995 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
4996 ciphers.
4997 * INSTALL: Document that Python is required for bootstrap.
4998
49992009-11-17 Robert Millan <rmh.grub@aybabtu.com>
5000
5001 Import ciphers from libgcrypt 1.4.4.
5002
5003 * lib/libgcrypt/cipher/ChangeLog
5004 * lib/libgcrypt/cipher/ac.c
5005 * lib/libgcrypt/cipher/arcfour.c
5006 * lib/libgcrypt/cipher/bithelp.h
5007 * lib/libgcrypt/cipher/blowfish.c
5008 * lib/libgcrypt/cipher/camellia-glue.c
5009 * lib/libgcrypt/cipher/camellia.c
5010 * lib/libgcrypt/cipher/camellia.h
5011 * lib/libgcrypt/cipher/cast5.c
5012 * lib/libgcrypt/cipher/cipher.c
5013 * lib/libgcrypt/cipher/crc.c
5014 * lib/libgcrypt/cipher/des.c
5015 * lib/libgcrypt/cipher/dsa.c
5016 * lib/libgcrypt/cipher/ecc.c
5017 * lib/libgcrypt/cipher/elgamal.c
5018 * lib/libgcrypt/cipher/hash-common.c
5019 * lib/libgcrypt/cipher/hash-common.h
5020 * lib/libgcrypt/cipher/hmac-tests.c
5021 * lib/libgcrypt/cipher/md.c
5022 * lib/libgcrypt/cipher/md4.c
5023 * lib/libgcrypt/cipher/md5.c
5024 * lib/libgcrypt/cipher/primegen.c
5025 * lib/libgcrypt/cipher/pubkey.c
5026 * lib/libgcrypt/cipher/rfc2268.c
5027 * lib/libgcrypt/cipher/rijndael-tables.h
5028 * lib/libgcrypt/cipher/rijndael.c
5029 * lib/libgcrypt/cipher/rmd.h
5030 * lib/libgcrypt/cipher/rmd160.c
5031 * lib/libgcrypt/cipher/rsa.c
5032 * lib/libgcrypt/cipher/seed.c
5033 * lib/libgcrypt/cipher/serpent.c
5034 * lib/libgcrypt/cipher/sha1.c
5035 * lib/libgcrypt/cipher/sha256.c
5036 * lib/libgcrypt/cipher/sha512.c
5037 * lib/libgcrypt/cipher/tiger.c
5038 * lib/libgcrypt/cipher/twofish.c
5039 * lib/libgcrypt/cipher/whirlpool.c
5040
af2f93ac
RM
50412009-11-16 Robert Millan <rmh.grub@aybabtu.com>
5042
5043 Fix build for systems without error().
5044
5045 * gnulib/error.c: New file (imported from Gnulib).
5046 * gnulib/error.h: Likewise.
5047 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
5048 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
5049 (this variable is now used by error()).
5050
73fb3dd5
FZ
50512009-11-16 Felix Zielcke <fzielcke@z-51.de>
5052
814f5e96
FZ
5053 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
5054 instead of relying that char is signed.
73fb3dd5 5055
a691ca33
VS
50562009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5057
5058 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
5059 blocksize different from specified.
5060 (grub_pxefs_read): Likewise.
5061
2af8f0f4
FZ
50622009-11-16 Felix Zielcke <fzielcke@z-51.de>
5063
5064 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
5065
5066 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
5067 (grub_ata_readwrite): Likewise. Update 2 format strings.
5068 (grub_atapi_read): Likewise.
5069
5070 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
5071 * conf/i386.rmk (pkglib_MODULES): ... to here ...
5072 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
5073 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
5074 (ata_mod_LDFLAGS): Move from here ...
5075 * conf/i386.rmk: ... to here ...
5076 * conf/x86_64-efi.rmk: ... and here.
5077 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
5078 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
5079
83bdecaf
RM
50802009-11-16 Robert Millan <rmh.grub@aybabtu.com>
5081
5082 Relicense multiboot.h, with RMS' blessing.
5083
5084 * include/multiboot.h: Change to X11 license.
5085
fd6fd3d7
RM
50862009-11-15 Robert Millan <rmh.grub@aybabtu.com>
5087
5088 Support --version in grub-mkisofs.
5089
5090 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
5091 (OPTION_VERSION): New macro.
5092 (ld_options): Recognize --version.
5093 (usage): Move `program_name' from here ...
5094 (program_name): ... to here. Add `static' qualifier.
5095 (main): Recognize `OPTION_VERSION'.
5096
16a88c49
FZ
50972009-11-15 Felix Zielcke <fzielcke@z-51.de>
5098
5099 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
5100 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
5101
a4158476
RM
51022009-11-14 Robert Millan <rmh.grub@aybabtu.com>
5103
5104 Fix help2man generation for mkisofs.
5105
5106 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
5107 (usage): Send output to stdout (rather than stderr).
5108
fc2208b0
RM
51092009-11-14 Robert Millan <rmh.grub@aybabtu.com>
5110
5111 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
5112 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
5113 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
5114 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
5115 (bin_SCRIPTS): Add `grub-mkfloppy'.
5116 (grub_mkfloppy_SOURCES): New variable.
5117
5118 * util/grub-mkrescue.in: New file.
5119 * util/i386/pc/grub-mkfloppy.in: New file.
5120
5121 * util/i386/coreboot/grub-mkrescue.in: Remove.
5122 * util/i386/pc/grub-mkrescue.in: Remove.
5123
8d0edf4a
RM
51242009-11-13 Robert Millan <rmh.grub@aybabtu.com>
5125
5126 * include/grub/multiboot.h (struct grub_multiboot_header): Move
5127 from here ...
5128 * include/multiboot.h (struct multiboot_header): ... to here. Update
5129 all users.
5130 * include/grub/multiboot.h (struct grub_multiboot_info): Move
5131 from here ...
5132 * include/multiboot.h (struct multiboot_info): ... to here. Update
5133 all users.
5134 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
5135 from here ...
5136 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
5137 Update all users.
5138 * include/grub/multiboot.h (struct grub_mod_list): Move
5139 from here ...
5140 * include/multiboot.h (struct multiboot_mod_list): ... to here.
5141 Update all users.
5142
a73f5969
RM
51432009-11-13 Robert Millan <rmh.grub@aybabtu.com>
5144
5145 * include/multiboot2.h (multiboot_word): Rename from this ...
5146 (multiboot2_word): ... to this. Update all users.
5147 (multiboot_header): Rename from this ...
5148 (multiboot2_header): ... to this. Update all users.
5149 (multiboot_tag_header): Rename from this ...
5150 (multiboot2_tag_header): ... to this. Update all users.
5151 (multiboot_tag_start): Rename from this ...
5152 (multiboot2_tag_start): ... to this. Update all users.
5153 (multiboot_tag_name): Rename from this ...
5154 (multiboot2_tag_name): ... to this. Update all users.
5155 (multiboot_tag_module): Rename from this ...
5156 (multiboot2_tag_module): ... to this. Update all users.
5157 (multiboot_tag_memory): Rename from this ...
5158 (multiboot2_tag_memory): ... to this. Update all users.
5159 (multiboot_tag_unused): Rename from this ...
5160 (multiboot2_tag_unused): ... to this. Update all users.
5161 (multiboot_tag_end): Rename from this ...
5162 (multiboot2_tag_end): ... to this. Update all users.
5163
1c8927f0
RM
51642009-11-13 Robert Millan <rmh.grub@aybabtu.com>
5165
5166 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
5167 this platform we should support Multiboot1 first.
5168
5169 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
5170 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
5171 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
5172
6e1e0d89
RM
51732009-11-12 Robert Millan <rmh.grub@aybabtu.com>
5174
5175 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
5176 of write calls (converting them to fwrite() if they aren't already).
5177 (get_torito_desc): Likewise.
5178 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
5179
7f2b34d8
RM
51802009-11-12 Robert Millan <rmh.grub@aybabtu.com>
5181
5182 * util/i386/pc/grub-install.in: Move from here ...
5183 * util/grub-install.in: ... to here. Update all users.
5184
c0ef3311
CW
51852009-11-11 Colin Watson <cjwatson@ubuntu.com>
5186
5187 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
5188
e1f240ff
RM
51892009-11-11 Robert Millan <rmh.grub@aybabtu.com>
5190
5191 Support for El Torito without floppy emulation.
5192
5193 * util/mkisofs/eltorito.c: Include `<errno.h>'.
5194 (init_boot_catalog): Improve error handling.
5195 (get_torito_desc): Don't use floppy emulation unless requested by
5196 user. Patch boot information table when requested via
5197 `-boot-info-table'.
5198 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
5199 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
5200 (use_boot_info_table): New variables.
5201 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
5202 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
5203 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
5204 `--eltorito-emul-floppy'.
5205 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
5206 and `OPTION_ELTORITO_EMUL_FLOPPY'.
5207 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
5208 (use_boot_info_table, get_731): New prototypes.
5209 * util/mkisofs/write.c (get_731): New function.
5210
af7d4de5
FZ
52112009-11-11 Felix Zielcke <fzielcke@z-51.de>
5212
5213 Fix the generation of the man page.
5214
5215 * util/pc/i386/grub-install.in: Source
5216 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
5217
2c55dbc0
RM
52182009-11-11 Robert Millan <rmh.grub@aybabtu.com>
5219
5220 Large file support for grub-mkisofs.
5221
5222 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
5223 * util/mkisofs/mkisofs.c (next_extent, last_extent)
5224 (session_start): Upgrade type to `uint64_t'. Update all users.
5225 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
5226 (struct directory_entry): Upgrade type of `starting_block' and
5227 `size' to `uint64_t'. Update all users.
5228 (struct deferred): Remove unused structure.
5229 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
5230 Update all users.
5231 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
5232 file is larger than `UINT32_MAX'.
5233 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
5234 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
5235 return value.
5236 (struct deferred_write): Upgrade type of `extent' and `size' to
5237 `uint64_t'. Update all users.
5238 (last_extent_written): Upgrade type to `uint64_t'. Update all
5239 users.
5240 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
5241 Update all users. Upgrade type of `remain' to `int64_t' and
5242 `use' to `size_t'. Use error() to handle fread() errors.
5243 (write_files): Rely on write_one_file() rather than calling
5244 xfwrite() directly.
5245
6a9cead5
FZ
52462009-11-09 Felix Zielcke <fzielcke@z-51.de>
5247
5248 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
5249
4825d790
RM
52502009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5251
5252 * util/mkisofs/fnmatch.c: Remove.
5253 * util/mkisofs/getopt1.c: Likewise.
5254 * util/mkisofs/getopt.c: Likewise.
5255 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
5256 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
5257 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
5258 `gnulib/getopt1.c' and `gnulib/getopt.c'.
5259 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
5260
5261 * configure.ac: Detect `mingw32msvc' host_os.
5262 Check for lstat(), getuid() and getgid().
5263
5264 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
5265 instances of `u_char' with `uint8_t'.
5266
5267 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
5268 [!HAVE_GETUID] (getuid): New function (stub).
5269 [!HAVE_GETGID] (getgid): Likewise.
5270 [!HAVE_LSTAT] (lstat): Likewise.
5271 [!S_IROTH] (S_IROTH): New macro (dummy).
5272 [!S_IRGRP] (S_IRGRP): Likewise.
5273
84b860d8
RM
52742009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5275
5276 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
5277 conditional expression).
5278
66e9b712
RM
52792009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5280
5281 Import from Gnulib.
5282
5283 * gnulib/fnmatch.c: New file.
5284 * gnulib/fnmatch.h: Likewise.
5285 * gnulib/fnmatch_loop.c: Likewise.
5286 * gnulib/getopt.c: Likewise.
5287 * gnulib/getopt.h: Likewise.
5288 * gnulib/getopt1.c: Likewise.
5289 * gnulib/getopt_int.h: Likewise.
5290 * gnulib/gettext.h: Likewise.
5291
34f4a5b0
RM
52922009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5293
5294 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
5295 * normal/handler.c (read_handler_list): Likewise.
5296
ac451143
RM
52972009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5298
5299 Misc cleanup.
5300
5301 * kern/command.c (grub_register_command_prio): Use
5302 grub_zalloc() instead of explicitly zeroing data.
5303 * kern/list.c: Include `<grub/mm.h>'.
5304 (grub_named_list_find): Replace `0' with `NULL'.
5305 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
5306 (fs_module_list): Change type to `grub_named_list_t'. Update all
5307 users.
5308 * normal/dyncmd.c (read_command_list): Add space between function
5309 call and parenthesis.
5310 * normal/handler.c (read_handler_list): Likewise.
5311
4089b167
RM
53122009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5313
5314 * normal/auth.c (punishment_delay): Moved from here ...
5315 (grub_auth_strcmp): ... to here (inside function).
5316
325f5037
RM
53172009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5318
5319 * include/grub/list.h (struct grub_named_list): Remove `const'
5320 qualifier from `name'.
5321 (struct grub_prio_list): Likewise.
5322
7aea29a3
RM
53232009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5324
5325 * normal/auth.c: Include `<grub/time.h>'.
5326 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
5327
3fd6f044
RM
53282009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5329
5330 * normal/auth.c (punishment_delay): New variable.
5331 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
5332 (grub_auth_check_authentication): Punish failed login attempts with
5333 an incremental (2^N) delay.
5334
a4cd68e4
RM
53352009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5336
5337 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
5338 path with $(srcdir).
5339
7ad12f43
VS
53402009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5341
5342 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
5343
c1129f03
RM
53442009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5345
5346 * util/i386/coreboot/grub-mkrescue.in: New file.
5347 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
5348 variables.
5349
5350 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
5351 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
5352 * configure.ac: Add header and function checks to satisfy grub-mkisofs
5353 requirements.
5354 * util/mkisofs/defaults.h: New file.
5355 * util/mkisofs/eltorito.c: Likewise.
5356 * util/mkisofs/exclude.h: Likewise.
5357 * util/mkisofs/fnmatch.c: Likewise.
5358 * util/mkisofs/getopt.c: Likewise.
5359 * util/mkisofs/getopt1.c: Likewise.
5360 * util/mkisofs/hash.c: Likewise.
5361 * util/mkisofs/include/fctldefs.h: Likewise.
5362 * util/mkisofs/include/mconfig.h: Likewise.
5363 * util/mkisofs/include/prototyp.h: Likewise.
5364 * util/mkisofs/include/statdefs.h: Likewise.
5365 * util/mkisofs/iso9660.h: Likewise.
5366 * util/mkisofs/joliet.c: Likewise.
5367 * util/mkisofs/match.c: Likewise.
5368 * util/mkisofs/match.h: Likewise.
5369 * util/mkisofs/mkisofs.c: Likewise.
5370 * util/mkisofs/mkisofs.h: Likewise.
5371 * util/mkisofs/multi.c: Likewise.
5372 * util/mkisofs/name.c: Likewise.
5373 * util/mkisofs/rock.c: Likewise.
5374 * util/mkisofs/tree.c: Likewise.
5375 * util/mkisofs/write.c: Likewise.
5376
ec8bb77d
VS
53772009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5378
5379 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
5380 being insecure.
5381
3716b12c
RM
53822009-11-08 Robert Millan <rmh.grub@aybabtu.com>
5383
5384 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
5385 `grub-mkimage' (and use $0 when possible).
5386
b97b7b91
RM
53872009-11-08 Robert Millan <rmh.grub@aybabtu.com>
5388
5389 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
5390 error message for excessively large memory map.
5391
04114812
RM
53922009-11-08 Robert Millan <rmh.grub@aybabtu.com>
5393
5394 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
5395 executable bit.
5396
e4eb2373
RM
53972009-11-08 Robert Millan <rmh.grub@aybabtu.com>
5398
5399 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
5400 message for coreboot users.
5401
c926e1d5 54022009-11-07 Robert Millan <rmh.grub@aybabtu.com>
5403
5404 Fix build with GNU gold.
5405
5406 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
5407 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
5408 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
5409 link addresses.
5410 * aclocal.m4: Likewise.
5411
86e5b1db 54122009-11-04 Felix Zielcke <fzielcke@z-51.de>
5413
5414 * configure.ac (AC_PREREQ): Bump to 2.59d.
5415 * INSTALL: Make it more clear when Autoconf and Ruby are
5416 needed and when to run `./autogen.sh'.
5417
246cd78f 54182009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
5419
5420 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
5421 OSes.
5422
4f9dfb37 54232009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
5424
5425 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
5426
b82bd5e1 54272009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
5428
5429 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
5430 giving it to GNU Mach.
5431
ff1a9bca 54322009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
5433
5434 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
5435 GNU partition number to get internal GRUB partition number.
5436
61697d9c 54372009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
5438
5439 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
5440 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
5441
a50569e1 54422009-11-01 Robert Millan <rmh.grub@aybabtu.com>
5443
5444 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
5445 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
5446 case.
5447
5b153867 54482009-11-01 Felix Zielcke <fzielcke@z-51.de>
5449
5450 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
5451
d9e2cd70 54522009-10-30 Robert Millan <rmh.grub@aybabtu.com>
5453
5454 Fix build problem.
5455
5456 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
5457 `-isystem=$(srcdir)/include'.
5458
805111a4 54592009-10-30 Robert Millan <rmh.grub@aybabtu.com>
5460
5461 * util/i386/pc/grub-install.in: Remove hint that device.map should be
5462 checked (grub-install doesn't currently rely on it).
5463
fa6e945f 54642009-10-29 Robert Millan <rmh.grub@aybabtu.com>
5465
5466 Revert SVN r2660.
5467
5468 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
5469 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
5470 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
5471 * conf/i386-ieee1275.rmk: Likewise.
5472 * conf/i386-pc.rmk: Likewise.
5473 * conf/powerpc-ieee1275.rmk: Likewise.
5474 * conf/sparc64-ieee1275.rmk: Likewise.
5475 * conf/x86_64-efi.rmk: Likewise.
5476
cee15086 54772009-10-28 Robert Millan <rmh.grub@aybabtu.com>
5478
5479 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
5480
95b9239e 54812009-10-28 Robert Millan <rmh.grub@aybabtu.com>
5482
5483 * include/grub/misc.h: Stop checking for APPLE_CC.
5484
2ed19dfd 54852009-10-28 Robert Millan <rmh.grub@aybabtu.com>
5486
5487 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
5488 doesn't cause an infinite call loop.
5489
fdcdde19 54902009-10-28 Felix Zielcke <fzielcke@z-51.de>
5491
5492 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
5493 strings.
5494
cefabfe1 54952009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5496
5497 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
5498 variable.
5499 * Makefile.in: Likewise.
5500
ed96ab6d 55012009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5502
5503 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
5504
0579b753 55052009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5506
5507 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
5508
478df409 55092009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5510
5511 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
5512
083d1679 55132009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5514
5515 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
5516 from here ...
5517 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
5518
5947ae32 55192009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5520
5521 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
5522 in $(MAKEINFO) invocation. This makes it clear in output that
5523 errors are being ignored.
5524
94180ff6 55252009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5526
5527 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
5528 from here ...
5529 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
5530 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
5531 * conf/i386-ieee1275.rmk: Likewise.
5532 * conf/i386-pc.rmk: Likewise.
5533 * conf/powerpc-ieee1275.rmk: Likewise.
5534 * conf/sparc64-ieee1275.rmk: Likewise.
5535 * conf/x86_64-efi.rmk: Likewise.
5536
9031b03a 55372009-10-26 Colin Watson <cjwatson@ubuntu.com>
5538
5539 * util/grub-editenv.c (main): If only a command is given, use
5540 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
5541 (usage): FILENAME is now optional and has a default.
5542
e4f6809b 55432009-10-26 Colin Watson <cjwatson@ubuntu.com>
5544
5545 Improve grub-mkconfig performance when there are several menu
5546 entries on a single filesystem.
5547
5548 * util/grub.d/10_linux.in (linux_entry): Cache the output of
5549 prepare_grub_to_access_device.
5550 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
5551 * util/grub.d/30_os-prober.in: Likewise.
5552
67937d4d 55532009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5554
5555 * util/grub.d/10_freebsd.in: Remove.
5556 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
5557 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
5558
ee3756cc 55592009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5560
5c35048e 5561 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 5562
4dea1c6f 55632009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5564
5565 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
5566 grub_util_error() call.
5567
042484d7 55682009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5569
5570 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
5571 `reserved_first_sector' member.
5572 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
5573 `reserved_first_sector' to 1.
5574 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
5575 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
5576 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
5577 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
5578 filesystems which begin at first sector.
5579 (options): New option --skip-fs-probe.
5580 (main): Handle --skip-fs-probe and pass it to setup().
5581
d64448a7 55822009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5583
5584 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
5585 (memset): Fix function prototype.
5586
508d42ec 55872009-10-25 Robert Millan <rmh.grub@aybabtu.com>
55882009-10-25 Vasily Averin <vvs@parallels.com>
5589
5590 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
5591 `dirent.direntlen == 0'.
5592
b240e30c 55932009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5594
5595 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
5596 `cpio'.
5597 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
5598
346e7fbe 55992009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5600
5601 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
5602 `__trampoline_setup' and `__ucmpdi2'.
5603 * include/grub/powerpc/libgcc.h: Only export symbols for functions
5604 that libgcc provides.
5605
cdb308b0 56062009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5607
5608 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
5609 * include/grub/sparc64/libgcc.h (memset): Likewise.
5610 * include/grub/misc.h (memset, memcmp): New function prototypes.
5611
fb26abc2 56122009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5613
5614 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
5615 `cpio'.
5616 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
5617
f6693890 56182009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5619
5620 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
5621 * docs/grub.cfg: Compensate for recent change in multiboot
5622 loader (since 2009-08-14 it won't pass filename to payload).
5623 * util/grub.d/10_hurd.in: Likewise.
5624
0933cdc0 56252009-10-21 Felix Zielcke <fzielcke@z-51.de>
5626
5627 * config.guess: Update to latest version from config git
5628 repository.
5629 * config.sub: Likewise.
5630
3b2fe8c2 56312009-10-20 Robert Millan <rmh.grub@aybabtu.com>
5632
5633 Fix build on sparc64.
5634
5635 * configure.ac: Perform checks for libgcc symbols before
5636 adding `-nostdlib' to LDFLAGS.
5637
46695a62 56382009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5639
5640 Let user specify OpenBSD root device.
5641
5642 * loader/i386/bsd.c (openbsd_root): New variable.
5643 (openbsd_opts): New option 'root'.
5644 (OPENBSD_ROOT_ARG): New macro.
5645 (grub_openbsd_boot): Use 'openbsd_root'.
5646 (grub_cmd_openbsd): Fill 'openbsd_root'.
5647
d2b6b7fc 56482009-10-16 Robert Millan <rmh.grub@aybabtu.com>
5649
5650 * NEWS: Misc adjustments.
5651
421bd7ac 56522009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5653
5654 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
5655
f1d29d87 56562009-10-16 Robert Millan <rmh.grub@aybabtu.com>
5657
5658 * configure.ac: Bump version to 1.97.
5659
6f3cd880 56602009-10-16 Colin Watson <cjwatson@ubuntu.com>
5661
5662 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
5663 -mno-3dnow on x86 architectures. Some toolchains enable these
5664 features by default, but they rely on registers that aren't enabled
5665 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
5666
035f7122 56672009-10-15 Robert Millan <rmh.grub@aybabtu.com>
5668
5669 Make entry text a bit more readable.
5670
5671 * util/grub.d/10_linux.in: Add `with' before `Linux'.
5672
44998e58 56732009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
5674
5675 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
5676
cd2851b3 56772009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
5678
5679 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
5680 operations.
5681
c6f3b249 56822009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
5683
5684 * configure.ac: Add missing dollar.
5685
6b5886ba 56862009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
5687
5688 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
5689
5690 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
5691 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
5692 exports.
5693 * include/grub/sparc64/libgcc.h: Likewise. Use
5694 preprocessor conditionals.
5695
e9d66f6d 56962009-10-14 Robert Millan <rmh.grub@aybabtu.com>
5697
5698 * conf/common.rmk (grub-dumpbios): Remove rule.
5699 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
5700 * util/grub-dumpbios.in: Remove file.
5701
9155bc17 57022009-10-14 Robert Millan <rmh.grub@aybabtu.com>
5703
5704 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
5705 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
5706
5707 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
5708 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
5709 users.
5710
5711 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
5712 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
5713 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
5714 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
5715 users.
5716
bf7f7a18 57172009-10-12 Robert Millan <rmh.grub@aybabtu.com>
5718
5719 * term/tparm.c: Switch to GPLv3.
5720
86564c26 57212009-10-09 Robert Millan <rmh.grub@aybabtu.com>
5722
5723 * include/grub/i386/cpuid.h: Add header protection.
5724
5c936493 57252009-10-09 Robert Millan <rmh.grub@aybabtu.com>
5726
5727 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
5728
5729 * include/grub/i386/cpuid.h: New file.
5730 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
5731 (has_longmode): Rename to ...
5732 (grub_cpuid_has_longmode): ... this. Update all users. Remove
5733 `static' attribute.
5734 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
5735 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
5736 on a CPU that doesn't implement AMD64 instruction set.
5737
186e7cf2 57382009-10-06 Colin Watson <cjwatson@ubuntu.com>
5739
5740 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
5741 that version.texi is rebuilt on version number changes.
5742
83b65c4a 57432009-10-06 Colin Watson <cjwatson@ubuntu.com>
5744
5745 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
5746 Fixes bug #27602.
5747
d244281c 57482009-10-06 Colin Watson <cjwatson@ubuntu.com>
5749
5750 * util/i386/pc/grub-install.in: Source
5751 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
5752 that the --grub-probe option will work.
5753 * util/sparc64/ieee1275/grub-install.in: Likewise.
5754
da25306d 57552009-10-05 Robert Millan <rmh.grub@aybabtu.com>
5756
5757 * configure.ac: Bump version to 1.97~beta4.
5758
e8ee83c0 57592009-10-03 Robert Millan <rmh.grub@aybabtu.com>
5760
5761 Resync grub-mkdevicemap in x86_64-efi.
5762
5763 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
5764 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
5765 `util/devicemap.c'.
5766
50dcabcf 57672009-10-01 Colin Watson <cjwatson@ubuntu.com>
5768
5769 * util/grub-editenv.c (create_envblk_file): Write new block with a
5770 .new suffix and then rename it into place, to ensure atomic
5771 creation.
5772
0e51c3a7 57732009-09-28 Robert Millan <rmh.grub@aybabtu.com>
5774
5775 Do not automatically install headers.
5776
5777 * Makefile.in (include_DATA): Remove. Update all users.
5778
31299a95 57792009-09-26 Robert Millan <rmh.grub@aybabtu.com>
5780
5781 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
5782 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
5783
5784 * util/osdetect.lua: Remove.
5785 * script/lua/lauxlib.c: Likewise.
5786 * script/lua/ldebug.c: Likewise.
5787 * script/lua/grub_main.c: Likewise.
5788 * script/lua/lauxlib.h: Likewise.
5789 * script/lua/ldebug.h: Likewise.
5790 * script/lua/ltablib.c: Likewise.
5791 * script/lua/liolib.c: Likewise.
5792 * script/lua/lstrlib.c: Likewise.
5793 * script/lua/lualib.h: Likewise.
5794 * script/lua/ldo.c: Likewise.
5795 * script/lua/ldump.c: Likewise.
5796 * script/lua/ldo.h: Likewise.
5797 * script/lua/loslib.c: Likewise.
5798 * script/lua/lundump.c: Likewise.
5799 * script/lua/grub_lib.c: Likewise.
5800 * script/lua/ldblib.c: Likewise.
5801 * script/lua/lundump.h: Likewise.
5802 * script/lua/lmem.c: Likewise.
5803 * script/lua/grub_lib.h: Likewise.
5804 * script/lua/lmathlib.c: Likewise.
5805 * script/lua/lstate.c: Likewise.
5806 * script/lua/ltm.c: Likewise.
5807 * script/lua/lvm.c: Likewise.
5808 * script/lua/lmem.h: Likewise.
5809 * script/lua/lstate.h: Likewise.
5810 * script/lua/ltm.h: Likewise.
5811 * script/lua/ltable.c: Likewise.
5812 * script/lua/lvm.h: Likewise.
5813 * script/lua/llex.c: Likewise.
5814 * script/lua/lgc.c: Likewise.
5815 * script/lua/grub_lua.h: Likewise.
5816 * script/lua/loadlib.c: Likewise.
5817 * script/lua/lfunc.c: Likewise.
5818 * script/lua/lopcodes.c: Likewise.
5819 * script/lua/lparser.c: Likewise.
5820 * script/lua/ltable.h: Likewise.
5821 * script/lua/llex.h: Likewise.
5822 * script/lua/lgc.h: Likewise.
5823 * script/lua/lfunc.h: Likewise.
5824 * script/lua/lbaselib.c: Likewise.
5825 * script/lua/lopcodes.h: Likewise.
5826 * script/lua/lparser.h: Likewise.
5827 * script/lua/lzio.c: Likewise.
5828 * script/lua/linit.c: Likewise.
5829 * script/lua/lobject.c: Likewise.
5830 * script/lua/llimits.h: Likewise.
5831 * script/lua/lstring.c: Likewise.
5832 * script/lua/lzio.h: Likewise.
5833 * script/lua/lapi.c: Likewise.
5834 * script/lua/lcode.c: Likewise.
5835 * script/lua/lua.h: Likewise.
5836 * script/lua/lobject.h: Likewise.
5837 * script/lua/lstring.h: Likewise.
5838 * script/lua/lapi.h: Likewise.
5839 * script/lua/lcode.h: Likewise.
5840 * script/lua/luaconf.h: Likewise.
5841
cb8a2c38 58422009-09-26 Colin Watson <cjwatson@ubuntu.com>
5843
5844 * docs/grub.texi (Command-line and menu entry commands): Document
5845 date and echo commands.
5846
6b9b6276 58472009-09-24 Pavel Roskin <proski@gnu.org>
5848
5849 * include/grub/kernel.h (struct grub_module_header): Remove
5850 `grub_module_header_types'. Make `type' unsigned. Make `size'
5851 32-bit on all platforms.
5852 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
5853 8-bit field. Use grub_host_to_target32() for `size'.
5854 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
5855 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
5856 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
5857
4e5a02a7 58582009-09-24 Robert Millan <rmh.grub@aybabtu.com>
5859
5860 Fix "lost keypress" bug in at_keyboard.
5861
5862 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
5863 Checks for readyness of input buffer (without flushing it).
5864 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
5865 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
5866
c6dcedf6 58672009-09-24 Robert Millan <rmh.grub@aybabtu.com>
5868
5869 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
5870 size check within GRUB_MACHINE_PCBIOS section.
5871
74c958b1 58722009-09-24 Robert Millan <rmh.grub@aybabtu.com>
5873
5874 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
5875 return value.
5876 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
5877 KEYBOARD_ISREADY check.
5878 (grub_at_keyboard_checkkey): Rename to ...
5879 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
5880 Remove gratuitous cast.
5881
ff420223 58822009-09-23 Colin Watson <cjwatson@ubuntu.com>
5883
5884 * configure.ac: Call AC_PROG_MKDIR_P.
5885 * Makefile.in (docs/stamp-vti): Create docs directory. Create
5886 version.texi in $(builddir) rather than $(srcdir).
5887 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
5888 to makeinfo's @include search path.
5889
d96875df 58902009-09-23 Felix Zielcke <fzielcke@z-51.de>
5891
5892 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
5893
9b3f8365 58942009-09-23 Felix Zielcke <fzielcke@z-51.de>
5895
5896 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
5897 for `*.dpkg-new'.
5898
c44c90db 58992009-09-21 Colin Watson <cjwatson@ubuntu.com>
5900
5901 Build info documentation. Some code borrowed from Automake.
5902
5903 * configure.ac: Check for makeinfo.
5904 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
5905 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
5906 docs/version.texi.
5907 (MOSTLYCLEANFILES): Add vti.tmp.
5908 (docs/version.texi, docs/stamp-vti): Update automatically.
5909 (docs/grub.info): Build info documentation. Use --force and ignore
5910 errors for now.
5911 (all-local): Add $(INFOS).
5912 (install-local): Install info files.
5913 (uninstall): Uninstall info files.
5914 * docs/version.texi: Remove from revision control. This file is
5915 automatically generated on build now.
5916 * gendistlist.sh: Add `*.info'.
5917
e0b37bb5 59182009-09-21 Felix Zielcke <fzielcke@z-51.de>
5919
5920 * kern/term.c: Fix indentation.
5921
5a78865b 59222009-09-21 Felix Zielcke <fzielcke@z-51.de>
5923
5924 * util/hostdisk.c: Fix a comment.
5925
dace7e8a 59262009-09-20 Robert Millan <rmh.grub@aybabtu.com>
5927
5928 Fix regression introduced in r2539.
5929
5930 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
5931 to 0xA1.
5932
a83d079b 59332009-09-19 Colin Watson <cjwatson@ubuntu.com>
5934
5935 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 5936 os-prober. Under normal operation, it does not print anything to
5937 stderr; if it does, we need to debug it, and throwing away stderr
5938 makes that excessively difficult.
a83d079b 5939
be94a509 59402009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
5941
5942 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
5943
63f745e8 59442009-09-16 Robert Millan <rmh.grub@aybabtu.com>
5945
5946 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
5947 AC_LANG_PROGRAM from autoconf.
5948 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
5949 prototypes (fixes warning).
5950
5951 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
5952 `--disable-werror' was used.
5953
bbb2a70f 59542009-09-16 Robert Millan <rmh.grub@aybabtu.com>
5955
5956 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
5957 uninitialized `lastaddr'.
5958
77c24f1d 59592009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
5960
0f0b8c87 5961 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 5962
07197f23 59632009-09-14 Colin Watson <cjwatson@ubuntu.com>
5964
5965 * commands/test.c (get_fileinfo): Return immediately if
5966 grub_fs_probe fails.
5967
dabf1798 59682009-09-14 José Martínez <xosemp@gmail.com>
5969
5970 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
5971
d52109a7 59722009-09-14 Colin Watson <cjwatson@ubuntu.com>
5973
5974 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
5975 output.
5976
56532179 59772009-09-13 Robert Millan <rmh.grub@aybabtu.com>
5978
5979 * configure.ac: Remove --enable-grub-pe2elf. Only build
5980 grub-pe2elf when needed by the build system itself.
5981 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
5982
8ef070f5 59832009-09-12 Robert Millan <rmh.grub@aybabtu.com>
5984
5985 * configure.ac: Bump version to 1.97~beta3.
5986 * docs/version.texi: Likewise.
5987
61229557 59882009-09-12 Robert Millan <rmh.grub@aybabtu.com>
5989
5990 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
5991 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
5992 from here ...
5993 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
5994 (grub_linux_setup_video): ... to here (with some adjustments).
5995
5c9f8d84 59962009-09-12 Robert Millan <rmh.grub@aybabtu.com>
5997
5998 Fix memory corruption issue (spotted by Colin Watson).
5999
6000 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
6001 causing returned size to be stored in an incorrect memory location.
6002 Fix use of uninitialized value when storing the returned size.
6003
e8f5d6e9 60042009-09-12 Yves Blusseau <blusseau@zetam.org>
6005
6006 Change clean rules to properly remove files
6007
6008 * genmk.rb: add new clean rules
6009 * Makefile.in (clean): add the new targets
6010 (mostlyclean): likewise
6011
cda2a409 60122009-09-11 Colin Watson <cjwatson@ubuntu.com>
6013
6014 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
6015 to grub_uint64_t.
6016 * fs/ntfs.c (init_file): Understand 64-bit sizes for
6017 non-resident files.
6018
86695375 60192009-09-11 Colin Watson <cjwatson@ubuntu.com>
6020
6021 * configure.ac: Don't look for help2man when cross-compiling. Fixes
6022 part of bug #27349.
6023
8aa1541a 60242009-09-10 Felix Zielcke <fzielcke@z-51.de>
6025
6026 * util/grub-mkconfig.in: Make the created config mode 400 and
6027 print a warning if it fails.
6028
48d9bb0a 60292009-09-10 Robert Millan <rmh.grub@aybabtu.com>
6030
6031 * util/grub.d/40_custom.in: Ask user to type custom entries below
6032 comment, rather than below 'exec tail' line.
6033
3b0521be 60342009-09-10 Colin Watson <cjwatson@ubuntu.com>
6035
6036 * util/grub.d/40_custom.in: Make sure that the explanatory text is
6037 visible in grub.cfg.
6038
50051d55 60392009-09-10 Colin Watson <cjwatson@ubuntu.com>
6040
6041 * util/grub.d/40_custom.in: Make it a little clearer how to use this
6042 file.
6043
c0d34387 60442009-09-10 Felix Zielcke <fzielcke@z-51.de>
6045
6046 * docs/grub.cfg: Add an example menu entry for memtest86+.
6047
80a608f3 60482009-09-09 Felix Zielcke <fzielcke@z-51.de>
6049
a2094832 6050 * config.guess: Update to latest version from config git.
80a608f3 6051 * config.sub: Likewise.
6052
99423078 60532009-09-08 Colin Watson <cjwatson@ubuntu.com>
6054
6055 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
6056 unknown-command case. Fixes bug #27320.
6057
44454e4c 60582009-09-08 Felix Zielcke <fzielcke@z-51.de>
6059
6060 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
6061 `help' if the command exists.
6062
e30d87ad 60632009-09-06 Robert Millan <rmh.grub@aybabtu.com>
6064
6065 * INSTALL: Require GCC 4.1.3 or later.
6066
9a86f1ec 60672009-09-06 Yves Blusseau <blusseau@zetam.org>
6068
6069 * Makefile.in (RMKFILES): add i386-qemu.rmk
6070 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
6071 $(srcdir)/stamp-h.in
6072
7f26d466 60732009-09-05 Robert Millan <rmh.grub@aybabtu.com>
6074
6075 * util/grub-probe.c (probe): Comment out buggy codepath, which
6076 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
6077 should be re-enabled after 1.97.
6078
3a613259 60792009-09-05 Felix Zielcke <fzielcke@z-51.de>
6080
6081 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
6082 find searches for.
6083
197f76c7 60842009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
6085
6086 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
6087 unnecessary calls to grub_error.
6088
70ba68ce 60892009-09-04 Colin Watson <cjwatson@ubuntu.com>
6090
6091 * NEWS: Mention `keystatus' and Unicode fonts.
6092
4ff0d7a4 60932009-09-04 Robert Millan <rmh.grub@aybabtu.com>
6094
6095 * configure.ac: Bump version to 1.97~beta2.
6096 * docs/version.texi: Likewise.
6097
77c55a87 60982009-09-03 Colin Watson <cjwatson@ubuntu.com>
6099
6100 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
6101 containing unwind information in some cases where it previously did
6102 not. Use -fno-dwarf2-cfi-asm if available to restore the old
6103 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
6104 discussion.
6105
f79572cd 61062009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
6107
6108 Embedding loadenv module into grub-emu
6109
6110 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
6111 commands/loadenv.c
6112 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
6113 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
6114 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
6115 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
6116 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
6117 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
6118
93a81088 61192009-09-03 Magnus Granberg <zorry@ume.nu>
6120
6121 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
6122 include -fPIE in the default specs.
6123 * configure.ac: Check if pie_possible is yes and add -fno-PIE
6124 to TARGET_CFLAGS.
6125
160034b2 61262009-09-03 Felix Zielcke <fzielcke@z-51.de>
6127
6128 * INSTALL: Note that GNU Bison 2.3 or later is required.
6129
087c07c4 61302009-09-03 Colin Watson <cjwatson@ubuntu.com>
6131
6132 * kern/i386/pc/startup.S: Fix typo.
6133
cbf978c0 61342009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
6135
6136 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
6137 according to GCS.
6138
61392009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 6140
6141 * docs/grub.texi (Naming convention): Describe one-based partition
6142 numbering.
6143 (Device syntax): Likewise.
6144 (File name syntax): Likewise.
6145 (Block list syntax): Likewise.
6146 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
6147 menu.lst.
6148 (File name syntax): Likewise.
6149 (Command-line and menu entry commands): Document acpi, blocklist,
6150 crc, export, insmod, keystatus, ls, set, and unset commands.
6151
f3e8cdfd 61522009-09-02 Colin Watson <cjwatson@ubuntu.com>
6153
6154 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
6155 to avoid implying that only one of --shift, --ctrl, or --alt may be
6156 used.
6157
c0bc232b 61582009-09-02 Colin Watson <cjwatson@ubuntu.com>
6159
6160 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
6161 rather than comparing against S_IFREG, which will almost never work.
6162
aa0f752d 61632009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
6164
6165 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
6166 (write_blocklists): Likewise.
6167
ecb3166a 61682009-09-01 Colin Watson <cjwatson@ubuntu.com>
6169
6170 * script/lua/grub_lua.h (fputs): Supply a format string as the first
6171 argument to grub_printf.
6172
c403a125 61732009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 6174
6175 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 6176 non GNU test.
31aba781 6177
b5e7312c 61782009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
6179
6180 * kern/file.c (grub_file_read): Spelling fix
6181
fe00f472 61822009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
6183
6184 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
6185 loading of headers in some cases.
6186
cc55302e 61872009-08-30 Robert Millan <rmh.grub@aybabtu.com>
6188
6189 * configure.ac: Bump version to 1.97~beta1.
6190 * docs/version.texi: Likewise.
6191
5c90cdd2 61922009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 6193
6194 * include/grub/i386/xnu.h: Add license header.
6195 include grub/err.h explicitly.
6196
c90edae4 61972009-08-29 Robert Millan <rmh.grub@aybabtu.com>
6198
6199 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
6200 to `ufs' in the vfs.root.mountfrom kernel parameter.
6201
d8888b5c 62022009-08-29 Robert Millan <rmh.grub@aybabtu.com>
6203
6204 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
6205
6206 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
6207 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
6208
6209 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
6210 `ARRAY_SIZE' macro.
6211
6f07b921 62122009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
6213
6214 * kern/file.c (grub_file_read): Check offset.
6215 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
6216 * fs/jfs.c (grub_jfs_read_file): Likewise.
6217 * fs/ntfs.c (grub_ntfs_read): Likewise.
6218 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
6219 * fs/minix.c (grub_minix_read_file): Correct offset check.
6220 * fs/ufs.c (grub_ufs_read_file): Likewise.
6221
b4f34077 62222009-08-28 Colin Watson <cjwatson@ubuntu.com>
6223
6224 * term/i386/pc/console.c (bios_data_area): Cast
6225 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
6226
e7c69859 62272009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
6228
6229 1-bit optimised blitters.
6230
6231 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
6232 prototype.
6233 (grub_video_fbblit_replace_24bit_1bit): Likewise.
6234 (grub_video_fbblit_replace_16bit_1bit): Likewise.
6235 (grub_video_fbblit_replace_8bit_1bit): Likewise.
6236 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
6237 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
6238 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
6239 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
6240 function.
6241 (grub_video_fbblit_replace_24bit_1bit): Likewise.
6242 (grub_video_fbblit_replace_16bit_1bit): Likewise.
6243 (grub_video_fbblit_replace_8bit_1bit): Likewise.
6244 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
6245 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
6246 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
6247 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
6248 when possible.
6249 * video/video.c (grub_video_get_blit_format): Return
6250 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
6251
a57da43f 62522009-08-28 Colin Watson <cjwatson@ubuntu.com>
6253
6254 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
6255 the first argument to grub_printf.
6256
4cbe67e5 62572009-08-28 Colin Watson <cjwatson@ubuntu.com>
62582009-08-28 Robert Millan <rmh.grub@aybabtu.com>
6259
6260 Add `getkeystatus' terminal method. Add a new `keystatus' command
6261 to query it.
6262
6263 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
6264 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
6265 modifier key bitmasks.
6266 (struct grub_term_input): Add `getkeystatus' member.
6267 (grub_getkeystatus): Add prototype.
6268 * kern/term.c (grub_getkeystatus): New function.
6269
6270 * include/grub/i386/pc/memory.h
6271 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
6272 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
6273 Data Area layout.
6274 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
6275 (grub_console_term_input): Set `getkeystatus' member.
6276 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
6277 constants.
6278 (grub_usb_keyboard_getreport): Likewise.
6279 (grub_usb_keyboard_checkkey): Likewise.
6280 (grub_usb_keyboard_getkeystatus): New function.
6281 (grub_usb_keyboard_term): Set `getkeystatus' member.
6282
6283 * commands/keystatus.c: New file.
6284 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
6285 (keystatus_mod_SOURCES): New variable.
6286 (keystatus_mod_CFLAGS): Likewise.
6287 (keystatus_mod_LDFLAGS): Likewise.
6288 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
6289 commands/keystatus.c.
6290 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
6291 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6292 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
6293 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6294 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6295 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 6296
6e2a9085 62972009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
6298
6299 Split befs.mod and afs.mod into *_be.mod and *.mod
6300
6301 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
6302 (grub_fstest_SOURCES): Likewise.
6303 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
6304 (afs_be_mod_SOURCES): New variable.
6305 (afs_be_mod_CFLAGS): Likewise.
6306 (afs_be_mod_LDFLAGS): Likewise.
6307 (befs_be_mod_SOURCES): Likewise.
6308 (befs_be_mod_CFLAGS): Likewise.
6309 (befs_be_mod_LDFLAGS): Likewise.
6310 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
6311 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
6312 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6313 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
6314 (grub_emu_SOURCES): Likewise.
6315 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6316 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6317 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
6318 * fs/afs_be.c: New file.
6319 * fs/befs_be.c: New file.
6320 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
6321 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
6322 (U16): Replaced with ...
6323 (grub_afs_to_cpu16): ...this. All users updated.
6324 (U32): Replaced with ...
6325 (grub_afs_to_cpu32): ...this. All users updated.
6326 (U64): Replaced with ...
6327 (grub_afs_to_cpu64): ...this. All users updated.
6328 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
6329 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 6330 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 6331 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
6332 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
6333 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
6334 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
6335 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
6336 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
6337 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
6338 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
6339
32a71655 63402009-08-26 Bean <bean123ch@gmail.com>
6341
6342 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
6343 64-bit number.
6344 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
6345 (grub_xfs_inode_block): Change return type to grub_uint64_t.
6346 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
6347
552bf6c5 63482009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
6349
6350 NetBSD memory map support.
6351
6352 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
6353 (grub_netbsd_btinfo_mmap_header): New structure.
6354 (grub_netbsd_btinfo_mmap_entry): Likewise.
6355 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
6356
1ae2078c 63572009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
6358
6359 Enable bsd.mod on coreboot.
6360
6361 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
6362 (bsd_mod_SOURCES): New variable.
6363 (bsd_mod_CFLAGS): Likewise.
6364 (bsd_mod_LDFLAGS): Likewise.
6365 (bsd_mod_ASFLAGS): Likewise.
6366 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
6367 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
6368
beefc598 63692009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
6370
6371 Cleanup NetBSD root support.
6372
6373 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
6374 grub_bsd_get_device.
6375 Fix typo.
6376
3b76e68b 63772009-08-25 Felix Zielcke <fzielcke@z-51.de>
6378
6379 * util/grub.d/00_header.in: Move check for the video backend of
6380 gfxterm from here ...
6381 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
6382 a suitable video backend.
6383
aea664ea 63842009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
6385
6386 Fix breakage in grub-setup.
6387
6388 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
6389 "msdos_partition_map".
6390
ff747d50 63912009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
6392
6393 Fix breakage in normal/auth.c.
6394
6395 * normal/auth.c (grub_iswordseparator): New function.
6396
e7e1f93f 63972009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
6398
6399 Authentication support.
6400
6401 * commands/password.c: New file.
6402 * conf/common.rmk (pkglib_MODULES): Add password.mod.
6403 (password_mod_SOURCES): New variable.
6404 (password_mod_CFLAGS): Likewise.
6405 (password_mod_LDFLAGS): Likewise.
6406 (normal_mod_SOURCES): Add normal/auth.c.
6407 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
6408 normal/auth.c.
6409 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
6410 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6411 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
6412 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6413 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6414 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
6415 * include/grub/auth.h: New file.
6416 * include/grub/err.h (grub_err_t): New enum value
6417 GRUB_ERR_ACCESS_DENIED.
6418 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
6419 'users'.
6420 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
6421 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
6422 users updated.
6423 * normal/auth.c: New file.
6424 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
6425 (grub_cmdline_run): Don't allow to go to command line without
6426 authentication.
6427 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
6428 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
6429 menuentry without superuser rights.
6430 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
6431 user isn't a superuser.
6432
70f1161d 64332009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
6434
6435 Save space by inlining misc.c functions.
6436
6437 * kern/misc.c (grub_iswordseparator): Made static.
6438 * kern/misc.c (grub_strcat): Moved from here ...
6439 * include/grub/misc.h (grub_strcat): ... here. Inlined.
6440 * kern/misc.c (grub_strncat): Moved from here ...
6441 * include/grub/misc.h (grub_strncat): ... here. Inlined.
6442 * kern/misc.c (grub_strcasecmp): Moved from here ...
6443 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
6444 * kern/misc.c (grub_strncasecmp): Moved from here ...
6445 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
6446 * kern/misc.c (grub_isalpha): Moved from here ...
6447 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
6448 * kern/misc.c (grub_isdigit): Moved from here ...
6449 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
6450 * kern/misc.c (grub_isgraph): Moved from here ...
6451 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
6452 * kern/misc.c (grub_tolower): Moved from here ...
6453 * include/grub/misc.h (grub_tolower): ... here. Inlined.
6454
48e40bff 64552009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
6456
6457 * script/sh/function.c (grub_script_function_find): Cut error message
6458 not to flood terminal.
6459 * script/sh/lexer.c (grub_script_yylex): Remove command line length
6460 limit.
6461 * script/sh/script.c (grub_script_arg_add): Duplicate string.
6462
c385bfc3 64632009-08-24 Colin Watson <cjwatson@ubuntu.com>
6464
6465 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
6466 `report' grub_uint8_t *.
6467 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
6468 Use a 50-millisecond timeout rather than just repeating
6469 grub_usb_keyboard_getreport 50 times.
6470 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
6471
2d21e3e8 64722009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
6473
6474 Rename *_partition_map to part_*
6475
6476 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
6477 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
6478 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
6479 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
6480 All users updated.
6481 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
6482 All users updated.
6483 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
6484 * util/grub-probe.c (probe_partmap): Don't transform partition name
6485 to get module name.
6486
dd103c4e 64872009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
6488
6489 Fix OpenBSD and NetBSD support.
6490
6491 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
6492 memory address conflict.
6493 (OPENBSD_MMAP_ACPI): New definition.
6494 (OPENBSD_MMAP_NVS): Likewise.
6495 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
6496 and OPENBSD_MMAP_NVS.
6497 Add memory map terminator
6498 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 6499 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 6500
16c84d74 65012009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
6502
6503 Let user specify NetBSD root device.
6504
6505 * loader/i386/bsd.c (netbsd_root): New variable.
6506 (netbsd_opts): New option 'root'.
6507 (NETBSD_ROOT_ARG): New macro.
6508 (grub_netbsd_boot): Use 'netbsd_root'.
6509 (grub_bsd_unload): Free 'netbsd_root'.
6510 (grub_cmd_netbsd): Fill 'netbsd_root'.
6511
adb29902 65122009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
6513
6514 Support for 64-bit NetBSD.
6515
6516 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
6517 point when booting non-FreeBSD.
6518
f5ae9f74 65192009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
6520
6521 Support --no-smp and --no-acpi for NetBSD.
6522
6523 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
6524 (NETBSD_AB_NOACPI): Likewise.
6525 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
6526 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
6527
de74f136 65282009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6529
6530 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
6531 errors.
6532 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
6533 errors. Call grub_error when needed.
6534
e9a925da 65352009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6536
6537 * commands/search.c (search_fs): Try searching without autoload first.
6538 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
6539 filesystem module explicitly for faster booting.
6540
5174302b 65412009-08-23 Colin Watson <cjwatson@ubuntu.com>
6542
6543 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
6544
c8c80635 65452009-08-23 Colin Watson <cjwatson@ubuntu.com>
6546
6547 * util/grub.d/30_os-prober.in: Disable os-prober if
6548 `GRUB_DISABLE_OS_PROBER' was set to true.
6549
71acf5e5 65502009-08-23 Robert Millan <rmh.grub@aybabtu.com>
6551
6552 * partmap/pc.c: Rename to ...
6553 * partmap/msdos.c: ... this. Update all users.
6554 (grub_pc_partition_map): Rename to ...
6555 (grub_msdos_partition_map): ... this. Update all users.
6556
6557 * parttool/pcpart.c: Rename to ...
6558 * parttool/msdospart.c: ... this. Update all users.
6559
6560 * include/grub/pc_partition.h: Rename to ...
6561 * include/grub/msdos_partition.h: ... this. Update all users.
6562 (grub_pc_partition_bsd_entry): Rename to ...
6563 (grub_msdos_partition_bsd_entry): ... this. Update all users.
6564 (grub_pc_partition_disk_label): Rename to ...
6565 (grub_msdos_partition_disk_label): ... this. Update all users.
6566 (grub_pc_partition_entry): Rename to ...
6567 (grub_msdos_partition_entry): ... this. Update all users.
6568 (grub_pc_partition_mbr): Rename to ...
6569 (grub_msdos_partition_mbr): ... this. Update all users.
6570 (grub_pc_partition): Rename to ...
6571 (grub_msdos_partition): ... this. Update all users.
6572 (grub_pc_partition_is_empty): Rename to ...
6573 (grub_msdos_partition_is_empty): ... this. Update all users.
6574 (grub_pc_partition_is_extended): Rename to ...
6575 (grub_msdos_partition_is_extended): ... this. Update all users.
6576 (grub_pc_partition_is_bsd): Rename to ...
6577 (grub_msdos_partition_is_bsd): ... this. Update all users.
6578
6579 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
6580 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
6581 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
6582 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
6583 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
6584 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
6585 (gpt_mod_LDFLAGS): Rename to ...
6586 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
6587 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
6588 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
6589 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
6590 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
6591 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
6592 (part_gpt_mod_LDFLAGS): ... this.
6593 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
6594 `pcpart.mod' to `msdospart.mod'.
6595 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
6596 to ...
6597 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
6598 (msdospart_mod_LDFLAGS): ... this.
6599
c11fded5 66002009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6601
6602 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
6603 (openbsd_opts): Likewise.
6604 (netbsd_opts): Likewise.
6605 (freebsd_flags): Added 0 terminator.
6606 (openbsd_flags): Likewise.
6607 (netbsd_flags): Likewise.
6608 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
6609 (grub_cmd_freebsd): Transformed into extended command.
6610 (grub_cmd_openbsd): Likewise.
6611 (grub_cmd_netbsd): Likewise.
6612 (cmd_freebsd): Changed type to grub_extcmd_t.
6613 (cmd_openbsd): Likewise.
6614 (cmd_netbsd): Likewise.
6615 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
6616 grub_cmd_openbsd as extended commands.
6617 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
6618 cmd_netbsd and cmd_openbsd
6619
11d1c769 66202009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
6621
6622 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
6623
7a9094e5 66242009-08-21 Pavel Roskin <proski@gnu.org>
6625
5496c37e 6626 * Makefile.in (install-local): When checking if a file is in the
6627 build directory, use "test -e" to detect symlinks.
6628
7a9094e5 6629 * Makefile.in (install-local): Remove all files in
6630 $(DESTDIR)$(pkglibdir) before installing new files there.
6631
e53cea11 66322009-08-18 Felix Zielcke <fzielcke@z-51.de>
6633
6634 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
6635 grub-mkelfimage.
6636
9aced544 66372009-08-18 Felix Zielcke <fzielcke@z-51.de>
6638
6639 * util/grub-mkconfig.in: Don't use gfxterm by default if not
6640 explicitly specified by the user.
6641
b7da6bab 66422009-08-18 Pavel Roskin <proski@gnu.org>
6643
6644 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
6645 grub_uint8_t pointer for data.
6646 * include/grub/fbutil.h (struct grub_video_fbblit_info):
6647 Likewise.
6648 * video/fb/fbutil.c: Remove unnecessary casts.
6649
19f1b335 66502009-08-17 Michal Suchanek <hramrach@centrum.cz>
6651
6652 VBE cleanup.
6653
6654 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
6655 (grub_vbe_set_video_mode): Save active mode info
6656 only after setting the mode.
6657 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
6658 second argument.
6659
2f467aa9 66602009-08-17 Michal Suchanek <hramrach@centrum.cz>
6661
6662 Rename variables for clarity.
6663
6664 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
6665 (active_vbe_mode_info): ... this. All users updated.
6666 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
6667 All users updated.
6668 (initial_mode): Rename to ...
6669 (initial_vbe_mode): ... this. All users updated.
6670 (mode_in_use): Rename to ..
6671 (vbe_mode_in_use): ... this. All users updated.
6672 (mode_list): Rename to ..
6673 (vbe_mode_list): ... this. All users updated.
6674 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
6675 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
6676 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
6677 'mode_list_size' to 'vbe_mode_list_size'.
6678 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
6679 'best_mode_info' to 'best_vbe_mode_info' and
6680 'best_mode' to 'best_vbe_mode'
6681
6025fcd7 66822009-08-17 Michal Suchanek <hramrach@centrum.cz>
6683
6684 Remove duplicate grub_video_fb_get_video_ptr.
6685
6686 * include/grub/fbutil.h (get_data_ptr): Rename to ...
6687 (grub_video_fb_get_video_ptr): ... this.
6688 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
6689 * video/fb/fbutil.c: Add comment about addressing.
6690 (get_data_ptr): Rename to ...
6691 (grub_video_fb_get_video_ptr): ... this. All users updated.
6692 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
6693
cc8c6faf 66942009-08-17 Robert Millan <rmh.grub@aybabtu.com>
6695
6696 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
6697 grub_dprintf() that was just added.
6698
08aa61f0 66992009-08-17 Robert Millan <rmh.grub@aybabtu.com>
6700
6701 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
6702 (DEFAULT_VIDEO_MODE): Remove macros.
6703 (grub_linux_boot): Remove assumption that Linux has FB support,
6704 and use "text" as default video mode.
6705
7cef4f75 67062009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
6707
6708 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
6709 grub_dprintf.
6710 * fs/fat.c (grub_fat_read_data): Likewise.
6711
e1f39873 67122009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
6713
6714 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
6715 payload.
6716 (grub_module): Likewise.
6717
c166d79e 67182009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
6719
6720 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
6721 mbi->cmdline but free playground.
6722
c60cee8e 67232009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
6724
6725 Handle group offset on UFS1.
6726
6727 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
6728 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
6729
c0d8b5d4 67302009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
6731
6732 Split ufs.mod into ufs1.mod and ufs2.mod.
6733
6734 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
6735 (grub_fstest_SOURCES): Likewise.
6736 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
6737 (ufs_mod_SOURCES): Remove.
6738 (ufs_mod_CFLAGS): Likewise.
6739 (ufs_mod_LDFLAGS): Likewise.
6740 (ufs1_mod_SOURCES): New variable.
6741 (ufs1_mod_CFLAGS): Likewise.
6742 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 6743 (ufs2_mod_SOURCES): New variable.
6744 (ufs2_mod_CFLAGS): Likewise.
6745 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 6746 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
6747 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
6748 Likewise.
6749 (grub_emu_SOURCES): Likewise.
6750 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6751 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
6752 (grub_setup_SOURCES): Likewise.
6753 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6754 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
6755 (grub_setup_SOURCES): Likewise.
6756 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
6757 Likewise.
6758 * fs/ufs2.c: New file.
6759 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
6760
d3539132 67612009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
6762
6763 Framebuffer split.
6764
6765 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
6766 subsystem at the end.
6767 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
6768 (video_fb_mod_SOURCES): New variable.
6769 (video_fb_mod_CFLAGS): Likewise.
6770 (video_fb_mod_LDFLAGS): Likewise.
6771 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
6772 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
6773 * video/i386/pc/vbeblit.c: Moved from here ...
6774 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
6775 * video/i386/pc/vbefill.c: Moved from here ...
6776 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
6777 * video/i386/pc/vbeutil.c: Moved from here ...
6778 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
6779 * include/grub/i386/pc/vbeblit.h: Moved from here ...
6780 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
6781 * include/grub/i386/pc/vbefill.h: Moved from here ...
6782 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
6783 * include/grub/i386/pc/vbeutil.h: Moved from here ...
6784 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
6785 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
6786 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
6787 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
6788 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
6789 (grub_video_adapter): Added 'get_info_and_fini'.
6790 (grub_video_get_info_and_fini): New prototype.
6791 (grub_video_set_mode): make modestring const char *.
6792 * loader/i386/linux.c (grub_linux_setup_video): Use
6793 grub_video_get_info_and_fini.
6794 (grub_linux_boot): Move modesetting just before booting.
6795 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
6796 grub_video_get_info_and_fini.
6797 * video/i386/pc/vbe.c: Moved framebuffer part ...
6798 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
6799 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
6800 grub_video_fbstd_colors and grub_video_fb_set_palette.
6801 (grub_video_vbe_init): Clear 'framebuffer' variable and use
6802 grub_video_fb_init.
6803 (grub_video_vbe_fini): Use grub_video_fb_fini.
6804 (grub_video_vbe_setup): Use framebuffer.render_target instead of
6805 render_target and use grub_video_fb_set_active_render_target and
6806 grub_video_fb_set_palette.
6807 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
6808 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
6809 (grub_video_vbe_adapter): Use framebuffer.
6810 * video/video.c (grub_video_get_info_and_fini): New function.
6811 (grub_video_set_mode): Make modestring const char *.
6812 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
6813 values are already initialised.
6814
d404ee56 68152009-08-14 Pavel Roskin <proski@gnu.org>
6816
6817 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
6818 ABS and APPLE_CC.
6819 * boot/i386/pc/diskboot.S: Likewise.
6820 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
6821 sectors allow compilation on MacOSX.
6822 * conf/i386-pc.rmk: Enable unconditional compilation of
6823 lnxboot.img.
6824
9a10df16 68252009-08-13 Colin Watson <cjwatson@ubuntu.com>
6826
6827 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
6828 * util/grub.d/00_header.in: Enter interruptible sleep if
6829 GRUB_HIDDEN_TIMEOUT is set.
6830
be3c9ca7 68312009-08-13 Yves Blusseau <blusseau@zetam.org>
6832
6833 * include/grub/symbol.h: Add the LOCAL macro.
6834 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
6835 starting with "L_".
6836
1f9e557e 68372009-08-13 Pavel Roskin <proski@gnu.org>
6838
9ca62843 6839 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
6840 any modern compilers we support.
6841
1f9e557e 6842 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
6843 Use local labels starting with "L_" so that Apple assembler
6844 knows they are local.
6845
81623db6 68462009-08-10 Robert Millan <rmh.grub@aybabtu.com>
6847
6848 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
6849 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
6850 (bsd_kernel_types): ... this enum.
6851
6852 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
6853 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
6854 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
6855
6856 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
6857 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
6858 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
6859 messages.
6860
f5d35e7a 68612009-08-08 Robert Millan <rmh.grub@aybabtu.com>
6862
6863 * util/grub-dumpdevtree: Moved from here ...
6864 * util/i386/efi/grub-dumpdevtree: ... to here.
6865 (hexify): New function. Converts a string to its hex version.
6866 Generate hex versions of "efi" and "device-properties" by calling
6867 hexify() on the ASCII strings rather than by hardcoding numbers.
6868
d1e1d527 68692009-08-08 Robert Millan <rmh.grub@aybabtu.com>
6870
6871 * fs/jfs.c: Update copyright year.
6872
1ebbe064 68732009-08-08 Felix Zielcke <fzielcke@z-51.de>
6874
6875 * util/grub.d/00_header.in: Fix a comment.
6876 * util/grub.d/10_linux.in: Likewise.
6877 * util/grub.d/10_windows.in: Likewise.
6878 * util/grub.d/10_hurd.in: Likewise.
6879
a78c8d24 68802009-08-08 Felix Zielcke <fzielcke@z-51.de>
6881
6882 * util/grub-mkconfig.in: Allow the user to specify the used font
6883 with GRUB_FONT.
6884
29a6b9e8 68852009-08-08 Pavel Roskin <proski@gnu.org>
6886
b5f16cc4 6887 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
6888 available, xfs.mod needs it now.
6889
2f5cb827 6890 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
6891 the "g" modifier in sed when the intention is to strip something
6892 once. This fixes comparison of kernels with multiple dashes.
6893
29a6b9e8 6894 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
6895 on it. Add missing space before closing bracket. Fix
6896 misleading formatting.
6897
892a3d98 68982009-08-07 Robert Millan <rmh.grub@aybabtu.com>
6899
6900 * docs/grub.texi: Major overhaul. Remove all sections that are
6901 specific to GRUB Legacy, or mostly composed of Legacy-specific
6902 information.
6903
ed94253f 69042009-08-07 Robert Millan <rmh.grub@aybabtu.com>
6905
6906 * docs/version.texi: New file. Provides version information for
6907 grub.texi.
6908
126d6628 69092009-08-07 Robert Millan <rmh.grub@aybabtu.com>
6910
6911 * docs/grub.texi: Update CVS information to SVN.
6912 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
6913
998b5aa9 69142009-08-07 Felix Zielcke <fzielcke@z-51.de>
6915
6916 * util/grub-mkconfig.in: Remove a wrong `fi'.
6917
818e094a 69182009-08-07 Felix Zielcke <fzielcke@z-51.de>
6919
6920 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
6921 (grub_jfs_uuid): New function.
6922 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
6923
b969c52f 69242009-08-07 Felix Zielcke <fzielcke@z-51.de>
6925
6926 * util/grub-mkconfig_lib.in (font_path): Move the functionality
6927 of it to ...
6928 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
6929 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
6930
7a4894cc 69312009-08-07 Robert Millan <rmh.grub@aybabtu.com>
6932
6933 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
6934 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
6935 Update all users.
6936
6937 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
6938 not just "vmlinu[zx]".
6939 Moved from here ...
6940 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
6941 all users.
6942
6943 * util/grub.d/10_linux.in (find_latest): Moved from here ...
6944 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
6945 all users.
6946
4e2171f8 69472009-08-07 Robert Millan <rmh.grub@aybabtu.com>
6948
6949 * util/grub.d/10_freebsd.in: Use an absolute device path for
6950 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
6951
6dcfcb32 69522009-08-06 Felix Zielcke <fzielcke@z-51.de>
6953
6954 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
6955 handling of multiple abstraction modules.
6956
f56a8756 69572009-08-04 Robert Millan <rmh.grub@aybabtu.com>
6958
6959 Fix a bug resulting in black screen when loading Linux using a
6960 packed video mode.
6961
6962 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
6963 function.
6964
6965 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
6966 (grub_vbe_bios_getset_dac_palette_width): New function.
6967 (grub_vbe_bios_get_dac_palette_width)
6968 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
6969 grub_vbe_bios_getset_dac_palette_width()).
6970
6971 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
6972 check for return status.
6973 (grub_vbe_get_video_mode_info): When getting information for a packed
6974 mode (<= 8 bpp), obtain DAC palette width using
6975 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
6976 {red,green,blue}_mark_size.
6977
222671b2 69782009-08-04 Felix Zielcke <fzielcke@z-51.de>
6979
ecb1a6d9 6980 * commands/search.c (options): Fix help output to match actual code.
222671b2 6981
f84114f5 69822009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
6983
6984 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
6985 of homegrown code.
6986
bd288a20 69872009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 6988
6989 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
6990 on XFS or ReiserFS.
6991
8aab5e25 69922009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
6993
6994 Support Apple partition map with sector size different from 512 bytes.
6995
6996 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
6997 (apple_partition_map_iterate): Respect 'aheader.blocksize'
6998 and 'apart.partmap_size'.
6999
6ad6258a 70002009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
70012009-08-01 Robert Millan <rmh.grub@aybabtu.com>
7002
7003 Fix cpuid command.
7004
7005 * commands/i386/cpuid.c (options): New variable.
7006 (grub_cmd_cpuid): Return real error.
7007 (GRUB_MOD_INIT(cpuid)): Declare options.
7008
67459bc6 70092009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
7010
7011 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
7012 valid.
7013
fbc6ab54 70142009-07-31 Bean <bean123ch@gmail.com>
7015
7016 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
7017 log2_inode.
7018 (grub_fshelp_node): Move inode field to the end.
7019 (grub_xfs_data): Remove inode field.
7020 (grub_xfs_inode_block): Calculate inode size using sblock.
7021 (grub_xfs_inode_offset): Likewise.
7022 (grub_xfs_read_inode): Calculate inode size using sblock.
7023 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
7024 (grub_xfs_iterate_dir): Calculate inode size using sblock.
7025 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
7026 to match inode size.
7027 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
7028 not accessible when data is null.
7029 (grub_xfs_open): Likewise.
7030
f45d6cfc 70312009-07-31 Bean <bean123ch@gmail.com>
7032
7033 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
7034 Don't change pv->disk if it's already set.
7035
7036 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
7037 (grub_raid_register): ... here.
7038 (grub_raid_rescan): Removed.
7039
7040 * include/grub/raid.h (grub_raid_rescan): Removed.
7041
7042 * util/grub-fstest.c: Remove include file <grub/raid.h>.
7043 (fstest): Replace grub_raid_rescan with module fini function followed
7044 by init function.
7045
7046 * util/grub-probe.c: Add include file <grub/raid.h>.
7047 (probe_raid_level): New function.
7048 (probe): Detect abstraction by walking the disk device, support two
7049 level of abstraction (LVM on RAID) when detecting partition map.
7050
24443b5a 70512009-07-31 Pavel Roskin <proski@gnu.org>
7052
7053 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
7054 to grub_zalloc(), it was erroneous.
7055 Reported by Bean <bean123ch@gmail.com>
7056
a275d9e7 70572009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
7058
7059 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 7060 embedding zone, not only the first one.
a275d9e7 7061
56c5a47f 70622009-07-29 Joe Auricchio <jauricchio@gmail.com>
7063
7064 * term/gfxterm.c (clear_char): New function.
7065 (grub_virtual_screen_setup): Use clear_char.
7066 (scroll_up): Likewise.
7067 (grub_virtual_screen_cls): Likewise.
7068
67bb323a 70692009-07-29 Felix Zielcke <fzielcke@z-51.de>
7070
7071 * util/deviceiter.c (get_acceleraid_disk_name): New static
7072 function.
7073 (grub_util_iterate_devices): Handle Accelraid devices.
7074 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
7075
388a7c75 70762009-07-28 Robert Millan <rmh.grub@aybabtu.com>
7077
7078 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
7079 separator for the suggested gfxpayload string (';' collides with the
7080 parser and needs escaping).
7081
3bb7abcf 70822009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
7083
7084 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
7085 Clear direction flag before jumping to OS.
7086 (grub_multiboot2_real_boot): Likewise.
7087
2ddd36d7 70882009-07-28 Felix Zielcke <fzielcke@z-51.de>
7089
7090 * util/i386/pc/grub-install: Fix parsing of --disk-module
7091 option.
7092
c521b62b 70932009-07-28 Felix Zielcke <fzielcke@z-51.de>
7094
7095 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
7096 when embedding.
7097
880e0a0c 70982009-07-26 Felix Zielcke <fzielcke@z-51.de>
7099
7100 * util/grub-mkconfig.in (package_version): New variable.
7101 Use it do display the version.
7102
2366e356 71032009-07-25 Felix Zielcke <fzielcke@z-51.de>
7104
7105 * kern/file.c (grub_file_open): Revert to previous check with
7106 grub_errno.
7107
7ad8c80e 71082009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7109
7110 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
7111 from help line. It's out of sync with code.
7112
72b9658b 71132009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7114
7115 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
7116 entries on failed boot.
7117
77435277 71182009-07-25 Felix Zielcke <fzielcke@z-51.de>
7119
7120 * kern/file.c (grub_file_open): Fix an error check.
7121
fcaa8b21 71222009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
7123
35d16c74 7124 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
7125 partition map couldn't be identified.
fcaa8b21 7126
48904cd1 71272009-07-23 Pavel Roskin <proski@gnu.org>
7128
ef3c317f 7129 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
7130 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
7131 case of little endian words becomes just an optimization.
7132 Respect const modifier.
ad8ea1f4 7133 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 7134
48904cd1 7135 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
7136 to avoid loss of upper bits if align is unsigned and shorter
7137 than addr.
7138
260c9a89 71392009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
7140
7141 UUID support for UFS
7142
7143 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
7144 (grub_ufs_uuid): New function.
7145 (grub_ufs_fs): add .uuid
7146
f76ce889 71472009-07-21 Pavel Roskin <proski@gnu.org>
7148
7149 * kern/dl.c (grub_dl_check_header): Make static.
7150
6a6cbcaf 71512009-07-21 Felix Zielcke <fzielcke@z-51.de>
7152
7153 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
7154 add drivemap for Vista. It breaks Windows 7.
7155
cffcddb2 71562009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
7157
7158 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
7159 128 bytes
7160
1ef44b80 71612009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
7162
7163 Add BFS support
7164
7165 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
7166 (grub_fstest_SOURCES): Likewise.
7167 (pkglib_MODULES): Add befs.mod.
7168 (befs_mod_SOURCES): New variable.
7169 (befs_mod_CFLAGS): Likewise.
7170 (befs_mod_LDFLAGS): Likewise.
7171 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
7172 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
7173 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7174 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
7175 (grub_setup_SOURCES): Likewise.
7176 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7177 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7178 (grub_setup_SOURCES): Likewise.
7179 * fs/befs.c: New file.
7180 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
7181 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
7182 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
7183 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
7184 (B_KEY_INDEX_ALIGN): New declaration.
7185 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
7186 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
7187 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
7188 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
7189 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
7190 (grub_afs_mount) [MODE_BFS]: Likewise.
7191 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
7192 (grub_afs_fs): Use GRUB_AFS_FSNAME
7193 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
7194 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
7195 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
7196 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
7197
4f253044 71982009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
7199
7200 * util/getroot.c (find_root_device): Add support for MacOSX.
7201 * util/hostdisk.c: Likewise.
7202
57a55913 72032009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
7204
7205 * font/font.c (find_glyph): Check whether a font is present to avoid
7206 segmentation fault.
75421ca9 7207
72082009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 7209
7210 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
7211
e98cd0c2 72122009-07-20 Pavel Roskin <proski@gnu.org>
7213
7214 * configure.ac: Trim excessively wordy excuses.
7215
1d2d169a 72162009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
7217
7218 Add symlink, mtime and label support to AtheFS.
7219
7220 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
7221 (grub_afs_iterate_dir): Handle symlinks.
7222 (grub_afs_open): Use grub_afs_read_symlink.
7223 (grub_afs_dir): Likewise.
7224 Pass mtime.
7225 (grub_afs_label): New function.
7226 (grub_afs_fs): Add grub_afs_label.
7227 (grub_afs_read_symlink): New function.
7228
186f3189 72292009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
7230
7231 Fix AtheFS support.
7232
7233 * fs/afs.c: Fix comments style.
7234 (grub_afs_blockrun): Declare as packed.
7235 (grub_afs_datastream): Likewise.
7236 (grub_afs_bnode): Likewise.
7237 (grub_afs_btree): Likewise.
7238 (grub_afs_sblock): Likewise.
7239 Declare `name' as char.
7240 (grub_afs_inode): Declare as packed.
7241 Change void *vnode to grub_uint32_t unused.
7242 (grub_afs_iterate_dir): Check that key_size is positive.
7243 (grub_afs_mount): Don't read superblock twice.
75421ca9 7244 (grub_afs_dir): Don't free node in case of error,
186f3189 7245 grub_fshelp_find_file already handles this.
7246 (grub_afs_open): Likewise.
7247
5680109e 72482009-07-19 Pavel Roskin <proski@gnu.org>
7249
7250 * Makefile.in: Remove LIBLZO and enable_lzo.
7251 * conf/i386-pc.rmk: Remove lzo support.
7252 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
7253 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
7254 support.
7255 * kern/i386/pc/lzo1x.S: Remove.
7256 * kern/i386/pc/startup.S: Remove lzo support.
7257 * util/i386/pc/grub-mkimage.c: Likewise.
7258
ac70fa32 72592009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
7260
7261 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
7262 * fs/xfs.c (grub_xfs_dir): Likewise.
7263 * fs/afs.c (grub_afs_dir): Likewise.
7264 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
7265 (grub_iso9660_open): Likewise.
7266 * fs/jfs.c (grub_jfs_open): Likewise.
7267 * fs/ext2.c (grub_ext2_dir): Likewise.
7268 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
7269 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 7270
eab58da2 72712009-07-16 Pavel Roskin <proski@gnu.org>
7272
d2838156 7273 * configure.ac: Never add "-c" to CFLAGS.
7274
55c70904 7275 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
7276
43e6200c 7277 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
7278 grub_cv_cc_efiemu should be used.
7279
ce7a733d 7280 * configure.ac: Typo fixes.
7281
eab58da2 7282 * kern/mm.c (grub_zalloc): New function.
7283 (grub_debug_zalloc): Likewise.
7284 * include/grub/mm.h: Declare grub_zalloc() and
7285 grub_debug_zalloc().
7286 * util/misc.c (grub_zalloc): New function.
7287 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
7288 instead of grub_malloc(), remove unneeded initializations.
7289 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
7290 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
7291 * commands/parttool.c (grub_cmd_parttool): Likewise.
7292 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
7293 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
7294 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
7295 * disk/usbms.c (grub_usbms_finddevs): Likewise.
7296 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
7297 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
7298 (grub_cmd_efiemu_pnvram): Likewise.
7299 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
7300 * fs/iso9660.c (grub_iso9660_mount): Likewise.
7301 (grub_iso9660_iterate_dir): Likewise.
7302 * fs/jfs.c (grub_jfs_opendir): Likewise.
7303 * fs/ntfs.c (list_file): Likewise.
7304 (grub_ntfs_mount): Likewise.
7305 * kern/disk.c (grub_disk_open): Likewise.
7306 * kern/dl.c (grub_dl_load_core): Likewise.
7307 * kern/elf.c (grub_elf_file): Likewise.
7308 * kern/env.c (grub_env_context_open): Likewise.
7309 (grub_env_set): Likewise.
7310 (grub_env_set_data_slot): Likewise.
7311 * kern/file.c (grub_file_open): Likewise.
7312 * kern/fs.c (grub_fs_blocklist_open): Likewise.
7313 * loader/i386/multiboot.c (grub_module): Likewise.
7314 * loader/xnu.c (grub_xnu_create_key): Likewise.
7315 (grub_xnu_create_value): Likewise.
7316 * normal/main.c (grub_normal_add_menu_entry): Likewise.
7317 (read_config_file): Likewise.
7318 * normal/menu_entry.c (make_screen): Likewise.
7319 * partmap/sun.c (sun_partition_map_iterate): Likewise.
7320 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
7321 * script/sh/script.c (grub_script_parse): Likewise.
7322 * video/bitmap.c (grub_video_bitmap_create): Likewise.
7323 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
7324 * video/readers/png.c (grub_png_output_byte): Likewise.
7325 (grub_video_reader_png): Likewise.
7326
830afef7 73272009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 7328
7329 Enable all targets that can be built by default
7330
830afef7 7331 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 7332 grub-mkfont and grub-fstest if they can be built
7333
ee293aee 73342009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
7335
7336 Fix hang and segmentation fault in grub-emu-usb
7337
7338 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
7339 * util/usb.c (grub_libusb_devices): likewise
7340 (grub_libusb_init): rename to ...
7341 (GRUB_MOD_INIT (libusb)):...this
7342 (grub_libusb_fini): rename to ..
7343 (GRUB_MOD_FINI (libusb)):...this
7344 * disk/usbms.c (grub_usbms_transfer): fix retry logic
7345 * include/grub/disk.h (grub_raid_init): removed, it's useless
7346 (grub_raid_fini): likewise
7347 (grub_lvm_init): likewise
7348 (grub_lvm_fini): likewise
7349 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
7350 by grub_init_all
7351
94414221 73522009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
7353
7354 Fix libusb
7355
7356 * Makefile.in (LIBUSB): new macro
7357 * genmk.rb (Utility/print_tail): new method
7358 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
7359 (top level): call util.print_tail at the end.
7360
59ade63d 73612009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
7362
7363 Make FreeBSD accept zpool.cache
7364
7365 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
7366 type is /boot/zfs/zpool.cache
7367
a58da8c7 73682009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
7369
7370 Fix 64-bit efiemu
7371
7372 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
7373 correct wrong typedef
7374 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
7375
20591577 73762009-07-15 Pavel Roskin <proski@gnu.org>
7377
560ca572 7378 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
7379 * kern/disk.c (struct grub_disk_cache): Likewise.
7380
e8e8e4fd 7381 * commands/probe.c (options): Typo fix.
7382
fde24e10 7383 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
7384 Increase to 0x5a to accommodate FAT32. Adjust other offsets
7385 accordingly.
7386 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
7387
379c54c1 7388 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
7389 the end of "Error" to make the message more readable.
7390
7bd8f5bf 7391 * boot/i386/pc/boot.S (kernel_segment): Remove.
7392 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
7393 for destination.
7394
40b132c5 7395 * boot/i386/pc/boot.S (boot_version): Remove.
7396 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
7397 Remove.
7398
20591577 7399 * include/grub/i386/pc/boot.h: Sort all offsets.
7400 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
7401 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
7402 * boot/i386/pc/boot.S: Assert location of every offset listed in
7403 include/grub/i386/pc/boot.h.
7404
2df32b2c 74052009-07-13 Pavel Roskin <proski@gnu.org>
7406
44b5d879 7407 * include/grub/i386/coreboot/machine.h: Rename
7408 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
7409 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
7410 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
7411
17dc3751 7412 * kern/dl.c: Force native word size to suppress warnings when
7413 compiling grub-emu.
7414
2df32b2c 7415 * kern/device.c (grub_device_iterate): Change struct part_ent to
7416 hold the name, not a pointer to it. Use one grub_malloc() per
7417 partition, not two. Free partition_name if grub_malloc() fails.
7418 Set ents to NULL only before grub_partition_iterate() is called.
7419
75c59f59 74202009-07-11 Bean <bean123ch@gmail.com>
7421
7422 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
7423 childname.
7424
0ae1bf88 74252009-07-10 Bean <bean123ch@gmail.com>
74262009-07-10 Robert Millan <rmh.grub@aybabtu.com>
7427
7428 * kern/ieee1275/openfw.c (grub_children_iterate)
7429 (grub_devalias_iterate): Fix size evaluation for property or path
7430 strings, which was broken since r2132.
7431
8279cade 74322009-07-07 Pavel Roskin <proski@gnu.org>
7433
7d8a52d3 7434 * commands/search.c (search_file): Merge into ...
7435 (search_fs): ... this. Accept search type as argument.
7436 (grub_cmd_search): Pass search type to search_fs().
7437
25f9a05a 7438 * include/grub/util/console.h: New file.
7439 * util/console.c: Use it instead of grub/machine/console.h.
7440 * util/grub-emu.c: Likewise.
7441
8279cade 7442 * lib/arg.c (find_long_option): Remove.
7443 (find_long): Add `len' argument, make `s' const char *.
7444 (grub_arg_parse): Parse long options in place, not in a
7445 temporary buffer.
7446
4a11b60f 74472009-07-06 Pavel Roskin <proski@gnu.org>
7448
99f68041 7449 * commands/search.c (search_fs): Fix potential NULL pointer
7450 dereference.
7451
4a11b60f 7452 * commands/search.c (search_fs): Replace QUID macro with quid_fn
7453 function pointer.
7454
e110f4de 74552009-07-06 Daniel Mierswa <impulze@impulze.org>
7456
7457 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
7458 comparison.
7459
46eeb6a2 74602009-07-05 Pavel Roskin <proski@gnu.org>
7461
bab74958 7462 * include/grub/i386/linux.h (struct linux_kernel_params):
7463 Restore padding3, it's still needed.
7464
46eeb6a2 7465 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
7466 FreeBSD.
7467 * util/osdetect.lua: Likewise.
7468
b4a1dc79 74692009-07-05 Bean <bean123ch@gmail.com>
7470
7471 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
7472
7473 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
7474 (grub_lua_getenv): Likewise.
7475 (grub_lua_setenv): Likewise.
7476 (save_errno): New function.
7477 (push_result): Likewise.
7478 (grub_lua_enum_device): Likewise.
7479 (grub_lua_enum_file): Likewise.
7480 (grub_lua_file_open): Likewise.
7481 (grub_lua_file_close): Likewise.
7482 (grub_lua_file_seek): Likewise.
7483 (grub_lua_file_read): Likewise.
7484 (grub_lua_file_getline): Likewise.
7485 (grub_lua_file_getsize): Likewise.
7486 (grub_lua_file_getpos): Likewise.
7487 (grub_lua_file_eof): Likewise.
7488 (grub_lua_file_exist): Likewise.
7489 (grub_lua_add_menu): Likewise.
7490
7491 * script/lua/grub_lua.h (isupper): New inline function.
7492 (islower): Likewise.
7493 (ispunct): Likewise.
7494 (isxdigit): Likewise.
7495 (strcspn): Change to normal function.
7496 (strpbkr): New function declaration.
7497 (memchr): Likewise.
7498
7499 * script/lua/grub_main.c (scan_str): New function.
7500 (strcspn): Likewise.
7501 (strpbrk): Likewise.
7502 (memchr): Likewise.
7503
7504 * script/lua/linit.c (lualibs): Enable the string library.
7505
7506 * util/osdetect.lua: New file.
7507
2da92295 75082009-07-04 Robert Millan <rmh.grub@aybabtu.com>
7509
7510 * include/grub/i386/linux.h (struct linux_kernel_params): Add
7511 `capabilities' member.
7512
b2582ec9 75132009-07-02 Pavel Roskin <proski@gnu.org>
7514
7515 * genparttoollist.sh: Add missing newline at the end.
7516
32622956 75172009-07-01 Pavel Roskin <proski@gnu.org>
7518
87a7339e 7519 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
7520
d23af54e 7521 * util/hostdisk.c (open_device): Remove `const' from
7522 `sysctl_size', as sysctlbyname() can change it (in this case it
7523 doesn't actually happen).
7524
c94b18a9 7525 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
7526 using signed long int constants.
7527
c6cd3ef0 7528 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
7529 constant to avoid a warning on FreeBSD.
7530
0df63420 7531 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
7532 where it's needed.
7533
999577f1 7534 * Makefile.in: Install include/grub/machine symlink.
7535
6f41557f 7536 * Makefile.in: When installing symlinks, use "cp -fR", which
7537 works on FreeBSD and MacOSX.
7538 From Yves Blusseau <cl7m42e02@sneakemail.com>
7539
c8d22988 7540 * kern/dl.c (grub_dl_resolve_symbol): Make static.
7541 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
7542
1b96e952 7543 * util/misc.c: Move grub_reboot() and grub_halt() ...
7544 * util/grub-emu.c: ... here. Make main_env static.
7545 * include/grub/util/misc.h: Remove main_env.
7546
2ef0084d 7547 * kern/mm.c: Use correct format to print size_t.
7548
32622956 7549 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
7550 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
7551 * kern/powerpc/dl.c: Likewise.
7552 * kern/sparc64/dl.c: Likewise.
7553 * kern/x86_64/dl.c: Likewise.
7554
3f7f0cd0 75552009-07-01 Robert Millan <rmh.grub@aybabtu.com>
7556
7557 Fix grub-emu build on sparc64-ieee1275.
7558
75421ca9 7559 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 7560 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
7561
211d06b5 75622009-07-01 Robert Millan <rmh.grub@aybabtu.com>
7563
7564 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
7565 (grub_reboot, grub_halt): New functions.
7566
7567 * util/i386/pc/misc.c: Delete. Update all users.
7568 * util/sparc64/ieee1275/misc.c: Likewise.
7569 * util/powerpc/ieee1275/misc.c: Likewise.
7570
aaf53e3c 75712009-07-01 Robert Millan <rmh.grub@aybabtu.com>
7572
7573 * conf/i386.rmk (setjmp_mod_SOURCES)
7574 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
7575 * conf/common.rmk (setjmp_mod_SOURCES)
7576 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
7577 to use $(target_cpu).
7578 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
7579 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
7580 * conf/powerpc-ieee1275.rmk: Likewise.
7581 * conf/sparc64-ieee1275.rmk: Likewise.
7582
7583 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
7584 $(target_cpu) for kern/$(target_cpu)/dl.c.
7585 * conf/i386-efi.rmk: Likewise.
7586 * conf/i386-ieee1275.rmk: Likewise.
7587 * conf/x86_64-efi.rmk: Likewise.
7588 * conf/i386-coreboot.rmk: Likewise.
7589 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
7590 $(target_cpu) for kern/$(target_cpu)/dl.c and for
7591 kern/$(target_cpu)/cache.S.
7592 * conf/sparc64-ieee1275.rmk: Likewise.
7593
a337130b 75942009-07-01 Robert Millan <rmh.grub@aybabtu.com>
7595
7596 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
7597 type to `grub_uint8_t', and adjust `padding9' accordingly.
7598
c6fe4d53 75992009-06-29 Robert Millan <rmh.grub@aybabtu.com>
7600
b09db61d 7601 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
7602
c6fe4d53 7603 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
7604 assembly in final jump, using register constraints.
7605
b09db61d 7606 (grub_linux_boot): For text mode, initialize `have_vga' using
7607 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
7608
7609 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
7610 right before the final jump.
7611
7612 Set `video_mode' to 0x3.
7613
7614 Document initialization of `video_page', `video_mode' and
7615 `video_ega_bx'.
7616
28333ad0 76172009-06-29 Robert Millan <rmh.grub@aybabtu.com>
7618
7619 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
7620 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 7621 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 7622
02164e1b 76232009-06-29 Robert Millan <rmh.grub@aybabtu.com>
7624
7625 Fix build on Debian / sparc.
7626
7627 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
7628
18b6c557 76292009-06-28 Pavel Roskin <proski@gnu.org>
7630
85f2aab6 7631 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
7632 fix a warning.
7633
18b6c557 7634 * util/grub.d/10_linux.in: Match SUSE style initrd names.
7635
ad760f81 76362009-06-27 Robert Millan <rmh.grub@aybabtu.com>
7637
7638 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
7639 `err'.
7640
87a4623b 76412009-06-27 Robert Millan <rmh.grub@aybabtu.com>
7642
7643 Revert r2338.
7644
7645 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
7646 file can't be opened. grub_file_open() is already supposed to set
75421ca9 7647 grub_errno / grub_errmsg appropriately.
87a4623b 7648 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7649
8231fb77 76502009-06-27 Pavel Roskin <proski@gnu.org>
76512009-06-27 Robert Millan <rmh.grub@aybabtu.com>
7652
7653 * include/grub/dl.h: Include grub/elf.h.
7654 (struct grub_dl): Add symtab field.
7655 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
7656 GRUB_MODULES_MACHINE_READONLY.
7657 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
7658 of the header for read-only modules.
7659 (grub_dl_unload): Free mod->symtab for read-only modules.
7660 * kern/i386/dl.c: Use mod->symtab.
7661 * kern/powerpc/dl.c: Likewise.
7662 * kern/sparc64/dl.c: Likewise.
7663 * kern/x86_64/dl.c: Likewise.
7664
7665 * conf/i386-qemu.rmk: New file.
7666 * kern/i386/qemu/startup.S: Likewise.
7667 * kern/i386/qemu/mmap.c: Likewise.
7668 * boot/i386/qemu/boot.S: Likewise.
7669 * include/grub/i386/qemu/time.h: Likewise.
7670 * include/grub/i386/qemu/serial.h: Likewise.
7671 * include/grub/i386/qemu/kernel.h: Likewise.
7672 * include/grub/i386/qemu/console.h: Likewise.
7673 * include/grub/i386/qemu/boot.h: Likewise.
7674 * include/grub/i386/qemu/init.h: Likewise.
7675 * include/grub/i386/qemu/machine.h: Likewise.
7676 * include/grub/i386/qemu/loader.h: Likewise.
7677 * include/grub/i386/qemu/memory.h: Likewise.
7678
7679 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
7680 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
7681 [qemu] (pkglib_IMAGES): Add `boot.img'.
7682 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
7683 [qemu] (boot_img_FORMAT): New variables.
7684 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
7685 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
7686 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
7687 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
7688 [qemu] (kernel_img_FORMAT): New variables.
7689
7690 * configure.ac: Recognise `i386-qemu'.
7691
7692 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
7693 (for no compression).
7694 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
7695 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
7696 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
7697 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
7698 ifdefs).
7699
97fe384e 77002009-06-27 Pavel Roskin <proski@gnu.org>
7701
7702 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
7703 read.
7704 * efiemu/prepare32.c: Likewise.
7705 * efiemu/prepare64.c: Likewise.
7706
c402ab17 77072009-06-26 Pavel Roskin <proski@gnu.org>
7708
7709 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
7710 * include/grub/elf.h: Define symbols without "32" or "64" based
7711 on GRUB_TARGET_WORDSIZE.
7712 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
7713 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
7714 ELF definitions.
7715 * efiemu/loadcore64.c: Likewise.
7716 * loader/i386/bsd32.c: Likewise.
7717 * loader/i386/bsd64.c: Likewise.
7718 * kern/dl.c: Remove own ELF definitions.
7719 * util/i386/efi/grub-mkimage.c: Likewise.
7720
9bbdfd4d 77212009-06-23 Robert Millan <rmh.grub@aybabtu.com>
7722
7723 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
7724 segment 0x0 unconditionally, because the reference generated by
7725 GAS is an absolute address.
7726
a42ce6e9 77272009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7728
7729 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
7730 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
7731
c952cf92 77322009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7733
7734 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
7735 indexes. Check for -f explicitly.
cc3752ad 7736 (search_file): Improve error message.
7737 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 7738
132a0a59 77392009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7740
7741 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
7742 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
7743
387a140c 77442009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7745
7746 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
7747 * conf/i386-ieee1275.rmk: Likewise.
7748 * conf/i386-coreboot.rmk: Likewise.
7749
7750 * kern/i386/pc/startup.S (grub_stop): Remove function.
7751 * kern/i386/ieee1275/startup.S: Likewise.
7752 * kern/i386/coreboot/startup.S: Likewise.
7753 * kern/i386/misc.S (grub_stop): New function.
7754
41da9665 77552009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7756
7757 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
7758 * kern/i386/realmode.S (real_to_prot): ... to here.
7759
bf337234 77602009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7761
7762 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
7763 with `kernel.img'.
7764 (kernel_elf_SOURCES): Rename to ...
7765 (kernel_img_SOURCES): ... this.
7766 (kernel_elf_HEADERS): Rename to ...
7767 (kernel_img_HEADERS): ... this. Update all users.
7768 (kernel_elf_ASFLAGS): Rename to ...
7769 (kernel_img_ASFLAGS): ... this.
7770 (kernel_elf_CFLAGS): Rename to ...
7771 (kernel_img_CFLAGS): ... this.
7772 (kernel_elf_LDFLAGS): Rename to ...
7773 (kernel_img_LDFLAGS): ... this.
7774 * conf/i386-coreboot.rmk: Likewise.
7775 * conf/powerpc-ieee1275.rmk: Likewise.
7776
7777 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
7778 with "kernel.img".
7779
f52196ff 77802009-06-21 Pavel Roskin <proski@gnu.org>
7781
c3cee413 7782 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
7783 to match nested functions.
7784 * loader/sparc64/ieee1275/linux.c: Likewise.
7785
f52196ff 7786 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
7787
58750afc 77882009-06-21 Robert Millan <rmh.grub@aybabtu.com>
7789
7790 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
7791 all i386 platforms.
7792
15355c7d 77932009-06-21 Robert Millan <rmh.grub@aybabtu.com>
7794
7795 Fix asm file handling on ELF, and remove workarounds.
7796
7797 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 7798 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 7799 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
7800 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
7801
3f3ec72b 78022009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7803
7804 Load BSD ELF modules
7805
7806 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
7807 and loader/i386/bsd64.c
7808 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
7809 (FREEBSD_MODTYPE_ELF_MODULE): New definition
7810 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
7811 (grub_freebsd_load_elfmodule32): New declaration
7812 (grub_freebsd_load_elfmoduleobj64): Likewise
7813 (grub_freebsd_load_elf_meta32): Likewise
7814 (grub_freebsd_load_elf_meta64): Likewise
7815 (grub_freebsd_add_meta): Likewise
7816 (grub_freebsd_add_meta_module): Likewise
7817 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
7818 (grub_freebsd_add_meta_module): Likewise and move module-specific
7819 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
7820 (grub_cmd_freebsd): Add elf-kernel specific parts
7821 based on grub_freebsd_add_meta_module
7822 (grub_cmd_freebsd_module): Add type parsing moved from
7823 grub_freebsd_add_meta_module
7824 (grub_cmd_freebsd_module_elf): New function
7825 (cmd_freebsd_module_elf): New variable
7826 (GRUB_MOD_INIT): Register freebsd_module_elf
7827 * loader/i386/bsd32.c: New file
7828 * loader/i386/bsd64.c: Likewise
7829 * loader/i386/bsdXX.c: Likewise
7830 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
7831 (grub_elf64_load): Likewise
7832 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
7833 All users updated
7834 (grub_elf64_load_hook_t): Likewise
7835
0db15301 78362009-06-21 Colin Watson <cjwatson@ubuntu.com>
7837
7838 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
7839 variable.
7840 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
7841 don't write a menu entry for recovery mode.
7842
546796c1 78432009-06-20 Robert Millan <rmh.grub@aybabtu.com>
7844
7845 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
7846 after it's no longer needed.
7847
cd7310d5 78482009-06-20 Robert Millan <rmh.grub@aybabtu.com>
7849
7850 * include/grub/i386/loader.h (grub_linux_prot_size)
7851 (grub_linux_tmp_addr, grub_linux_real_addr)
7852 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
7853 GRUB_MACHINE_PCBIOS.
7854 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
7855 common grub_util_info() call to ...
7856 (generate_image): ... here.
7857 Fix use of uninitialized memory, comparison of signed with
7858 unsigned integers and memory leak.
7859 Remove bogus module address message.
7860
ab32d3b5 78612009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7862
7863 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
7864 grub_raid_register
7865 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
7866
024ef597 78672009-06-19 Pavel Roskin <proski@gnu.org>
7868
7869 * configure.ac: Remove stray AC_MSG_CHECKING.
7870
3ac72b51 78712009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7872
7873 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 7874
e14cd814 78752009-06-18 Pavel Roskin <proski@gnu.org>
7876
7877 * conf/common.rmk: Add fs_file.mod.
7878 * disk/fs_file.c: New file.
7879 * include/grub/disk.h (enum grub_disk_dev_id): Add
7880 GRUB_DISK_DEVICE_FILE_ID.
7881
26586d98 78822009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7883
7884 Fix build with Apple's toolchain. Part 2
7885
7886 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
7887 a fake start
7888
26de2bcd 78892009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7890
7891 Fix build with Apple's toolchain. Part 1
7892
7893 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
7894 for long calls
7895 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 7896 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 7897 Apple's toolchain
7898
09b3490b 78992009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7900
7901 Fix warnings
7902
7903 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
7904 (decomp_block): initialize ch
7905 use grub_memcpy instead of memcpy
7906
c22a006a 79072009-06-17 Pavel Roskin <proski@gnu.org>
7908
d3638678 7909 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
7910 version, use declarations needed to use vga_text as the startup
7911 console.
7912
c22a006a 7913 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
7914 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
7915 the kernel.
7916 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
7917 and grub_at_keyboard_fini(), it's done on module load and
7918 unload.
7919
05b129e0 79202009-06-17 Felix Zielcke <fzielcke@z-51.de>
7921
7922 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
7923 file can't be found.
7924 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7925
cf24ed9e 79262009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
7927
7928 Fix newline handling
7929
7930 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 7931 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 7932 (grub_script_yylex): don't segfault on unterminated script
7933 newline terminates command and variable
7934
74aa8e4b 79352009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
7936
7937 avoid double grub_adjust_range call. Bug reported by David Simner
7938
7939 * kern/disk.c (grub_disk_write): change to raw disk access before
7940 calling disk_read
7941
1bd265f3 79422009-06-17 Colin Watson <cjwatson@ubuntu.com>
7943
7944 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
7945 spaces, for the benefit of help2man.
7946 * util/i386/efi/grub-mkimage.c (usage): Likewise.
7947
a2d08c06 79482009-06-16 Pavel Roskin <proski@gnu.org>
7949
7950 * kern/i386/halt.c: Include grub/machine/init.h.
7951 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
7952
b97bcb19 79532009-06-16 Felix Zielcke <fzielcke@z-51.de>
7954
7955 * util/grub.d/30_os-prober.in: Use ${root} in the generated
7956 drivemap menuentry.
7957
0644f96c 79582009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
7959
7960 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
7961 `echo' command.
7962
3ef17a2e 79632009-06-16 Pavel Roskin <proski@gnu.org>
7964
7965 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
7966 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
7967 save %dx, we only need %dl and we never change it.
7968 * boot/i386/pc/cdboot.S: Don't set the root drive.
7969 * boot/i386/pc/pxeboot.S: Likewise.
7970 * include/grub/i386/pc/boot.h: Remove
7971 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
7972 GRUB_BOOT_MACHINE_DRIVE_CHECK.
7973 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
7974 * kern/i386/pc/init.c (make_install_device): Remove references
7975 to grub_root_drive.
7976 * kern/i386/pc/startup.S: Likewise.
7977 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
7978
693fe637 79792009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
7980
7981 xnu_uuid command
7982
7983 * commands/xnu_uuid.c: new file
7984 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
7985 (xnu_uuid_mod_SOURCES): new variable
7986 (xnu_uuid_mod_CFLAGS): likewise
7987 (xnu_uuid_mod_LDFLAGS): likewise
7988 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
7989 * conf/i386-ieee1275.rmk: likewise
7990 * conf/i386-pc.rmk: likewise
7991 * conf/powerpc-ieee1275.rmk: likewise
7992 * conf/sparc64-ieee1275.rmk: likewise
7993 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
7994
c9da87d0 79952009-06-16 Pavel Roskin <proski@gnu.org>
7996
7997 * configure.ac: Avoid '==' in test command, it's not portable.
7998
9c6f4596 79992009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
8000
8001 Probe command
8002
8003 * commands/probe.c: new file
8004 * conf/common.rmk (pkglib_MODULES): add probe.mod
8005 (probe_mod_SOURCES): new variable
8006 (probe_mod_CFLAGS): likewise
8007 (probe_mod_LDFLAGS): likewise
8008 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
8009 * conf/i386-ieee1275.rmk: likewise
8010 * conf/i386-pc.rmk: likewise
8011 * conf/powerpc-ieee1275.rmk: likewise
8012 * conf/sparc64-ieee1275.rmk: likewise
8013
70b7f9fd 80142009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
8015
8016 Fix handling of string like \"hello\" and "a
8017 b"
8018
8019 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
8020 (grub_script_yylex): fix parsing of quoting, escaping and newline
8021
71c79a6b 80222009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8023
dd74360c 8024 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 8025 handling
dd74360c 8026
0644f96c 80272009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 8028
8029 * util/grub-mkconfig.in: Fix parsing of --output option.
8030
e40893c3 80312009-06-12 Pavel Roskin <proski@gnu.org>
8032
8033 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
8034 genmk.rb don't need to be generated or installed.
8035
3a1acfe2 80362009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
8037
8038 * commands/i386/pc/drivemap_int13h.S: add more comments
8039
3a4575d4 80402009-06-11 Pavel Roskin <proski@gnu.org>
8041
0658e928 8042 * Makefile.in (uninstall): Uninstall manuals.
8043
ca0388f0 8044 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
8045 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
8046 and update-grub_lib in two places.
8047 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
8048
e3b27c39 8049 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
8050 a compiler warning.
8051
3a4575d4 8052 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
8053 `entry_lo' to fix variable shadowing.
8054
af1f4f55 80552009-06-11 Christian Franke <franke@computer.org>
8056
8057 * kern/misc.c (__enable_execute_stack): Add missing return type
8058 to prevent gcc warning.
8059
5225e649 80602009-06-11 Felix Zielcke <fzielcke@z-51.de>
8061
8062 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
8063
7d83bd47 80642009-06-11 Pavel Roskin <proski@gnu.org>
8065
c1cb63ba 8066 * Makefile.in: Don't rely on any scripts being executable.
8067 Always use $(SHELL) to run shell scripts.
8068
7d83bd47 8069 * configure.ac: Always define ___main if using -nostdlib. This
8070 fixes tests on Cygwin.
8071
948f48e7 80722009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
8073
8074 UDF fix
8075
7d83bd47 8076 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 8077 is in bytes and not in blocks
7d83bd47 8078
8ada9bc1 80792009-06-11 Pavel Roskin <proski@gnu.org>
8080
8081 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
8082 warning.
8083
25ad2323 80842009-06-11 Felix Zielcke <fzielcke@z-51.de>
8085
8086 * util/grub.d/30_os-prober.in: Fix a comment. Source
8087 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
8088 to set the root device. Place drivemap command in the generated
8089 chain entry.
8090
e65acb0c 80912009-06-11 Pavel Roskin <proski@gnu.org>
8092
8093 * configure.ac: Remove host_m32. Issues with 64-bit utilities
8094 have long been resolved.
8095
f285fe2d 80962009-06-11 Colin Watson <cjwatson@ubuntu.com>
8097
bd47b0b5 8098 * util/grub.d/10_linux.in: Capitalise "Linux".
8099
f285fe2d 8100 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
8101
a0c62e4e 81022009-06-11 Pavel Roskin <proski@gnu.org>
8103
b6783cb2 8104 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
8105 fix a gcc warning and ensure that the function won't ever exit.
8106
dde032e8 8107 * kern/i386/ieee1275/init.c: Add missing prototype for
8108 grub_stop_floppy().
8109
22cd079d 8110 * loader/ieee1275/multiboot2.c [__i386__]: Include
8111 grub/cpu/multiboot.h.
8112
a0c62e4e 8113 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
8114 casts to short - they are not portable and cause warnings. Fix
8115 use of uninitialized values in input_buf. Use ARRAY_SIZE.
8116
63963d17 81172009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
8118
8119 Drivemap fixes
8120
8121 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
8122 new function
8123 (grub_get_root_biosnumber_saved): new variable
8124 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
8125 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 8126 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 8127 %dx after the call if necessary
8128 * conf/common.rmk (pkglib_MODULES): remove boot.mod
8129 (boot_mod_SOURCES): remove
8130 (boot_mod_CFLAGS): remove
8131 (boot_mod_LDFLAGS): remove
8132 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
8133 (boot_mod_SOURCES): new variable
8134 (boot_mod_CFLAGS): likewise
8135 (boot_mod_LDFLAGS): likewise
8136 * conf/i386-efi.rmk: likewise
8137 * conf/i386-ieee1275.rmk: likewise
8138 * conf/i386-pc.rmk: likewise
8139 * conf/powerpc-ieee1275.rmk: likewise
8140 * conf/sparc64-ieee1275.rmk: likewise
8141 * conf/x86_64-efi.rmk: likewise
8142 * include/grub/i386/pc/biosnum.h: new file
8143 * lib/i386/pc/biosnum.c: likewise
8144 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
8145 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
8146 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 8147
33abf7ae 81482009-06-10 Pavel Roskin <proski@gnu.org>
8149
5ac35b35 8150 * io/gzio.c (test_header): Don't reuse one buffer for all data.
8151 Use separate variables. Read only the file size at the end, but
8152 not the checksum that we don't use.
8153
5c5215d5 8154 * kern/file.c (grub_file_read): Use void pointer for the buffer.
8155 Adjust all callers.
8156
27d5fef7 8157 * kern/ieee1275/openfw.c: Remove libc includes.
8158 * kern/ieee1275/cmain.c: Likewise.
8159 * include/grub/ieee1275/ieee1275.h: Likewise.
8160
33abf7ae 8161 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
8162 compiler warnings.
8163
19d50c2b 81642009-06-10 Felix Zielcke <fzielcke@z-51.de>
8165
8166 * Makefile.in: Remove all trailing whitespace.
8167 * conf/i386-pc.rmk: Likewise.
8168 * conf/powerpc-ieee1275.rmk: Likewise.
8169 * conf/sparc64-ieee1275.rmk: Likewise.
8170 * docs/grub.texi: Likewise.
8171 * docs/texinfo.tex: Likewise.
8172 * disk/fs_uuid.c: Likewise.
8173 * disk/lvm.c: Likewise.
8174 * disk/scsi.c: Likewise.
8175 * disk/ata.c: Likewise.
8176 * disk/ieee1275/ofdisk.c: Likewise.
8177 * disk/i386/pc/biosdisk.c: Likewise.
8178 * disk/host.c: Likewise.
8179 * disk/raid.c: Likewise.
8180 * disk/efi/efidisk.c: Likewise.
8181 * disk/usbms.c: Likewise.
8182 * disk/memdisk.c: Likewise.
8183 * disk/loopback.c: Likewise.
8184 * kern/powerpc/dl.c: Likewise.
8185 * kern/device.c: Likewise.
8186 * kern/dl.c: Likewise.
8187 * kern/sparc64/dl.c: Likewise.
8188 * kern/ieee1275/ieee1275.c: Likewise.
8189 * kern/term.c: Likewise.
8190 * kern/fs.c: Likewise.
8191 * kern/i386/dl.c: Likewise.
8192 * kern/i386/pc/startup.S: Likewise.
8193 * kern/i386/pc/init.c: Likewise.
8194 * kern/i386/pc/mmap.c: Likewise.
8195 * kern/i386/pc/lzo1x.S: Likewise.
8196 * kern/i386/ieee1275/init.c: Likewise.
8197 * kern/i386/realmode.S: Likewise.
8198 * kern/i386/tsc.c: Likewise.
8199 * kern/partition.c: Likewise.
8200 * kern/corecmd.c: Likewise.
8201 * kern/file.c: Likewise.
8202 * kern/efi/efi.c: Likewise.
8203 * kern/efi/init.c: Likewise.
8204 * kern/efi/mm.c: Likewise.
8205 * kern/main.c: Likewise.
8206 * kern/err.c: Likewise.
8207 * kern/env.c: Likewise.
8208 * kern/disk.c: Likewise.
8209 * kern/generic/millisleep.c: Likewise.
8210 * kern/generic/rtc_get_time_ms.c: Likewise.
8211 * kern/misc.c: Likewise.
8212 * kern/parser.c: Likewise.
8213 * genmk.rb: Likewise.
8214 * configure.ac: Likewise.
8215 * boot/i386/pc/diskboot.S: Likewise.
8216 * boot/i386/pc/pxeboot.S: Likewise.
8217 * boot/i386/pc/boot.S: Likewise.
8218 * boot/i386/pc/lnxboot.S: Likewise.
8219 * boot/i386/pc/cdboot.S: Likewise.
8220 * parttool/pcpart.c: Likewise.
8221 * video/readers/tga.c: Likewise.
8222 * video/video.c: Likewise.
8223 * video/bitmap.c: Likewise.
8224 * lib/envblk.c: Likewise.
8225 * lib/i386/setjmp.S: Likewise.
8226 * fs/xfs.c: Likewise.
8227 * fs/afs.c: Likewise.
8228 * fs/fat.c: Likewise.
8229 * fs/ntfs.c: Likewise.
8230 * fs/udf.c: Likewise.
8231 * fs/affs.c: Likewise.
8232 * fs/iso9660.c: Likewise.
8233 * fs/hfs.c: Likewise.
8234 * fs/fshelp.c: Likewise.
8235 * fs/ext2.c: Likewise.
8236 * fs/jfs.c: Likewise.
8237 * fs/reiserfs.c: Likewise.
8238 * fs/hfsplus.c: Likewise.
8239 * fs/minix.c: Likewise.
8240 * fs/cpio.c: Likewise.
8241 * fs/sfs.c: Likewise.
8242 * fs/ufs.c: Likewise.
8243 * efiemu/prepare.c: Likewise.
8244 * efiemu/loadcore_common.c: Likewise.
8245 * efiemu/runtime/efiemu.sh: Likewise.
8246 * efiemu/runtime/efiemu.S: Likewise.
8247 * efiemu/runtime/efiemu.c: Likewise.
8248 * efiemu/pnvram.c: Likewise.
8249 * efiemu/main.c: Likewise.
8250 * efiemu/i386/pc/cfgtables.c: Likewise.
8251 * efiemu/i386/loadcore64.c: Likewise.
8252 * efiemu/i386/loadcore32.c: Likewise.
8253 * efiemu/loadcore.c: Likewise.
8254 * efiemu/symbols.c: Likewise.
8255 * efiemu/mm.c: Likewise.
8256 * include/grub/autoefi.h: Likewise.
8257 * include/grub/datetime.h: Likewise.
8258 * include/grub/term.h: Likewise.
8259 * include/grub/hfs.h: Likewise.
8260 * include/grub/lvm.h: Likewise.
8261 * include/grub/i386/tsc.h: Likewise.
8262 * include/grub/i386/linux.h: Likewise.
8263 * include/grub/i386/xnu.h: Likewise.
8264 * include/grub/i386/efiemu.h: Likewise.
8265 * include/grub/i386/pc/biosdisk.h: Likewise.
8266 * include/grub/i386/pc/memory.h: Likewise.
8267 * include/grub/i386/pc/vbe.h: Likewise.
8268 * include/grub/parttool.h: Likewise.
8269 * include/grub/video.h: Likewise.
8270 * include/grub/memory.h: Likewise.
8271 * include/grub/fs.h: Likewise.
8272 * include/grub/partition.h: Likewise.
8273 * include/grub/xnu.h: Likewise.
8274 * include/grub/efi/api.h: Likewise.
8275 * include/grub/efi/pe32.h: Likewise.
8276 * include/grub/efi/memory.h: Likewise.
8277 * include/grub/multiboot.h: Likewise.
8278 * include/grub/usbdesc.h: Likewise.
8279 * include/grub/multiboot2.h: Likewise.
8280 * include/grub/acpi.h: Likewise.
8281 * include/grub/efiemu/efiemu.h: Likewise.
8282 * include/grub/disk.h: Likewise.
8283 * include/grub/ieee1275/ieee1275.h: Likewise.
8284 * include/grub/net.h: Likewise.
8285 * include/grub/machoload.h: Likewise.
8286 * include/grub/macho.h: Likewise.
8287 * include/multiboot.h: Likewise.
8288 * genmoddep.awk: Likewise.
8289 * normal/main.c: Likewise.
8290 * normal/menu_entry.c: Likewise.
8291 * normal/menu_viewer.c: Likewise.
8292 * normal/completion.c: Likewise.
8293 * normal/cmdline.c: Likewise.
8294 * normal/misc.c: Likewise.
8295 * normal/datetime.c: Likewise.
8296 * bus/usb/usbtrans.c: Likewise.
8297 * bus/usb/ohci.c: Likewise.
8298 * bus/usb/uhci.c: Likewise.
8299 * bus/usb/usb.c: Likewise.
8300 * mmap/efi/mmap.c: Likewise.
8301 * mmap/i386/pc/mmap_helper.S: Likewise.
8302 * mmap/i386/pc/mmap.c: Likewise.
8303 * mmap/i386/mmap.c: Likewise.
8304 * mmap/i386/uppermem.c: Likewise.
8305 * mmap/mmap.c: Likewise.
8306 * commands/acpi.c: Likewise.
8307 * commands/echo.c: Likewise.
8308 * commands/blocklist.c: Likewise.
8309 * commands/loadenv.c: Likewise.
8310 * commands/usbtest.c: Likewise.
8311 * commands/boot.c: Likewise.
8312 * commands/parttool.c: Likewise.
8313 * commands/search.c: Likewise.
8314 * commands/cat.c: Likewise.
8315 * commands/i386/pc/play.c: Likewise.
8316 * commands/i386/pc/drivemap.c: Likewise.
8317 * commands/i386/pc/vbeinfo.c: Likewise.
8318 * commands/i386/pc/acpi.c: Likewise.
8319 * commands/i386/pc/vbetest.c: Likewise.
8320 * commands/ls.c: Likewise.
8321 * commands/cmp.c: Likewise.
8322 * commands/test.c: Likewise.
8323 * commands/efi/acpi.c: Likewise.
8324 * commands/gptsync.c: Likewise.
8325 * commands/help.c: Likewise.
8326 * partmap/amiga.c: Likewise.
8327 * partmap/apple.c: Likewise.
8328 * partmap/acorn.c: Likewise.
8329 * partmap/pc.c: Likewise.
8330 * partmap/sun.c: Likewise.
8331 * partmap/gpt.c: Likewise.
8332 * script/sh/lexer.c: Likewise.
8333 * script/sh/function.c: Likewise.
8334 * font/font.c: Likewise.
8335 * font/font_cmd.c: Likewise.
8336 * loader/powerpc/ieee1275/linux.c: Likewise.
8337 * loader/efi/chainloader.c: Likewise.
8338 * loader/multiboot_loader.c: Likewise.
8339 * loader/macho.c: Likewise.
8340 * loader/i386/multiboot.c: Likewise.
8341 * loader/i386/linux.c: Likewise.
8342 * loader/i386/pc/linux.c: Likewise.
8343 * loader/i386/pc/multiboot2.c: Likewise.
8344 * loader/i386/pc/chainloader.c: Likewise.
8345 * loader/i386/pc/xnu.c: Likewise.
8346 * loader/i386/bsd_trampoline.S: Likewise.
8347 * loader/i386/efi/linux.c: Likewise.
8348 * loader/i386/multiboot_elfxx.c: Likewise.
8349 * loader/i386/bsd_helper.S: Likewise.
8350 * loader/i386/bsd.c: Likewise.
8351 * loader/i386/linux_trampoline.S: Likewise.
8352 * loader/i386/xnu_helper.S: Likewise.
8353 * loader/i386/xnu.c: Likewise.
8354 * loader/i386/bsd_pagetable.c: Likewise.
8355 * loader/i386/multiboot_helper.S: Likewise.
8356 * loader/xnu.c: Likewise.
8357 * loader/xnu_resume.c: Likewise.
8358 * io/gzio.c: Likewise.
8359 * term/efi/console.c: Likewise.
8360 * term/terminfo.c: Likewise.
8361 * term/ieee1275/ofconsole.c: Likewise.
8362 * term/i386/pc/serial.c: Likewise.
8363 * term/i386/pc/vesafb.c: Likewise.
8364 * term/i386/pc/vga.c: Likewise.
8365 * term/usb_keyboard.c: Likewise.
8366 * term/gfxterm.c: Likewise.
8367 * aclocal.m4: Likewise.
8368 * util/lvm.c: Likewise.
8369 * util/grub.d/30_os-prober.in: Likewise.
8370 * util/grub.d/10_hurd.in: Likewise.
8371 * util/console.c: Likewise.
8372 * util/grub-macho2img.c: Likewise.
8373 * util/grub-probe.c: Likewise.
8374 * util/hostfs.c: Likewise.
8375 * util/i386/pc/grub-mkimage.c: Likewise.
8376 * util/i386/pc/grub-setup.c: Likewise.
8377 * util/i386/efi/grub-mkimage.c: Likewise.
8378 * util/grub-mkconfig.in: Likewise.
8379 * util/raid.c: Likewise.
8380 * util/resolve.c: Likewise.
8381 * util/grub-mkdevicemap.c: Likewise.
8382 * util/grub-emu.c: Likewise.
8383 * util/getroot.c: Likewise.
8384 * util/hostdisk.c: Likewise.
8385 * util/usb.c: Likewise.
8386 * util/grub-editenv.c: Likewise.
8387 * util/misc.c: Likewise.
8388
d2d49665 83892009-06-10 Felix Zielcke <fzielcke@z-51.de>
8390
8391 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
8392 `genparttoollist.sh'.
8393 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
8394 Add `*.sh' to the list find searches for and change `mdate.sh'
8395 to `mdate-sh'.
8396
fe052e37 83972009-06-10 Pavel Roskin <proski@gnu.org>
8398
2763ac18 8399 * include/grub/multiboot2.h: Provide compatibility defines for
8400 multiboot2.h.
8401 * include/multiboot2.h: Include stdint.h only if needed, using
8402 angle brackets.
8403 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
8404 grub/multiboot2.h.
8405 * loader/ieee1275/multiboot2.c: Likewise.
8406 * loader/multiboot2.c: Likewise.
8407 * loader/multiboot_loader.c: Likewise.
8408
437e6adc 8409 * configure.ac: Use -nostdlib when probing for the target. It
8410 should not be required to have libc for the target.
8411
06a6836c 8412 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
8413 they fail without libc headers for the target.
8414 * include/grub/powerpc/libgcc.h: Use weak attribute for all
8415 exports.
8416 * include/grub/sparc64/libgcc.h: Likewise. Don't use
8417 preprocessor conditionals.
8418
fe052e37 8419 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
8420 build system doesn't need to be aware of the tar.c internals.
8421
afd22553 84222009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 8423
afd22553 8424 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 8425
6b787c4f 84262009-06-09 Robert Millan <rmh.grub@aybabtu.com>
8427
8428 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
8429 disk limit to 26 for IDE, Virtio, Xen and SCSI.
8430
84312009-06-09 Felix Zielcke <fzielcke@z-51.de>
8432
8433 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 8434 aren't available if ata.mod gets used.
6b787c4f 8435
473d1e45 84362009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 8437
473d1e45 8438 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 8439 initialising controller.
473d1e45 8440 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 8441
255a27d4 84422009-06-08 Felix Zielcke <fzielcke@z-51.de>
8443
8444 * util/i386/pc/grub-install.in: Add a parameter --disk-module
8445 to choose between ata and biosdisk module on i386-pc.
8446
473d1e45 84472009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 8448
d55842d8 8449 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
8450 Subclass and Programming Interface fields in terms of the 3 byte
8451 Class Code register.
8452 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
8453
fa5db0b1 8454 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
8455 interface is OHCI. Add grub_dprintf for symmetry with
8456 bus/usb/uhci.c.
8457 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
8458 interface is UHCI. Add interf variable for programming
8459 interface. Print interface with class/subclass.
8460
c0947beb 8461 * bus/usb/ohci.c: Set interf with correct field.
8462
69da8877 8463 * bus/usb/uhci.c: Remove unneeded doubled lines.
8464 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
8465 Remove whitespace inside comment.
8466
9e172e30 84672009-06-08 Robert Millan <rmh.grub@aybabtu.com>
8468
8469 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
8470 as fallback an equivalent option without depth.
8471
de65ee2b 84722009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8473
8474 Not fail if unable to retrieve C/H/S on LBA disks
8475
473d1e45 8476 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 8477 if unable to retrieve C/H/S on LBA disks
8478
b57ea2c9 84792009-06-08 Pavel Roskin <proski@gnu.org>
8480
8481 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
8482 about aliasing.
8483
af361263 84842009-06-08 Felix Zielcke <fzielcke@z-51.de>
8485
8486 * Makefile.in (uninstall): Remove all $lib_DATA files.
8487
4c9ec6b3 84882009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8489
8490 Bugfix: install on partitionless device
8491
8492 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
8493 is a whole disk
8494
e76fc924 84952009-06-08 Felix Zielcke <fzielcke@z-51.de>
8496
8497 * Makefile.in (uninstall): Remove all $include_DATA files.
8498
ba5a0d05 84992009-06-08 Felix Zielcke <fzielcke@z-51.de>
8500
8501 * commands/true.c: New file. Implement the true and false commands.
8502 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
8503 (true_mod_SOURCES): New variable.
8504 (true_mod_CFLAGS): Likewise.
8505 (true_mod_LDFLAGS): Likewise.
8506
c8048e32 85072009-06-05 Colin D Bennett <colin@gibibit.com>
8508
8509 Optimized font character lookup using binary search instead of linear
8510 search. Fonts now are required to have the character index ordered by
8511 code point.
8512
8513 * font/font.c (load_font_index): Verify that fonts have ordered
8514 character indices.
8515 (find_glyph): Use binary search instead of linear search to find a
8516 character in a font.
8517
408305be 85182009-06-05 Michael Scherer <misc@mandriva.org>
8519
8520 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
8521 uses case sensitive btree.
8522 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
8523 only for case insensitive filesystems.
8524
8ee1e0d9 85252009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8526
8527 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
8528 * conf/common.rmk (search_mod_CFLAGS): likewise
8529
a9966eb1 85302009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8531
473d1e45 8532 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 8533 compensate a compiler bug
8534
9e7100fb 85352009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8536
473d1e45 8537 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 8538 instead of '\b'
473d1e45 8539
ede21d71 85402009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8541
8542 Definitions for creating asm symbols with Apple's CC
8543
8544 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
8545 [APPLE_CC] (VARIABLE): likewise
8546
9dbf7653 85472009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8548
8549 Disable lnxboot.img when compiled
8550 with Apple's CC
8551
8552 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
8553 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
8554 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
8555 [! APPLE_CC] (CODE_LENG): skip
8556 [! APPLE_CC] (setup_sects): likewise
8557 [! APPLE_CC]: skip filling
473d1e45 8558
e93cdc3d 85592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8560
8561 Address in trampolines based on 32-bit registers when compiled
8562 with Apple's CC
8563
473d1e45 8564 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 8565 for addresses
8566 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
8567
6c688477 85682009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8569
8570 Avoid aliases when compiling with Apple's CC for PCBIOS machine
8571
8572 * kern/misc.c [APPLE_CC] (memcpy): new function
8573 [APPLE_CC] (memmove): likewise
8574 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 8575 (memcpy): define alias conditionally on !APPLE_CC
6c688477 8576 (memset): likewise
8577 (abort): likewise
8578 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
8579 APPLE_CC are defined
8580 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
8581 (grub_assert_fail): make prototype conditional
8582
e37ffc5c 85832009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8584
8585 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
8586
473d1e45 8587 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
8588 grub-macho2img
e37ffc5c 8589 (CLEANFILES): add grub-macho2img
8590 (grub_macho2img_SOURCES): new variable
8591 * kern/i386/pc/startup.S (bss_start): new variable
8592 (bss_end): likewise
8593 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
8594 * util/grub-macho2img.c: new file
8595
cf00df31 85962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8597
8598 Use objconv when compiling with Apple's CC
8599
8600 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
8601 (efiemu64.o): likewise
8602 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
8603 when compiling with Apple's CC
8604 (efiemu64_s.o): likewise
8605 * configure.ac: check for objconv when compiling with Apple's CC
8606 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 8607
d119a20c 86082009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8609
8610 Define segment as well as section when compiling with
8611 Apple's CC
8612
8613 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
8614 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
8615 (efiemu_convert_pointer): likewise
8616 (efiemu_set_virtual_address_map): likewise
8617 (efiemu_convert_pointer): likewise
8618 (efiemu_getcrc32): likewise
8619 (init_crc32_table): likewise
8620 (reflect): likewise
8621 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
8622 (GRUB_MOD_DEP): likewise
473d1e45 8623
c8600122 86242009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8625
8626 Allow a compilation without -mcmodel=large
8627
8628 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
8629 when compiled without -mcmodel=large
473d1e45 8630 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 8631 without -mcmodel=large
473d1e45 8632 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 8633 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 8634
e8df1d4e 86352009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8636
8637 Remove nested functions in efiemu core
8638
8639 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 8640
cc6c3ac1 86412009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8642
8643 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
8644
8645 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
8646 temporary storage
473d1e45 8647 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
8648 using Apple's CC
cc6c3ac1 8649 (grub_cpu_is_tsc_supported): likewise
8650 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 8651
3e325901 86522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8653
8654 Absolute addressing through constant with Apple's cc
8655
8656 * kern/i386/pc/startup.S: Define necessary constants
8657 and address through it when using ABS with Apple's CC
8658 * boot/i386/pc/diskboot.S: likewise
8659 * boot/i386/pc/boot.S: likewise
8660 * boot/i386/pc/lnxboot.S: likewise
8661 * boot/i386/pc/cdboot.S: likewise
8662 * mmap/i386/pc/mmap_helper.S: likewise
8663 * commands/i386/pc/drivemap_int13h.S: likewise
8664
2b167a72 86652009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8666
8667 Check if compiler is apple cc
8668
8669 * Makefile.in (ASFLAGS): new variable
8670 (TARGET_ASFLAGS): likewise
8671 (TARGET_MODULE_FORMAT): likewise
8672 (TARGET_APPLE_CC): likewise
8673 (OBJCONV): likewise
8674 (TARGET_IMG_CFLAGS): likewise
8675 (TARGET_CPPFLAGS): add includedir
8676 * configure.ac: call grub_apple_cc and grub_apple_target_cc
8677 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
8678 Check for linker script only if compiler isn't Apple's CC
8679 (TARGET_MODULE_FORMAT): set
8680 (TARGET_APPLE_CC): likewise
8681 (TARGET_ASFLAGS): likewise
8682 (ASFLAGS): likewise
8683 Check for objcopy only if compiler isn't Apple's CC
8684 Check for BSS symbol only if compiler isn't Apple's CC
8685 * genmk.rb: adapt nm options if we use Apple's utils
8686 * aclocal.m4 (grub_apple_cc): new test
8687 (grub_apple_target_cc): likewise
473d1e45 8688
fb14123e 86892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8690
8691 Simplify sed expressions and improve awk
8692
8693 * Makefile.in (install-local): simplify sed expression
8694 * gencmdlist.sh: likewise
8695 * genmoddep.awk: avoid adding module as a dependency of itself
8696
5b889789 86972009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8698
8699 Add missing start symbols
8700
8701 * boot/i386/pc/boot.S: add start
fb14123e 8702 * boot/i386/pc/pxeboot.S: likewise
473d1e45 8703
fd2bf2e3 87042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8705
8706 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 8707
8708 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 8709 (relocate_addresses): consider both r_addend and value at offset
8710 (make_mods_section): zerofill modinfo and header
8711 (convert_elf): write prefix here
473d1e45 8712
5389763d 87132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8714
8715 Use .asciz instead of .string
8716
8717 * i386/pc/diskboot.S: use .asciz instead of .string
8718 * i386/pc/boot.S: likewise
8719 * include/grub/dl.h (GRUB_MOD_DEP): likewise
8720 (GRUB_MOD_NAME): likewise
473d1e45 8721
3eb5ed4e 87222009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8723
8724 gfxpayload support
8725
8726 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
8727 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
8728 (grub_video_setup): remove
8729 (grub_video_set_mode): new prototype
8730 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
8731 (vid_mode): remove
8732 (linux_vesafb_res): compile only on PCBIOS
8733 (grub_linux_boot): support gfxpayload
8734 * loader/i386/pc/xnu.c (video_hook): new function
8735 (grub_xnu_set_video): support gfxpayload
8736 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
8737 (DEFAULT_VIDEO_HEIGHT): likewise
8738 (DEFAULT_VIDEO_FLAGS): likewise
8739 (DEFAULT_VIDEO_MODE): new definition
8740 (video_hook): new function
8741 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 8742 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 8743 loading xnu
8744 * video/video.c (grub_video_setup): removed
473d1e45 8745 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 8746 grub_video_setup
8747
4b0e1143 87482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8749
8750 Avoid calling biosdisk in drivemap
8751
8752 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
8753 (revparse_biosdisk): likewise
8754 (list_mappings): derive name from id directly
8755 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 8756
fda6cb98 87572009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8758
8759 Script fixes
8760
8761 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
8762 (grub_lexer_param): add tokenonhold
8763 (grub_script_create_cmdline): remove cmdline. All callers updated
8764 (grub_script_function_create): make functionname
8765 grub_script_arg. All callers updated
8766 (grub_script_execute_argument_to_string): new prototype
8767 * kern/parser.c (state_transitions): reorder
8768 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 8769 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 8770 make global
8771 (grub_script_execute_cmdline): use new format
8772 * script/sh/function.c (grub_script_function_create): make functionname
8773 grub_script_arg. All callers updated
473d1e45 8774 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 8775 (grub_script_yylex): remove
8776 (grub_script_yylex2): renamed to ...
8777 (grub_script_yylex): ...renamed
8778 parse the expressions like a${b}c
8779 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
8780 (GRUB_PARSER_TOKEN_VAR): remove
8781 (GRUB_PARSER_TOKEN_NAME): likewise
8782 ("if"): declare as typeless
8783 ("while"): likewise
8784 ("function"): likewise
8785 ("else"): likewise
8786 ("then"): likewise
8787 ("fi"): likewise
8788 (text): remove
8789 (argument): likewise
8790 (script): accept empty scripts and make exit on error
8791 (arguments): use GRUB_PARSER_TOKEN_ARG
8792 (function): likewise
8793 (command): move error handling to script
8794 (menuentry): move grub_script_lexer_ref before
473d1e45 8795 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 8796 argument. All callers updated
8797
f4448a07 87982009-06-04 Robert Millan <rmh.grub@aybabtu.com>
8799
8800 Prevent GRUB from probing floppies during boot.
8801
8802 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
8803 * commands/search.c (options): Add --no-floppy.
8804 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
8805 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
8806 --no-floppy when searching for UUIDs.
8807
2bf5885a 88082009-06-04 Robert Millan <rmh.grub@aybabtu.com>
8809
8810 Simplify the code duplication in commands/search.c.
8811
8812 * commands/search.c (search_label, search_fs_uuid): Merge into ...
8813 (search_fs): ... this. Update all users.
8814
f6fd460a 88152009-06-03 Felix Zielcke <fzielcke@z-51.de>
8816
8817 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
8818
cbb3c83e 88192009-05-28 Pavel Roskin <proski@gnu.org>
8820
57788cfd 8821 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
8822 Remove the original symlink explicitly.
8823
cbb3c83e 8824 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
8825 just one slash. That's how grub_fshelp_find_file() does it.
8826
cd0d5e30 88272009-05-26 Pavel Roskin <proski@gnu.org>
8828
f0f8bbe2 8829 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
8830 to `str'.
8831
cd0d5e30 8832 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
8833 possibly unused.
8834
8c2cab51 88352009-05-25 Christian Franke <franke@computer.org>
8836
8837 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
8838 register.
8839 (grub_atapi_identify): Add wait after drive select.
8840 (grub_ata_identify): Do more strict status register check before
8841 calling grub_atapi_identify (). Suppress error message if status
8842 register is 0x00 after command failure. Add status register
8843 check after PIO read to avoid bogus identify due to stuck DRQ.
8844 Thanks to Pavel Roskin for testing.
8845 (grub_device_initialize): Remove unsafe status register check.
8846 Thanks to 'phcoder' for problem report and patch.
8847 Prevent sign extension in debug message.
8848
230c0ad6 88492009-05-23 Colin D Bennett <colin@gibibit.com>
8850
8851 Cleaned up `include/grub/normal.h'. Grouped prototypes by
8852 definition file, and functions defined in `normal/menu.c' have had
8853 their prototypes moved to `include/grub/menu.h' for consistency.
8854
8855 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
8856 from normal.h.
8857 (grub_menu_get_entry): Likewise.
8858 (grub_menu_get_timeout): Likewise.
8859 (grub_menu_set_timeout): Likewise.
8860 (grub_menu_execute_entry): Likewise.
8861 (grub_menu_execute_with_fallback): Likewise.
8862 (grub_menu_entry_run): Likewise.
8863
8864 * include/grub/normal.h: Re-ordered and grouped function
8865 prototypes by file that the function is defined in.
8866 (grub_menu_execute_callback): Removed; moved to menu.h.
8867 (grub_menu_get_entry): Likewise.
8868 (grub_menu_get_timeout): Likewise.
8869 (grub_menu_set_timeout): Likewise.
8870 (grub_menu_execute_entry): Likewise.
8871 (grub_menu_execute_with_fallback): Likewise.
8872 (grub_menu_entry_run): Likewise.
8873 (grub_menu_addentry): Renamed from this ...
8874 (grub_normal_add_menu_entry): ... to this.
8875
8876 * normal/main.c (grub_menu_addentry): Renamed from this ...
8877 (grub_normal_add_menu_entry): ... to this.
8878
8879 * script/sh/execute.c (grub_script_execute_menuentry): Update
8880 reference to renamed grub_menu_addentry function.
8881
861f03a5 88822009-05-23 Felix Zielcke <fzielcke@z-51.de>
8883
8884 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
8885
96b1619a 88862009-05-22 Pavel Roskin <proski@gnu.org>
8887
bf6a5fb2 8888 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
8889 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
8890 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
8891 compiling for the i386 targets, but not for the utilities.
8892
96b1619a 8893 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
8894 to grub_uint8_t.
8895 (grub_root_drive): Likewise.
8896 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
8897 remove alignment.
8898 (grub_root_drive): Change size to byte.
8899 (grub_start_addr): Remove.
8900 (grub_end_addr): Likewise.
8901 (grub_apm_bios_info): Likewise.
8902
b729776b 89032009-05-21 Felix Zielcke <fzielcke@z-51.de>
8904
8905 * normal/i386: Remove.
8906 * normal/powerpc: Likewise.
8907 * normal/sparc64: Likewise.
8908 * normal/x86_64: Likewise.
8909
0a15ce80 89102009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
8911
8912 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 8913 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 8914 * loader/i386/xnu_helper.S: Likewise
d6da58e6 8915
33db9015 89162009-05-18 Colin D Bennett <colin@gibibit.com>
8917
d6da58e6 8918 Display error messages when parsing a Lua statement fails.
8919 Previously, executing a syntactically invalid statement like
8920 ")foo" or "bar;" would silently fail.
33db9015 8921
8922 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 8923 (grub_lua_parse_line): Improved reporting of Lua parser and
8924 execution errors.
33db9015 8925
46422c89 89262009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8927
8928 Remove -Werror which causes build to fail on some systems
8929
8930 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
8931 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
8932 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 8933
22f53a96 89342009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8935
8936 trampoline for linux on 64-bit platform
8937
18f547ad 8938 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
8939 loader/i386/efi/linux_trampoline.S
8940 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 8941 declaration
d6da58e6 8942 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
8943 here
22f53a96 8944 * loader/i386/linux_trampoline.S: moved here
d6da58e6 8945 * loader/i386/efi/linux.c (allocate_pages): reserve space for
8946 trampoline
22f53a96 8947 (jumpvector): removed
8948 (grub_linux_trampoline_start): new declaration
8949 (grub_linux_trampoline_end): likewise
8950 (grub_linux_boot): use trampoline when on 64-bit platform
8951 * loader/i386/linux.c: likewise
8952
cb5a0f40 89532009-05-16 Pavel Roskin <proski@gnu.org>
8954
8955 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
8956 const to avoid a warning.
8957 (grub_lua_setenv): Likewise.
8958 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
8959 lmsg to fix a warning.
8960
334f2c28 89612009-05-16 Felix Zielcke <fzielcke@z-51.de>
8962
8963 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 8964 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
8965 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
8966 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
8967 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
8968 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
8969 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
8970 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 8971
59e5d3ec 89722009-05-16 Felix Zielcke <fzielcke@z-51.de>
8973
8974 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
8975
9d87a1ba 89762009-05-16 Bean <bean123ch@gmail.com>
8977
8978 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
8979 (lua_mod_SOURCES): New variable.
8980 (lua_mod_CFLAGS): Likewise.
8981 (lua_mod_LDFLAGS): Likewise.
8982
8983 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
8984 (setjmp_mod_SOURCES): New variable.
8985 (setjmp_mod_CFLAGS): Likewise.
8986 (setjmp_LDFLAGS): Likewise.
8987
8988 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
8989 (setjmp_mod_SOURCES): New variable.
8990 (setjmp_mod_CFLAGS): Likewise.
8991 (setjmp_LDFLAGS): Likewise.
8992
8993 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
8994 (setjmp_mod_SOURCES): New variable.
8995 (setjmp_mod_CFLAGS): Likewise.
8996 (setjmp_LDFLAGS): Likewise.
8997
8998 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
8999 (setjmp_mod_SOURCES): New variable.
9000 (setjmp_mod_CFLAGS): Likewise.
9001 (setjmp_LDFLAGS): Likewise.
9002
9003 * normal/i386/setjmp.S: Moved from here ...
9004 * lib/i386/setjmp.S: ... Moved here
9005 * normal/x86_64/setjmp.S: Moved from here ...
9006 * lib/x86_64/setjmp.S: ... Moved here
9007 * normal/powerpc/setjmp.S: Moved from here ...
9008 * lib/powerpc/setjmp.S: ... Moved here
9009 * normal/sparc64/setjmp.S: Moved from here ...
9010 * lib/sparc64/setjmp.S: ... Moved here
9011
9012 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
9013 returns_twice in mingw.
9014
9015 * script/lua/grub_lib.c: New file.
9016 * script/lua/grub_lib.h: Likewise.
9017 * script/lua/grub_lua.h: Likewise.
9018 * script/lua/grub_main.c: Likewise.
9019 * script/lua/lapi.c: Likewise.
9020 * script/lua/lapi.h: Likewise.
9021 * script/lua/lauxlib.c: Likewise.
9022 * script/lua/lauxlib.h: Likewise.
9023 * script/lua/lbaselib.c: Likewise.
9024 * script/lua/lcode.c: Likewise.
9025 * script/lua/lcode.h: Likewise.
9026 * script/lua/ldblib.c: Likewise.
9027 * script/lua/ldebug.c: Likewise.
9028 * script/lua/ldebug.h: Likewise.
9029 * script/lua/ldo.c: Likewise.
9030 * script/lua/ldo.h: Likewise.
9031 * script/lua/ldump.c: Likewise.
9032 * script/lua/lfunc.c: Likewise.
9033 * script/lua/lfunc.h: Likewise.
9034 * script/lua/lgc.c: Likewise.
9035 * script/lua/lgc.h: Likewise.
9036 * script/lua/linit.c: Likewise.
9037 * script/lua/liolib.c: Likewise.
9038 * script/lua/llex.c: Likewise.
9039 * script/lua/llex.h: Likewise.
9040 * script/lua/llimits.h: Likewise.
9041 * script/lua/lmathlib.c: Likewise.
9042 * script/lua/lmem.c: Likewise.
9043 * script/lua/lmem.h: Likewise.
9044 * script/lua/loadlib.c: Likewise.
9045 * script/lua/lobject.c: Likewise.
9046 * script/lua/lobject.h: Likewise.
9047 * script/lua/lopcodes.c: Likewise.
9048 * script/lua/lopcodes.h: Likewise.
9049 * script/lua/loslib.c: Likewise.
9050 * script/lua/lparser.c: Likewise.
9051 * script/lua/lparser.h: Likewise.
9052 * script/lua/lstate.c: Likewise.
9053 * script/lua/lstate.h: Likewise.
9054 * script/lua/lstring.c: Likewise.
9055 * script/lua/lstring.h: Likewise.
9056 * script/lua/lstrlib.c: Likewise.
9057 * script/lua/ltable.c: Likewise.
9058 * script/lua/ltable.h: Likewise.
9059 * script/lua/ltablib.c: Likewise.
9060 * script/lua/ltm.c: Likewise.
9061 * script/lua/ltm.h: Likewise.
9062 * script/lua/lua.h: Likewise.
9063 * script/lua/luaconf.h: Likewise.
9064 * script/lua/lualib.h: Likewise.
9065 * script/lua/lundump.c: Likewise.
9066 * script/lua/lundump.h: Likewise.
9067 * script/lua/lvm.c: Likewise.
9068 * script/lua/lvm.h: Likewise.
9069 * script/lua/lzio.c: Likewise.
9070 * script/lua/lzio.h: Likewise.
9071
5e898c9d 90722009-05-16 Bean <bean123ch@gmail.com>
9073
9074 * include/grub/kernel.h (grub_module_header_types): Add type
9075 OBJ_TYPE_CONFIG.
9076
9077 * kern/main.c (grub_load_config): New function.
9078 (grub_main): Call grub_load_config to read boot config.
9079
9080 * grub-mkimage (generate_image): New parameter config_path.
9081 (options): New option --config.
9082 (main): Parse --config option, and pass it to generate_image.
9083
cf353a47 90842009-05-14 Christian Franke <franke@computer.org>
9085
9086 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
9087 This fixes build on Cygwin.
9088
3834887f 90892009-05-14 Pavel Roskin <proski@gnu.org>
9090
9091 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
9092 jump. This saves two bytes, so the typical case of 2 swapped
9093 drives would fit 32 bytes.
9094
8090fc01 90952009-05-13 Pavel Roskin <proski@gnu.org>
9096
ac963883 9097 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
9098 grub_uint32_t to avoid a warning.
9099
8090fc01 9100 * loader/i386/linux.c (allocate_pages): When assigning
9101 real_mode_mem, cast through grub_size_t to fix a warning. The
9102 code already makes sure that the value would fit a pointer.
9103 (grub_linux_setup_video): Cast render_target->data to
9104 grub_size_t to fix a warning.
9105
18f547ad 91062009-05-13 Javier MartĂ­n <lordhabbit@gmail.com>
4246b8a9 9107
9108 * commands/i386/pc/drivemap.c: New file - implement drivemap
9109 command.
9110 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
9111 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
9112
6f6a8b28 91132009-05-13 Pavel Roskin <proski@gnu.org>
9114
9115 * util/i386/pc/grub-setup.c (setup): Remove unused variable
9116 embedding_area_exists.
9117
15fbf4c4 91182009-05-13 Robert Millan <rmh.grub@aybabtu.com>
9119
9120 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
9121 it easier to understand / work with.
59978c8a 9122 Improve warning messages for cases where there's no embedding area,
9123 or when it is too small (or core.img too large).
15fbf4c4 9124
238e871f 91252009-05-13 Pavel Roskin <proski@gnu.org>
9126
0ab3a9a4 9127 * loader/i386/pc/multiboot2.c: Add necessary includes for
9128 grub_multiboot2_real_boot().
9129
a2c8c5f8 9130 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
9131 PX record is always little-endian. We only need the lower 2
9132 bytes of the mode.
9133
faec96af 9134 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
9135 facilitate code reuse.
9136 (grub_cpio_mount): Use "struct head", not a char buffer. This
9137 fixes a warning reported by gcc 4.4.
9138
238e871f 9139 * kernel/disk.c (grub_disk_read): Use void pointer for the
9140 buffer.
9141 (grub_disk_write): Use const void pointer for the buffer.
9142 Adjust all callers. Remove unnecessary casts.
9143
901d2f0c 91442009-05-10 Robert Millan <rmh.grub@aybabtu.com>
9145
9146 * util/i386/pc/grub-install.in: Update copyright year.
9147
18f547ad 91482009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 9149
9150 gptsync
9151
9152 * commands/gptsync.c: new file
9153 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
9154 (gptsync_mod_SOURCES): new variable
9155 (gptsync_mod_CFLAGS): likewise
9156 (gptsync_mod_LDFLAGS): likewise
18f547ad 9157 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 9158 new definition
9159 (GRUB_PC_PARTITION_TYPE_HFS): likewise
9160 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
9161 * conf/i386-ieee1275.rmk: likewise
9162 * conf/i386-pc.rmk: likewise
9163 * conf/powerpc-ieee1275.rmk: likewise
9164
b4ba690a 91652009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9166
9167 Fixed grub-emu
9168
9169 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
9170 (grub_dl_ref): likewise
9171
317e1a44 91722009-05-08 Robert Millan <rmh.grub@aybabtu.com>
9173
9174 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
9175 split in two functions (one for msdos and one for gpt).
9176
041b8094 91772009-05-08 Pavel Roskin <proski@gnu.org>
9178
752473c2 9179 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
9180 not modified.
9181
041b8094 9182 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
9183 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
9184 Initialize them with -1. Add sanity check for bad1. Eliminate
9185 nerr variable.
9186
172800ce 91872009-05-08 David S. Miller <davem@davemloft.net>
9188
9189 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
9190
29aa5e81 91912009-05-06 Robert Millan <rmh.grub@aybabtu.com>
9192
9193 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 9194 existence.
29aa5e81 9195
96613b62 91962009-05-05 Felix Zielcke <fzielcke@z-51.de>
9197
9198 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 9199 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 9200
eef73c8a 92012009-05-05 David S. Miller <davem@davemloft.net>
9202
9203 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
9204
119494b5 92052009-05-05 Pavel Roskin <proski@gnu.org>
9206
9207 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
9208 of grub_dl_ref() and grub_dl_unref().
9209 * commands/parttool.c: Remove preprocessor conditionals around
9210 grub_dl_ref() and grub_dl_unref().
9211 * fs/affs.c: Likewise.
9212 * fs/afs.c: Likewise.
9213 * fs/cpio.c: Likewise.
9214 * fs/ext2.c: Likewise.
9215 * fs/fat.c: Likewise.
9216 * fs/hfs.c: Likewise.
9217 * fs/hfsplus.c: Likewise.
9218 * fs/iso9660.c: Likewise.
9219 * fs/jfs.c: Likewise.
9220 * fs/minix.c: Likewise.
9221 * fs/ntfs.c: Likewise.
9222 * fs/reiserfs.c: Likewise.
9223 * fs/sfs.c: Likewise.
9224 * fs/udf.c: Likewise.
9225 * fs/ufs.c: Likewise.
9226 * fs/xfs.c: Likewise.
9227 * include/grub/dl.h: Likewise.
9228 * loader/xnu.c: Likewise.
9229
de5fd76e 92302009-05-04 Pavel Roskin <proski@gnu.org>
9231
9232 * commands/acpi.c: Remove unused variable my_mod.
9233 * partmap/amiga.c: Likewise.
9234 * partmap/apple.c: Likewise.
9235 * partmap/gpt.c: Likewise.
9236 * partmap/pc.c: Likewise.
9237 * partmap/sun.c: Likewise.
9238 * term/gfxterm.c: Likewise.
9239 * term/i386/pc/vesafb.c: Likewise.
9240 * term/i386/pc/vga.c: Likewise.
9241
983598ad 92422009-05-04 David S. Miller <davem@davemloft.net>
9243
9244 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
9245 pointer args to grub_ieee1275_get_property().
9246
8aadec43 9247 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
9248
9554b15e 9249 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
9250 devices, and do not traverse down under controller nodes.
9251
67e23c90 9252 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
9253 (grub_ofdisk_open): Use it to un-escape "," characters.
9254 * kern/disk.c (find_part_sep): New.
9255 (grub_disk_open): Use it to find the first non-escaped ','
9256 character in the disk name.
9257 * util/ieee1275/devicemap.c (escape_of_path): New.
9258 (grub_util_emit_devicemap_entry): Use it.
9259 * util/sparc64/ieee1275/grub-install.in: Update script to
9260 strip partition specifiers properly by not triggering on
9261 '\' escaped ',' characters.
9262
74bfdd2f 92632009-05-04 Robert Millan <rmh.grub@aybabtu.com>
9264
9265 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
9266 to 0x300.
9267 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
9268 resolutions.
9269 (linux_vesafb_modes): Add a lot of additional modes to the list (based
9270 on documentation from Wikipedia).
9271
4241d2b1 92722009-05-04 Pavel Roskin <proski@gnu.org>
9273
9274 * disk/ata.c: Spelling fixes.
9275 * disk/raid.c: Likewise.
9276 * disk/usbms.c: Likewise.
9277 * disk/dmraid_nvidia.c: Likewise.
9278 * kern/ieee1275/openfw.c: Likewise.
9279 * kern/ieee1275/init.c: Likewise.
9280 * kern/ieee1275/cmain.c: Likewise.
9281 * boot/i386/pc/cdboot.S: Likewise.
9282 * video/readers/png.c: Likewise.
9283 * video/i386/pc/vbe.c: Likewise.
9284 * fs/udf.c: Likewise.
9285 * fs/hfs.c: Likewise.
9286 * fs/reiserfs.c: Likewise.
9287 * efiemu/runtime/efiemu.c: Likewise.
9288 * efiemu/main.c: Likewise.
9289 * efiemu/mm.c: Likewise.
9290 * include/grub/elf.h: Likewise.
9291 * include/grub/xnu.h: Likewise.
9292 * include/grub/usbdesc.h: Likewise.
9293 * include/grub/usb.h: Likewise.
9294 * include/grub/script_sh.h: Likewise.
9295 * include/grub/lib/LzmaEnc.h: Likewise.
9296 * include/grub/efiemu/efiemu.h: Likewise.
9297 * include/grub/command.h: Likewise.
9298 * normal/menu.c: Likewise.
9299 * normal/main.c: Likewise.
9300 * normal/datetime.c: Likewise.
9301 * bus/usb/uhci.c: Likewise.
9302 * mmap/i386/uppermem.c: Likewise.
9303 * mmap/mmap.c: Likewise.
9304 * commands/acpi.c: Likewise.
9305 * commands/test.c: Likewise.
9306 * partmap/apple.c: Likewise.
9307 * font/font.c: Likewise.
9308 * loader/sparc64/ieee1275/linux.c: Likewise.
9309 * loader/macho.c: Likewise.
9310 * loader/i386/bsd_trampoline.S: Likewise.
9311 * loader/i386/bsd.c: Likewise.
9312 * loader/xnu.c: Likewise.
9313 * term/i386/pc/vesafb.c: Likewise.
9314 * term/usb_keyboard.c: Likewise.
9315 * util/resolve.c: Likewise.
9316 * util/getroot.c: Likewise.
9317
0cfc0083 93182009-05-04 Felix Zielcke <fzielcke@z-51.de>
9319
9320 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
9321
7c1d00cd 93222009-05-04 Robert Millan <rmh.grub@aybabtu.com>
9323
9324 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
9325 build error.
9326
b01f0548 93272009-05-04 Robert Millan <rmh.grub@aybabtu.com>
9328
9329 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
9330 parameter only available on BIOS.
9331
ecc3eb22 93322009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9333
9334 Removed wrong semicolon in declaration
9335
9336 * grub/misc.h (grub_dprintf): remove semicolon
9337
112972a9 93382009-05-04 Robert Millan <rmh.grub@aybabtu.com>
9339
9340 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
9341 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
9342 is done by grub_cmd_linux() now).
9343 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
9344 restore video to text mode.
9345 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
9346 indicates lack of "vga=" parameter. "vga=0" is mapped to
9347 `GRUB_LINUX_VID_MODE_NORMAL'.
9348
afd5c115 93492009-05-04 Felix Zielcke <fzielcke@z-51.de>
9350
9351 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
9352 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
9353 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 9354 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 9355 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
9356 `grub_script.tab.c'.
9357
9358 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9359 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9360 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9361 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
9362 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9363
faa517ce 9364 * Makefile.in: Remove duplicated 2008 in Copyright line.
9365
ae0c0bdc 93662009-05-04 Robert Millan <rmh.grub@aybabtu.com>
9367
473d1e45 9368 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 9369 unconditionally.
9370 * include/grub/util/misc.h (grub_util_warn): New declaration.
9371
9372 * util/i386/pc/grub-install.in: Understand --force and pass it down
9373 to grub-setup.
9374
9375 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
9376 down to setup().
9377 (setup): Improve error messages and add warnings when requested to
9378 install in odd layouts. Refuse to install using blocklists unless
9379 --force was set.
9380
18f547ad 93812009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 9382
9383 * disk/raid.c (grub_raid_scan_device): Improve debug message.
9384
6d260daa 93852009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9386
9387 Updated copyright year
9388
9389 * fs/hfsplus.c: updated copyright year
18f547ad 9390
69f853f8 93912009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9392
9393 HFS+ UUID
9394
18f547ad 9395 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 9396 in the space previously used by unused3
9397 (grub_hfsplus_uuid): new function
9398 (grub_hfsplus_fs): added uuid field
9399
4c402e73 94002009-05-03 Pavel Roskin <proski@gnu.org>
9401
9402 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
9403 suppress warnings. It's no longer needed.
9404 * disk/host.c: Likewise.
9405 * disk/ata_pthru.c: Likewise.
9406 * disk/loopback.c: Likewise.
9407 * hook/datehook.c: Likewise.
9408 * parttool/pcpart.c: Likewise.
9409 * fs/i386/pc/pxe.c: Likewise.
9410 * fs/ntfscomp.c: Likewise.
9411 * efiemu/main.c: Likewise.
9412 * mmap/mmap.c: Likewise.
9413 * commands/crc.c: Likewise.
9414 * commands/hexdump.c: Likewise.
9415 * commands/hdparm.c: Likewise.
9416 * commands/acpi.c: Likewise.
9417 * commands/echo.c: Likewise.
9418 * commands/minicmd.c: Likewise.
9419 * commands/blocklist.c: Likewise.
9420 * commands/memrw.c: Likewise.
9421 * commands/loadenv.c: Likewise.
9422 * commands/usbtest.c: Likewise.
9423 * commands/lsmmap.c: Likewise.
9424 * commands/boot.c: Likewise.
9425 * commands/parttool.c: Likewise.
9426 * commands/configfile.c: Likewise.
9427 * commands/search.c: Likewise.
9428 * commands/ieee1275/suspend.c: Likewise.
9429 * commands/cat.c: Likewise.
9430 * commands/i386/pc/pxecmd.c: Likewise.
9431 * commands/i386/pc/play.c: Likewise.
9432 * commands/i386/pc/halt.c: Likewise.
9433 * commands/i386/pc/vbeinfo.c: Likewise.
9434 * commands/i386/pc/vbetest.c: Likewise.
9435 * commands/lspci.c: Likewise.
9436 * commands/date.c: Likewise.
9437 * commands/handler.c: Likewise.
9438 * commands/ls.c: Likewise.
9439 * commands/test.c: Likewise.
9440 * commands/cmp.c: Likewise.
9441 * commands/efi/loadbios.c: Likewise.
9442 * commands/efi/fixvideo.c: Likewise.
9443 * commands/halt.c: Likewise.
9444 * commands/help.c: Likewise.
9445 * commands/reboot.c: Likewise.
9446 * hello/hello.c: Likewise.
9447 * script/sh/main.c: Likewise.
9448 * loader/xnu.c: Likewise.
9449 * term/terminfo.c: Likewise.
9450 * term/i386/pc/serial.c: Likewise.
9451 * term/usb_keyboard.c: Likewise.
9452
515b5079 94532009-05-03 David S. Miller <davem@davemloft.net>
9454
9455 * normal/menu.c: Include grub/parser.h
9456
dfc31a22 94572009-05-03 Pavel Roskin <proski@gnu.org>
9458
2fee74f1 9459 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
9460 not char*.
9461 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
9462 Suggested by Javier MartĂ­n <lordhabbit@gmail.com>
9463
dfc31a22 9464 * util/i386/pc/grub-mkrescue.in: Allow for the case when
9465 efiemu??.o doesn't exist.
9466 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
9467 copying.
9468
18f547ad 94692009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 9470
9471 FreeBSD 64-bit support
9472
18f547ad 9473 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 9474 and loader/i386/bsd_trampoline.S
9475 (bsd_mod_ASFLAGS): new variable
9476 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
9477 (FREEBSD_MODTYPE_KERNEL64): likewise
9478 (grub_bsd64_trampoline_start): likewise
9479 (grub_bsd64_trampoline_end): likewise
9480 (grub_bsd64_trampoline_selfjump): likewise
9481 (grub_bsd64_trampoline_gdt): likewise
9482 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
9483 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
9484 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
9485 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 9486 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 9487 of "attrib" member
9488 * loader/i386/bsd_pagetable.c: new file
9489 * loader/i386/bsd_trampoline.S: likewise
9490 * loader/i386/bsd.c (ALIGN_QWORD): new macro
9491 (ALIGN_VAR): likewise
9492 (entry_hi): new variable
9493 (kern_end_mdofs): likewise
9494 (is_64bit): likewise
9495 (grub_freebsd_add_meta): use ALIGN_VAR
9496 (grub_e820_mmap): new declaration
9497 (grub_freebsd_add_mmap): new function
9498 (grub_freebsd_add_meta_module): support 64 bit kernels
9499 (grub_freebsd_list_modules): use ALIGN_VAR
9500 (gdt_descriptor): new declaration
9501 (grub_freebsd_boot): support 64 bit kernels
9502 (grub_bsd_elf64_hook): new function
9503 (grub_bsd_load_elf): support elf64
9504
038c5720 95052009-05-03 Bean <bean123ch@gmail.com>
9506
9507 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
9508 after we get the result of if statement.
9509
fc45fb58 95102009-05-03 Bean <bean123ch@gmail.com>
9511
9512 * Makefile.in (enable_efiemu): New variable.
9513
9514 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
9515 set.
9516 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
9517 path.
9518 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
9519 path, add -mno-red-zone option.
9520 (efiemu64_s.o): Likewise.
9521 (efiemu64.o): Use macro $^ for source file.
9522
9523 * configure.ac (--enable-efiemu): New option.
9524
bbee0f2b 95252009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9526
9527 xnu support
9528
9529 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
9530 (pkglib_MODULES): add xnu.mod
9531 (xnu_mod_SOURCES): new variable
9532 (xnu_mod_CFLAGS): likewise
9533 (xnu_mod_LDFLAGS): likewise
9534 (xnu_mod_ASFLAGS): likewise
9535 * conf/i386-pc.rmk: likewise
9536 * conf/x86_64-efi.rmk: likewise
7dd4a573 9537 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 9538 new declaration
9539 * include/grub/i386/macho.h: new file
9540 * include/grub/i386/xnu.h: likewise
9541 * include/grub/macho.h: likewise
9542 * include/grub/machoload.h: likewise
9543 * include/grub/x86_64/macho.h: likewise
9544 * include/grub/x86_64/xnu.h: likewise
9545 * include/grub/xnu.h: likewise
9546 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
9547 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
9548 * loader/i386/efi/xnu.c: new file
9549 * loader/i386/pc/xnu.c: likewise
9550 * loader/i386/xnu.c: likewise
9551 * loader/i386/xnu_helper.S: likewise
9552 * loader/macho.c: likewise
9553 * loader/xnu.c: likewise
9554 * loader/xnu_resume.c: likewise
9555 * util/grub-dumpdevtree: likewise
9556 * include/grub/i386/pit.h: include grub/err.h
9557 (grub_pit_wait): export
9558 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 9559
5caf964d 95602009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9561
9562 Efiemu
7dd4a573 9563
5caf964d 9564 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 9565 _linux_efi, linux_efi.
9566 new files in grub-emu
5caf964d 9567 new targets efiemu32.o and efiemu64.o
9568 * loader/linux_normal_efiemu.c: likewise
9569 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 9570 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 9571 files to copy
9572 * include/grub/autoefi.h: new file
7dd4a573 9573 * include/grub/i386/efiemu.h: likewise
5caf964d 9574 * include/grub/i386/pc/efiemu.h: likewise
9575 * include/grub/efi/api.h: add LL suffix when necessary
9576 new definitions relating to tables
9577 * include/grub/efiemu/efiemu.h: new file
9578 * include/grub/efiemu/runtime.h: likewise
9579 * efiemu/prepare.c: likewise
9580 * efiemu/loadcore_common.c: likewise
9581 * efiemu/loadcore64.c: likewise
9582 * efiemu/runtime/efiemu.sh: likewise
9583 * efiemu/runtime/efiemu.S: likewise
9584 * efiemu/runtime/efiemu.c: likewise
9585 * efiemu/runtime/config.h: likewise
9586 * efiemu/prepare32.c: likewise
9587 * efiemu/main.c: likewise
9588 * efiemu/modules/pnvram.c: likewise
9589 * efiemu/modules/i386: likewise
9590 * efiemu/modules/i386/pc: likewise
9591 * efiemu/modules/acpi.c: likewise
9592 * efiemu/i386/pc/cfgtables.c: likewise
9593 * efiemu/i386/loadcore64.c: likewise
9594 * efiemu/i386/loadcore32.c: likewise
9595 * efiemu/prepare64.c: likewise
9596 * efiemu/loadcore.c: likewise
9597 * efiemu/symbols.c: likewise
9598 * efiemu/mm.c: likewise
9599 * efiemu/loadcore32.c: likewise
7dd4a573 9600
96012009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 9602
9603 ACPI spoofing
9604
9605 * commands/acpi.c: new file
9606 * commands/i386/pc/acpi.c: likewise
9607 * commands/efi/acpi.c: likewise
9608 * include/grub/acpi.h: likewise
9609 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
9610 (acpi_mod_SOURCES): new variable
9611 (acpi_mod_CFLAGS): likewise
9612 (acpi_mod_LDFLAGS): likewise
9613 * conf/i386-efi.rmk: likewise
9614 * conf/x86_64-efi.rmk: likewise
9615
7dd4a573 96162009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 9617
9618 Missing part from mmap patch
9619
9620 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
9621 (grub_mmap_unregister)
9622 (grub_mmap_free_and_unregister): use grub_mmap_register
9623
7dd4a573 96242009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 9625
9626 Mmap services
9627
9628 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
9629 * loader/i386/linux.c (find_mmap_size): likewise
9630 (allocate_pages): likewise
9631 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
9632 (grub_fill_multiboot_mmap): likewise
9633 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
9634 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
9635 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
9636 (OPENBSD_MMAP_RESERVED): likewise
9637 * include/grub/i386/pc/memory.h: include grub/memory.h
9638 (grub_lower_mem): removed
9639 (grub_upper_mem): likewise
9640 (GRUB_MACHINE_MEMORY_ACPI): new definition
9641 (GRUB_MACHINE_MEMORY_NVS): likewise
9642 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
9643 (GRUB_MACHINE_MEMORY_HOLE): likewise
9644 (grub_machine_mmap_register): likewise
9645 (grub_machine_mmap_unregister): likewise
9646 (grub_machine_get_upper): likewise
9647 (grub_machine_get_lower): likewise
9648 (grub_machine_get_post64): likewise
9649 * include/grub/i386/efi/memory.h: new file
9650 * include/grub/x86_64/efi/memory.h: likewise
9651 * include/grub/efi/memory.h: likewise
9652 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
9653 (mmap_mod_SOURCES): new variable
9654 (mmap_mod_LDFLAGS): likewise
9655 (mmap_mod_ASFLAGS): likewise
9656 * conf/i386-coreboot.rmk: likewise
9657 * conf/i386-ieee1275.rmk: likewise
9658 * conf/i386-efi.rmk: likewise
9659 * conf/x86_64-efi.rmk: likewise
9660 * include/grub/types.h (UINT_TO_PTR): new macro
9661 (PTR_TO_UINT32): likewise
9662 (PTR_TO_UINT64): likewise
9663 * include/grub/memory.h: new file
9664 * mmap/i386/pc/mmap.c: likewise
9665 * mmap/i386/pc/mmap_helper.S: likewise
9666 * mmap/i386/uppermem.c: likewise
9667 * mmap/mmap.c: likewise
9668 * mmap/efi/mmap.c: likewise
7dd4a573 9669 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 9670 grub_upper_mem
9671 * kern/i386/pc/init.c (grub_lower_mem): removed variable
9672 (grub_upper_mem): likewise
9673 (grub_machine_init): don't use grub_upper_mem,
9674 make grub_lower_mem local
9675 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
9676 grub_mmap_iterate and grub_mmap_get_upper
9677 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
9678
d558e6b5 96792009-05-02 Bean <bean123ch@gmail.com>
9680
9681 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
9682 script/sh/parser.y.
9683 (pkglib_MODULES): Add normal.mod and sh.mod.
9684 (normal_SOURCES): New variable.
9685 (normal_mod_CFLAGS): Likewise.
9686 (normal_mod_LDFLAGS): Likewise.
9687 (sh_mod_SOURCES): Likewise.
9688 (sh_mod_CFLAGS): Likewise.
9689 (sh_mod_LDFLAGS): Likewise.
9690
9691 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
9692 script/sh/lexer.c_DEPENDENCIES.
9693 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
9694 kern/rescue_reader.c and kern/rescue_parser.c.
9695 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
9696 (grub_emu_SOURCES): Change source files.
9697 (pkglib_MODULES): Remove normal.mod.
9698 (normal_SOURCES): Removed.
9699 (normal_mod_CFLAGS): Likewise.
9700 (normal_mod_LDFLAGS): Likewise.
9701 * conf/i386-coreboot.rmk: Likewise.
9702 * conf/i386-efi.rmk: Likewise.
9703 * conf/i386-ieee1276.rmk: Likewise.
9704 * conf/powerpc-ieee1275.rmk: Likewise.
9705 * conf/sparc64-ieee1275.rmk: Likewise.
9706 * conf/x86_64-efi.rmk: Likewise.
9707
9708 * include/grub/command.h (grub_command_execute): New inline function.
9709
9710 * include/grub/menu.h (grub_menu_entry): Removed commands field.
9711
9712 * include/grub/normal.h: Remove <grub/setjmp.h>.
9713 (grub_fs_module_list): Moved to normal/autofs.c.
9714 (grub_exit_env): Removed.
9715 (grub_command_execute): Likewise.
9716 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
9717 parameter script.
9718 (read_command_list): New function declaration.
9719 (read_fs_list): Likewise.
9720
9721 * include/parser.h: Include <grub/reader.h>.
9722 (grub_parser_split_cmdline): Change type of getline parameter.
9723 (grub_parser): New structure.
9724 (grub_parser_class): New variable.
9725 (grub_parser_execute): New function declaration.
9726 (grub_register_rescue_parser): Likewise.
9727 (grub_parser_register): New inline function.
9728 (grub_parser_unregister): Likewise.
9729 (grub_parser_get_current): Likewise.
9730 (grub_parser_set_current): Likewise.
9731
9732 * include/grub/reader.h: New file.
9733 * kern/reader.c: Likewise.
9734 * kern/rescue_parser.c: Likewise.
9735 * kern/rescue_reader.c: Likewise.
9736 * normal/autofs.c: Likewise.
9737 * normal/dyncmd.c: Likewise.
9738
9739 * include/grub/rescue.h: Removed.
9740 * normal/command.h: Likewise.
9741
9742 * include/grub/script.h: Moved to ...
9743 * include/grub/script_sh.h: ... Moved here.
9744 * normal/execute.c: Moved to ...
9745 * script/sh/execute.c: ... Moved here.
9746 * normal/function.c: Moved to ...
9747 * script/sh/function.c: ... Moved here.
9748 * normal/lexer.c: Moved to ...
9749 * script/sh/lexer.c: ... Moved here.
9750 * normal/parser.y: Moved to ...
9751 * script/sh/parser.y: ... Moved here.
9752 * normal/script.c: Moved to ...
9753 * script/sh/script.c: ... Moved here.
9754
9755 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
9756 <grub/reader.h>.
9757 (grub_exit_env): Removed.
9758 (fs_module_list): Moved to normal/autofs.c.
9759 (grub_file_getline): Don't handle comment here.
9760 (free_menu): Skip removed field entry->commands.
9761 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
9762 script parameter.
9763 (read_config_file): Removed nested parameter, change getline function.
9764 (grub_enter_normal_mode): Removed.
9765 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
9766 (read_command_list): Likewise.
9767 (autoload_fs_module): Moved to normal/autofs.c.
9768 (read_fs_list): Likewise.
9769 (reader_nested): New variable.
9770 (grub_normal_execute): Run parser.sh to switch to sh parser.
9771 (grub_cmd_rescue): Removed.
9772 (cmd_normal): Removed.
9773 (grub_cmd_normal): Unregister itself at the beginning. Don't register
9774 rescue command.
9775 (grub_cmdline_run): New function.
9776 (grub_normal_reader_init): Likewise.
9777 (grub_normal_read_line): Likewise.
9778 (grub_env_write_pager): Likewise.
9779 (cmdline): New variable.
9780 (grub_normal_reader): Likewise.
9781 (GRUB_MOD_INIT): Register normal reader and set as current, register
9782 pager hook, register normal command with grub_register_command_prio,
9783 so that it won't show up in command.lst.
9784 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
9785 grub_fs_autoload_hook.
9786
9787 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
9788 (grub_menu_execute_entry): Replace grub_script_execute with
9789 grub_parser_execute, change parameter to grub_command_execute.
9790
9791 * normal/menu_text.c: Remove <grub/script.h>.
9792
9793 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
9794 and <grub/parser.h>.
9795 (run): Change editor_getline to use new parser interface. Change
9796 parameter to grub_command_execute.
9797
9798 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
9799 <grub/reader.h> and <grub/parser.h>.
9800 (grub_load_normal_mode): Execute normal command.
9801 (grub_main): Call grub_register_core_commands,
9802 grub_register_rescue_parser and grub_register_rescue_reader, use
9803 grub_reader_loop to enter input loop.
9804
7dd4a573 9805 * kern/parser.c (grub_parser_split_cmdline): Change type of
9806 getline parameter.
d558e6b5 9807 (grub_parser_class): New variable.
9808 (grub_parser_execute): New function.
9809
9810 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
9811 * loader/multiboot2.c: Likewise.
9812 * loader/sparc64/ieee1275/linux.c: Likewise.
9813
9814 * util/grub-emu.c (read_command_list): New dummy function.
9815
18db813d 98162009-05-02 Robert Millan <rmh.grub@aybabtu.com>
9817
9818 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
9819 count to 16 for CCISS and IDA.
9820
6c67de15 98212009-05-02 Robert Millan <rmh.grub@aybabtu.com>
9822
9823 * normal/menu_text.c (grub_wait_after_message): Print a newline
9824 after waiting for user input.
9825
9826 * loader/i386/linux.c: Include `<grub/normal.h>'.
9827 (grub_cmd_linux): Improve the error message about `ask' mode, by
9828 waiting for user input so it's not missed (we can do this, since
9829 user requested interaction).
9830
d9dc87b0 98312009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9832
9833 Added missing lst to grub-mkrescue
9834
9835 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
9836 and ${input_dir}/parttool.lst
9837
ac8a2baa 98382009-04-30 David S. Miller <davem@davemloft.net>
9839
ad22a610 9840 * util/hostdisk.c (device_is_wholedisk): New function.
9841 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
9842 zero only if device_is_wholedisk() returns true.
9843
6966215d 9844 * util/hostdisk.c (convert_system_partition_to_system_disk):
9845 Handle virtual disk devices named /dev/vdiskX as found on sparc
9846 and powerpc.
9847
ac8a2baa 9848 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
9849 lettered partition specifier is found, convert to numbered.
9850
979b4fb4 98512009-04-29 David S. Miller <davem@davemloft.net>
9852
e2bf39b2 9853 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
9854 * include/grub/sparc64/ieee1275/memory.h: Likewise.
9855
3c64e104 9856 * normal/command.c: Add missing newline at end of file.
9857
979b4fb4 9858 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
9859 warnings.
9860 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
9861 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
9862 grub_ofdisk_read): Likewise, and deal similarly with the fact that
9863 ihandles have a 32-bit type but need to be stored in a "void *".
9864
136d9f82 98652009-04-28 Pavel Roskin <proski@gnu.org>
9866
9459c306 9867 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
9868 not disk. Adjust all dependencies.
2e08a26a 9869 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 9870 grub_disk_close().
9871
136d9f82 9872 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
9873 parent's partition, don't copy it by reference, as it gets freed
9874 on close.
9875
7dd4a573 98762009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 9877
9878 Preboot hooks support
9879
9880 * commands/boot.c (struct grub_preboot_t): new declaration
9881 (preboots_head): new variable
9882 (preboots_tail): likewise
9883 (grub_loader_register_preboot_hook): new function
9884 (grub_loader_unregister_preboot_hook): likewise
9885 (grub_loader_set): launch preboot hooks
9886 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
9887 (grub_loader_register_preboot_hook): new declaration
9888 (grub_loader_unregister_preboot_hook): likewise
9889
5af922b5 98902009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
9891
9892 Warning fix
9893
7dd4a573 9894 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 9895 calling grub_dprintf
9896
a5562c30 98972009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9898
9899 Bug and warning fixes
9900
7dd4a573 9901 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 9902 declaration
9903 * commands/test.c (test_parse): fixed bug with file tests and corrected
9904 declaration of find_file
9905
4006f85c 99062009-04-26 Pavel Roskin <proski@gnu.org>
9907
9908 * Makefile.in: Don't install empty manual pages if help2man is
9909 missing. Use help2man option for output, not shell redirection.
9910
5c77c3de 99112009-04-26 David S. Miller <davem@davemloft.net>
9912
9913 * util/grub-mkdevicemap.c (make_device_map): Add missing
9914 NESTED_FUNC_ATTR to process_device().
9915
033b10a8 99162009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9917
9918 Test command
9919
9920 * commands/test.c: rewritten to use bash-like test
9921
e4343593 99222009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9923
9924 Parttool autoloading and improvements
9925
7dd4a573 9926 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 9927 (parttool.lst): new target
9928 * genmk.rb: generate parttool-*
9929 (CLEANFILES): add #{parttool}
9930 (PARTTOOLFILES): new variable
9931 * genparttoollist.sh: new file
7dd4a573 9932 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 9933 (grub_pcpart_type): likewise
9934 * commands/parttool.c (helpmsg): new variable
9935 (grub_cmd_parttool): output help if not enough arguments are supplied
9936 autoload modules
9937 (GRUB_MOD_INIT(parttool)): use helpmsg
9938
0d312500 99392009-04-24 David S. Miller <davem@davemloft.net>
9940
7dd4a573 9941 Avoiding opening same device multiple times in device iterator.
0d312500 9942
9943 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 9944 and use it to build a list of partitions in iterate_disk() and
0d312500 9945 iterate_partition().
9946
ac20caff 9947 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
9948 on disk->data.
9949
0dcf7495 9950 * disk/ieee1275/nand.c (grub_nand_iterate): Return
9951 grub_devalias_iterate() result instead of unconditional 0.
9952 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
9953 Also, capture hook return value, either directly or via
9954 grub_children_iterate(), and propagate to caller.
9955 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
9956 grub_children_iterate): Return value is now 'int' instead of
9957 'grub_err_t'.
9958 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
9959 like a proper iterator, stopping when hooks return non-zero.
9960 (grub_devalias_iterate): Likewise.
9961
c8c08833 99622009-04-23 David S. Miller <davem@davemloft.net>
9963
9964 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
9965
f01005a8 99662009-04-22 David S. Miller <davem@davemloft.net>
9967
9968 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
9969 is larger than address_cells, use that value for address_cells too.
9970
4e8269da 9971 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
9972 IEEE1275_MAX_PATH_LEN): Define.
9973 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
9974 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
9975 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
9976 'devtype'. Explicitly NULL terminate devalias expansion.
9977
a1447506 9978 * util/sparc64/ieee1275/misc.c: New file.
9979 * util/sparc64/ieee1275/grub-setup.c: New file.
9980 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
9981 * util/sparc64/ieee1275/grub-mkimage.c: New file.
9982 * util/sparc64/ieee1275/grub-install.in: New file.
9983 * util/ieee1275/ofpath.c: New file.
9984 * util/ieee1275/devicemap.c: New file.
9985 * util/devicemap.c: New file.
9986 * util/deviceiter.c: New file.
9987 * kern/sparc64/ieee1275/init.c: New file.
9988 * include/grub/util/ofpath.h: New file.
9989 * include/grub/util/deviceiter.h: New file.
9990 * util/grub-mkdevicemap.c: Include deviceiter.h.
9991 Implement using grub_util_emit_devicemap_entry and
9992 grub_util_iterate_devices.
9993 * conf/i386-corebook.rmk: Build util/deviceiter.c and
9994 util/devicemap.c into grub-mkdevicemap
9995 * conf/i386-efi.rmk: Likewise.
9996 * conf/i386-ieee1275.rmk: Likewise.
9997 * conf/i386-pc.rmk: Likewise.
9998 * conf/powerpc-ieee1275.rmk: Likewise.
9999 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
10000 images and installation utilities. Build kernel as image
10001 instead of as elf binary. Use common rules as much as possible.
10002
7dd4a573 100032009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 10004
10005 Correct GPT definition
10006
7dd4a573 10007 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 10008 of "attrib" member
10009
c6c5219f 100102009-04-19 Felix Zielcke <fzielcke@z-51.de>
10011
10012 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
10013
0552ff9f 100142009-04-19 David S. Miller <davem@davemloft.net>
10015
10016 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
10017 (grub_rescue_cmd_linux): Rename to...
10018 (grub_cmd_linux): and fix prototype.
10019 (grub_rescue_cmd_initrd): Rename to...
10020 (grub_cmd_initrd): and fix prototype.
10021 (cmd_linux, cmd_initrd): New.
10022 (GRUB_MOD_INIT(linux)): Use grub_register_command().
10023 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
10024
d1a282fc 100252009-04-17 Pavel Roskin <proski@gnu.org>
10026
07c5039f 10027 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
10028 format.
10029 (grub_ohci_transfer): Likewise.
10030
b012002d 10031 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
10032
1bc09c35 10033 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
10034 return without a value. Fix inconsistent indentation.
10035
e0ff9126 10036 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
10037 match struct grub_fs.
10038
d1a282fc 10039 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
10040 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
10041 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
10042 * commands/lspci.c (grub_lspci_iter): Likewise.
10043
a96df3f2 100442009-04-16 Bean <bean123ch@gmail.com>
10045
10046 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
10047 value.
10048
41bb0fe9 100492009-04-15 Pavel Roskin <proski@gnu.org>
10050
10051 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
10052 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
10053 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
10054 definitions.
10055
596c6970 100562009-04-15 Felix Zielcke <fzielcke@z-51.de>
10057
10058 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 10059 that no multiple data or metadata areas are supported and `Unknown
596c6970 10060 metadata header'.
10061
7dd4a573 100622009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 10063
10064 Move loader out of the kernel
10065
10066 * kern/loader.c: moved to ...
10067 * commands/boot.c: ... moved here
10068 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
10069 * commands/boot.c (grub_cmd_boot): moved here. All users updated
10070 * include/grub/kernel.h (grub_machine_fini): export
10071 * include/grub/loader.h (grub_loader_is_loaded): update declaration
10072 (grub_loader_set): likewise
10073 (grub_loader_unset): likewise
10074 (grub_loader_boot): likewise
10075 * conf/common.rmk: new module boot.mod
10076 (pkglib_MODULES): add boot.mod
10077 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
10078 (grub_emu_SOURCES): likewise
10079 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
10080 (grub_emu_SOURCES): likewise
10081 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
10082 (grub_emu_SOURCES): likewise
10083 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
10084 (grub_emu_SOURCES): likewise
10085 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
10086 (grub_emu_SOURCES): likewise
7dd4a573 10087 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
10088 (grub_emu_SOURCES): likewise
0d5d5653 10089 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 10090 (grub_emu_SOURCES): likewise
0d5d5653 10091
7dd4a573 100922009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 10093
10094 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 10095
5999d619 10096 * kern/misc.c (grub_itoa): Removed function
10097 (grub_ltoa): likewise
10098 (grub_vsprintf): use grub_lltoa
10099
7dd4a573 101002009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 10101
10102 Restore grub-emu
10103
10104 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
10105 * conf/i386-coreboot.rmk: likewise
10106 * conf/i386-ieee1275.rmk: likewise
10107 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 10108
20318222 101092009-04-15 Felix Zielcke <fzielcke@z-51.de>
10110
10111 * INSTALL: Add that `./autogen.sh' needs to be run before
10112 `./configure.'.
10113
d05f0df3 101142009-04-14 Bean <bean123ch@gmail.com>
10115
10116 * Makefile.in (pkglib_DATA): Add handler.lst.
10117 (handler.lst): New rule.
10118
10119 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
10120 * conf/i386-coreboot.rmk: Likewise.
10121 * conf/i386-ieee1275.rmk: Likewise.
10122 * conf/i386-efi.rmk: Likewise.
10123 * conf/x86_64-efi.rmk: Likewise.
10124 * conf/powerpc-ieee1275.rmk: Likewise.
10125 * conf/sparc64-ieee1275.rmk: Likewise.
10126
10127 * genhandlerlist.sh: New file.
10128
10129 * genmk.rb: Add rules to generate handler.lst.
10130
10131 * include/grub/normal.h (grub_file_getline): New function definition.
10132 (read_handler_list): Likewise.
10133 (free_handler_list): Likewise.
10134
10135 * include/grub/term.h (grub_term_register_input): Add name parameter
10136 for auto generation of handler.lst.
10137 (grub_term_register_output): Likewise.
10138
10139 * normal/handler.c: New file.
10140
10141 * normal/main.c (get_line): Renamed to grub_file_getline.
10142 (read_config_file): Use the newly renamed grub_file_getline.
10143 (read_command_list): Likewise.
10144 (read_fs_list): Likewise.
10145 (grub_normal_execute): Call read_handler_list to parse handler.lst.
10146 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
10147
10148 * term/efi/console.c (grub_console_init): Add name parameter for auto
10149 generation of handler.lst.
10150 * term/gfxterm.c: Likewise.
10151 * term/i386/pc/at_keyboard.c: Likewise.
10152 * term/i386/pc/console.c: Likewise.
10153 * term/i386/pc/serial.c: Likewise.
10154 * term/i386/pc/vesafb.c: Likewise.
10155 * term/i386/pc/vga.c: Likewise.
10156 * term/i386/pc/vga_text.c: Likewise.
10157 * term/ieee1275/ofconsole.c: Likewise.
10158 * term/usb_keyboard.c: Likewise.
10159
33c846be 101602009-04-14 Bean <bean123ch@gmail.com>
10161
10162 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
10163 properly with null character.
10164
4484e01e 101652009-04-14 Felix Zielcke <fzielcke@z-51.de>
10166
10167 * configure: Remove.
10168 * config.h.in: Likewise.
f93d668e 10169 * stamp-h.in: Likewise.
4484e01e 10170 * DISTLIST: Likewise.
10171 * conf/common.mk: Likewise.
10172 * conf/i386-coreboot.mk: Likewise.
10173 * conf/i386-efi.mk: Likewise.
10174 * conf/i386-ieee1275.mk: Likewise.
10175 * conf/i386.mk: Likewise.
10176 * conf/i386-pc.mk: Likewise.
10177 * conf/powerpc-ieee1275.mk: Likewise.
10178 * conf/sparc64-ieee1275.mk: Likewise.
10179 * conf/x86_64-efi.mk: Likewise.
10180
10181 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
10182 develop on GRUB.
10183
7dd4a573 101842009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 10185 David S. Miller <davem@davemloft.net>
10186
10187 * util/hostdisk.c (make_device_name): Fix buffer length
10188 calculations.
10189
e25b5a8c 101902009-04-14 Felix Zielcke <fzielcke@z-51.de>
10191
10192 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
10193 <sys/param.h> and <sys/sysctl.h>.
10194 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
10195 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
10196 opening the device and reset them afterwards.
10197
1f1f580c 101982009-04-13 Pavel Roskin <proski@gnu.org>
10199
10200 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
10201 Reported by John Stanley <jpsinthemix@verizon.net>
10202
7ebc2d6b 102032009-04-13 Robert Millan <rmh@aybabtu.com>
10204
10205 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 10206 that name for menuentries when appropriate.
7ebc2d6b 10207
d8ba3667 102082009-04-13 Felix Zielcke <fzielcke@z-51.de>
10209
10210 * util/grub.d/10_freebsd.in: Add a missing `fi'.
10211
cba416eb 102122009-04-13 Robert Millan <rmh@aybabtu.com>
10213
10214 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
10215 to Linux, simply abort telling the user it's no longer supported.
10216
a547a745 102172009-04-13 Felix Zielcke <fzielcke@z-51.de>
10218
10219 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 10220 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 10221 `freebsd_loadenv' only when devices.hints exist.
10222
232a769c 102232009-04-13 Pavel Roskin <proski@gnu.org>
10224
10225 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
10226
c3012039 102272009-04-13 Felix Zielcke <fzielcke@z-51.de>
10228
10229 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
10230 partition number.
10231 (grub_drive): Likewise.
10232
234022fe 102332009-04-13 David S. Miller <davem@davemloft.net>
10234
10235 * kern/sparc64/ieee1275/ieee1275.c: New file.
10236 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
10237 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
10238 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
10239 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
10240 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
10241 grub_ieee1275_alloc_physmem): Declare new exported functions.
10242
d8e1836c 10243 * include/grub/sparc64/ieee1275/loader.h: New file.
10244 * include/grub/sparc64/ieee1275/memory.h: Likewise.
10245 * include/grub/sparc64/kernel.h: Likewise.
10246 * loader/sparc64/ieee1275/linux.c: Likewise.
10247
96bd81ec 10248 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
10249 (grub_fstest_SOURCES): Likewise.
10250
6a4737e5 10251 * util/hostdisk.c (make_device_name): Do not make any assumptions
10252 about the length of drive names.
10253
1d7a72fd 10254 * kern/dl.c (grub_dl_load_file): Close file immediately when
10255 we are done using it.
10256
56bc2471 102572009-04-12 David S. Miller <davem@davemloft.net>
10258
10259 * kern/misc.c (grub_ltoa): Fix cast when handling negative
10260 values. Noticed by Pavel Roskin.
10261
df38d0bb 10262 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
10263 target compiler.
7dd4a573 10264
e382e93a 10265 * genmk.rb: Add more flexible image type specification, also
10266 pass --strip-unneeded to objcopy.
10267 * conf/i386-pc.rmk: Use *_FORMAT.
10268 * conf/i386-pc.mk: Rebuilt.
10269
f5dbbca9 10270 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
10271 (OFDISK_HASH_SZ): Define.
10272 (ofdisk_hash): New hash table.
10273 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
10274 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
10275 instead of device phandle which is not unique.
10276
91c88b12 10277 * kern/sparc64/ieee1275/init.c: Delete, replace with...
10278 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
10279 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
10280 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
10281 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
10282 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
10283 GRUB_KERNEL_MACHINE_DATA_END): Define.
10284 (grub_kernel_image_size, grub_total_module_size): Declare.
10285
5b5d4aa5 102862009-04-12 Pavel Roskin <proski@gnu.org>
10287
7dd4a573 10288 * configure.ac: Change the logic when we check for target tools.
10289 Do it when the target is specified and it's different from the
10290 specified value of the host.
5b5d4aa5 10291
c91e1793 102922009-04-11 Felix Zielcke <fzielcke@z-51.de>
10293
10294 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
10295 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
10296 GNU/kFreeBSD. Check if a device is a character device. Use
10297 DIOCGMEDIASIZE to get the size.
10298 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
10299 support for GNU/kFreeBSD.
10300 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
10301 is a character device instead of a block device. Add support for
10302 FreeBSD device names.
10303
10304 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
10305 is a character device instead of a block device.
10306
10307 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
10308 is a character device instead of a block device.
10309
b1ac8644 103102009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
10311
10312 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
10313 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
10314 FreeBSD. Check if a device is a character device. Use
10315 DIOCGMEDIASIZE to get the size.
10316 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
10317 support for FreeBSD.
10318 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
10319 is a character device instead of a block device. Add support for
10320 FreeBSD device names.
10321
10322 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
10323 a character device instead of a block device.
10324 (grub_util_check_char_device): New function.
10325
10326 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
10327 a character device instead of a block device.
10328
10329 * include/grub/util/getroot.h (grub_util_check_char_device): New
10330 prototype.
10331
a3f7515a 103322009-04-11 David S. Miller <davem@davemloft.net>
10333
10334 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
10335 static libgcc.
10336 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
10337 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
10338 function, if present.
10339 (__bswapdi2): Likewise.
10340
0d44993d 10341 * include/grub/sparc64/ieee1275/boot.h: New file.
10342 * boot/sparc64/ieee1275/boot.S: Likewise.
10343 * boot/sparc64/ieee1275/diskboot.S: Likewise.
10344
ed3d2bc2 10345 * kern/misc.c (grub_ltoa): New function.
10346 (grub_vsprintf): Use it to format 'long' integers.
10347
d3bfb59c 103482009-04-10 David S. Miller <davem@davemloft.net>
10349
10350 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
10351 slots are of type grub_ieee1275_cell_t.
10352 (grub_nand_read): Likewise.
10353 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
10354 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
10355 macros are used to compare values in arg/ret block of the call.
10356 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
10357 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
10358 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
10359 grub_ieee1275_instance_to_path, grub_ieee1275_write,
10360 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
10361 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
10362 grub_ieee1275_close, grub_ieee1275_set_property,
10363 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
10364 grub_ieee1275_cell_t.
10365 * kern/ieee1275/openfw.c (grub_map): Likewise.
10366 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
10367 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
10368
450e2238 10369 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
10370 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
10371 (grub_devalias_iterate): Likewise.
10372
7dd4a573 103732009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 10374
10375 UFS improvements
10376
10377 * fs/ufs.c (INODE_NBLOCKS): new definition
10378 (struct grub_ufs_dirent): added fields for non-BSD dirents
10379 (grub_ufs_get_file_block): fixed double indirect handling
10380 (grub_ufs_lookup_symlink): use more robust way to determine whether
10381 symlink is inline
10382 (grub_ufs_find_file): support for non-BSD dirents
10383 (grub_ufs_dir): support for non-BSD dirents
10384
e7e6862a 103852009-04-10 Bean <bean123ch@gnail.com>
10386
10387 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
10388 attribute, otherwise the size would be wrong for i386 platform.
10389
10390 * include/grub/pci.h (grub_pci_read_word): New inline function.
10391 (grub_pci_read_byte): Likewise.
10392 (grub_pci_write): Likewise.
10393 (grub_pci_write_word): Likewise.
10394 (grub_pci_write_byte): Likewise.
10395
10396 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
10397
10398 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
10399 (find_framebuf): Scan pci to locate the frame buffer address.
10400
10401 * commands/efi/fixvideo.c: New file.
10402
10403 * commands/efi/loadbios.c: Likewise.
10404
10405 * commands/memrw.c: Likewise.
10406
10407 * util/grub-dumpbios.in: Likewise.
10408
10409 * conf/common.rmk (grub-dumpbios): New utility.
10410 (pkglib_MODULES): New module memrw.mod.
10411 (memrw_mod_SOURCE): New macro.
10412 (memrw_mod_CFLAGS): Likewise.
10413 (memrw_mod_LDFLAGS): Likewise.
10414
7dd4a573 10415 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 10416 fixvideo.mod.
10417 (loadbios_mod_SOURCE): New macro.
10418 (loadbios_mod_CFLAGS): Likewise.
10419 (loadbios_mod_LDFLAGS): Likewise.
10420 (fixvideo_mod_SOURCE): Likewise.
10421 (fixvideo_mod_CFLAGS): Likewise.
10422 (fixvideo_mod_LDFLAGS): Likewise.
10423
7dd4a573 10424 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 10425 fixvideo.mod.
10426 (loadbios_mod_SOURCE): New macro.
10427 (loadbios_mod_CFLAGS): Likewise.
10428 (loadbios_mod_LDFLAGS): Likewise.
10429 (fixvideo_mod_SOURCE): Likewise.
10430 (fixvideo_mod_CFLAGS): Likewise.
10431 (fixvideo_mod_LDFLAGS): Likewise.
10432
af63ada2 104332009-04-08 Felix Zielcke <fzielcke@z-51.de>
10434
10435 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
10436
c2cdde70 104372009-04-07 David S. Miller <davem@davemloft.net>
10438
10439 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
10440 support for R_SPARC_OLO10 relocations. Fix compile warning for
10441 R_SPARC_WDISP30 case.
ea3f72cf 10442 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 10443
761319cf 104442009-04-06 Pavel Roskin <proski@gnu.org>
10445
1007d1f5 10446 * include/grub/misc.h (ARRAY_SIZE): New macro.
10447 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
10448 New macro.
10449 * loader/i386/linux.c (allocate_pages): Use free_pages().
10450 (grub_linux_unload): Don't use free_pages().
10451 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
10452 wrong index. Treat all other modes as text modes.
10453 (grub_cmd_linux): Initialize vid_mode unconditionally to
10454 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
10455
761319cf 10456 * commands/help.c (print_command_help): Use cmd->prio, not
10457 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
10458
ea761d40 104592009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 10460
ea761d40 10461 Parttool
10462
10463 * parttool/pcpart.c: new file
10464 * commands/parttool.c: likewise
10465 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
10466 (parttool_mod_SOURCES): new variable
10467 (parttool_mod_CFLAGS): likewise
10468 (parttool_mod_LDFLAGS): likewise
10469 (pcpart_mod_SOURCES): likewise
10470 (pcpart_mod_CFLAGS): likewise
10471 (pcpart_mod_LDFLAGS): likewise
7dd4a573 10472 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 10473 and parttool/pcpart.c
10474 * conf/i386-efi.rmk: likewise
10475 * conf/i386-ieee1275.rmk: likewise
10476 * conf/i386-pc.rmk: likewise
10477 * conf/powerpc-ieee1275.rmk: likewise
10478 * conf/sparc64-ieee1275.rmk: likewise
10479 * conf/x86_64-ieee1275.rmk: likewise
10480
05aaebfb 104812009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
10482
10483 Support for mtime and further expandability of dir command
10484
10485 * include/grub/lib/datetime.h: moved to ...
7dd4a573 10486 * include/grub/datetime.h: ... moved here and added
05aaebfb 10487 declaration of grub_unixtime2datetime. All users updated
7dd4a573 10488 * include/grub/fs.h: new syntax for dir and mtime functions in
10489 struct grub_fs
05aaebfb 10490 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
10491 and GRUB_FSHELP_FLAGS_MASK
10492 * commands/ls.c (grub_ls_list_files): Write mtime in long format
10493 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
10494 (grub_ext2_mtime): new function
10495 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
10496 (grub_hfsplus_mtime): new function
10497 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
10498 (GRUB_UFS_ATTR_FILE): likewise
10499 (GRUB_UFS_ATTR_LNK): likewise
10500 (struct grub_ufs_sblock): new fields mtime
10501 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
10502 all users updated
10503 (grub_ufs_dir): mtime support
10504 (grub_ufs_mtime): new function
10505 * fs/affs.c (grub_affs_dir): use new dir syntax
10506 * fs/afs.c (grub_afs_dir): likewise
10507 * fs/cpio.c (grub_cpio_dir): likewise
10508 * fs/fat.c (grub_fat_find_dir): likewise
10509 * fs/hfs.c (grub_hfs_dir): likewise
10510 * fs/iso9660.c (grub_iso9660_dir): likewise
10511 * fs/jfs.c (grub_jfs_dir): likewise
10512 * fs/minix.c (grub_minix_dir): likewise
10513 * fs/ntfs.c (grub_ntfs_dir): likewise
10514 * fs/reiserfs.c (grub_reiserfs_dir): likewise
10515 * fs/sfs.c (grub_sfs_dir): likewise
10516 * fs/xfs.c (grub_xfs_dir): likewise
10517 * util/hostfs.c (grub_hostfs_dir): likewise
10518 * lib/datetime.c: moved to ...
10519 * normal/datetime.c: ... moved here
10520 (grub_unixtime2datetime): new function
10521 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 10522 * normal/completion.c (iterate_dir): use new dir syntax
10523 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 10524 last modification time of a volume
7dd4a573 10525 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 10526 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 10527 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 10528 (normal_mod_SOURCES): likewise
10529 (datetime_mod_SOURCES): Removed lib/datetime.c
10530 * conf/i386-efi.rmk: likewise
7dd4a573 10531 * conf/i386-ieee1275.rmk: likewise
05aaebfb 10532 * conf/i386-pc.rmk: likewise
10533 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 10534 * conf/sparc64-ieee1275.rmk: likewise
10535 * conf/x86_64-efi.rmk: likewise
05aaebfb 10536
8a7e1a14 105372009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
10538
10539 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 10540
10541 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 10542 on grub_fat_find_dir
10543 (grub_fat_find_dir): use grub_fat_iterate_dir
10544 (grub_fat_label): likewise
10545
04186a9c 105462009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10547
7dd4a573 10548 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 10549 and command.h
10550 remove extraneous kernel_elf_HEADERS
10551
da4c0bb6 105522009-04-04 Bean <bean123ch@gnail.com>
10553
10554 * include/grub/util/misc.h: Add dummy function fsync for mingw.
10555
10556 * util/misc.c: Likewise.
10557
54ad9555 105582009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
10559
10560 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
10561 instead of grub_printf.
10562
7a6bf9f2 105632009-04-03 Robert Millan <rmh@aybabtu.com>
10564
10565 * loader/i386/linux.c (grub_linux_setup_video): Fill
10566 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
10567 values from `mode info' structure instead of hardcoded
10568 values.
10569
3fcc2083 105702009-04-01 Pavel Roskin <proski@gnu.org>
10571
10572 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
10573 unused now.
10574 * genmk.rb: Likewise.
10575 * configure.ac: Likewise.
10576
5ec9740b 105772009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
10578
10579 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
10580 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
10581
5270cec8 105822009-04-01 David S. Miller <davem@davemloft.net>
10583
10584 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 10585 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 10586 (grub_setjmp): Mark with 'returns_twice' attribute.
10587 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
10588 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
10589 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
10590
9c3dd854 105912009-04-01 Robert Millan <rmh@aybabtu.com>
10592
10593 Reapply fix from 2008-07-28 which was accidentally reverted; also
10594 perform the same fix to a similar check in same function.
10595
10596 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
10597 with the same number are found, just use issue a warning with
10598 grub_dprintf(), as this error has been reported to be non-fatal.
10599
0d818b7e 106002009-03-31 Pavel Roskin <proski@gnu.org>
10601
10602 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
10603 for cross-compilation.
10604
95646d92 106052009-03-30 Robert Millan <rmh@aybabtu.com>
10606
10607 Fix i386-ieee1275 build.
10608
10609 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
10610 Remove declaration.
10611
6a003ed1 106122009-03-30 Pavel Roskin <proski@gnu.org>
10613
10614 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
10615 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
10616 zero-terminated, rely only on the strlen value. Fix comparison
10617 of strings differing in length.
10618
92f33540 106192009-03-30 Robert Millan <rmh@aybabtu.com>
10620
10621 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
10622 checking for abi version. Improve error messages on BIOS to notify
10623 user about `linux16' command.
10624
a8c48fd5 106252009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10626
f968172e 10627 Leak fixes
a8c48fd5 10628
f968172e 10629 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
10630 in case of collision
10631 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 10632
9c323f09 106332009-03-29 Robert Millan <rmh@aybabtu.com>
10634
10635 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
10636 set `vid_mode' accordingly.
10637 (grub_linux_boot): Process `vid_mode' and set video mode.
10638
ae68f423 106392009-03-29 Robert Millan <rmh@aybabtu.com>
10640
10641 * util/grub.d/10_linux.in (linux_entry): New function.
10642 Factorize generation of Linux boot entries.
10643
5709cfc4 106442009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
10645
10646 Make the format of Environment Block plain text. The boot loader
10647 part is not tested well yet.
7dd4a573 10648
5709cfc4 10649 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
10650 (buffer): Removed.
10651 (envblk): Likewise.
10652 (usage): Remove "info" and "clear". Add "unset". Update the
10653 description of "set", as this does not delete variables any
10654 longer.
10655 (create_envblk_file): Complete rewrite.
10656 (open_envblk_file): Likewise.
10657 (cmd_info): Removed.
10658 (cmd_list): Likewise.
10659 (cmd_set): Likewise.
10660 (cmd_clear): Likewise.
10661 (list_variables): New function.
10662 (write_envblk): Likewise.
10663 (set_variables): Likewise.
10664 (unset_variables): Likewise.
10665 (main): Complete rewrite.
10666
10667 * commands/loadenv.c (buffer): Removed.
10668 (envblk): Likewise.
10669 (open_envblk_file): New function.
10670 (read_envblk_file): Complete rewrite.
10671 (grub_cmd_load_env): Likewise.
10672 (grub_cmd_list_env): Likewise.
10673 (struct blocklist): New struct.
10674 (free_blocklists): New function.
10675 (check_blocklists): Likewise.
10676 (write_blocklists): Likewise.
10677 (grub_cmd_save_env): Complete rewrite.
10678
10679 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
10680 a plain text signature.
10681 (GRUB_ENVBLK_MAXLEN): Removed.
10682 (struct grub_envblk): Complete rewrite.
10683 (grub_envblk_find): Removed.
10684 (grub_envblk_insert): Likewise.
10685 (grub_envblk_open): New prototype.
10686 (grub_envblk_set): Likewise.
10687 (grub_envblk_delete): Put const to VALUE.
10688 (grub_envblk_iterate): Put const to NAME and VALUE.
10689 (grub_envblk_close): New prototype.
10690 (grub_envblk_buffer): New inline function.
10691 (grub_envblk_size): Likewise.
10692
10693 * lib/envblk.c: Include grub/mm.h.
10694 (grub_env_find): Removed.
10695 (grub_envblk_open): New function.
10696 (grub_envblk_close): Likewise.
10697 (escaped_value_len): Likewise.
10698 (find_next_line): Likewise.
10699 (grub_envblk_insert): Removed.
10700 (grub_envblk_set): New function.
10701 (grub_envblk_delete): Complete rewrite.
10702 (grub_envblk_iterate): Likewise.
10703
a9368fd3 107042009-03-28 Robert Millan <rmh@aybabtu.com>
10705
10706 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
10707 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
10708 variables. Use 16-bit loader.
10709 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
10710 loader.
10711 * kern/i386/loader.S (grub_linux_boot): Rename to ...
10712 (grub_linux16_boot): ... this. Update all users.
10713 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
10714 (grub_linux_boot): ... this. Update all users.
10715
10716 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
10717 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
10718 commands to `linux16' and `initrd16'.
10719 (GRUB_MOD_FINI(linux)): Rename to ...
10720 (GRUB_MOD_FINI(linux16)): ... this.
10721
e4dd5a7e 107222009-03-24 Pavel Roskin <proski@gnu.org>
10723
10724 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
10725 not just for compilation.
10726
c04d6e05 107272009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
10728
10729 Move multiboot helper out of kernel
10730
10731 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
10732 `loader/i386/multiboot_helper.S'.
10733 * conf/i386-coreboot.rmk: Likewise
10734 * conf/i386-ieee1275.rmk: Likewise
10735
10736 * kern/i386/loader.S: Move multiboot helpers from here...
10737 * loader/i386/multiboot_helper.S: ...moved here
10738 * include/grub/i386/loader.h: Move declarations of multiboot
10739 helpers from here...
10740 * include/grub/i386/multiboot.h: ...moved here
10741 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
10742
42a5b3fc 107432009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
10744
10745 * kern/env.c (grub_env_context_open): Added an argument to specify
10746 whether a new context inherits exported variables from current
10747 one. This is useful when making a sandbox to interpret a config
10748 file.
10749 All callers updated.
10750
10751 * include/grub/env.h (grub_env_context_open): Updated the prototype.
10752
b28bbc4e 107532009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
10754
10755 * kern/env.c (grub_env_context_close): Fix memory leaks.
10756
f04f02e4 107572009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
10758
10759 * normal/main.c (grub_normal_execute): Added an argument
10760 BATCH to specify if an interactive interface should be provided
10761 after reading a config file.
10762 All callers updated.
10763 (read_command_list): Prevent being executed twice.
10764 (read_fs_list): Likewise.
10765
42a5b3fc 10766 * include/grub/normal.h (grub_normal_execute): Updated the
10767 prototype.
f04f02e4 10768
41473ac2 107692009-03-22 Pavel Roskin <proski@gno.org>
10770
fbc00b0c 10771 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
10772 _start.
10773 * kern/i386/pc/startup.S: Likewise.
10774 * kern/i386/efi/startup.S: Likewise.
10775 * kern/i386/ieee1275/startup.S: Likewise.
10776 * kern/i386/coreboot/startup.S: Likewise.
10777 * kern/x86_64/efi/startup.S: Likewise.
10778
41473ac2 10779 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
10780 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
10781 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
10782
2274cc8f 107832009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
10784
10785 Bugfixes in multiboot for bugs uncovered by solaris kernel.
10786
10787 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
10788 limit detection.
10789 Use vaddr of correct segment for entry_point.
10790
b1b797cb 107912009-03-21 Bean <bean123ch@gmail.com>
10792
10793 * commands/blocklist.c: Add include file <grub/command.h>, remove
10794 <grub/normal.h> and <grub/arg.h>.
10795 (grub_cmd_blocklist): Use the new command interface.
10796 (GRUB_MOD_INIT): Likewise.
10797 (GRUB_MOD_FINI): Likewise.
10798 * commands/boot.c: Likewise.
10799 * commands/cat.c: Likewise.
10800 * commands/cmp.c: Likewise.
10801 * commands/configfile.c: Likewise.
10802 * commands/crc.c: Likewise.
10803 * commands/echo.c: Likewise.
10804 * commands/halt.c: Likewise.
10805 * commands/handler.c: Likewise.
10806 * commands/hdparm.c: Likewise.
10807 * commands/help.c: Likewise.
10808 * commands/hexdump.c: Likewise.
10809 * commands/loadenv.c: Likewise.
10810 * commands/ls.c: Likewise.
10811 * commands/lsmmap.c: Likewise.
10812 * commands/lspci.c: Likewise.
10813 * commands/loadenv.c: Likewise.
10814 * commands/read.c: Likewise.
10815 * commands/reboot.c: Likewise.
10816 * commands/search.c: Likewise.
10817 * commands/sleep.c: Likewise.
10818 * commands/test.c: Likewise.
10819 * commands/usbtest.c: Likewise.
10820 * commands/videotest.c: Likewise.
10821 * commands/i386/cpuid.c: Likewise.
10822 * commands/i386/pc/halt.c: Likewise.
10823 * commands/i386/pc/play.c: Likewise.
10824 * commands/i386/pc/pxecmd.c: Likewise.
10825 * commands/i386/pc/vbeinfo.c: Likewise.
10826 * commands/i386/pc/vbetest.c: Likewise.
10827 * commands/ieee1275/suspend.c: Likewise.
10828 * disk/loopback.c: Likewise.
10829 * font/font_cmd.c: Likewise.
10830 * hello/hello.c: Likewise.
10831 * loader/efi/appleloader.c: Likewise.
10832 * loader/efi/chainloader.c: Likewise.
10833 * loader/i386/bsd.c: Likewise.
10834 * loader/i386/efi/linux.c: Likewise.
10835 * loader/i386/ieee1275/linux.c: Likewise.
10836 * loader/i386/linux.c: Likewise.
10837 * loader/i386/pc/chainloader.c: Likewise.
10838 * loader/i386/pc/linux.c: Likewise.
10839 * loader/powerpc/ieee1275/linux.c: Likewise.
10840 * loader/multiboot_loader.c: Likewise.
10841 * term/gfxterm.c: Likewise.
10842 * term/i386/pc/serial.c: Likewise.
10843 * term/terminfo.c: Likewise.
10844
10845 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
10846 * term/i386/pc/vga.c: Likewise.
10847 * video/readers/jpeg.c: Likewise.
10848 * video/readers/png.c: Likewise.
10849 * video/readers/tga.c: Likewise.
10850
10851 * util/grub-fstest (cmd_loopback): Removed.
10852 (cmd_blocklist): Likewise.
10853 (cmd_ls): Likewise.
10854 (grub_register_command): Likewise.
10855 (grub_unregister_command): Likewise.
10856 (execute_command): Use grub_command_find to locate command and execute
10857 it.
10858
10859 * include/grub/efi/chainloader.h: Removed.
10860 * loader/efi/chainloader_normal.c: Likewise.
10861 * loader/i386/bsd_normal.c: Likewise.
10862 * loader/i386/pc/chainloader_normal.c: Likewise.
10863 * loader/i386/pc/multiboot_normal.c: Likewise.
10864 * loader/linux_normal.c: Likewise.
10865 * loader/multiboot_loader_normal.c: Likewise.
10866 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
10867
10868 * gencmdlist.sh: Scan new registration command grub_register_extcmd
10869 and grub_register_command_p1.
10870
10871 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
10872 kern/command.c, lib/arg.c and commands/extcmd.c.
10873 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
10874 (minicmd_mod_SOURCES): New variable.
10875 (minicmd_mod_CFLAGS): Likewise.
10876 (minicmd_mod_LDFLAGS): Likewise.
10877 (extcmd_mod_SOURCES): Likewise.
10878 (extcmd_mod_CFLAGS): Likewise.
10879 (extcmd_mod_LDFLAGS): Likewise.
10880 (boot_mod_SOURCES): Removed.
10881 (boot_mod_CFLAGS): Likewise.
10882 (boot_mod_LDFLAGS): Likewise.
10883
10884 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
10885 kern/corecmd.c.
10886 (kernel_img_HEADERS): Add command.h.
10887 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
10888 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
10889 and lib/arg.c.
10890 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
10891 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
10892 remove the corresponding normal mode command.
10893 (normal_mod_SOURCES): Remove normal/arg.c.
10894 * conf/i386-coreboot.rmk: Likewise.
10895 * conf/i386-efi.rmk: Likewise.
10896 * conf/i386-ieee1275.rmk: Likewise.
10897 * conf/powerpc-ieee1275.rmk: Likewise.
10898 * conf/x86_64-efi.rmk: Likewise.
10899
10900 * include/grub/arg.h: Move from here ...
10901 * include/grub/lib/arg.h: ... to here.
10902
10903 * normal/arg.c: Move from here ...
10904 * lib/arg.c: ... to here.
10905
10906 * commands/extcmd.c: New file.
10907 * commands/minicmd.c: Likewise.
10908 * include/grub/command.h: Likewise.
10909 * include/grub/extcmd.h: Likewise.
10910 * kern/command.c: Likewise.
10911 * kern/corecmd.c: Likewise.
10912
10913 * kern/list.c (grub_list_iterate): Return int instead of void.
10914 (grub_list_insert): New function.
10915 (grub_prio_list_insert): Likewise.
10916
10917 * kern/rescue.c (grub_rescue_command): Removed.
10918 (grub_rescue_command_list): Likewise.
10919 (grub_rescue_register_command): Likewise.
10920 (grub_rescue_unregister_command): Likewise.
10921 (grub_rescue_cmd_boot): Move to minicmd.c
10922 (grub_rescue_cmd_help): Likewise.
10923 (grub_rescue_cmd_info): Likewise.
10924 (grub_rescue_cmd_boot): Likewise.
10925 (grub_rescue_cmd_testload): Likewise.
10926 (grub_rescue_cmd_dump): Likewise.
10927 (grub_rescue_cmd_rmmod): Likewise.
10928 (grub_rescue_cmd_lsmod): Likewise.
10929 (grub_rescue_cmd_exit): Likewise.
10930 (grub_rescue_print_devices): Moved to corecmd.c.
10931 (grub_rescue_print_files): Likewise.
10932 (grub_rescue_cmd_ls): Likewise.
10933 (grub_rescue_cmd_insmod): Likewise.
10934 (grub_rescue_cmd_set): Likewise.
10935 (grub_rescue_cmd_unset): Likewise.
7d074e3c 10936 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 10937 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 10938 commands, remove grub_rescue_register_command calls.
b1b797cb 10939
7d074e3c 10940 * normal/command.c (grub_register_command): Removed.
b1b797cb 10941 (grub_unregister_command): Likewise.
10942 (grub_command_find): Likewise.
10943 (grub_iterate_commands): Likewise.
10944 (rescue_command): Likewise.
10945 (export_command): Moved to corecmd.c.
10946 (set_command): Removed.
10947 (unset_command): Likewise.
10948 (insmod_command): Likewise.
10949 (rmmod_command): Likewise.
10950 (lsmod_command): Likewise.
10951 (grub_command_init): Likewise.
10952
10953 * normal/completion.c (iterate_command): Use cmd->prio to check for
10954 active command.
10955 (complete_arguments): Use grub_extcmd_t structure to find options.
10956 (grub_normal_do_completion): Change function grub_iterate_commands to
10957 grub_command_iterate.
10958
10959 * normal/execute.c (grub_script_execute_cmd): No need to parse
10960 argument here.
10961
10962 * normal/main.c (grub_dyncmd_dispatcher): New function.
10963 (read_command_list): Register unload commands as dyncmd.
10964 (grub_cmd_normal): Use new command interface, register rescue,
10965 unregister normal at entry, register normal, unregister rescue at exit.
10966
10967 * include/grub/list.h (grub_list_test_t): New type.
10968 (grub_list_iterate): Return int instead of void.
10969 (grub_list_insert): New function.
10970 (GRUB_AS_NAMED_LIST_P): New macro.
10971 (GRUB_AS_PRIO_LIST): Likewise.
10972 (GRUB_AS_PRIO_LIST_P): Likewise.
10973 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
10974 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
10975 (grub_prio_list): New structure.
10976 (grub_prio_list_insert): New function.
10977 (grub_prio_list_remove): New inline function.
10978
10979 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
10980 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
10981 (GRUB_COMMAND_FLAG_MENU): Likewise.
10982 (GRUB_COMMAND_FLAG_BOTH): Likewise.
10983 (GRUB_COMMAND_FLAG_TITLE): Likewise.
10984 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
10985 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
10986 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
10987 (grub_command): Likewise.
10988 (grub_register_command): Likewise.
10989 (grub_command_find): Likewise.
10990 (grub_iterate_commands): Likewise.
10991 (grub_command_init): Likewise.
10992 (grub_arg_parse): Likewise.
10993 (grub_arg_show_help): Likewise.
10994
10995 * include/grub/rescue.h (grub_rescue_register_command): Removed.
10996 (grub_rescue_unregister_command): Likewise.
10997
10998 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
10999 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
11000 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
11001
11002 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
11003 grub_rescue_cmd_initrd.
11004 * include/grub/i386/loader.h: Likewise.
11005 * include/grub/x86_64/loader.h: Likewise.
11006
11007 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
11008
1f4147aa 110092009-03-21 Bean <bean123ch@gmail.com>
11010
11011 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
11012 instead of stat in mingw environment.
11013
11014 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
11015
11016 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
11017
11018 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
11019 AC_CONFIG_LINKS.
11020
2156d5ba 110212009-03-21 Bean <bean123ch@gmail.com>
11022
11023 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
11024 out of range error.
11025
177b82ca 110262009-03-18 Michel Dänzer <michel@daenzer.net>
11027
11028 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
11029 checking inode flags for EXT4_EXTENTS_FLAG.
11030
14aad807 110312009-03-18 Robert Millan <rmh@aybabtu.com>
11032
11033 * loader/i386/linux.c: Include `<grub/video.h>' and
11034 `<grub/i386/pc/vbe.h>'..
11035 (grub_linux_setup_video): New function. Loosely based on the EFI one.
11036 (grub_linux32_boot): Attempt to configure video settings with
11037 grub_linux_setup_video().
11038 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
11039 to avoid grub_console_fini() which would step out of graphical mode
11040 unconditionally.
11041
8cf83a27 110422009-03-14 Robert Millan <rmh@aybabtu.com>
11043
11044 Fix build on powerpc.
11045 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
11046
40164e75 110472009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
11048
11049 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
11050 background image command.
11051
c58bc32a 110522009-03-12 Colin D Bennett <colin@gibibit.com>
11053
11054 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
11055 (grub_gfxterm_putchar): Extract pairs of identical calls to
11056 draw_cursor out of conditional blocks.
11057
5415144a 110582009-03-11 Pavel Roskin <proski@gnu.org>
11059
11060 * fs/hfs.c (grub_hfs_strncasecmp): New function.
11061 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
11062
6394042e 110632009-03-11 Robert Millan <rmh@aybabtu.com>
11064
11065 * loader/i386/multiboot_elfxx.c
11066 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
11067
b7b50e5f 110682009-03-11 Felix Zielcke <fzielcke@z-51.de>
11069
11070 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
11071 `kern/handler.c'.
11072
1ca7fc96 110732009-03-11 Robert Millan <rmh@aybabtu.com>
11074
11075 * loader/i386/multiboot.c (code_size): New variable.
11076 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 11077 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 11078 4-byte alignment to MBI and others by increasing
7d074e3c 11079 `boot_loader_name_length' appropriately.
1ca7fc96 11080
11081 * loader/i386/multiboot_elfxx.c
11082 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
11083
a83ea1d2 110842009-03-09 Felix Zielcke <fzielcke@z-51.de>
11085
11086 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
11087 `fs/ext2.c'.
11088
aa9f3bff 110892009-03-08 Robert Millan <rmh@aybabtu.com>
11090
11091 Make loader/i386/linux.c usable on i386-pc again.
11092
11093 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
11094 memory to heap.
11095 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
11096 `#error' stanza.
11097
d8b3b60e 110982009-03-07 Bean <bean123ch@gmail.com>
11099
11100 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
11101 allocation.
11102
b362c9e9 111032009-03-06 Robert Millan <rmh@aybabtu.com>
11104
11105 Fix display issue on terminals with screen size other than 80x25
11106 (e.g. gfxterm with resolution higher than 640x480).
11107
11108 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 11109 position relative to the center of the terminal instead of relying
b362c9e9 11110 on a hardcoded offset.
11111
9304eef1 111122009-03-04 Robert Millan <rmh@aybabtu.com>
11113
11114 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
11115 installed.
11116
11117 * Makefile.in (host_kernel): New variable.
11118 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
11119 scripts instead of just the windows one.
11120 * configure.ac: Initialize and AC_SUBST `host_kernel'.
11121
eabc95fb 111222009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 11123
11124 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
11125 `kern/handler.c'.
11126 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11127 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11128 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
11129 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11130 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11131 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11132
ceb1223c 111332009-03-04 Felix Zielcke <fzielcke@z-51.de>
11134
11135 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
11136 or if there's no space for the disk label and print the partition number on a
11137 invalid magic.
11138
4910684a 111392009-03-04 Felix Zielcke <fzielcke@z-51.de>
11140
11141 * util/misc.c: Include <time.h>.
11142 (grub_millisleep): New function.
11143
7e9ca17a 111442009-03-04 Bean <bean123ch@gmail.com>
11145
11146 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
11147 another option -mno-red-zone.
11148
11149 * commands/handler.c: Change module description.
11150
11151 * kern/handler.c: Add missing space at the end of description line.
11152
11153 * kern/list.c: Likewise.
11154
f501677c 111552009-03-03 Robert Millan <rmh@aybabtu.com>
11156
11157 Move more components to the relocation area, and fix mbi pointer
11158 handling to use the destination rather than the origin (thanks to
11159 Vladimir Serbinenko for spotting).
11160
11161 * loader/i386/multiboot.c (mbi_dest): New variable.
11162 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
11163 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
11164 relocation area.
11165
9902d047 111662009-03-01 Bean <bean123ch@gmail.com>
11167
50fb7002 11168 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 11169 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
11170 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
11171 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
11172
11173 * loader/i386/efi/linux.c (acpi_guid): New variable.
11174 (acpi_guid): Likewise.
11175 (EBDA_SEG_ADDR): New constant.
11176 (LOW_MEM_ADDR): Likewise.
11177 (FAKE_EBDA_SEG): Likewise.
11178 (fake_bios_data): New function.
11179 (grub_linux_boot): Call fake_bios_data.
11180
71b9f361 111812009-03-01 Bean <bean123ch@gmail.com>
11182
11183 * commands/terminal.c: Removed.
11184
11185 * commands/handler.c: New file.
11186
11187 * include/grub/list.h: Likewise.
11188
11189 * include/grub/handler.h: Likewise.
11190
11191 * kern/list.c: Likewise.
11192
11193 * kern/handler.c: Likewise.
11194
11195 * kern/term.h: Include header file <grub/handler.h>.
11196 (grub_term_input): Move next field to the beginning.
11197 (grub_term_output): Likewise.
11198 (grub_term_input_class): New variable.
11199 (grub_term_output_class): Likewise.
11200 (grub_term_register_input): Changed to inline function.
11201 (grub_term_register_output): Likewise.
11202 (grub_term_unregister_input): Likewise.
11203 (grub_term_unregister_output): Likewise.
11204 (grub_term_set_current_input): Likewise.
11205 (grub_term_set_current_output): Likewise.
11206 (grub_term_get_current_input): Likewise.
11207 (grub_term_get_current_output): Likewise.
11208 (grub_term_iterate_input): Removed.
11209 (grub_term_iterate_output): Likewise.
11210
11211 * kern/term.c (grub_term_list_input): Removed.
11212 (grub_term_list_output): Likewise.
11213 (grub_term_input_class): New variable.
11214 (grub_term_output_class): Likewise.
50fb7002 11215 (grub_cur_term_input): Change variable as macro.
71b9f361 11216 (grub_cur_term_output): Likewise.
11217 (grub_term_register_input): Removed.
11218 (grub_term_register_output): Likewise.
11219 (grub_term_unregister_input): Likewise.
11220 (grub_term_unregister_output): Likewise.
11221 (grub_term_set_current_input): Likewise.
11222 (grub_term_set_current_output): Likewise.
11223 (grub_term_iterate_input): Likewise.
11224 (grub_term_iterate_output): Likewise.
11225 (grub_term_get_current_input): Likewise.
11226 (grub_term_get_current_output): Likewise.
11227
11228 * util/grub-editenv.c: Include header file <grub/handler.h>.
11229 (grub_term_get_current_input): Removed.
11230 (grub_term_get_current_output): Likewise.
11231 (grub_term_input_class): New variable.
50fb7002 11232 (grub_term_output_class): Likewise.
71b9f361 11233
11234 * util/grub-fstest.c (grub_term_get_current_input): Removed.
11235 (grub_term_get_current_output): Likewise.
11236 (grub_term_input_class): New variable.
50fb7002 11237 (grub_term_output_class): Likewise.
71b9f361 11238
11239 * util/grub-probe.c (grub_term_get_current_input): Removed.
11240 (grub_term_get_current_output): Likewise.
11241 (grub_term_input_class): New variable.
50fb7002 11242 (grub_term_output_class): Likewise.
71b9f361 11243
11244 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
11245 (grub_term_get_current_output): Likewise.
11246 (grub_term_input_class): New variable.
50fb7002 11247 (grub_term_output_class): Likewise.
71b9f361 11248
11249 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
11250 (terminal_mod_SOURCES): Likewise.
11251 (terminal_mod_CFLAGS): Likewise.
11252 (terminal_mod_LDFLAGS): Likewise.
11253
11254 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
11255 handler.c.
11256 (kernel_img_SOURCES): Add list.c and handler.c.
11257 (kernel_img_HEADERS): Add list.h and handler.h.
11258
11259 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
11260 handler.c.
11261 (kernel_mod_SOURCES): Add list.c and handler.c.
11262 (kernel_mod_HEADERS): Add list.h and handler.h.
11263
11264 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
11265 handler.c.
11266 (kernel_elf_SOURCES): Add list.c and handler.c.
11267 (kernel_elf_HEADERS): Add list.h and handler.h.
11268
11269 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
11270 handler.c.
11271 (kernel_elf_SOURCES): Add list.c and handler.c.
11272 (kernel_elf_HEADERS): Add list.h and handler.h.
11273
11274 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
11275 handler.c.
11276 (kernel_mod_SOURCES): Add list.c and handler.c.
11277 (kernel_mod_HEADERS): Add list.h and handler.h.
11278
11279 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
11280 handler.c.
11281 (kernel_elf_SOURCES): Add list.c and handler.c.
11282 (kernel_elf_HEADERS): Add list.h and handler.h.
11283
8a31787f 112842009-02-27 Robert Millan <rmh@aybabtu.com>
11285
11286 Factorize elf32 / elf64 code in Multiboot loader. This will
11287 prevent it from getting out of sync again.
11288
11289 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
11290 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
11291 grub_multiboot_load_elf64): Move from here ...
11292 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
11293 grub_multiboot_load_elf): ... to here (new file).
11294
51cd3dfc 112952009-02-27 Robert Millan <rmh@aybabtu.com>
11296
11297 * util/grub.d/10_linux.in: Rename "single-user mode" to
11298 "recovery mode".
11299
6e8c9c3a 113002009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11301
11302 Don't leak in SCSI code.
11303 * disk/scsi.c (grub_scsi_close): free `scsi'.
11304
4b6bf4f9 113052009-02-27 Robert Millan <rmh@aybabtu.com>
11306
11307 * loader/i386/pc/multiboot.c: Move from here ...
11308 * loader/i386/multiboot.c: ... to here. Update all users.
11309
b9413424 113102009-02-27 Robert Millan <rmh@aybabtu.com>
11311
11312 Patch from Alexandre Bique <bique.alexandre@gmail.com>
11313 * util/i386/pc/grub-setup.c (setup): Fix directory path.
11314
50fb7002 113152009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 11316
11317 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
11318 b-tree.
11319
8cc50345 113202009-02-27 Robert Millan <rmh@aybabtu.com>
11321
11322 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
11323 `0x' qualifier as 0 when base is specified as parameter).
11324
6e09b8b7 113252009-02-24 Bean <bean123ch@gmail.com>
11326
11327 * configure.ac: Check for -mcmodel=large in x86_64 target.
11328
11329 * include/grub/efi/api.h (efi_call_10): New macro.
11330 (efi_wrap_10): New function.
11331
11332 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
11333 (GRUB_PE32_REL_BASED_HIGH): Likewise.
11334 (GRUB_PE32_REL_BASED_LOW): Likewise.
11335 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
11336 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
11337 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
11338 (GRUB_PE32_REL_BASED_SECTION): Likewise.
11339 (GRUB_PE32_REL_BASED_REL): Likewise.
11340 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
11341 (GRUB_PE32_REL_BASED_DIR64): Likewise.
11342 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
11343
11344 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
11345 issue.
11346
11347 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
11348 (efi_wrap_10): New function.
11349
11350 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
11351
11352 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
11353 MB/MBP model (NV chipset).
11354 (devdata_devs): Add devpath_5 to the list.
11355
11356 * load/i386/efi/linux.c (video_base): Remove variable.
11357 (RGB_MASK): New macro.
11358 (RGB_MAGIC): Likewise.
11359 (LINE_MIN): Likewise.
11360 (LINE_MAX): Likewise.
11361 (FBTEST_STEP): Likewise.
11362 (FBTEST_COUNT): Likewise.
11363 (fb_list): New variable.
11364 (grub_find_video_card): Remove function.
11365 (find_framebuf): New function.
11366 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
11367 line length.
11368
11369 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
11370 problem for x86_64.
11371
74b21bee 113722009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
11373
11374 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
11375
11376 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
11377 coding tool name.
11378
a455f472 113792009-02-22 Robert Millan <rmh@aybabtu.com>
11380
11381 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
11382 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
11383 in our relocation, instead of using it directly from heap. Also
11384 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
11385
6374daf3 113862009-02-21 Robert Millan <rmh@aybabtu.com>
11387
11388 Implement USB keyboard support (based on patch by Marco Gerards)
11389
11390 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
11391 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
11392 (usb_keyboard_mod_LDFLAGS): New variables.
11393
11394 * term/usb_keyboard.c: New file.
11395
8fa4ea70 113962009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
11397
11398 Corrected wrong declaration
11399
11400 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
11401
353976ac 114022009-02-14 Christian Franke <franke@computer.org>
11403
11404 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
11405 (grub_lspci_iter): Print class code and programming interface byte.
11406
6aa1169b 114072009-02-14 Christian Franke <franke@computer.org>
11408
11409 * gendistlist.sh: Ignore `.svn' directories.
11410
265372ca 114112009-02-14 Felix Zielcke <fzielcke@z-51.de>
11412
11413 * fs/fat.c: Add 2009 to Copyright line.
11414
9ff516f3 114152009-02-14 Christian Franke <franke@computer.org>
11416
11417 * commands/hdparm.c: New file. Provides `hdparm' command
11418 which sends ATA commands via grub_disk_ata_pass_through ().
11419
11420 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
11421
11422 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
11423 and <grub/cpu/io.h> to include/grub/ata.h.
11424 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
11425 (GRUB_CDROM_SECTOR_SIZE): Remove.
11426 (GRUB_ATA_*): Move to include/grub/ata.h.
11427 (GRUB_ATAPI_*): Likewise.
11428 (enum grub_ata_commands): Likewise.
11429 (enum grub_ata_timeout_milliseconds): Likewise.
11430 (struct grub_ata_device): Likewise.
11431 (grub_ata_regset): Likewise.
11432 (grub_ata_regget): Likewise.
11433 (grub_ata_regset2): Likewise.
11434 (grub_ata_regget2): Likewise.
11435 (grub_ata_check_ready): Likewise.
11436 (grub_ata_wait_not_busy): Remove static, exported in
11437 include/grub/ata.h.
11438 (grub_ata_wait_drq): Likewise.
11439 (grub_ata_pio_read): Likewise.
11440
11441 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
11442 function for hdparm.mod.
11443
11444 * include/grub/ata.h: New file, contains declarations from
11445 disk/ata.c.
11446 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
11447
11448 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
11449 (grub_disk_ata_pass_through): New exported variable.
11450
11451 * kern/disk.c (grub_disk_ata_pass_through): New variable.
11452
772e23da 114532009-02-13 Colin D Bennett <colin@gibibit.com>
11454
11455 Support multiple fallback entries, and provide an API to support
11456 executing default+fallback menu entries. Renamed the `terminal' menu
11457 viewer to `text'.
11458
11459 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
11460 variable declaration.
11461 (grub_menu_execute_callback): New structure declaration.
11462 (grub_menu_execute_callback_t): New typedef.
11463 (grub_menu_execute_with_fallback): New function declaration.
11464 (grub_menu_get_entry): Likewise.
11465 (grub_menu_get_timeout): Likewise.
11466 (grub_menu_set_timeout): Likewise.
11467
11468 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
11469
11470 * normal/menu.c (grub_wait_after_message): Moved to
11471 `normal/menu_text.c'.
11472 (draw_border): Likewise.
11473 (print_message): Likewise.
11474 (print_entry): Likewise.
11475 (print_entries): Likewise.
11476 (grub_menu_init_page): Likewise.
11477 (get_entry_number): Likewise.
11478 (print_timeout): Likewise.
11479 (run_menu): Likewise.
11480 (grub_menu_execute_entry): Likewise.
11481 (show_text_menu): Likewise.
11482 (get_and_remove_first_entry_number): New function.
11483 (grub_menu_execute_with_fallback): Likewise.
11484 (get_entry): Renamed to ...
11485 (grub_menu_get_entry): .. this and made it global.
11486 (get_timeout): Renamed to ...
11487 (grub_menu_get_timeout): ... this and made it global.
11488 (set_timeout): Renamed to ...
11489 (grub_menu_set_timeout): ... this and made it global.
11490 (grub_normal_terminal_menu_viewer): Renamed to ...
11491 (grub_normal_text_menu_viewer): ... this.
11492
11493 * normal/menu_text.c: New file. Extracted text-menu-specific code
11494 from normal/menu.c.
11495
11496 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
11497 (normal_mod_SOURCES): Likewise.
11498
11499 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11500 (normal_mod_SOURCES): Likewise.
11501
11502 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11503 (normal_mod_SOURCES): Likewise.
11504
11505 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
11506 (normal_mod_SOURCES): Likewise.
11507
11508 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11509 (normal_mod_SOURCES): Likewise.
11510
11511 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11512 (normal_mod_SOURCES): Likewise.
11513
11514 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11515 (normal_mod_SOURCES): Likewise.
11516
16ac430e 115172009-02-11 Robert Millan <rmh@aybabtu.com>
11518
11519 * util/grub.d/00_header.in: Update old reference to `font' command.
11520
06ff20fc 115212009-02-10 Felix Zielcke <fzielcke@z-51.de>
11522
11523 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
11524
11525 Based on patch from Javier MartĂ­n.
11526
96da9407 115272009-02-09 Felix Zielcke <fzielcke@z-51.de>
11528
11529 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 11530 to avoid false positives with FAT.
96da9407 11531 (grub_fstest_SOURCES): Likewise.
11532 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
11533 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11534 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11535 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
11536 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11537 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11538
6dca6fe4 115392009-02-09 Felix Zielcke <fzielcke@z-51.de>
11540
06ff20fc 11541 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 11542 bpb.version_specific.fat12_or_fat16.fstype and
11543 bpb.version_specific.fat32.fstype.
11544
2550c62f 115452009-02-08 Robert Millan <rmh@aybabtu.com>
11546
be110b30 11547 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 11548
56978920 115492009-02-08 Robert Millan <rmh@aybabtu.com>
11550
11551 * Makefile.in (host_os, host_cpu): New variables.
11552 (target_os): Remove. Update all users.
11553
d64399b5 115542009-02-08 Marco Gerards <marco@gnu.org>
11555
11556 * Makefile.in (enable_grub_emu_usb): New variable.
11557 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
11558 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
11559 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
11560 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
11561 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
11562 `usbtest.mod' and `usbms.mod'.
11563 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
11564 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
11565 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
11566 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
11567 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
11568 variables.
11569
11570 * disk/usbms.c: New file.
11571
11572 * include/grub/usb.h: Likewise.
11573
11574 * include/grub/usbtrans.h: Likewise.
11575
11576 * include/grub/usbdesc.h: Likewise.
11577
11578 * bus/usb/usbtrans.c: Likewise.
11579
11580 * bus/usb/ohci.c: Likewise.
11581
11582 * bus/usb/uhci.c: Likewise.
11583
11584 * bus/usb/usbhub.c: Likewise.
11585
11586 * bus/usb/usb.c: Likewise.
11587
11588 * commands/usbtest.c: Likewise.
11589
11590 * util/usb.c: Likewise.
50fb7002 11591
d64399b5 11592 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
11593
11594 * configure.ac: Test for libusb presence.
50fb7002 11595
d64399b5 11596 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
11597
2b40d6bb 115982009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
11599
11600 * kern/mm.c: Add more comments.
11601
73a4ce81 116022009-02-08 Robert Millan <rmh@aybabtu.com>
11603
11604 Patch from Javier MartĂ­n.
11605 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
11606 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
11607
f821ce59 116082009-02-08 Robert Millan <rmh@aybabtu.com>
11609
11610 * fs/cpio.c: Split tar functionality to ...
11611 * fs/tar.c: ... here (new file). Update all users.
11612
aebfc4b0 116132009-02-07 Robert Millan <rmh@aybabtu.com>
11614
11615 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
11616 backward-incompatible features.
11617
11618 Based on patch from Javier MartĂ­n, with some adjustments.
11619
50fb7002 116202009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 11621
11622 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
11623
0bb5115e 116242009-02-07 Robert Millan <rmh@aybabtu.com>
11625
11626 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
11627 position of `disk/lvm.c' to ensure grub_init_all() always picks it
11628 after the RAID stuff.
11629
38a0f8e7 116302009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
11631
50fb7002 11632 Fixes problem when running vbetest command as reported by
38a0f8e7 11633 Vladimir Serbinenko <phcoder@gmail.com>.
11634
11635 * (grub_vbe_set_video_mode): Fixed problem with text modes.
11636
3143cc1c 116372009-02-04 Felix Zielcke <fzielcke@z-51.de>
11638
11639 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
11640 /dev/md/NpN style mdraid devices.
11641
9cba6fce 116422009-02-03 Felix Zielcke <fzielcke@z-51.de>
11643
11644 * util/unifont2pff.rb: Remove.
11645
e507a2c1 116462009-02-03 Felix Zielcke <fzielcke@z-51.de>
11647
11648 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
11649 `#'.
11650
d2c2b4cd 116512009-02-03 Felix Zielcke <fzielcke@z-51.de>
11652
11653 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
11654 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11655 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11656 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
11657 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11658 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11659 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11660
b4315fb0 116612009-02-02 Christian Franke <franke@computer.org>
11662
11663 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
11664
de3aa260 116652009-02-01 Felix Zielcke <fzielcke@z-51.de>
11666
7c3ff286 11667 * INSTALL: Note that we now require at least autoconf 2.59 and
11668 that LZO is optional.
de3aa260 11669
825a182b 116702009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
11671
11672 Base on patch on bug #24154 created by Tomas Tintera
11673 <trosos@seznam.cz>.
11674
11675 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
11676
a69ef770 116772009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
11678
7c3ff286 11679 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 11680 <bero@arklinux.org>.
11681
11682 * normal/parser.y (script_init): Add missing semicolon.
11683
6fa42fa6 116842009-01-31 Colin D Bennett <colin@gibibit.com>
11685
7c3ff286 11686 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 11687 (free_menu_entry_classes): Added.
11688 (grub_normal_menu_addentry): Added class property handling.
11689 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
11690 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
11691
11692 * normal/menu_viewer.c: New file.
11693
11694 * normal/menu.c (run_menu_entry): Renamed to ...
11695 (grub_menu_execute_entry): ... this and made it as global.
11696 (grub_menu_run): Renamed to ...
11697 (show_text_menu): ... this and made it local.
11698 (show_text_menu): Adapt to new function names.
11699 (grub_normal_terminal_menu_viewer): New global variable.
11700
11701 * include/grub/menu.h: New file.
11702
11703 * include/grub/menu_viewer.h: New file.
11704
11705 * include/grub/normal.h: Added include to grub/menu.h.
11706 (grub_menu_entry): Moved to include/grub/menu.h.
11707 (grub_menu_entry_t): Likewise.
11708 (grub_menu): Likewise.
11709 (grub_menu_t): Likewise.
11710 (grub_normal_terminal_menu_viewer): Added.
11711 (grub_menu_execute_entry): Likewise.
11712 (grub_menu_run): Removed.
11713
11714 * DISTLIST: Added include/grub/menu.h.
11715 Added include/grub/menu_viewer.h.
11716 Added normal/menu_viewer.c.
11717
117182009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
11719
11720 * normal/execute.c (grub_script_execute_menuentry): Changed to use
11721 arglist for menutitle arguments.
11722
11723 * normal/main.c (grub_normal_menu_addentry): Likewise.
11724
11725 * normal/parser.y (menuentry): Likewise.
11726
11727 * normal/script.c (grub_script_create_cmdmenu): Likewise.
11728
11729 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
11730 (grub_script_create_cmdmenu): Likewise.
11731
11732 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
11733
11734 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
11735 changes.
11736
11737 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
11738
11739 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
11740
11741 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
11742
11743 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
11744
11745 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
11746
11747 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
11748
56192c23 117492009-01-30 Christian Franke <franke@computer.org>
11750
11751 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
11752 in option help text.
11753
d72521b3 117542009-01-27 Pavel Roskin <proski@gnu.org>
11755
11756 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
11757
994b5e84 117582009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
11759
11760 * commands/lsmmap.c: Add include to grub/machine/memory.h.
11761
11762 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
11763
11764 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
11765 unregister function.
11766
6a7eab2c 117672009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
11768
11769 * disk/scsi.c (grub_scsi_read): Fix sign problem.
11770
11771 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
11772
11773 * util/grub-mkfont.c (usage): Fix typo.
11774
11775 * util/elf/grub-mkimage.c (load_modules): Fix warning.
11776
1806b56e 117772009-01-26 Daniel Mierswa <impulze@impulze.org>
11778
3fb18f09 11779 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
11780
336e1fb9 11781 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
11782
1806b56e 11783 * kern/misc.c (grub_strcasecmp): New function.
11784 (grub_strcasecmp): Use grub_size_t instead of int for length.
11785 Fix return value.
11786 * include/grub/misc.h: Update function prototypes.
11787
580b2a0f 117882009-01-26 Robert Millan <rmh@aybabtu.com>
11789
11790 * configure.ac: Fix cross-compilation check.
ef257b36 11791
d31c24f1 117922009-01-22 Christian Franke <franke@computer.org>
11793
11794 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
11795 (precision) digit string. Allow `.format2' without `format1' (width).
11796 Limit input chars for `%s' output to `format2' if specified. This is
11797 compatible with standard printf ().
11798
3138b44c 117992009-01-22 Christian Franke <franke@computer.org>
11800
11801 * disk/ata.c (grub_ata_wait_status): Replace by ...
11802 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
11803 other status bits may be invalid while BSY is asserted.
11804 (grub_ata_check_ready): New function.
11805 (grub_ata_cmd): Removed.
11806 (grub_ata_wait_drq): New function.
11807 (grub_ata_strncpy): Remove inline.
11808 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
11809 and error check now done by grub_ata_wait_drq ().
11810 (grub_ata_pio_write): Likewise.
11811 (grub_atapi_identify): Set DEV before check for !BSY. Use
11812 grub_ata_wait_drq () to wait for data.
11813 (grub_ata_device_initialize): Add status register check to
11814 detect missing SATA slave devices. Add debug messages.
11815 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
11816 (grub_atapi_packet): Set DEV before check for !BSY. Replace
11817 transfer loop by grub_ata_pio_write ().
11818 (grub_ata_identify): Set DEV before check for !BSY. Use
11819 grub_ata_wait_drq () to wait for data.
ef257b36 11820 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 11821 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
11822 read/write in one loop. Fix invalid command on write. Fix incomplete
11823 command on (size % batch) == 0. Add missing error check after write of
11824 last block. Add debug messages.
11825 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
11826
59a64ef6 118272009-01-19 Christian Franke <franke@computer.org>
11828
11829 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
11830 (GRUB_ATAPI_IREASON_*): Likewise.
11831 (grub_ata_pio_write): Fix timeout error return.
11832 (grub_atapi_identify): Add grub_ata_wait () after cmd.
11833 (grub_atapi_wait_drq): New function.
11834 (grub_atapi_packet): New parameter `size'.
11835 Use grub_atapi_wait_drq () and direct write instead of
11836 grub_ata_pio_write ().
11837 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
11838 reads the number of bytes requested by the device for each DRQ
11839 assertion.
11840 (grub_atapi_write): Remove old implementation, return not
11841 implemented instead.
11842
1cfe20b3 118432009-01-19 Christian Franke <franke@computer.org>
11844
11845 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
11846 of 512 to calculate data size.
11847 (grub_scsi_read12): Likewise.
11848 (grub_scsi_write10): Likewise.
11849 (grub_scsi_write12): Likewise.
11850 (grub_scsi_read): Adjust size according to blocksize.
11851 Add checks for invalid blocksize and unaligned transfer.
11852
bee5fe5d 118532009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
11854
11855 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
11856
ef257b36 11857 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 11858 width glyphs.
11859
3e643f8c 118602009-01-19 Robert Millan <rmh@aybabtu.com>
11861
11862 * config.guess: Update to latest version from config git.
11863 * config.sub: Likewise.
11864
4fa80998 118652009-01-17 Felix Zielcke <fzielcke@z-51.de>
11866
11867 * Makefile.in: Change font compilation to use new grub-mkfont instead
11868 of java version.
11869
11870 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
11871 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
11872 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
11873 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
11874 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
11875 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
11876 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
11877 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
11878 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
11879
7086085b 118802009-01-16 Christian Franke <franke@computer.org>
11881
11882 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
11883 (enum grub_ata_timeout_milliseconds): New enum.
11884 (grub_ata_wait_status): Add parameter milliseconds.
11885 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
11886 recovery from timed-out commands.
11887 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
11888 return grub_errno instead of REG_ERROR.
11889 (grub_ata_pio_write): Add parameter milliseconds.
11890 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
11891 Pass milliseconds to grub_ata_wait_status () and
11892 grub_ata_pio_read ().
11893 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
11894 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
11895 grub_ata_wait_status (). Fix IDENTIFY timeout check.
11896 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
11897 It is not suitable for device detection, because DEV bit is ignored,
11898 the command may run too long, and not all devices set the signature
11899 properly.
11900 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
11901 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
11902 Fix device selection, DEV bit must be set first to address the registers
11903 of the correct device.
11904 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
11905 grub_ata_pio_read/write ().
11906 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
11907 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
11908
4a412913 119092009-01-13 Carles Pina i Estany <carles@pina.cat>
11910
11911 * util/grub-editenv.c (main): Use fseeko(), not fseek().
11912
7795c55e 119132009-01-13 Bean <bean123ch@gmail.com>
d913988c 11914
11915 * util/grub-mkfont.c (write_font): forget to remove some debug code.
11916
7795c55e 119172009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 11918
11919 * Makefile.in: (enable_grub_mkfont): New variable.
11920 (freetype_cflags): Likewise.
11921 (freetype_libs): Likewise.
11922
11923 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
11924 (grub_mkfont_SOURCES): New variable.
11925 (grub_mkfont_CFLAGS): Likewise.
11926 (grub_mkfont_LDFLAGS): Likewise.
11927
11928 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
11929 library if `--enable-grub-mkfont' is requested.
11930 (enable_grub_mkfont): New variable.
11931 (freetype_cflags): Likewise.
11932 (freetype_libs): Likewise.
11933
11934 * util/grub-mkfont.c: New file.
11935
093af1fe 119362009-01-12 Christian Franke <franke@computer.org>
11937
11938 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
11939 mode check. Fix setting of compat_use[].
11940
f36cc108 119412009-01-10 Robert Millan <rmh@aybabtu.com>
11942
11943 Update a few copyright years which we forgot to do in 2008 (only for
11944 files whose changes made in 2008 were copyright-significant)
11945
11946 * Makefile.in: Add 2008 to Copyright line.
11947 * disk/ieee1275/ofdisk.c: Likewise.
11948 * disk/efi/efidisk.c: Likewise.
11949 * kern/dl.c: Likewise.
11950 * kern/sparc64/ieee1275/init.c: Likewise.
11951 * kern/mm.c: Likewise.
11952 * kern/efi/mm.c: Likewise.
11953 * boot/i386/pc/boot.S: Likewise.
11954 * genfslist.sh: Likewise.
11955 * fs/iso9660.c: Likewise.
11956 * fs/hfs.c: Likewise.
11957 * fs/jfs.c: Likewise.
11958 * fs/minix.c: Likewise.
11959 * fs/ufs.c: Likewise.
11960 * gensymlist.sh.in: Likewise.
11961 * genkernsyms.sh.in: Likewise.
11962 * include/grub/misc.h: Likewise.
11963 * include/grub/types.h: Likewise.
11964 * include/grub/symbol.h: Likewise.
11965 * include/grub/elf.h: Likewise.
11966 * include/grub/kernel.h: Likewise.
11967 * include/grub/disk.h: Likewise.
11968 * include/grub/dl.h: Likewise.
11969 * include/grub/i386/linux.h: Likewise.
11970 * include/grub/i386/pc/biosdisk.h: Likewise.
11971 * include/grub/efi/api.h: Likewise.
11972 * include/grub/efi/pe32.h: Likewise.
11973 * include/grub/util/misc.h: Likewise.
11974 * normal/execute.c: Likewise.
11975 * normal/arg.c: Likewise.
11976 * normal/completion.c: Likewise.
11977 * normal/lexer.c: Likewise.
11978 * normal/parser.y: Likewise.
11979 * normal/misc.c: Likewise.
11980 * commands/i386/pc/vbeinfo.c: Likewise.
11981 * commands/hexdump.c: Likewise.
11982 * commands/terminal.c: Likewise.
11983 * commands/ls.c: Likewise.
11984 * commands/help.c: Likewise.
11985 * partmap/pc.c: Likewise.
11986 * loader/efi/chainloader.c: Likewise.
11987 * loader/multiboot_loader.c: Likewise.
11988 * loader/i386/pc/multiboot2.c: Likewise.
11989 * term/efi/console.c: Likewise.
11990 * term/i386/pc/serial.c: Likewise.
11991 * util/lvm.c: Likewise.
11992 * util/console.c: Likewise.
11993 * util/i386/efi/grub-mkimage.c: Likewise.
11994 * util/raid.c: Likewise.
11995
7f02114b 119962009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
11997
11998 * commands/videotest.c: Removed include to grub/machine/memory.h.
11999
12000 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
12001 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
12002 (video_mod_SOURCES): Removed.
12003 (video_mod_CFLAGS): Likewise.
12004 (video_mod_LDFLAGS): Likewise.
12005 (gfxterm_mod_SOURCES): Likewise.
12006 (gfxterm_mod_CFLAGS): Likewise.
12007 (gfxterm_mod_LDFLAGS): Likewise.
12008 (videotest_mod_SOURCES): Likewise.
12009 (videotest_mod_CFLAGS): Likewise.
12010 (videotest_mod_LDFLAGS): Likewise.
12011 (bitmap_mod_SOURCES): Likewise.
12012 (bitmap_mod_CFLAGS): Likewise.
12013 (bitmap_mod_LDFLAGS): Likewise.
12014 (tga_mod_SOURCES): Likewise.
12015 (tga_mod_CFLAGS): Likewise.
12016 (tga_mod_LDFLAGS): Likewise.
12017 (jpeg_mod_SOURCES): Likewise.
12018 (jpeg_mod_CFLAGS): Likewise.
12019 (jpeg_mod_LDFLAGS): Likewise.
12020 (png_mod_SOURCES): Likewise.
12021 (png_mod_CFLAGS): Likewise.
12022 (png_mod_LDFLAGS): Likewise.
12023
12024 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
12025 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
12026 (video_mod_SOURCES): Added.
12027 (video_mod_CFLAGS): Likewise.
12028 (video_mod_LDFLAGS): Likewise.
12029 (videotest_mod_SOURCES): Likewise.
12030 (videotest_mod_CFLAGS): Likewise.
12031 (videotest_mod_LDFLAGS): Likewise.
12032 (bitmap_mod_SOURCES): Likewise.
12033 (bitmap_mod_CFLAGS): Likewise.
12034 (bitmap_mod_LDFLAGS): Likewise.
12035 (tga_mod_SOURCES): Likewise.
12036 (tga_mod_CFLAGS): Likewise.
12037 (tga_mod_LDFLAGS): Likewise.
12038 (jpeg_mod_SOURCES): Likewise.
12039 (jpeg_mod_CFLAGS): Likewise.
12040 (jpeg_mod_LDFLAGS): Likewise.
12041 (png_mod_SOURCES): Likewise.
12042 (png_mod_CFLAGS): Likewise.
12043 (png_mod_LDFLAGS): Likewise.
12044 (gfxterm_mod_SOURCES): Likewise.
12045 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 12046 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 12047
12048 * term/gfxterm.c: Removed include to grub/machine/memory.h,
12049 grub/machine/console.h.
12050
644fff97 120512009-01-04 Jerone Young <jerone@gmail.com>
12052
12053 Make on screen instructions clearer
12054
12055 Based on patch created by Jidanni <jidanni@jidanni.org>
12056
12057 * normal/menu.c: print clearer instructions on the screen
12058
1e901a75 120592009-01-02 Colin D Bennett <colin@gibibit.com>
12060
12061 New font engine.
34c44600 12062
1e901a75 12063 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
12064 build system and fixed gfxterm.c to work with different sized fonts.
12065
12066 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 12067
1e901a75 12068 * configure: Re-generated.
34c44600 12069
1e901a75 12070 * DISTLIST: Removed font/manager.c.
12071 Added font/font.c.
12072 Added font/font_cmd.c.
34c44600 12073
1e901a75 12074 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
12075 compilation.
34c44600 12076
1e901a75 12077 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 12078
12079 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 12080
12081 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 12082
1e901a75 12083 * normal/menu.c: Likewise.
34c44600 12084
1e901a75 12085 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
12086 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 12087
1e901a75 12088 * include/grub/font.h: Replaced with new file.
34c44600 12089
1e901a75 12090 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
12091 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
12092 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
12093 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
12094 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 12095 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 12096 fg_red, fg_green, fg_blue, fg_alpha.
12097 (grub_video_adapter): Removed blit_glyph.
34c44600 12098 (grub_video_blit_glyph): Removed.
12099
1e901a75 12100 * font/manager.c: Removed file.
34c44600 12101
12102 * font/font.c: New file.
12103
1e901a75 12104 * font/font_cmd.c: Likewise.
34c44600 12105
1e901a75 12106 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 12107
1e901a75 12108 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
12109 (grub_video_vbe_map_rgba): Likewise.
12110 (grub_video_vbe_unmap_color_int): Likewise.
12111 (grub_video_vbe_blit_glyph): Removed.
12112 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 12113
1e901a75 12114 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
12115 (get_pixel): Likewise.
34c44600 12116 (set_pixel): Likewise.
12117
1e901a75 12118 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 12119
1e901a75 12120 * term/gfxterm.c: Adapted to new font engine.
34c44600 12121
1e901a75 12122 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 12123
1e901a75 12124 * term/i386/pc/vga.c: Likewise.
34c44600 12125
1e901a75 12126 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 12127
1e901a75 12128 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 12129
1e901a75 12130 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 12131
1e901a75 12132 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 12133
1e901a75 12134 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 12135
1e901a75 12136 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 12137
1e901a75 12138 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 12139
1e901a75 12140 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 12141
1e901a75 12142 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
12143
12144 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 12145
1e901a75 12146 * util/grub-mkconfig_lib.in: Changed font extension.
12147
278922e8 121482008-12-28 Felix Zielcke <fzielcke@z-51.de>
12149
12150 * util/getroot.c (grub_util_get_grub_dev): Add support for
12151 /dev/md/dNNpNN style partitionable mdraid devices.
12152
3ced05cf 121532008-12-12 Alex Smith <alex@alex-smith.me.uk>
12154
12155 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
12156 at a time limit of the PXE TFTP API correctly.
12157 (grub_pxefs_close): Likewise.
12158
7fd0ee30 121592008-11-29 Robert Millan <rmh@aybabtu.com>
12160
34c44600 12161 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 12162 grub_ata_device_initialize() calls.
12163
34c44600 121642008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 12165
12166 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
12167 iteration failed.
12168 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
12169
89313780 121702008-11-28 Robert Millan <rmh@aybabtu.com>
12171
12172 Fix build on powerpc-ieee1275. Based on patch created by
12173 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
12174 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
12175 `kern/ieee1275/mmap.c'.
12176 * include/grub/powerpc/ieee1275/memory.h: New file.
12177
15257703 12178 Provide grub-install on coreboot.
12179 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
12180 (grub_install_SOURCES): New variable.
12181 * util/i386/pc/grub-install.in: Add a few condition checks to make it
12182 usable on coreboot.
12183
9fc5388a 121842008-11-25 Felix Zielcke <fzielcke@z-51.de>
12185
12186 * util/grub-fstest.c (grub_term_get_current_input): Change return type
12187 to `grub_term_input_t'.
12188 (grub_term_get_current_output): Change return type to
12189 `grub_term_output_t'.
12190
bc3a2f31 121912008-11-22 Robert Millan <rmh@aybabtu.com>
12192
34c44600 12193 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 12194 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
12195 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
12196 grub_vga_text_cls().
12197
80fc88f2 12198 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 12199 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 12200
cbf36fd3 12201 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
12202 to 0x200000 (avoids trouble with some OFW implementations, and matches
12203 with the one in Yaboot).
12204 Reported by Manoel Abranches
12205
73e8e268 122062008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 12207
12208 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
12209 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
12210
73e8e268 12211 * util/grub-mkconfig_lib.in (grub_warn): New function.
12212 (convert_system_path_to_grub_path): Use grub_warn() when issuing
12213 warnings, to obtain consistent formatting.
12214 * util/grub.d/00_header.in: Likewise.
12215 * util/update-grub_lib.in: Likewise.
12216
e94045a1 12217 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 12218 Move comment text to `#error' stanza.
e94045a1 12219
79d29fd7 12220 Harmonize ieee1275's grub_available_iterate() with the generic
12221 grub_machine_mmap_iterate() interface (fixes a recently-introduced
12222 build problem on i386-ieee1275):
12223 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
12224 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
12225 parameter `type'. Update all users of this function.
12226 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
12227 `kern/ieee1275/mmap.c'.
12228 * kern/ieee1275/init.c
12229 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
12230 with ...
12231 (grub_machine_mmap_iterate): ... this.
12232 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
12233 return type to `grub_err_t'. Update all implementations of this
12234 function prototype.
12235 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
12236 Likewise.
12237
60d6b16e 12238 Add `lsmmap' command (lists firmware-provided memory map):
12239 * commands/lsmmap.c: New file.
12240 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
12241 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
12242 variables.
12243 * conf/powerpc-ieee1275.rmk: Likewise.
12244 * conf/i386-coreboot.rmk: Likewise.
12245 * conf/i386-ieee1275.rmk: Likewise.
12246
ebaaf49b 122472008-11-19 Robert Millan <rmh@aybabtu.com>
12248
12249 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 12250 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
12251 constraints to initrd allocation (based on code from
12252 loader/i386/pc/linux.c). Without them, initrd was allocated too high
12253 for Linux to find it.
ebaaf49b 12254
dfab719f 122552008-11-14 Robert Millan <rmh@aybabtu.com>
12256
12257 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
12258 order to cope with duplicate slashes.
12259
10fc3eb9 122602008-11-14 Robert Millan <rmh@aybabtu.com>
12261
12262 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
12263 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
12264 don't want to mess with lower memory, because it is used in the Linux
12265 loader.
12266
12267 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 12268 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 12269 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
12270 is in our heap (probably as a result of it being corrupted during
2f2a3442 12271 decompression). Add #error instance with comment to explain why this
12272 loader isn't currently usable on PC/BIOS.
10fc3eb9 12273
e2e07847 122742008-11-14 Robert Millan <rmh@aybabtu.com>
12275
12276 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 12277 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 12278
fe8e8d69 122792008-11-12 Robert Millan <rmh@aybabtu.com>
12280
12281 Make loader/i386/linux.c buildable on i386-pc (although disabled).
12282
12283 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
12284 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
12285 from here ...
12286 * include/grub/i386/pc/memory.h: ... to here.
12287
976b07d0 122882008-11-12 Robert Millan <rmh@aybabtu.com>
12289
12290 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
12291 split).
12292
12293 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
12294 (grub_console_cur_color, grub_console_real_putchar)
12295 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
12296 (grub_console_setcolorstate, grub_console_setcolor)
12297 (grub_console_getcolor): Move from here ...
12298 * include/grub/i386/vga_common.h: ... to here (new file).
12299
12300 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
12301 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
12302 `<grub/i386/io.h>'.
12303 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
12304 `<grub/i386/vga_common.h>'.
12305
76679cd3 123062008-11-12 Robert Millan <rmh@aybabtu.com>
12307
12308 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
12309 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
12310 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
12311 variables.
12312 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
12313 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
12314
12315 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
12316 grub_console_init() with call to grub_vga_text_init().
12317 (grub_machine_fini): Replace call to
12318 grub_console_fini() with call to grub_vga_text_fini() and
12319 grub_at_keyboard_fini().
12320
12321 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
12322 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
12323 (grub_console_setcolorstate, grub_console_setcolor)
12324 (grub_console_getcolor): New function prototypes.
12325
12326 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
12327 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
12328 (grub_vga_text_setcursor): Static-ize.
12329 (grub_vga_text_term): New structure.
12330 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
12331
12332 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
12333 (grub_console_cur_color, grub_console_standard_color)
12334 (grub_console_normal_color, grub_console_highlight_color)
12335 (map_char, grub_console_putchar, grub_console_getcharwidth)
12336 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
12337 (grub_console_getcolor): Move from here ...
12338 * term/i386/vga_common.c: ... to here (same function names).
12339
95b841d3 123402008-11-12 Robert Millan <rmh@aybabtu.com>
12341
12342 Use newly-added Multiboot support in coreboot.
12343
12344 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
12345 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
12346
12347 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
12348 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
12349 (codestart): Store the MBI in `startup_multiboot_info' when we're
12350 being loaded using Multiboot.
12351
12352 * kern/i386/coreboot/init.c (grub_machine_init): Move
12353 grub_at_keyboard_init() call to beginning of function (useful for
12354 debugging). Call grub_machine_mmap_init() before attempting to use
12355 grub_machine_mmap_iterate().
12356 (grub_lower_mem, grub_upper_mem): Move from here ...
12357 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
12358 here (new file).
12359
12360 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
12361 function prototype.
12362
761ca975 123632008-11-12 Robert Millan <rmh@aybabtu.com>
12364
12365 Fix a regression introduced by the at_keyboard.mod split. Because
12366 some terminals are default on some platforms and non-default on
12367 others, the first terminal being registered determines which is
12368 going to be default.
12369
12370 * kern/term.c (grub_term_register_input): If this is the first
12371 terminal being registered, set it as the current one.
12372 (grub_term_register_output): Likewise.
12373
12374 * term/efi/console.c (grub_console_init): Do not call
12375 grub_term_set_current_output() or grub_term_set_current_input().
12376 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
12377 * term/i386/pc/console.c (grub_console_init): Likewise.
12378 (grub_console_fini): Do not call grub_term_set_current_input()
12379 (but leave grub_term_set_current_output() to restore text mode).
12380
6c529df7 123812008-11-10 Robert Millan <rmh@aybabtu.com>
12382
12383 * util/grub.d/00_header.in: Add backward compatibility check for
12384 versions of terminal.mod that don't understand `terminal_input' or
12385 `terminal_output'.
12386
132e4113 123872008-11-09 Robert Millan <rmh@aybabtu.com>
12388
12389 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
12390 `terminal_input' / `terminal_output', not `terminal'.
12391
ac293d50 123922008-11-08 Robert Millan <rmh@aybabtu.com>
12393
12394 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 12395 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 12396
0025933a 123972008-11-08 Robert Millan <rmh@aybabtu.com>
12398
12399 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 12400 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 12401 members. Update all users.
12402 * util/console.c (grub_ncurses_term): Split in ...
12403 (grub_ncurses_term_input): ... this, and ...
12404 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 12405 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 12406
37c86336 124072008-11-08 Robert Millan <rmh@aybabtu.com>
12408
12409 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
12410 (PKGDATA): Add $(pkgdata_SRCDIR).
12411 (pkglib_BUILDDIR): New variable.
12412 (pkgdata_SRCDIR): New variable.
12413 (build_env.mk): New target.
12414 (include_DATA): New variable.
12415 (install-local): Install $(include_DATA) files in $(includedir).
12416
b6c15a2d 124172008-11-07 Pavel Roskin <proski@gnu.org>
12418
d99d46f1 12419 * gendistlist.sh: Use C locale for sorting to ensure consistent
12420 output on all systems.
12421
b6c15a2d 12422 * util/grub.d/00_header.in: Remove incorrect space before
12423 "serial".
12424
c32ee8c9 124252008-11-07 Robert Millan <rmh@aybabtu.com>
12426
12427 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
12428 per specification.
12429 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
12430 * loader/multiboot_loader.c (find_multi_boot2_header): New function
12431 (based on find_multi_boot1_header).
12432 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
12433 using find_multi_boot2_header(), and abort if neither Multiboot or
12434 Multiboot headers were found.
12435
651c29b7 124362008-11-07 Robert Millan <rmh@aybabtu.com>
12437
12438 Modularize at_keyboard.mod:
12439
12440 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
12441 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
12442 (at_keyboard_mod_LDFLAGS): New variables.
12443
12444 Actual terminal split:
12445
12446 * include/grub/term.h (struct grub_term): Split in ...
12447 (struct grub_term_input): ... this, and ...
12448 (struct grub_term_output): ... this. Update all users.
12449 (grub_term_set_current): Split in ...
12450 (grub_term_set_current_input): ... this, and ...
12451 (grub_term_set_current_output): ... this.
12452 (grub_term_get_current): Split in ...
12453 (grub_term_get_current_input): ... this, and ...
12454 (grub_term_get_current_output): ... this.
12455 (grub_term_register): Split in ...
12456 (grub_term_register_input): ... this, and ...
12457 (grub_term_register_output): ... this.
12458 (grub_term_unregister): Split in ...
12459 (grub_term_unregister_input): ... this, and ...
12460 (grub_term_unregister_output): ... this.
12461 (grub_term_iterate): Split in ...
12462 (grub_term_iterate_input): ... this, and ...
12463 (grub_term_iterate_output): ... this.
12464
12465 * kern/term.c (grub_term_list): Split in ...
12466 (grub_term_list_input): ... this, and ...
12467 (grub_term_list_output): ... this. Update all users.
12468 (grub_cur_term): Split in ...
12469 (grub_cur_term_input): ... this, and ...
12470 (grub_cur_term_output): ... this. Update all users.
12471 (grub_term_set_current): Split in ...
12472 (grub_term_set_current_input): ... this, and ...
12473 (grub_term_set_current_output): ... this.
12474 (grub_term_get_current): Split in ...
12475 (grub_term_get_current_input): ... this, and ...
12476 (grub_term_get_current_output): ... this.
12477 (grub_term_register): Split in ...
12478 (grub_term_register_input): ... this, and ...
12479 (grub_term_register_output): ... this.
12480 (grub_term_unregister): Split in ...
12481 (grub_term_unregister_input): ... this, and ...
12482 (grub_term_unregister_output): ... this.
12483 (grub_term_iterate): Split in ...
12484 (grub_term_iterate_input): ... this, and ...
12485 (grub_term_iterate_output): ... this.
12486
12487 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
12488 a check for input and one for output (and only attempt to get keys
12489 from user when input works).
12490
12491 * util/grub-probe.c (grub_term_get_current): Split in ...
12492 (grub_term_get_current_input): ... this, and ...
12493 (grub_term_get_current_output): ... this.
12494 * util/grub-fstest.c: Likewise.
12495 * util/i386/pc/grub-setup.c: Likewise.
12496 * util/grub-editenv.c: Likewise.
12497
12498 Portability adjustments:
12499
12500 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
12501 `term/i386/pc/at_keyboard.c'.
12502 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
12503 grub_keyboard_controller_init() (now handled by terminal .init).
12504 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
12505 grub_at_keyboard_init().
12506 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
12507 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
12508 at_keyboard.mod via input terminal interface).
12509 * include/grub/i386/coreboot/console.h: Convert into a stub for
12510 `<grub/i386/pc/console.h>'.
12511
12512 Migrate full terminals to new API:
12513
12514 * term/efi/console.c (grub_console_term): Split into ...
12515 (grub_console_term_input): ... this, and ...
12516 (grub_console_term_output): ... this. Update all users.
12517 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
12518 (grub_ofconsole_init): Split into ...
12519 (grub_ofconsole_init_input): ... this, and ...
12520 (grub_ofconsole_init_output): ... this.
12521 (grub_ofconsole_term): Split into ...
12522 (grub_ofconsole_term_input): ... this, and ...
12523 (grub_ofconsole_term_output): ... this. Update all users.
12524 * term/i386/pc/serial.c (grub_serial_term): Split into ...
12525 (grub_serial_term_input): ... this, and ...
12526 (grub_serial_term_output): ... this. Update all users.
12527 * term/i386/pc/console.c (grub_console_term): Split into ...
12528 (grub_console_term_input): ... this, and ...
12529 (grub_console_term_output): ... this. Update all users.
12530 (grub_console_term_input): Only enable it on PC/BIOS platform.
12531 (grub_console_init): Remove grub_keyboard_controller_init() call.
12532
12533 Migrate input terminals to new API:
12534
12535 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
12536 `i386' and `i386/pc' to enable build on x86_64 (this driver is
12537 i386-specific anyway).
12538 (grub_console_checkkey): Rename to ...
12539 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
12540 users.
12541 (grub_keyboard_controller_orig): New variable.
12542 (grub_console_getkey): Rename to ...
12543 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
12544 users.
12545 (grub_keyboard_controller_init): Static-ize. Save original
12546 controller value so that it can be restored ...
12547 (grub_keyboard_controller_fini): ... here (new function).
12548 (grub_at_keyboard_term): New structure.
12549 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
12550 functions.
12551
12552 Migrate output terminals to new API:
12553
12554 * term/i386/pc/vga.c (grub_vga_term): Change type to
12555 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
12556 members. Update all users.
12557 * term/gfxterm.c (grub_video_term): Change type to
12558 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
12559 members. Update all users.
12560 * include/grub/i386/pc/console.h (grub_console_checkkey)
12561 (grub_console_getkey): Do not export (no longer needed by gfxterm,
12562 etc).
12563
12564 Migrate `terminal' command and userland tools to new API:
12565
12566 * commands/terminal.c (grub_cmd_terminal): Split into ...
12567 (grub_cmd_terminal_input): ... this, and ...
12568 (grub_cmd_terminal_output): ... this.
12569 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
12570 `terminal_input' and `terminal_output'.
12571 * util/grub.d/00_header.in: Adjust `terminal' calls to new
12572 `terminal_input' / `terminal_output' API.
12573 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
12574 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
12575 provided ${GRUB_TERMINAL}, convert it).
12576
96e5d876 125772008-11-04 Robert Millan <rmh@aybabtu.com>
12578
12579 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
12580 for FreeBSD.
12581 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
12582
556f3775 125832008-11-03 Bean <bean123ch@gmail.com>
12584
12585 * kern/elf.c (grub_elf32_load): Revert to previous code.
12586 (grub_elf64_load): Likewise.
12587
12588 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
12589
926b9823 125902008-11-01 Robert Millan <rmh@aybabtu.com>
12591
12592 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
12593 (TARGET_CPPFLAGS): Likewise.
12594 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
12595
1432e958 125962008-11-01 Carles Pina i Estany <carles@pina.cat>
12597
12598 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
12599
dba3f844 126002008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 12601
12602 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
12603 addition of objects until the code is not going to be able to fail.
12604
dba3f844 126052008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 12606
12607 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
12608 (add a missing NULL check, and correct them by moving the pointer
12609 operations after the actual check).
12610
7ab28c21 126112008-10-29 Robert Millan <rmh@aybabtu.com>
12612
12613 * util/i386/pc/grub-install.in: Handle empty string as output from
12614 make_system_path_relative_to_its_root().
12615
1b7748eb 126162008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
12617
12618 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
12619 circular metadata worst case scenario. If the metadata is circular
12620 then copy the wrap in place.
12621 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
12622 project lib/format_text/layout.h
12623 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
12624
c9618ab2 126252008-10-03 Felix Zielcke <fzielcke@z-51.de>
12626
7a36edca 12627 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 12628
bf981c62 126292008-10-03 Felix Zielcke <fzielcke@z-51.de>
12630
12631 * util/update-grub_lib.in: Mention filename in warning message.
12632
6d994591 126332008-09-29 Felix Zielcke <fzielcke@z-51.de>
12634
12635 * NEWS: Update for rename of update-grub to grub-mkconfig.
12636
18ade780 126372008-09-29 Felix Zielcke <fzielcke@z-51.de>
12638
12639 * util/update-grub_lib.in: Copy to ...
12640 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 12641 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 12642 * util/update-grub.in: Rename to ...
12643 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
12644 option. Add `--output' option to allow users to specify the generated
12645 configuration file. Default to stdout.
12646 (update_grub_dir): Rename to ...
12647 (grub_mkconfig_dir): ... this.
12648 (grub_cfg): Default to an empty string.
12649 * conf/common.rmk (update-grub): Rename to ...
12650 (grub-mkconfig): ... this.
12651 (update-grub_lib): Copy to ...
12652 (grub-mkconfig_lib): ... this.
12653 (update-grub_SCRIPTS): Copy to ...
12654 (grub-mkconfig_SCRIPTS): ... this. Update all users.
12655 (update-grub_DATA): Rename to ...
12656 (grub-mkconfig_DATA): ... this.
12657
556ce6ac 126582008-09-28 Robert Millan <rmh@aybabtu.com>
12659
12660 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
12661 to `modified'. Add the real `created' field.
12662 (grub_iso9660_uuid): Use `modified' rather than `created' for
12663 constructing the UUID.
12664
126652008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 12666
12667 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
12668 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
12669
92274e85 126702008-09-28 Bean <bean123ch@gmail.com>
12671
12672 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
12673 Thanks to Christian Franke for finding this bug.
12674
add6f17a 126752008-09-25 Robert Millan <rmh@aybabtu.com>
12676
12677 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
12678 instances of grub_util_get_disk_name() (see previous commit).
12679
d2a367b8 126802008-09-25 Robert Millan <rmh@aybabtu.com>
12681
12682 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
12683 `util/i386/get_disk_name.c'.
12684 * conf/i386-efi.rmk: Likewise.
12685 * conf/x86_64-efi.rmk: Likewise.
12686 * conf/i386-coreboot.rmk: Likewise.
12687 * conf/i386-ieee1275.rmk: Likewise.
12688 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
12689 `util/ieee1275/get_disk_name.c'.
12690 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
12691 * util/ieee1275/get_disk_name.c: Remove file.
12692 * util/i386/get_disk_name.c: Remove file.
12693 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
12694 "hd%d" for device.map entries, rather than using
12695 grub_util_get_disk_name().
12696
81a06771 126972008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 12698
12699 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
12700 warning.
12701 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
12702
5a004279 127032008-09-24 Carles Pina i Estany <carles@pina.cat>
12704
12705 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
12706 Changed to 0x5100.
12707 (GRUB_TERM_PPAGE): Changed to 0x4900.
12708
397093d3 127092008-09-24 Robert Millan <rmh@aybabtu.com>
12710
12711 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
12712 macros (they were i386-pc specific).
12713 * include/grub/sparc64/ieee1275/console.h: Likewise.
12714 * include/grub/efi/console.h: Likewise.
12715
a91b6c7c 127162008-09-22 Bean <bean123ch@gmail.com>
12717
12718 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
12719 resident and in attribute list.
12720
12721 * include/grub/ntfs.h (BMP_LEN): Removed.
12722
c40fd116 127232008-09-22 Bean <bean123ch@gmail.com>
12724
81a06771 12725 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 12726 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
12727
12728 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
12729 error occurs, as grub_disk_open will call grub_disk_close, which will
12730 call p->close (scsi).
12731
81a06771 127322008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 12733
12734 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
12735 (AC_PREREQ): Bumped to 2.59.
12736 (AC_TRY_COMPILE): Replace obsolete macro with ...
12737 (AC_COMPILE_IFELSE): ... this.
12738 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
12739 (AC_LINK_IFELSE): ... this.
12740
5dc43410 127412008-09-21 Felix Zielcke <fzielcke@z-51.de>
12742
12743 * autogen.sh: Add a call to `gendistlist.sh'.
12744
9035dce4 127452008-09-19 Christian Franke <franke@computer.org>
12746
12747 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
12748 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
12749 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
12750 Export __enable_execute_stack() to modules.
12751 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
12752 New function.
12753
7fd75377 127542008-09-09 Felix Zielcke <fzielcke@z-51.de>
12755
040030b3 12756 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
12757 Sort the list.
12758
127592008-09-09 Felix Zielcke <fzielcke@z-51.de>
12760
12761 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 12762 #include <grub/util/hostdisk.h>.
12763
89d5ffcf 127642008-09-08 Robert Millan <rmh@aybabtu.com>
12765
12766 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
12767 segments when their filesz is zero (grub_file_read() interprets
81a06771 12768 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 12769 Use `lowest_segment' rather than 0 for calculating the current
12770 segment load address.
12771
40da438f 127722008-09-08 Robert Millan <rmh@aybabtu.com>
12773
12774 * util/hostdisk.c (open_device): Replace a grub_util_info() call
12775 with grub_dprintf("hostdisk", ...), as it was so verbose that it
12776 clobbered useful information.
12777
ddbf5556 127782008-09-08 Robert Millan <rmh@aybabtu.com>
12779
12780 * include/grub/util/biosdisk.h: Move to ...
12781 * include/grub/util/hostdisk.h: ... here. Update all users.
12782 * util/biosdisk.c: Move to ...
12783 * util/hostdisk.c: ... here. Update all users.
12784
783d0f48 127852008-09-07 Robert Millan <rmh@aybabtu.com>
12786
12787 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
12788 variables.
12789 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
12790 and length can be stored directly in the `mbi->mmap_addr' and
12791 `mbi->mmap_length' struct fields.
12792
548e2ea5 127932008-09-07 Robert Millan <rmh@aybabtu.com>
12794
12795 * conf/i386.rmk: New file. Provides declaration for building
12796 `cpuid.mod'.
12797 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
12798 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
12799 variables.
12800 Include `conf/i386.mk'.
12801 * conf/i386-efi.rmk: Likewise.
12802 * conf/x86_64-efi.rmk: Likewise.
12803 * conf/i386-coreboot.rmk: Likewise.
12804 * conf/i386-ieee1275.rmk: Likewise.
12805
0ea85a37 128062008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
12807
12808 Based on patch created by Colin D Bennett <colin@gibibit.com>.
12809 Adds optimization support for BGR based modes.
12810
12811 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
12812 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
12813 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
12814 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
12815 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
12816 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
12817 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
12818 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
12819 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
12820 (grub_video_i386_vbeblit_index_index): Likewise.
12821 (grub_video_i386_vbeblit_replace_directN): Added.
12822 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
12823 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
12824 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
12825 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
12826 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
12827 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 12828 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 12829 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
12830 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
12831 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
12832 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
12833 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
12834 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
12835
12836 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
12837 (grub_video_i386_vbefill_R8G8B8): Likewise.
12838 (grub_video_i386_vbefill_index): Likewise.
12839 (grub_video_i386_vbefill_direct32): Added.
12840 (grub_video_i386_vbefill_direct24): Likewise.
12841 (grub_video_i386_vbefill_direct16): Likewise.
12842 (grub_video_i386_vbefill_direct8): Likewise.
12843
81a06771 12844 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 12845 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
12846 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
12847 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
12848 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
12849 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 12850
0ea85a37 12851 * video/video.c (grub_video_get_blit_format): Updated to use new
12852 blit formats. Added handling for 16 bit color modes.
81a06771 12853
12854 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 12855 fillers.
12856 (common_blitter): Updated to use new blitters.
12857
12858 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
12859 Removed.
12860 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
12861 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
12862 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
12863 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
12864 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
12865 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
12866 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
12867 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
12868 (grub_video_i386_vbeblit_index_index): Likewise.
12869 (grub_video_i386_vbeblit_replace_directN): Added.
12870 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
12871 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
12872 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
12873 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
12874 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
12875 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
12876 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
12877 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
12878 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
12879 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
12880 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
12881 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
12882 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 12883
0ea85a37 12884 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
12885 (grub_video_i386_vbefill_R8G8B8): Likewise.
12886 (grub_video_i386_vbefill_index): Likewise.
12887 (grub_video_i386_vbefill_direct32): Added.
12888 (grub_video_i386_vbefill_direct24): Likewise.
12889 (grub_video_i386_vbefill_direct16): Likewise.
12890 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 12891
0ea85a37 12892 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
12893 types.
81a06771 12894
0ea85a37 12895 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
12896 types.
81a06771 12897
0ea85a37 12898 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
12899 blitter types.
81a06771 12900
0ea85a37 12901 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
12902 types.
12903
e8a83df6 129042008-09-06 Felix Zielcke <fzielcke@z-51.de>
12905
12906 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
12907 RAID level 1.
12908
6bcd8ee5 129092008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 12910
6bcd8ee5 12911 * fs/iso9660.c (grub_iso9660_date): New structure.
12912 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
12913 (grub_iso9660_uuid): New function.
c375ae58 12914
59261157 129152008-09-05 Bean <bean123ch@gmail.com>
12916
12917 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
12918
12919 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
12920 insensitive bit for names in Win32 and Win32 & DOS namespace.
12921
12922 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
12923
12924 * include/grub/types.h (LONG_MAX): Likewise.
12925
58b6645a 129262008-09-04 Felix Zielcke <fzielcke@z-51.de>
12927
4ee55921 12928 * util/getroot.c: Include <config.h>.
12929 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
12930 add support for /dev/md/N devices and handle LVM double dash escaping.
12931
129322008-09-04 Felix Zielcke <fzielcke@z-51.de>
12933
12934 * config.guess: Update to latest version from config git.
12935 * config.sub: Likewise.
58b6645a 12936
9124f65d 129372008-09-03 Robert Millan <rmh@aybabtu.com>
12938
12939 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
12940 `disk->total_sectors'.
12941
81a06771 129422008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 12943
12944 * include/grub/normal.h: Fixed incorrect comment for
12945 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
12946
81a06771 129472008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 12948
12949 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
12950 values with defines.
12951
12952 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
12953 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
12954 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
12955 (GRUB_VBE_MODEATTR_COLOR): Likewise.
12956 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
12957 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
12958 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
12959 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
12960 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
12961 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
12962 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
12963 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
12964 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
12965 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
12966 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
12967 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
12968 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
12969 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
12970 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
12971
93d5cbf8 129722008-08-31 Robert Millan <rmh@aybabtu.com>
12973
12974 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
12975 declaration.
12976 (grub_multiboot): Fix a few warnings.
12977
21751d50 129782008-08-31 Robert Millan <rmh@aybabtu.com>
12979
12980 * loader/i386/pc/multiboot.c: Update comment not to say that
12981 boot_device support is unimplemented.
12982
e27a75c5 129832008-08-31 Robert Millan <rmh@aybabtu.com>
12984
12985 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
12986 or memory map support are unimplemented.
12987
81a06771 129882008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 12989
12990 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
12991
81a06771 129922008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 12993
12994 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
12995 total video memory in 'vbeinfo' output; show color format details for
12996 each video mode.
12997
7c5d8d95 129982008-08-30 Pavel Roskin <proski@gnu.org>
12999
13000 * util/genmoddep.c: Remove for real this time.
13001 * DISTLIST: Remove util/genmoddep.c.
13002
4cebd25a 130032008-08-30 Robert Millan <rmh@aybabtu.com>
13004
13005 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
13006 as required by Multiboot spec (it was already 4-byte aligned, but
13007 only by chance).
13008
b497a269 130092008-08-29 Pavel Roskin <proski@gnu.org>
13010
e3925185 13011 * kern/powerpc/ieee1275/crt0.S: Rename to ...
13012 * kern/powerpc/ieee1275/startup.S: ... this.
13013 * conf/powerpc-ieee1275.rmk: Adjust for the above.
13014 * DISTLIST: Likewise.
13015
b497a269 13016 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
13017 grub/cpu/kernel.h. Add start label for consistency with other
13018 platforms. Add grub_prefix immediately after start. Add jump
13019 to the code after grub_prefix.
13020 * include/grub/powerpc/kernel.h: Provide valid values for
13021 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
13022
6e5a42fe 130232008-08-29 Bean <bean123ch@gmail.com>
13024
13025 * configure.ac: Change host_os to cygwin for mingw.
13026 (asprintf): New check for function.
13027
13028 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
13029 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
13030
13031 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 13032 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 13033 sync, sleep and grub_util_get_disk_size for mingw.
13034
13035 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
13036 to get size in mingw.
13037 (open_device): Use flag O_BINARY if it's defined.
13038 (find_root_device): Add dummy code for mingw.
13039
13040 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
13041 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
13042 (get_scsi_disk_name): Return 0 for mingw.
13043
13044 * util/hostfs.c: #include <grub/util/misc.h>.
13045 (grub_hostfs_open): Use "rb" flag to open file, use
13046 grub_util_get_disk_size to get disk size for mingw.
13047
13048 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
13049 (asprintf): New function if HAVE_ASPRINTF is not set.
13050 (sync): New function for mingw.
13051 (sleep): Likewise.
13052 (grub_util_get_disk_size): Likewise.
13053
ab3f2673 130542008-08-28 Pavel Roskin <proski@gnu.org>
13055
13056 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
13057 kern/time.c.
13058
1c282483 130592008-08-28 Robert Millan <rmh@aybabtu.com>
13060
13061 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
13062
678e849c 130632008-08-28 Robert Millan <rmh@aybabtu.com>
13064
13065 Change find_grub_drive() syntax so it doesn't prevent it from
13066 detecting NULL names as errors.
13067
13068 * util/biosdisk.c (find_grub_drive): Move free slot search code
13069 from here ...
13070 (find_free_slot): ... to here.
13071 (read_device_map): Use find_free_slot() to search for free slots.
13072
965c75ca 130732008-08-27 Marco Gerards <marco@gnu.org>
13074
13075 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
13076 (scsi_mod_SOURCES): New variable.
13077 (scsi_mod_CFLAGS): Likewise
13078 (scsi_mod_LDFLAGS): Likewise.
13079
13080 * disk/scsi.c: New file.
13081
13082 * include/grub/scsi.h: Likewise.
13083
13084 * include/grub/scsicmd.h: Likewise.
13085
13086 * disk/ata.c: Include <grub/scsi.h>.
13087 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
13088 instead.
13089 (grub_ata_iterate): Skip ATAPI devices.
13090 (grub_ata_open): Only handle ATAPI devices.
13091 (struct grub_atapi_read): Removed.
13092 (grub_atapi_readsector): Likewise.
13093 (grub_ata_read): No longer handle ATAPI devices.
13094 (grub_ata_write): Likewise.
13095 (grub_atapi_iterate): New function.
13096 (grub_atapi_read): Likewise.
13097 (grub_atapi_write): Likewise.
13098 (grub_atapi_open): Likewise.
13099 (grub_atapi_close): Likewise.
13100 (grub_atapi_dev): New variable.
13101 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
13102 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
13103
13104 * include/grub/disk.h (enum grub_disk_dev_id): Add
13105 `GRUB_DISK_DEVICE_SCSI_ID'.
13106
c07ae501 131072008-08-26 Robert Millan <rmh@aybabtu.com>
13108
13109 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
13110 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
13111 descriptive.
13112
5ed20adc 131132008-08-23 Bean <bean123ch@gmail.com>
13114
13115 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
13116 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
13117 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
13118 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
13119 dm_nv.mod.
13120 (raid5rec_mod_SOURCES): New macro.
13121 (raid5rec_mod_CFLAGS): Likewise.
13122 (raid5rec_mod_LDFLAGS): Likewise.
13123 (raid6rec_mod_SOURCES): Likewise.
13124 (raid6rec_mod_CFLAGS): Likewise.
13125 (raid6rec_mod_LDFLAGS): Likewise.
13126 (mdraid_mod_SOURCES): Likewise.
13127 (mdraid_mod_CFLAGS): Likewise.
13128 (mdraid_mod_LDFLAGS): Likewise.
13129 (dm_nv_mod_SOURCES): Likewise.
13130 (dm_nv_mod_CFLAGS): Likewise.
13131 (dm_nv_mod_LDFLAGS): Likewise.
13132
13133 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
13134 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
13135 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
13136
13137 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
13138 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
13139
13140 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13141
13142 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13143
13144 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13145
13146 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13147
13148 * disk/raid5_recover.c: New file.
13149
13150 * disk/raid6_recover.c: Likewise.
13151
13152 * disk/mdraid_linux.c: Likewise.
13153
13154 * disk/dmraid_nvidia.c: Likewise.
13155
13156 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
13157 ULONG_MAX.
13158
13159 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
13160 calculate the size of raid device.
13161 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
13162 different layout of raid5.
13163 (grub_raid_scan_device): Remove code specific to mdraid.
13164 (grub_raid_list): New variable.
13165 (free_array): New function.
13166 (grub_raid_register): Likewise.
13167 (grub_raid_unregister): Likewise.
13168 (grub_raid_rescan): Likewise.
13169 (GRUB_MOD_INIT): Don't iterate device here.
13170 (GRUB_MOD_FINI): Use free_array to release resource.
13171
13172 * include/grub/raid.h: Remove macro and structure specific to mdraid.
13173 (grub_raid5_recover_func_t): New function variable type.
13174 (grub_raid6_recover_func_t): Likewise.
13175 (grub_raid5_recover_func): New variable.
13176 (grub_raid6_recover_func): Likewise.
13177 (grub_raid_register): New function.
13178 (grub_raid_unregister): Likewise.
13179 (grub_raid_rescan): Likewise.
13180 (grub_raid_block_xor): Likewise.
13181
13182 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
13183 (CMD_CRC): New macro.
13184 (part): Removed.
13185 (read_file): Handle device as well as file.
13186 (cmd_crc): New function.
13187 (fstest): Handle multiple disks.
13188 (options): Remove part, raw and long, add root and diskcount.
13189 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 13190 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 13191 add handling for the new options, support multiple disks.
13192
13193 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
13194
29c18915 131952008-08-23 Bean <bean123ch@gmail.com>
13196
13197 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
13198
13199 * genfslist.sh: Ignore kernel.mod.
13200
13201 * genpartmaplist.sh: Likewise.
13202
8415f261 132032008-08-23 Robert Millan <rmh@aybabtu.com>
13204
13205 * util/getroot.c (find_root_device): Skip anything that starts with
13206 a dot, not just directories. This avoids things like /dev/.tmp.md0.
13207
d5a7dc5b 132082008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 13209
d5a7dc5b 13210 * util/update-grub.in (GRUB_GFXMODE): Export variable.
13211 * util/grub.d/00_header.in: Allow the administrator to change default
13212 gfxmode via ${GRUB_GFXMODE}.
13213
380cfbb4 132142008-08-21 Felix Zielcke <fzielcke@z-51.de>
13215
13216 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
13217
c9baafe7 132182008-08-21 Robert Millan <rmh@aybabtu.com>
13219
13220 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
13221 loader.
13222 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
13223 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
13224
e290bef2 132252008-08-20 Carles Pina i Estany <carles@pina.cat>
13226
13227 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
13228 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
13229
f9dbfc96 132302008-08-19 Robert Millan <rmh@aybabtu.com>
13231
13232 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
13233 (struct grub_virtual_screen): Remove `cursor_color'.
13234 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
13235 initialization.
13236 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
13237
dd6bd6ab 132382008-08-18 Robert Millan <rmh@aybabtu.com>
13239
13240 Unify (identical) linux_normal.c files.
13241 * loader/i386/efi/linux_normal.c: Move from here ...
13242 * loader/linux_normal.c: ... to here. Update all users.
13243 * loader/i386/pc/linux_normal.c: Delete. Update all users.
13244 * loader/i386/ieee1275/linux_normal.c: Likewise.
13245
7f42f83e 132462008-08-18 Robert Millan <rmh@aybabtu.com>
13247
13248 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
13249 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
13250 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
13251 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
13252 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
13253 New macros.
13254 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
13255 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
13256 (GRUB_LINUX_CL_END_OFFSET): ... to here.
13257 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
13258 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
13259 (GRUB_EFI_CL_END_OFFSET): Rename to ...
13260 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
13261 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
13262 Initialize `params->video_cursor_x' and `params->video_cursor_y'
13263 portably using grub_getxy().
13264 Replace `-EFI' with `-bzImage' in boot message.
13265
38487ddb 132662008-08-17 Robert Millan <rmh@aybabtu.com>
13267
13268 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
13269
deceb3ec 132702008-08-17 Robert Millan <rmh@aybabtu.com>
13271
13272 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
13273
13274 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
13275 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
13276 (grub_machine_mmap_iterate): New function declaration.
13277 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
13278 structure.
13279 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
13280 macros.
13281
13282 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
13283 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
13284 Move e820 parsing from here ...
13285 * kern/i386/pc/mmap.c: New file.
13286 (grub_machine_mmap_iterate): ... to here.
13287
13288 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
13289 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
13290 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
13291 (grub_available_iterate): Redeclare to return `void', and redeclare
13292 its hook to use grub_uint64_t as addr and size parameters, and rename
13293 to ...
13294 (grub_machine_mmap_iterate): ... this. Update all users.
13295
13296 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
13297 to make it more readable. Rename to ...
13298 (grub_machine_mmap_iterate): ... this.
13299
13300 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
13301 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
13302 (grub_multiboot): Allocate an extra region after the payload, and fill
13303 it with a Multiboot memory map. Adjust a.out loader to calculate size
13304 with the extra space.
13305 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
13306 with the extra space.
13307
f8aa0f43 133082008-08-17 Carles Pina i Estany <carles@pina.cat>
13309
9807deb9 13310 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 13311
605f5bb6 133122008-08-17 Felix Zielcke <fzielcke@z-51.de>
13313
13314 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
13315 mdate-sh to the list `find' searches for.
13316 * DISTLIST: Regenerated.
13317
210db6c6 133182008-08-16 Felix Zielcke <fzielcke@z-51.de>
13319
13320 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
13321 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 13322 genmoddep.awk, gensymlist.sh.in.
13323 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 13324 * DISTLIST: Regenerated.
48cdbfd4 13325 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 13326
1082b929 133272008-08-16 Robert Millan <rmh@aybabtu.com>
13328
13329 * disk/raid.c (grub_raid_init): Handle/report errors set by
13330 grub_device_iterate().
13331 * disk/lvm.c (grub_lvm_init): Likewise.
13332
42ce5170 133332008-08-15 Bean <bean123ch@gmail.com>
13334
13335 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
13336 and datehook.mod.
13337 (datetime_mod_SOURCES): New macro.
13338 (datetime_mod_CFLAGS): Likewise.
13339 (datetime_mod_LDFLAGS): Likewise.
13340 (date_mod_SOURCES): Likewise.
13341 (date_mod_CFLAGS): Likewise.
13342 (date_mod_LDFLAGS): Likewise.
13343 (datehook_mod_SOURCES): Likewise.
13344 (datehook_mod_CFLAGS): Likewise.
13345 (datehook_mod_LDFLAGS): Likewise.
13346
13347 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
13348 and datehook.mod.
13349 (datetime_mod_SOURCES): New macro.
13350 (datetime_mod_CFLAGS): Likewise.
13351 (datetime_mod_LDFLAGS): Likewise.
13352 (date_mod_SOURCES): Likewise.
13353 (date_mod_CFLAGS): Likewise.
13354 (date_mod_LDFLAGS): Likewise.
13355 (datehook_mod_SOURCES): Likewise.
13356 (datehook_mod_CFLAGS): Likewise.
13357 (datehook_mod_LDFLAGS): Likewise.
13358
13359 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
13360 and datehook.mod.
13361 (datetime_mod_SOURCES): New macro.
13362 (datetime_mod_CFLAGS): Likewise.
13363 (datetime_mod_LDFLAGS): Likewise.
13364 (date_mod_SOURCES): Likewise.
13365 (date_mod_CFLAGS): Likewise.
13366 (date_mod_LDFLAGS): Likewise.
13367 (datehook_mod_SOURCES): Likewise.
13368 (datehook_mod_CFLAGS): Likewise.
13369 (datehook_mod_LDFLAGS): Likewise.
13370
13371 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
13372 and datehook.mod.
13373 (datetime_mod_SOURCES): New macro.
13374 (datetime_mod_CFLAGS): Likewise.
13375 (datetime_mod_LDFLAGS): Likewise.
13376 (date_mod_SOURCES): Likewise.
13377 (date_mod_CFLAGS): Likewise.
13378 (date_mod_LDFLAGS): Likewise.
13379 (datehook_mod_SOURCES): Likewise.
13380 (datehook_mod_CFLAGS): Likewise.
13381 (datehook_mod_LDFLAGS): Likewise.
13382
13383 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
13384 and datehook.mod.
13385 (datetime_mod_SOURCES): New macro.
13386 (datetime_mod_CFLAGS): Likewise.
13387 (datetime_mod_LDFLAGS): Likewise.
13388 (date_mod_SOURCES): Likewise.
13389 (date_mod_CFLAGS): Likewise.
13390 (date_mod_LDFLAGS): Likewise.
13391 (datehook_mod_SOURCES): Likewise.
13392 (datehook_mod_CFLAGS): Likewise.
13393 (datehook_mod_LDFLAGS): Likewise.
13394
13395 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
13396
13397 * commands/date.c: New file.
13398
13399 * hook/datehook.c: Likewise.
13400
13401 * include/grub/lib/datetime.h: Likewise.
13402
13403 * include/grub/i386/cmos.h: Likewise.
13404
13405 * lib/datetime.c: Likewise.
13406
13407 * lib/i386/datetime.c: Likewise.
13408
13409 * lib/efi/datetime.c: Likewise.
13410
0e9242da 134112008-08-14 Robert Millan <rmh@aybabtu.com>
13412
13413 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
13414 (grub_mkelfimage_SOURCES): New variable.
13415 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
13416
13417 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
13418 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
13419 * conf/powerpc-ieee1275.rmk: Likewise.
13420 * conf/i386-ieee1275.rmk: Likewise.
13421
13422 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
13423 * kern/i386/coreboot/init.c: Likewise.
13424
13425 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
13426 with `<grub/cpu/kernel.h>'.
13427 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
13428 to ...
13429 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
13430 * kern/i386/coreboot/startup.S: Likewise.
13431
13432 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
13433 (GRUB_MOD_GAP): Remove.
13434 * include/grub/powerpc/kernel.h: New file.
13435 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
13436 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
13437 * include/grub/i386/kernel.h: New file.
13438 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
13439 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
13440 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
13441
13442 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
13443 `grub-mkelfimage'.
13444 Use --directory when invoking grub_mkimage.
13445
13446 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
13447 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
13448 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
13449 and GRUB_KERNEL_CPU_PREFIX.
13450
b86408f8 134512008-08-14 Felix Zielcke <fzielcke@z-51.de>
13452
d5e619ca 13453 * include/grub/err.h (grub_err_printf): New function prototype.
13454 * util/misc.c (grub_err_printf): New function.
13455 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
13456 grub_printf.
13457 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 13458
7161f0e0 134592008-08-13 Robert Millan <rmh@aybabtu.com>
13460
13461 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
13462
a1967522 134632008-08-13 Robert Millan <rmh@aybabtu.com>
13464
13465 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
13466 boot entry.
13467
371458b5 134682008-08-12 Robert Millan <rmh@aybabtu.com>
13469
13470 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
13471 of the relocation code from here ...
13472 (grub_multiboot): ... to here.
13473 (forward_relocator, backward_relocator): Move from here ...
13474 * kern/i386/loader.S (grub_multiboot_forward_relocator)
13475 (grub_multiboot_backward_relocator): ... to here.
13476 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
13477 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
13478 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
13479 (grub_multiboot_forward_relocator_end)
13480 (grub_multiboot_backward_relocator)
13481 (grub_multiboot_backward_relocator_end): New variables.
13482
05f9452b 134832008-08-12 Bean <bean123ch@gmail.com>
13484
13485 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
13486
20024ab0 134872008-08-11 Robert Millan <rmh@aybabtu.com>
13488
13489 * kern/i386/linuxbios/startup.S: Move from here ...
13490 * kern/i386/coreboot/startup.S: ... to here.
13491
13492 * kern/i386/linuxbios/init.c: Move from here ...
13493 * kern/i386/coreboot/init.c: ... to here.
13494
13495 * kern/i386/linuxbios/table.c: Move from here ...
13496 * kern/i386/coreboot/mmap.c: ... to here.
13497
13498 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
13499
e352e9cd 135002008-08-11 Robert Millan <rmh@aybabtu.com>
13501
13502 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
13503 errors. Leave it to the upper layer to handle them.
13504
2d05bc6a 135052008-08-09 Christian Franke <franke@computer.org>
13506
13507 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
13508 * conf/common.rmk: Install `grub-pe2elf' only if requested.
13509 Install `grub.d/10_windows' only on Cygwin.
13510 * configure.ac: Add subst of `target_os'.
13511 Check `target_os' also before setting TARGET_OBJ2ELF.
13512 Add `--enable-grub-pe2elf'.
13513
042bd419 135142008-08-08 Robert Millan <rmh@aybabtu.com>
13515
13516 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
13517 (grub_last_time): Change type to grub_uint64_t.
13518 (grub_disk_open): Migrate code from to using grub_get_time_ms().
13519 (grub_disk_close): Likewise.
13520
13521 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
13522 (run_menu): Migrate code from to using grub_get_time_ms().
13523
13524 * util/misc.c (grub_get_time_ms): New function.
13525
7f280db5 135262008-08-08 Marco Gerards <marco@gnu.org>
13527
13528 * disk/ata.c (grub_ata_regget): Change return type to
13529 `grub_uint8_t'.
13530 (grub_ata_regget2): Likewise.
13531 (grub_ata_wait_status): New function.
13532 (grub_ata_wait_busy): Removed function, updated all users to use
13533 `grub_ata_wait_status'.
13534 (grub_ata_wait_drq): Likewise.
13535 (grub_ata_cmd): New function.
13536 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
13537 error handling.
13538 (grub_ata_pio_write): Add error handling.
13539 (grub_atapi_identify): Likewise.
13540 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
13541 handling.
13542 (grub_ata_identify): Use `grub_ata_cmd' and improve error
13543 handling. Actually use the detected registers. Reorder the
13544 detection logic such that it is easier to read.
13545 (grub_ata_pciinit): Do not assign the same ID to each controller.
13546 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
13547 handling.
13548 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
13549
13550 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
13551
1fbc5e66 135522008-08-08 Marco Gerards <marco@gnu.org>
13553
13554 * NEWS: Update.
13555
819ce6c0 135562008-08-07 Bean <bean123ch@gmail.com>
13557
13558 * include/grub/x86_64/pci.h: New file.
13559
5c41d44d 135602008-08-07 Christian Franke <franke@computer.org>
13561
13562 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
13563 (TIMER2_GATE): Likewise.
13564 (grub_pit_wait): Add enable/disable of the timer2 gate
13565 bit of port 0x61. This fixes a possible infinite loop.
13566
5ebc275d 135672008-08-07 Bean <bean123ch@gmail.com>
13568
13569 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
13570 kern/i386/tsc.c and kern/i386/pit.c.
13571
13572 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
13573 x86_64 platform.
13574
13575 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
13576 <grub/i386/tsc.h>.
13577
13578 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
13579
e383b3d0 135802008-08-07 Bean <bean123ch@gmail.com>
13581
13582 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
13583
13584 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
13585
13586 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
13587 multiple inclusion. Add #include <grub/types.h>.
13588
1cbb58ac 135892008-08-06 Christian Franke <franke@computer.org>
13590
13591 * conf/common.rmk: Build and install `10_windows'.
13592 * util/grub.d/10_windows.in: New script.
13593
337f5a1e 135942008-08-06 Pavel Roskin <proski@gnu.org>
13595
13596 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
13597
057bc4ac 135982008-08-06 Robert Millan <rmh@aybabtu.com>
13599
13600 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
13601 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
13602
2b99f123 136032008-08-06 Bean <bean123ch@gmail.com>
13604
13605 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
13606 (grub_pxefs_fs_int): Remove dummy definition.
13607 (grub_pxefs_open): Use data->block_size to store the current block
13608 size setting.
13609 (grub_pxefs_read): Use block size stored in data->block_size. As the
13610 value of grub_pxe_blksize can be changed after the file is opened.
13611
9f0234cb 136122008-08-06 Bean <bean123ch@gmail.com>
13613
13614 * fs/i386/pc/pxe.c (curr_file): new variable.
13615 (grub_pxefs_open): Simply the handling of pxe file system. Don't
13616 require the dummy internal file system anymore.
13617 (grub_pxefs_read): Removed.
13618 (grub_pxefs_close): Likewise.
13619 (grub_pxefs_fs_int): Likewise.
13620 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
13621 connection when we switch file.
13622 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
13623
a55d42e0 136242008-08-06 Robert Millan <rmh@aybabtu.com>
13625
13626 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
13627 `halt.mod'.
13628 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
13629 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
13630
13631 * kern/i386/halt.c: New file.
13632 * kern/i386/reboot.c: Likewise.
13633 * include/grub/i386/reboot.h: Likewise.
13634 * include/grub/i386/halt.h: Likewise.
13635
13636 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
13637 Include `<grub/cpu/halt.h>'.
13638 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
13639 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
13640
13641 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
13642 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
13643 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
13644 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
13645 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
13646 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
13647 from here ...
13648 * include/grub/i386/at_keyboard.h: ... to here.
13649
24371d26 136502008-08-05 Robert Millan <rmh@aybabtu.com>
13651
13652 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
13653 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
13654 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
13655 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
13656 `kern/generic/millisleep.c'.
13657
13658 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
13659 instead of grub_get_rtc().
13660 (grub_tsc_init): Initialize `tsc_boot_time'.
13661
13662 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
13663 (grub_machine_init): Use grub_tsc_init() rather than
13664 installing an RTC-based handler via grub_install_get_time_ms().
13665
13666 * kern/i386/pit.c: New file.
13667 * include/grub/i386/pit.h: Likewise.
13668
9e7007b3 136692008-08-05 Bean <bean123ch@gmail.com>
13670
13671 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
13672
13673 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
13674 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
13675 (pxe_mod_SOURCES): New macro.
13676 (pxe_mod_CFLAGS): Likewise.
13677 (pxe_mod_LDFLAGS): Likewise.
13678 (pxecmd_mod_SOURCES): Likewise.
13679 (pxecmd_mod_CFLAGS): Likewise.
13680 (pxecmd_mod_LDFLAGS): Likewise.
13681
13682 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
13683 (grub_pxe_call): Likewise.
13684
13685 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
13686
13687 * commands/i386/pc/pxecmd.c: New file.
13688
9f0234cb 13689 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 13690
13691 * include/grub/i386/pc/pxe.h: Likewise.
13692
6977d49f 136932008-08-05 Bean <bean123ch@gmail.com>
13694
13695 * util/console.c (grub_console_cur_color): New variable.
13696 (grub_console_standard_color): Likewise.
13697 (grub_console_normal_color): Likewise.
13698 (grub_console_highlight_color): Likewise.
13699 (color_map): Likewise.
13700 (use_color): Likewise.
13701 (NUM_COLORS): New macro.
13702 (grub_ncurses_setcolorstate): Handle color properly.
13703 (grub_ncurses_setcolor): Don't change color here, just remember the
13704 settings, color will be set in grub_ncurses_setcolorstate.
13705 (grub_ncurses_getcolor): New function.
13706 (grub_ncurses_init): Initialize color pairs.
13707 (grub_ncurses_term): New member grub_ncurses_getcolor.
13708
9c2ff3ee 137092008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 13710
9c2ff3ee 13711 High resolution timer support. Implemented for x86 CPUs using TSC.
13712 Extracted generic grub_millisleep() so it's linked in only as needed.
13713 This requires a Pentium compatible CPU; if the RDTSC instruction is
13714 not supported, then it falls back on the generic grub_get_time_ms()
13715 implementation that uses the machine's RTC.
13716
13717 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
13718 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
13719 `kern/generic/millisleep.c'.
13720
13721 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
13722 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
13723
13724 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
13725 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
13726
13727 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
13728
13729 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
13730 `kern/generic/millisleep.c'.
13731
13732 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
13733
13734 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
13735
13736 * kern/generic/rtc_get_time_ms.c: New file.
13737
13738 * kern/generic/millisleep.c: New file.
337f5a1e 13739
9c2ff3ee 13740 * kern/misc.c: Don't include
13741 <kern/time.h> anymore.
13742 (grub_millisleep_generic): Removed.
13743
13744 * commands/sleep.c (grub_interruptible_millisleep): Uses
13745 grub_get_time_ms() instead of grub_get_rtc().
13746
13747 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
13748 function.
13749 (grub_cpu_is_cpuid_supported): New inline function.
13750 (grub_cpu_is_tsc_supported): New inline function.
13751 (grub_tsc_init): New function prototype.
13752 (grub_tsc_get_time_ms): New function prototype.
13753
13754 * kern/i386/tsc.c (grub_get_time_ms): New file.
13755
13756 * include/grub/time.h: Include <grub/types.h.
13757 (grub_millisleep_generic): Removed.
13758 (grub_get_time_ms): New prototype.
13759 (grub_install_get_time_ms): New prototype.
13760 (grub_rtc_get_time_ms): New prototype.
13761
13762 * kern/time.c (grub_get_time_ms): New function.
13763 (grub_install_get_time_ms): New function.
13764
13765 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
13766 <grub/time.h> anymore.
13767 (grub_millisleep): Removed.
13768 (grub_machine_init): Call grub_tsc_init.
13769
13770 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
13771 get_time_ms() implementation.
13772
13773 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
13774 (ieee1275_get_time_ms): New function.
13775 (grub_machine_init): Install get_time_ms() implementation.
13776
13777 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
13778 (grub_machine_init): Call grub_tsc_init().
13779 (grub_millisleep): Removed.
bf06a93f 13780
9c2ff3ee 13781 * kern/ieee1275/init.c (grub_millisleep): Removed.
13782 (grub_machine_init): Install ieee1275_get_time_ms()
13783 implementation.
13784 (ieee1275_get_time_ms): New function.
13785 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
13786 real work.
13787
9ec92aaf 137882008-08-05 Marco Gerards <marco@gnu.org>
13789
13790 * disk/ata.c: Include <grub/pci.h>.
13791 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
13792 (grub_ata_initialize): Rewritten.
13793 (grub_ata_device_initialize): New function.
13794
8d23f507 137952008-08-04 Pavel Roskin <proski@gnu.org>
13796
13797 * kern/main.c: Include grub/mm.h.
13798
5e15ee3d 137992008-08-04 Robert Millan <rmh@aybabtu.com>
13800
13801 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
13802 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
13803 corruption problem).
13804
a9053f8f 138052008-08-04 Robert Millan <rmh@aybabtu.com>
13806
13807 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
13808 warnings introduced in my last commit.
13809
dd19c7d7 138102008-08-03 Robert Millan <rmh@aybabtu.com>
13811
13812 Make PCI available on all i386 architectures.
13813
13814 * include/grub/i386/pc/pci.h: Move from here ...
13815 * include/grub/i386/pci.h: ... to here.
13816
13817 * include/grub/i386/pc/pci.h: Remove.
13818 * include/grub/i386/efi/pci.h: Remove.
13819 * include/grub/x86_64/efi/pci.h: Remove.
13820
13821 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
13822 `<grub/cpu/pci.h>'.
13823
13824 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
13825 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
13826 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
13827
13828 * conf/i386-ieee1275.rmk: Likewise.
13829
e14a6184 138302008-08-03 Robert Millan <rmh@aybabtu.com>
13831
13832 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
13833 (grub_console_setcursor): Make it possible to set cursor off.
13834
52768e37 138352008-08-03 Robert Millan <rmh@aybabtu.com>
13836
13837 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
13838 of modules instead of assuming which platform provides what.
13839 * util/update-grub.in: Likewise.
13840
2d52f57f 138412008-08-03 Robert Millan <rmh@aybabtu.com>
13842
13843 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
13844 instead of `grub_install_dos_part' to determine whether a drive needs
13845 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 13846 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 13847
2a5cd121 138482008-08-02 Robert Millan <rmh@aybabtu.com>
13849
13850 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
13851
93808428 138522008-08-02 Robert Millan <rmh@aybabtu.com>
13853
13854 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
13855 of informational grub_dprintf() calls.
13856
3bd0a12a 138572008-08-02 Robert Millan <rmh@aybabtu.com>
13858
13859 * disk/memdisk.c (memdisk_size): Don't initialize.
13860 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
13861
13862 * include/grub/i386/pc/kernel.h
13863 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
13864 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
13865 (grub_memdisk_image_size, grub_arch_memdisk_addr)
13866 (grub_arch_memdisk_size): Remove.
13867
13868 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
13869 field (was only used to transfer a constant). Add `type' field to
13870 support multiple module types.
13871 (grub_module_iterate): New function.
13872
13873 * kern/device.c (grub_device_open): Do not hide error messages
13874 when grub_disk_open() fails. Use grub_print_error() instead.
13875
13876 * kern/i386/pc/init.c (grub_arch_modules_addr)
13877 (grub_arch_memdisk_size): Remove functions.
13878 (grub_arch_modules_addr): Return the module address in high memory
13879 (now that it isn't copied anymore).
13880
13881 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
13882 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
13883 decompression routine (grub_total_module_size already includes that
13884 now). Don't copy modules back to low memory.
13885
13886 * kern/main.c: Include `<grub/mm.h>'.
13887 (grub_load_modules): Split out (and use) ...
13888 (grub_module_iterate): ... this function, which iterates through
13889 module objects and runs a hook.
13890 Comment out grub_mm_init_region() call, as it would cause non-ELF
13891 modules to be overwritten.
13892
13893 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
13894 the memdisk image in its own region, make it part of the module list.
13895 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
13896 (main): Parse --memdisk|-m option, and pass user-provided path as
13897 parameter to generate_image().
13898 (add_segments): Pass `memdisk_path' down to load_modules().
13899 (load_modules): Embed memdisk image in module section when requested.
13900 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
13901 `header.type' instead of `header.offset'.
13902
13903 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
13904 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
13905 (memdisk_mod_LDFLAGS): New variables.
13906 * conf/i386-coreboot.rmk: Likewise.
13907 * conf/i386-ieee1275.rmk: Likewise.
13908
a927cc73 139092008-08-02 Robert Millan <rmh@aybabtu.com>
13910
13911 * loader/i386/pc/multiboot.c (playground, forward_relocator)
13912 (backward_relocator): New variables. Used to allocate and relocate
13913 the payload, respectively.
13914 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 13915 address, install the appropriate relocator code in each bound of
a927cc73 13916 the payload, and set the entry point such that
13917 grub_multiboot_real_boot() will jump to one of them.
13918
13919 * kern/i386/loader.S (grub_multiboot_payload_size)
13920 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
13921 (grub_multiboot_payload_entry_offset): New variables.
13922 (grub_multiboot_real_boot): Set cpu context to what the relocator
13923 expects, and jump to the relocator instead of the payload.
13924
13925 * include/grub/i386/loader.h (grub_multiboot_payload_size)
13926 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
13927 (grub_multiboot_payload_entry_offset): Export.
13928
b15d8a0c 139292008-08-01 Bean <bean123ch@gmail.com>
13930
13931 * normal/menu_entry.c (editor_getline): Don't return the original
13932 string as result, as it will be released by lexer once it has done
13933 using it.
13934
cdfb3d22 139352008-08-01 Robert Millan <rmh@aybabtu.com>
13936
13937 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
13938 within menuentries, not before them.
13939 util/grub.d/10_hurd.in: Likewise.
13940
9175e93d 139412008-08-01 Bean <bean123ch@gmail.com>
13942
13943 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
13944 (bufio_mod_SOURCES): New macro.
13945 (bufio_mod_CFLAGS): Likewise.
13946 (bufio_mod_LDFLAGS): Likewise.
13947
13948 * include/grub/bufio.h: New file.
13949
13950 * io/bufio.c: Likewise.
13951
13952 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
13953 (grub_video_reader_png): Use grub_buffile_open to open file.
13954
13955 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
13956 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
13957
13958 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
13959 (grub_video_reader_tga): Use grub_buffile_open to open file.
13960
13961 * font/manager.c: Include <grub/bufio.h>.
13962 (add_font): Use grub_buffile_open to open file.
13963
3d8383e7 139642008-07-31 Robert Millan <rmh@aybabtu.com>
13965
13966 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
13967 ELF segments, use a macro for arbitrarily accessing any of them instead
13968 of preparing a pointer that allows access to one at a time.
13969 (grub_multiboot_load_elf64): Likewise.
13970
16e641b6 139712008-07-31 Bean <bean123ch@gmail.com>
13972
13973 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
13974 GRUB_KERNEL_MACHINE_DATA_END.
13975
59198b72 139762008-07-30 Robert Millan <rmh@aybabtu.com>
13977
13978 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
13979 Increase from 0x50 to 0x60.
13980 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
13981 use UUIDs to identify the root drive for them. If that's not
13982 possible, abort.
13983 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
13984 check, for cross-disk installs.
13985
ae88bca3 139862008-07-30 Robert Millan <rmh@aybabtu.com>
13987
13988 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
13989 is non-empty, use it to set the `prefix' environment variable instead
13990 of the usual approach.
13991 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
13992 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
13993 environment variable instead of dummy make_install_device().
13994
13995 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
13996 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 13997 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 13998
13999 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
14000 New variable reference.
14001 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
14002 New macro. Defines offset of `grub_prefix' within startup.S (relative
14003 to `start').
14004 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
14005 section within startup.S (relative to `start').
14006 * include/grub/i386/coreboot/kernel.h: Likewise.
14007
14008 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
14009 Overwrite grub_prefix with its contents, at the beginning of the
14010 first segment.
14011 (main): Understand -p|--prefix.
14012
14f41dd1 140132008-07-30 Robert Millan <rmh@aybabtu.com>
14014
14015 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
14016
4ca049a3 140172008-07-30 Robert Millan <rmh@aybabtu.com>
14018
14019 * term/i386/pc/vga_text.c (grub_console_cls): Use
14020 grub_console_gotoxy() to go back to beginning of the screen.
14021 Found by Patrick Georgi <patrick.georgi@coresystems.de>
14022
2921d337 140232008-07-29 Christian Franke <franke@computer.org>
14024
14025 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
14026 Add conversion of emulated mount points on Cygwin.
14027
b609876d 140282008-07-29 Christian Franke <franke@computer.org>
14029
14030 * util/update-grub.in: Add a check for admin
14031 group on Cygwin.
14032 Remove old `grub.cfg.new' before creation.
14033 Add `-f' to `mv' to handle the different filesystem
14034 semantics of Windows.
14035
e93e4679 140362008-07-29 Bean <bean123ch@gmail.com>
14037
14038 * normal/main.c (get_line): Fix buffer overflow bug.
14039
41694fd0 140402008-07-28 Robert Millan <rmh@aybabtu.com>
14041
14042 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
14043 (struct grub_apple_header): New struct. Describes the layout of
14044 the partmap header.
14045 (apple_partition_map_iterate): Check the header magic as well as the
14046 partition magic (which was already being checked).
14047
cfd0b4e6 140482008-07-28 Pavel Roskin <proski@gnu.org>
14049
14050 * genmk.rb: Add a warning to the beginning of the output that
14051 it's a generated file and should not be edited.
14052
93cce016 140532008-07-28 Robert Millan <rmh@aybabtu.com>
14054
14055 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
14056 with the same number are found, just use issue a warning with
14057 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 14058
cd1df915 140592008-07-27 Robert Millan <rmh@aybabtu.com>
14060
14061 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
14062 information.
14063
b70a8427 140642008-07-27 Bean <bean123ch@gmail.com>
14065
14066 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
14067 (grub_fat_find_dir): Ignore case when comparing filename.
14068
8f5e379f 140692008-07-27 Bean <bean123ch@gmail.com>
14070
14071 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
14072 smallino, as it's more descriptive, and i8count can be confused with
14073 the other field count.
14074 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
14075 inode type.
14076
a85cd5a0 140772008-07-27 Bean <bean123ch@gmail.com>
14078
14079 * commands/crc.c: New file.
14080
14081 * lib/crc.c: Likewise.
14082
14083 * include/grub/lib/crc.h: Likewise.
14084
14085 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
14086
14087 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
14088 (hexdump): Move this function to ...
14089
14090 * lib/hexdump.c: ... here.
14091
14092 * include/grub/hexdump.h: Renamed to ...
14093
14094 * include/grub/lib/hexdump.h: ... this.
14095
14096 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
14097
14098 * util/grub-editenv.c: Likewise.
14099
14100 * include/envblk.h: Renamed to ...
14101
14102 * include/lib/envblk.h: ... this.
14103
14104 * util/envblk.c: Renamed to ...
14105
14106 * lib/envblk.c: ... this.
14107
14108 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
14109 lib/hexdump.c.
14110 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
14111 (pkglib_MODULES): Add crc.mod.
14112 (hexdump_mod_SOURCES): Add lib/hexdump.c.
14113 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
14114 (crc_mod_SOURCES): New macro.
14115 (crc_mod_CFLAGS): Likewise.
14116 (crc_mod_LDFLAGS): Likewise.
14117
14118 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
14119
14120 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14121
14122 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14123
14124 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14125
14126 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14127
c298def0 141282008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 14129
14130 * commands/help.c: Include <grub/term.h>.
14131 (TERM_WIDTH): Removed. Updated all users.
14132
cc349fb3 141332008-07-27 Pavel Roskin <proski@gnu.org>
14134
14135 * util/getroot.c (find_root_device): Rephrase a comment to avoid
14136 spurious warnings about a comment within a comment.
14137
9051607e 141382008-07-25 Robert Millan <rmh@aybabtu.com>
14139
14140 * util/getroot.c (find_root_device): Skip devices that match
14141 /dev/dm-[0-9]. This lets the real device be found for any type of
14142 abstraction (LVM, EVMS, RAID..).
14143 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
14144 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
14145 device is found first, find_root_device() will now skip it.
14146
01453bfc 141472008-07-24 Pavel Roskin <proski@gnu.org>
14148
14149 * include/grub/types.h: Use __builtin_bswap32() and
14150 __builtin_bswap64() with gcc 4.3 and newer.
14151
6af9849f 141522008-07-24 Christian Franke <franke@computer.org>
14153
3a0fa256 14154 * util/i386/pc/grub-install.in: If `--debug' is specified,
14155 pass `--verbose' to grub-setup.
14156 Abort script if make_system_path_relative_to_its_root() fails.
14157
7810e747 141582008-07-24 Bean <bean123ch@gmail.com>
14159
14160 * configure.ac: Fixed a bug caused by the previous cygwin patch,
14161 variable `target_platform' should be `platform'.
14162
42290e17 141632008-07-24 Bean <bean123ch@gmail.com>
14164
51cc5193 14165 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 14166 (grub_png_init_fixed_block): New function.
14167 (grub_png_decode_image_data): Handle fixed huffman code compression.
14168
2a8a80e4 141692008-07-24 Bean <bean123ch@gmail.com>
14170
14171 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
14172 (grub_pe2elf_SOURCES): New macro.
14173 (CLEANFILES): Add grub-pe2elf.
14174
14175 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
14176 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
14177 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
14178 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
14179 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
14180 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
14181 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
14182 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
14183 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
14184 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
14185 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
14186 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
14187 (GRUB_PE32_DT_FUNCTION): Likewise.
14188 (GRUB_PE32_REL_I386_DIR32): Likewise.
14189 (GRUB_PE32_REL_I386_REL32): Likewise.
14190 (grub_pe32_symbol): New structure.
14191 (grub_pe32_reloc): Likewise.
14192
14193 * util/grub-pe2elf.c: New file.
14194
14195 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
14196 start symbol in non pc platform.
14197
14198 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
14199
14200 The following patches are from Christian Franke.
14201
14202 * include/grub/dl.h: Remove .previous, gas supports this only
14203 for ELF format.
14204
14205 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
14206 Remove .type, gas supports this only for ELF format.
14207
14208 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
14209 nullbytes in symbol table. This fixes an infinite loop if table is
14210 zero filled.
14211
14212 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
14213 TARGET_IMG_LDFLAGS and EXEEXT.
14214
14215 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
14216 TARGET_IMG_LDFLAGS_AC.
14217 (grub_CHECK_STACK_ARG_PROBE): New function.
14218
14219 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
14220
14221 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
14222
14223 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
14224 to set TARGET_IMG_LD* accordingly.
14225 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
14226 Add call to grub_CHECK_STACK_ARG_PROBE.
14227 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
14228
14229 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
14230
14231 * genmk.rb: Add EXEEXT to CLEANFILES.
14232
12ccdb75 142332008-07-23 Robert Millan <rmh@aybabtu.com>
14234
14235 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
14236 define the codes for arrows and lines used for the menu).
14237 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
14238 as well.
14239
14240 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
14241 fonts, because the latter are too slow.
14242
18eeaf04 142432008-07-21 Bean <bean123ch@gmail.com>
14244
14245 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
14246 a20. Run keyboard test last, as it will cause macbook to halt.
14247
b095e2ad 142482008-07-18 Pavel Roskin <proski@gnu.org>
14249
14250 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
14251 load foreign architecture modules correctly anyway. Keep
14252 support for loading host architecture modules, whether we
14253 compile them or not.
14254
737feb35 142552008-07-17 Pavel Roskin <proski@gnu.org>
14256
3f4ce737 14257 * configure.ac: Use -m32 or -m64 regardless of whether we had to
14258 change target_cpu. The compiler default can mismatch target_cpu
14259 in any case.
14260
4ad2d049 14261 * disk/efi/efidisk.c: Fix format warnings on x86_64.
14262 * kern/efi/efi.c: Likewise.
14263
f6130a12 14264 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
14265 target compiler is functional.
14266 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
14267 are set up.
14268
58393a2d 14269 * configure.ac: Default to efi platform for x86_64-apple. Allow
14270 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
14271 adjustments from the rest, only do them if target is not
14272 explicitly given. Merge other adjustments with the final sanity
14273 check. Remove an extraneous check for supported CPU. Be
14274 specific which CPU and which platform is not supported.
14275
737feb35 14276 * configure.ac: Default to pc platform for x86_64.
14277
546f966a 142782008-07-17 Robert Millan <rmh@aybabtu.com>
14279
14280 Partial LinuxBIOS -> Coreboot rename.
14281
14282 * conf/i386-linuxbios.rmk: Renamed to ...
14283 * conf/i386-coreboot.rmk: ... this.
14284 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
14285 * configure.ac: Accept "coreboot" as input platform (but maintain
14286 compatibility with "linuxbios").
14287 * include/grub/i386/linuxbios: Renamed to ...
14288 * include/grub/i386/coreboot: ... this.
14289
20011694 142902008-07-17 Bean <bean123ch@gmail.com>
14291
14292 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 14293 (appleldr_mod_SOURCE): New variable.
20011694 14294 (appleldr_mod_CFLAGS): Likewise.
14295 (appleldr_mod_LDFLAGS): Likewise.
14296 (pci_mod_SOURCES): Likewise.
14297 (pci_mod_CFLAGS): Likewise.
14298 (pci_mod_LDFLAGS): Likewise.
14299 (lspci_mod_SOURCES): Likewise.
14300 (lspci_mod_CFLAGS): Likewise.
14301 (lspci_mod_LDFLAGS): Likewise.
14302
14303 * conf/x86_64-efi.rmk: New file.
14304
14305 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
14306 macro.
14307 (grub_efidisk_write): Likewise.
14308
14309 * include/efi/api.h (efi_call_0): New macro.
14310 (efi_call_1): Likewise.
14311 (efi_call_2): Likewise.
14312 (efi_call_3): Likewise.
14313 (efi_call_4): Likewise.
14314 (efi_call_5): Likewise.
14315 (efi_call_6): Likewise.
14316
14317 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
14318 grub_rescue_cmd_chainloader.
14319
14320 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
14321 (grub_pe32_optional_header): Change some fields based on i386 or
14322 x86_64 platform.
14323 (GRUB_PE32_PE32_MAGIC): Likewise.
14324
14325 * include/grub/efi/uga_draw.h: New file.
14326
14327 * include/grub/elf.h (STN_ABS): New constant.
14328 (R_X86_64_NONE): Relocation constant for x86_64.
14329 (R_X86_64_64): Likewise.
14330 (R_X86_64_PC32): Likewise.
14331 (R_X86_64_GOT32): Likewise.
14332 (R_X86_64_PLT32): Likewise.
14333 (R_X86_64_COPY): Likewise.
14334 (R_X86_64_GLOB_DAT): Likewise.
14335 (R_X86_64_JUMP_SLOT): Likewise.
14336 (R_X86_64_RELATIVE): Likewise.
14337 (R_X86_64_GOTPCREL): Likewise.
14338 (R_X86_64_32): Likewise.
14339 (R_X86_64_32S): Likewise.
14340 (R_X86_64_16): Likewise.
14341 (R_X86_64_PC16): Likewise.
14342 (R_X86_64_8): Likewise.
14343 (R_X86_64_PC8): Likewise.
14344
14345 * include/grub/i386/efi/pci.h: New file.
14346
14347 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
14348 Change it value based on platform.
14349 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
14350 (GRUB_E820_RAM): Likewise.
14351 (GRUB_E820_RESERVED): Likewise.
14352 (GRUB_E820_ACPI): Likewise.
14353 (GRUB_E820_NVS): Likewise.
14354 (GRUB_E820_EXEC_CODE): Likewise.
14355 (GRUB_E820_MAX_ENTRY): Likewise.
14356 (grub_e820_mmap): New structure.
14357 (linux_kernel_header): Change the efi field according to different
14358 kernel version, also field from linux_kernel_header.
14359
14360 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
14361
14362 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
14363 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
14364 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
14365 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
14366 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
14367 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
14368 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
14369 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
14370 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
14371 (GRUB_PCI_ADDR_IO_MASK): Likewise.
14372
14373 * include/grub/x86_64/efi/kernel.h: New file.
14374
14375 * include/grub/x86_64/efi/loader.h: Likewise.
14376
14377 * include/grub/x86_64/efi/machine.h: Likewise.
14378
14379 * include/grub/x86_64/efi/pci.h: Likewise.
14380
14381 * include/grub/x86_64/efi/time.h: Likewise.
14382
14383 * include/grub/x86_64/linux.h: Likewise.
14384
14385 * include/grub/x86_64/setjmp.h: Likewise.
14386
14387 * include/grub/x86_64/time.h: Likewise.
14388
14389 * include/grub/x86_64/types.h: Likewise.
14390
14391 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
14392 GRUB_TARGET_SIZEOF_VOID_P.
14393
14394 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
14395 (grub_efi_locate_handle): Likewise.
14396 (grub_efi_open_protocol): Likewise.
14397 (grub_efi_set_text_mode): Likewise.
14398 (grub_efi_stall): Likewise.
14399 (grub_exit): Likewise.
14400 (grub_reboot): Likewise.
14401 (grub_halt): Likewise.
14402 (grub_efi_exit_boot_services): Likewise.
14403 (grub_get_rtc): Likewise.
14404
14405 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
14406 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
14407 (grub_efi_allocate_pages): Wrap efi calls.
14408 (grub_efi_free_pages): Wrap efi calls.
14409 (grub_efi_get_memory_map): Wrap efi calls.
14410
14411 * kern/x86_64/dl.c: New file.
14412
14413 * kern/x86_64/efi/callwrap.S: Likewise.
14414
14415 * kern/x86_64/efi/startup.S: Likewise.
14416
14417 * loader/efi/appleloader.c: Likewise.
14418
14419 * loader/efi/chainloader.c (cmdline): New variable.
14420 (grub_chainloader_unload): Wrap efi calls.
14421 (grub_chainloader_boot): Likewise.
14422 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
14423 command line.
14424
14425 * loader/efi/chainloader_normal.c (chainloader_command):
14426 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
14427 command line.
14428
14429 * loader/i386/efi/linux.c (allocate_pages): Change allocation
14430 method.
14431 (grub_e820_add_region): New function.
14432 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
14433 booting.
14434 (grub_find_video_card): New function.
14435 (grub_linux_setup_video): New function.
14436 (grub_rescue_cmd_linux): Probe for video information.
14437
14438 * normal/x86_64/setjmp.S: New file.
14439
14440 * term/efi/console.c (map_char): New function.
14441 (grub_console_putchar): Map unicode char.
14442 (grub_console_checkkey): Wrap efi calls.
14443 (grub_console_getkey): Likewise.
14444 (grub_console_getwh): Likewise.
14445 (grub_console_gotoxy): Likewise.
14446 (grub_console_cls): Likewise.
14447 (grub_console_setcolorstate): Likewise.
14448 (grub_console_setcursor): Likewise.
14449
14450 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
14451
59652a20 144522008-07-16 Pavel Roskin <proski@gnu.org>
14453
ef294055 14454 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
14455 format strings.
14456
59652a20 14457 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
14458 pointer, not an integer. This fixes a warning and prevents
14459 precision loss on 64-bit systems.
14460 (relocate_addresses): Remove unneeded cast.
14461
afc3b5d7 144622008-07-15 Pavel Roskin <proski@gnu.org>
14463
506b2b3e 14464 * kern/i386/ieee1275/init.c: Include grub/cache.h.
14465
62ead89c 14466 * term/ieee1275/ofconsole.c: Disable code unused on i386.
14467
c4cd51d7 14468 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
14469 Fix comparison between signed and unsigned.
14470
0d3d8f28 14471 * include/grub/i386/ieee1275/console.h: Declare
14472 grub_console_init() and grub_console_fini().
14473
8804b286 14474 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
14475 It's empty and unused.
14476
ee01cf35 14477 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
14478 beginning to avoid warnings with some compilers.
14479
afc3b5d7 14480 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
14481 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
14482
e4e8eaa5 144832008-07-14 Pavel Roskin <proski@gnu.org>
14484
407aceb4 14485 * kern/env.c (grub_register_variable_hook): Don't copy empty
14486 string, it leaks memory. Pass "" to grub_env_set(), it should
14487 handle constant strings.
14488
e4e8eaa5 14489 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
14490 * commands/cmp.c (grub_cmd_cmp): Likewise.
14491 * kern/dl.c (grub_dl_flush_cache): Likewise.
14492 (grub_dl_load_core): Likewise.
14493 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
14494 (grub_elf64_load_phdrs): Likewise.
14495
d4e2dad3 144962008-07-13 Pavel Roskin <proski@gnu.org>
14497
14498 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
14499 between signed and unsigned.
14500 (LzmaEnc_Finish): Fix warning about an unused parameter.
14501
aa24b516 145022008-07-13 Bean <bean123ch@gmail.com>
14503
14504 * Makefile.in (enable_lzo): New rule.
14505
14506 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
14507
14508 * configure.ac (ENABLE_LZO): New option --enable-lzo.
14509
14510 * boot/i386/pc/lnxboot.S: #include <config.h>.
14511
14512 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 14513 its value according to the compression algorithm used, lzo or lzma.
aa24b516 14514
14515 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
14516 compression algorithm according to configure macro.
14517
14518 * kern/i386/pc/startup.S (codestart): Likewise.
14519
14520 * kern/i386/pc/lzma_decode.S: New file.
14521
14522 * include/grub/lib/LzFind.h: Likewise.
14523
14524 * include/grub/lib/LzHash.h: Likewise.
14525
14526 * include/grub/lib/LzmaDec.h: Likewise.
14527
14528 * include/grub/lib/LzmaEnc.h: Likewise.
14529
14530 * include/grub/lib/LzmaTypes.h: Likewise.
14531
14532 * lib/LzFind.c: Likewise.
14533
14534 * lib/LzmaDec.c: Likewise.
14535
14536 * lib/LzmaEnc.c: Likewise.
14537
4ae821ac 145382008-07-13 Bean <bean123ch@gmail.com>
14539
14540 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
14541 (grub_ext4_extent_header): New structure.
14542 (grub_ext4_extent): Likewise.
14543 (grub_ext4_extent_idx): Likewise.
14544 (grub_ext4_find_leaf): New function.
14545 (grub_ext2_read_block): Handle extents.
14546
9a745147 145472008-07-12 Robert Millan <rmh@aybabtu.com>
14548
14549 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
14550
d49a4cf6 145512008-07-11 Robert Millan <rmh@aybabtu.com>
14552
14553 * util/grub.d/40_custom.in: New file. Example on how to add custom
14554 entries to /etc/grub.d.
14555 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
14556 40_custom (implicitly, by merging all the grub.d rules).
14557
947414b4 145582008-07-11 Pavel Roskin <proski@gnu.org>
14559
0059cf6f 14560 * commands/read.c (grub_getline): Fix invalid memory access.
14561 Don't add newline to the variable value.
14562
947414b4 14563 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
14564 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
14565 (serial_hw_get_port): Check validity of the port number.
14566 (grub_cmd_serial): Check return value of serial_hw_get_port().
14567
62a02d00 145682008-07-07 Pavel Roskin <proski@gnu.org>
14569
14570 * boot/i386/pc/diskboot.S (notification_string): Replace
14571 "Loading kernel" with just "loading". This is shorter, less
14572 confusing and saves a few bytes for possible future changes.
14573
3e5581b0 145742008-07-05 Pavel Roskin <proski@gnu.org>
14575
ea387a48 14576 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
14577 size for ATAPI devices, they are undefined. Output sector
14578 number in decimal form.
14579
3e5581b0 14580 * disk/ata.c: Use named constants for status bits.
14581
fdecb8fd 145822008-07-04 Pavel Roskin <proski@gnu.org>
14583
bcd35b90 14584 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
14585 grub_addr_t before casting it to the void pointer to fix a
14586 warning. Non-addressable regions are discarded earlier.
14587 (grub_arch_modules_addr): Cast _end to grub_addr_t.
14588 * kern/i386/linuxbios/table.c: Include grub/misc.h.
14589 (check_signature): Don't shadow table_header.
14590 (grub_linuxbios_table_iterate): Cast numeric constants to
14591 grub_linuxbios_table_header_t.
14592 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
14593 grub_stop().
14594
af58ab3d 14595 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
14596 prevent warnings.
14597
1759aa57 14598 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
14599 pointer, which can cause warnings. Support 64-bit addresses.
14600
fdecb8fd 14601 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
14602 of sizeof(long). This fixes PowerPC image generation on x86_64.
14603
8516d2a8 146042008-07-04 Robert Millan <rmh@aybabtu.com>
14605
14606 This fixes a performance issue when pc & gpt partmap iterators
14607 didn't abort iteration even after our hook found what it was
fe987087 14608 looking for (often causing expensive probes of non-existent drives).
8516d2a8 14609
14610 Some callers relied on previous buggy behaviour, since they would
34c44600 14611 raise an error when their own hooks caused early abortion of its
8516d2a8 14612 iteration.
14613
14614 * kern/device.c (grub_device_open): Improve error message.
14615 * disk/lvm.c (grub_lvm_open): Likewise.
14616 * disk/raid.c (grub_raid_open): Likewise.
14617
14618 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
14619 when hook requests it, independently of grub_errno.
14620 (pc_partition_map_probe): Do not fail when find_func() caused
14621 early abortion of pc_partition_map_iterate().
14622
14623 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
14624 when hook requests it, independently of grub_errno.
14625 (gpt_partition_map_probe): Do not fail when find_func() caused
14626 early abortion of gpt_partition_map_iterate().
14627
14628 * kern/partition.c (grub_partition_iterate): Abort parent iteration
14629 when hook requests it, independently of grub_errno. Do not fail when
14630 part_map_iterate_hook() caused early abortion of p->iterate().
14631
14632 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
14633 when grub_partition_iterate() returned with non-zero.
14634
277d0de9 146352008-07-03 Pavel Roskin <proski@gnu.org>
14636
14637 * disk/ata.c (grub_ata_pio_write): Check status before writing,
14638 like we do in grub_ata_pio_read().
14639 (grub_ata_readwrite): Always write individual sectors. Fix the
14640 sector count for the remainder.
14641 (grub_ata_write): Enable writing to ATA devices. Correctly
14642 report error for ATAPI devices.
14643
d4c9b428 146442008-07-02 Pavel Roskin <proski@gnu.org>
14645
e43fc690 14646 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
14647 warning.
14648
f707af42 14649 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
14650 for every read sector, we already increment it for the whole
14651 batch. This fixes reading more than 256 sectors at once.
14652
11e16b15 14653 * util/grub-editenv.c (cmd_info): Cast argument to long
14654 explicitly. ptrdiff_t reduces to int on i386.
14655
cbabfdd4 14656 * util/grub-editenv.c (main): Be specific which parameter is
14657 missing.
14658
b8fbce0a 14659 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
14660 (memdisk): Make memdisk_orig_addr a pointer.
14661
c9c8e606 14662 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
14663 for file offsets, use grub_off_t instead. Fix printf format
14664 warnings.
14665
ca62e598 14666 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
14667 there. Real unexpected warnings should not drown in the noise
14668 about known problems.
14669
ce8d1766 14670 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
14671 grub_disk_addr_t for memory addresses.
14672
00c7a56a 14673 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
14674 explicitly to fix a warning.
14675
08d3ef09 14676 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
14677
cb71ba20 14678 * Makefile.in (MODULE_LDFLAGS): New variable.
14679 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
14680 the linker accepts --build-id=none.
14681 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
14682 MODULE_LDFLAGS.
14683 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
14684
d4c9b428 14685 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
14686 those in Linux XFS code. Provide a way to access 64-bit parent
14687 inode.
14688 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
14689 the end of struct grub_xfs_dir_header.
14690
d4156eee 146912008-07-02 Bean <bean123ch@gmail.com>
14692
14693 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
14694 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
14695 and GRUB_IEEE1275_FLAG_NO_ANSI.
14696
14697 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
14698 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
14699 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
14700
14701 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
14702 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
14703
14704 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
14705 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
14706
14707 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
14708 esc sequence on non ANSI terminal.
14709 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
14710
14711 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
14712 beginning of file.
14713
2270f77b 147142008-07-02 Bean <bean123ch@gmail.com>
14715
14716 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
14717 (grub_editenv_SOURCES): New variable.
14718 (pkglib_MODULES): Add loadenv.mod.
14719 (loadenv_mod_SOURCES): New variable.
14720 (loadenv_mod_CFLAGS): Likewise.
14721 (loadenv_mod_LDFLAGS): Likewise.
14722
14723 * include/grub/envblk.h: New file.
14724
14725 * util/envblk.c: New file.
14726
14727 * util/grub-editenv.c: New file.
14728
14729 * commands/loadenv.c: New file.
14730
0e9e51ec 147312008-07-01 Pavel Roskin <proski@gnu.org>
14732
d89b7634 14733 * include/multiboot2.h (struct multiboot_tag_module): Use char,
14734 not unsigned char. This fixes warnings and is consistent with
14735 other tags.
14736
bf1835b1 14737 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
14738
8222a04b 14739 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
14740
6a42d99d 14741 * term/tparm.c (analyze): Always set *popcount.
14742
10b159d1 14743 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
14744 cast to fix a warning.
14745
b8789f6c 14746 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
14747 cast to suppress a warning.
14748
29d7e38a 14749 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
14750 grub_fshelp_read_file() expects.
14751
f341f669 14752 * fs/fat.c: Fix UUID calculation on big-endian systems. We
14753 write uuid as a 32-bit value in CPU byte order, so declare and
14754 use it as such.
14755
0e9e51ec 14756 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
14757 long if the format specifier expects it.
14758 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
14759 * partmap/pc.c (pc_partition_map_iterate): Likewise.
14760 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
14761 long to fix a warning.
14762 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
14763 grub_dprintf() arguments to fix warnings.
14764
3aefa857 147652008-06-30 Pavel Roskin <proski@gnu.org>
14766
56c7668b 14767 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
14768 install_bsd_part immediately before core.img is embedded or
14769 modified on disk. This fixes core.img verification if core.img
14770 cannot be embedded.
14771
3aefa857 14772 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
14773 core_path to calculate the blocklist.
14774 Patch from Javier MartĂ­n <lordhabbit@gmail.com>
14775
5444088d 147762008-06-29 Robert Millan <rmh@aybabtu.com>
14777
14778 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
14779 block to disk block.
14780 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
14781 Patch from Niels Böhm <bitbucket@arcor.de>
14782
674835c8 147832008-06-29 Robert Millan <rmh@aybabtu.com>
14784
14785 * util/update-grub_lib.in (font_path): Search for fonts in
14786 /boot/grub first, which is more likely to be readable (we aren't
14787 deciding where fonts live, just looking for them).
14788
f527dbc8 147892008-06-26 Pavel Roskin <proski@gnu.org>
14790
6c2d8df6 14791 * util/biosdisk.c (read_device_map): Don't leave dead map
14792 entries for devices failing stat() check.
14793
f527dbc8 14794 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
14795 core_path_dev for the core.img path on the target device.
14796
aebe3d13 147972008-06-26 Robert Millan <rmh@aybabtu.com>
14798
14799 * disk/fs_uuid.c: New file.
14800 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
14801 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
14802 (fs_uuid_mod_LDFLAGS): New variables.
14803 * include/grub/disk.h (grub_disk_dev_id): Add
14804 `GRUB_DISK_DEVICE_UUID_ID'.
14805 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
14806 implement iterate().
14807
37aaf354 148082008-06-26 Robert Millan <rmh@aybabtu.com>
14809
14810 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
14811 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
14812 Linux image includes no initrd.
14813
25ff262a 148142008-06-21 Javier MartĂ­n <lordhabbit@gmail.com>
14815
14816 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
14817 call to resolve the core image location that effectively appended the
14818 name twice.
14819
76a2bd44 148202008-06-21 Robert Millan <rmh@aybabtu.com>
14821
14822 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
14823 call from here ...
14824
14825 * util/grub.d/10_hurd.in: ... to here ...
14826 * util/grub.d/10_linux.in: ... and here.
14827
650e1c79 148282008-06-19 Robert Millan <rmh@aybabtu.com>
14829
fe987087 14830 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 14831 after it has been set by grub_machine_set_prefix().
14832
6ce63911 148332008-06-19 Robert Millan <rmh@aybabtu.com>
14834
14835 * commands/search.c (search_label, search_fs_uuid, search_file): Print
14836 search result when not saving to variable, not the other way around.
14837 When saving to variable, abort iteration as soon as a match is found.
14838
73940cec 148392008-06-19 Robert Millan <rmh@aybabtu.com>
14840
14841 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
14842 check for partition that provides /boot/grub. Its logic is flawed,
14843 as it prevents prepare_grub_to_access_device() from being called
14844 multiple times.
14845
3c62a39d 148462008-06-19 Robert Millan <rmh@aybabtu.com>
14847
14848 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
14849 "insmod" command directly when abstraction modules are needed,
fe987087 14850 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 14851 since it had already been processed).
14852
47395a42 148532008-06-19 Pavel Roskin <proski@gnu.org>
14854
14855 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
14856 changed. This is needed in case GRUB_LIBDIR changes.
14857 * conf/i386-ieee1275.rmk: Likewise.
14858 * conf/i386-linuxbios.rmk: Likewise.
14859 * conf/i386-pc.rmk: Likewise.
14860 * conf/powerpc-ieee1275.rmk: Likewise.
14861
a145ac2d 148622008-06-18 Pavel Roskin <proski@gnu.org>
14863
14864 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
14865 kernel_elf_symlist.c to symlist.c for consistency with other
14866 architectures. Update all users.
14867 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
14868
7847c51e 148692008-06-18 Robert Millan <rmh@aybabtu.com>
14870
14871 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
14872 it in prefix.
14873
14874 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
14875 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
14876 a RAID device, run setup() for all members independently on whether
14877 LVM abstraction is being used.
14878 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
14879 If grub-mkimage has set `*install_dos_part == -2', don't override this
14880 value.
14881 Perform *install_dos_part adjustments independently on whether
14882 we're embedding or not.
14883 Clarify error message when image is too big for embedding.
14884 Remove duplicate *install_dos_part stanza.
14885
b23e5644 148862008-06-17 Robert Millan <rmh@aybabtu.com>
14887
14888 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
14889 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
14890 variables.
14891 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
14892 values in grub_ofconsole_normal_color and
14893 grub_ofconsole_highlight_color (they're not directly related to
14894 background and foreground).
14895 (grub_ofconsole_setcolorstate): Extract background and foreground
14896 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
14897
0aac2f79 148982008-06-17 Robert Millan <rmh@aybabtu.com>
14899
14900 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
14901 /boot/grub for the check in last commit, not /boot (they could be
14902 different partitions).
14903
3cca7ef3 149042008-06-16 Robert Millan <rmh@aybabtu.com>
14905
14906 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
14907 asked to setup access for the same partition that provides /boot,
14908 don't bother using UUIDs since our root already has the value we
14909 want.
14910
347396d8 149112008-06-16 Robert Millan <rmh@aybabtu.com>
14912
14913 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
14914 I2O devices.
14915 Patch from Sven Mueller <sven@debian.org>.
14916
991477f8 149172008-06-16 Robert Millan <rmh@aybabtu.com>
14918
14919 * util/update-grub.in: Check for $EUID instead of $UID.
14920 Reported by Vincent Zweije.
14921
d31a32a1 149222008-06-16 Bean <bean123ch@gmail.com>
14923
fe987087 14924 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 14925 (grub_ext2_read_block): Likewise.
14926 (grub_ext2_read_inode): Likewise.
14927 (grub_ext2_mount): Likewise.
14928 (grub_ext2_close): Likewise.
14929 (grub_ext3_get_journal): Removed.
14930
fe987087 14931 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 14932 (grub_reiserfs_read_symlink): Likewise.
14933 (grub_reiserfs_mount): Likewise.
14934 (grub_reiserfs_open): Likewise.
14935 (grub_reiserfs_read): Likewise.
14936 (grub_reiserfs_close): Likewise.
14937 (grub_reiserfs_get_journal): Removed.
14938
14939 * fs/fshelp.c (grub_fshelp_read): Removed.
14940 (grub_fshelp_map_block): Likewise.
14941
14942 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
14943 (grub_fshelp_journal): Likewise.
14944 (grub_fshelp_read): Likewise.
14945 (grub_fshelp_map_block): Likewise.
14946
3540a760 149472008-06-16 Pavel Roskin <proski@gnu.org>
14948
14949 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
14950 floating point anymore.
14951 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
14952
95614c84 149532008-06-15 Pavel Roskin <proski@gnu.org>
14954
14955 * commands/ls.c (grub_ls_list_files): Use integer calculations
14956 for human readable format, avoid floating point use.
14957 * kern/misc.c (grub_ftoa): Remove.
14958 (grub_vsprintf): Remove floating point support.
14959
50465dd6 149602008-06-15 Robert Millan <rmh@aybabtu.com>
14961
fe6b695a 14962 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 14963 devices.
14964 Reported by Max Vozeler.
14965
a9207284 149662008-06-15 Robert Millan <rmh@aybabtu.com>
14967
14968 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
14969 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
14970 skipped later.
14971 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
14972 the beginning of the prefix.
14973
14974 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
14975 It is assumed that if we have a memdisk, grub-mkimage has set
14976 grub_prefix to include the "(memdisk)" drive in it.
14977
a7cbd45a 149782008-06-15 Robert Millan <rmh@aybabtu.com>
14979
14980 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
14981 Initialize keyboard controller after registering the terminal, so that
14982 grub_printf() can be called from grub_keyboard_controller_init().
14983
21cf716a 149842008-06-15 Robert Millan <rmh@aybabtu.com>
14985
14986 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
14987 extent-btree which is written as big endian on disk.
14988 Reported by Alain Greppin <al@chilibi.org>.
14989
23a64d8e 149902008-06-14 Robert Millan <rmh@aybabtu.com>
14991
14992 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
14993 * util/i386/pc/grub-install.in (modules): Likewise.
14994
d687651c 149952008-06-13 Pavel Roskin <proski@gnu.org>
14996
14997 * commands/ls.c (grub_ls_list_files): Fix format warnings.
14998
dfe9ddd4 149992008-06-13 Bean <bean123ch@gmail.com>
15000
15001 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
15002
15003 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
15004
15005 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
15006 to indicate sparse block.
15007
16ae7781 150082008-06-12 Pavel Roskin <proski@gnu.org>
15009
e6d1a308 15010 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
15011 number, grub_fshelp_read() does it for us.
15012
16ae7781 15013 * fs/fshelp.c (grub_fshelp_read): New function. Implement
15014 linear disk read with journal translation.
15015 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
15016 * include/grub/fshelp.h: Declare grub_fshelp_read().
15017
40fd3a2b 150182008-06-09 Pavel Roskin <proski@gnu.org>
15019
15020 * fs/minix.c (grub_minix_mount): Handle error reading
15021 superblock.
15022
f5679726 150232008-06-08 Robert Millan <rmh@aybabtu.com>
15024
15025 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
15026 don't append the RAID prefix afterwards.
15027 Reported by Clint Adams.
15028
ce525529 150292008-06-08 Robert Millan <rmh@aybabtu.com>
15030
15031 Based on description from Pavel:
15032 * kern/disk.c (grub_disk_check_range): Rename to ...
15033 (grub_disk_adjust_range): ... this. Add a comment explaining the
15034 tasks performed by this function.
15035
ad4936a0 150362008-06-08 Robert Millan <rmh@aybabtu.com>
15037
15038 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
15039 `num_serial' (for consistency with other variables).
15040 (struct grub_ntfs_data): Add `uuid' member.
15041 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
15042 (grub_ntfs_uuid): New function.
15043 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
15044
dc20b0f9 150452008-06-07 Pavel Roskin <proski@gnu.org>
15046
15047 * util/biosdisk.c (open_device): Revert last change to the
15048 function, it broke installation. The sector needs to be
15049 different dependent on which device is opened.
15050
c5e3cfba 150512008-06-06 Robert Millan <rmh@aybabtu.com>
15052
15053 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
15054 rest of GRUB, and breakage doesn't happen if its value were modified.
15055
15056 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
15057 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
15058 a constant (same value).
15059 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
15060 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
15061
26a1f8c4 150622008-06-06 Robert Millan <rmh@aybabtu.com>
15063
15064 * util/biosdisk.c (open_device): Do not modify sector offset when
15065 accessing a partition. kern/disk.c already handles this for us.
15066
25d6b327 150672008-06-06 Robert Millan <rmh@aybabtu.com>
15068
15069 * util/grub-emu.c (grub_machine_init): Move code in this function from
15070 here ...
15071 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
15072 segfault in case grub_printf() is called).
15073
15074 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
15075 grub_probe. Update all users not to explicitly add it again.
15076 (grub_device): New variable; contains corresponding device for grubdir.
15077 (fs_module, partmap_module, devabstraction_module): Pass
15078 `--device ${grub_device}' to grub_probe to avoid traversing /dev
15079 every time.
15080
9ece62fb 150812008-06-05 Robert Millan <rmh@aybabtu.com>
15082
15083 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
15084 is found, print it (same layout as with labels).
15085
1ad36d37 150862008-06-04 Robert Millan <rmh@aybabtu.com>
15087
15088 * util/biosdisk.c (get_drive): Rename to ...
15089 (find_grub_drive): ... this. Update all users.
15090
15091 (get_os_disk): Rename to ...
15092 (convert_system_partition_to_system_disk): ... this. Update all users.
15093
15094 (find_drive): Rename to ...
15095 (find_system_device): ... this. Update all users.
15096
e6a30859 150972008-06-04 Robert Millan <rmh@aybabtu.com>
15098
15099 * util/biosdisk.c (get_os_disk): Handle IDA devices.
15100 * util/grub-mkdevicemap.c (get_mmc_disk_name)
15101 (make_device_map): Likewise.
15102
00c108a4 151032008-06-01 Robert Millan <rmh@aybabtu.com>
15104
15105 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
15106 before dereferencing it.
15107
15108 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
15109 union with fat12/fat16-specific ones. Add some new fields, including
15110 `num_serial' for both versions.
15111 (struct grub_fat_data): Add `uuid' member.
15112 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
15113 names. Initialize `data->uuid' using `num_serial'.
15114 (grub_fat_uuid): New function.
15115 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
15116
15117 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
15118 (grub_reiserfs_uuid): New function.
15119 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
15120 member.
15121
15122 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
15123 (grub_xfs_uuid): New function.
15124 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
15125
1385c5bb 151262008-06-01 Robert Millan <rmh@aybabtu.com>
15127
15128 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
15129 code that is backward compatible with pre-uuid search command.
15130
c682dfd7 151312008-05-31 Robert Millan <rmh@aybabtu.com>
15132
15133 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
15134 floppies after everything else, to ensure floppy drive isn't accessed
15135 unnecessarily (patch from Bean).
15136
b7db5d47 151372008-05-31 Robert Millan <rmh@aybabtu.com>
15138
15139 * commands/search.c (search_label, search_fs_uuid, search_file): Do
15140 not print device names when we were asked to set a variable.
15141
6e037aa9 151422008-05-31 Robert Millan <rmh@aybabtu.com>
15143
15144 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
15145 using "cursor-on" and "cursor-off" commands (understood at least by
15146 the Open Firmware flavour on OLPC).
15147
41305bc8 151482008-05-31 Michael Gorven <michael@gorven.za.net>
15149
15150 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
15151 on and off sequences.
15152
69ba137e 151532008-05-31 Robert Millan <rmh@aybabtu.com>
15154
15155 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
15156 * util/update-grub.in: Likewise.
15157
520ae21b 151582008-05-30 Pavel Roskin <proski@gnu.org>
15159
15160 * util/biosdisk.c (linux_find_partition): Simplify logic and
15161 make the code more universal. Keep special processing for
15162 devfs, but use a simple rule for all other devices. If the
15163 device ends with a number, append 'p' and the partition number.
15164 Otherwise, append only the partition number.
15165
5786569b 151662008-05-30 Robert Millan <rmh@aybabtu.com>
15167
15168 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
15169 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
15170 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
15171 the `root' parameter to Linux.
15172
51500452 151732008-05-30 Robert Millan <rmh@aybabtu.com>
15174
15175 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
15176 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
15177 --fs_uuid with --fs-uuid.
15178 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
15179 all filesystems support them).
15180
811d3878 151812008-05-30 Robert Millan <rmh@aybabtu.com>
15182
15183 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 15184 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 15185
cab63c95 151862008-05-30 Robert Millan <rmh@aybabtu.com>
15187
15188 * util/grub.d/00_header.in: Remove obsolete comment referencing
15189 convert_system_path_to_grub_path().
15190 * util/update-grub.in: Likewise.
15191 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
15192 (convert_system_path_to_grub_path): Add a warning message explaining
15193 that this function is deprecated. Rely on is_path_readable_by_grub()
15194 for the readability checks.
15195 (font_path): Use is_path_readable_by_grub() for the readability
15196 check rather than convert_system_path_to_grub_path().
15197
972e2f7a 151982008-05-30 Robert Millan <rmh@aybabtu.com>
15199
15200 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
15201 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
15202 converting it first.
15203 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
15204 grub.cfg for access to font file, and afterwards call it again to set
15205 the root device.
15206
62191274 152072008-05-30 Robert Millan <rmh@aybabtu.com>
15208
15209 * commands/search.c (options): Add --fs_uuid option.
15210 (search_fs_uuid): New function.
15211 (grub_cmd_search): Fix --set argument passing.
15212 Use search_fs_uuid() when requested via --fs_uuid.
15213 (grub_search_init): Update help message.
15214 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
15215 and redeclare it as an array of 16-bit words.
15216 (grub_ext2_uuid): New function.
15217 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
15218 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
15219 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
15220 (GRUB_DEVICE_BOOT_UUID): New variables.
15221 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
15222 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
15223 whenever possible.
15224 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
15225 just assume `root' variable has the right value.
15226 * util/grub.d/10_linux.in: Likewise.
15227 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
15228 via PRINT_FS_UUID.
15229 (main): Recognise `-t fs_uuid' argument.
15230
01b73ec8 152312008-05-30 Robert Millan <rmh@aybabtu.com>
15232
15233 * util/biosdisk.c (map): Redefine structure to hold information
15234 about GRUB drive name.
fe6b695a 15235 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 15236 drive names.
15237 (call_hook): Remove.
15238 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
15239 member. Assume drive has partitions.
15240 (grub_util_biosdisk_open): Access device names via `.device' struct
15241 member.
15242 (open_device): Likewise.
15243 (find_drive): Likewise.
15244 (read_device_map): Adjust map[] usage to match the new struct
15245 definition. Don't check for duplicates (still possible, but not cheap
15246 anymore).
15247 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
15248 (make_device_name): Remove assumption of BIOS-like drive names.
15249
22f16596 152502008-05-30 Pavel Roskin <proski@gnu.org>
15251
15252 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
15253 compiling execute.c doesn't need grub_script.tab.h anymore.
15254 (normal/command.c_DEPENDENCIES): Likewise.
15255 (normal/function.c_DEPENDENCIES): Likewise.
15256 * conf/i386-ieee1275.rmk: Likewise.
15257 * conf/i386-linuxbios.rmk: Likewise.
15258 * conf/i386-pc.rmk: Likewise.
15259 * conf/powerpc-ieee1275.rmk: Likewise.
15260 * conf/sparc64-ieee1275.rmk: Likewise.
15261
528ad8f2 152622008-05-29 Pavel Roskin <proski@gnu.org>
15263
d1dff95d 15264 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
15265 when scanning metadata for volume group name.
15266
528ad8f2 15267 * include/grub/script.h: Don't include grub_script.tab.h. It's
15268 a generated file, which may only be included from the files with
15269 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
15270 use union YYSTYPE, as the later allows forward declaration.
15271 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
15272
47248e08 152732008-05-29 Robert Millan <rmh@aybabtu.com>
15274
15275 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
15276 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
15277 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
15278 (grub_console_checkkey): Add grub_dprintf() call to report unknown
15279 scan codes.
15280
ee632529 152812008-05-29 Robert Millan <rmh@aybabtu.com>
15282
15283 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
15284 control key combinations.
15285
eee96e08 152862008-05-29 Robert Millan <rmh@aybabtu.com>
15287
15288 * util/powerpc/ieee1275/grub-install.in: Move from here ...
15289 * util/ieee1275/grub-install.in: ... to here.
15290 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
15291 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
15292 (grub_install_SOURCES): Likewise.
15293
da9a6a94 152942008-05-29 Robert Millan <rmh@aybabtu.com>
15295
15296 * fs/affs.c: Update copyright year.
15297 * fs/ext2.c: Likewise.
15298 * fs/fshelp.c: Likewise.
15299 * fs/hfsplus.c: Likewise.
15300 * fs/ntfs.c: Likewise.
15301 * fs/xfs.c: Likewise.
15302 * include/grub/fshelp.h: Likewise.
15303 * util/grub-mkdevicemap.c: Likewise.
15304
12e65f3a 153052008-05-28 Robert Millan <rmh@aybabtu.com>
15306
15307 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
15308 might need to be fatfs to support some firmware implementations
15309 (e.g. OFW or EFI).
15310
23023641 153112008-05-28 Robert Millan <rmh@aybabtu.com>
15312
15313 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
15314 devices.
15315 * util/grub-mkdevicemap.c (get_mmc_disk_name)
15316 (make_device_map): Likewise.
15317
887d2619 153182008-05-20 Bean <bean123ch@gmail.com>
15319
15320 * fs/fshelp.c (grub_fshelp_map_block): New function.
15321 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
15322 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
15323
15324 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
15325 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
15326 (grub_fshelp_journal): New structure.
15327 (grub_fshelp_map_block): New function prototype.
15328 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
15329 (grub_fshelp_map_block): Likewise.
15330
15331 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
15332 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
15333 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
15334 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
15335 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
15336 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
15337 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
15338 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
15339 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
15340 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
15341 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
15342 (grub_ext2_sblock): New members for journal support.
15343 (grub_ext3_journal_header): New structure.
15344 (grub_ext3_journal_revoke_header): Likewise.
15345 (grub_ext3_journal_block_tag): Likewise.
15346 (grub_ext3_journal_sblock): Likewise.
15347 (grub_fshelp_node): New members logfile and journal.
15348 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
15349 grub_fshelp_map_block to get real block number.
15350 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
15351 number.
15352 (grub_ext2_read_inode): Likewise.
15353 (grub_ext3_get_journal): New function.
15354 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
15355 (grub_ext2_close): Release memory used by journal.
15356
15357 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
15358 (REISERFS_MAGIC_DESC_BLOCK): New macro.
15359 (grub_reiserfs_transaction_header): Renamed to
15360 grub_reiserfs_description_block, replace field data with real_blocks.
15361 (grub_reiserfs_commit_block): New structure.
15362 (grub_reiserfs_data): New member journal.
15363 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
15364 number.
15365 (grub_reiserfs_read_symlink): Likewise.
15366 (grub_reiserfs_iterate_dir): Likewise.
15367 (grub_reiserfs_open): Likewise.
15368 (grub_reiserfs_read): Likewise.
15369 (grub_reiserfs_get_journal): New function.
15370 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
15371 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
15372 using grub_reiserfs_get_journal.
15373 (grub_reiserfs_close): Release memory used by journal.
15374
15375 * fs/affs.c (grub_affs_read_block): Change block type to
15376 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
15377
15378 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
15379
15380 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
15381
15382 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
15383
15384 * fs/udf.c (grub_udf_read_block): Change block type to
15385 grub_disk_addr_t. Use type cast to avoid warning.
15386
15387 * fs/xfs.c (grub_xfs_read_block): Likewise.
15388
b7c6bed5 153892008-05-16 Christian Franke <franke@computer.org>
15390
15391 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
15392 to ensure that break with ESC will always work.
15393 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
15394 Remove ESC from keyboard queue.
15395
eedf167f 153962008-05-16 Christian Franke <franke@computer.org>
15397
15398 * util/biosdisk.c: [__CYGWIN__] Add includes.
15399 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
15400 (get_os_disk): Move variable declarations to OS specific
15401 parts to avoid warning.
15402 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
15403 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
15404 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
15405 Cygwin.
15406 * util/getroot.c: [__CYGWIN__] Add includes.
15407 (strip_extra_slashes): Fix "/" case.
15408 [__CYGWIN__] (get_win32_path): New function.
15409 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
15410 [__CYGWIN__] (find_root_device): Disable.
15411 [__CYGWIN__] (get_bootsec_serial): New function.
15412 [__CYGWIN__] (find_cygwin_root_device): Likewise.
15413 [__linux__] (grub_guess_root_device): Add early returns to simplify
15414 structure.
15415 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
15416 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
15417 check for Linux only.
15418
a079699e 154192008-05-15 Bean <bean123ch@gmail.com>
15420
15421 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
15422 keyboard hang problem in apple's intel mac.
15423
1cf4059a 154242008-05-09 Robert Millan <rmh@aybabtu.com>
15425
15426 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
15427 devices.
15428 * util/grub-mkdevicemap.c (get_virtio_disk_name)
15429 (make_device_map): Likewise.
15430 Reported by Aurelien Jarno <aurel32@debian.org>
15431
ed759390 154322008-05-07 Ian Campbell <ijc@hellion.org.uk>
15433
15434 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
15435 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
15436 (make_device_map): Output entries for xvd type disks.
15437
b56c4eaa 154382008-05-07 Robert Millan <rmh@aybabtu.com>
15439
15440 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
15441 devices.
15442 * util/grub-mkdevicemap.c (get_cciss_disk_name)
15443 (make_device_map): Likewise.
15444 Reported by Roland Dreier <rdreier@cisco.com>
15445
7f8866ed 154462008-05-07 Robert Millan <rmh@aybabtu.com>
15447
15448 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
15449 grub_strstr() call. Correct a few mistakes in failure path handling.
15450
b0346e0f 154512008-05-06 Robert Millan <rmh@aybabtu.com>
15452
15453 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
15454 Do not print a trailing slash (therefore, the root directory is an
15455 empty string).
15456 (convert_system_path_to_grub_path): Do not remove trailing slash
15457 from make_system_path_relative_to_its_root() output.
15458
15459 * util/i386/pc/grub-install.in: Add trailing slash to output from
15460 make_system_path_relative_to_its_root().
15461
6cf12cbd 154622008-05-06 Robert Millan <rmh@aybabtu.com>
15463
15464 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
15465 ensures that output lines aren't intermangled with those sent to
15466 stderr (via grub_util_info()).
15467 * util/grub-probe.c (grub_refresh): Likewise.
15468 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
15469
0fbb3117 154702008-05-05 Christian Franke <franke@computer.org>
15471
15472 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
15473 Add Cygwin device names.
15474 (get_ide_disk_name) [__CYGWIN__]: Likewise.
15475 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
15476 (check_device): Return error instead of success on empty name.
15477 (make_device_map): Move label inside linux specific code to
15478 prevent compiler warning.
15479
8124cdb7 154802008-04-30 Robert Millan <rmh@aybabtu.com>
15481
15482 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
15483 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
15484 first boot option.
15485 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
15486
094c01d0 154872008-04-29 Robert Millan <rmh@aybabtu.com>
15488
15489 * docs/grub.cfg: New file (example GRUB configuration).
15490
f4b1fc02 154912008-04-26 Robert Millan <rmh@aybabtu.com>
15492
329ce2a5 15493 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
15494 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
15495 and `disk/ieee1275/nand.c'.
f4b1fc02 15496
25f16ec1 154972008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 15498
25f16ec1 15499 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
15500 i386-linuxbios.
15501
15502 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
15503 change the buffer size to 4096 for cdrom device.
15504
15505 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
15506 and nand.mod.
15507 (_linux_mod_SOURCES): New variable.
15508 (_linux_mod_CFLAGS): Likewise.
15509 (_linux_mod_LDFLAGS): Likewise.
15510 (linux_mod_SOURCES): Likewise.
15511 (linux_mod_CFLAGS): Likewise.
15512 (linux_mod_LDFLAGS): Likewise.
15513 (nand_mod_SOURCES): Likewise.
15514 (nand_mod_CFLAGS): Likewise.
15515 (nand_mod_LDFLAGS): Likewise.
15516
15517 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
15518 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
15519 type property. (nand device in olpc don't have this property)
15520
15521 * include/grub/disk.h (grub_disk_dev_id): New macro
15522 GRUB_DISK_DEVICE_NAND_ID.
15523
15524 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
15525 function prototype.
15526 (grub_rescue_cmd_initrd): Likewise.
15527
15528 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
15529 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
15530 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 15531
25f16ec1 15532 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
15533 GRUB_MACHINE_IEEE1275 is defined.
15534
15535 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
15536 Use NESTED_FUNC_ATTR attribute on the hook parameter.
15537
15538 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
15539 on nested function heap_init.
15540 (grub_upper_mem): New variable for i386-ieee1275.
15541 (grub_get_extended_memory): New function for i386-ieee1275.
15542 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
15543
15544 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
15545 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
15546 property.
f19dbdb7 15547
25f16ec1 15548 * loader/i386/ieee1275/linux.c: New file.
15549
15550 * loader/i386/ieee1275/linux_normal.c: New file.
15551
15552 * disk/ieee1275/nand.c: New file.
15553
e89d61e9 155542008-04-18 Thomas Schwinge <tschwinge@gnu.org>
15555
15556 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
15557 value.
15558 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
15559
602566f6 155602008-04-18 Robert Millan <rmh@aybabtu.com>
15561
15562 Restructures early code path on ieee1275 to unify grub_main() as
15563 the first C function that is executed in every platform.
15564
15565 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
15566 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
15567 cmain().
15568 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
15569 * kern/ieee1275/cmain.c (cmain): Rename to ...
15570 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
15571 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
15572 at the beginning.
15573
57490c2b 155742008-04-18 Robert Millan <rmh@aybabtu.com>
15575
15576 * util/update-grub.in: Fix syntax error when setting
15577 `GRUB_PRELOAD_MODULES'.
15578 Reported by Stephane Chazelas <stephane@artesyncp.com>
15579
1977517d 155802008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
15581
15582 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
15583 section into account, newer toolchains generate unique build ids
15584 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 15585 we want build ids to be preserved
1977517d 15586 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
15587 far from other sections don't cause the raw binary images grow
15588 size
15589
bfb1f1a2 155902008-04-15 Robert Millan <rmh@aybabtu.com>
15591
15592 * disk/lvm.c: Update copyright year.
15593 * kern/misc.c: Likewise.
15594
01979850 155952008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
15596
15597 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 15598 there is no memory left for physical volume name.
01979850 15599
0a1150e2 156002008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
15601
15602 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
15603 volume name mapping to support bigger than 9 character names properly.
15604
82ead3fe 156052008-04-13 Robert Millan <rmh@aybabtu.com>
15606
15607 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
15608 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
15609
e54a72f5 156102008-04-13 Christian Franke <franke@computer.org>
15611
15612 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
15613 to create a floppy emulation boot CD when non emulation mode
15614 does not work.
15615 Enable Joliet CD filesystem extension.
15616
9fe86034 156172008-04-13 Robert Millan <rmh@aybabtu.com>
15618
15619 * kern/misc.c (grub_strncat): Fix off-by-one error.
15620 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
15621
15622 * kern/env.c (grub_env_context_close): Clear current context, not
15623 previous one.
15624 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
15625
15626 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
15627
7ceeee39 156282008-04-13 Robert Millan <rmh@aybabtu.com>
15629
15630 Improve robustness when handling LVM.
15631
15632 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 15633 (and leave `*p' unmodified).
7ceeee39 15634 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
15635 through it.
15636 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
15637 iterating through it.
15638 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
15639 through it.
fe6b695a 15640 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 15641 when due) on each grub_lvm_getvalue() or grub_strstr() call.
15642 Don't assume `vg->pvs != NULL' when iterating through it.
15643
58cd3d85 156442008-04-13 Robert Millan <rmh@aybabtu.com>
15645
15646 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
15647 * genmk.rb (partmap): New variable.
15648 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
15649 (#{partmap}): New target rule.
15650 * genpartmaplist.sh: New file.
15651 * Makefile.in (pkglib_DATA): Add partmap.lst.
15652 (partmap.lst): New target rule.
15653 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
15654 modules (including all partition maps), instead of preloading them.
15655
78b51059 156562007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
15657
15658 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
15659 `linux-boot-prober' (if installed) to detect other operating
15660 systems which are installed on the computer and add them to
15661 the boot menu.
15662 * conf/common.rmk: Build and install 30_os-prober.
15663
a91627b4 156642008-04-12 Robert Millan <rmh@aybabtu.com>
15665
15666 * kern/powerpc/ieee1275/init.c: Move from here ...
15667 * kern/ieee1275/init.c: ... to here. Update all users.
15668
15669 * kern/powerpc/ieee1275/cmain.c: Move from here ...
15670 * kern/ieee1275/cmain.c: ... to here. Update all users.
15671
15672 * kern/powerpc/ieee1275/openfw.c: Move from here ...
15673 * kern/ieee1275/openfw.c: ... to here. Update all users.
15674
15675 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
15676 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
15677
322562ea 156782008-04-10 Pavel Roskin <proski@gnu.org>
15679
15680 * configure.ac: Always use "_cv_" in cache variables for
15681 compatibility with Autoconf 2.62.
15682
a02a73c5 156832008-04-07 Robert Millan <rmh@aybabtu.com>
15684
15685 Revert grub/machine/init.h addition by Pavel (since it breaks on
15686 i386-ieee1275 and others):
15687 * util/i386/pc/misc.c: Remove grub/machine/init.h.
15688 * util/powerpc/ieee1275/misc.c: Likewise.
15689
25c024b1 156902008-04-07 Robert Millan <rmh@aybabtu.com>
15691
15692 * util/grub-probe.c (probe): Improve error message.
15693
3cbd2f98 156942008-04-07 Robert Millan <rmh@aybabtu.com>
15695
15696 * util/biosdisk.c (read_device_map): Skip devices that don't exist
15697 (this prevents the presence of a bogus entry from ruining the whole
15698 thing).
15699
87a297bf 157002008-04-06 Pavel Roskin <proski@gnu.org>
15701
36747a62 15702 * util/biosdisk.c: Include grub/util/biosdisk.h.
15703 * util/grub-fstest.c (execute_command): Make static.
15704 * util/grub-mkdevicemap.c (check_device): Likewise.
15705 * util/i386/pc/misc.c: Include grub/machine/init.h.
15706 * util/powerpc/ieee1275/misc.c: Likewise.
15707 * util/lvm.c: Include grub/util/lvm.h.
15708 * util/misc.c: Include grub/kernel.h, grub/misc.h and
15709 grub/cache.h.
15710 * util/raid.c: Include grub/util/raid.h.
15711 (grub_util_getdiskname): Make static.
15712
87a297bf 15713 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
15714 grub_hostfs_fini(), as they are called from grub_init_all() and
15715 grub_fini_all() respectively. This fixes an infinite loop in
15716 grub-fstest due to double registration of hostfs.
15717 Reported by Christian Franke <Christian.Franke@t-online.de>
15718
f6ce7629 157192008-04-05 Pavel Roskin <proski@gnu.org>
15720
15721 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
15722 all 8 functions. Otherwise, probe function 0 only.
15723
070e49e4 157242008-04-04 Pavel Roskin <proski@gnu.org>
15725
8b088a4c 15726 * commands/lspci.c (grub_lspci_iter): Print the bus number
15727 correctly.
15728
4f657021 15729 * commands/lspci.c (grub_pci_classes): Fix typos.
15730 (grub_lspci_iter): Don't print func twice. Print vendor ID
15731 before device ID, as it's normally done.
15732
070e49e4 15733 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
15734 Fix signedness warnings.
15735 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
15736 Likewise.
15737 * util/ieee1275/get_disk_name.c: Include config.h so that
15738 _GNU_SOURCE is defined and getline() is declared. Mark an
15739 unused argument as such. Fix a signedness warning.
15740
ba7328dc 157412008-04-02 Pavel Roskin <proski@gnu.org>
15742
26887f22 15743 * genkernsyms.sh.in: Use more robust assignments for CC and
15744 srcdir. Quote srcdir.
15745 * gensymlist.sh.in: Likewise. Assert at the compile time that
15746 the symbol table is not empty.
15747
ba7328dc 15748 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
15749 * fs/cpio.c (grub_cpio_read): Likewise.
15750
0f582c6b 157512008-04-01 Pavel Roskin <proski@gnu.org>
15752
4b6e1995 15753 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
15754 * disk/host.c (grub_host_open): Likewise.
15755 * disk/loopback.c (grub_loopback_open): Likewise.
15756 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
15757 disk->id as in disk/host.c, not a multi-character constant.
15758
828a2768 15759 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
15760 later is obsolete, potentially dangerous and sets a bad example.
15761 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
15762 * util/misc.c (grub_util_get_image_size): Likewise.
15763
2bb4fb47 15764 * disk/loopback.c (options): Improve help for "--partitions".
15765
0f582c6b 15766 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
15767 options to align them with the short options, e.g. "echo -e".
15768
a33224e0 157692008-03-31 Bean <bean123ch@gmail.com>
15770
15771 * video/reader/png.c (grub_png_data): New member is_16bit and
15772 image_data.
15773 (grub_png_decode_image_header): Detect 16 bit png image.
15774 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
15775 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
15776 (grub_video_reader_png): Release memory occupied by image_data.
15777
15778 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
15779 4096 bytes.
15780 (grub_nfs_mount): Skip the test for sector per cluster.
15781
15782 * include/grub/ntfs.h (MAX_SPC): Removed.
15783
86cb4f54 157842008-03-31 Bean <bean123ch@gmail.com>
15785
15786 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
15787 (grub_probe_SOURCES): Add fs/afs.c.
15788 (grub_fstest_SOURCES): Likewise.
15789 (afs_mod_SOURCES): New variable.
15790 (afs_mod_CFLAGS): Likewise.
15791 (afs_mod_LDFLAGS): Likewise.
15792
15793 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
15794 (grub_emu_SOURCES): Likewise.
15795
15796 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15797
15798 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15799
15800 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
15801
15802 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15803
15804 * fs/afs.c: New file.
15805
17c74c21 158062008-03-30 Pavel Roskin <proski@gnu.org>
15807
4cb68e89 15808 * disk/host.c: Include grub/misc.h to fix a warning.
15809 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
15810 warnings about implicit declarations.
15811
8790bb04 15812 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
15813 variable.
15814 * include/grub/i386/loader.h: Change declaration of
15815 grub_linux_boot() to match what grub_loader_set() expects.
15816 * util/getroot.c (grub_guess_root_device): Return const char* to
15817 fix a warning.
15818 * util/grub-probe.c (probe): Fix a warning about uninitialized
15819 abstraction_name variable.
15820 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
15821 second argument as unused to fix a warning.
15822
9a3f3296 15823 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
15824 missing grub_error() call.
15825
0ecef90d 15826 * util/update-grub_lib.in: Define datarootdir, since Autoconf
15827 2.60 and newer uses it to define datadir.
15828
0bf6d401 15829 * commands/sleep.c: Fix warning about implicit declaration.
15830 * disk/memdisk.c: Likewise.
15831 * loader/aout.c: Likewise.
15832 * loader/i386/bsd_normal.c: Likewise.
15833 * util/grub-probe.c: Likewise.
15834
7cdacf97 15835 * commands/i386/cpuid.c (has_longmode): Make static.
15836 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
15837 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
15838
17c74c21 15839 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
15840 GDT. This is more robust, as %ds can change.
15841 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
15842 calling real_to_prot().
15843 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
15844
80a3e68b 158452008-03-28 Pavel Roskin <proski@gnu.org>
15846
15847 * kern/i386/pc/startup.S: Assert that uncompressed functions
15848 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
15849 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
15850 code, as they push parts of the code (error handlers) beyond
15851 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
15852 code as correctness and size.
15853
77bcd272 158542008-03-28 Pavel Roskin <proski@gnu.org>
15855
15856 * kern/i386/pc/startup.S
15857 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
15858 data block address to the real mode, keep offset minimal. This
15859 works around a bug in AWARD BIOS on old Athlon systems, which
15860 makes CD detection hang.
15861
c5dfd43b 158622008-03-26 Pavel Roskin <proski@gnu.org>
15863
15864 * normal/color.c (grub_parse_color_name_pair): Make `name' a
15865 const.
15866 * include/grub/normal.h: Add grub_parse_color_name_pair()
15867 declaration.
15868
bf962df2 158692008-03-24 Bean <bean123ch@gmail.com>
15870
15871 * disk/i386/pc/biosdisk.c (cd_start): Removed.
15872 (cd_count): Removed.
15873 (cd_drive): New variable.
15874 (grub_biosdisk_get_drive): Don't check for (cdN) device.
15875 (grub_biosdisk_call_hook): Likewise.
15876 (grub_biosdisk_iterate): Change cdrom detection method.
15877 (grub_biosdisk_open): Replace cd_start with cd_drive.
15878 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
15879 detect cdrom device.
15880
15881 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
15882 Removed.
15883 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
15884 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
15885 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
15886 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
15887 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
15888 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
15889 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
15890 (grub_biosdisk_cdrp): New structure.
15891 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
15892
15893 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
15894
15895 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
15896 device.
15897
15898 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
15899 New function.
15900
68e7fc7a 159012008-03-20 Robert Millan <rmh@aybabtu.com>
15902
15903 Remove 2 TiB limit in ata.mod.
15904 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
15905 (grub_ata_dumpinfo): Print sector count with 0x%llx.
15906 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
15907 grub_uint64_t instead of grub_uint32_t.
15908
38ad2cf5 159092008-03-05 Bean <bean123ch@gmail.com>
15910
15911 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
15912 (grub_multiboot): Set boot device.
15913
15914 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
15915
2b89344e 159162008-03-02 Bean <bean123ch@gmail.com>
15917
15918 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
15919 symlink_buffer.
15920
87a95d1f 159212008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
15922
15923 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
15924 texinfo.tex.
15925
15926 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
15927 modified.
15928
15929 * docs/fdl.texi: New file.
f19dbdb7 15930
87a95d1f 15931 * docs/mdate-sh: New file. Copied from gnulib.
15932 * docs/texinfo.tex: Likewise.
15933
15934 * config.guess: Updated from gnulib.
15935 * install-sh: Likewise.
15936
7dc15d8e 159372008-02-28 Robert Millan <rmh@aybabtu.com>
15938
15939 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
15940 (aout_mod_SOURCES): New variable.
15941 (aout_mod_CFLAGS): Likewise.
15942 (aout_mod_LDFLAGS): Likewise.
15943
15944 * conf/i386-ieee1275.rmk: Likewise.
15945
b00ab696 159462008-02-28 Robert Millan <rmh@aybabtu.com>
15947
15948 * util/update-grub.in: Reorganise terminal validity check. Accept
15949 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
15950 Based on suggestion by Franklin PIAT.
15951
79ca2d78 159522008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
15953
15954 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
15955 function.
15956 * util/getroot.c (grub_util_check_block_device): New function that
15957 returns the given argument if it is a block device and returns NULL else.
15958 * util/grub-probe.c (argument_is_device): New variable.
15959 (probe): Promote device_name from a variable to an argument. Receive
15960 device_name from grub_util_check_block_device() if path is NULL and from
15961 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 15962 (options): Introduce new parameter '-d, --device'.
79ca2d78 15963 (main): Add description of the new parameter to the help screen.
15964 Rename path variable to argument. Set argument_is_device if the '-d'
15965 option is given. Pass argument to probe() depending on
15966 argument_is_device.
15967
0d16e571 159682008-02-24 Bean <bean123ch@gmail.com>
15969
15970 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
15971 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
15972 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
15973 (GRUB_ISO9660_VOLDESC_PART): Likewise.
15974 (GRUB_ISO9660_VOLDESC_END): Likewise.
15975 (grub_iso9660_primary_voldesc): New member escape.
15976 (grub_iso9660_data): New member joliet.
15977 (grub_iso9660_convert_string): New function.
15978 (grub_iso9660_mount): Detect joliet extension.
15979 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
15980 (grub_iso9660_iso9660_label): Likewise.
15981
15982 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
15983 (grub_setup_SOURCES): Add fs/udf.c.
15984 (grub_fstest_SOURCES): Likewise.
15985 (udf_mod_SOURCES): New variable.
15986 (udf_mod_CFLAGS): Likewise.
15987 (udf_mod_LDFLAGS): Likewise.
15988
15989 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
15990 (grub_emu_SOURCES): Likewise.
15991
15992 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15993
15994 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15995
15996 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
15997
15998 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15999
16000 * fs/udf.c: New file.
16001
8a594a17 160022008-02-24 Robert Millan <rmh@aybabtu.com>
16003
16004 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
16005 (normal/lexer.c_DEPENDENCIES): New variables.
16006 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
16007 (normal/lexer.c_DEPENDENCIES): Likewise.
16008 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
16009 (normal/lexer.c_DEPENDENCIES): Likewise.
16010 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
16011 (normal/lexer.c_DEPENDENCIES): Likewise.
16012 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
16013 (normal/lexer.c_DEPENDENCIES): Likewise.
16014 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
16015 (normal/lexer.c_DEPENDENCIES): Likewise.
16016
2dc33c03 160172008-02-23 Robert Millan <rmh@aybabtu.com>
16018
16019 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
16020 since they were intended to be in hex. This didn't break previously
16021 because of a bug in gpt_partition_map_iterate() (see below).
16022
16023 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
16024 when checking the validity of GPT header.
16025 Remove `partno', since it always provides the same information as `i'.
16026
f6f4cfb0 160272008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
16028
16029 * include/grub/efi/time.h: Fix a wrong comment.
16030
79ff665f 160312008-02-19 Pavel Roskin <proski@gnu.org>
16032
16033 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
16034 message.
16035
d38e24c2 160362008-02-19 Bean <bean123ch@gmail.com>
16037
16038 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
16039 (aout_mod_SOURCES): New variable.
16040 (aout_mod_CFLAGS): Likewise.
16041 (aout_mod_LDFLAGS): Likewise.
16042 (_bsd_mod_SOURCES): New variable.
16043 (_bsd_mod_CFLAGS): Likewise.
16044 (_bsd_mod_LDFLAGS): Likewise.
16045 (bsd_mod_SOURCES): New variable.
16046 (bsd_mod_CFLAGS): Likewise.
16047 (bsd_mod_LDFLAGS): Likewise.
16048
16049 * include/grub/aout.h: New file.
16050
16051 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
16052
16053 * include/grub/i386/bsd.h: New file.
16054
16055 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
16056 to make it public.
16057
16058 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
16059 function is called, so that it's possible to change it inside the hook.
16060 (grub_elf64_load): Likewise.
16061 (grub_elf_file): Don't close the file if elf header is not found.
16062 (grub_elf_close): Close the file if grub_elf_file fails (The new
16063 grub_elf_file won't close it).
16064 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
16065 (grub_elf64_size): Likewise.
16066
16067 * kern/i386/loader.S (grub_unix_real_boot): New function.
16068
16069 * loader/aout.c: New file.
16070
16071 * loader/i386/bsd.c: New file.
16072
16073 * loader/i386/bsd_normal.c: New file.
16074
16075 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
16076
16077 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 16078 can test other formats.
d38e24c2 16079
b93bdb0f 160802008-02-19 Robert Millan <rmh@aybabtu.com>
16081
16082 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
16083 (grub_gpt_partition_type_empty): Redefine with macro from
16084 `<grub/gpt_partition.h>'.
16085 (gpt_partition_map_iterate): Adjust partition type comparison.
16086
16087 Export `entry' as partmap-specific `part.data' struct.
16088 (grub_gpt_header, grub_gpt_partentry): Move from here ...
16089
16090 * include/grub/gpt_partition.h (grub_gpt_header)
16091 (grub_gpt_partentry): ... to here (new file).
16092
16093 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
16094
16095 (grub_gpt_partition_type_bios_boot): New const variable, defined
16096 with macro from `<grub/gpt_partition.h>'.
16097
16098 (setup): Replace `first_start' with `embed_region', which keeps
16099 track of the embed region (and is partmap-agnostic).
16100
16101 Replace find_first_partition_start() with find_usable_region(),
16102 which finds a usable region for embedding using partmap-specific
16103 knowledge (supports PC/MSDOS and GPT).
16104
16105 Fix all assumptions that the embed region start at sector 1, using
16106 `embed_region.start' from now on. Similarly, use `embed_region.end'
16107 rather than `first_start' to calculate available size.
16108
16109 In grub_util_info() message, replace "into after the MBR" with an
16110 indication of the specific sector our embed region starts at.
16111
66cb40f6 161122008-02-19 Robert Millan <rmh@aybabtu.com>
16113
16114 * DISTLIST: Replace `commands/ieee1275/halt.c' and
16115 `commands/ieee1275/reboot.c' with `commands/halt.c' and
16116 `commands/reboot.c'.
16117 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
16118 (halt_mod_SOURCES): Likewise.
16119 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
16120 (halt_mod_SOURCES): Likewise.
16121
b7202015 161222008-02-17 Christian Franke <franke@computer.org>
16123
16124 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
16125
32b0fc49 161262008-02-17 Robert Millan <rmh@aybabtu.com>
16127
16128 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
16129 set `first_start' to 0 for non-PC/MSDOS partition maps.
16130
aca63502 161312008-02-16 Robert Millan <rmh@aybabtu.com>
16132
16133 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
16134 do not assume partition map is PC/MSDOS before performing checks that
16135 are specific to that layout.
16136
0de8be86 161372008-02-13 Robert Millan <rmh@aybabtu.com>
16138
16139 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
16140 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
16141 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
16142
c3db8364 161432008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
16144
16145 * configure.ac: Only a cosmetic change on the handling of
16146 -fno-stack-protector.
16147
f714229e 161482008-02-12 Alexandre Boeglin <alex@boeglin.org>
16149
c3db8364 16150 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
16151 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
16152 reboot.c.
f714229e 16153 (grub_install_SOURCES): Add halt.mod and reboot.mod.
16154 (halt_mod_SOURCES): New variable.
16155 (halt_mod_CFLAGS): Likewise.
16156 (halt_mod_LDFLAGS): Likewise.
16157 (reboot_mod_SOURCES): Likewise.
16158 (reboot_mod_CFLAGS): Likewise.
16159 (reboot_mod_LDFLAGS): Likewise.
16160
c3db8364 16161 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
16162 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
16163 reboot.c.
f714229e 16164 (halt_mod_SOURCES): Likewise.
16165 (reboot_mod_SOURCES): Likewise.
16166
c3db8364 16167 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
16168 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 16169 (reboot_mod_SOURCES): Likewise.
16170
16171 * commands/i386/pc/reboot.c: merge this file ...
16172
16173 * commands/ieee1275/reboot.c: ... and this file ...
16174
16175 * commands/reboot.c: ... to this file.
c3db8364 16176 Add some precompiler directive to include the correct header for
16177 each machine.
f714229e 16178
16179 * commands/ieee1275/halt.c: move this file ...
16180
16181 * commands/halt.c: ... to here.
c3db8364 16182 Add some precompiler directive to include the correct header for
16183 each machine.
f714229e 16184
16185 * include/grub/efi/efi.h (grub_reboot): New function declaration.
16186 (grub_halt): Likewise.
16187
16188 * kern/efi/efi.c (grub_reboot): New function.
16189 (grub_halt): Likewise.
16190
c74493e0 161912008-02-12 Robert Millan <rmh@aybabtu.com>
16192
16193 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
16194 /dev (like it is done for /dev/mapper). This doesn't provide support
16195 for EVMS, but at least it is now easy to identify the problem when it
16196 arises.
16197
d0db4b04 161982008-02-11 Robert Millan <rmh@aybabtu.com>
16199
16200 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
16201 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
16202 comparing it with -1, not 0.
16203
bf748642 162042008-02-10 Robert Millan <rmh@aybabtu.com>
16205
16206 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
16207 `disk/lvm.c'.
16208 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16209 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
16210
16211 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
16212 `disk/lvm.c' to the end of the list.
16213 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
16214 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16215
b5db202a 162162008-02-10 Robert Millan <rmh@aybabtu.com>
16217
16218 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
16219 grub_print_error() instead. This will let user know why we're entering
16220 rescue mode.
16221 Based on suggestions from Sam Morris.
16222
83abee31 162232008-02-10 Alexandre Boeglin <alex@boeglin.org>
16224
16225 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
16226 on remaining N args, instead of "--" arg N times.
16227
78d5a08b 162282008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
16229
16230 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
16231 (fill_with_default_glyph): Changed to use unknown_glyph for fill
16232 pattern for unknown glyphs.
16233
68807e5f 162342008-02-09 Robert Millan <rmh@aybabtu.com>
16235
16236 * configure.ac: Probe for `help2man'.
16237 * Makefile.in (builddir): New variable.
16238 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
16239 or otherwise add a few flags/options to it.
16240 (install-local): For every executable utility or script that is
16241 installed, invoke $(HELP2MAN) to install a manpage based on --help
16242 output.
16243
16244 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
16245 that it doesn't prevent --help from working in build tree.
16246
16247 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
16248 with `bug-grub@gnu.org'.
16249 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
16250 * util/update-grub.in (usage): New function.
16251 Implement proper argument check, with support for --help and --version
16252 (as well as existing -y).
16253
162542008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 16255
16256 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
16257 avoid overwriting previous output.
16258 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
16259
c1962162 162602008-02-09 Robert Millan <rmh@aybabtu.com>
16261
16262 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
16263 drawing the menu.
16264
3dac2e3f 162652008-02-09 Robert Millan <rmh@aybabtu.com>
16266
16267 * commands/sleep.c: New file.
16268 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
16269 (sleep_mod_SOURCES): New variable.
16270 (sleep_mod_CFLAGS): Likewise.
16271 (sleep_mod_LDFLAGS): Likewise.
16272
7a634e08 162732008-02-09 Robert Millan <rmh@aybabtu.com>
16274
16275 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
16276 situations in which we can deduce the RAID size and the superblock
16277 doesn't match it.
16278
b92f0c18 162792008-02-09 Robert Millan <rmh@aybabtu.com>
16280
16281 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
16282 and return a grub_diskmemberlist_t composed of LVM physical volumes.
16283 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
16284
16285 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
16286 and return a grub_diskmemberlist_t composed of physical array members.
16287 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
16288
16289 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
16290 prototype.
16291 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
16292 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
16293 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
16294
16295 * util/grub-probe.c (probe): Move partmap probing code from here ...
16296 (probe_partmap): ... to here.
16297 (probe): Use probe_partmap() once for the disk we're probing, and
16298 additionally, when such disk contains a memberlist() struct member,
16299 once for each disk that is contained in the structure returned by
16300 memberlist().
16301
91a4bf68 163022008-02-09 Robert Millan <rmh@aybabtu.com>
16303
16304 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
16305 environment variable to 'all' in order to obtain debug output from
16306 non-util/ code.
16307 * util/i386/pc/grub-setup.c (main): Likewise.
16308
a96f9caa 163092008-02-08 Robert Millan <rmh@aybabtu.com>
16310
16311 * disk/raid.c (grub_raid_scan_device): Check for
16312 `array->device[sb.this_disk.number]' rather than for
16313 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 16314 guaranteed to be accessible.
a96f9caa 16315
b37a9222 163162008-02-08 Robert Millan <rmh@aybabtu.com>
16317
16318 * disk/raid.c: Update copyright.
16319 * fs/cpio.c: Likewise.
16320 * include/grub/raid.h: Likewise.
16321 * loader/i386/pc/multiboot.c: Likewise.
16322 * util/hostfs.c: Likewise.
16323
5626aee1 163242008-02-08 Robert Millan <rmh@aybabtu.com>
16325
16326 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
16327 to a grub_disk_t array.
16328 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
16329 `device[x]'.
16330 (grub_raid_scan_device): Replace `device[x].name' accesses with
16331 `device[x]->name'. Simplify initialization of `array->device[x]'.
16332
554f0187 163332008-02-08 Robert Millan <rmh@aybabtu.com>
16334
16335 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
16336 grub_dprintf() calls.
16337 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
16338 error message.
16339
1ec8425d 163402008-02-07 Christian Franke <franke@computer.org>
16341
16342 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
16343 instead of fseek and ftell to support large files.
16344 (grub_hostfs_read): Likewise.
16345
f2156fda 163462008-02-07 Robert Millan <rmh@aybabtu.com>
16347
16348 Patch from Jeroen Dekkers.
16349 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 16350 failure, since successfully reading all array members might not be
f2156fda 16351 required.
16352
9216e0e7 163532008-02-06 Robert Millan <rmh@aybabtu.com>
16354
16355 * util/grub-probe.c (probe): Simplify partmap probing (with the
16356 assumption that the first word up to the underscore equals to
16357 the module name).
16358
b0dfd29a 163592008-02-06 Christian Franke <franke@computer.org>
16360
16361 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
16362 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
16363 last block of a cpio or tar stream.
16364 Check for "TRAILER!!!" instead of any empty data
16365 block to detect last block of a cpio stream.
16366 (grub_cpio_dir): Fix constness of variable np.
16367 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
16368 cpio or tar trailer is detected. This fixes a crash
16369 on open of a non existing file.
16370
c32865bf 163712008-02-05 Bean <bean123ch@gmail.com>
16372
16373 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
16374 address of entry.
16375 (grub_multiboot_load_elf64): Likewise.
16376 (grub_multiboot): Initialize mbi structure.
16377
16378 * util/grub-fstest.c: Don't include unused header file script.h.
16379
fe6b695a 16380 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 16381 of file.
16382 (grub_fstest_SOURCES): Likewise.
16383
409480b7 163842008-02-05 Robert Millan <rmh@aybabtu.com>
16385
16386 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
16387 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
16388 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
16389 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
16390
16391 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
16392 (translation_table): Replace hardcoded values with macros
16393 provided by `<grub/term.h>'.
16394
16395 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
16396 (keyboard_map): Correct/add a few values, with macros provided
16397 by `<grub/term.h>'.
16398 (keyboard_map_shift): Zero values that don't differ from their
16399 `keyboard_map' equivalents.
16400 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
16401 Discard the second scan code that is always sent by Caps lock.
16402 Only use `keyboard_map_shift' when it provides a non-zero value,
16403 otherwise fallback to `keyboard_map'.
16404
99fadbaa 164052008-02-04 Bean <bean123ch@gmail.com>
16406
16407 * Makefile.in (enable_grub_fstest): New variable.
16408
16409 * conf/common.rmk (grub_fstest_init.lst): New rule.
16410 (grub_fstest_init.h): Likewise.
16411 (grub_fstest_init.c): Likewise.
16412 (util/grub-fstest.c_DEPENDENCIES): New variable.
16413 (grub_fstest_SOURCES): Likewise.
16414
16415 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
16416
16417 * util/grub-fstest.c: New file.
16418
bf567c50 164192008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
16420
16421 Make grub-setup handle a separate root device.
f19dbdb7 16422
bf567c50 16423 * util/i386/pc/grub-setup.c (setup): Always open the root device,
16424 so that the root device can be compared with the destination
16425 device.
16426 When embedding the core image, if the root and destination devices
16427 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
16428 0xFF.
16429 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 16430
9be6b98b 164312008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
16432
16433 Add support for having a grub directory in a different drive. This
16434 is still only the data handling part.
f19dbdb7 16435
9be6b98b 16436 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
16437 (codestart): Save %dh in GRUB_ROOT_DRIVE.
16438 (grub_root_drive): New variable.
16439
16440 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
16441 instead of GRUB_BOOT_DRIVE to construct a device name. Set
16442 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
16443 as it was.
16444
16445 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
16446
16447 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
16448 macro.
16449 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
16450
16451 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
16452 is bogus, because PXE booting does not specify any drive
16453 correctly.
16454
16455 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
16456 am not sure if this is really correct.
16457
16458 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
16459 is always identical to the boot drive when booting from a CD.
16460
16461 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
16462 longer.
16463 (root_drive): New variable.
16464 (real_start): Unconditionally set %dh to ROOT_DRIVE.
16465 (setup_sectors): Push %dx right after popping it, because %dh will
16466 be modified later.
16467 (copy_buffer): Restore %dx.
16468
e0ca0677 164692008-02-03 Robert Millan <rmh@aybabtu.com>
16470
16471 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
16472 use `cdboot.img' for cdrom images.
16473
3b3f6629 164742008-02-03 Robert Millan <rmh@aybabtu.com>
16475
16476 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
16477 only setup gfxterm when `font' command has succeeded.
16478
d42b3672 164792008-02-03 Robert Millan <rmh@aybabtu.com>
16480
16481 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
16482 (grub_rescue_cmd_multiboot_loader)
16483 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
16484
fa370ea6 164852008-02-03 Pavel Roskin <proski@gnu.org>
16486
e0c5dacb 16487 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 16488 %edx and %esi from stack only after grub_gate_a20() is called.
16489 grub_gate_a20() clobbers %edx.
16490
f2a76e1d 164912008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
16492
16493 * configure.ac (AC_INIT): Bumped to 1.96.
16494
16495 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
16496 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
16497 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
16498 video/readers/png.c.
16499
90fd32d1 165002008-02-03 Bean <bean123ch@gmail.com>
9be665dd 16501
16502 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
16503 (cdboot_img_SOURCES): New variable.
16504 (cdboot_img_ASFLAGS): New variable.
16505 (cdboot_img_LDFLAGS): New variable.
16506
16507 * boot/i386/pc/cdboot.S: New file.
16508
16509 * disk/i386/pc/biosdisk.c (cd_start): New variable.
16510 (cd_count): Likewise.
16511 (grub_biosdisk_get_drive): Add support for cd device.
16512 (grub_biosdisk_call_hook): Likewise.
16513 (grub_biosdisk_iterate): Likewise.
16514 (grub_biosdisk_open): Likewise.
16515 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
16516 (grub_biosdisk_rw): Support reading from cd device.
16517 (GRUB_MOD_INIT): Iterate cd devices.
16518
16519 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
16520 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
16521 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
16522
16523 * kern/i386/pc/init.c (make_install_device): Check for cd device.
16524
4020aa53 165252008-02-02 Robert Millan <rmh@aybabtu.com>
16526
16527 * commands/read.c: New file.
16528 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
16529 (read_mod_SOURCES): New variable.
16530 (read_mod_CFLAGS): Likewise.
16531 (read_mod_LDFLAGS): Likewise.
16532
e03a1132 165332008-02-02 Robert Millan <rmh@aybabtu.com>
16534
16535 * normal/main.c (grub_normal_execute): Check for `menu->size' when
16536 determining whether menu has to be displayed.
16537
58c69220 165382008-02-02 Marco Gerards <marco@gnu.org>
16539
16540 * bus/pci.c: New file.
16541
16542 * include/grub/pci.h: Likewise.
16543
16544 * include/grub/i386/pc/pci.h: Likewise.
16545
16546 * commands/lspci.c: Likewise.
16547
16548 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
16549 `lspci.mod'.
16550 (pci_mod_SOURCES): New variable.
16551 (pci_mod_CFLAGS): Likewise.
16552 (pci_mod_LDFLAGS): Likewise.
16553 (lspci_mod_SOURCES): Likewise.
16554 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 16555 (lspci_mod_LDFLAGS): Likewise.
58c69220 16556
c004e1b4 165572008-02-02 Bean <bean123ch@gmail.com>
16558
16559 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
16560 (grub_ufs_get_file_block): Fix indirect block calculation problem.
16561
16562 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
16563 (grub_xfs_btree_node): New structure.
16564 (grub_xfs_btree_root): New structure.
16565 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
16566 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
16567 (GRUB_XFS_EXTENT_BLOCK): Likewise.
16568 (GRUB_XFS_EXTENT_SIZE): Likewise.
16569 (grub_xfs_read_block): Support btree format type.
16570 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
16571 Use directory block as basic unit.
16572
16573 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
16574
16575 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
16576 __attribute__ ((__regparm__ (1))).
16577
f95562bf 165782008-02-01 Robert Millan <rmh@aybabtu.com>
16579
16580 Correct a mistake in previous commit.
16581
16582 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
16583 top.
16584 (normal/command.c_DEPENDENCIES): New variable.
16585
7d31f41f 165862008-02-01 Robert Millan <rmh@aybabtu.com>
16587
16588 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
16589 top.
16590 (normal/command.c_DEPENDENCIES): New variable.
16591 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
16592 * conf/i386-ieee1275.rmk: Likewise.
16593 * conf/i386-linuxbios.rmk: Likewise.
16594 * conf/i386-pc.rmk: Likewise.
16595 * conf/sparc64-ieee1275.rmk: Likewise.
16596 * conf/powerpc-ieee1275.rmk: Likewise.
16597 (grub_emu_SOURCES): Add `fs/fshelp.c'.
16598
16599 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
16600
60b6be74 166012008-02-01 Robert Millan <rmh@aybabtu.com>
16602
16603 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
16604 call at beginning of function.
16605
078522ab 166062008-01-31 Pavel Roskin <proski@gnu.org>
16607
16608 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 16609 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
16610 (grub_mkrescue_SOURCES): Likewise.
078522ab 16611 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
16612
ccaa8a5f 166132008-01-30 Robert Millan <rmh@aybabtu.com>
16614
16615 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
16616 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
16617 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
16618 (grub_probe_SOURCES): ... to here.
16619
16620 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
16621 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
16622 * conf/i386-ieee1275.rmk: Likewise.
16623 * conf/i386-linuxbios.rmk: Likewise.
16624 * conf/powerpc-ieee1275.rmk: Likewise.
16625
ae5a9cd7 166262008-01-30 Tristan Gingold <gingold@free.fr>
16627
16628 * kern/rescue.c: Silently accept empty lines.
16629
70bc2ef2 166302008-01-29 Bean <bean123ch@gmail.com>
16631
16632 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
16633 (real_code_2): Code cleanup and change comment style.
16634 (move_memory): Avoid using 32-bit address mode.
16635
6a4d50ea 166362008-01-29 Bean <bean123ch@gmail.com>
16637
16638 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
16639 (png_mod_SOURCES): New variable.
16640 (png_mod_CFLAGS): Likewise.
16641 (png_mod_LDFLAGS): Likewise.
16642
16643 * video/readers/png.c: New file.
16644
11cc30ac 166452008-01-28 Robert Millan <rmh@aybabtu.com>
16646
16647 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
16648 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
16649 `ifndef GRUB_MOD_GAP' hack.
16650 * util/elf/grub-mkimage.c (add_segments): Likewise.
16651
3abc589f 166522008-01-27 Robert Millan <rmh@aybabtu.com>
16653
16654 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
16655 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 16656 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 16657
e1907778 166582008-01-27 Robert Millan <rmh@aybabtu.com>
16659
16660 Get grub-emu to build again (including parallel builds).
16661
16662 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
16663 Split into ...
16664 (util/grub-emu.c_DEPENDENCIES): ... this, ...
16665 (normal/execute.c_DEPENDENCIES): ... this, ...
16666 (grub-emu_DEPENDENCIES): ... and this.
16667
16668 * conf/i386-efi.rmk: Likewise.
16669 * conf/i386-linuxbios.rmk: Likewise.
16670 * conf/i386-ieee1275.rmk: Likewise.
16671 * conf/powerpc-ieee1275.rmk: Likewise.
16672 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
16673
2216b101 166742008-01-27 Robert Millan <rmh@aybabtu.com>
16675
16676 * NEWS: Add a few items.
16677
f75172d9 166782008-01-27 Robert Millan <rmh@aybabtu.com>
16679
16680 Fix parallel builds with grub-emu. Based on earlier commit for
16681 grub-probe and grub-setup.
16682
16683 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
16684 (util/grub-emu.c_DEPENDENCIES): ... this.
16685 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
16686 (util/grub-emu.c_DEPENDENCIES): ... this.
16687 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
16688 (util/grub-emu.c_DEPENDENCIES): ... this.
16689 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
16690 (util/grub-emu.c_DEPENDENCIES): ... this.
16691 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
16692 (util/grub-emu.c_DEPENDENCIES): ... this.
16693
3f51de77 166942008-01-27 Pavel Roskin <proski@gnu.org>
16695
16696 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
16697 to create a gap between _end and the modules added to the image
16698 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
16699 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
16700 * util/elf/grub-mkimage.c (add_segments): Likewise.
16701
2033f53e 167022008-01-26 Pavel Roskin <proski@gnu.org>
16703
16704 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
16705 just return an error.
16706
22da1f6f 167072008-01-26 Bean <bean123ch@gmail.com>
16708
16709 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
16710 (grub_reiserfs_get_item): Save offset of the next item.
16711 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
16712
2a9525e6 167132008-01-25 Robert Millan <rmh@aybabtu.com>
16714
16715 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
16716 make all filesystem sources appear together (possibly fixing omissions
16717 while at it).
16718 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16719 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16720 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
16721 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16722
16723 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
16724 add `kern/file.c'.
16725 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
16726 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
16727 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
16728 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
16729
16730 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
16731 (probe): Add a sanity check to make sure of our ability to read
16732 requested files when probing for filesystem type.
16733
16734 * genmk.rb: Update copyright year (2007).
16735
16736 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
16737 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
16738 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
16739 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
16740 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
16741 : Remove function prototypes.
16742
b95f71b5 167432008-01-25 Robert Millan <rmh@aybabtu.com>
16744
16745 Revert my previous commits (based on wrong assumption of how grub_errno
16746 works).
16747
fe6b695a 16748 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 16749 * kern/file.c (grub_file_open): Likewise.
16750
d08bbb49 167512008-01-24 Pavel Roskin <proski@gnu.org>
16752
16753 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
16754 that hang if GRUB tries to setup colors.
16755 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
16756 colors for firmwares that don't support it.
16757 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
16758 Recognize Open Hack'Ware, set flags to work around its
16759 limitations.
16760
605e36ed 167612008-01-24 Robert Millan <rmh@aybabtu.com>
16762
16763 * kern/file.c (grub_file_open): Do not account previous failures of
16764 unrelated functions when grub_errno is checked for.
16765 Reported by Oleg Strikov.
16766
bac332a1 167672008-01-24 Bean <bean123ch@gmail.com>
16768
16769 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
16770 (grub_ufs_sblock): New member volume name.
16771 (grub_ufs_find_file): Fix string copy bug.
16772 (grub_ufs_label): Implement this function properly.
16773
16774 * fs/hfs.c (grub_hfs_cnid_type): New enum.
16775 (grub_hfs_iterate_records): Use the correct file number for extents
16776 and catalog file. Fix problem in next index calculation.
16777 (grub_hfs_find_node): Replace recursive function call with loop.
16778 (grub_hfs_iterate_dir): Replace recursive function call with loop.
16779
15c80c09 167802008-01-23 Robert Millan <rmh@aybabtu.com>
16781
16782 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
16783 `<grub/symbol.h>' and `<grub/multiboot.h>'.
16784 (grub_multiboot2_real_boot): New function prototype.
16785
16786 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
16787 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
16788
16789 * kern/i386/ieee1275/init.c (grub_os_area_addr)
16790 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
16791
305338fd 167922008-01-23 Robert Millan <rmh@aybabtu.com>
16793
16794 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
16795 #ifdef'ed out grub_printf().
16796
3ea52685 167972008-01-23 Robert Millan <rmh@aybabtu.com>
16798
16799 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
16800 grub_dprintf calls, since they make "debug=all" mode unusable.
16801 (grub_console_checkkey): Likewise.
16802
5882ae4b 168032008-01-23 Robert Millan <rmh@aybabtu.com>
16804
16805 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
16806 `term/i386/pc/at_keyboard.c'.
16807 (pkglib_MODULES): Add `serial.mod'.
16808 (serial_mod_SOURCES): New variable.
16809 (serial_mod_CFLAGS): Likewise.
16810 (serial_mod_LDFLAGS): Likewise.
16811
16812 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
16813 `<grub/powerpc/ieee1275/console.h>'.
16814 (grub_keyboard_controller_init): New function prototype.
16815 (grub_console_checkkey): Likewise.
16816 (grub_console_getkey): Likewise.
16817
16818 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
16819 keyboard on i386.
16820
16821 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
16822 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
16823
06ab5303 168242008-01-23 Robert Millan <rmh@aybabtu.com>
16825
16826 * kern/i386/pc/init.c (make_install_device): When memdisk image is
16827 present, "(memdisk)/boot/grub" becomes the default prefix.
16828
16829 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
16830 a memdisk tarball with all the modules. Add --overlay=DIR option that
16831 allows users to overlay additional files into the image.
16832
dbb475a4 168332008-01-23 Robert Millan <rmh@aybabtu.com>
16834
16835 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
16836 and `machine/memory.h'.
16837 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
16838 (_multiboot_mod_SOURCES): New variable.
16839 (_multiboot_mod_CFLAGS): Likewise.
16840 (_multiboot_mod_LDFLAGS): Likewise.
16841 (multiboot_mod_SOURCES): Likewise.
16842 (multiboot_mod_CFLAGS): Likewise.
16843 (multiboot_mod_LDFLAGS): Likewise.
16844
16845 * include/grub/i386/ieee1275/loader.h: New file.
16846
16847 * include/grub/i386/ieee1275/machine.h: Likewise.
16848
16849 * include/grub/i386/ieee1275/memory.h: Likewise.
16850
16851 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
16852 variable declaration.
16853 (grub_os_area_size): Likewise.
16854
16855 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
16856 (grub_lower_mem, grub_upper_mem): New variables.
16857 (grub_stop_floppy): New function (just to make
16858 grub_multiboot2_real_boot() happy).
16859
16860 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
16861 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
16862 (grub_stop): New function.
16863 Include `"../realmode.S"' and `"../loader.S"'.
16864
16865 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
16866 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
16867
16868 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
16869 rely on grub_multiboot2_real_boot() for final boot.
16870
25638629 168712008-01-22 Robert Millan <rmh@aybabtu.com>
16872
16873 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
16874 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
16875 device that doesn't look like an SD card.
16876 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
16877 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
16878 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
16879 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
16880 found.
16881
9dad816d 168822008-01-22 Robert Millan <rmh@aybabtu.com>
16883
16884 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
16885 avoid claiming over our own code.
16886
34842f2d 168872008-01-22 Bean <bean123ch@gmail.com>
16888
16889 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
16890 (jpeg_mod_SOURCES): New variable.
16891 (jpeg_mod_CFLAGS): Likewise.
16892 (jpeg_mod_LDFLAGS): Likewise.
16893
16894 * video/readers/jpeg.c : New file.
16895
44023a28 168962008-01-22 Bean <bean123ch@gmail.com>
16897
16898 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
16899 there are no more items.
16900
bc2d8ac6 169012008-01-21 Robert Millan <rmh@aybabtu.com>
16902
16903 * kern/mm.c (grub_mm_init_region): Improve debug message.
16904
261bd4bc 169052008-01-21 Robert Millan <rmh@aybabtu.com>
16906
16907 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
16908 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
16909 address.
16910 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
16911 a C macro.
16912 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
16913 Indicates start of upper memory.
16914 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
16915 (generate_image): Abort when image size is big enough to corrupt
16916 upper memory.
16917
16918 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
16919 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
16920 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
16921 instead of hardcoding 0xA0000.
16922 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
16923 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
16924 instead of hardcoding 0xA0000.
16925
f970b55e 169262008-01-21 Robert Millan <rmh@aybabtu.com>
16927
16928 * disk/memdisk.c (memdisk_size): New variable.
16929 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
16930 `memdisk_size'.
16931 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
16932 image to dynamic memory.
16933 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
16934 `memdisk_size'. Free memdisk block.
16935
1a8b0526 169362008-01-21 Robert Millan <rmh@aybabtu.com>
16937
16938 Fix detection of very small filesystems (like tar).
16939
16940 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
16941 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
16942 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
16943 a problem with this disk).
16944
6e9b4aab 169452008-01-21 Robert Millan <rmh@aybabtu.com>
16946
16947 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
16948 on grub_biosdisk_rw_standard() error.
16949
0d8837b2 169502008-01-21 Robert Millan <rmh@aybabtu.com>
16951
16952 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
16953 recent changes.
16954 * kern/elf.c: Likewise.
16955 * kern/ieee1275/ieee1275.c: Likewise.
16956 * kern/powerpc/ieee1275/openfw.c: Likewise.
16957 * term/ieee1275/ofconsole.c: Likewise.
16958
ffd36e34 169592008-01-21 Robert Millan <rmh@aybabtu.com>
16960
16961 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
16962
3f0093d0 16963 * include/grub/kernel.h (grub_arch_memdisk_addr)
16964 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 16965
3f0093d0 16966 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
16967 (grub_arch_memdisk_size): ... to here.
ffd36e34 16968
6c391b21 169692008-01-21 Robert Millan <rmh@aybabtu.com>
16970
16971 Mostly based on bugfix from Bean.
16972
16973 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
16974 attribute with hook() parameter.
16975 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
16976 declaration.
16977 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
16978 attribute with hook() parameter.
16979 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
16980 declaration.
16981
55a581dc 169822008-01-21 Robert Millan <rmh@aybabtu.com>
16983
16984 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
16985 (pkglib_MODULES): Add `memdisk.mod'.
16986 (memdisk_mod_SOURCES): New variable.
16987 (memdisk_mod_CFLAGS): Likewise.
16988 (memdisk_mod_LDFLAGS): Likewise.
16989
16990 * disk/memdisk.c: New file.
16991
16992 * include/grub/disk.h (grub_disk_dev_id): Add
16993 `GRUB_DISK_DEVICE_MEMDISK_ID'.
16994
16995 * include/grub/i386/pc/kernel.h
16996 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
16997 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
16998 (grub_kernel_image_size): New variable declaration.
16999 (grub_total_module_size): Likewise.
17000 (grub_memdisk_image_size): Likewise.
17001
17002 * include/grub/i386/pc/memory.h
17003 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
17004
17005 * include/grub/kernel.h: Include `<grub/symbol.h>'.
17006 (grub_arch_memdisk_addr): New variable declaration.
17007 (grub_arch_memdisk_size): Likewise.
17008
17009 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
17010 (grub_arch_memdisk_size): Likewise.
17011
17012 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
17013 (codestart): Replace hardcoded `0x100000' with
17014 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
17015
17016 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
17017 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
17018 not NULL, append the contents of the file it refers to, at the end of
17019 the compressed kernel image. Initialize `grub_memdisk_image_size'
17020 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
17021 (options): Add "memdisk"|'m' option.
17022 (main): Parse --memdisk|-m option, and pass user-provided path as
17023 parameter to generate_image().
17024
3d7f54c9 170252008-01-20 Robert Millan <rmh@aybabtu.com>
17026
17027 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
17028 grub_dprintf() calls from here ...
17029 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
17030
0bf74728 170312008-01-20 Robert Millan <rmh@aybabtu.com>
17032
17033 Fix detection of "real mode" when /options/real-mode? doesn't exist.
17034
17035 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
17036 declaration.
17037 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
17038 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
17039 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 17040 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 17041 property).
17042 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
17043 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
17044
33bf70a7 170452008-01-19 Robert Millan <rmh@aybabtu.com>
17046
fe6b695a 17047 Get rid of confusing function (superseded by
33bf70a7 17048 `grub_ieee1275_get_integer_property')
17049 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
17050 prototype.
17051 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
17052 function.
17053 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
17054 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 17055 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 17056
e2da7d26 170572008-01-19 Robert Millan <rmh@aybabtu.com>
17058
17059 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
17060 command after "shut-down", since implementations differ on which
17061 the command for halt is.
17062
59f1fd8d 170632008-01-19 Robert Millan <rmh@aybabtu.com>
17064
17065 * include/grub/i386/linuxbios/console.h: Add header protection.
17066 (grub_keyboard_controller_init): New function prototype.
17067 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
17068 (KEYBOARD_COMMAND_READ): Likewise.
17069 (KEYBOARD_COMMAND_WRITE): Likewise.
17070 (KEYBOARD_SCANCODE_SET1): Likewise.
17071 (grub_keyboard_controller_write): New function.
17072 (grub_keyboard_controller_read): Likewise.
17073 (grub_keyboard_controller_init): Likewise.
17074
17075 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
17076 (grub_console_init): On coreboot/LinuxBIOS, call
17077 grub_keyboard_controller_init().
17078
5f5a7c15 170792008-01-19 Robert Millan <rmh@aybabtu.com>
17080
17081 PowerPC changes provided by Pavel Roskin.
17082
17083 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
17084 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
17085 don't rely on cmain() doing it.
17086 * kern/i386/ieee1275/startup.S (_start): Store %eax in
17087 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
17088
1210e168 170892008-01-16 Robert Millan <rmh@aybabtu.com>
17090
17091 * include/grub/i386/linuxbios/memory.h
17092 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
17093 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
17094 receive `table_header' as argument. Instead, probe for it in the
17095 known memory ranges where it can be present.
17096 (grub_available_iterate): Do not pass a fixed `table_header' address
17097 to grub_linuxbios_table_iterate().
17098
3d04eab8 170992008-01-15 Robert Millan <rmh@aybabtu.com>
17100
17101 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
17102 * conf/i386-ieee1275.rmk: New file.
17103 * include/grub/i386/ieee1275/console.h: Likewise.
17104 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
17105 * include/grub/i386/ieee1275/kernel.h: Likewise.
17106 * include/grub/i386/ieee1275/time.h: Likewise.
17107 * kern/i386/ieee1275/init.c: Likewise.
17108 * kern/i386/ieee1275/startup.S: Likewise.
17109
d1bc1b73 171102008-01-15 Robert Millan <rmh@aybabtu.com>
17111
17112 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
17113 when pointers are 32-bit (but still do set it to one when they are
17114 64-bit).
17115
66a65807 171162008-01-15 Robert Millan <rmh@aybabtu.com>
17117
17118 * include/grub/ieee1275/ieee1275.h
17119 (grub_ieee1275_get_integer_property): New function prototype.
17120
17121 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
17122 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 17123 grub_ieee1275_get_property() to handle endianness.
66a65807 17124
17125 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
17126 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 17127 where appropriate.
66a65807 17128 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
17129 (grub_map): Likewise.
17130 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
17131
a83ccafd 171322008-01-15 Bean <bean123ch@gmail.com>
17133
17134 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
17135 (grub_script_execute_cmdline): Reset grub_errno.
17136
17137 * normal/main.c (read_config_file): Reset grub_errno.
17138
17139 * normal/parse.y (script_init): New.
17140 (script): Move function and menuentry here.
17141 (delimiter): New.
17142 (command): Add delimiter at the end of command.
17143 (commands): Adjust to match the new command.
17144 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 17145 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 17146 (if): Use the new commands.
17147
17148 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
17149
df6ecfc6 171502008-01-15 Robert Millan <rmh@aybabtu.com>
17151
17152 * normal/menu.c (run_menu): Move timeout message from here ...
17153 (print_timeout): ... to here.
17154 (run_menu): Use print_timeout() once during initial draw to print
17155 the whole message, and again in every clock tick to update only
17156 the number of seconds.
17157
87ae25eb 171582008-01-15 Robert Millan <rmh@aybabtu.com>
17159
17160 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
17161 actual size of `available' from grub_ieee1275_get_property(), and
17162 restrict parsing to that bound.
17163
47bf09a4 171642008-01-15 Christian Franke <franke@computer.org>
17165
17166 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
17167 (argp_program_version): Remove variable.
17168 (argp_program_bug_address): Likewise.
17169 (options): Convert from struct argp_option to struct option.
17170 (struct arguments): Remove.
17171 (parse_opt): Remove.
17172 (usage): New function.
17173 (main): Replace struct args members by simple variables.
17174 Replace argp_parse() by getopt_long().
17175 Add switch to evaluate options.
17176 Add missing "(...)" around root_dev in prefix string.
17177
c86f1469 171782008-01-14 Robert Millan <rmh@aybabtu.com>
17179
17180 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
17181 for grub_ieee1275_exit(), in order to improve portability.
17182
e622c559 171832008-01-14 Robert Millan <rmh@aybabtu.com>
17184
17185 * util/grub.d/10_linux.in (prefix): Define.
17186 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
17187
44cb1ec8 171882008-01-13 Pavel Roskin <proski@gnu.org>
17189
17190 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
17191 grub_errno if no errors have been detected.
17192
1eb8c802 171932008-01-12 Robert Millan <rmh@aybabtu.com>
17194
17195 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
17196 (grub_util_get_dev_abstraction): New function prototype.
17197
17198 * util/getroot.c: Include `<grub/util/getroot.h>'
17199 (grub_util_get_grub_dev): Move detection of abstraction type to ...
17200 (grub_util_get_dev_abstraction): ... here (new function).
17201
17202 * util/grub-probe.c: Convert PRINT_* to an enum. Add
17203 `PRINT_ABSTRACTION'.
17204 (probe): Probe for abstraction type when requested.
17205 (main): Understand `--target=abstraction'.
17206
17207 * util/i386/efi/grub-install.in: Add abstraction module to core
17208 image when it is found to be necessary.
17209 * util/i386/pc/grub-install.in: Likewise.
17210 * util/powerpc/ieee1275/grub-install.in: Likewise.
17211
17212 * util/update-grub_lib.in (font_path): Return system path without
17213 converting to GRUB path.
17214 * util/update-grub.in: Convert system path returned by font_path()
17215 to a GRUB path. Use `grub-probe -t abstraction' to determine what
17216 abstraction module is needed for loading fonts (if any). Export
17217 that as `GRUB_PRELOAD_MODULES'.
17218 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
17219 insmod commands).
17220
52bd3de9 172212008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
17222
17223 Remove some unused code from reiserfs.
f19dbdb7 17224
52bd3de9 17225 * fs/reiserfs.c (struct grub_reiserfs_key)
17226 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
17227 (struct grub_reiserfs_node_body): Removed.
17228 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
17229 Likewise.
17230 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
17231 Likewise.
17232 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
17233 Likewise.
17234 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
17235 Likewise.
17236 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
17237 Likewise.
17238 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
17239 Likewise.
17240 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
17241 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
17242 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
17243
2f80039d 172442008-01-10 Robert Millan <rmh@aybabtu.com>
17245
17246 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
17247 Determines if a file is garbage left by packaging systems, etc.
17248 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
17249 for processing /etc/grub.d scripts.
17250 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
17251 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
17252 as a condition for processing Linux images.
17253
87888032 172542008-01-10 Pavel Roskin <proski@gnu.org>
17255
17256 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
17257 to compile reiserfs.c on PowerPC.
17258
7e54fced 172592008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 17260
17261 * kern/device.c (grub_device_iterate): Do not abort device iteration
17262 when one of the devices cannot be opened.
17263 * kern/disk.c (grub_disk_open): Do not account previous failures of
17264 unrelated functions when grub_errno is checked for.
17265
5aa541e6 172662008-01-08 Robert Millan <rmh@aybabtu.com>
17267
17268 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
17269 `! grub_linux_is_bzimage', change order of address comparison to make
17270 it more intuitive, and improve "too big zImage" error message.
17271
7076340d 172722008-01-08 Robert Millan <rmh@aybabtu.com>
17273
17274 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
17275 `$(update-grub_DATA)'.
17276 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
17277 targets.
17278
9ca70333 172792008-01-07 Robert Millan <rmh@aybabtu.com>
17280
17281 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
17282 which instruction is modified by grub-setup during installation
17283 (since it wasn't obvious by only looking at this file).
17284
38ccf575 172852008-01-07 Robert Millan <rmh@aybabtu.com>
17286
17287 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
17288 listing actual TODO items.
17289
f5db4291 172902008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
17291
868967cf 17292 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
17293 correctly.
17294 (grub_reiserfs_get_key_offset): Likewise.
17295 (grub_reiserfs_set_key_offset): Likewise.
17296 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 17297 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 17298
17299 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
17300 better to remove the bitfield version completely.
f19dbdb7 17301
868967cf 173022008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 17303
f5db4291 17304 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
17305 allocated from the heap, due to the fshelp implementation.
17306 (grub_reiserfs_dir): Free NODE, due to the same reason.
17307
492e6d9d 173082008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
17309
17310 Mostly from Vincent Pelletier:
f19dbdb7 17311
492e6d9d 17312 * fs/reiserfs.c: New file.
f19dbdb7 17313
492e6d9d 17314 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
17315 (reiserfs_mod_SOURCES): New variable.
17316 (reiserfs_mod_CFLAGS): Likewise.
17317 (reiserfs_mod_LDFLAGS): Likewise.
17318
17319 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
17320 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
17321 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
17322 normal/color.c.
17323
9ce3e7c1 173242008-01-06 Robert Millan <rmh@aybabtu.com>
17325
17326 * normal/color.c: Remove `<grub/env.h>'.
17327
f3b58148 173282008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
17329
17330 * include/grub/normal.h: Include <grub/env.h>.
17331
7ac3bcfa 173322008-01-05 Robert Millan <rmh@aybabtu.com>
17333
17334 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
17335 usage example with `(hd0,1)'.
fb358190 17336 Reported by Samuel Thibault.
7ac3bcfa 17337
c8ee99d7 173382008-01-05 Robert Millan <rmh@aybabtu.com>
17339
17340 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
17341 (grub_linux_boot_zimage): Rename to ...
17342 (grub_linux_boot): ... this.
17343 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
17344 (grub_linux_boot_zimage): Conditionalize zImage copy.
17345
17346 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
17347 (grub_linux_boot_bzimage): Remove prototype.
17348 (grub_linux_boot_zimage): Rename to ...
17349 (grub_linux_boot): ... this.
17350
17351 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
17352 (grub_linux_boot): Remove function.
17353
0ece25b1 173542008-01-05 Robert Millan <rmh@aybabtu.com>
17355
17356 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
17357 (grub_env_write_color_highlight): Likewise.
17358 (grub_wait_after_message): Likewise.
17359
17360 * normal/color.c: New file.
17361
17362 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
17363 (normal_mod_DEPENDENCIES): Likewise.
17364
17365 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
17366 (normal_mod_DEPENDENCIES): Likewise.
17367
17368 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
17369 (normal_mod_DEPENDENCIES): Likewise.
17370
17371 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
17372 (normal_mod_DEPENDENCIES): Likewise.
17373
17374 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
17375 for waiting after a message is printed.
17376 * normal/main.c (read_config_file): Likewise.
17377 (grub_normal_init): Register grub_env_write_color_normal() and
17378 grub_env_write_color_highlight() hooks. Mark `color_normal' and
17379 `color_highlight' variables as global.
17380
17381 * normal/menu.c (grub_wait_after_message): New function.
17382 (grub_color_menu_normal): New variable. Replaces ...
17383 (GRUB_COLOR_MENU_NORMAL): ... this macro.
17384 (grub_color_menu_highlight): New variable. Replaces ...
17385 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
17386 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
17387 `GRUB_TERM_COLOR_STANDARD'.
17388 (print_message): Use `grub_setcolorstate' to reload colors. Rename
17389 `normal_code' and `highlight_code' to `old_color_normal' and
17390 `old_color_highlight', respectively.
17391 (grub_menu_init_page): Update colors when drawing the menu, based on
17392 `menu_color_normal' and `menu_color_highlight' variables.
17393 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
17394 a message is printed.
17395
182dd4e5 173962008-01-05 Robert Millan <rmh@aybabtu.com>
17397
17398 * kern/env.c (grub_env_context_open): Propagate hooks for global
17399 variables to new context.
17400
17401 * kern/main.c (grub_set_root_dev): Export `root' variable.
17402
ddf8f6ad 174032008-01-05 Robert Millan <rmh@aybabtu.com>
17404
17405 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 17406 discs unconditionally, since udev and others have options to provide
ddf8f6ad 17407 them.
17408
d8b43d9b 174092008-01-05 Robert Millan <rmh@aybabtu.com>
17410
17411 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
17412
2bff2de3 174132008-01-04 Christian Franke <franke@computer.org>
17414
17415 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
17416 of eisa_mmap.
17417
97eab917 174182008-01-03 Pavel Roskin <proski@gnu.org>
17419
17420 * kern/i386/linuxbios/init.c: Put "void" to all function
17421 declarations with no arguments.
17422 * kern/powerpc/ieee1275/init.c: Likewise.
17423 * term/i386/pc/at_keyboard.c: Likewise.
17424 * term/i386/pc/vga_text.c: Likewise.
17425 * util/grub-mkdevicemap.c: Likewise.
17426
b9416d00 174272008-01-02 Robert Millan <rmh@aybabtu.com>
17428
17429 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
17430 message when loaded image is out of bounds.
17431 (grub_multiboot_load_elf64): Likewise.
17432
92695df9 174332008-01-02 Pavel Roskin <proski@gnu.org>
17434
17435 * util/grub.d/10_linux.in: Try version without ".old" when
17436 looking for initrd. It's better to use initrd from the newer
17437 kernel of the same version than no initrd at all.
17438
d98d9cad 174392008-01-01 Robert Millan <rmh@aybabtu.com>
17440
17441 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
17442
dbfdce36 174432008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
17444
f19dbdb7 17445 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 17446 grub_video_get_active_render_target.
17447 (grub_video_adapter): Added unmap_color and get_active_render_target.
17448
f19dbdb7 17449 * video/video.c: Added grub_video_unmap_color and
dbfdce36 17450 grub_video_get_active_render_target.
17451 (grub_video_get_info): Changed method to accept NULL pointer as an
17452 argument to allow detection of active video adapter.
17453
17454 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
17455 grub_video_vbe_unmap_color_int.
17456 Added grub_video_vbe_unmap_color and
17457 grub_video_vbe_get_active_render_target.
17458 (grub_video_vbe_adapter): Added unmap_color and
17459 get_active_render_target.
17460
f19dbdb7 17461 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 17462 with grub_video_vbe_unmap_color_int.
17463
17464 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
17465 (DEFAULT_NORMAL_COLOR): Likewise.
17466 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
17467 (DEFAULT_FG_COLOR): Removed.
17468 (DEFAULT_BG_COLOR): Likewise.
17469 (DEFAULT_CURSOR_COLOR): Changed value.
17470 (grub_virtual_screen): Added standard_color_setting,
17471 normal_color_setting, highlight_color_setting and term_color.
17472 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
17473 (bitmap_width): Added.
17474 (bitmap_height): Likewise.
17475 (bitmap): Likewise.
17476 (set_term_color): Likewise.
17477 (grub_virtual_screen_setup): Changed to use new terminal coloring
17478 settings.
17479 (grub_gfxterm_init): Added init for bitmap.
17480 (grub_gfxterm_fini): Added destroy for bitmap.
17481 (redraw_screen_rect): Updated to use background bitmap and new
17482 terminal coloring.
17483 (scroll_up): Added optimization for case when there is no bitmap.
17484 (grub_gfxterm_cls): Fixed to use correct background color.
17485 (grub_virtual_screen_setcolorstate): Changed to use new terminal
17486 coloring.
17487 (grub_virtual_screen_setcolor): Likewise.
17488 (grub_virtual_screen_getcolor): Added.
17489 (grub_gfxterm_background_image_cmd): Likewise.
17490 (grub_video_term): Added setcolor and getcolor.
17491 (MOD_INIT): Added registration of background_image command.
17492 (MOD_TERM): Added unregistration for background_image command.
17493
c3c20931 174942007-12-30 Pavel Roskin <proski@gnu.org>
17495
17496 * loader/multiboot_loader.c: Fix multiboot command
17497 unregistration. Fix all typos in the word "multiboot".
17498
df266716 174992007-12-29 Pavel Roskin <proski@gnu.org>
94239199 17500
17501 * util/grub.d/10_linux.in: Refactor search for initrd. Add
17502 support for initrd names used in Fedora.
17503
fc6e896c 175042007-12-26 Bean <bean123ch@gmail.com>
17505
17506 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
17507 (cpio_mod_SOURCES): New variable.
17508 (cpio_mod_CFLAGS): Likewise.
17509 (cpio_mod_LDFLAGS): Likewise.
17510
17511 * fs/cpio.c: New file.
17512
17513 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
17514
17515 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17516
17517 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
17518
17519 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17520
533110ad 175212007-12-25 Robert Millan <rmh@aybabtu.com>
17522
17523 * include/grub/term.h (struct grub_term): Add `getcolor' function.
17524 (grub_getcolor): New function.
17525
17526 * kern/term.c (grub_getcolor): New function.
17527 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
17528 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
17529 (print_entry): Set normal and highlight colors to
17530 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
17531 respectively, before printing and restore them to old
17532 values afterwards.
17533 (grub_menu_init_page): Likewise. Fill an additional colored space
17534 that would otherwise be left blank.
17535
17536 * term/efi/console.c (grub_console_getcolor): New function.
17537 (struct grub_console_term.getcolor): New variable.
17538 * term/i386/pc/console.c (grub_console_getcolor): New function.
17539 (struct grub_console_term.getcolor): New variable.
17540 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
17541 (struct grub_console_term.getcolor): New variable.
17542
17543 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
17544 (struct grub_console_term.setcolor): Remove variable.
17545 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
17546 (struct grub_console_term.setcolor): Remove variable.
17547 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
17548 (struct grub_console_term.setcolor): Remove variable.
17549 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
17550 (struct grub_console_term.setcolor): Remove variable.
17551
4931827f 175522007-12-25 Robert Millan <rmh@aybabtu.com>
17553
17554 * configure.ac: Search for possible unifont.hex locations, and
17555 define UNIFONT_HEX if found.
17556
17557 * Makefile.in (UNIFONT_HEX): Define variable.
17558 (DATA): Rename to ...
17559 (PKGLIB): ... this. Update all users.
17560 (PKGDATA): New variable.
17561 (pkgdata_IMAGES): Rename to ...
17562 (pkglib_IMAGES): ... this. Update all users.
17563 (pkgdata_MODULES): Rename to ...
17564 (pkglib_MODULES): ... this. Update all users.
17565 (pkgdata_PROGRAMS): Rename to ...
17566 (pkglib_PROGRAMS): ... this. Update all users.
17567 (pkgdata_DATA): Rename to ...
17568 (pkglib_DATA): ... this. Update all users.
17569 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
17570 (unicode.pff, ascii.pff): New rules.
17571 (all-local): Add `$(PKGDATA)' dependency.
17572 (install-local): Process `$(PKGDATA)'.
17573
17574 * util/update-grub_lib.in (font_path): Search for *.pff files in
17575 a few more locations, including `${pkgdata}'.
17576
57e57e31 175772007-12-23 Robert Millan <rmh@aybabtu.com>
17578
17579 Patch from Bean <bean123ch@gmail.com>:
17580 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
17581 `size'.
17582
4bc72aa9 175832007-12-21 Bean <bean123ch@gmail.com>
17584
17585 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
17586 (ntfscomp_mod_SOURCES): New variable.
17587 (ntfscomp_mod_CFLAGS): Likewise.
17588 (ntfscomp_mod_LDFLAGS): Likewise.
17589
17590 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
17591 (grub_probe_SOURCES): Likewise.
17592 (grub_emu_SOURCES): Likewise.
17593
17594 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
17595 (grub_emu_SOURCES): Likewise.
17596
17597 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
17598 (grub_emu_SOURCES): Likewise.
17599
17600 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
17601 (grub_emu_SOURCES): Likewise.
17602
17603 * fs/ntfs.c (grub_ntfscomp_func): New variable.
17604 (read_run_list): Renamed to grub_ntfs_read_run_list.
17605 (decomp_nextvcn): Moved to ntfscomp.c.
17606 (decomp_getch): Likewise.
17607 (decomp_get16): Likewise.
17608 (decomp_block): Likewise.
17609 (read_block): Likewise.
17610 (read_data): Partially moved to ntfscomp.c.
17611 (fixup): Change unsigned to grub_uint16_t.
17612 (read_mft): Change unsigned long to grub_uint32_t.
17613 (read_attr): Likewise.
17614 (read_data): Likewise.
17615 (read_run_data): Likewise.
17616 (read_run_list): Likewise.
17617 (read_mft): Likewise.
17618
17619 * fs/ntfscomp.c: New file.
17620
17621 * include/grub/ntfs.h: New file.
17622
af680a87 176232007-12-16 Robert Millan <rmh@aybabtu.com>
17624
17625 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
17626 IDE disk check, since Linux is known to support 20 IDE disks.
17627 Reported by Colin Watson.
17628
84be7599 176292007-12-15 Bean <bean123ch@gmail.com>
17630
17631 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
17632 (lnxboot_img_SOURCES): New variable.
17633 (lnxboot_img_ASFLAGS): Likewise.
17634 (lnxboot_img_LDFLAGS): Likewise.
17635
17636 * boot/i386/pc/lnxboot.S: New file.
17637
6af9db01 176382007-11-24 Pavel Roskin <proski@gnu.org>
17639
17640 * configure.ac: Test if '--build-id=none' is supported by the
17641 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
17642 objcopy to generate incorrect binary files (binutils
17643 2.17.50.0.18-1 as shipped by Fedora 8).
17644 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
17645 linking, so that build ID doesn't break the test.
17646
7361cfe6 176472007-11-24 Pavel Roskin <proski@gnu.org>
17648
17649 * include/grub/i386/time.h: use "void" in the argument list
17650 of grub_cpu_idle().
17651 * include/grub/powerpc/time.h: Likewise.
17652 * include/grub/sparc64/time.h: Likewise.
17653
1593e10c 176542007-11-18 Christian Franke <franke@computer.org>
17655
17656 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
17657 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
17658 This fixes the problem that function keys did not work in grub-emu.
17659
3b8db1a8 176602007-11-18 Christian Franke <franke@computer.org>
17661
17662 * disk/host.c (grub_host_open): Remove attribute unused from
17663 name parameter. Add check for "host". This fixes the problem
17664 that grub-emu does not find partitions.
17665
2e29408d 176662007-11-18 Christian Franke <franke@computer.org>
17667
17668 * util/hostfs.c (is_dir): New function.
17669 (grub_hostfs_dir): Handle missing dirent.d_type case.
17670 (grub_hostfs_read): Add missing fseek().
17671 (grub_hostfs_label): Clear label pointer. This fixes a crash
17672 of grub-emu on "ls (host)".
17673
398cd047 176742007-11-18 Christian Franke <franke@computer.org>
17675
17676 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
17677 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
17678 to 64 bit boundary by default.
17679
c405c391 176802007-11-18 Bean <bean123ch@gmail.com>
17681
17682 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
17683 (hexdump_mod_SOURCES): New variable.
17684 (hexdump_mod_CFLAGS): Likewise.
17685 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 17686
c405c391 17687 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
17688
17689 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
17690
17691 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
17692
17693 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
17694
17695 * include/grub/hexdump.h: New file.
17696
17697 * commands/hexdump.c: New file.
17698
5cced7fd 176992007-11-10 Robert Millan <rmh@aybabtu.com>
17700
17701 * commands/i386/pc/play.c (beep_off): Switch order of arguments
17702 in grub_outb() calls.
17703 (beep_on): Likewise.
17704
8b714eb0 177052007-11-10 Christian Franke <franke@computer.org>
17706
17707 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
17708 (grub_menu_run): Likewise.
17709
ce0f1839 177102007-11-10 Robert Millan <rmh@aybabtu.com>
17711
17712 * include/grub/i386/efi/machine.h: New file.
17713 * include/grub/i386/linuxbios/machine.h: Likewise.
17714 * include/grub/i386/pc/machine.h: Likewise.
17715 * include/grub/powerpc/ieee1275/machine.h: Likewise.
17716 * include/grub/sparc64/ieee1275/machine.h: Likewise.
17717
17718 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
17719 (serial_hw_io_addr): New variable.
17720 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
17721 instead of `(unsigned short *) 0x400'.
17722
270c237d 177232007-11-10 Bean <bean123ch@gmail.com>
17724
17725 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
17726
a87783bf 177272007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
17728
17729 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
17730 (vga_mod_SOURCES): Added.
17731 (vga_mod_CFLAGS): Likewise.
17732 (vga_mod_LDFLAGS): Likewise.
17733
17734 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
17735 grub_outb() calls.
17736 (set_map_mask): Likewise.
17737 (set_read_map): Likewise.
17738 (set_read_address): Likewise.
17739 (vga_font): Removed variable.
17740 (get_vga_glyph): Removed function.
17741 (invalidate_char): Likewise.
17742 (write_char): Changed to use grub_font_get_glyph() for font
17743 information.
17744 (grub_vga_putchar): Likewise.
17745 (grub_vga_getcharwidth): Likewise.
17746
6433b448 177472007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
17748
17749 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
17750 flags.
17751 (pxeboot_img_LDFLAGS): Likewise.
17752 (diskboot_img_LDFLAGS): Likewise.
17753 (kernel_img_LDFLAGS): Likewise.
17754
49178511 177552007-11-06 Robert Millan <rmh@aybabtu.com>
17756
17757 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
17758 in grub_outb() calls.
17759 (serial_hw_init): Likewise.
17760
53b052de 177612007-11-05 Robert Millan <rmh@aybabtu.com>
17762
17763 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
17764 spaces. Skip non-regular files.
17765
5ab33bba 177662007-11-05 Robert Millan <rmh@aybabtu.com>
17767
17768 * kern/disk.c (grub_disk_firmware_fini)
17769 (grub_disk_firmware_is_tainted): New variables.
17770
17771 * include/grub/disk.h (grub_disk_firmware_fini)
17772 (grub_disk_firmware_is_tainted): Likewise.
17773
17774 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
17775 (grub_disk_biosdisk_fini): ... to here.
17776 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
17777 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
17778 is set. Register grub_disk_biosdisk_fini() in
17779 `grub_disk_firmware_fini'.
17780
17781 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
17782 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
17783 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
17784 to finish existing firmware disk interface.
17785
17786 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
17787 (ata_mod_SOURCES): New variable.
17788 (ata_mod_CFLAGS): Likewise.
17789 (ata_mod_LDFLAGS): Likewise.
17790
0149ab7c 177912007-11-05 Robert Millan <rmh@aybabtu.com>
17792
17793 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
17794 (grub_ata_wait): Reimplement using grub_millisleep().
17795
17796 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
17797 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
17798
be7ac41e 177992007-11-03 Marco Gerards <marco@gnu.org>
17800
17801 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
17802 (CRTC_ADDR_PORT): New macro.
17803 (CRTC_DATA_PORT): Likewise.
17804 (CRTC_CURSOR): Likewise.
17805 (CRTC_CURSOR_ADDR_HIGH): Likewise.
17806 (CRTC_CURSOR_ADDR_LOW): Likewise.
17807 (update_cursor): New function.
17808 (grub_console_real_putchar): Call `update_cursor'.
17809 (grub_console_gotoxy): Likewise.
17810 (grub_console_cls): Set the default color when clearing the
17811 screen.
17812 (grub_console_setcursor): Implemented.
17813
bb06ab2e 178142007-11-03 Marco Gerards <marco@gnu.org>
17815
17816 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
17817 become activate.
17818 (grub_ata_pio_write): Likewise.
17819
17820 (grub_atapi_identify): Wait after issuing an ATA command.
17821 (grub_atapi_packet): Likewise.
17822 (grub_ata_identify): Likewise.
17823 (grub_ata_readwrite): Likewise.
17824
cf8f780b 178252007-11-03 Marco Gerards <marco@gnu.org>
17826
17827 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
17828 (grub_ata_pio_write): Likewise.
17829 (grub_ata_readwrite): Use `grub_error', instead of
17830 returning `grub_errno'.
17831
ed649e54 178322007-11-03 Marco Gerards <marco@gnu.org>
17833
17834 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
17835 grub_ata_pio_write once for every single sector, instead of for
17836 multiple sectors.
17837
ca25d8f0 178382007-10-31 Robert Millan <rmh@aybabtu.com>
17839
17840 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
17841
17842 * conf/i386-linuxbios.rmk: New file.
17843
17844 * kern/i386/pc/hardware.c: Likewise.
17845 * term/i386/pc/at_keyboard.c: Likewise.
17846 * term/i386/pc/vga_text.c: Likewise.
17847
17848 * include/grub/i386/linuxbios/boot.h: Likewise.
17849 * include/grub/i386/linuxbios/console.h: Likewise.
17850 * include/grub/i386/linuxbios/init.h: Likewise.
17851 * include/grub/i386/linuxbios/kernel.h: Likewise.
17852 * include/grub/i386/linuxbios/loader.h: Likewise.
17853 * include/grub/i386/linuxbios/memory.h: Likewise.
17854 * include/grub/i386/linuxbios/serial.h: Likewise.
17855 * include/grub/i386/linuxbios/time.h: Likewise.
17856
17857 * kern/i386/linuxbios/init.c: Likewise.
17858 * kern/i386/linuxbios/startup.S: Likewise.
17859 * kern/i386/linuxbios/table.c: Likewise.
17860
e911ecc1 178612007-10-31 Marco Gerards <marco@gnu.org>
17862
17863 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
17864 (ata_mod_SOURCES): New variable.
17865 (ata_mod_CFLAGS): Likewise.
17866 (ata_mod_LDFLAGS): Likewise.
17867
17868 * disk/ata.c: New file.
17869
17870 * include/grub/disk.h (grub_disk_dev_id): Add
17871 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 17872
7f66d0e0 178732007-10-31 Robert Millan <rmh@aybabtu.com>
17874
17875 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
17876 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
17877
17878 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
17879 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
17880
17881 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
17882 `<grub/types.h>'.
17883
17884 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
17885
5cd7dd46 178862007-10-27 Robert Millan <rmh@aybabtu.com>
17887
3236ca65 17888 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 17889
2ebfc90f 178902007-10-22 Robert Millan <rmh@aybabtu.com>
17891
17892 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
17893 `"../realmode.S"'.
17894 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
17895
73fcb0f3 178962007-10-22 Robert Millan <rmh@aybabtu.com>
17897
17898 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
17899 (pkgdata_MODULES): Add `biosdisk.mod'.
17900 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
17901 variables.
17902
17903 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
17904 (grub_biosdisk_init): Replace with ...
17905 (GRUB_MOD_INIT(biosdisk)): ... this.
17906 (grub_biosdisk_fini): Replace with ...
17907 (GRUB_MOD_FINI(biosdisk)): ... this.
17908
17909 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
17910 (grub_machine_init): Remove call to grub_biosdisk_init().
17911 (grub_machine_fini): Remove call to grub_machine_fini().
17912
17913 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
17914
3381d274 179152007-10-22 Robert Millan <rmh@aybabtu.com>
17916
17917 * include/grub/time.h: New file.
17918 * include/grub/i386/time.h: Likewise.
17919 * include/grub/powerpc/time.h: Likewise.
17920 * include/grub/sparc64/time.h: Likewise.
17921
17922 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
17923 instances to ...
17924 (KERNEL_MACHINE_TIME_HEADER): ... this.
17925 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
17926 instances to ...
17927 (KERNEL_MACHINE_TIME_HEADER): ... this.
17928 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
17929 instances to ...
17930 (KERNEL_MACHINE_TIME_HEADER): ... this.
17931
17932 * kern/i386/efi/init.c: Include `<grub/time.h>'.
17933 (grub_millisleep): New function.
17934 * kern/i386/pc/init.c: Include `<grub/time.h>'.
17935 (grub_millisleep): New function.
17936 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
17937 Remove `grub/machine/time.h' include.
17938 (grub_millisleep): New function.
17939 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
17940 Remove `grub/machine/time.h' include.
17941 (grub_millisleep): New function.
17942
17943 * include/grub/misc.h (grub_div_roundup): New function.
17944
17945 * kern/misc.c: Include `<grub/time.h>'.
17946 (grub_millisleep_generic): New function.
17947
17948 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
17949 Add `time.h'.
17950 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
17951 Add `time.h'.
17952 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
17953 `machine/time.h'. Add `time.h'.
17954 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
17955
a39a0312 179562007-10-21 Robert Millan <rmh@aybabtu.com>
17957
17958 * include/grub/misc.h (grub_max): New function.
17959
2aad70e2 179602007-10-21 Robert Millan <rmh@aybabtu.com>
17961
17962 * util/misc.c (grub_util_info): Call fflush() before returning.
17963
54b71c4b 179642007-10-20 Robert Millan <rmh@aybabtu.com>
17965
17966 * genmk.rb (Image): Copy `extra_flags' from here ...
17967 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
17968
17969 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
17970 to `argc' and `args' arguments.
17971
a979f513 179722007-10-17 Robert Millan <rmh@aybabtu.com>
17973
17974 * kern/i386/loader.S: New file.
17975
17976 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
17977 * kern/i386/loader.S (grub_linux_prot_size)... to here.
17978 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
17979 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
17980 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
17981 * kern/i386/loader.S (grub_linux_real_addr)... to here.
17982 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
17983 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
17984 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
17985 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
17986 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
17987 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
17988 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
17989 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
17990
17991 * kern/i386/realmode.S: New file.
17992
17993 * kern/i386/pc/startup.S (protstack): Moved from here ...
17994 * kern/i386/realmode.S (protstack)... to here.
17995 * kern/i386/pc/startup.S (gdt): Moved from here ...
17996 * kern/i386/realmode.S (gdt)... to here.
17997 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
17998 * kern/i386/realmode.S (prot_to_real)... to here.
17999
18000 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
18001 `kern/i386/realmode.S'.
18002
825fc8fd 180032007-10-17 Robert Millan <rmh@aybabtu.com>
18004
18005 * include/grub/i386/loader.h: New file.
18006
18007 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
18008 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
18009 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
18010 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
18011 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
18012 * include/grub/i386/loader.h (grub_linux_prot_size)
18013 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
18014 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
18015 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
18016 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
18017
18018 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
18019
e179b2f4 180202007-10-15 Robert Millan <rmh@aybabtu.com>
18021
18022 * normal/misc.c (grub_normal_print_device_info): Do not probe for
18023 filesystem when dev->disk is unset.
18024 Do probe for filesystem even when dev->disk->has_partitions is set.
18025 In case a filesystem is found, always report it.
18026 In case it isn't, if dev->disk->has_partitions is set, report that
18027 a partition table was found instead of reporting that no filesystem
18028 could be identified.
18029
5db82af6 180302007-10-12 Robert Millan <rmh@aybabtu.com>
18031
18032 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
18033 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
18034
68f6ac74 18035 * include/grub/types.h (grub_host_to_target16): New macro.
18036 (grub_host_to_target32): Likewise.
18037 (grub_host_to_target64): Likewise.
18038 (grub_target_to_host16): Likewise.
18039 (grub_target_to_host32): Likewise.
18040 (grub_target_to_host64): Likewise.
5db82af6 18041
18042 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
18043 Renamed from to ...
18044 (GRUB_MOD_ALIGN): ...this. Update all users.
18045
68f6ac74 18046 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
18047 grub_host_to_target32.
18048 Replace grub_be_to_cpu32 with grub_target_to_host32.
18049 (load_modules): Likewise.
18050 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
18051 Replace grub_be_to_cpu32 with grub_target_to_host32.
18052 Replace grub_cpu_to_be16 with grub_host_to_target16.
18053 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 18054
3cf497cc 180552007-10-12 Robert Millan <rmh@aybabtu.com>
18056
18057 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
18058 * util/elf/grub-mkimage.c: ... here.
18059
18060 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
18061 `util/powerpc/ieee1275/grub-mkimage.c'.
18062
c8cc3692 180632007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 18064
c8cc3692 18065 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
18066 and make it easier to figure out.
18067 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
18068 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
18069 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
18070 leave us with less than HEAP_MIN_SIZE total heap.
18071 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 18072
5c58b791 180732007-10-03 Robert Millan <rmh@aybabtu.com>
18074
18075 * include/grub/i386/io.h: New file.
18076 * commands/i386/pc/play.c (inb): Removed.
18077 (outb): Removed.
18078 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
18079 with grub_outb().
afcd2ef8 18080 * term/i386/pc/serial.c (inb): Removed.
18081 (outb): Removed.
18082 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
18083 with grub_outb().
18084 * term/i386/pc/vga.c (inb): Removed.
18085 (outb): Removed.
18086 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
18087 with grub_outb().
5c58b791 18088
1a477ed6 180892007-10-02 Robert Millan <rmh@aybabtu.com>
18090
18091 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
18092 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18093 Reported by Marcin Kurek.
18094
6b5d80fa 180952007-09-07 Robert Millan <rmh@aybabtu.com>
18096
18097 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
18098 SmartFirmware version updates (as released by Sven Luther), and avoid
18099 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
18100 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
18101 known broken.
18102
5618afbf 181032007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
18104
18105 From Hitoshi Ozeki:
18106 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
18107 when merging two regions.
18108
6139dcd9 181092007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
18110
508e39ee 18111 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
18112 * normal/completion.c (grub_normal_do_completion): Likewise.
18113 Reported by Hitoshi Ozeki.
18114
181152007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 18116
6139dcd9 18117 Do not use devices at boot in chainloading.
f19dbdb7 18118
6139dcd9 18119 * loader/i386/pc/chainloader.c (boot_drive): New variable.
18120 (boot_part_addr): Likewise.
18121 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
18122 with BOOT_DRIVE and BOOT_PART_ADDR.
18123 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
18124 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
18125
38da6516 181262007-08-29 Robert Millan <rmh@aybabtu.com>
18127
18128 Patch from Simon Peter <dn.tlp@gmx.net>:
18129 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
18130 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
18131 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
18132 util/i386/pc/grub-setup.c_DEPENDENCIES.
18133 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
18134 util/grub-probe.c_DEPENDENCIES.
18135 * conf/powerpc-ieee1275.rmk: Likewise.
18136
29d0928c 181372007-08-28 Robert Millan <rmh@aybabtu.com>
18138
18139 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
18140 to tell grub-mkdevicemap how to name devices.
18141 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
18142 feature).
18143
18144 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
18145 util/i386/get_disk_name.c.
18146 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
18147 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
18148 util/ieee1275/get_disk_name.c.
18149
18150 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
18151
18152 * DISTLIST: Add util/i386/get_disk_name.c and
18153 util/ieee1275/get_disk_name.c.
18154
18155 * util/grub-mkdevicemap.c: Replace device naming logic with
18156 grub_util_get_disk_name() calls.
18157
5a0d3cca 181582007-08-20 Robert Millan <rmh@aybabtu.com>
18159
18160 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
18161 (so that it works for both plural and singular quantities).
18162
8b72db2f 181632007-08-05 Robert Millan <rmh@aybabtu.com>
18164
18165 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
18166 so that [xz] isn't taken into account when determining order.
18167
352466bf 181682007-08-02 Marco Gerards <marco@gnu.org>
18169
18170 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
18171 `include/multiboot2.h', `include/grub/elfload.h',
18172 `include/multiboot.h', `include/grub/multiboot.h',
18173 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
18174 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
18175 `kern/elf.c', `loader/multiboot_loader.c',
18176 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
18177 `loader/i386/pc/multiboot2.c',
18178 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
18179 `util/i386/pc/grub-mkrescue.in'. Remove
18180 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
18181 `include/grub/i386/pc/util/biosdisk.h' and
18182 `include/grub/powerpc/ieee1275/multiboot.h'.
18183
8f096014 181842007-08-02 Bean <bean123ch@gmail.com>
18185
18186 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
18187 (ntfs_mod_SOURCES): New variable.
18188 (ntfs_mod_CFLAGS): Likewise.
18189 (ntfs_mod_LDFLAGS): Likewise.
18190
18191 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
18192 (grub_probe_SOURCES): Likewise.
18193 (grub_emu_SOURCES): Likewise.
18194
18195 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
18196 (grub_emu_SOURCES): Likewise.
18197
18198 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
18199 (grub_emu_SOURCES): Likewise.
f19dbdb7 18200
8f096014 18201 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
18202
18203 * fs/ntfs.c: New file.
18204
9959f7db 182052007-08-02 Bean <bean123ch@gmail.com>
18206
18207 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
18208
18209 * file.h (grub_file): Likewise.
18210
18211 * fshelp.h (grub_fshelp_read_file): Likewise.
18212
18213 * util/i386/pc/grub-setup.c (setup): Likewise.
18214 (save_first_sector): Likewise.
18215 (save_blocklists): Likewise.
f19dbdb7 18216
9959f7db 18217 * fs/affs.c (grub_affs_read_file): Likewise.
18218
18219 * fs/ext2.c (grub_ext2_read_file): Likewise.
18220
18221 * fs/fat.c (grub_fat_read_data): Likewise.
18222
18223 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
18224
18225 * fs/hfs.c (grub_hfs_read_file): Likewise.
18226
18227 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
18228
18229 * fs/jfs.c (grub_jfs_read_file): Likewise.
18230
18231 * fs/minix.c (grub_minix_read_file): Likewise.
18232
18233 * fs/sfs.c (grub_sfs_read_file): Likewise.
18234
18235 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 18236
9959f7db 18237 * fs/xfs.c (grub_xfs_read_file): Likewise.
18238
18239 * command/blocklist.c (read_blocklist): Likewise.
18240 (print_blocklist): Likewise.
18241
0a203f83 182422007-08-02 Marco Gerards <marco@gnu.org>
18243
18244 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
18245 `util/hostfs.c'.
18246
18247 * disk/host.c: New file.
18248
18249 * util/hostfs.c: Likewise.
18250
18251 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
18252 return `GRUB_ERR_BAD_FS'.
18253 * fs/sfs.c (grub_sfs_mount): Likewise.
18254 * fs/xfs.c (grub_xfs_mount): Likewise.
18255
18256 * include/grub/disk.h (enum grub_disk_dev_id): Add
18257 `GRUB_DISK_DEVICE_HOST_ID'.
18258
18259 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
18260
e5dfe777 182612007-07-24 Jerone Young <jerone@gmail.com>
18262
f19dbdb7 18263 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 18264 modules for compilation.
18265 * conf/powerpc-ieee1275.rmk: Likewise.
18266
18267 * include/multiboot.h: Move multiboot definitions to one file. Rename
18268 many definitions to not get grub specific.
18269 * include/multiboot2.h: Create header with multiboot 2 definitions.
18270 * include/grub/multiboot.h: Header for grub specific function
18271 prototypes and definitions.
18272 * include/grub/multiboot2.h: Likewise.
18273 * include/grub/multiboot_loader.h: Likewise.
18274 * include/grub/i386/pc/multiboot.h: Removed.
18275 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
18276
18277 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
18278 and 2 to allow for one multiboot and module commands.
18279 * loader/multiboot2.c: Add multiboot2 functionality.
18280 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
18281 and definition names.
18282 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
18283 2 functions.
18284 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
18285 ieee1275 specific multiboot2 code.
18286
18287 * kern/i386/pc/startup.S: Change headers and definition names for
18288 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
18289
daf0f0ba 182902007-07-22 Robert Millan <rmh@aybabtu.com>
18291
18292 * geninitheader.sh: Process file specified in first parameter rather
18293 than hardcoding grub_modules_init.lst.
fe6b695a 18294 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 18295 than hardcoding grub_modules_init.h.
18296
18297 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
18298 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
18299 grub_probe_init.[ch] and grub_setup_init.[ch].
18300
18301 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
18302 grub_modules_init.h with grub_emu_init.h.
18303 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
18304 grub_probe_init.[ch] files.
18305 * conf/i386-efi.rmk: Likewise.
18306 * conf/i386-pc.rmk: Likewise.
18307 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
18308 grub_setup_init.[ch] files.
18309
18310 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
18311 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
18312 to initialize modules rather than a list of hardcoded functions.
18313 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
18314 grub_init_all() to initialize modules rather than a list of hardcoded
18315 functions.
18316
54cdc1cc 183172007-07-22 Robert Millan <rmh@aybabtu.com>
18318
18319 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
18320 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
18321
ad0686cc 183222007-07-22 Robert Millan <rmh@aybabtu.com>
18323
18324 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
18325 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
18326 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
18327 flag when running on SmartFirmware.
18328 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
18329 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
18330 was set.
18331
18332 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
18333 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
18334 rather than decreasing it.
18335
18336 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
18337 there's not enough space to do it, fail in the same way as when it
18338 can't be done because there are no partitions.
18339
18340 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
18341 when nvsetenv failed.
18342
969c02ec 183432007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
18344
18345 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
18346 because this rule is automatically generated.
18347 (grub-mkrescue): Removed for the same reason as above.
18348
5a79f472 183492007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
18350
18351 Migrate to GNU General Public License Version 3.
f19dbdb7 18352
5a79f472 18353 * COPYING: Replaced with the plain text version of GPLv3.
18354
18355 * config.guess: Updated from gnulib.
18356 * config.sub: Likewise.
18357
18358 * geninit.sh: Output a GPLv3 copyright notice.
18359 * geninitheader.sh: Likewise.
18360 * genmodsrc.sh: Likewise.
18361 * gensymlist.sh.in: Likewise.
18362
18363 * boot/i386/pc/boot.S: Upgraded to GPLv3.
18364 * boot/i386/pc/diskboot.S: Likewise.
18365 * boot/i386/pc/pxeboot.S: Likewise.
18366 * commands/blocklist.c: Likewise.
18367 * commands/boot.c: Likewise.
18368 * commands/cat.c: Likewise.
18369 * commands/cmp.c: Likewise.
18370 * commands/configfile.c: Likewise.
18371 * commands/echo.c: Likewise.
18372 * commands/help.c: Likewise.
18373 * commands/ls.c: Likewise.
18374 * commands/search.c: Likewise.
18375 * commands/terminal.c: Likewise.
18376 * commands/test.c: Likewise.
18377 * commands/videotest.c: Likewise.
18378 * commands/i386/cpuid.c: Likewise.
18379 * commands/i386/pc/halt.c: Likewise.
18380 * commands/i386/pc/play.c: Likewise.
18381 * commands/i386/pc/reboot.c: Likewise.
18382 * commands/i386/pc/vbeinfo.c: Likewise.
18383 * commands/i386/pc/vbetest.c: Likewise.
18384 * commands/ieee1275/halt.c: Likewise.
18385 * commands/ieee1275/reboot.c: Likewise.
18386 * commands/ieee1275/suspend.c: Likewise.
18387 * disk/loopback.c: Likewise.
18388 * disk/lvm.c: Likewise.
18389 * disk/raid.c: Likewise.
18390 * disk/efi/efidisk.c: Likewise.
18391 * disk/i386/pc/biosdisk.c: Likewise.
18392 * disk/ieee1275/ofdisk.c: Likewise.
18393 * font/manager.c: Likewise.
18394 * fs/affs.c: Likewise.
18395 * fs/ext2.c: Likewise.
18396 * fs/fat.c: Likewise.
18397 * fs/fshelp.c: Likewise.
18398 * fs/hfs.c: Likewise.
18399 * fs/hfsplus.c: Likewise.
18400 * fs/iso9660.c: Likewise.
18401 * fs/jfs.c: Likewise.
18402 * fs/minix.c: Likewise.
18403 * fs/sfs.c: Likewise.
18404 * fs/ufs.c: Likewise.
18405 * fs/xfs.c: Likewise.
18406 * hello/hello.c: Likewise.
18407 * include/grub/acorn_filecore.h: Likewise.
18408 * include/grub/arg.h: Likewise.
18409 * include/grub/bitmap.h: Likewise.
18410 * include/grub/boot.h: Likewise.
18411 * include/grub/cache.h: Likewise.
18412 * include/grub/device.h: Likewise.
18413 * include/grub/disk.h: Likewise.
18414 * include/grub/dl.h: Likewise.
18415 * include/grub/elfload.h: Likewise.
18416 * include/grub/env.h: Likewise.
18417 * include/grub/err.h: Likewise.
18418 * include/grub/file.h: Likewise.
18419 * include/grub/font.h: Likewise.
18420 * include/grub/fs.h: Likewise.
18421 * include/grub/fshelp.h: Likewise.
18422 * include/grub/gzio.h: Likewise.
18423 * include/grub/hfs.h: Likewise.
18424 * include/grub/kernel.h: Likewise.
18425 * include/grub/loader.h: Likewise.
18426 * include/grub/lvm.h: Likewise.
18427 * include/grub/misc.h: Likewise.
18428 * include/grub/mm.h: Likewise.
18429 * include/grub/net.h: Likewise.
18430 * include/grub/normal.h: Likewise.
18431 * include/grub/parser.h: Likewise.
18432 * include/grub/partition.h: Likewise.
18433 * include/grub/pc_partition.h: Likewise.
18434 * include/grub/raid.h: Likewise.
18435 * include/grub/rescue.h: Likewise.
18436 * include/grub/script.h: Likewise.
18437 * include/grub/setjmp.h: Likewise.
18438 * include/grub/symbol.h: Likewise.
18439 * include/grub/term.h: Likewise.
18440 * include/grub/terminfo.h: Likewise.
18441 * include/grub/tparm.h: Likewise.
18442 * include/grub/types.h: Likewise.
18443 * include/grub/video.h: Likewise.
18444 * include/grub/efi/api.h: Likewise.
18445 * include/grub/efi/chainloader.h: Likewise.
18446 * include/grub/efi/console.h: Likewise.
18447 * include/grub/efi/console_control.h: Likewise.
18448 * include/grub/efi/disk.h: Likewise.
18449 * include/grub/efi/efi.h: Likewise.
18450 * include/grub/efi/pe32.h: Likewise.
18451 * include/grub/efi/time.h: Likewise.
18452 * include/grub/i386/linux.h: Likewise.
18453 * include/grub/i386/setjmp.h: Likewise.
18454 * include/grub/i386/types.h: Likewise.
18455 * include/grub/i386/efi/kernel.h: Likewise.
18456 * include/grub/i386/efi/loader.h: Likewise.
18457 * include/grub/i386/efi/time.h: Likewise.
18458 * include/grub/i386/pc/biosdisk.h: Likewise.
18459 * include/grub/i386/pc/boot.h: Likewise.
18460 * include/grub/i386/pc/chainloader.h: Likewise.
18461 * include/grub/i386/pc/console.h: Likewise.
18462 * include/grub/i386/pc/init.h: Likewise.
18463 * include/grub/i386/pc/kernel.h: Likewise.
18464 * include/grub/i386/pc/loader.h: Likewise.
18465 * include/grub/i386/pc/memory.h: Likewise.
18466 * include/grub/i386/pc/multiboot.h: Likewise.
18467 * include/grub/i386/pc/serial.h: Likewise.
18468 * include/grub/i386/pc/time.h: Likewise.
18469 * include/grub/i386/pc/vbe.h: Likewise.
18470 * include/grub/i386/pc/vbeblit.h: Likewise.
18471 * include/grub/i386/pc/vbefill.h: Likewise.
18472 * include/grub/i386/pc/vbeutil.h: Likewise.
18473 * include/grub/i386/pc/vga.h: Likewise.
18474 * include/grub/ieee1275/ieee1275.h: Likewise.
18475 * include/grub/ieee1275/ofdisk.h: Likewise.
18476 * include/grub/powerpc/libgcc.h: Likewise.
18477 * include/grub/powerpc/setjmp.h: Likewise.
18478 * include/grub/powerpc/types.h: Likewise.
18479 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
18480 * include/grub/powerpc/ieee1275/console.h: Likewise.
18481 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
18482 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
18483 * include/grub/powerpc/ieee1275/loader.h: Likewise.
18484 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
18485 * include/grub/powerpc/ieee1275/time.h: Likewise.
18486 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
18487 * include/grub/sparc64/libgcc.h: Likewise.
18488 * include/grub/sparc64/setjmp.h: Likewise.
18489 * include/grub/sparc64/types.h: Likewise.
18490 * include/grub/sparc64/ieee1275/console.h: Likewise.
18491 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
18492 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
18493 * include/grub/sparc64/ieee1275/time.h: Likewise.
18494 * include/grub/util/biosdisk.h: Likewise.
18495 * include/grub/util/getroot.h: Likewise.
18496 * include/grub/util/lvm.h: Likewise.
18497 * include/grub/util/misc.h: Likewise.
18498 * include/grub/util/raid.h: Likewise.
18499 * include/grub/util/resolve.h: Likewise.
18500 * io/gzio.c: Likewise.
18501 * kern/device.c: Likewise.
18502 * kern/disk.c: Likewise.
18503 * kern/dl.c: Likewise.
18504 * kern/elf.c: Likewise.
18505 * kern/env.c: Likewise.
18506 * kern/err.c: Likewise.
18507 * kern/file.c: Likewise.
18508 * kern/fs.c: Likewise.
18509 * kern/loader.c: Likewise.
18510 * kern/main.c: Likewise.
18511 * kern/misc.c: Likewise.
18512 * kern/mm.c: Likewise.
18513 * kern/parser.c: Likewise.
18514 * kern/partition.c: Likewise.
18515 * kern/rescue.c: Likewise.
18516 * kern/term.c: Likewise.
18517 * kern/efi/efi.c: Likewise.
18518 * kern/efi/init.c: Likewise.
18519 * kern/efi/mm.c: Likewise.
18520 * kern/i386/dl.c: Likewise.
18521 * kern/i386/efi/init.c: Likewise.
18522 * kern/i386/efi/startup.S: Likewise.
18523 * kern/i386/pc/init.c: Likewise.
18524 * kern/i386/pc/lzo1x.S: Likewise.
18525 * kern/i386/pc/startup.S: Likewise.
18526 * kern/ieee1275/ieee1275.c: Likewise.
18527 * kern/powerpc/cache.S: Likewise.
18528 * kern/powerpc/dl.c: Likewise.
18529 * kern/powerpc/ieee1275/cmain.c: Likewise.
18530 * kern/powerpc/ieee1275/crt0.S: Likewise.
18531 * kern/powerpc/ieee1275/init.c: Likewise.
18532 * kern/powerpc/ieee1275/openfw.c: Likewise.
18533 * kern/sparc64/cache.S: Likewise.
18534 * kern/sparc64/dl.c: Likewise.
18535 * kern/sparc64/ieee1275/init.c: Likewise.
18536 * kern/sparc64/ieee1275/openfw.c: Likewise.
18537 * loader/efi/chainloader.c: Likewise.
18538 * loader/efi/chainloader_normal.c: Likewise.
18539 * loader/i386/efi/linux.c: Likewise.
18540 * loader/i386/efi/linux_normal.c: Likewise.
18541 * loader/i386/pc/chainloader.c: Likewise.
18542 * loader/i386/pc/chainloader_normal.c: Likewise.
18543 * loader/i386/pc/linux.c: Likewise.
18544 * loader/i386/pc/linux_normal.c: Likewise.
18545 * loader/i386/pc/multiboot.c: Likewise.
18546 * loader/i386/pc/multiboot_normal.c: Likewise.
18547 * loader/powerpc/ieee1275/linux.c: Likewise.
18548 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
18549 * normal/arg.c: Likewise.
18550 * normal/cmdline.c: Likewise.
18551 * normal/command.c: Likewise.
18552 * normal/completion.c: Likewise.
18553 * normal/execute.c: Likewise.
18554 * normal/function.c: Likewise.
18555 * normal/lexer.c: Likewise.
18556 * normal/main.c: Likewise.
18557 * normal/menu.c: Likewise.
18558 * normal/menu_entry.c: Likewise.
18559 * normal/misc.c: Likewise.
18560 * normal/parser.y: Likewise.
18561 * normal/script.c: Likewise.
18562 * normal/i386/setjmp.S: Likewise.
18563 * normal/powerpc/setjmp.S: Likewise.
18564 * normal/sparc64/setjmp.S: Likewise.
18565 * partmap/acorn.c: Likewise.
18566 * partmap/amiga.c: Likewise.
18567 * partmap/apple.c: Likewise.
18568 * partmap/gpt.c: Likewise.
18569 * partmap/pc.c: Likewise.
18570 * partmap/sun.c: Likewise.
18571 * term/gfxterm.c: Likewise.
18572 * term/terminfo.c: Likewise.
18573 * term/efi/console.c: Likewise.
18574 * term/i386/pc/console.c: Likewise.
18575 * term/i386/pc/serial.c: Likewise.
18576 * term/i386/pc/vesafb.c: Likewise.
18577 * term/i386/pc/vga.c: Likewise.
18578 * term/ieee1275/ofconsole.c: Likewise.
18579 * util/biosdisk.c: Likewise.
18580 * util/console.c: Likewise.
18581 * util/genmoddep.c: Likewise.
18582 * util/getroot.c: Likewise.
18583 * util/grub-emu.c: Likewise.
18584 * util/grub-mkdevicemap.c: Likewise.
18585 * util/grub-probe.c: Likewise.
18586 * util/lvm.c: Likewise.
18587 * util/misc.c: Likewise.
18588 * util/raid.c: Likewise.
18589 * util/resolve.c: Likewise.
18590 * util/update-grub.in: Likewise.
18591 * util/update-grub_lib.in: Likewise.
18592 * util/grub.d/00_header.in: Likewise.
18593 * util/grub.d/10_hurd.in: Likewise.
18594 * util/grub.d/10_linux.in: Likewise.
18595 * util/i386/efi/grub-install.in: Likewise.
18596 * util/i386/efi/grub-mkimage.c: Likewise.
18597 * util/i386/pc/grub-install.in: Likewise.
18598 * util/i386/pc/grub-mkimage.c: Likewise.
18599 * util/i386/pc/grub-mkrescue.in: Likewise.
18600 * util/i386/pc/grub-setup.c: Likewise.
18601 * util/i386/pc/misc.c: Likewise.
18602 * util/powerpc/ieee1275/grub-install.in: Likewise.
18603 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
18604 * util/powerpc/ieee1275/misc.c: Likewise.
18605 * video/bitmap.c: Likewise.
18606 * video/video.c: Likewise.
18607 * video/i386/pc/vbe.c: Likewise.
18608 * video/i386/pc/vbeblit.c: Likewise.
18609 * video/i386/pc/vbefill.c: Likewise.
18610 * video/i386/pc/vbeutil.c: Likewise.
18611 * video/readers/tga.c: Likewise.
18612
3572d015 186132007-07-02 Robert Millan <rmh@aybabtu.com>
18614
18615 * conf/i386-efi.rmk: Replace obsolete reference to
18616 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
18617 with util/getroot.c.
18618 * conf/powerpc-ieee1275.rmk: Likewise.
18619 * conf/sparc64-ieee1275.rmk: Likewise.
18620
18621 * util/grub-emu.c (main): Fix unchecked pointer handling.
18622
2c2a681b 186232007-07-02 Robert Millan <rmh@aybabtu.com>
18624
18625 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
18626 invocation to fail, in order to support partition-less media.
18627
18628 * util/i386/pc/grub-install.in: Likewise.
18629
18630 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
18631 which fs or partmap modules are needed (akin to its sister scripts).
18632
18633 Also use grub-probe to get rid of unportable /proc/mounts check.
18634
18635 Print the same informational message that the other scripts do, before
fe6b695a 18636 exiting.
2c2a681b 18637
6193defe 186382007-06-23 Robert Millan <rmh@aybabtu.com>
18639
fe6b695a 18640 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 18641 a font file can be found and, if so, echo the GRUB path to it.
18642
18643 * util/update-grub.in: Handle multiple terminals depending on user
18644 input, platform availability and font file presence. Propagate
18645 variables of our findings to /etc/grub.d/ children.
18646
18647 * util/grub.d/00_header.in: Handle multiple terminals, based on
18648 environment setup by update-grub.
18649
eface1dc 186502007-06-23 Robert Millan <rmh@aybabtu.com>
18651
ba50d28f 18652 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 18653
bf697e28 186542007-06-21 Robert Millan <rmh@aybabtu.com>
18655
18656 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
18657 indicate end of data section in kernel image.
18658 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
18659 GRUB_KERNEL_MACHINE_DATA_END.
18660
18661 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
18662 space for it.
18663 * kern/i386/efi/startup.S: Likewise.
18664
18665 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
18666 during image generation. Implement --prefix option to override this
18667 patch.
18668 * util/i386/efi/grub-mkimage.c: Likewise.
18669
18670 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
18671 code to make path relative to its root into a separate function.
18672
18673 * util/i386/pc/grub-install.in: Use newly provided
18674 make_system_path_relative_to_its_root() to convert ${grubdir}, then
18675 pass the result to grub-install --prefix.
18676
baa574b4 186772007-06-13 Robert Millan <rmh@aybabtu.com>
18678
18679 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
18680 DEFAULT_DEVICE_MAP.
18681 * util/grub-emu.c: Use above definitions from misc.h instead of
18682 defining them.
18683 * util/grub-mkdevicemap.c: Likewise.
18684 * util/i386/pc/grub-setup.c: Likewise.
18685 * util/grub-probe.c: Likewise.
18686 (probe): Abort with grub_util_error() when either
18687 grub_guess_root_device or grub_util_get_grub_dev fails.
18688
0215dcbf 186892007-06-12 Robert Millan <rmh@aybabtu.com>
18690
18691 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
18692 "pager" assignment.
18693 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
18694 "pcdata".
18695 * util/grub-probe.c (probe): Likewise for "drive_name".
18696
8af2ab7b 186972007-06-11 Robert Millan <rmh@aybabtu.com>
18698
18699 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
18700 not just the cdrom one.
18701
59d31694 187022007-06-11 Robert Millan <rmh@aybabtu.com>
18703
18704 * util/i386/pc/grub-mkrescue.in: Add "set -e".
18705 Add --pkglibdir=DIR option to override pkglibdir.
18706 Mention --image-type=TYPE in help output.
18707 Fix --grub-mkimage (it was a no-op).
fe6b695a 18708 Abort gracefully when no parameter is given.
59d31694 18709
7ee367e4 187102007-06-11 Robert Millan <rmh@aybabtu.com>
18711
18712 * util/i386/pc/grub-mkrescue.in: New file.
18713 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
18714 * Makefile.in: Handle bin_SCRIPTS.
18715
29b0ed46 187162007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
18717
18718 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
18719 list of video modes.
18720
c0f90770 187212007-06-06 Robert Millan <rmh@aybabtu.com>
18722
18723 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
18724 file doesn't exist, or if it is in a filesystem grub can't read.
18725
18726 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
18727 not abort if GRUB_DRIVE could not be defined. Rearrange generated
18728 header comment to fit in 80 columns when the variables are resolved.
18729
18730 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
18731 could be identified by update-grub. Remove redundant check for
fe6b695a 18732 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 18733 handles that).
18734
fb36dc26 187352007-06-04 Robert Millan <rmh@aybabtu.com>
18736
18737 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
18738
18739 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
18740
18741 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
18742
0c68c93e 187432007-06-04 Robert Millan <rmh@aybabtu.com>
18744
18745 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
18746
18747 * include/grub/partition.h: Declare grub_apple_partition_map_init and
18748 grub_apple_partition_map_fini.
18749
18750 * util/biosdisk.c
18751 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
18752 to access >2 TiB disks).
18753
18754 Print disk->total_sectors with %llu instead of %lu, since this
18755 variable is always 64-bit (prevents wrong disk size from being displayed
18756 on either >2 TiB disk or big-endian CPU).
18757
18758 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
18759 into a generic case that supports all (sane) partition maps.
18760
18761 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
18762 breaks big-endian.
18763
18764 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
18765 and grub_apple_partition_map_fini() after that.
18766
0f23eb74 187672007-06-01 Robert Millan <rmh@aybabtu.com>
18768
18769 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
18770
18771 * util/grub.d/00_header.in: Only enable gfxterm when
18772 convert_system_path_to_grub_path() succeeds.
18773
42c71976 187742007-05-20 Robert Millan <rmh@aybabtu.com>
18775
18776 * util/update-grub_lib.in: New file.
18777 * DISTLIST: Add update-grub_lib.in.
18778 * conf/common.rmk: Generate update-grub_lib and install it in
18779 $(lib_DATA).
18780 * Makefile.in: Add install routine for $(lib_DATA).
18781
18782 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
18783 function provided by update-grub_lib to support arbitrary paths of
18784 unifont.pff.
18785 * util/update-grub.in: Use convert_system_path_to_grub_path() to
18786 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
18787
5beb2291 187882007-05-19 Robert Millan <rmh@aybabtu.com>
18789
18790 * commands/i386/cpuid.c: New module.
18791 * DISTLIST: Add it.
18792 * conf/i386-efi.rmk: Enable cpuid.mod.
18793 * conf/i386-pc.rmk: Likewise.
18794
7262eca1 187952007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
18796
18797 * kern/disk.c (grub_disk_read): Check return value of
18798 grub_realloc().
18799
260ba823 188002007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
18801
18802 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
18803 arrays.
18804 * disk/raid.c (grub_raid_open): Likewise.
18805
1ecb6cf2 188062007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
18807
18808 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
18809 stack instead of on the heap.
18810
18811 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
18812 before doing a read on it.
18813
18814 * configure.ac: Only use -fno-stack-protector for the target
18815 environment.
f19dbdb7 18816
21c8cbb1 188172007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
18818
18819 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
18820 __attribute_ ((unused)) to mode_type argument.
18821
18822 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 18823
21c8cbb1 18824 * kern/misc.c (memcmp): Fix prototype.
18825
18826 * include/grub/partition.h [GRUB_UTIL]
18827 (grub_gpt_partition_map_init): Add prototype.
18828 (grub_gpt_partition_map_fini): Likewise.
18829
18830 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
18831 at the right place.
18832
18833 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
18834 (grub_fat_read_data): Likewise.
18835 (grub_fat_find_dir): Likewise.
18836
18837 * font/manager.c (find_glyph): Make table a const.
18838 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 18839
849d55d3 188402007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
18841
18842 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
18843 code, first search for device in /dev/mapper, then in /dev.
18844 (grub_util_get_grub_dev): New function.
18845 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
18846 prototype.
18847 * util/grub-probe.c (probe): Remove check for RAID, call
18848 grub_util_get_grub_dev() instead of
18849 grub_util_biosdisk_get_grub_dev().
18850 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
18851 grub_util_biosdisk_get_grub_dev().
18852 * util/i386/pc/grub-setup.c (main): Likewise.
18853
8fff7c2f 188542007-05-16 Robert Millan <rmh@aybabtu.com>
18855
18856 * DISTLIST: Update for the latest changes.
18857 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
18858 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
18859 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
18860 grub/util/biosdisk.h.
18861 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
18862 grub/util/biosdisk.h.
18863
48e12b52 188642007-05-16 Robert Millan <rmh@aybabtu.com>
18865
18866 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
18867
46b9d128 188682007-05-16 Robert Millan <rmh@aybabtu.com>
18869
18870 * util/i386/efi/grub-install.in: New.
18871 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
18872 newly added grub-install.
18873 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
18874 include.
18875 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
18876 grub/util/biosdisk.h.
18877 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
18878 grub/util/biosdisk.h.
18879
2d1a40a9 188802007-05-16 Robert Millan <rmh@aybabtu.com>
18881
18882 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
18883 * include/grub/util/biosdisk.h: ... here.
18884 * util/i386/pc/biosdisk.c: Moved to ...
18885 * util/biosdisk.c: ... here.
18886 * util/i386/pc/getroot.c: Moved to ...
18887 * util/getroot.c: ... here.
18888 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
18889 * util/grub-mkdevicemap.c: ... here.
18890 * util/i386/pc/grub-probe.c: Moved to ...
18891 * util/grub-probe.c: ... here.
18892
9e26e3bc 188932007-05-15 Robert Millan <rmh@aybabtu.com>
18894
18895 * util/update-grub.in: Remove duplicated line in grub.cfg header
18896 message.
18897
57f96397 188982007-05-13 Robert Millan <rmh@aybabtu.com>
18899
18900 * util/update-grub.in: Fix a few assumptions about the devices holding
18901 /, /boot and /boot/grub being the same.
18902 * util/grub.d/00_header.in: Likewise.
18903 * util/grub.d/10_hurd.in: Likewise.
18904 * util/grub.d/10_linux.in: Likewise.
18905
18906 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
18907 patterns. Use that to define the `.old' suffix as older than `'.
18908
18909 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
18910
18911 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
18912 the grub.cfg header message.
18913
2e610d62 189142007-05-11 Robert Millan <rmh@aybabtu.com>
18915
18916 * util/update-grub.in: Create device.map if it doesn't already exist,
18917 before attempting to run grub-probe.
18918 Check for grub-probe and grub-mkdevicemap with the same code
18919 grub-install is using.
18920 Remove test mode.
18921
3f6a10ef 189222007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
18923
18924 * Makefile.in: Add the datarootdir autoconf variable.
18925
02e7b75e 189262007-05-09 Robert Millan <rmh@aybabtu.com>
18927
18928 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 18929 fail gracefully if dev->disk->partition == NULL.
02e7b75e 18930
75f396cc 189312007-05-07 Robert Millan <rmh@aybabtu.com>
18932
18933 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
18934 determine partition map module.
18935 * util/i386/pc/grub-install.in: Use this feature to decide which
18936 partition module to load, instead of hardcoding pc and gpt.
18937
da65cb36 189382007-05-07 Robert Millan <rmh@aybabtu.com>
18939
18940 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
18941 source directory differs from build directory.
18942
b57d6a91 189432007-05-05 Robert Millan <rmh@aybabtu.com>
18944
18945 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
18946 initialisation.
18947
509d00f1 189482007-05-05 Robert Millan <rmh@aybabtu.com>
18949
18950 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
18951
c48f23ef 189522007-05-05 Robert Millan <rmh@aybabtu.com>
18953
18954 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
18955 command-line arguments via ${GRUB_CMDLINE_LINUX}.
18956
20b97658 189572007-05-05 Robert Millan <rmh@aybabtu.com>
18958
18959 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
18960 (grub_probe_SOURCES): Likewise.
18961 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
18962 GPT and initialize dos_part and bsd_part accordingly.
18963 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
18964 install_bsd_part.
18965 (main): Activate gpt module for use during partition identification,
18966 and deactivate it afterwards.
18967 * util/i386/pc/grub-install.in: Add gpt module to core.img.
18968 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
18969 partition identification, and deactivate it afterwards.
18970
99123174 189712007-05-05 Robert Millan <rmh@aybabtu.com>
18972
18973 * term/i386/pc/console.c (grub_console_fini): Call
18974 grub_term_set_current() before grub_term_unregister().
18975
ebd97f6e 189762007-05-04 Robert Millan <rmh@aybabtu.com>
18977
18978 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
18979 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
18980 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
18981 and update-grub_DATA.
18982 * conf/common.rmk: Build and install update-grub components.
18983 * conf/common.mk: Regenerate.
18984 * util/update-grub.in: New. Core of update-grub.
18985 * util/grub.d/00_header.in: New. Generates grub.cfg header.
18986 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
18987 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
18988 * util/grub.d/README: New. Document grub.d directory layout.
18989
b06a264d 189902007-05-01 Robert Millan <rmh@aybabtu.com>
18991
18992 * util/grub-emu.c: Move initialization functions
18993 grub_util_biosdisk_init() and grub_init_all() before
18994 grub_util_biosdisk_get_grub_dev(), which relies on them.
18995
41f0050e 189962007-04-19 Robert Millan <rmh@aybabtu.com>
18997
18998 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
18999 it is used later.
19000
04582bb3 190012007-04-18 Jerone Young <jerone@gmail.com>
19002
f19dbdb7 19003 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 19004 stanza.
19005
08db4632 190062007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 19007
08db4632 19008 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
19009 continue on and look for device node with real device name.
19010
801b76be 190112007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 19012
fe6b695a 19013 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 19014 ability.
19015 * Makefile.in: Add autoconf package transformation code.
19016 * util/i386/pc/grub-install.in: Likewise.
19017 * util/powerpc/ieee1275/grub-install.in: Likewise.
19018
6795c4e1 190192007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
19020
19021 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
19022 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
19023 (EXT2_REVISION): Likewise.
19024 (EXT2_INODE_SIZE): Likewise.
19025 (struct grub_ext2_block_group): Added a missing member
19026 "used_dirs".
19027 (grub_ext2_read_inode): Divide by the inode size in a superblock
19028 instead of 128 to obtain INODES_PER_BLOCK.
19029 Use the macro EXT2_INODE_SIZE instead of directly using
19030 SBLOCK->INODE_SIZE.
19031
d70af616 190322007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
19033
19034 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
19035 superblock instead of the structure size to compute an
19036 offset. This fixes the problem that GRUB could not read a
19037 filesystem when inode size is different from 128-byte.
19038
3b801603 190392007-03-05 Marco Gerards <marco@gnu.org>
19040
19041 * normal/main.c (read_config_file): When "menu" is not set, create
19042 an initial context.
19043
4785bfe4 190442007-02-21 Hollis Blanchard <hollis@penguinppc.org>
19045
19046 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
19047 (HEAP_LIMIT): New macro.
19048 (grub_claim_heap): Claim memory up to `heaplimit'.
19049
a0cbb023 190502007-02-21 Hollis Blanchard <hollis@penguinppc.org>
19051
19052 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
19053 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
19054 (_start): Likewise.
19055 (grub_arch_modules_addr): Return address after `_end'.
19056 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
19057 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
19058 (add_segments): Calculate `_end' from phdr size and location.
19059 (ALIGN_UP): Moved to ...
19060 * include/grub/misc.h: here.
19061 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
19062 New macro.
19063 (GRUB_IEEE1275_MODULE_BASE): Removed.
19064
fd7d8eba 190652007-02-20 Hollis Blanchard <hollis@penguinppc.org>
19066
19067 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
19068 loop boundary.
19069
9b09e6fc 190702007-02-20 Hollis Blanchard <hollis@penguinppc.org>
19071
19072 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
19073 All users updated.
19074 (grub_elf64_load_hook_t): Likewise.
19075 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
19076 debug output.
19077
3ce27299 190782007-02-20 Hollis Blanchard <hollis@penguinppc.org>
19079
19080 * kern/mm.c: Update copyright.
19081 (grub_mm_debug): Correct syntax error.
19082 (grub_mm_dump_free): New function.
19083 (grub_debug_free): Call `grub_free'.
19084 * include/grub/mm.h: Update copyright.
19085 (grub_mm_dump_free): Add declaration.
19086
077d5fee 190872007-02-12 Hollis Blanchard <hollis@penguinppc.org>
19088
19089 * include/grub/ieee1275/ieee1275.h: Update copyright.
19090 * kern/powerpc/ieee1275/init.c: Likewise.
19091 * kern/powerpc/ieee1275/openfw.c: Likewise.
19092
19093 * loader/powerpc/ieee1275/linux.c: Likewise.
19094 * include/grub/elfload.h: Likewise.
19095 * kern/elf.c: Likewise.
19096 (grub_elf32_load): Pass `base' and `size' parameters. Update all
19097 callers.
19098 (grub_elf64_load): Likewise.
19099 (grub_elf32_load_segment): Move to a nested function.
19100 (grub_elf64_load_segment): Likewise.
19101
dc946850 191022007-02-12 Hollis Blanchard <hollis@penguinppc.org>
19103
19104 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
19105 prototype.
19106 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
19107 (grub_heap_len): Likewise.
19108 (HEAP_SIZE): New macro.
19109 (grub_claim_heap): New function.
19110 (grub_machine_init): Don't claim heap directly. Call
19111 `grub_claim_heap'.
19112 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
19113 (grub_available_iterate): New function.
19114
baa2a121 191152007-02-03 Thomas Schwinge <tschwinge@gnu.org>
19116
19117 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
19118 * configure.ac: Use it for testing the HOST and TARGET compilers.
19119
4fe9862e 191202006-12-13 Thomas Schwinge <tschwinge@gnu.org>
19121
19122 * Makefile.in (enable_grub_emu): New variable.
19123 * configure.ac (--enable-grub-emu): New option.
19124 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
19125 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
19126 * conf/i386-pc.rmk: Likewise.
19127 * conf/powerpc-ieee1275.rmk: Likewise.
19128 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
19129
a8aa5762 191302006-12-12 Marco Gerards <marco@gnu.org>
19131
19132 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
19133
19134 * kern/env.c (grub_env_unset): Don't free the member `value' when
19135 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
19136 pointer.
19137
19138 * normal/main.c (current_menu): Removed.
19139 (free_menu): Unset the `menu' environment variable.
19140 (grub_normal_menu_addentry): Make use of the environment variable
19141 `menu', instead of using the global `current_menu'. Allocate
19142 memory for the sourcecode of this entry.
19143 (read_config_file): New argument `nested', changed all callers.
19144 Only in the case of a new context, initialize a new menu. Set the
19145 `menu' environment variable.
19146 (grub_normal_execute): Don't set and unset the environment
19147 variable `menu' here anymore. Only free the menu when leaving the
19148 context.
19149
19150 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
19151 leak.
19152
957b3a3e 191532006-12-11 Marco Gerards <marco@gnu.org>
19154
19155 * normal/menu_entry.c (run): Fix off by one bug so the last line
19156 is executed. Move the loader check to outside the loop.
19157
ef875714 191582006-12-08 Hollis Blanchard <hollis@penguinppc.org>
19159
19160 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
19161
4e739985 191622006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
19163
19164 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
19165 the number of sectors. Reported by Andrey Shuvikov
19166 <mr_hyro@yahoo.com>.
f19dbdb7 19167
790707f2 191682006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
19169
19170 * kern/disk.c (grub_disk_read): When there is a read error, always
19171 try to read only the necessary data.
f19dbdb7 19172
790707f2 19173 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
19174 disk/raid.c.
19175 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
19176 prototype.
19177 [GRUB_UTIL] (grub_raid_fini): Likewise.
19178 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 19179 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 19180 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
19181 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
19182 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
19183 and grub_raid_fini().
f19dbdb7 19184
03e58196 191852006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
19186
19187 * include/grub/types.h (__unused): Rename to UNUSED.
19188 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
19189 (grub_elf64_size): Likewise.
f19dbdb7 19190
ae4f23bf 191912006-11-03 Hollis Blanchard <hollis@penguinppc.org>
19192
19193 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
19194 grub_error_push and grub_error_pop in the error-handling path.
19195 (grub_elf32_load_segment): Only call grub_file_read with non-zero
19196 length.
19197
2166cc83 191982006-11-03 Hollis Blanchard <hollis@penguinppc.org>
19199
19200 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
19201 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19202 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19203 (kernel_elf_SOURCES): Likewise.
19204 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
19205 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
19206 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
19207 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
19208 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
19209 (elf_mod_SOURCES): New variable.
19210 (elf_mod_CFLAGS): Likewise.
19211 (elf_mod_LDFLAGS): Likewise.
19212 * include/grub/types.h (__unused): New macro.
19213 * include/grub/elfload.h: New file.
19214 * kern/elf.c: Likewise.
19215 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
19216 (ELF32_LOADMASK): New macro.
19217 (ELF64_LOADMASK): Likewise.
19218 (vmlinux): Removed.
19219 (grub_linux_load32): New function.
19220 (grub_linux_load64): Likewise.
19221 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
19222 Use grub_elf_t instead of grub_file_t.
19223
a09d5aa5 192242006-11-02 Hollis Blanchard <hollis@penguinppc.org>
19225
19226 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
19227 `catch_result' to struct set_color_args.
19228
d976fc51 192292006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
19230
19231 * normal/menu.c: Include grub/script.h.
19232 * normal/menu_entry.c: Likewise.
19233 * include/grub/normal.h: Do not include grub/script.h.
19234
67507549 192352006-10-27 Hollis Blanchard <hollis@penguinppc.org>
19236
19237 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
19238
69203a99 192392006-10-27 Hollis Blanchard <hollis@penguinppc.org>
19240
19241 * kern/disk.c (grub_disk_open): Print debug messages when opening a
19242 disk.
19243 (grub_disk_close): Print debug messages when closing a disk.
19244 (grub_disk_read): Print debug messages when disk read fails.
19245 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
19246 filesystem type.
19247 * kern/partition.c: Include misc.h.
19248 (grub_partition_iterate): Print debug messages when detecting
19249 partition type.
19250
e2b8278c 192512006-10-27 Hollis Blanchard <hollis@penguinppc.org>
19252
19253 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
19254 is negative.
19255 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
19256
97b2f2ff 192572006-10-26 Hollis Blanchard <hollis@penguinppc.org>
19258
19259 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
19260 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
19261
6555d655 192622006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
19263
19264 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
19265 instead of sizeof(lv). Patch by Michael Guntsche.
19266
4d42b77f 192672006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
19268
19269 * disk/lvm.c: Rename VGS to VG_LIST.
19270 (grub_lvm_iterate): Change VGS->LV to VG-LV.
19271 (grub_lvm_open): Likewise.
19272 Thanks to Michael Guntsche for finding this bug.
19273
5d74d927 192742006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
19275
19276 * configure.ac (AC_INIT): Bumped to 1.95.
19277
a1bb27e4 192782006-10-14 Robert Millan <rmh@aybabtu.com>
19279
19280 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
19281 with "/dev/.static/dev/md".
19282
e0994b8b 192832006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
19284
19285 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
19286 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
19287 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
19288 DRIVE_NAME are always freed.
19289
19290 * util/i386/pc/biosdisk.c (make_device_name): Add one into
19291 DOS_PART, as a DOS partition is counted from one instead of zero
19292 now. Reported by Robert Millan.
19293
ddd5cee9 192942006-10-14 Robert Millan <rmh@aybabtu.com>
19295
19296 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
19297 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
19298 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
19299 string returned by grub_guess_root_device.
19300 * util/i386/pc/grub-setup.c: Likewise.
19301 * util/i386/pc/grub-probefs.c: Likewise.
19302
19303 * util/i386/pc/grub-probefs.c: Rename to ...
19304 * util/i386/pc/grub-probe.c: ... this.
19305 * DISTLIST: Remove grub-probefs, add grub-probe.
19306 * conf/i386-efi.rmk: Likewise.
19307 * conf/i386-pc.rmk: Likewise.
19308 * util/i386/pc/grub-install.in: Likewise.
19309
19310 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
19311 choose which information we want to print.
19312
2b002173 193132006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
19314
19315 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
19316 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
19317 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
19318 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
19319 video/readers/tga.c and video/i386/pc/vbeutil.c.
19320
193212006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
19322
19323 Added support for RAID and LVM.
f19dbdb7 19324
2b002173 19325 * disk/lvm.c: New file.
19326 * disk/raid.c: Likewise.
19327 * include/grub/lvm.h: Likewise.
f19dbdb7 19328 * include/grub/raid.h: Likewise.
2b002173 19329 * include/grub/util/lvm.h: Likewise.
19330 * include/grub/util/raid.h: Likewise.
19331 * util/lvm.c: Likewise.
19332 * util/raid.c: Likewise.
19333
19334 * include/grub/disk.h (grub_disk_dev_id): Add
19335 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
19336 (grub_disk_get_size): New prototype.
19337 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
19338 returns a partition.
19339 (grub_disk_get_size): New function.
f19dbdb7 19340
2b002173 19341 * kern/i386/pc/init.c (make_install_device): Copy the prefix
19342 verbatim if grub_install_dos_part is -2.
19343
19344 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
19345 and LVM devices.
19346
19347 * util/i386/pc/grub-setup.c (setup): New argument
19348 MUST_EMBED. Force embedding of GRUB when the argument is
19349 true. Close FILE before returning.
19350 (main): Add support for RAID and LVM.
f19dbdb7 19351
2b002173 19352 * conf/common.rmk: Add RAID and LVM modules.
19353 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
19354 util/lvm.c.
19355 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
19356
19357 * kern/misc.c (grub_strstr): New function.
19358 * include/grub/misc.h (grub_strstr): New prototype.
19359
050548d0 193602006-10-10 Tristan Gingold <tristan.gingold@bull.net>
19361
19362 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
19363
da849d2d 193642006-10-05 Tristan Gingold <tristan.gingold@bull.net>
19365
19366 * kern/misc.c (grub_strtoull): Guess the base only if not
19367 specified.
19368
97b2f2ff 193692006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 19370
19371 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
19372 PowerMac support.
19373
97b2f2ff 193742006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 19375
19376 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
19377
19378 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
19379 Remove `flags' argument. All callers changed.
19380 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
19381 (IEEE1275_IHANDLE_INVALID): New variable.
19382 (IEEE1275_CELL_INVALID): New variable.
19383 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
19384 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
19385 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
19386 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
19387 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
19388 codes from Open Firmware. All callers updated.
19389 (grub_ieee1275_next_property): Directly return Open Firmware return
19390 code.
19391 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
19392 Standardize error checking from `grub_ieee1275_get_property'.
19393 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
19394 `devalias' to `aliases'. Correct comments. Consolidate error paths.
19395
97b2f2ff 193962006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 19397
19398 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
19399 `instance_to_package_args' to `instance_to_path_args'.
19400
19401 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
19402 `grub_ieee1275_chosen'.
19403
19404 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
19405 `grub_ieee1275_interpret'.
19406
97b2f2ff 194072006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 19408
19409 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
19410
97b2f2ff 194112006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 19412
19413 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
19414 (__cmpdi): Likewise.
19415
19416 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
19417 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
19418 `grub_ssize_t'.
19419
02bb8acc 19420 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 19421
19422 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
19423 to type `grub_ssize_t'.
19424 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
19425
7f9a8531 194262006-09-22 Marco Gerards <marco@gnu.org>
19427
19428 * normal/script.c (grub_script_create_cmdmenu): Skip leading
19429 newlines.
19430
b5ef1102 194312006-09-22 Marco Gerards <marco@gnu.org>
19432
19433 * commands/echo.c: New file.
19434
19435 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
19436
19437 * conf/common.rmk (echo_mod_SOURCES): New variable.
19438 (echo_mod_CFLAGS): Likewise.
19439 (echo_mod_LDFLAGS): Likewise.
19440
2cff3677 194412006-09-22 Marco Gerards <marco@gnu.org>
19442
19443 * normal/main.c (get_line): Malloc memory instead of using
19444 preallocated memory. Removed the arguments `cmdline' and
19445 `max_len'. Updated all callers.
19446
6ba4688b 194472006-09-22 Marco Gerards <marco@gnu.org>
19448
19449 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
19450 (normal_mod_DEPENDENCIES): Likewise.
19451
19452 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
19453 (normal_mod_DEPENDENCIES): Likewise.
19454
19455 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
19456
e02ac02c 194572006-09-22 Johan Rydberg <jrydberg@gnu.org>
19458
19459 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
19460 programs.
19461 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
19462 (normal_mod_DEPENDENCIES): Likewise.
19463 * conf/i386-pc.mk: Regenerate.
19464 * conf/i386-efi.mk: Likewise
19465 * conf/common.mk: Likewise.
19466 * conf/powerpc-ieee1275.mk: Likewise.
19467 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 19468
8d252e44 194692006-09-22 Robert Millan <rmh@aybabtu.com>
19470
19471 Sync with i386 version.
19472 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
19473 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
19474
209bf7ac 194752006-09-21 Robert Millan <rmh@aybabtu.com>
19476
19477 Import from GRUB Legacy (lib/device.c):
19478 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
19479 (init_device_map) [__linux__]: Add support for I2O devices.
19480
6b146090 194812006-09-14 Marco Gerards <marco@gnu.org>
19482
19483 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
19484 `-melf_i386'.
19485
e38600a8 194862006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 19487
19488 * util/i386/pc/grub-install.in: Skip menu.lst when removing
19489 /boot/grub/*.lst.
78fa1790 19490
2952da5d 19491 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 19492
2952da5d 19493 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
19494 before adding it to device.map.
19495
01b82a64 194962006-08-15 Johan Rydberg <jrydberg@gnu.org>
19497
fe6b695a 19498 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 19499 compiles a file; using the -MD option.
19500 * conf/common.mk: Regenerate.
19501 * conf/i386-pc.mk: Likewise.
19502 * conf/i386-efi.mk: Likewise.
19503 * conf/powerpc-ieee1275.mk: Likewise.
19504 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 19505
1064790d 195062006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
19507
19508 Move the prototypes of grub_setjmp and grub_longjmp to
19509 cpu/setjmp.h, so that each architecture may specify different
19510 attributes.
f19dbdb7 19511
1064790d 19512 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
19513 (grub_longjmp): Likewise.
19514 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
19515 (grub_longjmp): Likewise.
19516 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
19517 (grub_longjmp): Likewise.
19518
19519 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
19520 [!GRUB_UTIL] (grub_longjmp): Removed.
19521
29dda3ed 195222006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
19523
19524 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
19525 "color!" method does not return any value.
19526
ad2a06ed 195272006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
19528
19529 * include/grub/bitmap.h: New file.
19530
19531 * include/grub/i386/pc/vbeutil.h: Likewise.
19532
19533 * video/bitmap.c: Likewise.
19534
19535 * video/readers/tga.c: Likewise.
19536
19537 * video/i386/pc/vbeutil.c: Likewise.
19538
19539 * commands/videotest.c: Code cleanup and updated to reflect to new
19540 video API.
19541
19542 * term/gfxterm.c: Likewise.
19543
19544 * video/video.c: Likewise.
19545
19546 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
19547 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
19548 (bitmap_mod_SOURCES): New entry.
19549 (bitmap_mod_CFLAGS): Likewise.
19550 (bitmap_mod_LDFLAGS): Likewise.
19551 (tga_mod_SOURCES): Likewise.
19552 (tga_mod_CFLAGS): Likewise.
19553 (tga_mod_LDFLAGS): Likewise.
19554
19555 * include/grub/video.h (grub_video_blit_operators): New enum type.
19556 (grub_video_render_target): Changed as forward declaration and moved
19557 actual definition to be video driver specific.
19558 (grub_video_adapter.blit_bitmap): Added blitting operator.
19559 (grub_video_adapter.blit_render_target): Likewise.
19560 (grub_video_blit_bitmap): Likewise.
19561 (grub_video_blit_render_target): Likewise.
19562
19563 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
19564 driver specific render target definition.
19565 (grub_video_vbe_map_rgba): Added driver internal helper.
19566 (grub_video_vbe_unmap_color): Updated to use
19567 grub_video_i386_vbeblit_info.
19568 (grub_video_vbe_get_video_ptr): Likewise.
19569
19570 * include/grub/i386/pc/vbeblit.h
19571 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
19572 grub_video_i386_vbeblit_info.
19573 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
19574 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
19575 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
19576 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
19577 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
19578 (grub_video_i386_vbeblit_index_index): Likewise.
19579 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
19580 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
19581 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
19582 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
19583 operator.
19584 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
19585 operator.
19586
19587 * video/i386/pc/vbeblit.c: Updated to reflect changes on
19588 include/grub/i386/pc/vbeblit.h.
19589
19590 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
19591 Updated to use grub_video_i386_vbeblit_info.
19592 (grub_video_i386_vbefill_R8G8B8): Likewise.
19593 (grub_video_i386_vbefill_index): Likewise.
19594 (grub_video_i386_vbefill): Added generic filler.
19595
19596 * video/i386/pc/vbefill.c: Updated to reflect changes on
19597 include/grub/i386/pc/vbefill.h.
19598
19599 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
19600 grub_video_i386_vbeblit_info.
19601 (grub_video_vbe_unmap_color): Likewise.
19602 (grub_video_vbe_blit_glyph): Likewise.
19603 (grub_video_vbe_scroll): Likewise.
19604 (grub_video_vbe_draw_pixel): Removed function.
19605 (grub_video_vbe_get_pixel): Likewise.
19606 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
19607 updated code to use it.
19608 (common_blitter): Added common blitter for render target and bitmap.
19609 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
19610 (grub_video_vbe_blit_render_target): Likewise.
19611
bc8c036d 196122006-07-30 Johan Rydberg <jrydberg@gnu.org>
19613
19614 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
19615 is in text mode if there is no console control protocol instance
19616 available.
19617
684a8eff 196182006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
19619
19620 * include/grub/video.h: Code cleanup.
19621
19622 * include/grub/i386/pc/vbe.h: Likewise.
19623
19624 * video/i386/pc/vbe.c: Likewise.
19625
19626 * video/i386/pc/vbeblit.c: Likewise.
19627
19628 * video/i386/pc/vbefill.c: Likewise.
19629
19630 * video/video.c: Likewise. Also added more comments.
19631
5915059b 196322006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
19633
19634 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
19635 (struct grub_biosdisk_dap): Likewise.
19636
19637 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
19638 linkage settings for all functions.
19639
90ce5d56 196402006-07-12 Marco Gerards <marco@gnu.org>
19641
19642 * configure.ac (--enable-mm-debug): Fix typo.
19643
19644 * genkernsyms.sh.in: Use proper quoting for `CC'.
19645
43e7f879 196462006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
19647
19648 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
19649 (normal_mod_ASFLAGS): Remove "-m32".
19650
4889bdec 196512006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
19652
19653 * util/misc.c: Include config.h.
19654 [!HAVE_MEMALIGN]: Do not include malloc.h.
19655 (grub_memalign): Use posix_memalign, if present. Then, use
19656 memalign, if present. Otherwise, emit an error.
19657
19658 * util/grub-emu.c: Do not include malloc.h.
19659
19660 * include/grub/util/misc.h: Include unistd.h. This is required for
19661 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
19662 D. Eades III <hde@foobar-qux.org>.
19663
19664 * configure.ac (AC_GNU_SOURCE): Added.
19665 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
19666 type.
19667
fd39d4da 196682006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
19669
19670 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
19671 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
19672
b786f3b5 196732006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
19674
19675 * include/grub/types.h (grub_host_addr_t): Rename to
19676 grub_target_addr_t.
19677 (grub_host_off_t): Rename to grub_target_off_t.
19678 (grub_host_size_t): Rename to grub_target_size_t.
19679 (grub_host_ssize_t): Rename to grub_target_ssize_t.
19680 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
19681
19682 * include/grub/kernel.h (struct grub_module_header): Change type
19683 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
19684 (grub_module_info): Likewise.
f19dbdb7 19685
051988bb 196862006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
19687
19688 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
19689 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
19690 Velazquez <jesus.velazquez@gmail.com>.
19691
deae281b 196922006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
19693
19694 Count partitions from 1 instead of 0 in the string representation
19695 of partitions. Still use 0-based internally.
f19dbdb7 19696
deae281b 19697 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
19698 (sun_partition_map_iterate): Use grub_partition_t instead of
19699 struct grub_partition *. Cast DESC->START_CYLINDER to
19700 grub_uint64_t after converting the endian.
19701 (sun_partition_map_probe): Subtract 1 for PARTNUM.
19702 (sun_partition_map_get_name): Add 1 to P->INDEX.
19703
19704 * partmap/pc.c (grub_partition_parse): Subtract 1 for
19705 PCDATA->DOS_PART.
19706 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
19707
19708 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
19709 zero instead of one.
19710 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
19711 (gpt_partition_map_get_name): Add 1 into P->INDEX.
19712
19713 * partmap/apple.c (apple_partition_map_iterate): Change the type
19714 of POS to unsigned.
19715 (apple_partition_map_probe): Subtract 1 for PARTNUM.
19716 (apple_partition_map_get_name): Add 1 into P->INDEX.
19717
19718 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
19719 of POS to unsigned.
19720 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
19721 calculate the offset of a partition.
19722 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
19723 (amiga_partition_map_get_name): Add 1 into P->INDEX.
19724
19725 * partmap/acorn.c (acorn_partition_map_find): Change the type of
19726 SECTOR to grub_disk_addr_t.
19727 (acorn_partition_map_iterate): Likewise.
19728 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
19729 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
19730 top.
19731 (acorn_partition_map_get_name): Add 1 into P->INDEX.
19732
19733 * kern/i386/pc/init.c (make_install_device): Add 1 into
19734 GRUB_INSTALL_DOS_PART.
19735
19736 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
19737 conditional.
19738
524a1e6a 197392006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
19740
19741 Clean up the code to support 64-bit addressing in disks and
19742 files. This change is not enough for filesystems yet.
f19dbdb7 19743
524a1e6a 19744 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
19745 type of "start" to grub_uint64_t.
19746 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
19747 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
19748 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
19749 convert addresses.
19750
19751 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
19752 to grub_disk_addr_t.
19753
19754 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
19755 string.
19756
19757 * partmap/pc.c (pc_partition_map_iterate): Likewise.
19758
19759 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
19760 to char *.
19761
19762 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
19763
19764 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
19765
19766 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
19767
19768 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
19769 to grub_off_t, to detect an error from grub_file_seek.
19770 (grub_multiboot_load_elf32): Likewise.
19771
19772 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
19773 maximum unsigned long value when an overflow is detected.
19774 (grub_strtoull): New function.
19775 (grub_divmod64): Likewise.
19776 (grub_lltoa): use grub_divmod64.
19777
19778 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
19779 grub_disk_addr_t.
19780 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
19781 the pointer to next character. Use grub_strtoull instead of
19782 grub_strtoul.
19783 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
19784 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
19785 respectively.
19786
fe6b695a 19787 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 19788 return value is signed.
19789 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
19790 test if OFFSET is less than zero, as OFFSET is unsigned now.
19791
19792 * kern/disk.c (struct grub_disk_cache): Change the type of
19793 "sector" to grub_disk_addr_t.
19794 (grub_disk_cache_get_index): Change the type of SECTOR to
19795 grub_disk_addr_t. Calculate the hash with SECTOR casted to
19796 unsigned after shifting.
19797 (grub_disk_cache_invalidate): Change the type of SECTOR to
19798 grub_disk_addr_t.
19799 (grub_disk_cache_unlock): Likewise.
19800 (grub_disk_cache_store): Likewise.
19801 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
19802 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
19803 grub_disk_addr_t and grub_uint64_t, respectively.
19804 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
19805 body, as the value of OFFSET is tweaked by
19806 grub_disk_check_range. Change the types of START_SECTOR, LEN and
19807 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
19808 respectively.
19809 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
19810 body, as the value of OFFSET is tweaked by
19811 grub_disk_check_range. Change the types of LEN and N to
19812 grub_size_t.
19813
19814 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
19815 and "saved_offset" to grub_off_t.
19816 (test_header): Cast BUF to char *.
19817 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
19818 to char *.
19819 (grub_gzio_read): Change the types of OFFSET and SIZE to
19820 grub_off_t and grub_size_t, respectively.
19821
19822 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
19823 Removed.
19824 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
19825 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
19826 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
19827 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
19828 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
19829
19830 * include/grub/types.h (grub_off_t): Unconditionally set to
19831 grub_uint64_t.
19832 (grub_disk_addr_t): Changed to grub_uint64_t.
19833
19834 * include/grub/partition.h (struct grub_partition): Change the
19835 types of "start", "len" and "offset" to grub_disk_addr_t,
19836 grub_uint64_t and grub_disk_addr_t, respectively.
19837 (grub_partition_get_start): Return grub_disk_addr_t.
19838 (grub_partition_get_len): Return grub_uint64_t.
19839
19840 * include/grub/misc.h (grub_strtoull): New prototype.
19841 (grub_divmod64): Likewise.
19842
19843 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
19844 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
19845 grub_off_t, respectively.
19846 All callers and references changed.
19847
19848 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
19849 grub_size_t in "read".
19850 All callers and references changed.
19851
19852 * include/grub/file.h (struct grub_file): Change the types of
19853 "offset" and "size" to grub_off_t and grub_off_t,
19854 respectively. Change the type of SECTOR to grub_disk_addr_t in
19855 "read_hook".
19856 (grub_file_read): Change the type of LEN to grub_size_t.
19857 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
19858 grub_off_t.
19859 (grub_file_size): Return grub_off_t.
19860 (grub_file_tell): Likewise.
19861 All callers and references changed.
19862
19863 * include/grub/disk.h (struct grub_disk_dev): Change the types of
19864 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
19865 "write".
19866 (struct grub_disk): Change the type of "total_sectors" to
19867 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 19868 "read_hook".
524a1e6a 19869 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
19870 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
19871 (grub_disk_write): Likewise.
19872 All callers and references changed.
19873
19874 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
19875 char * for grub_strncmp to silence gcc.
19876 (grub_iso9660_mount): Likewise.
19877 (grub_iso9660_mount): Likewise.
19878 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
19879 return statement.
19880 (grub_iso9660_iterate_dir): Likewise.
19881 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
19882
19883 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
19884 LEN to grub_disk_addr_t and grub_size_t, respectively.
19885
19886 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
19887
19888 * fs/jfs.c (grub_jfs_read_file): Likewise.
19889
19890 * fs/minix.c (grub_jfs_read_file): Likewise.
19891
19892 * fs/sfs.c (grub_jfs_read_file): Likewise.
19893
19894 * fs/ufs.c (grub_jfs_read_file): Likewise.
19895
19896 * fs/xfs.c (grub_jfs_read_file): Likewise.
19897
19898 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
19899 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
19900 respectively.
19901
19902 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
19903 BLKNR to -1 instead of returning GRUB_ERRNO.
19904 (grub_ext2_read_file): Change the types of SECTOR and
19905 LEN to grub_disk_addr_t and grub_size_t, respectively.
19906
19907 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
19908 LEN to grub_disk_addr_t and grub_size_t, respectively.
19909
19910 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
19911 grub_file_read.
19912
19913 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
19914 string. Do not cast SECTOR explicitly.
19915
19916 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
19917 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
19918 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
19919 grub_disk_addr_t and grub_size_t, respectively. If the sector is
19920 over 2TB and LBA mode is not supported, raise an error.
19921 (get_safe_sectors): New function.
19922 (grub_biosdisk_read): Use get_safe_sectors.
19923 (grub_biosdisk_write): Likewise.
19924
19925 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
19926 (grub_efidisk_write): Likewise.
19927
19928 * disk/loopback.c (delete_loopback): Cosmetic changes.
19929 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
19930 correctly.
19931 (grub_loopback_open): Likewise.
19932 (grub_loopback_read): Likewise. Also, change the type of POS to
19933 grub_off_t, and fix the usage of grub_memset.
19934
19935 * commands/i386/pc/play.c: Include grub/machine/time.h.
19936
19937 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
19938 print FILE->SIZE.
19939
19940 * commands/configfile.c: Include grub/env.h.
19941
19942 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
19943 GRUB_ERRNO directly instead. Change the type of POS to
19944 grub_off_t. Follow the coding standard.
19945
19946 * commands/blocklist.c: Include grub/partition.h.
19947 (grub_cmd_blocklist): Return an error if the underlying device is
19948 not a disk. Take the starting sector of a partition into account,
19949 if a partition is used.
19950
19951 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
19952 a length field.
19953 (lba_mode): Support 64-bit addresses.
19954 (chs_mode): Likewise.
19955 (copy_buffer): Adapted to the new offsets of a length field and a
19956 segment field.
19957 (blocklist_default_start): Allocate 64-bit space.
19958
19959 * boot/i386/pc/boot.S (force_lba): Removed.
19960 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 19961 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 19962 space.
19963 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
19964 is useless.
19965 (lba_mode): Refactored to support a 64-bit address. More size
19966 optimization.
19967 (setup_sectors): Likewise.
19968
53af98ad 199692006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
19970
19971 * DISTLIST: Added include/grub/i386/linux.h. Removed
19972 include/grub/i386/pc/linux.h
19973
19974 * configure.ac (AC_INIT): Bumped to 1.94.
19975
19976 * config.guess: Updated from gnulib.
19977 * config.sub: Likewise.
19978 * install-sh: Likewise.
19979 * mkinstalldirs: Likewise.
19980
b4c1940a 199812006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
19982
19983 * conf/common.rmk (grub_modules_init.lst): Depended on
19984 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
19985 MODSRCFILES.
19986
19987 * genmk.rb (PModule::rule): Reverted the previous change.
19988
cfca1cfd 199892006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
19990
19991 * conf/common.rmk (grub_modules_init.lst): Depends on
19992 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
19993 that the target does not exist before producing.
19994 (grub_modules_init.h): Remove the target before generating.
19995 (grub_emu_init.c): Likewise.
19996
19997 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
19998
aa6d7826 199992006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
20000
20001 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
20002 for the target-specific tests. Make sure that we also have the
20003 up-to-date target variables for those tests.
20004
26c607b9 200052006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
20006
20007 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
20008 (PModule::rule): Likewise.
20009
0162321a 200102006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
20011
20012 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
20013 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
20014 target-specific flags should be prefixed.
20015 (PModule::rule): Likewise.
20016
6c826348 200172006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
20018
20019 * configure.ac (CMP): Check if cmp is available explicitly.
20020
b977bf01 200212006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
20022
20023 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
20024 (target_cpu): New variable.
20025 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 20026
b977bf01 20027 * util/i386/pc/grub-install.in (host_cpu): Removed.
20028 (target_cpu): New variable.
20029 (pkglibdir): Use target_cpu instead of host_cpu.
20030
20031 * util/genmoddep.c: Removed.
f19dbdb7 20032
b977bf01 20033 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
20034 instead of GRUB_HOST_SIZEOF_VOID_P.
20035 * kern/dl.c: Likewise.
20036
20037 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
20038 ...
20039 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
20040 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
20041 (GRUB_TARGET_SIZEOF_LONG): ... this.
20042 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
20043 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
20044 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
20045 to ...
20046 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
20047 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
20048 (GRUB_TARGET_SIZEOF_LONG): ... this.
20049 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
20050 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
20051 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
20052 to ...
20053 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
20054 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
20055 (GRUB_TARGET_SIZEOF_LONG): ... this.
20056 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
20057 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
20058
20059 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
20060 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
20061 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
20062 instead of GRUB_HOST_SIZEOF_LONG.
20063 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
20064 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
20065 GRUB_CPU_WORDS_BIGENDIAN.
20066 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
20067 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
20068 grub_host_ssize_t.
20069
20070 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
20071 (genmoddep_SOURCES): Likewise.
20072 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
20073 (genmoddep_SOURCES): Likewise.
20074 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
20075 (genmoddep_SOURCES): Likewise.
20076 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
20077 Likewise.
20078 (genmoddep_SOURCES): Likewise.
20079
20080 * genmoddep.awk: New file.
20081
20082 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
20083 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
20084 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
20085 (PModule::rule): Likewise.
20086 (Program::rule): Likewise.
20087 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
20088 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
20089 respectively.
20090
20091 * configure.ac: Rewritten intensively to use host and target
20092 instead of build and host, respectively.
20093
20094 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
20095 (host_cpu): Removed.
20096 (target_cpu): New variable.
20097 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
20098 (BUILD_CC): Removed.
20099 (BUILD_CFLAGS): Likewise.
20100 (BUILD_CPPFLAGS): Likewise.
20101 (TARGET_CC): New variable.
20102 (TARGET_CFLAGS): Likewise.
20103 (TARGET_CPPFLAGS): Likewise.
20104 (TARGET_LDFLAGS): Likewise.
20105 (AWK): Likewise.
20106 (include): Use target_cpu instead of host_cpu.
20107 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 20108
b977bf01 20109 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
20110
f09771a1 201112006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
20112
20113 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
20114 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
20115 field 'false' to 'exec_on_false'.
20116 (grub_script_create_cmdif): Renamed argument names to reflect above
20117 changes.
20118
20119 * normal/execute.c (grub_script_execute_cmdif): Likewise.
20120
20121 * normal/script.c (grub_script_create_cmdif): Likewise.
20122
118f4fb3 201232006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
20124
20125 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
20126 top.
20127 (grub_hfsplus_btree_recptr): Likewise.
20128 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
20129 FILEBLOCK both to pass a block number and store next block
20130 number.
20131 (grub_hfsplus_read_block): Rewritten heavily to support an extent
20132 overflow file correctly. Specify errors appropriately, because
20133 fshelp expects that GRUB_ERRNO is set when fails. Reuse
20134 grub_hfsplus_btree_recptr to get the pointer to a found key.
20135 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
20136 is found.
20137
20138 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
20139 linux.mod.
20140 (_linux_mod_SOURCES): New variable.
20141 (_linux_mod_CFLAGS): Likewise.
20142 (_linux_mod_LDFLAGS): Likewise.
20143 (linux_mod_SOURCES): Likewise.
20144 (linux_mod_CFLAGS): Likewise.
20145 (linux_mod_LDFLAGS): Likewise.
20146
20147 * DISTLIST: Added loader/i386/efi/linux.c,
20148 loader/i386/efi/linux_normal.c and
20149 include/grub/i386/efi/loader.h.
20150
20151 * loader/i386/efi/linux.c: New file.
20152 * loader/i386/efi/linux_normal.c: Likewise.
20153 * include/grub/i386/efi/loader.h: Likewise.
20154
89a7d726 201552006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
20156
20157 * commands/blocklist.c: New file.
20158
20159 * DISTLIST: Added commands/blocklist.c.
20160
20161 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 20162 color for the background, and a darker color for the foreground.
89a7d726 20163 (grub_console_checkkey): Return READ_KEY.
20164 (grub_console_cls): Set the background to
20165 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
20166
20167 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
20168
20169 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
20170 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
20171
20172 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
20173 prototype.
20174
20175 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
20176 BG. The spec is wrong again.
20177
20178 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
20179 prototype.
20180 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
20181
20182 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
20183 commands/blocklist.c.
20184 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 20185
89a7d726 20186 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
20187 (blocklist_mod_SOURCES): New variable.
20188 (blocklist_mod_CFLAGS): Likewise.
20189 (blocklist_mod_LDFLAGS): Likewise.
20190
75c8f258 201912006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
20192
20193 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
20194 duplication.
20195 (lba_mode): Use %eax more intensively to reduce the code size.
20196
da2eb181 201972006-05-20 Marco Gerards <marco@gnu.org>
20198
20199 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
20200
20201 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
20202 for `menuentry'.
20203 (script): Accept leading newlines.
20204 (newlines): New rule to describe 0 or more newlines.
20205 (commands): Accept `command' with trailing newline. Fixed the
20206 order in which arguments were passed to `grub_script_add_cmd'.
20207 Accept commands separated by newlines.
20208 (function): Changed to accept newlines.
20209 (menuentry) Rewritten.
20210
20211 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
20212 front of the list, instead of to the end.
20213
577b4050 202142006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
20215
20216 * util/i386/pc/grub-install.in (bindir): New variable.
20217 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
20218 Shaver <lbgwjl@gmail.com>.
20219
0d6e1189 202202006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
20221
20222 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
20223 grub/machine/linux.h
20224 * loader/i386/pc/linux.c: Likewise.
20225
20226 * include/grub/i386/pc/linux.h: Moved to ...
20227 * include/grub/i386/linux.h: ... here.
20228
20229 * include/grub/i386/linux.h (struct linux_kernel_params): New
20230 struct.
f19dbdb7 20231
31b86e9f 202322006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
20233
20234 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
20235 checking.
20236 (grub_video_vbe_blit_glyph): Likewise.
20237 (grub_video_vbe_blit_bitmap): Likewise.
20238 (grub_video_vbe_blit_render_target): Likewise.
20239
83b984de 202402006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
20241
20242 * configure.ac (--with-platform): Properly quote the square
20243 brackets.
20244
5f0413bd 202452006-05-08 Marco Gerards <marco@gnu.org>
20246
20247 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
20248 this...
20249 (kernel_elf_HEADERS): ...to this. Updated all users.
20250 (grubof_symlist.c): Renamed from this...
20251 (kernel_elf_symlist.c): ...to this. Updated all users.
20252 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
20253 (grubof_SOURCES): Renamed from this...
20254 (kernel_elf_SOURCES): ...to this.
20255 (grubof_HEADERS): Renamed from this...
20256 (kernel_elf_HEADERS): ...to this.
20257 (grubof_CFLAGS): Renamed from this...
20258 (kernel_elf_CFLAGS): ...to this.
20259 (grubof_ASFLAGS): Renamed from this...
20260 (kernel_elf_ASFLAGS): ...to this.
20261 (grubof_LDFLAGS): Renamed from this...
20262 (kernel_elf_LDFLAGS): ...to this.
20263
20264 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
20265 this...
20266 (kernel_elf_HEADERS): ...to this. Updated all users.
20267 (grubof_symlist.c): Renamed from this...
20268 (kernel_elf_symlist.c): ...to this. Updated all users.
20269 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
20270 (grubof_SOURCES): Renamed from this...
20271 (kernel_elf_SOURCES): ...to this.
20272 (grubof_HEADERS): Renamed from this...
20273 (kernel_elf_HEADERS): ...to this.
20274 (grubof_CFLAGS): Renamed from this...
20275 (kernel_elf_CFLAGS): ...to this.
20276 (grubof_ASFLAGS): Renamed from this...
20277 (kernel_elf_ASFLAGS): ...to this.
20278 (grubof_LDFLAGS): Renamed from this...
20279 (kernel_elf_LDFLAGS): ...to this.
20280
20281 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
20282 `kernel.elf' instead of `grubof'.
20283
05568c2e 202842006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
20285
20286 Add --with-platform to configure. Use pkglibdir instead of
20287 pkgdatadir. This is reported by Roger Leigh.
20288
20289 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
20290 (host_vendor): Likewise.
20291 (host_os): Likewise.
20292 (pkgdatadir): Likewise.
20293 (platform): New variable.
20294 (pkglibdir): Likewise.
20295 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 20296
05568c2e 20297 * util/i386/pc/grub-install.in (datadir): Removed.
20298 (host_vendor): Likewise.
20299 (host_os): Likewise.
20300 (pkgdatadir): Likewise.
20301 (platform): New variable.
20302 (pkglibdir): Likewise.
20303 Use PKGLIBDIR instead of PKGDATADIR.
20304
20305 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
20306 instead of GRUB_DATADIR.
20307 (main): Likewise.
20308 * util/i386/pc/grub-mkimage.c (usage): Likewise.
20309 (main): Likewise.
20310 * util/i386/efi/grub-mkimage.c (usage): Likewise.
20311 (main): Likewise.
20312
20313 * configure.ac (--with-platform): New option.
20314 Use PLATFORM instead of HOST_VENDOR to specify a platform.
20315
20316 * Makefile.in: Include a makefile based on PLATFORM instead of
20317 HOST_VENDOR.
20318 (pkgdatadir): Not appended by the machine type.
20319 (pkglibdir): Appended by the machine type.
20320 (host_vendor): Removed.
20321 (platform): New variable.
20322 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
20323 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
20324 (uninstall): Likewise.
20325
4e93851c 203262006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
20327
20328 Use the environment context in the menu. Remove the commands
20329 "default" and "timeout", and use variables instead.
f19dbdb7 20330
4e93851c 20331 * normal/menu.c: Include grub/env.h.
20332 (print_entry): Cast TITLE to silence gcc.
20333 (get_timeout): New function.
20334 (set_timeout): Likewise.
20335 (get_entry_number): Likewise.
20336 (run_menu): Use a default entry, a fallback entry and a timeout
20337 in the environment variables "default", "fallback" and
20338 "timeout". Also, tweak the default entry if it is not within the
20339 current menu entries.
20340 (grub_menu_run): Use a fallback entry in the environment variable
20341 "fallback".
20342
20343 * normal/main.c (read_config_file): Do not initialize
20344 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
20345 NEWMENU->TIMEOUT.
20346 (grub_normal_execute): Use a data slot to store the menu.
20347
20348 * include/grub/normal.h (struct grub_menu): Removed default_entry,
20349 fallback_entry and timeout.
20350 (struct grub_menu_list): Removed.
20351 (grub_menu_list_t): Likewise.
20352 (struct grub_context): Likewise.
20353 (grub_context_t): Likewise.
20354 (grub_context_get): Likewise.
20355 (grub_context_get_current_menu): Likewise.
20356 (grub_context_push_menu): Likewise.
20357 (grub_context_pop_menu): Likewise.
20358 (grub_default_init): Likewise.
20359 (grub_default_fini): Likewise.
20360 (grub_timeout_init): Likewise.
20361 (grub_timeout_fini): Likewise.
20362
20363 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
20364 and timeout.mod.
20365 (normal_mod_SOURCES): Removed normal/context.c.
20366
20367 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
20368 commands/default.c, commands/timeout.c and normal/context.c.
20369 (normal_mod_SOURCES): Removed normal/context.c.
20370
20371 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
20372 commands/timeout.c and normal/context.c.
20373 (normal_mod_SOURCES): Removed normal/context.c.
20374
20375 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
20376 commands/default.c, commands/timeout.c and normal/context.c.
20377 (normal_mod_SOURCES): Removed normal/context.c.
20378
20379 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
20380 timeout.mod.
20381 (default_mod_SOURCES): Removed.
20382 (default_mod_CFLAGS): Likewise.
20383 (default_mod_LDFLAGS): Likewise.
20384 (timeout_mod_SOURCES): Removed.
20385 (timeout_mod_CFLAGS): Likewise.
20386 (timeout_mod_LDFLAGS): Likewise.
20387
20388 * DISTLIST: Removed commands/default.c, commands/timeout.c and
20389 normal/context.c.
20390
20391 * commands/default.c: Removed.
20392 * commands/timeout.c: Likewise.
20393 * normal/context.c: Likewise.
20394
1eb9cc1d 203952006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
20396
20397 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
20398
385bd9c1 203992006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
20400
20401 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
20402 "next" to "prev" for readability.
20403 (struct grub_env_sorted_var): New struct.
20404 (grub_env_context): Renamed to ...
20405 (initial_context): ... this.
20406 (grub_env_var_context): Renamed to ...
20407 (current_context): ... this.
20408 (grub_env_find): Look only at CURRENT_CONTEXT.
20409 (grub_env_context_open): Rewritten to copy exported variables from
20410 previous context.
20411 (grub_env_context_close): Rewritten according to the new
20412 scheme. Also, add an assertion to prevent the initial context from
20413 removed.
20414 (grub_env_insert): Removed the code for the sorted list.
20415 (grub_env_remove): Likewise.
20416 (grub_env_export): Simply mark the variable with
20417 GRUB_ENV_VAR_GLOBAL.
20418 (grub_env_set): A cosmetic change for naming consistency.
20419 (grub_env_get): Likewise.
20420 (grub_env_unset): Likewise.
20421 (grub_env_iterate): Rewritten to sort variables within this
20422 function.
20423 (grub_register_variable_hook): Fixed for naming consistency. Call
20424 grub_env_find again, only if NAME is not found at the first time.
20425 (mangle_data_slot_name): New function.
20426 (grub_env_set_data_slot): Likewise.
20427 (grub_env_get_data_slot): Likewise.
20428 (grub_env_unset_data_slot): Likewise.
20429
20430 * include/grub/env.h (grub_env_var_type): New enum.
20431 (GRUB_ENV_VAR_LOCAL): New constant.
20432 (GRUB_ENV_VAR_GLOBAL): Likewise.
20433 (GRUB_ENV_VAR_DATA): Likewise.
20434 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
20435 "type".
20436 (grub_env_set): Replace VAR with NAME for consistency.
20437 (grub_register_variable_hook): Likewise.
20438 (grub_env_export): Specify the name of the argument.
20439 (grub_env_set_data_slot): New prototype.
20440 (grub_env_get_data_slot): Likewise.
20441 (grub_env_unset_data_slot): Likewise.
20442
7f362539 204432006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
20444
20445 Extend the loader so that GRUB can accept a loader which comes
20446 back to GRUB when a loaded image exits. Also, this change adds
20447 support for a chainloader on EFI.
f19dbdb7 20448
7f362539 20449 * term/efi/console.c: Include grub/misc.h.
20450 (grub_console_checkkey): Display a scan code on the top for
20451 debugging. This will be removed once the EFI port gets stable.
20452 Correct the scan code mapping.
20453
20454 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
20455 allocate memory from larger regions, in order to reduce the number
20456 of allocated regions. Otherwise, the MacOSX loader panics.
20457 (filter_memory_map): Avoid less than 1MB for compatibility with
20458 other loaders.
20459 (add_memory_regions): Allocate from the tail of a region, if
20460 possible, to avoid allocating a region near to 1MB, for the MacOSX
20461 loader.
20462
20463 * kern/efi/init.c (grub_efi_set_prefix): Specify
20464 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
20465
20466 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
20467 argument IMAGE_HANDLE and specify it to get a loaded image.
20468 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
20469 grub_efi_get_loaded_image.
fe6b695a 20470 (grub_efi_get_filename): Divide the length by the size of
7f362539 20471 grub_efi_char16_t.
20472 (grub_efi_get_device_path): New function.
20473 (grub_efi_print_device_path): Print End Device Path nodes. Divide
20474 the length by the size of grub_efi_char16_t for a file path device
20475 path node.
20476
20477 * kern/loader.c (grub_loader_noreturn): New variable.
20478 (grub_loader_set): Accept a new argument NORETURN. Set
20479 GRUB_LOADER_NORETURN to NORETURN.
20480 All callers changed.
20481 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
20482 grub_machine_fini.
20483
20484 * include/grub/efi/efi.h (grub_efi_get_device_path): New
20485 prototype.
20486 (grub_efi_get_loaded_image): Take an argument to specify an image
20487 handle.
20488
20489 * include/grub/loader.h (grub_loader_set): Added one more argument
20490 NORETURN.
20491
20492 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
20493 instead of grub_efi_open_protocol.
20494 (grub_efidisk_get_device_name): Likewise.
20495 (grub_efidisk_close): Print a newline.
20496 (grub_efidisk_get_device_handle): Fixed to use
20497 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
20498 GRUB_EFI_DEVICE_PATH_TYPE.
20499
20500 * disk/efi/efidisk.c (device_path_guid): Moved to ...
20501 * kern/efi/efi.c (device_path_guid): ... here.
20502
20503 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
20504 chain.mod.
20505 (kernel_mod_HEADERS): Added efi/disk.h.
20506 (_chain_mod_SOURCES): New variable.
20507 (_chain_mod_CFLAGS): Likewise.
20508 (_chain_mod_LDFLAGS): Likewise.
20509 (chain_mod_SOURCES): Likewise.
20510 (chain_mod_CFLAGS): Likewise.
20511 (chain_mod_LDFLAGS): Likewise.
20512
20513 * DISTLIST: Added include/grub/efi/chainloader.h,
20514 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
20515
20516 * include/grub/efi/chainloader.h: New file.
20517 * loader/efi/chainloader.c: Likewise.
20518 * loader/efi/chainloader_normal.c: Likewise.
20519
c0111d6e 205202006-04-30 Marco Gerards <marco@gnu.org>
20521
20522 * commands/configfile.c (grub_cmd_source): New function.
20523 (GRUB_MOD_INIT): Register the commands `source' and `.'.
20524 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
20525
df5341da 205262006-04-30 Marco Gerards <marco@gnu.org>
20527
20528 * normal/execute.c (grub_script_execute_cmd): Change the return
20529 type to `grub_err_t'. Correctly return the error.
20530 (grub_script_execute_cmdline): In case a command line is not a
20531 command or a function, try to interpret it as an assignment.
20532
f85934bd 205332006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
20534
20535 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
20536 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
20537 skip a node whose name is obviously invalid as UTF-16,
20538 i.e. contains a NUL character. Stop the iteration when the last
20539 directory entry is found. Instead of using the return value of
20540 grub_hfsplus_btree_iterate_node, store the value in RET and use
20541 it, because the iterator can be stopped by the last directory
20542 entry.
20543
8f8a2cf8 205442006-04-30 Marco Gerards <marco@gnu.org>
20545
20546 * include/grub/env.h (grub_env_export): New prototype. Reported
20547 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
20548
a27e84ce 205492006-04-30 Marco Gerards <marco@gnu.org>
20550
20551 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
20552 size of the extents in a catalog file record.
20553
eaef0553 205542006-04-29 Marco Gerards <marco@gnu.org>
20555
20556 * commands/configfile.c (grub_cmd_configfile): Execute the
20557 configfile within its own context.
20558
20559 * include/grub/env.h (grub_env_context_open): New prototype.
20560 (grub_env_context_close): Likewise.
20561
20562 * kern/env.c (grub_env): Removed.
20563 (grub_env_sorted): Likewise.
20564 (grub_env_context): New variable.
20565 (grub_env_var_context): Likewise.
20566 (grub_env_find): Search both the active context and the global
20567 context.
20568 (grub_env_context_open): New function.
20569 (grub_env_context_close): Likewise.
20570 (grub_env_insert): Likewise.
20571 (grub_env_remove): Likewise.
20572 (grub_env_export): Likewise.
20573 (grub_env_set): Changed to use helper functions to avoid code
20574 duplication.
20575 (grub_env_iterate): Rewritten so both the current context and the
20576 global context are being used.
20577
20578 * normal/command.c (export_command): New function.
20579 (grub_command_init): Register the `export' function.
20580
7b455f4d 205812006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
20582
20583 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
20584 explicitly to suppress gcc's warnings.
20585 * fs/fat.c (grub_fat_find_dir): Likewise.
20586 (grub_fat_label): Likewise.
20587 * fs/xfs.c (grub_xfs_read_inode): Likewise.
20588 (grub_xfs_mount): Likewise.
20589 (grub_xfs_label): Likewise.
20590 * fs/affs.c (grub_affs_mount): Likewise.
20591 (grub_affs_label): Likewise.
20592 (grub_affs_iterate_dir): Likewise.
20593 * fs/sfs.c (grub_sfs_mount): Likewise.
20594 (grub_sfs_iterate_dir): Likewise.
20595 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
20596 * fs/hfs.c (grub_hfs_mount): Likewise.
20597 (grub_hfs_cmp_catkeys): Likewise.
20598 (grub_hfs_find_dir): Likewise.
20599 (grub_hfs_dir): Likewise.
20600 (grub_hfs_label): Likewise.
20601 * fs/jfs.c (grub_jfs_mount): Likewise.
20602 (grub_jfs_opendir): Likewise.
20603 (grub_jfs_getent): Likewise.
20604 (grub_jfs_lookup_symlink): Likewise.
20605 (grub_jfs_label): Likewise.
20606 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
20607 (grub_hfsplus_iterate_dir): Likewise.
20608 (grub_hfsplus_btree_iterate_node): Made static.
20609
20610 * util/grub-emu.c (prefix): New variable.
20611 (grub_machine_set_prefix): New function.
20612 (main): Do not set the environment variable "prefix" here. Only
20613 set PREFIX, which is used later by grub_machine_set_prefix.
20614
20615 * include/grub/video.h: Do not include grub/symbol.h.
20616 (grub_video_register): Not exported. This symbol is not defined in
20617 the kernel.
20618 (grub_video_unregister): Likewise.
20619 (grub_video_iterate): Likewise.
20620 (grub_video_setup): Likewise.
20621 (grub_video_restore): Likewise.
20622 (grub_video_get_info): Likewise.
20623 (grub_video_get_blit_format): Likewise.
20624 (grub_video_set_palette): Likewise.
20625 (grub_video_get_palette): Likewise.
20626 (grub_video_set_viewport): Likewise.
20627 (grub_video_get_viewport): Likewise.
20628 (grub_video_map_color): Likewise.
20629 (grub_video_map_rgb): Likewise.
20630 (grub_video_map_rgba): Likewise.
20631 (grub_video_fill_rect): Likewise.
20632 (grub_video_blit_glyph): Likewise.
20633 (grub_video_blit_bitmap): Likewise.
20634 (grub_video_blit_render_target): Likewise.
20635 (grub_video_scroll): Likewise.
20636 (grub_video_swap_buffers): Likewise.
20637 (grub_video_create_render_target): Likewise.
20638 (grub_video_delete_render_target): Likewise.
20639 (grub_video_set_active_render_target): Likewise.
20640
20641 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
20642 Undefined.
20643 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
20644
20645 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
20646 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
20647 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
20648 instead of $(srcdir)/genkernsyms.sh.
20649
20650 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
20651 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
20652 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
20653 instead of $(srcdir)/genkernsyms.sh.
20654
20655 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
20656 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
20657 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
20658 instead of $(srcdir)/genkernsyms.sh.
20659
20660 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
20661 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
20662 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
20663 instead of $(srcdir)/genkernsyms.sh.
20664
20665 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
20666 genkernsyms.sh.
20667
20668 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
20669 genkernsyms.sh.
20670 (gensymlist.sh): New target.
20671 (genkernsyms.sh): Likewise.
20672
20673 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
20674 genkernsyms.sh.in and gensymlist.sh.in.
20675
20676 * genkernsyms.sh: Removed.
20677 * gensymlist.sh: Likewise.
f19dbdb7 20678
7b455f4d 20679 * genkernsyms.sh.in: New file.
20680 * gensymlist.sh.in: Likewise.
20681
1885bb27 206822006-04-25 Hollis Blanchard <hollis@penguinppc.org>
20683
20684 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
20685 clobber "prefix", since we may have already set it manually.
20686
71538dff 206872006-04-25 Hollis Blanchard <hollis@penguinppc.org>
20688
20689 * kern/misc.c (abort): New alias for grub_abort.
20690
2965c7cc 206912006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
20692
20693 A new machine-specific function "grub_machine_set_prefix" is
20694 defined. This is called after loading modules, so that a prefix
20695 initialization can use modules. Also, this change adds an
20696 intensive debugging feature for the memory manager via the
20697 configure option "--enable-mm-debug".
f19dbdb7 20698
2965c7cc 20699 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
20700 PART.LEN.
20701
20702 * kern/sparc64/ieee1275/init.c (abort): Removed.
20703 (grub_stop): Likewise.
20704 (grub_exit): New function.
20705 (grub_set_prefix): Renamed to ...
20706 (grub_machine_set_prefix): ... this.
20707 (grub_machine_init): Do not call grub_set_prefix.
20708
20709 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
20710 (grub_machine_set_prefix): ... this.
20711 (grub_machine_init): Do not call grub_set_prefix.
20712
20713 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
20714 (grub_machine_init): Do not set the prefix here.
20715
20716 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
20717
20718 * kern/efi/init.c: Include grub/mm.h.
20719 (grub_efi_set_prefix): New function.
20720
20721 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
20722 (grub_efi_get_filename): New function.
20723 (grub_print_device_path): Renamed to ...
20724 (grub_efi_print_device_path): ... this.
20725
20726 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
20727 [MM_DEBUG] (grub_realloc): Likewise.
20728 [MM_DEBUG] (grub_free): Likewise.
20729 [MM_DEBUG] (grub_memalign): Likewise.
20730 [MM_DEBUG] (grub_mm_debug): New variable.
20731 [MM_DEBUG] (grub_debug_malloc): New function.
20732 [MM_DEBUG] (grub_debug_free): New function.
20733 [MM_DEBUG] (grub_debug_realloc): New function.
20734 [MM_DEBUG] (grub_debug_memalign): New function.
20735
20736 * kern/misc.c (grub_abort): Print a newline to distinguish
20737 the message.
20738
20739 * kern/main.c (grub_main): Call grub_machine_set_prefix and
20740 grub_set_root_dev after loading modules. This is necessary when
20741 setting a prefix depends on modules.
20742
20743 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
20744 (grub_efi_print_device_path): ... this.
20745 (grub_efi_get_filename): New prototype.
20746 (grub_efi_set_prefix): Likewise.
20747
20748 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
20749 and grub/disk.h.
20750 (grub_efidisk_get_device_handle): New prototype.
20751 (grub_efidisk_get_device_name): Likewise.
20752
20753 * include/grub/mm.h: Include config.h.
20754 (MM_DEBUG): Removed.
20755 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
20756 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
20757 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
20758 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
20759 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
20760 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
20761 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
20762 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
20763 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
20764
20765 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
20766
20767 * disk/efi/efidisk.c: Include grub/partition.h.
20768 (iterate_child_devices): New function.
20769 (add_device): First, compare only last device path nodes, so that
20770 devices are sorted by the types.
20771 (grub_efidisk_get_device_handle): New function.
20772 (grub_efidisk_get_device_name): Likewise.
20773
20774 * configure.ac (--enable-mm-debug): New option to enable the
20775 memory manager debugging feature. This makes the binary much
20776 bigger, so is disabled by default.
20777
9cacaa17 207782006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
20779
20780 Use grub_abort instead of grub_stop, and grub_exit must be
20781 define in each architecture now. Also, this change adds support
20782 for EFI disks.
f19dbdb7 20783
9cacaa17 20784 * util/i386/pc/grub-probefs.c: Include grub/term.h.
20785 (grub_getkey): New function.
20786 (grub_term_get_current): Likewise.
20787
20788 * util/i386/pc/grub-setup.c: Include grub/term.h.
20789 (grub_getkey): New function.
20790 (grub_term_get_current): Likewise.
20791
20792 * util/misc.c (grub_stop): Renamed to ...
20793 (grub_exit): ... this.
20794
20795 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
20796 (grub_exit): ... this.
20797 (grub_machine_init): Use grub_abort instead of abort.
20798 (grub_stop): Removed.
20799
20800 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
20801 abort.
20802
20803 * kern/i386/pc/startup.S (grub_exit): New function.
20804 (cold_reboot): New label.
20805
20806 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
20807 (grub_efi_init): Call grub_efidisk_init.
20808 (grub_efi_fini): Call grub_efidisk_fini.
20809
20810 * kern/efi/efi.c: Include grub/mm.h.
20811 (grub_efi_console_control_guid): Renamed to ...
20812 (console_control_guid): ... this.
20813 (grub_efi_loaded_image_guid): Renamed to ...
20814 (loaded_image_guid): ... this.
20815 (grub_efi_locate_handle): New function.
20816 (grub_efi_open_protocol): Likewise.
20817 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
20818 GRUB_EFI_CONSOLE_CONTROL_GUID.
20819 (grub_efi_exit): Removed.
20820 (grub_stop): Likewise.
20821 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
20822 (grub_exit): New function.
20823 (grub_print_device_path): Likewise.
20824
20825 * kern/rescue.c (grub_rescue_cmd_exit): New function.
20826 (grub_enter_rescue_mode): Register "exit".
20827
20828 * kern/misc.c (grub_real_dprintf): A cosmetic change.
20829 (grub_abort): New function.
20830
20831 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
20832
20833 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
20834
20835 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
20836
20837 * include/grub/efi/efi.h (grub_efi_exit): Removed.
20838 (grub_print_device_path): New prototype.
20839 (grub_efi_locate_handle): Likewise.
20840 (grub_efi_open_protocol): Likewise.
20841
20842 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
20843 * disk/efi/efidisk.c: Likewise.
20844
20845 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
20846
20847 * include/grub/efi/console_control.h
20848 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
20849
20850 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
20851 last 8 bytes as an array.
20852 (GRUB_EFI_DISK_IO_GUID): New macro.
20853 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
20854 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
20855 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
20856 grub_uint8_t.
20857 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
20858 (struct grub_efi_device_path): Rename the member "sub_type" to
20859 "subtype".
20860 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
20861 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
20862 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
20863 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
20864 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
20865 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
20866 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
20867 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
20868 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
20869 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
20870 (struct grub_efi_pci_device_path): New structure.
20871 (grub_efi_pci_device_path_t): New type.
20872 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
20873 (struct grub_efi_pccard_device_path): New structure.
20874 (grub_efi_pccard_device_path_t): New type.
20875 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
20876 (struct grub_efi_memory_mapped_device_path): New structure.
20877 (grub_efi_memory_mapped_device_path_t): New type.
20878 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
20879 (struct grub_efi_vendor_device_path): New structure.
20880 (grub_efi_vendor_device_path_t): New type.
20881 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
20882 (struct grub_efi_controller_device_path): New structure.
20883 (grub_efi_controller_device_path_t): New type.
20884 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
20885 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
20886 (struct grub_efi_acpi_device_path): New structure.
20887 (grub_efi_acpi_device_path_t): New type.
20888 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
20889 (struct grub_efi_expanded_acpi_device_path): New structure.
20890 (grub_efi_expanded_acpi_device_path_t): New type.
20891 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
20892 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
20893 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
20894 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
20895 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
20896 (struct grub_efi_atapi_device_path): New structure.
20897 (grub_efi_atapi_device_path_t): New type.
20898 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
20899 (struct grub_efi_fibre_channel_device_path): New structure.
20900 (grub_efi_fibre_channel_device_path_t): New type.
20901 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
20902 (struct grub_efi_1394_device_path): New structure.
20903 (grub_efi_1394_device_path_t): New type.
20904 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
20905 (struct grub_efi_usb_device_path): New structure.
20906 (grub_efi_usb_device_path_t): New type.
20907 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
20908 (struct grub_efi_usb_class_device_path): New structure.
20909 (grub_efi_usb_class_device_path_t): New type.
20910 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
20911 (struct grub_efi_i2o_device_path): New structure.
20912 (grub_efi_i2o_device_path_t): New type.
20913 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
20914 (struct grub_efi_mac_address_device_path): New structure.
20915 (grub_efi_mac_address_device_path_t): New type.
20916 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
20917 (struct grub_efi_ipv4_device_path): New structure.
20918 (grub_efi_ipv4_device_path_t): New type.
20919 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
20920 (struct grub_efi_ipv6_device_path): New structure.
20921 (grub_efi_ipv6_device_path_t): New type.
20922 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
20923 (struct grub_efi_infiniband_device_path): New structure.
20924 (grub_efi_infiniband_device_path_t): New type.
20925 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
20926 (struct grub_efi_uart_device_path): New structure.
20927 (grub_efi_uart_device_path_t): New type.
20928 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
20929 (struct grub_efi_vendor_messaging_device_path): New structure.
20930 (grub_efi_vendor_messaging_device_path_t): New type.
20931 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
20932 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
20933 (struct grub_efi_hard_drive_device_path): New structure.
20934 (grub_efi_hard_drive_device_path_t): New type.
20935 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
20936 (struct grub_efi_cdrom_device_path): New structure.
20937 (grub_efi_cdrom_device_path_t): New type.
20938 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
20939 (struct grub_efi_vendor_media_device_path): New structure.
20940 (grub_efi_vendor_media_device_path_t): New type.
20941 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
20942 (struct grub_efi_file_path_device_path): New structure.
20943 (grub_efi_file_path_device_path_t): New type.
20944 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
20945 (struct grub_efi_protocol_device_path): New structure.
20946 (grub_efi_protocol_device_path_t): New type.
20947 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
20948 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
20949 (struct grub_efi_bios_device_path): New structure.
20950 (grub_efi_bios_device_path_t): New type.
20951 (struct grub_efi_disk_io): New structure.
20952 (grub_efi_disk_io_t): New type.
20953 (struct grub_efi_block_io_media): New structure.
20954 (grub_efi_block_io_media_t): New type.
20955 (struct grub_efi_block_io): New structure.
20956 (grub_efi_block_io_t): New type.
20957
20958 * include/grub/misc.h (grub_stop): Removed.
20959 (grub_exit): New prototype.
20960 (grub_abort): Likewise.
20961
20962 * include/grub/disk.h (enum grub_disk_dev_id): Added
20963 GRUB_DISK_DEVICE_EFIDISK_ID.
20964
20965 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
20966 disk/efi/efidisk.c.
20967 (kernel_syms.lst): Remove the target if an error occurs.
20968
49986a9f 209692006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
20970
20971 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
20972 as it was simply too buggy.
20973
970d3b8a 209742006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
20975
20976 * kern/misc.c (grub_lltoa): New function.
20977 (grub_vsprintf): Added support for the long long suffix,
20978 i.e. "ll".
20979
ff04ec24 209802006-04-20 Hollis Blanchard <hollis@penguinppc.org>
20981
20982 * Makefile.in (LDFLAGS): Add variable.
20983 (LD): Remove variable.
20984 * configure.ac: Add -m32 to LDFLAGS.
20985 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
20986 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
20987 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
20988 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
20989 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
20990 variables.
20991 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
20992 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
20993 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
20994
37e5e1a4 209952006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
20996
20997 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
20998 length for unknown glyph.
20999
c352d8dd 210002006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
21001
2eab1c0d 21002 Add support for pre-loaded modules into the EFI port.
f19dbdb7 21003
2eab1c0d 21004 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
21005 completely. Accept one more argument DIR. The caller has changed.
21006
21007 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
21008
21009 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
21010 (grub_efi_loaded_image_guid): New variable.
21011 (grub_efi_get_loaded_image): New function.
21012 (grub_arch_modules_addr): Likewise.
21013
21014 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
21015 prototype.
21016
21017 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
21018 (struct grub_efi_loaded_image): New structure.
21019 (grub_efi_loaded_image_t): New type.
21020
210212006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 21022
c352d8dd 21023 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
21024 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
21025 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
21026
6d01d6b4 210272006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
21028
21029 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
21030
976a4ea0 210312006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
21032
21033 * DISTLIST: Added include/grub/efi/console.h,
21034 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
21035 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
21036
21037 * include/grub/efi/console.h: New file.
21038 * include/grub/efi/time.h: Likewise.
21039 * include/grub/i386/efi/kernel.h: Likewise.
21040 * kern/efi/init.c: Likewise.
21041 * kern/efi/mm.c: Likewise.
21042 * term/efi/console.c: Likewise.
f19dbdb7 21043
976a4ea0 21044 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
21045 (grub_stop): Removed.
21046 (grub_get_rtc): Likewise.
21047 (grub_machine_init): Simply call grub_efi_init.
21048 (grub_machine_fini): Call grub_efi_fini.
21049
21050 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
21051 (grub_efi_output_string): Removed.
21052 (grub_efi_stall): New function.
21053 (grub_stop): Likewise.
21054 (grub_get_rtc): Likewise.
21055
21056 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
21057 (grub_efi_stall): New prototype.
21058 (grub_efi_allocate_pages): Likewise.
21059 (grub_efi_free_pages): Likewise.
21060 (grub_efi_get_memory_map): Likewise.
21061 (grub_efi_mm_init): Likewise.
21062 (grub_efi_mm_fini): Likewise.
21063 (grub_efi_init): Likewise.
21064 (grub_efi_fini): Likewise.
21065
21066 * include/grub/i386/efi/time.h: Do not include
21067 grub/symbol.h. Include grub/efi/time.h.
21068 (GRUB_TICKS_PER_SECOND): Removed.
21069 (grub_get_rtc): Likewise.
21070
21071 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
21072 Added padding. The EFI spec is buggy.
21073 (GRUB_EFI_BLACK): New macro.
21074 (GRUB_EFI_BLUE): Likewise.
21075 (GRUB_EFI_GREEN): Likewise.
21076 (GRUB_EFI_CYAN): Likewise.
21077 (GRUB_EFI_RED): Likewise.
21078 (GRUB_EFI_MAGENTA): Likewise.
21079 (GRUB_EFI_BROWN): Likewise.
21080 (GRUB_EFI_LIGHTGRAY): Likewise.
21081 (GRUB_EFI_BRIGHT): Likewise.
21082 (GRUB_EFI_DARKGRAY): Likewise.
21083 (GRUB_EFI_LIGHTBLUE): Likewise.
21084 (GRUB_EFI_LIGHTGREEN): Likewise.
21085 (GRUB_EFI_LIGHTCYAN): Likewise.
21086 (GRUB_EFI_LIGHTRED): Likewise.
21087 (GRUB_EFI_LIGHTMAGENTA): Likewise.
21088 (GRUB_EFI_YELLOW): Likewise.
21089 (GRUB_EFI_WHITE): Likewise.
21090 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
21091 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
21092 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
21093 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
21094 (GRUB_EFI_BACKGROUND_RED): Likewise.
21095 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
21096 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
21097 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
21098 (GRUB_EFI_TEXT_ATTR): Likewise.
21099
21100 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
21101 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
21102 (kernel_mod_HEADERS): Added efi/time.h.
21103
83709125 211042006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
21105
21106 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
21107 include/grub/efi/api.h, include/grub/efi/console_control.h,
21108 include/grub/efi/efi.h, include/grub/efi/pe32.h,
21109 include/grub/i386/efi/time.h, kern/efi/efi.c,
21110 kern/i386/efi/init.c, kern/i386/efi/startup.S,
21111 and util/i386/efi/grub-mkimage.c.
21112
21113 * Makefile.in (RMKFILES): Added i386-efi.rmk.
21114
21115 * genmk.rb (PModule#rule): Do not export symbols if
21116 #{prefix}_EXPORTS is set to "no".
21117
21118 * conf/i386-efi.mk: New file.
21119 * conf/i386-efi.rmk: Likewise.
21120 * include/grub/efi/api.h: Likewise.
21121 * include/grub/efi/console_control.h: Likewise.
21122 * include/grub/efi/efi.h: Likewise.
21123 * include/grub/efi/pe32.h: Likewise.
21124 * include/grub/i386/efi/time.h: Likewise.
21125 * kern/efi/efi.c: Likewise.
21126 * kern/i386/efi/init.c: Likewise.
21127 * kern/i386/efi/startup.S: Likewise.
21128 * util/i386/efi/grub-mkimage.c: Likewise.
21129
211302006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 21131
21132 * include/grub/script.h: Include <grub/parser.h> and
21133 "grub_script.tab.h".
21134 (struct grub_lexer_param): New struct.
21135 (struct grub_parser_param): Likewise.
21136 (grub_script_create_arglist): Pass the state in an argument.
21137 (grub_script_add_arglist): Likewise.
21138 (grub_script_create_cmdline): Likewise.
21139 (grub_script_create_cmdblock): Likewise.
21140 (grub_script_create_cmdif): Likewise.
21141 (grub_script_create_cmdmenu): Likewise.
21142 (grub_script_add_cmd): Likewise.
21143 (grub_script_arg_add): Likewise.
21144 (grub_script_lexer_ref): Likewise.
21145 (grub_script_lexer_deref): Likewise.
21146 (grub_script_lexer_record_start): Likewise.
21147 (grub_script_lexer_record_stop): Likewise.
21148 (grub_script_mem_record): Likewise.
21149 (grub_script_mem_record_stop): Likewise.
21150 (grub_script_malloc): Likewise.
21151 (grub_script_yylex): Likewise.
21152 (grub_script_yyparse): Likewise.
21153 (grub_script_yyerror): Likewise.
21154 (grub_script_yylex): Likewise.
21155 (grub_script_lexer_init): Return the state.
21156
21157 * normal/lexer.c (grub_script_lexer_state): Removed variable.
21158 (grub_script_lexer_done): Likewise.
21159 (grub_script_lexer_getline): Likewise.
21160 (grub_script_lexer_refs): Likewise.
21161 (script): Likewise.
21162 (newscript): Likewise.
21163 (record): Likewise.
21164 (recording): Likewise.
21165 (recordpos): Likewise.
21166 (recordlen): Likewise.
21167 (grub_script_lexer_init): Return the state instead of setting
21168 global variables.
21169 (grub_script_lexer_ref): Use the newly added argument for state
21170 instead of globals.
21171 (grub_script_lexer_deref): Likewise.
21172 (grub_script_lexer_record_start): Likewise.
21173 (grub_script_lexer_record_stop): Likewise.
21174 (recordchar): Likewise.
21175 (nextchar): Likewise.
21176 (grub_script_yylex2): Likewise.
21177 (grub_script_yylex): Likewise.
21178 (grub_script_yyerror): Likewise.
21179
21180 * normal/parser.y (func_mem): Removed variable.
21181 (menu_entry): Likewise.
21182 (err): Likewise.
21183 (%lex-param): New parser option.
21184 (%parse-param): Likewise.
21185 (script): Always return the AST.
21186 (argument): Pass the state around.
21187 (arguments): Likewise.
21188 (grubcmd): Likewise.
21189 (commands): Likewise.
21190 (function): Likewise.
21191 (menuentry): Likewise.
21192 (if_statement): Likewise.
21193 (if): Likewise.
21194
21195 * normal/script.c (grub_script_memused): Removed variable.
21196 (grub_script_parsed): Likewise.
21197 (grub_script_malloc): Added a state argument. Use that instead of
21198 global variables.
21199 (grub_script_mem_record): Likewise.
21200 (grub_script_mem_record_stop): Likewise.
21201 (grub_script_arg_add): Likewise.
21202 (grub_script_add_arglist): Likewise.
21203 (grub_script_create_cmdline): Likewise.
21204 (grub_script_create_cmdif): Likewise.
21205 (grub_script_create_cmdmenu): Likewise.
21206 (grub_script_add_cmd): Likewise.
21207 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 21208
e2a8c904 212092006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 21210
21211 * normal/command.c (grub_command_init): Remove the title command.
21212
21213 * normal/lexer.c (grub_script_yylex): Renamed from this...
21214 (grub_script_yylex2): ... to this.
21215 (grub_script_yylex): New function. Temporary
21216 introduced to filter some tokens.
21217 (grub_script_yyerror): Print a newline.
21218
21219 * normal/main.c (read_config_file): Output information about the
21220 lines that contain errors. Wait for a key after all lines have
21221 been processed. Don't return an empty menu.
21222
21223 * normal/parser.y (func_mem): Don't initialize.
21224 (menu_entry): Likewise.
21225 (err): New variable.
21226 (script): Don't return anything when an error was encountered.
21227 (ws, returns): Removed rules.
21228 (argument): Disabled concatenated variable support.
21229 (arguments): Remove explicit separators.
21230 (grubcmd): Likewise.
21231 (function): Likewise.
21232 (menuentry): Likewise.
21233 (if): Likewise.
21234 (commands): Likewise. Add error handling.
21235
21236 * normal/script.c (grub_script_create_cmdline): If
21237 `grub_script_parsed' is 0, assume the parser encountered an error.
21238
c9a86192 212392006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
21240
21241 * configure.ac: Add support for EFI. Fix the typo
21242 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
21243
70f3b243 212442006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
21245
21246 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
21247 foreign multibyte characters should be shown correctly.
21248
65f201ad 212492006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
21250
21251 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
21252 calculation.
21253 (read_config_file): Made it to close file before returning.
21254
b4b93674 212552006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
21256
21257 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
21258 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
21259 video/i386/pc/vbefill.c.
21260
21261 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
21262 video/i386/pc/vbefill.c.
21263
21264 * include/grub/video.h (grub_video_blit_format): New enum.
21265 (grub_video_mode_info): Added new member blit_format.
21266 (grub_video_get_blit_format): New function prototype.
21267
21268 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
21269 function prototype.
21270 (grub_video_vbe_map_rgb): Likewise.
21271 (grub_video_vbe_unmap_color): Likewise.
21272
21273 * include/grub/i386/pc/vbeblit.h: New file.
21274
21275 * include/grub/i386/pc/vbefill.h: New file.
21276
21277 * video/video.c (grub_video_get_blit_format): New function.
21278 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
21279 (grub_video_vbe_map_rgb): Likewise.
21280 (grub_video_vbe_unmap_color): Likewise.
21281
21282 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
21283 optimized fills.
21284 (grub_video_vbe_blit_render_target): Changed to use more optimized
21285 blits.
21286 (grub_video_vbe_setup): Added detection for optimized settings.
21287 (grub_video_vbe_create_render_target): Likewise.
21288
21289 * video/i386/pc/vbeblit.c: New file.
21290
21291 * video/i386/pc/vbefill.c: New file.
21292
c2379b9c 212932006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
21294
21295 * font/manager.c (grub_font_get_glyph): Removed font fixup from
21296 here...
21297
21298 * util/unifont2pff.rb: ... and moved it to here. Improved argument
21299 parsing to support both hex and dec ranges. If filename was missing
21300 show usage information.
21301
bd0d7896 213022006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
21303
21304 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
21305 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
21306
21307 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
21308 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
21309 (video_mod_SOURCES): Added.
21310 (video_mod_CFLAGS): Likewise.
21311 (video_mod_LDFLAGS): Likewise.
21312 (gfxterm_mod_SOURCES): Likewise.
21313 (gfxterm_mod_CFLAGS): Likewise.
21314 (gfxterm_mod_LDFLAGS): Likewise.
21315 (videotest_mod_SOURCES): Likewise.
21316 (videotest_mod_CFLAGS): Likewise.
21317 (videotest_mod_LDFLAGS): Likewise.
21318 (vesafb_mod_SOURCES): Removed.
21319 (vesafb_mod_CFLAGS): Likewise.
21320 (vesafb_mod_LDFLAGS): Likewise.
21321 (vga_mod_SOURCES): Likewise.
21322 (vga_mod_CFLAGS): Likewise.
21323 (vga_mod_LDFLAGS): Likewise.
21324
21325 * commands/videotest.c: New file.
21326
21327 * font/manager.c (fill_with_default_glyph): Modified to use
21328 grub_font_glyph.
21329 (grub_font_get_glyph): Likewise.
21330 (fontmanager): Renamed from this...
21331 (font_manager): ... to this.
21332
21333 * include/grub/font.h (grub_font_glyph): Added new structure.
21334 (grub_font_get_glyph): Modified to use grub_font_glyph.
21335
21336 * include/grub/misc.h (grub_abs): Added as inline function.
21337
21338 * include/grub/video.h: New file.
21339
21340 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
21341 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
21342 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
21343 (grub_vbe_get_controller_info): Renamed from this...
21344 (grub_vbe_bios_get_controller_info): ... to this.
21345 (grub_vbe_get_mode_info): Renamed from this...
21346 (grub_vbe_bios_get_mode_info): ... to this.
21347 (grub_vbe_set_mode): Renamed from this...
21348 (grub_vbe_bios_set_mode): ... to this.
21349 (grub_vbe_get_mode): Renamed from this...
21350 (grub_vbe_bios_get_mode): ... to this.
21351 (grub_vbe_set_memory_window): Renamed from this...
21352 (grub_vbe_bios_set_memory_window): ... to this.
21353 (grub_vbe_get_memory_window): Renamed from this...
21354 (grub_vbe_bios_get_memory_window): ... to this.
21355 (grub_vbe_set_scanline_length): Renamed from this...
21356 (grub_vbe_set_scanline_length): ... to this.
21357 (grub_vbe_get_scanline_length): Renamed from this...
21358 (grub_vbe_bios_get_scanline_length): ... to this.
21359 (grub_vbe_set_display_start): Renamed from this...
21360 (grub_vbe_bios_set_display_start): ... to this.
21361 (grub_vbe_get_display_start): Renamed from this...
21362 (grub_vbe_bios_get_display_start): ... to this.
21363 (grub_vbe_set_palette_data): Renamed from this...
21364 (grub_vbe_bios_set_palette_data): ... to this.
21365 (grub_vbe_set_pixel_rgb): Removed.
21366 (grub_vbe_set_pixel_index): Likewise.
21367
21368 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
21369 from this...
21370 (grub_vbe_bios_get_controller_info): ... to this.
21371 (grub_vbe_get_mode_info): Renamed from this...
21372 (grub_vbe_bios_get_mode_info): ... to this.
21373 (grub_vbe_set_mode): Renamed from this...
21374 (grub_vbe_bios_set_mode): ... to this.
21375 (grub_vbe_get_mode): Renamed from this...
21376 (grub_vbe_bios_get_mode): ... to this.
21377 (grub_vbe_set_memory_window): Renamed from this...
21378 (grub_vbe_bios_set_memory_window): ... to this.
21379 (grub_vbe_get_memory_window): Renamed from this...
21380 (grub_vbe_bios_get_memory_window): ... to this.
21381 (grub_vbe_set_scanline_length): Renamed from this...
21382 (grub_vbe_set_scanline_length): ... to this.
21383 (grub_vbe_get_scanline_length): Renamed from this...
21384 (grub_vbe_bios_get_scanline_length): ... to this.
21385 (grub_vbe_set_display_start): Renamed from this...
21386 (grub_vbe_bios_set_display_start): ... to this.
21387 (grub_vbe_get_display_start): Renamed from this...
21388 (grub_vbe_bios_get_display_start): ... to this.
21389 (grub_vbe_set_palette_data): Renamed from this...
21390 (grub_vbe_bios_set_palette_data): ... to this.
21391 (grub_vbe_bios_get_controller_info): Fixed problem with registers
21392 getting corrupted after calling it. Added more pushes and pops.
21393 (grub_vbe_bios_set_mode): Likewise.
21394 (grub_vbe_bios_get_mode): Likewise.
21395 (grub_vbe_bios_get_memory_window): Likewise.
21396 (grub_vbe_bios_set_scanline_length): Likewise.
21397 (grub_vbe_bios_get_scanline_length): Likewise.
21398 (grub_vbe_bios_get_display_start): Likewise.
21399 (grub_vbe_bios_set_palette_data): Likewise.
21400
21401 * normal/cmdline.c (cl_set_pos): Refresh the screen.
21402 (cl_insert): Likewise.
21403 (cl_delete): Likewise.
21404
21405 * term/gfxterm.c: New file.
21406
21407 * term/i386/pc/vesafb.c: Removed file.
21408
21409 * video/video.c: New file.
21410
21411 * video/i386/pc/vbe.c (real2pm): Added new function.
21412 (grub_video_vbe_draw_pixel): Likewise.
21413 (grub_video_vbe_get_video_ptr): Likewise.
21414 (grub_video_vbe_get_pixel): Likewise
21415 (grub_video_vbe_init): Likewise.
21416 (grub_video_vbe_fini): Likewise.
21417 (grub_video_vbe_setup): Likewise.
21418 (grub_video_vbe_get_info): Likewise.
21419 (grub_video_vbe_set_palette): Likewise.
21420 (grub_video_vbe_get_palette): Likewise.
21421 (grub_video_vbe_set_viewport): Likewise.
21422 (grub_video_vbe_get_viewport): Likewise.
21423 (grub_video_vbe_map_color): Likewise.
21424 (grub_video_vbe_map_rgb): Likewise.
21425 (grub_video_vbe_map_rgba): Likewise.
21426 (grub_video_vbe_unmap_color): Likewise.
21427 (grub_video_vbe_fill_rect): Likewise.
21428 (grub_video_vbe_blit_glyph): Likewise.
21429 (grub_video_vbe_blit_bitmap): Likewise.
21430 (grub_video_vbe_blit_render_target): Likewise.
21431 (grub_video_vbe_scroll): Likewise.
21432 (grub_video_vbe_swap_buffers): Likewise.
21433 (grub_video_vbe_create_render_target): Likewise.
21434 (grub_video_vbe_delete_render_target): Likewise.
21435 (grub_video_vbe_set_active_render_target): Likewise.
21436 (grub_vbe_set_pixel_rgb): Remove function.
21437 (grub_vbe_set_pixel_index): Likewise.
21438 (index_color_mode): Remove static variable.
21439 (active_mode): Likewise.
21440 (framebuffer): Likewise.
21441 (bytes_per_scan_line): Likewise.
21442 (grub_video_vbe_adapter): Added new static variable.
21443 (framebuffer): Likewise.
21444 (render_target): Likewise.
21445 (initial_mode): Likewise.
21446 (mode_in_use): Likewise.
21447 (mode_list): Likewise.
21448
5f97350b 214492006-03-10 Marco Gerards <marco@gnu.org>
21450
21451 * configure.ac (AC_INIT): Bumped to 1.93.
21452
21453 * DISTLIST: Added `include/grub/hfs.h'.
21454
a3c5c6f8 214552006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
21456
21457 * boot/i386/pc/boot.S (general_error): Before looping, try INT
21458 18H, which might help the BIOS falling back to next boot media.
21459
6de53d26 214602006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
21461
21462 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
21463 Poe Chen <poe.poechen@gmail.com>.
21464
77c4a393 214652006-01-17 Marco Gerards <marco@gnu.org>
21466
21467 * include/grub/normal.h: Include <grub/script.h>.
21468 (grub_command_list): Removed struct.
21469 (grub_command_list_t): Removed type.
21470 (grub_menu_entry): Remove members `num' and `command_list'. Add
21471 members `commands' and `sourcecode'.
21472 * include/grub/script.h: Add inclusion guards.
21473 (grub_script_cmd_menuentry): New struct.
21474 (grub_script_execute_menuentry): New prototype.
21475 (grub_script_lexer_record_start): Likewise.
21476 (grub_script_lexer_record_stop): Likewise.
21477 * normal/execute.c (grub_script_execute_menuentry): New function.
21478 * normal/lexer.c (record, recording, recordpos, recordlen): New
21479 variables.
21480 (grub_script_lexer_record_start): New function.
21481 (grub_script_lexer_record_stop): Likewise.
21482 (recordchar): Likewise.
21483 (nextchar): Likewise.
21484 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
21485 2048 as the buffer size. Add the tokens `menuentry' and `@'.
21486 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
21487 (current_menu): New variable.
21488 (free_menu): Mainly rewritten.
21489 (grub_normal_menu_addentry): New function.
21490 (read_config_file): Rewritten.
21491 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 21492 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 21493 the menu entry.
21494 (run): Mainly rewritten.
21495 * normal/parser.y (menu_entry): New variable.
21496 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
21497 (menuentry): New rule.
21498 (command): Add `menuentry'.
21499 (if_statement): Allow additional returns before `fi'.
21500 * normal/script.c (grub_script_create_cmdmenu): New function.
21501
144f1f98 215022006-01-03 Marco Gerards <marco@gnu.org>
21503
21504 * INSTALL: GNU Bison is required.
21505 * configure.ac: Rewritten the test to detect Bison.
21506 * Makefile.in (YACC): New variable. Reported by Xun Sun
21507 <xun.sun.cn@gmail.com>.
21508
af4b2d89 215092006-01-03 Marco Gerards <marco@gnu.org>
21510
21511 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
21512 the HFS+ filesystem to filesystem blocks.
21513 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
21514 GCC warning is silenced.
21515
15643b71 215162006-01-03 Marco Gerards <marco@gnu.org>
21517
21518 * partmap/apple.c (apple_partition_map_iterate): Convert the data
21519 read from disk from big endian to host byte order.
21520
00905879 215212006-01-03 Hollis Blanchard <hollis@penguinppc.org>
21522
21523 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
21524 documentation.
21525 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
21526 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
21527 embedded HFS+ filesystem.
21528 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
21529 (grub_hfs_sblock): Move from here...
21530 * include/grub/hfs.h: To here... New file.
21531 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
21532 documentation.
21533 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
21534 New macros.
21535 (grub_hfsplus_volheader): Change type of member `magic' to
21536 `grub_uint16_t'.
21537 (grub_hfsplus_data): Add new member `embedded_offset'.
21538 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
21539 returned block.
21540 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
21541 Calculate the offset.
21542
8899bc3e 215432005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
21544
21545 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
21546 Removed.
21547 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
21548
ae8c0277 215492005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
21550
21551 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
21552 ENV->NAME is NULL after allocating ENV->VALUE.
21553
07084456 215542005-12-25 Marco Gerards <marco@gnu.org>
21555
21556 * kern/env.c (grub_env_set): Rewritten the error handling code.
21557
4750f5f1 215582005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
21559
21560 * geninit.sh: Made more robust, and more portable.
21561
50214199 215622005-12-25 Marco Gerards <marco@gnu.org>
21563
21564 Add support for Apple HFS+ filesystems.
f19dbdb7 21565
50214199 21566 * fs/hfsplus.c: New file.
21567
21568 * DISTLIST: Added `fs/hfsplus.c'.
21569
21570 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
21571 (hfsplus_mod_SOURCES): New variable.
21572 (hfsplus_mod_CFLAGS): Likewise.
21573 (hfsplus_mod_LDFLAGS): Likewise.
21574 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
21575 (grub_setup_SOURCES): Likewise.
21576 (grub_mkdevicemap_SOURCES): Likewise.
21577 (grub_emu_SOURCES): Likewise.
21578 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21579
21580 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
21581
21582 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
21583
befaed6c 215842005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
21585
21586 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
21587 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
21588 include/grub/parser.h, include/grub/script.h, kern/parser.c,
21589 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
21590 normal/lexer.c, normal/parser.y, normal/script.c, and
21591 partmap/gpt.c.
21592 Removed kern/sparc64/cache.c.
21593
21594 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
21595 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
21596 grub_emu_init.c.
21597
21598 * configure.ac (AC_INIT): Bumped to 1.92.
21599
6a124103 216002005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
21601
21602 * kern/err.c (grub_error_push): Added new function to support error
21603 stacks.
21604 (grub_error_pop): Likewise.
21605 (grub_error_stack_items): New local variable to support error stacks.
21606 (grub_error_stack_pos): Likewise.
21607 (grub_error_stack_assert): Likewise.
21608 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
21609 stack depth.
21610 (grub_print_error): Added support to print errors from error stack.
21611
21612 * include/grub/err.h (grub_error_push): Added function prototype.
21613 (grub_error_pop): Likewise.
21614
be973c1b 216152005-12-09 Hollis Blanchard <hollis@penguinppc.org>
21616
21617 * configure.ac: Accept `powerpc64' as host_cpu.
21618 (amd64): Rename to `biarch32'.
21619
21620 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
21621 non-cacheline-aligned addresses.
21622
21623 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
21624 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
21625 if `size' is non-zero.
21626
b04216ab 216272005-12-03 Marco Gerards <mgerards@xs4all.nl>
21628
21629 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
21630 and `cd' to make sure the filename is not prefixed with a
21631 directory name.
21632 (pkgdata_MODULES): Add `gpt.mod'.
21633 (gpt_mod_SOURCES): New variable.
21634 (gpt_mod_CFLAGS): Likewise.
21635 (gpt_mod_LDFLAGS): Likewise.
21636
21637 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
21638
21639 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
21640 New macro.
21641
21642 * partmap/gpt.c: New file.
21643
21644 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
21645 GPT partition map is detected.
21646
41730ed9 216472005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
21648
21649 * commands/i386/pc/play.c: New file.
21650 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
21651 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
21652 macros.
f19dbdb7 21653
95dc3643 216542005-11-27 Marco Gerards <mgerards@xs4all.nl>
21655
21656 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
21657 ((unused))' to silence gcc warning.
21658
1569ec51 216592005-11-26 Hollis Blanchard <hollis@penguinppc.org>
21660
21661 * configure.ac: Correct `AC_PROG_YACC' test.
21662
9abde152 216632005-11-22 Hollis Blanchard <hollis@penguinppc.org>
21664
21665 * util/powerpc/ieee1275/grub-install.in: Run the mount point
21666 check before installing files.
21667
44b83271 216682005-11-22 Mike Small <smallm@panix.com>
21669
21670 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
21671 number regex so multidigit numbers are recognized correctly.
21672
216732005-11-22 Mike Small <smallm@panix.com>
21674
21675 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
21676 debugging message before attempting to claim memory.
21677 (grub_rescue_cmd_initrd): Add a claim debugging message and try
21678 multiple addresses in case of failure.
21679
9c12956b 216802005-11-22 Hollis Blanchard <hollis@penguinppc.org>
21681
21682 * term/tparm.c (get_space): Remove empty `if' statement.
21683
21684 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
21685
21686 * kern/parser.c (check_varstate): Rename `state' to 's'.
21687
aeaf81d9 216882005-11-22 Hollis Blanchard <hollis@penguinppc.org>
21689
21690 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
21691 variable definitions to the beginning of each function. Sort stack
21692 variables by size.
21693 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
21694 `buf' argument to `char *'.
21695
79bbb63f 216962005-11-22 Hollis Blanchard <hollis@penguinppc.org>
21697
21698 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
21699 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 21700 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 21701 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
21702 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
21703 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
21704 configfile.mod, search.mod, gzio.mod and test.mod.
21705 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
21706 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
21707 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
21708 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
21709 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
21710 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
21711 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
21712 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
21713 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
21714 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
21715 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
21716 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
21717 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
21718 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
21719 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
21720 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
21721 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
21722 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
21723 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
21724 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
21725 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
21726 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
21727 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
21728
21729 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
21730 `grep --include'.
21731 (pkgdata_MODULES): Add test.mod.
21732
233b1628 217332005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
21734
21735 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
21736 appending to variables with "+=".
21737 (PModule): Use full pathname to generate *.lst filenames.
21738
21739 * Makefile.in: Fixed list rules moved from genmk.rb.
21740 (.DELETE_ON_ERROR): New special target.
21741 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
21742
21743 * conf/i386-pc.rmk: Include conf/common.mk.
21744 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 21745 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 21746 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
21747 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
21748 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
21749 configfile.mod, search.mod, gzio.mod and test.mod.
21750 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
21751 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
21752 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
21753 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
21754 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
21755 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
21756 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
21757 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
21758 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
21759 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
21760 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
21761 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
21762 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
21763 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
21764 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
21765 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
21766 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
21767 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
21768 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
21769 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
21770 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
21771 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
21772 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
21773 here...
21774 * conf/common.rmk: ... to here. New file.
21775
21776 * conf/common.mk: New file.
21777
16f820c8 217782005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
21779
21780 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
21781 (grub_script.tab.c): ... here.
21782
21783 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
21784 (grub_script.tab.c): ... here.
21785
21786 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
21787 (grub_script.tab.c): ... here.
21788
21789 * normal/command.c (grub_command_find): Fixed a memory leak of
21790 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
21791
63ba1554 217922005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
21793
21794 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
21795 "@" which marks the start of a comment on ARM.
21796 (VARIABLE): Likewise.
21797
7f67dc13 217982005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
21799
79bbb63f 21800 Add support for Linux/ADFS partition tables.
7f67dc13 21801
21802 * partmap/acorn.c: New file.
21803
21804 * include/grub/acorn_filecore.h: Likewise.
21805
21806 * DISTLIST: Added `partmap/acorn.c' and
21807 `include/grub/acorn_filecore.h'.
f19dbdb7 21808
7f67dc13 21809 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
21810 `partmap/acorn.c'.
21811 (pkgdata_MODULES): Add `acorn.mod'.
21812 (acorn_mod_SOURCES): New variable.
21813 (acorn_mod_CFLAGS): Likewise.
21814
21815 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
21816 `partmap/acorn.c'.
21817 (pkgdata_MODULES): Add `acorn.mod'.
21818 (acorn_mod_SOURCES): New variable.
21819 (acorn_mod_CFLAGS): Likewise.
21820
21821 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
21822 (pkgdata_MODULES): Add `acorn.mod'.
21823 (acorn_mod_SOURCES): New variable.
21824 (acorn_mod_CFLAGS): Likewise.
21825 (acorn_mod_LDFLAGS): Likewise.
21826
21827 * include/types.h (grub_disk_addr_t): New typedef.
21828
6d099807 218292005-11-13 Marco Gerards <mgerards@xs4all.nl>
21830
21831 * geninit.sh: New file.
21832
21833 * geninitheader.sh: Likewise.
21834
21835 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
21836 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
21837 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
21838 * commands/configfile.c (grub_configfile_init)
21839 (grub_configfile_fini): Likewise.
21840 * commands/default.c (grub_default_init, grub_default_fini):
21841 Likewise.
21842 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
21843 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
21844 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
21845 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
21846 Likewise.
21847 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
21848 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
21849 Likewise.
21850 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 21851 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 21852 Likewise.
21853 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
21854 Likewise.
fe6b695a 21855 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 21856 Likewise.
21857 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
21858 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
21859 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
21860 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
21861 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
21862 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
21863 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
21864 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
21865 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
21866 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
21867 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
21868 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
21869 * partmap/amiga.c (grub_amiga_partition_map_init)
21870 (grub_amiga_partition_map_fini): Likewise.
21871 * partmap/apple.c (grub_apple_partition_map_init)
21872 (grub_apple_partition_map_fini): Likewise.
21873 * partmap/pc.c (grub_pc_partition_map_init)
21874 (grub_pc_partition_map_fini): Likewise.
21875 * partmap/sun.c (grub_sun_partition_map_init,
21876 grub_sun_partition_map_fini): Likewise.
21877 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
21878 Likewise.
21879
21880 * util/grub-emu.c: Include <grub_modules_init.h>.
21881 (main): Don't initialize and de-initialize any modules directly,
21882 use `grub_init_all' and `grub_fini_all' instead.
21883
21884 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
21885 `grub_vesafb_mod_init'.
21886 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
21887 all users.
21888 * term/i386/pc/vga.c (grub_vga_init): Renamed to
21889 `grub_vga_mod_init'. Updated all users.
21890 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 21891
6d099807 21892 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
21893 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
21894 rules.
21895
21896 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
21897 Generate a function to initialize the module in utilities.
21898 Updated all callers.
21899 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
21900 initialize the module in utilities. Updated all callers.
21901
9046bcf0 219022005-11-09 Hollis Blanchard <hollis@penguinppc.org>
21903
21904 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
21905 escape sequence and a literal ^L to clear the screen.
21906
21907 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
21908 when returning from Open Firmware.
21909
d13ea639 219102005-11-09 Hollis Blanchard <hollis@penguinppc.org>
21911
21912 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
21913 (grub_ofconsole_height): Likewise.
21914 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
21915 manually insert a '\n'.
21916 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
21917 `grub_ofconsole_height'. Return early if these are already set.
21918
a8fcf206 219192005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
21920
21921 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
21922 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
21923 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
21924 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
21925 and `normal/script.c'.
21926 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
21927 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
21928 (test_mod_SOURCES): New variable.
21929 (test_mod_CFLAGS): Likewise.
21930 (test_mod_LDFLAGS): Likewise.
21931 (pkgdata_MODULES): Add `test.mod'.
21932 (grub_script.tab.c): New rule.
21933 (grub_script.tab.h): Likewise.
21934
b6b32745 219352005-11-07 Marco Gerards <mgerards@xs4all.nl>
21936
21937 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
21938 `commands/test.c', `normal/execute.c', `normal/lexer.c',
21939 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
21940 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
21941 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
21942 (test_mod_SOURCES): New variable.
21943 (test_mod_CFLAGS): Likewise.
21944 (pkgdata_MODULES): Add `test.mod'.
21945 (grub_script.tab.c): New rule.
21946 (grub_script.tab.h): Likewise.
21947
daac212a 219482005-11-06 Marco Gerards <mgerards@xs4all.nl>
21949
21950 Add initial scripting support.
21951
21952 * commands/test.c: New file.
21953 * include/grub/script.h: Likewise.
21954 * normal/execute.c: Likewise.
21955 * normal/function.c: Likewise.
21956 * normal/lexer.c: Likewise.
21957 * normal/parser.y: Likewise.
21958 * normal/script.c: Likewise.
21959
21960 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 21961
daac212a 21962 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
21963 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
21964 `normal/function.c' and `normal/script.c'.
21965 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
21966 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 21967 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
21968 variables.
daac212a 21969 (pkgdata_MODULES): Add `test.mod'.
21970 (grub_script.tab.c): New rule.
21971 (grub_script.tab.h): Likewise.
21972
21973 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
21974
21975 * include/grub/normal.h (grub_test_init): New prototype.
21976 (grub_test_fini): Likewise.
f19dbdb7 21977
daac212a 21978 * normal/command.c: Include <grub/script.h>.
21979 (grub_command_execute): Rewritten.
f19dbdb7 21980
daac212a 21981 * util/grub-emu.c (main): Call `grub_test_init' and
21982 `grub_test_fini'.
21983
77500b2b 219842005-11-03 Hollis Blanchard <hollis@penguinppc.org>
21985
21986 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
21987 to 0.
21988 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
21989 there are no pending characters.
21990
e45deb9e 219912005-11-03 Hollis Blanchard <hollis@penguinppc.org>
21992
21993 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
21994 `grub_strndup' to drop device arguments. Replace unnecessary
21995 `grub_strndup' with `grub_strdup'.
21996
4ce32619 219972005-11-03 Hollis Blanchard <hollis@penguinppc.org>
21998
21999 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
22000 `debug' environment variable has been set.
22001
220022005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 22003
4ce32619 22004 * Makefile.in (install-local): Use $(DATA).
22005 (uninstall): Likewise.
22006 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
22007 (sbin_UTILITIES): ... to here.
22008 (sbin_SCRIPTS): New variable.
22009 (grub_install_SOURCES): New variable.
22010 * util/powerpc/ieee1275/grub-install.in: New file.
22011 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
22012 variable.
22013 (add_segments): Call `grub_util_get_path'.
22014
25fe6f03 220152005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
22016
22017 From Timothy Baldwin:
22018 * commands/ls.c (grub_ls_list_files): Close FILE with
22019 grub_file_close.
22020 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
22021
04ccf3ec 220222005-10-24 Marco Gerards <mgerards@xs4all.nl>
22023
22024 * include/grub/parser.h: New file.
22025
22026 * kern/parser.c: Likewise.
22027
22028 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
22029 (grub_setup_SOURCES): Likewise.
22030 (grub_probefs_SOURCES): Likewise.
22031 (grub_emu_SOURCES): Likewise.
22032 (kernel_img_HEADERS): Add `parser.h'.
22033
22034 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
22035 (grub_emu_SOURCES): Add `kern/parser.c'.
22036 (grubof_SOURCES): Likewise.
22037
22038 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
22039 (grubof_SOURCES): Add `kern/parser.c'.
22040
22041 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
22042
22043 * kern/misc.c (grub_split_cmdline): Removed function.
22044
22045 * kern/rescue.c: Include <grub/parser.h>.
22046 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
22047 of `grub_split_cmdline'.
22048
22049 * normal/command.c: Include <grub/parser.h>.
22050 (grub_command_execute): Use `grub_parser_split_cmdline' instead
22051 of `grub_split_cmdline'.
22052
22053 * normal/completion.c: Include <grub/parser.h>.
22054 (cmdline_state): New variable.
22055 (iterate_dir): End the filename with a quote depending on the
22056 command line state.
22057 (get_state): new function.
22058 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
22059 split the arguments and determine the current argument. When the
22060 argument string is not quoted, escape all spaces.
22061
6d8f4b0e 220622005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
22063
22064 * normal/sparc64/setjmp.S: New file.
22065
15cf03ed 220662005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
22067
22068 * include/grub/sparc64/libgcc.h: New file.
22069 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
22070 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
22071 normal/sparc64/setjmp.c.
22072
03e8661a 220732005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
22074
22075 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
22076 * kern/sparc64/cache.S: New file.
22077 * kern/sparc64/cache.c: Removed.
22078 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
22079 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
22080 -mtune=ultrasparc.
22081 (COMMON_LDFLAGS): Add -melf64_sparc.
22082 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
22083 (grubof_SOURCES): Use cache.S instead of cache.c.
22084 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
22085 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
22086 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
22087 commented though.
22088 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
22089 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
22090 (linux_mod_CFLAGS): Commented out.
22091 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
22092 out because module isn't built.
22093 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
22094 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
22095 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
22096 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
22097 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
22098 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
22099 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
22100 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
22101 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
22102 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
22103 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
22104 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
22105 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
22106 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
22107
34eeec8a 221082005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
22109
22110 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
22111 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
22112 longer, because HFS should not be used on PC.
22113
708367a3 221142005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
22115
22116 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
22117 consistently within the loop.
22118
6fa1251a 221192005-10-15 Marco Gerards <mgerards@xs4all.nl>
22120
22121 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
22122 directory can not be read.
22123
4801580b 221242005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
22125
22126 * configure.ac (AC_INIT): Increase the version number to 1.91.
22127
22128 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
22129 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
22130 term/i386/pc/serial.c.
22131
219ad426 221322005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
22133
22134 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
22135 file size must be permitted.
22136
22137 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
22138 between %ah and %al.
22139
688e5699 221402005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
22141
22142 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
22143 grub_uint64_t.
22144 Call the hook with a NUL-terminated filename.
22145 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
22146 grub_cpu_to_be32.
22147
22148 * kern/term.c (cursor_state): New variable.
22149 (grub_term_set_current): Reset the cursor state on a new
22150 terminal.
22151 (grub_setcursor): Rewritten to use CURSOR_STATE.
22152 (grub_getcursor): New function.
22153
22154 * include/grub/term.h (grub_getcursor): New prototype.
22155
22156 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
22157 integers on ARM. Reported by Timothy Baldwin
22158 <T.E.Baldwin99@members.leeds.ac.uk>.
22159
bb34586c 221602005-10-11 Marco Gerards <mgerards@xs4all.nl>
22161
22162 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
22163 allocated.
22164 (grub_sfs_dir): Likewise.
22165
9a909877 221662005-10-09 Marco Gerards <mgerards@xs4all.nl>
22167
22168 Add support for the SFS filesystem.
22169
22170 * fs/sfs.c: New file.
22171
22172 * DISTLIST: Added `fs/sfs.c'.
22173
22174 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
22175 (grub_probefs_SOURCES): Likewise.
22176 (grub_emu_SOURCES): Likewise.
22177 (pkgdata_MODULES): Add `sfs.mod'.
22178 (sfs_mod_SOURCES): New variable.
22179 (sfs_mod_CFLAGS): Likewise.
22180 (sfs_mod_LDFLAGS): Likewise.
22181
22182 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
22183 (pkgdata_MODULES): Add `sfs.mod'.
22184 (sfs_mod_SOURCES): New variable.
22185 (sfs_mod_CFLAGS): Likewise.
22186
22187 * util/grub-emu.c (main): Call `grub_sfs_init' and
22188 `grub_sfs_fini'.
22189
22190 * include/grub/fs.h (grub_sfs_init): New prototype.
22191 (grub_sfs_fini): Likewise.
22192
57bdbde3 221932005-10-07 Marco Gerards <mgerards@xs4all.nl>
22194
22195 Add support for the AFFS filesystem.
22196
22197 * fs/affs.c: New file.
22198
22199 * DISTLIST: Added `fs/affs.c'.
22200
22201 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
22202 (grub_probefs_SOURCES): Likewise.
22203 (grub_emu_SOURCES): Likewise.
22204 (pkgdata_MODULES): Add `affs.mod'.
22205 (affs_mod_SOURCES): New variable.
22206 (affs_mod_CFLAGS): Likewise.
22207 (affs_mod_LDFLAGS): Likewise.
22208
22209 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
22210 (pkgdata_MODULES): Add `affs.mod'.
22211 (affs_mod_SOURCES): New variable.
22212 (affs_mod_CFLAGS): Likewise.
22213
22214 * util/grub-emu.c (main): Call `grub_affs_init' and
22215 `grub_affs_fini'.
22216
22217 * include/grub/fs.h (grub_affs_init): New prototype.
22218 (grub_affs_fini): Likewise.
22219
047b67e0 222202005-10-01 Marco Gerards <mgerards@xs4all.nl>
22221
22222 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
22223
59b8208a 222242005-10-01 Marco Gerards <mgerards@xs4all.nl>
22225
22226 * configure.ac: Accept `x86_64' as host_cpu. In that case add
22227 `-m32' to CFLAGS.
22228
22229 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
22230 linking.
f19dbdb7 22231
59b8208a 22232 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
22233 (COMMON_LDFLAGS): New variable.
22234 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
22235 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
22236 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
22237 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
22238 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
22239 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
22240 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
22241 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
22242 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
22243 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
22244 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
22245 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
22246 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
22247 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
22248 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
22249 variables.
22250 (normal_mod_ASFLAGS): Add `-m32'.
22251
22252 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
22253 (grub_host_size_t, grub_host_ssize_t): New types.
22254 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 22255 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 22256 `GRUB_HOST_SIZEOF_VOID_P'.
22257
22258 * include/grub/kernel.h (struct grub_module_header): Type of
22259 member offset changed to `grub_host_off_t'. Type of member size
22260 changed to `grub_host_size_t'.
22261 (struct grub_module_info): Type of member offset changed to
22262 `grub_host_off_t'. Type of member size changed to
22263 `grub_host_size_t'.
22264
b4093103 222652005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
22266
22267 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 22268
b4093103 22269 * kern/i386/pc/startup.S (multiboot_header): New label.
22270 (multiboot_entry): Likewise.
22271 (multiboot_trampoline): Likewise.
22272
22273 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
22274 Increased to 0x4A0.
22275
22276 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
22277 put parentheses after a question mark.
22278 [!GRUB_UTIL] (my_mod): New variable.
22279
22280 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
22281
b2499b29 222822005-09-28 Marco Gerards <mgerards@xs4all.nl>
22283
22284 Adds support for the XFS filesystem. Btrees are not supported
22285 yet.
22286
22287 * fs/xfs.c: New file.
22288
22289 * DISTLIST: Added `fs/xfs.c'.
22290
22291 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
22292 (grub_probefs_SOURCES): Likewise.
22293 (grub_emu_SOURCES): Likewise.
22294 (pkgdata_MODULES): Add `xfs.mod'.
22295 (xfs_mod_SOURCES): New variable.
22296 (xfs_mod_CFLAGS): Likewise.
22297
22298 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
22299 (pkgdata_MODULES): Add `xfs.mod'.
22300 (xfs_mod_SOURCES): New variable.
22301 (xfs_mod_CFLAGS): Likewise.
22302
22303 * util/grub-emu.c (main): Call `grub_xfs_init' and
22304 `grub_xfs_fini'.
22305
22306 * include/grub/fs.h (grub_xfs_init): New prototype.
22307 (grub_xfs_fini): Likewise.
22308
f19dbdb7 22309
83d37a62 223102005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
22311
22312 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
22313 color modes, allow greater than 16 colors to be configured as
22314 a default palette.
22315
47d2d65e 223162005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
22317
22318 * normal/completion.c (complete_arguments): Add the qualifier
22319 const into OPTIONS.
22320
22321 From Omniflux <omniflux+lists@omniflux.com>:
22322 * include/grub/terminfo.h: New file.
22323 * include/grub/tparm.h: Likewise.
22324 * include/grub/i386/pc/serial.h: Likewise.
22325 * term/terminfo.c: Likewise.
22326 * term/tparm.c: Likewise.
22327 * term/i386/pc/serial.c: Likewise.
22328 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
22329 serial.mod.
22330 (terminfo_mod_SOURCES): New variable.
22331 (terminfo_mod_CFLAGS): Likewise.
22332 (serial_mod_SOURCES): Likewise.
22333 (serial_mod_CFLAGS): Likewise.
22334
48b671ff 223352005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
22336
22337 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
22338 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
22339 and kern/powerpc/ieee1275/cmain.c, respectively.
22340
22341 * boot/powerpc/ieee1275/crt0.S: Moved to ...
22342 * kern/powerpc/ieee1275/crt0.S: ... here.
22343
22344 * boot/powerpc/ieee1275/cmain.c: Moved to ...
22345 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 22346
48b671ff 22347 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
22348 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
22349 instead of boot/powerpc/ieee1275/crt0.S and
22350 boot/powerpc/ieee1275/cmain.c, respectively.
22351
22352 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
22353 sectors. It was not used anyway.
22354
09fc77a7 223552005-08-30 Hollis Blanchard <hollis@penguinppc.org>
22356
22357 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
22358 `unused parameter' warning.
22359
003789c7 223602005-08-30 Hollis Blanchard <hollis@penguinppc.org>
22361
22362 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
22363 function.
22364 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
22365 getcharwidth.
22366
67f44c86 223672005-08-28 Marco Gerards <metgerards@student.han.nl>
22368
22369 * include/grub/normal.h (enum grub_completion_type): Added
22370 `GRUB_COMPLETION_TYPE_ARGUMENT'.
22371
22372 * normal/cmdline.c (print_completion): Handle
22373 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
22374 * normal/menu_entry.c (store_completion): Likewise.
22375
22376 * normal/completion.c (complete_arguments): New function.
22377 (grub_normal_do_completion): Call `complete_arguments' when the
22378 current words start with a dash.
22379
0b5abe02 223802005-08-27 Marco Gerards <metgerards@student.han.nl>
22381
22382 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
22383 `gzio.mod' instead of `io.mod').
22384
d9864ee1 223852005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
22386
22387 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
22388 (DISTDIRS): Added io and video.
22389 Rewrite the search routine to make an output consistently.
22390
22391 * DISTLIST: Added conf/sparc64-ieee1275.mk,
22392 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
22393 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
22394 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
22395 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
22396 util/powerpc/ieee1275/misc.c.
f19dbdb7 22397
d9864ee1 22398 * include/grub/gzio.h: New file.
22399 * io/gzio.c: Likewise.
f19dbdb7 22400
d9864ee1 22401 * kern/file.c (grub_file_close): Call grub_device_close only if
22402 FILE->DEVICE is not NULL.
22403
22404 * include/grub/mm.h [!NULL] (NULL): New macro.
22405
22406 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
22407
22408 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
22409 (pkgdata_MODULES): Added gzio.mod.
22410 (gzio_mod_SOURCES): New variable.
22411 (gzio_mod_CFLAGS): Likewise.
22412
22413 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
22414 (pkgdata_MODULES): Added gzio.mod.
22415 (gzio_mod_SOURCES): New variable.
22416 (gzio_mod_CFLAGS): Likewise.
22417
22418 * commands/cat.c: Include grub/gzio.h.
22419 (grub_cmd_cat): Use grub_gzfile_open instead of
22420 grub_file_open.
f19dbdb7 22421
d9864ee1 22422 * commands/cmp.c: Include grub/gzio.h.
22423 (grub_cmd_cmp): Use grub_gzfile_open instead of
22424 grub_file_open.
22425
22426 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
22427 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
22428 grub_file_open.
22429 (grub_rescue_cmd_module): Likewise.
22430
fa46f4b5 224312005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
22432
22433 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
22434 kern/sparc64/ieee1275/init.c because it contains _start.
22435 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
22436
e9211b5d 224372005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
22438
22439 * configure.ac: Add support for sparc64 host with ieee1275
22440 firmware.
22441 * configure: Generated from configure.ac.
22442 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
22443 instead of int.
22444 (grub_ofdisk_read): Likewise.
22445 (grub_ofdisk_open): Use %p to print pointer values, and cast the
22446 pointers as (void *) to remove a warning.
22447 (grub_ofdisk_close): Likewise.
22448 (grub_ofdisk_read): Likewise.
22449 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
22450 returns, so make it return void to remove a warning.
22451 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
22452 Corresponding prototype change.
22453 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
22454 values, and cast the pointers as (void *) to remove a warning.
22455 (grub_mm_dump): Likewise.
22456 * conf/sparc64-ieee1275.mk: New file.
22457 * conf/sparc64-ieee1275.rmk: Likewise.
22458 * include/grub/sparc64/setjmp.h: Likewise.
22459 * include/grub/sparc64/types.h: Likewise.
22460 * include/grub/sparc64/ieee1275/console.h: Likewise.
22461 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
22462 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
22463 * include/grub/sparc64/ieee1275/time.h: Likewise.
22464 * kern/sparc64/cache.c: Likewise.
22465 * kern/sparc64/dl.c: Likewise.
22466 * kern/sparc64/ieee1275/init.c: Likewise.
22467 * kern/sparc64/ieee1275/openfw.c: Likewise.
22468
385c6a92 224692005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
22470
22471 * util/console.c (grub_ncurses_putchar): If C is greater than
22472 0x7f, set C to a question mark.
22473 (grub_ncurses_getcharwidth): New function.
22474 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
22475 getcharwidth.
22476
22477 * normal/menu.c (print_entry): Made aware of Unicode. First,
22478 convert TITLE to UCS-4, and predict the cursor position by
22479 grub_getcharwidth.
22480
22481 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
22482 const to SRC.
22483 * kern/misc.c (grub_utf16_to_utf8): Likewise.
22484
16ccb8b1 224852005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
22486
22487 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
22488 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
22489 grub_strcat.
22490
22491 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
22492 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
22493 grub_strcpy and grub_strlen. Take it into account that a space
22494 character is inserted as a delimiter.
22495
6a85ce79 224962005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
22497
22498 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 22499 invalid magic in the error.
6a85ce79 22500
22501 * commands/search.c: New file.
f19dbdb7 22502
6a85ce79 22503 * util/grub-emu.c (main): Call grub_search_init and
22504 grub_search_fini.
22505
22506 * kern/rescue.c (grub_rescue_print_disks): Removed.
22507 (grub_rescue_print_devices): New function.
22508 (grub_rescue_cmd_ls): Use grub_device_iterate with
22509 grub_rescue_print_devices instead of grub_disk_dev_iterate with
22510 grub_rescue_print_disks.
22511
22512 * kern/partition.c (grub_partition_iterate): Return the result of
22513 PARTMAP->ITERATE instead of GRUB_ERRNO.
22514
22515 * kern/device.c: Include grub/partition.h.
22516 (grub_device_iterate): New function.
22517
22518 * include/grub/partition.h (grub_partition_iterate): Return int
22519 instead of grub_err_t.
22520
22521 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
22522 prototype.
22523 [GRUB_UTIL] (grub_search_fini): Likewise.
22524
22525 * include/grub/device.h (grub_device_iterate): New prototype.
22526
22527 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
22528 commands/search.c.
22529 (pkgdata_MODULES): Added search.mod.
22530 (search_mod_SOURCES): New variable.
22531 (search_mod_CFLAGS): Likewise.
22532
22533 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
22534 (pkgdata_MODULES): Added search.mod.
22535 (search_mod_SOURCES): New variable.
22536 (search_mod_CFLAGS): Likewise.
22537
22538 * commands/ls.c (grub_ls_list_disks): Renamed to ...
22539 (grub_ls_list_devices): ... this, and use grub_device_iterate.
22540 All callers changed.
22541
22542 * DISTLIST: Added commands/search.c.
22543
ef095434 225442005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
22545
22546 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
22547 conversion.
22548 (grub_getcharwidth): New function.
22549
22550 * kern/misc.c (grub_utf8_to_ucs4): New function.
22551
22552 * include/grub/term.h (struct grub_term): Added a new member
22553 "getcharwidth".
22554 (grub_getcharwidth): New prototype.
22555
22556 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
22557
22558 * term/i386/pc/console.c (map_char): New function. Segregated from
22559 grub_console_putchar.
22560 (grub_console_putchar): Use map_char.
22561 (grub_console_getcharwidth): New function.
22562 (grub_console_term): Specified grub_console_getcharwidth as
22563 getcharwidth.
22564
22565 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
22566 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
22567
22568 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
22569 GRUB_ERRNO.
22570 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
22571 on grub_strtoul completely.
22572 (write_char): Declare local variables in the beginning of the
22573 function.
22574 (grub_vesafb_getcharwidth): New function.
22575 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
22576 getcharwidth.
22577
1f0a95e4 225782005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
22579
22580 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
22581 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
22582 commands/i386/pc/vbetest.c.
22583
22584 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
22585 call grub_vbe_get_controller_info again, because the returned
22586 information is volatile.
22587 (grub_vbe_set_video_mode): Mostly rewritten.
22588 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
22589 grub_vbe_status_t correctly.
22590 (grub_vbe_get_video_mode_info): Likewise.
22591 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
22592 several if statements.
22593
22594 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
22595 * commands/i386/pc/vbeinfo.c: ... this.
22596
22597 * commands/i386/pc/vbe_test.c: Renamed to ...
22598 * commands/i386/pc/vbetest.c: ... this.
22599
22600 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
22601 ...
22602 (grub_cmd_vbeinfo): ... this. Save video modes before
22603 iterating. Skip a video mode, if it is not available, not enough
22604 information is given or it is monochrome. Show the memory
22605 model. Leave the interpretation of MODEVAR to grub_strtoul
22606 completely.
22607 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
22608 (GRUB_MOD_FINI): Likewise.
22609
22610 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
22611 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
22612 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
22613 duplicated grub_env_get. Leave the interpretation of MODEVAR to
22614 grub_strtoul completely.
22615 (real2pm): Removed.
22616 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
22617 (GRUB_MOD_FINI): Likewise.
22618
22619 * normal/misc.c: Include grub/mm.h.
22620
22621 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
22622 vbe_list_modes with vbetest.mod and vbeinfo.mod.
22623 (vbe_list_modes_mod_SOURCES): Removed.
22624 (vbe_list_modes_mod_CFLAGS): Likewise.
22625 (vbe_test_mod_SOURCES): Likewise.
22626 (vbe_test_mod_CFLAGS): Likewise.
22627 (vbeinfo_mod_SOURCES): New variable.
22628 (vbeinfo_mod_CFLAGS): Likewise.
22629 (vbetest_mod_SOURCES): Likewise.
22630 (vbetest_mod_CFLAGS): Likewise.
22631
992ffbbe 226322005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
22633
22634 * normal/misc.c: New file.
22635
22636 * DISTLIST: Added normal/misc.c.
f19dbdb7 22637
992ffbbe 22638 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
22639 DISK to HOOK. Call HOOK with DISK.
22640 * partmap/apple.c (apple_partition_map_iterate): Likewise.
22641 * partmap/pc.c (pc_partition_map_iterate): Likewise.
22642 * partmap/sun.c (sun_partition_map_iterate): Likewise.
22643
22644 * normal/menu_entry.c (struct screen): Added a new member
22645 "completion_shown".
22646 (completion_buffer): New global variable.
22647 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
22648 (store_completion): New function.
22649 (complete): Likewise.
22650 (clear_completions): Likewise.
22651 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
22652 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
22653 a tab, call complete.
22654
22655 * normal/completion.c (disk_dev): Removed.
22656 (print_simple_completion): Likewise.
22657 (print_partition_completion): Likewise.
22658 (print_func): New global variable.
22659 (add_completion): Do not take the arguments WHAT or PRINT any
22660 longer. Added a new argument TYPE. Instead of printing directly,
22661 call PRINT_FUNC if not NULL.
22662 All callers changed.
22663 (complete_device): Use a local variable DEV instead of
22664 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
22665 (grub_normal_do_completion): Take a new argument HOOK. Do not
22666 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
22667 empty string, return NULL instead.
22668 All callers changed.
22669
22670 * normal/cmdline.c (print_completion): New function.
22671
22672 * kern/partition.c (grub_partition_iterate): Add an argument DISK
22673 to HOOK.
22674 All callers changed.
22675
22676 * kern/disk.c (grub_print_partinfo): Removed.
22677
22678 * include/grub/partition.h (struct grub_partition_map): Add a new
22679 argument DISK into HOOK of ITERATE.
22680 (grub_partition_iterate): Add a new argument DISK to HOOK.
22681
22682 * include/grub/normal.h (enum grub_completion_type): New enum.
22683 (grub_completion_type_t): New type.
22684 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
22685 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
22686 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
22687 (GRUB_COMPLETION_TYPE_FILE): Likewise.
22688 (grub_normal_do_completion): Added a new argument HOOK.
22689 (grub_normal_print_device_info): New prototype.
22690
22691 * include/grub/disk.h (grub_print_partinfo): Removed.
22692
22693 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
22694 (normal_mod_SOURCES): Likewise.
22695 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22696 (normal_mod_SOURCES): Likewise.
22697
22698 * commands/ls.c (grub_ls_list_disks): Use
22699 grub_normal_print_device_info instead of grub_print_partinfo. Free
22700 PNAME.
22701 (grub_ls_list_files): Use grub_normal_print_device_info instead of
22702 duplicating the code.
22703
0bd41162 227042005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
22705
22706 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 22707 follow GCS more precisely.
22708 * commands/i386/pc/vbe_test.c: Likewise.
22709 * include/grub/i386/pc/vbe.h: Likewise.
22710 * term/i386/pc/vesafb.c: Likewise.
22711 * video/i386/pc/vbe.c: Likewise.
0bd41162 22712
6323696a 227132005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
22714
22715 * DISTLIST: Added term/i386/pc/vesafb.c
22716 DISTLIST: Added video/i386/pc/vbe.c
22717 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
22718 DISTLIST: Added commands/i386/pc/vbe_test.c.
22719 * commands/i386/pc/vbe_list_modes.c: New file.
22720 * commands/i386/pc/vbe_test.c: Likewise.
22721 * term/i386/pc/vesafb.c: Likewise.
22722 * video/i386/pc/vbe.c: Likewise.
22723 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
22724 (grub_vbe_probe) Added prototype.
22725 (grub_vbe_set_video_mode) Likewise.
22726 (grub_vbe_get_video_mode) Likewise.
22727 (grub_vbe_get_video_mode_info) Likewise.
22728 (grub_vbe_set_pixel_rgb) Likewise.
22729 (grub_vbe_set_pixel_index) Likewise.
22730 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
22731 (pkgdata_MODULES): Added vesafb.mod.
22732 (pkgdata_MODULES): Added vbe_list_modes.mod.
22733 (pkgdata_MODULES): Added vbe_test.mod.
22734 (vbe_mod_SOURCES): Added.
22735 (vbe_mod_CFLAGS): Likewise.
22736 (vesafb_mod_SOURCES): Likewise.
22737 (vesafb_mod_CFLAGS): Likewise.
22738 (vbe_list_modes_mod_SOURCES): Likewise.
22739 (vbe_list_modes_mod_CFLAGS): Likewise.
22740 (vbe_test_mod_SOURCES): Likewise.
22741 (vbe_test_mod_CFLAGS): Likewise.
22742
0a74e62f 227432005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
22744
0a74e62f 22745 * normal/command.c (grub_command_execute): If INTERACTIVE is
22746 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
22747 CMDLINE. Disable the pager if INTERACTIVE is true.
22748 All callers are changed.
22749
22750 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
22751 before reading a config file.
22752 * normal/main.c (read_config_file): Even if a command is not
22753 found, register it if it is within an entry.
22754
22755 * util/grub-emu.c: Include sys/types.h and unistd.h.
22756 (options): Added --hold.
22757 (struct arguments): Added a new member "hold".
22758 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
22759 missing.
22760 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
22761 cleared by a debugger, if it is not zero.
22762
22763 * include/grub/normal.h (grub_command_execute): Add an argument
22764 INTERACTIVE.
22765
e51f85ae 227662005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
22767
22768 * DISTLIST: Added include/grub/i386/pc/vbe.h.
22769
e9c6f39b 227702005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
22771
22772 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
22773 program with another one, because the old one didn't detect a bug
22774 in gcc-3.4. Always use regparm 2, because the new test is still
22775 not enough for gcc-4.0. Someone must investigate a simple test
22776 case which detects a bug in gcc-4.0.
22777
8de3495c 227782005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
22779
22780 * DISTLIST: Added normal/completion.c.
22781
22782 * normal/completion.c: New file.
f19dbdb7 22783
8de3495c 22784 * term/i386/pc/console.c (grub_console_getwh): New function.
22785 (grub_console_term): Assign grub_console_getwh to getwh.
22786
22787 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
22788 function is defined in normal/completion.c as
22789 grub_normal_do_completion.
22790 (grub_cmdline_get): Use grub_normal_do_completion instead of
22791 grub_tab_complete.
22792
22793 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
22794 returns non-zero, otherwise return 0.
22795 (grub_partition_iterate): First, probe the partition map. Then,
22796 call ITERATE only for this partition map.
22797
22798 * kern/misc.c (grub_strncmp): Rewritten.
22799
22800 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
22801 returns non-zero. Otherwise return 0.
22802
22803 * include/grub/partition.h (grub_partition_map_iterate): Return
22804 int instead of void.
22805
22806 * include/grub/normal.h (grub_normal_do_completion): New prototype.
22807
22808 * include/grub/misc.h (grub_strncmp): Change the type of N to
22809 grub_size_t.
22810
22811 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
22812 of void.
22813
22814 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 22815 unsigned explicitly before comparing it with I.
8de3495c 22816
22817 * kern/main.c (grub_env_write_root): Add the attribute unused into
22818 VAR.
22819
22820 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
22821 normal/completion.c.
22822 (normal_mod_SOURCES): Likewise.
22823 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22824 (normal_mod_SOURCES): Likewise.
22825
22826 * normal/command.c (grub_iterate_commands): If ITERATE returns
22827 non-zero, return one immediately.
22828
e85e144b 228292005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
22830
22831 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
22832 * kern/i386/pc/startup.S: Updated Global Descriptor table's
22833 descriptions.
22834 (grub_vbe_get_controller_info): New function.
22835 (grub_vbe_get_mode_info): Likewise.
22836 (grub_vbe_set_mode): Likewise.
22837 (grub_vbe_get_mode): Likewise.
22838 (grub_vbe_set_memory_window): Likewise.
22839 (grub_vbe_get_memory_window): Likewise.
22840 (grub_vbe_set_scanline_length): Likewise.
22841 (grub_vbe_get_scanline_length): Likewise.
22842 (grub_vbe_set_display_start): Likewise.
22843 (grub_vbe_get_display_start): Likewise.
22844 (grub_vbe_set_palette_data): Likewise.
22845 * include/grub/i386/pc/vbe.h: New file.
22846
c46153d2 228472005-08-08 Hollis Blanchard <hollis@penguinppc.org>
22848
22849 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
22850 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
22851 * DISTLIST: Likewise.
22852 * kern/ieee1275/of.c: Moved to ...
22853 * kern/ieee1275/ieee1275.c: ... here.
22854
0cb90c45 228552005-08-08 Hollis Blanchard <hollis@penguinppc.org>
22856
22857 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
22858 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
22859 Pass 0 as `end' parameter to grub_strtoul().
22860
a19fb360 228612005-08-08 Hollis Blanchard <hollis@penguinppc.org>
22862
22863 * include/grub/powerpc/ieee1275/console.h: Do not include
22864 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
22865 ifdef.
22866 (grub_console_cur_color): Remove i386-specific prototype.
22867 (grub_console_real_putchar): Likewise.
22868 (grub_console_checkkey): Likewise.
22869 (grub_console_getkey): Likewise.
22870 (grub_console_getxy): Likewise.
22871 (grub_console_gotoxy): Likewise.
22872 (grub_console_cls): Likewise.
22873 (grub_console_setcursor): Likewise.
22874 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
22875 Include <grub/machine/console.h>.
22876 * term/ieee1275/ofconsole.c: Likewise.
22877
4ac9bd04 228782005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
22879
22880 * Makefile.in (LIBLZO): New variable.
22881
22882 * configure.ac: Check for LZO version 2.
22883
22884 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
22885 lzo/lzo1x.h instead of lzo1x.h.
22886
22887 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
22888 of -llzo.
22889
22890 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
22891 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
22892
22893 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
22894 copying the data from PARTITION to P.
22895
f4917dfd 228962005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
22897
22898 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
22899 negative, unload the module.
22900
22901 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
22902 map is "pc_partition_map" but not "pc".
22903 (usage): Fix the description. The options are --boot-image and
22904 --core-image but not --boot-file or --core-file.
22905 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
22906 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
22907 DEFAULT_DIRECTORY.
22908
22909 * util/i386/pc/grub-install.in: Do not specify --boot-file or
22910 --core-file. Specify INSTALL_DEVICE as an argument.
22911
22912 * util/console.c: Include config.h.
22913 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
22914 [HAVE_NCURSES_H]: Include ncurses.h.
22915 [HAVE_CURSES_H]: Include curses.h.
22916 [!A_NORMAL] (A_NORMAL): Defined as zero.
22917 [!A_STANDOUT] (A_STANDOUT): Likewise.
22918
22919 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
22920 -lncurses.
22921 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
22922
22923 * configure.ac: Check for curses libraries and headers.
22924
22925 * Makefile.in (LIBCURSES): New variable.
22926
22927 * genmk.rb (Script::rule): Set the executable bits.
22928
22929 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
22930 name of the PC partition map is "pc_partition_map" but not "pc".
22931
0e143073 229322005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
22933
22934 * util/i386/pc/grub-install.in (grub_probefs): New variable.
22935 (modules): Likewise.
22936 (usage): Added descriptions for --modules and --grub-probefs.
22937 Handle --modules and --grub-probefs. Save the arguments in MODULES
22938 and GRUB_PROBEFS, respectively.
22939 Auto-detect a filesystem module against GRUBDIR. If the result is
22940 empty and modules are not specified explicitly, abort the
22941 installation. Add the result to MODULES.
22942
22943 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
22944 disk/powerpc/ieee1275/ofdisk.c,
22945 include/grub/powerpc/ieee1275/init.h and
22946 term/powerpc/ieee1275/ofconsole.c.
22947 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
22948 term/ieee1275/ofconsole.c.
22949
22950 * include/grub/powerpc/ieee1275/console.h: Resurrected.
22951
22952 * COPYING: Upgraded to the latest version. Only the address of the
22953 FSF office has changed.
f19dbdb7 22954
efd6e6d5 229552005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
22956
22957 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
22958 kern/ieee1275.c with kern/ieee1275/of.c.
22959
22960 * kern/ieee1275.c: Moved to ...
22961 * kern/ieee1275/of.c: ... here.
22962
8ceafda2 229632005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
22964
22965 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 22966 readability.
8ceafda2 22967
22968 * config.guess: Updated to the latest version from gnulib.
22969 * config.sub: Likewise.
22970 * install.sh: Likewise.
22971 * mkinstalldirs: Likewise.
22972
22973 * include/grub/console.h: Removed. This file is arch-specific. Do
22974 not put this in include/grub.
22975
22976 * include/grub/i386/pc/console.h: Resurrected.
22977
22978 * util/console.c: Include grub/machine/console.h instead of
22979 grub/console.h.
22980 * util/grub-emu.c: Likewise.
22981
267f6cd9 229822005-08-04 Marco Gerards <metgerards@student.han.nl>
22983
22984 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
22985 hardcoded value.
f19dbdb7 22986
267f6cd9 22987 From Vincent Pelletier <subdino2004@yahoo.fr>
22988 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
22989 Redefined to use grub_getwh.
22990 (grub_term): New member named getwh.
22991 (grub_getwh): New prototype.
22992 * kern/term.c (grub_getwh): New function.
22993 * term/i386/pc/console.c (grub_console_getwh): New function.
22994 (grub_console_term): New member `getwh'.
22995 * term/i386/pc/vga.c (grub_vga_getwh): New function.
22996 (grub_vga_term): New member `getwh'.
0b5abe02 22997 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 22998 grub_ssize_t.
22999 (grub_ofconsole_getw): New function.
23000 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
23001 (grub_ofconsole_term): New field named getwh and new initial
23002 value.
23003
3be7266d 230042005-08-03 Hollis Blanchard <hollis@penguinppc.org>
23005
23006 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
23007 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
23008 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
23009 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
23010 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
23011 of <grub/machine/ieee1275.h>.
23012 * commands/ieee1275/reboot.c: Likewise.
23013 * boot/powerpc/ieee1275/ieee1275.c: Move ...
23014 * kern/ieee1275.c: ... to here. All users updated. Change all
23015 parameter structs to use new type `grub_ieee1275_cell_t'.
23016 * term/powerpc/ieee1275/ofconsole.c: Move ...
23017 * term/ieee1275/ofconsole.c: ... to here. All users updated.
23018 * disk/powerpc/ieee1275/ofdisk.c: Move ...
23019 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
23020 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
23021 to return int.
23022 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
23023 Remove unused prototypes. All users updated.
23024 * include/grub/powerpc/ieee1275/console.h: Removed.
23025 * include/grub/powerpc/ieee1275/ieee1275.h: Define
23026 `grub_ieee1275_cell_t'.
23027 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
23028 Cast comparisons with -1 to the correct type.
23029 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
23030 type to match `grub_ieee1275_entry_fn'.
23031
8b5f3938 230322005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
23033
23034 * DISTLIST: Added util/i386/pc/grub-probefs.c.
23035
23036 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
23037 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
23038 partmap/sun.c.
23039 (grub_probefs_SOURCES): New variable.
23040
23041 * util/i386/pc/grub-probefs.c: New file.
23042
23043 * util/i386/pc/grub-setup.c (main): Call
23044 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
23045 grub_hfs_init and grub_jfs_init to initialize the system. Call
23046 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
23047 grub_pc_partition_map_fini to finish the system.
23048
ea409713 230492005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
23050
23051 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
23052 function.
23053 (grub_multiboot_load_elf32): Likewise.
23054 (grub_multiboot_is_elf64): Likewise.
23055 (grub_multiboot_load_elf64): Likewise.
23056 (grub_multiboot_load_elf): Likewise.
23057 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
23058 an ELF32 or ELF64 file.
23059 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
23060
23061 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
23062 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
23063 NULL before calling FS->LABEL.
23064 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
23065 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
23066 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
23067 before calling FS->LABEL.
23068
141a288b 230692005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
23070
23071 * util/i386/pc/grub-install.in (datadir): New variable.
23072 (libdir): Removed.
23073 (pkgdatadir): New variable.
23074 (pkglibdir): Removed.
23075
0d5f8a54 230762005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
23077
23078 * DISTLIST: Added util/i386/pc/grub-install.in.
23079
23080 * util/i386/pc/grub-install.in: New file.
23081
23082 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
23083 (grub_install_SOURCES): Likewise.
23084
23085 * genmk.rb: Added support for scripts.
23086 (Script): New class.
23087 (scripts): New variable.
23088
23089 * Makefile.in (install-local): Install sbin_SCRIPTS by
23090 INSTALL_SCRIPT.
23091 (uninstall): Remove sbin_SCRIPTS.
23092
23093 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
23094 device, try to get a GRUB device by
23095 grub_util_biosdisk_get_grub_dev.
23096 Free DEST_DEV.
23097
23098 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
23099 description for --device-map.
23100
5f968e1e 231012005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
23102
23103 Change the semantics of variable hooks. They now return strings
23104 instead of error values.
f19dbdb7 23105
5f968e1e 23106 * util/i386/pc/grub-setup.c: Include grub/env.h.
23107 (setup): Use grub_device_set_root instead of grub_env_set.
23108
23109 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
23110 grub_env_get instead of grub_device_set_root and
23111 grub_device_get_root, respectively.
23112
23113 * kern/main.c (grub_env_write_root): New function.
23114 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
23115 grub_env_set instead of grub_device_set_root.
23116
23117 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
23118 many variables.
23119 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
23120 rather than calling ENV->WRITE_HOOK afterwards.
23121 (grub_env_get): Return the result of ENV->READ_HOOK rather than
23122 passing a pointer of a pointer.
23123 (grub_register_variable_hook): Change the types of "read_hook" and
23124 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
23125 respectively.
23126 Allocate the default empty string on the heap, because this string
23127 may be freed later.
23128
23129 * kern/device.c: Include grub/env.h.
23130 (grub_device_set_root): Removed.
23131 (grub_device_get_root): Likewise.
23132 (grub_device_open): Use grub_env_get instead of
23133 grub_device_get_root.
23134
23135 * include/grub/env.h (grub_env_read_hook_t): New type.
23136 (grub_env_write_hook_t): Likewise.
23137 (grub_env_var): Change the types of "read_hook" and "write_hook"
23138 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
23139 (grub_register_variable_hook): Likewise.
23140
23141 * include/grub/device.h (grub_device_set_root): Removed.
23142 (grub_device_set_root): Likewise.
23143
23144 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
23145 make sure that DIRNAME terminates with '/', so that
23146 grub_fat_find_dir will fail if PATH is not a directory.
23147
23148 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
23149 from DIRNAME.
23150 Use the qualifier auto for print_files and print_files_long.
23151 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
23152 as a regular file.
23153 Put a newline only if there is no error.
23154 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
23155 used.
23156
896f0afd 231572005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
23158
23159 * kern/partition.c (grub_partition_probe): Initialize PART to
23160 NULL. Otherwise, when no partition map is registered, this returns
23161 a garbage.
23162
b28b81b2 231632005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
23164
23165 * partmap/apple.c (apple_partition_map_iterate): Check if POS
23166 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
23167 valid.
23168
5f3607e0 231692005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
23170
23171 * commands/ls.c (grub_ls_list_disks): Print the filesystem
23172 information on each device, if it does not have partitions. Print
23173 "Device" instead of "Disk", because this function is not specific
23174 to disk devices.
23175
23176 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
23177 static to ensure that it is put on the memory rather than a
23178 register.
23179
502c87e8 231802005-07-17 Yoshinori Okuji <okuji@enbug.org>
23181
23182 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
23183 (grub_cat_init): Likewise.
23184 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
23185 (options): Likewise.
23186 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
23187 (grub_configfile_init): Likewise.
23188 * font/manager.c (GRUB_MOD_INIT): Likewise.
23189 * commands/help.c (GRUB_MOD_INIT): Likewise.
23190 (grub_help_init): Likewise.
23191 * normal/command.c (grub_command_init): Likewise.
23192 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
23193 * disk/loopback.c (grub_loop_init): Likewise.
23194 (GRUB_MOD_INIT): Likewise.
23195 * commands/ls.c (grub_ls_init): Likewise.
23196 (GRUB_MOD_INIT): Likewise.
23197 (options): Likewise.
23198 * commands/boot.c (grub_boot_init): Likewise.
23199 (GRUB_MOD_INIT): Likewise.
23200 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
23201 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
23202 (GRUB_MOD_INIT): Likewise.
23203 * commands/cmp.c (grub_cmp_init): Likewise.
23204 (GRUB_MOD_INIT): Likewise.
23205
23206 * normal/arg.c: Use <> instead of "" to include header files.
23207 (SHORT_ARG_HELP): New macro.
23208 (SHORT_ARG_USAGE): Likewise.
23209 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
23210 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
23211 descriptions.
23212 (find_short): Check if C is 'h' or 'u' explicitly.
23213 (grub_arg_show_help): Use space characters instead of tabs. Treat
23214 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
23215 are shown with --help and --usage only if they are not used for
23216 the command itself.
23217 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
23218 'h' and 'u'.
23219
23220 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
23221 const into "longarg". Change the type of "shortarg" to int.
23222
f806d18e 232232005-07-17 Yoshinori Okuji <okuji@enbug.org>
23224
23225 * boot/i386/pc/boot.S (boot_drive_check): New label.
23226
23227 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
23228 macro.
23229
23230 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
23231 which do not pass a boot drive correctly. Copied from GRUB Legacy.
23232
e293232b 232332005-07-17 Yoshinori Okuji <okuji@enbug.org>
23234
23235 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
23236 When turning off Gate A20, skip the check and return immediately,
23237 because this is not fatal usually.
23238
ebedfd00 232392005-07-17 Yoshinori Okuji <okuji@enbug.org>
23240
23241 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
23242 be 0x7C00 instead of 0x8000.
23243
23244 * boot/i386/pc/pxeboot.S: Rewritten.
23245
23246 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
23247 EXT_C.
23248 (gate_a20_check_state): Read a byte from 0x108000. Invert the
23249 result.
23250
654fc59f 232512005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
23252
23253 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
23254 robustness. This routine now supports a BIOS call and System
23255 Control Port A to modify the gate A20.
23256
23257 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
23258 Increased to 0x440.
23259
09f9923f 232602005-07-12 Hollis Blanchard <hollis@penguinppc.org>
23261
23262 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
23263 device path and resulting ihandle.
23264 (grub_ofdisk_close): dprintf the ihandle being closed.
23265 (grub_ofdisk_read): dprintf function parameters.
23266 * kern/mm.c (grub_mm_init_region): Likewise.
23267 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
23268 (grub_linux_boot): dprintf the Linux entry point, initrd address and
23269 size, and boot arguments.
23270 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
23271 before loading into memory.
23272 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
23273 before loading into memory.
23274
7ef504d8 232752005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
23276
23277 * kern/mm.c: Added much documentation.
23278 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
23279 8, set to 5 instead of 8.
23280
e0f050c2 232812005-07-10 Yoshinori Okuji <okuji@enbug.org>
23282
23283 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
23284
23285 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
23286 (grub_mkdevicemap_SOURCES): New variable.
23287
23288 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
23289 lib/device.c of GRUB Legacy.
23290
7224189a 232912005-07-10 Yoshinori Okuji <okuji@enbug.org>
23292
23293 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
23294 instead of PATH is NULL.
23295
68c864eb 232962005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
23297
23298 * commands/cmp.c (BUFFER_SIZE): New macro.
23299 (grub_cmd_cmp): Close the right file at the right time. Compare
23300 only data just read. Don't report files of different size as
23301 identical. Dynamically allocate buffers. Move variable
23302 declarations at the beginning of function.
23303
e6f3e614 233042005-07-09 Yoshinori Okuji <okuji@enbug.org>
23305
23306 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
23307 reverse.
23308
f8f1559a 233092004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
23310
23311 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
23312 when backspace is pressed at beginning of line.
23313
39c9d41d 233142005-07-03 Yoshinori Okuji <okuji@enbug.org>
23315
23316 * DISTLIST: Added genfslist.sh.
23317
23318 * normal/main.c (fs_module_list): New variable.
23319 (autoload_fs_module): New function.
23320 (read_fs_list): Likewise.
23321 (grub_normal_execute): Call read_fs_list.
23322
23323 * kern/fs.c (grub_fs_autoload_hook): New variable.
23324 (grub_fs_probe): Added support for auto-loading.
23325
23326 * include/grub/normal.h (struct grub_fs_module_list): New struct.
23327 (grub_fs_module_list_t): New type.
23328
23329 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
23330 (grub_fs_autoload_hook): New prototype.
23331
23332 * genfslist.sh: New file.
f19dbdb7 23333
39c9d41d 23334 * genmk.rb: Added a rule to generate a filesystem list.
23335
121c1d83 233362005-06-30 Marco Gerards <metgerards@student.han.nl>
23337
23338 * configure.ac: Fix the test for cross-compiling.
23339
23340 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
23341 define GRUB_UTIL anymore.
23342
23343 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
23344 so this function works on other systems than just big endian.
23345 (load_modules): Likewise.
23346 (add_segments): Likewise.
23347
e75d76e1 233482005-06-23 Hollis Blanchard <hollis@penguinppc.org>
23349
23350 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
23351 contains `l' modifier, get a long from va_arg().
23352
50b5a0a7 233532005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
23354
23355 * kern/mm.c (grub_free): If the next free block which is being
23356 merged is the first free block, set the first block to the block
23357 being freed.
23358 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
23359
89371b20 233602005-05-08 Hollis Blanchard <hollis@penguinppc.org>
23361
23362 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
23363 `grub_ieee1275_chosen'.
23364
168d6e58 233652005-05-08 Hollis Blanchard <hollis@penguinppc.org>
23366
23367 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
23368 (grub_ieee1275_chosen): New variable.
23369 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
23370 `chosen'.
23371 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
23372 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
23373 Rename first argument to `phandle' for consistency.
23374 (grub_ieee1275_get_property_length): Likewise.
23375 (grub_ieee1275_next_property): Likewise. Change type of first argument
23376 to grub_ieee1275_phandle_t.
23377 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
23378 Move export next to declaration.
23379 (grub_ieee1275_chosen): New variable.
23380 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
23381 Correct cosmetic typo.
23382 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
23383 `grub_ieee1275_chosen'.
23384 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
23385 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
23386 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
23387 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
23388 `grub_ieee1275_chosen'.
23389
ca5baa3f 233902005-05-10 Hollis Blanchard <hollis@penguinppc.org>
23391
23392 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
23393 /chosen/bootargs.
23394 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
23395 /chosen/bootargs as "variable=value" pairs.
23396
708b345f 233972005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
23398
23399 * include/grub/misc.h (grub_dprintf): New macro.
23400 (grub_real_dprintf): New prototype.
23401 (grub_strword): Likewise.
23402 (grub_iswordseparator): Likewise.
23403 * kern/misc.c (grub_real_dprintf): New function.
23404 (grub_strword): Likewise.
23405 (grub_iswordseparator): Likewise.
23406
f4c5e67c 234072005-04-30 Hollis Blanchard <hollis@penguinppc.org>
23408
23409 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
23410 (roundup): Remove macro.
23411 (grub_ieee1275_flags): Make static.
23412 (grub_ieee1275_realmode): Remove.
23413 (grub_ieee1275_test_flag): New function.
23414 (grub_ieee1275_set_flag): Likewise.
23415 (find_options): Rename to `grub_ieee1275_find_options'; update
23416 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
23417 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
23418 (cmain): New prototype.
23419 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
23420 `grub_ieee1275_flags' directly.
23421 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
23422 machine/biosdisk.h.
23423 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
23424 Don't include grub/machine/init.h.
23425 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
23426 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
23427 Remove prototype.
23428 (grub_ieee1275_realmode): Likewise.
23429 (grub_ieee1275_flag): New enum.
23430 (grub_ieee1275_test_flag): New prototype.
23431 (grub_ieee1275_set_flag): New prototype.
23432 * include/grub/powerpc/ieee1275/init.h: Remove file.
23433 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
23434 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
23435 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
23436 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
23437 comment.
23438 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
23439 `grub_ieee1275_test_flag'.
23440 (grub_ieee1275_encode_devname): Likewise.
23441
ed16607e 234422005-04-21 Hollis Blanchard <hollis@penguinppc.org>
23443
23444 * include/grub/powerpc/ieee1275/ieee1275.h
23445 (grub_ieee1275_encode_devname): New prototype.
23446 (grub_ieee1275_get_filename): Likewise.
23447 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
23448 function.
23449 (grub_set_prefix): Likewise.
23450 (grub_machine_init): Call grub_set_prefix.
23451 * kern/powerpc/ieee1275/openfw.c: Fix typos.
23452 (grub_parse_type): New enum.
23453 (grub_ieee1275_get_devargs): New function.
23454 (grub_ieee1275_get_devname): Likewise.
23455 (grub_ieee1275_parse_args): Likewise.
23456 (grub_ieee1275_get_filename): Likewise.
23457 (grub_ieee1275_encode_devname): Likewise.
23458
be369920 234592005-03-30 Marco Gerards <metgerards@student.han.nl>
23460
23461 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
23462 `grub_loader_unset'.
23463
a5ce3a4a 234642005-03-26 Hollis Blanchard <hollis@penguinppc.org>
23465
23466 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
23467 instead of grub_ieee1275_interpret.
23468 (grub_halt_init): New function.
23469 (grub_halt_fini): Likewise.
23470 (GRUB_MOD_INIT): Correct message grammar.
23471 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
23472 instead of grub_ieee1275_interpret.
23473 (grub_reboot_init): New function.
23474 (grub_reboot_fini): Likewise.
23475 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
23476 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
23477 util/i386/pc/misc.c with commands/ieee1275/halt.c,
23478 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
23479 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
23480 function.
23481 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
23482 Add prototype.
23483 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
23484 prototype.
23485 (grub_halt): Likewise.
23486 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
23487 (cmain): Remove __attribute__((unused)).
23488 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
23489 (grub_heap_len): Likewise.
23490 (grub_machine_fini): New function.
23491 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
23492 (grub_halt): Likewise.
23493 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
23494 function.
23495 * util/powerpc/ieee1275/misc.c: New file.
23496
0058f771 234972005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
23498
23499 * DISTLIST: New file.
23500 * gendistlist.sh: Likewise.
f19dbdb7 23501
0058f771 23502 * Makefile.in (COMMON_DISTFILES): Removed.
23503 (BOOT_DISTFILES): Likewise.
23504 (CONF_DISTFILES): Likewise.
23505 (DISK_DISTFILES): Likewise.
23506 (FS_DISTFILES): Likewise.
23507 (INCLUDE_DISTFILES): Likewise.
23508 (KERN_DISTFILES): Likewise.
23509 (LOADER_DISTFILES): Likewise.
23510 (TERM_DISTFILES): Likewise.
23511 (UTIL_DISTFILES): Likewise.
23512 (DISTFILES): Likewise.
23513 (uninstall): Uninstall files in $(pkgdata_DATA).
23514 (DISTLIST): New target.
23515 (distdir): Use the contents of the file DISTLIST to get a list of
23516 distributed files.
23517
46b3b8a5 235182005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
23519
23520 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
23521 descriptor. This is ported from GRUB Legacy.
23522
23523 * gencmdlist.sh: Added an extra semicolon to make it work with
23524 old sed versions. Reported by Robert Bihlmeyer
23525 <robbe@orcus.priv.at>.
23526
5822ff87 235272005-03-08 Yoshinori Okuji <okuji@enbug.org>
23528
23529 Automatic loading of commands is supported.
f19dbdb7 23530
5822ff87 23531 * normal/main.c (read_command_list): New function.
23532 (grub_normal_execute): Call read_command_list.
23533
23534 * normal/command.c (grub_register_command): Return zero or CMD.
23535 Allocate CMD->NAME from the heap.
23536 Initialize CMD->MODULE_NAME to zero.
23537 Find the same name as well. If the same command is found and it is
23538 a dummy command, overwrite members. If it is not a dummy command,
23539 return zero.
23540 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
23541 (grub_command_find): If a dummy command is found, load a module
23542 and retry to find a command only once.
23543
23544 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
23545 make sure that each command is loaded.
23546
23547 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
23548 macro.
23549 (struct grub_command): Remove const from the member `name'.
23550 Add a new member `module_name'.
23551 (grub_register_command): Return grub_command_t.
23552
23553 * commands/help.c (grub_cmd_help): Call grub_command_find to make
23554 sure that each command is loaded.
23555
23556 * genmk.rb (PModule::rule): Specify a module name without the
23557 suffix ".mod" to gencmdlist.sh.
23558
7b1f4b57 235592005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
23560
23561 * gencmdlist.sh: New file.
f19dbdb7 23562
7b1f4b57 23563 * genmk.rb (PModule::rule): Generate a rule for a command list.
23564 Clean command.lst.
23565 Generate command.lst from $(COMMANDFILES).
23566
23567 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
23568 (DATA): Added $(pkgdata_DATA).
23569 (install-local): Install files in $(pkgdata_DATA).
23570
062aaf39 235712005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
23572
23573 * term/i386/pc/vga.c (debug_command): Removed.
23574 (GRUB_MOD_INIT): Do not register the command "debug".
23575
23576 From Hollis Blanchard:
23577 * commands/configfile.c: New file.
23578 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
23579 commands/configfile.c.
23580 (pkgdata_MODULES): Added configfile.mod.
23581 (configfile_mod_SOURCES): New variable.
23582 (configfile_mod_CFLAGS): Likewise.
23583 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
23584 commands/configfile.c.
23585 (pkgdata_MODULES): Added configfile.mod.
23586 (configfile_mod_SOURCES): New variable.
23587 (configfile_mod_CFLAGS): Likewise.
23588 * util/grub-emu.c (main): Call grub_configfile_init and
23589 grub_configfile_fini.
23590 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
23591 prototype.
23592 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 23593
cee01aa6 235942005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
23595
23596 * normal/arg.c (grub_arg_show_help): Do not show the bug report
23597 address.
23598
23599 * commands/help.c (grub_cmd_help): Do not print newlines after
23600 the last command in print_command_help.
23601
93f3a1d8 236022005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
23603
23604 * commands/default.h: New file.
23605 * commands/timeout.h: Likewise.
23606 * normal/context.c: Likewise.
f19dbdb7 23607
93f3a1d8 23608 * util/misc.c: Do not include sys/times.h.
23609 Include sys/time.h and grub/machine/time.h.
23610 (grub_get_rtc): Rewritten with gettimeofday.
23611
23612 * util/grub-emu.c (main): Call grub_default_init and
23613 grub_timeout_init before grub_normal_init, and call
23614 grub_timeout_fini and grub_default_fini after grub_main.
23615
23616 * util/console.c (grub_ncurses_checkkey): Return the read
23617 character or -1.
23618
23619 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
23620 timeouts.
23621
23622 * normal/main.c (read_config_file): Push MENU. If this fails,
23623 print an error and wait for a user input.
23624 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
23625 If a menu is empty or an error occurs, pop MENU.
23626 (grub_normal_execute): Pop and free MENU after grub_menu_run
23627 returns.
23628
23629 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
23630
23631 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
23632 include time.h.
23633 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
23634 without GRUB_UTIL.
23635 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
23636 time.h.
23637 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
23638 without GRUB_UTIL.
23639
23640 * include/grub/normal.h (struct grub_menu_list): New struct.
23641 (grub_menu_list_t): New type.
23642 (struct grub_context): New struct.
23643 (grub_context_t): New type.
23644 (grub_register_command): Got rid of EXPORT_FUNC.
23645 (grub_unregister_command): Likewise.
23646 (grub_context_get): New prototype.
23647 (grub_context_get_current_menu): Likewise.
23648 (grub_context_push_menu): Likewise.
23649 (grub_context_pop_menu): Likewise.
23650 [GRUB_UTIL] (grub_default_init): Likewise.
23651 [GRUB_UTIL] (grub_default_fini): Likewise.
23652 [GRUB_UTIL] (grub_timeout_init): Likewise.
23653 [GRUB_UTIL] (grub_timeout_fini): Likewise.
23654
23655 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
23656 commands/timeout.c and normal/context.c.
23657 (pkgdata_MODULES): Added default.mod and timeout.mod.
23658 (normal_mod_SOURCES): Added normal/context.c.
23659 (default_mod_SOURCES): New variable.
23660 (default_mod_CFLAGS): Likewise.
23661 (timeout_mod_SOURCES): Likewise.
23662 (timeout_mod_CFLAGS): Likewise.
23663 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
23664 conf/i386-pc.rmk.
23665 (pkgdata_MODULES): Added default.mod and timeout.mod.
23666 (normal_mod_SOURCES): Added normal/context.c.
23667 (default_mod_SOURCES): New variable.
23668 (default_mod_CFLAGS): Likewise.
23669 (timeout_mod_SOURCES): Likewise.
23670 (timeout_mod_CFLAGS): Likewise.
23671
23672 * Makefile.in (all-local): Added $(MKFILES).
23673
4ed2e1dd 236742005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
23675
23676 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
23677 (grub_emu_SOURCES): Likewise.
23678 (pkgdata_MODULES): Add `sun.mod'.
23679 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
23680 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
23681 `partmap/sun.c'.
23682 (pkgdata_MODULES): Add `sun.mod'.
23683 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
23684 * include/grub/partition.h (grub_sun_partition_map_init): New
23685 prototype.
23686 (grub_sun_partition_map_fini): Likewise.
23687 * partmap/sun.c: New file.
23688 * util/grub-emu.c (main): Initialize and de-initialize the sun
23689 partitionmap support.
23690
4d4e372e 236912005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
23692
23693 This implements an Emacs-like menu entry editor.
f19dbdb7 23694
4d4e372e 23695 * normal/menu_entry.c: New file.
f19dbdb7 23696
4d4e372e 23697 * util/console.c (grub_ncurses_putchar): Translate some Unicode
23698 characters to ASCII.
23699 (saved_char): New variable.
23700 (grub_ncurses_checkkey): Rewritten completely.
23701 (grub_ncurses_getkey): Likewise.
23702 (grub_ncurses_init): Call raw instead of cbreak.
23703
23704 * normal/menu.c (print_entry): Do not put a space.
23705 (init_page): Renamed to ...
23706 (grub_menu_init_page): ... this. All callers changed.
23707 (edit_menu_entry): Removed.
23708 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
23709
23710 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
23711
23712 * kern/misc.c (grub_vprintf): Call grub_refresh.
23713
23714 * normal/menu.c (DISP_LEFT): Renamed to ...
23715 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
23716 * normal/menu.c (DISP_UP): Renamed to ...
23717 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
23718 * normal/menu.c (DISP_RIGHT): Renamed to ...
23719 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
23720 * normal/menu.c (DISP_DOWN): Renamed to ...
23721 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
23722 * normal/menu.c (DISP_HLINE): Renamed to ...
23723 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
23724 * normal/menu.c (DISP_VLINE): Renamed to ...
23725 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
23726 * normal/menu.c (DISP_UL): Renamed to ...
23727 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
23728 * normal/menu.c (DISP_UR): Renamed to ...
23729 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
23730 * normal/menu.c (DISP_LL): Renamed to ...
23731 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
23732 * normal/menu.c (DISP_LR): Renamed to ...
23733 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
23734 * normal/menu.c (TERM_WIDTH): Renamed to ...
23735 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
23736 * normal/menu.c (TERM_HEIGHT): Renamed to ...
23737 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
23738 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
23739 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
23740 * normal/menu.c (TERM_MARGIN): Renamed to ...
23741 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
23742 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
23743 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
23744 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
23745 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
23746 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
23747 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
23748 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
23749 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
23750 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
23751 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
23752 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
23753 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
23754 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
23755 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
23756 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
23757 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
23758 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
23759 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
23760 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
23761 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
23762 All callers changed.
23763
23764 * include/grub/normal.h: New prototype.
23765
23766 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
23767 normal/menu_entry.c.
23768 (normal_mod_SOURCES): Likewise.
23769 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23770 (normal_mod_SOURCES): Likewise.
23771
e6b92c8a 237722005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
23773
23774 * include/grub/normal.h (grub_halt_init): New prototype.
23775 (grub_halt_fini): Likewise.
23776 (grub_reboot_init): Likewise.
23777 (grub_reboot_fini): Likewise.
23778
23779 * util/grub-emu.c: Include signal.h.
23780 (main_env): New global variable.
23781 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
23782 catch C-c.
23783 (grub_machine_fini): New function.
23784 (main): Call grub_halt_init and grub_reboot_init before
23785 grub_main, and grub_reboot_fini and grub_halt_fini after it.
23786 Call setjmp with MAIN_ENV to go back afterwards.
23787 Call grub_machine_fini right before return.
23788
23789 * include/grub/util/misc.h: Include setjmp.h.
23790 (main_env): New prototype.
23791
23792 * include/grub/kernel.h (grub_machine_fini): New prototype.
23793 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
23794 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
23795
23796 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
23797 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
23798 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 23799
e6b92c8a 23800 * util/i386/pc/misc.c: New file.
f19dbdb7 23801
e6b92c8a 23802 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
23803 util/i386/pc/misc.c, commands/i386/pc/halt.c and
23804 commands/i386/pc/reboot.c.
23805
c642636f 238062005-02-14 Guillem Jover <guillem@hadrons.org>
23807
23808 * include/grub/dl.h (grub_dl_check_header): New prototype.
23809 (grub_arch_dl_check_header): Change return type to grub_err_t,
23810 remove size parameter and export function. Update all callers.
23811 * kern/dl.c (grub_dl_check_header): New function.
23812 (grub_dl_load_core): Use `grub_dl_check_header' instead of
23813 `grub_arch_dl_check_header'. Check ELF type. Check if sections
23814 are inside the core.
23815 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
23816 independent ELF header checks.
23817 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
23818 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
23819 `grub_dl_check_header' instead of explicit checks. Check for the
23820 ELF type.
23821 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
23822 `grub_dl_check_header' instead of explicit checks. Remove arch
23823 specific ELF header checks.
23824
e6b92c8a 23825 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
23826 argument SIZE.
23827
5eabe94b 238282005-02-13 Hollis Blanchard <hollis@penguinppc.org>
23829
23830 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
23831 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
23832
1b14a681 238332005-02-12 Hollis Blanchard <hollis@penguinppc.org>
23834
23835 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 23836 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 23837 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 23838 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 23839 * partmap/amiga.c (amiga_partition_map_iterate): Return
23840 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
23841 * partmap/apple.c (apple_partition_map_iterate): Likewise.
23842
aca108aa 238432005-02-01 Guillem Jover <guillem@hadrons.org>
23844
23845 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
23846 help info.
23847
c9f9c556 238482005-01-31 Marco Gerards <metgerards@student.han.nl>
23849
23850 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
23851 Removed prototype.
23852 (grub_rescue_cmd_linux): New prototype.
23853 (grub_rescue_cmd_initrd): Likewise.
23854 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
23855 `bi_rec'.
23856 (grub_linux_release_mem): Release the memory for the initrd.
23857 (grub_load_linux): Renamed from this...
23858 (grub_rescue_cmd_linux): ...To this. Changed all callers.
23859 Changed `entry' not to be static. Loop over memory regions to
23860 find another one when the default fails.
23861 (grub_rescue_cmd_initrd): New function.
23862 (grub_linux_init): Remove function.
23863 (grub_linux_fini): Likewise.
23864 (GRUB_MOD_INIT): Register `initrd'.
23865 (GRUB_MOD_FINI): Unregister `initrd'.
23866 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
23867 Function removed.
23868 (grub_linux_normal_fini): Likewise.
23869 (GRUB_MOD_INIT): Register `initrd'.
23870 (GRUB_MOD_FINI): Unregister `initrd'.
23871
990cf3aa 238722005-01-31 Marco Gerards <metgerards@student.han.nl>
23873
23874 * commands/help.c: New file.
23875 * normal/arg.c (show_help): Renamed to...
23876 (grub_arg_show_help): ... this.
23877 * commands/i386/pc/halt.c: New file.
23878 * commands/i386/pc/reboot.c: Likewise.
23879 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
23880 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
23881 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
23882 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
23883 variables.
23884 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
23885 `commands/help.c'.
23886 (pkgdata_MODULES): Add `help.mod'.
23887 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
23888 * grub/i386/pc/init.h (grub_reboot): New prototype.
23889 (grub_halt): Likewise.
23890 * include/grub/normal.h (grub_arg_show_help): New prototype.
23891 (grub_help_init): Likewise.
23892 (grub_help_fini): Likewise.
23893 * util/grub-emu.c (main): Initialize and deinitialize the help
23894 command.
23895
23896 * normal/cmdline.c (grub_cmdline_get): Doc fix.
23897
23898 * normal/command.c (grub_command_init): Fixed the description of
23899 the `set' and `unset' commands.
23900
239012005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 23902
23903 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
23904 function.
23905 * commands/ieee1275/halt.c: New file.
23906 * commands/ieee1275/reboot.c: Likewise.
23907 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
23908 `__attribute__ ((unused))'. Some GCS related fixed.
23909 (grub_suspend_init) [GRUB_UTIL]: Function removed.
23910 (grub_suspend_fini): Likewise.
23911 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
23912 and `halt.mod'.
23913 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
23914 (halt_mod_CFLAGS): New variables.
23915 * include/grub/powerpc/ieee1275/ieee1275.h
23916 (grub_ieee1275_interpret): New prototype.
23917
1ab09cc7 239182005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
23919
23920 * include/grub/misc.h (memmove): New prototype.
23921 (memcpy): Likewise.
23922
8b8cbdb2 239232005-01-22 Hollis Blanchard <hollis@penguinppc.org>
23924
23925 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
23926 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
23927
e3741a27 239282005-01-22 Marco Gerards <metgerards@student.han.nl>
23929
23930 * kern/misc.c (grub_strndup): Function rewritten.
23931
776bd780 239322005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
23933
23934 * normal/menu.c (TERM_WIDTH): Macro redefined.
23935 (TERM_TOP_BORDER_Y): Likewise.
23936 (draw_border): Replaced while-loop by a for-loop. Make the number
23937 of lines consistent with the number of lines displayed in
23938 print_entries. Added a margin below the rectangle.
23939 (print_entry): Make the entry fit in the rectangle.
23940 (print_entries): Display the scroll arrows next to the right
23941 border.
23942
78026bce 239432005-01-21 Marco Gerards <metgerards@student.han.nl>
23944
23945 * fs/minix.c (grub_minix_find_file): Reserve more space for
23946 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
23947 `grub_strncpy' to copy `path' into it.
23948
67bbaf0f 239492005-01-21 Marco Gerards <metgerards@student.han.nl>
23950
23951 Add the loopback device, a device via which files can be accessed
23952 as devices.
f19dbdb7 23953
67bbaf0f 23954 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
23955 (pkgdata_MODULES): Add loopback.mod.
23956 (loopback_mod_SOURCES): New variable.
23957 (loopback_mod_CFLAGS): Likewise.
23958 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
23959 `disk/loopback.c'.
23960 (pkgdata_MODULES): Add loopback.mod.
23961 (loopback_mod_SOURCES): New variable.
23962 (loopback_mod_CFLAGS): Likewise.
23963 * disk/loopback.c: new file.
23964 * include/grub/normal.h (grub_loop_init): New prototype.
23965 (grub_loop_fini): New prototype.
23966 * util/grub-emu.c (main): Initialize and de-initialize loopback
23967 support.
23968 * include/grub/disk.h (grub_disk_dev_id): Add
23969 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
23970
6f1c18bd 239712005-01-20 Hollis Blanchard <hollis@penguinppc.org>
23972
23973 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
23974 function.
23975 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
23976 (suspend_mod_SOURCES): New variable.
23977 (suspend_mod_CFLAGS): Likewise.
23978 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
23979 New prototype.
23980 * commands/ieee1275/suspend.c: New file.
23981
b38551da 239822005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
23983
23984 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 23985 ((unused))' to `__attribute__ ((used))'.
b38551da 23986 (GRUB_MOD_FINI): Likewise.
23987 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
23988 * genmk.rb (PModule): Assign space to common symbols when linking
23989 modules.
23990
777aff39 239912005-01-20 Marco Gerards <metgerards@student.han.nl>
23992
23993 * include/grub/mm.h (grub_mm_init_region): Change the type of the
23994 `unsigned' arguments to `grub_size_t'.
23995 (grub_malloc): Likewise.
23996 (grub_realloc): Likewise.
23997 (grub_memalign): Likewise.
23998 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
23999 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
24000 * util/misc.c (grub_malloc): Likewise.
24001 (grub_realloc): Likewise.
24002 * kern/mm.c (get_header_from_pointer): Change the casts to
24003 `unsigned' into a cast to `grub_size_t'.
24004
24005 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
24006 point to `currnode' when `currnode' is changed.
24007
24008 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
24009 Schottelius <nico-linux@schottelius.org>.
24010
d0ff18e1 240112005-01-09 Hollis Blanchard <hollis@penguinppc.org>
24012
24013 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
24014 (note_path): Remove variable.
24015 (GRUB_IEEE1275_NOTE_NAME): New macro.
24016 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
24017 (grub_ieee1275_note_hdr): New structure.
24018 (grub_ieee1275_note_desc): Likewise.
24019 (grub_ieee1275_note): Likewise.
24020 (load_note): Remove `dir' argument. All callers updated. Remove
24021 `note_img' and `path'. Do not load a file from `note_path'.
24022 Initialize a struct grub_ieee1275_note and write that to `out'.
24023 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
24024
4ca7004c 240252005-01-05 Marco Gerards <metgerards@student.han.nl>
24026
24027 * util/misc.c (grub_util_read_image): Revert last change. It
24028 called `grub_util_read_at', which seeks from the beginning of the
24029 file.
24030
0b412211 240312005-01-04 Hollis Blanchard <hollis@penguinppc.org>
24032
24033 * TODO: Add note about endianness in grub-mkimage.
24034 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
24035 section.
24036 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
24037 (grub_mkimage_SOURCES): New target.
24038 * include/grub/kernel.h (grub_start_addr): Remove variable.
24039 (grub_end_addr): Likewise.
24040 (grub_total_module_size): Likewise.
24041 (grub_kernel_image_size): Likewise.
24042 (GRUB_MODULE_MAGIC): New constant.
24043 (grub_module_info): New structure.
24044 (grub_arch_modules_addr): New prototype.
24045 (grub_get_end_addr): Remove prototype.
24046 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
24047 * include/grub/powerpc/ieee1275/kernel.h: New file.
24048 * include/grub/util/misc.h (grub_util_get_fp_size): New
24049 prototype.
24050 (grub_util_read_at): Likewise.
24051 (grub_util_write_image_at): Likewise.
24052 * kern/main.c (grub_get_end_addr): Remove function.
24053 (grub_load_modules): Call grub_arch_modules_addr instead of using
24054 grub_end_addr. Look for a grub_module_info struct in memory. Use
24055 the grub_module_info fields instead of calling grub_get_end_addr
24056 as loop conditions. Move grub_add_unused_region code here.
24057 (grub_add_unused_region): Remove function.
24058 * kern/i386/pc/init.c: Include grub/cache.h.
24059 (grub_machine_init): Remove call to grub_get_end_addr. Remove
24060 one call to add_mem_region.
24061 (grub_arch_modules_addr): New function.
24062 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
24063 (grub_total_module_size): Likewise.
24064 Include grub/machine/kernel.h.
24065 (grub_arch_modules_addr): New function.
24066 * util/grub-emu.c (grub_end_addr): Remove variable.
24067 (grub_total_module_size): Likewise.
24068 (grub_arch_modules_addr): New function.
24069 * util/misc.c: Include unistd.h.
24070 (grub_util_get_fp_size): New function.
24071 (grub_util_read_at): Likewise.
24072 (grub_util_write_image_at): Likewise.
24073 (grub_util_read_image): Call grub_util_read_at.
24074 (grub_util_write_image): Call grub_util_write_image_at.
24075 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
24076 additional memory in kernel_img for a struct grub_module_info.
24077 Fill in that grub_module_info.
24078 * util/powerpc/ieee1275/grub-mkimage.c: New file.
24079
458786f8 240802005-01-03 Hollis Blanchard <hollis@penguinppc.org>
24081
24082 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
24083 New function.
24084 * include/grub/powerpc/ieee1275/ieee1275.h
24085 (grub_ieee1275_milliseconds): New prototype.
24086 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
24087 Change to 1000.
24088 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
24089 grub_ieee1275_milliseconds.
24090
ac507d1b 240912005-01-03 Hollis Blanchard <hollis@penguinppc.org>
24092
24093 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
24094 variable.
24095 (find_options): New function.
24096 (cmain): Call find_options.
24097 * include/grub/powerpc/ieee1275/ieee1275.h
24098 (grub_ieee1275_realmode): New extern variable.
24099 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
24100 grub_map if grub_ieee1275_realmode is false.
24101
6b8fd1c4 241022004-12-29 Marco Gerards <metgerards@student.han.nl>
24103
24104 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
24105 lines are inserted and make it work like readline. Reported by
24106 Vincent Pelletier <subdino2004@yahoo.fr>.
24107
8514a1e0 241082004-12-28 Marco Gerards <metgerards@student.han.nl>
24109
24110 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
24111
24112 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
24113 `kern/powerpc/cache.S'.
24114
924b6140 241152004-12-27 Marco Gerards <metgerards@student.han.nl>
24116
24117 * genmk.rb: Handle the `Program' class in the main loop. Written
24118 by Johan Rydberg <jrydberg@gnu.org>.
24119 (Program): New class.
24120 (programs): New variable.
24121 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
24122 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
24123 instead of "grub/kernel.h". Include <grub/machine/init.h>.
24124 (help_arch): Function removed.
24125 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
24126 `powerpc/libgcc.h' and `loader.h'.
24127 (pkgdata_PROGRAMS): New variable.
24128 (sbin_UTILITIES): Variable removed.
24129 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
24130 (grubof_SOURCES): Variable re-defined so it only includes the
24131 core functionality.
24132 (grubof_CFLAGS): Remove `-DGRUBOF'.
24133 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
24134 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
24135 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
24136 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
24137 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
24138 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
24139 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
24140 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
24141 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
24142 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
24143 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
24144 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
24145 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
24146 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
24147 (pc_mod_CFLAGS): New variables.
24148 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
24149 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
24150 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
24151 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
24152 Moved from here...
24153 * include/grub/i386/pc/init.h (grub_os_area_addr)
24154 (rub_os_area_size): ... to here.
24155 * include/grub/powerpc/ieee1275/ieee1275.h
24156 (grub_ieee1275_entry_fn): Export symbol.
24157 * include/grub/powerpc/ieee1275/init.h: New file.
24158 * include/grub/powerpc/libgcc.h: Likewise.
24159 * include/grub/cache.h: Likewise.
24160 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
24161 <hollis@penguinppc.org>.
24162 * kern/dl.c: Include <grub/cache.h>.
24163 (grub_dl_flush_cache): New function.
24164 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
24165 for this module.
24166 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
24167 (grub_console_init): Removed prototypes.
24168 (grub_machine_init): Don't initialize the modules anymore.
24169 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
24170 static.
24171 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
24172 Macro undef removed.
24173 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
24174 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
24175 relocation `R_PPC_REL32'. Return an error when the relocation is
24176 unknown.
24177 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
24178 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
24179 * util/misc.c (grub_arch_sync_caches): Likewise.
24180
e4b47e0c 241812004-12-19 Marco Gerards <metgerards@student.han.nl>
24182
24183 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
24184 `symlist.c', add `grubof_symlist.c'.
24185 (symlist.c): Variable removed.
24186 (grubof_HEADERS): Variable added.
24187 (grubof_symlist.c): New target.
24188 (kernel_syms.lst): Use `grubof_HEADERS' instead of
24189 `kernel_img_HEADERS'.
24190 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
24191 * kern/powerpc/dl.c: New file.
24192 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
24193 Function removed.
24194 (grub_arch_dl_relocate_symbols): Likewise.
24195 (grub_register_exported_symbols): Likewise.
24196
4ceb3636 241972004-12-13 Marco Gerards <metgerards@student.han.nl>
24198
24199 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
24200 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
24201 to fail instead. Reported by Vincent Pelletier
24202 <subdino2004@yahoo.fr>.
24203
24204 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
24205 it is not allocated. Reported by Vincent Pelletier
24206 <subdino2004@yahoo.fr>.
24207
24208 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
24209 output so the output looks better.
f19dbdb7 24210
3f1578fe 242112004-12-04 Marco Gerards <metgerards@student.han.nl>
24212
24213 Modulize the partition map support and add support for the amiga
24214 partition map.
f19dbdb7 24215
3f1578fe 24216 * commands/ls.c: Include <grub/partition.h> instead of
24217 <grub/machine/partition.h>.
24218 * kern/disk.c: Likewise.
24219 * kern/rescue.c: Likewise.
24220 * loader/i386/pc/chainloader.c: Likewise.
24221 * normal/cmdline.c: Likewise.
24222 * kern/powerpc/ieee1275/init.c: Likewise.
24223 (grub_machine_init): Call `grub_pc_partition_map_init',
24224 `grub_amiga_partition_map_init' and
24225 `grub_apple_partition_map_init'.
24226 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
24227 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
24228 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
24229 `partition.h' and `pc_partition.h'.
24230 (grub_setup_SOURCES): Remove
24231 `disk/i386/pc/partition.c'. Add `kern/partition.c',
24232 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
24233 (grub_emu_SOURCES): Likewise.
24234 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
24235 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
24236 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
24237 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
24238 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
24239 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
24240 (grubof_SOURCES): Likewise.
24241 * disk/i386/pc/partition.c: File removed.
24242 * disk/powerpc/ieee1275/partition.c: Likewise.
24243 * include/grub/powerpc/ieee1275/partition.h: Likewise.
24244 * include/grub/i386/pc/partition.h: Likewise.
24245 * kern/partition.c: New file.
24246 * partmap/amiga.c: Likewise.
24247 * partmap/apple.c: Likewise.
24248 * partmap/pc.c: Likewise.
24249 * include/grub/partition.h: Likewise..
24250 * include/grub/pc_partition.h: Likewise.
24251 * util/grub-emu.c: Include <grub/partition.h> instead of
24252 <grub/machine/partition.h>.
24253 (main): Call `grub_pc_partition_map_init',
24254 `grub_amiga_partition_map_init' and
24255 `grub_apple_partition_map_init' and deinitialize afterwards.
24256 * util/i386/pc/biosdisk.c: Include `#include
24257 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
24258 `<grub/machine/partition.h>'.
24259 * util/i386/pc/grub-setup.c: Likewise.
24260 * util/i386/pc/biosdisk.c: Likewise.
24261 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
24262 partition information in case of a PC partition.
24263 * util/i386/pc/grub-setup.c: Include `#include
24264 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
24265 `<grub/machine/partition.h>'.
24266 (setup): Only access the PC specific partition information in case
24267 of a PC partition.
24268
0ef4ced9 242692004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 24270
0ef4ced9 24271 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
24272 (grub_longjmp): Likewise.
24273 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
24274 20.
24275 * normal/powerpc/setjmp.S: New file.
24276 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
24277 `normal/powerpc/setjmp.S'.
24278 (grubof_CFLAGS): Add `-DGRUBOF'.
24279 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
24280 [GRUB_UTIL && !GRUBOF].
f19dbdb7 24281
19950e29 242822004-11-16 Marco Gerards <metgerards@student.han.nl>
24283
24284 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
24285 property named `name'. Correctly handle the error returned by
24286 `grub_ieee1275_finddevice' if a device can not be opened.
24287
a2fea427 242882004-11-02 Hollis Blanchard <hollis@penguinppc.org>
24289
24290 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
24291 `actual' for negativity.
24292 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
24293 kern/fshelp.c.
24294
41ea0ea3 242952004-11-01 Marco Gerards <metgerards@student.han.nl>
24296
24297 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
24298 (PAGE_OFFSET): New macro.
24299 (CRTC_ADDR_PORT): Likewise.
24300 (CRTC_DATA_PORT): Likewise.
24301 (START_ADDR_HIGH_REGISTER): Likewise.
24302 (START_ADDR_LOW_REGISTER): Likewise.
24303 (GRAPHICS_ADDR_PORT): Likewise.
24304 (GRAPHICS_DATA_PORT): Likewise.
24305 (READ_MAP_REGISTER): Likewise.
24306 (INPUT_STATUS1_REGISTER): Likewise.
24307 (INPUT_STATUS1_VERTR_BIT): Likewise.
24308 (page): New variable.
24309 (wait_vretrace): New function.
24310 (set_read_map): Likewise.
24311 (set_start_address): Likewise.
24312 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
24313 the right page.
24314 (check_vga_mem): Take the page into account.
24315 (write_char): Likewise.
24316 (write_cursor): Likewise.
24317 (scroll_up): Likewise. Copy the page to the page that is not
24318 shown and switch between both pages.
24319 (grub_vga_putchar): Fix off by one error.
24320 (grub_vga_cls): Wait for the vertical retrace. Take the page into
24321 account.
24322
ad0bd20b 243232004-11-01 Marco Gerards <metgerards@student.han.nl>
24324
24325 Add support for iso9660 (including rockridge).
f19dbdb7 24326
ad0bd20b 24327 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
24328 (iso9660_mod_SOURCES): New variable.
24329 (iso9660_mod_CFLAGS): Likewise.
24330 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
24331 * include/grub/fs.h (grub_iso9660_init): New prototype.
24332 * util/grub-emu.c (main): Call `grub_iso9660_init'.
24333 * fs/iso9660.c: New file.
24334
24335 * include/grub/misc.h (grub_strncat): New prototype.
24336 * kern/misc.c (grub_strncat): New function.
f19dbdb7 24337
ad0bd20b 24338 * fs/hfs.c (grub_hfs_mount): Translate the error
24339 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
24340 * fs/jfs.c (grub_jfs_mount): Likewise.
24341 * fs/ufs.c (grub_ufs_mount): Likewise.
24342
a5477a59 243432004-10-28 Hollis Blanchard <hollis@penguinppc.org>
24344
24345 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
24346 which initialized BAT registers.
24347 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
24348 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
24349 Move from here...
24350 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
24351 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
24352 ... to here.
24353 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
24354 (grub_mapclaim): Likewise.
24355 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
24356 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
24357 hand.
24358
9304c1f8 243592004-10-19 Hollis Blanchard <hollis@penguinppc.org>
24360
24361 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
24362 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
24363 -ffreestanding and -msoft-float.
24364
86f4ae25 243652004-10-15 Hollis Blanchard <hollis@penguinppc.org>
24366
24367 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
24368 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
24369 set in grub_ieee1275_flags.
24370
38912228 243712004-10-14 Hollis Blanchard <hollis@penguinppc.org>
24372
24373 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
24374 prototype.
24375 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
24376 grub_console_init first.
24377 Change the memory range used for grub_ieee1275_claim and
24378 grub_mm_init_region.
24379 Print an error message if the claim fails.
24380 Include <grub/misc.h>.
24381
d1923dc8 243822004-10-13 Hollis Blanchard <hollis@penguinppc.org>
24383
24384 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
24385 Call grub_children_iterate for device nodes of type `scsi',
24386 `ide', or `ata'.
24387 (grub_ofdisk_open): Remove manual device alias resolution.
24388 Fix memory leak when device cannot be opened.
f19dbdb7 24389 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 24390 (grub_children_iterate): New prototype.
24391 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
24392 New function.
24393 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
24394 Return -1 if args.size was -1.
24395
4512e4f3 243962004-10-11 Hollis Blanchard <hollis@penguinppc.org>
24397
24398 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
24399 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
24400 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
24401 Open Firmware's memory for it; claim memory from _start to _end.
24402 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
24403 (_end): New extern.
24404 (_start): Zero BSS from __bss_start to _end.
24405 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
24406 New extern.
24407 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
24408
4d61feb0 244092004-10-11 Hollis Blanchard <hollis@penguinppc.org>
24410
ad0bd20b 24411 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
24412 -1 if args.base was -1.
4d61feb0 24413
026fa2f9 244142004-10-08 Hollis Blanchard <hollis@penguinppc.org>
24415
24416 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
24417 escape sequence instead of a literal ^L. Also call
24418 grub_ofconsole_gotoxy.
24419
9f2220ef 244202004-10-03 Hollis Blanchard <hollis@penguinppc.org>
24421
24422 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
24423 void * arguments to grub_addr_t. All callers updated. Also make
24424 the `result' argument optional.
24425 (grub_ieee1275_release): change void * arguments to grub_addr_t.
24426 All callers updated.
24427
8a572cd7 244282004-09-22 Hollis Blanchard <hollis@penguinppc.org>
24429
24430 * commands/ls.c (grub_ls_list_files): Use the string following the
24431 initial ')', if present, as the filesystem path.
24432 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
24433
24434 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
24435
18aa81f2 244362004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
24437
24438 Make the source code of the menu interface more readable.
f19dbdb7 24439
18aa81f2 24440 * normal/menu.c: Include grub/mm.h.
24441 (TERM_WIDTH): New macro.
24442 (TERM_HEIGHT): Likewise.
24443 (TERM_INFO_HEIGHT): Likewise.
24444 (TERM_MARGIN): Likewise.
24445 (TERM_SCROLL_WIDTH): Likewise.
24446 (TERM_TOP_BORDER_Y): Likewise.
24447 (TERM_LEFT_BORDER_X): Likewise.
24448 (TERM_BORDER_WIDTH): Likewise.
24449 (TERM_MESSAGE_HEIGHT): Likewise.
24450 (TERM_BORDER_HEIGHT): Likewise.
24451 (TERM_NUM_ENTRIES): Likewise.
24452 (TERM_FIRST_ENTRY_Y): Likewise.
24453 (TERM_ENTRY_WIDTH): Likewise.
24454 (TERM_CURSOR_X): Likewise.
24455 (draw_border): Use macros instead of magic numbers.
24456 (print_entry): Likewise.
24457 (print_entries): Likewise.
24458 (run_menu): Likewise. Also, handle the key 'e'.
24459 (run_menu_entry): Ignore empty command lines.
24460 (print_message): Added a new argument EDIT. If EDIT is true,
24461 print a different message.
24462 (init_page): Likewise.
24463 (edit_menu_entry): New function. Not implemented yet.
24464
b47efe30 244652004-09-17 Marco Gerards <metgerards@student.han.nl>
24466
24467 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
24468 can be loaded from normal mode.
f19dbdb7 24469
b47efe30 24470 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
24471 `multiboot.mod'.
24472 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
24473 (multiboot_mod_CFLAGS): New variables.
24474 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 24475 * loader/i386/pc/multiboot_normal.c: Likewise.
24476
b47efe30 24477 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
24478 attribute `unused'.
f19dbdb7 24479
b47efe30 24480 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
24481 `fdiro' to read the mode information from instead of `diro'.
24482
24483 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
24484 looking up a symlink.
24485
24486 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
24487 macro.
24488 * normal/command.c (grub_command_execute): Don't parse the
24489 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
24490 flags of the command.
24491
24492 * normal/menu.c (grub_menu_run): Fix typo.
24493
da75ac71 244942004-09-14 Hollis Blanchard <hollis@penguinppc.org>
24495
24496 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
24497
24498 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
24499 `y + 1' instead of `y - 1'.
24500
24501 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 24502
062b24c2 245032004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
24504
24505 From Hollis Blanchard <hollis@penguinppc.org>:
24506 * kern/misc.c (memmove): New alias for grub_memmove.
24507 (memcmp): New alias for grub_memcmp.
24508 (memset): New alias for grub_memset.
f19dbdb7 24509 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 24510 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 24511 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 24512 (grub_ieee1275_get_property): Likewise.
f19dbdb7 24513
8ddad845 245142004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
24515
24516 Added normal mode command `chainloader' as module chain.mod, which
24517 depends on normal.mod and _chain.mod.
f19dbdb7 24518
8ddad845 24519 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
24520 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
24521 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
24522 Deleted prototype.
24523 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
24524 but arguments parsing moved to ...
24525 (grub_chainloader_cmd): ... here. New function.
24526 * include/grub/i386/pc/chainloader.h: New file.
24527 * loader/i386/pc/chainloader_normal.c: Likewise.
24528
2c1f4ce3 245292004-09-11 Marco Gerards <metgerards@student.han.nl>
24530
24531 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
24532 (grub_mkimage_LDFLAGS): Likewise.
24533 (grub_emu_SOURCES): Likewise.
24534 (kernel_img_HEADERS): Added fshelp.h.
24535 * fs/ext2.c: Include <grub/fshelp.h>.
24536 (FILETYPE_REG): New macro.
24537 (FILETYPE_INO_REG): Likewise.
24538 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
24539 Changed all users.
24540 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
24541 all users.
24542 (grub_fshelp_node): New struct.
24543 (grub_ext2_data): Added member `diropen'. Changed member `inode'
24544 to a pointer.
24545 (grub_ext2_get_file_block): Removed function.
24546 (grub_ext2_read_block): New function.
24547 (grub_ext2_read_file): Replaced parameter `data' by `node'.
24548 This function was written.
24549 (grub_ext2_mount): Read the root inode. Create a diropen struct.
24550 (grub_ext2_find_file): Removed function.
24551 (grub_ext2_read_symlink): New function.
24552 (grub_ext2_iterate_dir): Likewise.
24553 (grub_ext2_open): Rewritten.
24554 (grub_ext2_dir): Rewritten.
24555 * include/grub/fshelp.h: New file.
24556 * fs/fshelp.c: Likewise.
24557
3c52136a 245582004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
24559
24560 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
24561 (print_message): Add a missing newline.
24562 (run_menu): Added timeout support.
24563 (run_menu_entry): New local function.
24564 (grub_menu_run): Added support for booting.
24565
24566 * kern/loader.c (grub_loader_is_loaded): New function.
24567
24568 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
24569 (grub_get_rtc): Exported.
24570
24571 * include/grub/i386/pc/time.h: Include grub/symbol.h.
24572 (grub_get_rtc): Exported.
24573
24574 * include/grub/normal.h (struct grub_command_list): Remove
24575 constant from the member `command'.
24576
24577 * include/grub/loader.h (grub_loader_is_loaded): Declared.
24578
24579 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
24580
24581 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
24582
aa033560 245832004-08-28 Marco Gerards <metgerards@student.han.nl>
24584
24585 Add support for the JFS filesystem.
24586
24587 * fs/jfs.c: New file.
24588 * include/grub/fs.h (grub_jfs_init): New prototype.
24589 (grub_jfs_fini): New prototype.
24590 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
24591 (grub_emu_SOURCES): Likewise.
24592 (pkgdata_MODULES): Add jfs.mod.
24593 (jfs_mod_SOURCES): New variable.
24594 (jfs_mod_CFLAGS): Likewise.
24595 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
24596 (grubof_SOURCES): Likewise.
24597 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
24598
24599 * fs/fat.c (grub_fat_find_dir): Convert the filename little
24600 endian to the host endian.
24601 (grub_fat_utf16_to_utf8): Move function from there...
24602 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 24603 the endianness of the source string anymore.
aa033560 24604 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
24605
94bc45af 246062004-08-24 Marco Gerards <metgerards@student.han.nl>
24607
24608 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
24609 (grub_boot_fini) [GRUB_UTIL]: Likewise.
24610 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
24611 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 24612
94bc45af 24613 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
24614 (grub_hfs_iterate_dir): Make the function static. Add prototypes
24615 for `node_found' and `it_dir'.
24616 (grub_hfs_dir): Add prototype for `dir_hook'.
24617
24618 * fs/minix.c (grub_minix_get_file_block): Add prototype for
24619 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
24620 and `indir32' to silence a gcc warning.
24621
24622 * include/grub/fs.h (grub_hfs_init): New prototype.
24623 (grub_hfs_fini): Likewise.
f19dbdb7 24624
24625
97543f08 246262004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
24627
24628 Each disk device has its own id now. This is useful to make use
24629 of multiple disk devices.
f19dbdb7 24630
97543f08 24631 * include/grub/disk.h (grub_disk_dev_id): New enum.
24632 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
24633 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
24634
24635 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
24636 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
24637
24638 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
24639 GRUB_DISK_DEVICE_OFDISK_ID as an id.
24640
24641 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
24642 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
24643
24644 * include/grub/disk.h (struct grub_disk_dev): Added a new member
24645 "id" which is used by the cache manager.
24646
24647 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
24648 of just "GRUB".
24649
64372eb4 246502004-08-18 Marco Gerards <metgerards@student.han.nl>
24651
24652 * fs/hfs.c: New file.
24653 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
24654 (grub_emu_SOURCES): Likewise.
24655 (pkgdata_MODULES): Add hfs.mod.
24656 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
24657 (grubof_SOURCES): Likewise.
24658 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
24659
24660 * include/grub/misc.h (grub_strncasecmp): Add prototype.
24661 * kern/misc.c (grub_strncasecmp): Add function.
24662
cc61b58f 246632004-08-14 Marco Gerards <metgerards@student.han.nl>
24664
24665 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
24666 with parentheses.
24667
24668 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
24669 (grub_ext2_dir): In case the directory entry type is unknown, read
24670 it from the inode.
24671
0ef123f6 246722004-08-02 Peter Bruin <pjbruin@dds.nl>
24673
24674 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
24675 grub_load_linux instead of grub_rescue_cmd_linux as second
24676 argument of grub_rescue_register_command.
24677
24678 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
24679
a447c5df 246802004-07-27 Marco Gerards <metgerards@student.han.nl>
24681
24682 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
24683 function.
24684 * commands/boot.c: Remove the check for `GRUB_UTIL'.
24685 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
24686 `loader/powerpc/ieee1275/linux.c',
24687 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
24688 * include/grub/powerpc/ieee1275/ieee1275.h
24689 (grub_ieee1275_release): New prototype.
24690 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
24691 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
24692 normal, boot, linux and linux_normal.
24693 * loader/powerpc/ieee1275/linux.c: New file.
24694 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
24695
5a9e3546 246962004-07-12 Marco Gerards <metgerards@student.han.nl>
24697
24698 * normal/arg.c (grub_arg_parse): Correct error handling after
24699 reallocating the argumentlist (check if `argl' is not null instead
24700 of checking if `args' is not null).
24701 * kern/mm.c (grub_realloc): Return the same pointer when using the
24702 same region, instead of returning the header address.
24703
e15199cb 247042004-07-11 Marco Gerards <metgerards@student.han.nl>
24705
24706 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
24707 one block instead of two when looking for the initial partition.
24708 (grub_partition_probe): Initialize the local variable `p' with 0.
24709 Use base 10 for the grub_strtoul call.
24710 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
24711 need for one local variable.
24712 (grub_strtoul): Don't add the new value to `num', instead of that
24713 just assign it.
24714
020616c2 247152004-07-11 Marco Gerards <metgerards@student.han.nl>
24716
24717 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
24718 (pxeboot_img_SOURCES): New variable.
24719 (pxeboot_img_ASFLAGS): Likewise.
24720 (pxeboot_img_LDFLAGS): Likewise.
24721 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
24722 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
24723 <lode_leroy@hotmail.com>.
24724
6c51eb64 247252004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
24726
24727 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
24728 there was no input.
24729
cfb12aff 247302004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
24731
24732 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
24733 the history buffer logic.
24734
6eabba74 247352004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
24736
24737 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
24738 (FILETYPE_INO_SYMLINK): New macros.
24739 (grub_ext2_find_file): Check if the node is a directory using the
24740 inode stat information instead of using the filetype in the
24741 dirent. Exclude the first character of an absolute symlink.
24742 (grub_ext2_dir): Mask out the filetype part of the mode member of
24743 the inode.
24744
66e19ef8 247452004-05-24 Marco Gerards <metgerards@student.han.nl>
24746
24747 Add support for UFS version 1 and 2. Add support for the minix
24748 filesystem version 1 and 2, both the variants with 14 and 30 long
24749 filenames.
f19dbdb7 24750
66e19ef8 24751 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
24752 fs/minix.c.
24753 (grub_emu_SOURCES): Likewise.
24754 (pkgdata_MODULES): Add ufs.mod and minix.mod.
24755 (ufs_mod_SOURCES): New variable.
24756 (ufs_mod_CFLAGS): Likewise.
24757 (minix_mod_SOURCES): Likewise.
24758 (minix_mod_CFLAGS): Likewise.
24759 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
24760 fs/minix.c.
24761 (grubof_SOURCES): Likewise.
24762 * fs/ufs.c: New file.
24763 * fs/minix.c: New file.
24764 * include/grub/fs.h (grub_ufs_init): New prototype.
24765 (grub_ufs_fini): Likewise.
24766 (grub_minix_init): Likewise.
24767 (grub_minix_fini): Likewise.
24768 * util/grub-emu.c (main): Initialize and deinitialize UFS and
24769 minix fs.
24770
cc2e748a 247712004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
24772
24773 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
24774 commands/ls.c, commands/terminal.c, commands/boot.c,
24775 commands/cmp.c and commands/cat.c.
24776 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
24777
24778 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
24779 "env.h"
24780
4b13b216 247812004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
24782
24783 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
24784 and grub_, respectively. Because the conversion is trivial and
24785 mechanical, I omit the details here. Please refer to the CVS
24786 if you need more information.
24787
6a142551 247882004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
24789
24790 * include/pupa: Renamed to ...
24791 * include/grub: ... this.
24792 * util/i386/pc/pupa-mkimage.c: Renamed to ...
24793 * util/i386/pc/grub-mkimage.c: ... this.
24794 * util/i386/pc/pupa-setup.c: Renamed to ...
24795 * util/i386/pc/grub-setup.c: ... this.
24796 * util/pupa-emu.c: Renamed to ...
24797 * util/grub-emu.c: ... this.
24798
e56cdf21 247992004-03-29 Marco Gerards <metgerards@student.han.nl>
24800
24801 Add support for the newworld apple macintosh (PPC). This has been
24802 tested on the powerbook 2000 only. It only adds support for
24803 generic ieee1275 functions, console and disk support. This should
24804 be easy to port to other architectures with support for Open
24805 Firmware.
f19dbdb7 24806
e56cdf21 24807 * configure.ac: Accept the powerpc as host_cpu. In the case of
24808 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
24809 specific tests are only executed while building for the i386.
24810 Inverse test for crosscompile.
24811 * genmk.rb (Utility): Allow assembler files.
24812 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
24813 * conf/powerpc-ieee1275.rmk: New file.
24814 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
24815 * disk/powerpc/ieee1275/partition.c: Likewise.
24816 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
24817 * include/pupa/powerpc/ieee1275/console.h: Likewise.
24818 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
24819 * include/pupa/powerpc/ieee1275/time.h: Likewise.
24820 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
24821 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
24822 * include/pupa/powerpc/ieee1275/loader.h
24823 * include/pupa/powerpc/setjmp.h: Likewise.
24824 * include/pupa/powerpc/types.h: Likewise.
24825 * kern/powerpc/ieee1275/init.c: Likewise.
24826 * kern/powerpc/ieee1275/openfw.c: Likewise.
24827 * term/powerpc/ieee1275/ofconsole.c: Likewise.
24828
24829 These files were written by Johan Rydberg
24830 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 24831
e56cdf21 24832 * boot/powerpc/ieee1275/cmain.c: New file.
24833 * boot/powerpc/ieee1275/crt0.S: Likewise.
24834 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
24835 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
24836
8c8cc205 248372004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
24838
24839 * Makefile.in: Update copyright.
24840 * genmodsrc.sh: Likewise.
24841 * gensymlist.sh: Likewise.
24842 * term/i386/pc/vga.c: Indent correctly.
24843
24844 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
24845 bugreporting address.
24846 * util/i386/pc/pupa-setup.c (usage): Likewise,
24847 (main): Call pupa_ext2_init and pupa_ext2_fini.
24848
f19dbdb7 24849 * fs/fat.c (log2): Renamed to ...
8c8cc205 24850 (fat_log2): ... this.
24851 All callers changed.
24852 * kern/misc.c (memcpy): Alias to pupa_memmove.
24853 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
24854 lvalue cast.
24855 * util/console.c (pupa_ncurses_fini): Return 0.
24856
24857 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
24858 Move fail label here.
24859 [__GNU__]: Don't warn when using stat.
24860 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
24861 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
24862 long int. Use strtol instead of strtoul.
f19dbdb7 24863
db1771cf 248642004-03-14 Marco Gerards <metgerards@student.han.nl>
24865
24866 * commands/boot.c: New file.
24867 * commands/cat.c: Likewise.
24868 * commands/cmp.c: Likewise.
24869 * commands/ls.c: Likewise.
24870 * commands/terminal.c: Likewise.
24871 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
24872 (pupa_register_command): Changed interface to match the new
24873 argument parser.
24874 (pupa_command_execute): Changed (almost rewritten) so it uses
24875 pupa_split_command. Added support for setting variables using the
24876 syntax `foo=bar'.
24877 (rescue_command): Changed to work with the new argument parser.
24878 (terminal_command): Moved from here to commands/terminal.c.
24879 (set_command): New function.
24880 (unset_command): New function.
24881 (insmod_command): New function.
24882 (rmmod_command): New function.
24883 (lsmod_command): New function.
24884 (pupa_command_init): Don't initialize the command terminal
24885 anymore. Initialize the commands set, unset, insmod, rmmod and
24886 lsmod.
24887 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
24888 (kernel_img_HEADERS): Add arg.h and env.h.
24889 (pupa_mkimage_LDFLAGS): Add kern/env.c.
24890 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
24891 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
24892 normal/arg.c.
24893 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
24894 terminal.mod.
24895 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
24896 (boot_mod_SOURCES): New variable.
24897 (terminal_mod_SOURCES): Likewise.
24898 (ls_mod_SOURCES): Likewise.
24899 (cmp_mod_SOURCES): Likewise.
24900 (cat_mod_SOURCES): Likewise.
24901
24902 * normal/arg.c: New file.
24903 * kern/env.c: Likewise.
24904 * include/pupa/arg.h: Likewise.
24905 * include/pupa/env.h: Likewise.
24906 * font/manager.c (font_command): Changed to match argument parsing
24907 interface changes.
24908 (PUPA_MOD_INIT): Likewise.
24909 * hello/hello.c (pupa_cmd_hello): Likewise.
24910 (PUPA_MOD_INIT): Likewise.
24911 * include/pupa/disk.h: Include <pupa/device.h>.
24912 (pupa_print_partinfo): New prototype.
24913 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
24914 (pupa_dl_get_prefix): Likewise.
24915 * include/pupa/misc.h: Include <pupa/err.h>.
24916 (pupa_isgraph): New prototype.
24917 (pupa_isdigit): Likewise.
24918 (pupa_split_cmdline): Likewise.
24919 * include/pupa/normal.h: Include <pupa/arg.h>.
24920 (pupa_command): Changed the prototype of the member `func' to
24921 match the argument parsing interface. Added member `options'.
24922 (pupa_register_command): Updated to match function.
24923 (pupa_arg_parse): New prototype.
24924 (pupa_hello_init) [PUPA_UTIL]: New prototype.
24925 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
24926 (pupa_ls_init) [PUPA_UTIL]: Likewise.
24927 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
24928 (pupa_cat_init) [PUPA_UTIL]: Likewise.
24929 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
24930 (pupa_boot_init) [PUPA_UTIL]: Likewise.
24931 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
24932 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
24933 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
24934 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
24935 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
24936 * kern/disk.c: Include <pupa/file.h>.
24937 (pupa_print_partinfo): New function.
24938 * kern/dl.c: Include <pupa/env.h>.
24939 (pupa_dl_dir): Variable removed.
24940 (pupa_dl_load): Use the environment variable `prefix' instead of
24941 the variable pupa_dl_dir.
24942 (pupa_dl_set_prefix): Function removed.
24943 (pupa_dl_get_prefix): Likewise.
24944 * kern/i386/pc/init.c: Include <pupa/env.h>.
24945 (pupa_machine_init): Use the environment variable `prefix' instead of
24946 using pupa_dl_set_prefix to set the prefix.
24947 * kern/main.c: Include <pupa/env.h>.
24948 (pupa_set_root_dev): Use the environment variable `prefix' instead of
24949 using pupa_dl_get_prefix to get the prefix.
24950 * kern/misc.c: Include <pupa/env.h>.
24951 (pupa_isdigit): New function.
24952 (pupa_isgraph): Likewise.
24953 (pupa_ftoa): Likewise.
24954 (pupa_vsprintf): Added support for printing values of the type
24955 `double'. Make it possible to format variable output when using
24956 formatting like `%1.2%f'.
24957 (pupa_split_cmdline): New function.
24958 * kern/rescue.c: Include <pupa/env.h>.
24959 (next_word): Removed function.
24960 (pupa_rescue_cmd_prefix): Likewise.
24961 (pupa_rescue_cmd_set): New function.
24962 (pupa_rescue_cmd_unset): New function.
24963 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
24964 split the command line instead of splitting it here. Added
24965 support for setting variables using the syntax `foo=bar'. Don't
24966 initialize the prefix command anymore. Initialized the set and
24967 unset commands.
24968 * normal/cmdline.c: Include <pupa/env.h>.
24969 (pupa_tab_complete): Added prototypes for print_simple_completion,
24970 print_partition_completion, add_completion, iterate_commands,
24971 iterate_dev, iterate_part and iterate_dir. Moved code to print
24972 partition information from here to kern/disk.c.
fe6b695a 24973 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 24974 * normal/main.c: Include <pupa/env.h>.
24975 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
24976 instead of using pupa_dl_get_prefix to get the prefix.
24977 * term/i386/pc/vga.c: Include <pupa/arg.h>.
24978 (check_vga_mem): Cast pointers to `void *' to silence a gcc
24979 warning.
24980 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
24981 (pupa_vga_setcolor): Declare unused variables with `__attribute__
24982 ((unused))' to silence a gcc warning.
24983 (pupa_vga_setcolor): Likewise.
24984 (debug_command): Changed to match argument parsing
24985 interface changes.
24986 * util/pupa-emu.c: Include <pupa/env.h>.
24987 (options): Added 0's for unused fields to silence a gcc warning.
24988 (argp): Likewise.
24989 (main): Use the environment variable `prefix' instead of using
24990 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
24991 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
24992 and terminal.
24993
24994 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
24995 * util/misc.c: Include <malloc.h>.
24996 (pupa_malloc): Rewritten so errors are correctly reported.
24997 (pupa_realloc): Likewise.
24998 (pupa_memalign): Likewise.
24999 (pupa_mm_init_region): Declare unused variables with
25000 `__attribute__ ((unused))' to silence a gcc warning.
25001 * normal/i386/setjmp.S: Remove tab at the end of the file to
25002 silence a gcc warning.
25003 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
25004 variables with `__attribute__ ((unused))' to silence a gcc
25005 warning.
25006 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
25007 local variable i unsigned to silence a gcc warning.
25008
25009 * kern/term.c: Include <pupa/misc.h>.
25010 (pupa_more_lines): New variable.
25011 (pupa_more): Likewise.
25012 (pupa_putcode): When the pager is active pause at the end of every
25013 screen.
25014 (pupa_set_more): New function.
25015 * include/pupa/term.h (pupa_set_more): New prototype.
25016
25017
3b1139cb 250182004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
25019
25020 Now this project is GRUB 2 rather than PUPA. The location of
25021 the CVS repository was moved to GRUB's.
f19dbdb7 25022
3b1139cb 25023 * configure.ac: Use bug-grub as the reporting address.
25024 Use GRUB instead of PUPA.
25025 Change the version number to 1.90.
25026
8367695c 250272004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
25028
25029 * genkernsyms.sh: Updated copyright information.
25030 * genmk.rb: Likewise.
25031 * genmodsrc.sh: Likewise.
25032 * gensymlist.sh: Likewise.
25033 * boot/i386/pc/boot.S: Likewise.
25034 * boot/i386/pc/diskboot.S: Likewise.
25035 * disk/i386/pc/biosdisk.c: Likewise.
25036 * disk/i386/pc/partition.c: Likewise.
25037 * font/manager.c: Likewise.
25038 * fs/ext2.c: Likewise.
25039 * fs/fat.c: Likewise.
25040 * include/pupa/boot.h: Likewise.
25041 * include/pupa/device.h: Likewise.
25042 * include/pupa/disk.h: Likewise.
25043 * include/pupa/dl.h: Likewise.
25044 * include/pupa/elf.h: Likewise.
25045 * include/pupa/err.h: Likewise.
25046 * include/pupa/file.h: Likewise.
25047 * include/pupa/font.h: Likewise.
25048 * include/pupa/fs.h: Likewise.
25049 * include/pupa/kernel.h: Likewise.
25050 * include/pupa/loader.h: Likewise.
25051 * include/pupa/misc.h: Likewise.
25052 * include/pupa/mm.h: Likewise.
25053 * include/pupa/net.h: Likewise.
25054 * include/pupa/normal.h: Likewise.
25055 * include/pupa/rescue.h: Likewise.
25056 * include/pupa/setjmp.h: Likewise.
25057 * include/pupa/symbol.h: Likewise.
25058 * include/pupa/term.h: Likewise.
25059 * include/pupa/types.h: Likewise.
25060 * include/pupa/i386/setjmp.h: Likewise.
25061 * include/pupa/i386/types.h: Likewise.
25062 * include/pupa/i386/pc/biosdisk.h: Likewise.
25063 * include/pupa/i386/pc/boot.h: Likewise.
25064 * include/pupa/i386/pc/console.h: Likewise.
25065 * include/pupa/i386/pc/init.h: Likewise.
25066 * include/pupa/i386/pc/kernel.h: Likewise.
25067 * include/pupa/i386/pc/linux.h: Likewise.
25068 * include/pupa/i386/pc/loader.h: Likewise.
25069 * include/pupa/i386/pc/memory.h: Likewise.
25070 * include/pupa/i386/pc/multiboot.h: Likewise.
25071 * include/pupa/i386/pc/partition.h: Likewise.
25072 * include/pupa/i386/pc/time.h: Likewise.
25073 * include/pupa/i386/pc/vga.h: Likewise.
25074 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
25075 * include/pupa/util/getroot.h: Likewise.
25076 * include/pupa/util/misc.h: Likewise.
25077 * include/pupa/util/resolve.h: Likewise.
25078 * kern/device.c: Likewise.
25079 * kern/disk.c: Likewise.
25080 * kern/dl.c: Likewise.
25081 * kern/err.c: Likewise.
25082 * kern/file.c: Likewise.
25083 * kern/fs.c: Likewise.
25084 * kern/loader.c: Likewise.
25085 * kern/main.c: Likewise.
25086 * kern/misc.c: Likewise.
25087 * kern/mm.c: Likewise.
25088 * kern/rescue.c: Likewise.
25089 * kern/term.c: Likewise.
25090 * kern/i386/dl.c: Likewise.
25091 * kern/i386/pc/init.c: Likewise.
25092 * kern/i386/pc/lzo1x.S: Likewise.
25093 * kern/i386/pc/startup.S: Likewise.
25094 * loader/i386/pc/chainloader.c: Likewise.
25095 * loader/i386/pc/linux.c: Likewise.
25096 * loader/i386/pc/multiboot.c: Likewise.
25097 * normal/cmdline.c: Likewise.
25098 * normal/command.c: Likewise.
25099 * normal/main.c: Likewise.
25100 * normal/menu.c: Likewise.
25101 * normal/i386/setjmp.S: Likewise.
25102 * term/i386/pc/console.c: Likewise.
25103 * term/i386/pc/vga.c: Likewise.
25104 * util/console.c: Likewise.
25105 * util/genmoddep.c: Likewise.
25106 * util/misc.c: Likewise.
25107 * util/pupa-emu.c: Likewise.
25108 * util/resolve.c: Likewise.
25109 * util/unifont2pff.rb: Likewise.
25110 * util/i386/pc/biosdisk.c: Likewise.
25111 * util/i386/pc/getroot.c: Likewise.
25112 * util/i386/pc/pupa-mkimage.c: Likewise.
25113 * util/i386/pc/pupa-setup.c: Likewise.
25114
e6eced71 251152004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
25116
25117 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
25118 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
25119 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
25120 reading and reset it after reading.
25121 (pupa_ext2_close): Return PUPA_ERR_NONE.
25122
25123 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
25124 Correct value.
25125 (struct linux_kernel_header): Add kernel_version and
25126 initrd_addr_max.
25127 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
25128 pupa_file_read succeeds.
25129 (pupa_rescue_cmd_initrd): Implement.
25130
5aded270 251312003-12-03 Marco Gerards <metgerards@student.han.nl>
25132
25133 * fs/ext2.c (pupa_ext2_label): New function.
25134 (pupa_ext2_fs): Added label.
25135 * fs/fat.c (pupa_fat_label): New function.
25136 (pupa_fat_fs): Added label.
25137 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
25138
25139 * kern/misc.c (pupa_strndup): New function.
25140 * include/pupa/misc.h (pupa_strndup): New prototype.
25141
25142 * include/pupa/normal.h: Include <pupa/err.h>.
25143 (pupa_set_history): New prototype.
25144 (pupa_iterate_commands): New prototype.
25145 * normal/cmdline.c: Include <pupa/machine/partition.h>,
25146 <pupa/disk.h>, <pupa/file.h>.
25147 (hist_size): New variable.
25148 (hist_lines): Likewise.
25149 (hist_end): Likewise.
25150 (hist_used): Likewise.
25151 (pupa_set_history): New function.
25152 (pupa_history_get): Likewise.
25153 (pupa_history_add): Likewise.
25154 (pupa_history_replace): Likewise.
25155 (pupa_tab_complete): Likewise.
25156 (pupa_cmdline_run): Added tab completion and history buffer. Tab
25157 completion shows partitionnames while completing partitions, this
25158 feature was suggested by Jeff Bailey.
25159 * normal/command.c (pupa_iterate_commands): New function.
25160 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
25161 (pupa_normal_init): Initialize history buffer.
25162 (PUPA_MOD_INIT): Likewise.
25163 (pupa_normal_fini): Free the history buffer.
25164 (PUPA_MOD_FINI): Likewise.
25165
25166 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
25167 key.
25168
25169 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
25170 * configure.ac [i386]: Check for regparam bug.
25171 (NESTED_FUNC_ATTR) [! i386]: Defined.
25172
1f7315a3 251732003-11-17 Marco Gerards <metgerards@student.han.nl>
25174
25175 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
25176 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
25177 (pupa_emu_SOURCES): New variable.
25178 (pupa_emu_LDFLAGS): Likewise.
25179 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
25180 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
25181 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
25182 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
25183 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
25184 (pupa_jmp_buf): New typedef.
25185 (pupa_setjmp) [PUPA_UTIL]: New macro.
25186 (pupa_longjmp) [PUPA_UTIL]: Likewise.
25187 * include/pupa/term.h (struct pupa_term): New member `refresh'.
25188 (pupa_refresh): New prototype.
25189 * include/pupa/util/getroot.h: New file.
25190 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
25191 it.
25192 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
25193 (pupa_rescue_cmd_cat): Likewise.
25194 (pupa_rescue_cmd_ls): Likewise.
25195 (pupa_rescue_cmd_testload): Likewise.
25196 (pupa_rescue_cmd_lsmod): Likewise.
25197 * normal/cmdline.c (pupa_cmdline_get): Likewise.
25198 * normal/menu.c (run_menu): Likewise.
25199 * kern/term.c (pupa_cls): Likewise.
25200 (pupa_refresh): New function.
25201 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
25202 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
25203 * util/console.c: New file.
f19dbdb7 25204
1f7315a3 25205 * util/i386/pc/getroot.c: New file.
25206 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
25207 (pupa_putchar): New function.
25208 (pupa_refresh): Likewise.
25209 (xgetcwd): Function moved to ...
25210 (strip_extra_slashes): Likewise.
25211 (get_prefix): Likewise.
f19dbdb7 25212 * util/i386/pc/getroot.c: ... here.
1f7315a3 25213 (find_root_device): Function moved and renamed to...
25214 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
25215 Changed all callers.
25216 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
25217 and renamed to...
25218 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
25219 Changed all callers.
25220 * util/misc.c (pupa_memalign): New function.
25221 (pupa_mm_init_region): Likewise.
25222 (pupa_register_exported_symbols): Likewise.
25223 (pupa_putchar): Function removed.
25224 * util/pupa-emu.c: New file.
25225
9a5c1ade 252262003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
25227
25228 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
25229 (_multiboot_mod_SOURCES): New variable.
25230 (_multiboot_mod_CFLAGS): Likewise.
25231 * loader/i386/pc/multiboot.c: New file.
25232 * include/pupa/i386/pc/multiboot.h: Likewise.
25233 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
25234 (pupa_multiboot_real_boot): New function.
25235 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
25236 (pupa_multiboot_real_boot): New prototype.
25237 (pupa_rescue_cmd_multiboot): Likewise
25238 (pupa_rescue_cmd_module): Likewise.
25239
25240 * kern/loader.c (pupa_loader_set): Continue when
25241 pupa_loader_unload_func() fails.
25242 (pupa_loader_unset): New function.
25243 * include/pupa/loader.h (pupa_loader_unset): New prototype.
25244
25245 * kern/misc.c (pupa_stpcpy): New function.
25246 * include/pupa/misc.h (pupa_stpcpy): New prototype.
25247
8e72a9c0 252482003-11-12 Marco Gerards <metgerards@student.han.nl>
25249
25250 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
25251 for available extensions.
25252
25253 * include/pupa/i386/pc/time.h: New file.
25254 * kern/disk.c: Include <pupa/machine/time.h>.
25255 (PUPA_CACHE_TIMEOUT): New macro.
25256 (pupa_last_time): New variable.
25257 (pupa_disk_open): Flush the cache when there was a timeout.
25258 (pupa_disk_close): Reset the timer.
25259 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
25260 pupa_currticks.
25261 * util/misc.c: Include <sys/times.h>
25262 (pupa_get_rtc): New function.
25263
c4adbd32 252642003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
25265
25266 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
25267 as blocks.
25268 (pupa_ext2_get_file_block): Use blocks member.
25269
25270 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
25271 first block. Return -1 instead of pupa_errno on error.
25272
bfd30f06 252732003-10-27 Marco Gerards <metgerards@student.han.nl>
25274
25275 * README: In the pupa-mkimage example use _chain instead of chain
25276 and ext2 instead of fat.
25277 * TODO: Replace ext2fs with jfs as an example. Add an item for
25278 adding journal playback for ext2fs.
25279 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
25280 (pkgdata_MODULES): Added ext2.mod.
25281 (ext2_mod_SOURCES): New variable.
25282 (ext2_mod_CFLAGS): Likewise.
25283 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
25284 * include/pupa/misc.h (pupa_strncpy): New prototype.
25285 (pupa_strcat): Likewise.
25286 (pupa_strncmp): Likewise.
25287 * kern/misc.c (pupa_strcat): Enable function.
25288 (pupa_strncpy): New function.
25289 (pupa_strncmp): Likewise.
25290 * fs/ext2.c: New file.
f19dbdb7 25291
bfd30f06 25292 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
25293 when the read failed before retrying.
25294 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
25295 (_FILE_OFFSET_BITS): Likewise.
25296 * configure.ac: Added AC_SYS_LARGEFILE.
25297
98d15063 252982003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
25299
25300 * genmk.rb (PModule#rule): Make sure to get only symbol names
25301 from the output of nm.
59cad637 25302 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 25303
18d9c7cd 253042003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
25305
25306 I forgot to check in these changes for a long time. This adds
25307 incomplete support for VGA console, and this is still very
25308 buggy. Also, a lot of consideration is required for I18N,
25309 UNICODE, and VGA font issues. Therefore, assume that this is
25310 such that "better than nothing".
f19dbdb7 25311
18d9c7cd 25312 * font/manager.c: New file.
25313 * include/pupa/font.h: Likewise.
25314 * include/pupa/i386/pc/vga.h: Likewise.
25315 * term/i386/pc/vga.c: Likewise.
25316 * util/unifont2pff.rb: Likewise.
25317
25318 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
25319 (pkgdata_MODULES): Added vga.mod and font.mod.
25320 (vga_mod_SOURCES): New variables.
25321 (vga_mod_CFLAGS): Likewise.
25322 (font_mod_SOURCES): Likewise.
25323 (font_mod_CFLAGS): Likewise.
25324
25325 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
25326
25327 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 25328 (struct pupa_term): Added init and fini.
18d9c7cd 25329 Changed the argument of putchar to pupa_uint32_t.
25330
25331 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
25332 (pupa_console_real_putchar): New prototype.
25333 (pupa_console_putchar): Removed.
25334 (pupa_console_checkkey): Exported.
25335 (pupa_console_getkey): Likewise.
25336
25337 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
25338 characters.
25339
25340 * kern/term.c (pupa_term_set_current): Rewritten.
25341 (pupa_putchar): Likewise.
25342 (pupa_putcode): New function.
25343
25344 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
25345 (pupa_console_real_putchar): ... this.
25346 (pupa_vga_set_mode): New function.
25347 (pupa_vga_get_font): Likewise.
25348
25349 * normal/command.c: Include pupa/term.h.
25350 (terminal_command): New function.
25351 (pupa_command_init): Register the command "terminal".
25352
25353 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
25354 (DISP_UP): Likewise.
25355 (DISP_RIGHT): Likewise.
25356 (DISP_DOWN): Likewise.
25357 (DISP_HLINE): Likewise.
25358 (DISP_VLINE): Likewise.
25359 (DISP_UL): Likewise.
25360 (DISP_UR): Likewise.
25361 (DISP_LL): Likewise.
25362 (DISP_LR): Likewise.
25363
25364 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 25365
977329f5 253662003-02-08 NIIBE Yutaka <gniibe@m17n.org>
25367
25368 * util/resolve.c (pupa_util_resolve_dependencies): BUG
25369 FIX. Reverse the path_list.
25370
25371 * include/pupa/normal.h: Export pupa_register_command and
25372 pupa_unregister_command.
25373
25374 * hello/hello.c (pupa_cmd_hello): New module.
25375 * conf/i386-pc.rmk: Added hello.mod.
25376
1f5ab428 253772003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
25378
25379 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 25380
1f5ab428 25381 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
25382 (compress_kernel): New variable.
25383 (generate_image): Heavily modified to support compressing a
25384 large part of the core image.
25385
25386 * util/misc.c (pupa_util_read_image): Fix a file descriptor
25387 leak.
25388 (pupa_util_load_image): New function.
25389
25390 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
25391 (pupa_compressed_size): New variable.
25392 (codestart): Enable Gate A20 here.
25393 Decompress the compressed part of the core image.
25394 Rearrange the code to put functions and variables which are
25395 required for initialization in the non-compressed part.
25396 Include lzo1x.S.
25397
25398 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
25399 here.
25400
25401 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
25402
f19dbdb7 25403 * include/pupa/i386/pc/kernel.h
1f5ab428 25404 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
25405 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
25406 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
25407 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
25408 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
25409
25410 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
25411
25412 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
25413 (Utility#rule): Likewise.
25414
25415 * configure.ac: Check if LZO is available.
25416
ce5bf700 254172003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
25418
25419 * include/pupa/normal.h: New file.
25420 * include/pupa/setjmp.h: Likewise.
25421 * include/pupa/i386/setjmp.h: Likewise.
25422 * normal/cmdline.c: Likewise.
25423 * normal/command.c: Likewise.
25424 * normal/main.c: Likewise.
25425 * normal/menu.c: Likewise.
25426 * normal/i386/setjmp.S: Likewise.
f19dbdb7 25427
ce5bf700 25428 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
25429 (pupa_rescue_cmd_initrd): Likewise.
25430
25431 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
25432 Likewise.
25433
25434 * kern/i386/pc/startup.S (translation_table): New variable.
25435 (translate_keycode): New function.
25436 (pupa_console_getkey): Call translate_keycode.
25437
25438 * kern/rescue.c (attempt_normal_mode): New function.
25439 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
25440 it failed, print a message.
25441
25442 * kern/mm.c (pupa_real_malloc): Print more information when a
25443 free magic is broken.
25444 (pupa_free): If the first free header is not free actually, set
25445 it to P.
25446
25447 * kern/main.c (pupa_load_normal_mode): Just load the module
25448 "normal".
25449 (pupa_main): Don't print the message
25450 "Entering into rescue mode..." here.
25451
25452 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
25453 Declared.
25454 (pupa_rescue_cmd_initrd): Likewise.
25455 (pupa_rescue_cmd_initrd): Likewise.
25456
25457 * include/pupa/symbol.h (FUNCTION): Specify the type.
25458 (VARIABLE): Likewise.
25459
25460 * include/pupa/err.h (pupa_err_t): Added
25461 PUPA_ERR_UNKNOWN_COMMAND.
25462
25463 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
25464 (pupa_dl_get_prefix): Likewise.
25465
25466 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
25467 Added _chain.mod and _linux.mod instead of chain.mod and
25468 linux.mod.
25469 (chain_mod_SOURCES): Renamed to ...
25470 (_chain_mod_SOURCES): ... this.
25471 (chain_mod_CFLAGS): Renamed to ...
25472 (_chain_mod_CFLAGS): ... this.
25473 (linux_mod_SOURCES): Renamed to ...
25474 (_linux_mod_SOURCES): ... this.
25475 (linux_mod_CFLAGS): Renamed to ...
25476 (_linux_mod_CFLAGS): ... this.
25477 (normal_mod_SOURCES): New variable.
25478 (normal_mod_CFLAGS): Likewise.
25479 (normal_mod_ASFLAGS): Likewise.
25480
254812003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
25482
25483 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
25484 possible.
25485
fe6b695a 25486 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 25487 recursively.
25488 (pupa_dl_unref): Unrefer depending modules recursively.
25489 Don't call pupa_dl_unload implicitly, because PUPA can crash if
25490 a module is unloaded before one depending on that module is
25491 unloaded.
25492 (pupa_dl_unload): Unload depending modules explicitly,
25493 if possible.
25494
c04da074 254952003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
25496
25497 * include/pupa/i386/pc/linux.h: New file.
25498 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 25499
c04da074 25500 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
25501 Removed.
25502 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
25503 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
25504 of PUPA_CHAINLOADER_BOOT_SECTOR.
25505
25506 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
25507 (pupa_linux_prot_size): New variable.
25508 (pupa_linux_tmp_addr): Likewise.
25509 (pupa_linux_real_addr): Likewise.
25510 (pupa_linux_boot_zimage): New function.
25511 (pupa_linux_boot_bzimage): Likewise.
25512
25513 * kern/i386/pc/init.c (struct mem_region): New structure.
25514 (MAX_REGIONS): New macro.
25515 (mem_regions): New variable.
25516 (num_regions): Likewise.
25517 (pupa_os_area_addr): Likewise.
25518 (pupa_os_area_size): Likewise.
25519 (pupa_lower_mem): Likewise.
25520 (pupa_upper_mem): Likewise.
25521 (add_mem_region): New function.
25522 (compact_mem_regions): Likewise.
25523 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
25524 the size of the conventional memory and that of so-called upper
25525 memory (before the first memory hole).
25526 Instead of adding each found region to free memory, use
25527 add_mem_region and add them after removing overlaps.
25528 Also, add only 1/4 of the upper memory to free memory. The rest
25529 is used for loading OS images. Maybe this is ad hoc, but this
25530 makes it much easier to relocate OS images when booting.
25531
25532 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
25533 (pupa_enter_rescue_mode): Don't register initrd and module.
25534
25535 * kern/mm.c: Include pupa/dl.h.
25536
25537 * kern/main.c: Include pupa/file.h and pupa/device.h.
25538
25539 * kern/loader.c (pupa_loader_load_module_func): Removed.
25540 (pupa_loader_load_module): Likewise.
25541
25542 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
25543 ``.o''.
25544
25545 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
25546 (pupa_linux_tmp_addr): Likewise.
25547 (pupa_linux_real_addr): Likewise.
25548 (pupa_linux_boot_zimage): Likewise.
25549 (pupa_linux_boot_bzimage): Likewise.
25550
25551 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
25552 (pupa_upper_mem): Likewise.
25553 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
25554 module is too dangerous.
25555
25556 * include/pupa/loader.h (pupa_os_area_addr): Declared.
25557 (pupa_os_area_size): Likewise.
25558 (pupa_loader_set): Remove the first argument. Loader doesn't
25559 manage modules or initrd any longer.
25560 (pupa_loader_load_module): Removed.
25561
25562 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
25563 (linux_mod_SOURCES): New variable.
25564 (linux_mod_CFLAGS): Likewise.
25565
a13f9237 255662003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
25567
25568 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
25569 the length of a blocklist correctly.
25570
25571 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
25572 Use ioctl only if the OS file is a block device.
25573 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
25574 not very useful for normal files.
25575
25576 * kern/main.c (pupa_set_root_dev): New function.
25577 (pupa_load_normal_mode): Likewise.
25578 (pupa_main): Call those above.
25579
25580 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
25581 pupa_uint16_t.
25582
25583 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
25584
a5ffe966 255852003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
25586
25587 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
25588 (setup): Configure the installed partition information and the
25589 dl prefix.
25590
25591 * loader/i386/pc/chainloader.c (my_mod): New variable.
25592 (pupa_chainloader_unload): New function.
25593 (pupa_rescue_cmd_chainloader): Refer itself.
25594 (PUPA_MOD_INIT): Save its own module in MY_MOD.
25595
25596 * kern/i386/pc/startup.S (install_partition): Removed.
25597 (version_string): Likewise.
25598 (config_file): Likewise.
25599 (pupa_install_dos_part): New variable.
25600 (pupa_install_bsd_part): Likewise.
25601 (pupa_prefix): Likewise.
25602 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
25603
25604 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
25605 and pupa/misc.h.
25606 (make_install_device): New function.
25607 (pupa_machine_init): Set the dl prefix.
25608
25609 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
25610 (buf): Renamed to ...
25611 (linebuf): ... this.
25612 (pupa_rescue_cmd_prefix): New function.
25613 (pupa_rescue_cmd_insmod): Likewise.
25614 (pupa_rescue_cmd_rmmod): Likewise.
25615 (pupa_rescue_cmd_lsmod): Likewise.
25616 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
25617 rmmod and lsmod.
25618
25619 * kern/mm.c (pupa_memalign): If failed even after invalidating
25620 disk caches, unload unneeded modules and retry.
25621
25622 * kern/misc.c (pupa_memmove): New function.
25623 (pupa_memcpy): Removed.
25624 (pupa_strcpy): New function.
25625 (pupa_itoa): Made static.
25626
25627 * kern/dl.c (pupa_dl_iterate): New function.
25628 (pupa_dl_ref): Likewise.
25629 (pupa_dl_unref): Likewise.
25630 (pupa_dl_unload): Return if succeeded or not.
25631 (pupa_dl_unload_unneeded): New function.
25632 (pupa_dl_unload_all): Likewise.
25633 (pupa_dl_init): Renamed to ...
25634 (pupa_dl_set_prefix): ... this.
25635 (pupa_dl_get_prefix): New function.
25636
25637 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
25638 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
25639 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
25640 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
25641 (pupa_install_dos_part): Declared.
25642 (pupa_install_bsd_part): Likewise.
25643 (pupa_prefix): Likewise.
25644 (pupa_boot_drive): Likewise.
25645
25646 * include/pupa/types.h: Fix a typo.
25647
25648 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
25649 pupa_memmove.
25650 (pupa_memmove): Declared.
25651 (pupa_strcpy): Likewise.
25652
25653 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
25654 pupa_mod_init takes one argument, its own module.
25655 (pupa_dl_unload_unneeded): Declared.
25656 (pupa_dl_unload_all): Likewise.
25657 (pupa_dl_ref): Likewise.
25658 (pupa_dl_unref): Likewise.
25659 (pupa_dl_iterate): Likewise.
25660 (pupa_dl_init): Renamed to ...
25661 (pupa_dl_set_prefix): ... this.
25662 (pupa_dl_get_prefix): Declared.
25663
25664 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 25665 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 25666 unloaded.
25667 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
25668 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
25669
25670 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
25671 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
25672
012d7999 256732003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
25674
25675 * util/i386/pc/pupa-setup.c (setup): Define the internal
25676 function find_first_partition_start at the top level, because GCC
25677 3.0.x cannot compile internal functions in deeper scopes
25678 correctly.
25679 (find_root_device): Use lstat instead of stat.
25680 Don't follow symbolic links.
25681 Fix the path-constructing code.
25682
25683 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
25684 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
25685 by a BLKGETSIZE ioctl first, because block devices don't fill
25686 the member st_mode of the structure stat on Linux.
25687 [__linux__] (linux_find_partition): Use a temporary buffer
25688 REAL_DEV for the working space. Copy it to DEV before returning.
25689 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
25690 buffer cache consistent.
25691 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
25692 strncmp. The previous value was merely wrong.
25693 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
25694
25695 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
25696 FAT size is 12. The previous value was merely wrong.
25697
25698 * kern/main.c (pupa_main): Don't split the starting message from
25699 newlines.
25700
25701 * kern/term.c (pupa_putchar): Put CR after LF instead of before
25702 LF, because BIOS goes crazy about character attributes in this
25703 case.
25704
1cc73a62 257052003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
25706
25707 * include/i386/pc/util/biosdisk.h: New file.
25708 * util/i386/pc/biosdisk.c: Likewise.
25709 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 25710
1cc73a62 25711 * Makefile.in (INCLUDE_DISTFILES): Added
25712 include/pupa/i386/pc/util/biosdisk.h.
25713 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
25714 directory util/i386/pc.
25715 (install-local): Added a rule for sbin_UTILITIES.
25716 (uninstall): Likewise.
25717
25718 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
25719
25720 * util/misc.c (xrealloc): New function.
25721 (pupa_malloc): Likewise.
25722 (pupa_free): Likewise.
25723 (pupa_realloc): Likewise.
25724 (pupa_stop): Likewise.
25725 (pupa_putchar): Likewise.
25726
25727 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
25728
25729 * include/pupa/util/misc.h (xrealloc): Declared.
25730
25731 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
25732 macro.
25733 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
25734 (PUPA_BOOT_MACHINE_BPB_END): ... this.
25735
25736 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
25737 [PUPA_UTIL] (pupa_fat_fini): Likewise.
25738
25739 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
25740 way should be implemented.
25741 [PUPA_UTIL] (pupa_fat_fini): Likewise.
25742
25743 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
25744 the size of NAME for safety.
25745 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
25746 0x88.
25747
25748 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
25749 (pupa_setup_SOURCES): Likewise.
25750
25751 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
25752
08b70fe8 257532002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
25754
25755 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
25756 bunch of pushl's from pusha, because this destroys the return
25757 value.
25758
62ddcc8f 257592002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
25760
25761 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
25762 This means that any missing prototypes could be fatal. Also, you
25763 must take care when writing assembly code. See the comments at
25764 the beginning of startup.S, for more details.
f19dbdb7 25765
62ddcc8f 25766 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
25767 compilation mechanism.
25768 (pupa_chainloader_real_boot): Likewise.
25769 (pupa_biosdisk_rw_int13_extensions): Likewise.
25770 (pupa_biosdisk_rw_standard): Likewise.
25771 (pupa_biosdisk_check_int13_extensions): Likewise.
25772 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
25773 (pupa_biosdisk_get_diskinfo_standard): Likewise.
25774 (pupa_get_memsize): Likewise.
25775 (pupa_get_mmap_entry): Likewise.
25776 (pupa_console_putchar): Likewise.
25777 (pupa_console_setcursor): Likewise.
25778 (pupa_getrtsecs): Use pushl instead of push.
25779
25780 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
25781 memory instead of the stack for a mmap entry, because some
25782 BIOSes may ignore the maximum size and overflow.
25783
25784 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
25785
25786 * genmk.rb (PModule#rule): Compile automatically generated
25787 sources with module-specific CFLAGS as well as other sources.
25788
9962ed99 257892002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
25790
25791 * configure.ac: Check ld.
25792 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
25793 respectively, before checking endianness and sizes.
25794
25795 * Makefile.in (LD): New variable.
f19dbdb7 25796
abdfc3c5 257972002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
25798
25799 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
25800
6a161fa9 258012002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
25802
25803 * Changelog: New file.
25804