]> git.proxmox.com Git - grub2.git/blame - ChangeLog
Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
[grub2.git] / ChangeLog
CommitLineData
394a3120
GS
12010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
2
3 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
4 which is the case with --disabled-nls.
5
6 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
7 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
8 * util/misc.c: Likewise.
9 * util/mkisofs/mkisofs.c: Likewise.
10 * util/mkisofs/mkisofs.h: Likewise.
11
969d1c78
VS
122010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
13
14 Simplify Apple CC support.
15
16 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
17 Add 0 byte at the end not to have a symbol with empty target.
18 * mmap/i386/pc/mmap_helper.S: Likewise.
19 * genmk.rb: Ignore errors 2030 and 2050.
20 * kern/i386/pc/startup.S: Use LOCAL when possible.
21
8d2977bb
BC
222010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
23
24 Testcase and the fix for final semicolon on cmdline.
25
26 * tests/grub_script_final_semicolon.in: New testcase.
27 * conf/tests.rmk: Rules for the new testcase.
28 * script/parser.y: Grammar fix.
29
a7bd6915
BC
302010-03-26 BVK Chaitanya <bvk@localhost>
31
32 Blank lines testcase for GRUB script.
33
34 * tests/grub_script_blanklines.in: New testcase.
35 * conf/tests.rmk: Rules for the new testcase.
36
e4ff6628
VS
372010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
38
39 Don't use __FILE__.
40
41 * genmk.rb: Add -DGRUB_FILE to all C targets.
42 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
43 * include/grub/list.h: Likewise.
44 * include/grub/misc.h: Likewise.
45 * include/grub/mm.h: Likewise.
46 * include/grub/test.h: Likewise.
47 * kern/mm.c: Likewise.
48 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
49
6a5cf6b6
VS
502010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
51
52 Sunpc partitions support.
53
54 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
55 (grub_fstest_SOURCES): Likewise.
56 (pkglib_MODULES): Add part_sunpc.mod.
57 (part_sunpc_mod_SOURCES): New variable.
58 (part_sunpc_mod_CFLAGS): Likewise.
59 (part_sunpc_mod_LDFLAGS): Likewise.
60 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
61 * partmap/sunpc.c: New file.
62
746d9045
BC
632010-03-26 BVK Chaitanya <bvk@localhost>
64
65 For loop support to GRUB script.
66
67 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
68 (grub_script_create_cmdfor): New function prototype.
69 (grub_script_execute_cmdfor): New function prototype.
70 * script/execute.c (grub_script_execute_cmdfor): New function.
71 * script/parser.y (command): New for command.
72 (forcmd): New grammar rule.
73 * script/script.c (grub_script_create_cmdfor): New function.
74 * util/grub-script-check.c (grub_script_execute_cmdfor): New
75 function.
76 * tests/grub_script_for1.in: New testcase.
77 * conf/tests.rmk: Rules for new testcase.
78
18486b18
VS
792010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
80
81 Nested partitions
82
83 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
84 'partition' is NULL, grub_partition_get_start already does that.
85 * commands/loadenv.c (check_blocklists): Likewise.
86 (write_blocklists): Likewise.
87 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
88 (grub_fstest_SOURCES): Likewise.
89 (pkglib_MODULES): Add part_bsd.mod.
90 (part_bsd_mod_SOURCES): New variable.
91 (part_bsd_mod_CFLAGS): Likewise.
92 (part_bsd_mod_LDFLAGS): Likewise.
93 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
94 (grub_emu_SOURCES): Likewise.
95 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
96 * include/grub/bsdlabel.h: New file.
97 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
98 'get_name'.
99 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
100 (grub_partition_map_list): New variable.
101 (grub_partition_map_register): Inline.
102 (grub_partition_map_unregister): Likewise.
103 (FOR_PARTITION_MAPS): New macro.
104 (grub_partition_map_iterate): Removed.
105 (grub_partition_get_start): Handle nested partitions.
106 * include/grub/msdos_partition.h: Remove bsd-related entries.
107 (grub_pc_partition): Remove.
108 * kern/disk.c (grub_disk_close): Free partition data.
109 (grub_disk_adjust_range): Handle nested partitions.
110 * kern/partition.c (grub_partition_map_probe): New function.
111 (grub_partition_probe): Parse name to number, handle subpartitions.
112 (get_partmap): New function.
113 (grub_partition_iterate): Handle subpartitions.
114 (grub_partition_get_name): Likewise.
115 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
116 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
117 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
118 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
119 Set 'number'.
120 (acorn_partition_map_probe): Remove.
121 (acorn_partition_map_get_name): Likewise.
122 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
123 Set 'number'.
124 Set 'index' to 0 since there can be only one partition entry per sector.
125 (amiga_partition_map_probe): Remove.
126 (amiga_partition_map_get_name): Likewise.
127 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
128 Set 'number'.
129 Set 'offset' and 'index' to real positions of partitions.
130 (apple_partition_map_probe): Remove.
131 (apple_partition_map_get_name): Likewise.
132 * partmap/bsdlabel.c: New file.
133 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
134 Set 'number'.
135 Allocate 'data' so it can be correctly freed.
136 Set 'index' to offset inside sector.
137 (gpt_partition_map_probe): Remove.
138 (gpt_partition_map_get_name): Likewise.
139 * partmap/msdos.c (grub_partition_parse): Remove.
140 (pc_partition_map_iterate): Don't force raw access.
141 Set 'number'.
142 Make 'ext_offset' a local variable.
143 (pc_partition_map_probe): Remove.
144 (pc_partition_map_get_name): Remove.
145 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
146 Set 'number'.
147 (sun_partition_map_probe): Remove.
148 (sun_partition_map_get_name): Likewise.
149 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
150 (grub_pcpart_type): Likewise.
151 * util/hostdisk.c (open_device): Handle new numbering scheme.
152 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
153 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
154 * util/grub-probe.c (probe_partmap): Handle nested paritions.
155 * util/grub-install.in: Insert all subpartition modules.
156 * util/ieee1275/grub-install.in: Likewise.
157
a3940f88
AG
1582010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
159
160 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
161 grammar.
162
21b99926 1632010-03-24 Colin Watson <cjwatson@ubuntu.com>
164
165 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
166
bed1d352
CW
1672010-03-21 Colin Watson <cjwatson@ubuntu.com>
168
169 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
170 match where 'make install' puts them.
171 * util/i386/efi/grub-install.in: Likewise.
172
c9f58427
CW
1732010-03-19 Colin Watson <cjwatson@ubuntu.com>
174
175 * .bzrignore: Add gentrigtables, grub-script-check,
176 grub_script_check_init.c, grub_script_check_init.h, and
177 trigtables.c.
178
f84afb27
VS
1792010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
180
181 * kern/parser.c: Indented.
182
ed0e3d30
VS
1832010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
184
185 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
186
0ea81d98
VS
1872010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
188
189 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
190 alpha_mask_size == 0 case.
191
0cdc2a09
BC
1922010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
193
194 GRUB shell lexer and parser improvements.
195
196 * conf/any-emu.rmk: Build rule updates.
197 * conf/common.rmk: Likewise.
198 * conf/i386-coreboot.rmk: Likewise.
199 * conf/i386-efi.rmk: Likewise.
200 * conf/i386-ieee1275.rmk: Likewise.
201 * conf/i386-pc.rmk: Likewise.
202 * conf/powerpc-ieee1275.rmk: Likewise.
203 * conf/x86_64-efi.rmk: Likewise.
204
205 * configure.ac: Configure check for flex.
206
207 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
208 types.
209 (grub_lexer_param): Struct member updates.
210 (grub_parser_param): Likewise.
211 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
212 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
213 (grub_script_lexer_init): Prototype update.
214 (grub_script_lexer_record_start): Likewise.
215 (grub_script_lexer_record_stop): Likewise.
216 (grub_script_lexer_yywrap): New function prototype.
217 (grub_script_lexer_fini): Likewise.
218 (grub_script_execute_argument_to_string): Removed by...
219 (grub_script_execute_argument_to_argv): ...better version.
220
221 * script/execute.c (ROUND_UPTO): New macro.
222 (grub_script_execute_cmdline): Out of memory fixes.
223 (grub_script_execute_menuentry): Likewise.
224 (grub_script_execute_argument_to_string): Removed. Update all
225 users by...
226 (grub_script_execute_argument_to_argv): ...better version.
227 * script/function.c (grub_script_function_create): Use
228 grub_script_execute_argument_to_argv instead of
229 grub_script_execute_argument_to_string.
230
231 * script/lexer.c (check_varstate): Removed.
232 (check_textstate): Removed.
233 (grub_script_lexer_record_start): Likewise.
234 (grub_script_lexer_record_stop): Likewise.
235 (recordchar): Replaced with...
236 (grub_script_lexer_record): ...new function.
237 (nextchar): Removed.
238 (grub_script_lexer_init): Rewritten.
239 (grub_script_yylex): Rewritten.
240 (append_newline): New function.
241 (grub_script_lexer_yywrap): New function.
242 (grub_script_lexer_fini): New function.
243 (grub_script_yyerror): Sets error flag.
244
245 * script/yylex.l: New file.
246 (grub_lexer_yyfree): Wrapper for flex yyffre.
247 (grub_lexer_yyalloc): Likewise.
248 (grub_lexer_yyrealloc): Likewise.
249 * script/parser.y: Refactored.
250
251 * script/script.c (grub_script_arg_add): Out of memory fixes.
252 (grub_script_add_arglist): Likewise.
253 (grub_script_create_cmdline): Likewise.
254 (grub_script_create_cmdmenu): Likewise.
255 (grub_script_add_cmd): Likewise.
256 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
257 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
258 unnecessary code.
259
260 * tests/grub_script_echo1.in: New testcase.
261 * tests/grub_script_vars1.in: New testcase.
262 * tests/grub_script_echo_keywords.in: New testcase.
263
1d63a066
VS
2642010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
265
266 Remove some redundancy in build system.
267
268 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
269 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
270 (TARGET_LDFLAGS): Add -nostdlib.
271 (TARGET_IMG_LDFLAGS): Likewise.
272 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
273 anything since mmap isn't available.
274 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
275 Add util/time.c.
276 (pkglib_MODULES): Remove reboot.mod.
277 (reboot_mod_SOURCES): Removed.
278 (reboot_mod_CFLAGS): Likewise.
279 (reboot_mod_LDFLAGS): Likewise.
280 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
281 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
282 (DEFSYMFILES): Add kernel_syms.lst.
283 (kernel_img_HEADERS): Add common headers.
284 (symlist.c): New target.
285 (kernel_syms.lst): Likewise.
286 (pkglib_MODULES): Add memdisk.mod.
287 (memdisk_mod_SOURCES): New variable.
288 (memdisk_mod_CFLAGS): Likewise.
289 (memdisk_mod_LDFLAGS): Likewise.
290 (pkglib_MODULES): Add reboot.mod.
291 (reboot_mod_SOURCES): New variable.
292 (reboot_mod_CFLAGS): Likewise.
293 (reboot_mod_LDFLAGS): Likewise.
294 (pkglib_MODULES): Add date.mod.
295 (date_mod_SOURCES): New variable.
296 (date_mod_CFLAGS): Likewise.
297 (date_mod_LDFLAGS): Likewise.
298 (pkglib_MODULES): Add datehook.mod.
299 (datehook_mod_SOURCES): New variable.
300 (datehook_mod_CFLAGS): Likewise.
301 (datehook_mod_LDFLAGS): Likewise.
302 (pkglib_MODULES): Add lsmmap.mod.
303 (lsmmap_mod_SOURCES): New variable.
304 (lsmmap_mod_CFLAGS): Likewise.
305 (lsmmap_mod_LDFLAGS): Likewise.
306 (pkglib_MODULES): Add boot.mod.
307 (boot_mod_SOURCES): New variable.
308 (boot_mod_CFLAGS): Likewise.
309 (boot_mod_LDFLAGS): Likewise.
310 * conf/i386-coreboot.rmk: Removed redundant parts.
311 * conf/i386-ieee1275.rmk: Likewise.
312 * conf/i386-pc.rmk: Likewise.
313 * conf/mips-yeeloong.rmk: Likewise.
314 * conf/mips.rmk: Likewise.
315 * conf/powerpc-ieee1275.rmk: Likewise.
316 * conf/sparc64-ieee1275.rmk: Likewise.
317 * conf/x86_64-efi.rmk: Likewise.
318 * conf/i386-coreboot.rmk: Moved qemu parts ..
319 * conf/i386-qemu.rmk: ... here
320 * conf/i386-efi.rmk: Moved common parts to...
321 * conf/x86-efi.rmk: ... here.
322 * conf/i386.rmk: Added modules common to all x86 variants.
323 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
324 * disk/memdisk.c: Remove grub/machine/kernel.h.
325 * gensymlist.sh.in: Include symbol.h.
326 * hook/datehook.c: Correct module name.
327 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
328 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
329 * include/grub/i386/efi/serial.h: New file.
330 * include/grub/x86_64/efi/serial.h: Likewise.
331 * util/time.c: Likewise.
332 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
333
463ac55f
CK
3342010-03-14 Colin King <colin.king@ubuntu.com>
3352010-03-14 Colin Watson <cjwatson@ubuntu.com>
336
337 Shrink the pre-partition-table part of boot.img by eight bytes.
338
339 * boot/i386/pc/boot.S (ERR): New macro.
340 (chs_mode): Use ERR.
341 (geometry_error): Likewise.
342 (hd_probe_error): Remove. This is only used once, so we wrwite
343 it inline instead.
344 (read_error): Instead of printing read_error_string, just set up
345 %si and fall through to ...
346 (error_message): ... this new function, also used by ERR.
347
08e46ede
CW
3482010-03-14 Colin Watson <cjwatson@ubuntu.com>
349
350 Speed up consecutive hostdisk operations on the same device.
351
352 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
353 (grub_util_biosdisk_open): Initialise disk->data.
354 (struct linux_partition_cache): New structure.
355 (linux_find_partition): Cache partition start positions; these are
356 expensive to compute on every read and write.
357 (open_device): Cache open file descriptor in disk->data, so that we
358 don't have to reopen it and flush the buffer cache for consecutive
359 operations on the same device.
360 (grub_util_biosdisk_close): New function.
361 (grub_util_biosdisk_dev): Set `close' member.
362
363 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
364 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
365 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
366 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
367 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
368
4a6d2d06
VS
3692010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
370
371 Compile parts of grub-emu as modules.
372
373 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
374 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
375 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
376 (all-local): Add $(GRUB_EMU).
377 (install-local): Install $(GRUB_EMU).
378 (uninstall): Uninstall $(GRUB_EMU).
379 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
380 * kern/dl.c: Likewise.
381 * commands/sleep.c: Not include machine/time.h.
382 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
383 (COMMON_CFLAGS): Likewise.
384 (sbin_UTILITIES): Remove grub-emu.
385 (grub_emu_SOURCES): Removed.
386 (kernel_img_RELOCATABLE): New variable.
387 (pkglib_PROGRAMS): Add kernel.img.
388 (kernel_img_SOURCES): New variable
389 (kernel_img_CFLAGS): Likewise.
390 (kernel_img_LDFLAGS): Likewise.
391 (TARGET_NO_STRIP): Likewise.
392 (TARGET_NO_DYNAMIC_MODULES): Likewise.
393 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
394 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
395 (grub-emu): New target.
396 (GRUB_EMU): New variable.
397 * configure.ac: Whitelist -emu as possible x86_64 architecture.
398 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
399 * loader/xnu.c: Likewise.
400 * include/grub/pci.h: Likewise.
401 * genemuinit.sh: New file.
402 * genemuinitheader.sh: Likewise.
403 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
404 Support TARGET_NO_DYNAMIC_MODULES.
405 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
406 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
407 * disk/loopback.c: Likewise.
408 * font/font_cmd.c: Likewise.
409 * partmap/acorn.c: Likewise.
410 * partmap/amiga.c: Likewise.
411 * partmap/apple.c: Likewise.
412 * partmap/gpt.c: Likewise.
413 * partmap/msdos.c: Likewise.
414 * partmap/sun.c: Likewise.
415 * parttool/msdospart.c: Likewise.
416 * term/gfxterm.c: Likewise.
417 * video/bitmap.c: Likewise.
418 * video/readers/jpeg.c: Likewise.
419 * video/readers/png.c: Likewise.
420 * video/readers/tga.c: Likewise.
421 * video/video.c: Likewise.
422 * util/grub-emu.c (read_command_list): Removed.
423 (main): Don't call util_init_nls.
424 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
425 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
426
91fdd2ed
VS
4272010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
428
429 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
430 date.mod, datehook.mod.
431 (datetime_mod_SOURCES): New variable.
432 (datetime_mod_CFLAGS): Likewise.
433 (datetime_mod_LDFLAGS): Likewise.
434 (date_mod_SOURCES): Likewise.
435 (date_mod_CFLAGS): Likewise.
436 (date_mod_LDFLAGS): Likewise.
437 (datehook_mod_SOURCES): Likewise.
438 (datehook_mod_CFLAGS): Likewise.
439 (datehook_mod_LDFLAGS): Likewise.
440 * conf/sparc64-ieee1275.rmk: Likewise.
441 * lib/ieee1275/datetime.c: New file.
442
873ccae6
VS
4432010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
444
445 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
446 (ieee1275_fb_mod_SOURCES): New variable.
447 (ieee1275_fb_mod_CFLAGS): Likewise.
448 (ieee1275_fb_mod_LDFLAGS): Likewise.
449 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
450 New proto.
451 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
452 (HEAP_MAX_ADDR): Likewise.
453 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
454 type.
455 Correct stop condition.
456 (grub_ieee1275_devices_iterate): New function.
457 * video/ieee1275.c: New file.
458
601c97c0
VS
4592010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
460
461 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
462
463 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
464 as scratch.
465 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
466 SCRATCH_PAD_DISKBOOT as scratch.
467 (bootit): Pass Openfirmware pointer in %o4.
468 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
469 of 0x200000.
470 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
471 with util/grub-mkrawimage.c.
472 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
473 * include/grub/aout.h (AOUT_MID_SUN): New definition.
474 (grub_aout_get_type) [GRUB_UTIL]: Removed.
475 (grub_aout_load) [GRUB_UTIL]: Likewise.
476 * include/grub/kernel.h (grub_modules_get_end): New proto.
477 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
478 (SCRATCH_PAD_BOOT): New definition.
479 (SCRATCH_PAD_DISKBOOT): Likewise.
480 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
481 * include/grub/sparc64/ieee1275/ieee1275.h
482 (grub_ieee1275_original_stack): New variable
483 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
484 New definition
485 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
486 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
487 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
488 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
489 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
490 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
491 (grub_platform_image_format_t): New type.
492 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
493 * kern/main.c (grub_modules_get_end)
494 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
495 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
496 (codestart): Switch stacks.
497 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
498 variable.
499 (grub_heap_init): Use grub_modules_get_end.
500 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
501 stack.
502 * util/grub-mkrawimage.c (generate_image): Support sparc64.
503 (main): Likewise.
504 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
505
d68b491e
TG
5062010-03-14 Thorsten Glaser <tg@mirbsd.org>
507
508 * util/grub-mkrescue.in: Base ISO UUID on UTC.
509
4e02ed50
MK
5102010-03-08 Matt Kraai <kraai@ftbfs.org>
511
512 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
513 bug #559005).
514
1f15fc1e
VS
5152010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
516
517 * genmoddep.awk: Output all missing symbols and not only first.
518
fce5d8ff
VS
5192010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
520
521 * NEWS: Put the date of 1.98 release.
522
d1e8a02f
VS
5232010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
524
525 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
526 ft2build.h.
527
696fd607
VS
5282010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
529
530 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
531 completition in the middle of string.
532
33e2e6f3
VS
5332010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
534
535 * util/grub-mkrescue.in: Use mktemp with explicit template.
536
b1f6d291
VS
5372010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
538
539 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
540
2ac227c7
VS
5412010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
542
543 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
544 right pointer.
545
8f9a632b
VS
5462010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
547
548 Fix FreeBSD compilation.
549
550 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
551 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
552
60b03859
VS
5532010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
554
555 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
556
48a5a769
VS
5572010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
558
559 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
560
3ab4bd77
VS
5612010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
562
563 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
564
d116e0d8
RM
5652010-03-04 Robert Millan <rmh.grub@aybabtu.com>
566
567 Support relative image path in theme file.
568
569 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
570 (image_set_property): Handle theme_dir and relative path.
571
c7ef54aa
VS
5722010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
573
574 * configure.ac: Alias amd64 to x86_64.
575
fcee14ed
VS
5762010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
577
578 * NEWS: mention multiboot on EFI.
579
d0780363
VS
5802010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
581
582 * kern/main.c (grub_load_modules): Handle errors from init functions of
583 embeded modules.
584
41168ea4
VS
5852010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
586
587 * normal/autofs.c (autoload_fs_module): Handle errors.
588
b54d93ac
VS
5892010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
590
591 Disable linux.mod on qemu-mips since it's not functional and leads
592 to compilation failure.
593
594 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
595 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
596 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
597 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
598 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
599 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
600 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
601 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
602 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
603 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
604 Reported by: BVK Chaitanya
605
fc8345da
JU
6062010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
607
608 * INSTALL: Add gettext as a dependency and add qemu to a new section
609 "Prerequisites for make-check".
610
4760f979
CF
6112010-03-04 Christian Franke <franke@computer.org>
612
613 * util/grub-pe2elf.c: Add missing include "progname.h".
614
f209b5b2
VS
6152010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
616
617 * normal/crypto.c (read_crypto_list): Fix a typo.
618 Reported by: Seth Goldberg.
619
b4b7be98
VS
6202010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
621
622 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 623 Reported by: Seth Goldberg.
b4b7be98 624
c0ee0385
VS
6252010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
626
627 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
628 ascii.bitmaps.
629
a8efbf64
VS
6302010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
631
632 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 633 Reported by: Seth Goldberg.
a8efbf64 634
08dcd913
VS
6352010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
636
637 * util/i386/efi/grub-install.in: Copy gettext files.
638
c4d0b332
VS
6392010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
640
641 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
642
c6f2fe52
VS
6432010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
644
645 Wait for user entry basing on presence of output rather than on errors.
646
647 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
648 (grub_install_newline_hook): Likewise.
649 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
650 * normal/menu.c (show_menu): Check line_counter to determine presence
651 of output.
652 * normal/term.c (grub_normal_line_counter): New variable.
653 (grub_normal_get_line_counter): New function.
654 (grub_install_newline_hook): Likewise.
655
5382b1e4
VS
6562010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
657
658 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
659
5519963b
VS
6602010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
661
662 * configure.ac: Update version to 1.98.
663
72b28631
VS
6642010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
665
666 * util/grub.d/10_linux.in (linux_entry): Don't default to
667 gfxpayload=keep if Linux doesn't support video handover.
668
c140a180
VS
6692010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
670
671 Don't compile video modules on yeeloong since video subsystem is part
672 of kernel.
673
674 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
675 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
676 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
677 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
678 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
679 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
680 * include/grub/bitmap_scale.h: Likewise.
681 * include/grub/bufio.h: Likewise.
682 * include/grub/font.h: Likewise.
683 * include/grub/gfxterm.h: Likewise.
684 * include/grub/video.h: Likewise.
685 * include/grub/vbe.h: Don't include video_fb.h.
686 * video/i386/pc/vbe.c: Include video_fb.h.
687 * commands/i386/pc/vbetest.c: Include video.h.
688
a0ca21c2
CW
6892010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
690
691 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
692 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
693 default entry if GRUB_SAVEDEFAULT=true. This allows using
694 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
695 saving a new default on every boot.
696
4a8a763c
VS
6972010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
698
699 * normal/crypto.c (read_crypto_list): Fix a memory leak.
700 * normal/term.c (read_terminal_list): Likewise.
701 * normal/main.c (grub_normal_init_page): Likewise.
702 (grub_normal_read_line_real): Likewise.
703
607ffde2
VS
7042010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
705
706 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
707 memory leak.
708 Reported by: Seth Goldberg.
709
2b8fa975
CW
7102010-02-24 Joey Korkames <joey+lists@kidfixit.com>
711
712 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
713 duplicate declaration of `start'.
714
618307dd
VS
7152010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
716
717 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
718 filename.
719 Reported by: Georgy Buranov
720
7dd05b96 7212010-02-20 Carles Pina i Estany <carles@pina.cat>
722
723 * util/grub-mkrawimage.c (usage): Change string formatting to
724 improve gettext.
725
d1484a42
MRA
7262010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
727
728 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
729 backspace keys.
730
42b1d186
VS
7312010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
732
733 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
734 Reported by: Michael Suchanek.
735
7362010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
737
738 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
739 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
740
d9f31a41
VS
7412010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
742
743 Remove any reference to non-free fonts.
744
745 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
746 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
747 uses non-free components.
748 * font/font.c (grub_font_get_name): Remove example name.
749 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
750 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
751 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
752 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
753
2793c71e
GB
7542010-02-16 Georgy Buranov <gburanov@gmail.com>
755
756 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
757
402e3779
VS
7582010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
759
760 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
761 Double divisor.
762 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
763 features.
764 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
765
0dd1e0dd
VS
7662010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
767
768 * gensymlist.sh.in: Use TARGET_CC instead of CC.
769
6fa7cfce
ST
7702010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
771
772 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
773 * docs/grub.texi (Command-line and menu entry commands): Document play
774 command.
775
37c8483b
ST
7762010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
777
778 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
779 parse arguments as inline tempo and notes. Move code for playing notes
780 to...
781 (play): ... new function.
782
14da0fb7
ST
7832010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
784
785 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
786 grub_uint16_t instead of short.
787 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
788 disk from little endian to cpu endianness.
789
04459e70
ST
7902010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
791
792 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
793 GRUB_TICKS_PER_SECOND instead of 120.
794
a0876943
VS
7952010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
796
797 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
798 escape sequence after \e.
799
e29f95dc
VS
8002010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
801
802 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
803 non-ASCII characters.
804
d27859b2
VS
8052010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
806
807 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
808 set root in single quotes to prevent \, from being unescaped.
809
bc028f2f
VS
8102010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
811
812 Prevent unknown commands from stopping menuentry execution.
813
814 * script/execute.c (grub_script_execute_cmdline): Print error after
815 unknown command.
816
095f5f82
VS
8172010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
818
819 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
820 Reported by: Pavel Pisa.
821
8c717950
VS
8222010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
823
824 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
825
904935c3
VS
8262010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
827
828 Merge grub_ieee1275_map_physical into grub_map and rename to
829 grub_ieee1275_map
830
831 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
832 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
833 Remove.
834 * kern/ieee1275/openfw.c (grub_map): Rename to ...
835 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
836 necessary.
837 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
838
5b59a4e3
VS
8392010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
840
841 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
842 opening and not after.
843
69e137e8
VS
8442010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
845
846 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
847 constants.
848
2c0fcc36
VS
8492010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
850
851 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
852 (alloc_phys): Use ALIGN_UP instead of align_addr.
853
8c6052ce
VS
8542010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
855
856 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
857
17cec782
VS
8582010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
859
860 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
861
e0128bbd
VS
8622010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
863
864 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
865 verbose dprintf.
866
ca62070b
VS
8672010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
868
869 Fix over-4GiB seek on sparc64.
870
871 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
872 Replace pos_i and pos_lo with pos. All users updated.
873 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
874 New constant.
875 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
876 Likewise.
877 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
878 and pos_lo.
879
bdca2607
VS
8802010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
881
882 * util/grub-mkrawimage.c (main): Call set_program_name.
883
da278c4d
VS
8842010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
885
886 Properly align 64-bit targets.
887
888 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
889 (generate_image): Use ALIGN_ADDR.
890
b274d734
VS
8912010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
892
893 Properly create cross-endian images.
894
895 * include/grub/types.h (grub_host_to_target_addr): New macro
896 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
897
82da2062
VS
8982010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
899
900 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
901
7cae4377
VS
9022010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
903
904 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
905
906 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
907 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
908 (grub_linux_boot): Divide by 64K when on VESA.
909
65a533e7
VS
9102010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
911
912 Support GRUB_GFXPAYLOAD_LINUX.
913
914 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
915 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
916
dd01d397
VS
9172010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
918
919 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
920 to show messages instead of discarding them.
921 Process errors after executing command and not before. Keep old method
922 too as precaution.
923
660960d6
VS
9242010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
925
926 * configure.ac: Check for ft2build.h.
927
62509f04
VS
9282010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
929
930 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
931
473df63d
VS
9322010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
933
934 * genkernsyms.sh.in: Use TARGET_CC.
935
c98d2a13
CW
9362010-02-07 Colin Watson <cjwatson@ubuntu.com>
937
938 * NEWS: Update.
939
6e14234c
VS
9402010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
941
942 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
943 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
944 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 945
b255e9cf
YB
9462010-02-07 Yves Blusseau <blusseau@zetam.org>
947
6e14234c 948 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 949
98e6959d
VS
9502010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
951
952 Fix warnings in grub-emu when compiling with maximum warning options.
953
954 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
955 (grub_arch_modules_addr): Return 0 and not NULL.
956 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 957 (xstrdup): Use newstr instead of dup.
f88d801b
VS
958 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
959 of disk to dsk to avoid shadowing.
74e4934e
VS
960 (find_free_slot): Fix prototype.
961 * util/getroot.c (grub_util_is_dmraid): Make static.
962 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
963 Add missing prototype.
964 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 965
74e31b5c
VS
9662010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
967
968 * loader/i386/linux.c (grub_linux_setup_video): Handle error
969 appropriately.
970
6b2ad14b
VS
9712010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
972
973 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
974 code out.
975
8f891adc
VS
9762010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
977
978 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
979 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
980 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
981 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
982 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
983 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
984
74b45184
VS
9852010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
986
987 * include/grub/err.h (grub_err_printf): Don't export.
988
a4bced77
VS
9892010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
990
991 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
992
007d0695
VS
9932010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
994
995 * include/grub/i18n.h (grub_gettext_dummy): Removed.
996 * kern/misc.c (grub_gettext_dummy): Make static.
997
b6c0d9c2
VS
9982010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
999
1000 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
1001 by non-valid ones.
1002 * kern/term.c (grub_putchar): Likewise.
1003
f51a90d0
VS
10042010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1005
1006 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
1007 buggy hook call and memory leak.
1008
6846cec5
VS
10092010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1010
1011 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
1012
468d69fe
VS
10132010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1014
1015 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
1016
51906b8c
VS
10172010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1018
1019 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
1020 modevar.
1021 Return grub_errno on allocation error.
1022
09706ce5
VS
10232010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1024
1025 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
1026
911df80c
YB
10272010-02-06 Yves Blusseau <blusseau@zetam.org>
1028
1029 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
1030 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
1031
3746a6bc
VS
10322010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1033
1034 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
1035 non-pxe disk.
1036 (grub_pxefs_open): Likewise.
1037
09706ce5
VS
10382010-02-06 Robert Millan <rmh.grub@aybabtu.com>
1039
1040 * util/grub.d/10_hurd.in: Add --class information to menuentries.
1041 * util/grub.d/10_kfreebsd.in: Likewise.
1042 * util/grub.d/10_linux.in: Likewise.
1043
7cc192d9
VS
10442010-02-06 Colin D Bennett <colin@gibibit.com>
1045
1046 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
1047 (gfxmenu_mod_SOURCES): New variable.
1048 (gfxmenu_mod_CFLAGS): Likewise.
1049 (gfxmenu_mod_LDFLAGS): Likewise.
1050 * include/grub/term.h (grub_term_set_current_output): Declare
1051 argument as const.
1052 * docs/gfxmenu-theme-example.txt: New file.
1053 * gfxmenu/gfxmenu.c: Likewise.
1054 * gfxmenu/gui_box.c: Likewise.
1055 * gfxmenu/gui_canvas.c: Likewise.
1056 * gfxmenu/gui_circular_progress.c: Likewise.
1057 * gfxmenu/gui_image.c: Likewise.
1058 * gfxmenu/gui_label.c: Likewise.
1059 * gfxmenu/gui_list.c: Likewise.
1060 * gfxmenu/gui_progress_bar.c: Likewise.
1061 * gfxmenu/gui_string_util.c: Likewise.
1062 * gfxmenu/gui_util.c: Likewise.
1063 * gfxmenu/icon_manager.c: Likewise.
1064 * gfxmenu/model.c: Likewise.
1065 * gfxmenu/named_colors.c: Likewise.
1066 * gfxmenu/theme_loader.c: Likewise.
1067 * gfxmenu/view.c: Likewise.
1068 * gfxmenu/widget-box.c: Likewise.
1069 * include/grub/gfxmenu_model.h: Likewise.
1070 * include/grub/gfxmenu_view.h: Likewise.
1071 * include/grub/gfxwidgets.h: Likewise.
1072 * include/grub/gui.h: Likewise.
1073 * include/grub/gui_string_util.h: Likewise.
1074 * include/grub/icon_manager.h: Likewise.
1075
10762010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1077
1078 Agglomerate scrolling in gfxterm.
1079
1080 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
1081 (grub_virtual_screen_setup): Initialise 'total_screen'.
1082 (write_char): Split to ...
1083 (paint_char): ... this ...
1084 (write_char): ... and this.
1085 (paint_char): Handle delayed scrolling.
1086 (draw_cursor): Likewise.
1087 (scroll_up): Split to ...
1088 (real_scroll): ... this ...
1089 (scroll_up): ... and this.
1090 (real_scroll): Handle multi-line scroll and draw below-the-bottom
1091 characters.
1092 (grub_gfxterm_refresh): Call real_scroll.
1093
10942010-02-06 Colin D Bennett <colin@gibibit.com>
1095
1096 * include/grub/misc.h (grub_iscntrl): New inline function.
1097 (grub_isalnum): Likewise.
1098 (grub_strtol): Likewise.
1099
11002010-02-06 Colin D Bennett <colin@gibibit.com>
1101
1102 * normal/menu_text.c (get_entry_number): Move from here ...
1103 * normal/menu.c (get_entry_number): ... moved here.
1104 * include/grub/menu.h (grub_menu_get_default_entry_index):
1105 New prototype.
1106 * normal/menu.c (grub_menu_get_default_entry_index): New function.
1107 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
1108 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
1109 (grub_menu_viewer_should_return): Likewise.
1110 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
1111 * normal/menu_text.c (run_menu): Enable menu switching.
1112 * normal/menu_viewer.c (should_return): New variable.
1113 (menu_viewer_changed): Likewise.
1114 (grub_menu_viewer_show_menu): Handle menu viewer changes.
1115 (grub_menu_viewer_should_return): New function.
1116 (menuviewer_write_hook): Likewise.
1117 (grub_menu_viewer_init): Likewise.
1118
11192010-02-06 Colin D Bennet <colin@gibibit.com>
11202010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1121
1122 Support for gfxterm in a window.
1123
1124 * include/grub/gfxterm.h: New file.
1125 * include/grub/video.h (struct grub_video_rect): New declaration.
1126 (grub_video_rect_t): Likewise.
1127 * term/gfxterm.c (struct grub_gfxterm_window): New type.
1128 (refcount): New variable.
1129 (render_target): Likewise.
1130 (window): Likewise.
1131 (repaint_callback): Likewise.
1132 (grub_virtual_screen_setup): Use 'render_target'.
1133 (init_window): New function.
1134 (grub_gfxterm_init_window): Likewise.
1135 (grub_gfxterm_init): Check reference counter.
1136 Use init_window.
1137 (destroy_window): New function.
1138 (grub_gfxterm_destroy_window): Likewise.
1139 (grub_gfxterm_fini): Check reference counter.
1140 Use destroy_window.
1141 (redraw_screen_rect): Restore viewport.
1142 Use 'render_target' and 'window'.
1143 Call 'repaint_callback'.
1144 (write_char): Use 'render_target'.
1145 (draw_cursor): Likewise.
1146 (scroll_up): Restore viewport.
1147 Use 'render_target' and 'window'.
1148 Call 'repaint_callback'.
1149 (grub_gfxterm_cls): Likewise.
1150 (grub_gfxterm_refresh): Use 'window'.
1151 (grub_gfxterm_set_repaint_callback): New function.
1152 (grub_gfxterm_background_image_cmd): Use 'window'.
1153 (grub_gfxterm_get_term): New function.
1154 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
1155
11562010-02-06 Colin D Bennett <colin@gibibit.com>
1157
1158 Bitmap scaling support.
1159
1160 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
1161 (bitmap_scale_mod_SOURCES): New variable.
1162 (bitmap_scale_mod_CFLAGS): Likewise.
1163 (bitmap_scale_mod_LDFLAGS): Likewise.
1164 * include/grub/bitmap_scale.h: New file.
1165 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
1166 (background_image_cmd_options): New variable.
1167 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
1168 (cmd): Rename and change type to ...
1169 (background_image_cmd_handle): ... this. All users updated.
1170 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
1171 * video/bitmap_scale.c: New file.
1172
11732010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1174
1175 SDL support.
1176
1177 * Makefile.in (LIBSDL): New variable.
1178 (enable_grub_emu_sdl): Likewise.
1179 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
1180 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
1181 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
1182 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
1183 * util/sdl.c: New file.
1184
11852010-02-06 Colin D Bennett <colin@gibibit.com>
11862010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1187
1188 Double buffering support.
1189
1190 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
1191 * include/grub/video.h: Update comment.
1192 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
1193 New type.
1194 (grub_video_fb_doublebuf_blit_init): New prototype.
1195 * term/gfxterm.c (scroll_up): Support double buffering.
1196 (grub_gfxterm_refresh): Likewise.
1197 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
1198 (grub_video_fb_doublebuf_blit_init): Likewise.
1199 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
1200 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
1201 'displayed_page', 'render_page' and 'update_screen'.
1202 (grub_video_vbe_fini): Free offscreen buffer.
1203 (doublebuf_pageflipping_commit): New function.
1204 (doublebuf_pageflipping_update_screen): Likewise.
1205 (doublebuf_pageflipping_init): Likewise.
1206 (double_buffering_init): Likewise.
1207 (grub_video_vbe_setup): Enable doublebuffering.
1208 (grub_video_vbe_swap_buffers): Implement.
1209 (grub_video_vbe_set_active_render_target): Handle double buffering.
1210 (grub_video_vbe_get_active_render_target): Likewise.
1211 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
1212 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
1213 (grub_video_vbe_enable_double_buffering): Likewise.
1214 (grub_video_vbe_swap_buffers): Use update_screen.
1215 (grub_video_set_mode): Use double buffering.
1216
12172010-02-06 Robert Millan <rmh.grub@aybabtu.com>
1218
1219 * maintainance/gentrigtables.py: Remove.
1220 * lib/trig.c: Likewise.
1221
1222 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
1223
1224 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
1225 `trigtables.c'.
1226 (trigtables.c): New rule.
1227 (gentrigtables): Likewise.
1228 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
1229
12302010-02-06 Robert Millan <rmh.grub@aybabtu.com>
1231
1232 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
1233 integer constants.
1234
12352010-02-06 Colin D Bennet <colin@gibibit.com>
1236
1237 Trigonometry support.
1238
1239 * include/grub/trig.h: New file.
1240 * lib/trig.c: Likewise.
1241 * maintainance/gentrigtables.py: Likewise.
1242 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
1243 (trig_mod_SOURCES): New variable.
1244 (trig_mod_CFLAGS): Likewise.
1245 (trig_mod_LDFLAGS): Likewise.
1246
5562834e
VS
12472010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1248
1249 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
1250 disk devices.
1251
4f8528fc
VS
12522010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1253
1254 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
1255 error.
1256
2b4068e9
VS
12572010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1258
1259 * util/hostdisk.c (open_device): Don't use partition device when reading
1260 before the partition.
1261 (grub_util_biosdisk_read): Don't read from partition and before the
1262 partition in single operation.
1263 (grub_util_biosdisk_write): Don't write to partition and before the
1264 partition in single operation.
1265
399f6e4d
TL
12662010-02-03 Torsten Landschoff <torsten@debian.org>
1267
1268 * kern/disk.c (grub_disk_read): Fix offset computation when reading
1269 last sectors.
1270
996649b0
VS
12712010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1272
1273 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
1274 CDROM reads.
1275 (grub_biosdisk_write): Refuse to write to CDROM.
1276
3b205d4d
VS
12772010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1278
1279 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
1280
61e89d9d
VS
12812010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1282
1283 * font/font.c (find_glyph): Check that bmp_idx is available before
1284 using it.
1285 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
1286 with (font == NULL).
1287
bf7fcba2
CS
12882010-01-28 Christian Schmitt <chris@ilovelinux.de>
1289
1290 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
1291
f45d2663
BC
12922010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
1293
1294 * include/grub/script_sh.h (sourcecode): Add const qualifier.
1295 * util/grub-script-check.c (getline): Fix empty lines case.
1296
ec1444e6
RM
12972010-01-28 Robert Millan <rmh.grub@aybabtu.com>
1298
1299 * Makefile.in (check): Exit with fail status when one of the tests
1300 fails.
1301 * tests/example_functional_test.c (example_test): Fix reversed assert.
1302 * tests/example_unit_test.c (example_test): Likewise.
1303
2e1cb9bb
CW
13042010-01-28 Colin Watson <cjwatson@ubuntu.com>
1305
1306 * util/grub.d/10_linux.in: This script does not use any of the
1307 contents of gettext.sh, only the external command `gettext', so stop
1308 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
1309 the same prefix as GRUB.)
1310 * util/grub.d/10_kfreebsd.in: Likewise.
1311
63533ab0
VS
13122010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1313
1314 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
1315 of the line.
1316
989e1f93
VS
13172010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1318
1319 * kern/disk.c (grub_disk_read): Fix offset computation when reading
1320 last sectors.
1321
e709ebe2
VS
13222010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1323
1324 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
1325 having a 4KiB and not 32KiB buffer size.
1326
27dea7ed
RM
13272010-01-27 Robert Millan <rmh.grub@aybabtu.com>
1328
1329 * util/hostfs.c: Include `<errno.h>'.
1330 (grub_hostfs_read): Handle errors from fseeko() and fread().
1331
67667b9c
RM
13322010-01-27 Robert Millan <rmh.grub@aybabtu.com>
1333
1334 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
1335 loop when using read hooks on files whose size isn't sector-aligned.
1336
c294d9d8
RM
13372010-01-27 Robert Millan <rmh.grub@aybabtu.com>
1338
1339 Remove unused parameter.
1340
1341 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
1342 (grub_iso9660_open): Remove initialization of `data->length'.
1343
af75a9f1
RM
13442010-01-27 Robert Millan <rmh.grub@aybabtu.com>
1345
1346 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
1347 memleak conditions.
1348
254e2ce5 13492010-01-27 Carles Pina i Estany <carles@pina.cat>
1350
1351 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
1352 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
1353
b510928c 13542010-01-26 Carles Pina i Estany <carles@pina.cat>
1355
1356 * util/bin2h.c (usage): Fix warning (space after backslash).
1357
aa2f9dd2 13582010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 1359
1360 * font/font.c: Include `grub/fontformat.h.
1361 Remove font file format constants.
1362 (grub_font_load): Use the new macros.
1363 * include/grub/fontformat.h: New file.
1364 * util/grub-mkfont.c: Include `grub/fontformat.c'.
1365 (write_font_pf2): Use the new macros.
1366
94e7e712
RM
13672010-01-26 Robert Millan <rmh.grub@aybabtu.com>
1368
1369 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
1370 does.
1371
3973a59a
RM
13722010-01-26 Robert Millan <rmh.grub@aybabtu.com>
1373
1374 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
1375
1376 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
1377 (_start): Macroify `0x7F'.
1378
1379 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
1380 (make_install_device): Use "(pxe)" as fallback prefix when booting
1381 via PXE.
1382
42e0cba3
GS
13832010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
1384
1385 * configure.ac: Reset LIBS after check for libgcc symbols.
1386
847effd8
CW
13872010-01-25 Colin Watson <cjwatson@ubuntu.com>
1388
1389 * util/hostdisk.c (open_device): Add trailing newline to debug
1390 message.
1391
ea4a7e35
GS
13922010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
1393
1394 * configure.ac: Check for `limits.h'.
1395 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
1396
67951a53
RM
13972010-01-24 Robert Millan <rmh.grub@aybabtu.com>
1398
1399 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
1400 capitalize error strings.
1401
c273d4ce
ST
14022010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
1403
1404 * util/grub.d/10_hurd.in: Add a recovery mode.
1405
69be5b74
VS
14062010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
1407
1408 * configure.ac: Check for libgcc symbols with -nostdlib.
1409
fc9e5810
BC
14102010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
1411
1412 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
1413
4b358c0a
VS
14142010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1415
1416 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
1417 stack since heap may be unavailable at that point.
1418 (grub_ofconsole_gotoxy): Likewise.
1419
454fcd1c
VS
14202010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1421
1422 * configure.ac: Check for _restgpr_14_x.
1423 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
1424 and _savegpr_* prototypes.
1425
566863ca
RM
14262010-01-22 Robert Millan <rmh.grub@aybabtu.com>
1427
1428 Use generic grub_reboot() for i386-efi.
1429
1430 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
1431 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
1432 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
1433
bf86e59a
VS
14342010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
1435
1436 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
1437 presence of "prefix" variable as it breaks when normal.mod is
1438 embedded.
1439
d645e0f8
VS
14402010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1441
1442 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
1443 stack since heap is unavailable at that point.
1444
f9ab2e25
VS
14452010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1446
1447 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
1448 (grub_freebsd_bootinfo): Rewritten.
1449 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
1450
01fc7054
VS
14512010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
1452
1453 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
1454
caab4fd6
RM
14552010-01-21 Robert Millan <rmh.grub@aybabtu.com>
1456
1457 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
1458 domain now.
1459
67eb1427
FZ
14602010-01-20 Felix Zielcke <fzielcke@z-51.de>
1461
1462 * util/misc.c (make_system_path_relative_to_its_root): Change the work
1463 around for handling "/" to the correct fix. Fix a memory leak. Use
1464 xstrdup instead of strdup.
1465
a9ed4ff3
VS
14662010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1467
1468 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
1469
14702010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
1471
1472 Optimise glyph lookup by Basic Multilingual Plane lookup array.
1473
1474 * font/font.c (struct grub_font): New member 'bmp_idx'.
1475 (font_init): Initialise 'bmp_idx'.
1476 (load_font_index): Fill 'bmp_idx'.
1477 (find_glyph): Make inline. Use bmp_idx for BMP characters.
1478
48209f4f
VS
14792010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1480
1481 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
1482 unnecessary calls.
1483
9f0a4bb7
VS
14842010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1485
1486 Move context handling out of the kernel.
1487
1488 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
1489 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
1490 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
1491 * conf/i386-efi.rmk: Likewise.
1492 * conf/i386-ieee1275.rmk: Likewise.
1493 * conf/i386-pc.rmk: Likewise.
1494 * conf/powerpc-ieee1275.rmk: Likewise.
1495 * conf/sparc64-ieee1275.rmk: Likewise.
1496 * conf/x86_64-efi.rmk: Likewise.
1497 * include/grub/env.h: Include grub/menu.h.
1498 (grub_env_var_type): Removed.
1499 (grub_env_var): Replaced field 'type' with 'global'.
1500 (grub_env_find): New prototype.
1501 (grub_env_context_open): Remove EXPORT_FUNC.
1502 (grub_env_context_close): Likewise.
1503 (grub_env_export): Likewise.
1504 (grub_env_set_data_slot): Removed.
1505 (grub_env_get_data_slot): Likewise.
1506 (grub_env_unset_data_slot): Likewise.
1507 (grub_env_unset_menu): New prototype.
1508 (grub_env_set_menu): Likewise.
1509 (grub_env_get_menu): Likewise.
1510 * include/grub/env_private.h: New file.
1511 * include/grub/normal.h (grub_context_init): New prototype.
1512 (grub_context_fini): Likewise.
1513 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
1514 * normal/context.c (grub_cmd_export): ... to here.
1515 * kern/env.c: Include env_private.h.
1516 (HASHSZ): Moved to include/grub/env_private.h.
1517 (grub_env_context): Likewise.
1518 (grub_env_sorted_var): Likewise.
1519 (current_context): Renamed from this ...
1520 (grub_current_context): ...to this. 'static' removed. All users updated.
1521 (grub_env_find): Removed 'static'.
1522 (grub_env_context_open): Moved to normal/context.c.
1523 (grub_env_context_close): Likewise.
1524 (grub_env_export): Likewise.
1525 (mangle_data_slot_name): Removed.
1526 (grub_env_set_data_slot): Likewise.
1527 (grub_env_get_data_slot): Likewise.
1528 (grub_env_unset_data_slot): Likewise.
1529 * kern/main.c (grub_set_root_dev): Don't export root.
1530 It will be done later.
1531 (grub_main): Don't export prefix.
1532 It will be done later.
1533 * normal/context.c: New file.
1534 * normal/main.c (free_menu): Use grub_env_unset_menu.
1535 (grub_normal_add_menu_entry): Use grub_env_get_menu.
1536 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
1537 (GRUB_MOD_INIT(normal)): Call grub_context_init.
1538 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
1539
8dd35b8c
VS
15402010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1541
1542 setpci support.
1543
1544 * commands/setpci.c: New file.
1545 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
1546 (setpci_mod_SOURCES): New variable.
1547 (setpci_mod_CFLAGS): Likewise.
1548 (setpci_mod_LDFLAGS): Likewise.
1549
449193d5
VS
15502010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1551
1552 Byte-addressable PCI configuration space.
1553
1554 * bus/pci.c (grub_pci_make_address): Use byte address instead of
1555 dword address.
1556 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
1557 GRUB_PCI_REG_CACHELINE.
1558 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
1559 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
1560 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
1561 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
1562 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
1563 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
1564 grub_pci_make_address.
1565 (lock_rom_area): Likewise.
1566 * commands/lspci.c (grub_lspci_iter): Use macroses
1567 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
1568 of grub_pci_make_address.
1569 * disk/ata.c (grub_ata_pciinit): Likewise.
1570 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
1571 (GRUB_PCI_REG_VENDOR): Likewise.
1572 (GRUB_PCI_REG_DEVICE): Likewise.
1573 (GRUB_PCI_REG_COMMAND): Likewise.
1574 (GRUB_PCI_REG_STATUS): Likewise.
1575 (GRUB_PCI_REG_REVISION): Likewise.
1576 (GRUB_PCI_REG_CLASS): Likewise.
1577 (GRUB_PCI_REG_CACHELINE): Likewise.
1578 (GRUB_PCI_REG_LAT_TIMER): Likewise.
1579 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
1580 (GRUB_PCI_REG_BIST): Likewise.
1581 (GRUB_PCI_REG_ADDRESSES): Likewise.
1582 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1583 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1584 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1585 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1586 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1587 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
1588 (GRUB_PCI_REG_CIS_POINTER): Likewise.
1589 (GRUB_PCI_REG_SUBVENDOR): Likewise.
1590 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
1591 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
1592 (GRUB_PCI_REG_CAP_POINTER): Likewise.
1593 (GRUB_PCI_REG_IRQ_LINE): Likewise.
1594 (GRUB_PCI_REG_IRQ_PIN): Likewise.
1595 (GRUB_PCI_REG_MIN_GNT): Likewise.
1596 (GRUB_PCI_REG_MAX_LAT): Likewise.
1597 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
1598 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
1599 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 1600 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
1601 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
1602 space.
1603
96d73208
RM
16042010-01-20 Robert Millan <rmh.grub@aybabtu.com>
1605
1606 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
1607 can be reliably determined to be supported.
1608
d4484482
RM
16092010-01-20 Robert Millan <rmh.grub@aybabtu.com>
1610
1611 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
1612 that VESA is supported.
1613 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
1614 supported.
1615
00308ecf
VS
16162010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1617
1618 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
1619
f66924a4
RM
16202010-01-20 Robert Millan <rmh.grub@aybabtu.com>
1621
1622 * util/misc.c (make_system_path_relative_to_its_root): Work around
1623 special-casing of "/", as previous incarnation of this routine did.
1624
cbca0ada
VS
16252010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1626
1627 Fix any-emu compilation.
1628
1629 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
1630 * grub_bin2h_SOURCES: New variable.
1631
34a66d99
RM
16322010-01-20 Robert Millan <rmh.grub@aybabtu.com>
1633
1634 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
1635
94fabf58
RM
16362010-01-20 Robert Millan <rmh.grub@aybabtu.com>
1637
1638 * util/grub.d/00_header.in: Fix handling of locale_dir.
1639
02cf98ca
VS
16402010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1641
1642 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
1643 as possible unifont location (Gentoo).
1644 Reported by: Alexander BrĂ¼ning
1645
327dbcd7
VS
16462010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1647
1648 Don't try to generate lists for kernel.img.
1649
1650 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
1651 (pkglib_MODULES): Remove kernel.img.
1652 (kernel_img_EXPORTS): Removed.
1653 (kernel_img_RELOCATABLE): New variable.
1654 * conf/x86_64-efi.rmk: Likewise.
1655 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
1656
ca467290
VS
16572010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1658
1659 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
1660 grub_xasprintf or grub_snprintf.
1661 (grub_vsprintf): Likewise.
1662 (grub_snprintf): New proto.
1663 (grub_vsnprintf): Likewise.
1664 (grub_xasprintf): Likewise.
1665 (grub_xvasprintf): Likewise.
1666 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
1667 (grub_sprintf): Removed.
1668 (grub_vsnprintf): New function.
1669 (grub_snprintf): Likewise.
1670 (grub_xvasprintf): Likewise.
1671 (grub_xasprintf): Likewise.
1672 (grub_vsprintf): Renamed to ...
1673 (grub_vsnprintf_real): ...this. New argument max_len.
1674
aca655fd
BC
16752010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
1676
1677 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
1678 fix grub-script-check warning.
1679
7ee92c32
VS
16802010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1681
1682 * include/grub/font.h (grub_font_load): Fix prototype.
1683
f80927ca
VS
16842010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1685
1686 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
1687
119c50ea
VS
16882010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1689
1690 * include/grub/x86_64/at_keyboard.h: New file.
1691
47d5f3c1
VS
16922010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1693
1694 * loader/mips/linux.c: Include missing grub/i18n.h.
1695
55ff5266
RM
16962009-12-20 Robert Millan <rmh.grub@aybabtu.com>
1697
1698 * normal/menu.c (notify_execution_failure): Clarify error message.
1699
c893cc87
RM
17002009-12-20 Robert Millan <rmh.grub@aybabtu.com>
1701
1702 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
1703 return value (and revert all return statements). Update users.
1704
917dd370
CW
17052010-01-20 Dan Merillat <debian@dan.merillat.org>
1706
1707 * kern/device.c (grub_device_iterate): Allocate new part_ent
1708 structure based on sizeof (*p) rather than sizeof (p->next), to
1709 account for structure padding.
1710
1711 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
1712 disk is NULL, which might happen for LVM physical volumes with no
1713 LVM signature.
1714
d4a4ee57
RM
17152009-12-20 Robert Millan <rmh.grub@aybabtu.com>
1716
1717 * loader/mips/linux.c (grub_cmd_initrd)
1718 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
1719
17202009-12-20 Robert Millan <rmh.grub@aybabtu.com>
1721
1722 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
1723 (grub_video_video_init, grub_video_bitmap_init)
1724 (grub_font_manager_init, grub_term_gfxterm_init)
1725 (grub_at_keyboard_init): New extern declarations.
1726 (grub_machine_init): Initialize gfxterm and at_keyboard.
1727
1728 * kern/main.c (grub_main): Revert grub_printf delay kludge.
1729
1730 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
1731 `gfxterm.mod' into core image.
1732
1733 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
1734 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
1735 (kernel_img_FORMAT): Copy to ...
1736
1737 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
1738 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
1739 (kernel_img_FORMAT): ... here, and ...
1740
1741 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
1742 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
1743 (kernel_img_FORMAT): ... here.
1744
1745 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
1746 and input (at_keyboard) terminals in kernel.
1747 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
1748
1749 (pkglib_MODULES): Remove `pci.mod'.
1750 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
1751 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
1752 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
1753 (at_keyboard_mod_LDFLAGS): Remove variables.
1754
17552010-01-11 Felix Zielcke <fzielcke@z-51.de>
1756
1757 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
1758
17592009-12-10 Robert Millan <rmh.grub@aybabtu.com>
1760
1761 * include/grub/mips/libgcc.h: Only export symbols for functions
1762 that libgcc provides.
1763
17642009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
1765
1766 MIPS support.
1767
1768 * bus/bonito.c: New file.
1769 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
1770 GRUB_PCI_NUM_DEVICES.
1771 * term/i386/pc/serial.c: Move to ...
1772 * term/serial.c: ... here. All users updated.
1773 * util/i386/pc/grub-mkimage.c: Move to ...
1774 * util/grub-mkrawimage.c: ... here. All users updated.
1775 * term/i386/pc/at_keyboard.c: Move to ...
1776 * term/at_keyboard.c: ... here. All users updated.
1777 * conf/mips-qemu-mips.rmk: New file.
1778 * conf/mips-yeeloong.rmk: Likewise.
1779 * conf/mips.rmk: Likewise.
1780 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
1781 mipsel-qemu-mips.
1782 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
1783 to port addresses.
1784 (grub_ata_pciinit): Support CS5536.
1785 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
1786 * font/font_cmd.c (loadfont_command): Open file before passing it to
1787 grub_font_load.
1788 (pseudo_file_read): New function.
1789 (pseudo_file_close): Likewise.
1790 (pseudo_fs): New structure.
1791 (load_font_module): New function.
1792 (GRUB_MOD_INIT(font_manager)): Load embedded font.
1793 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
1794 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
1795 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
1796 * include/grub/i386/at_keyboard.h: Split into ...
1797 * include/grub/at_keyboard.h: ... this ...
1798 * include/grub/i386/at_keyboard.h: ... and this.
1799 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
1800 New prototype.
1801 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
1802 updated.
1803 (grub_elf64_size): Likewise.
1804 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
1805 filename.
1806 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
1807 * include/grub/i386/coreboot/serial.h: Rewritten.
1808 * include/grub/i386/ieee1275/serial.h: Include
1809 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
1810 * include/grub/i386/pc/serial.h: Moved from here ...
1811 * include/grub/serial.h: ... to here. All users updated.
1812 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
1813 (GRUB_PCI_NUM_BUS): Likewise.
1814 (GRUB_PCI_NUM_DEVICES): Likewise.
1815 (grub_pci_device_map_range): Add missing volatile keyword.
1816 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
1817 * include/grub/mips/at_keyboard.h: New file.
1818 * include/grub/mips/cache.h: Likewise.
1819 * include/grub/mips/io.h: Likewise.
1820 * include/grub/mips/kernel.h: Likewise.
1821 * include/grub/mips/libgcc.h: Likewise.
1822 * include/grub/mips/pci.h: Likewise.
1823 * include/grub/mips/qemu-mips/boot.h: Likewise.
1824 * include/grub/mips/qemu-mips/kernel.h: Likewise.
1825 * include/grub/mips/qemu-mips/loader.h: Likewise.
1826 * include/grub/mips/qemu-mips/memory.h: Likewise.
1827 * include/grub/mips/qemu-mips/serial.h: Likewise.
1828 * include/grub/mips/qemu-mips/time.h: Likewise.
1829 * include/grub/mips/relocator.h: Likewise.
1830 * include/grub/mips/time.h: Likewise.
1831 * include/grub/mips/types.h: Likewise.
1832 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
1833 * include/grub/mips/yeeloong/boot.h: Likewise.
1834 * include/grub/mips/yeeloong/kernel.h: Likewise.
1835 * include/grub/mips/yeeloong/loader.h: Likewise.
1836 * include/grub/mips/yeeloong/memory.h: Likewise.
1837 * include/grub/mips/yeeloong/pci.h: Likewise.
1838 * include/grub/mips/yeeloong/serial.h: Likewise.
1839 * include/grub/mips/yeeloong/time.h: Likewise.
1840 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
1841 * kern/elf.c (grub_elf32_size): New parameter. All users
1842 updated.
1843 (grub_elf64_size): Likewise.
1844 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
1845 Load modules before saying "Welcome to GRUB!".
1846 Call grub_refresh after saying "Welcome to GRUB!".
1847 * kern/mips/cache.S: New file.
1848 * kern/mips/cache_flush.S: Likewise.
1849 * kern/mips/dl.c: Likewise.
1850 * kern/mips/init.c: Likewise.
1851 * kern/mips/qemu-mips/init.c: Likewise.
1852 * kern/mips/startup.S: Likewise.
1853 * kern/mips/yeeloong/init.c: Likewise.
1854 * kern/term.c (grub_putcode): Handle NULL terminal.
1855 (grub_getcharwidth): Likewise.
1856 (grub_getkey): Likewise.
1857 (grub_checkkey): Likewise.
1858 (grub_getkeystatus): Likewise.
1859 (grub_getxy): Likewise.
1860 (grub_getwh): Likewise.
1861 (grub_gotoxy): Likewise.
1862 (grub_cls): Likewise.
1863 (grub_setcolorstate): Likewise.
1864 (grub_setcolor): Likewise.
1865 (grub_getcolor): Likewise.
1866 (grub_refresh): Likewise.
1867 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
1868 (write_jump): Add hatch nop.
1869 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
1870 * lib/mips/setjmp.S: New file.
1871 * loader/mips/linux.c: Likewise.
1872 * term/i386/pc/at_keyboard.c: Move from here ...
1873 * term/at_keyboard.c: ... to here.
1874 * term/i386/pc/serial.c: Moved from here ...
1875 * term/serial.c: ... to here. All users updated.
1876 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
1877 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
1878 (serial_translate_key_sequence): Avoid deadlock.
1879 (grub_serial_getkey): Handle backspace.
1880 (grub_serial_putchar): Fix newline handling.
1881 * util/i386/pc/grub-mkimage.c: Move from here ...
1882 * util/grub-mkrawimage.c: ... to here. All users updated.
1883 (generate_image): New parameters 'font_path' and 'format'.
1884 Support embedding font.
1885 Use grub_host_to_target* instead of grub_cpu_to_le*.
1886 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
1887 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
1888 (options): New option "--font".
1889 (usage): Likewise.
1890 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
1891 (main): Handle "--font".
1892 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
1893 (grub_virtual_screen_setup): Set bg_color_display.
1894 (redraw_screen_rect): Use bg_color_display instead of incorrect
1895 bg_color.
1896 (grub_gfxterm_cls): Likewise.
1897 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
1898 Support embedding config file.
1899 (add_segments): Likewise.
1900 (options): New option "--config".
1901 (main): Handle "--config".
1902 * video/sm712.c: New file.
1903
25c2b5b3
RM
19042010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1905
1906 Fix parallel builds.
1907
1908 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
1909 font.c depend on ascii.h).
1910
19112010-01-12 Carles Pina i Estany <carles@pina.cat>
1912
1913 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
1914
19152010-01-11 Carles Pina i Estany <carles@pina.cat>
1916
1917 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
1918 By default: disabled.
1919 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
1920 parameter.
1921
19222010-01-10 Carles Pina i Estany <carles@pina.cat>
1923
1924 * font/font.c: Update copyright years.
1925 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
1926
19272010-01-10 Carles Pina i Estany <carles@pina.cat>
1928
1929 * font/font.c: Include `ascii.h'.
1930 (ASCII_BITMAP_SIZE): New macro.
1931 (ascii_font_glyph): Define.
1932 (ascii_glyph_lookup): New function.
1933 (grub_font_get_string_width): Change comment. If glyph not found, use
1934 ascii_glyph_lookup.
1935 (grub_font_get_glyph_with_fallback): If glyph not available returns
1936 ascii_glyph_lookup.
1937 * util/grub-mkfont.c (file_formats): New enum.
1938 (options): Add `ascii-bitmaps' new option.
1939 (usage): Add `asii-bitmaps' new option.
1940 (write_font_ascii_bitmap): New function.
1941 (write_font): Rename to ...
1942 (write_font_p2): ... this. Remove print_glyphs call.
1943 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
1944 used. Call print_glyphs.
1945 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
1946
19472010-01-14 Robert Millan <rmh.grub@aybabtu.com>
1948
1949 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
1950 (grub_bin2h_SOURCES): New variable.
1951 * util/bin2h.c: New file.
1952
915fc1b8
VS
19532010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
1954
1955 * include/multiboot.h: Resynced with spec.
1956 * include/multiboot2.h: Likewise.
1957 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
1958 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
1959
9444b678
RM
19602010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1961
1962 * include/grub/term.h (grub_term_register_input,
1963 grub_term_register_output): Check return of terminal init()
1964 routines, and abort if errors are raised.
1965
1966 * commands/terminal.c: Update copyright year.
1967
cba98e8d
RM
19682010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1969
1970 * commands/terminal.c (grub_cmd_terminal_input)
1971 (grub_cmd_terminal_output): Check return of terminal init()
1972 routines, and abort if errors are raised.
1973
6f7db5d6
VS
19742010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
1975
1976 * include/grub/i386/bsd.h: Fix include pathes.
1977
262bff8d
VS
19782010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
1979
1980 Add missing *BSD copyright headers.
1981
1982 * include/grub/aout.h: Add BSD licence.
1983 * include/grub/i386/bsd.h: Parts under different licences moved to ...
1984 * include/grub/i386/freebsd_linker.h: ... here,
1985 * include/grub/i386/freebsd_reboot.h: ... here,
1986 * include/grub/i386/netbsd_bootinfo.h: ... here,
1987 * include/grub/i386/netbsd_reboot.h: ... here,
1988 * include/grub/i386/openbsd_bootarg.h: ... here,
1989 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
1990 licence to each file.
1991
b2cab848
RM
19922010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1993
1994 * acinclude.m4: Remove `nop' assembly instruction; it's not
1995 implemented by all architectures.
1996
2cb6be4b
RM
19972010-01-18 Robert Millan <rmh.grub@aybabtu.com>
1998
1999 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
2000 ELILO. This is no longer necessary.
2001
a2eaee15
BC
20022010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
2003
2004 Added new tool, grub-scrit-check to verify grub.cfg syntax.
2005
2006 * util/grub-script-check.c: grub-script-check tool.
2007 * conf/common.rmk: Make rules for grub-script-check.
2008
88d17012
RM
20092010-01-18 Robert Millan <rmh.grub@aybabtu.com>
2010
2011 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
2012 spotting it back in 2008. Shame on me for forgetting he did.
2013
2014 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
2015
8040619d
RM
20162010-01-18 Robert Millan <rmh.grub@aybabtu.com>
2017
2018 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
2019 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
2020 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
2021 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
2022 (GRUB_VIDEO_TYPE_EFI): Rename to ...
2023 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
2024
a0c2a0f6
RM
20252010-01-17 Robert Millan <rmh.grub@aybabtu.com>
2026
2027 * include/grub/test.h: Add license header.
2028 * tests/example_functional_test.c: Likewise.
2029 * tests/example_unit_test.c: Likewise.
2030 * tests/lib/functional_test.c: Likewise.
2031 * tests/lib/test.c: Likewise.
2032 * tests/lib/unit_test.c: Likewise.
2033
b0b13907
VS
20342010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
2035
2036 Use flag-based instead of hook-based video mode selection and "auto"
2037 keyword.
2038
2039 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
2040 (grub_video_set_mode): Changed prototype. All users updated.
2041 (grub_video_check_mode_flag): New inline function.
2042 * video/video.c (parse_modespec): New function.
2043 (grub_video_set_mode): Parse flags and keywords.
2044
ea379330 20452010-01-17 Carles Pina i Estany <carles@pina.cat>
2046
2047 * util/misc.c (grub_util_info): Fix the order of the parameters in a
2048 fprintf call.
2049
e15c215e
FZ
20502010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
2051
2052 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
2053
409ae1c9 20542010-01-16 Carles Pina i Estany <carles@pina.cat>
2055
2056 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
2057 string.
2058 * util/grub-emu.c (usage): Likewise.
2059 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
2060 * util/i386/efi/grub-mkimage.c (usage): Likewise.
2061 * util/i386/pc/grub-mkimage.c (usage): Likewise.
2062 * util/i386/pc/grub-setup.c (usage): Likewise.
2063
70a14d3d 20642010-01-16 Carles Pina i Estany <carles@pina.cat>
2065
2066 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
2067 the message.
2068 (grub_util_info): Likewise.
2069 (grub_util_error): Likewise.
2070 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
2071 and/or new lines in `grub_util_warna', `grub_util_info',
2072 `grub_util_error' calls.
2073 * util/getroot.c: Likewise.
2074 * util/grub-editenv.c: Likewise.
2075 * util/grub-emu.c: Likewise.
2076 * util/grub-fstest.c: Likewise.
2077 * util/grub-mkdevicemap.c: Likewise.
2078 * util/grub-mkfont.c: Likewise.
2079 * util/grub-mkpasswd-pbkdf2.c: Likewise.
2080 * util/grub-mkrelpath.c: Likewise.
2081 * util/grub-pe2elf.c: Likewise.
2082 * util/grub-probe.c: Likewise.
2083 * util/hostdisk.c: Likewise.
2084 * util/i386/efi/grub-mkimage.c: Likewise.
2085 * util/i386/pc/grub-mkimage.c: Likewise.
2086 * util/i386/pc/grub-setup.c: Likewise.
2087 * util/ieee1275/ofpath.c: Likewise.
2088 * util/mkisofs/eltorito.c: Likewise.
2089 * util/mkisofs/rock.c: Likewise.
2090 * util/mkisofs/write.c: Likewise.
2091 * util/raid.c: Likewise.
2092 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
2093 * util/sparc64/ieee1275/grub-setup.c: Likewise.
2094
a0b766fc
VS
20952010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
2096
2097 Enable multiboot on non-pc.
2098
2099 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
2100 multiboot.mod and multiboot2.mod to ...
2101 * conf/i386.rmk (pkglib_MODULES): ... here.
2102 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
2103 Moved to ...
2104 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
2105 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
2106 Moved to ...
2107 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
2108 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
2109 Moved to ...
2110 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
2111 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
2112 Moved to ...
2113 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
2114 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
2115 relocator.mod.
2116 (ata_mod_SOURCES): Removed.
2117 (ata_mod_CFLAGS): Likewise.
2118 (ata_mod_LDFLAGS): Likewise.
2119 (relocator_mod_SOURCES): Removed.
2120 (relocator_mod_CFLAGS): Likewise.
2121 (relocator_mod_ASFLAGS): Likewise.
2122 (relocator_mod_LDFLAGS): Likewise.
2123 Include i386.mk.
2124 * include/grub/x86_64/multiboot.h: New file.
2125 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
2126 Terminate EFI.
2127
884ade56
VS
21282010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
2129
2130 Video multiboot support.
2131
2132 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
2133 New prototype.
2134 * include/multiboot.h: Resynced with multiboot specification.
2135 * include/multiboot2.h: Likewise.
2136 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
2137 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
2138 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
2139 (HAS_VGA_TEXT): Likewise.
2140 (accepts_video): New variable.
2141 (grub_multiboot_set_accepts_video): New function.
2142 (grub_multiboot_get_mbi_size): Account for video structures.
2143 (set_video_mode): New function.
2144 (retrieve_video_parameters): Likewise.
2145 (grub_multiboot_make_mbi): Fill video fields.
2146
0d90e8a6
VS
21472010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
2148
2149 Video driver ids.
2150
2151 * include/grub/video.h (grub_video_driver_id): New type.
2152 (grub_video_adapter): New member 'id'. All users updated.
2153 (grub_video_get_driver_id): New proto.
2154 * video/video.c (grub_video_get_driver_id): New function.
2155
5c71db1b 21562010-01-14 Carles Pina i Estany <carles@pina.cat>
2157
2158 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
2159 `var=val'.
2160
cca15b52 21612010-01-14 Carles Pina i Estany <carles@pina.cat>
2162
2163 * normal/cmdline.c (print_completion): Gettextizze.
2164
c586fbb2 21652001-01-14 Carles Pina i Estany <carles@pina.cat>
2166
2167 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
2168
ba2f6848 21692010-01-14 Carles Pina i Estany <carles@pina.cat>
2170
2171 * gettext/gettext.c (grub_gettext_translate): Push and pop
2172 grub_errno.
2173 (grub_gettext_delete_list): Change comment style.
2174 * kern/err.c (grub_error): Gettextizze.
2175 (grub_fatal): Gettextizze.
2176
0a46429a
RM
21772010-01-14 Robert Millan <rmh.grub@aybabtu.com>
2178
2179 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
2180 (grub_linux16_real_boot): ... this.
2181 * kern/i386/loader.S: Likewise.
2182 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
2183 (grub_linux16_boot): New function. Switches to text mode and calls
2184 grub_linux16_real_boot().
2185
2186 * loader/i386/bsd.c: Include `<grub/video.h>'.
2187 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
2188 text mode before calling grub_unix_real_boot().
2189
2190 * loader/i386/multiboot.c: Include `<grub/video.h>'.
2191 (grub_multiboot_boot): Switch to text mode before calling
2192 grub_relocator32_boot().
2193
2194 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
2195 (grub_chainloader_boot): Switch to text mode before calling
2196 grub_chainloader_real_boot().
2197
d6f93a66
RM
21982010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
21992010-01-05 Colin Watson <cjwatson@ubuntu.com>
2200
2201 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
2202 non-empty value.
2203
22042010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
22052010-01-05 Colin Watson <cjwatson@ubuntu.com>
2206
2207 * util/grub.d/00_header.in: Define a "savedefault" function for use
2208 in menu entries.
2209 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
2210
22112010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
22122010-01-05 Colin Watson <cjwatson@ubuntu.com>
2213
2214 * util/grub-mkconfig_lib.in (save_default_entry): Only set
2215 saved_entry if boot_once is unset.
2216 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
2217 previous saved entry (i.e. grub-reboot).
2218
22192009-12-08 Colin Watson <cjwatson@ubuntu.com>
2220
2221 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
2222
22232009-12-08 Colin Watson <cjwatson@ubuntu.com>
2224
2225 * util/grub.d/00_header.in: Use `set var=val' rather than plain
2226 `var=val'.
2227 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
2228
22292009-12-08 Colin Watson <cjwatson@ubuntu.com>
2230
2231 * util/grub-reboot.in: Fix --version output.
2232 * util/grub-set-default.in: Likewise.
2233
22342009-12-08 Colin Watson <cjwatson@ubuntu.com>
2235
2236 * util/grub.d/00_header.in: Silently ignore zero-sized environment
2237 blocks.
2238
22392009-12-08 Colin Watson <cjwatson@ubuntu.com>
2240
2241 * util/grub.d/00_header.in: Quote the value assigned to `default',
2242 in case it contains spaces.
2243
22442009-12-08 Colin Watson <cjwatson@ubuntu.com>
2245
2246 * util/grub.d/30_os-prober.in: Fix merge error that moved a
2247 `save_default_entry' call from the macosx case to the linux case.
2248
22492009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
22502009-10-25 Colin Watson <cjwatson@ubuntu.com>
2251
2252 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
2253 in `chosen' environment variable.
2254 * normal/menu_text.c (get_entry_number): Check if the variable
2255 matches the title of a menu entry.
2256 (run_menu): Pass menu to get_entry_number.
2257
2258 * util/grub-reboot.in: New file.
2259 * util/grub-set-default.in: New file.
2260 * conf/common.rmk (grub-reboot): New utility.
2261 (grub-set-default): New utility.
2262
2263 * util/grub-mkconfig_lib.in (save_default_entry): New function.
2264 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
2265 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
2266 move it to `saved_entry' for the next boot. Load environment on
2267 initialisation.
2268 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
2269 * util/grub.d/10_hurd.in: Likewise.
2270 * util/grub.d/10_linux.in (linux_entry): Likewise.
2271 * util/grub.d/10_windows.in: Likewise.
2272 * util/grub.d/30_os-prober.in: Likewise.
2273
2274 * util/grub-install.in: Create environment block.
2275 * util/i386/efi/grub-install.in: Likewise.
2276 * util/ieee1275/grub-install.in: Likewise.
2277 * util/sparc64/ieee1275/grub-install.in: Likewise.
2278
0934d184
BC
22792010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
2280
2281 Unit testing framework for GRUB.
2282
2283 * Makefile.in: Test framework build rules for 'make check'.
2284 * conf/tests.rmk: Build rules for individual tests and framework.
2285
2286 * include/grub/test.h: Header file for whitebox tests.
2287 * tests/lib/functional_test.c: Framework support for whitebox
2288 functional tests.
2289 * tests/lib/test.c: Common whitebox testing code for unit and
2290 functional tests.
2291 * tests/lib/unit_test.c: Framework support for whitebox unit
2292 tests.
2293
2294 * tests/util/grub-shell-tester.in: Support utility for grub-script
2295 tests.
2296 * tests/util/grub-shell.in: Utility to execute grub-script
2297 commands in a Qemu instance.
2298
2299 * tests/example_functional_test.c: Example whitebox functional
2300 test.
2301 * tests/example_grub_script_test.in: Example grub-script test.
2302 * tests/example_scripted_test.in: Example scripted test.
2303 * tests/example_unit_test.c: Example whitebox unit test.
2304
9c4ffeeb
VS
23052010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2306
2307 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
2308 Add loader/i386/multiboot_mbi.c.
2309 (multiboot2_mod_SOURCES): Likewise.
2310 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
2311 (multiboot2_mod_SOURCES): Likewise.
2312 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
2313 (grub_multiboot_make_mbi): Likewise.
2314 (grub_multiboot_free_mbi): Likewise.
2315 (grub_multiboot_init_mbi): Likewise.
2316 (grub_multiboot_add_module): Likewise.
2317 (grub_multiboot_set_bootdev): Likewise.
2318 * loader/i386/multiboot.c (mbi): Removed.
2319 (mbi_dest): Likewise.
2320 (alloc_mbi): New variable.
2321 (grub_multiboot_payload_size): Removed. All users updated.
2322 (grub_multiboot_pure_size): New variable.
2323 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
2324 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
2325 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
2326 (grub_fill_multiboot_mmap): Likewise.
2327 (grub_multiboot_get_bootdev): Likewise.
2328 (grub_multiboot): Use multiboot_mbi functions.
2329 * loader/i386/multiboot_mbi.c: New file.
2330
17383dfe
VS
23312010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2332
2333 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
2334 it would result in module crash.
2335
c1f28820
VS
23362010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2337
2338 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
2339 (grub_ofconsole_getwh): Split to ...
2340 (grub_ofconsole_getwh): ... this.
2341 (grub_ofconsole_dimensions): ...and this.
2342 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
2343
58655a16
RM
23442010-01-13 Robert Millan <rmh.grub@aybabtu.com>
2345
2346 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
2347
10891398
VS
23482010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2349
2350 * loader/i386/pc/multiboot2.c: Removed stalled file.
2351
0b8a223c
VS
23522010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2353
2354 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
2355 Reported by: Grégoire Sutre
2356
92ab12b0
RM
23572010-01-11 Robert Millan <rmh.grub@aybabtu.com>
2358
2359 * util/misc.c (canonicalize_file_name): New function.
2360 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
2361 instead of realpath().
2362
a788afb6
CW
23632010-01-11 Colin Watson <cjwatson@ubuntu.com>
2364
2365 * util/grub-install.in (usage): Clarify meaning of --root-directory,
2366 and make it clearer that it's optional. Based on confusion
2367 witnessed on IRC.
2368
ffa8e3d2
VS
23692010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2370
2371 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
2372 in premature implicit newline.
2373
e9060a9d
VS
23742010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2375
2376 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
2377 which resulted in garbled command line at the end of screen.
2378
f0d0c0b7
RM
23792010-01-10 Robert Millan <rmh.grub@aybabtu.com>
2380
2381 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
2382 initialization with similar approach as with other Linux loaders.
2383
0e60bae7
RM
23842010-01-10 Robert Millan <rmh.grub@aybabtu.com>
2385
2386 Fix i386-ieee1275 build.
2387
2388 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
2389 and grub_term_height() for video_{width,height} initialization.
2390
23912010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
2392
2393 Fix grub-emu build.
2394
2395 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
2396
cdb3f378
RM
23972010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
23982010-01-09 Robert Millan <rmh.grub@aybabtu.com>
2399
2400 Support for multiple terminals.
2401
2402 * Makefile.in (pkglib_DATA): terminal.lst.
2403 (terminal.lst): New target.
2404 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
2405 (GRUB_MOD_INIT(handler)): Likewise.
2406 (GRUB_MOD_FINI(handler)): Likewise.
2407 * commands/help.c (grub_cmd_help): Handle multiple terminals.
2408 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
2409 * commands/sleep.c (do_print): Use grub_term_restore_pos.
2410 (grub_cmd_sleep): Use grub_term_save_pos.
2411 * commands/terminal.c: New file.
2412 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
2413 commands/terminal.c and lib/charset.c.
2414 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
2415 (pkglib_MODULES): Add terminal.mod.
2416 (terminal_mod_SOURCES): New variable.
2417 (terminal_mod_CFLAGS): Likewise.
2418 (terminal_mod_LDFLAGS): Likewise.
2419 * genhandlerlist.sh: Don't handle terminals.
2420 * genmk.rb: Generate terminal-*.lst.
2421 * genterminallist.sh: New file.
2422 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
2423 (grub_is_valid_utf8): Likewise.
2424 (grub_utf8_to_ucs4_alloc): Likewise.
2425 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
2426 (grub_menu_register_viewer): Changed argument.
2427 (grub_menu_try_text): New proto.
2428 (grub_gfxmenu_try_hook): New declaration.
2429 * include/grub/normal.h (grub_normal_exit_level): New declaration.
2430 (grub_menu_init_page): Additional argument term.
2431 (grub_normal_init_page): Likewise.
2432 (grub_cmdline_get): Arguments simplified.
2433 (grub_utf8_to_ucs4_alloc): Removed.
2434 (grub_print_ucs4): Additional argument term.
2435 (grub_getstringwidth): Likewise.
2436 (grub_print_message_indented): Likewise.
2437 (grub_menu_text_register_instances): New proto.
2438 (grub_show_menu): Likewise.
2439 (read_terminal_list): Likewise.
2440 (grub_set_more): Likewise.
2441 * include/grub/parser.h: Include handler.h.
2442 * include/grub/reader.h: Rewritten.
2443 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
2444 (GRUB_TERM_WIDTH): Changed to function.
2445 (GRUB_TERM_HEIGHT): Likewise.
2446 (GRUB_TERM_BORDER_WIDTH): Likewise.
2447 (GRUB_TERM_BORDER_HEIGHT): Likewise.
2448 (GRUB_TERM_NUM_ENTRIES): Likewise.
2449 (GRUB_TERM_ENTRY_WIDTH): Likewise.
2450 (GRUB_TERM_CURSOR_X): Likewise.
2451 (grub_term_input_class): Likewise.
2452 (grub_term_output_class): Likewise.
2453 (grub_term_outputs_disabled): New declaration.
2454 (grub_term_inputs_disabled): Likewise.
2455 (grub_term_outputs): Likewise.
2456 (grub_term_inputs): Likewise.
2457 (grub_term_register_input): Rewritten.
2458 (grub_term_register_output): Likewise.
2459 (grub_term_unregister_input): Likewise.
2460 (grub_term_unregister_output): Likewise.
2461 (FOR_ACTIVE_TERM_INPUTS): New macro.
2462 (FOR_DISABLED_TERM_INPUTS): Likewise.
2463 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
2464 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
2465 * include/grub/terminfo.h: Add oterm argument to all protypes.
2466 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
2467 Use grub_rescue_run.
2468 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
2469 All users updated.
2470 * kern/reader.c: Removed. All users updated.
2471 * kern/rescue_reader.c (grub_rescue_init): Removed.
2472 (grub_rescue_reader): Likewise.
2473 (grub_register_rescue_reader): Likewise.
2474 (grub_rescue_run): New function based on kern/reader.c.
2475 * kern/term.c: Adapted for multiterm.
2476 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
2477 (grub_is_valid_utf8): Likewise.
2478 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
2479 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
2480 right terminal.
2481 * loader/i386/linux.c (grub_linux_boot): Likewise.
2482 * normal/auth.c (grub_username_get): New function.
2483 (grub_auth_check_authentication): Use grub_username_get.
2484 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
2485 * normal/color.c: Adapt for multiterm.
2486 * normal/main.c (read_config_file): Don't use grub_reader_loop.
2487 (grub_normal_init_page): Additional argument term.
2488 (read_lists): Call read_terminal_lists.
2489 (grub_enter_normal_mode): Call grub_cmdline_run.
2490 Handle grub_normal_exit_level.
2491 (grub_cmd_normal): Make reentrant.
2492 (grub_cmd_normal_exit): New function.
2493 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
2494 * normal/menu.c: Adapt for multiterm.
2495 * normal/menu_entry.c: Likewise.
2496 * normal/menu_text.c: Likewise.
2497 * normal/menu_viewer.c: Removed. All users updated.
2498 * normal/term.c: New file.
2499 * util/console.c: Change order of includes to workaround a bug in
2500 ncurses headers.
2501 * term/terminfo.c: New argument oterm on all exported functions.
2502 All users updated.
2503 * util/grub-editenv.c (grub_term_input_class): Removed.
2504 (grub_term_output_class): Likewise.
2505
1a064917
RM
25062010-01-09 Robert Millan <rmh.grub@aybabtu.com>
2507
2508 Make loader output a bit more user-friendly.
2509
2510 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
2511 is being loaded. Likewise for the Hurd.
2512
2513 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
2514 that kernel of FreeBSD ${version} is being loaded.
2515
2516 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
2517 grub_dprintf().
2518 (grub_cmd_initrd): Likewise.
2519 * util/grub.d/10_linux.in (linux_entry): Print message indicating
2520 that Linux ${version} is being loaded. Likewise for initrd.
2521
5ce0a83a 25222010-01-09 Carles Pina i Estany <carles@pina.cat>
2523
2524 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
2525
809bbfeb 25262010-01-08 Carles Pina i Estany <carles@pina.cat>
2527
2528 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
2529 (GRUB_MOD_INIT): Gettextizze.
2530 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
2531 (GRUB_MOD_INIT): Gettextizze.
2532 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
2533 (grub_cmd_linux): Capitalise Linux.
2534 (GRUB_MOD_INIT): Gettextizze.
2535 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
2536 (grub_cmd_linux): Capitalise Linux.
2537 (GRUB_MOD_INIT): Gettextizze.
2538 * loader/i386/linux.c: Include `<grub/i18n.h>'.
2539 (grub_cmd_linux): Capitalise Linux.
2540 (GRUB_MOD_INIT): Gettextizze.
2541 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
2542 (GRUB_MOD_INIT): Gettextizze.
2543 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
2544 (grub_cmd_linux): Capitalise Linux.
2545 (GRUB_MOD_INIT): Gettextizze.
2546 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
2547 (grub_cpu_xnu_init): Gettextizze.
2548 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
2549 (GRUB_MOD_INIT): Gettextizze.
2550 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
2551 (GRUB_MOD_INIT): Gettextizze.
2552 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
2553 (grub_linux_load64): Capitalise Linux.
2554 (GRUB_MOD_INIT): Gettextizze.
2555 * loader/xnu.c: Include `<grub/i18n.h>'.
2556 (GRUB_MOD_INIT): Gettextizze.
2557 * po/POTFILES: Add `loader/efi/appleloader.c',
2558 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
2559 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
2560 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
2561 `loader/i386/xnu.c', `loader/multiboot_loader.c',
2562 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
2563 and `loader/xnu.c'.
2564
b394b2ca
RM
25652010-01-08 Robert Millan <rmh.grub@aybabtu.com>
2566
2567 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
2568
25692010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
2570
2571 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
2572 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
2573 * util/mkisofs/mkisofs.c (main): Readjust --version output.
2574
bc8b32b3
RM
25752010-01-07 Robert Millan <rmh.grub@aybabtu.com>
2576
2577 Reset Multiboot 2 support. New loader implements the draft in
2578 /branches/multiboot2 and shares as much code as possible with the
2579 production Multiboot 1 implementation.
2580
2581 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
2582 * loader/multiboot2.c: Likewise.
2583 * loader/i386/multiboot_helper.S: Likewise.
2584 * include/multiboot2.h: Replace with latest version from the draft
2585 in /branches/multiboot2.
2586
2587 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
2588 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
2589 and `loader/multiboot2.c'.
2590 (pkglib_MODULES): Add `multiboot2.mod'.
2591 (multiboot2_mod_SOURCES): New variable.
2592 (multiboot2_mod_LDFLAGS): Likewise.
2593 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
2594
2595 * conf/i386-pc.rmk: Likewise.
2596
2597 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
2598 (multiboot_mod_SOURCES): Remove variable.
2599 (multiboot_mod_LDFLAGS): Likewise.
2600 (multiboot_mod_CFLAGS): Likewise.
2601
2602 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
2603 `<multiboot2.h>' instead of `<multiboot.h>'.
2604 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
2605 (MULTIBOOT_HEADER_MAGIC): New macros.
2606
2607 * loader/multiboot_loader.c (module_version_status): Remove variable.
2608 (find_multi_boot2_header): Remove function.
2609 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
2610 logic. Always check for the Multiboot version we're compiling for.
2611 (grub_cmd_module_loader): Likewise.
2612 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
2613 command instead of `multiboot'.
2614
5d2c52b8
RM
26152010-01-07 Robert Millan <rmh.grub@aybabtu.com>
2616
2617 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
2618 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
2619 all users.
2620
53108d92
RM
26212010-01-07 Robert Millan <rmh.grub@aybabtu.com>
26222010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
2623
2624 Fix breakage introduced with previous commit.
2625
2626 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
2627 commands.
2628 * normal/handler.c (read_handler_list): Revert part of previous commit
2629 affecting this file.
2630 * normal/main.c (read_lists): Move read_handler_list() call back to ...
2631 (grub_normal_execute): ... here.
2632
e2e936b2
RM
26332010-01-07 Robert Millan <rmh.grub@aybabtu.com>
2634
2635 Merge prefix-redefinition-fix branch.
2636
2637 * normal/autofs.c (read_fs_list): Make function capable of being
2638 run multiple times, gracefuly replacing the previous data
2639 structures.
2640 * normal/dyncmd.c (read_command_list): Likewise.
2641 * normal/handler.c (read_handler_list): Likewise.
2642 * normal/main.c (read_lists): New function. Calls all the
2643 list reading functions.
2644 (grub_normal_execute): Use read_lists() instead of calling all
2645 list reading functions explicitly. Register read_lists() as a
2646 variable hook attached to ${prefix}.
2647
607a3701
VS
26482010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
2649
2650 Merge crypto branch.
2651
2652 * Makefile.in (pkglib_DATA): Add crypto.lst.
2653 (crypto.lst): New target.
2654 * commands/hashsum.c: New file.
2655 * commands/password.c (check_password): Use grub_crypto_memcmp.
2656 * commands/password_pbkdf2.c: New file.
2657 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
2658 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
2659 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
2660 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
2661 -I$(srcdir)/lib/libgcrypt_wrap.
2662 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
2663 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
2664 password_pbkdf2.mod.
2665 (crypto_mod_SOURCES): New variable.
2666 (crypto_mod_CFLAGS): Likewise.
2667 (crypto_mod_LDFLAGS): Likewise.
2668 (hashsum_mod_SOURCES): New variable.
2669 (hashsum_mod_CFLAGS): Likewise.
2670 (hashsum_mod_LDFLAGS): Likewise.
2671 (pbkdf2_mod_SOURCES): New variable.
2672 (pbkdf2_mod_CFLAGS): Likewise.
2673 (pbkdf2_mod_LDFLAGS): Likewise.
2674 (password_pbkdf2_mod_SOURCES): New variable.
2675 (password_pbkdf2_mod_CFLAGS): Likewise.
2676 (password_pbkdf2_mod_LDFLAGS): Likewise.
2677 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
2678 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
2679 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
2680 Include conf/gcry.rmk.
2681 * include/grub/auth.h: Rewritten.
2682 * include/grub/crypto.h: New file.
2683 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
2684 * include/grub/normal.h (read_crypto_list): New prototype.
2685 * lib/crypto.c: New file.
2686 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
2687 * lib/pbkdf2.c: Likewise.
2688 * normal/auth.c (grub_auth_strcmp): Removed.
2689 (grub_iswordseparator): Likewise.
2690 (grub_auth_strword): Likewise.
2691 (is_authenticated): Use grub_strword.
2692 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
2693 and grub_strword. Pass entered password to authentication callback.
2694 * normal/crypto.c: New file.
2695 * normal/main.c: Call read_crypto_list.
2696 * util/grub-mkpasswd-pbkdf2.c: New file.
2697 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
2698
42841caa
VS
26992010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
2700
2701 Fix descent and ascent calculation.
2702
2703 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
2704 (options): New option "asce".
2705 (usage): Likewise.
2706 (add_char): Ignore invalid glyphs for descent calculation.
2707 Calculate ascent from actual content.
2708 (print_glyphs): Use 'asce'.
2709 (write_font): Likewise. Allow ascent override.
2710 (main): Handle "asce" option.
2711
e7730de7 27122010-01-06 Carles Pina i Estany <carles@pina.cat>
2713
2714 * kern/err.c: Include `<grub/i18n.h>'.
2715 (grub_print_error): Add full stop. Gettextizze.
2716 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
2717 (grub_bsd_load_elf): Capitalise ELF.
2718 (grub_cmd_freebsd_loadenv): Add `s' in error string.
2719 (grub_cmd_freebsd_module): Likewise.
2720 (grub_cmd_freebsd_module_elf): Likewise.
2721 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
2722
40e3a41f 27232010-01-06 Carles Pina i Estany <carles@pina.cat>
2724
2725 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
2726 * commands/search_file.c (HELP_MESSAGE): New macro.
2727 * commands/search_label.c (HELP_MESSAGE): Likewise.
2728 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
2729 * po/POTFILES: Add `commands/search_file.c',
2730 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
2731 `commands/search.c'.
2732
83507e68
RM
27332010-01-05 Robert Millan <rmh.grub@aybabtu.com>
2734
2735 * config.rpath: Update from Gnulib.
2736
465c787b
YB
27372010-01-05 Yves Blusseau <blusseau@zetam.org>
2738
2739 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
2740
6581dd3a
YB
27412010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
2742
2743 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
2744
3bff18c5
CW
27452010-01-05 Colin Watson <cjwatson@ubuntu.com>
2746
2747 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
2748 arguments to fread so that we get a return value in bytes, rather
2749 than something that will normally be rounded down to 0.
2750 Adjust error handling to avoid producing garbage when size_t is not
2751 the same size as long long.
2752
a1368118
CW
27532010-01-05 Colin Watson <cjwatson@ubuntu.com>
2754
2755 * util/mkisofs/write.c (padblock_write): Check return value of
2756 fread.
2757
7c302978
RM
27582010-01-05 Robert Millan <rmh.grub@aybabtu.com>
2759
2760 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
2761 floppy images now.
2762
2763 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
2764
e33ace06
RM
27652010-01-04 Robert Millan <rmh.grub@aybabtu.com>
2766
2767 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
2768 instead of manual alignment.
2769 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
2770 verbose). Avoid attempts to read past end of the device
2771 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
2772 but GRUB_DISK_CACHE_SIZE may exceed that).
2773
4b856776
RM
27742010-01-04 Robert Millan <rmh.grub@aybabtu.com>
2775
2776 * commands/crc.c (grub_cmd_crc): Abort on read errors.
2777 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
2778 it to upper layer.
2779
52c2d97f
VS
27802010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
2781
2782 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
2783 New constant.
2784 (grub_efi_piwg_device_path): New structure
2785 (grub_efi_piwg_device_path_t): New type.
2786 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
2787 (devpath_1): Transform to a structure. All users updated.
2788 (devpath_2): Likewise.
2789 (devpath_3): Likewise.
2790 (devpath_4): Likewise.
2791 (devpath_5): Likewise.
2792
98ff6a54
VS
27932010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
2794
2795 * loader/efi/appleloader.c: Restored. Update all users.
2796
3a73dcb6
RM
27972010-01-03 Robert Millan <rmh.grub@aybabtu.com>
2798
2799 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
2800
2801 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
2802 (struct boot_blocklist): Move from here ...
2803 * include/grub/i386/pc/boot.h [ASM_FILE]
2804 (struct grub_boot_blocklist): ... to here. Update all users.
2805 (setup): Only initialize `start' member of `first_block'
2806 structure. Add assert() calls to verify the other members.
2807
2808 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
2809 (generate_image): Fix broken blocklist length initialization.
2810 Add assert() call to verify blocklist `segment' field.
2811
ab0eeb0c
RM
28122010-01-03 Robert Millan <rmh.grub@aybabtu.com>
2813
2814 * loader/efi/appleloader.c: Remove. Update all users.
2815
58bc8bd5
RM
28162010-01-03 Robert Millan <rmh.grub@aybabtu.com>
2817
2818 * boot/i386/pc/boot.S: Update copyright year.
2819 * boot/i386/pc/cdboot.S: Likewise.
2820 * boot/i386/pc/diskboot.S: Likewise.
2821 * boot/i386/pc/lnxboot.S: Likewise.
2822 * boot/i386/pc/pxeboot.S: Likewise.
2823 * bus/pci.c: Likewise.
2824 * commands/cmp.c: Likewise.
2825 * commands/help.c: Likewise.
2826 * commands/hexdump.c: Likewise.
2827 * commands/i386/pc/halt.c: Likewise.
2828 * commands/i386/pc/play.c: Likewise.
2829 * commands/i386/pc/vbeinfo.c: Likewise.
2830 * commands/ls.c: Likewise.
2831 * commands/test.c: Likewise.
2832 * disk/dmraid_nvidia.c: Likewise.
2833 * disk/i386/pc/biosdisk.c: Likewise.
2834 * disk/ieee1275/nand.c: Likewise.
2835 * disk/ieee1275/ofdisk.c: Likewise.
2836 * disk/lvm.c: Likewise.
2837 * disk/raid.c: Likewise.
2838 * disk/raid6_recover.c: Likewise.
2839 * disk/scsi.c: Likewise.
2840 * fs/affs.c: Likewise.
2841 * fs/cpio.c: Likewise.
2842 * fs/ext2.c: Likewise.
2843 * fs/hfs.c: Likewise.
2844 * fs/iso9660.c: Likewise.
2845 * fs/ntfs.c: Likewise.
2846 * fs/sfs.c: Likewise.
2847 * fs/udf.c: Likewise.
2848 * fs/ufs.c: Likewise.
2849 * fs/xfs.c: Likewise.
2850 * gencmdlist.sh: Likewise.
2851 * genmk.rb: Likewise.
2852 * include/grub/disk.h: Likewise.
2853 * include/grub/efi/api.h: Likewise.
2854 * include/grub/efi/efi.h: Likewise.
2855 * include/grub/efi/pe32.h: Likewise.
2856 * include/grub/elf.h: Likewise.
2857 * include/grub/fs.h: Likewise.
2858 * include/grub/i386/at_keyboard.h: Likewise.
2859 * include/grub/i386/pc/memory.h: Likewise.
2860 * include/grub/i386/pc/vbe.h: Likewise.
2861 * include/grub/i386/pci.h: Likewise.
2862 * include/grub/i386/tsc.h: Likewise.
2863 * include/grub/ieee1275/ieee1275.h: Likewise.
2864 * include/grub/ntfs.h: Likewise.
2865 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
2866 * include/grub/sparc64/libgcc.h: Likewise.
2867 * include/grub/symbol.h: Likewise.
2868 * include/grub/types.h: Likewise.
2869 * include/multiboot2.h: Likewise.
2870 * io/gzio.c: Likewise.
2871 * kern/device.c: Likewise.
2872 * kern/disk.c: Likewise.
2873 * kern/efi/efi.c: Likewise.
2874 * kern/efi/mm.c: Likewise.
2875 * kern/elf.c: Likewise.
2876 * kern/file.c: Likewise.
2877 * kern/i386/dl.c: Likewise.
2878 * kern/i386/pc/init.c: Likewise.
2879 * kern/i386/pc/startup.S: Likewise.
2880 * kern/ieee1275/ieee1275.c: Likewise.
2881 * kern/ieee1275/init.c: Likewise.
2882 * kern/main.c: Likewise.
2883 * kern/mm.c: Likewise.
2884 * kern/powerpc/dl.c: Likewise.
2885 * kern/sparc64/dl.c: Likewise.
2886 * kern/x86_64/dl.c: Likewise.
2887 * lib/hexdump.c: Likewise.
2888 * loader/efi/appleloader.c: Likewise.
2889 * loader/i386/ieee1275/linux.c: Likewise.
2890 * loader/i386/pc/chainloader.c: Likewise.
2891 * loader/i386/pc/linux.c: Likewise.
2892 * loader/i386/pc/multiboot2.c: Likewise.
2893 * loader/ieee1275/multiboot2.c: Likewise.
2894 * loader/multiboot2.c: Likewise.
2895 * loader/multiboot_loader.c: Likewise.
2896 * loader/powerpc/ieee1275/linux.c: Likewise.
2897 * normal/completion.c: Likewise.
2898 * normal/menu_entry.c: Likewise.
2899 * partmap/apple.c: Likewise.
2900 * util/grub.d/10_hurd.in: Likewise.
2901 * util/hostfs.c: Likewise.
2902 * video/readers/png.c: Likewise.
2903
e2d70b5c
CW
29042010-01-03 Colin Watson <cjwatson@ubuntu.com>
2905
2906 * include/grub/misc.h (GNUC_PREREQ): New macro.
2907 (ATTRIBUTE_ERROR): New macro.
2908 * include/grub/list.h (grub_bad_type_cast_real): Use
2909 ATTRIBUTE_ERROR.
2910
a173283f 29112010-01-03 Carles Pina i Estany <carles@pina.cat>
2912
2913 * normal/menu_text.c (print_message): Change messages.
2914
7fa7ff74 29152010-01-03 Carles Pina i Estany <carles@pina.cat>
2916
2917 * normal/menu_entry.c (store_completion): Gettextizze.
2918
136d24f6 29192010-01-03 Carles Pina i Estany <carles@pina.cat>
2920
2921 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
2922
f936862e 29232010-01-03 Carles Pina i Estany <carles@pina.cat>
2924
2925 * po/POTFILES: Sort correctly.
2926
29c44ad1 29272010-01-03 Carles Pina i Estany <carles@pina.cat>
2928
2929 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
2930 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
2931 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
2932 full stop.
2933 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
2934 summary. Gettextizze the strings.
2935 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
2936 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
2937 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
2938 full stop.
2939 (GRUB_MOD_INIT): Remove command name from summary.
2940 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
2941 summary.
2942 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
2943 * term/i386/pc/serial.c (options): Add full stops.
2944 (GRUB_MOD_INIT): Remove command name from the summary.
2945
77a79592 29462010-01-03 Carles Pina i Estany <carles@pina.cat>
2947
2948 * commands/acpi.c: Gettextizze help strings and/or options. Include
2949 `grub/i18n.h' if needed.
2950 * commands/blocklist.c: Likewise.
2951 * commands/boot.c: Likewise.
2952 * commands/cat.c: Likewise.
2953 * commands/cmp.c: Likewise.
2954 * commands/configfile.c: Likewise.
2955 * commands/crc.c: Likewise.
2956 * commands/date.c: Likewise.
2957 * commands/echo.c: Likewise.
2958 * commands/efi/fixvideo.c: Likewise.
2959 * commands/efi/loadbios.c: Likewise.
2960 * commands/gptsync.c: Likewise.
2961 * commands/halt.c: Likewise.
2962 * commands/handler.c: Likewise.
2963 * commands/hdparm.c: Likewise.
2964 * commands/hexdump.c: Likewise.
2965 * commands/i386/cpuid.c: Likewise.
2966 * commands/i386/pc/drivemap.c: Likewise.
2967 * commands/i386/pc/halt.c: Likewise.
2968 * commands/i386/pc/pxecmd.c: Likewise.
2969 * commands/i386/pc/vbeinfo.c: Likewise.
2970 * commands/i386/pc/vbetest.c: Likewise.
2971 * commands/ieee1275/suspend.c: Likewise.
2972 * commands/keystatus.c: Likewise.
2973 * commands/loadenv.c: Likewise.
2974 * commands/ls.c: Likewise.
2975 * commands/lsmmap.c: Likewise.
2976 * commands/lspci.c: Likewise.
2977 * commands/memrw.c: Likewise.
2978 * commands/minicmd.c: Likewise.
2979 * commands/parttool.c: Likewise.
2980 * commands/password.c: Likewise.
2981 * commands/probe.c: Likewise.
2982 * commands/read.c: Likewise.
2983 * commands/reboot.c: Likewise.
2984 * commands/search.c: Likewise.
2985 * commands/sleep.c: Likewise.
2986 * commands/test.c: Likewise.
2987 * commands/true.c: Likewise.
2988 * commands/usbtest.c: Likewise.
2989 * commands/videotest.c: Likewise.
2990 * commands/xnu_uuid.c: Likewise.
2991 * disk/loopback.c: Likewise.
2992 * hello/hello.c: Likewise.
2993 * loader/i386/bsd.c: Likewise.
2994 * term/i386/pc/serial.c: Likewise.
2995 * po/POTFILES: Add new files.
2996
da8d5c53
CW
29972010-01-02 Colin Watson <cjwatson@ubuntu.com>
2998
2999 * term/i386/pc/at_keyboard.c
3000 (keyboard_controller_wait_untill_ready): Rename to ...
3001 (keyboard_controller_wait_until_ready): ... this. Update all users.
3002
33937904 30032010-01-01 Carles Pina i Estany <carles@pina.cat>
3004
3005 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
3006 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
3007 string using string width.
3008 * normal/menu_text.c (grub_print_message_indented): Use
3009 grub_print_spaces and not print_spaces.
3010 (print_timeout): Likewise.
3011 (print_spaces): Move to...
3012 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
3013
3fd3b8d8
RM
30142010-01-01 Robert Millan <rmh.grub@aybabtu.com>
3015
3016 Import from Gnulib.
3017
3018 * gnulib/getdelim.c: New file.
3019 * gnulib/getline.c: Likewise.
3020
33433555
VS
30212009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
3022
3023 * include/grub/list.h (grub_assert_fail): Removed.
3024 (grub_bad_type_cast_real): New function.
3025 (grub_bad_type_cast): New macro.
3026 (GRUB_AS_LIST): Use grub_bad_type_cast.
3027 (GRUB_AS_LIST_P): Likewise.
e44721e8 3028 (GRUB_AS_NAMED_LIST): Likewise.
33433555 3029 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 3030 (GRUB_AS_PRIO_LIST): Likewise.
33433555 3031 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 3032 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 3033
f5a51306
VS
30342009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
3035
3036 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
3037 Fix syntax error.
3038
90d1e879
RM
30392009-12-29 Robert Millan <rmh.grub@aybabtu.com>
3040
3041 * configure.ac: Check for TARGET_CFLAGS initialization before we
3042 initialize it ourselves (sigh).
3043 Move a few modifications to TARGET_CFLAGS to be unconditional
3044 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
3045 eh_frame)
3046
3047 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
3048 * term/i386/pc/at_keyboard.c
3049 (keyboard_controller_wait_untill_ready): Likewise.
3050 (keyboard_controller_led): Rename `led_status' paramter to avoid
3051 name conflict.
3052
465b5a81 30532009-12-28 Carles Pina i Estany <carles@pina.cat>
3054
3055 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
3056 quotes.
3057
c181849b
VS
30582009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
3059
3060 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
3061
9c8739a4
VS
30622009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
3063
3064 * normal/menu_text.c (grub_print_message_indented): Prevent
3065 past-the-end-of-array dereference.
3066
3e74249c
VS
30672009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
3068
3069 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
3070 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
3071
64fd18ed 30722009-12-27 Carles Pina i Estany <carles@pina.cat>
3073
3074 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
3075 * normal/main.c (grub_normal_read_line): Remove a space from the
3076 default prompt.
3077
714af9b9 30782009-12-27 Carles Pina i Estany <carles@pina.cat>
3079
3080 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
3081 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
3082 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
3083 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
3084 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
3085 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
3086 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
3087
82f3e412 30882009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 3089
3090 * video/readers/jpeg.c (cmd): Declare.
3091 (grub_cmd_jpegtest): Use `grub_command_t' type.
3092 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
3093 Assign to `cmd'.
3094 (GRUB_MOD_FINI): Use `cmd' to unregister.
3095 * video/readers/png.c (cmd): Declare.
3096 (grub_cmd_pngtest): Use `grub_command_t' type.
3097 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
3098 Assign to `cmd'.
3099 (GRUB_MOD_FINI): Use `cmd' to unregister.
3100 * video/readers/tga.c (cmd): Declare.
3101 (grub_cmd_tgatest): Use `grub_command_t' type.
3102 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
3103 Assign to `cmd'.
3104 (GRUB_MOD_FINI): Use `cmd' to unregister.
3105
82f3e412 31062009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 3107
3108 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
3109 stops.
3110 * kern/corecmd.c (grub_register_core_commands): Likewise.
3111 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
3112 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
3113 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
3114 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
3115 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
3116 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
3117 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
3118 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
3119 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
3120 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
3121 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
3122 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
3123 * normal/handler.c (insert_handler): Likewise.
3124 * normal/main.c (GRUB_MOD_INIT): Likewise.
3125 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
3126
fdcdbb66 31272009-12-26 Carles Pina i Estany <carles@pina.cat>
3128
3129 * commands/help.c (grub_cmd_help): Print the command name before the
3130 summary.
3131 (GRUB_MOD_INIT): Remove command name from the summary.
3132 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 3133 string as summary.
fdcdbb66 3134 * lib/arg.c (find_long): Print the command name before the summary.
3135 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
3136 summary.
3137 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
3138 * commands/cat.c (GRUB_MOD_INIT): Likewise.
3139 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
3140 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
3141 * commands/crc.c (GRUB_MOD_INIT): Likewise.
3142 * commands/date.c (GRUB_MOD_INIT): Likewise.
3143 * commands/echo.c (GRUB_MOD_INIT): Likewise.
3144 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
3145 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
3146 * commands/handler.c (GRUB_MOD_INIT): Likewise.
3147 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
3148 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
3149 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
3150 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
3151 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
3152 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
3153 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
3154 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
3155 * commands/ls.c (GRUB_MOD_INIT): Likewise.
3156 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
3157 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
3158 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
3159 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
3160 * commands/password.c (GRUB_MOD_INIT): Likewise.
3161 * commands/probe.c (GRUB_MOD_INIT): Likewise.
3162 * commands/read.c (GRUB_MOD_INIT): Likewise.
3163 * commands/search.c (GRUB_MOD_INIT): Likewise.
3164 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
3165 * commands/test.c (GRUB_MOD_INIT): Likewise.
3166 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
3167 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
3168 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
3169 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
3170 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
3171 * lib/arg.c (GRUB_MOD_INIT): Likewise.
3172 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
3173 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
3174 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
3175 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
3176 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
3177 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
3178 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
3179 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
3180
9c288be2
VS
31812009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3182
3183 Use search command for preliminar UUID search.
3184
3185 * commands/search.c: Split into ...
3186 * commands/search_wrap.c: ...this
3187 * commands/search.c: ...and this.
3188 * commands/search_file.c: New file.
3189 * commands/search_label.c: New file.
3190 * commands/search_uuid.c: New file.
3191 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
3192 Add commands/search_wrap.c, commands/search_file.c,
3193 commands/search_label.c and commands/search_uuid.c.
3194 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
3195 (search_mod_SOURCES): Set to commands/search_wrap.c.
3196 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
3197 search_label.mod.
3198 (search_fs_file_mod_SOURCES): New variable.
3199 (search_fs_file_mod_CFLAGS): Likewise.
3200 (search_fs_file_mod_LDFLAGS): Likewise.
3201 (search_label_mod_SOURCES): Likewise.
3202 (search_label_mod_CFLAGS): Likewise.
3203 (search_label_mod_LDFLAGS): Likewise.
3204 (search_fs_uuid_mod_SOURCES): New variable.
3205 (search_fs_uuid_mod_CFLAGS): Likewise.
3206 (search_fs_uuid_mod_LDFLAGS): Likewise.
3207 (fs_file_mod_SOURCES): Removed.
3208 (fs_file_mod_CFLAGS): Likewise.
3209 (fs_file_mod_LDFLAGS): Likewise.
3210 (fs_uuid_mod_SOURCES): Removed.
3211 (fs_uuid_mod_CFLAGS): Likewise.
3212 (fs_uuid_mod_LDFLAGS): Likewise.
3213 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
3214 Set to util/grub-install.in.
3215 * disk/fs_file.c: Removed.
3216 * disk/fs_uuid.c: Likewise.
3217 * include/grub/search.h: New file.
3218 * util/grub-install.in: Handle sparc64.
3219 Create and use load.cfg.
3220 * util/sparc64/ieee1275/grub-install.in: Removed.
3221
db943399
VS
32222009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3223
3224 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
3225 Ignore return status if CF is cleared.
3226 (grub_biosdisk_get_diskinfo_standard): Likewise.
3227
3fdae612
RM
32282009-12-25 Robert Millan <rmh.grub@aybabtu.com>
3229
3230 * term/i386/pc/at_keyboard.c
3231 (keyboard_controller_wait_untill_ready): New function.
3232 (grub_keyboard_controller_write, grub_keyboard_controller_read)
3233 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
3234 for keyboard polling, rather than duplicate the same loop. This
3235 saves a few bytes in code size.
3236
7ebaa2b4
VS
32372009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3238
3239 Support for (pxe[:server[:gateway]]) syntax and
3240 use environment variable for PXE.
3241
3242 * commands/i386/pc/pxecmd.c (options): Removed.
3243 (print_ip): Removed.
3244 (grub_cmd_pxe): Removed
3245 (grub_cmd_pxe_unload): New function.
3246 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
3247 (grub_pxe_your_ip): Made static.
3248 (grub_pxe_default_server_ip): Likewise.
3249 (grub_pxe_default_gateway_ip): Likewise.
3250 (grub_pxe_blksize): Likewise.
3251 (parse_ip): New function.
3252 (grub_pxe_open): Support server and gateway specification.
3253 (grub_pxe_close): Free disk->data.
3254 (grub_pxefs_open): Use disk->data.
3255 (grub_pxefs_read): Likewise.
3256 (grub_env_write_readonly): New function.
3257 (set_mac_env): Likewise.
3258 (set_env_limn_ro): Likewise.
3259 (parse_dhcp_vendor): Likewise.
3260 (grub_pxe_detect): Set the environment variables.
3261 (set_ip_env): New function.
3262 (write_ip_env): Likewise.
3263 (grub_env_write_pxe_default_server): Likewise.
3264 (grub_env_write_pxe_default_gateway): Likewise.
3265 (grub_env_write_pxe_blocksize): Likewise.
3266 (GRUB_MOD_INIT(pxe)): Set environment variables.
3267 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
3268 (grub_pxe_mac_addr_t): ... this. All users updated.
3269 (grub_pxe_your_ip): Removed.
3270 (grub_pxe_server_ip): Likewise.
3271 (grub_pxe_gateway_ip): Likewise.
3272 (grub_pxe_blksize): Likewise.
3273
ec5f98ab 32742009-12-25 Carles Pina i Estany <carles@pina.cat>
3275
3276 * commands/help.c: Include `<grub/i18n.h>'.
3277 (grub_cmd_help): Gettextizze.
3278 (GRUB_MOD_INIT): Likewise.
3279 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
3280 (GRUB_MOD_INIT): Gettextizze.
3281 * commands/search.c: Include `<grub/i18n.h>'.
3282 (options): Gettextizze.
3283 (GRUB_MOD_INIT): Gettextizze.
3284 * lib/arg.c: Include `<grub/i18n.h>'.
3285 (help_options): Gettextizze.
3286 (find_long): Likewise.
3287 (grub_arg_show_help): Likewise.
3288 * normal/dyncmd.c: Include `<grub/i18n.h>'.
3289 (read_command_list): Gettextizze.
3290 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 3291 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 3292
22815526
RM
32932009-12-25 Robert Millan <rmh.grub@aybabtu.com>
3294
3295 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
3296 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
3297 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
3298 (led_status): New variable.
3299 (keyboard_controller_led): New function.
3300 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
3301 update led status for caps lock, num lock and scroll lock.
3302
0ad46fd7
FZ
33032009-12-25 Felix Zielcke <fzielcke@z-51.de>
3304
3305 * util/hostdisk.c (open_device): Fix a comment.
3306
d0e158c2
RM
33072009-12-24 Robert Millan <rmh.grub@aybabtu.com>
3308
3309 * util/grub-install.in (host_os): New variable.
3310 * util/i386/efi/grub-install.in (host_os): Likewise.
3311
401c0ad6
RM
33122009-12-24 Robert Millan <rmh.grub@aybabtu.com>
3313
3314 * util/mkisofs/write.c (padblock_write): Abort when given an
3315 excedingly large embed image, instead of silently truncating it.
3316
d14d3370
RM
33172009-12-24 Robert Millan <rmh.grub@aybabtu.com>
3318
3319 * include/multiboot.h: Indentation fixes.
3320
eeed10b4
RM
33212009-12-24 Robert Millan <rmh.grub@aybabtu.com>
3322
3323 * include/multiboot.h (struct multiboot_aout_symbol_table)
3324 (struct multiboot_elf_section_header_table): New structure
3325 declarations (stolen from GRUB Legacy).
3326 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
3327 table information.
3328
3329 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
3330 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
3331 type aliases.
3332
681c70ab
RM
33332009-12-24 Robert Millan <rmh.grub@aybabtu.com>
3334
3335 * include/multiboot.h: Make comments src2texi-friendly.
3336
e4d47d8d
RM
33372009-12-24 Robert Millan <rmh.grub@aybabtu.com>
3338
3339 For consistency with [multiboot]/docs/boot.S.
3340
3341 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
3342 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
3343 (MULTIBOOT_MAGIC2): Rename from this ...
3344 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
3345
a0b70bda
RM
33462009-12-24 Robert Millan <rmh.grub@aybabtu.com>
3347
3348 * include/multiboot.h: Remove `<grub/types.h>'.
3349 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
3350 types. Update all users.
3351
61ba42be 33522009-12-25 Carles Pina i Estany <carles@pina.cat>
3353
3354 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
3355 `couldn't' and `can not' by `cannot'.
3356 * commands/i386/pc/drivemap.c: Likewise.
3357 * disk/ata.c: Likewise.
3358 * disk/ieee1275/nand.c: Likewise.
3359 * fs/affs.c: Likewise.
3360 * fs/fat.c: Likewise.
3361 * fs/hfs.c: Likewise.
3362 * fs/hfsplus.c: Likewise.
3363 * fs/iso9660.c: Likewise.
3364 * fs/jfs.c: Likewise.
3365 * fs/minix.c: Likewise.
3366 * fs/reiserfs.c: Likewise.
3367 * fs/sfs.c: Likewise.
3368 * fs/udf.c: Likewise.
3369 * fs/ufs.c: Likewise.
3370 * fs/xfs.c: Likewise.
3371 * loader/powerpc/ieee1275/linux.c: Likewise.
3372 * loader/sparc64/ieee1275/linux.c: Likewise.
3373 * util/grub-probe.c: Likewise.
3374 * util/misc.c: Likewise.
3375
7fd0baee 33762009-12-24 Carles Pina i Estany <carles@pina.cat>
3377
3378 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
3379 grub_errno calls.
3380 * commands/acpi.c: Likewise.
3381 * commands/blocklist.c: Likewise.
3382 * commands/efi/loadbios.c: Likewise.
3383 * commands/i386/pc/drivemap.c: Likewise.
3384 * commands/loadenv.c: Likewise.
3385 * commands/memrw.c: Likewise.
3386 * commands/password.c: Likewise.
3387 * commands/videotest.c: Likewise.
3388 * disk/ata.c: Likewise.
3389 * disk/ata_pthru.c: Likewise.
3390 * disk/dmraid_nvidia.c: Likewise.
3391 * disk/ieee1275/nand.c: Likewise.
3392 * disk/ieee1275/ofdisk.c: Likewise.
3393 * disk/loopback.c: Likewise.
3394 * disk/lvm.c: Likewise.
3395 * disk/mdraid_linux.c: Likewise.
3396 * disk/raid.c: Likewise.
3397 * disk/raid6_recover.c: Likewise.
3398 * disk/scsi.c: Likewise.
3399 * efiemu/main.c: Likewise.
3400 * efiemu/mm.c: Likewise.
3401 * efiemu/pnvram.c: Likewise.
3402 * efiemu/symbols.c: Likewise.
3403 * font/font.c: Likewise.
3404 * fs/cpio.c: Likewise.
3405 * fs/hfsplus.c: Likewise.
3406 * fs/iso9660.c: Likewise.
3407 * fs/jfs.c: Likewise.
3408 * fs/minix.c: Likewise.
3409 * fs/ntfs.c: Likewise.
3410 * fs/ntfscomp.c: Likewise.
3411 * fs/reiserfs.c: Likewise.
3412 * fs/ufs.c: Likewise.
3413 * fs/xfs.c: Likewise.
3414 * gettext/gettext.c: Likewise.
3415 * include/grub/auth.h: Likewise.
3416 * kern/elf.c: Likewise.
3417 * kern/file.c: Likewise.
3418 * kern/ieee1275/init.c: Likewise.
3419 * kern/ieee1275/mmap.c: Likewise.
3420 * kern/ieee1275/openfw.c: Likewise.
3421 * kern/powerpc/dl.c: Likewise.
3422 * kern/sparc64/dl.c: Likewise.
3423 * lib/arg.c: Likewise.
3424 * loader/i386/bsd.c: Likewise.
3425 * loader/i386/bsdXX.c: Likewise.
3426 * loader/i386/efi/linux.c: Likewise.
3427 * loader/i386/efi/xnu.c: Likewise.
3428 * loader/i386/ieee1275/linux.c: Likewise.
3429 * loader/i386/linux.c: Likewise.
3430 * loader/i386/multiboot.c: Likewise.
3431 * loader/i386/pc/linux.c: Likewise.
3432 * loader/i386/pc/multiboot2.c: Likewise.
3433 * loader/i386/xnu.c: Likewise.
3434 * loader/ieee1275/multiboot2.c: Likewise.
3435 * loader/macho.c: Likewise.
3436 * loader/machoXX.c: Likewise.
3437 * loader/multiboot2.c: Likewise.
3438 * loader/multiboot_loader.c: Likewise.
3439 * loader/powerpc/ieee1275/linux.c: Likewise.
3440 * loader/sparc64/ieee1275/linux.c: Likewise.
3441 * loader/xnu.c: Likewise.
3442 * loader/xnu_resume.c: Likewise.
3443 * mmap/i386/pc/mmap.c: Likewise.
3444 * normal/menu_viewer.c: Likewise.
3445 * partmap/acorn.c: Likewise.
3446 * partmap/amiga.c: Likewise.
3447 * partmap/apple.c: Likewise.
3448 * script/lexer.c: Likewise.
3449 * term/gfxterm.c: Likewise.
3450 * term/i386/pc/serial.c: Likewise.
3451 * term/i386/pc/vga.c: Likewise.
3452 * term/ieee1275/ofconsole.c: Likewise.
3453 * term/terminfo.c: Likewise.
3454 * video/bitmap.c: Likewise.
3455 * video/efi_gop.c: Likewise.
3456 * video/efi_uga.c: Likewise.
3457 * video/fb/video_fb.c: Likewise.
3458 * video/i386/pc/vbe.c: Likewise.
3459 * video/readers/tga.c: Likewise.
3460 * video/video.c: Likewise.
3461
0ad46fd7 34622009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
3463
3464 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
3465 * commands/lspci.c: Likewise.
3466 * commands/probe.c: Likewise.
3467 * commands/xnu_uuid.c: Likewise.
3468 * conf/i386-coreboot.rmk: Likewise.
3469 * conf/i386-efi.rmk: Likewise.
3470 * conf/i386-ieee1275.rmk: Likewise.
3471 * conf/i386-pc.rmk: Likewise.
3472 * conf/powerpc-ieee1275.rmk: Likewise.
3473 * conf/sparc64-ieee1275.rmk: Likewise.
3474 * conf/x86_64-efi.rmk: Likewise.
3475 * fs/i386/pc/pxe.c: Likewise.
3476 * gettext/gettext.c: Likewise.
3477 * include/grub/efi/graphics_output.h: Likewise.
3478 * include/grub/i386/pc/memory.h: Likewise.
3479 * kern/env.c: Likewise.
3480 * kern/i386/qemu/startup.S: Likewise.
3481 * lib/i386/pc/biosnum.c: Likewise.
3482 * lib/i386/relocator.c: Likewise.
3483 * lib/i386/relocator_asm.S: Likewise.
3484 * lib/relocator.c: Likewise.
3485 * loader/i386/bsd.c: Likewise.
3486 * loader/i386/multiboot.c: Likewise.
3487 * loader/i386/pc/chainloader.c: Likewise.
3488 * loader/i386/xnu.c: Likewise.
3489 * loader/xnu.c: Likewise.
3490 * normal/main.c: Likewise.
3491 * normal/menu_text.c: Likewise.
3492 * util/getroot.c: Likewise.
3493 * util/grub-mkconfig_lib.in: Likewise.
3494 * util/grub.d/00_header.in: Likewise.
3495 * util/i386/pc/grub-mkimage.c: Likewise.
3496 * util/mkisofs/eltorito.c: Likewise.
3497 * util/mkisofs/exclude.h: Likewise.
3498 * util/mkisofs/hash.c: Likewise.
3499 * util/mkisofs/iso9660.h: Likewise.
3500 * util/mkisofs/joliet.c: Likewise.
3501 * util/mkisofs/mkisofs.c: Likewise.
3502 * util/mkisofs/mkisofs.h: Likewise.
3503 * util/mkisofs/multi.c: Likewise.
3504 * util/mkisofs/name.c: Likewise.
3505 * util/mkisofs/rock.c: Likewise.
3506 * util/mkisofs/tree.c: Likewise.
3507 * util/mkisofs/write.c: Likewise.
3508 * video/efi_gop.c: Likewise.
3509
009ec743
VS
35102009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
3511
3512 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
3513 size counting.
3514
0ad46fd7 35152009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
3516
3517 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
3518 * genmk.rb (class SCRIPT): Modify the target file instead of source.
3519
d3d30ea0
VS
35202009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
3521
3522 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
3523 (GRUB_MOD_INIT(memrw)): Update help line.
3524
a34f5c70
VS
35252009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
3526
3527 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
3528 Use grub_extcmd_t. All users updated.
3529 (options): New variable.
3530 (grub_cmd_read): Restructure for readability. Support "-v" option.
3531 (grub_cmd_write): Restructure for readability.
3532
0ad46fd7 35332009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
3534
3535 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
3536
0ad46fd7 35372009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
3538
3539 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
3540 with the actual contents of the correspondending make variable.
3541 * util/grub-mkrescue.in (pkglib_DATA): New variable.
3542 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
3543 specifying `*.lst' and `efiemu??.o'
3544
0ad46fd7 35452009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
3546
3547 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
3548 after function name.
3549 Noticed by Rene Engelhard <rene@debian.org>.
3550
dc77a799
VS
35512009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
3552
3553 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
3554 (options): New variable.
3555 (iospace): Likewise.
3556 (grub_lspci_iter): List IO spaces if "-i" was given.
3557 (grub_cmd_lspci): Parse options.
3558 (GRUB_MOD_INIT(lspci)): Use extcmd.
3559 (GRUB_MOD_FINI(lspci)): Likewise.
3560
0ad46fd7 35612009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
3562
3563 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
3564 `function' keyword.
3565 Patch by Tony Mancill <tmancill@debian.org>.
3566
b5d5993b
VS
35672009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
3568
3569 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
3570 (grub_uhci_portstatus): Likewise.
3571 (grub_uhci_portstatus): Add necessary delay.
11d18281 3572 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 3573
941903f2 35742009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 3575
941903f2 3576 * commands/acpi.c (options): Fix capitalizations and/or full stops.
3577 (GRUB_MOD_INIT): Likewise.
3578 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 3579 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
3580 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 3581 * commands/efi/loadbios.c (enable_rom_area): Likewise.
3582 (enable_rom_area): Likewise.
3583 (GRUB_MOD_INIT): Likewise.
3584 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
3585 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
3586 * commands/handler.c (GRUB_MOD_INIT): Likewise.
3587 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
3588 * commands/hexdump.c (options): Likewise.
3589 * commands/i386/cpuid.c (options): Likewise.
3590 (GRUB_MOD_INIT): Likewise.
3591 * commands/i386/pc/drivemap.c (options): Likewise.
3592 (GRUB_MOD_INIT): Likewise.
3593 * commands/i386/pc/halt (options): Likewise.
3594 (GRUB_MOD_INIT): Likewise.
3595 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
3596 * commands/i386/pc/pxecmd.c (options): Likewise.
3597 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
3598 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
3599 * commands/keystatus.c (options): Likewise.
3600 (GRUB_MOD_INIT): Likewise.
3601 * commands/loadenv.c (options): Likewise.
3602 * commands/ls.c (options): Likewise.
3603 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
3604 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
3605 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
3606 * commands/parttool.c (helpmsg): Likewise.
3607 * commands/probe.c (options): Likewise.
3608 * commands/read.c (GRUB_MOD_INIT): Likewise.
3609 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
3610 * commands/search.c (options): Likewise.
3611 * commands/sleep.c (options): Likewise.
3612 * commands/test.c (GRUB_MOD_INIT): Likewise.
3613 * commands/true.c (GRUB_MOD_INIT): Likewise.
3614 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
3615 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
3616 * lib/arg.c (help_options): Likewise.
e9bbb4e7 3617 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
3618 `$(XGETTEXT)'.
98a50553 3619 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 3620
0ad46fd7 36212009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 3622
ef3c2c3a 3623 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
3624 instead of specifying them explicit.
3625
7922f68b
RM
36262009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3627
3628 * NEWS: Add grub-probe support for GNU/Hurd.
3629
537ce47f
RM
36302009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3631
3632 * NEWS: gettext was added after 1.97.
3633
9b214e3a
RM
36342009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3635
3636 * util/mkisofs/msdos_partition.h: New file (based on
3637 include/grub/msdos_partition.h).
3638 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
3639 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
3640 (ld_options, main): Recognize --protective-msdos-label.
3641 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
3642 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
3643 (padblock_write): If `use_protective_msdos_label' is set, patch a
3644 protective DOS-style label in the output image.
3645
3646 * util/grub-mkrescue.in: Use --protective-msdos-label.
3647
e9309813
RM
36482009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3649
3650 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
3651 boot.
3652
0ae56929
RM
36532009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3654
3655 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
3656 variables.
3657 (ld_options, main): Recognize `--embedded-boot'.
3658 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
3659 declarations.
3660 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
3661 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
3662 (padblock_write): Likewise. Rewrite to support embedded boot image.
3663
3664 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
3665 for BIOS-based disk boot instead of only ElTorito.
3666
b15937b1
RM
36672009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3668
3669 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
3670 build (not needed for bootstrap).
3671
52cc3ce0
RM
36722009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3673
3674 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
3675 from i386-pc build (not needed for bootstrap).
3676 Rewrite a pair of strings.
3677
36f5ff04
RM
36782009-12-21 Robert Millan <rmh.grub@aybabtu.com>
3679
3680 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
3681
973c6c85 36822009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
3683
3684 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
3685
05d21547
AB
36862009-12-21 Andreas Born <futur.andy@googlemail.com>
3687
3688 * kern/env.c (grub_env_context_open): Mark exported variable for
3689 reexport.
3690
0175d51f
AB
36912009-12-21 Andreas Born <futur.andy@googlemail.com>
3692
3693 * kern/env.c (grub_env_export): Create nonexistent variables before
3694 exporting.
3695
7f39d92f 36962009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 3697
7f39d92f 3698 * include/grub/auth.h: Include `<grub/i18n.h>'.
3699 (GRUB_GET_PASSWORD): Gettextizze string.
3700 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
3701 menu_text.c.
3702 (grub_utf8_to_ucs4_alloc): Fix indentation.
3703 (grub_print_ucs4): Likewise.
3704 (grub_getstringwidth): Likewise.
3705 (print_message_indented): New declaration.
3706 * normal/auth.c: Include `<grub/i18n.h>'.
3707 (grub_auth_check_authentication): Gettexttize string.
3708 * normal/cmdline.c: Include `<grub/i18n.h>'.
3709 (grub_cmdline_get): Gettextizze.
3710 * normal/color.c: Include `<grub/i18n.h>'.
3711 (grub_parse_color_name_pair): Gettexttize strings.
3712 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
3713 string (use `print_message_indented').
3714 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
3715 `include/grub/normal.h'.
3716 (print_message_indented): Renamed to ...
3717 (grub_print_message_indented): ... this. Remove `static' qualifer (now
3718 used in normal/main.c).
3719 (print_message): Use `grub_print_message_indented' instead of
3720 `print_message_indented'.
3721 (print_timeout): Likewise.
3722 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
3723 (grub_normal_print_device_info): Gettexttize strings.
3724 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
3725
3041d898
VS
37262009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
3727
3728 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
3729 of arguments. Return number of tokens and not arguments. All users
3730 updated.
3731
de15bf8e
VS
37322009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
3733
3734 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
3735 non-MSDOS paritions.
3736
e0a6ca52
VS
37372009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
3738
3739 * include/grub/types.h (UNUSED): Removed since it conflicts with
3740 NetBSD headers. All users changed to direct __attribute__ ((unused)).
3741 Reported by Grégoire Sutre.
3742
b99518d1 37432009-12-19 Carles Pina i Estany <carles@pina.cat>
3744
3745 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
3746 (grub_print_ucs4_alloc): Likewise.
3747 (grub_getstringwidth): Likewise.
3748 * normal/main.c (grub_normal_init_page): Gettextize version string.
3749 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
3750 (getstringwidth): Renamed to ...
3751 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
3752 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
3753 (grub_print_ucs4): Remove `static' qualifer (now used in
3754 normal/main.c).
3755 * po/POTFILES: Add normal/main.c.
3756
bfd5e52b 37572009-12-19 Carles Pina i Estany <carles@pina.cat>
3758
3759 * normal/menu_text.c (STANDARD_MARGIN): New macro.
3760 (print_message_indented): Add `margin_left' and `margin_right'
3761 parameters.
3762 (print_message): Update `print_message_indented' calls. Adds '\n' to the
3763 strings.
3764 (print_timeout): Use `print_message_indented' to print the message.
3765 Deletes `second_stage' parameter.
3766 (run_menu): Update `print_timeout' calls.
3767
5a1ad2b9
VS
37682009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
3769
3770 Fix console palette on OpenFirmware.
3771
3772 * term/ieee1275/ofconsole.c (MAX): Removed.
3773 (colors): Redone based on VGA palette.
3774 (grub_ofconsole_setcolor): Discard brightness bit since only 8
3775 colors are supported.
3776 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
3777
b045f00a
VS
37782009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
3779
3780 Fix potential EfiEmu double prepare.
3781
3782 * efiemu/main.c (prepared): New variable
3783 (grub_efiemu_unload): Set prepare to '0'.
3784 (grub_efiemu_prepare): Return if already prepared. Set prepared.
3785
3786 set_virtual_address_map support.
3787
3788 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
3789 prototype.
3790 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
3791 prototype.
3792 (grub_efiemu_crc32): Likewise.
3793 (grub_efiemu_crc64): Likewise.
3794 (grub_efiemu_set_virtual_address_map): Likewise.
3795 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
3796 New definition.
3797 (grub_autoefi_set_virtual_address_map): Likewise.
3798 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
3799 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
3800 Restructure flow to accomodate it.
3801 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
3802 (grub_efiemu_crc): Recompute CRC32.
3803 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
3804 (efiemu_ptv_relocated): ... this. Made global. All users updated.
3805 * efiemu/symbols.c (relocated_handle): New variable.
3806 (grub_efiemu_free_syms): Free relocated_handle.
3807 (grub_efiemu_alloc_syms): Allocate relocated_handle.
3808 (grub_efiemu_write_sym_markers): New function.
3809 (grub_efiemu_set_virtual_address_map): Likewise.
3810
3811 Newer XNU parameters.
3812
3813 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
3814 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
3815 (grub_xnu_fill_devicetree): New prototype.
3816 (grub_xnu_heap_real_start): New variable.
3817 * loader/xnu.c (get_name_ptr): New function.
3818 (grub_xnu_load_driver): Fill namelen and name.
3819
3820 64-bit xnu support.
3821
3822 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
3823 and 'loader/macho64.c'.
3824 * conf/i386-pc.rmk: Likewise.
3825 * conf/x86_64-efi.rmk: Likewise.
3826 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
3827 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
3828 * include/grub/macho.h (grub_macho_segment64): New structure.
3829 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
3830 (grub_macho_size32): ... to this.
3831 (grub_macho32_get_entry_point): Renamed from ...
3832 (grub_macho_get_entry_point32): ... to this.
3833 (grub_macho_contains_macho64): New prototype.
3834 (grub_macho_size64): Likewise.
3835 (grub_macho_get_entry_point64): Likewise.
3836 (grub_macho32_load): Renamed from ...
3837 (grub_macho_load32): ... to this.
3838 (grub_macho32_filesize): Renamed from ...
3839 (grub_macho_filesize32): ... to this.
3840 (grub_macho32_readfile): Renamed from ...
3841 (grub_macho_readfile32): ... to this.
3842 (grub_macho_filesize64): New prototype.
3843 (grub_macho_readfile64): Likewise.
3844 (grub_macho_parse32): Likewise.
3845 (grub_macho_parse64): Likewise.
3846 * loader/macho.c: Split into ...
3847 * loader/machoXX.c: ... and this. Replace 32 with XX.
3848 * loader/macho32.c: New file.
3849 * loader/macho64.c: Likewise.
3850 * loader/xnu.c (grub_xnu_is_64bit): New variable.
3851 (grub_cmd_xnu_kernel): Make 32-bit only.
3852 (grub_cmd_xnu_kernel64): New function.
3853 (grub_xnu_load_driver): Support Mach-O 64.
3854 (grub_cmd_xnu_mkext): Likewise.
3855 * util/grub.d/30_os-prober.in (osx_entry): New function.
3856 Generate entries for 64-bit boot too.
3857
3858 Eliminate ad-hoc tree format in XNU and EfiEmu.
3859
3860 * efiemu/main.c (grub_efiemu_prepare): Update comment.
3861 * efiemu/pnvram.c: Rewritten to use environment variables.
3862 All users updated.
3863
3864 Inline utf16_to_utf8.
3865
3866 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
3867 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
3868 All users updated.
3869 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
3870
3871 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
3872 * commands/usbtest.c (grub_usb_get_string): ... move here.
3873 (usb_print_str): Fix error handling.
3874 * include/grub/usb.h (grub_usb_get_string): Remove.
3875
3876 UTF-8 to UTF-16 transformation.
3877
3878 * conf/common.rmk (pkglib_MODULES): Add charset.mod
3879 (charset_mod_SOURCES): New variable.
3880 (charset_mod_CFLAGS): Likewise.
3881 (charset_mod_LDFLAGS): Likewise.
3882 * include/grub/utf.h: New file.
3883 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
3884
3885 Support for device properties.
3886
3887 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
3888 (grub_xnu_devprop_device_header): Likewise.
3889 (grub_xnu_devprop_device_descriptor): Likewise.
3890 (grub_xnu_devprop_add_device): New prototype.
3891 (grub_xnu_devprop_remove_device): Likewise.
3892 (grub_xnu_devprop_remove_property): Likewise.
3893 (grub_xnu_devprop_add_property_utf8): Likewise.
3894 (grub_xnu_devprop_add_property_utf16): Likewise.
3895 (grub_cpu_xnu_init): Likewise.
3896 (grub_cpu_xnu_fini): Likewise.
3897 (grub_cpu_xnu_unload): Likewise.
3898 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
3899 (property_descriptor): Likewise.
3900 (devices): New variable.
3901 (grub_xnu_devprop_remove_property): New function.
3902 (grub_xnu_devprop_add_device): Likewise.
3903 (grub_xnu_devprop_remove_device): Likewise.
3904 (grub_xnu_devprop_add_property): Likewise.
3905 (grub_xnu_devprop_add_property_utf8): Likewise.
3906 (grub_xnu_devprop_add_property_utf16): Likewise.
3907 (hextoval): Likewise.
3908 (grub_cpu_xnu_fill_devprop): Likewise.
3909 (grub_cmd_devprop_load): Likewise.
3910 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
3911 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
3912 (cmd_devprop_load): New variable.
3913 (grub_cpu_xnu_init): New function.
3914 (grub_cpu_xnu_fini): Likewise.
3915 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
3916 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
3917 (grub_cmd_xnu_devtree): Likewise.
3918 (hextoval): New function.
3919 (unescape): Likewise.
3920 (grub_xnu_fill_devicetree): Likewise.
3921
3922 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
3923 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
3924
0945f181
VS
39252009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
3926
3927 Workaround for broken ATI VBE.
3928
3929 * video/i386/pc/vbe.c (last_set_mode): New variable.
3930 (grub_vbe_set_video_mode): Set 'last_set_mode'.
3931 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
3932 (grub_video_vbe_setup): Don't check for reserved flag.
3933
0ad46fd7 39342009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
3935
3936 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
3937 the `find' command.
3938
c179ebe4
VS
39392009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
3940
3941 UUID support for HFS.
3942
3943 * fs/hfs.c (grub_hfs_uuid): New function.
3944 (grub_hfs_fs): New value .uuid.
3945 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
3946
0ad46fd7 39472009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
3948
3949 Fix a segfault with parsing unknown long options.
3950
3951 * util/grub-mkrelpath.c (options): Zero terminate it.
3952
c4a3e41a
CPE
39532009-12-13 Carles Pina i Estany <carles@pina.cat>
3954
3955 * include/grub/misc.h (grub_puts): New declaration.
3956 (grub_puts_): Likewise.
a22008a6 3957 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
3958 (grub_puts_): Likewise.
3959
2e8a7602
RM
39602009-12-13 Robert Millan <rmh.grub@aybabtu.com>
3961
3962 * util/grub-probe.c (probe): Improve error message.
3963
b50b77b9
RM
39642009-12-13 Robert Millan <rmh.grub@aybabtu.com>
3965
3966 * loader/i386/multiboot_elfxx.c
3967 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
3968 initialization.
3969
39702009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
3971
3972 Relocator framework
3973
3974 * loader/i386/xnu_helper.S: Removed. All users updated.
3975 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
3976 (relocator_mod_SOURCES): New variable.
3977 (relocator_mod_CFLAGS): Likewise.
3978 (relocator_mod_LDFLAGS): Likewise.
3979 (relocator_mod_ASFLAGS): Likewise.
3980 * conf/x86_64.rmk: Likewise.
3981 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
3982 (grub_multiboot_payload_entry_offset): Likewise.
3983 (grub_multiboot_forward_relocator): Likewise.
3984 (grub_multiboot_forward_relocator_end): Likewise.
3985 (grub_multiboot_backward_relocator): Likewise.
3986 (grub_multiboot_backward_relocator_end): Likewise.
3987 (grub_multiboot_payload_eip): New variable.
3988 (grub_multiboot_payload_orig): Likewise.
3989 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
3990 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
3991 * include/grub/i386/memory.h
3992 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
3993 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
3994 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
3995 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
3996 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
3997 * include/grub/i386/relocator.h: New file.
3998 * include/grub/x86_64/relocator.h: Likewise.
3999 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
4000 (XNU_RELOCATOR): New macro.
4001 (grub_xnu_launcher_start): Remove.
4002 (grub_xnu_launcher_end): Likewise.
4003 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
4004 (grub_xnu_heap_real_start): Remove.
4005 (grub_xnu_heap_start): Change to void *. All users updated.
4006 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
4007 * lib/i386/relocator.c: New file.
4008 * lib/i386/relocator_asm.S: Likewise.
4009 * lib/i386/relocator_backward.S: Likewise.
4010 * lib/mips/relocator.c: Likewise.
4011 * lib/mips/relocator_asm.S: Likewise.
4012 * lib/relocator.c: Likewise.
4013 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
4014 (entry): Removed.
4015 (playground): Likewise.
4016 (grub_multiboot_payload_orig): New variable.
4017 (grub_multiboot_payload_dest): Likewise.
4018 (grub_multiboot_payload_size): Likewise.
4019 (grub_multiboot_payload_eip): Likewise.
4020 (grub_multiboot_payload_esp): Likewise.
4021 (grub_multiboot_boot): Use grub_relocator32_boot.
4022 (grub_multiboot_unload): Free relocators.
4023 (grub_multiboot): Setup stack. Use relocators.
4024 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
4025 (grub_multiboot_load_elfXX): Use relocators.
4026 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
4027 (grub_multiboot_payload_size): Likewise.
4028 (grub_multiboot_payload_dest): Likewise.
4029 (grub_multiboot_payload_entry_offset): Likewise.
4030 (grub_multiboot_forward_relocator): Likewise.
4031 (grub_multiboot_backward_relocator): Likewise.
4032 (grub_multiboot_real_boot): Likewise.
4033 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
4034 (grub_xnu_entry_point): Likewise.
4035 (grub_xnu_arg1): Likewise.
4036 (grub_xnu_stack): Likewise.
4037 (grub_xnu_launch): Removed.
4038 (grub_xnu_boot_resume): New function.
4039 (grub_xnu_boot): Use relocators.
4040 * loader/i386/xnu_helper.S: Removed.
4041 * loader/xnu.c (grub_xnu_heap_start): New variable.
4042 (grub_xnu_heap_size): Likewise.
4043 (grub_xnu_heap_malloc): Use relocators.
4044 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
4045
29eb90c6
VS
40462009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4047
4048 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
4049 anything.
4050
31027430
CPE
40512009-12-13 Carles Pina i Estany <carles@pina.cat>
4052
4053 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
4054 GRUB_ERR_NONE before calling grub_env_set.
4055
dc0c71d9
RM
40562009-12-12 Robert Millan <rmh@aybabtu.com>
4057
4058 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
4059 * genmk.rb (video): New variable.
4060 (CLEANFILES, VIDEOFILES): Add #{video}.
4061 (#{video}): New target rule.
4062 * genvideolist.sh: New file.
4063 * Makefile.in (pkglib_DATA): Add video.lst.
4064 (video.lst): New target rule.
4065 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
4066 `video.lst'.
4067 * util/grub.d/30_os-prober.in: Replace `vbe' with
4068 ${GRUB_VIDEO_BACKEND}.
4069
2a4bfcf0
RM
40702009-12-11 Robert Millan <rmh.grub@aybabtu.com>
4071
4072 * THANKS: Add David Miller.
4073
2a3aa4d5
RM
40742009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
4075
4076 libpciaccess support.
4077
4078 * Makefile.in (LIBPCIACCESS): New variable.
4079 (enable_grub_emu_pci): Likewise.
4080 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
4081 util/pci.c and commands/lspci.c.
4082 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
4083 * configure.ac (grub-emu-pci): New option.
4084 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
4085 (grub_pci_device_unmap_range): Likewise.
4086 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
4087 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
4088 (grub_pci_address_t) [!GRUB_UTIL]: New type.
4089 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
4090 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
4091 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
4092 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
4093 * include/grub/pciutils.h: New file.
4094 * util/pci.c: Likewise.
4095
0ad46fd7 40962009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
4097
4098 * util/misc.c: Don't include <errno.h> twice.
4099
0ad46fd7 41002009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
4101
4102 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
4103 name in an error message.
4104 (grub_biosdisk_rw): Likewise.
4105
2e59983c
VS
41062009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4107
4108 Eliminate NTFS 4Gib barrier.
4109
4110 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
4111 (read_run_data): Likewise.
4112 (grub_ntfs_read_run_list): Likewise.
4113 (grub_ntfs_read_block): Likewise.
4114 (grub_ntfs_iterate_dir): Likewise.
4115 (read_mft): Likewise.
4116 (read_data): Likewise.
4117 Use COM_LOG_LEN.
4118 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
4119 to avoid 64-bit division
4120 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
4121 (grub_ntfs_rlst): Use grub_disk_addr_t.
4122
71ee178a
VS
41232009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4124
4125 Eliminate grub-fstest 4Gib barrier.
4126
4127 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
4128 (read_file): Fix error reporting.
4129
2520d4b8
VS
41302009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4131
4132 Eliminate hexdump 4Gib barrier.
4133
4134 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
4135 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
4136
e1f27065
VS
41372009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4138
4139 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
4140 Fixes amarsh bug.
4141
1a0f7f45
RM
41422009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
4143
4144 Remove miscellaneous files in distclean target.
4145
4146 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
4147
c631d9fb
CW
41482009-12-09 Colin Watson <cjwatson@ubuntu.com>
4149
4150 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
4151 if they're already set. This resolves the conflict between my
4152 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
4153 fixing the --grub-probe option again.
4154 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
4155 change on 2009-10-06, so that we now once again source
4156 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
4157
7c7b6106
RM
41582009-12-08 Robert Millan <rmh.grub@aybabtu.com>
4159
4160 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
4161 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
4162 `util/devicemap.c'.
4163
e3069ec1
CPE
41642009-12-08 Carles Pina i Estany <carles@pina.cat>
4165
4166 * include/grub/misc.h (grub_printf_): New declaration.
4167 * kern/misc.c (grub_printf_): New definition.
4168 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
4169 instead of `grub_printf' and `_'.
4170 * normal/menu_entry.c (store_completion): Likewise.
4171 (run): Likewise.
4172 (grub_menu_entry_run): Likewise.
4173 * normal/menu_text.c (grub_wait_after_message): Likewise.
4174 (notify_booting): Likewise.
4175 (notify_fallback): Likewise.
4176 (notify_execution_failure): Likewise.
4177
d6ceebf1
CW
41782009-12-07 Colin Watson <cjwatson@ubuntu.com>
4179
4180 * configure.ac: Check for vasprintf.
4181 * util/misc.c (asprintf): Move allocation from here ...
4182 (vasprintf): ... to here. New function.
4183 (xasprintf): New function.
4184 * include/grub/util/misc.h (vasprintf, xasprintf): Add
4185 prototypes.
4186 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
4187 * util/grub-mkfont.c (write_font): Likewise.
4188 * util/grub-probe.c (probe): Likewise.
4189 * util/hostdisk.c (make_device_name): Likewise.
4190
de6daa8b
DM
41912009-12-06 David S. Miller <davem@sunset.davemloft.net>
4192
4193 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
4194 anything even prefixed with 'cdrom' as a cdrom.
4195
0ad46fd7 41962009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
4197
4198 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
4199 mount points.
4200
98d3dc02
CPE
42012009-12-05 Carles Pina i Estany <carles@pina.cat>
4202
4203 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
4204 grub_gettext_msg_list.
4205 (grub_gettext_gettranslation_from_position): Return const char *
4206 and not char *.
a2c1332b 4207 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
4208 returns from the list if existing there.
4209 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
4210 (grub_gettext_delete_list): Delete the list.
4211 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
4212 lang environment variable is changed.
4213 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
4214
b283f108
VS
42152009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
4216
4217 Rename kernel.mod to kernel.img.
4218
4219 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
4220 (kernel_mod_EXPORTS): Rename to ...
4221 (kernel_img_EXPORTS): ... this.
4222 (kernel_mod_SOURCES): Rename to ...
4223 (kernel_img_SOURCES): ... this.
4224 (kernel_mod_HEADERS): Rename to ...
4225 (kernel_img_HEADERS): ... this. All users updated.
4226 (kernel_mod_CFLAGS): Rename to ...
4227 (kernel_img_CFLAGS): ... this.
4228 (kernel_mod_ASFLAGS): Rename to ...
4229 (kernel_img_ASFLAGS): ... this.
4230 (kernel_mod_LDFLAGS): Rename to ...
4231 (kernel_img_LDFLAGS): ... this.
4232 * conf/x86_64-efi.rmk: Likewise.
4233 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
4234 (read_kernel_image): ... this. All users updated.
4235 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
4236
69055f8a
CPE
42372009-12-05 Carles Pina i Estany <carles@pina.cat>
4238
4239 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
4240 (print_spaces): New function.
4241 (grub_print_ucs4): New function.
4242 (getstringwidth): New function.
4243 (print_message_indented): New function.
4244 (print_message): Gettexttize strings using print_message_indented.
4245 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
4246 width.
4247 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 4248 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
4249 Gettextize.
4250 * normal/menu_entry.c (store_completion): Cleanup the gettextized
4251 string.
4252 (run): Likewise.
4253 (grub_menu_entry_run): Likewise.
4254 * PO/POTFILES: Add normal/menu_entry.c.
4255
f616f51c
VS
42562009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
4257
4258 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
4259
57bbe3be
CPE
42602009-12-05 Carles Pina i Estany <carles@pina.cat>
4261
4262 * util/grub-install.in: Install gettext .mo files.
4263 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
4264
013d67a1
CPE
42652009-12-05 Carles Pina i Estany <carles@pina.cat>
4266
4267 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
4268 grub_dprintf.
4269
fb954db0
RM
42702009-12-05 Robert Millan <rmh.grub@aybabtu.com>
4271
4272 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
4273 non-firmware-dependant one in realmode.S takes precedence.
4274
6b8474f8
RM
42752009-12-04 Robert Millan <rmh.grub@aybabtu.com>
4276
4277 * commands/halt.c: Replace misc arch-specific headers with
4278 `<grub/misc.h>'.
4279 * commands/reboot.c: Likewise.
4280 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
4281 `<grub/misc.h>'.
4282 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
4283 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
4284 (kernel_img_SOURCES): ... to here.
4285
4286 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
4287 * include/grub/i386/pc/init.h: Likewise.
4288 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
4289 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
4290
4291 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
4292
4293 * include/grub/i386/halt.h: Remove.
4294 * include/grub/i386/reboot.h: Likewise.
4295
4296 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
4297
4b2e6ca2
DM
42982009-12-03 David S. Miller <davem@sunset.davemloft.net>
4299
4300 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
4301 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
4302 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
4303 "progname.h"
4304 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
4305 * util/sparc64/ieee1275/grub-setup.c: Likewise.
4306 (usage): Add missing comma in printf.
4307
5239348f
RM
43082009-12-02 Robert Millan <rmh.grub@aybabtu.com>
4309
4310 Use the same reboot approach on i386 coreboot and qemu as we do on
4311 BIOS.
4312
4313 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
4314 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
4315 * kern/i386/reboot.c: Remove.
4316 * include/grub/i386/reboot.h (grub_reboot): Export function.
4317 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
4318 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
4319 0xf000:0xfff0 instead of 0xffff:0x0000.
4320 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
4321 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
4322
ef34cbd4
RM
43232009-11-30 Robert Millan <rmh.grub@aybabtu.com>
4324
4325 Fix $srcdir != $objdir build.
4326
4327 * Makefile.in (po/%.po): Rewrite as ...
4328 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
4329
dc9837ea
ST
43302009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
4331
4332 Fix GNU/Hurd grub-install crash.
4333 * util/grub-probe.c (probe): Try to access `path' only when it is not
4334 NULL.
4335
2f857f98
VS
43362009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
4337
4338 Correct module naming.
4339
4340 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
4341 (GRUB_MOD_INIT(efi_uga)): ... to this
4342 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
4343 (GRUB_MOD_FINI(efi_uga)): ... to this
4344 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
4345 (GRUB_MOD_INIT(efi_gop)): ... to this
4346 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
4347 (GRUB_MOD_FINI(efi_gop)): ... to this
4348
c5448046
RM
43492009-11-28 Robert Millan <rmh.grub@aybabtu.com>
4350
4351 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
4352 translatable.
4353 (usage): Translate `arg' strings using gettext().
4354 Thanks to Jordi Mallach for the suggestion.
4355
c85184ad
VS
43562009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
4357
4358 GOP support. Based on patch from Bean
4359 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
4360
4361 * video/efi_gop.c: New file.
4362 * include/grub/efi/graphics_output.h: Likewise.
4363 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
4364 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
4365 variables.
4366 * conf/x86_64-efi.rmk: Likewise.
4367
8a4c48d8
VS
43682009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
4369
4370 Rename efi_fb to efi_uga.
4371
4372 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
4373 'efi_uga.mod'.
4374 (efi_fb_mod_SOURCES): Rename this ...
4375 (efi_uga_mod_SOURCES): ... to this.
4376 (efi_fb_mod_CFLAGS): Rename this ...
4377 (efi_uga_mod_CFLAGS): ... to this.
4378 (efi_fb_mod_LDFLAGS): Rename this ...
4379 (efi_uga_mod_LDFLAGS): ... to this.
4380 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
4381 'efi_uga.mod'.
4382 (efi_fb_mod_SOURCES): Rename this ...
4383 (efi_uga_mod_SOURCES): ... to this.
4384 (efi_fb_mod_CFLAGS): Rename this ...
4385 (efi_uga_mod_CFLAGS): ... to this.
4386 (efi_fb_mod_LDFLAGS): Rename this ...
4387 (efi_uga_mod_LDFLAGS): ... to this.
4388 * video/efi_fb.c: Move this ...
4389 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
4390
fb6c1a7b
RM
43912009-11-27 Robert Millan <rmh.grub@aybabtu.com>
4392
4393 * po/README: New file. Explain our PO file workflow.
4394
3bc7896c
RM
43952009-11-27 Robert Millan <rmh.grub@aybabtu.com>
4396
4397 * po/ChangeLog: Remove. Move relevant entries back to ...
4398 * ChangeLog: ... here.
4399 * po/ca.po: Remove (now handled by TLP).
4400 * po/id.po: Likewise.
4401 * po/zh_CN.po: Likewise.
4402 * Makefile.in (LINGUAS): Initialize in a way that supports
4403 empty set.
4404
9ed4841d
RM
44052009-11-27 Robert Millan <rmh.grub@aybabtu.com>
4406
4407 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
4408 reliing on po/LINGUAS.
4409 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
4410 (po/%.po): ... this.
4411
0ad46fd7 44122009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
4413
4414 * util/i386/efi/grub-mkimage.c: Include "progname.h".
4415 (main): Use `program_name' instead of nonexistent `progname'.
4416
e30dd392
FZ
44172009-11-26 Felix Zielcke <fzielcke@z-51.de>
4418
4419 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
4420 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
4421
7656de4f
RM
44222009-11-26 Robert Millan <rmh.grub@aybabtu.com>
4423
4424 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
4425 commit.
4426 * conf/i386-efi.rmk: Likewise.
4427 * conf/i386-ieee1275.rmk: Likewise.
4428 * conf/powerpc-ieee1275.rmk: Likewise.
4429 * conf/sparc64-ieee1275.rmk: Likewise.
4430 * conf/x86_64-efi.rmk: Likewise.
4431
db77c4d4
FZ
44322009-11-26 Felix Zielcke <fzielcke@z-51.de>
4433
4434 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
4435
a755bb04
FZ
44362009-11-26 Felix Zielcke <fzielcke@z-51.de>
4437
4438 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
4439
8a4c07fd
RM
44402009-11-26 Robert Millan <rmh.grub@aybabtu.com>
4441
4442 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
4443 (grub_mkdevicemap_SOURCES): New variable.
4444 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
4445 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
4446 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
4447 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
4448 (grub_mkdevicemap_SOURCES): Remove.
4449 * conf/i386-efi.rmk: Likewise.
4450 * conf/i386-ieee1275.rmk: Likewise.
4451 * conf/i386-pc.rmk: Likewise.
4452 * conf/powerpc-ieee1275.rmk: Likewise.
4453 * conf/sparc64-ieee1275.rmk: Likewise.
4454 * conf/x86_64-efi.rmk: Likewise.
4455 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
4456 (usage): Fix strings to use `program_name'.
4457 (main): Initialize gettext.
4458 * util/grub-editenv.c: Likewise.
4459 * util/grub-emu.c: Likewise.
4460 * util/grub-fstest.c: Likewise.
4461 * util/grub-mkdevicemap.c: Likewise.
4462 * util/grub-mkfont.c: Likewise.
4463 * util/grub-mkrelpath.c: Likewise.
4464 * util/grub-pe2elf.c: Likewise.
4465 * util/grub-probe.c: Likewise.
4466 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
4467 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
4468 * util/sparc64/ieee1275/grub-setup.c: Likewise.
4469
4470 * util/misc.c: Include `"progname.h"'.
4471 (progname): Remove variable.
4472 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
4473
6f61ed55
FZ
44742009-11-25 Felix Zielcke <fzielcke@z-51.de>
4475
4476 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
4477 printf and print a newline after the menuentry header line.
4478 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
4479
f022876b
FZ
44802009-11-25 Felix Zielcke <fzielcke@z-51.de>
4481
4482 autoconf >= 2.60 support $(localedir).
4483
4484 * INSTALL: Note that autoconf 2.60 is required.
4485 * configure.ac (AC_PREREQ): Bump to 2.60.
4486 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
4487 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
4488
6717926e
YB
44892009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
4490
4491 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
4492 aclocal is run.
4493
08806a54
RM
44942009-11-25 Robert Millan <rmh.grub@aybabtu.com>
4495
4496 * normal/main.c (grub_normal_read_line): Fix off-by-one
4497 buffer overflow.
4498
13b33fba
RM
44992009-11-25 Robert Millan <rmh.grub@aybabtu.com>
4500
4501 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
4502 "parser.grub" in grub_command_execute() call.
4503
4a8572e9
CPE
45042009-11-24 Carles Pina i Estany <carles@pina.cat>
4505
4506 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
4507 * conf/i386-efi.rmk: Likewise.
4508 * conf/i386-ieee1275.rmk: Likewise.
4509 * conf/i386-pc.rmk: Likewise.
4510 * conf/powerpc-ieee1275.rmk: Likewise.
4511 * conf/sparc64-ieee1275.rmk: Likewise.
4512 * conf/x86_64-efi.rmk: Likewise.
4513 * gettext/gettex.c: Include <grub/i18n.h>.
4514 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
4515 here ...
4516 * include/grub/i18n.h: ... to here
4517 * include/grub/i18n.h: ... to here.
4518 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 4519 (grub_gettext_dummy): Move above user.
4a8572e9 4520
bee48093
FZ
45212009-11-24 Felix Zielcke <fzielcke@z-51.de>
4522
4523 * util/Makefile.in (install-local): Convert a `for' into a normal
4524 shell expansion.
4525
a031e91c
RM
45262009-11-24 Robert Millan <rmh.grub@aybabtu.com>
4527
4528 * autogen.sh: Add automake call.
4529 * config.guess: Remove.
4530 * config.sub: Likewise.
4531 * install-sh: Likewise.
4532
26bec39d
FZ
45332009-11-24 Felix Zielcke <fzielcke@z-51.de>
4534
4535 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
4536
8e2532fd
FZ
45372009-11-24 Felix Zielcke <fzielcke@z-51.de>
4538
4539 * util/Makefile.in (install-local): Convert a make `$(foreach)'
4540 function to a normal shell `for'.
4541
fefa1b7d
FZ
45422009-11-24 Felix Zielcke <fzielcke@z-51.de>
4543
4544 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
4545
4501250b
FZ
45462009-11-24 Felix Zielcke <fzielcke@z-51.de>
4547
4548 * util/grub-mkrelpath.c: New file.
4549 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
4550 (grub_mkrelpath_SOURCES): New variable.
4551 * include/grub/util/misc.h: New function prototype.
4552 * util/misc.c (make_system_path_relative_to_its_root): New function.
4553
4554 * util/grub-mkconfig_lib.in (bindir): New variable.
4555 (grub_mkrelpath): Likewise.
4556 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
4557
4558 * util/probe.c (probe): Make the file path relative to its root.
4559 Change a info message to use the GRUB path. Enable again the
4560 check if we can read the file with GRUB facilities.
4561
4562 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
4563 to its root.
4564
11d9778b
FZ
45652009-11-24 Felix Zielcke <fzielcke@z-51.de>
4566
4567 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
4568 platform.
4569
4465287d
FZ
45702009-11-24 Felix Zielcke <fzielcke@z-51.de>
4571
4572 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
4573 strncmp().
4574
62b47f22
FZ
45752009-11-24 Felix Zielcke <fzielcke@z-51.de>
4576
4577 * util/getroot.c (grub_util_is_dmraid): New function.
4578 (grub_util_get_dev_abstraction): Treat dmraid and multipath
4579 devices as normal ones, not as LVM.
4580
1eafb9b9 45812009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
4582
4583 * conf/common.rmk: Add grub-gettext_lib target and updates
4584 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
4585 LDFLAGS.
4586 * gettext/gettext.c: New file. (Reads mo files).
4587 * include/grub/file.h (grub_file_pread): New prototype.
4588 * include/grub/i18n.h (_): New prototype.
4589 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
4590 prototypes.
4591 * kern/misc.c (grub_gettext_dummy): New function.
4592 * normal/menu_text.c: Include <grub/i18n.h>.
4593 * normal/menu_text.c (print_timeout): Gettexttize string.
4594 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
4595 * po/POTFILES: Add `normal/menu_text.c'.
4596 * po/ca.po: Add new translations.
c3ea6bd4
CPE
4597 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
4598 gettext module and defines locale_dir and lang in grub.cfg.
4599 * NEWS: Add gettext support.
4600
0fdb2568
RM
46012009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4602
4603 * util/hostdisk.c: Include `<grub/i18n.h>'.
4604 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
4605 (make_device_name): Rewrite using asprintf.
4606 (convert_system_partition_to_system_disk): Replace 0 with NULL.
4607 (find_system_device): If a device is not found, generate one just
4608 by reusing the OS path name.
4609 (read_device_map): Make it permissible for device.map not to exist.
4610
f515aa62
RM
46112009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4612
4613 * script/sh/execute.c: Move from here ...
4614 * script/execute.c: ... to here. Update all users.
4615 * script/sh/function.c: Move from here ...
4616 * script/function.c: ... to here. Update all users.
4617 * script/sh/lexer.c: Move from here ...
4618 * script/lexer.c: ... to here. Update all users.
4619 * script/sh/main.c: Move from here ...
4620 * script/main.c: ... to here. Update all users.
4621 * script/sh/parser.y: Move from here ...
4622 * script/parser.y: ... to here. Update all users.
4623 * script/sh/script.c: Move from here ...
4624 * script/script.c: ... to here. Update all users.
4625
f84b481b
RM
46262009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4627
4628 * configure.ac: Detect all `emu' platforms. Define
4629 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
4630 --enable-grub-emu logic. Disable include/grub/machine
4631 symlink on `emu' platforms.
4632
4633 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
4634 * gensymlist.sh.in: Likewise.
4635
4636 * include/grub/i386/coreboot/machine.h: Remove file.
4637 * include/grub/i386/efi/machine.h: Likewise.
4638 * include/grub/i386/ieee1275/machine.h: Likewise.
4639 * include/grub/i386/pc/machine.h: Likewise.
4640 * include/grub/i386/qemu/machine.h: Likewise.
4641 * include/grub/powerpc/ieee1275/machine.h: Likewise.
4642 * include/grub/sparc64/ieee1275/machine.h: Likewise.
4643 * include/grub/x86_64/efi/machine.h: Likewise.
4644
4645 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
4646 * commands/halt.c: Likewise.
4647 * commands/reboot.c: Likewise.
4648 * include/grub/autoefi.h: Likewise.
4649 * include/grub/i386/at_keyboard.h: Likewise.
4650 * include/grub/i386/kernel.h: Likewise.
4651 * include/grub/i386/loader.h: Likewise.
4652 * include/grub/i386/pc/memory.h: Likewise.
4653 * kern/dl.c: Likewise.
4654 * kern/i386/coreboot/init.c: Likewise.
4655 * loader/i386/bsd.c: Likewise.
4656 * loader/i386/linux.c: Likewise.
4657 * loader/multiboot_loader.c: Likewise.
4658 * term/i386/pc/serial.c: Likewise.
4659 * term/usb_keyboard.c: Likewise.
4660
4661 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
4662 `<grub/machine/machine.h>'
4663 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
4664 * util/misc.c: Remove `<grub/machine/machine.h>' and
4665 `<grub/machine/time.h>'.
4666
4667 * Makefile.in (enable_grub_emu): Remove variable.
4668 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
4669
4670 * conf/any-emu.rmk: New file.
4671 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
4672 (grub_emu_init.c): Move from here ...
4673 * conf/any-emu.rmk: ... to here.
4674
4675 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
4676 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
4677 * conf/any-emu.rmk: ... to here.
4678
4efeab03
RM
46792009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4680
4681 * include/grub/parser.h (grub_parser_register): Document need
4682 of `name' parameter.
4683 * normal/main.c (grub_normal_read_line): Simplify prompt string.
4684 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
4685 "sh" to "grub".
4686
ea1dd8bf
RM
46872009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4688
4689 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
4690 `$(XGETTEXT)'.
4691 * include/grub/i18n.h (N_): New macro.
4692 * util/mkisofs/mkisofs.h: Likewise.
4693 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
4694 around N_().
4695 (usage): Use gettext() to translate help strings when printing them.
4696
0c140626
RM
46972009-11-23 Robert Millan <rmh.grub@aybabtu.com>
4698
4699 Based on patch from Bean
4700 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
4701
4702 * video/efi_fb.c: New file.
4703 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
4704 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
4705 variables.
4706 * conf/x86_64-efi.rmk: Likewise.
4707
87d58298
RM
47082009-11-22 Robert Millan <rmh.grub@aybabtu.com>
4709
4710 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
4711 * util/i386/pc/grub-setup.c: Likewise.
4712
994cc3a3
ST
47132009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
4714
4715 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
4716 <hurd/fs.h>
4717 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
4718 file_get_storage_info to implement grub_guess_root_device.
4719
26a61d6a
FZ
47202009-11-21 Felix Zielcke <fzielcke@z-51.de>
4721
4722 * Makefile.in (target): Use make's builtin $(shell) function
4723 instead of calling directly $(SHELL) to create the locale directories,
4724 inside the $(foreach) function.
4725
74ff1dd5
FZ
47262009-11-21 Felix Zielcke <fzielcke@z-51.de>
4727
4728 * util/grub-mkrescue.in: Print an error and usage if output option
4729 has not been given.
4730
0b787d0e
FZ
47312009-11-21 Felix Zielcke <fzielcke@z-51.de>
4732
4733 Patch from LoĂ¯c Minier <loic.minier@ubuntu.com>.
4734 * util/grub.d/30_os-prober.in: Cope with Linux entries where
4735 root and /boot are on different devices.
4736
1164b270
RM
47372009-11-21 Robert Millan <rmh.grub@aybabtu.com>
4738
4739 Fix build for srcdir != objdir.
4740
4741 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
4742 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
4743 $(srcdir).
4744 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
4745 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
4746 reference for input.
4747
13774a2f
RM
47482009-11-21 Robert Millan <rmh.grub@aybabtu.com>
4749
4750 * util/grub-mkrescue.in: Use source directory direcly (without copiing
4751 or hardlinking it). Remove -J option, Joliet is not compatible with
4752 multiple source directories.
4753
efda854e
RM
47542009-11-21 Carles Pina i Estany <carles@pina.cat>
47552009-11-21 Robert Millan <rmh.grub@aybabtu.com>
4756
4757 * util/grub-mkrescue.in: Recognize `--override-directory' option.
4758 (process_input_dir): New function. Process an arbitrary input
4759 directory.
4760 Misc adjustments to support both "override mode" and system-wide mode.
4761
6c09890c
FZ
47622009-11-20 Felix Zielcke <fzielcke@z-51.de>
4763
4764 * configure.ac (UNIFONT_BDF): Rename to ...
4765 (FONT_SOURCE): ... this. Update all users.
4766
a797824f
FZ
47672009-11-20 Felix Zielcke <fzielcke@z-51.de>
4768
4769 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
4770 to the list of unifont files to look for.
4771
cd4f42b0
RM
47722009-11-19 Robert Millan <rmh.grub@aybabtu.com>
4773
4774 Patch from Joe Auricchio <jauricchio@gmail.com>
4775 * commands/minicmd.c (grub_mini_cmd_clear): New function.
4776 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
4777 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
4778
393c783d
FZ
47792009-11-19 Felix Zielcke <fzielcke@z-51.de>
4780
4781 * Makefile.in (install-local): Add a missing backslash.
4782
b2f1e327
FZ
47832009-11-19 Felix Zielcke <fzielcke@z-51.de>
4784
4785 * include/grub/x86_64/io.h: New file.
4786
f577f7a0
RM
47872009-11-19 Robert Millan <rmh.grub@aybabtu.com>
4788
4789 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
4790 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
4791 Include `"progname.h"'.
4792 (main): Initialize gettext.
4793 * util/i386/pc/grub-setup.c: Gettexttize.
4794 * util/i386/pc/grub-mkimage.c: Likewise.
4795
4796 * Makefile.in (po/*.po): Redefine as ...
4797 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
4798
3bc7896c
RM
4799 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
4800
c37943b6
RM
48012009-11-19 Robert Millan <rmh.grub@aybabtu.com>
4802
4803 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
4804 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
4805 (program_name): Remove.
4806 (main): Initialize gettext support.
6323f705
RM
4807 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
4808 Include `<libintl.h>'.
4809 (_): New macro.
c37943b6
RM
4810
4811 * util/mkisofs/eltorito.c: Gettexttize.
4812 * util/mkisofs/joliet.c: Likewise.
4813 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
4814 * util/mkisofs/multi.c: Likewise.
4815 * util/mkisofs/rock.c: Likewise.
4816 * util/mkisofs/tree.c: Likewise.
4817 * util/mkisofs/write.c: Likewise.
4818
3bc7896c
RM
4819 * po/POTFILES: Update with new files.
4820
5ce77c6e
RM
48212009-11-18 Robert Millan <rmh.grub@aybabtu.com>
4822
4823 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
4824 * util/mkisofs/iso9660.h: Likewise.
4825 * util/mkisofs/joliet.c: Likewise.
4826 * util/mkisofs/mkisofs.c: Likewise.
4827 * util/mkisofs/mkisofs.h: Likewise.
4828 * util/mkisofs/rock.c: Likewise.
4829 * util/mkisofs/tree.c: Likewise.
4830 * util/mkisofs/write.c: Likewise.
4831
4832 * util/mkisofs/eltorito.c (rcsid): Remove.
4833 * util/mkisofs/hash.c: Likewise.
4834 * util/mkisofs/joliet.c: Likewise.
4835 * util/mkisofs/name.c: Likewise.
4836 * util/mkisofs/rock.c: Likewise.
4837 * util/mkisofs/tree.c: Likewise.
4838 * util/mkisofs/write.c: Likewise.
4839
1dabbc77
RM
48402009-11-18 Robert Millan <rmh.grub@aybabtu.com>
4841
4842 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
4843 instead of static allocation.
4844 * util/mkisofs/match.h: Likewise.
4845
633877cb
RM
48462009-11-18 Robert Millan <rmh.grub@aybabtu.com>
4847
3bc7896c
RM
4848 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
4849 and `util/grub.d/10_linux.in'.
633877cb
RM
4850 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
4851 translatable Shell files.
4852
af1c0c85
RM
48532009-11-18 Robert Millan <rmh.grub@aybabtu.com>
4854
4855 * Makefile.in ($(srcdir)/aclocal.m4): New target.
4856
769ae37b
RM
48572009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4858
4859 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 4860 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
4861 * util/grub.d/10_kfreebsd.in (bindir): New variable.
4862 Add gettext initialization.
4863 (kfreebsd_entry): Make menuentry output translatable.
4864
48652009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4866
4867 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
4868 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
4869 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
4870 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
4871 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 4872 * po/LINGUAS: New file.
769ae37b
RM
4873
48742009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4875
4876 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
4877 other things).
4878 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
4879 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
4880 bindtextdomain() calls for gettext initialization.
4881
48822009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4883
4884 * gnulib/progname.c: New file (imported from Gnulib).
4885 * gnulib/progname.h: Likewise.
4886 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
4887 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
4888 (usage): Replace `progname' with `program_name'.
4889 (main): Use set_program_name() for program name initialization.
4890
48912009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4892
4893 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
4894 from here ...
4895 * Makefile.in (CPPFLAGS): ... to here.
4896
48972009-11-16 Robert Millan <rmh.grub@aybabtu.com>
4898
4899 * aclocal.m4: Move from here ...
4900 * acinclude.m4: ... to here.
4901 * autogen.sh: Add call to `aclocal'.
4902 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
4903
49042009-11-16 Robert Millan <rmh.grub@aybabtu.com>
4905
4906 * Makefile.in (CLEANFILES): Add `po/*.mo'.
4907 (LINGUAS): New variable.
4908 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
4909 (install-local): Install MO files.
4910 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
4911 * include/grub/i18n.h: New file.
3bc7896c
RM
4912 * po/POTFILES: New file.
4913 * po/ca.po: New file.
769ae37b
RM
4914 * util/grub.d/10_linux.in (bindir): New variable.
4915 Add gettext initialization.
4916 (linux_entry): Make menuentry output translatable.
4917 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
4918 (usage): Make --help output translatable.
4919 (main): Initialize gettext.
4920
02c0a6ad
RM
49212009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4922
4923 * import_gcry.py: New file (written by Vladimir with minor
4924 adjustments).
4925 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
4926 ciphers.
4927 * INSTALL: Document that Python is required for bootstrap.
4928
49292009-11-17 Robert Millan <rmh.grub@aybabtu.com>
4930
4931 Import ciphers from libgcrypt 1.4.4.
4932
4933 * lib/libgcrypt/cipher/ChangeLog
4934 * lib/libgcrypt/cipher/ac.c
4935 * lib/libgcrypt/cipher/arcfour.c
4936 * lib/libgcrypt/cipher/bithelp.h
4937 * lib/libgcrypt/cipher/blowfish.c
4938 * lib/libgcrypt/cipher/camellia-glue.c
4939 * lib/libgcrypt/cipher/camellia.c
4940 * lib/libgcrypt/cipher/camellia.h
4941 * lib/libgcrypt/cipher/cast5.c
4942 * lib/libgcrypt/cipher/cipher.c
4943 * lib/libgcrypt/cipher/crc.c
4944 * lib/libgcrypt/cipher/des.c
4945 * lib/libgcrypt/cipher/dsa.c
4946 * lib/libgcrypt/cipher/ecc.c
4947 * lib/libgcrypt/cipher/elgamal.c
4948 * lib/libgcrypt/cipher/hash-common.c
4949 * lib/libgcrypt/cipher/hash-common.h
4950 * lib/libgcrypt/cipher/hmac-tests.c
4951 * lib/libgcrypt/cipher/md.c
4952 * lib/libgcrypt/cipher/md4.c
4953 * lib/libgcrypt/cipher/md5.c
4954 * lib/libgcrypt/cipher/primegen.c
4955 * lib/libgcrypt/cipher/pubkey.c
4956 * lib/libgcrypt/cipher/rfc2268.c
4957 * lib/libgcrypt/cipher/rijndael-tables.h
4958 * lib/libgcrypt/cipher/rijndael.c
4959 * lib/libgcrypt/cipher/rmd.h
4960 * lib/libgcrypt/cipher/rmd160.c
4961 * lib/libgcrypt/cipher/rsa.c
4962 * lib/libgcrypt/cipher/seed.c
4963 * lib/libgcrypt/cipher/serpent.c
4964 * lib/libgcrypt/cipher/sha1.c
4965 * lib/libgcrypt/cipher/sha256.c
4966 * lib/libgcrypt/cipher/sha512.c
4967 * lib/libgcrypt/cipher/tiger.c
4968 * lib/libgcrypt/cipher/twofish.c
4969 * lib/libgcrypt/cipher/whirlpool.c
4970
af2f93ac
RM
49712009-11-16 Robert Millan <rmh.grub@aybabtu.com>
4972
4973 Fix build for systems without error().
4974
4975 * gnulib/error.c: New file (imported from Gnulib).
4976 * gnulib/error.h: Likewise.
4977 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
4978 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
4979 (this variable is now used by error()).
4980
73fb3dd5
FZ
49812009-11-16 Felix Zielcke <fzielcke@z-51.de>
4982
814f5e96
FZ
4983 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
4984 instead of relying that char is signed.
73fb3dd5 4985
a691ca33
VS
49862009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
4987
4988 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
4989 blocksize different from specified.
4990 (grub_pxefs_read): Likewise.
4991
2af8f0f4
FZ
49922009-11-16 Felix Zielcke <fzielcke@z-51.de>
4993
4994 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
4995
4996 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
4997 (grub_ata_readwrite): Likewise. Update 2 format strings.
4998 (grub_atapi_read): Likewise.
4999
5000 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
5001 * conf/i386.rmk (pkglib_MODULES): ... to here ...
5002 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
5003 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
5004 (ata_mod_LDFLAGS): Move from here ...
5005 * conf/i386.rmk: ... to here ...
5006 * conf/x86_64-efi.rmk: ... and here.
5007 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
5008 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
5009
83bdecaf
RM
50102009-11-16 Robert Millan <rmh.grub@aybabtu.com>
5011
5012 Relicense multiboot.h, with RMS' blessing.
5013
5014 * include/multiboot.h: Change to X11 license.
5015
fd6fd3d7
RM
50162009-11-15 Robert Millan <rmh.grub@aybabtu.com>
5017
5018 Support --version in grub-mkisofs.
5019
5020 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
5021 (OPTION_VERSION): New macro.
5022 (ld_options): Recognize --version.
5023 (usage): Move `program_name' from here ...
5024 (program_name): ... to here. Add `static' qualifier.
5025 (main): Recognize `OPTION_VERSION'.
5026
16a88c49
FZ
50272009-11-15 Felix Zielcke <fzielcke@z-51.de>
5028
5029 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
5030 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
5031
a4158476
RM
50322009-11-14 Robert Millan <rmh.grub@aybabtu.com>
5033
5034 Fix help2man generation for mkisofs.
5035
5036 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
5037 (usage): Send output to stdout (rather than stderr).
5038
fc2208b0
RM
50392009-11-14 Robert Millan <rmh.grub@aybabtu.com>
5040
5041 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
5042 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
5043 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
5044 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
5045 (bin_SCRIPTS): Add `grub-mkfloppy'.
5046 (grub_mkfloppy_SOURCES): New variable.
5047
5048 * util/grub-mkrescue.in: New file.
5049 * util/i386/pc/grub-mkfloppy.in: New file.
5050
5051 * util/i386/coreboot/grub-mkrescue.in: Remove.
5052 * util/i386/pc/grub-mkrescue.in: Remove.
5053
8d0edf4a
RM
50542009-11-13 Robert Millan <rmh.grub@aybabtu.com>
5055
5056 * include/grub/multiboot.h (struct grub_multiboot_header): Move
5057 from here ...
5058 * include/multiboot.h (struct multiboot_header): ... to here. Update
5059 all users.
5060 * include/grub/multiboot.h (struct grub_multiboot_info): Move
5061 from here ...
5062 * include/multiboot.h (struct multiboot_info): ... to here. Update
5063 all users.
5064 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
5065 from here ...
5066 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
5067 Update all users.
5068 * include/grub/multiboot.h (struct grub_mod_list): Move
5069 from here ...
5070 * include/multiboot.h (struct multiboot_mod_list): ... to here.
5071 Update all users.
5072
a73f5969
RM
50732009-11-13 Robert Millan <rmh.grub@aybabtu.com>
5074
5075 * include/multiboot2.h (multiboot_word): Rename from this ...
5076 (multiboot2_word): ... to this. Update all users.
5077 (multiboot_header): Rename from this ...
5078 (multiboot2_header): ... to this. Update all users.
5079 (multiboot_tag_header): Rename from this ...
5080 (multiboot2_tag_header): ... to this. Update all users.
5081 (multiboot_tag_start): Rename from this ...
5082 (multiboot2_tag_start): ... to this. Update all users.
5083 (multiboot_tag_name): Rename from this ...
5084 (multiboot2_tag_name): ... to this. Update all users.
5085 (multiboot_tag_module): Rename from this ...
5086 (multiboot2_tag_module): ... to this. Update all users.
5087 (multiboot_tag_memory): Rename from this ...
5088 (multiboot2_tag_memory): ... to this. Update all users.
5089 (multiboot_tag_unused): Rename from this ...
5090 (multiboot2_tag_unused): ... to this. Update all users.
5091 (multiboot_tag_end): Rename from this ...
5092 (multiboot2_tag_end): ... to this. Update all users.
5093
1c8927f0
RM
50942009-11-13 Robert Millan <rmh.grub@aybabtu.com>
5095
5096 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
5097 this platform we should support Multiboot1 first.
5098
5099 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
5100 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
5101 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
5102
6e1e0d89
RM
51032009-11-12 Robert Millan <rmh.grub@aybabtu.com>
5104
5105 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
5106 of write calls (converting them to fwrite() if they aren't already).
5107 (get_torito_desc): Likewise.
5108 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
5109
7f2b34d8
RM
51102009-11-12 Robert Millan <rmh.grub@aybabtu.com>
5111
5112 * util/i386/pc/grub-install.in: Move from here ...
5113 * util/grub-install.in: ... to here. Update all users.
5114
c0ef3311
CW
51152009-11-11 Colin Watson <cjwatson@ubuntu.com>
5116
5117 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
5118
e1f240ff
RM
51192009-11-11 Robert Millan <rmh.grub@aybabtu.com>
5120
5121 Support for El Torito without floppy emulation.
5122
5123 * util/mkisofs/eltorito.c: Include `<errno.h>'.
5124 (init_boot_catalog): Improve error handling.
5125 (get_torito_desc): Don't use floppy emulation unless requested by
5126 user. Patch boot information table when requested via
5127 `-boot-info-table'.
5128 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
5129 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
5130 (use_boot_info_table): New variables.
5131 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
5132 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
5133 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
5134 `--eltorito-emul-floppy'.
5135 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
5136 and `OPTION_ELTORITO_EMUL_FLOPPY'.
5137 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
5138 (use_boot_info_table, get_731): New prototypes.
5139 * util/mkisofs/write.c (get_731): New function.
5140
af7d4de5
FZ
51412009-11-11 Felix Zielcke <fzielcke@z-51.de>
5142
5143 Fix the generation of the man page.
5144
5145 * util/pc/i386/grub-install.in: Source
5146 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
5147
2c55dbc0
RM
51482009-11-11 Robert Millan <rmh.grub@aybabtu.com>
5149
5150 Large file support for grub-mkisofs.
5151
5152 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
5153 * util/mkisofs/mkisofs.c (next_extent, last_extent)
5154 (session_start): Upgrade type to `uint64_t'. Update all users.
5155 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
5156 (struct directory_entry): Upgrade type of `starting_block' and
5157 `size' to `uint64_t'. Update all users.
5158 (struct deferred): Remove unused structure.
5159 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
5160 Update all users.
5161 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
5162 file is larger than `UINT32_MAX'.
5163 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
5164 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
5165 return value.
5166 (struct deferred_write): Upgrade type of `extent' and `size' to
5167 `uint64_t'. Update all users.
5168 (last_extent_written): Upgrade type to `uint64_t'. Update all
5169 users.
5170 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
5171 Update all users. Upgrade type of `remain' to `int64_t' and
5172 `use' to `size_t'. Use error() to handle fread() errors.
5173 (write_files): Rely on write_one_file() rather than calling
5174 xfwrite() directly.
5175
6a9cead5
FZ
51762009-11-09 Felix Zielcke <fzielcke@z-51.de>
5177
5178 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
5179
4825d790
RM
51802009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5181
5182 * util/mkisofs/fnmatch.c: Remove.
5183 * util/mkisofs/getopt1.c: Likewise.
5184 * util/mkisofs/getopt.c: Likewise.
5185 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
5186 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
5187 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
5188 `gnulib/getopt1.c' and `gnulib/getopt.c'.
5189 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
5190
5191 * configure.ac: Detect `mingw32msvc' host_os.
5192 Check for lstat(), getuid() and getgid().
5193
5194 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
5195 instances of `u_char' with `uint8_t'.
5196
5197 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
5198 [!HAVE_GETUID] (getuid): New function (stub).
5199 [!HAVE_GETGID] (getgid): Likewise.
5200 [!HAVE_LSTAT] (lstat): Likewise.
5201 [!S_IROTH] (S_IROTH): New macro (dummy).
5202 [!S_IRGRP] (S_IRGRP): Likewise.
5203
84b860d8
RM
52042009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5205
5206 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
5207 conditional expression).
5208
66e9b712
RM
52092009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5210
5211 Import from Gnulib.
5212
5213 * gnulib/fnmatch.c: New file.
5214 * gnulib/fnmatch.h: Likewise.
5215 * gnulib/fnmatch_loop.c: Likewise.
5216 * gnulib/getopt.c: Likewise.
5217 * gnulib/getopt.h: Likewise.
5218 * gnulib/getopt1.c: Likewise.
5219 * gnulib/getopt_int.h: Likewise.
5220 * gnulib/gettext.h: Likewise.
5221
34f4a5b0
RM
52222009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5223
5224 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
5225 * normal/handler.c (read_handler_list): Likewise.
5226
ac451143
RM
52272009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5228
5229 Misc cleanup.
5230
5231 * kern/command.c (grub_register_command_prio): Use
5232 grub_zalloc() instead of explicitly zeroing data.
5233 * kern/list.c: Include `<grub/mm.h>'.
5234 (grub_named_list_find): Replace `0' with `NULL'.
5235 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
5236 (fs_module_list): Change type to `grub_named_list_t'. Update all
5237 users.
5238 * normal/dyncmd.c (read_command_list): Add space between function
5239 call and parenthesis.
5240 * normal/handler.c (read_handler_list): Likewise.
5241
4089b167
RM
52422009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5243
5244 * normal/auth.c (punishment_delay): Moved from here ...
5245 (grub_auth_strcmp): ... to here (inside function).
5246
325f5037
RM
52472009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5248
5249 * include/grub/list.h (struct grub_named_list): Remove `const'
5250 qualifier from `name'.
5251 (struct grub_prio_list): Likewise.
5252
7aea29a3
RM
52532009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5254
5255 * normal/auth.c: Include `<grub/time.h>'.
5256 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
5257
3fd6f044
RM
52582009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5259
5260 * normal/auth.c (punishment_delay): New variable.
5261 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
5262 (grub_auth_check_authentication): Punish failed login attempts with
5263 an incremental (2^N) delay.
5264
a4cd68e4
RM
52652009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5266
5267 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
5268 path with $(srcdir).
5269
7ad12f43
VS
52702009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5271
5272 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
5273
c1129f03
RM
52742009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5275
5276 * util/i386/coreboot/grub-mkrescue.in: New file.
5277 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
5278 variables.
5279
5280 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
5281 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
5282 * configure.ac: Add header and function checks to satisfy grub-mkisofs
5283 requirements.
5284 * util/mkisofs/defaults.h: New file.
5285 * util/mkisofs/eltorito.c: Likewise.
5286 * util/mkisofs/exclude.h: Likewise.
5287 * util/mkisofs/fnmatch.c: Likewise.
5288 * util/mkisofs/getopt.c: Likewise.
5289 * util/mkisofs/getopt1.c: Likewise.
5290 * util/mkisofs/hash.c: Likewise.
5291 * util/mkisofs/include/fctldefs.h: Likewise.
5292 * util/mkisofs/include/mconfig.h: Likewise.
5293 * util/mkisofs/include/prototyp.h: Likewise.
5294 * util/mkisofs/include/statdefs.h: Likewise.
5295 * util/mkisofs/iso9660.h: Likewise.
5296 * util/mkisofs/joliet.c: Likewise.
5297 * util/mkisofs/match.c: Likewise.
5298 * util/mkisofs/match.h: Likewise.
5299 * util/mkisofs/mkisofs.c: Likewise.
5300 * util/mkisofs/mkisofs.h: Likewise.
5301 * util/mkisofs/multi.c: Likewise.
5302 * util/mkisofs/name.c: Likewise.
5303 * util/mkisofs/rock.c: Likewise.
5304 * util/mkisofs/tree.c: Likewise.
5305 * util/mkisofs/write.c: Likewise.
5306
ec8bb77d
VS
53072009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5308
5309 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
5310 being insecure.
5311
3716b12c
RM
53122009-11-08 Robert Millan <rmh.grub@aybabtu.com>
5313
5314 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
5315 `grub-mkimage' (and use $0 when possible).
5316
b97b7b91
RM
53172009-11-08 Robert Millan <rmh.grub@aybabtu.com>
5318
5319 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
5320 error message for excessively large memory map.
5321
04114812
RM
53222009-11-08 Robert Millan <rmh.grub@aybabtu.com>
5323
5324 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
5325 executable bit.
5326
e4eb2373
RM
53272009-11-08 Robert Millan <rmh.grub@aybabtu.com>
5328
5329 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
5330 message for coreboot users.
5331
c926e1d5 53322009-11-07 Robert Millan <rmh.grub@aybabtu.com>
5333
5334 Fix build with GNU gold.
5335
5336 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
5337 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
5338 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
5339 link addresses.
5340 * aclocal.m4: Likewise.
5341
86e5b1db 53422009-11-04 Felix Zielcke <fzielcke@z-51.de>
5343
5344 * configure.ac (AC_PREREQ): Bump to 2.59d.
5345 * INSTALL: Make it more clear when Autoconf and Ruby are
5346 needed and when to run `./autogen.sh'.
5347
246cd78f 53482009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
5349
5350 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
5351 OSes.
5352
4f9dfb37 53532009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
5354
5355 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
5356
b82bd5e1 53572009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
5358
5359 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
5360 giving it to GNU Mach.
5361
ff1a9bca 53622009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
5363
5364 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
5365 GNU partition number to get internal GRUB partition number.
5366
61697d9c 53672009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
5368
5369 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
5370 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
5371
a50569e1 53722009-11-01 Robert Millan <rmh.grub@aybabtu.com>
5373
5374 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
5375 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
5376 case.
5377
5b153867 53782009-11-01 Felix Zielcke <fzielcke@z-51.de>
5379
5380 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
5381
d9e2cd70 53822009-10-30 Robert Millan <rmh.grub@aybabtu.com>
5383
5384 Fix build problem.
5385
5386 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
5387 `-isystem=$(srcdir)/include'.
5388
805111a4 53892009-10-30 Robert Millan <rmh.grub@aybabtu.com>
5390
5391 * util/i386/pc/grub-install.in: Remove hint that device.map should be
5392 checked (grub-install doesn't currently rely on it).
5393
fa6e945f 53942009-10-29 Robert Millan <rmh.grub@aybabtu.com>
5395
5396 Revert SVN r2660.
5397
5398 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
5399 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
5400 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
5401 * conf/i386-ieee1275.rmk: Likewise.
5402 * conf/i386-pc.rmk: Likewise.
5403 * conf/powerpc-ieee1275.rmk: Likewise.
5404 * conf/sparc64-ieee1275.rmk: Likewise.
5405 * conf/x86_64-efi.rmk: Likewise.
5406
cee15086 54072009-10-28 Robert Millan <rmh.grub@aybabtu.com>
5408
5409 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
5410
95b9239e 54112009-10-28 Robert Millan <rmh.grub@aybabtu.com>
5412
5413 * include/grub/misc.h: Stop checking for APPLE_CC.
5414
2ed19dfd 54152009-10-28 Robert Millan <rmh.grub@aybabtu.com>
5416
5417 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
5418 doesn't cause an infinite call loop.
5419
fdcdde19 54202009-10-28 Felix Zielcke <fzielcke@z-51.de>
5421
5422 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
5423 strings.
5424
cefabfe1 54252009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5426
5427 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
5428 variable.
5429 * Makefile.in: Likewise.
5430
ed96ab6d 54312009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5432
5433 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
5434
0579b753 54352009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5436
5437 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
5438
478df409 54392009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5440
5441 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
5442
083d1679 54432009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5444
5445 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
5446 from here ...
5447 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
5448
5947ae32 54492009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5450
5451 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
5452 in $(MAKEINFO) invocation. This makes it clear in output that
5453 errors are being ignored.
5454
94180ff6 54552009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5456
5457 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
5458 from here ...
5459 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
5460 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
5461 * conf/i386-ieee1275.rmk: Likewise.
5462 * conf/i386-pc.rmk: Likewise.
5463 * conf/powerpc-ieee1275.rmk: Likewise.
5464 * conf/sparc64-ieee1275.rmk: Likewise.
5465 * conf/x86_64-efi.rmk: Likewise.
5466
9031b03a 54672009-10-26 Colin Watson <cjwatson@ubuntu.com>
5468
5469 * util/grub-editenv.c (main): If only a command is given, use
5470 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
5471 (usage): FILENAME is now optional and has a default.
5472
e4f6809b 54732009-10-26 Colin Watson <cjwatson@ubuntu.com>
5474
5475 Improve grub-mkconfig performance when there are several menu
5476 entries on a single filesystem.
5477
5478 * util/grub.d/10_linux.in (linux_entry): Cache the output of
5479 prepare_grub_to_access_device.
5480 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
5481 * util/grub.d/30_os-prober.in: Likewise.
5482
67937d4d 54832009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5484
5485 * util/grub.d/10_freebsd.in: Remove.
5486 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
5487 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
5488
ee3756cc 54892009-10-26 Robert Millan <rmh.grub@aybabtu.com>
5490
5c35048e 5491 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 5492
4dea1c6f 54932009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5494
5495 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
5496 grub_util_error() call.
5497
042484d7 54982009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5499
5500 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
5501 `reserved_first_sector' member.
5502 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
5503 `reserved_first_sector' to 1.
5504 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
5505 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
5506 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
5507 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
5508 filesystems which begin at first sector.
5509 (options): New option --skip-fs-probe.
5510 (main): Handle --skip-fs-probe and pass it to setup().
5511
d64448a7 55122009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5513
5514 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
5515 (memset): Fix function prototype.
5516
508d42ec 55172009-10-25 Robert Millan <rmh.grub@aybabtu.com>
55182009-10-25 Vasily Averin <vvs@parallels.com>
5519
5520 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
5521 `dirent.direntlen == 0'.
5522
b240e30c 55232009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5524
5525 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
5526 `cpio'.
5527 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
5528
346e7fbe 55292009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5530
5531 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
5532 `__trampoline_setup' and `__ucmpdi2'.
5533 * include/grub/powerpc/libgcc.h: Only export symbols for functions
5534 that libgcc provides.
5535
cdb308b0 55362009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5537
5538 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
5539 * include/grub/sparc64/libgcc.h (memset): Likewise.
5540 * include/grub/misc.h (memset, memcmp): New function prototypes.
5541
fb26abc2 55422009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5543
5544 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
5545 `cpio'.
5546 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
5547
f6693890 55482009-10-25 Robert Millan <rmh.grub@aybabtu.com>
5549
5550 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
5551 * docs/grub.cfg: Compensate for recent change in multiboot
5552 loader (since 2009-08-14 it won't pass filename to payload).
5553 * util/grub.d/10_hurd.in: Likewise.
5554
0933cdc0 55552009-10-21 Felix Zielcke <fzielcke@z-51.de>
5556
5557 * config.guess: Update to latest version from config git
5558 repository.
5559 * config.sub: Likewise.
5560
3b2fe8c2 55612009-10-20 Robert Millan <rmh.grub@aybabtu.com>
5562
5563 Fix build on sparc64.
5564
5565 * configure.ac: Perform checks for libgcc symbols before
5566 adding `-nostdlib' to LDFLAGS.
5567
46695a62 55682009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5569
5570 Let user specify OpenBSD root device.
5571
5572 * loader/i386/bsd.c (openbsd_root): New variable.
5573 (openbsd_opts): New option 'root'.
5574 (OPENBSD_ROOT_ARG): New macro.
5575 (grub_openbsd_boot): Use 'openbsd_root'.
5576 (grub_cmd_openbsd): Fill 'openbsd_root'.
5577
d2b6b7fc 55782009-10-16 Robert Millan <rmh.grub@aybabtu.com>
5579
5580 * NEWS: Misc adjustments.
5581
421bd7ac 55822009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
5583
5584 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
5585
f1d29d87 55862009-10-16 Robert Millan <rmh.grub@aybabtu.com>
5587
5588 * configure.ac: Bump version to 1.97.
5589
6f3cd880 55902009-10-16 Colin Watson <cjwatson@ubuntu.com>
5591
5592 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
5593 -mno-3dnow on x86 architectures. Some toolchains enable these
5594 features by default, but they rely on registers that aren't enabled
5595 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
5596
035f7122 55972009-10-15 Robert Millan <rmh.grub@aybabtu.com>
5598
5599 Make entry text a bit more readable.
5600
5601 * util/grub.d/10_linux.in: Add `with' before `Linux'.
5602
44998e58 56032009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
5604
5605 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
5606
cd2851b3 56072009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
5608
5609 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
5610 operations.
5611
c6f3b249 56122009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
5613
5614 * configure.ac: Add missing dollar.
5615
6b5886ba 56162009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
5617
5618 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
5619
5620 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
5621 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
5622 exports.
5623 * include/grub/sparc64/libgcc.h: Likewise. Use
5624 preprocessor conditionals.
5625
e9d66f6d 56262009-10-14 Robert Millan <rmh.grub@aybabtu.com>
5627
5628 * conf/common.rmk (grub-dumpbios): Remove rule.
5629 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
5630 * util/grub-dumpbios.in: Remove file.
5631
9155bc17 56322009-10-14 Robert Millan <rmh.grub@aybabtu.com>
5633
5634 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
5635 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
5636
5637 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
5638 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
5639 users.
5640
5641 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
5642 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
5643 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
5644 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
5645 users.
5646
bf7f7a18 56472009-10-12 Robert Millan <rmh.grub@aybabtu.com>
5648
5649 * term/tparm.c: Switch to GPLv3.
5650
86564c26 56512009-10-09 Robert Millan <rmh.grub@aybabtu.com>
5652
5653 * include/grub/i386/cpuid.h: Add header protection.
5654
5c936493 56552009-10-09 Robert Millan <rmh.grub@aybabtu.com>
5656
5657 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
5658
5659 * include/grub/i386/cpuid.h: New file.
5660 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
5661 (has_longmode): Rename to ...
5662 (grub_cpuid_has_longmode): ... this. Update all users. Remove
5663 `static' attribute.
5664 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
5665 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
5666 on a CPU that doesn't implement AMD64 instruction set.
5667
186e7cf2 56682009-10-06 Colin Watson <cjwatson@ubuntu.com>
5669
5670 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
5671 that version.texi is rebuilt on version number changes.
5672
83b65c4a 56732009-10-06 Colin Watson <cjwatson@ubuntu.com>
5674
5675 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
5676 Fixes bug #27602.
5677
d244281c 56782009-10-06 Colin Watson <cjwatson@ubuntu.com>
5679
5680 * util/i386/pc/grub-install.in: Source
5681 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
5682 that the --grub-probe option will work.
5683 * util/sparc64/ieee1275/grub-install.in: Likewise.
5684
da25306d 56852009-10-05 Robert Millan <rmh.grub@aybabtu.com>
5686
5687 * configure.ac: Bump version to 1.97~beta4.
5688
e8ee83c0 56892009-10-03 Robert Millan <rmh.grub@aybabtu.com>
5690
5691 Resync grub-mkdevicemap in x86_64-efi.
5692
5693 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
5694 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
5695 `util/devicemap.c'.
5696
50dcabcf 56972009-10-01 Colin Watson <cjwatson@ubuntu.com>
5698
5699 * util/grub-editenv.c (create_envblk_file): Write new block with a
5700 .new suffix and then rename it into place, to ensure atomic
5701 creation.
5702
0e51c3a7 57032009-09-28 Robert Millan <rmh.grub@aybabtu.com>
5704
5705 Do not automatically install headers.
5706
5707 * Makefile.in (include_DATA): Remove. Update all users.
5708
31299a95 57092009-09-26 Robert Millan <rmh.grub@aybabtu.com>
5710
5711 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
5712 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
5713
5714 * util/osdetect.lua: Remove.
5715 * script/lua/lauxlib.c: Likewise.
5716 * script/lua/ldebug.c: Likewise.
5717 * script/lua/grub_main.c: Likewise.
5718 * script/lua/lauxlib.h: Likewise.
5719 * script/lua/ldebug.h: Likewise.
5720 * script/lua/ltablib.c: Likewise.
5721 * script/lua/liolib.c: Likewise.
5722 * script/lua/lstrlib.c: Likewise.
5723 * script/lua/lualib.h: Likewise.
5724 * script/lua/ldo.c: Likewise.
5725 * script/lua/ldump.c: Likewise.
5726 * script/lua/ldo.h: Likewise.
5727 * script/lua/loslib.c: Likewise.
5728 * script/lua/lundump.c: Likewise.
5729 * script/lua/grub_lib.c: Likewise.
5730 * script/lua/ldblib.c: Likewise.
5731 * script/lua/lundump.h: Likewise.
5732 * script/lua/lmem.c: Likewise.
5733 * script/lua/grub_lib.h: Likewise.
5734 * script/lua/lmathlib.c: Likewise.
5735 * script/lua/lstate.c: Likewise.
5736 * script/lua/ltm.c: Likewise.
5737 * script/lua/lvm.c: Likewise.
5738 * script/lua/lmem.h: Likewise.
5739 * script/lua/lstate.h: Likewise.
5740 * script/lua/ltm.h: Likewise.
5741 * script/lua/ltable.c: Likewise.
5742 * script/lua/lvm.h: Likewise.
5743 * script/lua/llex.c: Likewise.
5744 * script/lua/lgc.c: Likewise.
5745 * script/lua/grub_lua.h: Likewise.
5746 * script/lua/loadlib.c: Likewise.
5747 * script/lua/lfunc.c: Likewise.
5748 * script/lua/lopcodes.c: Likewise.
5749 * script/lua/lparser.c: Likewise.
5750 * script/lua/ltable.h: Likewise.
5751 * script/lua/llex.h: Likewise.
5752 * script/lua/lgc.h: Likewise.
5753 * script/lua/lfunc.h: Likewise.
5754 * script/lua/lbaselib.c: Likewise.
5755 * script/lua/lopcodes.h: Likewise.
5756 * script/lua/lparser.h: Likewise.
5757 * script/lua/lzio.c: Likewise.
5758 * script/lua/linit.c: Likewise.
5759 * script/lua/lobject.c: Likewise.
5760 * script/lua/llimits.h: Likewise.
5761 * script/lua/lstring.c: Likewise.
5762 * script/lua/lzio.h: Likewise.
5763 * script/lua/lapi.c: Likewise.
5764 * script/lua/lcode.c: Likewise.
5765 * script/lua/lua.h: Likewise.
5766 * script/lua/lobject.h: Likewise.
5767 * script/lua/lstring.h: Likewise.
5768 * script/lua/lapi.h: Likewise.
5769 * script/lua/lcode.h: Likewise.
5770 * script/lua/luaconf.h: Likewise.
5771
cb8a2c38 57722009-09-26 Colin Watson <cjwatson@ubuntu.com>
5773
5774 * docs/grub.texi (Command-line and menu entry commands): Document
5775 date and echo commands.
5776
6b9b6276 57772009-09-24 Pavel Roskin <proski@gnu.org>
5778
5779 * include/grub/kernel.h (struct grub_module_header): Remove
5780 `grub_module_header_types'. Make `type' unsigned. Make `size'
5781 32-bit on all platforms.
5782 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
5783 8-bit field. Use grub_host_to_target32() for `size'.
5784 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
5785 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
5786 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
5787
4e5a02a7 57882009-09-24 Robert Millan <rmh.grub@aybabtu.com>
5789
5790 Fix "lost keypress" bug in at_keyboard.
5791
5792 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
5793 Checks for readyness of input buffer (without flushing it).
5794 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
5795 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
5796
c6dcedf6 57972009-09-24 Robert Millan <rmh.grub@aybabtu.com>
5798
5799 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
5800 size check within GRUB_MACHINE_PCBIOS section.
5801
74c958b1 58022009-09-24 Robert Millan <rmh.grub@aybabtu.com>
5803
5804 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
5805 return value.
5806 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
5807 KEYBOARD_ISREADY check.
5808 (grub_at_keyboard_checkkey): Rename to ...
5809 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
5810 Remove gratuitous cast.
5811
ff420223 58122009-09-23 Colin Watson <cjwatson@ubuntu.com>
5813
5814 * configure.ac: Call AC_PROG_MKDIR_P.
5815 * Makefile.in (docs/stamp-vti): Create docs directory. Create
5816 version.texi in $(builddir) rather than $(srcdir).
5817 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
5818 to makeinfo's @include search path.
5819
d96875df 58202009-09-23 Felix Zielcke <fzielcke@z-51.de>
5821
5822 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
5823
9b3f8365 58242009-09-23 Felix Zielcke <fzielcke@z-51.de>
5825
5826 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
5827 for `*.dpkg-new'.
5828
c44c90db 58292009-09-21 Colin Watson <cjwatson@ubuntu.com>
5830
5831 Build info documentation. Some code borrowed from Automake.
5832
5833 * configure.ac: Check for makeinfo.
5834 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
5835 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
5836 docs/version.texi.
5837 (MOSTLYCLEANFILES): Add vti.tmp.
5838 (docs/version.texi, docs/stamp-vti): Update automatically.
5839 (docs/grub.info): Build info documentation. Use --force and ignore
5840 errors for now.
5841 (all-local): Add $(INFOS).
5842 (install-local): Install info files.
5843 (uninstall): Uninstall info files.
5844 * docs/version.texi: Remove from revision control. This file is
5845 automatically generated on build now.
5846 * gendistlist.sh: Add `*.info'.
5847
e0b37bb5 58482009-09-21 Felix Zielcke <fzielcke@z-51.de>
5849
5850 * kern/term.c: Fix indentation.
5851
5a78865b 58522009-09-21 Felix Zielcke <fzielcke@z-51.de>
5853
5854 * util/hostdisk.c: Fix a comment.
5855
dace7e8a 58562009-09-20 Robert Millan <rmh.grub@aybabtu.com>
5857
5858 Fix regression introduced in r2539.
5859
5860 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
5861 to 0xA1.
5862
a83d079b 58632009-09-19 Colin Watson <cjwatson@ubuntu.com>
5864
5865 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 5866 os-prober. Under normal operation, it does not print anything to
5867 stderr; if it does, we need to debug it, and throwing away stderr
5868 makes that excessively difficult.
a83d079b 5869
be94a509 58702009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
5871
5872 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
5873
63f745e8 58742009-09-16 Robert Millan <rmh.grub@aybabtu.com>
5875
5876 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
5877 AC_LANG_PROGRAM from autoconf.
5878 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
5879 prototypes (fixes warning).
5880
5881 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
5882 `--disable-werror' was used.
5883
bbb2a70f 58842009-09-16 Robert Millan <rmh.grub@aybabtu.com>
5885
5886 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
5887 uninitialized `lastaddr'.
5888
77c24f1d 58892009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
5890
0f0b8c87 5891 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 5892
07197f23 58932009-09-14 Colin Watson <cjwatson@ubuntu.com>
5894
5895 * commands/test.c (get_fileinfo): Return immediately if
5896 grub_fs_probe fails.
5897
dabf1798 58982009-09-14 José Martínez <xosemp@gmail.com>
5899
5900 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
5901
d52109a7 59022009-09-14 Colin Watson <cjwatson@ubuntu.com>
5903
5904 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
5905 output.
5906
56532179 59072009-09-13 Robert Millan <rmh.grub@aybabtu.com>
5908
5909 * configure.ac: Remove --enable-grub-pe2elf. Only build
5910 grub-pe2elf when needed by the build system itself.
5911 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
5912
8ef070f5 59132009-09-12 Robert Millan <rmh.grub@aybabtu.com>
5914
5915 * configure.ac: Bump version to 1.97~beta3.
5916 * docs/version.texi: Likewise.
5917
61229557 59182009-09-12 Robert Millan <rmh.grub@aybabtu.com>
5919
5920 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
5921 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
5922 from here ...
5923 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
5924 (grub_linux_setup_video): ... to here (with some adjustments).
5925
5c9f8d84 59262009-09-12 Robert Millan <rmh.grub@aybabtu.com>
5927
5928 Fix memory corruption issue (spotted by Colin Watson).
5929
5930 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
5931 causing returned size to be stored in an incorrect memory location.
5932 Fix use of uninitialized value when storing the returned size.
5933
e8f5d6e9 59342009-09-12 Yves Blusseau <blusseau@zetam.org>
5935
5936 Change clean rules to properly remove files
5937
5938 * genmk.rb: add new clean rules
5939 * Makefile.in (clean): add the new targets
5940 (mostlyclean): likewise
5941
cda2a409 59422009-09-11 Colin Watson <cjwatson@ubuntu.com>
5943
5944 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
5945 to grub_uint64_t.
5946 * fs/ntfs.c (init_file): Understand 64-bit sizes for
5947 non-resident files.
5948
86695375 59492009-09-11 Colin Watson <cjwatson@ubuntu.com>
5950
5951 * configure.ac: Don't look for help2man when cross-compiling. Fixes
5952 part of bug #27349.
5953
8aa1541a 59542009-09-10 Felix Zielcke <fzielcke@z-51.de>
5955
5956 * util/grub-mkconfig.in: Make the created config mode 400 and
5957 print a warning if it fails.
5958
48d9bb0a 59592009-09-10 Robert Millan <rmh.grub@aybabtu.com>
5960
5961 * util/grub.d/40_custom.in: Ask user to type custom entries below
5962 comment, rather than below 'exec tail' line.
5963
3b0521be 59642009-09-10 Colin Watson <cjwatson@ubuntu.com>
5965
5966 * util/grub.d/40_custom.in: Make sure that the explanatory text is
5967 visible in grub.cfg.
5968
50051d55 59692009-09-10 Colin Watson <cjwatson@ubuntu.com>
5970
5971 * util/grub.d/40_custom.in: Make it a little clearer how to use this
5972 file.
5973
c0d34387 59742009-09-10 Felix Zielcke <fzielcke@z-51.de>
5975
5976 * docs/grub.cfg: Add an example menu entry for memtest86+.
5977
80a608f3 59782009-09-09 Felix Zielcke <fzielcke@z-51.de>
5979
a2094832 5980 * config.guess: Update to latest version from config git.
80a608f3 5981 * config.sub: Likewise.
5982
99423078 59832009-09-08 Colin Watson <cjwatson@ubuntu.com>
5984
5985 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
5986 unknown-command case. Fixes bug #27320.
5987
44454e4c 59882009-09-08 Felix Zielcke <fzielcke@z-51.de>
5989
5990 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
5991 `help' if the command exists.
5992
e30d87ad 59932009-09-06 Robert Millan <rmh.grub@aybabtu.com>
5994
5995 * INSTALL: Require GCC 4.1.3 or later.
5996
9a86f1ec 59972009-09-06 Yves Blusseau <blusseau@zetam.org>
5998
5999 * Makefile.in (RMKFILES): add i386-qemu.rmk
6000 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
6001 $(srcdir)/stamp-h.in
6002
7f26d466 60032009-09-05 Robert Millan <rmh.grub@aybabtu.com>
6004
6005 * util/grub-probe.c (probe): Comment out buggy codepath, which
6006 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
6007 should be re-enabled after 1.97.
6008
3a613259 60092009-09-05 Felix Zielcke <fzielcke@z-51.de>
6010
6011 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
6012 find searches for.
6013
197f76c7 60142009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
6015
6016 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
6017 unnecessary calls to grub_error.
6018
70ba68ce 60192009-09-04 Colin Watson <cjwatson@ubuntu.com>
6020
6021 * NEWS: Mention `keystatus' and Unicode fonts.
6022
4ff0d7a4 60232009-09-04 Robert Millan <rmh.grub@aybabtu.com>
6024
6025 * configure.ac: Bump version to 1.97~beta2.
6026 * docs/version.texi: Likewise.
6027
77c55a87 60282009-09-03 Colin Watson <cjwatson@ubuntu.com>
6029
6030 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
6031 containing unwind information in some cases where it previously did
6032 not. Use -fno-dwarf2-cfi-asm if available to restore the old
6033 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
6034 discussion.
6035
f79572cd 60362009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
6037
6038 Embedding loadenv module into grub-emu
6039
6040 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
6041 commands/loadenv.c
6042 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
6043 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
6044 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
6045 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
6046 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
6047 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
6048
93a81088 60492009-09-03 Magnus Granberg <zorry@ume.nu>
6050
6051 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
6052 include -fPIE in the default specs.
6053 * configure.ac: Check if pie_possible is yes and add -fno-PIE
6054 to TARGET_CFLAGS.
6055
160034b2 60562009-09-03 Felix Zielcke <fzielcke@z-51.de>
6057
6058 * INSTALL: Note that GNU Bison 2.3 or later is required.
6059
087c07c4 60602009-09-03 Colin Watson <cjwatson@ubuntu.com>
6061
6062 * kern/i386/pc/startup.S: Fix typo.
6063
cbf978c0 60642009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
6065
6066 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
6067 according to GCS.
6068
60692009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 6070
6071 * docs/grub.texi (Naming convention): Describe one-based partition
6072 numbering.
6073 (Device syntax): Likewise.
6074 (File name syntax): Likewise.
6075 (Block list syntax): Likewise.
6076 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
6077 menu.lst.
6078 (File name syntax): Likewise.
6079 (Command-line and menu entry commands): Document acpi, blocklist,
6080 crc, export, insmod, keystatus, ls, set, and unset commands.
6081
f3e8cdfd 60822009-09-02 Colin Watson <cjwatson@ubuntu.com>
6083
6084 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
6085 to avoid implying that only one of --shift, --ctrl, or --alt may be
6086 used.
6087
c0bc232b 60882009-09-02 Colin Watson <cjwatson@ubuntu.com>
6089
6090 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
6091 rather than comparing against S_IFREG, which will almost never work.
6092
aa0f752d 60932009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
6094
6095 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
6096 (write_blocklists): Likewise.
6097
ecb3166a 60982009-09-01 Colin Watson <cjwatson@ubuntu.com>
6099
6100 * script/lua/grub_lua.h (fputs): Supply a format string as the first
6101 argument to grub_printf.
6102
c403a125 61032009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 6104
6105 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 6106 non GNU test.
31aba781 6107
b5e7312c 61082009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
6109
6110 * kern/file.c (grub_file_read): Spelling fix
6111
fe00f472 61122009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
6113
6114 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
6115 loading of headers in some cases.
6116
cc55302e 61172009-08-30 Robert Millan <rmh.grub@aybabtu.com>
6118
6119 * configure.ac: Bump version to 1.97~beta1.
6120 * docs/version.texi: Likewise.
6121
5c90cdd2 61222009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 6123
6124 * include/grub/i386/xnu.h: Add license header.
6125 include grub/err.h explicitly.
6126
c90edae4 61272009-08-29 Robert Millan <rmh.grub@aybabtu.com>
6128
6129 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
6130 to `ufs' in the vfs.root.mountfrom kernel parameter.
6131
d8888b5c 61322009-08-29 Robert Millan <rmh.grub@aybabtu.com>
6133
6134 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
6135
6136 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
6137 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
6138
6139 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
6140 `ARRAY_SIZE' macro.
6141
6f07b921 61422009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
6143
6144 * kern/file.c (grub_file_read): Check offset.
6145 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
6146 * fs/jfs.c (grub_jfs_read_file): Likewise.
6147 * fs/ntfs.c (grub_ntfs_read): Likewise.
6148 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
6149 * fs/minix.c (grub_minix_read_file): Correct offset check.
6150 * fs/ufs.c (grub_ufs_read_file): Likewise.
6151
b4f34077 61522009-08-28 Colin Watson <cjwatson@ubuntu.com>
6153
6154 * term/i386/pc/console.c (bios_data_area): Cast
6155 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
6156
e7c69859 61572009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
6158
6159 1-bit optimised blitters.
6160
6161 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
6162 prototype.
6163 (grub_video_fbblit_replace_24bit_1bit): Likewise.
6164 (grub_video_fbblit_replace_16bit_1bit): Likewise.
6165 (grub_video_fbblit_replace_8bit_1bit): Likewise.
6166 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
6167 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
6168 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
6169 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
6170 function.
6171 (grub_video_fbblit_replace_24bit_1bit): Likewise.
6172 (grub_video_fbblit_replace_16bit_1bit): Likewise.
6173 (grub_video_fbblit_replace_8bit_1bit): Likewise.
6174 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
6175 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
6176 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
6177 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
6178 when possible.
6179 * video/video.c (grub_video_get_blit_format): Return
6180 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
6181
a57da43f 61822009-08-28 Colin Watson <cjwatson@ubuntu.com>
6183
6184 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
6185 the first argument to grub_printf.
6186
4cbe67e5 61872009-08-28 Colin Watson <cjwatson@ubuntu.com>
61882009-08-28 Robert Millan <rmh.grub@aybabtu.com>
6189
6190 Add `getkeystatus' terminal method. Add a new `keystatus' command
6191 to query it.
6192
6193 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
6194 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
6195 modifier key bitmasks.
6196 (struct grub_term_input): Add `getkeystatus' member.
6197 (grub_getkeystatus): Add prototype.
6198 * kern/term.c (grub_getkeystatus): New function.
6199
6200 * include/grub/i386/pc/memory.h
6201 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
6202 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
6203 Data Area layout.
6204 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
6205 (grub_console_term_input): Set `getkeystatus' member.
6206 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
6207 constants.
6208 (grub_usb_keyboard_getreport): Likewise.
6209 (grub_usb_keyboard_checkkey): Likewise.
6210 (grub_usb_keyboard_getkeystatus): New function.
6211 (grub_usb_keyboard_term): Set `getkeystatus' member.
6212
6213 * commands/keystatus.c: New file.
6214 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
6215 (keystatus_mod_SOURCES): New variable.
6216 (keystatus_mod_CFLAGS): Likewise.
6217 (keystatus_mod_LDFLAGS): Likewise.
6218 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
6219 commands/keystatus.c.
6220 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
6221 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6222 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
6223 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6224 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6225 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 6226
6e2a9085 62272009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
6228
6229 Split befs.mod and afs.mod into *_be.mod and *.mod
6230
6231 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
6232 (grub_fstest_SOURCES): Likewise.
6233 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
6234 (afs_be_mod_SOURCES): New variable.
6235 (afs_be_mod_CFLAGS): Likewise.
6236 (afs_be_mod_LDFLAGS): Likewise.
6237 (befs_be_mod_SOURCES): Likewise.
6238 (befs_be_mod_CFLAGS): Likewise.
6239 (befs_be_mod_LDFLAGS): Likewise.
6240 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
6241 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
6242 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6243 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
6244 (grub_emu_SOURCES): Likewise.
6245 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6246 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6247 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
6248 * fs/afs_be.c: New file.
6249 * fs/befs_be.c: New file.
6250 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
6251 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
6252 (U16): Replaced with ...
6253 (grub_afs_to_cpu16): ...this. All users updated.
6254 (U32): Replaced with ...
6255 (grub_afs_to_cpu32): ...this. All users updated.
6256 (U64): Replaced with ...
6257 (grub_afs_to_cpu64): ...this. All users updated.
6258 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
6259 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 6260 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 6261 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
6262 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
6263 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
6264 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
6265 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
6266 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
6267 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
6268 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
6269
32a71655 62702009-08-26 Bean <bean123ch@gmail.com>
6271
6272 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
6273 64-bit number.
6274 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
6275 (grub_xfs_inode_block): Change return type to grub_uint64_t.
6276 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
6277
552bf6c5 62782009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
6279
6280 NetBSD memory map support.
6281
6282 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
6283 (grub_netbsd_btinfo_mmap_header): New structure.
6284 (grub_netbsd_btinfo_mmap_entry): Likewise.
6285 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
6286
1ae2078c 62872009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
6288
6289 Enable bsd.mod on coreboot.
6290
6291 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
6292 (bsd_mod_SOURCES): New variable.
6293 (bsd_mod_CFLAGS): Likewise.
6294 (bsd_mod_LDFLAGS): Likewise.
6295 (bsd_mod_ASFLAGS): Likewise.
6296 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
6297 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
6298
beefc598 62992009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
6300
6301 Cleanup NetBSD root support.
6302
6303 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
6304 grub_bsd_get_device.
6305 Fix typo.
6306
3b76e68b 63072009-08-25 Felix Zielcke <fzielcke@z-51.de>
6308
6309 * util/grub.d/00_header.in: Move check for the video backend of
6310 gfxterm from here ...
6311 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
6312 a suitable video backend.
6313
aea664ea 63142009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
6315
6316 Fix breakage in grub-setup.
6317
6318 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
6319 "msdos_partition_map".
6320
ff747d50 63212009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
6322
6323 Fix breakage in normal/auth.c.
6324
6325 * normal/auth.c (grub_iswordseparator): New function.
6326
e7e1f93f 63272009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
6328
6329 Authentication support.
6330
6331 * commands/password.c: New file.
6332 * conf/common.rmk (pkglib_MODULES): Add password.mod.
6333 (password_mod_SOURCES): New variable.
6334 (password_mod_CFLAGS): Likewise.
6335 (password_mod_LDFLAGS): Likewise.
6336 (normal_mod_SOURCES): Add normal/auth.c.
6337 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
6338 normal/auth.c.
6339 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
6340 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6341 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
6342 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6343 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6344 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
6345 * include/grub/auth.h: New file.
6346 * include/grub/err.h (grub_err_t): New enum value
6347 GRUB_ERR_ACCESS_DENIED.
6348 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
6349 'users'.
6350 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
6351 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
6352 users updated.
6353 * normal/auth.c: New file.
6354 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
6355 (grub_cmdline_run): Don't allow to go to command line without
6356 authentication.
6357 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
6358 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
6359 menuentry without superuser rights.
6360 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
6361 user isn't a superuser.
6362
70f1161d 63632009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
6364
6365 Save space by inlining misc.c functions.
6366
6367 * kern/misc.c (grub_iswordseparator): Made static.
6368 * kern/misc.c (grub_strcat): Moved from here ...
6369 * include/grub/misc.h (grub_strcat): ... here. Inlined.
6370 * kern/misc.c (grub_strncat): Moved from here ...
6371 * include/grub/misc.h (grub_strncat): ... here. Inlined.
6372 * kern/misc.c (grub_strcasecmp): Moved from here ...
6373 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
6374 * kern/misc.c (grub_strncasecmp): Moved from here ...
6375 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
6376 * kern/misc.c (grub_isalpha): Moved from here ...
6377 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
6378 * kern/misc.c (grub_isdigit): Moved from here ...
6379 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
6380 * kern/misc.c (grub_isgraph): Moved from here ...
6381 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
6382 * kern/misc.c (grub_tolower): Moved from here ...
6383 * include/grub/misc.h (grub_tolower): ... here. Inlined.
6384
48e40bff 63852009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
6386
6387 * script/sh/function.c (grub_script_function_find): Cut error message
6388 not to flood terminal.
6389 * script/sh/lexer.c (grub_script_yylex): Remove command line length
6390 limit.
6391 * script/sh/script.c (grub_script_arg_add): Duplicate string.
6392
c385bfc3 63932009-08-24 Colin Watson <cjwatson@ubuntu.com>
6394
6395 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
6396 `report' grub_uint8_t *.
6397 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
6398 Use a 50-millisecond timeout rather than just repeating
6399 grub_usb_keyboard_getreport 50 times.
6400 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
6401
2d21e3e8 64022009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
6403
6404 Rename *_partition_map to part_*
6405
6406 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
6407 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
6408 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
6409 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
6410 All users updated.
6411 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
6412 All users updated.
6413 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
6414 * util/grub-probe.c (probe_partmap): Don't transform partition name
6415 to get module name.
6416
dd103c4e 64172009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
6418
6419 Fix OpenBSD and NetBSD support.
6420
6421 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
6422 memory address conflict.
6423 (OPENBSD_MMAP_ACPI): New definition.
6424 (OPENBSD_MMAP_NVS): Likewise.
6425 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
6426 and OPENBSD_MMAP_NVS.
6427 Add memory map terminator
6428 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 6429 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 6430
16c84d74 64312009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
6432
6433 Let user specify NetBSD root device.
6434
6435 * loader/i386/bsd.c (netbsd_root): New variable.
6436 (netbsd_opts): New option 'root'.
6437 (NETBSD_ROOT_ARG): New macro.
6438 (grub_netbsd_boot): Use 'netbsd_root'.
6439 (grub_bsd_unload): Free 'netbsd_root'.
6440 (grub_cmd_netbsd): Fill 'netbsd_root'.
6441
adb29902 64422009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
6443
6444 Support for 64-bit NetBSD.
6445
6446 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
6447 point when booting non-FreeBSD.
6448
f5ae9f74 64492009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
6450
6451 Support --no-smp and --no-acpi for NetBSD.
6452
6453 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
6454 (NETBSD_AB_NOACPI): Likewise.
6455 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
6456 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
6457
de74f136 64582009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6459
6460 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
6461 errors.
6462 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
6463 errors. Call grub_error when needed.
6464
e9a925da 64652009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6466
6467 * commands/search.c (search_fs): Try searching without autoload first.
6468 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
6469 filesystem module explicitly for faster booting.
6470
5174302b 64712009-08-23 Colin Watson <cjwatson@ubuntu.com>
6472
6473 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
6474
c8c80635 64752009-08-23 Colin Watson <cjwatson@ubuntu.com>
6476
6477 * util/grub.d/30_os-prober.in: Disable os-prober if
6478 `GRUB_DISABLE_OS_PROBER' was set to true.
6479
71acf5e5 64802009-08-23 Robert Millan <rmh.grub@aybabtu.com>
6481
6482 * partmap/pc.c: Rename to ...
6483 * partmap/msdos.c: ... this. Update all users.
6484 (grub_pc_partition_map): Rename to ...
6485 (grub_msdos_partition_map): ... this. Update all users.
6486
6487 * parttool/pcpart.c: Rename to ...
6488 * parttool/msdospart.c: ... this. Update all users.
6489
6490 * include/grub/pc_partition.h: Rename to ...
6491 * include/grub/msdos_partition.h: ... this. Update all users.
6492 (grub_pc_partition_bsd_entry): Rename to ...
6493 (grub_msdos_partition_bsd_entry): ... this. Update all users.
6494 (grub_pc_partition_disk_label): Rename to ...
6495 (grub_msdos_partition_disk_label): ... this. Update all users.
6496 (grub_pc_partition_entry): Rename to ...
6497 (grub_msdos_partition_entry): ... this. Update all users.
6498 (grub_pc_partition_mbr): Rename to ...
6499 (grub_msdos_partition_mbr): ... this. Update all users.
6500 (grub_pc_partition): Rename to ...
6501 (grub_msdos_partition): ... this. Update all users.
6502 (grub_pc_partition_is_empty): Rename to ...
6503 (grub_msdos_partition_is_empty): ... this. Update all users.
6504 (grub_pc_partition_is_extended): Rename to ...
6505 (grub_msdos_partition_is_extended): ... this. Update all users.
6506 (grub_pc_partition_is_bsd): Rename to ...
6507 (grub_msdos_partition_is_bsd): ... this. Update all users.
6508
6509 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
6510 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
6511 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
6512 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
6513 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
6514 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
6515 (gpt_mod_LDFLAGS): Rename to ...
6516 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
6517 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
6518 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
6519 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
6520 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
6521 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
6522 (part_gpt_mod_LDFLAGS): ... this.
6523 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
6524 `pcpart.mod' to `msdospart.mod'.
6525 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
6526 to ...
6527 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
6528 (msdospart_mod_LDFLAGS): ... this.
6529
c11fded5 65302009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
6531
6532 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
6533 (openbsd_opts): Likewise.
6534 (netbsd_opts): Likewise.
6535 (freebsd_flags): Added 0 terminator.
6536 (openbsd_flags): Likewise.
6537 (netbsd_flags): Likewise.
6538 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
6539 (grub_cmd_freebsd): Transformed into extended command.
6540 (grub_cmd_openbsd): Likewise.
6541 (grub_cmd_netbsd): Likewise.
6542 (cmd_freebsd): Changed type to grub_extcmd_t.
6543 (cmd_openbsd): Likewise.
6544 (cmd_netbsd): Likewise.
6545 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
6546 grub_cmd_openbsd as extended commands.
6547 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
6548 cmd_netbsd and cmd_openbsd
6549
11d1c769 65502009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
6551
6552 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
6553
7a9094e5 65542009-08-21 Pavel Roskin <proski@gnu.org>
6555
5496c37e 6556 * Makefile.in (install-local): When checking if a file is in the
6557 build directory, use "test -e" to detect symlinks.
6558
7a9094e5 6559 * Makefile.in (install-local): Remove all files in
6560 $(DESTDIR)$(pkglibdir) before installing new files there.
6561
e53cea11 65622009-08-18 Felix Zielcke <fzielcke@z-51.de>
6563
6564 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
6565 grub-mkelfimage.
6566
9aced544 65672009-08-18 Felix Zielcke <fzielcke@z-51.de>
6568
6569 * util/grub-mkconfig.in: Don't use gfxterm by default if not
6570 explicitly specified by the user.
6571
b7da6bab 65722009-08-18 Pavel Roskin <proski@gnu.org>
6573
6574 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
6575 grub_uint8_t pointer for data.
6576 * include/grub/fbutil.h (struct grub_video_fbblit_info):
6577 Likewise.
6578 * video/fb/fbutil.c: Remove unnecessary casts.
6579
19f1b335 65802009-08-17 Michal Suchanek <hramrach@centrum.cz>
6581
6582 VBE cleanup.
6583
6584 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
6585 (grub_vbe_set_video_mode): Save active mode info
6586 only after setting the mode.
6587 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
6588 second argument.
6589
2f467aa9 65902009-08-17 Michal Suchanek <hramrach@centrum.cz>
6591
6592 Rename variables for clarity.
6593
6594 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
6595 (active_vbe_mode_info): ... this. All users updated.
6596 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
6597 All users updated.
6598 (initial_mode): Rename to ...
6599 (initial_vbe_mode): ... this. All users updated.
6600 (mode_in_use): Rename to ..
6601 (vbe_mode_in_use): ... this. All users updated.
6602 (mode_list): Rename to ..
6603 (vbe_mode_list): ... this. All users updated.
6604 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
6605 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
6606 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
6607 'mode_list_size' to 'vbe_mode_list_size'.
6608 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
6609 'best_mode_info' to 'best_vbe_mode_info' and
6610 'best_mode' to 'best_vbe_mode'
6611
6025fcd7 66122009-08-17 Michal Suchanek <hramrach@centrum.cz>
6613
6614 Remove duplicate grub_video_fb_get_video_ptr.
6615
6616 * include/grub/fbutil.h (get_data_ptr): Rename to ...
6617 (grub_video_fb_get_video_ptr): ... this.
6618 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
6619 * video/fb/fbutil.c: Add comment about addressing.
6620 (get_data_ptr): Rename to ...
6621 (grub_video_fb_get_video_ptr): ... this. All users updated.
6622 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
6623
cc8c6faf 66242009-08-17 Robert Millan <rmh.grub@aybabtu.com>
6625
6626 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
6627 grub_dprintf() that was just added.
6628
08aa61f0 66292009-08-17 Robert Millan <rmh.grub@aybabtu.com>
6630
6631 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
6632 (DEFAULT_VIDEO_MODE): Remove macros.
6633 (grub_linux_boot): Remove assumption that Linux has FB support,
6634 and use "text" as default video mode.
6635
7cef4f75 66362009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
6637
6638 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
6639 grub_dprintf.
6640 * fs/fat.c (grub_fat_read_data): Likewise.
6641
e1f39873 66422009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
6643
6644 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
6645 payload.
6646 (grub_module): Likewise.
6647
c166d79e 66482009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
6649
6650 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
6651 mbi->cmdline but free playground.
6652
c60cee8e 66532009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
6654
6655 Handle group offset on UFS1.
6656
6657 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
6658 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
6659
c0d8b5d4 66602009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
6661
6662 Split ufs.mod into ufs1.mod and ufs2.mod.
6663
6664 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
6665 (grub_fstest_SOURCES): Likewise.
6666 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
6667 (ufs_mod_SOURCES): Remove.
6668 (ufs_mod_CFLAGS): Likewise.
6669 (ufs_mod_LDFLAGS): Likewise.
6670 (ufs1_mod_SOURCES): New variable.
6671 (ufs1_mod_CFLAGS): Likewise.
6672 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 6673 (ufs2_mod_SOURCES): New variable.
6674 (ufs2_mod_CFLAGS): Likewise.
6675 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 6676 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
6677 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
6678 Likewise.
6679 (grub_emu_SOURCES): Likewise.
6680 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6681 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
6682 (grub_setup_SOURCES): Likewise.
6683 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6684 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
6685 (grub_setup_SOURCES): Likewise.
6686 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
6687 Likewise.
6688 * fs/ufs2.c: New file.
6689 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
6690
d3539132 66912009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
6692
6693 Framebuffer split.
6694
6695 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
6696 subsystem at the end.
6697 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
6698 (video_fb_mod_SOURCES): New variable.
6699 (video_fb_mod_CFLAGS): Likewise.
6700 (video_fb_mod_LDFLAGS): Likewise.
6701 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
6702 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
6703 * video/i386/pc/vbeblit.c: Moved from here ...
6704 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
6705 * video/i386/pc/vbefill.c: Moved from here ...
6706 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
6707 * video/i386/pc/vbeutil.c: Moved from here ...
6708 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
6709 * include/grub/i386/pc/vbeblit.h: Moved from here ...
6710 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
6711 * include/grub/i386/pc/vbefill.h: Moved from here ...
6712 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
6713 * include/grub/i386/pc/vbeutil.h: Moved from here ...
6714 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
6715 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
6716 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
6717 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
6718 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
6719 (grub_video_adapter): Added 'get_info_and_fini'.
6720 (grub_video_get_info_and_fini): New prototype.
6721 (grub_video_set_mode): make modestring const char *.
6722 * loader/i386/linux.c (grub_linux_setup_video): Use
6723 grub_video_get_info_and_fini.
6724 (grub_linux_boot): Move modesetting just before booting.
6725 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
6726 grub_video_get_info_and_fini.
6727 * video/i386/pc/vbe.c: Moved framebuffer part ...
6728 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
6729 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
6730 grub_video_fbstd_colors and grub_video_fb_set_palette.
6731 (grub_video_vbe_init): Clear 'framebuffer' variable and use
6732 grub_video_fb_init.
6733 (grub_video_vbe_fini): Use grub_video_fb_fini.
6734 (grub_video_vbe_setup): Use framebuffer.render_target instead of
6735 render_target and use grub_video_fb_set_active_render_target and
6736 grub_video_fb_set_palette.
6737 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
6738 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
6739 (grub_video_vbe_adapter): Use framebuffer.
6740 * video/video.c (grub_video_get_info_and_fini): New function.
6741 (grub_video_set_mode): Make modestring const char *.
6742 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
6743 values are already initialised.
6744
d404ee56 67452009-08-14 Pavel Roskin <proski@gnu.org>
6746
6747 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
6748 ABS and APPLE_CC.
6749 * boot/i386/pc/diskboot.S: Likewise.
6750 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
6751 sectors allow compilation on MacOSX.
6752 * conf/i386-pc.rmk: Enable unconditional compilation of
6753 lnxboot.img.
6754
9a10df16 67552009-08-13 Colin Watson <cjwatson@ubuntu.com>
6756
6757 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
6758 * util/grub.d/00_header.in: Enter interruptible sleep if
6759 GRUB_HIDDEN_TIMEOUT is set.
6760
be3c9ca7 67612009-08-13 Yves Blusseau <blusseau@zetam.org>
6762
6763 * include/grub/symbol.h: Add the LOCAL macro.
6764 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
6765 starting with "L_".
6766
1f9e557e 67672009-08-13 Pavel Roskin <proski@gnu.org>
6768
9ca62843 6769 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
6770 any modern compilers we support.
6771
1f9e557e 6772 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
6773 Use local labels starting with "L_" so that Apple assembler
6774 knows they are local.
6775
81623db6 67762009-08-10 Robert Millan <rmh.grub@aybabtu.com>
6777
6778 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
6779 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
6780 (bsd_kernel_types): ... this enum.
6781
6782 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
6783 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
6784 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
6785
6786 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
6787 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
6788 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
6789 messages.
6790
f5d35e7a 67912009-08-08 Robert Millan <rmh.grub@aybabtu.com>
6792
6793 * util/grub-dumpdevtree: Moved from here ...
6794 * util/i386/efi/grub-dumpdevtree: ... to here.
6795 (hexify): New function. Converts a string to its hex version.
6796 Generate hex versions of "efi" and "device-properties" by calling
6797 hexify() on the ASCII strings rather than by hardcoding numbers.
6798
d1e1d527 67992009-08-08 Robert Millan <rmh.grub@aybabtu.com>
6800
6801 * fs/jfs.c: Update copyright year.
6802
1ebbe064 68032009-08-08 Felix Zielcke <fzielcke@z-51.de>
6804
6805 * util/grub.d/00_header.in: Fix a comment.
6806 * util/grub.d/10_linux.in: Likewise.
6807 * util/grub.d/10_windows.in: Likewise.
6808 * util/grub.d/10_hurd.in: Likewise.
6809
a78c8d24 68102009-08-08 Felix Zielcke <fzielcke@z-51.de>
6811
6812 * util/grub-mkconfig.in: Allow the user to specify the used font
6813 with GRUB_FONT.
6814
29a6b9e8 68152009-08-08 Pavel Roskin <proski@gnu.org>
6816
b5f16cc4 6817 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
6818 available, xfs.mod needs it now.
6819
2f5cb827 6820 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
6821 the "g" modifier in sed when the intention is to strip something
6822 once. This fixes comparison of kernels with multiple dashes.
6823
29a6b9e8 6824 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
6825 on it. Add missing space before closing bracket. Fix
6826 misleading formatting.
6827
892a3d98 68282009-08-07 Robert Millan <rmh.grub@aybabtu.com>
6829
6830 * docs/grub.texi: Major overhaul. Remove all sections that are
6831 specific to GRUB Legacy, or mostly composed of Legacy-specific
6832 information.
6833
ed94253f 68342009-08-07 Robert Millan <rmh.grub@aybabtu.com>
6835
6836 * docs/version.texi: New file. Provides version information for
6837 grub.texi.
6838
126d6628 68392009-08-07 Robert Millan <rmh.grub@aybabtu.com>
6840
6841 * docs/grub.texi: Update CVS information to SVN.
6842 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
6843
998b5aa9 68442009-08-07 Felix Zielcke <fzielcke@z-51.de>
6845
6846 * util/grub-mkconfig.in: Remove a wrong `fi'.
6847
818e094a 68482009-08-07 Felix Zielcke <fzielcke@z-51.de>
6849
6850 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
6851 (grub_jfs_uuid): New function.
6852 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
6853
b969c52f 68542009-08-07 Felix Zielcke <fzielcke@z-51.de>
6855
6856 * util/grub-mkconfig_lib.in (font_path): Move the functionality
6857 of it to ...
6858 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
6859 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
6860
7a4894cc 68612009-08-07 Robert Millan <rmh.grub@aybabtu.com>
6862
6863 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
6864 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
6865 Update all users.
6866
6867 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
6868 not just "vmlinu[zx]".
6869 Moved from here ...
6870 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
6871 all users.
6872
6873 * util/grub.d/10_linux.in (find_latest): Moved from here ...
6874 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
6875 all users.
6876
4e2171f8 68772009-08-07 Robert Millan <rmh.grub@aybabtu.com>
6878
6879 * util/grub.d/10_freebsd.in: Use an absolute device path for
6880 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
6881
6dcfcb32 68822009-08-06 Felix Zielcke <fzielcke@z-51.de>
6883
6884 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
6885 handling of multiple abstraction modules.
6886
f56a8756 68872009-08-04 Robert Millan <rmh.grub@aybabtu.com>
6888
6889 Fix a bug resulting in black screen when loading Linux using a
6890 packed video mode.
6891
6892 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
6893 function.
6894
6895 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
6896 (grub_vbe_bios_getset_dac_palette_width): New function.
6897 (grub_vbe_bios_get_dac_palette_width)
6898 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
6899 grub_vbe_bios_getset_dac_palette_width()).
6900
6901 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
6902 check for return status.
6903 (grub_vbe_get_video_mode_info): When getting information for a packed
6904 mode (<= 8 bpp), obtain DAC palette width using
6905 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
6906 {red,green,blue}_mark_size.
6907
222671b2 69082009-08-04 Felix Zielcke <fzielcke@z-51.de>
6909
ecb1a6d9 6910 * commands/search.c (options): Fix help output to match actual code.
222671b2 6911
f84114f5 69122009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
6913
6914 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
6915 of homegrown code.
6916
bd288a20 69172009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 6918
6919 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
6920 on XFS or ReiserFS.
6921
8aab5e25 69222009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
6923
6924 Support Apple partition map with sector size different from 512 bytes.
6925
6926 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
6927 (apple_partition_map_iterate): Respect 'aheader.blocksize'
6928 and 'apart.partmap_size'.
6929
6ad6258a 69302009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
69312009-08-01 Robert Millan <rmh.grub@aybabtu.com>
6932
6933 Fix cpuid command.
6934
6935 * commands/i386/cpuid.c (options): New variable.
6936 (grub_cmd_cpuid): Return real error.
6937 (GRUB_MOD_INIT(cpuid)): Declare options.
6938
67459bc6 69392009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
6940
6941 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
6942 valid.
6943
fbc6ab54 69442009-07-31 Bean <bean123ch@gmail.com>
6945
6946 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
6947 log2_inode.
6948 (grub_fshelp_node): Move inode field to the end.
6949 (grub_xfs_data): Remove inode field.
6950 (grub_xfs_inode_block): Calculate inode size using sblock.
6951 (grub_xfs_inode_offset): Likewise.
6952 (grub_xfs_read_inode): Calculate inode size using sblock.
6953 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
6954 (grub_xfs_iterate_dir): Calculate inode size using sblock.
6955 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
6956 to match inode size.
6957 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
6958 not accessible when data is null.
6959 (grub_xfs_open): Likewise.
6960
f45d6cfc 69612009-07-31 Bean <bean123ch@gmail.com>
6962
6963 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
6964 Don't change pv->disk if it's already set.
6965
6966 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
6967 (grub_raid_register): ... here.
6968 (grub_raid_rescan): Removed.
6969
6970 * include/grub/raid.h (grub_raid_rescan): Removed.
6971
6972 * util/grub-fstest.c: Remove include file <grub/raid.h>.
6973 (fstest): Replace grub_raid_rescan with module fini function followed
6974 by init function.
6975
6976 * util/grub-probe.c: Add include file <grub/raid.h>.
6977 (probe_raid_level): New function.
6978 (probe): Detect abstraction by walking the disk device, support two
6979 level of abstraction (LVM on RAID) when detecting partition map.
6980
24443b5a 69812009-07-31 Pavel Roskin <proski@gnu.org>
6982
6983 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
6984 to grub_zalloc(), it was erroneous.
6985 Reported by Bean <bean123ch@gmail.com>
6986
a275d9e7 69872009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
6988
6989 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 6990 embedding zone, not only the first one.
a275d9e7 6991
56c5a47f 69922009-07-29 Joe Auricchio <jauricchio@gmail.com>
6993
6994 * term/gfxterm.c (clear_char): New function.
6995 (grub_virtual_screen_setup): Use clear_char.
6996 (scroll_up): Likewise.
6997 (grub_virtual_screen_cls): Likewise.
6998
67bb323a 69992009-07-29 Felix Zielcke <fzielcke@z-51.de>
7000
7001 * util/deviceiter.c (get_acceleraid_disk_name): New static
7002 function.
7003 (grub_util_iterate_devices): Handle Accelraid devices.
7004 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
7005
388a7c75 70062009-07-28 Robert Millan <rmh.grub@aybabtu.com>
7007
7008 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
7009 separator for the suggested gfxpayload string (';' collides with the
7010 parser and needs escaping).
7011
3bb7abcf 70122009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
7013
7014 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
7015 Clear direction flag before jumping to OS.
7016 (grub_multiboot2_real_boot): Likewise.
7017
2ddd36d7 70182009-07-28 Felix Zielcke <fzielcke@z-51.de>
7019
7020 * util/i386/pc/grub-install: Fix parsing of --disk-module
7021 option.
7022
c521b62b 70232009-07-28 Felix Zielcke <fzielcke@z-51.de>
7024
7025 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
7026 when embedding.
7027
880e0a0c 70282009-07-26 Felix Zielcke <fzielcke@z-51.de>
7029
7030 * util/grub-mkconfig.in (package_version): New variable.
7031 Use it do display the version.
7032
2366e356 70332009-07-25 Felix Zielcke <fzielcke@z-51.de>
7034
7035 * kern/file.c (grub_file_open): Revert to previous check with
7036 grub_errno.
7037
7ad8c80e 70382009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7039
7040 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
7041 from help line. It's out of sync with code.
7042
72b9658b 70432009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7044
7045 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
7046 entries on failed boot.
7047
77435277 70482009-07-25 Felix Zielcke <fzielcke@z-51.de>
7049
7050 * kern/file.c (grub_file_open): Fix an error check.
7051
fcaa8b21 70522009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
7053
35d16c74 7054 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
7055 partition map couldn't be identified.
fcaa8b21 7056
48904cd1 70572009-07-23 Pavel Roskin <proski@gnu.org>
7058
ef3c317f 7059 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
7060 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
7061 case of little endian words becomes just an optimization.
7062 Respect const modifier.
ad8ea1f4 7063 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 7064
48904cd1 7065 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
7066 to avoid loss of upper bits if align is unsigned and shorter
7067 than addr.
7068
260c9a89 70692009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
7070
7071 UUID support for UFS
7072
7073 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
7074 (grub_ufs_uuid): New function.
7075 (grub_ufs_fs): add .uuid
7076
f76ce889 70772009-07-21 Pavel Roskin <proski@gnu.org>
7078
7079 * kern/dl.c (grub_dl_check_header): Make static.
7080
6a6cbcaf 70812009-07-21 Felix Zielcke <fzielcke@z-51.de>
7082
7083 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
7084 add drivemap for Vista. It breaks Windows 7.
7085
cffcddb2 70862009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
7087
7088 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
7089 128 bytes
7090
1ef44b80 70912009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
7092
7093 Add BFS support
7094
7095 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
7096 (grub_fstest_SOURCES): Likewise.
7097 (pkglib_MODULES): Add befs.mod.
7098 (befs_mod_SOURCES): New variable.
7099 (befs_mod_CFLAGS): Likewise.
7100 (befs_mod_LDFLAGS): Likewise.
7101 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
7102 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
7103 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7104 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
7105 (grub_setup_SOURCES): Likewise.
7106 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7107 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7108 (grub_setup_SOURCES): Likewise.
7109 * fs/befs.c: New file.
7110 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
7111 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
7112 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
7113 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
7114 (B_KEY_INDEX_ALIGN): New declaration.
7115 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
7116 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
7117 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
7118 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
7119 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
7120 (grub_afs_mount) [MODE_BFS]: Likewise.
7121 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
7122 (grub_afs_fs): Use GRUB_AFS_FSNAME
7123 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
7124 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
7125 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
7126 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
7127
4f253044 71282009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
7129
7130 * util/getroot.c (find_root_device): Add support for MacOSX.
7131 * util/hostdisk.c: Likewise.
7132
57a55913 71332009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
7134
7135 * font/font.c (find_glyph): Check whether a font is present to avoid
7136 segmentation fault.
75421ca9 7137
71382009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 7139
7140 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
7141
e98cd0c2 71422009-07-20 Pavel Roskin <proski@gnu.org>
7143
7144 * configure.ac: Trim excessively wordy excuses.
7145
1d2d169a 71462009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
7147
7148 Add symlink, mtime and label support to AtheFS.
7149
7150 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
7151 (grub_afs_iterate_dir): Handle symlinks.
7152 (grub_afs_open): Use grub_afs_read_symlink.
7153 (grub_afs_dir): Likewise.
7154 Pass mtime.
7155 (grub_afs_label): New function.
7156 (grub_afs_fs): Add grub_afs_label.
7157 (grub_afs_read_symlink): New function.
7158
186f3189 71592009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
7160
7161 Fix AtheFS support.
7162
7163 * fs/afs.c: Fix comments style.
7164 (grub_afs_blockrun): Declare as packed.
7165 (grub_afs_datastream): Likewise.
7166 (grub_afs_bnode): Likewise.
7167 (grub_afs_btree): Likewise.
7168 (grub_afs_sblock): Likewise.
7169 Declare `name' as char.
7170 (grub_afs_inode): Declare as packed.
7171 Change void *vnode to grub_uint32_t unused.
7172 (grub_afs_iterate_dir): Check that key_size is positive.
7173 (grub_afs_mount): Don't read superblock twice.
75421ca9 7174 (grub_afs_dir): Don't free node in case of error,
186f3189 7175 grub_fshelp_find_file already handles this.
7176 (grub_afs_open): Likewise.
7177
5680109e 71782009-07-19 Pavel Roskin <proski@gnu.org>
7179
7180 * Makefile.in: Remove LIBLZO and enable_lzo.
7181 * conf/i386-pc.rmk: Remove lzo support.
7182 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
7183 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
7184 support.
7185 * kern/i386/pc/lzo1x.S: Remove.
7186 * kern/i386/pc/startup.S: Remove lzo support.
7187 * util/i386/pc/grub-mkimage.c: Likewise.
7188
ac70fa32 71892009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
7190
7191 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
7192 * fs/xfs.c (grub_xfs_dir): Likewise.
7193 * fs/afs.c (grub_afs_dir): Likewise.
7194 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
7195 (grub_iso9660_open): Likewise.
7196 * fs/jfs.c (grub_jfs_open): Likewise.
7197 * fs/ext2.c (grub_ext2_dir): Likewise.
7198 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
7199 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 7200
eab58da2 72012009-07-16 Pavel Roskin <proski@gnu.org>
7202
d2838156 7203 * configure.ac: Never add "-c" to CFLAGS.
7204
55c70904 7205 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
7206
43e6200c 7207 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
7208 grub_cv_cc_efiemu should be used.
7209
ce7a733d 7210 * configure.ac: Typo fixes.
7211
eab58da2 7212 * kern/mm.c (grub_zalloc): New function.
7213 (grub_debug_zalloc): Likewise.
7214 * include/grub/mm.h: Declare grub_zalloc() and
7215 grub_debug_zalloc().
7216 * util/misc.c (grub_zalloc): New function.
7217 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
7218 instead of grub_malloc(), remove unneeded initializations.
7219 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
7220 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
7221 * commands/parttool.c (grub_cmd_parttool): Likewise.
7222 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
7223 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
7224 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
7225 * disk/usbms.c (grub_usbms_finddevs): Likewise.
7226 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
7227 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
7228 (grub_cmd_efiemu_pnvram): Likewise.
7229 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
7230 * fs/iso9660.c (grub_iso9660_mount): Likewise.
7231 (grub_iso9660_iterate_dir): Likewise.
7232 * fs/jfs.c (grub_jfs_opendir): Likewise.
7233 * fs/ntfs.c (list_file): Likewise.
7234 (grub_ntfs_mount): Likewise.
7235 * kern/disk.c (grub_disk_open): Likewise.
7236 * kern/dl.c (grub_dl_load_core): Likewise.
7237 * kern/elf.c (grub_elf_file): Likewise.
7238 * kern/env.c (grub_env_context_open): Likewise.
7239 (grub_env_set): Likewise.
7240 (grub_env_set_data_slot): Likewise.
7241 * kern/file.c (grub_file_open): Likewise.
7242 * kern/fs.c (grub_fs_blocklist_open): Likewise.
7243 * loader/i386/multiboot.c (grub_module): Likewise.
7244 * loader/xnu.c (grub_xnu_create_key): Likewise.
7245 (grub_xnu_create_value): Likewise.
7246 * normal/main.c (grub_normal_add_menu_entry): Likewise.
7247 (read_config_file): Likewise.
7248 * normal/menu_entry.c (make_screen): Likewise.
7249 * partmap/sun.c (sun_partition_map_iterate): Likewise.
7250 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
7251 * script/sh/script.c (grub_script_parse): Likewise.
7252 * video/bitmap.c (grub_video_bitmap_create): Likewise.
7253 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
7254 * video/readers/png.c (grub_png_output_byte): Likewise.
7255 (grub_video_reader_png): Likewise.
7256
830afef7 72572009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 7258
7259 Enable all targets that can be built by default
7260
830afef7 7261 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 7262 grub-mkfont and grub-fstest if they can be built
7263
ee293aee 72642009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
7265
7266 Fix hang and segmentation fault in grub-emu-usb
7267
7268 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
7269 * util/usb.c (grub_libusb_devices): likewise
7270 (grub_libusb_init): rename to ...
7271 (GRUB_MOD_INIT (libusb)):...this
7272 (grub_libusb_fini): rename to ..
7273 (GRUB_MOD_FINI (libusb)):...this
7274 * disk/usbms.c (grub_usbms_transfer): fix retry logic
7275 * include/grub/disk.h (grub_raid_init): removed, it's useless
7276 (grub_raid_fini): likewise
7277 (grub_lvm_init): likewise
7278 (grub_lvm_fini): likewise
7279 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
7280 by grub_init_all
7281
94414221 72822009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
7283
7284 Fix libusb
7285
7286 * Makefile.in (LIBUSB): new macro
7287 * genmk.rb (Utility/print_tail): new method
7288 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
7289 (top level): call util.print_tail at the end.
7290
59ade63d 72912009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
7292
7293 Make FreeBSD accept zpool.cache
7294
7295 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
7296 type is /boot/zfs/zpool.cache
7297
a58da8c7 72982009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
7299
7300 Fix 64-bit efiemu
7301
7302 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
7303 correct wrong typedef
7304 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
7305
20591577 73062009-07-15 Pavel Roskin <proski@gnu.org>
7307
560ca572 7308 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
7309 * kern/disk.c (struct grub_disk_cache): Likewise.
7310
e8e8e4fd 7311 * commands/probe.c (options): Typo fix.
7312
fde24e10 7313 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
7314 Increase to 0x5a to accommodate FAT32. Adjust other offsets
7315 accordingly.
7316 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
7317
379c54c1 7318 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
7319 the end of "Error" to make the message more readable.
7320
7bd8f5bf 7321 * boot/i386/pc/boot.S (kernel_segment): Remove.
7322 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
7323 for destination.
7324
40b132c5 7325 * boot/i386/pc/boot.S (boot_version): Remove.
7326 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
7327 Remove.
7328
20591577 7329 * include/grub/i386/pc/boot.h: Sort all offsets.
7330 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
7331 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
7332 * boot/i386/pc/boot.S: Assert location of every offset listed in
7333 include/grub/i386/pc/boot.h.
7334
2df32b2c 73352009-07-13 Pavel Roskin <proski@gnu.org>
7336
44b5d879 7337 * include/grub/i386/coreboot/machine.h: Rename
7338 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
7339 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
7340 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
7341
17dc3751 7342 * kern/dl.c: Force native word size to suppress warnings when
7343 compiling grub-emu.
7344
2df32b2c 7345 * kern/device.c (grub_device_iterate): Change struct part_ent to
7346 hold the name, not a pointer to it. Use one grub_malloc() per
7347 partition, not two. Free partition_name if grub_malloc() fails.
7348 Set ents to NULL only before grub_partition_iterate() is called.
7349
75c59f59 73502009-07-11 Bean <bean123ch@gmail.com>
7351
7352 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
7353 childname.
7354
0ae1bf88 73552009-07-10 Bean <bean123ch@gmail.com>
73562009-07-10 Robert Millan <rmh.grub@aybabtu.com>
7357
7358 * kern/ieee1275/openfw.c (grub_children_iterate)
7359 (grub_devalias_iterate): Fix size evaluation for property or path
7360 strings, which was broken since r2132.
7361
8279cade 73622009-07-07 Pavel Roskin <proski@gnu.org>
7363
7d8a52d3 7364 * commands/search.c (search_file): Merge into ...
7365 (search_fs): ... this. Accept search type as argument.
7366 (grub_cmd_search): Pass search type to search_fs().
7367
25f9a05a 7368 * include/grub/util/console.h: New file.
7369 * util/console.c: Use it instead of grub/machine/console.h.
7370 * util/grub-emu.c: Likewise.
7371
8279cade 7372 * lib/arg.c (find_long_option): Remove.
7373 (find_long): Add `len' argument, make `s' const char *.
7374 (grub_arg_parse): Parse long options in place, not in a
7375 temporary buffer.
7376
4a11b60f 73772009-07-06 Pavel Roskin <proski@gnu.org>
7378
99f68041 7379 * commands/search.c (search_fs): Fix potential NULL pointer
7380 dereference.
7381
4a11b60f 7382 * commands/search.c (search_fs): Replace QUID macro with quid_fn
7383 function pointer.
7384
e110f4de 73852009-07-06 Daniel Mierswa <impulze@impulze.org>
7386
7387 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
7388 comparison.
7389
46eeb6a2 73902009-07-05 Pavel Roskin <proski@gnu.org>
7391
bab74958 7392 * include/grub/i386/linux.h (struct linux_kernel_params):
7393 Restore padding3, it's still needed.
7394
46eeb6a2 7395 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
7396 FreeBSD.
7397 * util/osdetect.lua: Likewise.
7398
b4a1dc79 73992009-07-05 Bean <bean123ch@gmail.com>
7400
7401 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
7402
7403 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
7404 (grub_lua_getenv): Likewise.
7405 (grub_lua_setenv): Likewise.
7406 (save_errno): New function.
7407 (push_result): Likewise.
7408 (grub_lua_enum_device): Likewise.
7409 (grub_lua_enum_file): Likewise.
7410 (grub_lua_file_open): Likewise.
7411 (grub_lua_file_close): Likewise.
7412 (grub_lua_file_seek): Likewise.
7413 (grub_lua_file_read): Likewise.
7414 (grub_lua_file_getline): Likewise.
7415 (grub_lua_file_getsize): Likewise.
7416 (grub_lua_file_getpos): Likewise.
7417 (grub_lua_file_eof): Likewise.
7418 (grub_lua_file_exist): Likewise.
7419 (grub_lua_add_menu): Likewise.
7420
7421 * script/lua/grub_lua.h (isupper): New inline function.
7422 (islower): Likewise.
7423 (ispunct): Likewise.
7424 (isxdigit): Likewise.
7425 (strcspn): Change to normal function.
7426 (strpbkr): New function declaration.
7427 (memchr): Likewise.
7428
7429 * script/lua/grub_main.c (scan_str): New function.
7430 (strcspn): Likewise.
7431 (strpbrk): Likewise.
7432 (memchr): Likewise.
7433
7434 * script/lua/linit.c (lualibs): Enable the string library.
7435
7436 * util/osdetect.lua: New file.
7437
2da92295 74382009-07-04 Robert Millan <rmh.grub@aybabtu.com>
7439
7440 * include/grub/i386/linux.h (struct linux_kernel_params): Add
7441 `capabilities' member.
7442
b2582ec9 74432009-07-02 Pavel Roskin <proski@gnu.org>
7444
7445 * genparttoollist.sh: Add missing newline at the end.
7446
32622956 74472009-07-01 Pavel Roskin <proski@gnu.org>
7448
87a7339e 7449 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
7450
d23af54e 7451 * util/hostdisk.c (open_device): Remove `const' from
7452 `sysctl_size', as sysctlbyname() can change it (in this case it
7453 doesn't actually happen).
7454
c94b18a9 7455 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
7456 using signed long int constants.
7457
c6cd3ef0 7458 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
7459 constant to avoid a warning on FreeBSD.
7460
0df63420 7461 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
7462 where it's needed.
7463
999577f1 7464 * Makefile.in: Install include/grub/machine symlink.
7465
6f41557f 7466 * Makefile.in: When installing symlinks, use "cp -fR", which
7467 works on FreeBSD and MacOSX.
7468 From Yves Blusseau <cl7m42e02@sneakemail.com>
7469
c8d22988 7470 * kern/dl.c (grub_dl_resolve_symbol): Make static.
7471 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
7472
1b96e952 7473 * util/misc.c: Move grub_reboot() and grub_halt() ...
7474 * util/grub-emu.c: ... here. Make main_env static.
7475 * include/grub/util/misc.h: Remove main_env.
7476
2ef0084d 7477 * kern/mm.c: Use correct format to print size_t.
7478
32622956 7479 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
7480 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
7481 * kern/powerpc/dl.c: Likewise.
7482 * kern/sparc64/dl.c: Likewise.
7483 * kern/x86_64/dl.c: Likewise.
7484
3f7f0cd0 74852009-07-01 Robert Millan <rmh.grub@aybabtu.com>
7486
7487 Fix grub-emu build on sparc64-ieee1275.
7488
75421ca9 7489 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 7490 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
7491
211d06b5 74922009-07-01 Robert Millan <rmh.grub@aybabtu.com>
7493
7494 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
7495 (grub_reboot, grub_halt): New functions.
7496
7497 * util/i386/pc/misc.c: Delete. Update all users.
7498 * util/sparc64/ieee1275/misc.c: Likewise.
7499 * util/powerpc/ieee1275/misc.c: Likewise.
7500
aaf53e3c 75012009-07-01 Robert Millan <rmh.grub@aybabtu.com>
7502
7503 * conf/i386.rmk (setjmp_mod_SOURCES)
7504 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
7505 * conf/common.rmk (setjmp_mod_SOURCES)
7506 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
7507 to use $(target_cpu).
7508 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
7509 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
7510 * conf/powerpc-ieee1275.rmk: Likewise.
7511 * conf/sparc64-ieee1275.rmk: Likewise.
7512
7513 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
7514 $(target_cpu) for kern/$(target_cpu)/dl.c.
7515 * conf/i386-efi.rmk: Likewise.
7516 * conf/i386-ieee1275.rmk: Likewise.
7517 * conf/x86_64-efi.rmk: Likewise.
7518 * conf/i386-coreboot.rmk: Likewise.
7519 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
7520 $(target_cpu) for kern/$(target_cpu)/dl.c and for
7521 kern/$(target_cpu)/cache.S.
7522 * conf/sparc64-ieee1275.rmk: Likewise.
7523
a337130b 75242009-07-01 Robert Millan <rmh.grub@aybabtu.com>
7525
7526 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
7527 type to `grub_uint8_t', and adjust `padding9' accordingly.
7528
c6fe4d53 75292009-06-29 Robert Millan <rmh.grub@aybabtu.com>
7530
b09db61d 7531 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
7532
c6fe4d53 7533 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
7534 assembly in final jump, using register constraints.
7535
b09db61d 7536 (grub_linux_boot): For text mode, initialize `have_vga' using
7537 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
7538
7539 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
7540 right before the final jump.
7541
7542 Set `video_mode' to 0x3.
7543
7544 Document initialization of `video_page', `video_mode' and
7545 `video_ega_bx'.
7546
28333ad0 75472009-06-29 Robert Millan <rmh.grub@aybabtu.com>
7548
7549 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
7550 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 7551 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 7552
02164e1b 75532009-06-29 Robert Millan <rmh.grub@aybabtu.com>
7554
7555 Fix build on Debian / sparc.
7556
7557 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
7558
18b6c557 75592009-06-28 Pavel Roskin <proski@gnu.org>
7560
85f2aab6 7561 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
7562 fix a warning.
7563
18b6c557 7564 * util/grub.d/10_linux.in: Match SUSE style initrd names.
7565
ad760f81 75662009-06-27 Robert Millan <rmh.grub@aybabtu.com>
7567
7568 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
7569 `err'.
7570
87a4623b 75712009-06-27 Robert Millan <rmh.grub@aybabtu.com>
7572
7573 Revert r2338.
7574
7575 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
7576 file can't be opened. grub_file_open() is already supposed to set
75421ca9 7577 grub_errno / grub_errmsg appropriately.
87a4623b 7578 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7579
8231fb77 75802009-06-27 Pavel Roskin <proski@gnu.org>
75812009-06-27 Robert Millan <rmh.grub@aybabtu.com>
7582
7583 * include/grub/dl.h: Include grub/elf.h.
7584 (struct grub_dl): Add symtab field.
7585 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
7586 GRUB_MODULES_MACHINE_READONLY.
7587 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
7588 of the header for read-only modules.
7589 (grub_dl_unload): Free mod->symtab for read-only modules.
7590 * kern/i386/dl.c: Use mod->symtab.
7591 * kern/powerpc/dl.c: Likewise.
7592 * kern/sparc64/dl.c: Likewise.
7593 * kern/x86_64/dl.c: Likewise.
7594
7595 * conf/i386-qemu.rmk: New file.
7596 * kern/i386/qemu/startup.S: Likewise.
7597 * kern/i386/qemu/mmap.c: Likewise.
7598 * boot/i386/qemu/boot.S: Likewise.
7599 * include/grub/i386/qemu/time.h: Likewise.
7600 * include/grub/i386/qemu/serial.h: Likewise.
7601 * include/grub/i386/qemu/kernel.h: Likewise.
7602 * include/grub/i386/qemu/console.h: Likewise.
7603 * include/grub/i386/qemu/boot.h: Likewise.
7604 * include/grub/i386/qemu/init.h: Likewise.
7605 * include/grub/i386/qemu/machine.h: Likewise.
7606 * include/grub/i386/qemu/loader.h: Likewise.
7607 * include/grub/i386/qemu/memory.h: Likewise.
7608
7609 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
7610 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
7611 [qemu] (pkglib_IMAGES): Add `boot.img'.
7612 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
7613 [qemu] (boot_img_FORMAT): New variables.
7614 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
7615 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
7616 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
7617 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
7618 [qemu] (kernel_img_FORMAT): New variables.
7619
7620 * configure.ac: Recognise `i386-qemu'.
7621
7622 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
7623 (for no compression).
7624 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
7625 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
7626 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
7627 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
7628 ifdefs).
7629
97fe384e 76302009-06-27 Pavel Roskin <proski@gnu.org>
7631
7632 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
7633 read.
7634 * efiemu/prepare32.c: Likewise.
7635 * efiemu/prepare64.c: Likewise.
7636
c402ab17 76372009-06-26 Pavel Roskin <proski@gnu.org>
7638
7639 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
7640 * include/grub/elf.h: Define symbols without "32" or "64" based
7641 on GRUB_TARGET_WORDSIZE.
7642 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
7643 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
7644 ELF definitions.
7645 * efiemu/loadcore64.c: Likewise.
7646 * loader/i386/bsd32.c: Likewise.
7647 * loader/i386/bsd64.c: Likewise.
7648 * kern/dl.c: Remove own ELF definitions.
7649 * util/i386/efi/grub-mkimage.c: Likewise.
7650
9bbdfd4d 76512009-06-23 Robert Millan <rmh.grub@aybabtu.com>
7652
7653 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
7654 segment 0x0 unconditionally, because the reference generated by
7655 GAS is an absolute address.
7656
a42ce6e9 76572009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7658
7659 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
7660 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
7661
c952cf92 76622009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7663
7664 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
7665 indexes. Check for -f explicitly.
cc3752ad 7666 (search_file): Improve error message.
7667 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 7668
132a0a59 76692009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7670
7671 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
7672 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
7673
387a140c 76742009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7675
7676 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
7677 * conf/i386-ieee1275.rmk: Likewise.
7678 * conf/i386-coreboot.rmk: Likewise.
7679
7680 * kern/i386/pc/startup.S (grub_stop): Remove function.
7681 * kern/i386/ieee1275/startup.S: Likewise.
7682 * kern/i386/coreboot/startup.S: Likewise.
7683 * kern/i386/misc.S (grub_stop): New function.
7684
41da9665 76852009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7686
7687 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
7688 * kern/i386/realmode.S (real_to_prot): ... to here.
7689
bf337234 76902009-06-22 Robert Millan <rmh.grub@aybabtu.com>
7691
7692 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
7693 with `kernel.img'.
7694 (kernel_elf_SOURCES): Rename to ...
7695 (kernel_img_SOURCES): ... this.
7696 (kernel_elf_HEADERS): Rename to ...
7697 (kernel_img_HEADERS): ... this. Update all users.
7698 (kernel_elf_ASFLAGS): Rename to ...
7699 (kernel_img_ASFLAGS): ... this.
7700 (kernel_elf_CFLAGS): Rename to ...
7701 (kernel_img_CFLAGS): ... this.
7702 (kernel_elf_LDFLAGS): Rename to ...
7703 (kernel_img_LDFLAGS): ... this.
7704 * conf/i386-coreboot.rmk: Likewise.
7705 * conf/powerpc-ieee1275.rmk: Likewise.
7706
7707 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
7708 with "kernel.img".
7709
f52196ff 77102009-06-21 Pavel Roskin <proski@gnu.org>
7711
c3cee413 7712 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
7713 to match nested functions.
7714 * loader/sparc64/ieee1275/linux.c: Likewise.
7715
f52196ff 7716 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
7717
58750afc 77182009-06-21 Robert Millan <rmh.grub@aybabtu.com>
7719
7720 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
7721 all i386 platforms.
7722
15355c7d 77232009-06-21 Robert Millan <rmh.grub@aybabtu.com>
7724
7725 Fix asm file handling on ELF, and remove workarounds.
7726
7727 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 7728 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 7729 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
7730 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
7731
3f3ec72b 77322009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
7733
7734 Load BSD ELF modules
7735
7736 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
7737 and loader/i386/bsd64.c
7738 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
7739 (FREEBSD_MODTYPE_ELF_MODULE): New definition
7740 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
7741 (grub_freebsd_load_elfmodule32): New declaration
7742 (grub_freebsd_load_elfmoduleobj64): Likewise
7743 (grub_freebsd_load_elf_meta32): Likewise
7744 (grub_freebsd_load_elf_meta64): Likewise
7745 (grub_freebsd_add_meta): Likewise
7746 (grub_freebsd_add_meta_module): Likewise
7747 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
7748 (grub_freebsd_add_meta_module): Likewise and move module-specific
7749 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
7750 (grub_cmd_freebsd): Add elf-kernel specific parts
7751 based on grub_freebsd_add_meta_module
7752 (grub_cmd_freebsd_module): Add type parsing moved from
7753 grub_freebsd_add_meta_module
7754 (grub_cmd_freebsd_module_elf): New function
7755 (cmd_freebsd_module_elf): New variable
7756 (GRUB_MOD_INIT): Register freebsd_module_elf
7757 * loader/i386/bsd32.c: New file
7758 * loader/i386/bsd64.c: Likewise
7759 * loader/i386/bsdXX.c: Likewise
7760 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
7761 (grub_elf64_load): Likewise
7762 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
7763 All users updated
7764 (grub_elf64_load_hook_t): Likewise
7765
0db15301 77662009-06-21 Colin Watson <cjwatson@ubuntu.com>
7767
7768 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
7769 variable.
7770 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
7771 don't write a menu entry for recovery mode.
7772
546796c1 77732009-06-20 Robert Millan <rmh.grub@aybabtu.com>
7774
7775 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
7776 after it's no longer needed.
7777
cd7310d5 77782009-06-20 Robert Millan <rmh.grub@aybabtu.com>
7779
7780 * include/grub/i386/loader.h (grub_linux_prot_size)
7781 (grub_linux_tmp_addr, grub_linux_real_addr)
7782 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
7783 GRUB_MACHINE_PCBIOS.
7784 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
7785 common grub_util_info() call to ...
7786 (generate_image): ... here.
7787 Fix use of uninitialized memory, comparison of signed with
7788 unsigned integers and memory leak.
7789 Remove bogus module address message.
7790
ab32d3b5 77912009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
7792
7793 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
7794 grub_raid_register
7795 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
7796
024ef597 77972009-06-19 Pavel Roskin <proski@gnu.org>
7798
7799 * configure.ac: Remove stray AC_MSG_CHECKING.
7800
3ac72b51 78012009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
7802
7803 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 7804
e14cd814 78052009-06-18 Pavel Roskin <proski@gnu.org>
7806
7807 * conf/common.rmk: Add fs_file.mod.
7808 * disk/fs_file.c: New file.
7809 * include/grub/disk.h (enum grub_disk_dev_id): Add
7810 GRUB_DISK_DEVICE_FILE_ID.
7811
26586d98 78122009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7813
7814 Fix build with Apple's toolchain. Part 2
7815
7816 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
7817 a fake start
7818
26de2bcd 78192009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7820
7821 Fix build with Apple's toolchain. Part 1
7822
7823 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
7824 for long calls
7825 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 7826 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 7827 Apple's toolchain
7828
09b3490b 78292009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
7830
7831 Fix warnings
7832
7833 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
7834 (decomp_block): initialize ch
7835 use grub_memcpy instead of memcpy
7836
c22a006a 78372009-06-17 Pavel Roskin <proski@gnu.org>
7838
d3638678 7839 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
7840 version, use declarations needed to use vga_text as the startup
7841 console.
7842
c22a006a 7843 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
7844 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
7845 the kernel.
7846 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
7847 and grub_at_keyboard_fini(), it's done on module load and
7848 unload.
7849
05b129e0 78502009-06-17 Felix Zielcke <fzielcke@z-51.de>
7851
7852 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
7853 file can't be found.
7854 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
7855
cf24ed9e 78562009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
7857
7858 Fix newline handling
7859
7860 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 7861 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 7862 (grub_script_yylex): don't segfault on unterminated script
7863 newline terminates command and variable
7864
74aa8e4b 78652009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
7866
7867 avoid double grub_adjust_range call. Bug reported by David Simner
7868
7869 * kern/disk.c (grub_disk_write): change to raw disk access before
7870 calling disk_read
7871
1bd265f3 78722009-06-17 Colin Watson <cjwatson@ubuntu.com>
7873
7874 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
7875 spaces, for the benefit of help2man.
7876 * util/i386/efi/grub-mkimage.c (usage): Likewise.
7877
a2d08c06 78782009-06-16 Pavel Roskin <proski@gnu.org>
7879
7880 * kern/i386/halt.c: Include grub/machine/init.h.
7881 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
7882
b97bcb19 78832009-06-16 Felix Zielcke <fzielcke@z-51.de>
7884
7885 * util/grub.d/30_os-prober.in: Use ${root} in the generated
7886 drivemap menuentry.
7887
0644f96c 78882009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
7889
7890 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
7891 `echo' command.
7892
3ef17a2e 78932009-06-16 Pavel Roskin <proski@gnu.org>
7894
7895 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
7896 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
7897 save %dx, we only need %dl and we never change it.
7898 * boot/i386/pc/cdboot.S: Don't set the root drive.
7899 * boot/i386/pc/pxeboot.S: Likewise.
7900 * include/grub/i386/pc/boot.h: Remove
7901 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
7902 GRUB_BOOT_MACHINE_DRIVE_CHECK.
7903 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
7904 * kern/i386/pc/init.c (make_install_device): Remove references
7905 to grub_root_drive.
7906 * kern/i386/pc/startup.S: Likewise.
7907 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
7908
693fe637 79092009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
7910
7911 xnu_uuid command
7912
7913 * commands/xnu_uuid.c: new file
7914 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
7915 (xnu_uuid_mod_SOURCES): new variable
7916 (xnu_uuid_mod_CFLAGS): likewise
7917 (xnu_uuid_mod_LDFLAGS): likewise
7918 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
7919 * conf/i386-ieee1275.rmk: likewise
7920 * conf/i386-pc.rmk: likewise
7921 * conf/powerpc-ieee1275.rmk: likewise
7922 * conf/sparc64-ieee1275.rmk: likewise
7923 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
7924
c9da87d0 79252009-06-16 Pavel Roskin <proski@gnu.org>
7926
7927 * configure.ac: Avoid '==' in test command, it's not portable.
7928
9c6f4596 79292009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
7930
7931 Probe command
7932
7933 * commands/probe.c: new file
7934 * conf/common.rmk (pkglib_MODULES): add probe.mod
7935 (probe_mod_SOURCES): new variable
7936 (probe_mod_CFLAGS): likewise
7937 (probe_mod_LDFLAGS): likewise
7938 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
7939 * conf/i386-ieee1275.rmk: likewise
7940 * conf/i386-pc.rmk: likewise
7941 * conf/powerpc-ieee1275.rmk: likewise
7942 * conf/sparc64-ieee1275.rmk: likewise
7943
70b7f9fd 79442009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
7945
7946 Fix handling of string like \"hello\" and "a
7947 b"
7948
7949 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
7950 (grub_script_yylex): fix parsing of quoting, escaping and newline
7951
71c79a6b 79522009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
7953
dd74360c 7954 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 7955 handling
dd74360c 7956
0644f96c 79572009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 7958
7959 * util/grub-mkconfig.in: Fix parsing of --output option.
7960
e40893c3 79612009-06-12 Pavel Roskin <proski@gnu.org>
7962
7963 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
7964 genmk.rb don't need to be generated or installed.
7965
3a1acfe2 79662009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
7967
7968 * commands/i386/pc/drivemap_int13h.S: add more comments
7969
3a4575d4 79702009-06-11 Pavel Roskin <proski@gnu.org>
7971
0658e928 7972 * Makefile.in (uninstall): Uninstall manuals.
7973
ca0388f0 7974 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
7975 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
7976 and update-grub_lib in two places.
7977 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
7978
e3b27c39 7979 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
7980 a compiler warning.
7981
3a4575d4 7982 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
7983 `entry_lo' to fix variable shadowing.
7984
af1f4f55 79852009-06-11 Christian Franke <franke@computer.org>
7986
7987 * kern/misc.c (__enable_execute_stack): Add missing return type
7988 to prevent gcc warning.
7989
5225e649 79902009-06-11 Felix Zielcke <fzielcke@z-51.de>
7991
7992 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
7993
7d83bd47 79942009-06-11 Pavel Roskin <proski@gnu.org>
7995
c1cb63ba 7996 * Makefile.in: Don't rely on any scripts being executable.
7997 Always use $(SHELL) to run shell scripts.
7998
7d83bd47 7999 * configure.ac: Always define ___main if using -nostdlib. This
8000 fixes tests on Cygwin.
8001
948f48e7 80022009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
8003
8004 UDF fix
8005
7d83bd47 8006 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 8007 is in bytes and not in blocks
7d83bd47 8008
8ada9bc1 80092009-06-11 Pavel Roskin <proski@gnu.org>
8010
8011 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
8012 warning.
8013
25ad2323 80142009-06-11 Felix Zielcke <fzielcke@z-51.de>
8015
8016 * util/grub.d/30_os-prober.in: Fix a comment. Source
8017 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
8018 to set the root device. Place drivemap command in the generated
8019 chain entry.
8020
e65acb0c 80212009-06-11 Pavel Roskin <proski@gnu.org>
8022
8023 * configure.ac: Remove host_m32. Issues with 64-bit utilities
8024 have long been resolved.
8025
f285fe2d 80262009-06-11 Colin Watson <cjwatson@ubuntu.com>
8027
bd47b0b5 8028 * util/grub.d/10_linux.in: Capitalise "Linux".
8029
f285fe2d 8030 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
8031
a0c62e4e 80322009-06-11 Pavel Roskin <proski@gnu.org>
8033
b6783cb2 8034 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
8035 fix a gcc warning and ensure that the function won't ever exit.
8036
dde032e8 8037 * kern/i386/ieee1275/init.c: Add missing prototype for
8038 grub_stop_floppy().
8039
22cd079d 8040 * loader/ieee1275/multiboot2.c [__i386__]: Include
8041 grub/cpu/multiboot.h.
8042
a0c62e4e 8043 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
8044 casts to short - they are not portable and cause warnings. Fix
8045 use of uninitialized values in input_buf. Use ARRAY_SIZE.
8046
63963d17 80472009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
8048
8049 Drivemap fixes
8050
8051 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
8052 new function
8053 (grub_get_root_biosnumber_saved): new variable
8054 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
8055 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 8056 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 8057 %dx after the call if necessary
8058 * conf/common.rmk (pkglib_MODULES): remove boot.mod
8059 (boot_mod_SOURCES): remove
8060 (boot_mod_CFLAGS): remove
8061 (boot_mod_LDFLAGS): remove
8062 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
8063 (boot_mod_SOURCES): new variable
8064 (boot_mod_CFLAGS): likewise
8065 (boot_mod_LDFLAGS): likewise
8066 * conf/i386-efi.rmk: likewise
8067 * conf/i386-ieee1275.rmk: likewise
8068 * conf/i386-pc.rmk: likewise
8069 * conf/powerpc-ieee1275.rmk: likewise
8070 * conf/sparc64-ieee1275.rmk: likewise
8071 * conf/x86_64-efi.rmk: likewise
8072 * include/grub/i386/pc/biosnum.h: new file
8073 * lib/i386/pc/biosnum.c: likewise
8074 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
8075 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
8076 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 8077
33abf7ae 80782009-06-10 Pavel Roskin <proski@gnu.org>
8079
5ac35b35 8080 * io/gzio.c (test_header): Don't reuse one buffer for all data.
8081 Use separate variables. Read only the file size at the end, but
8082 not the checksum that we don't use.
8083
5c5215d5 8084 * kern/file.c (grub_file_read): Use void pointer for the buffer.
8085 Adjust all callers.
8086
27d5fef7 8087 * kern/ieee1275/openfw.c: Remove libc includes.
8088 * kern/ieee1275/cmain.c: Likewise.
8089 * include/grub/ieee1275/ieee1275.h: Likewise.
8090
33abf7ae 8091 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
8092 compiler warnings.
8093
19d50c2b 80942009-06-10 Felix Zielcke <fzielcke@z-51.de>
8095
8096 * Makefile.in: Remove all trailing whitespace.
8097 * conf/i386-pc.rmk: Likewise.
8098 * conf/powerpc-ieee1275.rmk: Likewise.
8099 * conf/sparc64-ieee1275.rmk: Likewise.
8100 * docs/grub.texi: Likewise.
8101 * docs/texinfo.tex: Likewise.
8102 * disk/fs_uuid.c: Likewise.
8103 * disk/lvm.c: Likewise.
8104 * disk/scsi.c: Likewise.
8105 * disk/ata.c: Likewise.
8106 * disk/ieee1275/ofdisk.c: Likewise.
8107 * disk/i386/pc/biosdisk.c: Likewise.
8108 * disk/host.c: Likewise.
8109 * disk/raid.c: Likewise.
8110 * disk/efi/efidisk.c: Likewise.
8111 * disk/usbms.c: Likewise.
8112 * disk/memdisk.c: Likewise.
8113 * disk/loopback.c: Likewise.
8114 * kern/powerpc/dl.c: Likewise.
8115 * kern/device.c: Likewise.
8116 * kern/dl.c: Likewise.
8117 * kern/sparc64/dl.c: Likewise.
8118 * kern/ieee1275/ieee1275.c: Likewise.
8119 * kern/term.c: Likewise.
8120 * kern/fs.c: Likewise.
8121 * kern/i386/dl.c: Likewise.
8122 * kern/i386/pc/startup.S: Likewise.
8123 * kern/i386/pc/init.c: Likewise.
8124 * kern/i386/pc/mmap.c: Likewise.
8125 * kern/i386/pc/lzo1x.S: Likewise.
8126 * kern/i386/ieee1275/init.c: Likewise.
8127 * kern/i386/realmode.S: Likewise.
8128 * kern/i386/tsc.c: Likewise.
8129 * kern/partition.c: Likewise.
8130 * kern/corecmd.c: Likewise.
8131 * kern/file.c: Likewise.
8132 * kern/efi/efi.c: Likewise.
8133 * kern/efi/init.c: Likewise.
8134 * kern/efi/mm.c: Likewise.
8135 * kern/main.c: Likewise.
8136 * kern/err.c: Likewise.
8137 * kern/env.c: Likewise.
8138 * kern/disk.c: Likewise.
8139 * kern/generic/millisleep.c: Likewise.
8140 * kern/generic/rtc_get_time_ms.c: Likewise.
8141 * kern/misc.c: Likewise.
8142 * kern/parser.c: Likewise.
8143 * genmk.rb: Likewise.
8144 * configure.ac: Likewise.
8145 * boot/i386/pc/diskboot.S: Likewise.
8146 * boot/i386/pc/pxeboot.S: Likewise.
8147 * boot/i386/pc/boot.S: Likewise.
8148 * boot/i386/pc/lnxboot.S: Likewise.
8149 * boot/i386/pc/cdboot.S: Likewise.
8150 * parttool/pcpart.c: Likewise.
8151 * video/readers/tga.c: Likewise.
8152 * video/video.c: Likewise.
8153 * video/bitmap.c: Likewise.
8154 * lib/envblk.c: Likewise.
8155 * lib/i386/setjmp.S: Likewise.
8156 * fs/xfs.c: Likewise.
8157 * fs/afs.c: Likewise.
8158 * fs/fat.c: Likewise.
8159 * fs/ntfs.c: Likewise.
8160 * fs/udf.c: Likewise.
8161 * fs/affs.c: Likewise.
8162 * fs/iso9660.c: Likewise.
8163 * fs/hfs.c: Likewise.
8164 * fs/fshelp.c: Likewise.
8165 * fs/ext2.c: Likewise.
8166 * fs/jfs.c: Likewise.
8167 * fs/reiserfs.c: Likewise.
8168 * fs/hfsplus.c: Likewise.
8169 * fs/minix.c: Likewise.
8170 * fs/cpio.c: Likewise.
8171 * fs/sfs.c: Likewise.
8172 * fs/ufs.c: Likewise.
8173 * efiemu/prepare.c: Likewise.
8174 * efiemu/loadcore_common.c: Likewise.
8175 * efiemu/runtime/efiemu.sh: Likewise.
8176 * efiemu/runtime/efiemu.S: Likewise.
8177 * efiemu/runtime/efiemu.c: Likewise.
8178 * efiemu/pnvram.c: Likewise.
8179 * efiemu/main.c: Likewise.
8180 * efiemu/i386/pc/cfgtables.c: Likewise.
8181 * efiemu/i386/loadcore64.c: Likewise.
8182 * efiemu/i386/loadcore32.c: Likewise.
8183 * efiemu/loadcore.c: Likewise.
8184 * efiemu/symbols.c: Likewise.
8185 * efiemu/mm.c: Likewise.
8186 * include/grub/autoefi.h: Likewise.
8187 * include/grub/datetime.h: Likewise.
8188 * include/grub/term.h: Likewise.
8189 * include/grub/hfs.h: Likewise.
8190 * include/grub/lvm.h: Likewise.
8191 * include/grub/i386/tsc.h: Likewise.
8192 * include/grub/i386/linux.h: Likewise.
8193 * include/grub/i386/xnu.h: Likewise.
8194 * include/grub/i386/efiemu.h: Likewise.
8195 * include/grub/i386/pc/biosdisk.h: Likewise.
8196 * include/grub/i386/pc/memory.h: Likewise.
8197 * include/grub/i386/pc/vbe.h: Likewise.
8198 * include/grub/parttool.h: Likewise.
8199 * include/grub/video.h: Likewise.
8200 * include/grub/memory.h: Likewise.
8201 * include/grub/fs.h: Likewise.
8202 * include/grub/partition.h: Likewise.
8203 * include/grub/xnu.h: Likewise.
8204 * include/grub/efi/api.h: Likewise.
8205 * include/grub/efi/pe32.h: Likewise.
8206 * include/grub/efi/memory.h: Likewise.
8207 * include/grub/multiboot.h: Likewise.
8208 * include/grub/usbdesc.h: Likewise.
8209 * include/grub/multiboot2.h: Likewise.
8210 * include/grub/acpi.h: Likewise.
8211 * include/grub/efiemu/efiemu.h: Likewise.
8212 * include/grub/disk.h: Likewise.
8213 * include/grub/ieee1275/ieee1275.h: Likewise.
8214 * include/grub/net.h: Likewise.
8215 * include/grub/machoload.h: Likewise.
8216 * include/grub/macho.h: Likewise.
8217 * include/multiboot.h: Likewise.
8218 * genmoddep.awk: Likewise.
8219 * normal/main.c: Likewise.
8220 * normal/menu_entry.c: Likewise.
8221 * normal/menu_viewer.c: Likewise.
8222 * normal/completion.c: Likewise.
8223 * normal/cmdline.c: Likewise.
8224 * normal/misc.c: Likewise.
8225 * normal/datetime.c: Likewise.
8226 * bus/usb/usbtrans.c: Likewise.
8227 * bus/usb/ohci.c: Likewise.
8228 * bus/usb/uhci.c: Likewise.
8229 * bus/usb/usb.c: Likewise.
8230 * mmap/efi/mmap.c: Likewise.
8231 * mmap/i386/pc/mmap_helper.S: Likewise.
8232 * mmap/i386/pc/mmap.c: Likewise.
8233 * mmap/i386/mmap.c: Likewise.
8234 * mmap/i386/uppermem.c: Likewise.
8235 * mmap/mmap.c: Likewise.
8236 * commands/acpi.c: Likewise.
8237 * commands/echo.c: Likewise.
8238 * commands/blocklist.c: Likewise.
8239 * commands/loadenv.c: Likewise.
8240 * commands/usbtest.c: Likewise.
8241 * commands/boot.c: Likewise.
8242 * commands/parttool.c: Likewise.
8243 * commands/search.c: Likewise.
8244 * commands/cat.c: Likewise.
8245 * commands/i386/pc/play.c: Likewise.
8246 * commands/i386/pc/drivemap.c: Likewise.
8247 * commands/i386/pc/vbeinfo.c: Likewise.
8248 * commands/i386/pc/acpi.c: Likewise.
8249 * commands/i386/pc/vbetest.c: Likewise.
8250 * commands/ls.c: Likewise.
8251 * commands/cmp.c: Likewise.
8252 * commands/test.c: Likewise.
8253 * commands/efi/acpi.c: Likewise.
8254 * commands/gptsync.c: Likewise.
8255 * commands/help.c: Likewise.
8256 * partmap/amiga.c: Likewise.
8257 * partmap/apple.c: Likewise.
8258 * partmap/acorn.c: Likewise.
8259 * partmap/pc.c: Likewise.
8260 * partmap/sun.c: Likewise.
8261 * partmap/gpt.c: Likewise.
8262 * script/sh/lexer.c: Likewise.
8263 * script/sh/function.c: Likewise.
8264 * font/font.c: Likewise.
8265 * font/font_cmd.c: Likewise.
8266 * loader/powerpc/ieee1275/linux.c: Likewise.
8267 * loader/efi/chainloader.c: Likewise.
8268 * loader/multiboot_loader.c: Likewise.
8269 * loader/macho.c: Likewise.
8270 * loader/i386/multiboot.c: Likewise.
8271 * loader/i386/linux.c: Likewise.
8272 * loader/i386/pc/linux.c: Likewise.
8273 * loader/i386/pc/multiboot2.c: Likewise.
8274 * loader/i386/pc/chainloader.c: Likewise.
8275 * loader/i386/pc/xnu.c: Likewise.
8276 * loader/i386/bsd_trampoline.S: Likewise.
8277 * loader/i386/efi/linux.c: Likewise.
8278 * loader/i386/multiboot_elfxx.c: Likewise.
8279 * loader/i386/bsd_helper.S: Likewise.
8280 * loader/i386/bsd.c: Likewise.
8281 * loader/i386/linux_trampoline.S: Likewise.
8282 * loader/i386/xnu_helper.S: Likewise.
8283 * loader/i386/xnu.c: Likewise.
8284 * loader/i386/bsd_pagetable.c: Likewise.
8285 * loader/i386/multiboot_helper.S: Likewise.
8286 * loader/xnu.c: Likewise.
8287 * loader/xnu_resume.c: Likewise.
8288 * io/gzio.c: Likewise.
8289 * term/efi/console.c: Likewise.
8290 * term/terminfo.c: Likewise.
8291 * term/ieee1275/ofconsole.c: Likewise.
8292 * term/i386/pc/serial.c: Likewise.
8293 * term/i386/pc/vesafb.c: Likewise.
8294 * term/i386/pc/vga.c: Likewise.
8295 * term/usb_keyboard.c: Likewise.
8296 * term/gfxterm.c: Likewise.
8297 * aclocal.m4: Likewise.
8298 * util/lvm.c: Likewise.
8299 * util/grub.d/30_os-prober.in: Likewise.
8300 * util/grub.d/10_hurd.in: Likewise.
8301 * util/console.c: Likewise.
8302 * util/grub-macho2img.c: Likewise.
8303 * util/grub-probe.c: Likewise.
8304 * util/hostfs.c: Likewise.
8305 * util/i386/pc/grub-mkimage.c: Likewise.
8306 * util/i386/pc/grub-setup.c: Likewise.
8307 * util/i386/efi/grub-mkimage.c: Likewise.
8308 * util/grub-mkconfig.in: Likewise.
8309 * util/raid.c: Likewise.
8310 * util/resolve.c: Likewise.
8311 * util/grub-mkdevicemap.c: Likewise.
8312 * util/grub-emu.c: Likewise.
8313 * util/getroot.c: Likewise.
8314 * util/hostdisk.c: Likewise.
8315 * util/usb.c: Likewise.
8316 * util/grub-editenv.c: Likewise.
8317 * util/misc.c: Likewise.
8318
d2d49665 83192009-06-10 Felix Zielcke <fzielcke@z-51.de>
8320
8321 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
8322 `genparttoollist.sh'.
8323 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
8324 Add `*.sh' to the list find searches for and change `mdate.sh'
8325 to `mdate-sh'.
8326
fe052e37 83272009-06-10 Pavel Roskin <proski@gnu.org>
8328
2763ac18 8329 * include/grub/multiboot2.h: Provide compatibility defines for
8330 multiboot2.h.
8331 * include/multiboot2.h: Include stdint.h only if needed, using
8332 angle brackets.
8333 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
8334 grub/multiboot2.h.
8335 * loader/ieee1275/multiboot2.c: Likewise.
8336 * loader/multiboot2.c: Likewise.
8337 * loader/multiboot_loader.c: Likewise.
8338
437e6adc 8339 * configure.ac: Use -nostdlib when probing for the target. It
8340 should not be required to have libc for the target.
8341
06a6836c 8342 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
8343 they fail without libc headers for the target.
8344 * include/grub/powerpc/libgcc.h: Use weak attribute for all
8345 exports.
8346 * include/grub/sparc64/libgcc.h: Likewise. Don't use
8347 preprocessor conditionals.
8348
fe052e37 8349 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
8350 build system doesn't need to be aware of the tar.c internals.
8351
afd22553 83522009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 8353
afd22553 8354 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 8355
6b787c4f 83562009-06-09 Robert Millan <rmh.grub@aybabtu.com>
8357
8358 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
8359 disk limit to 26 for IDE, Virtio, Xen and SCSI.
8360
83612009-06-09 Felix Zielcke <fzielcke@z-51.de>
8362
8363 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 8364 aren't available if ata.mod gets used.
6b787c4f 8365
473d1e45 83662009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 8367
473d1e45 8368 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 8369 initialising controller.
473d1e45 8370 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 8371
255a27d4 83722009-06-08 Felix Zielcke <fzielcke@z-51.de>
8373
8374 * util/i386/pc/grub-install.in: Add a parameter --disk-module
8375 to choose between ata and biosdisk module on i386-pc.
8376
473d1e45 83772009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 8378
d55842d8 8379 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
8380 Subclass and Programming Interface fields in terms of the 3 byte
8381 Class Code register.
8382 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
8383
fa5db0b1 8384 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
8385 interface is OHCI. Add grub_dprintf for symmetry with
8386 bus/usb/uhci.c.
8387 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
8388 interface is UHCI. Add interf variable for programming
8389 interface. Print interface with class/subclass.
8390
c0947beb 8391 * bus/usb/ohci.c: Set interf with correct field.
8392
69da8877 8393 * bus/usb/uhci.c: Remove unneeded doubled lines.
8394 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
8395 Remove whitespace inside comment.
8396
9e172e30 83972009-06-08 Robert Millan <rmh.grub@aybabtu.com>
8398
8399 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
8400 as fallback an equivalent option without depth.
8401
de65ee2b 84022009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8403
8404 Not fail if unable to retrieve C/H/S on LBA disks
8405
473d1e45 8406 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 8407 if unable to retrieve C/H/S on LBA disks
8408
b57ea2c9 84092009-06-08 Pavel Roskin <proski@gnu.org>
8410
8411 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
8412 about aliasing.
8413
af361263 84142009-06-08 Felix Zielcke <fzielcke@z-51.de>
8415
8416 * Makefile.in (uninstall): Remove all $lib_DATA files.
8417
4c9ec6b3 84182009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
8419
8420 Bugfix: install on partitionless device
8421
8422 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
8423 is a whole disk
8424
e76fc924 84252009-06-08 Felix Zielcke <fzielcke@z-51.de>
8426
8427 * Makefile.in (uninstall): Remove all $include_DATA files.
8428
ba5a0d05 84292009-06-08 Felix Zielcke <fzielcke@z-51.de>
8430
8431 * commands/true.c: New file. Implement the true and false commands.
8432 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
8433 (true_mod_SOURCES): New variable.
8434 (true_mod_CFLAGS): Likewise.
8435 (true_mod_LDFLAGS): Likewise.
8436
c8048e32 84372009-06-05 Colin D Bennett <colin@gibibit.com>
8438
8439 Optimized font character lookup using binary search instead of linear
8440 search. Fonts now are required to have the character index ordered by
8441 code point.
8442
8443 * font/font.c (load_font_index): Verify that fonts have ordered
8444 character indices.
8445 (find_glyph): Use binary search instead of linear search to find a
8446 character in a font.
8447
408305be 84482009-06-05 Michael Scherer <misc@mandriva.org>
8449
8450 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
8451 uses case sensitive btree.
8452 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
8453 only for case insensitive filesystems.
8454
8ee1e0d9 84552009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
8456
8457 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
8458 * conf/common.rmk (search_mod_CFLAGS): likewise
8459
a9966eb1 84602009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8461
473d1e45 8462 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 8463 compensate a compiler bug
8464
9e7100fb 84652009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8466
473d1e45 8467 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 8468 instead of '\b'
473d1e45 8469
ede21d71 84702009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8471
8472 Definitions for creating asm symbols with Apple's CC
8473
8474 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
8475 [APPLE_CC] (VARIABLE): likewise
8476
9dbf7653 84772009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8478
8479 Disable lnxboot.img when compiled
8480 with Apple's CC
8481
8482 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
8483 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
8484 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
8485 [! APPLE_CC] (CODE_LENG): skip
8486 [! APPLE_CC] (setup_sects): likewise
8487 [! APPLE_CC]: skip filling
473d1e45 8488
e93cdc3d 84892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8490
8491 Address in trampolines based on 32-bit registers when compiled
8492 with Apple's CC
8493
473d1e45 8494 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 8495 for addresses
8496 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
8497
6c688477 84982009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8499
8500 Avoid aliases when compiling with Apple's CC for PCBIOS machine
8501
8502 * kern/misc.c [APPLE_CC] (memcpy): new function
8503 [APPLE_CC] (memmove): likewise
8504 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 8505 (memcpy): define alias conditionally on !APPLE_CC
6c688477 8506 (memset): likewise
8507 (abort): likewise
8508 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
8509 APPLE_CC are defined
8510 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
8511 (grub_assert_fail): make prototype conditional
8512
e37ffc5c 85132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8514
8515 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
8516
473d1e45 8517 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
8518 grub-macho2img
e37ffc5c 8519 (CLEANFILES): add grub-macho2img
8520 (grub_macho2img_SOURCES): new variable
8521 * kern/i386/pc/startup.S (bss_start): new variable
8522 (bss_end): likewise
8523 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
8524 * util/grub-macho2img.c: new file
8525
cf00df31 85262009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8527
8528 Use objconv when compiling with Apple's CC
8529
8530 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
8531 (efiemu64.o): likewise
8532 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
8533 when compiling with Apple's CC
8534 (efiemu64_s.o): likewise
8535 * configure.ac: check for objconv when compiling with Apple's CC
8536 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 8537
d119a20c 85382009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8539
8540 Define segment as well as section when compiling with
8541 Apple's CC
8542
8543 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
8544 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
8545 (efiemu_convert_pointer): likewise
8546 (efiemu_set_virtual_address_map): likewise
8547 (efiemu_convert_pointer): likewise
8548 (efiemu_getcrc32): likewise
8549 (init_crc32_table): likewise
8550 (reflect): likewise
8551 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
8552 (GRUB_MOD_DEP): likewise
473d1e45 8553
c8600122 85542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8555
8556 Allow a compilation without -mcmodel=large
8557
8558 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
8559 when compiled without -mcmodel=large
473d1e45 8560 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 8561 without -mcmodel=large
473d1e45 8562 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 8563 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 8564
e8df1d4e 85652009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8566
8567 Remove nested functions in efiemu core
8568
8569 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 8570
cc6c3ac1 85712009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8572
8573 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
8574
8575 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
8576 temporary storage
473d1e45 8577 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
8578 using Apple's CC
cc6c3ac1 8579 (grub_cpu_is_tsc_supported): likewise
8580 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 8581
3e325901 85822009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8583
8584 Absolute addressing through constant with Apple's cc
8585
8586 * kern/i386/pc/startup.S: Define necessary constants
8587 and address through it when using ABS with Apple's CC
8588 * boot/i386/pc/diskboot.S: likewise
8589 * boot/i386/pc/boot.S: likewise
8590 * boot/i386/pc/lnxboot.S: likewise
8591 * boot/i386/pc/cdboot.S: likewise
8592 * mmap/i386/pc/mmap_helper.S: likewise
8593 * commands/i386/pc/drivemap_int13h.S: likewise
8594
2b167a72 85952009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8596
8597 Check if compiler is apple cc
8598
8599 * Makefile.in (ASFLAGS): new variable
8600 (TARGET_ASFLAGS): likewise
8601 (TARGET_MODULE_FORMAT): likewise
8602 (TARGET_APPLE_CC): likewise
8603 (OBJCONV): likewise
8604 (TARGET_IMG_CFLAGS): likewise
8605 (TARGET_CPPFLAGS): add includedir
8606 * configure.ac: call grub_apple_cc and grub_apple_target_cc
8607 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
8608 Check for linker script only if compiler isn't Apple's CC
8609 (TARGET_MODULE_FORMAT): set
8610 (TARGET_APPLE_CC): likewise
8611 (TARGET_ASFLAGS): likewise
8612 (ASFLAGS): likewise
8613 Check for objcopy only if compiler isn't Apple's CC
8614 Check for BSS symbol only if compiler isn't Apple's CC
8615 * genmk.rb: adapt nm options if we use Apple's utils
8616 * aclocal.m4 (grub_apple_cc): new test
8617 (grub_apple_target_cc): likewise
473d1e45 8618
fb14123e 86192009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8620
8621 Simplify sed expressions and improve awk
8622
8623 * Makefile.in (install-local): simplify sed expression
8624 * gencmdlist.sh: likewise
8625 * genmoddep.awk: avoid adding module as a dependency of itself
8626
5b889789 86272009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8628
8629 Add missing start symbols
8630
8631 * boot/i386/pc/boot.S: add start
fb14123e 8632 * boot/i386/pc/pxeboot.S: likewise
473d1e45 8633
fd2bf2e3 86342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8635
8636 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 8637
8638 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 8639 (relocate_addresses): consider both r_addend and value at offset
8640 (make_mods_section): zerofill modinfo and header
8641 (convert_elf): write prefix here
473d1e45 8642
5389763d 86432009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8644
8645 Use .asciz instead of .string
8646
8647 * i386/pc/diskboot.S: use .asciz instead of .string
8648 * i386/pc/boot.S: likewise
8649 * include/grub/dl.h (GRUB_MOD_DEP): likewise
8650 (GRUB_MOD_NAME): likewise
473d1e45 8651
3eb5ed4e 86522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8653
8654 gfxpayload support
8655
8656 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
8657 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
8658 (grub_video_setup): remove
8659 (grub_video_set_mode): new prototype
8660 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
8661 (vid_mode): remove
8662 (linux_vesafb_res): compile only on PCBIOS
8663 (grub_linux_boot): support gfxpayload
8664 * loader/i386/pc/xnu.c (video_hook): new function
8665 (grub_xnu_set_video): support gfxpayload
8666 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
8667 (DEFAULT_VIDEO_HEIGHT): likewise
8668 (DEFAULT_VIDEO_FLAGS): likewise
8669 (DEFAULT_VIDEO_MODE): new definition
8670 (video_hook): new function
8671 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 8672 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 8673 loading xnu
8674 * video/video.c (grub_video_setup): removed
473d1e45 8675 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 8676 grub_video_setup
8677
4b0e1143 86782009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8679
8680 Avoid calling biosdisk in drivemap
8681
8682 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
8683 (revparse_biosdisk): likewise
8684 (list_mappings): derive name from id directly
8685 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 8686
fda6cb98 86872009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
8688
8689 Script fixes
8690
8691 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
8692 (grub_lexer_param): add tokenonhold
8693 (grub_script_create_cmdline): remove cmdline. All callers updated
8694 (grub_script_function_create): make functionname
8695 grub_script_arg. All callers updated
8696 (grub_script_execute_argument_to_string): new prototype
8697 * kern/parser.c (state_transitions): reorder
8698 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 8699 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 8700 make global
8701 (grub_script_execute_cmdline): use new format
8702 * script/sh/function.c (grub_script_function_create): make functionname
8703 grub_script_arg. All callers updated
473d1e45 8704 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 8705 (grub_script_yylex): remove
8706 (grub_script_yylex2): renamed to ...
8707 (grub_script_yylex): ...renamed
8708 parse the expressions like a${b}c
8709 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
8710 (GRUB_PARSER_TOKEN_VAR): remove
8711 (GRUB_PARSER_TOKEN_NAME): likewise
8712 ("if"): declare as typeless
8713 ("while"): likewise
8714 ("function"): likewise
8715 ("else"): likewise
8716 ("then"): likewise
8717 ("fi"): likewise
8718 (text): remove
8719 (argument): likewise
8720 (script): accept empty scripts and make exit on error
8721 (arguments): use GRUB_PARSER_TOKEN_ARG
8722 (function): likewise
8723 (command): move error handling to script
8724 (menuentry): move grub_script_lexer_ref before
473d1e45 8725 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 8726 argument. All callers updated
8727
f4448a07 87282009-06-04 Robert Millan <rmh.grub@aybabtu.com>
8729
8730 Prevent GRUB from probing floppies during boot.
8731
8732 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
8733 * commands/search.c (options): Add --no-floppy.
8734 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
8735 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
8736 --no-floppy when searching for UUIDs.
8737
2bf5885a 87382009-06-04 Robert Millan <rmh.grub@aybabtu.com>
8739
8740 Simplify the code duplication in commands/search.c.
8741
8742 * commands/search.c (search_label, search_fs_uuid): Merge into ...
8743 (search_fs): ... this. Update all users.
8744
f6fd460a 87452009-06-03 Felix Zielcke <fzielcke@z-51.de>
8746
8747 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
8748
cbb3c83e 87492009-05-28 Pavel Roskin <proski@gnu.org>
8750
57788cfd 8751 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
8752 Remove the original symlink explicitly.
8753
cbb3c83e 8754 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
8755 just one slash. That's how grub_fshelp_find_file() does it.
8756
cd0d5e30 87572009-05-26 Pavel Roskin <proski@gnu.org>
8758
f0f8bbe2 8759 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
8760 to `str'.
8761
cd0d5e30 8762 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
8763 possibly unused.
8764
8c2cab51 87652009-05-25 Christian Franke <franke@computer.org>
8766
8767 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
8768 register.
8769 (grub_atapi_identify): Add wait after drive select.
8770 (grub_ata_identify): Do more strict status register check before
8771 calling grub_atapi_identify (). Suppress error message if status
8772 register is 0x00 after command failure. Add status register
8773 check after PIO read to avoid bogus identify due to stuck DRQ.
8774 Thanks to Pavel Roskin for testing.
8775 (grub_device_initialize): Remove unsafe status register check.
8776 Thanks to 'phcoder' for problem report and patch.
8777 Prevent sign extension in debug message.
8778
230c0ad6 87792009-05-23 Colin D Bennett <colin@gibibit.com>
8780
8781 Cleaned up `include/grub/normal.h'. Grouped prototypes by
8782 definition file, and functions defined in `normal/menu.c' have had
8783 their prototypes moved to `include/grub/menu.h' for consistency.
8784
8785 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
8786 from normal.h.
8787 (grub_menu_get_entry): Likewise.
8788 (grub_menu_get_timeout): Likewise.
8789 (grub_menu_set_timeout): Likewise.
8790 (grub_menu_execute_entry): Likewise.
8791 (grub_menu_execute_with_fallback): Likewise.
8792 (grub_menu_entry_run): Likewise.
8793
8794 * include/grub/normal.h: Re-ordered and grouped function
8795 prototypes by file that the function is defined in.
8796 (grub_menu_execute_callback): Removed; moved to menu.h.
8797 (grub_menu_get_entry): Likewise.
8798 (grub_menu_get_timeout): Likewise.
8799 (grub_menu_set_timeout): Likewise.
8800 (grub_menu_execute_entry): Likewise.
8801 (grub_menu_execute_with_fallback): Likewise.
8802 (grub_menu_entry_run): Likewise.
8803 (grub_menu_addentry): Renamed from this ...
8804 (grub_normal_add_menu_entry): ... to this.
8805
8806 * normal/main.c (grub_menu_addentry): Renamed from this ...
8807 (grub_normal_add_menu_entry): ... to this.
8808
8809 * script/sh/execute.c (grub_script_execute_menuentry): Update
8810 reference to renamed grub_menu_addentry function.
8811
861f03a5 88122009-05-23 Felix Zielcke <fzielcke@z-51.de>
8813
8814 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
8815
96b1619a 88162009-05-22 Pavel Roskin <proski@gnu.org>
8817
bf6a5fb2 8818 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
8819 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
8820 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
8821 compiling for the i386 targets, but not for the utilities.
8822
96b1619a 8823 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
8824 to grub_uint8_t.
8825 (grub_root_drive): Likewise.
8826 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
8827 remove alignment.
8828 (grub_root_drive): Change size to byte.
8829 (grub_start_addr): Remove.
8830 (grub_end_addr): Likewise.
8831 (grub_apm_bios_info): Likewise.
8832
b729776b 88332009-05-21 Felix Zielcke <fzielcke@z-51.de>
8834
8835 * normal/i386: Remove.
8836 * normal/powerpc: Likewise.
8837 * normal/sparc64: Likewise.
8838 * normal/x86_64: Likewise.
8839
0a15ce80 88402009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
8841
8842 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 8843 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 8844 * loader/i386/xnu_helper.S: Likewise
d6da58e6 8845
33db9015 88462009-05-18 Colin D Bennett <colin@gibibit.com>
8847
d6da58e6 8848 Display error messages when parsing a Lua statement fails.
8849 Previously, executing a syntactically invalid statement like
8850 ")foo" or "bar;" would silently fail.
33db9015 8851
8852 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 8853 (grub_lua_parse_line): Improved reporting of Lua parser and
8854 execution errors.
33db9015 8855
46422c89 88562009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8857
8858 Remove -Werror which causes build to fail on some systems
8859
8860 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
8861 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
8862 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 8863
22f53a96 88642009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
8865
8866 trampoline for linux on 64-bit platform
8867
18f547ad 8868 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
8869 loader/i386/efi/linux_trampoline.S
8870 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 8871 declaration
d6da58e6 8872 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
8873 here
22f53a96 8874 * loader/i386/linux_trampoline.S: moved here
d6da58e6 8875 * loader/i386/efi/linux.c (allocate_pages): reserve space for
8876 trampoline
22f53a96 8877 (jumpvector): removed
8878 (grub_linux_trampoline_start): new declaration
8879 (grub_linux_trampoline_end): likewise
8880 (grub_linux_boot): use trampoline when on 64-bit platform
8881 * loader/i386/linux.c: likewise
8882
cb5a0f40 88832009-05-16 Pavel Roskin <proski@gnu.org>
8884
8885 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
8886 const to avoid a warning.
8887 (grub_lua_setenv): Likewise.
8888 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
8889 lmsg to fix a warning.
8890
334f2c28 88912009-05-16 Felix Zielcke <fzielcke@z-51.de>
8892
8893 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 8894 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
8895 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
8896 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
8897 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
8898 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
8899 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
8900 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 8901
59e5d3ec 89022009-05-16 Felix Zielcke <fzielcke@z-51.de>
8903
8904 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
8905
9d87a1ba 89062009-05-16 Bean <bean123ch@gmail.com>
8907
8908 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
8909 (lua_mod_SOURCES): New variable.
8910 (lua_mod_CFLAGS): Likewise.
8911 (lua_mod_LDFLAGS): Likewise.
8912
8913 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
8914 (setjmp_mod_SOURCES): New variable.
8915 (setjmp_mod_CFLAGS): Likewise.
8916 (setjmp_LDFLAGS): Likewise.
8917
8918 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
8919 (setjmp_mod_SOURCES): New variable.
8920 (setjmp_mod_CFLAGS): Likewise.
8921 (setjmp_LDFLAGS): Likewise.
8922
8923 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
8924 (setjmp_mod_SOURCES): New variable.
8925 (setjmp_mod_CFLAGS): Likewise.
8926 (setjmp_LDFLAGS): Likewise.
8927
8928 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
8929 (setjmp_mod_SOURCES): New variable.
8930 (setjmp_mod_CFLAGS): Likewise.
8931 (setjmp_LDFLAGS): Likewise.
8932
8933 * normal/i386/setjmp.S: Moved from here ...
8934 * lib/i386/setjmp.S: ... Moved here
8935 * normal/x86_64/setjmp.S: Moved from here ...
8936 * lib/x86_64/setjmp.S: ... Moved here
8937 * normal/powerpc/setjmp.S: Moved from here ...
8938 * lib/powerpc/setjmp.S: ... Moved here
8939 * normal/sparc64/setjmp.S: Moved from here ...
8940 * lib/sparc64/setjmp.S: ... Moved here
8941
8942 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
8943 returns_twice in mingw.
8944
8945 * script/lua/grub_lib.c: New file.
8946 * script/lua/grub_lib.h: Likewise.
8947 * script/lua/grub_lua.h: Likewise.
8948 * script/lua/grub_main.c: Likewise.
8949 * script/lua/lapi.c: Likewise.
8950 * script/lua/lapi.h: Likewise.
8951 * script/lua/lauxlib.c: Likewise.
8952 * script/lua/lauxlib.h: Likewise.
8953 * script/lua/lbaselib.c: Likewise.
8954 * script/lua/lcode.c: Likewise.
8955 * script/lua/lcode.h: Likewise.
8956 * script/lua/ldblib.c: Likewise.
8957 * script/lua/ldebug.c: Likewise.
8958 * script/lua/ldebug.h: Likewise.
8959 * script/lua/ldo.c: Likewise.
8960 * script/lua/ldo.h: Likewise.
8961 * script/lua/ldump.c: Likewise.
8962 * script/lua/lfunc.c: Likewise.
8963 * script/lua/lfunc.h: Likewise.
8964 * script/lua/lgc.c: Likewise.
8965 * script/lua/lgc.h: Likewise.
8966 * script/lua/linit.c: Likewise.
8967 * script/lua/liolib.c: Likewise.
8968 * script/lua/llex.c: Likewise.
8969 * script/lua/llex.h: Likewise.
8970 * script/lua/llimits.h: Likewise.
8971 * script/lua/lmathlib.c: Likewise.
8972 * script/lua/lmem.c: Likewise.
8973 * script/lua/lmem.h: Likewise.
8974 * script/lua/loadlib.c: Likewise.
8975 * script/lua/lobject.c: Likewise.
8976 * script/lua/lobject.h: Likewise.
8977 * script/lua/lopcodes.c: Likewise.
8978 * script/lua/lopcodes.h: Likewise.
8979 * script/lua/loslib.c: Likewise.
8980 * script/lua/lparser.c: Likewise.
8981 * script/lua/lparser.h: Likewise.
8982 * script/lua/lstate.c: Likewise.
8983 * script/lua/lstate.h: Likewise.
8984 * script/lua/lstring.c: Likewise.
8985 * script/lua/lstring.h: Likewise.
8986 * script/lua/lstrlib.c: Likewise.
8987 * script/lua/ltable.c: Likewise.
8988 * script/lua/ltable.h: Likewise.
8989 * script/lua/ltablib.c: Likewise.
8990 * script/lua/ltm.c: Likewise.
8991 * script/lua/ltm.h: Likewise.
8992 * script/lua/lua.h: Likewise.
8993 * script/lua/luaconf.h: Likewise.
8994 * script/lua/lualib.h: Likewise.
8995 * script/lua/lundump.c: Likewise.
8996 * script/lua/lundump.h: Likewise.
8997 * script/lua/lvm.c: Likewise.
8998 * script/lua/lvm.h: Likewise.
8999 * script/lua/lzio.c: Likewise.
9000 * script/lua/lzio.h: Likewise.
9001
5e898c9d 90022009-05-16 Bean <bean123ch@gmail.com>
9003
9004 * include/grub/kernel.h (grub_module_header_types): Add type
9005 OBJ_TYPE_CONFIG.
9006
9007 * kern/main.c (grub_load_config): New function.
9008 (grub_main): Call grub_load_config to read boot config.
9009
9010 * grub-mkimage (generate_image): New parameter config_path.
9011 (options): New option --config.
9012 (main): Parse --config option, and pass it to generate_image.
9013
cf353a47 90142009-05-14 Christian Franke <franke@computer.org>
9015
9016 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
9017 This fixes build on Cygwin.
9018
3834887f 90192009-05-14 Pavel Roskin <proski@gnu.org>
9020
9021 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
9022 jump. This saves two bytes, so the typical case of 2 swapped
9023 drives would fit 32 bytes.
9024
8090fc01 90252009-05-13 Pavel Roskin <proski@gnu.org>
9026
ac963883 9027 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
9028 grub_uint32_t to avoid a warning.
9029
8090fc01 9030 * loader/i386/linux.c (allocate_pages): When assigning
9031 real_mode_mem, cast through grub_size_t to fix a warning. The
9032 code already makes sure that the value would fit a pointer.
9033 (grub_linux_setup_video): Cast render_target->data to
9034 grub_size_t to fix a warning.
9035
18f547ad 90362009-05-13 Javier MartĂ­n <lordhabbit@gmail.com>
4246b8a9 9037
9038 * commands/i386/pc/drivemap.c: New file - implement drivemap
9039 command.
9040 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
9041 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
9042
6f6a8b28 90432009-05-13 Pavel Roskin <proski@gnu.org>
9044
9045 * util/i386/pc/grub-setup.c (setup): Remove unused variable
9046 embedding_area_exists.
9047
15fbf4c4 90482009-05-13 Robert Millan <rmh.grub@aybabtu.com>
9049
9050 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
9051 it easier to understand / work with.
59978c8a 9052 Improve warning messages for cases where there's no embedding area,
9053 or when it is too small (or core.img too large).
15fbf4c4 9054
238e871f 90552009-05-13 Pavel Roskin <proski@gnu.org>
9056
0ab3a9a4 9057 * loader/i386/pc/multiboot2.c: Add necessary includes for
9058 grub_multiboot2_real_boot().
9059
a2c8c5f8 9060 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
9061 PX record is always little-endian. We only need the lower 2
9062 bytes of the mode.
9063
faec96af 9064 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
9065 facilitate code reuse.
9066 (grub_cpio_mount): Use "struct head", not a char buffer. This
9067 fixes a warning reported by gcc 4.4.
9068
238e871f 9069 * kernel/disk.c (grub_disk_read): Use void pointer for the
9070 buffer.
9071 (grub_disk_write): Use const void pointer for the buffer.
9072 Adjust all callers. Remove unnecessary casts.
9073
901d2f0c 90742009-05-10 Robert Millan <rmh.grub@aybabtu.com>
9075
9076 * util/i386/pc/grub-install.in: Update copyright year.
9077
18f547ad 90782009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 9079
9080 gptsync
9081
9082 * commands/gptsync.c: new file
9083 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
9084 (gptsync_mod_SOURCES): new variable
9085 (gptsync_mod_CFLAGS): likewise
9086 (gptsync_mod_LDFLAGS): likewise
18f547ad 9087 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 9088 new definition
9089 (GRUB_PC_PARTITION_TYPE_HFS): likewise
9090 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
9091 * conf/i386-ieee1275.rmk: likewise
9092 * conf/i386-pc.rmk: likewise
9093 * conf/powerpc-ieee1275.rmk: likewise
9094
b4ba690a 90952009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9096
9097 Fixed grub-emu
9098
9099 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
9100 (grub_dl_ref): likewise
9101
317e1a44 91022009-05-08 Robert Millan <rmh.grub@aybabtu.com>
9103
9104 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
9105 split in two functions (one for msdos and one for gpt).
9106
041b8094 91072009-05-08 Pavel Roskin <proski@gnu.org>
9108
752473c2 9109 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
9110 not modified.
9111
041b8094 9112 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
9113 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
9114 Initialize them with -1. Add sanity check for bad1. Eliminate
9115 nerr variable.
9116
172800ce 91172009-05-08 David S. Miller <davem@davemloft.net>
9118
9119 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
9120
29aa5e81 91212009-05-06 Robert Millan <rmh.grub@aybabtu.com>
9122
9123 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 9124 existence.
29aa5e81 9125
96613b62 91262009-05-05 Felix Zielcke <fzielcke@z-51.de>
9127
9128 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 9129 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 9130
eef73c8a 91312009-05-05 David S. Miller <davem@davemloft.net>
9132
9133 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
9134
119494b5 91352009-05-05 Pavel Roskin <proski@gnu.org>
9136
9137 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
9138 of grub_dl_ref() and grub_dl_unref().
9139 * commands/parttool.c: Remove preprocessor conditionals around
9140 grub_dl_ref() and grub_dl_unref().
9141 * fs/affs.c: Likewise.
9142 * fs/afs.c: Likewise.
9143 * fs/cpio.c: Likewise.
9144 * fs/ext2.c: Likewise.
9145 * fs/fat.c: Likewise.
9146 * fs/hfs.c: Likewise.
9147 * fs/hfsplus.c: Likewise.
9148 * fs/iso9660.c: Likewise.
9149 * fs/jfs.c: Likewise.
9150 * fs/minix.c: Likewise.
9151 * fs/ntfs.c: Likewise.
9152 * fs/reiserfs.c: Likewise.
9153 * fs/sfs.c: Likewise.
9154 * fs/udf.c: Likewise.
9155 * fs/ufs.c: Likewise.
9156 * fs/xfs.c: Likewise.
9157 * include/grub/dl.h: Likewise.
9158 * loader/xnu.c: Likewise.
9159
de5fd76e 91602009-05-04 Pavel Roskin <proski@gnu.org>
9161
9162 * commands/acpi.c: Remove unused variable my_mod.
9163 * partmap/amiga.c: Likewise.
9164 * partmap/apple.c: Likewise.
9165 * partmap/gpt.c: Likewise.
9166 * partmap/pc.c: Likewise.
9167 * partmap/sun.c: Likewise.
9168 * term/gfxterm.c: Likewise.
9169 * term/i386/pc/vesafb.c: Likewise.
9170 * term/i386/pc/vga.c: Likewise.
9171
983598ad 91722009-05-04 David S. Miller <davem@davemloft.net>
9173
9174 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
9175 pointer args to grub_ieee1275_get_property().
9176
8aadec43 9177 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
9178
9554b15e 9179 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
9180 devices, and do not traverse down under controller nodes.
9181
67e23c90 9182 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
9183 (grub_ofdisk_open): Use it to un-escape "," characters.
9184 * kern/disk.c (find_part_sep): New.
9185 (grub_disk_open): Use it to find the first non-escaped ','
9186 character in the disk name.
9187 * util/ieee1275/devicemap.c (escape_of_path): New.
9188 (grub_util_emit_devicemap_entry): Use it.
9189 * util/sparc64/ieee1275/grub-install.in: Update script to
9190 strip partition specifiers properly by not triggering on
9191 '\' escaped ',' characters.
9192
74bfdd2f 91932009-05-04 Robert Millan <rmh.grub@aybabtu.com>
9194
9195 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
9196 to 0x300.
9197 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
9198 resolutions.
9199 (linux_vesafb_modes): Add a lot of additional modes to the list (based
9200 on documentation from Wikipedia).
9201
4241d2b1 92022009-05-04 Pavel Roskin <proski@gnu.org>
9203
9204 * disk/ata.c: Spelling fixes.
9205 * disk/raid.c: Likewise.
9206 * disk/usbms.c: Likewise.
9207 * disk/dmraid_nvidia.c: Likewise.
9208 * kern/ieee1275/openfw.c: Likewise.
9209 * kern/ieee1275/init.c: Likewise.
9210 * kern/ieee1275/cmain.c: Likewise.
9211 * boot/i386/pc/cdboot.S: Likewise.
9212 * video/readers/png.c: Likewise.
9213 * video/i386/pc/vbe.c: Likewise.
9214 * fs/udf.c: Likewise.
9215 * fs/hfs.c: Likewise.
9216 * fs/reiserfs.c: Likewise.
9217 * efiemu/runtime/efiemu.c: Likewise.
9218 * efiemu/main.c: Likewise.
9219 * efiemu/mm.c: Likewise.
9220 * include/grub/elf.h: Likewise.
9221 * include/grub/xnu.h: Likewise.
9222 * include/grub/usbdesc.h: Likewise.
9223 * include/grub/usb.h: Likewise.
9224 * include/grub/script_sh.h: Likewise.
9225 * include/grub/lib/LzmaEnc.h: Likewise.
9226 * include/grub/efiemu/efiemu.h: Likewise.
9227 * include/grub/command.h: Likewise.
9228 * normal/menu.c: Likewise.
9229 * normal/main.c: Likewise.
9230 * normal/datetime.c: Likewise.
9231 * bus/usb/uhci.c: Likewise.
9232 * mmap/i386/uppermem.c: Likewise.
9233 * mmap/mmap.c: Likewise.
9234 * commands/acpi.c: Likewise.
9235 * commands/test.c: Likewise.
9236 * partmap/apple.c: Likewise.
9237 * font/font.c: Likewise.
9238 * loader/sparc64/ieee1275/linux.c: Likewise.
9239 * loader/macho.c: Likewise.
9240 * loader/i386/bsd_trampoline.S: Likewise.
9241 * loader/i386/bsd.c: Likewise.
9242 * loader/xnu.c: Likewise.
9243 * term/i386/pc/vesafb.c: Likewise.
9244 * term/usb_keyboard.c: Likewise.
9245 * util/resolve.c: Likewise.
9246 * util/getroot.c: Likewise.
9247
0cfc0083 92482009-05-04 Felix Zielcke <fzielcke@z-51.de>
9249
9250 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
9251
7c1d00cd 92522009-05-04 Robert Millan <rmh.grub@aybabtu.com>
9253
9254 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
9255 build error.
9256
b01f0548 92572009-05-04 Robert Millan <rmh.grub@aybabtu.com>
9258
9259 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
9260 parameter only available on BIOS.
9261
ecc3eb22 92622009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9263
9264 Removed wrong semicolon in declaration
9265
9266 * grub/misc.h (grub_dprintf): remove semicolon
9267
112972a9 92682009-05-04 Robert Millan <rmh.grub@aybabtu.com>
9269
9270 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
9271 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
9272 is done by grub_cmd_linux() now).
9273 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
9274 restore video to text mode.
9275 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
9276 indicates lack of "vga=" parameter. "vga=0" is mapped to
9277 `GRUB_LINUX_VID_MODE_NORMAL'.
9278
afd5c115 92792009-05-04 Felix Zielcke <fzielcke@z-51.de>
9280
9281 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
9282 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
9283 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 9284 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 9285 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
9286 `grub_script.tab.c'.
9287
9288 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9289 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9290 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9291 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
9292 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9293
faa517ce 9294 * Makefile.in: Remove duplicated 2008 in Copyright line.
9295
ae0c0bdc 92962009-05-04 Robert Millan <rmh.grub@aybabtu.com>
9297
473d1e45 9298 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 9299 unconditionally.
9300 * include/grub/util/misc.h (grub_util_warn): New declaration.
9301
9302 * util/i386/pc/grub-install.in: Understand --force and pass it down
9303 to grub-setup.
9304
9305 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
9306 down to setup().
9307 (setup): Improve error messages and add warnings when requested to
9308 install in odd layouts. Refuse to install using blocklists unless
9309 --force was set.
9310
18f547ad 93112009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 9312
9313 * disk/raid.c (grub_raid_scan_device): Improve debug message.
9314
6d260daa 93152009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9316
9317 Updated copyright year
9318
9319 * fs/hfsplus.c: updated copyright year
18f547ad 9320
69f853f8 93212009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9322
9323 HFS+ UUID
9324
18f547ad 9325 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 9326 in the space previously used by unused3
9327 (grub_hfsplus_uuid): new function
9328 (grub_hfsplus_fs): added uuid field
9329
4c402e73 93302009-05-03 Pavel Roskin <proski@gnu.org>
9331
9332 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
9333 suppress warnings. It's no longer needed.
9334 * disk/host.c: Likewise.
9335 * disk/ata_pthru.c: Likewise.
9336 * disk/loopback.c: Likewise.
9337 * hook/datehook.c: Likewise.
9338 * parttool/pcpart.c: Likewise.
9339 * fs/i386/pc/pxe.c: Likewise.
9340 * fs/ntfscomp.c: Likewise.
9341 * efiemu/main.c: Likewise.
9342 * mmap/mmap.c: Likewise.
9343 * commands/crc.c: Likewise.
9344 * commands/hexdump.c: Likewise.
9345 * commands/hdparm.c: Likewise.
9346 * commands/acpi.c: Likewise.
9347 * commands/echo.c: Likewise.
9348 * commands/minicmd.c: Likewise.
9349 * commands/blocklist.c: Likewise.
9350 * commands/memrw.c: Likewise.
9351 * commands/loadenv.c: Likewise.
9352 * commands/usbtest.c: Likewise.
9353 * commands/lsmmap.c: Likewise.
9354 * commands/boot.c: Likewise.
9355 * commands/parttool.c: Likewise.
9356 * commands/configfile.c: Likewise.
9357 * commands/search.c: Likewise.
9358 * commands/ieee1275/suspend.c: Likewise.
9359 * commands/cat.c: Likewise.
9360 * commands/i386/pc/pxecmd.c: Likewise.
9361 * commands/i386/pc/play.c: Likewise.
9362 * commands/i386/pc/halt.c: Likewise.
9363 * commands/i386/pc/vbeinfo.c: Likewise.
9364 * commands/i386/pc/vbetest.c: Likewise.
9365 * commands/lspci.c: Likewise.
9366 * commands/date.c: Likewise.
9367 * commands/handler.c: Likewise.
9368 * commands/ls.c: Likewise.
9369 * commands/test.c: Likewise.
9370 * commands/cmp.c: Likewise.
9371 * commands/efi/loadbios.c: Likewise.
9372 * commands/efi/fixvideo.c: Likewise.
9373 * commands/halt.c: Likewise.
9374 * commands/help.c: Likewise.
9375 * commands/reboot.c: Likewise.
9376 * hello/hello.c: Likewise.
9377 * script/sh/main.c: Likewise.
9378 * loader/xnu.c: Likewise.
9379 * term/terminfo.c: Likewise.
9380 * term/i386/pc/serial.c: Likewise.
9381 * term/usb_keyboard.c: Likewise.
9382
515b5079 93832009-05-03 David S. Miller <davem@davemloft.net>
9384
9385 * normal/menu.c: Include grub/parser.h
9386
dfc31a22 93872009-05-03 Pavel Roskin <proski@gnu.org>
9388
2fee74f1 9389 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
9390 not char*.
9391 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
9392 Suggested by Javier MartĂ­n <lordhabbit@gmail.com>
9393
dfc31a22 9394 * util/i386/pc/grub-mkrescue.in: Allow for the case when
9395 efiemu??.o doesn't exist.
9396 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
9397 copying.
9398
18f547ad 93992009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 9400
9401 FreeBSD 64-bit support
9402
18f547ad 9403 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 9404 and loader/i386/bsd_trampoline.S
9405 (bsd_mod_ASFLAGS): new variable
9406 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
9407 (FREEBSD_MODTYPE_KERNEL64): likewise
9408 (grub_bsd64_trampoline_start): likewise
9409 (grub_bsd64_trampoline_end): likewise
9410 (grub_bsd64_trampoline_selfjump): likewise
9411 (grub_bsd64_trampoline_gdt): likewise
9412 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
9413 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
9414 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
9415 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 9416 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 9417 of "attrib" member
9418 * loader/i386/bsd_pagetable.c: new file
9419 * loader/i386/bsd_trampoline.S: likewise
9420 * loader/i386/bsd.c (ALIGN_QWORD): new macro
9421 (ALIGN_VAR): likewise
9422 (entry_hi): new variable
9423 (kern_end_mdofs): likewise
9424 (is_64bit): likewise
9425 (grub_freebsd_add_meta): use ALIGN_VAR
9426 (grub_e820_mmap): new declaration
9427 (grub_freebsd_add_mmap): new function
9428 (grub_freebsd_add_meta_module): support 64 bit kernels
9429 (grub_freebsd_list_modules): use ALIGN_VAR
9430 (gdt_descriptor): new declaration
9431 (grub_freebsd_boot): support 64 bit kernels
9432 (grub_bsd_elf64_hook): new function
9433 (grub_bsd_load_elf): support elf64
9434
038c5720 94352009-05-03 Bean <bean123ch@gmail.com>
9436
9437 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
9438 after we get the result of if statement.
9439
fc45fb58 94402009-05-03 Bean <bean123ch@gmail.com>
9441
9442 * Makefile.in (enable_efiemu): New variable.
9443
9444 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
9445 set.
9446 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
9447 path.
9448 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
9449 path, add -mno-red-zone option.
9450 (efiemu64_s.o): Likewise.
9451 (efiemu64.o): Use macro $^ for source file.
9452
9453 * configure.ac (--enable-efiemu): New option.
9454
bbee0f2b 94552009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
9456
9457 xnu support
9458
9459 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
9460 (pkglib_MODULES): add xnu.mod
9461 (xnu_mod_SOURCES): new variable
9462 (xnu_mod_CFLAGS): likewise
9463 (xnu_mod_LDFLAGS): likewise
9464 (xnu_mod_ASFLAGS): likewise
9465 * conf/i386-pc.rmk: likewise
9466 * conf/x86_64-efi.rmk: likewise
7dd4a573 9467 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 9468 new declaration
9469 * include/grub/i386/macho.h: new file
9470 * include/grub/i386/xnu.h: likewise
9471 * include/grub/macho.h: likewise
9472 * include/grub/machoload.h: likewise
9473 * include/grub/x86_64/macho.h: likewise
9474 * include/grub/x86_64/xnu.h: likewise
9475 * include/grub/xnu.h: likewise
9476 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
9477 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
9478 * loader/i386/efi/xnu.c: new file
9479 * loader/i386/pc/xnu.c: likewise
9480 * loader/i386/xnu.c: likewise
9481 * loader/i386/xnu_helper.S: likewise
9482 * loader/macho.c: likewise
9483 * loader/xnu.c: likewise
9484 * loader/xnu_resume.c: likewise
9485 * util/grub-dumpdevtree: likewise
9486 * include/grub/i386/pit.h: include grub/err.h
9487 (grub_pit_wait): export
9488 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 9489
5caf964d 94902009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9491
9492 Efiemu
7dd4a573 9493
5caf964d 9494 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 9495 _linux_efi, linux_efi.
9496 new files in grub-emu
5caf964d 9497 new targets efiemu32.o and efiemu64.o
9498 * loader/linux_normal_efiemu.c: likewise
9499 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 9500 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 9501 files to copy
9502 * include/grub/autoefi.h: new file
7dd4a573 9503 * include/grub/i386/efiemu.h: likewise
5caf964d 9504 * include/grub/i386/pc/efiemu.h: likewise
9505 * include/grub/efi/api.h: add LL suffix when necessary
9506 new definitions relating to tables
9507 * include/grub/efiemu/efiemu.h: new file
9508 * include/grub/efiemu/runtime.h: likewise
9509 * efiemu/prepare.c: likewise
9510 * efiemu/loadcore_common.c: likewise
9511 * efiemu/loadcore64.c: likewise
9512 * efiemu/runtime/efiemu.sh: likewise
9513 * efiemu/runtime/efiemu.S: likewise
9514 * efiemu/runtime/efiemu.c: likewise
9515 * efiemu/runtime/config.h: likewise
9516 * efiemu/prepare32.c: likewise
9517 * efiemu/main.c: likewise
9518 * efiemu/modules/pnvram.c: likewise
9519 * efiemu/modules/i386: likewise
9520 * efiemu/modules/i386/pc: likewise
9521 * efiemu/modules/acpi.c: likewise
9522 * efiemu/i386/pc/cfgtables.c: likewise
9523 * efiemu/i386/loadcore64.c: likewise
9524 * efiemu/i386/loadcore32.c: likewise
9525 * efiemu/prepare64.c: likewise
9526 * efiemu/loadcore.c: likewise
9527 * efiemu/symbols.c: likewise
9528 * efiemu/mm.c: likewise
9529 * efiemu/loadcore32.c: likewise
7dd4a573 9530
95312009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 9532
9533 ACPI spoofing
9534
9535 * commands/acpi.c: new file
9536 * commands/i386/pc/acpi.c: likewise
9537 * commands/efi/acpi.c: likewise
9538 * include/grub/acpi.h: likewise
9539 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
9540 (acpi_mod_SOURCES): new variable
9541 (acpi_mod_CFLAGS): likewise
9542 (acpi_mod_LDFLAGS): likewise
9543 * conf/i386-efi.rmk: likewise
9544 * conf/x86_64-efi.rmk: likewise
9545
7dd4a573 95462009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 9547
9548 Missing part from mmap patch
9549
9550 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
9551 (grub_mmap_unregister)
9552 (grub_mmap_free_and_unregister): use grub_mmap_register
9553
7dd4a573 95542009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 9555
9556 Mmap services
9557
9558 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
9559 * loader/i386/linux.c (find_mmap_size): likewise
9560 (allocate_pages): likewise
9561 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
9562 (grub_fill_multiboot_mmap): likewise
9563 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
9564 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
9565 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
9566 (OPENBSD_MMAP_RESERVED): likewise
9567 * include/grub/i386/pc/memory.h: include grub/memory.h
9568 (grub_lower_mem): removed
9569 (grub_upper_mem): likewise
9570 (GRUB_MACHINE_MEMORY_ACPI): new definition
9571 (GRUB_MACHINE_MEMORY_NVS): likewise
9572 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
9573 (GRUB_MACHINE_MEMORY_HOLE): likewise
9574 (grub_machine_mmap_register): likewise
9575 (grub_machine_mmap_unregister): likewise
9576 (grub_machine_get_upper): likewise
9577 (grub_machine_get_lower): likewise
9578 (grub_machine_get_post64): likewise
9579 * include/grub/i386/efi/memory.h: new file
9580 * include/grub/x86_64/efi/memory.h: likewise
9581 * include/grub/efi/memory.h: likewise
9582 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
9583 (mmap_mod_SOURCES): new variable
9584 (mmap_mod_LDFLAGS): likewise
9585 (mmap_mod_ASFLAGS): likewise
9586 * conf/i386-coreboot.rmk: likewise
9587 * conf/i386-ieee1275.rmk: likewise
9588 * conf/i386-efi.rmk: likewise
9589 * conf/x86_64-efi.rmk: likewise
9590 * include/grub/types.h (UINT_TO_PTR): new macro
9591 (PTR_TO_UINT32): likewise
9592 (PTR_TO_UINT64): likewise
9593 * include/grub/memory.h: new file
9594 * mmap/i386/pc/mmap.c: likewise
9595 * mmap/i386/pc/mmap_helper.S: likewise
9596 * mmap/i386/uppermem.c: likewise
9597 * mmap/mmap.c: likewise
9598 * mmap/efi/mmap.c: likewise
7dd4a573 9599 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 9600 grub_upper_mem
9601 * kern/i386/pc/init.c (grub_lower_mem): removed variable
9602 (grub_upper_mem): likewise
9603 (grub_machine_init): don't use grub_upper_mem,
9604 make grub_lower_mem local
9605 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
9606 grub_mmap_iterate and grub_mmap_get_upper
9607 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
9608
d558e6b5 96092009-05-02 Bean <bean123ch@gmail.com>
9610
9611 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
9612 script/sh/parser.y.
9613 (pkglib_MODULES): Add normal.mod and sh.mod.
9614 (normal_SOURCES): New variable.
9615 (normal_mod_CFLAGS): Likewise.
9616 (normal_mod_LDFLAGS): Likewise.
9617 (sh_mod_SOURCES): Likewise.
9618 (sh_mod_CFLAGS): Likewise.
9619 (sh_mod_LDFLAGS): Likewise.
9620
9621 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
9622 script/sh/lexer.c_DEPENDENCIES.
9623 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
9624 kern/rescue_reader.c and kern/rescue_parser.c.
9625 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
9626 (grub_emu_SOURCES): Change source files.
9627 (pkglib_MODULES): Remove normal.mod.
9628 (normal_SOURCES): Removed.
9629 (normal_mod_CFLAGS): Likewise.
9630 (normal_mod_LDFLAGS): Likewise.
9631 * conf/i386-coreboot.rmk: Likewise.
9632 * conf/i386-efi.rmk: Likewise.
9633 * conf/i386-ieee1276.rmk: Likewise.
9634 * conf/powerpc-ieee1275.rmk: Likewise.
9635 * conf/sparc64-ieee1275.rmk: Likewise.
9636 * conf/x86_64-efi.rmk: Likewise.
9637
9638 * include/grub/command.h (grub_command_execute): New inline function.
9639
9640 * include/grub/menu.h (grub_menu_entry): Removed commands field.
9641
9642 * include/grub/normal.h: Remove <grub/setjmp.h>.
9643 (grub_fs_module_list): Moved to normal/autofs.c.
9644 (grub_exit_env): Removed.
9645 (grub_command_execute): Likewise.
9646 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
9647 parameter script.
9648 (read_command_list): New function declaration.
9649 (read_fs_list): Likewise.
9650
9651 * include/parser.h: Include <grub/reader.h>.
9652 (grub_parser_split_cmdline): Change type of getline parameter.
9653 (grub_parser): New structure.
9654 (grub_parser_class): New variable.
9655 (grub_parser_execute): New function declaration.
9656 (grub_register_rescue_parser): Likewise.
9657 (grub_parser_register): New inline function.
9658 (grub_parser_unregister): Likewise.
9659 (grub_parser_get_current): Likewise.
9660 (grub_parser_set_current): Likewise.
9661
9662 * include/grub/reader.h: New file.
9663 * kern/reader.c: Likewise.
9664 * kern/rescue_parser.c: Likewise.
9665 * kern/rescue_reader.c: Likewise.
9666 * normal/autofs.c: Likewise.
9667 * normal/dyncmd.c: Likewise.
9668
9669 * include/grub/rescue.h: Removed.
9670 * normal/command.h: Likewise.
9671
9672 * include/grub/script.h: Moved to ...
9673 * include/grub/script_sh.h: ... Moved here.
9674 * normal/execute.c: Moved to ...
9675 * script/sh/execute.c: ... Moved here.
9676 * normal/function.c: Moved to ...
9677 * script/sh/function.c: ... Moved here.
9678 * normal/lexer.c: Moved to ...
9679 * script/sh/lexer.c: ... Moved here.
9680 * normal/parser.y: Moved to ...
9681 * script/sh/parser.y: ... Moved here.
9682 * normal/script.c: Moved to ...
9683 * script/sh/script.c: ... Moved here.
9684
9685 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
9686 <grub/reader.h>.
9687 (grub_exit_env): Removed.
9688 (fs_module_list): Moved to normal/autofs.c.
9689 (grub_file_getline): Don't handle comment here.
9690 (free_menu): Skip removed field entry->commands.
9691 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
9692 script parameter.
9693 (read_config_file): Removed nested parameter, change getline function.
9694 (grub_enter_normal_mode): Removed.
9695 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
9696 (read_command_list): Likewise.
9697 (autoload_fs_module): Moved to normal/autofs.c.
9698 (read_fs_list): Likewise.
9699 (reader_nested): New variable.
9700 (grub_normal_execute): Run parser.sh to switch to sh parser.
9701 (grub_cmd_rescue): Removed.
9702 (cmd_normal): Removed.
9703 (grub_cmd_normal): Unregister itself at the beginning. Don't register
9704 rescue command.
9705 (grub_cmdline_run): New function.
9706 (grub_normal_reader_init): Likewise.
9707 (grub_normal_read_line): Likewise.
9708 (grub_env_write_pager): Likewise.
9709 (cmdline): New variable.
9710 (grub_normal_reader): Likewise.
9711 (GRUB_MOD_INIT): Register normal reader and set as current, register
9712 pager hook, register normal command with grub_register_command_prio,
9713 so that it won't show up in command.lst.
9714 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
9715 grub_fs_autoload_hook.
9716
9717 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
9718 (grub_menu_execute_entry): Replace grub_script_execute with
9719 grub_parser_execute, change parameter to grub_command_execute.
9720
9721 * normal/menu_text.c: Remove <grub/script.h>.
9722
9723 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
9724 and <grub/parser.h>.
9725 (run): Change editor_getline to use new parser interface. Change
9726 parameter to grub_command_execute.
9727
9728 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
9729 <grub/reader.h> and <grub/parser.h>.
9730 (grub_load_normal_mode): Execute normal command.
9731 (grub_main): Call grub_register_core_commands,
9732 grub_register_rescue_parser and grub_register_rescue_reader, use
9733 grub_reader_loop to enter input loop.
9734
7dd4a573 9735 * kern/parser.c (grub_parser_split_cmdline): Change type of
9736 getline parameter.
d558e6b5 9737 (grub_parser_class): New variable.
9738 (grub_parser_execute): New function.
9739
9740 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
9741 * loader/multiboot2.c: Likewise.
9742 * loader/sparc64/ieee1275/linux.c: Likewise.
9743
9744 * util/grub-emu.c (read_command_list): New dummy function.
9745
18db813d 97462009-05-02 Robert Millan <rmh.grub@aybabtu.com>
9747
9748 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
9749 count to 16 for CCISS and IDA.
9750
6c67de15 97512009-05-02 Robert Millan <rmh.grub@aybabtu.com>
9752
9753 * normal/menu_text.c (grub_wait_after_message): Print a newline
9754 after waiting for user input.
9755
9756 * loader/i386/linux.c: Include `<grub/normal.h>'.
9757 (grub_cmd_linux): Improve the error message about `ask' mode, by
9758 waiting for user input so it's not missed (we can do this, since
9759 user requested interaction).
9760
d9dc87b0 97612009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
9762
9763 Added missing lst to grub-mkrescue
9764
9765 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
9766 and ${input_dir}/parttool.lst
9767
ac8a2baa 97682009-04-30 David S. Miller <davem@davemloft.net>
9769
ad22a610 9770 * util/hostdisk.c (device_is_wholedisk): New function.
9771 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
9772 zero only if device_is_wholedisk() returns true.
9773
6966215d 9774 * util/hostdisk.c (convert_system_partition_to_system_disk):
9775 Handle virtual disk devices named /dev/vdiskX as found on sparc
9776 and powerpc.
9777
ac8a2baa 9778 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
9779 lettered partition specifier is found, convert to numbered.
9780
979b4fb4 97812009-04-29 David S. Miller <davem@davemloft.net>
9782
e2bf39b2 9783 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
9784 * include/grub/sparc64/ieee1275/memory.h: Likewise.
9785
3c64e104 9786 * normal/command.c: Add missing newline at end of file.
9787
979b4fb4 9788 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
9789 warnings.
9790 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
9791 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
9792 grub_ofdisk_read): Likewise, and deal similarly with the fact that
9793 ihandles have a 32-bit type but need to be stored in a "void *".
9794
136d9f82 97952009-04-28 Pavel Roskin <proski@gnu.org>
9796
9459c306 9797 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
9798 not disk. Adjust all dependencies.
2e08a26a 9799 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 9800 grub_disk_close().
9801
136d9f82 9802 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
9803 parent's partition, don't copy it by reference, as it gets freed
9804 on close.
9805
7dd4a573 98062009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 9807
9808 Preboot hooks support
9809
9810 * commands/boot.c (struct grub_preboot_t): new declaration
9811 (preboots_head): new variable
9812 (preboots_tail): likewise
9813 (grub_loader_register_preboot_hook): new function
9814 (grub_loader_unregister_preboot_hook): likewise
9815 (grub_loader_set): launch preboot hooks
9816 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
9817 (grub_loader_register_preboot_hook): new declaration
9818 (grub_loader_unregister_preboot_hook): likewise
9819
5af922b5 98202009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
9821
9822 Warning fix
9823
7dd4a573 9824 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 9825 calling grub_dprintf
9826
a5562c30 98272009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
9828
9829 Bug and warning fixes
9830
7dd4a573 9831 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 9832 declaration
9833 * commands/test.c (test_parse): fixed bug with file tests and corrected
9834 declaration of find_file
9835
4006f85c 98362009-04-26 Pavel Roskin <proski@gnu.org>
9837
9838 * Makefile.in: Don't install empty manual pages if help2man is
9839 missing. Use help2man option for output, not shell redirection.
9840
5c77c3de 98412009-04-26 David S. Miller <davem@davemloft.net>
9842
9843 * util/grub-mkdevicemap.c (make_device_map): Add missing
9844 NESTED_FUNC_ATTR to process_device().
9845
033b10a8 98462009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9847
9848 Test command
9849
9850 * commands/test.c: rewritten to use bash-like test
9851
e4343593 98522009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
9853
9854 Parttool autoloading and improvements
9855
7dd4a573 9856 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 9857 (parttool.lst): new target
9858 * genmk.rb: generate parttool-*
9859 (CLEANFILES): add #{parttool}
9860 (PARTTOOLFILES): new variable
9861 * genparttoollist.sh: new file
7dd4a573 9862 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 9863 (grub_pcpart_type): likewise
9864 * commands/parttool.c (helpmsg): new variable
9865 (grub_cmd_parttool): output help if not enough arguments are supplied
9866 autoload modules
9867 (GRUB_MOD_INIT(parttool)): use helpmsg
9868
0d312500 98692009-04-24 David S. Miller <davem@davemloft.net>
9870
7dd4a573 9871 Avoiding opening same device multiple times in device iterator.
0d312500 9872
9873 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 9874 and use it to build a list of partitions in iterate_disk() and
0d312500 9875 iterate_partition().
9876
ac20caff 9877 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
9878 on disk->data.
9879
0dcf7495 9880 * disk/ieee1275/nand.c (grub_nand_iterate): Return
9881 grub_devalias_iterate() result instead of unconditional 0.
9882 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
9883 Also, capture hook return value, either directly or via
9884 grub_children_iterate(), and propagate to caller.
9885 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
9886 grub_children_iterate): Return value is now 'int' instead of
9887 'grub_err_t'.
9888 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
9889 like a proper iterator, stopping when hooks return non-zero.
9890 (grub_devalias_iterate): Likewise.
9891
c8c08833 98922009-04-23 David S. Miller <davem@davemloft.net>
9893
9894 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
9895
f01005a8 98962009-04-22 David S. Miller <davem@davemloft.net>
9897
9898 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
9899 is larger than address_cells, use that value for address_cells too.
9900
4e8269da 9901 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
9902 IEEE1275_MAX_PATH_LEN): Define.
9903 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
9904 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
9905 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
9906 'devtype'. Explicitly NULL terminate devalias expansion.
9907
a1447506 9908 * util/sparc64/ieee1275/misc.c: New file.
9909 * util/sparc64/ieee1275/grub-setup.c: New file.
9910 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
9911 * util/sparc64/ieee1275/grub-mkimage.c: New file.
9912 * util/sparc64/ieee1275/grub-install.in: New file.
9913 * util/ieee1275/ofpath.c: New file.
9914 * util/ieee1275/devicemap.c: New file.
9915 * util/devicemap.c: New file.
9916 * util/deviceiter.c: New file.
9917 * kern/sparc64/ieee1275/init.c: New file.
9918 * include/grub/util/ofpath.h: New file.
9919 * include/grub/util/deviceiter.h: New file.
9920 * util/grub-mkdevicemap.c: Include deviceiter.h.
9921 Implement using grub_util_emit_devicemap_entry and
9922 grub_util_iterate_devices.
9923 * conf/i386-corebook.rmk: Build util/deviceiter.c and
9924 util/devicemap.c into grub-mkdevicemap
9925 * conf/i386-efi.rmk: Likewise.
9926 * conf/i386-ieee1275.rmk: Likewise.
9927 * conf/i386-pc.rmk: Likewise.
9928 * conf/powerpc-ieee1275.rmk: Likewise.
9929 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
9930 images and installation utilities. Build kernel as image
9931 instead of as elf binary. Use common rules as much as possible.
9932
7dd4a573 99332009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 9934
9935 Correct GPT definition
9936
7dd4a573 9937 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 9938 of "attrib" member
9939
c6c5219f 99402009-04-19 Felix Zielcke <fzielcke@z-51.de>
9941
9942 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
9943
0552ff9f 99442009-04-19 David S. Miller <davem@davemloft.net>
9945
9946 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
9947 (grub_rescue_cmd_linux): Rename to...
9948 (grub_cmd_linux): and fix prototype.
9949 (grub_rescue_cmd_initrd): Rename to...
9950 (grub_cmd_initrd): and fix prototype.
9951 (cmd_linux, cmd_initrd): New.
9952 (GRUB_MOD_INIT(linux)): Use grub_register_command().
9953 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
9954
d1a282fc 99552009-04-17 Pavel Roskin <proski@gnu.org>
9956
07c5039f 9957 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
9958 format.
9959 (grub_ohci_transfer): Likewise.
9960
b012002d 9961 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
9962
1bc09c35 9963 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
9964 return without a value. Fix inconsistent indentation.
9965
e0ff9126 9966 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
9967 match struct grub_fs.
9968
d1a282fc 9969 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
9970 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
9971 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
9972 * commands/lspci.c (grub_lspci_iter): Likewise.
9973
a96df3f2 99742009-04-16 Bean <bean123ch@gmail.com>
9975
9976 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
9977 value.
9978
41bb0fe9 99792009-04-15 Pavel Roskin <proski@gnu.org>
9980
9981 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
9982 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
9983 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
9984 definitions.
9985
596c6970 99862009-04-15 Felix Zielcke <fzielcke@z-51.de>
9987
9988 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 9989 that no multiple data or metadata areas are supported and `Unknown
596c6970 9990 metadata header'.
9991
7dd4a573 99922009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 9993
9994 Move loader out of the kernel
9995
9996 * kern/loader.c: moved to ...
9997 * commands/boot.c: ... moved here
9998 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
9999 * commands/boot.c (grub_cmd_boot): moved here. All users updated
10000 * include/grub/kernel.h (grub_machine_fini): export
10001 * include/grub/loader.h (grub_loader_is_loaded): update declaration
10002 (grub_loader_set): likewise
10003 (grub_loader_unset): likewise
10004 (grub_loader_boot): likewise
10005 * conf/common.rmk: new module boot.mod
10006 (pkglib_MODULES): add boot.mod
10007 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
10008 (grub_emu_SOURCES): likewise
10009 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
10010 (grub_emu_SOURCES): likewise
10011 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
10012 (grub_emu_SOURCES): likewise
10013 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
10014 (grub_emu_SOURCES): likewise
10015 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
10016 (grub_emu_SOURCES): likewise
7dd4a573 10017 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
10018 (grub_emu_SOURCES): likewise
0d5d5653 10019 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 10020 (grub_emu_SOURCES): likewise
0d5d5653 10021
7dd4a573 100222009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 10023
10024 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 10025
5999d619 10026 * kern/misc.c (grub_itoa): Removed function
10027 (grub_ltoa): likewise
10028 (grub_vsprintf): use grub_lltoa
10029
7dd4a573 100302009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 10031
10032 Restore grub-emu
10033
10034 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
10035 * conf/i386-coreboot.rmk: likewise
10036 * conf/i386-ieee1275.rmk: likewise
10037 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 10038
20318222 100392009-04-15 Felix Zielcke <fzielcke@z-51.de>
10040
10041 * INSTALL: Add that `./autogen.sh' needs to be run before
10042 `./configure.'.
10043
d05f0df3 100442009-04-14 Bean <bean123ch@gmail.com>
10045
10046 * Makefile.in (pkglib_DATA): Add handler.lst.
10047 (handler.lst): New rule.
10048
10049 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
10050 * conf/i386-coreboot.rmk: Likewise.
10051 * conf/i386-ieee1275.rmk: Likewise.
10052 * conf/i386-efi.rmk: Likewise.
10053 * conf/x86_64-efi.rmk: Likewise.
10054 * conf/powerpc-ieee1275.rmk: Likewise.
10055 * conf/sparc64-ieee1275.rmk: Likewise.
10056
10057 * genhandlerlist.sh: New file.
10058
10059 * genmk.rb: Add rules to generate handler.lst.
10060
10061 * include/grub/normal.h (grub_file_getline): New function definition.
10062 (read_handler_list): Likewise.
10063 (free_handler_list): Likewise.
10064
10065 * include/grub/term.h (grub_term_register_input): Add name parameter
10066 for auto generation of handler.lst.
10067 (grub_term_register_output): Likewise.
10068
10069 * normal/handler.c: New file.
10070
10071 * normal/main.c (get_line): Renamed to grub_file_getline.
10072 (read_config_file): Use the newly renamed grub_file_getline.
10073 (read_command_list): Likewise.
10074 (read_fs_list): Likewise.
10075 (grub_normal_execute): Call read_handler_list to parse handler.lst.
10076 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
10077
10078 * term/efi/console.c (grub_console_init): Add name parameter for auto
10079 generation of handler.lst.
10080 * term/gfxterm.c: Likewise.
10081 * term/i386/pc/at_keyboard.c: Likewise.
10082 * term/i386/pc/console.c: Likewise.
10083 * term/i386/pc/serial.c: Likewise.
10084 * term/i386/pc/vesafb.c: Likewise.
10085 * term/i386/pc/vga.c: Likewise.
10086 * term/i386/pc/vga_text.c: Likewise.
10087 * term/ieee1275/ofconsole.c: Likewise.
10088 * term/usb_keyboard.c: Likewise.
10089
33c846be 100902009-04-14 Bean <bean123ch@gmail.com>
10091
10092 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
10093 properly with null character.
10094
4484e01e 100952009-04-14 Felix Zielcke <fzielcke@z-51.de>
10096
10097 * configure: Remove.
10098 * config.h.in: Likewise.
f93d668e 10099 * stamp-h.in: Likewise.
4484e01e 10100 * DISTLIST: Likewise.
10101 * conf/common.mk: Likewise.
10102 * conf/i386-coreboot.mk: Likewise.
10103 * conf/i386-efi.mk: Likewise.
10104 * conf/i386-ieee1275.mk: Likewise.
10105 * conf/i386.mk: Likewise.
10106 * conf/i386-pc.mk: Likewise.
10107 * conf/powerpc-ieee1275.mk: Likewise.
10108 * conf/sparc64-ieee1275.mk: Likewise.
10109 * conf/x86_64-efi.mk: Likewise.
10110
10111 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
10112 develop on GRUB.
10113
7dd4a573 101142009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 10115 David S. Miller <davem@davemloft.net>
10116
10117 * util/hostdisk.c (make_device_name): Fix buffer length
10118 calculations.
10119
e25b5a8c 101202009-04-14 Felix Zielcke <fzielcke@z-51.de>
10121
10122 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
10123 <sys/param.h> and <sys/sysctl.h>.
10124 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
10125 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
10126 opening the device and reset them afterwards.
10127
1f1f580c 101282009-04-13 Pavel Roskin <proski@gnu.org>
10129
10130 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
10131 Reported by John Stanley <jpsinthemix@verizon.net>
10132
7ebc2d6b 101332009-04-13 Robert Millan <rmh@aybabtu.com>
10134
10135 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 10136 that name for menuentries when appropriate.
7ebc2d6b 10137
d8ba3667 101382009-04-13 Felix Zielcke <fzielcke@z-51.de>
10139
10140 * util/grub.d/10_freebsd.in: Add a missing `fi'.
10141
cba416eb 101422009-04-13 Robert Millan <rmh@aybabtu.com>
10143
10144 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
10145 to Linux, simply abort telling the user it's no longer supported.
10146
a547a745 101472009-04-13 Felix Zielcke <fzielcke@z-51.de>
10148
10149 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 10150 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 10151 `freebsd_loadenv' only when devices.hints exist.
10152
232a769c 101532009-04-13 Pavel Roskin <proski@gnu.org>
10154
10155 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
10156
c3012039 101572009-04-13 Felix Zielcke <fzielcke@z-51.de>
10158
10159 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
10160 partition number.
10161 (grub_drive): Likewise.
10162
234022fe 101632009-04-13 David S. Miller <davem@davemloft.net>
10164
10165 * kern/sparc64/ieee1275/ieee1275.c: New file.
10166 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
10167 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
10168 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
10169 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
10170 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
10171 grub_ieee1275_alloc_physmem): Declare new exported functions.
10172
d8e1836c 10173 * include/grub/sparc64/ieee1275/loader.h: New file.
10174 * include/grub/sparc64/ieee1275/memory.h: Likewise.
10175 * include/grub/sparc64/kernel.h: Likewise.
10176 * loader/sparc64/ieee1275/linux.c: Likewise.
10177
96bd81ec 10178 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
10179 (grub_fstest_SOURCES): Likewise.
10180
6a4737e5 10181 * util/hostdisk.c (make_device_name): Do not make any assumptions
10182 about the length of drive names.
10183
1d7a72fd 10184 * kern/dl.c (grub_dl_load_file): Close file immediately when
10185 we are done using it.
10186
56bc2471 101872009-04-12 David S. Miller <davem@davemloft.net>
10188
10189 * kern/misc.c (grub_ltoa): Fix cast when handling negative
10190 values. Noticed by Pavel Roskin.
10191
df38d0bb 10192 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
10193 target compiler.
7dd4a573 10194
e382e93a 10195 * genmk.rb: Add more flexible image type specification, also
10196 pass --strip-unneeded to objcopy.
10197 * conf/i386-pc.rmk: Use *_FORMAT.
10198 * conf/i386-pc.mk: Rebuilt.
10199
f5dbbca9 10200 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
10201 (OFDISK_HASH_SZ): Define.
10202 (ofdisk_hash): New hash table.
10203 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
10204 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
10205 instead of device phandle which is not unique.
10206
91c88b12 10207 * kern/sparc64/ieee1275/init.c: Delete, replace with...
10208 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
10209 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
10210 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
10211 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
10212 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
10213 GRUB_KERNEL_MACHINE_DATA_END): Define.
10214 (grub_kernel_image_size, grub_total_module_size): Declare.
10215
5b5d4aa5 102162009-04-12 Pavel Roskin <proski@gnu.org>
10217
7dd4a573 10218 * configure.ac: Change the logic when we check for target tools.
10219 Do it when the target is specified and it's different from the
10220 specified value of the host.
5b5d4aa5 10221
c91e1793 102222009-04-11 Felix Zielcke <fzielcke@z-51.de>
10223
10224 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
10225 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
10226 GNU/kFreeBSD. Check if a device is a character device. Use
10227 DIOCGMEDIASIZE to get the size.
10228 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
10229 support for GNU/kFreeBSD.
10230 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
10231 is a character device instead of a block device. Add support for
10232 FreeBSD device names.
10233
10234 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
10235 is a character device instead of a block device.
10236
10237 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
10238 is a character device instead of a block device.
10239
b1ac8644 102402009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
10241
10242 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
10243 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
10244 FreeBSD. Check if a device is a character device. Use
10245 DIOCGMEDIASIZE to get the size.
10246 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
10247 support for FreeBSD.
10248 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
10249 is a character device instead of a block device. Add support for
10250 FreeBSD device names.
10251
10252 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
10253 a character device instead of a block device.
10254 (grub_util_check_char_device): New function.
10255
10256 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
10257 a character device instead of a block device.
10258
10259 * include/grub/util/getroot.h (grub_util_check_char_device): New
10260 prototype.
10261
a3f7515a 102622009-04-11 David S. Miller <davem@davemloft.net>
10263
10264 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
10265 static libgcc.
10266 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
10267 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
10268 function, if present.
10269 (__bswapdi2): Likewise.
10270
0d44993d 10271 * include/grub/sparc64/ieee1275/boot.h: New file.
10272 * boot/sparc64/ieee1275/boot.S: Likewise.
10273 * boot/sparc64/ieee1275/diskboot.S: Likewise.
10274
ed3d2bc2 10275 * kern/misc.c (grub_ltoa): New function.
10276 (grub_vsprintf): Use it to format 'long' integers.
10277
d3bfb59c 102782009-04-10 David S. Miller <davem@davemloft.net>
10279
10280 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
10281 slots are of type grub_ieee1275_cell_t.
10282 (grub_nand_read): Likewise.
10283 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
10284 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
10285 macros are used to compare values in arg/ret block of the call.
10286 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
10287 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
10288 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
10289 grub_ieee1275_instance_to_path, grub_ieee1275_write,
10290 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
10291 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
10292 grub_ieee1275_close, grub_ieee1275_set_property,
10293 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
10294 grub_ieee1275_cell_t.
10295 * kern/ieee1275/openfw.c (grub_map): Likewise.
10296 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
10297 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
10298
450e2238 10299 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
10300 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
10301 (grub_devalias_iterate): Likewise.
10302
7dd4a573 103032009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 10304
10305 UFS improvements
10306
10307 * fs/ufs.c (INODE_NBLOCKS): new definition
10308 (struct grub_ufs_dirent): added fields for non-BSD dirents
10309 (grub_ufs_get_file_block): fixed double indirect handling
10310 (grub_ufs_lookup_symlink): use more robust way to determine whether
10311 symlink is inline
10312 (grub_ufs_find_file): support for non-BSD dirents
10313 (grub_ufs_dir): support for non-BSD dirents
10314
e7e6862a 103152009-04-10 Bean <bean123ch@gnail.com>
10316
10317 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
10318 attribute, otherwise the size would be wrong for i386 platform.
10319
10320 * include/grub/pci.h (grub_pci_read_word): New inline function.
10321 (grub_pci_read_byte): Likewise.
10322 (grub_pci_write): Likewise.
10323 (grub_pci_write_word): Likewise.
10324 (grub_pci_write_byte): Likewise.
10325
10326 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
10327
10328 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
10329 (find_framebuf): Scan pci to locate the frame buffer address.
10330
10331 * commands/efi/fixvideo.c: New file.
10332
10333 * commands/efi/loadbios.c: Likewise.
10334
10335 * commands/memrw.c: Likewise.
10336
10337 * util/grub-dumpbios.in: Likewise.
10338
10339 * conf/common.rmk (grub-dumpbios): New utility.
10340 (pkglib_MODULES): New module memrw.mod.
10341 (memrw_mod_SOURCE): New macro.
10342 (memrw_mod_CFLAGS): Likewise.
10343 (memrw_mod_LDFLAGS): Likewise.
10344
7dd4a573 10345 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 10346 fixvideo.mod.
10347 (loadbios_mod_SOURCE): New macro.
10348 (loadbios_mod_CFLAGS): Likewise.
10349 (loadbios_mod_LDFLAGS): Likewise.
10350 (fixvideo_mod_SOURCE): Likewise.
10351 (fixvideo_mod_CFLAGS): Likewise.
10352 (fixvideo_mod_LDFLAGS): Likewise.
10353
7dd4a573 10354 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 10355 fixvideo.mod.
10356 (loadbios_mod_SOURCE): New macro.
10357 (loadbios_mod_CFLAGS): Likewise.
10358 (loadbios_mod_LDFLAGS): Likewise.
10359 (fixvideo_mod_SOURCE): Likewise.
10360 (fixvideo_mod_CFLAGS): Likewise.
10361 (fixvideo_mod_LDFLAGS): Likewise.
10362
af63ada2 103632009-04-08 Felix Zielcke <fzielcke@z-51.de>
10364
10365 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
10366
c2cdde70 103672009-04-07 David S. Miller <davem@davemloft.net>
10368
10369 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
10370 support for R_SPARC_OLO10 relocations. Fix compile warning for
10371 R_SPARC_WDISP30 case.
ea3f72cf 10372 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 10373
761319cf 103742009-04-06 Pavel Roskin <proski@gnu.org>
10375
1007d1f5 10376 * include/grub/misc.h (ARRAY_SIZE): New macro.
10377 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
10378 New macro.
10379 * loader/i386/linux.c (allocate_pages): Use free_pages().
10380 (grub_linux_unload): Don't use free_pages().
10381 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
10382 wrong index. Treat all other modes as text modes.
10383 (grub_cmd_linux): Initialize vid_mode unconditionally to
10384 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
10385
761319cf 10386 * commands/help.c (print_command_help): Use cmd->prio, not
10387 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
10388
ea761d40 103892009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 10390
ea761d40 10391 Parttool
10392
10393 * parttool/pcpart.c: new file
10394 * commands/parttool.c: likewise
10395 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
10396 (parttool_mod_SOURCES): new variable
10397 (parttool_mod_CFLAGS): likewise
10398 (parttool_mod_LDFLAGS): likewise
10399 (pcpart_mod_SOURCES): likewise
10400 (pcpart_mod_CFLAGS): likewise
10401 (pcpart_mod_LDFLAGS): likewise
7dd4a573 10402 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 10403 and parttool/pcpart.c
10404 * conf/i386-efi.rmk: likewise
10405 * conf/i386-ieee1275.rmk: likewise
10406 * conf/i386-pc.rmk: likewise
10407 * conf/powerpc-ieee1275.rmk: likewise
10408 * conf/sparc64-ieee1275.rmk: likewise
10409 * conf/x86_64-ieee1275.rmk: likewise
10410
05aaebfb 104112009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
10412
10413 Support for mtime and further expandability of dir command
10414
10415 * include/grub/lib/datetime.h: moved to ...
7dd4a573 10416 * include/grub/datetime.h: ... moved here and added
05aaebfb 10417 declaration of grub_unixtime2datetime. All users updated
7dd4a573 10418 * include/grub/fs.h: new syntax for dir and mtime functions in
10419 struct grub_fs
05aaebfb 10420 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
10421 and GRUB_FSHELP_FLAGS_MASK
10422 * commands/ls.c (grub_ls_list_files): Write mtime in long format
10423 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
10424 (grub_ext2_mtime): new function
10425 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
10426 (grub_hfsplus_mtime): new function
10427 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
10428 (GRUB_UFS_ATTR_FILE): likewise
10429 (GRUB_UFS_ATTR_LNK): likewise
10430 (struct grub_ufs_sblock): new fields mtime
10431 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
10432 all users updated
10433 (grub_ufs_dir): mtime support
10434 (grub_ufs_mtime): new function
10435 * fs/affs.c (grub_affs_dir): use new dir syntax
10436 * fs/afs.c (grub_afs_dir): likewise
10437 * fs/cpio.c (grub_cpio_dir): likewise
10438 * fs/fat.c (grub_fat_find_dir): likewise
10439 * fs/hfs.c (grub_hfs_dir): likewise
10440 * fs/iso9660.c (grub_iso9660_dir): likewise
10441 * fs/jfs.c (grub_jfs_dir): likewise
10442 * fs/minix.c (grub_minix_dir): likewise
10443 * fs/ntfs.c (grub_ntfs_dir): likewise
10444 * fs/reiserfs.c (grub_reiserfs_dir): likewise
10445 * fs/sfs.c (grub_sfs_dir): likewise
10446 * fs/xfs.c (grub_xfs_dir): likewise
10447 * util/hostfs.c (grub_hostfs_dir): likewise
10448 * lib/datetime.c: moved to ...
10449 * normal/datetime.c: ... moved here
10450 (grub_unixtime2datetime): new function
10451 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 10452 * normal/completion.c (iterate_dir): use new dir syntax
10453 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 10454 last modification time of a volume
7dd4a573 10455 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 10456 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 10457 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 10458 (normal_mod_SOURCES): likewise
10459 (datetime_mod_SOURCES): Removed lib/datetime.c
10460 * conf/i386-efi.rmk: likewise
7dd4a573 10461 * conf/i386-ieee1275.rmk: likewise
05aaebfb 10462 * conf/i386-pc.rmk: likewise
10463 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 10464 * conf/sparc64-ieee1275.rmk: likewise
10465 * conf/x86_64-efi.rmk: likewise
05aaebfb 10466
8a7e1a14 104672009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
10468
10469 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 10470
10471 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 10472 on grub_fat_find_dir
10473 (grub_fat_find_dir): use grub_fat_iterate_dir
10474 (grub_fat_label): likewise
10475
04186a9c 104762009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
10477
7dd4a573 10478 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 10479 and command.h
10480 remove extraneous kernel_elf_HEADERS
10481
da4c0bb6 104822009-04-04 Bean <bean123ch@gnail.com>
10483
10484 * include/grub/util/misc.h: Add dummy function fsync for mingw.
10485
10486 * util/misc.c: Likewise.
10487
54ad9555 104882009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
10489
10490 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
10491 instead of grub_printf.
10492
7a6bf9f2 104932009-04-03 Robert Millan <rmh@aybabtu.com>
10494
10495 * loader/i386/linux.c (grub_linux_setup_video): Fill
10496 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
10497 values from `mode info' structure instead of hardcoded
10498 values.
10499
3fcc2083 105002009-04-01 Pavel Roskin <proski@gnu.org>
10501
10502 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
10503 unused now.
10504 * genmk.rb: Likewise.
10505 * configure.ac: Likewise.
10506
5ec9740b 105072009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
10508
10509 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
10510 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
10511
5270cec8 105122009-04-01 David S. Miller <davem@davemloft.net>
10513
10514 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 10515 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 10516 (grub_setjmp): Mark with 'returns_twice' attribute.
10517 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
10518 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
10519 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
10520
9c3dd854 105212009-04-01 Robert Millan <rmh@aybabtu.com>
10522
10523 Reapply fix from 2008-07-28 which was accidentally reverted; also
10524 perform the same fix to a similar check in same function.
10525
10526 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
10527 with the same number are found, just use issue a warning with
10528 grub_dprintf(), as this error has been reported to be non-fatal.
10529
0d818b7e 105302009-03-31 Pavel Roskin <proski@gnu.org>
10531
10532 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
10533 for cross-compilation.
10534
95646d92 105352009-03-30 Robert Millan <rmh@aybabtu.com>
10536
10537 Fix i386-ieee1275 build.
10538
10539 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
10540 Remove declaration.
10541
6a003ed1 105422009-03-30 Pavel Roskin <proski@gnu.org>
10543
10544 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
10545 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
10546 zero-terminated, rely only on the strlen value. Fix comparison
10547 of strings differing in length.
10548
92f33540 105492009-03-30 Robert Millan <rmh@aybabtu.com>
10550
10551 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
10552 checking for abi version. Improve error messages on BIOS to notify
10553 user about `linux16' command.
10554
a8c48fd5 105552009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
10556
f968172e 10557 Leak fixes
a8c48fd5 10558
f968172e 10559 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
10560 in case of collision
10561 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 10562
9c323f09 105632009-03-29 Robert Millan <rmh@aybabtu.com>
10564
10565 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
10566 set `vid_mode' accordingly.
10567 (grub_linux_boot): Process `vid_mode' and set video mode.
10568
ae68f423 105692009-03-29 Robert Millan <rmh@aybabtu.com>
10570
10571 * util/grub.d/10_linux.in (linux_entry): New function.
10572 Factorize generation of Linux boot entries.
10573
5709cfc4 105742009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
10575
10576 Make the format of Environment Block plain text. The boot loader
10577 part is not tested well yet.
7dd4a573 10578
5709cfc4 10579 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
10580 (buffer): Removed.
10581 (envblk): Likewise.
10582 (usage): Remove "info" and "clear". Add "unset". Update the
10583 description of "set", as this does not delete variables any
10584 longer.
10585 (create_envblk_file): Complete rewrite.
10586 (open_envblk_file): Likewise.
10587 (cmd_info): Removed.
10588 (cmd_list): Likewise.
10589 (cmd_set): Likewise.
10590 (cmd_clear): Likewise.
10591 (list_variables): New function.
10592 (write_envblk): Likewise.
10593 (set_variables): Likewise.
10594 (unset_variables): Likewise.
10595 (main): Complete rewrite.
10596
10597 * commands/loadenv.c (buffer): Removed.
10598 (envblk): Likewise.
10599 (open_envblk_file): New function.
10600 (read_envblk_file): Complete rewrite.
10601 (grub_cmd_load_env): Likewise.
10602 (grub_cmd_list_env): Likewise.
10603 (struct blocklist): New struct.
10604 (free_blocklists): New function.
10605 (check_blocklists): Likewise.
10606 (write_blocklists): Likewise.
10607 (grub_cmd_save_env): Complete rewrite.
10608
10609 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
10610 a plain text signature.
10611 (GRUB_ENVBLK_MAXLEN): Removed.
10612 (struct grub_envblk): Complete rewrite.
10613 (grub_envblk_find): Removed.
10614 (grub_envblk_insert): Likewise.
10615 (grub_envblk_open): New prototype.
10616 (grub_envblk_set): Likewise.
10617 (grub_envblk_delete): Put const to VALUE.
10618 (grub_envblk_iterate): Put const to NAME and VALUE.
10619 (grub_envblk_close): New prototype.
10620 (grub_envblk_buffer): New inline function.
10621 (grub_envblk_size): Likewise.
10622
10623 * lib/envblk.c: Include grub/mm.h.
10624 (grub_env_find): Removed.
10625 (grub_envblk_open): New function.
10626 (grub_envblk_close): Likewise.
10627 (escaped_value_len): Likewise.
10628 (find_next_line): Likewise.
10629 (grub_envblk_insert): Removed.
10630 (grub_envblk_set): New function.
10631 (grub_envblk_delete): Complete rewrite.
10632 (grub_envblk_iterate): Likewise.
10633
a9368fd3 106342009-03-28 Robert Millan <rmh@aybabtu.com>
10635
10636 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
10637 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
10638 variables. Use 16-bit loader.
10639 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
10640 loader.
10641 * kern/i386/loader.S (grub_linux_boot): Rename to ...
10642 (grub_linux16_boot): ... this. Update all users.
10643 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
10644 (grub_linux_boot): ... this. Update all users.
10645
10646 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
10647 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
10648 commands to `linux16' and `initrd16'.
10649 (GRUB_MOD_FINI(linux)): Rename to ...
10650 (GRUB_MOD_FINI(linux16)): ... this.
10651
e4dd5a7e 106522009-03-24 Pavel Roskin <proski@gnu.org>
10653
10654 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
10655 not just for compilation.
10656
c04d6e05 106572009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
10658
10659 Move multiboot helper out of kernel
10660
10661 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
10662 `loader/i386/multiboot_helper.S'.
10663 * conf/i386-coreboot.rmk: Likewise
10664 * conf/i386-ieee1275.rmk: Likewise
10665
10666 * kern/i386/loader.S: Move multiboot helpers from here...
10667 * loader/i386/multiboot_helper.S: ...moved here
10668 * include/grub/i386/loader.h: Move declarations of multiboot
10669 helpers from here...
10670 * include/grub/i386/multiboot.h: ...moved here
10671 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
10672
42a5b3fc 106732009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
10674
10675 * kern/env.c (grub_env_context_open): Added an argument to specify
10676 whether a new context inherits exported variables from current
10677 one. This is useful when making a sandbox to interpret a config
10678 file.
10679 All callers updated.
10680
10681 * include/grub/env.h (grub_env_context_open): Updated the prototype.
10682
b28bbc4e 106832009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
10684
10685 * kern/env.c (grub_env_context_close): Fix memory leaks.
10686
f04f02e4 106872009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
10688
10689 * normal/main.c (grub_normal_execute): Added an argument
10690 BATCH to specify if an interactive interface should be provided
10691 after reading a config file.
10692 All callers updated.
10693 (read_command_list): Prevent being executed twice.
10694 (read_fs_list): Likewise.
10695
42a5b3fc 10696 * include/grub/normal.h (grub_normal_execute): Updated the
10697 prototype.
f04f02e4 10698
41473ac2 106992009-03-22 Pavel Roskin <proski@gno.org>
10700
fbc00b0c 10701 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
10702 _start.
10703 * kern/i386/pc/startup.S: Likewise.
10704 * kern/i386/efi/startup.S: Likewise.
10705 * kern/i386/ieee1275/startup.S: Likewise.
10706 * kern/i386/coreboot/startup.S: Likewise.
10707 * kern/x86_64/efi/startup.S: Likewise.
10708
41473ac2 10709 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
10710 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
10711 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
10712
2274cc8f 107132009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
10714
10715 Bugfixes in multiboot for bugs uncovered by solaris kernel.
10716
10717 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
10718 limit detection.
10719 Use vaddr of correct segment for entry_point.
10720
b1b797cb 107212009-03-21 Bean <bean123ch@gmail.com>
10722
10723 * commands/blocklist.c: Add include file <grub/command.h>, remove
10724 <grub/normal.h> and <grub/arg.h>.
10725 (grub_cmd_blocklist): Use the new command interface.
10726 (GRUB_MOD_INIT): Likewise.
10727 (GRUB_MOD_FINI): Likewise.
10728 * commands/boot.c: Likewise.
10729 * commands/cat.c: Likewise.
10730 * commands/cmp.c: Likewise.
10731 * commands/configfile.c: Likewise.
10732 * commands/crc.c: Likewise.
10733 * commands/echo.c: Likewise.
10734 * commands/halt.c: Likewise.
10735 * commands/handler.c: Likewise.
10736 * commands/hdparm.c: Likewise.
10737 * commands/help.c: Likewise.
10738 * commands/hexdump.c: Likewise.
10739 * commands/loadenv.c: Likewise.
10740 * commands/ls.c: Likewise.
10741 * commands/lsmmap.c: Likewise.
10742 * commands/lspci.c: Likewise.
10743 * commands/loadenv.c: Likewise.
10744 * commands/read.c: Likewise.
10745 * commands/reboot.c: Likewise.
10746 * commands/search.c: Likewise.
10747 * commands/sleep.c: Likewise.
10748 * commands/test.c: Likewise.
10749 * commands/usbtest.c: Likewise.
10750 * commands/videotest.c: Likewise.
10751 * commands/i386/cpuid.c: Likewise.
10752 * commands/i386/pc/halt.c: Likewise.
10753 * commands/i386/pc/play.c: Likewise.
10754 * commands/i386/pc/pxecmd.c: Likewise.
10755 * commands/i386/pc/vbeinfo.c: Likewise.
10756 * commands/i386/pc/vbetest.c: Likewise.
10757 * commands/ieee1275/suspend.c: Likewise.
10758 * disk/loopback.c: Likewise.
10759 * font/font_cmd.c: Likewise.
10760 * hello/hello.c: Likewise.
10761 * loader/efi/appleloader.c: Likewise.
10762 * loader/efi/chainloader.c: Likewise.
10763 * loader/i386/bsd.c: Likewise.
10764 * loader/i386/efi/linux.c: Likewise.
10765 * loader/i386/ieee1275/linux.c: Likewise.
10766 * loader/i386/linux.c: Likewise.
10767 * loader/i386/pc/chainloader.c: Likewise.
10768 * loader/i386/pc/linux.c: Likewise.
10769 * loader/powerpc/ieee1275/linux.c: Likewise.
10770 * loader/multiboot_loader.c: Likewise.
10771 * term/gfxterm.c: Likewise.
10772 * term/i386/pc/serial.c: Likewise.
10773 * term/terminfo.c: Likewise.
10774
10775 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
10776 * term/i386/pc/vga.c: Likewise.
10777 * video/readers/jpeg.c: Likewise.
10778 * video/readers/png.c: Likewise.
10779 * video/readers/tga.c: Likewise.
10780
10781 * util/grub-fstest (cmd_loopback): Removed.
10782 (cmd_blocklist): Likewise.
10783 (cmd_ls): Likewise.
10784 (grub_register_command): Likewise.
10785 (grub_unregister_command): Likewise.
10786 (execute_command): Use grub_command_find to locate command and execute
10787 it.
10788
10789 * include/grub/efi/chainloader.h: Removed.
10790 * loader/efi/chainloader_normal.c: Likewise.
10791 * loader/i386/bsd_normal.c: Likewise.
10792 * loader/i386/pc/chainloader_normal.c: Likewise.
10793 * loader/i386/pc/multiboot_normal.c: Likewise.
10794 * loader/linux_normal.c: Likewise.
10795 * loader/multiboot_loader_normal.c: Likewise.
10796 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
10797
10798 * gencmdlist.sh: Scan new registration command grub_register_extcmd
10799 and grub_register_command_p1.
10800
10801 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
10802 kern/command.c, lib/arg.c and commands/extcmd.c.
10803 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
10804 (minicmd_mod_SOURCES): New variable.
10805 (minicmd_mod_CFLAGS): Likewise.
10806 (minicmd_mod_LDFLAGS): Likewise.
10807 (extcmd_mod_SOURCES): Likewise.
10808 (extcmd_mod_CFLAGS): Likewise.
10809 (extcmd_mod_LDFLAGS): Likewise.
10810 (boot_mod_SOURCES): Removed.
10811 (boot_mod_CFLAGS): Likewise.
10812 (boot_mod_LDFLAGS): Likewise.
10813
10814 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
10815 kern/corecmd.c.
10816 (kernel_img_HEADERS): Add command.h.
10817 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
10818 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
10819 and lib/arg.c.
10820 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
10821 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
10822 remove the corresponding normal mode command.
10823 (normal_mod_SOURCES): Remove normal/arg.c.
10824 * conf/i386-coreboot.rmk: Likewise.
10825 * conf/i386-efi.rmk: Likewise.
10826 * conf/i386-ieee1275.rmk: Likewise.
10827 * conf/powerpc-ieee1275.rmk: Likewise.
10828 * conf/x86_64-efi.rmk: Likewise.
10829
10830 * include/grub/arg.h: Move from here ...
10831 * include/grub/lib/arg.h: ... to here.
10832
10833 * normal/arg.c: Move from here ...
10834 * lib/arg.c: ... to here.
10835
10836 * commands/extcmd.c: New file.
10837 * commands/minicmd.c: Likewise.
10838 * include/grub/command.h: Likewise.
10839 * include/grub/extcmd.h: Likewise.
10840 * kern/command.c: Likewise.
10841 * kern/corecmd.c: Likewise.
10842
10843 * kern/list.c (grub_list_iterate): Return int instead of void.
10844 (grub_list_insert): New function.
10845 (grub_prio_list_insert): Likewise.
10846
10847 * kern/rescue.c (grub_rescue_command): Removed.
10848 (grub_rescue_command_list): Likewise.
10849 (grub_rescue_register_command): Likewise.
10850 (grub_rescue_unregister_command): Likewise.
10851 (grub_rescue_cmd_boot): Move to minicmd.c
10852 (grub_rescue_cmd_help): Likewise.
10853 (grub_rescue_cmd_info): Likewise.
10854 (grub_rescue_cmd_boot): Likewise.
10855 (grub_rescue_cmd_testload): Likewise.
10856 (grub_rescue_cmd_dump): Likewise.
10857 (grub_rescue_cmd_rmmod): Likewise.
10858 (grub_rescue_cmd_lsmod): Likewise.
10859 (grub_rescue_cmd_exit): Likewise.
10860 (grub_rescue_print_devices): Moved to corecmd.c.
10861 (grub_rescue_print_files): Likewise.
10862 (grub_rescue_cmd_ls): Likewise.
10863 (grub_rescue_cmd_insmod): Likewise.
10864 (grub_rescue_cmd_set): Likewise.
10865 (grub_rescue_cmd_unset): Likewise.
7d074e3c 10866 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 10867 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 10868 commands, remove grub_rescue_register_command calls.
b1b797cb 10869
7d074e3c 10870 * normal/command.c (grub_register_command): Removed.
b1b797cb 10871 (grub_unregister_command): Likewise.
10872 (grub_command_find): Likewise.
10873 (grub_iterate_commands): Likewise.
10874 (rescue_command): Likewise.
10875 (export_command): Moved to corecmd.c.
10876 (set_command): Removed.
10877 (unset_command): Likewise.
10878 (insmod_command): Likewise.
10879 (rmmod_command): Likewise.
10880 (lsmod_command): Likewise.
10881 (grub_command_init): Likewise.
10882
10883 * normal/completion.c (iterate_command): Use cmd->prio to check for
10884 active command.
10885 (complete_arguments): Use grub_extcmd_t structure to find options.
10886 (grub_normal_do_completion): Change function grub_iterate_commands to
10887 grub_command_iterate.
10888
10889 * normal/execute.c (grub_script_execute_cmd): No need to parse
10890 argument here.
10891
10892 * normal/main.c (grub_dyncmd_dispatcher): New function.
10893 (read_command_list): Register unload commands as dyncmd.
10894 (grub_cmd_normal): Use new command interface, register rescue,
10895 unregister normal at entry, register normal, unregister rescue at exit.
10896
10897 * include/grub/list.h (grub_list_test_t): New type.
10898 (grub_list_iterate): Return int instead of void.
10899 (grub_list_insert): New function.
10900 (GRUB_AS_NAMED_LIST_P): New macro.
10901 (GRUB_AS_PRIO_LIST): Likewise.
10902 (GRUB_AS_PRIO_LIST_P): Likewise.
10903 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
10904 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
10905 (grub_prio_list): New structure.
10906 (grub_prio_list_insert): New function.
10907 (grub_prio_list_remove): New inline function.
10908
10909 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
10910 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
10911 (GRUB_COMMAND_FLAG_MENU): Likewise.
10912 (GRUB_COMMAND_FLAG_BOTH): Likewise.
10913 (GRUB_COMMAND_FLAG_TITLE): Likewise.
10914 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
10915 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
10916 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
10917 (grub_command): Likewise.
10918 (grub_register_command): Likewise.
10919 (grub_command_find): Likewise.
10920 (grub_iterate_commands): Likewise.
10921 (grub_command_init): Likewise.
10922 (grub_arg_parse): Likewise.
10923 (grub_arg_show_help): Likewise.
10924
10925 * include/grub/rescue.h (grub_rescue_register_command): Removed.
10926 (grub_rescue_unregister_command): Likewise.
10927
10928 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
10929 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
10930 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
10931
10932 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
10933 grub_rescue_cmd_initrd.
10934 * include/grub/i386/loader.h: Likewise.
10935 * include/grub/x86_64/loader.h: Likewise.
10936
10937 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
10938
1f4147aa 109392009-03-21 Bean <bean123ch@gmail.com>
10940
10941 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
10942 instead of stat in mingw environment.
10943
10944 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
10945
10946 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
10947
10948 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
10949 AC_CONFIG_LINKS.
10950
2156d5ba 109512009-03-21 Bean <bean123ch@gmail.com>
10952
10953 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
10954 out of range error.
10955
177b82ca 109562009-03-18 Michel Dänzer <michel@daenzer.net>
10957
10958 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
10959 checking inode flags for EXT4_EXTENTS_FLAG.
10960
14aad807 109612009-03-18 Robert Millan <rmh@aybabtu.com>
10962
10963 * loader/i386/linux.c: Include `<grub/video.h>' and
10964 `<grub/i386/pc/vbe.h>'..
10965 (grub_linux_setup_video): New function. Loosely based on the EFI one.
10966 (grub_linux32_boot): Attempt to configure video settings with
10967 grub_linux_setup_video().
10968 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
10969 to avoid grub_console_fini() which would step out of graphical mode
10970 unconditionally.
10971
8cf83a27 109722009-03-14 Robert Millan <rmh@aybabtu.com>
10973
10974 Fix build on powerpc.
10975 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
10976
40164e75 109772009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
10978
10979 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
10980 background image command.
10981
c58bc32a 109822009-03-12 Colin D Bennett <colin@gibibit.com>
10983
10984 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
10985 (grub_gfxterm_putchar): Extract pairs of identical calls to
10986 draw_cursor out of conditional blocks.
10987
5415144a 109882009-03-11 Pavel Roskin <proski@gnu.org>
10989
10990 * fs/hfs.c (grub_hfs_strncasecmp): New function.
10991 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
10992
6394042e 109932009-03-11 Robert Millan <rmh@aybabtu.com>
10994
10995 * loader/i386/multiboot_elfxx.c
10996 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
10997
b7b50e5f 109982009-03-11 Felix Zielcke <fzielcke@z-51.de>
10999
11000 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
11001 `kern/handler.c'.
11002
1ca7fc96 110032009-03-11 Robert Millan <rmh@aybabtu.com>
11004
11005 * loader/i386/multiboot.c (code_size): New variable.
11006 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 11007 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 11008 4-byte alignment to MBI and others by increasing
7d074e3c 11009 `boot_loader_name_length' appropriately.
1ca7fc96 11010
11011 * loader/i386/multiboot_elfxx.c
11012 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
11013
a83ea1d2 110142009-03-09 Felix Zielcke <fzielcke@z-51.de>
11015
11016 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
11017 `fs/ext2.c'.
11018
aa9f3bff 110192009-03-08 Robert Millan <rmh@aybabtu.com>
11020
11021 Make loader/i386/linux.c usable on i386-pc again.
11022
11023 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
11024 memory to heap.
11025 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
11026 `#error' stanza.
11027
d8b3b60e 110282009-03-07 Bean <bean123ch@gmail.com>
11029
11030 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
11031 allocation.
11032
b362c9e9 110332009-03-06 Robert Millan <rmh@aybabtu.com>
11034
11035 Fix display issue on terminals with screen size other than 80x25
11036 (e.g. gfxterm with resolution higher than 640x480).
11037
11038 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 11039 position relative to the center of the terminal instead of relying
b362c9e9 11040 on a hardcoded offset.
11041
9304eef1 110422009-03-04 Robert Millan <rmh@aybabtu.com>
11043
11044 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
11045 installed.
11046
11047 * Makefile.in (host_kernel): New variable.
11048 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
11049 scripts instead of just the windows one.
11050 * configure.ac: Initialize and AC_SUBST `host_kernel'.
11051
eabc95fb 110522009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 11053
11054 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
11055 `kern/handler.c'.
11056 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11057 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11058 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
11059 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11060 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11061 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11062
ceb1223c 110632009-03-04 Felix Zielcke <fzielcke@z-51.de>
11064
11065 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
11066 or if there's no space for the disk label and print the partition number on a
11067 invalid magic.
11068
4910684a 110692009-03-04 Felix Zielcke <fzielcke@z-51.de>
11070
11071 * util/misc.c: Include <time.h>.
11072 (grub_millisleep): New function.
11073
7e9ca17a 110742009-03-04 Bean <bean123ch@gmail.com>
11075
11076 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
11077 another option -mno-red-zone.
11078
11079 * commands/handler.c: Change module description.
11080
11081 * kern/handler.c: Add missing space at the end of description line.
11082
11083 * kern/list.c: Likewise.
11084
f501677c 110852009-03-03 Robert Millan <rmh@aybabtu.com>
11086
11087 Move more components to the relocation area, and fix mbi pointer
11088 handling to use the destination rather than the origin (thanks to
11089 Vladimir Serbinenko for spotting).
11090
11091 * loader/i386/multiboot.c (mbi_dest): New variable.
11092 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
11093 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
11094 relocation area.
11095
9902d047 110962009-03-01 Bean <bean123ch@gmail.com>
11097
50fb7002 11098 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 11099 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
11100 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
11101 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
11102
11103 * loader/i386/efi/linux.c (acpi_guid): New variable.
11104 (acpi_guid): Likewise.
11105 (EBDA_SEG_ADDR): New constant.
11106 (LOW_MEM_ADDR): Likewise.
11107 (FAKE_EBDA_SEG): Likewise.
11108 (fake_bios_data): New function.
11109 (grub_linux_boot): Call fake_bios_data.
11110
71b9f361 111112009-03-01 Bean <bean123ch@gmail.com>
11112
11113 * commands/terminal.c: Removed.
11114
11115 * commands/handler.c: New file.
11116
11117 * include/grub/list.h: Likewise.
11118
11119 * include/grub/handler.h: Likewise.
11120
11121 * kern/list.c: Likewise.
11122
11123 * kern/handler.c: Likewise.
11124
11125 * kern/term.h: Include header file <grub/handler.h>.
11126 (grub_term_input): Move next field to the beginning.
11127 (grub_term_output): Likewise.
11128 (grub_term_input_class): New variable.
11129 (grub_term_output_class): Likewise.
11130 (grub_term_register_input): Changed to inline function.
11131 (grub_term_register_output): Likewise.
11132 (grub_term_unregister_input): Likewise.
11133 (grub_term_unregister_output): Likewise.
11134 (grub_term_set_current_input): Likewise.
11135 (grub_term_set_current_output): Likewise.
11136 (grub_term_get_current_input): Likewise.
11137 (grub_term_get_current_output): Likewise.
11138 (grub_term_iterate_input): Removed.
11139 (grub_term_iterate_output): Likewise.
11140
11141 * kern/term.c (grub_term_list_input): Removed.
11142 (grub_term_list_output): Likewise.
11143 (grub_term_input_class): New variable.
11144 (grub_term_output_class): Likewise.
50fb7002 11145 (grub_cur_term_input): Change variable as macro.
71b9f361 11146 (grub_cur_term_output): Likewise.
11147 (grub_term_register_input): Removed.
11148 (grub_term_register_output): Likewise.
11149 (grub_term_unregister_input): Likewise.
11150 (grub_term_unregister_output): Likewise.
11151 (grub_term_set_current_input): Likewise.
11152 (grub_term_set_current_output): Likewise.
11153 (grub_term_iterate_input): Likewise.
11154 (grub_term_iterate_output): Likewise.
11155 (grub_term_get_current_input): Likewise.
11156 (grub_term_get_current_output): Likewise.
11157
11158 * util/grub-editenv.c: Include header file <grub/handler.h>.
11159 (grub_term_get_current_input): Removed.
11160 (grub_term_get_current_output): Likewise.
11161 (grub_term_input_class): New variable.
50fb7002 11162 (grub_term_output_class): Likewise.
71b9f361 11163
11164 * util/grub-fstest.c (grub_term_get_current_input): Removed.
11165 (grub_term_get_current_output): Likewise.
11166 (grub_term_input_class): New variable.
50fb7002 11167 (grub_term_output_class): Likewise.
71b9f361 11168
11169 * util/grub-probe.c (grub_term_get_current_input): Removed.
11170 (grub_term_get_current_output): Likewise.
11171 (grub_term_input_class): New variable.
50fb7002 11172 (grub_term_output_class): Likewise.
71b9f361 11173
11174 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
11175 (grub_term_get_current_output): Likewise.
11176 (grub_term_input_class): New variable.
50fb7002 11177 (grub_term_output_class): Likewise.
71b9f361 11178
11179 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
11180 (terminal_mod_SOURCES): Likewise.
11181 (terminal_mod_CFLAGS): Likewise.
11182 (terminal_mod_LDFLAGS): Likewise.
11183
11184 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
11185 handler.c.
11186 (kernel_img_SOURCES): Add list.c and handler.c.
11187 (kernel_img_HEADERS): Add list.h and handler.h.
11188
11189 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
11190 handler.c.
11191 (kernel_mod_SOURCES): Add list.c and handler.c.
11192 (kernel_mod_HEADERS): Add list.h and handler.h.
11193
11194 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
11195 handler.c.
11196 (kernel_elf_SOURCES): Add list.c and handler.c.
11197 (kernel_elf_HEADERS): Add list.h and handler.h.
11198
11199 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
11200 handler.c.
11201 (kernel_elf_SOURCES): Add list.c and handler.c.
11202 (kernel_elf_HEADERS): Add list.h and handler.h.
11203
11204 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
11205 handler.c.
11206 (kernel_mod_SOURCES): Add list.c and handler.c.
11207 (kernel_mod_HEADERS): Add list.h and handler.h.
11208
11209 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
11210 handler.c.
11211 (kernel_elf_SOURCES): Add list.c and handler.c.
11212 (kernel_elf_HEADERS): Add list.h and handler.h.
11213
8a31787f 112142009-02-27 Robert Millan <rmh@aybabtu.com>
11215
11216 Factorize elf32 / elf64 code in Multiboot loader. This will
11217 prevent it from getting out of sync again.
11218
11219 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
11220 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
11221 grub_multiboot_load_elf64): Move from here ...
11222 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
11223 grub_multiboot_load_elf): ... to here (new file).
11224
51cd3dfc 112252009-02-27 Robert Millan <rmh@aybabtu.com>
11226
11227 * util/grub.d/10_linux.in: Rename "single-user mode" to
11228 "recovery mode".
11229
6e8c9c3a 112302009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11231
11232 Don't leak in SCSI code.
11233 * disk/scsi.c (grub_scsi_close): free `scsi'.
11234
4b6bf4f9 112352009-02-27 Robert Millan <rmh@aybabtu.com>
11236
11237 * loader/i386/pc/multiboot.c: Move from here ...
11238 * loader/i386/multiboot.c: ... to here. Update all users.
11239
b9413424 112402009-02-27 Robert Millan <rmh@aybabtu.com>
11241
11242 Patch from Alexandre Bique <bique.alexandre@gmail.com>
11243 * util/i386/pc/grub-setup.c (setup): Fix directory path.
11244
50fb7002 112452009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 11246
11247 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
11248 b-tree.
11249
8cc50345 112502009-02-27 Robert Millan <rmh@aybabtu.com>
11251
11252 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
11253 `0x' qualifier as 0 when base is specified as parameter).
11254
6e09b8b7 112552009-02-24 Bean <bean123ch@gmail.com>
11256
11257 * configure.ac: Check for -mcmodel=large in x86_64 target.
11258
11259 * include/grub/efi/api.h (efi_call_10): New macro.
11260 (efi_wrap_10): New function.
11261
11262 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
11263 (GRUB_PE32_REL_BASED_HIGH): Likewise.
11264 (GRUB_PE32_REL_BASED_LOW): Likewise.
11265 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
11266 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
11267 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
11268 (GRUB_PE32_REL_BASED_SECTION): Likewise.
11269 (GRUB_PE32_REL_BASED_REL): Likewise.
11270 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
11271 (GRUB_PE32_REL_BASED_DIR64): Likewise.
11272 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
11273
11274 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
11275 issue.
11276
11277 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
11278 (efi_wrap_10): New function.
11279
11280 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
11281
11282 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
11283 MB/MBP model (NV chipset).
11284 (devdata_devs): Add devpath_5 to the list.
11285
11286 * load/i386/efi/linux.c (video_base): Remove variable.
11287 (RGB_MASK): New macro.
11288 (RGB_MAGIC): Likewise.
11289 (LINE_MIN): Likewise.
11290 (LINE_MAX): Likewise.
11291 (FBTEST_STEP): Likewise.
11292 (FBTEST_COUNT): Likewise.
11293 (fb_list): New variable.
11294 (grub_find_video_card): Remove function.
11295 (find_framebuf): New function.
11296 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
11297 line length.
11298
11299 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
11300 problem for x86_64.
11301
74b21bee 113022009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
11303
11304 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
11305
11306 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
11307 coding tool name.
11308
a455f472 113092009-02-22 Robert Millan <rmh@aybabtu.com>
11310
11311 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
11312 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
11313 in our relocation, instead of using it directly from heap. Also
11314 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
11315
6374daf3 113162009-02-21 Robert Millan <rmh@aybabtu.com>
11317
11318 Implement USB keyboard support (based on patch by Marco Gerards)
11319
11320 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
11321 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
11322 (usb_keyboard_mod_LDFLAGS): New variables.
11323
11324 * term/usb_keyboard.c: New file.
11325
8fa4ea70 113262009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
11327
11328 Corrected wrong declaration
11329
11330 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
11331
353976ac 113322009-02-14 Christian Franke <franke@computer.org>
11333
11334 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
11335 (grub_lspci_iter): Print class code and programming interface byte.
11336
6aa1169b 113372009-02-14 Christian Franke <franke@computer.org>
11338
11339 * gendistlist.sh: Ignore `.svn' directories.
11340
265372ca 113412009-02-14 Felix Zielcke <fzielcke@z-51.de>
11342
11343 * fs/fat.c: Add 2009 to Copyright line.
11344
9ff516f3 113452009-02-14 Christian Franke <franke@computer.org>
11346
11347 * commands/hdparm.c: New file. Provides `hdparm' command
11348 which sends ATA commands via grub_disk_ata_pass_through ().
11349
11350 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
11351
11352 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
11353 and <grub/cpu/io.h> to include/grub/ata.h.
11354 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
11355 (GRUB_CDROM_SECTOR_SIZE): Remove.
11356 (GRUB_ATA_*): Move to include/grub/ata.h.
11357 (GRUB_ATAPI_*): Likewise.
11358 (enum grub_ata_commands): Likewise.
11359 (enum grub_ata_timeout_milliseconds): Likewise.
11360 (struct grub_ata_device): Likewise.
11361 (grub_ata_regset): Likewise.
11362 (grub_ata_regget): Likewise.
11363 (grub_ata_regset2): Likewise.
11364 (grub_ata_regget2): Likewise.
11365 (grub_ata_check_ready): Likewise.
11366 (grub_ata_wait_not_busy): Remove static, exported in
11367 include/grub/ata.h.
11368 (grub_ata_wait_drq): Likewise.
11369 (grub_ata_pio_read): Likewise.
11370
11371 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
11372 function for hdparm.mod.
11373
11374 * include/grub/ata.h: New file, contains declarations from
11375 disk/ata.c.
11376 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
11377
11378 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
11379 (grub_disk_ata_pass_through): New exported variable.
11380
11381 * kern/disk.c (grub_disk_ata_pass_through): New variable.
11382
772e23da 113832009-02-13 Colin D Bennett <colin@gibibit.com>
11384
11385 Support multiple fallback entries, and provide an API to support
11386 executing default+fallback menu entries. Renamed the `terminal' menu
11387 viewer to `text'.
11388
11389 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
11390 variable declaration.
11391 (grub_menu_execute_callback): New structure declaration.
11392 (grub_menu_execute_callback_t): New typedef.
11393 (grub_menu_execute_with_fallback): New function declaration.
11394 (grub_menu_get_entry): Likewise.
11395 (grub_menu_get_timeout): Likewise.
11396 (grub_menu_set_timeout): Likewise.
11397
11398 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
11399
11400 * normal/menu.c (grub_wait_after_message): Moved to
11401 `normal/menu_text.c'.
11402 (draw_border): Likewise.
11403 (print_message): Likewise.
11404 (print_entry): Likewise.
11405 (print_entries): Likewise.
11406 (grub_menu_init_page): Likewise.
11407 (get_entry_number): Likewise.
11408 (print_timeout): Likewise.
11409 (run_menu): Likewise.
11410 (grub_menu_execute_entry): Likewise.
11411 (show_text_menu): Likewise.
11412 (get_and_remove_first_entry_number): New function.
11413 (grub_menu_execute_with_fallback): Likewise.
11414 (get_entry): Renamed to ...
11415 (grub_menu_get_entry): .. this and made it global.
11416 (get_timeout): Renamed to ...
11417 (grub_menu_get_timeout): ... this and made it global.
11418 (set_timeout): Renamed to ...
11419 (grub_menu_set_timeout): ... this and made it global.
11420 (grub_normal_terminal_menu_viewer): Renamed to ...
11421 (grub_normal_text_menu_viewer): ... this.
11422
11423 * normal/menu_text.c: New file. Extracted text-menu-specific code
11424 from normal/menu.c.
11425
11426 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
11427 (normal_mod_SOURCES): Likewise.
11428
11429 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11430 (normal_mod_SOURCES): Likewise.
11431
11432 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11433 (normal_mod_SOURCES): Likewise.
11434
11435 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
11436 (normal_mod_SOURCES): Likewise.
11437
11438 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11439 (normal_mod_SOURCES): Likewise.
11440
11441 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11442 (normal_mod_SOURCES): Likewise.
11443
11444 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11445 (normal_mod_SOURCES): Likewise.
11446
16ac430e 114472009-02-11 Robert Millan <rmh@aybabtu.com>
11448
11449 * util/grub.d/00_header.in: Update old reference to `font' command.
11450
06ff20fc 114512009-02-10 Felix Zielcke <fzielcke@z-51.de>
11452
11453 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
11454
11455 Based on patch from Javier MartĂ­n.
11456
96da9407 114572009-02-09 Felix Zielcke <fzielcke@z-51.de>
11458
11459 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 11460 to avoid false positives with FAT.
96da9407 11461 (grub_fstest_SOURCES): Likewise.
11462 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
11463 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11464 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11465 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
11466 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11467 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11468
6dca6fe4 114692009-02-09 Felix Zielcke <fzielcke@z-51.de>
11470
06ff20fc 11471 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 11472 bpb.version_specific.fat12_or_fat16.fstype and
11473 bpb.version_specific.fat32.fstype.
11474
2550c62f 114752009-02-08 Robert Millan <rmh@aybabtu.com>
11476
be110b30 11477 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 11478
56978920 114792009-02-08 Robert Millan <rmh@aybabtu.com>
11480
11481 * Makefile.in (host_os, host_cpu): New variables.
11482 (target_os): Remove. Update all users.
11483
d64399b5 114842009-02-08 Marco Gerards <marco@gnu.org>
11485
11486 * Makefile.in (enable_grub_emu_usb): New variable.
11487 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
11488 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
11489 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
11490 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
11491 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
11492 `usbtest.mod' and `usbms.mod'.
11493 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
11494 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
11495 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
11496 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
11497 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
11498 variables.
11499
11500 * disk/usbms.c: New file.
11501
11502 * include/grub/usb.h: Likewise.
11503
11504 * include/grub/usbtrans.h: Likewise.
11505
11506 * include/grub/usbdesc.h: Likewise.
11507
11508 * bus/usb/usbtrans.c: Likewise.
11509
11510 * bus/usb/ohci.c: Likewise.
11511
11512 * bus/usb/uhci.c: Likewise.
11513
11514 * bus/usb/usbhub.c: Likewise.
11515
11516 * bus/usb/usb.c: Likewise.
11517
11518 * commands/usbtest.c: Likewise.
11519
11520 * util/usb.c: Likewise.
50fb7002 11521
d64399b5 11522 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
11523
11524 * configure.ac: Test for libusb presence.
50fb7002 11525
d64399b5 11526 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
11527
2b40d6bb 115282009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
11529
11530 * kern/mm.c: Add more comments.
11531
73a4ce81 115322009-02-08 Robert Millan <rmh@aybabtu.com>
11533
11534 Patch from Javier MartĂ­n.
11535 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
11536 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
11537
f821ce59 115382009-02-08 Robert Millan <rmh@aybabtu.com>
11539
11540 * fs/cpio.c: Split tar functionality to ...
11541 * fs/tar.c: ... here (new file). Update all users.
11542
aebfc4b0 115432009-02-07 Robert Millan <rmh@aybabtu.com>
11544
11545 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
11546 backward-incompatible features.
11547
11548 Based on patch from Javier MartĂ­n, with some adjustments.
11549
50fb7002 115502009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 11551
11552 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
11553
0bb5115e 115542009-02-07 Robert Millan <rmh@aybabtu.com>
11555
11556 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
11557 position of `disk/lvm.c' to ensure grub_init_all() always picks it
11558 after the RAID stuff.
11559
38a0f8e7 115602009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
11561
50fb7002 11562 Fixes problem when running vbetest command as reported by
38a0f8e7 11563 Vladimir Serbinenko <phcoder@gmail.com>.
11564
11565 * (grub_vbe_set_video_mode): Fixed problem with text modes.
11566
3143cc1c 115672009-02-04 Felix Zielcke <fzielcke@z-51.de>
11568
11569 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
11570 /dev/md/NpN style mdraid devices.
11571
9cba6fce 115722009-02-03 Felix Zielcke <fzielcke@z-51.de>
11573
11574 * util/unifont2pff.rb: Remove.
11575
e507a2c1 115762009-02-03 Felix Zielcke <fzielcke@z-51.de>
11577
11578 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
11579 `#'.
11580
d2c2b4cd 115812009-02-03 Felix Zielcke <fzielcke@z-51.de>
11582
11583 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
11584 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11585 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11586 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
11587 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11588 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11589 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11590
b4315fb0 115912009-02-02 Christian Franke <franke@computer.org>
11592
11593 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
11594
de3aa260 115952009-02-01 Felix Zielcke <fzielcke@z-51.de>
11596
7c3ff286 11597 * INSTALL: Note that we now require at least autoconf 2.59 and
11598 that LZO is optional.
de3aa260 11599
825a182b 116002009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
11601
11602 Base on patch on bug #24154 created by Tomas Tintera
11603 <trosos@seznam.cz>.
11604
11605 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
11606
a69ef770 116072009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
11608
7c3ff286 11609 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 11610 <bero@arklinux.org>.
11611
11612 * normal/parser.y (script_init): Add missing semicolon.
11613
6fa42fa6 116142009-01-31 Colin D Bennett <colin@gibibit.com>
11615
7c3ff286 11616 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 11617 (free_menu_entry_classes): Added.
11618 (grub_normal_menu_addentry): Added class property handling.
11619 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
11620 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
11621
11622 * normal/menu_viewer.c: New file.
11623
11624 * normal/menu.c (run_menu_entry): Renamed to ...
11625 (grub_menu_execute_entry): ... this and made it as global.
11626 (grub_menu_run): Renamed to ...
11627 (show_text_menu): ... this and made it local.
11628 (show_text_menu): Adapt to new function names.
11629 (grub_normal_terminal_menu_viewer): New global variable.
11630
11631 * include/grub/menu.h: New file.
11632
11633 * include/grub/menu_viewer.h: New file.
11634
11635 * include/grub/normal.h: Added include to grub/menu.h.
11636 (grub_menu_entry): Moved to include/grub/menu.h.
11637 (grub_menu_entry_t): Likewise.
11638 (grub_menu): Likewise.
11639 (grub_menu_t): Likewise.
11640 (grub_normal_terminal_menu_viewer): Added.
11641 (grub_menu_execute_entry): Likewise.
11642 (grub_menu_run): Removed.
11643
11644 * DISTLIST: Added include/grub/menu.h.
11645 Added include/grub/menu_viewer.h.
11646 Added normal/menu_viewer.c.
11647
116482009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
11649
11650 * normal/execute.c (grub_script_execute_menuentry): Changed to use
11651 arglist for menutitle arguments.
11652
11653 * normal/main.c (grub_normal_menu_addentry): Likewise.
11654
11655 * normal/parser.y (menuentry): Likewise.
11656
11657 * normal/script.c (grub_script_create_cmdmenu): Likewise.
11658
11659 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
11660 (grub_script_create_cmdmenu): Likewise.
11661
11662 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
11663
11664 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
11665 changes.
11666
11667 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
11668
11669 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
11670
11671 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
11672
11673 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
11674
11675 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
11676
11677 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
11678
56192c23 116792009-01-30 Christian Franke <franke@computer.org>
11680
11681 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
11682 in option help text.
11683
d72521b3 116842009-01-27 Pavel Roskin <proski@gnu.org>
11685
11686 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
11687
994b5e84 116882009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
11689
11690 * commands/lsmmap.c: Add include to grub/machine/memory.h.
11691
11692 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
11693
11694 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
11695 unregister function.
11696
6a7eab2c 116972009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
11698
11699 * disk/scsi.c (grub_scsi_read): Fix sign problem.
11700
11701 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
11702
11703 * util/grub-mkfont.c (usage): Fix typo.
11704
11705 * util/elf/grub-mkimage.c (load_modules): Fix warning.
11706
1806b56e 117072009-01-26 Daniel Mierswa <impulze@impulze.org>
11708
3fb18f09 11709 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
11710
336e1fb9 11711 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
11712
1806b56e 11713 * kern/misc.c (grub_strcasecmp): New function.
11714 (grub_strcasecmp): Use grub_size_t instead of int for length.
11715 Fix return value.
11716 * include/grub/misc.h: Update function prototypes.
11717
580b2a0f 117182009-01-26 Robert Millan <rmh@aybabtu.com>
11719
11720 * configure.ac: Fix cross-compilation check.
ef257b36 11721
d31c24f1 117222009-01-22 Christian Franke <franke@computer.org>
11723
11724 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
11725 (precision) digit string. Allow `.format2' without `format1' (width).
11726 Limit input chars for `%s' output to `format2' if specified. This is
11727 compatible with standard printf ().
11728
3138b44c 117292009-01-22 Christian Franke <franke@computer.org>
11730
11731 * disk/ata.c (grub_ata_wait_status): Replace by ...
11732 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
11733 other status bits may be invalid while BSY is asserted.
11734 (grub_ata_check_ready): New function.
11735 (grub_ata_cmd): Removed.
11736 (grub_ata_wait_drq): New function.
11737 (grub_ata_strncpy): Remove inline.
11738 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
11739 and error check now done by grub_ata_wait_drq ().
11740 (grub_ata_pio_write): Likewise.
11741 (grub_atapi_identify): Set DEV before check for !BSY. Use
11742 grub_ata_wait_drq () to wait for data.
11743 (grub_ata_device_initialize): Add status register check to
11744 detect missing SATA slave devices. Add debug messages.
11745 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
11746 (grub_atapi_packet): Set DEV before check for !BSY. Replace
11747 transfer loop by grub_ata_pio_write ().
11748 (grub_ata_identify): Set DEV before check for !BSY. Use
11749 grub_ata_wait_drq () to wait for data.
ef257b36 11750 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 11751 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
11752 read/write in one loop. Fix invalid command on write. Fix incomplete
11753 command on (size % batch) == 0. Add missing error check after write of
11754 last block. Add debug messages.
11755 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
11756
59a64ef6 117572009-01-19 Christian Franke <franke@computer.org>
11758
11759 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
11760 (GRUB_ATAPI_IREASON_*): Likewise.
11761 (grub_ata_pio_write): Fix timeout error return.
11762 (grub_atapi_identify): Add grub_ata_wait () after cmd.
11763 (grub_atapi_wait_drq): New function.
11764 (grub_atapi_packet): New parameter `size'.
11765 Use grub_atapi_wait_drq () and direct write instead of
11766 grub_ata_pio_write ().
11767 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
11768 reads the number of bytes requested by the device for each DRQ
11769 assertion.
11770 (grub_atapi_write): Remove old implementation, return not
11771 implemented instead.
11772
1cfe20b3 117732009-01-19 Christian Franke <franke@computer.org>
11774
11775 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
11776 of 512 to calculate data size.
11777 (grub_scsi_read12): Likewise.
11778 (grub_scsi_write10): Likewise.
11779 (grub_scsi_write12): Likewise.
11780 (grub_scsi_read): Adjust size according to blocksize.
11781 Add checks for invalid blocksize and unaligned transfer.
11782
bee5fe5d 117832009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
11784
11785 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
11786
ef257b36 11787 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 11788 width glyphs.
11789
3e643f8c 117902009-01-19 Robert Millan <rmh@aybabtu.com>
11791
11792 * config.guess: Update to latest version from config git.
11793 * config.sub: Likewise.
11794
4fa80998 117952009-01-17 Felix Zielcke <fzielcke@z-51.de>
11796
11797 * Makefile.in: Change font compilation to use new grub-mkfont instead
11798 of java version.
11799
11800 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
11801 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
11802 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
11803 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
11804 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
11805 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
11806 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
11807 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
11808 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
11809
7086085b 118102009-01-16 Christian Franke <franke@computer.org>
11811
11812 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
11813 (enum grub_ata_timeout_milliseconds): New enum.
11814 (grub_ata_wait_status): Add parameter milliseconds.
11815 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
11816 recovery from timed-out commands.
11817 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
11818 return grub_errno instead of REG_ERROR.
11819 (grub_ata_pio_write): Add parameter milliseconds.
11820 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
11821 Pass milliseconds to grub_ata_wait_status () and
11822 grub_ata_pio_read ().
11823 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
11824 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
11825 grub_ata_wait_status (). Fix IDENTIFY timeout check.
11826 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
11827 It is not suitable for device detection, because DEV bit is ignored,
11828 the command may run too long, and not all devices set the signature
11829 properly.
11830 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
11831 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
11832 Fix device selection, DEV bit must be set first to address the registers
11833 of the correct device.
11834 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
11835 grub_ata_pio_read/write ().
11836 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
11837 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
11838
4a412913 118392009-01-13 Carles Pina i Estany <carles@pina.cat>
11840
11841 * util/grub-editenv.c (main): Use fseeko(), not fseek().
11842
7795c55e 118432009-01-13 Bean <bean123ch@gmail.com>
d913988c 11844
11845 * util/grub-mkfont.c (write_font): forget to remove some debug code.
11846
7795c55e 118472009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 11848
11849 * Makefile.in: (enable_grub_mkfont): New variable.
11850 (freetype_cflags): Likewise.
11851 (freetype_libs): Likewise.
11852
11853 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
11854 (grub_mkfont_SOURCES): New variable.
11855 (grub_mkfont_CFLAGS): Likewise.
11856 (grub_mkfont_LDFLAGS): Likewise.
11857
11858 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
11859 library if `--enable-grub-mkfont' is requested.
11860 (enable_grub_mkfont): New variable.
11861 (freetype_cflags): Likewise.
11862 (freetype_libs): Likewise.
11863
11864 * util/grub-mkfont.c: New file.
11865
093af1fe 118662009-01-12 Christian Franke <franke@computer.org>
11867
11868 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
11869 mode check. Fix setting of compat_use[].
11870
f36cc108 118712009-01-10 Robert Millan <rmh@aybabtu.com>
11872
11873 Update a few copyright years which we forgot to do in 2008 (only for
11874 files whose changes made in 2008 were copyright-significant)
11875
11876 * Makefile.in: Add 2008 to Copyright line.
11877 * disk/ieee1275/ofdisk.c: Likewise.
11878 * disk/efi/efidisk.c: Likewise.
11879 * kern/dl.c: Likewise.
11880 * kern/sparc64/ieee1275/init.c: Likewise.
11881 * kern/mm.c: Likewise.
11882 * kern/efi/mm.c: Likewise.
11883 * boot/i386/pc/boot.S: Likewise.
11884 * genfslist.sh: Likewise.
11885 * fs/iso9660.c: Likewise.
11886 * fs/hfs.c: Likewise.
11887 * fs/jfs.c: Likewise.
11888 * fs/minix.c: Likewise.
11889 * fs/ufs.c: Likewise.
11890 * gensymlist.sh.in: Likewise.
11891 * genkernsyms.sh.in: Likewise.
11892 * include/grub/misc.h: Likewise.
11893 * include/grub/types.h: Likewise.
11894 * include/grub/symbol.h: Likewise.
11895 * include/grub/elf.h: Likewise.
11896 * include/grub/kernel.h: Likewise.
11897 * include/grub/disk.h: Likewise.
11898 * include/grub/dl.h: Likewise.
11899 * include/grub/i386/linux.h: Likewise.
11900 * include/grub/i386/pc/biosdisk.h: Likewise.
11901 * include/grub/efi/api.h: Likewise.
11902 * include/grub/efi/pe32.h: Likewise.
11903 * include/grub/util/misc.h: Likewise.
11904 * normal/execute.c: Likewise.
11905 * normal/arg.c: Likewise.
11906 * normal/completion.c: Likewise.
11907 * normal/lexer.c: Likewise.
11908 * normal/parser.y: Likewise.
11909 * normal/misc.c: Likewise.
11910 * commands/i386/pc/vbeinfo.c: Likewise.
11911 * commands/hexdump.c: Likewise.
11912 * commands/terminal.c: Likewise.
11913 * commands/ls.c: Likewise.
11914 * commands/help.c: Likewise.
11915 * partmap/pc.c: Likewise.
11916 * loader/efi/chainloader.c: Likewise.
11917 * loader/multiboot_loader.c: Likewise.
11918 * loader/i386/pc/multiboot2.c: Likewise.
11919 * term/efi/console.c: Likewise.
11920 * term/i386/pc/serial.c: Likewise.
11921 * util/lvm.c: Likewise.
11922 * util/console.c: Likewise.
11923 * util/i386/efi/grub-mkimage.c: Likewise.
11924 * util/raid.c: Likewise.
11925
7f02114b 119262009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
11927
11928 * commands/videotest.c: Removed include to grub/machine/memory.h.
11929
11930 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
11931 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
11932 (video_mod_SOURCES): Removed.
11933 (video_mod_CFLAGS): Likewise.
11934 (video_mod_LDFLAGS): Likewise.
11935 (gfxterm_mod_SOURCES): Likewise.
11936 (gfxterm_mod_CFLAGS): Likewise.
11937 (gfxterm_mod_LDFLAGS): Likewise.
11938 (videotest_mod_SOURCES): Likewise.
11939 (videotest_mod_CFLAGS): Likewise.
11940 (videotest_mod_LDFLAGS): Likewise.
11941 (bitmap_mod_SOURCES): Likewise.
11942 (bitmap_mod_CFLAGS): Likewise.
11943 (bitmap_mod_LDFLAGS): Likewise.
11944 (tga_mod_SOURCES): Likewise.
11945 (tga_mod_CFLAGS): Likewise.
11946 (tga_mod_LDFLAGS): Likewise.
11947 (jpeg_mod_SOURCES): Likewise.
11948 (jpeg_mod_CFLAGS): Likewise.
11949 (jpeg_mod_LDFLAGS): Likewise.
11950 (png_mod_SOURCES): Likewise.
11951 (png_mod_CFLAGS): Likewise.
11952 (png_mod_LDFLAGS): Likewise.
11953
11954 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
11955 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
11956 (video_mod_SOURCES): Added.
11957 (video_mod_CFLAGS): Likewise.
11958 (video_mod_LDFLAGS): Likewise.
11959 (videotest_mod_SOURCES): Likewise.
11960 (videotest_mod_CFLAGS): Likewise.
11961 (videotest_mod_LDFLAGS): Likewise.
11962 (bitmap_mod_SOURCES): Likewise.
11963 (bitmap_mod_CFLAGS): Likewise.
11964 (bitmap_mod_LDFLAGS): Likewise.
11965 (tga_mod_SOURCES): Likewise.
11966 (tga_mod_CFLAGS): Likewise.
11967 (tga_mod_LDFLAGS): Likewise.
11968 (jpeg_mod_SOURCES): Likewise.
11969 (jpeg_mod_CFLAGS): Likewise.
11970 (jpeg_mod_LDFLAGS): Likewise.
11971 (png_mod_SOURCES): Likewise.
11972 (png_mod_CFLAGS): Likewise.
11973 (png_mod_LDFLAGS): Likewise.
11974 (gfxterm_mod_SOURCES): Likewise.
11975 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 11976 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 11977
11978 * term/gfxterm.c: Removed include to grub/machine/memory.h,
11979 grub/machine/console.h.
11980
644fff97 119812009-01-04 Jerone Young <jerone@gmail.com>
11982
11983 Make on screen instructions clearer
11984
11985 Based on patch created by Jidanni <jidanni@jidanni.org>
11986
11987 * normal/menu.c: print clearer instructions on the screen
11988
1e901a75 119892009-01-02 Colin D Bennett <colin@gibibit.com>
11990
11991 New font engine.
34c44600 11992
1e901a75 11993 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
11994 build system and fixed gfxterm.c to work with different sized fonts.
11995
11996 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 11997
1e901a75 11998 * configure: Re-generated.
34c44600 11999
1e901a75 12000 * DISTLIST: Removed font/manager.c.
12001 Added font/font.c.
12002 Added font/font_cmd.c.
34c44600 12003
1e901a75 12004 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
12005 compilation.
34c44600 12006
1e901a75 12007 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 12008
12009 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 12010
12011 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 12012
1e901a75 12013 * normal/menu.c: Likewise.
34c44600 12014
1e901a75 12015 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
12016 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 12017
1e901a75 12018 * include/grub/font.h: Replaced with new file.
34c44600 12019
1e901a75 12020 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
12021 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
12022 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
12023 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
12024 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 12025 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 12026 fg_red, fg_green, fg_blue, fg_alpha.
12027 (grub_video_adapter): Removed blit_glyph.
34c44600 12028 (grub_video_blit_glyph): Removed.
12029
1e901a75 12030 * font/manager.c: Removed file.
34c44600 12031
12032 * font/font.c: New file.
12033
1e901a75 12034 * font/font_cmd.c: Likewise.
34c44600 12035
1e901a75 12036 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 12037
1e901a75 12038 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
12039 (grub_video_vbe_map_rgba): Likewise.
12040 (grub_video_vbe_unmap_color_int): Likewise.
12041 (grub_video_vbe_blit_glyph): Removed.
12042 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 12043
1e901a75 12044 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
12045 (get_pixel): Likewise.
34c44600 12046 (set_pixel): Likewise.
12047
1e901a75 12048 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 12049
1e901a75 12050 * term/gfxterm.c: Adapted to new font engine.
34c44600 12051
1e901a75 12052 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 12053
1e901a75 12054 * term/i386/pc/vga.c: Likewise.
34c44600 12055
1e901a75 12056 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 12057
1e901a75 12058 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 12059
1e901a75 12060 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 12061
1e901a75 12062 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 12063
1e901a75 12064 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 12065
1e901a75 12066 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 12067
1e901a75 12068 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 12069
1e901a75 12070 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 12071
1e901a75 12072 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
12073
12074 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 12075
1e901a75 12076 * util/grub-mkconfig_lib.in: Changed font extension.
12077
278922e8 120782008-12-28 Felix Zielcke <fzielcke@z-51.de>
12079
12080 * util/getroot.c (grub_util_get_grub_dev): Add support for
12081 /dev/md/dNNpNN style partitionable mdraid devices.
12082
3ced05cf 120832008-12-12 Alex Smith <alex@alex-smith.me.uk>
12084
12085 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
12086 at a time limit of the PXE TFTP API correctly.
12087 (grub_pxefs_close): Likewise.
12088
7fd0ee30 120892008-11-29 Robert Millan <rmh@aybabtu.com>
12090
34c44600 12091 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 12092 grub_ata_device_initialize() calls.
12093
34c44600 120942008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 12095
12096 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
12097 iteration failed.
12098 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
12099
89313780 121002008-11-28 Robert Millan <rmh@aybabtu.com>
12101
12102 Fix build on powerpc-ieee1275. Based on patch created by
12103 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
12104 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
12105 `kern/ieee1275/mmap.c'.
12106 * include/grub/powerpc/ieee1275/memory.h: New file.
12107
15257703 12108 Provide grub-install on coreboot.
12109 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
12110 (grub_install_SOURCES): New variable.
12111 * util/i386/pc/grub-install.in: Add a few condition checks to make it
12112 usable on coreboot.
12113
9fc5388a 121142008-11-25 Felix Zielcke <fzielcke@z-51.de>
12115
12116 * util/grub-fstest.c (grub_term_get_current_input): Change return type
12117 to `grub_term_input_t'.
12118 (grub_term_get_current_output): Change return type to
12119 `grub_term_output_t'.
12120
bc3a2f31 121212008-11-22 Robert Millan <rmh@aybabtu.com>
12122
34c44600 12123 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 12124 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
12125 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
12126 grub_vga_text_cls().
12127
80fc88f2 12128 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 12129 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 12130
cbf36fd3 12131 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
12132 to 0x200000 (avoids trouble with some OFW implementations, and matches
12133 with the one in Yaboot).
12134 Reported by Manoel Abranches
12135
73e8e268 121362008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 12137
12138 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
12139 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
12140
73e8e268 12141 * util/grub-mkconfig_lib.in (grub_warn): New function.
12142 (convert_system_path_to_grub_path): Use grub_warn() when issuing
12143 warnings, to obtain consistent formatting.
12144 * util/grub.d/00_header.in: Likewise.
12145 * util/update-grub_lib.in: Likewise.
12146
e94045a1 12147 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 12148 Move comment text to `#error' stanza.
e94045a1 12149
79d29fd7 12150 Harmonize ieee1275's grub_available_iterate() with the generic
12151 grub_machine_mmap_iterate() interface (fixes a recently-introduced
12152 build problem on i386-ieee1275):
12153 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
12154 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
12155 parameter `type'. Update all users of this function.
12156 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
12157 `kern/ieee1275/mmap.c'.
12158 * kern/ieee1275/init.c
12159 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
12160 with ...
12161 (grub_machine_mmap_iterate): ... this.
12162 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
12163 return type to `grub_err_t'. Update all implementations of this
12164 function prototype.
12165 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
12166 Likewise.
12167
60d6b16e 12168 Add `lsmmap' command (lists firmware-provided memory map):
12169 * commands/lsmmap.c: New file.
12170 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
12171 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
12172 variables.
12173 * conf/powerpc-ieee1275.rmk: Likewise.
12174 * conf/i386-coreboot.rmk: Likewise.
12175 * conf/i386-ieee1275.rmk: Likewise.
12176
ebaaf49b 121772008-11-19 Robert Millan <rmh@aybabtu.com>
12178
12179 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 12180 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
12181 constraints to initrd allocation (based on code from
12182 loader/i386/pc/linux.c). Without them, initrd was allocated too high
12183 for Linux to find it.
ebaaf49b 12184
dfab719f 121852008-11-14 Robert Millan <rmh@aybabtu.com>
12186
12187 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
12188 order to cope with duplicate slashes.
12189
10fc3eb9 121902008-11-14 Robert Millan <rmh@aybabtu.com>
12191
12192 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
12193 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
12194 don't want to mess with lower memory, because it is used in the Linux
12195 loader.
12196
12197 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 12198 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 12199 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
12200 is in our heap (probably as a result of it being corrupted during
2f2a3442 12201 decompression). Add #error instance with comment to explain why this
12202 loader isn't currently usable on PC/BIOS.
10fc3eb9 12203
e2e07847 122042008-11-14 Robert Millan <rmh@aybabtu.com>
12205
12206 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 12207 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 12208
fe8e8d69 122092008-11-12 Robert Millan <rmh@aybabtu.com>
12210
12211 Make loader/i386/linux.c buildable on i386-pc (although disabled).
12212
12213 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
12214 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
12215 from here ...
12216 * include/grub/i386/pc/memory.h: ... to here.
12217
976b07d0 122182008-11-12 Robert Millan <rmh@aybabtu.com>
12219
12220 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
12221 split).
12222
12223 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
12224 (grub_console_cur_color, grub_console_real_putchar)
12225 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
12226 (grub_console_setcolorstate, grub_console_setcolor)
12227 (grub_console_getcolor): Move from here ...
12228 * include/grub/i386/vga_common.h: ... to here (new file).
12229
12230 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
12231 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
12232 `<grub/i386/io.h>'.
12233 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
12234 `<grub/i386/vga_common.h>'.
12235
76679cd3 122362008-11-12 Robert Millan <rmh@aybabtu.com>
12237
12238 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
12239 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
12240 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
12241 variables.
12242 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
12243 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
12244
12245 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
12246 grub_console_init() with call to grub_vga_text_init().
12247 (grub_machine_fini): Replace call to
12248 grub_console_fini() with call to grub_vga_text_fini() and
12249 grub_at_keyboard_fini().
12250
12251 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
12252 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
12253 (grub_console_setcolorstate, grub_console_setcolor)
12254 (grub_console_getcolor): New function prototypes.
12255
12256 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
12257 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
12258 (grub_vga_text_setcursor): Static-ize.
12259 (grub_vga_text_term): New structure.
12260 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
12261
12262 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
12263 (grub_console_cur_color, grub_console_standard_color)
12264 (grub_console_normal_color, grub_console_highlight_color)
12265 (map_char, grub_console_putchar, grub_console_getcharwidth)
12266 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
12267 (grub_console_getcolor): Move from here ...
12268 * term/i386/vga_common.c: ... to here (same function names).
12269
95b841d3 122702008-11-12 Robert Millan <rmh@aybabtu.com>
12271
12272 Use newly-added Multiboot support in coreboot.
12273
12274 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
12275 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
12276
12277 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
12278 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
12279 (codestart): Store the MBI in `startup_multiboot_info' when we're
12280 being loaded using Multiboot.
12281
12282 * kern/i386/coreboot/init.c (grub_machine_init): Move
12283 grub_at_keyboard_init() call to beginning of function (useful for
12284 debugging). Call grub_machine_mmap_init() before attempting to use
12285 grub_machine_mmap_iterate().
12286 (grub_lower_mem, grub_upper_mem): Move from here ...
12287 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
12288 here (new file).
12289
12290 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
12291 function prototype.
12292
761ca975 122932008-11-12 Robert Millan <rmh@aybabtu.com>
12294
12295 Fix a regression introduced by the at_keyboard.mod split. Because
12296 some terminals are default on some platforms and non-default on
12297 others, the first terminal being registered determines which is
12298 going to be default.
12299
12300 * kern/term.c (grub_term_register_input): If this is the first
12301 terminal being registered, set it as the current one.
12302 (grub_term_register_output): Likewise.
12303
12304 * term/efi/console.c (grub_console_init): Do not call
12305 grub_term_set_current_output() or grub_term_set_current_input().
12306 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
12307 * term/i386/pc/console.c (grub_console_init): Likewise.
12308 (grub_console_fini): Do not call grub_term_set_current_input()
12309 (but leave grub_term_set_current_output() to restore text mode).
12310
6c529df7 123112008-11-10 Robert Millan <rmh@aybabtu.com>
12312
12313 * util/grub.d/00_header.in: Add backward compatibility check for
12314 versions of terminal.mod that don't understand `terminal_input' or
12315 `terminal_output'.
12316
132e4113 123172008-11-09 Robert Millan <rmh@aybabtu.com>
12318
12319 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
12320 `terminal_input' / `terminal_output', not `terminal'.
12321
ac293d50 123222008-11-08 Robert Millan <rmh@aybabtu.com>
12323
12324 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 12325 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 12326
0025933a 123272008-11-08 Robert Millan <rmh@aybabtu.com>
12328
12329 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 12330 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 12331 members. Update all users.
12332 * util/console.c (grub_ncurses_term): Split in ...
12333 (grub_ncurses_term_input): ... this, and ...
12334 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 12335 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 12336
37c86336 123372008-11-08 Robert Millan <rmh@aybabtu.com>
12338
12339 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
12340 (PKGDATA): Add $(pkgdata_SRCDIR).
12341 (pkglib_BUILDDIR): New variable.
12342 (pkgdata_SRCDIR): New variable.
12343 (build_env.mk): New target.
12344 (include_DATA): New variable.
12345 (install-local): Install $(include_DATA) files in $(includedir).
12346
b6c15a2d 123472008-11-07 Pavel Roskin <proski@gnu.org>
12348
d99d46f1 12349 * gendistlist.sh: Use C locale for sorting to ensure consistent
12350 output on all systems.
12351
b6c15a2d 12352 * util/grub.d/00_header.in: Remove incorrect space before
12353 "serial".
12354
c32ee8c9 123552008-11-07 Robert Millan <rmh@aybabtu.com>
12356
12357 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
12358 per specification.
12359 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
12360 * loader/multiboot_loader.c (find_multi_boot2_header): New function
12361 (based on find_multi_boot1_header).
12362 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
12363 using find_multi_boot2_header(), and abort if neither Multiboot or
12364 Multiboot headers were found.
12365
651c29b7 123662008-11-07 Robert Millan <rmh@aybabtu.com>
12367
12368 Modularize at_keyboard.mod:
12369
12370 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
12371 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
12372 (at_keyboard_mod_LDFLAGS): New variables.
12373
12374 Actual terminal split:
12375
12376 * include/grub/term.h (struct grub_term): Split in ...
12377 (struct grub_term_input): ... this, and ...
12378 (struct grub_term_output): ... this. Update all users.
12379 (grub_term_set_current): Split in ...
12380 (grub_term_set_current_input): ... this, and ...
12381 (grub_term_set_current_output): ... this.
12382 (grub_term_get_current): Split in ...
12383 (grub_term_get_current_input): ... this, and ...
12384 (grub_term_get_current_output): ... this.
12385 (grub_term_register): Split in ...
12386 (grub_term_register_input): ... this, and ...
12387 (grub_term_register_output): ... this.
12388 (grub_term_unregister): Split in ...
12389 (grub_term_unregister_input): ... this, and ...
12390 (grub_term_unregister_output): ... this.
12391 (grub_term_iterate): Split in ...
12392 (grub_term_iterate_input): ... this, and ...
12393 (grub_term_iterate_output): ... this.
12394
12395 * kern/term.c (grub_term_list): Split in ...
12396 (grub_term_list_input): ... this, and ...
12397 (grub_term_list_output): ... this. Update all users.
12398 (grub_cur_term): Split in ...
12399 (grub_cur_term_input): ... this, and ...
12400 (grub_cur_term_output): ... this. Update all users.
12401 (grub_term_set_current): Split in ...
12402 (grub_term_set_current_input): ... this, and ...
12403 (grub_term_set_current_output): ... this.
12404 (grub_term_get_current): Split in ...
12405 (grub_term_get_current_input): ... this, and ...
12406 (grub_term_get_current_output): ... this.
12407 (grub_term_register): Split in ...
12408 (grub_term_register_input): ... this, and ...
12409 (grub_term_register_output): ... this.
12410 (grub_term_unregister): Split in ...
12411 (grub_term_unregister_input): ... this, and ...
12412 (grub_term_unregister_output): ... this.
12413 (grub_term_iterate): Split in ...
12414 (grub_term_iterate_input): ... this, and ...
12415 (grub_term_iterate_output): ... this.
12416
12417 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
12418 a check for input and one for output (and only attempt to get keys
12419 from user when input works).
12420
12421 * util/grub-probe.c (grub_term_get_current): Split in ...
12422 (grub_term_get_current_input): ... this, and ...
12423 (grub_term_get_current_output): ... this.
12424 * util/grub-fstest.c: Likewise.
12425 * util/i386/pc/grub-setup.c: Likewise.
12426 * util/grub-editenv.c: Likewise.
12427
12428 Portability adjustments:
12429
12430 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
12431 `term/i386/pc/at_keyboard.c'.
12432 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
12433 grub_keyboard_controller_init() (now handled by terminal .init).
12434 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
12435 grub_at_keyboard_init().
12436 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
12437 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
12438 at_keyboard.mod via input terminal interface).
12439 * include/grub/i386/coreboot/console.h: Convert into a stub for
12440 `<grub/i386/pc/console.h>'.
12441
12442 Migrate full terminals to new API:
12443
12444 * term/efi/console.c (grub_console_term): Split into ...
12445 (grub_console_term_input): ... this, and ...
12446 (grub_console_term_output): ... this. Update all users.
12447 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
12448 (grub_ofconsole_init): Split into ...
12449 (grub_ofconsole_init_input): ... this, and ...
12450 (grub_ofconsole_init_output): ... this.
12451 (grub_ofconsole_term): Split into ...
12452 (grub_ofconsole_term_input): ... this, and ...
12453 (grub_ofconsole_term_output): ... this. Update all users.
12454 * term/i386/pc/serial.c (grub_serial_term): Split into ...
12455 (grub_serial_term_input): ... this, and ...
12456 (grub_serial_term_output): ... this. Update all users.
12457 * term/i386/pc/console.c (grub_console_term): Split into ...
12458 (grub_console_term_input): ... this, and ...
12459 (grub_console_term_output): ... this. Update all users.
12460 (grub_console_term_input): Only enable it on PC/BIOS platform.
12461 (grub_console_init): Remove grub_keyboard_controller_init() call.
12462
12463 Migrate input terminals to new API:
12464
12465 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
12466 `i386' and `i386/pc' to enable build on x86_64 (this driver is
12467 i386-specific anyway).
12468 (grub_console_checkkey): Rename to ...
12469 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
12470 users.
12471 (grub_keyboard_controller_orig): New variable.
12472 (grub_console_getkey): Rename to ...
12473 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
12474 users.
12475 (grub_keyboard_controller_init): Static-ize. Save original
12476 controller value so that it can be restored ...
12477 (grub_keyboard_controller_fini): ... here (new function).
12478 (grub_at_keyboard_term): New structure.
12479 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
12480 functions.
12481
12482 Migrate output terminals to new API:
12483
12484 * term/i386/pc/vga.c (grub_vga_term): Change type to
12485 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
12486 members. Update all users.
12487 * term/gfxterm.c (grub_video_term): Change type to
12488 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
12489 members. Update all users.
12490 * include/grub/i386/pc/console.h (grub_console_checkkey)
12491 (grub_console_getkey): Do not export (no longer needed by gfxterm,
12492 etc).
12493
12494 Migrate `terminal' command and userland tools to new API:
12495
12496 * commands/terminal.c (grub_cmd_terminal): Split into ...
12497 (grub_cmd_terminal_input): ... this, and ...
12498 (grub_cmd_terminal_output): ... this.
12499 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
12500 `terminal_input' and `terminal_output'.
12501 * util/grub.d/00_header.in: Adjust `terminal' calls to new
12502 `terminal_input' / `terminal_output' API.
12503 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
12504 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
12505 provided ${GRUB_TERMINAL}, convert it).
12506
96e5d876 125072008-11-04 Robert Millan <rmh@aybabtu.com>
12508
12509 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
12510 for FreeBSD.
12511 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
12512
556f3775 125132008-11-03 Bean <bean123ch@gmail.com>
12514
12515 * kern/elf.c (grub_elf32_load): Revert to previous code.
12516 (grub_elf64_load): Likewise.
12517
12518 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
12519
926b9823 125202008-11-01 Robert Millan <rmh@aybabtu.com>
12521
12522 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
12523 (TARGET_CPPFLAGS): Likewise.
12524 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
12525
1432e958 125262008-11-01 Carles Pina i Estany <carles@pina.cat>
12527
12528 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
12529
dba3f844 125302008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 12531
12532 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
12533 addition of objects until the code is not going to be able to fail.
12534
dba3f844 125352008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 12536
12537 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
12538 (add a missing NULL check, and correct them by moving the pointer
12539 operations after the actual check).
12540
7ab28c21 125412008-10-29 Robert Millan <rmh@aybabtu.com>
12542
12543 * util/i386/pc/grub-install.in: Handle empty string as output from
12544 make_system_path_relative_to_its_root().
12545
1b7748eb 125462008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
12547
12548 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
12549 circular metadata worst case scenario. If the metadata is circular
12550 then copy the wrap in place.
12551 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
12552 project lib/format_text/layout.h
12553 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
12554
c9618ab2 125552008-10-03 Felix Zielcke <fzielcke@z-51.de>
12556
7a36edca 12557 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 12558
bf981c62 125592008-10-03 Felix Zielcke <fzielcke@z-51.de>
12560
12561 * util/update-grub_lib.in: Mention filename in warning message.
12562
6d994591 125632008-09-29 Felix Zielcke <fzielcke@z-51.de>
12564
12565 * NEWS: Update for rename of update-grub to grub-mkconfig.
12566
18ade780 125672008-09-29 Felix Zielcke <fzielcke@z-51.de>
12568
12569 * util/update-grub_lib.in: Copy to ...
12570 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 12571 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 12572 * util/update-grub.in: Rename to ...
12573 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
12574 option. Add `--output' option to allow users to specify the generated
12575 configuration file. Default to stdout.
12576 (update_grub_dir): Rename to ...
12577 (grub_mkconfig_dir): ... this.
12578 (grub_cfg): Default to an empty string.
12579 * conf/common.rmk (update-grub): Rename to ...
12580 (grub-mkconfig): ... this.
12581 (update-grub_lib): Copy to ...
12582 (grub-mkconfig_lib): ... this.
12583 (update-grub_SCRIPTS): Copy to ...
12584 (grub-mkconfig_SCRIPTS): ... this. Update all users.
12585 (update-grub_DATA): Rename to ...
12586 (grub-mkconfig_DATA): ... this.
12587
556ce6ac 125882008-09-28 Robert Millan <rmh@aybabtu.com>
12589
12590 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
12591 to `modified'. Add the real `created' field.
12592 (grub_iso9660_uuid): Use `modified' rather than `created' for
12593 constructing the UUID.
12594
125952008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 12596
12597 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
12598 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
12599
92274e85 126002008-09-28 Bean <bean123ch@gmail.com>
12601
12602 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
12603 Thanks to Christian Franke for finding this bug.
12604
add6f17a 126052008-09-25 Robert Millan <rmh@aybabtu.com>
12606
12607 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
12608 instances of grub_util_get_disk_name() (see previous commit).
12609
d2a367b8 126102008-09-25 Robert Millan <rmh@aybabtu.com>
12611
12612 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
12613 `util/i386/get_disk_name.c'.
12614 * conf/i386-efi.rmk: Likewise.
12615 * conf/x86_64-efi.rmk: Likewise.
12616 * conf/i386-coreboot.rmk: Likewise.
12617 * conf/i386-ieee1275.rmk: Likewise.
12618 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
12619 `util/ieee1275/get_disk_name.c'.
12620 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
12621 * util/ieee1275/get_disk_name.c: Remove file.
12622 * util/i386/get_disk_name.c: Remove file.
12623 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
12624 "hd%d" for device.map entries, rather than using
12625 grub_util_get_disk_name().
12626
81a06771 126272008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 12628
12629 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
12630 warning.
12631 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
12632
5a004279 126332008-09-24 Carles Pina i Estany <carles@pina.cat>
12634
12635 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
12636 Changed to 0x5100.
12637 (GRUB_TERM_PPAGE): Changed to 0x4900.
12638
397093d3 126392008-09-24 Robert Millan <rmh@aybabtu.com>
12640
12641 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
12642 macros (they were i386-pc specific).
12643 * include/grub/sparc64/ieee1275/console.h: Likewise.
12644 * include/grub/efi/console.h: Likewise.
12645
a91b6c7c 126462008-09-22 Bean <bean123ch@gmail.com>
12647
12648 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
12649 resident and in attribute list.
12650
12651 * include/grub/ntfs.h (BMP_LEN): Removed.
12652
c40fd116 126532008-09-22 Bean <bean123ch@gmail.com>
12654
81a06771 12655 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 12656 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
12657
12658 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
12659 error occurs, as grub_disk_open will call grub_disk_close, which will
12660 call p->close (scsi).
12661
81a06771 126622008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 12663
12664 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
12665 (AC_PREREQ): Bumped to 2.59.
12666 (AC_TRY_COMPILE): Replace obsolete macro with ...
12667 (AC_COMPILE_IFELSE): ... this.
12668 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
12669 (AC_LINK_IFELSE): ... this.
12670
5dc43410 126712008-09-21 Felix Zielcke <fzielcke@z-51.de>
12672
12673 * autogen.sh: Add a call to `gendistlist.sh'.
12674
9035dce4 126752008-09-19 Christian Franke <franke@computer.org>
12676
12677 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
12678 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
12679 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
12680 Export __enable_execute_stack() to modules.
12681 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
12682 New function.
12683
7fd75377 126842008-09-09 Felix Zielcke <fzielcke@z-51.de>
12685
040030b3 12686 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
12687 Sort the list.
12688
126892008-09-09 Felix Zielcke <fzielcke@z-51.de>
12690
12691 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 12692 #include <grub/util/hostdisk.h>.
12693
89d5ffcf 126942008-09-08 Robert Millan <rmh@aybabtu.com>
12695
12696 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
12697 segments when their filesz is zero (grub_file_read() interprets
81a06771 12698 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 12699 Use `lowest_segment' rather than 0 for calculating the current
12700 segment load address.
12701
40da438f 127022008-09-08 Robert Millan <rmh@aybabtu.com>
12703
12704 * util/hostdisk.c (open_device): Replace a grub_util_info() call
12705 with grub_dprintf("hostdisk", ...), as it was so verbose that it
12706 clobbered useful information.
12707
ddbf5556 127082008-09-08 Robert Millan <rmh@aybabtu.com>
12709
12710 * include/grub/util/biosdisk.h: Move to ...
12711 * include/grub/util/hostdisk.h: ... here. Update all users.
12712 * util/biosdisk.c: Move to ...
12713 * util/hostdisk.c: ... here. Update all users.
12714
783d0f48 127152008-09-07 Robert Millan <rmh@aybabtu.com>
12716
12717 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
12718 variables.
12719 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
12720 and length can be stored directly in the `mbi->mmap_addr' and
12721 `mbi->mmap_length' struct fields.
12722
548e2ea5 127232008-09-07 Robert Millan <rmh@aybabtu.com>
12724
12725 * conf/i386.rmk: New file. Provides declaration for building
12726 `cpuid.mod'.
12727 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
12728 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
12729 variables.
12730 Include `conf/i386.mk'.
12731 * conf/i386-efi.rmk: Likewise.
12732 * conf/x86_64-efi.rmk: Likewise.
12733 * conf/i386-coreboot.rmk: Likewise.
12734 * conf/i386-ieee1275.rmk: Likewise.
12735
0ea85a37 127362008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
12737
12738 Based on patch created by Colin D Bennett <colin@gibibit.com>.
12739 Adds optimization support for BGR based modes.
12740
12741 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
12742 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
12743 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
12744 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
12745 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
12746 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
12747 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
12748 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
12749 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
12750 (grub_video_i386_vbeblit_index_index): Likewise.
12751 (grub_video_i386_vbeblit_replace_directN): Added.
12752 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
12753 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
12754 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
12755 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
12756 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
12757 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 12758 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 12759 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
12760 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
12761 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
12762 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
12763 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
12764 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
12765
12766 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
12767 (grub_video_i386_vbefill_R8G8B8): Likewise.
12768 (grub_video_i386_vbefill_index): Likewise.
12769 (grub_video_i386_vbefill_direct32): Added.
12770 (grub_video_i386_vbefill_direct24): Likewise.
12771 (grub_video_i386_vbefill_direct16): Likewise.
12772 (grub_video_i386_vbefill_direct8): Likewise.
12773
81a06771 12774 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 12775 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
12776 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
12777 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
12778 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
12779 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 12780
0ea85a37 12781 * video/video.c (grub_video_get_blit_format): Updated to use new
12782 blit formats. Added handling for 16 bit color modes.
81a06771 12783
12784 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 12785 fillers.
12786 (common_blitter): Updated to use new blitters.
12787
12788 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
12789 Removed.
12790 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
12791 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
12792 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
12793 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
12794 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
12795 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
12796 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
12797 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
12798 (grub_video_i386_vbeblit_index_index): Likewise.
12799 (grub_video_i386_vbeblit_replace_directN): Added.
12800 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
12801 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
12802 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
12803 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
12804 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
12805 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
12806 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
12807 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
12808 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
12809 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
12810 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
12811 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
12812 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 12813
0ea85a37 12814 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
12815 (grub_video_i386_vbefill_R8G8B8): Likewise.
12816 (grub_video_i386_vbefill_index): Likewise.
12817 (grub_video_i386_vbefill_direct32): Added.
12818 (grub_video_i386_vbefill_direct24): Likewise.
12819 (grub_video_i386_vbefill_direct16): Likewise.
12820 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 12821
0ea85a37 12822 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
12823 types.
81a06771 12824
0ea85a37 12825 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
12826 types.
81a06771 12827
0ea85a37 12828 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
12829 blitter types.
81a06771 12830
0ea85a37 12831 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
12832 types.
12833
e8a83df6 128342008-09-06 Felix Zielcke <fzielcke@z-51.de>
12835
12836 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
12837 RAID level 1.
12838
6bcd8ee5 128392008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 12840
6bcd8ee5 12841 * fs/iso9660.c (grub_iso9660_date): New structure.
12842 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
12843 (grub_iso9660_uuid): New function.
c375ae58 12844
59261157 128452008-09-05 Bean <bean123ch@gmail.com>
12846
12847 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
12848
12849 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
12850 insensitive bit for names in Win32 and Win32 & DOS namespace.
12851
12852 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
12853
12854 * include/grub/types.h (LONG_MAX): Likewise.
12855
58b6645a 128562008-09-04 Felix Zielcke <fzielcke@z-51.de>
12857
4ee55921 12858 * util/getroot.c: Include <config.h>.
12859 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
12860 add support for /dev/md/N devices and handle LVM double dash escaping.
12861
128622008-09-04 Felix Zielcke <fzielcke@z-51.de>
12863
12864 * config.guess: Update to latest version from config git.
12865 * config.sub: Likewise.
58b6645a 12866
9124f65d 128672008-09-03 Robert Millan <rmh@aybabtu.com>
12868
12869 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
12870 `disk->total_sectors'.
12871
81a06771 128722008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 12873
12874 * include/grub/normal.h: Fixed incorrect comment for
12875 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
12876
81a06771 128772008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 12878
12879 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
12880 values with defines.
12881
12882 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
12883 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
12884 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
12885 (GRUB_VBE_MODEATTR_COLOR): Likewise.
12886 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
12887 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
12888 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
12889 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
12890 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
12891 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
12892 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
12893 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
12894 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
12895 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
12896 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
12897 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
12898 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
12899 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
12900 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
12901
93d5cbf8 129022008-08-31 Robert Millan <rmh@aybabtu.com>
12903
12904 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
12905 declaration.
12906 (grub_multiboot): Fix a few warnings.
12907
21751d50 129082008-08-31 Robert Millan <rmh@aybabtu.com>
12909
12910 * loader/i386/pc/multiboot.c: Update comment not to say that
12911 boot_device support is unimplemented.
12912
e27a75c5 129132008-08-31 Robert Millan <rmh@aybabtu.com>
12914
12915 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
12916 or memory map support are unimplemented.
12917
81a06771 129182008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 12919
12920 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
12921
81a06771 129222008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 12923
12924 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
12925 total video memory in 'vbeinfo' output; show color format details for
12926 each video mode.
12927
7c5d8d95 129282008-08-30 Pavel Roskin <proski@gnu.org>
12929
12930 * util/genmoddep.c: Remove for real this time.
12931 * DISTLIST: Remove util/genmoddep.c.
12932
4cebd25a 129332008-08-30 Robert Millan <rmh@aybabtu.com>
12934
12935 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
12936 as required by Multiboot spec (it was already 4-byte aligned, but
12937 only by chance).
12938
b497a269 129392008-08-29 Pavel Roskin <proski@gnu.org>
12940
e3925185 12941 * kern/powerpc/ieee1275/crt0.S: Rename to ...
12942 * kern/powerpc/ieee1275/startup.S: ... this.
12943 * conf/powerpc-ieee1275.rmk: Adjust for the above.
12944 * DISTLIST: Likewise.
12945
b497a269 12946 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
12947 grub/cpu/kernel.h. Add start label for consistency with other
12948 platforms. Add grub_prefix immediately after start. Add jump
12949 to the code after grub_prefix.
12950 * include/grub/powerpc/kernel.h: Provide valid values for
12951 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
12952
6e5a42fe 129532008-08-29 Bean <bean123ch@gmail.com>
12954
12955 * configure.ac: Change host_os to cygwin for mingw.
12956 (asprintf): New check for function.
12957
12958 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
12959 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
12960
12961 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 12962 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 12963 sync, sleep and grub_util_get_disk_size for mingw.
12964
12965 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
12966 to get size in mingw.
12967 (open_device): Use flag O_BINARY if it's defined.
12968 (find_root_device): Add dummy code for mingw.
12969
12970 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
12971 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
12972 (get_scsi_disk_name): Return 0 for mingw.
12973
12974 * util/hostfs.c: #include <grub/util/misc.h>.
12975 (grub_hostfs_open): Use "rb" flag to open file, use
12976 grub_util_get_disk_size to get disk size for mingw.
12977
12978 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
12979 (asprintf): New function if HAVE_ASPRINTF is not set.
12980 (sync): New function for mingw.
12981 (sleep): Likewise.
12982 (grub_util_get_disk_size): Likewise.
12983
ab3f2673 129842008-08-28 Pavel Roskin <proski@gnu.org>
12985
12986 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
12987 kern/time.c.
12988
1c282483 129892008-08-28 Robert Millan <rmh@aybabtu.com>
12990
12991 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
12992
678e849c 129932008-08-28 Robert Millan <rmh@aybabtu.com>
12994
12995 Change find_grub_drive() syntax so it doesn't prevent it from
12996 detecting NULL names as errors.
12997
12998 * util/biosdisk.c (find_grub_drive): Move free slot search code
12999 from here ...
13000 (find_free_slot): ... to here.
13001 (read_device_map): Use find_free_slot() to search for free slots.
13002
965c75ca 130032008-08-27 Marco Gerards <marco@gnu.org>
13004
13005 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
13006 (scsi_mod_SOURCES): New variable.
13007 (scsi_mod_CFLAGS): Likewise
13008 (scsi_mod_LDFLAGS): Likewise.
13009
13010 * disk/scsi.c: New file.
13011
13012 * include/grub/scsi.h: Likewise.
13013
13014 * include/grub/scsicmd.h: Likewise.
13015
13016 * disk/ata.c: Include <grub/scsi.h>.
13017 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
13018 instead.
13019 (grub_ata_iterate): Skip ATAPI devices.
13020 (grub_ata_open): Only handle ATAPI devices.
13021 (struct grub_atapi_read): Removed.
13022 (grub_atapi_readsector): Likewise.
13023 (grub_ata_read): No longer handle ATAPI devices.
13024 (grub_ata_write): Likewise.
13025 (grub_atapi_iterate): New function.
13026 (grub_atapi_read): Likewise.
13027 (grub_atapi_write): Likewise.
13028 (grub_atapi_open): Likewise.
13029 (grub_atapi_close): Likewise.
13030 (grub_atapi_dev): New variable.
13031 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
13032 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
13033
13034 * include/grub/disk.h (enum grub_disk_dev_id): Add
13035 `GRUB_DISK_DEVICE_SCSI_ID'.
13036
c07ae501 130372008-08-26 Robert Millan <rmh@aybabtu.com>
13038
13039 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
13040 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
13041 descriptive.
13042
5ed20adc 130432008-08-23 Bean <bean123ch@gmail.com>
13044
13045 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
13046 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
13047 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
13048 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
13049 dm_nv.mod.
13050 (raid5rec_mod_SOURCES): New macro.
13051 (raid5rec_mod_CFLAGS): Likewise.
13052 (raid5rec_mod_LDFLAGS): Likewise.
13053 (raid6rec_mod_SOURCES): Likewise.
13054 (raid6rec_mod_CFLAGS): Likewise.
13055 (raid6rec_mod_LDFLAGS): Likewise.
13056 (mdraid_mod_SOURCES): Likewise.
13057 (mdraid_mod_CFLAGS): Likewise.
13058 (mdraid_mod_LDFLAGS): Likewise.
13059 (dm_nv_mod_SOURCES): Likewise.
13060 (dm_nv_mod_CFLAGS): Likewise.
13061 (dm_nv_mod_LDFLAGS): Likewise.
13062
13063 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
13064 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
13065 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
13066
13067 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
13068 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
13069
13070 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13071
13072 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13073
13074 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13075
13076 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13077
13078 * disk/raid5_recover.c: New file.
13079
13080 * disk/raid6_recover.c: Likewise.
13081
13082 * disk/mdraid_linux.c: Likewise.
13083
13084 * disk/dmraid_nvidia.c: Likewise.
13085
13086 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
13087 ULONG_MAX.
13088
13089 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
13090 calculate the size of raid device.
13091 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
13092 different layout of raid5.
13093 (grub_raid_scan_device): Remove code specific to mdraid.
13094 (grub_raid_list): New variable.
13095 (free_array): New function.
13096 (grub_raid_register): Likewise.
13097 (grub_raid_unregister): Likewise.
13098 (grub_raid_rescan): Likewise.
13099 (GRUB_MOD_INIT): Don't iterate device here.
13100 (GRUB_MOD_FINI): Use free_array to release resource.
13101
13102 * include/grub/raid.h: Remove macro and structure specific to mdraid.
13103 (grub_raid5_recover_func_t): New function variable type.
13104 (grub_raid6_recover_func_t): Likewise.
13105 (grub_raid5_recover_func): New variable.
13106 (grub_raid6_recover_func): Likewise.
13107 (grub_raid_register): New function.
13108 (grub_raid_unregister): Likewise.
13109 (grub_raid_rescan): Likewise.
13110 (grub_raid_block_xor): Likewise.
13111
13112 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
13113 (CMD_CRC): New macro.
13114 (part): Removed.
13115 (read_file): Handle device as well as file.
13116 (cmd_crc): New function.
13117 (fstest): Handle multiple disks.
13118 (options): Remove part, raw and long, add root and diskcount.
13119 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 13120 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 13121 add handling for the new options, support multiple disks.
13122
13123 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
13124
29c18915 131252008-08-23 Bean <bean123ch@gmail.com>
13126
13127 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
13128
13129 * genfslist.sh: Ignore kernel.mod.
13130
13131 * genpartmaplist.sh: Likewise.
13132
8415f261 131332008-08-23 Robert Millan <rmh@aybabtu.com>
13134
13135 * util/getroot.c (find_root_device): Skip anything that starts with
13136 a dot, not just directories. This avoids things like /dev/.tmp.md0.
13137
d5a7dc5b 131382008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 13139
d5a7dc5b 13140 * util/update-grub.in (GRUB_GFXMODE): Export variable.
13141 * util/grub.d/00_header.in: Allow the administrator to change default
13142 gfxmode via ${GRUB_GFXMODE}.
13143
380cfbb4 131442008-08-21 Felix Zielcke <fzielcke@z-51.de>
13145
13146 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
13147
c9baafe7 131482008-08-21 Robert Millan <rmh@aybabtu.com>
13149
13150 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
13151 loader.
13152 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
13153 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
13154
e290bef2 131552008-08-20 Carles Pina i Estany <carles@pina.cat>
13156
13157 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
13158 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
13159
f9dbfc96 131602008-08-19 Robert Millan <rmh@aybabtu.com>
13161
13162 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
13163 (struct grub_virtual_screen): Remove `cursor_color'.
13164 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
13165 initialization.
13166 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
13167
dd6bd6ab 131682008-08-18 Robert Millan <rmh@aybabtu.com>
13169
13170 Unify (identical) linux_normal.c files.
13171 * loader/i386/efi/linux_normal.c: Move from here ...
13172 * loader/linux_normal.c: ... to here. Update all users.
13173 * loader/i386/pc/linux_normal.c: Delete. Update all users.
13174 * loader/i386/ieee1275/linux_normal.c: Likewise.
13175
7f42f83e 131762008-08-18 Robert Millan <rmh@aybabtu.com>
13177
13178 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
13179 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
13180 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
13181 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
13182 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
13183 New macros.
13184 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
13185 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
13186 (GRUB_LINUX_CL_END_OFFSET): ... to here.
13187 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
13188 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
13189 (GRUB_EFI_CL_END_OFFSET): Rename to ...
13190 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
13191 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
13192 Initialize `params->video_cursor_x' and `params->video_cursor_y'
13193 portably using grub_getxy().
13194 Replace `-EFI' with `-bzImage' in boot message.
13195
38487ddb 131962008-08-17 Robert Millan <rmh@aybabtu.com>
13197
13198 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
13199
deceb3ec 132002008-08-17 Robert Millan <rmh@aybabtu.com>
13201
13202 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
13203
13204 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
13205 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
13206 (grub_machine_mmap_iterate): New function declaration.
13207 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
13208 structure.
13209 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
13210 macros.
13211
13212 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
13213 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
13214 Move e820 parsing from here ...
13215 * kern/i386/pc/mmap.c: New file.
13216 (grub_machine_mmap_iterate): ... to here.
13217
13218 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
13219 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
13220 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
13221 (grub_available_iterate): Redeclare to return `void', and redeclare
13222 its hook to use grub_uint64_t as addr and size parameters, and rename
13223 to ...
13224 (grub_machine_mmap_iterate): ... this. Update all users.
13225
13226 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
13227 to make it more readable. Rename to ...
13228 (grub_machine_mmap_iterate): ... this.
13229
13230 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
13231 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
13232 (grub_multiboot): Allocate an extra region after the payload, and fill
13233 it with a Multiboot memory map. Adjust a.out loader to calculate size
13234 with the extra space.
13235 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
13236 with the extra space.
13237
f8aa0f43 132382008-08-17 Carles Pina i Estany <carles@pina.cat>
13239
9807deb9 13240 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 13241
605f5bb6 132422008-08-17 Felix Zielcke <fzielcke@z-51.de>
13243
13244 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
13245 mdate-sh to the list `find' searches for.
13246 * DISTLIST: Regenerated.
13247
210db6c6 132482008-08-16 Felix Zielcke <fzielcke@z-51.de>
13249
13250 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
13251 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 13252 genmoddep.awk, gensymlist.sh.in.
13253 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 13254 * DISTLIST: Regenerated.
48cdbfd4 13255 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 13256
1082b929 132572008-08-16 Robert Millan <rmh@aybabtu.com>
13258
13259 * disk/raid.c (grub_raid_init): Handle/report errors set by
13260 grub_device_iterate().
13261 * disk/lvm.c (grub_lvm_init): Likewise.
13262
42ce5170 132632008-08-15 Bean <bean123ch@gmail.com>
13264
13265 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
13266 and datehook.mod.
13267 (datetime_mod_SOURCES): New macro.
13268 (datetime_mod_CFLAGS): Likewise.
13269 (datetime_mod_LDFLAGS): Likewise.
13270 (date_mod_SOURCES): Likewise.
13271 (date_mod_CFLAGS): Likewise.
13272 (date_mod_LDFLAGS): Likewise.
13273 (datehook_mod_SOURCES): Likewise.
13274 (datehook_mod_CFLAGS): Likewise.
13275 (datehook_mod_LDFLAGS): Likewise.
13276
13277 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
13278 and datehook.mod.
13279 (datetime_mod_SOURCES): New macro.
13280 (datetime_mod_CFLAGS): Likewise.
13281 (datetime_mod_LDFLAGS): Likewise.
13282 (date_mod_SOURCES): Likewise.
13283 (date_mod_CFLAGS): Likewise.
13284 (date_mod_LDFLAGS): Likewise.
13285 (datehook_mod_SOURCES): Likewise.
13286 (datehook_mod_CFLAGS): Likewise.
13287 (datehook_mod_LDFLAGS): Likewise.
13288
13289 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
13290 and datehook.mod.
13291 (datetime_mod_SOURCES): New macro.
13292 (datetime_mod_CFLAGS): Likewise.
13293 (datetime_mod_LDFLAGS): Likewise.
13294 (date_mod_SOURCES): Likewise.
13295 (date_mod_CFLAGS): Likewise.
13296 (date_mod_LDFLAGS): Likewise.
13297 (datehook_mod_SOURCES): Likewise.
13298 (datehook_mod_CFLAGS): Likewise.
13299 (datehook_mod_LDFLAGS): Likewise.
13300
13301 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
13302 and datehook.mod.
13303 (datetime_mod_SOURCES): New macro.
13304 (datetime_mod_CFLAGS): Likewise.
13305 (datetime_mod_LDFLAGS): Likewise.
13306 (date_mod_SOURCES): Likewise.
13307 (date_mod_CFLAGS): Likewise.
13308 (date_mod_LDFLAGS): Likewise.
13309 (datehook_mod_SOURCES): Likewise.
13310 (datehook_mod_CFLAGS): Likewise.
13311 (datehook_mod_LDFLAGS): Likewise.
13312
13313 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
13314 and datehook.mod.
13315 (datetime_mod_SOURCES): New macro.
13316 (datetime_mod_CFLAGS): Likewise.
13317 (datetime_mod_LDFLAGS): Likewise.
13318 (date_mod_SOURCES): Likewise.
13319 (date_mod_CFLAGS): Likewise.
13320 (date_mod_LDFLAGS): Likewise.
13321 (datehook_mod_SOURCES): Likewise.
13322 (datehook_mod_CFLAGS): Likewise.
13323 (datehook_mod_LDFLAGS): Likewise.
13324
13325 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
13326
13327 * commands/date.c: New file.
13328
13329 * hook/datehook.c: Likewise.
13330
13331 * include/grub/lib/datetime.h: Likewise.
13332
13333 * include/grub/i386/cmos.h: Likewise.
13334
13335 * lib/datetime.c: Likewise.
13336
13337 * lib/i386/datetime.c: Likewise.
13338
13339 * lib/efi/datetime.c: Likewise.
13340
0e9242da 133412008-08-14 Robert Millan <rmh@aybabtu.com>
13342
13343 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
13344 (grub_mkelfimage_SOURCES): New variable.
13345 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
13346
13347 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
13348 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
13349 * conf/powerpc-ieee1275.rmk: Likewise.
13350 * conf/i386-ieee1275.rmk: Likewise.
13351
13352 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
13353 * kern/i386/coreboot/init.c: Likewise.
13354
13355 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
13356 with `<grub/cpu/kernel.h>'.
13357 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
13358 to ...
13359 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
13360 * kern/i386/coreboot/startup.S: Likewise.
13361
13362 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
13363 (GRUB_MOD_GAP): Remove.
13364 * include/grub/powerpc/kernel.h: New file.
13365 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
13366 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
13367 * include/grub/i386/kernel.h: New file.
13368 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
13369 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
13370 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
13371
13372 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
13373 `grub-mkelfimage'.
13374 Use --directory when invoking grub_mkimage.
13375
13376 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
13377 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
13378 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
13379 and GRUB_KERNEL_CPU_PREFIX.
13380
b86408f8 133812008-08-14 Felix Zielcke <fzielcke@z-51.de>
13382
d5e619ca 13383 * include/grub/err.h (grub_err_printf): New function prototype.
13384 * util/misc.c (grub_err_printf): New function.
13385 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
13386 grub_printf.
13387 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 13388
7161f0e0 133892008-08-13 Robert Millan <rmh@aybabtu.com>
13390
13391 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
13392
a1967522 133932008-08-13 Robert Millan <rmh@aybabtu.com>
13394
13395 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
13396 boot entry.
13397
371458b5 133982008-08-12 Robert Millan <rmh@aybabtu.com>
13399
13400 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
13401 of the relocation code from here ...
13402 (grub_multiboot): ... to here.
13403 (forward_relocator, backward_relocator): Move from here ...
13404 * kern/i386/loader.S (grub_multiboot_forward_relocator)
13405 (grub_multiboot_backward_relocator): ... to here.
13406 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
13407 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
13408 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
13409 (grub_multiboot_forward_relocator_end)
13410 (grub_multiboot_backward_relocator)
13411 (grub_multiboot_backward_relocator_end): New variables.
13412
05f9452b 134132008-08-12 Bean <bean123ch@gmail.com>
13414
13415 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
13416
20024ab0 134172008-08-11 Robert Millan <rmh@aybabtu.com>
13418
13419 * kern/i386/linuxbios/startup.S: Move from here ...
13420 * kern/i386/coreboot/startup.S: ... to here.
13421
13422 * kern/i386/linuxbios/init.c: Move from here ...
13423 * kern/i386/coreboot/init.c: ... to here.
13424
13425 * kern/i386/linuxbios/table.c: Move from here ...
13426 * kern/i386/coreboot/mmap.c: ... to here.
13427
13428 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
13429
e352e9cd 134302008-08-11 Robert Millan <rmh@aybabtu.com>
13431
13432 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
13433 errors. Leave it to the upper layer to handle them.
13434
2d05bc6a 134352008-08-09 Christian Franke <franke@computer.org>
13436
13437 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
13438 * conf/common.rmk: Install `grub-pe2elf' only if requested.
13439 Install `grub.d/10_windows' only on Cygwin.
13440 * configure.ac: Add subst of `target_os'.
13441 Check `target_os' also before setting TARGET_OBJ2ELF.
13442 Add `--enable-grub-pe2elf'.
13443
042bd419 134442008-08-08 Robert Millan <rmh@aybabtu.com>
13445
13446 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
13447 (grub_last_time): Change type to grub_uint64_t.
13448 (grub_disk_open): Migrate code from to using grub_get_time_ms().
13449 (grub_disk_close): Likewise.
13450
13451 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
13452 (run_menu): Migrate code from to using grub_get_time_ms().
13453
13454 * util/misc.c (grub_get_time_ms): New function.
13455
7f280db5 134562008-08-08 Marco Gerards <marco@gnu.org>
13457
13458 * disk/ata.c (grub_ata_regget): Change return type to
13459 `grub_uint8_t'.
13460 (grub_ata_regget2): Likewise.
13461 (grub_ata_wait_status): New function.
13462 (grub_ata_wait_busy): Removed function, updated all users to use
13463 `grub_ata_wait_status'.
13464 (grub_ata_wait_drq): Likewise.
13465 (grub_ata_cmd): New function.
13466 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
13467 error handling.
13468 (grub_ata_pio_write): Add error handling.
13469 (grub_atapi_identify): Likewise.
13470 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
13471 handling.
13472 (grub_ata_identify): Use `grub_ata_cmd' and improve error
13473 handling. Actually use the detected registers. Reorder the
13474 detection logic such that it is easier to read.
13475 (grub_ata_pciinit): Do not assign the same ID to each controller.
13476 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
13477 handling.
13478 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
13479
13480 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
13481
1fbc5e66 134822008-08-08 Marco Gerards <marco@gnu.org>
13483
13484 * NEWS: Update.
13485
819ce6c0 134862008-08-07 Bean <bean123ch@gmail.com>
13487
13488 * include/grub/x86_64/pci.h: New file.
13489
5c41d44d 134902008-08-07 Christian Franke <franke@computer.org>
13491
13492 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
13493 (TIMER2_GATE): Likewise.
13494 (grub_pit_wait): Add enable/disable of the timer2 gate
13495 bit of port 0x61. This fixes a possible infinite loop.
13496
5ebc275d 134972008-08-07 Bean <bean123ch@gmail.com>
13498
13499 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
13500 kern/i386/tsc.c and kern/i386/pit.c.
13501
13502 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
13503 x86_64 platform.
13504
13505 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
13506 <grub/i386/tsc.h>.
13507
13508 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
13509
e383b3d0 135102008-08-07 Bean <bean123ch@gmail.com>
13511
13512 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
13513
13514 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
13515
13516 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
13517 multiple inclusion. Add #include <grub/types.h>.
13518
1cbb58ac 135192008-08-06 Christian Franke <franke@computer.org>
13520
13521 * conf/common.rmk: Build and install `10_windows'.
13522 * util/grub.d/10_windows.in: New script.
13523
337f5a1e 135242008-08-06 Pavel Roskin <proski@gnu.org>
13525
13526 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
13527
057bc4ac 135282008-08-06 Robert Millan <rmh@aybabtu.com>
13529
13530 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
13531 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
13532
2b99f123 135332008-08-06 Bean <bean123ch@gmail.com>
13534
13535 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
13536 (grub_pxefs_fs_int): Remove dummy definition.
13537 (grub_pxefs_open): Use data->block_size to store the current block
13538 size setting.
13539 (grub_pxefs_read): Use block size stored in data->block_size. As the
13540 value of grub_pxe_blksize can be changed after the file is opened.
13541
9f0234cb 135422008-08-06 Bean <bean123ch@gmail.com>
13543
13544 * fs/i386/pc/pxe.c (curr_file): new variable.
13545 (grub_pxefs_open): Simply the handling of pxe file system. Don't
13546 require the dummy internal file system anymore.
13547 (grub_pxefs_read): Removed.
13548 (grub_pxefs_close): Likewise.
13549 (grub_pxefs_fs_int): Likewise.
13550 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
13551 connection when we switch file.
13552 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
13553
a55d42e0 135542008-08-06 Robert Millan <rmh@aybabtu.com>
13555
13556 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
13557 `halt.mod'.
13558 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
13559 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
13560
13561 * kern/i386/halt.c: New file.
13562 * kern/i386/reboot.c: Likewise.
13563 * include/grub/i386/reboot.h: Likewise.
13564 * include/grub/i386/halt.h: Likewise.
13565
13566 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
13567 Include `<grub/cpu/halt.h>'.
13568 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
13569 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
13570
13571 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
13572 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
13573 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
13574 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
13575 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
13576 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
13577 from here ...
13578 * include/grub/i386/at_keyboard.h: ... to here.
13579
24371d26 135802008-08-05 Robert Millan <rmh@aybabtu.com>
13581
13582 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
13583 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
13584 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
13585 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
13586 `kern/generic/millisleep.c'.
13587
13588 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
13589 instead of grub_get_rtc().
13590 (grub_tsc_init): Initialize `tsc_boot_time'.
13591
13592 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
13593 (grub_machine_init): Use grub_tsc_init() rather than
13594 installing an RTC-based handler via grub_install_get_time_ms().
13595
13596 * kern/i386/pit.c: New file.
13597 * include/grub/i386/pit.h: Likewise.
13598
9e7007b3 135992008-08-05 Bean <bean123ch@gmail.com>
13600
13601 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
13602
13603 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
13604 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
13605 (pxe_mod_SOURCES): New macro.
13606 (pxe_mod_CFLAGS): Likewise.
13607 (pxe_mod_LDFLAGS): Likewise.
13608 (pxecmd_mod_SOURCES): Likewise.
13609 (pxecmd_mod_CFLAGS): Likewise.
13610 (pxecmd_mod_LDFLAGS): Likewise.
13611
13612 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
13613 (grub_pxe_call): Likewise.
13614
13615 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
13616
13617 * commands/i386/pc/pxecmd.c: New file.
13618
9f0234cb 13619 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 13620
13621 * include/grub/i386/pc/pxe.h: Likewise.
13622
6977d49f 136232008-08-05 Bean <bean123ch@gmail.com>
13624
13625 * util/console.c (grub_console_cur_color): New variable.
13626 (grub_console_standard_color): Likewise.
13627 (grub_console_normal_color): Likewise.
13628 (grub_console_highlight_color): Likewise.
13629 (color_map): Likewise.
13630 (use_color): Likewise.
13631 (NUM_COLORS): New macro.
13632 (grub_ncurses_setcolorstate): Handle color properly.
13633 (grub_ncurses_setcolor): Don't change color here, just remember the
13634 settings, color will be set in grub_ncurses_setcolorstate.
13635 (grub_ncurses_getcolor): New function.
13636 (grub_ncurses_init): Initialize color pairs.
13637 (grub_ncurses_term): New member grub_ncurses_getcolor.
13638
9c2ff3ee 136392008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 13640
9c2ff3ee 13641 High resolution timer support. Implemented for x86 CPUs using TSC.
13642 Extracted generic grub_millisleep() so it's linked in only as needed.
13643 This requires a Pentium compatible CPU; if the RDTSC instruction is
13644 not supported, then it falls back on the generic grub_get_time_ms()
13645 implementation that uses the machine's RTC.
13646
13647 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
13648 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
13649 `kern/generic/millisleep.c'.
13650
13651 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
13652 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
13653
13654 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
13655 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
13656
13657 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
13658
13659 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
13660 `kern/generic/millisleep.c'.
13661
13662 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
13663
13664 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
13665
13666 * kern/generic/rtc_get_time_ms.c: New file.
13667
13668 * kern/generic/millisleep.c: New file.
337f5a1e 13669
9c2ff3ee 13670 * kern/misc.c: Don't include
13671 <kern/time.h> anymore.
13672 (grub_millisleep_generic): Removed.
13673
13674 * commands/sleep.c (grub_interruptible_millisleep): Uses
13675 grub_get_time_ms() instead of grub_get_rtc().
13676
13677 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
13678 function.
13679 (grub_cpu_is_cpuid_supported): New inline function.
13680 (grub_cpu_is_tsc_supported): New inline function.
13681 (grub_tsc_init): New function prototype.
13682 (grub_tsc_get_time_ms): New function prototype.
13683
13684 * kern/i386/tsc.c (grub_get_time_ms): New file.
13685
13686 * include/grub/time.h: Include <grub/types.h.
13687 (grub_millisleep_generic): Removed.
13688 (grub_get_time_ms): New prototype.
13689 (grub_install_get_time_ms): New prototype.
13690 (grub_rtc_get_time_ms): New prototype.
13691
13692 * kern/time.c (grub_get_time_ms): New function.
13693 (grub_install_get_time_ms): New function.
13694
13695 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
13696 <grub/time.h> anymore.
13697 (grub_millisleep): Removed.
13698 (grub_machine_init): Call grub_tsc_init.
13699
13700 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
13701 get_time_ms() implementation.
13702
13703 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
13704 (ieee1275_get_time_ms): New function.
13705 (grub_machine_init): Install get_time_ms() implementation.
13706
13707 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
13708 (grub_machine_init): Call grub_tsc_init().
13709 (grub_millisleep): Removed.
bf06a93f 13710
9c2ff3ee 13711 * kern/ieee1275/init.c (grub_millisleep): Removed.
13712 (grub_machine_init): Install ieee1275_get_time_ms()
13713 implementation.
13714 (ieee1275_get_time_ms): New function.
13715 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
13716 real work.
13717
9ec92aaf 137182008-08-05 Marco Gerards <marco@gnu.org>
13719
13720 * disk/ata.c: Include <grub/pci.h>.
13721 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
13722 (grub_ata_initialize): Rewritten.
13723 (grub_ata_device_initialize): New function.
13724
8d23f507 137252008-08-04 Pavel Roskin <proski@gnu.org>
13726
13727 * kern/main.c: Include grub/mm.h.
13728
5e15ee3d 137292008-08-04 Robert Millan <rmh@aybabtu.com>
13730
13731 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
13732 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
13733 corruption problem).
13734
a9053f8f 137352008-08-04 Robert Millan <rmh@aybabtu.com>
13736
13737 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
13738 warnings introduced in my last commit.
13739
dd19c7d7 137402008-08-03 Robert Millan <rmh@aybabtu.com>
13741
13742 Make PCI available on all i386 architectures.
13743
13744 * include/grub/i386/pc/pci.h: Move from here ...
13745 * include/grub/i386/pci.h: ... to here.
13746
13747 * include/grub/i386/pc/pci.h: Remove.
13748 * include/grub/i386/efi/pci.h: Remove.
13749 * include/grub/x86_64/efi/pci.h: Remove.
13750
13751 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
13752 `<grub/cpu/pci.h>'.
13753
13754 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
13755 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
13756 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
13757
13758 * conf/i386-ieee1275.rmk: Likewise.
13759
e14a6184 137602008-08-03 Robert Millan <rmh@aybabtu.com>
13761
13762 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
13763 (grub_console_setcursor): Make it possible to set cursor off.
13764
52768e37 137652008-08-03 Robert Millan <rmh@aybabtu.com>
13766
13767 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
13768 of modules instead of assuming which platform provides what.
13769 * util/update-grub.in: Likewise.
13770
2d52f57f 137712008-08-03 Robert Millan <rmh@aybabtu.com>
13772
13773 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
13774 instead of `grub_install_dos_part' to determine whether a drive needs
13775 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 13776 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 13777
2a5cd121 137782008-08-02 Robert Millan <rmh@aybabtu.com>
13779
13780 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
13781
93808428 137822008-08-02 Robert Millan <rmh@aybabtu.com>
13783
13784 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
13785 of informational grub_dprintf() calls.
13786
3bd0a12a 137872008-08-02 Robert Millan <rmh@aybabtu.com>
13788
13789 * disk/memdisk.c (memdisk_size): Don't initialize.
13790 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
13791
13792 * include/grub/i386/pc/kernel.h
13793 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
13794 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
13795 (grub_memdisk_image_size, grub_arch_memdisk_addr)
13796 (grub_arch_memdisk_size): Remove.
13797
13798 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
13799 field (was only used to transfer a constant). Add `type' field to
13800 support multiple module types.
13801 (grub_module_iterate): New function.
13802
13803 * kern/device.c (grub_device_open): Do not hide error messages
13804 when grub_disk_open() fails. Use grub_print_error() instead.
13805
13806 * kern/i386/pc/init.c (grub_arch_modules_addr)
13807 (grub_arch_memdisk_size): Remove functions.
13808 (grub_arch_modules_addr): Return the module address in high memory
13809 (now that it isn't copied anymore).
13810
13811 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
13812 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
13813 decompression routine (grub_total_module_size already includes that
13814 now). Don't copy modules back to low memory.
13815
13816 * kern/main.c: Include `<grub/mm.h>'.
13817 (grub_load_modules): Split out (and use) ...
13818 (grub_module_iterate): ... this function, which iterates through
13819 module objects and runs a hook.
13820 Comment out grub_mm_init_region() call, as it would cause non-ELF
13821 modules to be overwritten.
13822
13823 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
13824 the memdisk image in its own region, make it part of the module list.
13825 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
13826 (main): Parse --memdisk|-m option, and pass user-provided path as
13827 parameter to generate_image().
13828 (add_segments): Pass `memdisk_path' down to load_modules().
13829 (load_modules): Embed memdisk image in module section when requested.
13830 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
13831 `header.type' instead of `header.offset'.
13832
13833 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
13834 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
13835 (memdisk_mod_LDFLAGS): New variables.
13836 * conf/i386-coreboot.rmk: Likewise.
13837 * conf/i386-ieee1275.rmk: Likewise.
13838
a927cc73 138392008-08-02 Robert Millan <rmh@aybabtu.com>
13840
13841 * loader/i386/pc/multiboot.c (playground, forward_relocator)
13842 (backward_relocator): New variables. Used to allocate and relocate
13843 the payload, respectively.
13844 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 13845 address, install the appropriate relocator code in each bound of
a927cc73 13846 the payload, and set the entry point such that
13847 grub_multiboot_real_boot() will jump to one of them.
13848
13849 * kern/i386/loader.S (grub_multiboot_payload_size)
13850 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
13851 (grub_multiboot_payload_entry_offset): New variables.
13852 (grub_multiboot_real_boot): Set cpu context to what the relocator
13853 expects, and jump to the relocator instead of the payload.
13854
13855 * include/grub/i386/loader.h (grub_multiboot_payload_size)
13856 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
13857 (grub_multiboot_payload_entry_offset): Export.
13858
b15d8a0c 138592008-08-01 Bean <bean123ch@gmail.com>
13860
13861 * normal/menu_entry.c (editor_getline): Don't return the original
13862 string as result, as it will be released by lexer once it has done
13863 using it.
13864
cdfb3d22 138652008-08-01 Robert Millan <rmh@aybabtu.com>
13866
13867 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
13868 within menuentries, not before them.
13869 util/grub.d/10_hurd.in: Likewise.
13870
9175e93d 138712008-08-01 Bean <bean123ch@gmail.com>
13872
13873 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
13874 (bufio_mod_SOURCES): New macro.
13875 (bufio_mod_CFLAGS): Likewise.
13876 (bufio_mod_LDFLAGS): Likewise.
13877
13878 * include/grub/bufio.h: New file.
13879
13880 * io/bufio.c: Likewise.
13881
13882 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
13883 (grub_video_reader_png): Use grub_buffile_open to open file.
13884
13885 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
13886 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
13887
13888 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
13889 (grub_video_reader_tga): Use grub_buffile_open to open file.
13890
13891 * font/manager.c: Include <grub/bufio.h>.
13892 (add_font): Use grub_buffile_open to open file.
13893
3d8383e7 138942008-07-31 Robert Millan <rmh@aybabtu.com>
13895
13896 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
13897 ELF segments, use a macro for arbitrarily accessing any of them instead
13898 of preparing a pointer that allows access to one at a time.
13899 (grub_multiboot_load_elf64): Likewise.
13900
16e641b6 139012008-07-31 Bean <bean123ch@gmail.com>
13902
13903 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
13904 GRUB_KERNEL_MACHINE_DATA_END.
13905
59198b72 139062008-07-30 Robert Millan <rmh@aybabtu.com>
13907
13908 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
13909 Increase from 0x50 to 0x60.
13910 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
13911 use UUIDs to identify the root drive for them. If that's not
13912 possible, abort.
13913 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
13914 check, for cross-disk installs.
13915
ae88bca3 139162008-07-30 Robert Millan <rmh@aybabtu.com>
13917
13918 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
13919 is non-empty, use it to set the `prefix' environment variable instead
13920 of the usual approach.
13921 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
13922 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
13923 environment variable instead of dummy make_install_device().
13924
13925 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
13926 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 13927 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 13928
13929 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
13930 New variable reference.
13931 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
13932 New macro. Defines offset of `grub_prefix' within startup.S (relative
13933 to `start').
13934 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
13935 section within startup.S (relative to `start').
13936 * include/grub/i386/coreboot/kernel.h: Likewise.
13937
13938 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
13939 Overwrite grub_prefix with its contents, at the beginning of the
13940 first segment.
13941 (main): Understand -p|--prefix.
13942
14f41dd1 139432008-07-30 Robert Millan <rmh@aybabtu.com>
13944
13945 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
13946
4ca049a3 139472008-07-30 Robert Millan <rmh@aybabtu.com>
13948
13949 * term/i386/pc/vga_text.c (grub_console_cls): Use
13950 grub_console_gotoxy() to go back to beginning of the screen.
13951 Found by Patrick Georgi <patrick.georgi@coresystems.de>
13952
2921d337 139532008-07-29 Christian Franke <franke@computer.org>
13954
13955 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
13956 Add conversion of emulated mount points on Cygwin.
13957
b609876d 139582008-07-29 Christian Franke <franke@computer.org>
13959
13960 * util/update-grub.in: Add a check for admin
13961 group on Cygwin.
13962 Remove old `grub.cfg.new' before creation.
13963 Add `-f' to `mv' to handle the different filesystem
13964 semantics of Windows.
13965
e93e4679 139662008-07-29 Bean <bean123ch@gmail.com>
13967
13968 * normal/main.c (get_line): Fix buffer overflow bug.
13969
41694fd0 139702008-07-28 Robert Millan <rmh@aybabtu.com>
13971
13972 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
13973 (struct grub_apple_header): New struct. Describes the layout of
13974 the partmap header.
13975 (apple_partition_map_iterate): Check the header magic as well as the
13976 partition magic (which was already being checked).
13977
cfd0b4e6 139782008-07-28 Pavel Roskin <proski@gnu.org>
13979
13980 * genmk.rb: Add a warning to the beginning of the output that
13981 it's a generated file and should not be edited.
13982
93cce016 139832008-07-28 Robert Millan <rmh@aybabtu.com>
13984
13985 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
13986 with the same number are found, just use issue a warning with
13987 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 13988
cd1df915 139892008-07-27 Robert Millan <rmh@aybabtu.com>
13990
13991 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
13992 information.
13993
b70a8427 139942008-07-27 Bean <bean123ch@gmail.com>
13995
13996 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
13997 (grub_fat_find_dir): Ignore case when comparing filename.
13998
8f5e379f 139992008-07-27 Bean <bean123ch@gmail.com>
14000
14001 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
14002 smallino, as it's more descriptive, and i8count can be confused with
14003 the other field count.
14004 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
14005 inode type.
14006
a85cd5a0 140072008-07-27 Bean <bean123ch@gmail.com>
14008
14009 * commands/crc.c: New file.
14010
14011 * lib/crc.c: Likewise.
14012
14013 * include/grub/lib/crc.h: Likewise.
14014
14015 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
14016
14017 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
14018 (hexdump): Move this function to ...
14019
14020 * lib/hexdump.c: ... here.
14021
14022 * include/grub/hexdump.h: Renamed to ...
14023
14024 * include/grub/lib/hexdump.h: ... this.
14025
14026 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
14027
14028 * util/grub-editenv.c: Likewise.
14029
14030 * include/envblk.h: Renamed to ...
14031
14032 * include/lib/envblk.h: ... this.
14033
14034 * util/envblk.c: Renamed to ...
14035
14036 * lib/envblk.c: ... this.
14037
14038 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
14039 lib/hexdump.c.
14040 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
14041 (pkglib_MODULES): Add crc.mod.
14042 (hexdump_mod_SOURCES): Add lib/hexdump.c.
14043 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
14044 (crc_mod_SOURCES): New macro.
14045 (crc_mod_CFLAGS): Likewise.
14046 (crc_mod_LDFLAGS): Likewise.
14047
14048 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
14049
14050 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14051
14052 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14053
14054 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14055
14056 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14057
c298def0 140582008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 14059
14060 * commands/help.c: Include <grub/term.h>.
14061 (TERM_WIDTH): Removed. Updated all users.
14062
cc349fb3 140632008-07-27 Pavel Roskin <proski@gnu.org>
14064
14065 * util/getroot.c (find_root_device): Rephrase a comment to avoid
14066 spurious warnings about a comment within a comment.
14067
9051607e 140682008-07-25 Robert Millan <rmh@aybabtu.com>
14069
14070 * util/getroot.c (find_root_device): Skip devices that match
14071 /dev/dm-[0-9]. This lets the real device be found for any type of
14072 abstraction (LVM, EVMS, RAID..).
14073 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
14074 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
14075 device is found first, find_root_device() will now skip it.
14076
01453bfc 140772008-07-24 Pavel Roskin <proski@gnu.org>
14078
14079 * include/grub/types.h: Use __builtin_bswap32() and
14080 __builtin_bswap64() with gcc 4.3 and newer.
14081
6af9849f 140822008-07-24 Christian Franke <franke@computer.org>
14083
3a0fa256 14084 * util/i386/pc/grub-install.in: If `--debug' is specified,
14085 pass `--verbose' to grub-setup.
14086 Abort script if make_system_path_relative_to_its_root() fails.
14087
7810e747 140882008-07-24 Bean <bean123ch@gmail.com>
14089
14090 * configure.ac: Fixed a bug caused by the previous cygwin patch,
14091 variable `target_platform' should be `platform'.
14092
42290e17 140932008-07-24 Bean <bean123ch@gmail.com>
14094
51cc5193 14095 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 14096 (grub_png_init_fixed_block): New function.
14097 (grub_png_decode_image_data): Handle fixed huffman code compression.
14098
2a8a80e4 140992008-07-24 Bean <bean123ch@gmail.com>
14100
14101 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
14102 (grub_pe2elf_SOURCES): New macro.
14103 (CLEANFILES): Add grub-pe2elf.
14104
14105 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
14106 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
14107 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
14108 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
14109 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
14110 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
14111 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
14112 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
14113 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
14114 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
14115 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
14116 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
14117 (GRUB_PE32_DT_FUNCTION): Likewise.
14118 (GRUB_PE32_REL_I386_DIR32): Likewise.
14119 (GRUB_PE32_REL_I386_REL32): Likewise.
14120 (grub_pe32_symbol): New structure.
14121 (grub_pe32_reloc): Likewise.
14122
14123 * util/grub-pe2elf.c: New file.
14124
14125 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
14126 start symbol in non pc platform.
14127
14128 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
14129
14130 The following patches are from Christian Franke.
14131
14132 * include/grub/dl.h: Remove .previous, gas supports this only
14133 for ELF format.
14134
14135 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
14136 Remove .type, gas supports this only for ELF format.
14137
14138 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
14139 nullbytes in symbol table. This fixes an infinite loop if table is
14140 zero filled.
14141
14142 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
14143 TARGET_IMG_LDFLAGS and EXEEXT.
14144
14145 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
14146 TARGET_IMG_LDFLAGS_AC.
14147 (grub_CHECK_STACK_ARG_PROBE): New function.
14148
14149 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
14150
14151 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
14152
14153 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
14154 to set TARGET_IMG_LD* accordingly.
14155 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
14156 Add call to grub_CHECK_STACK_ARG_PROBE.
14157 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
14158
14159 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
14160
14161 * genmk.rb: Add EXEEXT to CLEANFILES.
14162
12ccdb75 141632008-07-23 Robert Millan <rmh@aybabtu.com>
14164
14165 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
14166 define the codes for arrows and lines used for the menu).
14167 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
14168 as well.
14169
14170 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
14171 fonts, because the latter are too slow.
14172
18eeaf04 141732008-07-21 Bean <bean123ch@gmail.com>
14174
14175 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
14176 a20. Run keyboard test last, as it will cause macbook to halt.
14177
b095e2ad 141782008-07-18 Pavel Roskin <proski@gnu.org>
14179
14180 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
14181 load foreign architecture modules correctly anyway. Keep
14182 support for loading host architecture modules, whether we
14183 compile them or not.
14184
737feb35 141852008-07-17 Pavel Roskin <proski@gnu.org>
14186
3f4ce737 14187 * configure.ac: Use -m32 or -m64 regardless of whether we had to
14188 change target_cpu. The compiler default can mismatch target_cpu
14189 in any case.
14190
4ad2d049 14191 * disk/efi/efidisk.c: Fix format warnings on x86_64.
14192 * kern/efi/efi.c: Likewise.
14193
f6130a12 14194 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
14195 target compiler is functional.
14196 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
14197 are set up.
14198
58393a2d 14199 * configure.ac: Default to efi platform for x86_64-apple. Allow
14200 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
14201 adjustments from the rest, only do them if target is not
14202 explicitly given. Merge other adjustments with the final sanity
14203 check. Remove an extraneous check for supported CPU. Be
14204 specific which CPU and which platform is not supported.
14205
737feb35 14206 * configure.ac: Default to pc platform for x86_64.
14207
546f966a 142082008-07-17 Robert Millan <rmh@aybabtu.com>
14209
14210 Partial LinuxBIOS -> Coreboot rename.
14211
14212 * conf/i386-linuxbios.rmk: Renamed to ...
14213 * conf/i386-coreboot.rmk: ... this.
14214 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
14215 * configure.ac: Accept "coreboot" as input platform (but maintain
14216 compatibility with "linuxbios").
14217 * include/grub/i386/linuxbios: Renamed to ...
14218 * include/grub/i386/coreboot: ... this.
14219
20011694 142202008-07-17 Bean <bean123ch@gmail.com>
14221
14222 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 14223 (appleldr_mod_SOURCE): New variable.
20011694 14224 (appleldr_mod_CFLAGS): Likewise.
14225 (appleldr_mod_LDFLAGS): Likewise.
14226 (pci_mod_SOURCES): Likewise.
14227 (pci_mod_CFLAGS): Likewise.
14228 (pci_mod_LDFLAGS): Likewise.
14229 (lspci_mod_SOURCES): Likewise.
14230 (lspci_mod_CFLAGS): Likewise.
14231 (lspci_mod_LDFLAGS): Likewise.
14232
14233 * conf/x86_64-efi.rmk: New file.
14234
14235 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
14236 macro.
14237 (grub_efidisk_write): Likewise.
14238
14239 * include/efi/api.h (efi_call_0): New macro.
14240 (efi_call_1): Likewise.
14241 (efi_call_2): Likewise.
14242 (efi_call_3): Likewise.
14243 (efi_call_4): Likewise.
14244 (efi_call_5): Likewise.
14245 (efi_call_6): Likewise.
14246
14247 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
14248 grub_rescue_cmd_chainloader.
14249
14250 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
14251 (grub_pe32_optional_header): Change some fields based on i386 or
14252 x86_64 platform.
14253 (GRUB_PE32_PE32_MAGIC): Likewise.
14254
14255 * include/grub/efi/uga_draw.h: New file.
14256
14257 * include/grub/elf.h (STN_ABS): New constant.
14258 (R_X86_64_NONE): Relocation constant for x86_64.
14259 (R_X86_64_64): Likewise.
14260 (R_X86_64_PC32): Likewise.
14261 (R_X86_64_GOT32): Likewise.
14262 (R_X86_64_PLT32): Likewise.
14263 (R_X86_64_COPY): Likewise.
14264 (R_X86_64_GLOB_DAT): Likewise.
14265 (R_X86_64_JUMP_SLOT): Likewise.
14266 (R_X86_64_RELATIVE): Likewise.
14267 (R_X86_64_GOTPCREL): Likewise.
14268 (R_X86_64_32): Likewise.
14269 (R_X86_64_32S): Likewise.
14270 (R_X86_64_16): Likewise.
14271 (R_X86_64_PC16): Likewise.
14272 (R_X86_64_8): Likewise.
14273 (R_X86_64_PC8): Likewise.
14274
14275 * include/grub/i386/efi/pci.h: New file.
14276
14277 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
14278 Change it value based on platform.
14279 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
14280 (GRUB_E820_RAM): Likewise.
14281 (GRUB_E820_RESERVED): Likewise.
14282 (GRUB_E820_ACPI): Likewise.
14283 (GRUB_E820_NVS): Likewise.
14284 (GRUB_E820_EXEC_CODE): Likewise.
14285 (GRUB_E820_MAX_ENTRY): Likewise.
14286 (grub_e820_mmap): New structure.
14287 (linux_kernel_header): Change the efi field according to different
14288 kernel version, also field from linux_kernel_header.
14289
14290 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
14291
14292 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
14293 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
14294 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
14295 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
14296 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
14297 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
14298 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
14299 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
14300 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
14301 (GRUB_PCI_ADDR_IO_MASK): Likewise.
14302
14303 * include/grub/x86_64/efi/kernel.h: New file.
14304
14305 * include/grub/x86_64/efi/loader.h: Likewise.
14306
14307 * include/grub/x86_64/efi/machine.h: Likewise.
14308
14309 * include/grub/x86_64/efi/pci.h: Likewise.
14310
14311 * include/grub/x86_64/efi/time.h: Likewise.
14312
14313 * include/grub/x86_64/linux.h: Likewise.
14314
14315 * include/grub/x86_64/setjmp.h: Likewise.
14316
14317 * include/grub/x86_64/time.h: Likewise.
14318
14319 * include/grub/x86_64/types.h: Likewise.
14320
14321 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
14322 GRUB_TARGET_SIZEOF_VOID_P.
14323
14324 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
14325 (grub_efi_locate_handle): Likewise.
14326 (grub_efi_open_protocol): Likewise.
14327 (grub_efi_set_text_mode): Likewise.
14328 (grub_efi_stall): Likewise.
14329 (grub_exit): Likewise.
14330 (grub_reboot): Likewise.
14331 (grub_halt): Likewise.
14332 (grub_efi_exit_boot_services): Likewise.
14333 (grub_get_rtc): Likewise.
14334
14335 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
14336 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
14337 (grub_efi_allocate_pages): Wrap efi calls.
14338 (grub_efi_free_pages): Wrap efi calls.
14339 (grub_efi_get_memory_map): Wrap efi calls.
14340
14341 * kern/x86_64/dl.c: New file.
14342
14343 * kern/x86_64/efi/callwrap.S: Likewise.
14344
14345 * kern/x86_64/efi/startup.S: Likewise.
14346
14347 * loader/efi/appleloader.c: Likewise.
14348
14349 * loader/efi/chainloader.c (cmdline): New variable.
14350 (grub_chainloader_unload): Wrap efi calls.
14351 (grub_chainloader_boot): Likewise.
14352 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
14353 command line.
14354
14355 * loader/efi/chainloader_normal.c (chainloader_command):
14356 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
14357 command line.
14358
14359 * loader/i386/efi/linux.c (allocate_pages): Change allocation
14360 method.
14361 (grub_e820_add_region): New function.
14362 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
14363 booting.
14364 (grub_find_video_card): New function.
14365 (grub_linux_setup_video): New function.
14366 (grub_rescue_cmd_linux): Probe for video information.
14367
14368 * normal/x86_64/setjmp.S: New file.
14369
14370 * term/efi/console.c (map_char): New function.
14371 (grub_console_putchar): Map unicode char.
14372 (grub_console_checkkey): Wrap efi calls.
14373 (grub_console_getkey): Likewise.
14374 (grub_console_getwh): Likewise.
14375 (grub_console_gotoxy): Likewise.
14376 (grub_console_cls): Likewise.
14377 (grub_console_setcolorstate): Likewise.
14378 (grub_console_setcursor): Likewise.
14379
14380 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
14381
59652a20 143822008-07-16 Pavel Roskin <proski@gnu.org>
14383
ef294055 14384 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
14385 format strings.
14386
59652a20 14387 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
14388 pointer, not an integer. This fixes a warning and prevents
14389 precision loss on 64-bit systems.
14390 (relocate_addresses): Remove unneeded cast.
14391
afc3b5d7 143922008-07-15 Pavel Roskin <proski@gnu.org>
14393
506b2b3e 14394 * kern/i386/ieee1275/init.c: Include grub/cache.h.
14395
62ead89c 14396 * term/ieee1275/ofconsole.c: Disable code unused on i386.
14397
c4cd51d7 14398 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
14399 Fix comparison between signed and unsigned.
14400
0d3d8f28 14401 * include/grub/i386/ieee1275/console.h: Declare
14402 grub_console_init() and grub_console_fini().
14403
8804b286 14404 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
14405 It's empty and unused.
14406
ee01cf35 14407 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
14408 beginning to avoid warnings with some compilers.
14409
afc3b5d7 14410 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
14411 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
14412
e4e8eaa5 144132008-07-14 Pavel Roskin <proski@gnu.org>
14414
407aceb4 14415 * kern/env.c (grub_register_variable_hook): Don't copy empty
14416 string, it leaks memory. Pass "" to grub_env_set(), it should
14417 handle constant strings.
14418
e4e8eaa5 14419 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
14420 * commands/cmp.c (grub_cmd_cmp): Likewise.
14421 * kern/dl.c (grub_dl_flush_cache): Likewise.
14422 (grub_dl_load_core): Likewise.
14423 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
14424 (grub_elf64_load_phdrs): Likewise.
14425
d4e2dad3 144262008-07-13 Pavel Roskin <proski@gnu.org>
14427
14428 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
14429 between signed and unsigned.
14430 (LzmaEnc_Finish): Fix warning about an unused parameter.
14431
aa24b516 144322008-07-13 Bean <bean123ch@gmail.com>
14433
14434 * Makefile.in (enable_lzo): New rule.
14435
14436 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
14437
14438 * configure.ac (ENABLE_LZO): New option --enable-lzo.
14439
14440 * boot/i386/pc/lnxboot.S: #include <config.h>.
14441
14442 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 14443 its value according to the compression algorithm used, lzo or lzma.
aa24b516 14444
14445 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
14446 compression algorithm according to configure macro.
14447
14448 * kern/i386/pc/startup.S (codestart): Likewise.
14449
14450 * kern/i386/pc/lzma_decode.S: New file.
14451
14452 * include/grub/lib/LzFind.h: Likewise.
14453
14454 * include/grub/lib/LzHash.h: Likewise.
14455
14456 * include/grub/lib/LzmaDec.h: Likewise.
14457
14458 * include/grub/lib/LzmaEnc.h: Likewise.
14459
14460 * include/grub/lib/LzmaTypes.h: Likewise.
14461
14462 * lib/LzFind.c: Likewise.
14463
14464 * lib/LzmaDec.c: Likewise.
14465
14466 * lib/LzmaEnc.c: Likewise.
14467
4ae821ac 144682008-07-13 Bean <bean123ch@gmail.com>
14469
14470 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
14471 (grub_ext4_extent_header): New structure.
14472 (grub_ext4_extent): Likewise.
14473 (grub_ext4_extent_idx): Likewise.
14474 (grub_ext4_find_leaf): New function.
14475 (grub_ext2_read_block): Handle extents.
14476
9a745147 144772008-07-12 Robert Millan <rmh@aybabtu.com>
14478
14479 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
14480
d49a4cf6 144812008-07-11 Robert Millan <rmh@aybabtu.com>
14482
14483 * util/grub.d/40_custom.in: New file. Example on how to add custom
14484 entries to /etc/grub.d.
14485 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
14486 40_custom (implicitly, by merging all the grub.d rules).
14487
947414b4 144882008-07-11 Pavel Roskin <proski@gnu.org>
14489
0059cf6f 14490 * commands/read.c (grub_getline): Fix invalid memory access.
14491 Don't add newline to the variable value.
14492
947414b4 14493 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
14494 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
14495 (serial_hw_get_port): Check validity of the port number.
14496 (grub_cmd_serial): Check return value of serial_hw_get_port().
14497
62a02d00 144982008-07-07 Pavel Roskin <proski@gnu.org>
14499
14500 * boot/i386/pc/diskboot.S (notification_string): Replace
14501 "Loading kernel" with just "loading". This is shorter, less
14502 confusing and saves a few bytes for possible future changes.
14503
3e5581b0 145042008-07-05 Pavel Roskin <proski@gnu.org>
14505
ea387a48 14506 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
14507 size for ATAPI devices, they are undefined. Output sector
14508 number in decimal form.
14509
3e5581b0 14510 * disk/ata.c: Use named constants for status bits.
14511
fdecb8fd 145122008-07-04 Pavel Roskin <proski@gnu.org>
14513
bcd35b90 14514 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
14515 grub_addr_t before casting it to the void pointer to fix a
14516 warning. Non-addressable regions are discarded earlier.
14517 (grub_arch_modules_addr): Cast _end to grub_addr_t.
14518 * kern/i386/linuxbios/table.c: Include grub/misc.h.
14519 (check_signature): Don't shadow table_header.
14520 (grub_linuxbios_table_iterate): Cast numeric constants to
14521 grub_linuxbios_table_header_t.
14522 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
14523 grub_stop().
14524
af58ab3d 14525 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
14526 prevent warnings.
14527
1759aa57 14528 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
14529 pointer, which can cause warnings. Support 64-bit addresses.
14530
fdecb8fd 14531 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
14532 of sizeof(long). This fixes PowerPC image generation on x86_64.
14533
8516d2a8 145342008-07-04 Robert Millan <rmh@aybabtu.com>
14535
14536 This fixes a performance issue when pc & gpt partmap iterators
14537 didn't abort iteration even after our hook found what it was
fe987087 14538 looking for (often causing expensive probes of non-existent drives).
8516d2a8 14539
14540 Some callers relied on previous buggy behaviour, since they would
34c44600 14541 raise an error when their own hooks caused early abortion of its
8516d2a8 14542 iteration.
14543
14544 * kern/device.c (grub_device_open): Improve error message.
14545 * disk/lvm.c (grub_lvm_open): Likewise.
14546 * disk/raid.c (grub_raid_open): Likewise.
14547
14548 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
14549 when hook requests it, independently of grub_errno.
14550 (pc_partition_map_probe): Do not fail when find_func() caused
14551 early abortion of pc_partition_map_iterate().
14552
14553 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
14554 when hook requests it, independently of grub_errno.
14555 (gpt_partition_map_probe): Do not fail when find_func() caused
14556 early abortion of gpt_partition_map_iterate().
14557
14558 * kern/partition.c (grub_partition_iterate): Abort parent iteration
14559 when hook requests it, independently of grub_errno. Do not fail when
14560 part_map_iterate_hook() caused early abortion of p->iterate().
14561
14562 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
14563 when grub_partition_iterate() returned with non-zero.
14564
277d0de9 145652008-07-03 Pavel Roskin <proski@gnu.org>
14566
14567 * disk/ata.c (grub_ata_pio_write): Check status before writing,
14568 like we do in grub_ata_pio_read().
14569 (grub_ata_readwrite): Always write individual sectors. Fix the
14570 sector count for the remainder.
14571 (grub_ata_write): Enable writing to ATA devices. Correctly
14572 report error for ATAPI devices.
14573
d4c9b428 145742008-07-02 Pavel Roskin <proski@gnu.org>
14575
e43fc690 14576 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
14577 warning.
14578
f707af42 14579 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
14580 for every read sector, we already increment it for the whole
14581 batch. This fixes reading more than 256 sectors at once.
14582
11e16b15 14583 * util/grub-editenv.c (cmd_info): Cast argument to long
14584 explicitly. ptrdiff_t reduces to int on i386.
14585
cbabfdd4 14586 * util/grub-editenv.c (main): Be specific which parameter is
14587 missing.
14588
b8fbce0a 14589 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
14590 (memdisk): Make memdisk_orig_addr a pointer.
14591
c9c8e606 14592 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
14593 for file offsets, use grub_off_t instead. Fix printf format
14594 warnings.
14595
ca62e598 14596 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
14597 there. Real unexpected warnings should not drown in the noise
14598 about known problems.
14599
ce8d1766 14600 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
14601 grub_disk_addr_t for memory addresses.
14602
00c7a56a 14603 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
14604 explicitly to fix a warning.
14605
08d3ef09 14606 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
14607
cb71ba20 14608 * Makefile.in (MODULE_LDFLAGS): New variable.
14609 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
14610 the linker accepts --build-id=none.
14611 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
14612 MODULE_LDFLAGS.
14613 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
14614
d4c9b428 14615 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
14616 those in Linux XFS code. Provide a way to access 64-bit parent
14617 inode.
14618 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
14619 the end of struct grub_xfs_dir_header.
14620
d4156eee 146212008-07-02 Bean <bean123ch@gmail.com>
14622
14623 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
14624 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
14625 and GRUB_IEEE1275_FLAG_NO_ANSI.
14626
14627 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
14628 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
14629 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
14630
14631 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
14632 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
14633
14634 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
14635 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
14636
14637 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
14638 esc sequence on non ANSI terminal.
14639 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
14640
14641 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
14642 beginning of file.
14643
2270f77b 146442008-07-02 Bean <bean123ch@gmail.com>
14645
14646 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
14647 (grub_editenv_SOURCES): New variable.
14648 (pkglib_MODULES): Add loadenv.mod.
14649 (loadenv_mod_SOURCES): New variable.
14650 (loadenv_mod_CFLAGS): Likewise.
14651 (loadenv_mod_LDFLAGS): Likewise.
14652
14653 * include/grub/envblk.h: New file.
14654
14655 * util/envblk.c: New file.
14656
14657 * util/grub-editenv.c: New file.
14658
14659 * commands/loadenv.c: New file.
14660
0e9e51ec 146612008-07-01 Pavel Roskin <proski@gnu.org>
14662
d89b7634 14663 * include/multiboot2.h (struct multiboot_tag_module): Use char,
14664 not unsigned char. This fixes warnings and is consistent with
14665 other tags.
14666
bf1835b1 14667 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
14668
8222a04b 14669 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
14670
6a42d99d 14671 * term/tparm.c (analyze): Always set *popcount.
14672
10b159d1 14673 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
14674 cast to fix a warning.
14675
b8789f6c 14676 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
14677 cast to suppress a warning.
14678
29d7e38a 14679 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
14680 grub_fshelp_read_file() expects.
14681
f341f669 14682 * fs/fat.c: Fix UUID calculation on big-endian systems. We
14683 write uuid as a 32-bit value in CPU byte order, so declare and
14684 use it as such.
14685
0e9e51ec 14686 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
14687 long if the format specifier expects it.
14688 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
14689 * partmap/pc.c (pc_partition_map_iterate): Likewise.
14690 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
14691 long to fix a warning.
14692 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
14693 grub_dprintf() arguments to fix warnings.
14694
3aefa857 146952008-06-30 Pavel Roskin <proski@gnu.org>
14696
56c7668b 14697 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
14698 install_bsd_part immediately before core.img is embedded or
14699 modified on disk. This fixes core.img verification if core.img
14700 cannot be embedded.
14701
3aefa857 14702 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
14703 core_path to calculate the blocklist.
14704 Patch from Javier MartĂ­n <lordhabbit@gmail.com>
14705
5444088d 147062008-06-29 Robert Millan <rmh@aybabtu.com>
14707
14708 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
14709 block to disk block.
14710 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
14711 Patch from Niels Böhm <bitbucket@arcor.de>
14712
674835c8 147132008-06-29 Robert Millan <rmh@aybabtu.com>
14714
14715 * util/update-grub_lib.in (font_path): Search for fonts in
14716 /boot/grub first, which is more likely to be readable (we aren't
14717 deciding where fonts live, just looking for them).
14718
f527dbc8 147192008-06-26 Pavel Roskin <proski@gnu.org>
14720
6c2d8df6 14721 * util/biosdisk.c (read_device_map): Don't leave dead map
14722 entries for devices failing stat() check.
14723
f527dbc8 14724 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
14725 core_path_dev for the core.img path on the target device.
14726
aebe3d13 147272008-06-26 Robert Millan <rmh@aybabtu.com>
14728
14729 * disk/fs_uuid.c: New file.
14730 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
14731 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
14732 (fs_uuid_mod_LDFLAGS): New variables.
14733 * include/grub/disk.h (grub_disk_dev_id): Add
14734 `GRUB_DISK_DEVICE_UUID_ID'.
14735 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
14736 implement iterate().
14737
37aaf354 147382008-06-26 Robert Millan <rmh@aybabtu.com>
14739
14740 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
14741 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
14742 Linux image includes no initrd.
14743
25ff262a 147442008-06-21 Javier MartĂ­n <lordhabbit@gmail.com>
14745
14746 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
14747 call to resolve the core image location that effectively appended the
14748 name twice.
14749
76a2bd44 147502008-06-21 Robert Millan <rmh@aybabtu.com>
14751
14752 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
14753 call from here ...
14754
14755 * util/grub.d/10_hurd.in: ... to here ...
14756 * util/grub.d/10_linux.in: ... and here.
14757
650e1c79 147582008-06-19 Robert Millan <rmh@aybabtu.com>
14759
fe987087 14760 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 14761 after it has been set by grub_machine_set_prefix().
14762
6ce63911 147632008-06-19 Robert Millan <rmh@aybabtu.com>
14764
14765 * commands/search.c (search_label, search_fs_uuid, search_file): Print
14766 search result when not saving to variable, not the other way around.
14767 When saving to variable, abort iteration as soon as a match is found.
14768
73940cec 147692008-06-19 Robert Millan <rmh@aybabtu.com>
14770
14771 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
14772 check for partition that provides /boot/grub. Its logic is flawed,
14773 as it prevents prepare_grub_to_access_device() from being called
14774 multiple times.
14775
3c62a39d 147762008-06-19 Robert Millan <rmh@aybabtu.com>
14777
14778 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
14779 "insmod" command directly when abstraction modules are needed,
fe987087 14780 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 14781 since it had already been processed).
14782
47395a42 147832008-06-19 Pavel Roskin <proski@gnu.org>
14784
14785 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
14786 changed. This is needed in case GRUB_LIBDIR changes.
14787 * conf/i386-ieee1275.rmk: Likewise.
14788 * conf/i386-linuxbios.rmk: Likewise.
14789 * conf/i386-pc.rmk: Likewise.
14790 * conf/powerpc-ieee1275.rmk: Likewise.
14791
a145ac2d 147922008-06-18 Pavel Roskin <proski@gnu.org>
14793
14794 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
14795 kernel_elf_symlist.c to symlist.c for consistency with other
14796 architectures. Update all users.
14797 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
14798
7847c51e 147992008-06-18 Robert Millan <rmh@aybabtu.com>
14800
14801 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
14802 it in prefix.
14803
14804 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
14805 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
14806 a RAID device, run setup() for all members independently on whether
14807 LVM abstraction is being used.
14808 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
14809 If grub-mkimage has set `*install_dos_part == -2', don't override this
14810 value.
14811 Perform *install_dos_part adjustments independently on whether
14812 we're embedding or not.
14813 Clarify error message when image is too big for embedding.
14814 Remove duplicate *install_dos_part stanza.
14815
b23e5644 148162008-06-17 Robert Millan <rmh@aybabtu.com>
14817
14818 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
14819 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
14820 variables.
14821 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
14822 values in grub_ofconsole_normal_color and
14823 grub_ofconsole_highlight_color (they're not directly related to
14824 background and foreground).
14825 (grub_ofconsole_setcolorstate): Extract background and foreground
14826 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
14827
0aac2f79 148282008-06-17 Robert Millan <rmh@aybabtu.com>
14829
14830 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
14831 /boot/grub for the check in last commit, not /boot (they could be
14832 different partitions).
14833
3cca7ef3 148342008-06-16 Robert Millan <rmh@aybabtu.com>
14835
14836 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
14837 asked to setup access for the same partition that provides /boot,
14838 don't bother using UUIDs since our root already has the value we
14839 want.
14840
347396d8 148412008-06-16 Robert Millan <rmh@aybabtu.com>
14842
14843 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
14844 I2O devices.
14845 Patch from Sven Mueller <sven@debian.org>.
14846
991477f8 148472008-06-16 Robert Millan <rmh@aybabtu.com>
14848
14849 * util/update-grub.in: Check for $EUID instead of $UID.
14850 Reported by Vincent Zweije.
14851
d31a32a1 148522008-06-16 Bean <bean123ch@gmail.com>
14853
fe987087 14854 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 14855 (grub_ext2_read_block): Likewise.
14856 (grub_ext2_read_inode): Likewise.
14857 (grub_ext2_mount): Likewise.
14858 (grub_ext2_close): Likewise.
14859 (grub_ext3_get_journal): Removed.
14860
fe987087 14861 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 14862 (grub_reiserfs_read_symlink): Likewise.
14863 (grub_reiserfs_mount): Likewise.
14864 (grub_reiserfs_open): Likewise.
14865 (grub_reiserfs_read): Likewise.
14866 (grub_reiserfs_close): Likewise.
14867 (grub_reiserfs_get_journal): Removed.
14868
14869 * fs/fshelp.c (grub_fshelp_read): Removed.
14870 (grub_fshelp_map_block): Likewise.
14871
14872 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
14873 (grub_fshelp_journal): Likewise.
14874 (grub_fshelp_read): Likewise.
14875 (grub_fshelp_map_block): Likewise.
14876
3540a760 148772008-06-16 Pavel Roskin <proski@gnu.org>
14878
14879 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
14880 floating point anymore.
14881 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
14882
95614c84 148832008-06-15 Pavel Roskin <proski@gnu.org>
14884
14885 * commands/ls.c (grub_ls_list_files): Use integer calculations
14886 for human readable format, avoid floating point use.
14887 * kern/misc.c (grub_ftoa): Remove.
14888 (grub_vsprintf): Remove floating point support.
14889
50465dd6 148902008-06-15 Robert Millan <rmh@aybabtu.com>
14891
fe6b695a 14892 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 14893 devices.
14894 Reported by Max Vozeler.
14895
a9207284 148962008-06-15 Robert Millan <rmh@aybabtu.com>
14897
14898 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
14899 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
14900 skipped later.
14901 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
14902 the beginning of the prefix.
14903
14904 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
14905 It is assumed that if we have a memdisk, grub-mkimage has set
14906 grub_prefix to include the "(memdisk)" drive in it.
14907
a7cbd45a 149082008-06-15 Robert Millan <rmh@aybabtu.com>
14909
14910 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
14911 Initialize keyboard controller after registering the terminal, so that
14912 grub_printf() can be called from grub_keyboard_controller_init().
14913
21cf716a 149142008-06-15 Robert Millan <rmh@aybabtu.com>
14915
14916 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
14917 extent-btree which is written as big endian on disk.
14918 Reported by Alain Greppin <al@chilibi.org>.
14919
23a64d8e 149202008-06-14 Robert Millan <rmh@aybabtu.com>
14921
14922 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
14923 * util/i386/pc/grub-install.in (modules): Likewise.
14924
d687651c 149252008-06-13 Pavel Roskin <proski@gnu.org>
14926
14927 * commands/ls.c (grub_ls_list_files): Fix format warnings.
14928
dfe9ddd4 149292008-06-13 Bean <bean123ch@gmail.com>
14930
14931 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
14932
14933 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
14934
14935 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
14936 to indicate sparse block.
14937
16ae7781 149382008-06-12 Pavel Roskin <proski@gnu.org>
14939
e6d1a308 14940 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
14941 number, grub_fshelp_read() does it for us.
14942
16ae7781 14943 * fs/fshelp.c (grub_fshelp_read): New function. Implement
14944 linear disk read with journal translation.
14945 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
14946 * include/grub/fshelp.h: Declare grub_fshelp_read().
14947
40fd3a2b 149482008-06-09 Pavel Roskin <proski@gnu.org>
14949
14950 * fs/minix.c (grub_minix_mount): Handle error reading
14951 superblock.
14952
f5679726 149532008-06-08 Robert Millan <rmh@aybabtu.com>
14954
14955 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
14956 don't append the RAID prefix afterwards.
14957 Reported by Clint Adams.
14958
ce525529 149592008-06-08 Robert Millan <rmh@aybabtu.com>
14960
14961 Based on description from Pavel:
14962 * kern/disk.c (grub_disk_check_range): Rename to ...
14963 (grub_disk_adjust_range): ... this. Add a comment explaining the
14964 tasks performed by this function.
14965
ad4936a0 149662008-06-08 Robert Millan <rmh@aybabtu.com>
14967
14968 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
14969 `num_serial' (for consistency with other variables).
14970 (struct grub_ntfs_data): Add `uuid' member.
14971 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
14972 (grub_ntfs_uuid): New function.
14973 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
14974
dc20b0f9 149752008-06-07 Pavel Roskin <proski@gnu.org>
14976
14977 * util/biosdisk.c (open_device): Revert last change to the
14978 function, it broke installation. The sector needs to be
14979 different dependent on which device is opened.
14980
c5e3cfba 149812008-06-06 Robert Millan <rmh@aybabtu.com>
14982
14983 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
14984 rest of GRUB, and breakage doesn't happen if its value were modified.
14985
14986 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
14987 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
14988 a constant (same value).
14989 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
14990 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
14991
26a1f8c4 149922008-06-06 Robert Millan <rmh@aybabtu.com>
14993
14994 * util/biosdisk.c (open_device): Do not modify sector offset when
14995 accessing a partition. kern/disk.c already handles this for us.
14996
25d6b327 149972008-06-06 Robert Millan <rmh@aybabtu.com>
14998
14999 * util/grub-emu.c (grub_machine_init): Move code in this function from
15000 here ...
15001 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
15002 segfault in case grub_printf() is called).
15003
15004 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
15005 grub_probe. Update all users not to explicitly add it again.
15006 (grub_device): New variable; contains corresponding device for grubdir.
15007 (fs_module, partmap_module, devabstraction_module): Pass
15008 `--device ${grub_device}' to grub_probe to avoid traversing /dev
15009 every time.
15010
9ece62fb 150112008-06-05 Robert Millan <rmh@aybabtu.com>
15012
15013 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
15014 is found, print it (same layout as with labels).
15015
1ad36d37 150162008-06-04 Robert Millan <rmh@aybabtu.com>
15017
15018 * util/biosdisk.c (get_drive): Rename to ...
15019 (find_grub_drive): ... this. Update all users.
15020
15021 (get_os_disk): Rename to ...
15022 (convert_system_partition_to_system_disk): ... this. Update all users.
15023
15024 (find_drive): Rename to ...
15025 (find_system_device): ... this. Update all users.
15026
e6a30859 150272008-06-04 Robert Millan <rmh@aybabtu.com>
15028
15029 * util/biosdisk.c (get_os_disk): Handle IDA devices.
15030 * util/grub-mkdevicemap.c (get_mmc_disk_name)
15031 (make_device_map): Likewise.
15032
00c108a4 150332008-06-01 Robert Millan <rmh@aybabtu.com>
15034
15035 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
15036 before dereferencing it.
15037
15038 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
15039 union with fat12/fat16-specific ones. Add some new fields, including
15040 `num_serial' for both versions.
15041 (struct grub_fat_data): Add `uuid' member.
15042 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
15043 names. Initialize `data->uuid' using `num_serial'.
15044 (grub_fat_uuid): New function.
15045 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
15046
15047 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
15048 (grub_reiserfs_uuid): New function.
15049 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
15050 member.
15051
15052 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
15053 (grub_xfs_uuid): New function.
15054 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
15055
1385c5bb 150562008-06-01 Robert Millan <rmh@aybabtu.com>
15057
15058 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
15059 code that is backward compatible with pre-uuid search command.
15060
c682dfd7 150612008-05-31 Robert Millan <rmh@aybabtu.com>
15062
15063 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
15064 floppies after everything else, to ensure floppy drive isn't accessed
15065 unnecessarily (patch from Bean).
15066
b7db5d47 150672008-05-31 Robert Millan <rmh@aybabtu.com>
15068
15069 * commands/search.c (search_label, search_fs_uuid, search_file): Do
15070 not print device names when we were asked to set a variable.
15071
6e037aa9 150722008-05-31 Robert Millan <rmh@aybabtu.com>
15073
15074 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
15075 using "cursor-on" and "cursor-off" commands (understood at least by
15076 the Open Firmware flavour on OLPC).
15077
41305bc8 150782008-05-31 Michael Gorven <michael@gorven.za.net>
15079
15080 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
15081 on and off sequences.
15082
69ba137e 150832008-05-31 Robert Millan <rmh@aybabtu.com>
15084
15085 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
15086 * util/update-grub.in: Likewise.
15087
520ae21b 150882008-05-30 Pavel Roskin <proski@gnu.org>
15089
15090 * util/biosdisk.c (linux_find_partition): Simplify logic and
15091 make the code more universal. Keep special processing for
15092 devfs, but use a simple rule for all other devices. If the
15093 device ends with a number, append 'p' and the partition number.
15094 Otherwise, append only the partition number.
15095
5786569b 150962008-05-30 Robert Millan <rmh@aybabtu.com>
15097
15098 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
15099 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
15100 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
15101 the `root' parameter to Linux.
15102
51500452 151032008-05-30 Robert Millan <rmh@aybabtu.com>
15104
15105 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
15106 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
15107 --fs_uuid with --fs-uuid.
15108 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
15109 all filesystems support them).
15110
811d3878 151112008-05-30 Robert Millan <rmh@aybabtu.com>
15112
15113 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 15114 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 15115
cab63c95 151162008-05-30 Robert Millan <rmh@aybabtu.com>
15117
15118 * util/grub.d/00_header.in: Remove obsolete comment referencing
15119 convert_system_path_to_grub_path().
15120 * util/update-grub.in: Likewise.
15121 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
15122 (convert_system_path_to_grub_path): Add a warning message explaining
15123 that this function is deprecated. Rely on is_path_readable_by_grub()
15124 for the readability checks.
15125 (font_path): Use is_path_readable_by_grub() for the readability
15126 check rather than convert_system_path_to_grub_path().
15127
972e2f7a 151282008-05-30 Robert Millan <rmh@aybabtu.com>
15129
15130 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
15131 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
15132 converting it first.
15133 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
15134 grub.cfg for access to font file, and afterwards call it again to set
15135 the root device.
15136
62191274 151372008-05-30 Robert Millan <rmh@aybabtu.com>
15138
15139 * commands/search.c (options): Add --fs_uuid option.
15140 (search_fs_uuid): New function.
15141 (grub_cmd_search): Fix --set argument passing.
15142 Use search_fs_uuid() when requested via --fs_uuid.
15143 (grub_search_init): Update help message.
15144 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
15145 and redeclare it as an array of 16-bit words.
15146 (grub_ext2_uuid): New function.
15147 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
15148 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
15149 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
15150 (GRUB_DEVICE_BOOT_UUID): New variables.
15151 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
15152 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
15153 whenever possible.
15154 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
15155 just assume `root' variable has the right value.
15156 * util/grub.d/10_linux.in: Likewise.
15157 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
15158 via PRINT_FS_UUID.
15159 (main): Recognise `-t fs_uuid' argument.
15160
01b73ec8 151612008-05-30 Robert Millan <rmh@aybabtu.com>
15162
15163 * util/biosdisk.c (map): Redefine structure to hold information
15164 about GRUB drive name.
fe6b695a 15165 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 15166 drive names.
15167 (call_hook): Remove.
15168 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
15169 member. Assume drive has partitions.
15170 (grub_util_biosdisk_open): Access device names via `.device' struct
15171 member.
15172 (open_device): Likewise.
15173 (find_drive): Likewise.
15174 (read_device_map): Adjust map[] usage to match the new struct
15175 definition. Don't check for duplicates (still possible, but not cheap
15176 anymore).
15177 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
15178 (make_device_name): Remove assumption of BIOS-like drive names.
15179
22f16596 151802008-05-30 Pavel Roskin <proski@gnu.org>
15181
15182 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
15183 compiling execute.c doesn't need grub_script.tab.h anymore.
15184 (normal/command.c_DEPENDENCIES): Likewise.
15185 (normal/function.c_DEPENDENCIES): Likewise.
15186 * conf/i386-ieee1275.rmk: Likewise.
15187 * conf/i386-linuxbios.rmk: Likewise.
15188 * conf/i386-pc.rmk: Likewise.
15189 * conf/powerpc-ieee1275.rmk: Likewise.
15190 * conf/sparc64-ieee1275.rmk: Likewise.
15191
528ad8f2 151922008-05-29 Pavel Roskin <proski@gnu.org>
15193
d1dff95d 15194 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
15195 when scanning metadata for volume group name.
15196
528ad8f2 15197 * include/grub/script.h: Don't include grub_script.tab.h. It's
15198 a generated file, which may only be included from the files with
15199 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
15200 use union YYSTYPE, as the later allows forward declaration.
15201 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
15202
47248e08 152032008-05-29 Robert Millan <rmh@aybabtu.com>
15204
15205 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
15206 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
15207 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
15208 (grub_console_checkkey): Add grub_dprintf() call to report unknown
15209 scan codes.
15210
ee632529 152112008-05-29 Robert Millan <rmh@aybabtu.com>
15212
15213 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
15214 control key combinations.
15215
eee96e08 152162008-05-29 Robert Millan <rmh@aybabtu.com>
15217
15218 * util/powerpc/ieee1275/grub-install.in: Move from here ...
15219 * util/ieee1275/grub-install.in: ... to here.
15220 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
15221 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
15222 (grub_install_SOURCES): Likewise.
15223
da9a6a94 152242008-05-29 Robert Millan <rmh@aybabtu.com>
15225
15226 * fs/affs.c: Update copyright year.
15227 * fs/ext2.c: Likewise.
15228 * fs/fshelp.c: Likewise.
15229 * fs/hfsplus.c: Likewise.
15230 * fs/ntfs.c: Likewise.
15231 * fs/xfs.c: Likewise.
15232 * include/grub/fshelp.h: Likewise.
15233 * util/grub-mkdevicemap.c: Likewise.
15234
12e65f3a 152352008-05-28 Robert Millan <rmh@aybabtu.com>
15236
15237 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
15238 might need to be fatfs to support some firmware implementations
15239 (e.g. OFW or EFI).
15240
23023641 152412008-05-28 Robert Millan <rmh@aybabtu.com>
15242
15243 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
15244 devices.
15245 * util/grub-mkdevicemap.c (get_mmc_disk_name)
15246 (make_device_map): Likewise.
15247
887d2619 152482008-05-20 Bean <bean123ch@gmail.com>
15249
15250 * fs/fshelp.c (grub_fshelp_map_block): New function.
15251 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
15252 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
15253
15254 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
15255 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
15256 (grub_fshelp_journal): New structure.
15257 (grub_fshelp_map_block): New function prototype.
15258 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
15259 (grub_fshelp_map_block): Likewise.
15260
15261 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
15262 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
15263 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
15264 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
15265 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
15266 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
15267 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
15268 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
15269 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
15270 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
15271 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
15272 (grub_ext2_sblock): New members for journal support.
15273 (grub_ext3_journal_header): New structure.
15274 (grub_ext3_journal_revoke_header): Likewise.
15275 (grub_ext3_journal_block_tag): Likewise.
15276 (grub_ext3_journal_sblock): Likewise.
15277 (grub_fshelp_node): New members logfile and journal.
15278 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
15279 grub_fshelp_map_block to get real block number.
15280 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
15281 number.
15282 (grub_ext2_read_inode): Likewise.
15283 (grub_ext3_get_journal): New function.
15284 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
15285 (grub_ext2_close): Release memory used by journal.
15286
15287 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
15288 (REISERFS_MAGIC_DESC_BLOCK): New macro.
15289 (grub_reiserfs_transaction_header): Renamed to
15290 grub_reiserfs_description_block, replace field data with real_blocks.
15291 (grub_reiserfs_commit_block): New structure.
15292 (grub_reiserfs_data): New member journal.
15293 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
15294 number.
15295 (grub_reiserfs_read_symlink): Likewise.
15296 (grub_reiserfs_iterate_dir): Likewise.
15297 (grub_reiserfs_open): Likewise.
15298 (grub_reiserfs_read): Likewise.
15299 (grub_reiserfs_get_journal): New function.
15300 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
15301 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
15302 using grub_reiserfs_get_journal.
15303 (grub_reiserfs_close): Release memory used by journal.
15304
15305 * fs/affs.c (grub_affs_read_block): Change block type to
15306 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
15307
15308 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
15309
15310 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
15311
15312 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
15313
15314 * fs/udf.c (grub_udf_read_block): Change block type to
15315 grub_disk_addr_t. Use type cast to avoid warning.
15316
15317 * fs/xfs.c (grub_xfs_read_block): Likewise.
15318
b7c6bed5 153192008-05-16 Christian Franke <franke@computer.org>
15320
15321 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
15322 to ensure that break with ESC will always work.
15323 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
15324 Remove ESC from keyboard queue.
15325
eedf167f 153262008-05-16 Christian Franke <franke@computer.org>
15327
15328 * util/biosdisk.c: [__CYGWIN__] Add includes.
15329 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
15330 (get_os_disk): Move variable declarations to OS specific
15331 parts to avoid warning.
15332 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
15333 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
15334 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
15335 Cygwin.
15336 * util/getroot.c: [__CYGWIN__] Add includes.
15337 (strip_extra_slashes): Fix "/" case.
15338 [__CYGWIN__] (get_win32_path): New function.
15339 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
15340 [__CYGWIN__] (find_root_device): Disable.
15341 [__CYGWIN__] (get_bootsec_serial): New function.
15342 [__CYGWIN__] (find_cygwin_root_device): Likewise.
15343 [__linux__] (grub_guess_root_device): Add early returns to simplify
15344 structure.
15345 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
15346 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
15347 check for Linux only.
15348
a079699e 153492008-05-15 Bean <bean123ch@gmail.com>
15350
15351 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
15352 keyboard hang problem in apple's intel mac.
15353
1cf4059a 153542008-05-09 Robert Millan <rmh@aybabtu.com>
15355
15356 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
15357 devices.
15358 * util/grub-mkdevicemap.c (get_virtio_disk_name)
15359 (make_device_map): Likewise.
15360 Reported by Aurelien Jarno <aurel32@debian.org>
15361
ed759390 153622008-05-07 Ian Campbell <ijc@hellion.org.uk>
15363
15364 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
15365 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
15366 (make_device_map): Output entries for xvd type disks.
15367
b56c4eaa 153682008-05-07 Robert Millan <rmh@aybabtu.com>
15369
15370 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
15371 devices.
15372 * util/grub-mkdevicemap.c (get_cciss_disk_name)
15373 (make_device_map): Likewise.
15374 Reported by Roland Dreier <rdreier@cisco.com>
15375
7f8866ed 153762008-05-07 Robert Millan <rmh@aybabtu.com>
15377
15378 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
15379 grub_strstr() call. Correct a few mistakes in failure path handling.
15380
b0346e0f 153812008-05-06 Robert Millan <rmh@aybabtu.com>
15382
15383 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
15384 Do not print a trailing slash (therefore, the root directory is an
15385 empty string).
15386 (convert_system_path_to_grub_path): Do not remove trailing slash
15387 from make_system_path_relative_to_its_root() output.
15388
15389 * util/i386/pc/grub-install.in: Add trailing slash to output from
15390 make_system_path_relative_to_its_root().
15391
6cf12cbd 153922008-05-06 Robert Millan <rmh@aybabtu.com>
15393
15394 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
15395 ensures that output lines aren't intermangled with those sent to
15396 stderr (via grub_util_info()).
15397 * util/grub-probe.c (grub_refresh): Likewise.
15398 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
15399
0fbb3117 154002008-05-05 Christian Franke <franke@computer.org>
15401
15402 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
15403 Add Cygwin device names.
15404 (get_ide_disk_name) [__CYGWIN__]: Likewise.
15405 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
15406 (check_device): Return error instead of success on empty name.
15407 (make_device_map): Move label inside linux specific code to
15408 prevent compiler warning.
15409
8124cdb7 154102008-04-30 Robert Millan <rmh@aybabtu.com>
15411
15412 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
15413 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
15414 first boot option.
15415 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
15416
094c01d0 154172008-04-29 Robert Millan <rmh@aybabtu.com>
15418
15419 * docs/grub.cfg: New file (example GRUB configuration).
15420
f4b1fc02 154212008-04-26 Robert Millan <rmh@aybabtu.com>
15422
329ce2a5 15423 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
15424 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
15425 and `disk/ieee1275/nand.c'.
f4b1fc02 15426
25f16ec1 154272008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 15428
25f16ec1 15429 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
15430 i386-linuxbios.
15431
15432 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
15433 change the buffer size to 4096 for cdrom device.
15434
15435 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
15436 and nand.mod.
15437 (_linux_mod_SOURCES): New variable.
15438 (_linux_mod_CFLAGS): Likewise.
15439 (_linux_mod_LDFLAGS): Likewise.
15440 (linux_mod_SOURCES): Likewise.
15441 (linux_mod_CFLAGS): Likewise.
15442 (linux_mod_LDFLAGS): Likewise.
15443 (nand_mod_SOURCES): Likewise.
15444 (nand_mod_CFLAGS): Likewise.
15445 (nand_mod_LDFLAGS): Likewise.
15446
15447 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
15448 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
15449 type property. (nand device in olpc don't have this property)
15450
15451 * include/grub/disk.h (grub_disk_dev_id): New macro
15452 GRUB_DISK_DEVICE_NAND_ID.
15453
15454 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
15455 function prototype.
15456 (grub_rescue_cmd_initrd): Likewise.
15457
15458 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
15459 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
15460 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 15461
25f16ec1 15462 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
15463 GRUB_MACHINE_IEEE1275 is defined.
15464
15465 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
15466 Use NESTED_FUNC_ATTR attribute on the hook parameter.
15467
15468 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
15469 on nested function heap_init.
15470 (grub_upper_mem): New variable for i386-ieee1275.
15471 (grub_get_extended_memory): New function for i386-ieee1275.
15472 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
15473
15474 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
15475 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
15476 property.
f19dbdb7 15477
25f16ec1 15478 * loader/i386/ieee1275/linux.c: New file.
15479
15480 * loader/i386/ieee1275/linux_normal.c: New file.
15481
15482 * disk/ieee1275/nand.c: New file.
15483
e89d61e9 154842008-04-18 Thomas Schwinge <tschwinge@gnu.org>
15485
15486 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
15487 value.
15488 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
15489
602566f6 154902008-04-18 Robert Millan <rmh@aybabtu.com>
15491
15492 Restructures early code path on ieee1275 to unify grub_main() as
15493 the first C function that is executed in every platform.
15494
15495 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
15496 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
15497 cmain().
15498 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
15499 * kern/ieee1275/cmain.c (cmain): Rename to ...
15500 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
15501 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
15502 at the beginning.
15503
57490c2b 155042008-04-18 Robert Millan <rmh@aybabtu.com>
15505
15506 * util/update-grub.in: Fix syntax error when setting
15507 `GRUB_PRELOAD_MODULES'.
15508 Reported by Stephane Chazelas <stephane@artesyncp.com>
15509
1977517d 155102008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
15511
15512 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
15513 section into account, newer toolchains generate unique build ids
15514 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 15515 we want build ids to be preserved
1977517d 15516 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
15517 far from other sections don't cause the raw binary images grow
15518 size
15519
bfb1f1a2 155202008-04-15 Robert Millan <rmh@aybabtu.com>
15521
15522 * disk/lvm.c: Update copyright year.
15523 * kern/misc.c: Likewise.
15524
01979850 155252008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
15526
15527 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 15528 there is no memory left for physical volume name.
01979850 15529
0a1150e2 155302008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
15531
15532 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
15533 volume name mapping to support bigger than 9 character names properly.
15534
82ead3fe 155352008-04-13 Robert Millan <rmh@aybabtu.com>
15536
15537 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
15538 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
15539
e54a72f5 155402008-04-13 Christian Franke <franke@computer.org>
15541
15542 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
15543 to create a floppy emulation boot CD when non emulation mode
15544 does not work.
15545 Enable Joliet CD filesystem extension.
15546
9fe86034 155472008-04-13 Robert Millan <rmh@aybabtu.com>
15548
15549 * kern/misc.c (grub_strncat): Fix off-by-one error.
15550 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
15551
15552 * kern/env.c (grub_env_context_close): Clear current context, not
15553 previous one.
15554 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
15555
15556 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
15557
7ceeee39 155582008-04-13 Robert Millan <rmh@aybabtu.com>
15559
15560 Improve robustness when handling LVM.
15561
15562 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 15563 (and leave `*p' unmodified).
7ceeee39 15564 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
15565 through it.
15566 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
15567 iterating through it.
15568 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
15569 through it.
fe6b695a 15570 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 15571 when due) on each grub_lvm_getvalue() or grub_strstr() call.
15572 Don't assume `vg->pvs != NULL' when iterating through it.
15573
58cd3d85 155742008-04-13 Robert Millan <rmh@aybabtu.com>
15575
15576 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
15577 * genmk.rb (partmap): New variable.
15578 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
15579 (#{partmap}): New target rule.
15580 * genpartmaplist.sh: New file.
15581 * Makefile.in (pkglib_DATA): Add partmap.lst.
15582 (partmap.lst): New target rule.
15583 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
15584 modules (including all partition maps), instead of preloading them.
15585
78b51059 155862007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
15587
15588 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
15589 `linux-boot-prober' (if installed) to detect other operating
15590 systems which are installed on the computer and add them to
15591 the boot menu.
15592 * conf/common.rmk: Build and install 30_os-prober.
15593
a91627b4 155942008-04-12 Robert Millan <rmh@aybabtu.com>
15595
15596 * kern/powerpc/ieee1275/init.c: Move from here ...
15597 * kern/ieee1275/init.c: ... to here. Update all users.
15598
15599 * kern/powerpc/ieee1275/cmain.c: Move from here ...
15600 * kern/ieee1275/cmain.c: ... to here. Update all users.
15601
15602 * kern/powerpc/ieee1275/openfw.c: Move from here ...
15603 * kern/ieee1275/openfw.c: ... to here. Update all users.
15604
15605 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
15606 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
15607
322562ea 156082008-04-10 Pavel Roskin <proski@gnu.org>
15609
15610 * configure.ac: Always use "_cv_" in cache variables for
15611 compatibility with Autoconf 2.62.
15612
a02a73c5 156132008-04-07 Robert Millan <rmh@aybabtu.com>
15614
15615 Revert grub/machine/init.h addition by Pavel (since it breaks on
15616 i386-ieee1275 and others):
15617 * util/i386/pc/misc.c: Remove grub/machine/init.h.
15618 * util/powerpc/ieee1275/misc.c: Likewise.
15619
25c024b1 156202008-04-07 Robert Millan <rmh@aybabtu.com>
15621
15622 * util/grub-probe.c (probe): Improve error message.
15623
3cbd2f98 156242008-04-07 Robert Millan <rmh@aybabtu.com>
15625
15626 * util/biosdisk.c (read_device_map): Skip devices that don't exist
15627 (this prevents the presence of a bogus entry from ruining the whole
15628 thing).
15629
87a297bf 156302008-04-06 Pavel Roskin <proski@gnu.org>
15631
36747a62 15632 * util/biosdisk.c: Include grub/util/biosdisk.h.
15633 * util/grub-fstest.c (execute_command): Make static.
15634 * util/grub-mkdevicemap.c (check_device): Likewise.
15635 * util/i386/pc/misc.c: Include grub/machine/init.h.
15636 * util/powerpc/ieee1275/misc.c: Likewise.
15637 * util/lvm.c: Include grub/util/lvm.h.
15638 * util/misc.c: Include grub/kernel.h, grub/misc.h and
15639 grub/cache.h.
15640 * util/raid.c: Include grub/util/raid.h.
15641 (grub_util_getdiskname): Make static.
15642
87a297bf 15643 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
15644 grub_hostfs_fini(), as they are called from grub_init_all() and
15645 grub_fini_all() respectively. This fixes an infinite loop in
15646 grub-fstest due to double registration of hostfs.
15647 Reported by Christian Franke <Christian.Franke@t-online.de>
15648
f6ce7629 156492008-04-05 Pavel Roskin <proski@gnu.org>
15650
15651 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
15652 all 8 functions. Otherwise, probe function 0 only.
15653
070e49e4 156542008-04-04 Pavel Roskin <proski@gnu.org>
15655
8b088a4c 15656 * commands/lspci.c (grub_lspci_iter): Print the bus number
15657 correctly.
15658
4f657021 15659 * commands/lspci.c (grub_pci_classes): Fix typos.
15660 (grub_lspci_iter): Don't print func twice. Print vendor ID
15661 before device ID, as it's normally done.
15662
070e49e4 15663 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
15664 Fix signedness warnings.
15665 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
15666 Likewise.
15667 * util/ieee1275/get_disk_name.c: Include config.h so that
15668 _GNU_SOURCE is defined and getline() is declared. Mark an
15669 unused argument as such. Fix a signedness warning.
15670
ba7328dc 156712008-04-02 Pavel Roskin <proski@gnu.org>
15672
26887f22 15673 * genkernsyms.sh.in: Use more robust assignments for CC and
15674 srcdir. Quote srcdir.
15675 * gensymlist.sh.in: Likewise. Assert at the compile time that
15676 the symbol table is not empty.
15677
ba7328dc 15678 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
15679 * fs/cpio.c (grub_cpio_read): Likewise.
15680
0f582c6b 156812008-04-01 Pavel Roskin <proski@gnu.org>
15682
4b6e1995 15683 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
15684 * disk/host.c (grub_host_open): Likewise.
15685 * disk/loopback.c (grub_loopback_open): Likewise.
15686 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
15687 disk->id as in disk/host.c, not a multi-character constant.
15688
828a2768 15689 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
15690 later is obsolete, potentially dangerous and sets a bad example.
15691 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
15692 * util/misc.c (grub_util_get_image_size): Likewise.
15693
2bb4fb47 15694 * disk/loopback.c (options): Improve help for "--partitions".
15695
0f582c6b 15696 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
15697 options to align them with the short options, e.g. "echo -e".
15698
a33224e0 156992008-03-31 Bean <bean123ch@gmail.com>
15700
15701 * video/reader/png.c (grub_png_data): New member is_16bit and
15702 image_data.
15703 (grub_png_decode_image_header): Detect 16 bit png image.
15704 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
15705 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
15706 (grub_video_reader_png): Release memory occupied by image_data.
15707
15708 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
15709 4096 bytes.
15710 (grub_nfs_mount): Skip the test for sector per cluster.
15711
15712 * include/grub/ntfs.h (MAX_SPC): Removed.
15713
86cb4f54 157142008-03-31 Bean <bean123ch@gmail.com>
15715
15716 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
15717 (grub_probe_SOURCES): Add fs/afs.c.
15718 (grub_fstest_SOURCES): Likewise.
15719 (afs_mod_SOURCES): New variable.
15720 (afs_mod_CFLAGS): Likewise.
15721 (afs_mod_LDFLAGS): Likewise.
15722
15723 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
15724 (grub_emu_SOURCES): Likewise.
15725
15726 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15727
15728 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15729
15730 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
15731
15732 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15733
15734 * fs/afs.c: New file.
15735
17c74c21 157362008-03-30 Pavel Roskin <proski@gnu.org>
15737
4cb68e89 15738 * disk/host.c: Include grub/misc.h to fix a warning.
15739 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
15740 warnings about implicit declarations.
15741
8790bb04 15742 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
15743 variable.
15744 * include/grub/i386/loader.h: Change declaration of
15745 grub_linux_boot() to match what grub_loader_set() expects.
15746 * util/getroot.c (grub_guess_root_device): Return const char* to
15747 fix a warning.
15748 * util/grub-probe.c (probe): Fix a warning about uninitialized
15749 abstraction_name variable.
15750 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
15751 second argument as unused to fix a warning.
15752
9a3f3296 15753 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
15754 missing grub_error() call.
15755
0ecef90d 15756 * util/update-grub_lib.in: Define datarootdir, since Autoconf
15757 2.60 and newer uses it to define datadir.
15758
0bf6d401 15759 * commands/sleep.c: Fix warning about implicit declaration.
15760 * disk/memdisk.c: Likewise.
15761 * loader/aout.c: Likewise.
15762 * loader/i386/bsd_normal.c: Likewise.
15763 * util/grub-probe.c: Likewise.
15764
7cdacf97 15765 * commands/i386/cpuid.c (has_longmode): Make static.
15766 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
15767 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
15768
17c74c21 15769 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
15770 GDT. This is more robust, as %ds can change.
15771 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
15772 calling real_to_prot().
15773 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
15774
80a3e68b 157752008-03-28 Pavel Roskin <proski@gnu.org>
15776
15777 * kern/i386/pc/startup.S: Assert that uncompressed functions
15778 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
15779 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
15780 code, as they push parts of the code (error handlers) beyond
15781 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
15782 code as correctness and size.
15783
77bcd272 157842008-03-28 Pavel Roskin <proski@gnu.org>
15785
15786 * kern/i386/pc/startup.S
15787 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
15788 data block address to the real mode, keep offset minimal. This
15789 works around a bug in AWARD BIOS on old Athlon systems, which
15790 makes CD detection hang.
15791
c5dfd43b 157922008-03-26 Pavel Roskin <proski@gnu.org>
15793
15794 * normal/color.c (grub_parse_color_name_pair): Make `name' a
15795 const.
15796 * include/grub/normal.h: Add grub_parse_color_name_pair()
15797 declaration.
15798
bf962df2 157992008-03-24 Bean <bean123ch@gmail.com>
15800
15801 * disk/i386/pc/biosdisk.c (cd_start): Removed.
15802 (cd_count): Removed.
15803 (cd_drive): New variable.
15804 (grub_biosdisk_get_drive): Don't check for (cdN) device.
15805 (grub_biosdisk_call_hook): Likewise.
15806 (grub_biosdisk_iterate): Change cdrom detection method.
15807 (grub_biosdisk_open): Replace cd_start with cd_drive.
15808 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
15809 detect cdrom device.
15810
15811 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
15812 Removed.
15813 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
15814 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
15815 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
15816 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
15817 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
15818 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
15819 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
15820 (grub_biosdisk_cdrp): New structure.
15821 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
15822
15823 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
15824
15825 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
15826 device.
15827
15828 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
15829 New function.
15830
68e7fc7a 158312008-03-20 Robert Millan <rmh@aybabtu.com>
15832
15833 Remove 2 TiB limit in ata.mod.
15834 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
15835 (grub_ata_dumpinfo): Print sector count with 0x%llx.
15836 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
15837 grub_uint64_t instead of grub_uint32_t.
15838
38ad2cf5 158392008-03-05 Bean <bean123ch@gmail.com>
15840
15841 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
15842 (grub_multiboot): Set boot device.
15843
15844 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
15845
2b89344e 158462008-03-02 Bean <bean123ch@gmail.com>
15847
15848 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
15849 symlink_buffer.
15850
87a95d1f 158512008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
15852
15853 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
15854 texinfo.tex.
15855
15856 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
15857 modified.
15858
15859 * docs/fdl.texi: New file.
f19dbdb7 15860
87a95d1f 15861 * docs/mdate-sh: New file. Copied from gnulib.
15862 * docs/texinfo.tex: Likewise.
15863
15864 * config.guess: Updated from gnulib.
15865 * install-sh: Likewise.
15866
7dc15d8e 158672008-02-28 Robert Millan <rmh@aybabtu.com>
15868
15869 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
15870 (aout_mod_SOURCES): New variable.
15871 (aout_mod_CFLAGS): Likewise.
15872 (aout_mod_LDFLAGS): Likewise.
15873
15874 * conf/i386-ieee1275.rmk: Likewise.
15875
b00ab696 158762008-02-28 Robert Millan <rmh@aybabtu.com>
15877
15878 * util/update-grub.in: Reorganise terminal validity check. Accept
15879 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
15880 Based on suggestion by Franklin PIAT.
15881
79ca2d78 158822008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
15883
15884 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
15885 function.
15886 * util/getroot.c (grub_util_check_block_device): New function that
15887 returns the given argument if it is a block device and returns NULL else.
15888 * util/grub-probe.c (argument_is_device): New variable.
15889 (probe): Promote device_name from a variable to an argument. Receive
15890 device_name from grub_util_check_block_device() if path is NULL and from
15891 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 15892 (options): Introduce new parameter '-d, --device'.
79ca2d78 15893 (main): Add description of the new parameter to the help screen.
15894 Rename path variable to argument. Set argument_is_device if the '-d'
15895 option is given. Pass argument to probe() depending on
15896 argument_is_device.
15897
0d16e571 158982008-02-24 Bean <bean123ch@gmail.com>
15899
15900 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
15901 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
15902 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
15903 (GRUB_ISO9660_VOLDESC_PART): Likewise.
15904 (GRUB_ISO9660_VOLDESC_END): Likewise.
15905 (grub_iso9660_primary_voldesc): New member escape.
15906 (grub_iso9660_data): New member joliet.
15907 (grub_iso9660_convert_string): New function.
15908 (grub_iso9660_mount): Detect joliet extension.
15909 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
15910 (grub_iso9660_iso9660_label): Likewise.
15911
15912 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
15913 (grub_setup_SOURCES): Add fs/udf.c.
15914 (grub_fstest_SOURCES): Likewise.
15915 (udf_mod_SOURCES): New variable.
15916 (udf_mod_CFLAGS): Likewise.
15917 (udf_mod_LDFLAGS): Likewise.
15918
15919 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
15920 (grub_emu_SOURCES): Likewise.
15921
15922 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
15923
15924 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15925
15926 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
15927
15928 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
15929
15930 * fs/udf.c: New file.
15931
8a594a17 159322008-02-24 Robert Millan <rmh@aybabtu.com>
15933
15934 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
15935 (normal/lexer.c_DEPENDENCIES): New variables.
15936 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
15937 (normal/lexer.c_DEPENDENCIES): Likewise.
15938 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
15939 (normal/lexer.c_DEPENDENCIES): Likewise.
15940 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
15941 (normal/lexer.c_DEPENDENCIES): Likewise.
15942 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
15943 (normal/lexer.c_DEPENDENCIES): Likewise.
15944 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
15945 (normal/lexer.c_DEPENDENCIES): Likewise.
15946
2dc33c03 159472008-02-23 Robert Millan <rmh@aybabtu.com>
15948
15949 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
15950 since they were intended to be in hex. This didn't break previously
15951 because of a bug in gpt_partition_map_iterate() (see below).
15952
15953 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
15954 when checking the validity of GPT header.
15955 Remove `partno', since it always provides the same information as `i'.
15956
f6f4cfb0 159572008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
15958
15959 * include/grub/efi/time.h: Fix a wrong comment.
15960
79ff665f 159612008-02-19 Pavel Roskin <proski@gnu.org>
15962
15963 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
15964 message.
15965
d38e24c2 159662008-02-19 Bean <bean123ch@gmail.com>
15967
15968 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
15969 (aout_mod_SOURCES): New variable.
15970 (aout_mod_CFLAGS): Likewise.
15971 (aout_mod_LDFLAGS): Likewise.
15972 (_bsd_mod_SOURCES): New variable.
15973 (_bsd_mod_CFLAGS): Likewise.
15974 (_bsd_mod_LDFLAGS): Likewise.
15975 (bsd_mod_SOURCES): New variable.
15976 (bsd_mod_CFLAGS): Likewise.
15977 (bsd_mod_LDFLAGS): Likewise.
15978
15979 * include/grub/aout.h: New file.
15980
15981 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
15982
15983 * include/grub/i386/bsd.h: New file.
15984
15985 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
15986 to make it public.
15987
15988 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
15989 function is called, so that it's possible to change it inside the hook.
15990 (grub_elf64_load): Likewise.
15991 (grub_elf_file): Don't close the file if elf header is not found.
15992 (grub_elf_close): Close the file if grub_elf_file fails (The new
15993 grub_elf_file won't close it).
15994 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
15995 (grub_elf64_size): Likewise.
15996
15997 * kern/i386/loader.S (grub_unix_real_boot): New function.
15998
15999 * loader/aout.c: New file.
16000
16001 * loader/i386/bsd.c: New file.
16002
16003 * loader/i386/bsd_normal.c: New file.
16004
16005 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
16006
16007 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 16008 can test other formats.
d38e24c2 16009
b93bdb0f 160102008-02-19 Robert Millan <rmh@aybabtu.com>
16011
16012 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
16013 (grub_gpt_partition_type_empty): Redefine with macro from
16014 `<grub/gpt_partition.h>'.
16015 (gpt_partition_map_iterate): Adjust partition type comparison.
16016
16017 Export `entry' as partmap-specific `part.data' struct.
16018 (grub_gpt_header, grub_gpt_partentry): Move from here ...
16019
16020 * include/grub/gpt_partition.h (grub_gpt_header)
16021 (grub_gpt_partentry): ... to here (new file).
16022
16023 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
16024
16025 (grub_gpt_partition_type_bios_boot): New const variable, defined
16026 with macro from `<grub/gpt_partition.h>'.
16027
16028 (setup): Replace `first_start' with `embed_region', which keeps
16029 track of the embed region (and is partmap-agnostic).
16030
16031 Replace find_first_partition_start() with find_usable_region(),
16032 which finds a usable region for embedding using partmap-specific
16033 knowledge (supports PC/MSDOS and GPT).
16034
16035 Fix all assumptions that the embed region start at sector 1, using
16036 `embed_region.start' from now on. Similarly, use `embed_region.end'
16037 rather than `first_start' to calculate available size.
16038
16039 In grub_util_info() message, replace "into after the MBR" with an
16040 indication of the specific sector our embed region starts at.
16041
66cb40f6 160422008-02-19 Robert Millan <rmh@aybabtu.com>
16043
16044 * DISTLIST: Replace `commands/ieee1275/halt.c' and
16045 `commands/ieee1275/reboot.c' with `commands/halt.c' and
16046 `commands/reboot.c'.
16047 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
16048 (halt_mod_SOURCES): Likewise.
16049 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
16050 (halt_mod_SOURCES): Likewise.
16051
b7202015 160522008-02-17 Christian Franke <franke@computer.org>
16053
16054 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
16055
32b0fc49 160562008-02-17 Robert Millan <rmh@aybabtu.com>
16057
16058 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
16059 set `first_start' to 0 for non-PC/MSDOS partition maps.
16060
aca63502 160612008-02-16 Robert Millan <rmh@aybabtu.com>
16062
16063 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
16064 do not assume partition map is PC/MSDOS before performing checks that
16065 are specific to that layout.
16066
0de8be86 160672008-02-13 Robert Millan <rmh@aybabtu.com>
16068
16069 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
16070 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
16071 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
16072
c3db8364 160732008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
16074
16075 * configure.ac: Only a cosmetic change on the handling of
16076 -fno-stack-protector.
16077
f714229e 160782008-02-12 Alexandre Boeglin <alex@boeglin.org>
16079
c3db8364 16080 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
16081 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
16082 reboot.c.
f714229e 16083 (grub_install_SOURCES): Add halt.mod and reboot.mod.
16084 (halt_mod_SOURCES): New variable.
16085 (halt_mod_CFLAGS): Likewise.
16086 (halt_mod_LDFLAGS): Likewise.
16087 (reboot_mod_SOURCES): Likewise.
16088 (reboot_mod_CFLAGS): Likewise.
16089 (reboot_mod_LDFLAGS): Likewise.
16090
c3db8364 16091 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
16092 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
16093 reboot.c.
f714229e 16094 (halt_mod_SOURCES): Likewise.
16095 (reboot_mod_SOURCES): Likewise.
16096
c3db8364 16097 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
16098 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 16099 (reboot_mod_SOURCES): Likewise.
16100
16101 * commands/i386/pc/reboot.c: merge this file ...
16102
16103 * commands/ieee1275/reboot.c: ... and this file ...
16104
16105 * commands/reboot.c: ... to this file.
c3db8364 16106 Add some precompiler directive to include the correct header for
16107 each machine.
f714229e 16108
16109 * commands/ieee1275/halt.c: move this file ...
16110
16111 * commands/halt.c: ... to here.
c3db8364 16112 Add some precompiler directive to include the correct header for
16113 each machine.
f714229e 16114
16115 * include/grub/efi/efi.h (grub_reboot): New function declaration.
16116 (grub_halt): Likewise.
16117
16118 * kern/efi/efi.c (grub_reboot): New function.
16119 (grub_halt): Likewise.
16120
c74493e0 161212008-02-12 Robert Millan <rmh@aybabtu.com>
16122
16123 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
16124 /dev (like it is done for /dev/mapper). This doesn't provide support
16125 for EVMS, but at least it is now easy to identify the problem when it
16126 arises.
16127
d0db4b04 161282008-02-11 Robert Millan <rmh@aybabtu.com>
16129
16130 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
16131 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
16132 comparing it with -1, not 0.
16133
bf748642 161342008-02-10 Robert Millan <rmh@aybabtu.com>
16135
16136 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
16137 `disk/lvm.c'.
16138 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16139 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
16140
16141 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
16142 `disk/lvm.c' to the end of the list.
16143 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
16144 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16145
b5db202a 161462008-02-10 Robert Millan <rmh@aybabtu.com>
16147
16148 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
16149 grub_print_error() instead. This will let user know why we're entering
16150 rescue mode.
16151 Based on suggestions from Sam Morris.
16152
83abee31 161532008-02-10 Alexandre Boeglin <alex@boeglin.org>
16154
16155 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
16156 on remaining N args, instead of "--" arg N times.
16157
78d5a08b 161582008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
16159
16160 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
16161 (fill_with_default_glyph): Changed to use unknown_glyph for fill
16162 pattern for unknown glyphs.
16163
68807e5f 161642008-02-09 Robert Millan <rmh@aybabtu.com>
16165
16166 * configure.ac: Probe for `help2man'.
16167 * Makefile.in (builddir): New variable.
16168 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
16169 or otherwise add a few flags/options to it.
16170 (install-local): For every executable utility or script that is
16171 installed, invoke $(HELP2MAN) to install a manpage based on --help
16172 output.
16173
16174 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
16175 that it doesn't prevent --help from working in build tree.
16176
16177 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
16178 with `bug-grub@gnu.org'.
16179 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
16180 * util/update-grub.in (usage): New function.
16181 Implement proper argument check, with support for --help and --version
16182 (as well as existing -y).
16183
161842008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 16185
16186 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
16187 avoid overwriting previous output.
16188 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
16189
c1962162 161902008-02-09 Robert Millan <rmh@aybabtu.com>
16191
16192 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
16193 drawing the menu.
16194
3dac2e3f 161952008-02-09 Robert Millan <rmh@aybabtu.com>
16196
16197 * commands/sleep.c: New file.
16198 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
16199 (sleep_mod_SOURCES): New variable.
16200 (sleep_mod_CFLAGS): Likewise.
16201 (sleep_mod_LDFLAGS): Likewise.
16202
7a634e08 162032008-02-09 Robert Millan <rmh@aybabtu.com>
16204
16205 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
16206 situations in which we can deduce the RAID size and the superblock
16207 doesn't match it.
16208
b92f0c18 162092008-02-09 Robert Millan <rmh@aybabtu.com>
16210
16211 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
16212 and return a grub_diskmemberlist_t composed of LVM physical volumes.
16213 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
16214
16215 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
16216 and return a grub_diskmemberlist_t composed of physical array members.
16217 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
16218
16219 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
16220 prototype.
16221 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
16222 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
16223 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
16224
16225 * util/grub-probe.c (probe): Move partmap probing code from here ...
16226 (probe_partmap): ... to here.
16227 (probe): Use probe_partmap() once for the disk we're probing, and
16228 additionally, when such disk contains a memberlist() struct member,
16229 once for each disk that is contained in the structure returned by
16230 memberlist().
16231
91a4bf68 162322008-02-09 Robert Millan <rmh@aybabtu.com>
16233
16234 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
16235 environment variable to 'all' in order to obtain debug output from
16236 non-util/ code.
16237 * util/i386/pc/grub-setup.c (main): Likewise.
16238
a96f9caa 162392008-02-08 Robert Millan <rmh@aybabtu.com>
16240
16241 * disk/raid.c (grub_raid_scan_device): Check for
16242 `array->device[sb.this_disk.number]' rather than for
16243 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 16244 guaranteed to be accessible.
a96f9caa 16245
b37a9222 162462008-02-08 Robert Millan <rmh@aybabtu.com>
16247
16248 * disk/raid.c: Update copyright.
16249 * fs/cpio.c: Likewise.
16250 * include/grub/raid.h: Likewise.
16251 * loader/i386/pc/multiboot.c: Likewise.
16252 * util/hostfs.c: Likewise.
16253
5626aee1 162542008-02-08 Robert Millan <rmh@aybabtu.com>
16255
16256 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
16257 to a grub_disk_t array.
16258 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
16259 `device[x]'.
16260 (grub_raid_scan_device): Replace `device[x].name' accesses with
16261 `device[x]->name'. Simplify initialization of `array->device[x]'.
16262
554f0187 162632008-02-08 Robert Millan <rmh@aybabtu.com>
16264
16265 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
16266 grub_dprintf() calls.
16267 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
16268 error message.
16269
1ec8425d 162702008-02-07 Christian Franke <franke@computer.org>
16271
16272 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
16273 instead of fseek and ftell to support large files.
16274 (grub_hostfs_read): Likewise.
16275
f2156fda 162762008-02-07 Robert Millan <rmh@aybabtu.com>
16277
16278 Patch from Jeroen Dekkers.
16279 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 16280 failure, since successfully reading all array members might not be
f2156fda 16281 required.
16282
9216e0e7 162832008-02-06 Robert Millan <rmh@aybabtu.com>
16284
16285 * util/grub-probe.c (probe): Simplify partmap probing (with the
16286 assumption that the first word up to the underscore equals to
16287 the module name).
16288
b0dfd29a 162892008-02-06 Christian Franke <franke@computer.org>
16290
16291 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
16292 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
16293 last block of a cpio or tar stream.
16294 Check for "TRAILER!!!" instead of any empty data
16295 block to detect last block of a cpio stream.
16296 (grub_cpio_dir): Fix constness of variable np.
16297 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
16298 cpio or tar trailer is detected. This fixes a crash
16299 on open of a non existing file.
16300
c32865bf 163012008-02-05 Bean <bean123ch@gmail.com>
16302
16303 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
16304 address of entry.
16305 (grub_multiboot_load_elf64): Likewise.
16306 (grub_multiboot): Initialize mbi structure.
16307
16308 * util/grub-fstest.c: Don't include unused header file script.h.
16309
fe6b695a 16310 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 16311 of file.
16312 (grub_fstest_SOURCES): Likewise.
16313
409480b7 163142008-02-05 Robert Millan <rmh@aybabtu.com>
16315
16316 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
16317 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
16318 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
16319 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
16320
16321 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
16322 (translation_table): Replace hardcoded values with macros
16323 provided by `<grub/term.h>'.
16324
16325 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
16326 (keyboard_map): Correct/add a few values, with macros provided
16327 by `<grub/term.h>'.
16328 (keyboard_map_shift): Zero values that don't differ from their
16329 `keyboard_map' equivalents.
16330 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
16331 Discard the second scan code that is always sent by Caps lock.
16332 Only use `keyboard_map_shift' when it provides a non-zero value,
16333 otherwise fallback to `keyboard_map'.
16334
99fadbaa 163352008-02-04 Bean <bean123ch@gmail.com>
16336
16337 * Makefile.in (enable_grub_fstest): New variable.
16338
16339 * conf/common.rmk (grub_fstest_init.lst): New rule.
16340 (grub_fstest_init.h): Likewise.
16341 (grub_fstest_init.c): Likewise.
16342 (util/grub-fstest.c_DEPENDENCIES): New variable.
16343 (grub_fstest_SOURCES): Likewise.
16344
16345 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
16346
16347 * util/grub-fstest.c: New file.
16348
bf567c50 163492008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
16350
16351 Make grub-setup handle a separate root device.
f19dbdb7 16352
bf567c50 16353 * util/i386/pc/grub-setup.c (setup): Always open the root device,
16354 so that the root device can be compared with the destination
16355 device.
16356 When embedding the core image, if the root and destination devices
16357 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
16358 0xFF.
16359 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 16360
9be6b98b 163612008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
16362
16363 Add support for having a grub directory in a different drive. This
16364 is still only the data handling part.
f19dbdb7 16365
9be6b98b 16366 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
16367 (codestart): Save %dh in GRUB_ROOT_DRIVE.
16368 (grub_root_drive): New variable.
16369
16370 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
16371 instead of GRUB_BOOT_DRIVE to construct a device name. Set
16372 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
16373 as it was.
16374
16375 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
16376
16377 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
16378 macro.
16379 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
16380
16381 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
16382 is bogus, because PXE booting does not specify any drive
16383 correctly.
16384
16385 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
16386 am not sure if this is really correct.
16387
16388 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
16389 is always identical to the boot drive when booting from a CD.
16390
16391 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
16392 longer.
16393 (root_drive): New variable.
16394 (real_start): Unconditionally set %dh to ROOT_DRIVE.
16395 (setup_sectors): Push %dx right after popping it, because %dh will
16396 be modified later.
16397 (copy_buffer): Restore %dx.
16398
e0ca0677 163992008-02-03 Robert Millan <rmh@aybabtu.com>
16400
16401 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
16402 use `cdboot.img' for cdrom images.
16403
3b3f6629 164042008-02-03 Robert Millan <rmh@aybabtu.com>
16405
16406 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
16407 only setup gfxterm when `font' command has succeeded.
16408
d42b3672 164092008-02-03 Robert Millan <rmh@aybabtu.com>
16410
16411 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
16412 (grub_rescue_cmd_multiboot_loader)
16413 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
16414
fa370ea6 164152008-02-03 Pavel Roskin <proski@gnu.org>
16416
e0c5dacb 16417 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 16418 %edx and %esi from stack only after grub_gate_a20() is called.
16419 grub_gate_a20() clobbers %edx.
16420
f2a76e1d 164212008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
16422
16423 * configure.ac (AC_INIT): Bumped to 1.96.
16424
16425 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
16426 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
16427 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
16428 video/readers/png.c.
16429
90fd32d1 164302008-02-03 Bean <bean123ch@gmail.com>
9be665dd 16431
16432 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
16433 (cdboot_img_SOURCES): New variable.
16434 (cdboot_img_ASFLAGS): New variable.
16435 (cdboot_img_LDFLAGS): New variable.
16436
16437 * boot/i386/pc/cdboot.S: New file.
16438
16439 * disk/i386/pc/biosdisk.c (cd_start): New variable.
16440 (cd_count): Likewise.
16441 (grub_biosdisk_get_drive): Add support for cd device.
16442 (grub_biosdisk_call_hook): Likewise.
16443 (grub_biosdisk_iterate): Likewise.
16444 (grub_biosdisk_open): Likewise.
16445 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
16446 (grub_biosdisk_rw): Support reading from cd device.
16447 (GRUB_MOD_INIT): Iterate cd devices.
16448
16449 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
16450 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
16451 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
16452
16453 * kern/i386/pc/init.c (make_install_device): Check for cd device.
16454
4020aa53 164552008-02-02 Robert Millan <rmh@aybabtu.com>
16456
16457 * commands/read.c: New file.
16458 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
16459 (read_mod_SOURCES): New variable.
16460 (read_mod_CFLAGS): Likewise.
16461 (read_mod_LDFLAGS): Likewise.
16462
e03a1132 164632008-02-02 Robert Millan <rmh@aybabtu.com>
16464
16465 * normal/main.c (grub_normal_execute): Check for `menu->size' when
16466 determining whether menu has to be displayed.
16467
58c69220 164682008-02-02 Marco Gerards <marco@gnu.org>
16469
16470 * bus/pci.c: New file.
16471
16472 * include/grub/pci.h: Likewise.
16473
16474 * include/grub/i386/pc/pci.h: Likewise.
16475
16476 * commands/lspci.c: Likewise.
16477
16478 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
16479 `lspci.mod'.
16480 (pci_mod_SOURCES): New variable.
16481 (pci_mod_CFLAGS): Likewise.
16482 (pci_mod_LDFLAGS): Likewise.
16483 (lspci_mod_SOURCES): Likewise.
16484 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 16485 (lspci_mod_LDFLAGS): Likewise.
58c69220 16486
c004e1b4 164872008-02-02 Bean <bean123ch@gmail.com>
16488
16489 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
16490 (grub_ufs_get_file_block): Fix indirect block calculation problem.
16491
16492 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
16493 (grub_xfs_btree_node): New structure.
16494 (grub_xfs_btree_root): New structure.
16495 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
16496 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
16497 (GRUB_XFS_EXTENT_BLOCK): Likewise.
16498 (GRUB_XFS_EXTENT_SIZE): Likewise.
16499 (grub_xfs_read_block): Support btree format type.
16500 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
16501 Use directory block as basic unit.
16502
16503 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
16504
16505 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
16506 __attribute__ ((__regparm__ (1))).
16507
f95562bf 165082008-02-01 Robert Millan <rmh@aybabtu.com>
16509
16510 Correct a mistake in previous commit.
16511
16512 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
16513 top.
16514 (normal/command.c_DEPENDENCIES): New variable.
16515
7d31f41f 165162008-02-01 Robert Millan <rmh@aybabtu.com>
16517
16518 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
16519 top.
16520 (normal/command.c_DEPENDENCIES): New variable.
16521 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
16522 * conf/i386-ieee1275.rmk: Likewise.
16523 * conf/i386-linuxbios.rmk: Likewise.
16524 * conf/i386-pc.rmk: Likewise.
16525 * conf/sparc64-ieee1275.rmk: Likewise.
16526 * conf/powerpc-ieee1275.rmk: Likewise.
16527 (grub_emu_SOURCES): Add `fs/fshelp.c'.
16528
16529 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
16530
60b6be74 165312008-02-01 Robert Millan <rmh@aybabtu.com>
16532
16533 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
16534 call at beginning of function.
16535
078522ab 165362008-01-31 Pavel Roskin <proski@gnu.org>
16537
16538 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 16539 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
16540 (grub_mkrescue_SOURCES): Likewise.
078522ab 16541 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
16542
ccaa8a5f 165432008-01-30 Robert Millan <rmh@aybabtu.com>
16544
16545 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
16546 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
16547 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
16548 (grub_probe_SOURCES): ... to here.
16549
16550 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
16551 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
16552 * conf/i386-ieee1275.rmk: Likewise.
16553 * conf/i386-linuxbios.rmk: Likewise.
16554 * conf/powerpc-ieee1275.rmk: Likewise.
16555
ae5a9cd7 165562008-01-30 Tristan Gingold <gingold@free.fr>
16557
16558 * kern/rescue.c: Silently accept empty lines.
16559
70bc2ef2 165602008-01-29 Bean <bean123ch@gmail.com>
16561
16562 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
16563 (real_code_2): Code cleanup and change comment style.
16564 (move_memory): Avoid using 32-bit address mode.
16565
6a4d50ea 165662008-01-29 Bean <bean123ch@gmail.com>
16567
16568 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
16569 (png_mod_SOURCES): New variable.
16570 (png_mod_CFLAGS): Likewise.
16571 (png_mod_LDFLAGS): Likewise.
16572
16573 * video/readers/png.c: New file.
16574
11cc30ac 165752008-01-28 Robert Millan <rmh@aybabtu.com>
16576
16577 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
16578 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
16579 `ifndef GRUB_MOD_GAP' hack.
16580 * util/elf/grub-mkimage.c (add_segments): Likewise.
16581
3abc589f 165822008-01-27 Robert Millan <rmh@aybabtu.com>
16583
16584 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
16585 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 16586 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 16587
e1907778 165882008-01-27 Robert Millan <rmh@aybabtu.com>
16589
16590 Get grub-emu to build again (including parallel builds).
16591
16592 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
16593 Split into ...
16594 (util/grub-emu.c_DEPENDENCIES): ... this, ...
16595 (normal/execute.c_DEPENDENCIES): ... this, ...
16596 (grub-emu_DEPENDENCIES): ... and this.
16597
16598 * conf/i386-efi.rmk: Likewise.
16599 * conf/i386-linuxbios.rmk: Likewise.
16600 * conf/i386-ieee1275.rmk: Likewise.
16601 * conf/powerpc-ieee1275.rmk: Likewise.
16602 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
16603
2216b101 166042008-01-27 Robert Millan <rmh@aybabtu.com>
16605
16606 * NEWS: Add a few items.
16607
f75172d9 166082008-01-27 Robert Millan <rmh@aybabtu.com>
16609
16610 Fix parallel builds with grub-emu. Based on earlier commit for
16611 grub-probe and grub-setup.
16612
16613 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
16614 (util/grub-emu.c_DEPENDENCIES): ... this.
16615 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
16616 (util/grub-emu.c_DEPENDENCIES): ... this.
16617 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
16618 (util/grub-emu.c_DEPENDENCIES): ... this.
16619 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
16620 (util/grub-emu.c_DEPENDENCIES): ... this.
16621 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
16622 (util/grub-emu.c_DEPENDENCIES): ... this.
16623
3f51de77 166242008-01-27 Pavel Roskin <proski@gnu.org>
16625
16626 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
16627 to create a gap between _end and the modules added to the image
16628 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
16629 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
16630 * util/elf/grub-mkimage.c (add_segments): Likewise.
16631
2033f53e 166322008-01-26 Pavel Roskin <proski@gnu.org>
16633
16634 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
16635 just return an error.
16636
22da1f6f 166372008-01-26 Bean <bean123ch@gmail.com>
16638
16639 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
16640 (grub_reiserfs_get_item): Save offset of the next item.
16641 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
16642
2a9525e6 166432008-01-25 Robert Millan <rmh@aybabtu.com>
16644
16645 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
16646 make all filesystem sources appear together (possibly fixing omissions
16647 while at it).
16648 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16649 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16650 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
16651 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16652
16653 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
16654 add `kern/file.c'.
16655 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
16656 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
16657 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
16658 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
16659
16660 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
16661 (probe): Add a sanity check to make sure of our ability to read
16662 requested files when probing for filesystem type.
16663
16664 * genmk.rb: Update copyright year (2007).
16665
16666 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
16667 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
16668 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
16669 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
16670 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
16671 : Remove function prototypes.
16672
b95f71b5 166732008-01-25 Robert Millan <rmh@aybabtu.com>
16674
16675 Revert my previous commits (based on wrong assumption of how grub_errno
16676 works).
16677
fe6b695a 16678 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 16679 * kern/file.c (grub_file_open): Likewise.
16680
d08bbb49 166812008-01-24 Pavel Roskin <proski@gnu.org>
16682
16683 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
16684 that hang if GRUB tries to setup colors.
16685 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
16686 colors for firmwares that don't support it.
16687 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
16688 Recognize Open Hack'Ware, set flags to work around its
16689 limitations.
16690
605e36ed 166912008-01-24 Robert Millan <rmh@aybabtu.com>
16692
16693 * kern/file.c (grub_file_open): Do not account previous failures of
16694 unrelated functions when grub_errno is checked for.
16695 Reported by Oleg Strikov.
16696
bac332a1 166972008-01-24 Bean <bean123ch@gmail.com>
16698
16699 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
16700 (grub_ufs_sblock): New member volume name.
16701 (grub_ufs_find_file): Fix string copy bug.
16702 (grub_ufs_label): Implement this function properly.
16703
16704 * fs/hfs.c (grub_hfs_cnid_type): New enum.
16705 (grub_hfs_iterate_records): Use the correct file number for extents
16706 and catalog file. Fix problem in next index calculation.
16707 (grub_hfs_find_node): Replace recursive function call with loop.
16708 (grub_hfs_iterate_dir): Replace recursive function call with loop.
16709
15c80c09 167102008-01-23 Robert Millan <rmh@aybabtu.com>
16711
16712 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
16713 `<grub/symbol.h>' and `<grub/multiboot.h>'.
16714 (grub_multiboot2_real_boot): New function prototype.
16715
16716 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
16717 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
16718
16719 * kern/i386/ieee1275/init.c (grub_os_area_addr)
16720 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
16721
305338fd 167222008-01-23 Robert Millan <rmh@aybabtu.com>
16723
16724 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
16725 #ifdef'ed out grub_printf().
16726
3ea52685 167272008-01-23 Robert Millan <rmh@aybabtu.com>
16728
16729 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
16730 grub_dprintf calls, since they make "debug=all" mode unusable.
16731 (grub_console_checkkey): Likewise.
16732
5882ae4b 167332008-01-23 Robert Millan <rmh@aybabtu.com>
16734
16735 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
16736 `term/i386/pc/at_keyboard.c'.
16737 (pkglib_MODULES): Add `serial.mod'.
16738 (serial_mod_SOURCES): New variable.
16739 (serial_mod_CFLAGS): Likewise.
16740 (serial_mod_LDFLAGS): Likewise.
16741
16742 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
16743 `<grub/powerpc/ieee1275/console.h>'.
16744 (grub_keyboard_controller_init): New function prototype.
16745 (grub_console_checkkey): Likewise.
16746 (grub_console_getkey): Likewise.
16747
16748 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
16749 keyboard on i386.
16750
16751 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
16752 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
16753
06ab5303 167542008-01-23 Robert Millan <rmh@aybabtu.com>
16755
16756 * kern/i386/pc/init.c (make_install_device): When memdisk image is
16757 present, "(memdisk)/boot/grub" becomes the default prefix.
16758
16759 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
16760 a memdisk tarball with all the modules. Add --overlay=DIR option that
16761 allows users to overlay additional files into the image.
16762
dbb475a4 167632008-01-23 Robert Millan <rmh@aybabtu.com>
16764
16765 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
16766 and `machine/memory.h'.
16767 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
16768 (_multiboot_mod_SOURCES): New variable.
16769 (_multiboot_mod_CFLAGS): Likewise.
16770 (_multiboot_mod_LDFLAGS): Likewise.
16771 (multiboot_mod_SOURCES): Likewise.
16772 (multiboot_mod_CFLAGS): Likewise.
16773 (multiboot_mod_LDFLAGS): Likewise.
16774
16775 * include/grub/i386/ieee1275/loader.h: New file.
16776
16777 * include/grub/i386/ieee1275/machine.h: Likewise.
16778
16779 * include/grub/i386/ieee1275/memory.h: Likewise.
16780
16781 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
16782 variable declaration.
16783 (grub_os_area_size): Likewise.
16784
16785 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
16786 (grub_lower_mem, grub_upper_mem): New variables.
16787 (grub_stop_floppy): New function (just to make
16788 grub_multiboot2_real_boot() happy).
16789
16790 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
16791 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
16792 (grub_stop): New function.
16793 Include `"../realmode.S"' and `"../loader.S"'.
16794
16795 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
16796 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
16797
16798 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
16799 rely on grub_multiboot2_real_boot() for final boot.
16800
25638629 168012008-01-22 Robert Millan <rmh@aybabtu.com>
16802
16803 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
16804 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
16805 device that doesn't look like an SD card.
16806 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
16807 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
16808 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
16809 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
16810 found.
16811
9dad816d 168122008-01-22 Robert Millan <rmh@aybabtu.com>
16813
16814 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
16815 avoid claiming over our own code.
16816
34842f2d 168172008-01-22 Bean <bean123ch@gmail.com>
16818
16819 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
16820 (jpeg_mod_SOURCES): New variable.
16821 (jpeg_mod_CFLAGS): Likewise.
16822 (jpeg_mod_LDFLAGS): Likewise.
16823
16824 * video/readers/jpeg.c : New file.
16825
44023a28 168262008-01-22 Bean <bean123ch@gmail.com>
16827
16828 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
16829 there are no more items.
16830
bc2d8ac6 168312008-01-21 Robert Millan <rmh@aybabtu.com>
16832
16833 * kern/mm.c (grub_mm_init_region): Improve debug message.
16834
261bd4bc 168352008-01-21 Robert Millan <rmh@aybabtu.com>
16836
16837 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
16838 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
16839 address.
16840 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
16841 a C macro.
16842 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
16843 Indicates start of upper memory.
16844 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
16845 (generate_image): Abort when image size is big enough to corrupt
16846 upper memory.
16847
16848 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
16849 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
16850 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
16851 instead of hardcoding 0xA0000.
16852 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
16853 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
16854 instead of hardcoding 0xA0000.
16855
f970b55e 168562008-01-21 Robert Millan <rmh@aybabtu.com>
16857
16858 * disk/memdisk.c (memdisk_size): New variable.
16859 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
16860 `memdisk_size'.
16861 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
16862 image to dynamic memory.
16863 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
16864 `memdisk_size'. Free memdisk block.
16865
1a8b0526 168662008-01-21 Robert Millan <rmh@aybabtu.com>
16867
16868 Fix detection of very small filesystems (like tar).
16869
16870 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
16871 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
16872 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
16873 a problem with this disk).
16874
6e9b4aab 168752008-01-21 Robert Millan <rmh@aybabtu.com>
16876
16877 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
16878 on grub_biosdisk_rw_standard() error.
16879
0d8837b2 168802008-01-21 Robert Millan <rmh@aybabtu.com>
16881
16882 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
16883 recent changes.
16884 * kern/elf.c: Likewise.
16885 * kern/ieee1275/ieee1275.c: Likewise.
16886 * kern/powerpc/ieee1275/openfw.c: Likewise.
16887 * term/ieee1275/ofconsole.c: Likewise.
16888
ffd36e34 168892008-01-21 Robert Millan <rmh@aybabtu.com>
16890
16891 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
16892
3f0093d0 16893 * include/grub/kernel.h (grub_arch_memdisk_addr)
16894 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 16895
3f0093d0 16896 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
16897 (grub_arch_memdisk_size): ... to here.
ffd36e34 16898
6c391b21 168992008-01-21 Robert Millan <rmh@aybabtu.com>
16900
16901 Mostly based on bugfix from Bean.
16902
16903 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
16904 attribute with hook() parameter.
16905 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
16906 declaration.
16907 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
16908 attribute with hook() parameter.
16909 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
16910 declaration.
16911
55a581dc 169122008-01-21 Robert Millan <rmh@aybabtu.com>
16913
16914 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
16915 (pkglib_MODULES): Add `memdisk.mod'.
16916 (memdisk_mod_SOURCES): New variable.
16917 (memdisk_mod_CFLAGS): Likewise.
16918 (memdisk_mod_LDFLAGS): Likewise.
16919
16920 * disk/memdisk.c: New file.
16921
16922 * include/grub/disk.h (grub_disk_dev_id): Add
16923 `GRUB_DISK_DEVICE_MEMDISK_ID'.
16924
16925 * include/grub/i386/pc/kernel.h
16926 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
16927 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
16928 (grub_kernel_image_size): New variable declaration.
16929 (grub_total_module_size): Likewise.
16930 (grub_memdisk_image_size): Likewise.
16931
16932 * include/grub/i386/pc/memory.h
16933 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
16934
16935 * include/grub/kernel.h: Include `<grub/symbol.h>'.
16936 (grub_arch_memdisk_addr): New variable declaration.
16937 (grub_arch_memdisk_size): Likewise.
16938
16939 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
16940 (grub_arch_memdisk_size): Likewise.
16941
16942 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
16943 (codestart): Replace hardcoded `0x100000' with
16944 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
16945
16946 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
16947 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
16948 not NULL, append the contents of the file it refers to, at the end of
16949 the compressed kernel image. Initialize `grub_memdisk_image_size'
16950 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
16951 (options): Add "memdisk"|'m' option.
16952 (main): Parse --memdisk|-m option, and pass user-provided path as
16953 parameter to generate_image().
16954
3d7f54c9 169552008-01-20 Robert Millan <rmh@aybabtu.com>
16956
16957 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
16958 grub_dprintf() calls from here ...
16959 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
16960
0bf74728 169612008-01-20 Robert Millan <rmh@aybabtu.com>
16962
16963 Fix detection of "real mode" when /options/real-mode? doesn't exist.
16964
16965 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
16966 declaration.
16967 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
16968 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
16969 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 16970 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 16971 property).
16972 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
16973 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
16974
33bf70a7 169752008-01-19 Robert Millan <rmh@aybabtu.com>
16976
fe6b695a 16977 Get rid of confusing function (superseded by
33bf70a7 16978 `grub_ieee1275_get_integer_property')
16979 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
16980 prototype.
16981 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
16982 function.
16983 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
16984 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 16985 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 16986
e2da7d26 169872008-01-19 Robert Millan <rmh@aybabtu.com>
16988
16989 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
16990 command after "shut-down", since implementations differ on which
16991 the command for halt is.
16992
59f1fd8d 169932008-01-19 Robert Millan <rmh@aybabtu.com>
16994
16995 * include/grub/i386/linuxbios/console.h: Add header protection.
16996 (grub_keyboard_controller_init): New function prototype.
16997 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
16998 (KEYBOARD_COMMAND_READ): Likewise.
16999 (KEYBOARD_COMMAND_WRITE): Likewise.
17000 (KEYBOARD_SCANCODE_SET1): Likewise.
17001 (grub_keyboard_controller_write): New function.
17002 (grub_keyboard_controller_read): Likewise.
17003 (grub_keyboard_controller_init): Likewise.
17004
17005 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
17006 (grub_console_init): On coreboot/LinuxBIOS, call
17007 grub_keyboard_controller_init().
17008
5f5a7c15 170092008-01-19 Robert Millan <rmh@aybabtu.com>
17010
17011 PowerPC changes provided by Pavel Roskin.
17012
17013 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
17014 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
17015 don't rely on cmain() doing it.
17016 * kern/i386/ieee1275/startup.S (_start): Store %eax in
17017 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
17018
1210e168 170192008-01-16 Robert Millan <rmh@aybabtu.com>
17020
17021 * include/grub/i386/linuxbios/memory.h
17022 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
17023 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
17024 receive `table_header' as argument. Instead, probe for it in the
17025 known memory ranges where it can be present.
17026 (grub_available_iterate): Do not pass a fixed `table_header' address
17027 to grub_linuxbios_table_iterate().
17028
3d04eab8 170292008-01-15 Robert Millan <rmh@aybabtu.com>
17030
17031 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
17032 * conf/i386-ieee1275.rmk: New file.
17033 * include/grub/i386/ieee1275/console.h: Likewise.
17034 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
17035 * include/grub/i386/ieee1275/kernel.h: Likewise.
17036 * include/grub/i386/ieee1275/time.h: Likewise.
17037 * kern/i386/ieee1275/init.c: Likewise.
17038 * kern/i386/ieee1275/startup.S: Likewise.
17039
d1bc1b73 170402008-01-15 Robert Millan <rmh@aybabtu.com>
17041
17042 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
17043 when pointers are 32-bit (but still do set it to one when they are
17044 64-bit).
17045
66a65807 170462008-01-15 Robert Millan <rmh@aybabtu.com>
17047
17048 * include/grub/ieee1275/ieee1275.h
17049 (grub_ieee1275_get_integer_property): New function prototype.
17050
17051 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
17052 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 17053 grub_ieee1275_get_property() to handle endianness.
66a65807 17054
17055 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
17056 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 17057 where appropriate.
66a65807 17058 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
17059 (grub_map): Likewise.
17060 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
17061
a83ccafd 170622008-01-15 Bean <bean123ch@gmail.com>
17063
17064 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
17065 (grub_script_execute_cmdline): Reset grub_errno.
17066
17067 * normal/main.c (read_config_file): Reset grub_errno.
17068
17069 * normal/parse.y (script_init): New.
17070 (script): Move function and menuentry here.
17071 (delimiter): New.
17072 (command): Add delimiter at the end of command.
17073 (commands): Adjust to match the new command.
17074 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 17075 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 17076 (if): Use the new commands.
17077
17078 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
17079
df6ecfc6 170802008-01-15 Robert Millan <rmh@aybabtu.com>
17081
17082 * normal/menu.c (run_menu): Move timeout message from here ...
17083 (print_timeout): ... to here.
17084 (run_menu): Use print_timeout() once during initial draw to print
17085 the whole message, and again in every clock tick to update only
17086 the number of seconds.
17087
87ae25eb 170882008-01-15 Robert Millan <rmh@aybabtu.com>
17089
17090 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
17091 actual size of `available' from grub_ieee1275_get_property(), and
17092 restrict parsing to that bound.
17093
47bf09a4 170942008-01-15 Christian Franke <franke@computer.org>
17095
17096 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
17097 (argp_program_version): Remove variable.
17098 (argp_program_bug_address): Likewise.
17099 (options): Convert from struct argp_option to struct option.
17100 (struct arguments): Remove.
17101 (parse_opt): Remove.
17102 (usage): New function.
17103 (main): Replace struct args members by simple variables.
17104 Replace argp_parse() by getopt_long().
17105 Add switch to evaluate options.
17106 Add missing "(...)" around root_dev in prefix string.
17107
c86f1469 171082008-01-14 Robert Millan <rmh@aybabtu.com>
17109
17110 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
17111 for grub_ieee1275_exit(), in order to improve portability.
17112
e622c559 171132008-01-14 Robert Millan <rmh@aybabtu.com>
17114
17115 * util/grub.d/10_linux.in (prefix): Define.
17116 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
17117
44cb1ec8 171182008-01-13 Pavel Roskin <proski@gnu.org>
17119
17120 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
17121 grub_errno if no errors have been detected.
17122
1eb8c802 171232008-01-12 Robert Millan <rmh@aybabtu.com>
17124
17125 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
17126 (grub_util_get_dev_abstraction): New function prototype.
17127
17128 * util/getroot.c: Include `<grub/util/getroot.h>'
17129 (grub_util_get_grub_dev): Move detection of abstraction type to ...
17130 (grub_util_get_dev_abstraction): ... here (new function).
17131
17132 * util/grub-probe.c: Convert PRINT_* to an enum. Add
17133 `PRINT_ABSTRACTION'.
17134 (probe): Probe for abstraction type when requested.
17135 (main): Understand `--target=abstraction'.
17136
17137 * util/i386/efi/grub-install.in: Add abstraction module to core
17138 image when it is found to be necessary.
17139 * util/i386/pc/grub-install.in: Likewise.
17140 * util/powerpc/ieee1275/grub-install.in: Likewise.
17141
17142 * util/update-grub_lib.in (font_path): Return system path without
17143 converting to GRUB path.
17144 * util/update-grub.in: Convert system path returned by font_path()
17145 to a GRUB path. Use `grub-probe -t abstraction' to determine what
17146 abstraction module is needed for loading fonts (if any). Export
17147 that as `GRUB_PRELOAD_MODULES'.
17148 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
17149 insmod commands).
17150
52bd3de9 171512008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
17152
17153 Remove some unused code from reiserfs.
f19dbdb7 17154
52bd3de9 17155 * fs/reiserfs.c (struct grub_reiserfs_key)
17156 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
17157 (struct grub_reiserfs_node_body): Removed.
17158 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
17159 Likewise.
17160 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
17161 Likewise.
17162 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
17163 Likewise.
17164 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
17165 Likewise.
17166 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
17167 Likewise.
17168 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
17169 Likewise.
17170 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
17171 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
17172 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
17173
2f80039d 171742008-01-10 Robert Millan <rmh@aybabtu.com>
17175
17176 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
17177 Determines if a file is garbage left by packaging systems, etc.
17178 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
17179 for processing /etc/grub.d scripts.
17180 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
17181 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
17182 as a condition for processing Linux images.
17183
87888032 171842008-01-10 Pavel Roskin <proski@gnu.org>
17185
17186 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
17187 to compile reiserfs.c on PowerPC.
17188
7e54fced 171892008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 17190
17191 * kern/device.c (grub_device_iterate): Do not abort device iteration
17192 when one of the devices cannot be opened.
17193 * kern/disk.c (grub_disk_open): Do not account previous failures of
17194 unrelated functions when grub_errno is checked for.
17195
5aa541e6 171962008-01-08 Robert Millan <rmh@aybabtu.com>
17197
17198 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
17199 `! grub_linux_is_bzimage', change order of address comparison to make
17200 it more intuitive, and improve "too big zImage" error message.
17201
7076340d 172022008-01-08 Robert Millan <rmh@aybabtu.com>
17203
17204 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
17205 `$(update-grub_DATA)'.
17206 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
17207 targets.
17208
9ca70333 172092008-01-07 Robert Millan <rmh@aybabtu.com>
17210
17211 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
17212 which instruction is modified by grub-setup during installation
17213 (since it wasn't obvious by only looking at this file).
17214
38ccf575 172152008-01-07 Robert Millan <rmh@aybabtu.com>
17216
17217 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
17218 listing actual TODO items.
17219
f5db4291 172202008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
17221
868967cf 17222 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
17223 correctly.
17224 (grub_reiserfs_get_key_offset): Likewise.
17225 (grub_reiserfs_set_key_offset): Likewise.
17226 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 17227 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 17228
17229 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
17230 better to remove the bitfield version completely.
f19dbdb7 17231
868967cf 172322008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 17233
f5db4291 17234 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
17235 allocated from the heap, due to the fshelp implementation.
17236 (grub_reiserfs_dir): Free NODE, due to the same reason.
17237
492e6d9d 172382008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
17239
17240 Mostly from Vincent Pelletier:
f19dbdb7 17241
492e6d9d 17242 * fs/reiserfs.c: New file.
f19dbdb7 17243
492e6d9d 17244 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
17245 (reiserfs_mod_SOURCES): New variable.
17246 (reiserfs_mod_CFLAGS): Likewise.
17247 (reiserfs_mod_LDFLAGS): Likewise.
17248
17249 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
17250 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
17251 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
17252 normal/color.c.
17253
9ce3e7c1 172542008-01-06 Robert Millan <rmh@aybabtu.com>
17255
17256 * normal/color.c: Remove `<grub/env.h>'.
17257
f3b58148 172582008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
17259
17260 * include/grub/normal.h: Include <grub/env.h>.
17261
7ac3bcfa 172622008-01-05 Robert Millan <rmh@aybabtu.com>
17263
17264 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
17265 usage example with `(hd0,1)'.
fb358190 17266 Reported by Samuel Thibault.
7ac3bcfa 17267
c8ee99d7 172682008-01-05 Robert Millan <rmh@aybabtu.com>
17269
17270 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
17271 (grub_linux_boot_zimage): Rename to ...
17272 (grub_linux_boot): ... this.
17273 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
17274 (grub_linux_boot_zimage): Conditionalize zImage copy.
17275
17276 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
17277 (grub_linux_boot_bzimage): Remove prototype.
17278 (grub_linux_boot_zimage): Rename to ...
17279 (grub_linux_boot): ... this.
17280
17281 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
17282 (grub_linux_boot): Remove function.
17283
0ece25b1 172842008-01-05 Robert Millan <rmh@aybabtu.com>
17285
17286 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
17287 (grub_env_write_color_highlight): Likewise.
17288 (grub_wait_after_message): Likewise.
17289
17290 * normal/color.c: New file.
17291
17292 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
17293 (normal_mod_DEPENDENCIES): Likewise.
17294
17295 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
17296 (normal_mod_DEPENDENCIES): Likewise.
17297
17298 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
17299 (normal_mod_DEPENDENCIES): Likewise.
17300
17301 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
17302 (normal_mod_DEPENDENCIES): Likewise.
17303
17304 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
17305 for waiting after a message is printed.
17306 * normal/main.c (read_config_file): Likewise.
17307 (grub_normal_init): Register grub_env_write_color_normal() and
17308 grub_env_write_color_highlight() hooks. Mark `color_normal' and
17309 `color_highlight' variables as global.
17310
17311 * normal/menu.c (grub_wait_after_message): New function.
17312 (grub_color_menu_normal): New variable. Replaces ...
17313 (GRUB_COLOR_MENU_NORMAL): ... this macro.
17314 (grub_color_menu_highlight): New variable. Replaces ...
17315 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
17316 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
17317 `GRUB_TERM_COLOR_STANDARD'.
17318 (print_message): Use `grub_setcolorstate' to reload colors. Rename
17319 `normal_code' and `highlight_code' to `old_color_normal' and
17320 `old_color_highlight', respectively.
17321 (grub_menu_init_page): Update colors when drawing the menu, based on
17322 `menu_color_normal' and `menu_color_highlight' variables.
17323 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
17324 a message is printed.
17325
182dd4e5 173262008-01-05 Robert Millan <rmh@aybabtu.com>
17327
17328 * kern/env.c (grub_env_context_open): Propagate hooks for global
17329 variables to new context.
17330
17331 * kern/main.c (grub_set_root_dev): Export `root' variable.
17332
ddf8f6ad 173332008-01-05 Robert Millan <rmh@aybabtu.com>
17334
17335 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 17336 discs unconditionally, since udev and others have options to provide
ddf8f6ad 17337 them.
17338
d8b43d9b 173392008-01-05 Robert Millan <rmh@aybabtu.com>
17340
17341 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
17342
2bff2de3 173432008-01-04 Christian Franke <franke@computer.org>
17344
17345 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
17346 of eisa_mmap.
17347
97eab917 173482008-01-03 Pavel Roskin <proski@gnu.org>
17349
17350 * kern/i386/linuxbios/init.c: Put "void" to all function
17351 declarations with no arguments.
17352 * kern/powerpc/ieee1275/init.c: Likewise.
17353 * term/i386/pc/at_keyboard.c: Likewise.
17354 * term/i386/pc/vga_text.c: Likewise.
17355 * util/grub-mkdevicemap.c: Likewise.
17356
b9416d00 173572008-01-02 Robert Millan <rmh@aybabtu.com>
17358
17359 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
17360 message when loaded image is out of bounds.
17361 (grub_multiboot_load_elf64): Likewise.
17362
92695df9 173632008-01-02 Pavel Roskin <proski@gnu.org>
17364
17365 * util/grub.d/10_linux.in: Try version without ".old" when
17366 looking for initrd. It's better to use initrd from the newer
17367 kernel of the same version than no initrd at all.
17368
d98d9cad 173692008-01-01 Robert Millan <rmh@aybabtu.com>
17370
17371 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
17372
dbfdce36 173732008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
17374
f19dbdb7 17375 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 17376 grub_video_get_active_render_target.
17377 (grub_video_adapter): Added unmap_color and get_active_render_target.
17378
f19dbdb7 17379 * video/video.c: Added grub_video_unmap_color and
dbfdce36 17380 grub_video_get_active_render_target.
17381 (grub_video_get_info): Changed method to accept NULL pointer as an
17382 argument to allow detection of active video adapter.
17383
17384 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
17385 grub_video_vbe_unmap_color_int.
17386 Added grub_video_vbe_unmap_color and
17387 grub_video_vbe_get_active_render_target.
17388 (grub_video_vbe_adapter): Added unmap_color and
17389 get_active_render_target.
17390
f19dbdb7 17391 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 17392 with grub_video_vbe_unmap_color_int.
17393
17394 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
17395 (DEFAULT_NORMAL_COLOR): Likewise.
17396 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
17397 (DEFAULT_FG_COLOR): Removed.
17398 (DEFAULT_BG_COLOR): Likewise.
17399 (DEFAULT_CURSOR_COLOR): Changed value.
17400 (grub_virtual_screen): Added standard_color_setting,
17401 normal_color_setting, highlight_color_setting and term_color.
17402 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
17403 (bitmap_width): Added.
17404 (bitmap_height): Likewise.
17405 (bitmap): Likewise.
17406 (set_term_color): Likewise.
17407 (grub_virtual_screen_setup): Changed to use new terminal coloring
17408 settings.
17409 (grub_gfxterm_init): Added init for bitmap.
17410 (grub_gfxterm_fini): Added destroy for bitmap.
17411 (redraw_screen_rect): Updated to use background bitmap and new
17412 terminal coloring.
17413 (scroll_up): Added optimization for case when there is no bitmap.
17414 (grub_gfxterm_cls): Fixed to use correct background color.
17415 (grub_virtual_screen_setcolorstate): Changed to use new terminal
17416 coloring.
17417 (grub_virtual_screen_setcolor): Likewise.
17418 (grub_virtual_screen_getcolor): Added.
17419 (grub_gfxterm_background_image_cmd): Likewise.
17420 (grub_video_term): Added setcolor and getcolor.
17421 (MOD_INIT): Added registration of background_image command.
17422 (MOD_TERM): Added unregistration for background_image command.
17423
c3c20931 174242007-12-30 Pavel Roskin <proski@gnu.org>
17425
17426 * loader/multiboot_loader.c: Fix multiboot command
17427 unregistration. Fix all typos in the word "multiboot".
17428
df266716 174292007-12-29 Pavel Roskin <proski@gnu.org>
94239199 17430
17431 * util/grub.d/10_linux.in: Refactor search for initrd. Add
17432 support for initrd names used in Fedora.
17433
fc6e896c 174342007-12-26 Bean <bean123ch@gmail.com>
17435
17436 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
17437 (cpio_mod_SOURCES): New variable.
17438 (cpio_mod_CFLAGS): Likewise.
17439 (cpio_mod_LDFLAGS): Likewise.
17440
17441 * fs/cpio.c: New file.
17442
17443 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
17444
17445 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17446
17447 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
17448
17449 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17450
533110ad 174512007-12-25 Robert Millan <rmh@aybabtu.com>
17452
17453 * include/grub/term.h (struct grub_term): Add `getcolor' function.
17454 (grub_getcolor): New function.
17455
17456 * kern/term.c (grub_getcolor): New function.
17457 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
17458 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
17459 (print_entry): Set normal and highlight colors to
17460 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
17461 respectively, before printing and restore them to old
17462 values afterwards.
17463 (grub_menu_init_page): Likewise. Fill an additional colored space
17464 that would otherwise be left blank.
17465
17466 * term/efi/console.c (grub_console_getcolor): New function.
17467 (struct grub_console_term.getcolor): New variable.
17468 * term/i386/pc/console.c (grub_console_getcolor): New function.
17469 (struct grub_console_term.getcolor): New variable.
17470 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
17471 (struct grub_console_term.getcolor): New variable.
17472
17473 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
17474 (struct grub_console_term.setcolor): Remove variable.
17475 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
17476 (struct grub_console_term.setcolor): Remove variable.
17477 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
17478 (struct grub_console_term.setcolor): Remove variable.
17479 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
17480 (struct grub_console_term.setcolor): Remove variable.
17481
4931827f 174822007-12-25 Robert Millan <rmh@aybabtu.com>
17483
17484 * configure.ac: Search for possible unifont.hex locations, and
17485 define UNIFONT_HEX if found.
17486
17487 * Makefile.in (UNIFONT_HEX): Define variable.
17488 (DATA): Rename to ...
17489 (PKGLIB): ... this. Update all users.
17490 (PKGDATA): New variable.
17491 (pkgdata_IMAGES): Rename to ...
17492 (pkglib_IMAGES): ... this. Update all users.
17493 (pkgdata_MODULES): Rename to ...
17494 (pkglib_MODULES): ... this. Update all users.
17495 (pkgdata_PROGRAMS): Rename to ...
17496 (pkglib_PROGRAMS): ... this. Update all users.
17497 (pkgdata_DATA): Rename to ...
17498 (pkglib_DATA): ... this. Update all users.
17499 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
17500 (unicode.pff, ascii.pff): New rules.
17501 (all-local): Add `$(PKGDATA)' dependency.
17502 (install-local): Process `$(PKGDATA)'.
17503
17504 * util/update-grub_lib.in (font_path): Search for *.pff files in
17505 a few more locations, including `${pkgdata}'.
17506
57e57e31 175072007-12-23 Robert Millan <rmh@aybabtu.com>
17508
17509 Patch from Bean <bean123ch@gmail.com>:
17510 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
17511 `size'.
17512
4bc72aa9 175132007-12-21 Bean <bean123ch@gmail.com>
17514
17515 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
17516 (ntfscomp_mod_SOURCES): New variable.
17517 (ntfscomp_mod_CFLAGS): Likewise.
17518 (ntfscomp_mod_LDFLAGS): Likewise.
17519
17520 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
17521 (grub_probe_SOURCES): Likewise.
17522 (grub_emu_SOURCES): Likewise.
17523
17524 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
17525 (grub_emu_SOURCES): Likewise.
17526
17527 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
17528 (grub_emu_SOURCES): Likewise.
17529
17530 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
17531 (grub_emu_SOURCES): Likewise.
17532
17533 * fs/ntfs.c (grub_ntfscomp_func): New variable.
17534 (read_run_list): Renamed to grub_ntfs_read_run_list.
17535 (decomp_nextvcn): Moved to ntfscomp.c.
17536 (decomp_getch): Likewise.
17537 (decomp_get16): Likewise.
17538 (decomp_block): Likewise.
17539 (read_block): Likewise.
17540 (read_data): Partially moved to ntfscomp.c.
17541 (fixup): Change unsigned to grub_uint16_t.
17542 (read_mft): Change unsigned long to grub_uint32_t.
17543 (read_attr): Likewise.
17544 (read_data): Likewise.
17545 (read_run_data): Likewise.
17546 (read_run_list): Likewise.
17547 (read_mft): Likewise.
17548
17549 * fs/ntfscomp.c: New file.
17550
17551 * include/grub/ntfs.h: New file.
17552
af680a87 175532007-12-16 Robert Millan <rmh@aybabtu.com>
17554
17555 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
17556 IDE disk check, since Linux is known to support 20 IDE disks.
17557 Reported by Colin Watson.
17558
84be7599 175592007-12-15 Bean <bean123ch@gmail.com>
17560
17561 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
17562 (lnxboot_img_SOURCES): New variable.
17563 (lnxboot_img_ASFLAGS): Likewise.
17564 (lnxboot_img_LDFLAGS): Likewise.
17565
17566 * boot/i386/pc/lnxboot.S: New file.
17567
6af9db01 175682007-11-24 Pavel Roskin <proski@gnu.org>
17569
17570 * configure.ac: Test if '--build-id=none' is supported by the
17571 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
17572 objcopy to generate incorrect binary files (binutils
17573 2.17.50.0.18-1 as shipped by Fedora 8).
17574 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
17575 linking, so that build ID doesn't break the test.
17576
7361cfe6 175772007-11-24 Pavel Roskin <proski@gnu.org>
17578
17579 * include/grub/i386/time.h: use "void" in the argument list
17580 of grub_cpu_idle().
17581 * include/grub/powerpc/time.h: Likewise.
17582 * include/grub/sparc64/time.h: Likewise.
17583
1593e10c 175842007-11-18 Christian Franke <franke@computer.org>
17585
17586 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
17587 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
17588 This fixes the problem that function keys did not work in grub-emu.
17589
3b8db1a8 175902007-11-18 Christian Franke <franke@computer.org>
17591
17592 * disk/host.c (grub_host_open): Remove attribute unused from
17593 name parameter. Add check for "host". This fixes the problem
17594 that grub-emu does not find partitions.
17595
2e29408d 175962007-11-18 Christian Franke <franke@computer.org>
17597
17598 * util/hostfs.c (is_dir): New function.
17599 (grub_hostfs_dir): Handle missing dirent.d_type case.
17600 (grub_hostfs_read): Add missing fseek().
17601 (grub_hostfs_label): Clear label pointer. This fixes a crash
17602 of grub-emu on "ls (host)".
17603
398cd047 176042007-11-18 Christian Franke <franke@computer.org>
17605
17606 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
17607 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
17608 to 64 bit boundary by default.
17609
c405c391 176102007-11-18 Bean <bean123ch@gmail.com>
17611
17612 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
17613 (hexdump_mod_SOURCES): New variable.
17614 (hexdump_mod_CFLAGS): Likewise.
17615 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 17616
c405c391 17617 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
17618
17619 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
17620
17621 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
17622
17623 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
17624
17625 * include/grub/hexdump.h: New file.
17626
17627 * commands/hexdump.c: New file.
17628
5cced7fd 176292007-11-10 Robert Millan <rmh@aybabtu.com>
17630
17631 * commands/i386/pc/play.c (beep_off): Switch order of arguments
17632 in grub_outb() calls.
17633 (beep_on): Likewise.
17634
8b714eb0 176352007-11-10 Christian Franke <franke@computer.org>
17636
17637 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
17638 (grub_menu_run): Likewise.
17639
ce0f1839 176402007-11-10 Robert Millan <rmh@aybabtu.com>
17641
17642 * include/grub/i386/efi/machine.h: New file.
17643 * include/grub/i386/linuxbios/machine.h: Likewise.
17644 * include/grub/i386/pc/machine.h: Likewise.
17645 * include/grub/powerpc/ieee1275/machine.h: Likewise.
17646 * include/grub/sparc64/ieee1275/machine.h: Likewise.
17647
17648 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
17649 (serial_hw_io_addr): New variable.
17650 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
17651 instead of `(unsigned short *) 0x400'.
17652
270c237d 176532007-11-10 Bean <bean123ch@gmail.com>
17654
17655 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
17656
a87783bf 176572007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
17658
17659 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
17660 (vga_mod_SOURCES): Added.
17661 (vga_mod_CFLAGS): Likewise.
17662 (vga_mod_LDFLAGS): Likewise.
17663
17664 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
17665 grub_outb() calls.
17666 (set_map_mask): Likewise.
17667 (set_read_map): Likewise.
17668 (set_read_address): Likewise.
17669 (vga_font): Removed variable.
17670 (get_vga_glyph): Removed function.
17671 (invalidate_char): Likewise.
17672 (write_char): Changed to use grub_font_get_glyph() for font
17673 information.
17674 (grub_vga_putchar): Likewise.
17675 (grub_vga_getcharwidth): Likewise.
17676
6433b448 176772007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
17678
17679 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
17680 flags.
17681 (pxeboot_img_LDFLAGS): Likewise.
17682 (diskboot_img_LDFLAGS): Likewise.
17683 (kernel_img_LDFLAGS): Likewise.
17684
49178511 176852007-11-06 Robert Millan <rmh@aybabtu.com>
17686
17687 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
17688 in grub_outb() calls.
17689 (serial_hw_init): Likewise.
17690
53b052de 176912007-11-05 Robert Millan <rmh@aybabtu.com>
17692
17693 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
17694 spaces. Skip non-regular files.
17695
5ab33bba 176962007-11-05 Robert Millan <rmh@aybabtu.com>
17697
17698 * kern/disk.c (grub_disk_firmware_fini)
17699 (grub_disk_firmware_is_tainted): New variables.
17700
17701 * include/grub/disk.h (grub_disk_firmware_fini)
17702 (grub_disk_firmware_is_tainted): Likewise.
17703
17704 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
17705 (grub_disk_biosdisk_fini): ... to here.
17706 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
17707 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
17708 is set. Register grub_disk_biosdisk_fini() in
17709 `grub_disk_firmware_fini'.
17710
17711 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
17712 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
17713 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
17714 to finish existing firmware disk interface.
17715
17716 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
17717 (ata_mod_SOURCES): New variable.
17718 (ata_mod_CFLAGS): Likewise.
17719 (ata_mod_LDFLAGS): Likewise.
17720
0149ab7c 177212007-11-05 Robert Millan <rmh@aybabtu.com>
17722
17723 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
17724 (grub_ata_wait): Reimplement using grub_millisleep().
17725
17726 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
17727 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
17728
be7ac41e 177292007-11-03 Marco Gerards <marco@gnu.org>
17730
17731 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
17732 (CRTC_ADDR_PORT): New macro.
17733 (CRTC_DATA_PORT): Likewise.
17734 (CRTC_CURSOR): Likewise.
17735 (CRTC_CURSOR_ADDR_HIGH): Likewise.
17736 (CRTC_CURSOR_ADDR_LOW): Likewise.
17737 (update_cursor): New function.
17738 (grub_console_real_putchar): Call `update_cursor'.
17739 (grub_console_gotoxy): Likewise.
17740 (grub_console_cls): Set the default color when clearing the
17741 screen.
17742 (grub_console_setcursor): Implemented.
17743
bb06ab2e 177442007-11-03 Marco Gerards <marco@gnu.org>
17745
17746 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
17747 become activate.
17748 (grub_ata_pio_write): Likewise.
17749
17750 (grub_atapi_identify): Wait after issuing an ATA command.
17751 (grub_atapi_packet): Likewise.
17752 (grub_ata_identify): Likewise.
17753 (grub_ata_readwrite): Likewise.
17754
cf8f780b 177552007-11-03 Marco Gerards <marco@gnu.org>
17756
17757 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
17758 (grub_ata_pio_write): Likewise.
17759 (grub_ata_readwrite): Use `grub_error', instead of
17760 returning `grub_errno'.
17761
ed649e54 177622007-11-03 Marco Gerards <marco@gnu.org>
17763
17764 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
17765 grub_ata_pio_write once for every single sector, instead of for
17766 multiple sectors.
17767
ca25d8f0 177682007-10-31 Robert Millan <rmh@aybabtu.com>
17769
17770 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
17771
17772 * conf/i386-linuxbios.rmk: New file.
17773
17774 * kern/i386/pc/hardware.c: Likewise.
17775 * term/i386/pc/at_keyboard.c: Likewise.
17776 * term/i386/pc/vga_text.c: Likewise.
17777
17778 * include/grub/i386/linuxbios/boot.h: Likewise.
17779 * include/grub/i386/linuxbios/console.h: Likewise.
17780 * include/grub/i386/linuxbios/init.h: Likewise.
17781 * include/grub/i386/linuxbios/kernel.h: Likewise.
17782 * include/grub/i386/linuxbios/loader.h: Likewise.
17783 * include/grub/i386/linuxbios/memory.h: Likewise.
17784 * include/grub/i386/linuxbios/serial.h: Likewise.
17785 * include/grub/i386/linuxbios/time.h: Likewise.
17786
17787 * kern/i386/linuxbios/init.c: Likewise.
17788 * kern/i386/linuxbios/startup.S: Likewise.
17789 * kern/i386/linuxbios/table.c: Likewise.
17790
e911ecc1 177912007-10-31 Marco Gerards <marco@gnu.org>
17792
17793 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
17794 (ata_mod_SOURCES): New variable.
17795 (ata_mod_CFLAGS): Likewise.
17796 (ata_mod_LDFLAGS): Likewise.
17797
17798 * disk/ata.c: New file.
17799
17800 * include/grub/disk.h (grub_disk_dev_id): Add
17801 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 17802
7f66d0e0 178032007-10-31 Robert Millan <rmh@aybabtu.com>
17804
17805 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
17806 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
17807
17808 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
17809 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
17810
17811 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
17812 `<grub/types.h>'.
17813
17814 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
17815
5cd7dd46 178162007-10-27 Robert Millan <rmh@aybabtu.com>
17817
3236ca65 17818 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 17819
2ebfc90f 178202007-10-22 Robert Millan <rmh@aybabtu.com>
17821
17822 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
17823 `"../realmode.S"'.
17824 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
17825
73fcb0f3 178262007-10-22 Robert Millan <rmh@aybabtu.com>
17827
17828 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
17829 (pkgdata_MODULES): Add `biosdisk.mod'.
17830 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
17831 variables.
17832
17833 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
17834 (grub_biosdisk_init): Replace with ...
17835 (GRUB_MOD_INIT(biosdisk)): ... this.
17836 (grub_biosdisk_fini): Replace with ...
17837 (GRUB_MOD_FINI(biosdisk)): ... this.
17838
17839 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
17840 (grub_machine_init): Remove call to grub_biosdisk_init().
17841 (grub_machine_fini): Remove call to grub_machine_fini().
17842
17843 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
17844
3381d274 178452007-10-22 Robert Millan <rmh@aybabtu.com>
17846
17847 * include/grub/time.h: New file.
17848 * include/grub/i386/time.h: Likewise.
17849 * include/grub/powerpc/time.h: Likewise.
17850 * include/grub/sparc64/time.h: Likewise.
17851
17852 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
17853 instances to ...
17854 (KERNEL_MACHINE_TIME_HEADER): ... this.
17855 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
17856 instances to ...
17857 (KERNEL_MACHINE_TIME_HEADER): ... this.
17858 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
17859 instances to ...
17860 (KERNEL_MACHINE_TIME_HEADER): ... this.
17861
17862 * kern/i386/efi/init.c: Include `<grub/time.h>'.
17863 (grub_millisleep): New function.
17864 * kern/i386/pc/init.c: Include `<grub/time.h>'.
17865 (grub_millisleep): New function.
17866 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
17867 Remove `grub/machine/time.h' include.
17868 (grub_millisleep): New function.
17869 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
17870 Remove `grub/machine/time.h' include.
17871 (grub_millisleep): New function.
17872
17873 * include/grub/misc.h (grub_div_roundup): New function.
17874
17875 * kern/misc.c: Include `<grub/time.h>'.
17876 (grub_millisleep_generic): New function.
17877
17878 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
17879 Add `time.h'.
17880 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
17881 Add `time.h'.
17882 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
17883 `machine/time.h'. Add `time.h'.
17884 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
17885
a39a0312 178862007-10-21 Robert Millan <rmh@aybabtu.com>
17887
17888 * include/grub/misc.h (grub_max): New function.
17889
2aad70e2 178902007-10-21 Robert Millan <rmh@aybabtu.com>
17891
17892 * util/misc.c (grub_util_info): Call fflush() before returning.
17893
54b71c4b 178942007-10-20 Robert Millan <rmh@aybabtu.com>
17895
17896 * genmk.rb (Image): Copy `extra_flags' from here ...
17897 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
17898
17899 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
17900 to `argc' and `args' arguments.
17901
a979f513 179022007-10-17 Robert Millan <rmh@aybabtu.com>
17903
17904 * kern/i386/loader.S: New file.
17905
17906 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
17907 * kern/i386/loader.S (grub_linux_prot_size)... to here.
17908 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
17909 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
17910 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
17911 * kern/i386/loader.S (grub_linux_real_addr)... to here.
17912 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
17913 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
17914 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
17915 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
17916 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
17917 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
17918 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
17919 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
17920
17921 * kern/i386/realmode.S: New file.
17922
17923 * kern/i386/pc/startup.S (protstack): Moved from here ...
17924 * kern/i386/realmode.S (protstack)... to here.
17925 * kern/i386/pc/startup.S (gdt): Moved from here ...
17926 * kern/i386/realmode.S (gdt)... to here.
17927 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
17928 * kern/i386/realmode.S (prot_to_real)... to here.
17929
17930 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
17931 `kern/i386/realmode.S'.
17932
825fc8fd 179332007-10-17 Robert Millan <rmh@aybabtu.com>
17934
17935 * include/grub/i386/loader.h: New file.
17936
17937 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
17938 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
17939 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
17940 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
17941 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
17942 * include/grub/i386/loader.h (grub_linux_prot_size)
17943 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
17944 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
17945 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
17946 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
17947
17948 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
17949
e179b2f4 179502007-10-15 Robert Millan <rmh@aybabtu.com>
17951
17952 * normal/misc.c (grub_normal_print_device_info): Do not probe for
17953 filesystem when dev->disk is unset.
17954 Do probe for filesystem even when dev->disk->has_partitions is set.
17955 In case a filesystem is found, always report it.
17956 In case it isn't, if dev->disk->has_partitions is set, report that
17957 a partition table was found instead of reporting that no filesystem
17958 could be identified.
17959
5db82af6 179602007-10-12 Robert Millan <rmh@aybabtu.com>
17961
17962 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
17963 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
17964
68f6ac74 17965 * include/grub/types.h (grub_host_to_target16): New macro.
17966 (grub_host_to_target32): Likewise.
17967 (grub_host_to_target64): Likewise.
17968 (grub_target_to_host16): Likewise.
17969 (grub_target_to_host32): Likewise.
17970 (grub_target_to_host64): Likewise.
5db82af6 17971
17972 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
17973 Renamed from to ...
17974 (GRUB_MOD_ALIGN): ...this. Update all users.
17975
68f6ac74 17976 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
17977 grub_host_to_target32.
17978 Replace grub_be_to_cpu32 with grub_target_to_host32.
17979 (load_modules): Likewise.
17980 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
17981 Replace grub_be_to_cpu32 with grub_target_to_host32.
17982 Replace grub_cpu_to_be16 with grub_host_to_target16.
17983 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 17984
3cf497cc 179852007-10-12 Robert Millan <rmh@aybabtu.com>
17986
17987 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
17988 * util/elf/grub-mkimage.c: ... here.
17989
17990 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
17991 `util/powerpc/ieee1275/grub-mkimage.c'.
17992
c8cc3692 179932007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 17994
c8cc3692 17995 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
17996 and make it easier to figure out.
17997 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
17998 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
17999 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
18000 leave us with less than HEAP_MIN_SIZE total heap.
18001 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 18002
5c58b791 180032007-10-03 Robert Millan <rmh@aybabtu.com>
18004
18005 * include/grub/i386/io.h: New file.
18006 * commands/i386/pc/play.c (inb): Removed.
18007 (outb): Removed.
18008 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
18009 with grub_outb().
afcd2ef8 18010 * term/i386/pc/serial.c (inb): Removed.
18011 (outb): Removed.
18012 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
18013 with grub_outb().
18014 * term/i386/pc/vga.c (inb): Removed.
18015 (outb): Removed.
18016 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
18017 with grub_outb().
5c58b791 18018
1a477ed6 180192007-10-02 Robert Millan <rmh@aybabtu.com>
18020
18021 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
18022 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18023 Reported by Marcin Kurek.
18024
6b5d80fa 180252007-09-07 Robert Millan <rmh@aybabtu.com>
18026
18027 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
18028 SmartFirmware version updates (as released by Sven Luther), and avoid
18029 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
18030 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
18031 known broken.
18032
5618afbf 180332007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
18034
18035 From Hitoshi Ozeki:
18036 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
18037 when merging two regions.
18038
6139dcd9 180392007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
18040
508e39ee 18041 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
18042 * normal/completion.c (grub_normal_do_completion): Likewise.
18043 Reported by Hitoshi Ozeki.
18044
180452007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 18046
6139dcd9 18047 Do not use devices at boot in chainloading.
f19dbdb7 18048
6139dcd9 18049 * loader/i386/pc/chainloader.c (boot_drive): New variable.
18050 (boot_part_addr): Likewise.
18051 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
18052 with BOOT_DRIVE and BOOT_PART_ADDR.
18053 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
18054 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
18055
38da6516 180562007-08-29 Robert Millan <rmh@aybabtu.com>
18057
18058 Patch from Simon Peter <dn.tlp@gmx.net>:
18059 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
18060 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
18061 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
18062 util/i386/pc/grub-setup.c_DEPENDENCIES.
18063 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
18064 util/grub-probe.c_DEPENDENCIES.
18065 * conf/powerpc-ieee1275.rmk: Likewise.
18066
29d0928c 180672007-08-28 Robert Millan <rmh@aybabtu.com>
18068
18069 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
18070 to tell grub-mkdevicemap how to name devices.
18071 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
18072 feature).
18073
18074 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
18075 util/i386/get_disk_name.c.
18076 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
18077 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
18078 util/ieee1275/get_disk_name.c.
18079
18080 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
18081
18082 * DISTLIST: Add util/i386/get_disk_name.c and
18083 util/ieee1275/get_disk_name.c.
18084
18085 * util/grub-mkdevicemap.c: Replace device naming logic with
18086 grub_util_get_disk_name() calls.
18087
5a0d3cca 180882007-08-20 Robert Millan <rmh@aybabtu.com>
18089
18090 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
18091 (so that it works for both plural and singular quantities).
18092
8b72db2f 180932007-08-05 Robert Millan <rmh@aybabtu.com>
18094
18095 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
18096 so that [xz] isn't taken into account when determining order.
18097
352466bf 180982007-08-02 Marco Gerards <marco@gnu.org>
18099
18100 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
18101 `include/multiboot2.h', `include/grub/elfload.h',
18102 `include/multiboot.h', `include/grub/multiboot.h',
18103 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
18104 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
18105 `kern/elf.c', `loader/multiboot_loader.c',
18106 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
18107 `loader/i386/pc/multiboot2.c',
18108 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
18109 `util/i386/pc/grub-mkrescue.in'. Remove
18110 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
18111 `include/grub/i386/pc/util/biosdisk.h' and
18112 `include/grub/powerpc/ieee1275/multiboot.h'.
18113
8f096014 181142007-08-02 Bean <bean123ch@gmail.com>
18115
18116 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
18117 (ntfs_mod_SOURCES): New variable.
18118 (ntfs_mod_CFLAGS): Likewise.
18119 (ntfs_mod_LDFLAGS): Likewise.
18120
18121 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
18122 (grub_probe_SOURCES): Likewise.
18123 (grub_emu_SOURCES): Likewise.
18124
18125 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
18126 (grub_emu_SOURCES): Likewise.
18127
18128 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
18129 (grub_emu_SOURCES): Likewise.
f19dbdb7 18130
8f096014 18131 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
18132
18133 * fs/ntfs.c: New file.
18134
9959f7db 181352007-08-02 Bean <bean123ch@gmail.com>
18136
18137 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
18138
18139 * file.h (grub_file): Likewise.
18140
18141 * fshelp.h (grub_fshelp_read_file): Likewise.
18142
18143 * util/i386/pc/grub-setup.c (setup): Likewise.
18144 (save_first_sector): Likewise.
18145 (save_blocklists): Likewise.
f19dbdb7 18146
9959f7db 18147 * fs/affs.c (grub_affs_read_file): Likewise.
18148
18149 * fs/ext2.c (grub_ext2_read_file): Likewise.
18150
18151 * fs/fat.c (grub_fat_read_data): Likewise.
18152
18153 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
18154
18155 * fs/hfs.c (grub_hfs_read_file): Likewise.
18156
18157 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
18158
18159 * fs/jfs.c (grub_jfs_read_file): Likewise.
18160
18161 * fs/minix.c (grub_minix_read_file): Likewise.
18162
18163 * fs/sfs.c (grub_sfs_read_file): Likewise.
18164
18165 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 18166
9959f7db 18167 * fs/xfs.c (grub_xfs_read_file): Likewise.
18168
18169 * command/blocklist.c (read_blocklist): Likewise.
18170 (print_blocklist): Likewise.
18171
0a203f83 181722007-08-02 Marco Gerards <marco@gnu.org>
18173
18174 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
18175 `util/hostfs.c'.
18176
18177 * disk/host.c: New file.
18178
18179 * util/hostfs.c: Likewise.
18180
18181 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
18182 return `GRUB_ERR_BAD_FS'.
18183 * fs/sfs.c (grub_sfs_mount): Likewise.
18184 * fs/xfs.c (grub_xfs_mount): Likewise.
18185
18186 * include/grub/disk.h (enum grub_disk_dev_id): Add
18187 `GRUB_DISK_DEVICE_HOST_ID'.
18188
18189 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
18190
e5dfe777 181912007-07-24 Jerone Young <jerone@gmail.com>
18192
f19dbdb7 18193 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 18194 modules for compilation.
18195 * conf/powerpc-ieee1275.rmk: Likewise.
18196
18197 * include/multiboot.h: Move multiboot definitions to one file. Rename
18198 many definitions to not get grub specific.
18199 * include/multiboot2.h: Create header with multiboot 2 definitions.
18200 * include/grub/multiboot.h: Header for grub specific function
18201 prototypes and definitions.
18202 * include/grub/multiboot2.h: Likewise.
18203 * include/grub/multiboot_loader.h: Likewise.
18204 * include/grub/i386/pc/multiboot.h: Removed.
18205 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
18206
18207 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
18208 and 2 to allow for one multiboot and module commands.
18209 * loader/multiboot2.c: Add multiboot2 functionality.
18210 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
18211 and definition names.
18212 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
18213 2 functions.
18214 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
18215 ieee1275 specific multiboot2 code.
18216
18217 * kern/i386/pc/startup.S: Change headers and definition names for
18218 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
18219
daf0f0ba 182202007-07-22 Robert Millan <rmh@aybabtu.com>
18221
18222 * geninitheader.sh: Process file specified in first parameter rather
18223 than hardcoding grub_modules_init.lst.
fe6b695a 18224 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 18225 than hardcoding grub_modules_init.h.
18226
18227 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
18228 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
18229 grub_probe_init.[ch] and grub_setup_init.[ch].
18230
18231 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
18232 grub_modules_init.h with grub_emu_init.h.
18233 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
18234 grub_probe_init.[ch] files.
18235 * conf/i386-efi.rmk: Likewise.
18236 * conf/i386-pc.rmk: Likewise.
18237 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
18238 grub_setup_init.[ch] files.
18239
18240 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
18241 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
18242 to initialize modules rather than a list of hardcoded functions.
18243 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
18244 grub_init_all() to initialize modules rather than a list of hardcoded
18245 functions.
18246
54cdc1cc 182472007-07-22 Robert Millan <rmh@aybabtu.com>
18248
18249 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
18250 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
18251
ad0686cc 182522007-07-22 Robert Millan <rmh@aybabtu.com>
18253
18254 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
18255 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
18256 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
18257 flag when running on SmartFirmware.
18258 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
18259 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
18260 was set.
18261
18262 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
18263 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
18264 rather than decreasing it.
18265
18266 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
18267 there's not enough space to do it, fail in the same way as when it
18268 can't be done because there are no partitions.
18269
18270 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
18271 when nvsetenv failed.
18272
969c02ec 182732007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
18274
18275 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
18276 because this rule is automatically generated.
18277 (grub-mkrescue): Removed for the same reason as above.
18278
5a79f472 182792007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
18280
18281 Migrate to GNU General Public License Version 3.
f19dbdb7 18282
5a79f472 18283 * COPYING: Replaced with the plain text version of GPLv3.
18284
18285 * config.guess: Updated from gnulib.
18286 * config.sub: Likewise.
18287
18288 * geninit.sh: Output a GPLv3 copyright notice.
18289 * geninitheader.sh: Likewise.
18290 * genmodsrc.sh: Likewise.
18291 * gensymlist.sh.in: Likewise.
18292
18293 * boot/i386/pc/boot.S: Upgraded to GPLv3.
18294 * boot/i386/pc/diskboot.S: Likewise.
18295 * boot/i386/pc/pxeboot.S: Likewise.
18296 * commands/blocklist.c: Likewise.
18297 * commands/boot.c: Likewise.
18298 * commands/cat.c: Likewise.
18299 * commands/cmp.c: Likewise.
18300 * commands/configfile.c: Likewise.
18301 * commands/echo.c: Likewise.
18302 * commands/help.c: Likewise.
18303 * commands/ls.c: Likewise.
18304 * commands/search.c: Likewise.
18305 * commands/terminal.c: Likewise.
18306 * commands/test.c: Likewise.
18307 * commands/videotest.c: Likewise.
18308 * commands/i386/cpuid.c: Likewise.
18309 * commands/i386/pc/halt.c: Likewise.
18310 * commands/i386/pc/play.c: Likewise.
18311 * commands/i386/pc/reboot.c: Likewise.
18312 * commands/i386/pc/vbeinfo.c: Likewise.
18313 * commands/i386/pc/vbetest.c: Likewise.
18314 * commands/ieee1275/halt.c: Likewise.
18315 * commands/ieee1275/reboot.c: Likewise.
18316 * commands/ieee1275/suspend.c: Likewise.
18317 * disk/loopback.c: Likewise.
18318 * disk/lvm.c: Likewise.
18319 * disk/raid.c: Likewise.
18320 * disk/efi/efidisk.c: Likewise.
18321 * disk/i386/pc/biosdisk.c: Likewise.
18322 * disk/ieee1275/ofdisk.c: Likewise.
18323 * font/manager.c: Likewise.
18324 * fs/affs.c: Likewise.
18325 * fs/ext2.c: Likewise.
18326 * fs/fat.c: Likewise.
18327 * fs/fshelp.c: Likewise.
18328 * fs/hfs.c: Likewise.
18329 * fs/hfsplus.c: Likewise.
18330 * fs/iso9660.c: Likewise.
18331 * fs/jfs.c: Likewise.
18332 * fs/minix.c: Likewise.
18333 * fs/sfs.c: Likewise.
18334 * fs/ufs.c: Likewise.
18335 * fs/xfs.c: Likewise.
18336 * hello/hello.c: Likewise.
18337 * include/grub/acorn_filecore.h: Likewise.
18338 * include/grub/arg.h: Likewise.
18339 * include/grub/bitmap.h: Likewise.
18340 * include/grub/boot.h: Likewise.
18341 * include/grub/cache.h: Likewise.
18342 * include/grub/device.h: Likewise.
18343 * include/grub/disk.h: Likewise.
18344 * include/grub/dl.h: Likewise.
18345 * include/grub/elfload.h: Likewise.
18346 * include/grub/env.h: Likewise.
18347 * include/grub/err.h: Likewise.
18348 * include/grub/file.h: Likewise.
18349 * include/grub/font.h: Likewise.
18350 * include/grub/fs.h: Likewise.
18351 * include/grub/fshelp.h: Likewise.
18352 * include/grub/gzio.h: Likewise.
18353 * include/grub/hfs.h: Likewise.
18354 * include/grub/kernel.h: Likewise.
18355 * include/grub/loader.h: Likewise.
18356 * include/grub/lvm.h: Likewise.
18357 * include/grub/misc.h: Likewise.
18358 * include/grub/mm.h: Likewise.
18359 * include/grub/net.h: Likewise.
18360 * include/grub/normal.h: Likewise.
18361 * include/grub/parser.h: Likewise.
18362 * include/grub/partition.h: Likewise.
18363 * include/grub/pc_partition.h: Likewise.
18364 * include/grub/raid.h: Likewise.
18365 * include/grub/rescue.h: Likewise.
18366 * include/grub/script.h: Likewise.
18367 * include/grub/setjmp.h: Likewise.
18368 * include/grub/symbol.h: Likewise.
18369 * include/grub/term.h: Likewise.
18370 * include/grub/terminfo.h: Likewise.
18371 * include/grub/tparm.h: Likewise.
18372 * include/grub/types.h: Likewise.
18373 * include/grub/video.h: Likewise.
18374 * include/grub/efi/api.h: Likewise.
18375 * include/grub/efi/chainloader.h: Likewise.
18376 * include/grub/efi/console.h: Likewise.
18377 * include/grub/efi/console_control.h: Likewise.
18378 * include/grub/efi/disk.h: Likewise.
18379 * include/grub/efi/efi.h: Likewise.
18380 * include/grub/efi/pe32.h: Likewise.
18381 * include/grub/efi/time.h: Likewise.
18382 * include/grub/i386/linux.h: Likewise.
18383 * include/grub/i386/setjmp.h: Likewise.
18384 * include/grub/i386/types.h: Likewise.
18385 * include/grub/i386/efi/kernel.h: Likewise.
18386 * include/grub/i386/efi/loader.h: Likewise.
18387 * include/grub/i386/efi/time.h: Likewise.
18388 * include/grub/i386/pc/biosdisk.h: Likewise.
18389 * include/grub/i386/pc/boot.h: Likewise.
18390 * include/grub/i386/pc/chainloader.h: Likewise.
18391 * include/grub/i386/pc/console.h: Likewise.
18392 * include/grub/i386/pc/init.h: Likewise.
18393 * include/grub/i386/pc/kernel.h: Likewise.
18394 * include/grub/i386/pc/loader.h: Likewise.
18395 * include/grub/i386/pc/memory.h: Likewise.
18396 * include/grub/i386/pc/multiboot.h: Likewise.
18397 * include/grub/i386/pc/serial.h: Likewise.
18398 * include/grub/i386/pc/time.h: Likewise.
18399 * include/grub/i386/pc/vbe.h: Likewise.
18400 * include/grub/i386/pc/vbeblit.h: Likewise.
18401 * include/grub/i386/pc/vbefill.h: Likewise.
18402 * include/grub/i386/pc/vbeutil.h: Likewise.
18403 * include/grub/i386/pc/vga.h: Likewise.
18404 * include/grub/ieee1275/ieee1275.h: Likewise.
18405 * include/grub/ieee1275/ofdisk.h: Likewise.
18406 * include/grub/powerpc/libgcc.h: Likewise.
18407 * include/grub/powerpc/setjmp.h: Likewise.
18408 * include/grub/powerpc/types.h: Likewise.
18409 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
18410 * include/grub/powerpc/ieee1275/console.h: Likewise.
18411 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
18412 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
18413 * include/grub/powerpc/ieee1275/loader.h: Likewise.
18414 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
18415 * include/grub/powerpc/ieee1275/time.h: Likewise.
18416 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
18417 * include/grub/sparc64/libgcc.h: Likewise.
18418 * include/grub/sparc64/setjmp.h: Likewise.
18419 * include/grub/sparc64/types.h: Likewise.
18420 * include/grub/sparc64/ieee1275/console.h: Likewise.
18421 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
18422 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
18423 * include/grub/sparc64/ieee1275/time.h: Likewise.
18424 * include/grub/util/biosdisk.h: Likewise.
18425 * include/grub/util/getroot.h: Likewise.
18426 * include/grub/util/lvm.h: Likewise.
18427 * include/grub/util/misc.h: Likewise.
18428 * include/grub/util/raid.h: Likewise.
18429 * include/grub/util/resolve.h: Likewise.
18430 * io/gzio.c: Likewise.
18431 * kern/device.c: Likewise.
18432 * kern/disk.c: Likewise.
18433 * kern/dl.c: Likewise.
18434 * kern/elf.c: Likewise.
18435 * kern/env.c: Likewise.
18436 * kern/err.c: Likewise.
18437 * kern/file.c: Likewise.
18438 * kern/fs.c: Likewise.
18439 * kern/loader.c: Likewise.
18440 * kern/main.c: Likewise.
18441 * kern/misc.c: Likewise.
18442 * kern/mm.c: Likewise.
18443 * kern/parser.c: Likewise.
18444 * kern/partition.c: Likewise.
18445 * kern/rescue.c: Likewise.
18446 * kern/term.c: Likewise.
18447 * kern/efi/efi.c: Likewise.
18448 * kern/efi/init.c: Likewise.
18449 * kern/efi/mm.c: Likewise.
18450 * kern/i386/dl.c: Likewise.
18451 * kern/i386/efi/init.c: Likewise.
18452 * kern/i386/efi/startup.S: Likewise.
18453 * kern/i386/pc/init.c: Likewise.
18454 * kern/i386/pc/lzo1x.S: Likewise.
18455 * kern/i386/pc/startup.S: Likewise.
18456 * kern/ieee1275/ieee1275.c: Likewise.
18457 * kern/powerpc/cache.S: Likewise.
18458 * kern/powerpc/dl.c: Likewise.
18459 * kern/powerpc/ieee1275/cmain.c: Likewise.
18460 * kern/powerpc/ieee1275/crt0.S: Likewise.
18461 * kern/powerpc/ieee1275/init.c: Likewise.
18462 * kern/powerpc/ieee1275/openfw.c: Likewise.
18463 * kern/sparc64/cache.S: Likewise.
18464 * kern/sparc64/dl.c: Likewise.
18465 * kern/sparc64/ieee1275/init.c: Likewise.
18466 * kern/sparc64/ieee1275/openfw.c: Likewise.
18467 * loader/efi/chainloader.c: Likewise.
18468 * loader/efi/chainloader_normal.c: Likewise.
18469 * loader/i386/efi/linux.c: Likewise.
18470 * loader/i386/efi/linux_normal.c: Likewise.
18471 * loader/i386/pc/chainloader.c: Likewise.
18472 * loader/i386/pc/chainloader_normal.c: Likewise.
18473 * loader/i386/pc/linux.c: Likewise.
18474 * loader/i386/pc/linux_normal.c: Likewise.
18475 * loader/i386/pc/multiboot.c: Likewise.
18476 * loader/i386/pc/multiboot_normal.c: Likewise.
18477 * loader/powerpc/ieee1275/linux.c: Likewise.
18478 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
18479 * normal/arg.c: Likewise.
18480 * normal/cmdline.c: Likewise.
18481 * normal/command.c: Likewise.
18482 * normal/completion.c: Likewise.
18483 * normal/execute.c: Likewise.
18484 * normal/function.c: Likewise.
18485 * normal/lexer.c: Likewise.
18486 * normal/main.c: Likewise.
18487 * normal/menu.c: Likewise.
18488 * normal/menu_entry.c: Likewise.
18489 * normal/misc.c: Likewise.
18490 * normal/parser.y: Likewise.
18491 * normal/script.c: Likewise.
18492 * normal/i386/setjmp.S: Likewise.
18493 * normal/powerpc/setjmp.S: Likewise.
18494 * normal/sparc64/setjmp.S: Likewise.
18495 * partmap/acorn.c: Likewise.
18496 * partmap/amiga.c: Likewise.
18497 * partmap/apple.c: Likewise.
18498 * partmap/gpt.c: Likewise.
18499 * partmap/pc.c: Likewise.
18500 * partmap/sun.c: Likewise.
18501 * term/gfxterm.c: Likewise.
18502 * term/terminfo.c: Likewise.
18503 * term/efi/console.c: Likewise.
18504 * term/i386/pc/console.c: Likewise.
18505 * term/i386/pc/serial.c: Likewise.
18506 * term/i386/pc/vesafb.c: Likewise.
18507 * term/i386/pc/vga.c: Likewise.
18508 * term/ieee1275/ofconsole.c: Likewise.
18509 * util/biosdisk.c: Likewise.
18510 * util/console.c: Likewise.
18511 * util/genmoddep.c: Likewise.
18512 * util/getroot.c: Likewise.
18513 * util/grub-emu.c: Likewise.
18514 * util/grub-mkdevicemap.c: Likewise.
18515 * util/grub-probe.c: Likewise.
18516 * util/lvm.c: Likewise.
18517 * util/misc.c: Likewise.
18518 * util/raid.c: Likewise.
18519 * util/resolve.c: Likewise.
18520 * util/update-grub.in: Likewise.
18521 * util/update-grub_lib.in: Likewise.
18522 * util/grub.d/00_header.in: Likewise.
18523 * util/grub.d/10_hurd.in: Likewise.
18524 * util/grub.d/10_linux.in: Likewise.
18525 * util/i386/efi/grub-install.in: Likewise.
18526 * util/i386/efi/grub-mkimage.c: Likewise.
18527 * util/i386/pc/grub-install.in: Likewise.
18528 * util/i386/pc/grub-mkimage.c: Likewise.
18529 * util/i386/pc/grub-mkrescue.in: Likewise.
18530 * util/i386/pc/grub-setup.c: Likewise.
18531 * util/i386/pc/misc.c: Likewise.
18532 * util/powerpc/ieee1275/grub-install.in: Likewise.
18533 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
18534 * util/powerpc/ieee1275/misc.c: Likewise.
18535 * video/bitmap.c: Likewise.
18536 * video/video.c: Likewise.
18537 * video/i386/pc/vbe.c: Likewise.
18538 * video/i386/pc/vbeblit.c: Likewise.
18539 * video/i386/pc/vbefill.c: Likewise.
18540 * video/i386/pc/vbeutil.c: Likewise.
18541 * video/readers/tga.c: Likewise.
18542
3572d015 185432007-07-02 Robert Millan <rmh@aybabtu.com>
18544
18545 * conf/i386-efi.rmk: Replace obsolete reference to
18546 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
18547 with util/getroot.c.
18548 * conf/powerpc-ieee1275.rmk: Likewise.
18549 * conf/sparc64-ieee1275.rmk: Likewise.
18550
18551 * util/grub-emu.c (main): Fix unchecked pointer handling.
18552
2c2a681b 185532007-07-02 Robert Millan <rmh@aybabtu.com>
18554
18555 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
18556 invocation to fail, in order to support partition-less media.
18557
18558 * util/i386/pc/grub-install.in: Likewise.
18559
18560 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
18561 which fs or partmap modules are needed (akin to its sister scripts).
18562
18563 Also use grub-probe to get rid of unportable /proc/mounts check.
18564
18565 Print the same informational message that the other scripts do, before
fe6b695a 18566 exiting.
2c2a681b 18567
6193defe 185682007-06-23 Robert Millan <rmh@aybabtu.com>
18569
fe6b695a 18570 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 18571 a font file can be found and, if so, echo the GRUB path to it.
18572
18573 * util/update-grub.in: Handle multiple terminals depending on user
18574 input, platform availability and font file presence. Propagate
18575 variables of our findings to /etc/grub.d/ children.
18576
18577 * util/grub.d/00_header.in: Handle multiple terminals, based on
18578 environment setup by update-grub.
18579
eface1dc 185802007-06-23 Robert Millan <rmh@aybabtu.com>
18581
ba50d28f 18582 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 18583
bf697e28 185842007-06-21 Robert Millan <rmh@aybabtu.com>
18585
18586 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
18587 indicate end of data section in kernel image.
18588 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
18589 GRUB_KERNEL_MACHINE_DATA_END.
18590
18591 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
18592 space for it.
18593 * kern/i386/efi/startup.S: Likewise.
18594
18595 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
18596 during image generation. Implement --prefix option to override this
18597 patch.
18598 * util/i386/efi/grub-mkimage.c: Likewise.
18599
18600 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
18601 code to make path relative to its root into a separate function.
18602
18603 * util/i386/pc/grub-install.in: Use newly provided
18604 make_system_path_relative_to_its_root() to convert ${grubdir}, then
18605 pass the result to grub-install --prefix.
18606
baa574b4 186072007-06-13 Robert Millan <rmh@aybabtu.com>
18608
18609 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
18610 DEFAULT_DEVICE_MAP.
18611 * util/grub-emu.c: Use above definitions from misc.h instead of
18612 defining them.
18613 * util/grub-mkdevicemap.c: Likewise.
18614 * util/i386/pc/grub-setup.c: Likewise.
18615 * util/grub-probe.c: Likewise.
18616 (probe): Abort with grub_util_error() when either
18617 grub_guess_root_device or grub_util_get_grub_dev fails.
18618
0215dcbf 186192007-06-12 Robert Millan <rmh@aybabtu.com>
18620
18621 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
18622 "pager" assignment.
18623 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
18624 "pcdata".
18625 * util/grub-probe.c (probe): Likewise for "drive_name".
18626
8af2ab7b 186272007-06-11 Robert Millan <rmh@aybabtu.com>
18628
18629 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
18630 not just the cdrom one.
18631
59d31694 186322007-06-11 Robert Millan <rmh@aybabtu.com>
18633
18634 * util/i386/pc/grub-mkrescue.in: Add "set -e".
18635 Add --pkglibdir=DIR option to override pkglibdir.
18636 Mention --image-type=TYPE in help output.
18637 Fix --grub-mkimage (it was a no-op).
fe6b695a 18638 Abort gracefully when no parameter is given.
59d31694 18639
7ee367e4 186402007-06-11 Robert Millan <rmh@aybabtu.com>
18641
18642 * util/i386/pc/grub-mkrescue.in: New file.
18643 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
18644 * Makefile.in: Handle bin_SCRIPTS.
18645
29b0ed46 186462007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
18647
18648 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
18649 list of video modes.
18650
c0f90770 186512007-06-06 Robert Millan <rmh@aybabtu.com>
18652
18653 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
18654 file doesn't exist, or if it is in a filesystem grub can't read.
18655
18656 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
18657 not abort if GRUB_DRIVE could not be defined. Rearrange generated
18658 header comment to fit in 80 columns when the variables are resolved.
18659
18660 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
18661 could be identified by update-grub. Remove redundant check for
fe6b695a 18662 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 18663 handles that).
18664
fb36dc26 186652007-06-04 Robert Millan <rmh@aybabtu.com>
18666
18667 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
18668
18669 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
18670
18671 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
18672
0c68c93e 186732007-06-04 Robert Millan <rmh@aybabtu.com>
18674
18675 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
18676
18677 * include/grub/partition.h: Declare grub_apple_partition_map_init and
18678 grub_apple_partition_map_fini.
18679
18680 * util/biosdisk.c
18681 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
18682 to access >2 TiB disks).
18683
18684 Print disk->total_sectors with %llu instead of %lu, since this
18685 variable is always 64-bit (prevents wrong disk size from being displayed
18686 on either >2 TiB disk or big-endian CPU).
18687
18688 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
18689 into a generic case that supports all (sane) partition maps.
18690
18691 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
18692 breaks big-endian.
18693
18694 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
18695 and grub_apple_partition_map_fini() after that.
18696
0f23eb74 186972007-06-01 Robert Millan <rmh@aybabtu.com>
18698
18699 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
18700
18701 * util/grub.d/00_header.in: Only enable gfxterm when
18702 convert_system_path_to_grub_path() succeeds.
18703
42c71976 187042007-05-20 Robert Millan <rmh@aybabtu.com>
18705
18706 * util/update-grub_lib.in: New file.
18707 * DISTLIST: Add update-grub_lib.in.
18708 * conf/common.rmk: Generate update-grub_lib and install it in
18709 $(lib_DATA).
18710 * Makefile.in: Add install routine for $(lib_DATA).
18711
18712 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
18713 function provided by update-grub_lib to support arbitrary paths of
18714 unifont.pff.
18715 * util/update-grub.in: Use convert_system_path_to_grub_path() to
18716 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
18717
5beb2291 187182007-05-19 Robert Millan <rmh@aybabtu.com>
18719
18720 * commands/i386/cpuid.c: New module.
18721 * DISTLIST: Add it.
18722 * conf/i386-efi.rmk: Enable cpuid.mod.
18723 * conf/i386-pc.rmk: Likewise.
18724
7262eca1 187252007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
18726
18727 * kern/disk.c (grub_disk_read): Check return value of
18728 grub_realloc().
18729
260ba823 187302007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
18731
18732 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
18733 arrays.
18734 * disk/raid.c (grub_raid_open): Likewise.
18735
1ecb6cf2 187362007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
18737
18738 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
18739 stack instead of on the heap.
18740
18741 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
18742 before doing a read on it.
18743
18744 * configure.ac: Only use -fno-stack-protector for the target
18745 environment.
f19dbdb7 18746
21c8cbb1 187472007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
18748
18749 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
18750 __attribute_ ((unused)) to mode_type argument.
18751
18752 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 18753
21c8cbb1 18754 * kern/misc.c (memcmp): Fix prototype.
18755
18756 * include/grub/partition.h [GRUB_UTIL]
18757 (grub_gpt_partition_map_init): Add prototype.
18758 (grub_gpt_partition_map_fini): Likewise.
18759
18760 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
18761 at the right place.
18762
18763 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
18764 (grub_fat_read_data): Likewise.
18765 (grub_fat_find_dir): Likewise.
18766
18767 * font/manager.c (find_glyph): Make table a const.
18768 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 18769
849d55d3 187702007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
18771
18772 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
18773 code, first search for device in /dev/mapper, then in /dev.
18774 (grub_util_get_grub_dev): New function.
18775 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
18776 prototype.
18777 * util/grub-probe.c (probe): Remove check for RAID, call
18778 grub_util_get_grub_dev() instead of
18779 grub_util_biosdisk_get_grub_dev().
18780 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
18781 grub_util_biosdisk_get_grub_dev().
18782 * util/i386/pc/grub-setup.c (main): Likewise.
18783
8fff7c2f 187842007-05-16 Robert Millan <rmh@aybabtu.com>
18785
18786 * DISTLIST: Update for the latest changes.
18787 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
18788 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
18789 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
18790 grub/util/biosdisk.h.
18791 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
18792 grub/util/biosdisk.h.
18793
48e12b52 187942007-05-16 Robert Millan <rmh@aybabtu.com>
18795
18796 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
18797
46b9d128 187982007-05-16 Robert Millan <rmh@aybabtu.com>
18799
18800 * util/i386/efi/grub-install.in: New.
18801 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
18802 newly added grub-install.
18803 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
18804 include.
18805 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
18806 grub/util/biosdisk.h.
18807 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
18808 grub/util/biosdisk.h.
18809
2d1a40a9 188102007-05-16 Robert Millan <rmh@aybabtu.com>
18811
18812 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
18813 * include/grub/util/biosdisk.h: ... here.
18814 * util/i386/pc/biosdisk.c: Moved to ...
18815 * util/biosdisk.c: ... here.
18816 * util/i386/pc/getroot.c: Moved to ...
18817 * util/getroot.c: ... here.
18818 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
18819 * util/grub-mkdevicemap.c: ... here.
18820 * util/i386/pc/grub-probe.c: Moved to ...
18821 * util/grub-probe.c: ... here.
18822
9e26e3bc 188232007-05-15 Robert Millan <rmh@aybabtu.com>
18824
18825 * util/update-grub.in: Remove duplicated line in grub.cfg header
18826 message.
18827
57f96397 188282007-05-13 Robert Millan <rmh@aybabtu.com>
18829
18830 * util/update-grub.in: Fix a few assumptions about the devices holding
18831 /, /boot and /boot/grub being the same.
18832 * util/grub.d/00_header.in: Likewise.
18833 * util/grub.d/10_hurd.in: Likewise.
18834 * util/grub.d/10_linux.in: Likewise.
18835
18836 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
18837 patterns. Use that to define the `.old' suffix as older than `'.
18838
18839 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
18840
18841 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
18842 the grub.cfg header message.
18843
2e610d62 188442007-05-11 Robert Millan <rmh@aybabtu.com>
18845
18846 * util/update-grub.in: Create device.map if it doesn't already exist,
18847 before attempting to run grub-probe.
18848 Check for grub-probe and grub-mkdevicemap with the same code
18849 grub-install is using.
18850 Remove test mode.
18851
3f6a10ef 188522007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
18853
18854 * Makefile.in: Add the datarootdir autoconf variable.
18855
02e7b75e 188562007-05-09 Robert Millan <rmh@aybabtu.com>
18857
18858 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 18859 fail gracefully if dev->disk->partition == NULL.
02e7b75e 18860
75f396cc 188612007-05-07 Robert Millan <rmh@aybabtu.com>
18862
18863 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
18864 determine partition map module.
18865 * util/i386/pc/grub-install.in: Use this feature to decide which
18866 partition module to load, instead of hardcoding pc and gpt.
18867
da65cb36 188682007-05-07 Robert Millan <rmh@aybabtu.com>
18869
18870 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
18871 source directory differs from build directory.
18872
b57d6a91 188732007-05-05 Robert Millan <rmh@aybabtu.com>
18874
18875 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
18876 initialisation.
18877
509d00f1 188782007-05-05 Robert Millan <rmh@aybabtu.com>
18879
18880 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
18881
c48f23ef 188822007-05-05 Robert Millan <rmh@aybabtu.com>
18883
18884 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
18885 command-line arguments via ${GRUB_CMDLINE_LINUX}.
18886
20b97658 188872007-05-05 Robert Millan <rmh@aybabtu.com>
18888
18889 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
18890 (grub_probe_SOURCES): Likewise.
18891 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
18892 GPT and initialize dos_part and bsd_part accordingly.
18893 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
18894 install_bsd_part.
18895 (main): Activate gpt module for use during partition identification,
18896 and deactivate it afterwards.
18897 * util/i386/pc/grub-install.in: Add gpt module to core.img.
18898 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
18899 partition identification, and deactivate it afterwards.
18900
99123174 189012007-05-05 Robert Millan <rmh@aybabtu.com>
18902
18903 * term/i386/pc/console.c (grub_console_fini): Call
18904 grub_term_set_current() before grub_term_unregister().
18905
ebd97f6e 189062007-05-04 Robert Millan <rmh@aybabtu.com>
18907
18908 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
18909 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
18910 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
18911 and update-grub_DATA.
18912 * conf/common.rmk: Build and install update-grub components.
18913 * conf/common.mk: Regenerate.
18914 * util/update-grub.in: New. Core of update-grub.
18915 * util/grub.d/00_header.in: New. Generates grub.cfg header.
18916 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
18917 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
18918 * util/grub.d/README: New. Document grub.d directory layout.
18919
b06a264d 189202007-05-01 Robert Millan <rmh@aybabtu.com>
18921
18922 * util/grub-emu.c: Move initialization functions
18923 grub_util_biosdisk_init() and grub_init_all() before
18924 grub_util_biosdisk_get_grub_dev(), which relies on them.
18925
41f0050e 189262007-04-19 Robert Millan <rmh@aybabtu.com>
18927
18928 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
18929 it is used later.
18930
04582bb3 189312007-04-18 Jerone Young <jerone@gmail.com>
18932
f19dbdb7 18933 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 18934 stanza.
18935
08db4632 189362007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 18937
08db4632 18938 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
18939 continue on and look for device node with real device name.
18940
801b76be 189412007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 18942
fe6b695a 18943 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 18944 ability.
18945 * Makefile.in: Add autoconf package transformation code.
18946 * util/i386/pc/grub-install.in: Likewise.
18947 * util/powerpc/ieee1275/grub-install.in: Likewise.
18948
6795c4e1 189492007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
18950
18951 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
18952 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
18953 (EXT2_REVISION): Likewise.
18954 (EXT2_INODE_SIZE): Likewise.
18955 (struct grub_ext2_block_group): Added a missing member
18956 "used_dirs".
18957 (grub_ext2_read_inode): Divide by the inode size in a superblock
18958 instead of 128 to obtain INODES_PER_BLOCK.
18959 Use the macro EXT2_INODE_SIZE instead of directly using
18960 SBLOCK->INODE_SIZE.
18961
d70af616 189622007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
18963
18964 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
18965 superblock instead of the structure size to compute an
18966 offset. This fixes the problem that GRUB could not read a
18967 filesystem when inode size is different from 128-byte.
18968
3b801603 189692007-03-05 Marco Gerards <marco@gnu.org>
18970
18971 * normal/main.c (read_config_file): When "menu" is not set, create
18972 an initial context.
18973
4785bfe4 189742007-02-21 Hollis Blanchard <hollis@penguinppc.org>
18975
18976 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
18977 (HEAP_LIMIT): New macro.
18978 (grub_claim_heap): Claim memory up to `heaplimit'.
18979
a0cbb023 189802007-02-21 Hollis Blanchard <hollis@penguinppc.org>
18981
18982 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
18983 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
18984 (_start): Likewise.
18985 (grub_arch_modules_addr): Return address after `_end'.
18986 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
18987 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
18988 (add_segments): Calculate `_end' from phdr size and location.
18989 (ALIGN_UP): Moved to ...
18990 * include/grub/misc.h: here.
18991 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
18992 New macro.
18993 (GRUB_IEEE1275_MODULE_BASE): Removed.
18994
fd7d8eba 189952007-02-20 Hollis Blanchard <hollis@penguinppc.org>
18996
18997 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
18998 loop boundary.
18999
9b09e6fc 190002007-02-20 Hollis Blanchard <hollis@penguinppc.org>
19001
19002 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
19003 All users updated.
19004 (grub_elf64_load_hook_t): Likewise.
19005 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
19006 debug output.
19007
3ce27299 190082007-02-20 Hollis Blanchard <hollis@penguinppc.org>
19009
19010 * kern/mm.c: Update copyright.
19011 (grub_mm_debug): Correct syntax error.
19012 (grub_mm_dump_free): New function.
19013 (grub_debug_free): Call `grub_free'.
19014 * include/grub/mm.h: Update copyright.
19015 (grub_mm_dump_free): Add declaration.
19016
077d5fee 190172007-02-12 Hollis Blanchard <hollis@penguinppc.org>
19018
19019 * include/grub/ieee1275/ieee1275.h: Update copyright.
19020 * kern/powerpc/ieee1275/init.c: Likewise.
19021 * kern/powerpc/ieee1275/openfw.c: Likewise.
19022
19023 * loader/powerpc/ieee1275/linux.c: Likewise.
19024 * include/grub/elfload.h: Likewise.
19025 * kern/elf.c: Likewise.
19026 (grub_elf32_load): Pass `base' and `size' parameters. Update all
19027 callers.
19028 (grub_elf64_load): Likewise.
19029 (grub_elf32_load_segment): Move to a nested function.
19030 (grub_elf64_load_segment): Likewise.
19031
dc946850 190322007-02-12 Hollis Blanchard <hollis@penguinppc.org>
19033
19034 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
19035 prototype.
19036 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
19037 (grub_heap_len): Likewise.
19038 (HEAP_SIZE): New macro.
19039 (grub_claim_heap): New function.
19040 (grub_machine_init): Don't claim heap directly. Call
19041 `grub_claim_heap'.
19042 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
19043 (grub_available_iterate): New function.
19044
baa2a121 190452007-02-03 Thomas Schwinge <tschwinge@gnu.org>
19046
19047 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
19048 * configure.ac: Use it for testing the HOST and TARGET compilers.
19049
4fe9862e 190502006-12-13 Thomas Schwinge <tschwinge@gnu.org>
19051
19052 * Makefile.in (enable_grub_emu): New variable.
19053 * configure.ac (--enable-grub-emu): New option.
19054 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
19055 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
19056 * conf/i386-pc.rmk: Likewise.
19057 * conf/powerpc-ieee1275.rmk: Likewise.
19058 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
19059
a8aa5762 190602006-12-12 Marco Gerards <marco@gnu.org>
19061
19062 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
19063
19064 * kern/env.c (grub_env_unset): Don't free the member `value' when
19065 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
19066 pointer.
19067
19068 * normal/main.c (current_menu): Removed.
19069 (free_menu): Unset the `menu' environment variable.
19070 (grub_normal_menu_addentry): Make use of the environment variable
19071 `menu', instead of using the global `current_menu'. Allocate
19072 memory for the sourcecode of this entry.
19073 (read_config_file): New argument `nested', changed all callers.
19074 Only in the case of a new context, initialize a new menu. Set the
19075 `menu' environment variable.
19076 (grub_normal_execute): Don't set and unset the environment
19077 variable `menu' here anymore. Only free the menu when leaving the
19078 context.
19079
19080 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
19081 leak.
19082
957b3a3e 190832006-12-11 Marco Gerards <marco@gnu.org>
19084
19085 * normal/menu_entry.c (run): Fix off by one bug so the last line
19086 is executed. Move the loader check to outside the loop.
19087
ef875714 190882006-12-08 Hollis Blanchard <hollis@penguinppc.org>
19089
19090 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
19091
4e739985 190922006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
19093
19094 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
19095 the number of sectors. Reported by Andrey Shuvikov
19096 <mr_hyro@yahoo.com>.
f19dbdb7 19097
790707f2 190982006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
19099
19100 * kern/disk.c (grub_disk_read): When there is a read error, always
19101 try to read only the necessary data.
f19dbdb7 19102
790707f2 19103 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
19104 disk/raid.c.
19105 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
19106 prototype.
19107 [GRUB_UTIL] (grub_raid_fini): Likewise.
19108 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 19109 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 19110 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
19111 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
19112 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
19113 and grub_raid_fini().
f19dbdb7 19114
03e58196 191152006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
19116
19117 * include/grub/types.h (__unused): Rename to UNUSED.
19118 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
19119 (grub_elf64_size): Likewise.
f19dbdb7 19120
ae4f23bf 191212006-11-03 Hollis Blanchard <hollis@penguinppc.org>
19122
19123 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
19124 grub_error_push and grub_error_pop in the error-handling path.
19125 (grub_elf32_load_segment): Only call grub_file_read with non-zero
19126 length.
19127
2166cc83 191282006-11-03 Hollis Blanchard <hollis@penguinppc.org>
19129
19130 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
19131 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19132 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19133 (kernel_elf_SOURCES): Likewise.
19134 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
19135 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
19136 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
19137 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
19138 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
19139 (elf_mod_SOURCES): New variable.
19140 (elf_mod_CFLAGS): Likewise.
19141 (elf_mod_LDFLAGS): Likewise.
19142 * include/grub/types.h (__unused): New macro.
19143 * include/grub/elfload.h: New file.
19144 * kern/elf.c: Likewise.
19145 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
19146 (ELF32_LOADMASK): New macro.
19147 (ELF64_LOADMASK): Likewise.
19148 (vmlinux): Removed.
19149 (grub_linux_load32): New function.
19150 (grub_linux_load64): Likewise.
19151 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
19152 Use grub_elf_t instead of grub_file_t.
19153
a09d5aa5 191542006-11-02 Hollis Blanchard <hollis@penguinppc.org>
19155
19156 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
19157 `catch_result' to struct set_color_args.
19158
d976fc51 191592006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
19160
19161 * normal/menu.c: Include grub/script.h.
19162 * normal/menu_entry.c: Likewise.
19163 * include/grub/normal.h: Do not include grub/script.h.
19164
67507549 191652006-10-27 Hollis Blanchard <hollis@penguinppc.org>
19166
19167 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
19168
69203a99 191692006-10-27 Hollis Blanchard <hollis@penguinppc.org>
19170
19171 * kern/disk.c (grub_disk_open): Print debug messages when opening a
19172 disk.
19173 (grub_disk_close): Print debug messages when closing a disk.
19174 (grub_disk_read): Print debug messages when disk read fails.
19175 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
19176 filesystem type.
19177 * kern/partition.c: Include misc.h.
19178 (grub_partition_iterate): Print debug messages when detecting
19179 partition type.
19180
e2b8278c 191812006-10-27 Hollis Blanchard <hollis@penguinppc.org>
19182
19183 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
19184 is negative.
19185 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
19186
97b2f2ff 191872006-10-26 Hollis Blanchard <hollis@penguinppc.org>
19188
19189 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
19190 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
19191
6555d655 191922006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
19193
19194 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
19195 instead of sizeof(lv). Patch by Michael Guntsche.
19196
4d42b77f 191972006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
19198
19199 * disk/lvm.c: Rename VGS to VG_LIST.
19200 (grub_lvm_iterate): Change VGS->LV to VG-LV.
19201 (grub_lvm_open): Likewise.
19202 Thanks to Michael Guntsche for finding this bug.
19203
5d74d927 192042006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
19205
19206 * configure.ac (AC_INIT): Bumped to 1.95.
19207
a1bb27e4 192082006-10-14 Robert Millan <rmh@aybabtu.com>
19209
19210 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
19211 with "/dev/.static/dev/md".
19212
e0994b8b 192132006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
19214
19215 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
19216 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
19217 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
19218 DRIVE_NAME are always freed.
19219
19220 * util/i386/pc/biosdisk.c (make_device_name): Add one into
19221 DOS_PART, as a DOS partition is counted from one instead of zero
19222 now. Reported by Robert Millan.
19223
ddd5cee9 192242006-10-14 Robert Millan <rmh@aybabtu.com>
19225
19226 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
19227 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
19228 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
19229 string returned by grub_guess_root_device.
19230 * util/i386/pc/grub-setup.c: Likewise.
19231 * util/i386/pc/grub-probefs.c: Likewise.
19232
19233 * util/i386/pc/grub-probefs.c: Rename to ...
19234 * util/i386/pc/grub-probe.c: ... this.
19235 * DISTLIST: Remove grub-probefs, add grub-probe.
19236 * conf/i386-efi.rmk: Likewise.
19237 * conf/i386-pc.rmk: Likewise.
19238 * util/i386/pc/grub-install.in: Likewise.
19239
19240 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
19241 choose which information we want to print.
19242
2b002173 192432006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
19244
19245 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
19246 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
19247 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
19248 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
19249 video/readers/tga.c and video/i386/pc/vbeutil.c.
19250
192512006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
19252
19253 Added support for RAID and LVM.
f19dbdb7 19254
2b002173 19255 * disk/lvm.c: New file.
19256 * disk/raid.c: Likewise.
19257 * include/grub/lvm.h: Likewise.
f19dbdb7 19258 * include/grub/raid.h: Likewise.
2b002173 19259 * include/grub/util/lvm.h: Likewise.
19260 * include/grub/util/raid.h: Likewise.
19261 * util/lvm.c: Likewise.
19262 * util/raid.c: Likewise.
19263
19264 * include/grub/disk.h (grub_disk_dev_id): Add
19265 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
19266 (grub_disk_get_size): New prototype.
19267 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
19268 returns a partition.
19269 (grub_disk_get_size): New function.
f19dbdb7 19270
2b002173 19271 * kern/i386/pc/init.c (make_install_device): Copy the prefix
19272 verbatim if grub_install_dos_part is -2.
19273
19274 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
19275 and LVM devices.
19276
19277 * util/i386/pc/grub-setup.c (setup): New argument
19278 MUST_EMBED. Force embedding of GRUB when the argument is
19279 true. Close FILE before returning.
19280 (main): Add support for RAID and LVM.
f19dbdb7 19281
2b002173 19282 * conf/common.rmk: Add RAID and LVM modules.
19283 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
19284 util/lvm.c.
19285 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
19286
19287 * kern/misc.c (grub_strstr): New function.
19288 * include/grub/misc.h (grub_strstr): New prototype.
19289
050548d0 192902006-10-10 Tristan Gingold <tristan.gingold@bull.net>
19291
19292 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
19293
da849d2d 192942006-10-05 Tristan Gingold <tristan.gingold@bull.net>
19295
19296 * kern/misc.c (grub_strtoull): Guess the base only if not
19297 specified.
19298
97b2f2ff 192992006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 19300
19301 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
19302 PowerMac support.
19303
97b2f2ff 193042006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 19305
19306 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
19307
19308 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
19309 Remove `flags' argument. All callers changed.
19310 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
19311 (IEEE1275_IHANDLE_INVALID): New variable.
19312 (IEEE1275_CELL_INVALID): New variable.
19313 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
19314 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
19315 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
19316 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
19317 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
19318 codes from Open Firmware. All callers updated.
19319 (grub_ieee1275_next_property): Directly return Open Firmware return
19320 code.
19321 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
19322 Standardize error checking from `grub_ieee1275_get_property'.
19323 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
19324 `devalias' to `aliases'. Correct comments. Consolidate error paths.
19325
97b2f2ff 193262006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 19327
19328 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
19329 `instance_to_package_args' to `instance_to_path_args'.
19330
19331 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
19332 `grub_ieee1275_chosen'.
19333
19334 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
19335 `grub_ieee1275_interpret'.
19336
97b2f2ff 193372006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 19338
19339 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
19340
97b2f2ff 193412006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 19342
19343 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
19344 (__cmpdi): Likewise.
19345
19346 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
19347 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
19348 `grub_ssize_t'.
19349
02bb8acc 19350 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 19351
19352 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
19353 to type `grub_ssize_t'.
19354 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
19355
7f9a8531 193562006-09-22 Marco Gerards <marco@gnu.org>
19357
19358 * normal/script.c (grub_script_create_cmdmenu): Skip leading
19359 newlines.
19360
b5ef1102 193612006-09-22 Marco Gerards <marco@gnu.org>
19362
19363 * commands/echo.c: New file.
19364
19365 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
19366
19367 * conf/common.rmk (echo_mod_SOURCES): New variable.
19368 (echo_mod_CFLAGS): Likewise.
19369 (echo_mod_LDFLAGS): Likewise.
19370
2cff3677 193712006-09-22 Marco Gerards <marco@gnu.org>
19372
19373 * normal/main.c (get_line): Malloc memory instead of using
19374 preallocated memory. Removed the arguments `cmdline' and
19375 `max_len'. Updated all callers.
19376
6ba4688b 193772006-09-22 Marco Gerards <marco@gnu.org>
19378
19379 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
19380 (normal_mod_DEPENDENCIES): Likewise.
19381
19382 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
19383 (normal_mod_DEPENDENCIES): Likewise.
19384
19385 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
19386
e02ac02c 193872006-09-22 Johan Rydberg <jrydberg@gnu.org>
19388
19389 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
19390 programs.
19391 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
19392 (normal_mod_DEPENDENCIES): Likewise.
19393 * conf/i386-pc.mk: Regenerate.
19394 * conf/i386-efi.mk: Likewise
19395 * conf/common.mk: Likewise.
19396 * conf/powerpc-ieee1275.mk: Likewise.
19397 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 19398
8d252e44 193992006-09-22 Robert Millan <rmh@aybabtu.com>
19400
19401 Sync with i386 version.
19402 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
19403 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
19404
209bf7ac 194052006-09-21 Robert Millan <rmh@aybabtu.com>
19406
19407 Import from GRUB Legacy (lib/device.c):
19408 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
19409 (init_device_map) [__linux__]: Add support for I2O devices.
19410
6b146090 194112006-09-14 Marco Gerards <marco@gnu.org>
19412
19413 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
19414 `-melf_i386'.
19415
e38600a8 194162006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 19417
19418 * util/i386/pc/grub-install.in: Skip menu.lst when removing
19419 /boot/grub/*.lst.
78fa1790 19420
2952da5d 19421 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 19422
2952da5d 19423 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
19424 before adding it to device.map.
19425
01b82a64 194262006-08-15 Johan Rydberg <jrydberg@gnu.org>
19427
fe6b695a 19428 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 19429 compiles a file; using the -MD option.
19430 * conf/common.mk: Regenerate.
19431 * conf/i386-pc.mk: Likewise.
19432 * conf/i386-efi.mk: Likewise.
19433 * conf/powerpc-ieee1275.mk: Likewise.
19434 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 19435
1064790d 194362006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
19437
19438 Move the prototypes of grub_setjmp and grub_longjmp to
19439 cpu/setjmp.h, so that each architecture may specify different
19440 attributes.
f19dbdb7 19441
1064790d 19442 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
19443 (grub_longjmp): Likewise.
19444 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
19445 (grub_longjmp): Likewise.
19446 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
19447 (grub_longjmp): Likewise.
19448
19449 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
19450 [!GRUB_UTIL] (grub_longjmp): Removed.
19451
29dda3ed 194522006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
19453
19454 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
19455 "color!" method does not return any value.
19456
ad2a06ed 194572006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
19458
19459 * include/grub/bitmap.h: New file.
19460
19461 * include/grub/i386/pc/vbeutil.h: Likewise.
19462
19463 * video/bitmap.c: Likewise.
19464
19465 * video/readers/tga.c: Likewise.
19466
19467 * video/i386/pc/vbeutil.c: Likewise.
19468
19469 * commands/videotest.c: Code cleanup and updated to reflect to new
19470 video API.
19471
19472 * term/gfxterm.c: Likewise.
19473
19474 * video/video.c: Likewise.
19475
19476 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
19477 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
19478 (bitmap_mod_SOURCES): New entry.
19479 (bitmap_mod_CFLAGS): Likewise.
19480 (bitmap_mod_LDFLAGS): Likewise.
19481 (tga_mod_SOURCES): Likewise.
19482 (tga_mod_CFLAGS): Likewise.
19483 (tga_mod_LDFLAGS): Likewise.
19484
19485 * include/grub/video.h (grub_video_blit_operators): New enum type.
19486 (grub_video_render_target): Changed as forward declaration and moved
19487 actual definition to be video driver specific.
19488 (grub_video_adapter.blit_bitmap): Added blitting operator.
19489 (grub_video_adapter.blit_render_target): Likewise.
19490 (grub_video_blit_bitmap): Likewise.
19491 (grub_video_blit_render_target): Likewise.
19492
19493 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
19494 driver specific render target definition.
19495 (grub_video_vbe_map_rgba): Added driver internal helper.
19496 (grub_video_vbe_unmap_color): Updated to use
19497 grub_video_i386_vbeblit_info.
19498 (grub_video_vbe_get_video_ptr): Likewise.
19499
19500 * include/grub/i386/pc/vbeblit.h
19501 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
19502 grub_video_i386_vbeblit_info.
19503 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
19504 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
19505 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
19506 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
19507 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
19508 (grub_video_i386_vbeblit_index_index): Likewise.
19509 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
19510 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
19511 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
19512 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
19513 operator.
19514 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
19515 operator.
19516
19517 * video/i386/pc/vbeblit.c: Updated to reflect changes on
19518 include/grub/i386/pc/vbeblit.h.
19519
19520 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
19521 Updated to use grub_video_i386_vbeblit_info.
19522 (grub_video_i386_vbefill_R8G8B8): Likewise.
19523 (grub_video_i386_vbefill_index): Likewise.
19524 (grub_video_i386_vbefill): Added generic filler.
19525
19526 * video/i386/pc/vbefill.c: Updated to reflect changes on
19527 include/grub/i386/pc/vbefill.h.
19528
19529 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
19530 grub_video_i386_vbeblit_info.
19531 (grub_video_vbe_unmap_color): Likewise.
19532 (grub_video_vbe_blit_glyph): Likewise.
19533 (grub_video_vbe_scroll): Likewise.
19534 (grub_video_vbe_draw_pixel): Removed function.
19535 (grub_video_vbe_get_pixel): Likewise.
19536 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
19537 updated code to use it.
19538 (common_blitter): Added common blitter for render target and bitmap.
19539 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
19540 (grub_video_vbe_blit_render_target): Likewise.
19541
bc8c036d 195422006-07-30 Johan Rydberg <jrydberg@gnu.org>
19543
19544 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
19545 is in text mode if there is no console control protocol instance
19546 available.
19547
684a8eff 195482006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
19549
19550 * include/grub/video.h: Code cleanup.
19551
19552 * include/grub/i386/pc/vbe.h: Likewise.
19553
19554 * video/i386/pc/vbe.c: Likewise.
19555
19556 * video/i386/pc/vbeblit.c: Likewise.
19557
19558 * video/i386/pc/vbefill.c: Likewise.
19559
19560 * video/video.c: Likewise. Also added more comments.
19561
5915059b 195622006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
19563
19564 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
19565 (struct grub_biosdisk_dap): Likewise.
19566
19567 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
19568 linkage settings for all functions.
19569
90ce5d56 195702006-07-12 Marco Gerards <marco@gnu.org>
19571
19572 * configure.ac (--enable-mm-debug): Fix typo.
19573
19574 * genkernsyms.sh.in: Use proper quoting for `CC'.
19575
43e7f879 195762006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
19577
19578 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
19579 (normal_mod_ASFLAGS): Remove "-m32".
19580
4889bdec 195812006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
19582
19583 * util/misc.c: Include config.h.
19584 [!HAVE_MEMALIGN]: Do not include malloc.h.
19585 (grub_memalign): Use posix_memalign, if present. Then, use
19586 memalign, if present. Otherwise, emit an error.
19587
19588 * util/grub-emu.c: Do not include malloc.h.
19589
19590 * include/grub/util/misc.h: Include unistd.h. This is required for
19591 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
19592 D. Eades III <hde@foobar-qux.org>.
19593
19594 * configure.ac (AC_GNU_SOURCE): Added.
19595 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
19596 type.
19597
fd39d4da 195982006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
19599
19600 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
19601 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
19602
b786f3b5 196032006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
19604
19605 * include/grub/types.h (grub_host_addr_t): Rename to
19606 grub_target_addr_t.
19607 (grub_host_off_t): Rename to grub_target_off_t.
19608 (grub_host_size_t): Rename to grub_target_size_t.
19609 (grub_host_ssize_t): Rename to grub_target_ssize_t.
19610 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
19611
19612 * include/grub/kernel.h (struct grub_module_header): Change type
19613 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
19614 (grub_module_info): Likewise.
f19dbdb7 19615
051988bb 196162006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
19617
19618 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
19619 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
19620 Velazquez <jesus.velazquez@gmail.com>.
19621
deae281b 196222006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
19623
19624 Count partitions from 1 instead of 0 in the string representation
19625 of partitions. Still use 0-based internally.
f19dbdb7 19626
deae281b 19627 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
19628 (sun_partition_map_iterate): Use grub_partition_t instead of
19629 struct grub_partition *. Cast DESC->START_CYLINDER to
19630 grub_uint64_t after converting the endian.
19631 (sun_partition_map_probe): Subtract 1 for PARTNUM.
19632 (sun_partition_map_get_name): Add 1 to P->INDEX.
19633
19634 * partmap/pc.c (grub_partition_parse): Subtract 1 for
19635 PCDATA->DOS_PART.
19636 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
19637
19638 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
19639 zero instead of one.
19640 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
19641 (gpt_partition_map_get_name): Add 1 into P->INDEX.
19642
19643 * partmap/apple.c (apple_partition_map_iterate): Change the type
19644 of POS to unsigned.
19645 (apple_partition_map_probe): Subtract 1 for PARTNUM.
19646 (apple_partition_map_get_name): Add 1 into P->INDEX.
19647
19648 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
19649 of POS to unsigned.
19650 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
19651 calculate the offset of a partition.
19652 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
19653 (amiga_partition_map_get_name): Add 1 into P->INDEX.
19654
19655 * partmap/acorn.c (acorn_partition_map_find): Change the type of
19656 SECTOR to grub_disk_addr_t.
19657 (acorn_partition_map_iterate): Likewise.
19658 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
19659 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
19660 top.
19661 (acorn_partition_map_get_name): Add 1 into P->INDEX.
19662
19663 * kern/i386/pc/init.c (make_install_device): Add 1 into
19664 GRUB_INSTALL_DOS_PART.
19665
19666 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
19667 conditional.
19668
524a1e6a 196692006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
19670
19671 Clean up the code to support 64-bit addressing in disks and
19672 files. This change is not enough for filesystems yet.
f19dbdb7 19673
524a1e6a 19674 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
19675 type of "start" to grub_uint64_t.
19676 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
19677 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
19678 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
19679 convert addresses.
19680
19681 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
19682 to grub_disk_addr_t.
19683
19684 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
19685 string.
19686
19687 * partmap/pc.c (pc_partition_map_iterate): Likewise.
19688
19689 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
19690 to char *.
19691
19692 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
19693
19694 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
19695
19696 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
19697
19698 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
19699 to grub_off_t, to detect an error from grub_file_seek.
19700 (grub_multiboot_load_elf32): Likewise.
19701
19702 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
19703 maximum unsigned long value when an overflow is detected.
19704 (grub_strtoull): New function.
19705 (grub_divmod64): Likewise.
19706 (grub_lltoa): use grub_divmod64.
19707
19708 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
19709 grub_disk_addr_t.
19710 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
19711 the pointer to next character. Use grub_strtoull instead of
19712 grub_strtoul.
19713 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
19714 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
19715 respectively.
19716
fe6b695a 19717 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 19718 return value is signed.
19719 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
19720 test if OFFSET is less than zero, as OFFSET is unsigned now.
19721
19722 * kern/disk.c (struct grub_disk_cache): Change the type of
19723 "sector" to grub_disk_addr_t.
19724 (grub_disk_cache_get_index): Change the type of SECTOR to
19725 grub_disk_addr_t. Calculate the hash with SECTOR casted to
19726 unsigned after shifting.
19727 (grub_disk_cache_invalidate): Change the type of SECTOR to
19728 grub_disk_addr_t.
19729 (grub_disk_cache_unlock): Likewise.
19730 (grub_disk_cache_store): Likewise.
19731 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
19732 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
19733 grub_disk_addr_t and grub_uint64_t, respectively.
19734 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
19735 body, as the value of OFFSET is tweaked by
19736 grub_disk_check_range. Change the types of START_SECTOR, LEN and
19737 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
19738 respectively.
19739 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
19740 body, as the value of OFFSET is tweaked by
19741 grub_disk_check_range. Change the types of LEN and N to
19742 grub_size_t.
19743
19744 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
19745 and "saved_offset" to grub_off_t.
19746 (test_header): Cast BUF to char *.
19747 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
19748 to char *.
19749 (grub_gzio_read): Change the types of OFFSET and SIZE to
19750 grub_off_t and grub_size_t, respectively.
19751
19752 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
19753 Removed.
19754 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
19755 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
19756 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
19757 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
19758 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
19759
19760 * include/grub/types.h (grub_off_t): Unconditionally set to
19761 grub_uint64_t.
19762 (grub_disk_addr_t): Changed to grub_uint64_t.
19763
19764 * include/grub/partition.h (struct grub_partition): Change the
19765 types of "start", "len" and "offset" to grub_disk_addr_t,
19766 grub_uint64_t and grub_disk_addr_t, respectively.
19767 (grub_partition_get_start): Return grub_disk_addr_t.
19768 (grub_partition_get_len): Return grub_uint64_t.
19769
19770 * include/grub/misc.h (grub_strtoull): New prototype.
19771 (grub_divmod64): Likewise.
19772
19773 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
19774 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
19775 grub_off_t, respectively.
19776 All callers and references changed.
19777
19778 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
19779 grub_size_t in "read".
19780 All callers and references changed.
19781
19782 * include/grub/file.h (struct grub_file): Change the types of
19783 "offset" and "size" to grub_off_t and grub_off_t,
19784 respectively. Change the type of SECTOR to grub_disk_addr_t in
19785 "read_hook".
19786 (grub_file_read): Change the type of LEN to grub_size_t.
19787 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
19788 grub_off_t.
19789 (grub_file_size): Return grub_off_t.
19790 (grub_file_tell): Likewise.
19791 All callers and references changed.
19792
19793 * include/grub/disk.h (struct grub_disk_dev): Change the types of
19794 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
19795 "write".
19796 (struct grub_disk): Change the type of "total_sectors" to
19797 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 19798 "read_hook".
524a1e6a 19799 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
19800 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
19801 (grub_disk_write): Likewise.
19802 All callers and references changed.
19803
19804 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
19805 char * for grub_strncmp to silence gcc.
19806 (grub_iso9660_mount): Likewise.
19807 (grub_iso9660_mount): Likewise.
19808 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
19809 return statement.
19810 (grub_iso9660_iterate_dir): Likewise.
19811 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
19812
19813 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
19814 LEN to grub_disk_addr_t and grub_size_t, respectively.
19815
19816 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
19817
19818 * fs/jfs.c (grub_jfs_read_file): Likewise.
19819
19820 * fs/minix.c (grub_jfs_read_file): Likewise.
19821
19822 * fs/sfs.c (grub_jfs_read_file): Likewise.
19823
19824 * fs/ufs.c (grub_jfs_read_file): Likewise.
19825
19826 * fs/xfs.c (grub_jfs_read_file): Likewise.
19827
19828 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
19829 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
19830 respectively.
19831
19832 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
19833 BLKNR to -1 instead of returning GRUB_ERRNO.
19834 (grub_ext2_read_file): Change the types of SECTOR and
19835 LEN to grub_disk_addr_t and grub_size_t, respectively.
19836
19837 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
19838 LEN to grub_disk_addr_t and grub_size_t, respectively.
19839
19840 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
19841 grub_file_read.
19842
19843 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
19844 string. Do not cast SECTOR explicitly.
19845
19846 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
19847 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
19848 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
19849 grub_disk_addr_t and grub_size_t, respectively. If the sector is
19850 over 2TB and LBA mode is not supported, raise an error.
19851 (get_safe_sectors): New function.
19852 (grub_biosdisk_read): Use get_safe_sectors.
19853 (grub_biosdisk_write): Likewise.
19854
19855 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
19856 (grub_efidisk_write): Likewise.
19857
19858 * disk/loopback.c (delete_loopback): Cosmetic changes.
19859 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
19860 correctly.
19861 (grub_loopback_open): Likewise.
19862 (grub_loopback_read): Likewise. Also, change the type of POS to
19863 grub_off_t, and fix the usage of grub_memset.
19864
19865 * commands/i386/pc/play.c: Include grub/machine/time.h.
19866
19867 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
19868 print FILE->SIZE.
19869
19870 * commands/configfile.c: Include grub/env.h.
19871
19872 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
19873 GRUB_ERRNO directly instead. Change the type of POS to
19874 grub_off_t. Follow the coding standard.
19875
19876 * commands/blocklist.c: Include grub/partition.h.
19877 (grub_cmd_blocklist): Return an error if the underlying device is
19878 not a disk. Take the starting sector of a partition into account,
19879 if a partition is used.
19880
19881 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
19882 a length field.
19883 (lba_mode): Support 64-bit addresses.
19884 (chs_mode): Likewise.
19885 (copy_buffer): Adapted to the new offsets of a length field and a
19886 segment field.
19887 (blocklist_default_start): Allocate 64-bit space.
19888
19889 * boot/i386/pc/boot.S (force_lba): Removed.
19890 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 19891 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 19892 space.
19893 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
19894 is useless.
19895 (lba_mode): Refactored to support a 64-bit address. More size
19896 optimization.
19897 (setup_sectors): Likewise.
19898
53af98ad 198992006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
19900
19901 * DISTLIST: Added include/grub/i386/linux.h. Removed
19902 include/grub/i386/pc/linux.h
19903
19904 * configure.ac (AC_INIT): Bumped to 1.94.
19905
19906 * config.guess: Updated from gnulib.
19907 * config.sub: Likewise.
19908 * install-sh: Likewise.
19909 * mkinstalldirs: Likewise.
19910
b4c1940a 199112006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
19912
19913 * conf/common.rmk (grub_modules_init.lst): Depended on
19914 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
19915 MODSRCFILES.
19916
19917 * genmk.rb (PModule::rule): Reverted the previous change.
19918
cfca1cfd 199192006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
19920
19921 * conf/common.rmk (grub_modules_init.lst): Depends on
19922 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
19923 that the target does not exist before producing.
19924 (grub_modules_init.h): Remove the target before generating.
19925 (grub_emu_init.c): Likewise.
19926
19927 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
19928
aa6d7826 199292006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
19930
19931 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
19932 for the target-specific tests. Make sure that we also have the
19933 up-to-date target variables for those tests.
19934
26c607b9 199352006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
19936
19937 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
19938 (PModule::rule): Likewise.
19939
0162321a 199402006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
19941
19942 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
19943 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
19944 target-specific flags should be prefixed.
19945 (PModule::rule): Likewise.
19946
6c826348 199472006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
19948
19949 * configure.ac (CMP): Check if cmp is available explicitly.
19950
b977bf01 199512006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
19952
19953 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
19954 (target_cpu): New variable.
19955 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 19956
b977bf01 19957 * util/i386/pc/grub-install.in (host_cpu): Removed.
19958 (target_cpu): New variable.
19959 (pkglibdir): Use target_cpu instead of host_cpu.
19960
19961 * util/genmoddep.c: Removed.
f19dbdb7 19962
b977bf01 19963 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
19964 instead of GRUB_HOST_SIZEOF_VOID_P.
19965 * kern/dl.c: Likewise.
19966
19967 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
19968 ...
19969 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
19970 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
19971 (GRUB_TARGET_SIZEOF_LONG): ... this.
19972 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
19973 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
19974 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
19975 to ...
19976 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
19977 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
19978 (GRUB_TARGET_SIZEOF_LONG): ... this.
19979 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
19980 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
19981 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
19982 to ...
19983 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
19984 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
19985 (GRUB_TARGET_SIZEOF_LONG): ... this.
19986 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
19987 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
19988
19989 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
19990 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
19991 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
19992 instead of GRUB_HOST_SIZEOF_LONG.
19993 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
19994 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
19995 GRUB_CPU_WORDS_BIGENDIAN.
19996 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
19997 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
19998 grub_host_ssize_t.
19999
20000 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
20001 (genmoddep_SOURCES): Likewise.
20002 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
20003 (genmoddep_SOURCES): Likewise.
20004 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
20005 (genmoddep_SOURCES): Likewise.
20006 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
20007 Likewise.
20008 (genmoddep_SOURCES): Likewise.
20009
20010 * genmoddep.awk: New file.
20011
20012 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
20013 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
20014 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
20015 (PModule::rule): Likewise.
20016 (Program::rule): Likewise.
20017 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
20018 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
20019 respectively.
20020
20021 * configure.ac: Rewritten intensively to use host and target
20022 instead of build and host, respectively.
20023
20024 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
20025 (host_cpu): Removed.
20026 (target_cpu): New variable.
20027 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
20028 (BUILD_CC): Removed.
20029 (BUILD_CFLAGS): Likewise.
20030 (BUILD_CPPFLAGS): Likewise.
20031 (TARGET_CC): New variable.
20032 (TARGET_CFLAGS): Likewise.
20033 (TARGET_CPPFLAGS): Likewise.
20034 (TARGET_LDFLAGS): Likewise.
20035 (AWK): Likewise.
20036 (include): Use target_cpu instead of host_cpu.
20037 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 20038
b977bf01 20039 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
20040
f09771a1 200412006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
20042
20043 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
20044 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
20045 field 'false' to 'exec_on_false'.
20046 (grub_script_create_cmdif): Renamed argument names to reflect above
20047 changes.
20048
20049 * normal/execute.c (grub_script_execute_cmdif): Likewise.
20050
20051 * normal/script.c (grub_script_create_cmdif): Likewise.
20052
118f4fb3 200532006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
20054
20055 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
20056 top.
20057 (grub_hfsplus_btree_recptr): Likewise.
20058 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
20059 FILEBLOCK both to pass a block number and store next block
20060 number.
20061 (grub_hfsplus_read_block): Rewritten heavily to support an extent
20062 overflow file correctly. Specify errors appropriately, because
20063 fshelp expects that GRUB_ERRNO is set when fails. Reuse
20064 grub_hfsplus_btree_recptr to get the pointer to a found key.
20065 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
20066 is found.
20067
20068 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
20069 linux.mod.
20070 (_linux_mod_SOURCES): New variable.
20071 (_linux_mod_CFLAGS): Likewise.
20072 (_linux_mod_LDFLAGS): Likewise.
20073 (linux_mod_SOURCES): Likewise.
20074 (linux_mod_CFLAGS): Likewise.
20075 (linux_mod_LDFLAGS): Likewise.
20076
20077 * DISTLIST: Added loader/i386/efi/linux.c,
20078 loader/i386/efi/linux_normal.c and
20079 include/grub/i386/efi/loader.h.
20080
20081 * loader/i386/efi/linux.c: New file.
20082 * loader/i386/efi/linux_normal.c: Likewise.
20083 * include/grub/i386/efi/loader.h: Likewise.
20084
89a7d726 200852006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
20086
20087 * commands/blocklist.c: New file.
20088
20089 * DISTLIST: Added commands/blocklist.c.
20090
20091 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 20092 color for the background, and a darker color for the foreground.
89a7d726 20093 (grub_console_checkkey): Return READ_KEY.
20094 (grub_console_cls): Set the background to
20095 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
20096
20097 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
20098
20099 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
20100 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
20101
20102 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
20103 prototype.
20104
20105 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
20106 BG. The spec is wrong again.
20107
20108 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
20109 prototype.
20110 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
20111
20112 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
20113 commands/blocklist.c.
20114 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 20115
89a7d726 20116 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
20117 (blocklist_mod_SOURCES): New variable.
20118 (blocklist_mod_CFLAGS): Likewise.
20119 (blocklist_mod_LDFLAGS): Likewise.
20120
75c8f258 201212006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
20122
20123 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
20124 duplication.
20125 (lba_mode): Use %eax more intensively to reduce the code size.
20126
da2eb181 201272006-05-20 Marco Gerards <marco@gnu.org>
20128
20129 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
20130
20131 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
20132 for `menuentry'.
20133 (script): Accept leading newlines.
20134 (newlines): New rule to describe 0 or more newlines.
20135 (commands): Accept `command' with trailing newline. Fixed the
20136 order in which arguments were passed to `grub_script_add_cmd'.
20137 Accept commands separated by newlines.
20138 (function): Changed to accept newlines.
20139 (menuentry) Rewritten.
20140
20141 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
20142 front of the list, instead of to the end.
20143
577b4050 201442006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
20145
20146 * util/i386/pc/grub-install.in (bindir): New variable.
20147 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
20148 Shaver <lbgwjl@gmail.com>.
20149
0d6e1189 201502006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
20151
20152 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
20153 grub/machine/linux.h
20154 * loader/i386/pc/linux.c: Likewise.
20155
20156 * include/grub/i386/pc/linux.h: Moved to ...
20157 * include/grub/i386/linux.h: ... here.
20158
20159 * include/grub/i386/linux.h (struct linux_kernel_params): New
20160 struct.
f19dbdb7 20161
31b86e9f 201622006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
20163
20164 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
20165 checking.
20166 (grub_video_vbe_blit_glyph): Likewise.
20167 (grub_video_vbe_blit_bitmap): Likewise.
20168 (grub_video_vbe_blit_render_target): Likewise.
20169
83b984de 201702006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
20171
20172 * configure.ac (--with-platform): Properly quote the square
20173 brackets.
20174
5f0413bd 201752006-05-08 Marco Gerards <marco@gnu.org>
20176
20177 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
20178 this...
20179 (kernel_elf_HEADERS): ...to this. Updated all users.
20180 (grubof_symlist.c): Renamed from this...
20181 (kernel_elf_symlist.c): ...to this. Updated all users.
20182 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
20183 (grubof_SOURCES): Renamed from this...
20184 (kernel_elf_SOURCES): ...to this.
20185 (grubof_HEADERS): Renamed from this...
20186 (kernel_elf_HEADERS): ...to this.
20187 (grubof_CFLAGS): Renamed from this...
20188 (kernel_elf_CFLAGS): ...to this.
20189 (grubof_ASFLAGS): Renamed from this...
20190 (kernel_elf_ASFLAGS): ...to this.
20191 (grubof_LDFLAGS): Renamed from this...
20192 (kernel_elf_LDFLAGS): ...to this.
20193
20194 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
20195 this...
20196 (kernel_elf_HEADERS): ...to this. Updated all users.
20197 (grubof_symlist.c): Renamed from this...
20198 (kernel_elf_symlist.c): ...to this. Updated all users.
20199 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
20200 (grubof_SOURCES): Renamed from this...
20201 (kernel_elf_SOURCES): ...to this.
20202 (grubof_HEADERS): Renamed from this...
20203 (kernel_elf_HEADERS): ...to this.
20204 (grubof_CFLAGS): Renamed from this...
20205 (kernel_elf_CFLAGS): ...to this.
20206 (grubof_ASFLAGS): Renamed from this...
20207 (kernel_elf_ASFLAGS): ...to this.
20208 (grubof_LDFLAGS): Renamed from this...
20209 (kernel_elf_LDFLAGS): ...to this.
20210
20211 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
20212 `kernel.elf' instead of `grubof'.
20213
05568c2e 202142006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
20215
20216 Add --with-platform to configure. Use pkglibdir instead of
20217 pkgdatadir. This is reported by Roger Leigh.
20218
20219 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
20220 (host_vendor): Likewise.
20221 (host_os): Likewise.
20222 (pkgdatadir): Likewise.
20223 (platform): New variable.
20224 (pkglibdir): Likewise.
20225 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 20226
05568c2e 20227 * util/i386/pc/grub-install.in (datadir): Removed.
20228 (host_vendor): Likewise.
20229 (host_os): Likewise.
20230 (pkgdatadir): Likewise.
20231 (platform): New variable.
20232 (pkglibdir): Likewise.
20233 Use PKGLIBDIR instead of PKGDATADIR.
20234
20235 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
20236 instead of GRUB_DATADIR.
20237 (main): Likewise.
20238 * util/i386/pc/grub-mkimage.c (usage): Likewise.
20239 (main): Likewise.
20240 * util/i386/efi/grub-mkimage.c (usage): Likewise.
20241 (main): Likewise.
20242
20243 * configure.ac (--with-platform): New option.
20244 Use PLATFORM instead of HOST_VENDOR to specify a platform.
20245
20246 * Makefile.in: Include a makefile based on PLATFORM instead of
20247 HOST_VENDOR.
20248 (pkgdatadir): Not appended by the machine type.
20249 (pkglibdir): Appended by the machine type.
20250 (host_vendor): Removed.
20251 (platform): New variable.
20252 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
20253 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
20254 (uninstall): Likewise.
20255
4e93851c 202562006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
20257
20258 Use the environment context in the menu. Remove the commands
20259 "default" and "timeout", and use variables instead.
f19dbdb7 20260
4e93851c 20261 * normal/menu.c: Include grub/env.h.
20262 (print_entry): Cast TITLE to silence gcc.
20263 (get_timeout): New function.
20264 (set_timeout): Likewise.
20265 (get_entry_number): Likewise.
20266 (run_menu): Use a default entry, a fallback entry and a timeout
20267 in the environment variables "default", "fallback" and
20268 "timeout". Also, tweak the default entry if it is not within the
20269 current menu entries.
20270 (grub_menu_run): Use a fallback entry in the environment variable
20271 "fallback".
20272
20273 * normal/main.c (read_config_file): Do not initialize
20274 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
20275 NEWMENU->TIMEOUT.
20276 (grub_normal_execute): Use a data slot to store the menu.
20277
20278 * include/grub/normal.h (struct grub_menu): Removed default_entry,
20279 fallback_entry and timeout.
20280 (struct grub_menu_list): Removed.
20281 (grub_menu_list_t): Likewise.
20282 (struct grub_context): Likewise.
20283 (grub_context_t): Likewise.
20284 (grub_context_get): Likewise.
20285 (grub_context_get_current_menu): Likewise.
20286 (grub_context_push_menu): Likewise.
20287 (grub_context_pop_menu): Likewise.
20288 (grub_default_init): Likewise.
20289 (grub_default_fini): Likewise.
20290 (grub_timeout_init): Likewise.
20291 (grub_timeout_fini): Likewise.
20292
20293 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
20294 and timeout.mod.
20295 (normal_mod_SOURCES): Removed normal/context.c.
20296
20297 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
20298 commands/default.c, commands/timeout.c and normal/context.c.
20299 (normal_mod_SOURCES): Removed normal/context.c.
20300
20301 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
20302 commands/timeout.c and normal/context.c.
20303 (normal_mod_SOURCES): Removed normal/context.c.
20304
20305 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
20306 commands/default.c, commands/timeout.c and normal/context.c.
20307 (normal_mod_SOURCES): Removed normal/context.c.
20308
20309 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
20310 timeout.mod.
20311 (default_mod_SOURCES): Removed.
20312 (default_mod_CFLAGS): Likewise.
20313 (default_mod_LDFLAGS): Likewise.
20314 (timeout_mod_SOURCES): Removed.
20315 (timeout_mod_CFLAGS): Likewise.
20316 (timeout_mod_LDFLAGS): Likewise.
20317
20318 * DISTLIST: Removed commands/default.c, commands/timeout.c and
20319 normal/context.c.
20320
20321 * commands/default.c: Removed.
20322 * commands/timeout.c: Likewise.
20323 * normal/context.c: Likewise.
20324
1eb9cc1d 203252006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
20326
20327 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
20328
385bd9c1 203292006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
20330
20331 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
20332 "next" to "prev" for readability.
20333 (struct grub_env_sorted_var): New struct.
20334 (grub_env_context): Renamed to ...
20335 (initial_context): ... this.
20336 (grub_env_var_context): Renamed to ...
20337 (current_context): ... this.
20338 (grub_env_find): Look only at CURRENT_CONTEXT.
20339 (grub_env_context_open): Rewritten to copy exported variables from
20340 previous context.
20341 (grub_env_context_close): Rewritten according to the new
20342 scheme. Also, add an assertion to prevent the initial context from
20343 removed.
20344 (grub_env_insert): Removed the code for the sorted list.
20345 (grub_env_remove): Likewise.
20346 (grub_env_export): Simply mark the variable with
20347 GRUB_ENV_VAR_GLOBAL.
20348 (grub_env_set): A cosmetic change for naming consistency.
20349 (grub_env_get): Likewise.
20350 (grub_env_unset): Likewise.
20351 (grub_env_iterate): Rewritten to sort variables within this
20352 function.
20353 (grub_register_variable_hook): Fixed for naming consistency. Call
20354 grub_env_find again, only if NAME is not found at the first time.
20355 (mangle_data_slot_name): New function.
20356 (grub_env_set_data_slot): Likewise.
20357 (grub_env_get_data_slot): Likewise.
20358 (grub_env_unset_data_slot): Likewise.
20359
20360 * include/grub/env.h (grub_env_var_type): New enum.
20361 (GRUB_ENV_VAR_LOCAL): New constant.
20362 (GRUB_ENV_VAR_GLOBAL): Likewise.
20363 (GRUB_ENV_VAR_DATA): Likewise.
20364 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
20365 "type".
20366 (grub_env_set): Replace VAR with NAME for consistency.
20367 (grub_register_variable_hook): Likewise.
20368 (grub_env_export): Specify the name of the argument.
20369 (grub_env_set_data_slot): New prototype.
20370 (grub_env_get_data_slot): Likewise.
20371 (grub_env_unset_data_slot): Likewise.
20372
7f362539 203732006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
20374
20375 Extend the loader so that GRUB can accept a loader which comes
20376 back to GRUB when a loaded image exits. Also, this change adds
20377 support for a chainloader on EFI.
f19dbdb7 20378
7f362539 20379 * term/efi/console.c: Include grub/misc.h.
20380 (grub_console_checkkey): Display a scan code on the top for
20381 debugging. This will be removed once the EFI port gets stable.
20382 Correct the scan code mapping.
20383
20384 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
20385 allocate memory from larger regions, in order to reduce the number
20386 of allocated regions. Otherwise, the MacOSX loader panics.
20387 (filter_memory_map): Avoid less than 1MB for compatibility with
20388 other loaders.
20389 (add_memory_regions): Allocate from the tail of a region, if
20390 possible, to avoid allocating a region near to 1MB, for the MacOSX
20391 loader.
20392
20393 * kern/efi/init.c (grub_efi_set_prefix): Specify
20394 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
20395
20396 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
20397 argument IMAGE_HANDLE and specify it to get a loaded image.
20398 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
20399 grub_efi_get_loaded_image.
fe6b695a 20400 (grub_efi_get_filename): Divide the length by the size of
7f362539 20401 grub_efi_char16_t.
20402 (grub_efi_get_device_path): New function.
20403 (grub_efi_print_device_path): Print End Device Path nodes. Divide
20404 the length by the size of grub_efi_char16_t for a file path device
20405 path node.
20406
20407 * kern/loader.c (grub_loader_noreturn): New variable.
20408 (grub_loader_set): Accept a new argument NORETURN. Set
20409 GRUB_LOADER_NORETURN to NORETURN.
20410 All callers changed.
20411 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
20412 grub_machine_fini.
20413
20414 * include/grub/efi/efi.h (grub_efi_get_device_path): New
20415 prototype.
20416 (grub_efi_get_loaded_image): Take an argument to specify an image
20417 handle.
20418
20419 * include/grub/loader.h (grub_loader_set): Added one more argument
20420 NORETURN.
20421
20422 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
20423 instead of grub_efi_open_protocol.
20424 (grub_efidisk_get_device_name): Likewise.
20425 (grub_efidisk_close): Print a newline.
20426 (grub_efidisk_get_device_handle): Fixed to use
20427 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
20428 GRUB_EFI_DEVICE_PATH_TYPE.
20429
20430 * disk/efi/efidisk.c (device_path_guid): Moved to ...
20431 * kern/efi/efi.c (device_path_guid): ... here.
20432
20433 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
20434 chain.mod.
20435 (kernel_mod_HEADERS): Added efi/disk.h.
20436 (_chain_mod_SOURCES): New variable.
20437 (_chain_mod_CFLAGS): Likewise.
20438 (_chain_mod_LDFLAGS): Likewise.
20439 (chain_mod_SOURCES): Likewise.
20440 (chain_mod_CFLAGS): Likewise.
20441 (chain_mod_LDFLAGS): Likewise.
20442
20443 * DISTLIST: Added include/grub/efi/chainloader.h,
20444 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
20445
20446 * include/grub/efi/chainloader.h: New file.
20447 * loader/efi/chainloader.c: Likewise.
20448 * loader/efi/chainloader_normal.c: Likewise.
20449
c0111d6e 204502006-04-30 Marco Gerards <marco@gnu.org>
20451
20452 * commands/configfile.c (grub_cmd_source): New function.
20453 (GRUB_MOD_INIT): Register the commands `source' and `.'.
20454 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
20455
df5341da 204562006-04-30 Marco Gerards <marco@gnu.org>
20457
20458 * normal/execute.c (grub_script_execute_cmd): Change the return
20459 type to `grub_err_t'. Correctly return the error.
20460 (grub_script_execute_cmdline): In case a command line is not a
20461 command or a function, try to interpret it as an assignment.
20462
f85934bd 204632006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
20464
20465 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
20466 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
20467 skip a node whose name is obviously invalid as UTF-16,
20468 i.e. contains a NUL character. Stop the iteration when the last
20469 directory entry is found. Instead of using the return value of
20470 grub_hfsplus_btree_iterate_node, store the value in RET and use
20471 it, because the iterator can be stopped by the last directory
20472 entry.
20473
8f8a2cf8 204742006-04-30 Marco Gerards <marco@gnu.org>
20475
20476 * include/grub/env.h (grub_env_export): New prototype. Reported
20477 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
20478
a27e84ce 204792006-04-30 Marco Gerards <marco@gnu.org>
20480
20481 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
20482 size of the extents in a catalog file record.
20483
eaef0553 204842006-04-29 Marco Gerards <marco@gnu.org>
20485
20486 * commands/configfile.c (grub_cmd_configfile): Execute the
20487 configfile within its own context.
20488
20489 * include/grub/env.h (grub_env_context_open): New prototype.
20490 (grub_env_context_close): Likewise.
20491
20492 * kern/env.c (grub_env): Removed.
20493 (grub_env_sorted): Likewise.
20494 (grub_env_context): New variable.
20495 (grub_env_var_context): Likewise.
20496 (grub_env_find): Search both the active context and the global
20497 context.
20498 (grub_env_context_open): New function.
20499 (grub_env_context_close): Likewise.
20500 (grub_env_insert): Likewise.
20501 (grub_env_remove): Likewise.
20502 (grub_env_export): Likewise.
20503 (grub_env_set): Changed to use helper functions to avoid code
20504 duplication.
20505 (grub_env_iterate): Rewritten so both the current context and the
20506 global context are being used.
20507
20508 * normal/command.c (export_command): New function.
20509 (grub_command_init): Register the `export' function.
20510
7b455f4d 205112006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
20512
20513 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
20514 explicitly to suppress gcc's warnings.
20515 * fs/fat.c (grub_fat_find_dir): Likewise.
20516 (grub_fat_label): Likewise.
20517 * fs/xfs.c (grub_xfs_read_inode): Likewise.
20518 (grub_xfs_mount): Likewise.
20519 (grub_xfs_label): Likewise.
20520 * fs/affs.c (grub_affs_mount): Likewise.
20521 (grub_affs_label): Likewise.
20522 (grub_affs_iterate_dir): Likewise.
20523 * fs/sfs.c (grub_sfs_mount): Likewise.
20524 (grub_sfs_iterate_dir): Likewise.
20525 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
20526 * fs/hfs.c (grub_hfs_mount): Likewise.
20527 (grub_hfs_cmp_catkeys): Likewise.
20528 (grub_hfs_find_dir): Likewise.
20529 (grub_hfs_dir): Likewise.
20530 (grub_hfs_label): Likewise.
20531 * fs/jfs.c (grub_jfs_mount): Likewise.
20532 (grub_jfs_opendir): Likewise.
20533 (grub_jfs_getent): Likewise.
20534 (grub_jfs_lookup_symlink): Likewise.
20535 (grub_jfs_label): Likewise.
20536 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
20537 (grub_hfsplus_iterate_dir): Likewise.
20538 (grub_hfsplus_btree_iterate_node): Made static.
20539
20540 * util/grub-emu.c (prefix): New variable.
20541 (grub_machine_set_prefix): New function.
20542 (main): Do not set the environment variable "prefix" here. Only
20543 set PREFIX, which is used later by grub_machine_set_prefix.
20544
20545 * include/grub/video.h: Do not include grub/symbol.h.
20546 (grub_video_register): Not exported. This symbol is not defined in
20547 the kernel.
20548 (grub_video_unregister): Likewise.
20549 (grub_video_iterate): Likewise.
20550 (grub_video_setup): Likewise.
20551 (grub_video_restore): Likewise.
20552 (grub_video_get_info): Likewise.
20553 (grub_video_get_blit_format): Likewise.
20554 (grub_video_set_palette): Likewise.
20555 (grub_video_get_palette): Likewise.
20556 (grub_video_set_viewport): Likewise.
20557 (grub_video_get_viewport): Likewise.
20558 (grub_video_map_color): Likewise.
20559 (grub_video_map_rgb): Likewise.
20560 (grub_video_map_rgba): Likewise.
20561 (grub_video_fill_rect): Likewise.
20562 (grub_video_blit_glyph): Likewise.
20563 (grub_video_blit_bitmap): Likewise.
20564 (grub_video_blit_render_target): Likewise.
20565 (grub_video_scroll): Likewise.
20566 (grub_video_swap_buffers): Likewise.
20567 (grub_video_create_render_target): Likewise.
20568 (grub_video_delete_render_target): Likewise.
20569 (grub_video_set_active_render_target): Likewise.
20570
20571 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
20572 Undefined.
20573 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
20574
20575 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
20576 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
20577 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
20578 instead of $(srcdir)/genkernsyms.sh.
20579
20580 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
20581 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
20582 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
20583 instead of $(srcdir)/genkernsyms.sh.
20584
20585 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
20586 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
20587 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
20588 instead of $(srcdir)/genkernsyms.sh.
20589
20590 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
20591 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
20592 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
20593 instead of $(srcdir)/genkernsyms.sh.
20594
20595 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
20596 genkernsyms.sh.
20597
20598 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
20599 genkernsyms.sh.
20600 (gensymlist.sh): New target.
20601 (genkernsyms.sh): Likewise.
20602
20603 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
20604 genkernsyms.sh.in and gensymlist.sh.in.
20605
20606 * genkernsyms.sh: Removed.
20607 * gensymlist.sh: Likewise.
f19dbdb7 20608
7b455f4d 20609 * genkernsyms.sh.in: New file.
20610 * gensymlist.sh.in: Likewise.
20611
1885bb27 206122006-04-25 Hollis Blanchard <hollis@penguinppc.org>
20613
20614 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
20615 clobber "prefix", since we may have already set it manually.
20616
71538dff 206172006-04-25 Hollis Blanchard <hollis@penguinppc.org>
20618
20619 * kern/misc.c (abort): New alias for grub_abort.
20620
2965c7cc 206212006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
20622
20623 A new machine-specific function "grub_machine_set_prefix" is
20624 defined. This is called after loading modules, so that a prefix
20625 initialization can use modules. Also, this change adds an
20626 intensive debugging feature for the memory manager via the
20627 configure option "--enable-mm-debug".
f19dbdb7 20628
2965c7cc 20629 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
20630 PART.LEN.
20631
20632 * kern/sparc64/ieee1275/init.c (abort): Removed.
20633 (grub_stop): Likewise.
20634 (grub_exit): New function.
20635 (grub_set_prefix): Renamed to ...
20636 (grub_machine_set_prefix): ... this.
20637 (grub_machine_init): Do not call grub_set_prefix.
20638
20639 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
20640 (grub_machine_set_prefix): ... this.
20641 (grub_machine_init): Do not call grub_set_prefix.
20642
20643 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
20644 (grub_machine_init): Do not set the prefix here.
20645
20646 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
20647
20648 * kern/efi/init.c: Include grub/mm.h.
20649 (grub_efi_set_prefix): New function.
20650
20651 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
20652 (grub_efi_get_filename): New function.
20653 (grub_print_device_path): Renamed to ...
20654 (grub_efi_print_device_path): ... this.
20655
20656 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
20657 [MM_DEBUG] (grub_realloc): Likewise.
20658 [MM_DEBUG] (grub_free): Likewise.
20659 [MM_DEBUG] (grub_memalign): Likewise.
20660 [MM_DEBUG] (grub_mm_debug): New variable.
20661 [MM_DEBUG] (grub_debug_malloc): New function.
20662 [MM_DEBUG] (grub_debug_free): New function.
20663 [MM_DEBUG] (grub_debug_realloc): New function.
20664 [MM_DEBUG] (grub_debug_memalign): New function.
20665
20666 * kern/misc.c (grub_abort): Print a newline to distinguish
20667 the message.
20668
20669 * kern/main.c (grub_main): Call grub_machine_set_prefix and
20670 grub_set_root_dev after loading modules. This is necessary when
20671 setting a prefix depends on modules.
20672
20673 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
20674 (grub_efi_print_device_path): ... this.
20675 (grub_efi_get_filename): New prototype.
20676 (grub_efi_set_prefix): Likewise.
20677
20678 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
20679 and grub/disk.h.
20680 (grub_efidisk_get_device_handle): New prototype.
20681 (grub_efidisk_get_device_name): Likewise.
20682
20683 * include/grub/mm.h: Include config.h.
20684 (MM_DEBUG): Removed.
20685 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
20686 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
20687 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
20688 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
20689 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
20690 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
20691 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
20692 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
20693 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
20694
20695 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
20696
20697 * disk/efi/efidisk.c: Include grub/partition.h.
20698 (iterate_child_devices): New function.
20699 (add_device): First, compare only last device path nodes, so that
20700 devices are sorted by the types.
20701 (grub_efidisk_get_device_handle): New function.
20702 (grub_efidisk_get_device_name): Likewise.
20703
20704 * configure.ac (--enable-mm-debug): New option to enable the
20705 memory manager debugging feature. This makes the binary much
20706 bigger, so is disabled by default.
20707
9cacaa17 207082006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
20709
20710 Use grub_abort instead of grub_stop, and grub_exit must be
20711 define in each architecture now. Also, this change adds support
20712 for EFI disks.
f19dbdb7 20713
9cacaa17 20714 * util/i386/pc/grub-probefs.c: Include grub/term.h.
20715 (grub_getkey): New function.
20716 (grub_term_get_current): Likewise.
20717
20718 * util/i386/pc/grub-setup.c: Include grub/term.h.
20719 (grub_getkey): New function.
20720 (grub_term_get_current): Likewise.
20721
20722 * util/misc.c (grub_stop): Renamed to ...
20723 (grub_exit): ... this.
20724
20725 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
20726 (grub_exit): ... this.
20727 (grub_machine_init): Use grub_abort instead of abort.
20728 (grub_stop): Removed.
20729
20730 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
20731 abort.
20732
20733 * kern/i386/pc/startup.S (grub_exit): New function.
20734 (cold_reboot): New label.
20735
20736 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
20737 (grub_efi_init): Call grub_efidisk_init.
20738 (grub_efi_fini): Call grub_efidisk_fini.
20739
20740 * kern/efi/efi.c: Include grub/mm.h.
20741 (grub_efi_console_control_guid): Renamed to ...
20742 (console_control_guid): ... this.
20743 (grub_efi_loaded_image_guid): Renamed to ...
20744 (loaded_image_guid): ... this.
20745 (grub_efi_locate_handle): New function.
20746 (grub_efi_open_protocol): Likewise.
20747 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
20748 GRUB_EFI_CONSOLE_CONTROL_GUID.
20749 (grub_efi_exit): Removed.
20750 (grub_stop): Likewise.
20751 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
20752 (grub_exit): New function.
20753 (grub_print_device_path): Likewise.
20754
20755 * kern/rescue.c (grub_rescue_cmd_exit): New function.
20756 (grub_enter_rescue_mode): Register "exit".
20757
20758 * kern/misc.c (grub_real_dprintf): A cosmetic change.
20759 (grub_abort): New function.
20760
20761 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
20762
20763 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
20764
20765 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
20766
20767 * include/grub/efi/efi.h (grub_efi_exit): Removed.
20768 (grub_print_device_path): New prototype.
20769 (grub_efi_locate_handle): Likewise.
20770 (grub_efi_open_protocol): Likewise.
20771
20772 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
20773 * disk/efi/efidisk.c: Likewise.
20774
20775 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
20776
20777 * include/grub/efi/console_control.h
20778 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
20779
20780 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
20781 last 8 bytes as an array.
20782 (GRUB_EFI_DISK_IO_GUID): New macro.
20783 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
20784 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
20785 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
20786 grub_uint8_t.
20787 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
20788 (struct grub_efi_device_path): Rename the member "sub_type" to
20789 "subtype".
20790 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
20791 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
20792 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
20793 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
20794 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
20795 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
20796 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
20797 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
20798 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
20799 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
20800 (struct grub_efi_pci_device_path): New structure.
20801 (grub_efi_pci_device_path_t): New type.
20802 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
20803 (struct grub_efi_pccard_device_path): New structure.
20804 (grub_efi_pccard_device_path_t): New type.
20805 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
20806 (struct grub_efi_memory_mapped_device_path): New structure.
20807 (grub_efi_memory_mapped_device_path_t): New type.
20808 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
20809 (struct grub_efi_vendor_device_path): New structure.
20810 (grub_efi_vendor_device_path_t): New type.
20811 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
20812 (struct grub_efi_controller_device_path): New structure.
20813 (grub_efi_controller_device_path_t): New type.
20814 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
20815 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
20816 (struct grub_efi_acpi_device_path): New structure.
20817 (grub_efi_acpi_device_path_t): New type.
20818 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
20819 (struct grub_efi_expanded_acpi_device_path): New structure.
20820 (grub_efi_expanded_acpi_device_path_t): New type.
20821 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
20822 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
20823 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
20824 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
20825 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
20826 (struct grub_efi_atapi_device_path): New structure.
20827 (grub_efi_atapi_device_path_t): New type.
20828 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
20829 (struct grub_efi_fibre_channel_device_path): New structure.
20830 (grub_efi_fibre_channel_device_path_t): New type.
20831 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
20832 (struct grub_efi_1394_device_path): New structure.
20833 (grub_efi_1394_device_path_t): New type.
20834 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
20835 (struct grub_efi_usb_device_path): New structure.
20836 (grub_efi_usb_device_path_t): New type.
20837 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
20838 (struct grub_efi_usb_class_device_path): New structure.
20839 (grub_efi_usb_class_device_path_t): New type.
20840 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
20841 (struct grub_efi_i2o_device_path): New structure.
20842 (grub_efi_i2o_device_path_t): New type.
20843 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
20844 (struct grub_efi_mac_address_device_path): New structure.
20845 (grub_efi_mac_address_device_path_t): New type.
20846 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
20847 (struct grub_efi_ipv4_device_path): New structure.
20848 (grub_efi_ipv4_device_path_t): New type.
20849 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
20850 (struct grub_efi_ipv6_device_path): New structure.
20851 (grub_efi_ipv6_device_path_t): New type.
20852 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
20853 (struct grub_efi_infiniband_device_path): New structure.
20854 (grub_efi_infiniband_device_path_t): New type.
20855 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
20856 (struct grub_efi_uart_device_path): New structure.
20857 (grub_efi_uart_device_path_t): New type.
20858 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
20859 (struct grub_efi_vendor_messaging_device_path): New structure.
20860 (grub_efi_vendor_messaging_device_path_t): New type.
20861 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
20862 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
20863 (struct grub_efi_hard_drive_device_path): New structure.
20864 (grub_efi_hard_drive_device_path_t): New type.
20865 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
20866 (struct grub_efi_cdrom_device_path): New structure.
20867 (grub_efi_cdrom_device_path_t): New type.
20868 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
20869 (struct grub_efi_vendor_media_device_path): New structure.
20870 (grub_efi_vendor_media_device_path_t): New type.
20871 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
20872 (struct grub_efi_file_path_device_path): New structure.
20873 (grub_efi_file_path_device_path_t): New type.
20874 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
20875 (struct grub_efi_protocol_device_path): New structure.
20876 (grub_efi_protocol_device_path_t): New type.
20877 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
20878 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
20879 (struct grub_efi_bios_device_path): New structure.
20880 (grub_efi_bios_device_path_t): New type.
20881 (struct grub_efi_disk_io): New structure.
20882 (grub_efi_disk_io_t): New type.
20883 (struct grub_efi_block_io_media): New structure.
20884 (grub_efi_block_io_media_t): New type.
20885 (struct grub_efi_block_io): New structure.
20886 (grub_efi_block_io_t): New type.
20887
20888 * include/grub/misc.h (grub_stop): Removed.
20889 (grub_exit): New prototype.
20890 (grub_abort): Likewise.
20891
20892 * include/grub/disk.h (enum grub_disk_dev_id): Added
20893 GRUB_DISK_DEVICE_EFIDISK_ID.
20894
20895 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
20896 disk/efi/efidisk.c.
20897 (kernel_syms.lst): Remove the target if an error occurs.
20898
49986a9f 208992006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
20900
20901 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
20902 as it was simply too buggy.
20903
970d3b8a 209042006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
20905
20906 * kern/misc.c (grub_lltoa): New function.
20907 (grub_vsprintf): Added support for the long long suffix,
20908 i.e. "ll".
20909
ff04ec24 209102006-04-20 Hollis Blanchard <hollis@penguinppc.org>
20911
20912 * Makefile.in (LDFLAGS): Add variable.
20913 (LD): Remove variable.
20914 * configure.ac: Add -m32 to LDFLAGS.
20915 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
20916 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
20917 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
20918 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
20919 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
20920 variables.
20921 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
20922 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
20923 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
20924
37e5e1a4 209252006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
20926
20927 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
20928 length for unknown glyph.
20929
c352d8dd 209302006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
20931
2eab1c0d 20932 Add support for pre-loaded modules into the EFI port.
f19dbdb7 20933
2eab1c0d 20934 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
20935 completely. Accept one more argument DIR. The caller has changed.
20936
20937 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
20938
20939 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
20940 (grub_efi_loaded_image_guid): New variable.
20941 (grub_efi_get_loaded_image): New function.
20942 (grub_arch_modules_addr): Likewise.
20943
20944 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
20945 prototype.
20946
20947 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
20948 (struct grub_efi_loaded_image): New structure.
20949 (grub_efi_loaded_image_t): New type.
20950
209512006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 20952
c352d8dd 20953 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
20954 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
20955 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
20956
6d01d6b4 209572006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
20958
20959 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
20960
976a4ea0 209612006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
20962
20963 * DISTLIST: Added include/grub/efi/console.h,
20964 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
20965 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
20966
20967 * include/grub/efi/console.h: New file.
20968 * include/grub/efi/time.h: Likewise.
20969 * include/grub/i386/efi/kernel.h: Likewise.
20970 * kern/efi/init.c: Likewise.
20971 * kern/efi/mm.c: Likewise.
20972 * term/efi/console.c: Likewise.
f19dbdb7 20973
976a4ea0 20974 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
20975 (grub_stop): Removed.
20976 (grub_get_rtc): Likewise.
20977 (grub_machine_init): Simply call grub_efi_init.
20978 (grub_machine_fini): Call grub_efi_fini.
20979
20980 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
20981 (grub_efi_output_string): Removed.
20982 (grub_efi_stall): New function.
20983 (grub_stop): Likewise.
20984 (grub_get_rtc): Likewise.
20985
20986 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
20987 (grub_efi_stall): New prototype.
20988 (grub_efi_allocate_pages): Likewise.
20989 (grub_efi_free_pages): Likewise.
20990 (grub_efi_get_memory_map): Likewise.
20991 (grub_efi_mm_init): Likewise.
20992 (grub_efi_mm_fini): Likewise.
20993 (grub_efi_init): Likewise.
20994 (grub_efi_fini): Likewise.
20995
20996 * include/grub/i386/efi/time.h: Do not include
20997 grub/symbol.h. Include grub/efi/time.h.
20998 (GRUB_TICKS_PER_SECOND): Removed.
20999 (grub_get_rtc): Likewise.
21000
21001 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
21002 Added padding. The EFI spec is buggy.
21003 (GRUB_EFI_BLACK): New macro.
21004 (GRUB_EFI_BLUE): Likewise.
21005 (GRUB_EFI_GREEN): Likewise.
21006 (GRUB_EFI_CYAN): Likewise.
21007 (GRUB_EFI_RED): Likewise.
21008 (GRUB_EFI_MAGENTA): Likewise.
21009 (GRUB_EFI_BROWN): Likewise.
21010 (GRUB_EFI_LIGHTGRAY): Likewise.
21011 (GRUB_EFI_BRIGHT): Likewise.
21012 (GRUB_EFI_DARKGRAY): Likewise.
21013 (GRUB_EFI_LIGHTBLUE): Likewise.
21014 (GRUB_EFI_LIGHTGREEN): Likewise.
21015 (GRUB_EFI_LIGHTCYAN): Likewise.
21016 (GRUB_EFI_LIGHTRED): Likewise.
21017 (GRUB_EFI_LIGHTMAGENTA): Likewise.
21018 (GRUB_EFI_YELLOW): Likewise.
21019 (GRUB_EFI_WHITE): Likewise.
21020 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
21021 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
21022 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
21023 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
21024 (GRUB_EFI_BACKGROUND_RED): Likewise.
21025 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
21026 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
21027 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
21028 (GRUB_EFI_TEXT_ATTR): Likewise.
21029
21030 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
21031 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
21032 (kernel_mod_HEADERS): Added efi/time.h.
21033
83709125 210342006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
21035
21036 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
21037 include/grub/efi/api.h, include/grub/efi/console_control.h,
21038 include/grub/efi/efi.h, include/grub/efi/pe32.h,
21039 include/grub/i386/efi/time.h, kern/efi/efi.c,
21040 kern/i386/efi/init.c, kern/i386/efi/startup.S,
21041 and util/i386/efi/grub-mkimage.c.
21042
21043 * Makefile.in (RMKFILES): Added i386-efi.rmk.
21044
21045 * genmk.rb (PModule#rule): Do not export symbols if
21046 #{prefix}_EXPORTS is set to "no".
21047
21048 * conf/i386-efi.mk: New file.
21049 * conf/i386-efi.rmk: Likewise.
21050 * include/grub/efi/api.h: Likewise.
21051 * include/grub/efi/console_control.h: Likewise.
21052 * include/grub/efi/efi.h: Likewise.
21053 * include/grub/efi/pe32.h: Likewise.
21054 * include/grub/i386/efi/time.h: Likewise.
21055 * kern/efi/efi.c: Likewise.
21056 * kern/i386/efi/init.c: Likewise.
21057 * kern/i386/efi/startup.S: Likewise.
21058 * util/i386/efi/grub-mkimage.c: Likewise.
21059
210602006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 21061
21062 * include/grub/script.h: Include <grub/parser.h> and
21063 "grub_script.tab.h".
21064 (struct grub_lexer_param): New struct.
21065 (struct grub_parser_param): Likewise.
21066 (grub_script_create_arglist): Pass the state in an argument.
21067 (grub_script_add_arglist): Likewise.
21068 (grub_script_create_cmdline): Likewise.
21069 (grub_script_create_cmdblock): Likewise.
21070 (grub_script_create_cmdif): Likewise.
21071 (grub_script_create_cmdmenu): Likewise.
21072 (grub_script_add_cmd): Likewise.
21073 (grub_script_arg_add): Likewise.
21074 (grub_script_lexer_ref): Likewise.
21075 (grub_script_lexer_deref): Likewise.
21076 (grub_script_lexer_record_start): Likewise.
21077 (grub_script_lexer_record_stop): Likewise.
21078 (grub_script_mem_record): Likewise.
21079 (grub_script_mem_record_stop): Likewise.
21080 (grub_script_malloc): Likewise.
21081 (grub_script_yylex): Likewise.
21082 (grub_script_yyparse): Likewise.
21083 (grub_script_yyerror): Likewise.
21084 (grub_script_yylex): Likewise.
21085 (grub_script_lexer_init): Return the state.
21086
21087 * normal/lexer.c (grub_script_lexer_state): Removed variable.
21088 (grub_script_lexer_done): Likewise.
21089 (grub_script_lexer_getline): Likewise.
21090 (grub_script_lexer_refs): Likewise.
21091 (script): Likewise.
21092 (newscript): Likewise.
21093 (record): Likewise.
21094 (recording): Likewise.
21095 (recordpos): Likewise.
21096 (recordlen): Likewise.
21097 (grub_script_lexer_init): Return the state instead of setting
21098 global variables.
21099 (grub_script_lexer_ref): Use the newly added argument for state
21100 instead of globals.
21101 (grub_script_lexer_deref): Likewise.
21102 (grub_script_lexer_record_start): Likewise.
21103 (grub_script_lexer_record_stop): Likewise.
21104 (recordchar): Likewise.
21105 (nextchar): Likewise.
21106 (grub_script_yylex2): Likewise.
21107 (grub_script_yylex): Likewise.
21108 (grub_script_yyerror): Likewise.
21109
21110 * normal/parser.y (func_mem): Removed variable.
21111 (menu_entry): Likewise.
21112 (err): Likewise.
21113 (%lex-param): New parser option.
21114 (%parse-param): Likewise.
21115 (script): Always return the AST.
21116 (argument): Pass the state around.
21117 (arguments): Likewise.
21118 (grubcmd): Likewise.
21119 (commands): Likewise.
21120 (function): Likewise.
21121 (menuentry): Likewise.
21122 (if_statement): Likewise.
21123 (if): Likewise.
21124
21125 * normal/script.c (grub_script_memused): Removed variable.
21126 (grub_script_parsed): Likewise.
21127 (grub_script_malloc): Added a state argument. Use that instead of
21128 global variables.
21129 (grub_script_mem_record): Likewise.
21130 (grub_script_mem_record_stop): Likewise.
21131 (grub_script_arg_add): Likewise.
21132 (grub_script_add_arglist): Likewise.
21133 (grub_script_create_cmdline): Likewise.
21134 (grub_script_create_cmdif): Likewise.
21135 (grub_script_create_cmdmenu): Likewise.
21136 (grub_script_add_cmd): Likewise.
21137 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 21138
e2a8c904 211392006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 21140
21141 * normal/command.c (grub_command_init): Remove the title command.
21142
21143 * normal/lexer.c (grub_script_yylex): Renamed from this...
21144 (grub_script_yylex2): ... to this.
21145 (grub_script_yylex): New function. Temporary
21146 introduced to filter some tokens.
21147 (grub_script_yyerror): Print a newline.
21148
21149 * normal/main.c (read_config_file): Output information about the
21150 lines that contain errors. Wait for a key after all lines have
21151 been processed. Don't return an empty menu.
21152
21153 * normal/parser.y (func_mem): Don't initialize.
21154 (menu_entry): Likewise.
21155 (err): New variable.
21156 (script): Don't return anything when an error was encountered.
21157 (ws, returns): Removed rules.
21158 (argument): Disabled concatenated variable support.
21159 (arguments): Remove explicit separators.
21160 (grubcmd): Likewise.
21161 (function): Likewise.
21162 (menuentry): Likewise.
21163 (if): Likewise.
21164 (commands): Likewise. Add error handling.
21165
21166 * normal/script.c (grub_script_create_cmdline): If
21167 `grub_script_parsed' is 0, assume the parser encountered an error.
21168
c9a86192 211692006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
21170
21171 * configure.ac: Add support for EFI. Fix the typo
21172 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
21173
70f3b243 211742006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
21175
21176 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
21177 foreign multibyte characters should be shown correctly.
21178
65f201ad 211792006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
21180
21181 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
21182 calculation.
21183 (read_config_file): Made it to close file before returning.
21184
b4b93674 211852006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
21186
21187 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
21188 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
21189 video/i386/pc/vbefill.c.
21190
21191 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
21192 video/i386/pc/vbefill.c.
21193
21194 * include/grub/video.h (grub_video_blit_format): New enum.
21195 (grub_video_mode_info): Added new member blit_format.
21196 (grub_video_get_blit_format): New function prototype.
21197
21198 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
21199 function prototype.
21200 (grub_video_vbe_map_rgb): Likewise.
21201 (grub_video_vbe_unmap_color): Likewise.
21202
21203 * include/grub/i386/pc/vbeblit.h: New file.
21204
21205 * include/grub/i386/pc/vbefill.h: New file.
21206
21207 * video/video.c (grub_video_get_blit_format): New function.
21208 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
21209 (grub_video_vbe_map_rgb): Likewise.
21210 (grub_video_vbe_unmap_color): Likewise.
21211
21212 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
21213 optimized fills.
21214 (grub_video_vbe_blit_render_target): Changed to use more optimized
21215 blits.
21216 (grub_video_vbe_setup): Added detection for optimized settings.
21217 (grub_video_vbe_create_render_target): Likewise.
21218
21219 * video/i386/pc/vbeblit.c: New file.
21220
21221 * video/i386/pc/vbefill.c: New file.
21222
c2379b9c 212232006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
21224
21225 * font/manager.c (grub_font_get_glyph): Removed font fixup from
21226 here...
21227
21228 * util/unifont2pff.rb: ... and moved it to here. Improved argument
21229 parsing to support both hex and dec ranges. If filename was missing
21230 show usage information.
21231
bd0d7896 212322006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
21233
21234 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
21235 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
21236
21237 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
21238 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
21239 (video_mod_SOURCES): Added.
21240 (video_mod_CFLAGS): Likewise.
21241 (video_mod_LDFLAGS): Likewise.
21242 (gfxterm_mod_SOURCES): Likewise.
21243 (gfxterm_mod_CFLAGS): Likewise.
21244 (gfxterm_mod_LDFLAGS): Likewise.
21245 (videotest_mod_SOURCES): Likewise.
21246 (videotest_mod_CFLAGS): Likewise.
21247 (videotest_mod_LDFLAGS): Likewise.
21248 (vesafb_mod_SOURCES): Removed.
21249 (vesafb_mod_CFLAGS): Likewise.
21250 (vesafb_mod_LDFLAGS): Likewise.
21251 (vga_mod_SOURCES): Likewise.
21252 (vga_mod_CFLAGS): Likewise.
21253 (vga_mod_LDFLAGS): Likewise.
21254
21255 * commands/videotest.c: New file.
21256
21257 * font/manager.c (fill_with_default_glyph): Modified to use
21258 grub_font_glyph.
21259 (grub_font_get_glyph): Likewise.
21260 (fontmanager): Renamed from this...
21261 (font_manager): ... to this.
21262
21263 * include/grub/font.h (grub_font_glyph): Added new structure.
21264 (grub_font_get_glyph): Modified to use grub_font_glyph.
21265
21266 * include/grub/misc.h (grub_abs): Added as inline function.
21267
21268 * include/grub/video.h: New file.
21269
21270 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
21271 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
21272 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
21273 (grub_vbe_get_controller_info): Renamed from this...
21274 (grub_vbe_bios_get_controller_info): ... to this.
21275 (grub_vbe_get_mode_info): Renamed from this...
21276 (grub_vbe_bios_get_mode_info): ... to this.
21277 (grub_vbe_set_mode): Renamed from this...
21278 (grub_vbe_bios_set_mode): ... to this.
21279 (grub_vbe_get_mode): Renamed from this...
21280 (grub_vbe_bios_get_mode): ... to this.
21281 (grub_vbe_set_memory_window): Renamed from this...
21282 (grub_vbe_bios_set_memory_window): ... to this.
21283 (grub_vbe_get_memory_window): Renamed from this...
21284 (grub_vbe_bios_get_memory_window): ... to this.
21285 (grub_vbe_set_scanline_length): Renamed from this...
21286 (grub_vbe_set_scanline_length): ... to this.
21287 (grub_vbe_get_scanline_length): Renamed from this...
21288 (grub_vbe_bios_get_scanline_length): ... to this.
21289 (grub_vbe_set_display_start): Renamed from this...
21290 (grub_vbe_bios_set_display_start): ... to this.
21291 (grub_vbe_get_display_start): Renamed from this...
21292 (grub_vbe_bios_get_display_start): ... to this.
21293 (grub_vbe_set_palette_data): Renamed from this...
21294 (grub_vbe_bios_set_palette_data): ... to this.
21295 (grub_vbe_set_pixel_rgb): Removed.
21296 (grub_vbe_set_pixel_index): Likewise.
21297
21298 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
21299 from this...
21300 (grub_vbe_bios_get_controller_info): ... to this.
21301 (grub_vbe_get_mode_info): Renamed from this...
21302 (grub_vbe_bios_get_mode_info): ... to this.
21303 (grub_vbe_set_mode): Renamed from this...
21304 (grub_vbe_bios_set_mode): ... to this.
21305 (grub_vbe_get_mode): Renamed from this...
21306 (grub_vbe_bios_get_mode): ... to this.
21307 (grub_vbe_set_memory_window): Renamed from this...
21308 (grub_vbe_bios_set_memory_window): ... to this.
21309 (grub_vbe_get_memory_window): Renamed from this...
21310 (grub_vbe_bios_get_memory_window): ... to this.
21311 (grub_vbe_set_scanline_length): Renamed from this...
21312 (grub_vbe_set_scanline_length): ... to this.
21313 (grub_vbe_get_scanline_length): Renamed from this...
21314 (grub_vbe_bios_get_scanline_length): ... to this.
21315 (grub_vbe_set_display_start): Renamed from this...
21316 (grub_vbe_bios_set_display_start): ... to this.
21317 (grub_vbe_get_display_start): Renamed from this...
21318 (grub_vbe_bios_get_display_start): ... to this.
21319 (grub_vbe_set_palette_data): Renamed from this...
21320 (grub_vbe_bios_set_palette_data): ... to this.
21321 (grub_vbe_bios_get_controller_info): Fixed problem with registers
21322 getting corrupted after calling it. Added more pushes and pops.
21323 (grub_vbe_bios_set_mode): Likewise.
21324 (grub_vbe_bios_get_mode): Likewise.
21325 (grub_vbe_bios_get_memory_window): Likewise.
21326 (grub_vbe_bios_set_scanline_length): Likewise.
21327 (grub_vbe_bios_get_scanline_length): Likewise.
21328 (grub_vbe_bios_get_display_start): Likewise.
21329 (grub_vbe_bios_set_palette_data): Likewise.
21330
21331 * normal/cmdline.c (cl_set_pos): Refresh the screen.
21332 (cl_insert): Likewise.
21333 (cl_delete): Likewise.
21334
21335 * term/gfxterm.c: New file.
21336
21337 * term/i386/pc/vesafb.c: Removed file.
21338
21339 * video/video.c: New file.
21340
21341 * video/i386/pc/vbe.c (real2pm): Added new function.
21342 (grub_video_vbe_draw_pixel): Likewise.
21343 (grub_video_vbe_get_video_ptr): Likewise.
21344 (grub_video_vbe_get_pixel): Likewise
21345 (grub_video_vbe_init): Likewise.
21346 (grub_video_vbe_fini): Likewise.
21347 (grub_video_vbe_setup): Likewise.
21348 (grub_video_vbe_get_info): Likewise.
21349 (grub_video_vbe_set_palette): Likewise.
21350 (grub_video_vbe_get_palette): Likewise.
21351 (grub_video_vbe_set_viewport): Likewise.
21352 (grub_video_vbe_get_viewport): Likewise.
21353 (grub_video_vbe_map_color): Likewise.
21354 (grub_video_vbe_map_rgb): Likewise.
21355 (grub_video_vbe_map_rgba): Likewise.
21356 (grub_video_vbe_unmap_color): Likewise.
21357 (grub_video_vbe_fill_rect): Likewise.
21358 (grub_video_vbe_blit_glyph): Likewise.
21359 (grub_video_vbe_blit_bitmap): Likewise.
21360 (grub_video_vbe_blit_render_target): Likewise.
21361 (grub_video_vbe_scroll): Likewise.
21362 (grub_video_vbe_swap_buffers): Likewise.
21363 (grub_video_vbe_create_render_target): Likewise.
21364 (grub_video_vbe_delete_render_target): Likewise.
21365 (grub_video_vbe_set_active_render_target): Likewise.
21366 (grub_vbe_set_pixel_rgb): Remove function.
21367 (grub_vbe_set_pixel_index): Likewise.
21368 (index_color_mode): Remove static variable.
21369 (active_mode): Likewise.
21370 (framebuffer): Likewise.
21371 (bytes_per_scan_line): Likewise.
21372 (grub_video_vbe_adapter): Added new static variable.
21373 (framebuffer): Likewise.
21374 (render_target): Likewise.
21375 (initial_mode): Likewise.
21376 (mode_in_use): Likewise.
21377 (mode_list): Likewise.
21378
5f97350b 213792006-03-10 Marco Gerards <marco@gnu.org>
21380
21381 * configure.ac (AC_INIT): Bumped to 1.93.
21382
21383 * DISTLIST: Added `include/grub/hfs.h'.
21384
a3c5c6f8 213852006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
21386
21387 * boot/i386/pc/boot.S (general_error): Before looping, try INT
21388 18H, which might help the BIOS falling back to next boot media.
21389
6de53d26 213902006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
21391
21392 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
21393 Poe Chen <poe.poechen@gmail.com>.
21394
77c4a393 213952006-01-17 Marco Gerards <marco@gnu.org>
21396
21397 * include/grub/normal.h: Include <grub/script.h>.
21398 (grub_command_list): Removed struct.
21399 (grub_command_list_t): Removed type.
21400 (grub_menu_entry): Remove members `num' and `command_list'. Add
21401 members `commands' and `sourcecode'.
21402 * include/grub/script.h: Add inclusion guards.
21403 (grub_script_cmd_menuentry): New struct.
21404 (grub_script_execute_menuentry): New prototype.
21405 (grub_script_lexer_record_start): Likewise.
21406 (grub_script_lexer_record_stop): Likewise.
21407 * normal/execute.c (grub_script_execute_menuentry): New function.
21408 * normal/lexer.c (record, recording, recordpos, recordlen): New
21409 variables.
21410 (grub_script_lexer_record_start): New function.
21411 (grub_script_lexer_record_stop): Likewise.
21412 (recordchar): Likewise.
21413 (nextchar): Likewise.
21414 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
21415 2048 as the buffer size. Add the tokens `menuentry' and `@'.
21416 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
21417 (current_menu): New variable.
21418 (free_menu): Mainly rewritten.
21419 (grub_normal_menu_addentry): New function.
21420 (read_config_file): Rewritten.
21421 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 21422 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 21423 the menu entry.
21424 (run): Mainly rewritten.
21425 * normal/parser.y (menu_entry): New variable.
21426 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
21427 (menuentry): New rule.
21428 (command): Add `menuentry'.
21429 (if_statement): Allow additional returns before `fi'.
21430 * normal/script.c (grub_script_create_cmdmenu): New function.
21431
144f1f98 214322006-01-03 Marco Gerards <marco@gnu.org>
21433
21434 * INSTALL: GNU Bison is required.
21435 * configure.ac: Rewritten the test to detect Bison.
21436 * Makefile.in (YACC): New variable. Reported by Xun Sun
21437 <xun.sun.cn@gmail.com>.
21438
af4b2d89 214392006-01-03 Marco Gerards <marco@gnu.org>
21440
21441 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
21442 the HFS+ filesystem to filesystem blocks.
21443 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
21444 GCC warning is silenced.
21445
15643b71 214462006-01-03 Marco Gerards <marco@gnu.org>
21447
21448 * partmap/apple.c (apple_partition_map_iterate): Convert the data
21449 read from disk from big endian to host byte order.
21450
00905879 214512006-01-03 Hollis Blanchard <hollis@penguinppc.org>
21452
21453 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
21454 documentation.
21455 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
21456 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
21457 embedded HFS+ filesystem.
21458 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
21459 (grub_hfs_sblock): Move from here...
21460 * include/grub/hfs.h: To here... New file.
21461 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
21462 documentation.
21463 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
21464 New macros.
21465 (grub_hfsplus_volheader): Change type of member `magic' to
21466 `grub_uint16_t'.
21467 (grub_hfsplus_data): Add new member `embedded_offset'.
21468 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
21469 returned block.
21470 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
21471 Calculate the offset.
21472
8899bc3e 214732005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
21474
21475 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
21476 Removed.
21477 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
21478
ae8c0277 214792005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
21480
21481 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
21482 ENV->NAME is NULL after allocating ENV->VALUE.
21483
07084456 214842005-12-25 Marco Gerards <marco@gnu.org>
21485
21486 * kern/env.c (grub_env_set): Rewritten the error handling code.
21487
4750f5f1 214882005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
21489
21490 * geninit.sh: Made more robust, and more portable.
21491
50214199 214922005-12-25 Marco Gerards <marco@gnu.org>
21493
21494 Add support for Apple HFS+ filesystems.
f19dbdb7 21495
50214199 21496 * fs/hfsplus.c: New file.
21497
21498 * DISTLIST: Added `fs/hfsplus.c'.
21499
21500 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
21501 (hfsplus_mod_SOURCES): New variable.
21502 (hfsplus_mod_CFLAGS): Likewise.
21503 (hfsplus_mod_LDFLAGS): Likewise.
21504 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
21505 (grub_setup_SOURCES): Likewise.
21506 (grub_mkdevicemap_SOURCES): Likewise.
21507 (grub_emu_SOURCES): Likewise.
21508 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
21509
21510 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
21511
21512 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
21513
befaed6c 215142005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
21515
21516 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
21517 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
21518 include/grub/parser.h, include/grub/script.h, kern/parser.c,
21519 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
21520 normal/lexer.c, normal/parser.y, normal/script.c, and
21521 partmap/gpt.c.
21522 Removed kern/sparc64/cache.c.
21523
21524 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
21525 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
21526 grub_emu_init.c.
21527
21528 * configure.ac (AC_INIT): Bumped to 1.92.
21529
6a124103 215302005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
21531
21532 * kern/err.c (grub_error_push): Added new function to support error
21533 stacks.
21534 (grub_error_pop): Likewise.
21535 (grub_error_stack_items): New local variable to support error stacks.
21536 (grub_error_stack_pos): Likewise.
21537 (grub_error_stack_assert): Likewise.
21538 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
21539 stack depth.
21540 (grub_print_error): Added support to print errors from error stack.
21541
21542 * include/grub/err.h (grub_error_push): Added function prototype.
21543 (grub_error_pop): Likewise.
21544
be973c1b 215452005-12-09 Hollis Blanchard <hollis@penguinppc.org>
21546
21547 * configure.ac: Accept `powerpc64' as host_cpu.
21548 (amd64): Rename to `biarch32'.
21549
21550 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
21551 non-cacheline-aligned addresses.
21552
21553 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
21554 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
21555 if `size' is non-zero.
21556
b04216ab 215572005-12-03 Marco Gerards <mgerards@xs4all.nl>
21558
21559 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
21560 and `cd' to make sure the filename is not prefixed with a
21561 directory name.
21562 (pkgdata_MODULES): Add `gpt.mod'.
21563 (gpt_mod_SOURCES): New variable.
21564 (gpt_mod_CFLAGS): Likewise.
21565 (gpt_mod_LDFLAGS): Likewise.
21566
21567 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
21568
21569 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
21570 New macro.
21571
21572 * partmap/gpt.c: New file.
21573
21574 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
21575 GPT partition map is detected.
21576
41730ed9 215772005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
21578
21579 * commands/i386/pc/play.c: New file.
21580 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
21581 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
21582 macros.
f19dbdb7 21583
95dc3643 215842005-11-27 Marco Gerards <mgerards@xs4all.nl>
21585
21586 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
21587 ((unused))' to silence gcc warning.
21588
1569ec51 215892005-11-26 Hollis Blanchard <hollis@penguinppc.org>
21590
21591 * configure.ac: Correct `AC_PROG_YACC' test.
21592
9abde152 215932005-11-22 Hollis Blanchard <hollis@penguinppc.org>
21594
21595 * util/powerpc/ieee1275/grub-install.in: Run the mount point
21596 check before installing files.
21597
44b83271 215982005-11-22 Mike Small <smallm@panix.com>
21599
21600 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
21601 number regex so multidigit numbers are recognized correctly.
21602
216032005-11-22 Mike Small <smallm@panix.com>
21604
21605 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
21606 debugging message before attempting to claim memory.
21607 (grub_rescue_cmd_initrd): Add a claim debugging message and try
21608 multiple addresses in case of failure.
21609
9c12956b 216102005-11-22 Hollis Blanchard <hollis@penguinppc.org>
21611
21612 * term/tparm.c (get_space): Remove empty `if' statement.
21613
21614 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
21615
21616 * kern/parser.c (check_varstate): Rename `state' to 's'.
21617
aeaf81d9 216182005-11-22 Hollis Blanchard <hollis@penguinppc.org>
21619
21620 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
21621 variable definitions to the beginning of each function. Sort stack
21622 variables by size.
21623 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
21624 `buf' argument to `char *'.
21625
79bbb63f 216262005-11-22 Hollis Blanchard <hollis@penguinppc.org>
21627
21628 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
21629 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 21630 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 21631 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
21632 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
21633 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
21634 configfile.mod, search.mod, gzio.mod and test.mod.
21635 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
21636 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
21637 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
21638 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
21639 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
21640 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
21641 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
21642 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
21643 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
21644 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
21645 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
21646 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
21647 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
21648 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
21649 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
21650 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
21651 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
21652 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
21653 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
21654 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
21655 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
21656 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
21657 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
21658
21659 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
21660 `grep --include'.
21661 (pkgdata_MODULES): Add test.mod.
21662
233b1628 216632005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
21664
21665 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
21666 appending to variables with "+=".
21667 (PModule): Use full pathname to generate *.lst filenames.
21668
21669 * Makefile.in: Fixed list rules moved from genmk.rb.
21670 (.DELETE_ON_ERROR): New special target.
21671 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
21672
21673 * conf/i386-pc.rmk: Include conf/common.mk.
21674 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 21675 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 21676 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
21677 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
21678 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
21679 configfile.mod, search.mod, gzio.mod and test.mod.
21680 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
21681 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
21682 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
21683 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
21684 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
21685 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
21686 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
21687 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
21688 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
21689 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
21690 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
21691 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
21692 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
21693 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
21694 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
21695 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
21696 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
21697 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
21698 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
21699 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
21700 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
21701 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
21702 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
21703 here...
21704 * conf/common.rmk: ... to here. New file.
21705
21706 * conf/common.mk: New file.
21707
16f820c8 217082005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
21709
21710 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
21711 (grub_script.tab.c): ... here.
21712
21713 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
21714 (grub_script.tab.c): ... here.
21715
21716 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
21717 (grub_script.tab.c): ... here.
21718
21719 * normal/command.c (grub_command_find): Fixed a memory leak of
21720 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
21721
63ba1554 217222005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
21723
21724 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
21725 "@" which marks the start of a comment on ARM.
21726 (VARIABLE): Likewise.
21727
7f67dc13 217282005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
21729
79bbb63f 21730 Add support for Linux/ADFS partition tables.
7f67dc13 21731
21732 * partmap/acorn.c: New file.
21733
21734 * include/grub/acorn_filecore.h: Likewise.
21735
21736 * DISTLIST: Added `partmap/acorn.c' and
21737 `include/grub/acorn_filecore.h'.
f19dbdb7 21738
7f67dc13 21739 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
21740 `partmap/acorn.c'.
21741 (pkgdata_MODULES): Add `acorn.mod'.
21742 (acorn_mod_SOURCES): New variable.
21743 (acorn_mod_CFLAGS): Likewise.
21744
21745 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
21746 `partmap/acorn.c'.
21747 (pkgdata_MODULES): Add `acorn.mod'.
21748 (acorn_mod_SOURCES): New variable.
21749 (acorn_mod_CFLAGS): Likewise.
21750
21751 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
21752 (pkgdata_MODULES): Add `acorn.mod'.
21753 (acorn_mod_SOURCES): New variable.
21754 (acorn_mod_CFLAGS): Likewise.
21755 (acorn_mod_LDFLAGS): Likewise.
21756
21757 * include/types.h (grub_disk_addr_t): New typedef.
21758
6d099807 217592005-11-13 Marco Gerards <mgerards@xs4all.nl>
21760
21761 * geninit.sh: New file.
21762
21763 * geninitheader.sh: Likewise.
21764
21765 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
21766 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
21767 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
21768 * commands/configfile.c (grub_configfile_init)
21769 (grub_configfile_fini): Likewise.
21770 * commands/default.c (grub_default_init, grub_default_fini):
21771 Likewise.
21772 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
21773 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
21774 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
21775 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
21776 Likewise.
21777 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
21778 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
21779 Likewise.
21780 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 21781 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 21782 Likewise.
21783 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
21784 Likewise.
fe6b695a 21785 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 21786 Likewise.
21787 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
21788 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
21789 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
21790 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
21791 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
21792 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
21793 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
21794 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
21795 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
21796 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
21797 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
21798 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
21799 * partmap/amiga.c (grub_amiga_partition_map_init)
21800 (grub_amiga_partition_map_fini): Likewise.
21801 * partmap/apple.c (grub_apple_partition_map_init)
21802 (grub_apple_partition_map_fini): Likewise.
21803 * partmap/pc.c (grub_pc_partition_map_init)
21804 (grub_pc_partition_map_fini): Likewise.
21805 * partmap/sun.c (grub_sun_partition_map_init,
21806 grub_sun_partition_map_fini): Likewise.
21807 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
21808 Likewise.
21809
21810 * util/grub-emu.c: Include <grub_modules_init.h>.
21811 (main): Don't initialize and de-initialize any modules directly,
21812 use `grub_init_all' and `grub_fini_all' instead.
21813
21814 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
21815 `grub_vesafb_mod_init'.
21816 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
21817 all users.
21818 * term/i386/pc/vga.c (grub_vga_init): Renamed to
21819 `grub_vga_mod_init'. Updated all users.
21820 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 21821
6d099807 21822 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
21823 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
21824 rules.
21825
21826 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
21827 Generate a function to initialize the module in utilities.
21828 Updated all callers.
21829 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
21830 initialize the module in utilities. Updated all callers.
21831
9046bcf0 218322005-11-09 Hollis Blanchard <hollis@penguinppc.org>
21833
21834 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
21835 escape sequence and a literal ^L to clear the screen.
21836
21837 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
21838 when returning from Open Firmware.
21839
d13ea639 218402005-11-09 Hollis Blanchard <hollis@penguinppc.org>
21841
21842 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
21843 (grub_ofconsole_height): Likewise.
21844 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
21845 manually insert a '\n'.
21846 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
21847 `grub_ofconsole_height'. Return early if these are already set.
21848
a8fcf206 218492005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
21850
21851 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
21852 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
21853 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
21854 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
21855 and `normal/script.c'.
21856 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
21857 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
21858 (test_mod_SOURCES): New variable.
21859 (test_mod_CFLAGS): Likewise.
21860 (test_mod_LDFLAGS): Likewise.
21861 (pkgdata_MODULES): Add `test.mod'.
21862 (grub_script.tab.c): New rule.
21863 (grub_script.tab.h): Likewise.
21864
b6b32745 218652005-11-07 Marco Gerards <mgerards@xs4all.nl>
21866
21867 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
21868 `commands/test.c', `normal/execute.c', `normal/lexer.c',
21869 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
21870 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
21871 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
21872 (test_mod_SOURCES): New variable.
21873 (test_mod_CFLAGS): Likewise.
21874 (pkgdata_MODULES): Add `test.mod'.
21875 (grub_script.tab.c): New rule.
21876 (grub_script.tab.h): Likewise.
21877
daac212a 218782005-11-06 Marco Gerards <mgerards@xs4all.nl>
21879
21880 Add initial scripting support.
21881
21882 * commands/test.c: New file.
21883 * include/grub/script.h: Likewise.
21884 * normal/execute.c: Likewise.
21885 * normal/function.c: Likewise.
21886 * normal/lexer.c: Likewise.
21887 * normal/parser.y: Likewise.
21888 * normal/script.c: Likewise.
21889
21890 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 21891
daac212a 21892 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
21893 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
21894 `normal/function.c' and `normal/script.c'.
21895 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
21896 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 21897 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
21898 variables.
daac212a 21899 (pkgdata_MODULES): Add `test.mod'.
21900 (grub_script.tab.c): New rule.
21901 (grub_script.tab.h): Likewise.
21902
21903 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
21904
21905 * include/grub/normal.h (grub_test_init): New prototype.
21906 (grub_test_fini): Likewise.
f19dbdb7 21907
daac212a 21908 * normal/command.c: Include <grub/script.h>.
21909 (grub_command_execute): Rewritten.
f19dbdb7 21910
daac212a 21911 * util/grub-emu.c (main): Call `grub_test_init' and
21912 `grub_test_fini'.
21913
77500b2b 219142005-11-03 Hollis Blanchard <hollis@penguinppc.org>
21915
21916 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
21917 to 0.
21918 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
21919 there are no pending characters.
21920
e45deb9e 219212005-11-03 Hollis Blanchard <hollis@penguinppc.org>
21922
21923 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
21924 `grub_strndup' to drop device arguments. Replace unnecessary
21925 `grub_strndup' with `grub_strdup'.
21926
4ce32619 219272005-11-03 Hollis Blanchard <hollis@penguinppc.org>
21928
21929 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
21930 `debug' environment variable has been set.
21931
219322005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 21933
4ce32619 21934 * Makefile.in (install-local): Use $(DATA).
21935 (uninstall): Likewise.
21936 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
21937 (sbin_UTILITIES): ... to here.
21938 (sbin_SCRIPTS): New variable.
21939 (grub_install_SOURCES): New variable.
21940 * util/powerpc/ieee1275/grub-install.in: New file.
21941 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
21942 variable.
21943 (add_segments): Call `grub_util_get_path'.
21944
25fe6f03 219452005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
21946
21947 From Timothy Baldwin:
21948 * commands/ls.c (grub_ls_list_files): Close FILE with
21949 grub_file_close.
21950 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
21951
04ccf3ec 219522005-10-24 Marco Gerards <mgerards@xs4all.nl>
21953
21954 * include/grub/parser.h: New file.
21955
21956 * kern/parser.c: Likewise.
21957
21958 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
21959 (grub_setup_SOURCES): Likewise.
21960 (grub_probefs_SOURCES): Likewise.
21961 (grub_emu_SOURCES): Likewise.
21962 (kernel_img_HEADERS): Add `parser.h'.
21963
21964 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
21965 (grub_emu_SOURCES): Add `kern/parser.c'.
21966 (grubof_SOURCES): Likewise.
21967
21968 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
21969 (grubof_SOURCES): Add `kern/parser.c'.
21970
21971 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
21972
21973 * kern/misc.c (grub_split_cmdline): Removed function.
21974
21975 * kern/rescue.c: Include <grub/parser.h>.
21976 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
21977 of `grub_split_cmdline'.
21978
21979 * normal/command.c: Include <grub/parser.h>.
21980 (grub_command_execute): Use `grub_parser_split_cmdline' instead
21981 of `grub_split_cmdline'.
21982
21983 * normal/completion.c: Include <grub/parser.h>.
21984 (cmdline_state): New variable.
21985 (iterate_dir): End the filename with a quote depending on the
21986 command line state.
21987 (get_state): new function.
21988 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
21989 split the arguments and determine the current argument. When the
21990 argument string is not quoted, escape all spaces.
21991
6d8f4b0e 219922005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
21993
21994 * normal/sparc64/setjmp.S: New file.
21995
15cf03ed 219962005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
21997
21998 * include/grub/sparc64/libgcc.h: New file.
21999 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
22000 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
22001 normal/sparc64/setjmp.c.
22002
03e8661a 220032005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
22004
22005 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
22006 * kern/sparc64/cache.S: New file.
22007 * kern/sparc64/cache.c: Removed.
22008 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
22009 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
22010 -mtune=ultrasparc.
22011 (COMMON_LDFLAGS): Add -melf64_sparc.
22012 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
22013 (grubof_SOURCES): Use cache.S instead of cache.c.
22014 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
22015 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
22016 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
22017 commented though.
22018 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
22019 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
22020 (linux_mod_CFLAGS): Commented out.
22021 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
22022 out because module isn't built.
22023 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
22024 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
22025 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
22026 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
22027 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
22028 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
22029 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
22030 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
22031 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
22032 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
22033 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
22034 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
22035 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
22036 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
22037
34eeec8a 220382005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
22039
22040 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
22041 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
22042 longer, because HFS should not be used on PC.
22043
708367a3 220442005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
22045
22046 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
22047 consistently within the loop.
22048
6fa1251a 220492005-10-15 Marco Gerards <mgerards@xs4all.nl>
22050
22051 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
22052 directory can not be read.
22053
4801580b 220542005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
22055
22056 * configure.ac (AC_INIT): Increase the version number to 1.91.
22057
22058 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
22059 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
22060 term/i386/pc/serial.c.
22061
219ad426 220622005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
22063
22064 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
22065 file size must be permitted.
22066
22067 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
22068 between %ah and %al.
22069
688e5699 220702005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
22071
22072 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
22073 grub_uint64_t.
22074 Call the hook with a NUL-terminated filename.
22075 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
22076 grub_cpu_to_be32.
22077
22078 * kern/term.c (cursor_state): New variable.
22079 (grub_term_set_current): Reset the cursor state on a new
22080 terminal.
22081 (grub_setcursor): Rewritten to use CURSOR_STATE.
22082 (grub_getcursor): New function.
22083
22084 * include/grub/term.h (grub_getcursor): New prototype.
22085
22086 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
22087 integers on ARM. Reported by Timothy Baldwin
22088 <T.E.Baldwin99@members.leeds.ac.uk>.
22089
bb34586c 220902005-10-11 Marco Gerards <mgerards@xs4all.nl>
22091
22092 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
22093 allocated.
22094 (grub_sfs_dir): Likewise.
22095
9a909877 220962005-10-09 Marco Gerards <mgerards@xs4all.nl>
22097
22098 Add support for the SFS filesystem.
22099
22100 * fs/sfs.c: New file.
22101
22102 * DISTLIST: Added `fs/sfs.c'.
22103
22104 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
22105 (grub_probefs_SOURCES): Likewise.
22106 (grub_emu_SOURCES): Likewise.
22107 (pkgdata_MODULES): Add `sfs.mod'.
22108 (sfs_mod_SOURCES): New variable.
22109 (sfs_mod_CFLAGS): Likewise.
22110 (sfs_mod_LDFLAGS): Likewise.
22111
22112 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
22113 (pkgdata_MODULES): Add `sfs.mod'.
22114 (sfs_mod_SOURCES): New variable.
22115 (sfs_mod_CFLAGS): Likewise.
22116
22117 * util/grub-emu.c (main): Call `grub_sfs_init' and
22118 `grub_sfs_fini'.
22119
22120 * include/grub/fs.h (grub_sfs_init): New prototype.
22121 (grub_sfs_fini): Likewise.
22122
57bdbde3 221232005-10-07 Marco Gerards <mgerards@xs4all.nl>
22124
22125 Add support for the AFFS filesystem.
22126
22127 * fs/affs.c: New file.
22128
22129 * DISTLIST: Added `fs/affs.c'.
22130
22131 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
22132 (grub_probefs_SOURCES): Likewise.
22133 (grub_emu_SOURCES): Likewise.
22134 (pkgdata_MODULES): Add `affs.mod'.
22135 (affs_mod_SOURCES): New variable.
22136 (affs_mod_CFLAGS): Likewise.
22137 (affs_mod_LDFLAGS): Likewise.
22138
22139 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
22140 (pkgdata_MODULES): Add `affs.mod'.
22141 (affs_mod_SOURCES): New variable.
22142 (affs_mod_CFLAGS): Likewise.
22143
22144 * util/grub-emu.c (main): Call `grub_affs_init' and
22145 `grub_affs_fini'.
22146
22147 * include/grub/fs.h (grub_affs_init): New prototype.
22148 (grub_affs_fini): Likewise.
22149
047b67e0 221502005-10-01 Marco Gerards <mgerards@xs4all.nl>
22151
22152 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
22153
59b8208a 221542005-10-01 Marco Gerards <mgerards@xs4all.nl>
22155
22156 * configure.ac: Accept `x86_64' as host_cpu. In that case add
22157 `-m32' to CFLAGS.
22158
22159 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
22160 linking.
f19dbdb7 22161
59b8208a 22162 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
22163 (COMMON_LDFLAGS): New variable.
22164 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
22165 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
22166 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
22167 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
22168 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
22169 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
22170 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
22171 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
22172 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
22173 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
22174 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
22175 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
22176 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
22177 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
22178 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
22179 variables.
22180 (normal_mod_ASFLAGS): Add `-m32'.
22181
22182 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
22183 (grub_host_size_t, grub_host_ssize_t): New types.
22184 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 22185 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 22186 `GRUB_HOST_SIZEOF_VOID_P'.
22187
22188 * include/grub/kernel.h (struct grub_module_header): Type of
22189 member offset changed to `grub_host_off_t'. Type of member size
22190 changed to `grub_host_size_t'.
22191 (struct grub_module_info): Type of member offset changed to
22192 `grub_host_off_t'. Type of member size changed to
22193 `grub_host_size_t'.
22194
b4093103 221952005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
22196
22197 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 22198
b4093103 22199 * kern/i386/pc/startup.S (multiboot_header): New label.
22200 (multiboot_entry): Likewise.
22201 (multiboot_trampoline): Likewise.
22202
22203 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
22204 Increased to 0x4A0.
22205
22206 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
22207 put parentheses after a question mark.
22208 [!GRUB_UTIL] (my_mod): New variable.
22209
22210 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
22211
b2499b29 222122005-09-28 Marco Gerards <mgerards@xs4all.nl>
22213
22214 Adds support for the XFS filesystem. Btrees are not supported
22215 yet.
22216
22217 * fs/xfs.c: New file.
22218
22219 * DISTLIST: Added `fs/xfs.c'.
22220
22221 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
22222 (grub_probefs_SOURCES): Likewise.
22223 (grub_emu_SOURCES): Likewise.
22224 (pkgdata_MODULES): Add `xfs.mod'.
22225 (xfs_mod_SOURCES): New variable.
22226 (xfs_mod_CFLAGS): Likewise.
22227
22228 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
22229 (pkgdata_MODULES): Add `xfs.mod'.
22230 (xfs_mod_SOURCES): New variable.
22231 (xfs_mod_CFLAGS): Likewise.
22232
22233 * util/grub-emu.c (main): Call `grub_xfs_init' and
22234 `grub_xfs_fini'.
22235
22236 * include/grub/fs.h (grub_xfs_init): New prototype.
22237 (grub_xfs_fini): Likewise.
22238
f19dbdb7 22239
83d37a62 222402005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
22241
22242 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
22243 color modes, allow greater than 16 colors to be configured as
22244 a default palette.
22245
47d2d65e 222462005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
22247
22248 * normal/completion.c (complete_arguments): Add the qualifier
22249 const into OPTIONS.
22250
22251 From Omniflux <omniflux+lists@omniflux.com>:
22252 * include/grub/terminfo.h: New file.
22253 * include/grub/tparm.h: Likewise.
22254 * include/grub/i386/pc/serial.h: Likewise.
22255 * term/terminfo.c: Likewise.
22256 * term/tparm.c: Likewise.
22257 * term/i386/pc/serial.c: Likewise.
22258 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
22259 serial.mod.
22260 (terminfo_mod_SOURCES): New variable.
22261 (terminfo_mod_CFLAGS): Likewise.
22262 (serial_mod_SOURCES): Likewise.
22263 (serial_mod_CFLAGS): Likewise.
22264
48b671ff 222652005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
22266
22267 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
22268 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
22269 and kern/powerpc/ieee1275/cmain.c, respectively.
22270
22271 * boot/powerpc/ieee1275/crt0.S: Moved to ...
22272 * kern/powerpc/ieee1275/crt0.S: ... here.
22273
22274 * boot/powerpc/ieee1275/cmain.c: Moved to ...
22275 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 22276
48b671ff 22277 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
22278 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
22279 instead of boot/powerpc/ieee1275/crt0.S and
22280 boot/powerpc/ieee1275/cmain.c, respectively.
22281
22282 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
22283 sectors. It was not used anyway.
22284
09fc77a7 222852005-08-30 Hollis Blanchard <hollis@penguinppc.org>
22286
22287 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
22288 `unused parameter' warning.
22289
003789c7 222902005-08-30 Hollis Blanchard <hollis@penguinppc.org>
22291
22292 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
22293 function.
22294 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
22295 getcharwidth.
22296
67f44c86 222972005-08-28 Marco Gerards <metgerards@student.han.nl>
22298
22299 * include/grub/normal.h (enum grub_completion_type): Added
22300 `GRUB_COMPLETION_TYPE_ARGUMENT'.
22301
22302 * normal/cmdline.c (print_completion): Handle
22303 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
22304 * normal/menu_entry.c (store_completion): Likewise.
22305
22306 * normal/completion.c (complete_arguments): New function.
22307 (grub_normal_do_completion): Call `complete_arguments' when the
22308 current words start with a dash.
22309
0b5abe02 223102005-08-27 Marco Gerards <metgerards@student.han.nl>
22311
22312 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
22313 `gzio.mod' instead of `io.mod').
22314
d9864ee1 223152005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
22316
22317 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
22318 (DISTDIRS): Added io and video.
22319 Rewrite the search routine to make an output consistently.
22320
22321 * DISTLIST: Added conf/sparc64-ieee1275.mk,
22322 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
22323 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
22324 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
22325 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
22326 util/powerpc/ieee1275/misc.c.
f19dbdb7 22327
d9864ee1 22328 * include/grub/gzio.h: New file.
22329 * io/gzio.c: Likewise.
f19dbdb7 22330
d9864ee1 22331 * kern/file.c (grub_file_close): Call grub_device_close only if
22332 FILE->DEVICE is not NULL.
22333
22334 * include/grub/mm.h [!NULL] (NULL): New macro.
22335
22336 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
22337
22338 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
22339 (pkgdata_MODULES): Added gzio.mod.
22340 (gzio_mod_SOURCES): New variable.
22341 (gzio_mod_CFLAGS): Likewise.
22342
22343 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
22344 (pkgdata_MODULES): Added gzio.mod.
22345 (gzio_mod_SOURCES): New variable.
22346 (gzio_mod_CFLAGS): Likewise.
22347
22348 * commands/cat.c: Include grub/gzio.h.
22349 (grub_cmd_cat): Use grub_gzfile_open instead of
22350 grub_file_open.
f19dbdb7 22351
d9864ee1 22352 * commands/cmp.c: Include grub/gzio.h.
22353 (grub_cmd_cmp): Use grub_gzfile_open instead of
22354 grub_file_open.
22355
22356 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
22357 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
22358 grub_file_open.
22359 (grub_rescue_cmd_module): Likewise.
22360
fa46f4b5 223612005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
22362
22363 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
22364 kern/sparc64/ieee1275/init.c because it contains _start.
22365 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
22366
e9211b5d 223672005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
22368
22369 * configure.ac: Add support for sparc64 host with ieee1275
22370 firmware.
22371 * configure: Generated from configure.ac.
22372 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
22373 instead of int.
22374 (grub_ofdisk_read): Likewise.
22375 (grub_ofdisk_open): Use %p to print pointer values, and cast the
22376 pointers as (void *) to remove a warning.
22377 (grub_ofdisk_close): Likewise.
22378 (grub_ofdisk_read): Likewise.
22379 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
22380 returns, so make it return void to remove a warning.
22381 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
22382 Corresponding prototype change.
22383 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
22384 values, and cast the pointers as (void *) to remove a warning.
22385 (grub_mm_dump): Likewise.
22386 * conf/sparc64-ieee1275.mk: New file.
22387 * conf/sparc64-ieee1275.rmk: Likewise.
22388 * include/grub/sparc64/setjmp.h: Likewise.
22389 * include/grub/sparc64/types.h: Likewise.
22390 * include/grub/sparc64/ieee1275/console.h: Likewise.
22391 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
22392 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
22393 * include/grub/sparc64/ieee1275/time.h: Likewise.
22394 * kern/sparc64/cache.c: Likewise.
22395 * kern/sparc64/dl.c: Likewise.
22396 * kern/sparc64/ieee1275/init.c: Likewise.
22397 * kern/sparc64/ieee1275/openfw.c: Likewise.
22398
385c6a92 223992005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
22400
22401 * util/console.c (grub_ncurses_putchar): If C is greater than
22402 0x7f, set C to a question mark.
22403 (grub_ncurses_getcharwidth): New function.
22404 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
22405 getcharwidth.
22406
22407 * normal/menu.c (print_entry): Made aware of Unicode. First,
22408 convert TITLE to UCS-4, and predict the cursor position by
22409 grub_getcharwidth.
22410
22411 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
22412 const to SRC.
22413 * kern/misc.c (grub_utf16_to_utf8): Likewise.
22414
16ccb8b1 224152005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
22416
22417 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
22418 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
22419 grub_strcat.
22420
22421 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
22422 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
22423 grub_strcpy and grub_strlen. Take it into account that a space
22424 character is inserted as a delimiter.
22425
6a85ce79 224262005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
22427
22428 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 22429 invalid magic in the error.
6a85ce79 22430
22431 * commands/search.c: New file.
f19dbdb7 22432
6a85ce79 22433 * util/grub-emu.c (main): Call grub_search_init and
22434 grub_search_fini.
22435
22436 * kern/rescue.c (grub_rescue_print_disks): Removed.
22437 (grub_rescue_print_devices): New function.
22438 (grub_rescue_cmd_ls): Use grub_device_iterate with
22439 grub_rescue_print_devices instead of grub_disk_dev_iterate with
22440 grub_rescue_print_disks.
22441
22442 * kern/partition.c (grub_partition_iterate): Return the result of
22443 PARTMAP->ITERATE instead of GRUB_ERRNO.
22444
22445 * kern/device.c: Include grub/partition.h.
22446 (grub_device_iterate): New function.
22447
22448 * include/grub/partition.h (grub_partition_iterate): Return int
22449 instead of grub_err_t.
22450
22451 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
22452 prototype.
22453 [GRUB_UTIL] (grub_search_fini): Likewise.
22454
22455 * include/grub/device.h (grub_device_iterate): New prototype.
22456
22457 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
22458 commands/search.c.
22459 (pkgdata_MODULES): Added search.mod.
22460 (search_mod_SOURCES): New variable.
22461 (search_mod_CFLAGS): Likewise.
22462
22463 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
22464 (pkgdata_MODULES): Added search.mod.
22465 (search_mod_SOURCES): New variable.
22466 (search_mod_CFLAGS): Likewise.
22467
22468 * commands/ls.c (grub_ls_list_disks): Renamed to ...
22469 (grub_ls_list_devices): ... this, and use grub_device_iterate.
22470 All callers changed.
22471
22472 * DISTLIST: Added commands/search.c.
22473
ef095434 224742005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
22475
22476 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
22477 conversion.
22478 (grub_getcharwidth): New function.
22479
22480 * kern/misc.c (grub_utf8_to_ucs4): New function.
22481
22482 * include/grub/term.h (struct grub_term): Added a new member
22483 "getcharwidth".
22484 (grub_getcharwidth): New prototype.
22485
22486 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
22487
22488 * term/i386/pc/console.c (map_char): New function. Segregated from
22489 grub_console_putchar.
22490 (grub_console_putchar): Use map_char.
22491 (grub_console_getcharwidth): New function.
22492 (grub_console_term): Specified grub_console_getcharwidth as
22493 getcharwidth.
22494
22495 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
22496 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
22497
22498 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
22499 GRUB_ERRNO.
22500 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
22501 on grub_strtoul completely.
22502 (write_char): Declare local variables in the beginning of the
22503 function.
22504 (grub_vesafb_getcharwidth): New function.
22505 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
22506 getcharwidth.
22507
1f0a95e4 225082005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
22509
22510 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
22511 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
22512 commands/i386/pc/vbetest.c.
22513
22514 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
22515 call grub_vbe_get_controller_info again, because the returned
22516 information is volatile.
22517 (grub_vbe_set_video_mode): Mostly rewritten.
22518 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
22519 grub_vbe_status_t correctly.
22520 (grub_vbe_get_video_mode_info): Likewise.
22521 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
22522 several if statements.
22523
22524 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
22525 * commands/i386/pc/vbeinfo.c: ... this.
22526
22527 * commands/i386/pc/vbe_test.c: Renamed to ...
22528 * commands/i386/pc/vbetest.c: ... this.
22529
22530 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
22531 ...
22532 (grub_cmd_vbeinfo): ... this. Save video modes before
22533 iterating. Skip a video mode, if it is not available, not enough
22534 information is given or it is monochrome. Show the memory
22535 model. Leave the interpretation of MODEVAR to grub_strtoul
22536 completely.
22537 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
22538 (GRUB_MOD_FINI): Likewise.
22539
22540 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
22541 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
22542 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
22543 duplicated grub_env_get. Leave the interpretation of MODEVAR to
22544 grub_strtoul completely.
22545 (real2pm): Removed.
22546 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
22547 (GRUB_MOD_FINI): Likewise.
22548
22549 * normal/misc.c: Include grub/mm.h.
22550
22551 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
22552 vbe_list_modes with vbetest.mod and vbeinfo.mod.
22553 (vbe_list_modes_mod_SOURCES): Removed.
22554 (vbe_list_modes_mod_CFLAGS): Likewise.
22555 (vbe_test_mod_SOURCES): Likewise.
22556 (vbe_test_mod_CFLAGS): Likewise.
22557 (vbeinfo_mod_SOURCES): New variable.
22558 (vbeinfo_mod_CFLAGS): Likewise.
22559 (vbetest_mod_SOURCES): Likewise.
22560 (vbetest_mod_CFLAGS): Likewise.
22561
992ffbbe 225622005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
22563
22564 * normal/misc.c: New file.
22565
22566 * DISTLIST: Added normal/misc.c.
f19dbdb7 22567
992ffbbe 22568 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
22569 DISK to HOOK. Call HOOK with DISK.
22570 * partmap/apple.c (apple_partition_map_iterate): Likewise.
22571 * partmap/pc.c (pc_partition_map_iterate): Likewise.
22572 * partmap/sun.c (sun_partition_map_iterate): Likewise.
22573
22574 * normal/menu_entry.c (struct screen): Added a new member
22575 "completion_shown".
22576 (completion_buffer): New global variable.
22577 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
22578 (store_completion): New function.
22579 (complete): Likewise.
22580 (clear_completions): Likewise.
22581 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
22582 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
22583 a tab, call complete.
22584
22585 * normal/completion.c (disk_dev): Removed.
22586 (print_simple_completion): Likewise.
22587 (print_partition_completion): Likewise.
22588 (print_func): New global variable.
22589 (add_completion): Do not take the arguments WHAT or PRINT any
22590 longer. Added a new argument TYPE. Instead of printing directly,
22591 call PRINT_FUNC if not NULL.
22592 All callers changed.
22593 (complete_device): Use a local variable DEV instead of
22594 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
22595 (grub_normal_do_completion): Take a new argument HOOK. Do not
22596 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
22597 empty string, return NULL instead.
22598 All callers changed.
22599
22600 * normal/cmdline.c (print_completion): New function.
22601
22602 * kern/partition.c (grub_partition_iterate): Add an argument DISK
22603 to HOOK.
22604 All callers changed.
22605
22606 * kern/disk.c (grub_print_partinfo): Removed.
22607
22608 * include/grub/partition.h (struct grub_partition_map): Add a new
22609 argument DISK into HOOK of ITERATE.
22610 (grub_partition_iterate): Add a new argument DISK to HOOK.
22611
22612 * include/grub/normal.h (enum grub_completion_type): New enum.
22613 (grub_completion_type_t): New type.
22614 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
22615 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
22616 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
22617 (GRUB_COMPLETION_TYPE_FILE): Likewise.
22618 (grub_normal_do_completion): Added a new argument HOOK.
22619 (grub_normal_print_device_info): New prototype.
22620
22621 * include/grub/disk.h (grub_print_partinfo): Removed.
22622
22623 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
22624 (normal_mod_SOURCES): Likewise.
22625 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22626 (normal_mod_SOURCES): Likewise.
22627
22628 * commands/ls.c (grub_ls_list_disks): Use
22629 grub_normal_print_device_info instead of grub_print_partinfo. Free
22630 PNAME.
22631 (grub_ls_list_files): Use grub_normal_print_device_info instead of
22632 duplicating the code.
22633
0bd41162 226342005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
22635
22636 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 22637 follow GCS more precisely.
22638 * commands/i386/pc/vbe_test.c: Likewise.
22639 * include/grub/i386/pc/vbe.h: Likewise.
22640 * term/i386/pc/vesafb.c: Likewise.
22641 * video/i386/pc/vbe.c: Likewise.
0bd41162 22642
6323696a 226432005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
22644
22645 * DISTLIST: Added term/i386/pc/vesafb.c
22646 DISTLIST: Added video/i386/pc/vbe.c
22647 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
22648 DISTLIST: Added commands/i386/pc/vbe_test.c.
22649 * commands/i386/pc/vbe_list_modes.c: New file.
22650 * commands/i386/pc/vbe_test.c: Likewise.
22651 * term/i386/pc/vesafb.c: Likewise.
22652 * video/i386/pc/vbe.c: Likewise.
22653 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
22654 (grub_vbe_probe) Added prototype.
22655 (grub_vbe_set_video_mode) Likewise.
22656 (grub_vbe_get_video_mode) Likewise.
22657 (grub_vbe_get_video_mode_info) Likewise.
22658 (grub_vbe_set_pixel_rgb) Likewise.
22659 (grub_vbe_set_pixel_index) Likewise.
22660 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
22661 (pkgdata_MODULES): Added vesafb.mod.
22662 (pkgdata_MODULES): Added vbe_list_modes.mod.
22663 (pkgdata_MODULES): Added vbe_test.mod.
22664 (vbe_mod_SOURCES): Added.
22665 (vbe_mod_CFLAGS): Likewise.
22666 (vesafb_mod_SOURCES): Likewise.
22667 (vesafb_mod_CFLAGS): Likewise.
22668 (vbe_list_modes_mod_SOURCES): Likewise.
22669 (vbe_list_modes_mod_CFLAGS): Likewise.
22670 (vbe_test_mod_SOURCES): Likewise.
22671 (vbe_test_mod_CFLAGS): Likewise.
22672
0a74e62f 226732005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
22674
0a74e62f 22675 * normal/command.c (grub_command_execute): If INTERACTIVE is
22676 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
22677 CMDLINE. Disable the pager if INTERACTIVE is true.
22678 All callers are changed.
22679
22680 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
22681 before reading a config file.
22682 * normal/main.c (read_config_file): Even if a command is not
22683 found, register it if it is within an entry.
22684
22685 * util/grub-emu.c: Include sys/types.h and unistd.h.
22686 (options): Added --hold.
22687 (struct arguments): Added a new member "hold".
22688 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
22689 missing.
22690 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
22691 cleared by a debugger, if it is not zero.
22692
22693 * include/grub/normal.h (grub_command_execute): Add an argument
22694 INTERACTIVE.
22695
e51f85ae 226962005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
22697
22698 * DISTLIST: Added include/grub/i386/pc/vbe.h.
22699
e9c6f39b 227002005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
22701
22702 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
22703 program with another one, because the old one didn't detect a bug
22704 in gcc-3.4. Always use regparm 2, because the new test is still
22705 not enough for gcc-4.0. Someone must investigate a simple test
22706 case which detects a bug in gcc-4.0.
22707
8de3495c 227082005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
22709
22710 * DISTLIST: Added normal/completion.c.
22711
22712 * normal/completion.c: New file.
f19dbdb7 22713
8de3495c 22714 * term/i386/pc/console.c (grub_console_getwh): New function.
22715 (grub_console_term): Assign grub_console_getwh to getwh.
22716
22717 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
22718 function is defined in normal/completion.c as
22719 grub_normal_do_completion.
22720 (grub_cmdline_get): Use grub_normal_do_completion instead of
22721 grub_tab_complete.
22722
22723 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
22724 returns non-zero, otherwise return 0.
22725 (grub_partition_iterate): First, probe the partition map. Then,
22726 call ITERATE only for this partition map.
22727
22728 * kern/misc.c (grub_strncmp): Rewritten.
22729
22730 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
22731 returns non-zero. Otherwise return 0.
22732
22733 * include/grub/partition.h (grub_partition_map_iterate): Return
22734 int instead of void.
22735
22736 * include/grub/normal.h (grub_normal_do_completion): New prototype.
22737
22738 * include/grub/misc.h (grub_strncmp): Change the type of N to
22739 grub_size_t.
22740
22741 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
22742 of void.
22743
22744 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 22745 unsigned explicitly before comparing it with I.
8de3495c 22746
22747 * kern/main.c (grub_env_write_root): Add the attribute unused into
22748 VAR.
22749
22750 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
22751 normal/completion.c.
22752 (normal_mod_SOURCES): Likewise.
22753 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
22754 (normal_mod_SOURCES): Likewise.
22755
22756 * normal/command.c (grub_iterate_commands): If ITERATE returns
22757 non-zero, return one immediately.
22758
e85e144b 227592005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
22760
22761 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
22762 * kern/i386/pc/startup.S: Updated Global Descriptor table's
22763 descriptions.
22764 (grub_vbe_get_controller_info): New function.
22765 (grub_vbe_get_mode_info): Likewise.
22766 (grub_vbe_set_mode): Likewise.
22767 (grub_vbe_get_mode): Likewise.
22768 (grub_vbe_set_memory_window): Likewise.
22769 (grub_vbe_get_memory_window): Likewise.
22770 (grub_vbe_set_scanline_length): Likewise.
22771 (grub_vbe_get_scanline_length): Likewise.
22772 (grub_vbe_set_display_start): Likewise.
22773 (grub_vbe_get_display_start): Likewise.
22774 (grub_vbe_set_palette_data): Likewise.
22775 * include/grub/i386/pc/vbe.h: New file.
22776
c46153d2 227772005-08-08 Hollis Blanchard <hollis@penguinppc.org>
22778
22779 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
22780 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
22781 * DISTLIST: Likewise.
22782 * kern/ieee1275/of.c: Moved to ...
22783 * kern/ieee1275/ieee1275.c: ... here.
22784
0cb90c45 227852005-08-08 Hollis Blanchard <hollis@penguinppc.org>
22786
22787 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
22788 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
22789 Pass 0 as `end' parameter to grub_strtoul().
22790
a19fb360 227912005-08-08 Hollis Blanchard <hollis@penguinppc.org>
22792
22793 * include/grub/powerpc/ieee1275/console.h: Do not include
22794 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
22795 ifdef.
22796 (grub_console_cur_color): Remove i386-specific prototype.
22797 (grub_console_real_putchar): Likewise.
22798 (grub_console_checkkey): Likewise.
22799 (grub_console_getkey): Likewise.
22800 (grub_console_getxy): Likewise.
22801 (grub_console_gotoxy): Likewise.
22802 (grub_console_cls): Likewise.
22803 (grub_console_setcursor): Likewise.
22804 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
22805 Include <grub/machine/console.h>.
22806 * term/ieee1275/ofconsole.c: Likewise.
22807
4ac9bd04 228082005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
22809
22810 * Makefile.in (LIBLZO): New variable.
22811
22812 * configure.ac: Check for LZO version 2.
22813
22814 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
22815 lzo/lzo1x.h instead of lzo1x.h.
22816
22817 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
22818 of -llzo.
22819
22820 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
22821 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
22822
22823 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
22824 copying the data from PARTITION to P.
22825
f4917dfd 228262005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
22827
22828 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
22829 negative, unload the module.
22830
22831 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
22832 map is "pc_partition_map" but not "pc".
22833 (usage): Fix the description. The options are --boot-image and
22834 --core-image but not --boot-file or --core-file.
22835 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
22836 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
22837 DEFAULT_DIRECTORY.
22838
22839 * util/i386/pc/grub-install.in: Do not specify --boot-file or
22840 --core-file. Specify INSTALL_DEVICE as an argument.
22841
22842 * util/console.c: Include config.h.
22843 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
22844 [HAVE_NCURSES_H]: Include ncurses.h.
22845 [HAVE_CURSES_H]: Include curses.h.
22846 [!A_NORMAL] (A_NORMAL): Defined as zero.
22847 [!A_STANDOUT] (A_STANDOUT): Likewise.
22848
22849 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
22850 -lncurses.
22851 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
22852
22853 * configure.ac: Check for curses libraries and headers.
22854
22855 * Makefile.in (LIBCURSES): New variable.
22856
22857 * genmk.rb (Script::rule): Set the executable bits.
22858
22859 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
22860 name of the PC partition map is "pc_partition_map" but not "pc".
22861
0e143073 228622005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
22863
22864 * util/i386/pc/grub-install.in (grub_probefs): New variable.
22865 (modules): Likewise.
22866 (usage): Added descriptions for --modules and --grub-probefs.
22867 Handle --modules and --grub-probefs. Save the arguments in MODULES
22868 and GRUB_PROBEFS, respectively.
22869 Auto-detect a filesystem module against GRUBDIR. If the result is
22870 empty and modules are not specified explicitly, abort the
22871 installation. Add the result to MODULES.
22872
22873 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
22874 disk/powerpc/ieee1275/ofdisk.c,
22875 include/grub/powerpc/ieee1275/init.h and
22876 term/powerpc/ieee1275/ofconsole.c.
22877 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
22878 term/ieee1275/ofconsole.c.
22879
22880 * include/grub/powerpc/ieee1275/console.h: Resurrected.
22881
22882 * COPYING: Upgraded to the latest version. Only the address of the
22883 FSF office has changed.
f19dbdb7 22884
efd6e6d5 228852005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
22886
22887 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
22888 kern/ieee1275.c with kern/ieee1275/of.c.
22889
22890 * kern/ieee1275.c: Moved to ...
22891 * kern/ieee1275/of.c: ... here.
22892
8ceafda2 228932005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
22894
22895 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 22896 readability.
8ceafda2 22897
22898 * config.guess: Updated to the latest version from gnulib.
22899 * config.sub: Likewise.
22900 * install.sh: Likewise.
22901 * mkinstalldirs: Likewise.
22902
22903 * include/grub/console.h: Removed. This file is arch-specific. Do
22904 not put this in include/grub.
22905
22906 * include/grub/i386/pc/console.h: Resurrected.
22907
22908 * util/console.c: Include grub/machine/console.h instead of
22909 grub/console.h.
22910 * util/grub-emu.c: Likewise.
22911
267f6cd9 229122005-08-04 Marco Gerards <metgerards@student.han.nl>
22913
22914 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
22915 hardcoded value.
f19dbdb7 22916
267f6cd9 22917 From Vincent Pelletier <subdino2004@yahoo.fr>
22918 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
22919 Redefined to use grub_getwh.
22920 (grub_term): New member named getwh.
22921 (grub_getwh): New prototype.
22922 * kern/term.c (grub_getwh): New function.
22923 * term/i386/pc/console.c (grub_console_getwh): New function.
22924 (grub_console_term): New member `getwh'.
22925 * term/i386/pc/vga.c (grub_vga_getwh): New function.
22926 (grub_vga_term): New member `getwh'.
0b5abe02 22927 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 22928 grub_ssize_t.
22929 (grub_ofconsole_getw): New function.
22930 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
22931 (grub_ofconsole_term): New field named getwh and new initial
22932 value.
22933
3be7266d 229342005-08-03 Hollis Blanchard <hollis@penguinppc.org>
22935
22936 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
22937 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
22938 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
22939 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
22940 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
22941 of <grub/machine/ieee1275.h>.
22942 * commands/ieee1275/reboot.c: Likewise.
22943 * boot/powerpc/ieee1275/ieee1275.c: Move ...
22944 * kern/ieee1275.c: ... to here. All users updated. Change all
22945 parameter structs to use new type `grub_ieee1275_cell_t'.
22946 * term/powerpc/ieee1275/ofconsole.c: Move ...
22947 * term/ieee1275/ofconsole.c: ... to here. All users updated.
22948 * disk/powerpc/ieee1275/ofdisk.c: Move ...
22949 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
22950 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
22951 to return int.
22952 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
22953 Remove unused prototypes. All users updated.
22954 * include/grub/powerpc/ieee1275/console.h: Removed.
22955 * include/grub/powerpc/ieee1275/ieee1275.h: Define
22956 `grub_ieee1275_cell_t'.
22957 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
22958 Cast comparisons with -1 to the correct type.
22959 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
22960 type to match `grub_ieee1275_entry_fn'.
22961
8b5f3938 229622005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
22963
22964 * DISTLIST: Added util/i386/pc/grub-probefs.c.
22965
22966 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
22967 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
22968 partmap/sun.c.
22969 (grub_probefs_SOURCES): New variable.
22970
22971 * util/i386/pc/grub-probefs.c: New file.
22972
22973 * util/i386/pc/grub-setup.c (main): Call
22974 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
22975 grub_hfs_init and grub_jfs_init to initialize the system. Call
22976 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
22977 grub_pc_partition_map_fini to finish the system.
22978
ea409713 229792005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
22980
22981 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
22982 function.
22983 (grub_multiboot_load_elf32): Likewise.
22984 (grub_multiboot_is_elf64): Likewise.
22985 (grub_multiboot_load_elf64): Likewise.
22986 (grub_multiboot_load_elf): Likewise.
22987 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
22988 an ELF32 or ELF64 file.
22989 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
22990
22991 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
22992 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
22993 NULL before calling FS->LABEL.
22994 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
22995 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
22996 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
22997 before calling FS->LABEL.
22998
141a288b 229992005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
23000
23001 * util/i386/pc/grub-install.in (datadir): New variable.
23002 (libdir): Removed.
23003 (pkgdatadir): New variable.
23004 (pkglibdir): Removed.
23005
0d5f8a54 230062005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
23007
23008 * DISTLIST: Added util/i386/pc/grub-install.in.
23009
23010 * util/i386/pc/grub-install.in: New file.
23011
23012 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
23013 (grub_install_SOURCES): Likewise.
23014
23015 * genmk.rb: Added support for scripts.
23016 (Script): New class.
23017 (scripts): New variable.
23018
23019 * Makefile.in (install-local): Install sbin_SCRIPTS by
23020 INSTALL_SCRIPT.
23021 (uninstall): Remove sbin_SCRIPTS.
23022
23023 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
23024 device, try to get a GRUB device by
23025 grub_util_biosdisk_get_grub_dev.
23026 Free DEST_DEV.
23027
23028 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
23029 description for --device-map.
23030
5f968e1e 230312005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
23032
23033 Change the semantics of variable hooks. They now return strings
23034 instead of error values.
f19dbdb7 23035
5f968e1e 23036 * util/i386/pc/grub-setup.c: Include grub/env.h.
23037 (setup): Use grub_device_set_root instead of grub_env_set.
23038
23039 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
23040 grub_env_get instead of grub_device_set_root and
23041 grub_device_get_root, respectively.
23042
23043 * kern/main.c (grub_env_write_root): New function.
23044 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
23045 grub_env_set instead of grub_device_set_root.
23046
23047 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
23048 many variables.
23049 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
23050 rather than calling ENV->WRITE_HOOK afterwards.
23051 (grub_env_get): Return the result of ENV->READ_HOOK rather than
23052 passing a pointer of a pointer.
23053 (grub_register_variable_hook): Change the types of "read_hook" and
23054 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
23055 respectively.
23056 Allocate the default empty string on the heap, because this string
23057 may be freed later.
23058
23059 * kern/device.c: Include grub/env.h.
23060 (grub_device_set_root): Removed.
23061 (grub_device_get_root): Likewise.
23062 (grub_device_open): Use grub_env_get instead of
23063 grub_device_get_root.
23064
23065 * include/grub/env.h (grub_env_read_hook_t): New type.
23066 (grub_env_write_hook_t): Likewise.
23067 (grub_env_var): Change the types of "read_hook" and "write_hook"
23068 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
23069 (grub_register_variable_hook): Likewise.
23070
23071 * include/grub/device.h (grub_device_set_root): Removed.
23072 (grub_device_set_root): Likewise.
23073
23074 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
23075 make sure that DIRNAME terminates with '/', so that
23076 grub_fat_find_dir will fail if PATH is not a directory.
23077
23078 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
23079 from DIRNAME.
23080 Use the qualifier auto for print_files and print_files_long.
23081 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
23082 as a regular file.
23083 Put a newline only if there is no error.
23084 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
23085 used.
23086
896f0afd 230872005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
23088
23089 * kern/partition.c (grub_partition_probe): Initialize PART to
23090 NULL. Otherwise, when no partition map is registered, this returns
23091 a garbage.
23092
b28b81b2 230932005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
23094
23095 * partmap/apple.c (apple_partition_map_iterate): Check if POS
23096 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
23097 valid.
23098
5f3607e0 230992005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
23100
23101 * commands/ls.c (grub_ls_list_disks): Print the filesystem
23102 information on each device, if it does not have partitions. Print
23103 "Device" instead of "Disk", because this function is not specific
23104 to disk devices.
23105
23106 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
23107 static to ensure that it is put on the memory rather than a
23108 register.
23109
502c87e8 231102005-07-17 Yoshinori Okuji <okuji@enbug.org>
23111
23112 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
23113 (grub_cat_init): Likewise.
23114 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
23115 (options): Likewise.
23116 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
23117 (grub_configfile_init): Likewise.
23118 * font/manager.c (GRUB_MOD_INIT): Likewise.
23119 * commands/help.c (GRUB_MOD_INIT): Likewise.
23120 (grub_help_init): Likewise.
23121 * normal/command.c (grub_command_init): Likewise.
23122 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
23123 * disk/loopback.c (grub_loop_init): Likewise.
23124 (GRUB_MOD_INIT): Likewise.
23125 * commands/ls.c (grub_ls_init): Likewise.
23126 (GRUB_MOD_INIT): Likewise.
23127 (options): Likewise.
23128 * commands/boot.c (grub_boot_init): Likewise.
23129 (GRUB_MOD_INIT): Likewise.
23130 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
23131 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
23132 (GRUB_MOD_INIT): Likewise.
23133 * commands/cmp.c (grub_cmp_init): Likewise.
23134 (GRUB_MOD_INIT): Likewise.
23135
23136 * normal/arg.c: Use <> instead of "" to include header files.
23137 (SHORT_ARG_HELP): New macro.
23138 (SHORT_ARG_USAGE): Likewise.
23139 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
23140 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
23141 descriptions.
23142 (find_short): Check if C is 'h' or 'u' explicitly.
23143 (grub_arg_show_help): Use space characters instead of tabs. Treat
23144 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
23145 are shown with --help and --usage only if they are not used for
23146 the command itself.
23147 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
23148 'h' and 'u'.
23149
23150 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
23151 const into "longarg". Change the type of "shortarg" to int.
23152
f806d18e 231532005-07-17 Yoshinori Okuji <okuji@enbug.org>
23154
23155 * boot/i386/pc/boot.S (boot_drive_check): New label.
23156
23157 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
23158 macro.
23159
23160 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
23161 which do not pass a boot drive correctly. Copied from GRUB Legacy.
23162
e293232b 231632005-07-17 Yoshinori Okuji <okuji@enbug.org>
23164
23165 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
23166 When turning off Gate A20, skip the check and return immediately,
23167 because this is not fatal usually.
23168
ebedfd00 231692005-07-17 Yoshinori Okuji <okuji@enbug.org>
23170
23171 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
23172 be 0x7C00 instead of 0x8000.
23173
23174 * boot/i386/pc/pxeboot.S: Rewritten.
23175
23176 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
23177 EXT_C.
23178 (gate_a20_check_state): Read a byte from 0x108000. Invert the
23179 result.
23180
654fc59f 231812005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
23182
23183 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
23184 robustness. This routine now supports a BIOS call and System
23185 Control Port A to modify the gate A20.
23186
23187 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
23188 Increased to 0x440.
23189
09f9923f 231902005-07-12 Hollis Blanchard <hollis@penguinppc.org>
23191
23192 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
23193 device path and resulting ihandle.
23194 (grub_ofdisk_close): dprintf the ihandle being closed.
23195 (grub_ofdisk_read): dprintf function parameters.
23196 * kern/mm.c (grub_mm_init_region): Likewise.
23197 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
23198 (grub_linux_boot): dprintf the Linux entry point, initrd address and
23199 size, and boot arguments.
23200 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
23201 before loading into memory.
23202 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
23203 before loading into memory.
23204
7ef504d8 232052005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
23206
23207 * kern/mm.c: Added much documentation.
23208 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
23209 8, set to 5 instead of 8.
23210
e0f050c2 232112005-07-10 Yoshinori Okuji <okuji@enbug.org>
23212
23213 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
23214
23215 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
23216 (grub_mkdevicemap_SOURCES): New variable.
23217
23218 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
23219 lib/device.c of GRUB Legacy.
23220
7224189a 232212005-07-10 Yoshinori Okuji <okuji@enbug.org>
23222
23223 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
23224 instead of PATH is NULL.
23225
68c864eb 232262005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
23227
23228 * commands/cmp.c (BUFFER_SIZE): New macro.
23229 (grub_cmd_cmp): Close the right file at the right time. Compare
23230 only data just read. Don't report files of different size as
23231 identical. Dynamically allocate buffers. Move variable
23232 declarations at the beginning of function.
23233
e6f3e614 232342005-07-09 Yoshinori Okuji <okuji@enbug.org>
23235
23236 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
23237 reverse.
23238
f8f1559a 232392004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
23240
23241 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
23242 when backspace is pressed at beginning of line.
23243
39c9d41d 232442005-07-03 Yoshinori Okuji <okuji@enbug.org>
23245
23246 * DISTLIST: Added genfslist.sh.
23247
23248 * normal/main.c (fs_module_list): New variable.
23249 (autoload_fs_module): New function.
23250 (read_fs_list): Likewise.
23251 (grub_normal_execute): Call read_fs_list.
23252
23253 * kern/fs.c (grub_fs_autoload_hook): New variable.
23254 (grub_fs_probe): Added support for auto-loading.
23255
23256 * include/grub/normal.h (struct grub_fs_module_list): New struct.
23257 (grub_fs_module_list_t): New type.
23258
23259 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
23260 (grub_fs_autoload_hook): New prototype.
23261
23262 * genfslist.sh: New file.
f19dbdb7 23263
39c9d41d 23264 * genmk.rb: Added a rule to generate a filesystem list.
23265
121c1d83 232662005-06-30 Marco Gerards <metgerards@student.han.nl>
23267
23268 * configure.ac: Fix the test for cross-compiling.
23269
23270 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
23271 define GRUB_UTIL anymore.
23272
23273 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
23274 so this function works on other systems than just big endian.
23275 (load_modules): Likewise.
23276 (add_segments): Likewise.
23277
e75d76e1 232782005-06-23 Hollis Blanchard <hollis@penguinppc.org>
23279
23280 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
23281 contains `l' modifier, get a long from va_arg().
23282
50b5a0a7 232832005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
23284
23285 * kern/mm.c (grub_free): If the next free block which is being
23286 merged is the first free block, set the first block to the block
23287 being freed.
23288 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
23289
89371b20 232902005-05-08 Hollis Blanchard <hollis@penguinppc.org>
23291
23292 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
23293 `grub_ieee1275_chosen'.
23294
168d6e58 232952005-05-08 Hollis Blanchard <hollis@penguinppc.org>
23296
23297 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
23298 (grub_ieee1275_chosen): New variable.
23299 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
23300 `chosen'.
23301 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
23302 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
23303 Rename first argument to `phandle' for consistency.
23304 (grub_ieee1275_get_property_length): Likewise.
23305 (grub_ieee1275_next_property): Likewise. Change type of first argument
23306 to grub_ieee1275_phandle_t.
23307 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
23308 Move export next to declaration.
23309 (grub_ieee1275_chosen): New variable.
23310 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
23311 Correct cosmetic typo.
23312 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
23313 `grub_ieee1275_chosen'.
23314 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
23315 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
23316 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
23317 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
23318 `grub_ieee1275_chosen'.
23319
ca5baa3f 233202005-05-10 Hollis Blanchard <hollis@penguinppc.org>
23321
23322 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
23323 /chosen/bootargs.
23324 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
23325 /chosen/bootargs as "variable=value" pairs.
23326
708b345f 233272005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
23328
23329 * include/grub/misc.h (grub_dprintf): New macro.
23330 (grub_real_dprintf): New prototype.
23331 (grub_strword): Likewise.
23332 (grub_iswordseparator): Likewise.
23333 * kern/misc.c (grub_real_dprintf): New function.
23334 (grub_strword): Likewise.
23335 (grub_iswordseparator): Likewise.
23336
f4c5e67c 233372005-04-30 Hollis Blanchard <hollis@penguinppc.org>
23338
23339 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
23340 (roundup): Remove macro.
23341 (grub_ieee1275_flags): Make static.
23342 (grub_ieee1275_realmode): Remove.
23343 (grub_ieee1275_test_flag): New function.
23344 (grub_ieee1275_set_flag): Likewise.
23345 (find_options): Rename to `grub_ieee1275_find_options'; update
23346 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
23347 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
23348 (cmain): New prototype.
23349 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
23350 `grub_ieee1275_flags' directly.
23351 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
23352 machine/biosdisk.h.
23353 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
23354 Don't include grub/machine/init.h.
23355 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
23356 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
23357 Remove prototype.
23358 (grub_ieee1275_realmode): Likewise.
23359 (grub_ieee1275_flag): New enum.
23360 (grub_ieee1275_test_flag): New prototype.
23361 (grub_ieee1275_set_flag): New prototype.
23362 * include/grub/powerpc/ieee1275/init.h: Remove file.
23363 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
23364 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
23365 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
23366 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
23367 comment.
23368 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
23369 `grub_ieee1275_test_flag'.
23370 (grub_ieee1275_encode_devname): Likewise.
23371
ed16607e 233722005-04-21 Hollis Blanchard <hollis@penguinppc.org>
23373
23374 * include/grub/powerpc/ieee1275/ieee1275.h
23375 (grub_ieee1275_encode_devname): New prototype.
23376 (grub_ieee1275_get_filename): Likewise.
23377 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
23378 function.
23379 (grub_set_prefix): Likewise.
23380 (grub_machine_init): Call grub_set_prefix.
23381 * kern/powerpc/ieee1275/openfw.c: Fix typos.
23382 (grub_parse_type): New enum.
23383 (grub_ieee1275_get_devargs): New function.
23384 (grub_ieee1275_get_devname): Likewise.
23385 (grub_ieee1275_parse_args): Likewise.
23386 (grub_ieee1275_get_filename): Likewise.
23387 (grub_ieee1275_encode_devname): Likewise.
23388
be369920 233892005-03-30 Marco Gerards <metgerards@student.han.nl>
23390
23391 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
23392 `grub_loader_unset'.
23393
a5ce3a4a 233942005-03-26 Hollis Blanchard <hollis@penguinppc.org>
23395
23396 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
23397 instead of grub_ieee1275_interpret.
23398 (grub_halt_init): New function.
23399 (grub_halt_fini): Likewise.
23400 (GRUB_MOD_INIT): Correct message grammar.
23401 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
23402 instead of grub_ieee1275_interpret.
23403 (grub_reboot_init): New function.
23404 (grub_reboot_fini): Likewise.
23405 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
23406 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
23407 util/i386/pc/misc.c with commands/ieee1275/halt.c,
23408 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
23409 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
23410 function.
23411 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
23412 Add prototype.
23413 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
23414 prototype.
23415 (grub_halt): Likewise.
23416 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
23417 (cmain): Remove __attribute__((unused)).
23418 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
23419 (grub_heap_len): Likewise.
23420 (grub_machine_fini): New function.
23421 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
23422 (grub_halt): Likewise.
23423 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
23424 function.
23425 * util/powerpc/ieee1275/misc.c: New file.
23426
0058f771 234272005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
23428
23429 * DISTLIST: New file.
23430 * gendistlist.sh: Likewise.
f19dbdb7 23431
0058f771 23432 * Makefile.in (COMMON_DISTFILES): Removed.
23433 (BOOT_DISTFILES): Likewise.
23434 (CONF_DISTFILES): Likewise.
23435 (DISK_DISTFILES): Likewise.
23436 (FS_DISTFILES): Likewise.
23437 (INCLUDE_DISTFILES): Likewise.
23438 (KERN_DISTFILES): Likewise.
23439 (LOADER_DISTFILES): Likewise.
23440 (TERM_DISTFILES): Likewise.
23441 (UTIL_DISTFILES): Likewise.
23442 (DISTFILES): Likewise.
23443 (uninstall): Uninstall files in $(pkgdata_DATA).
23444 (DISTLIST): New target.
23445 (distdir): Use the contents of the file DISTLIST to get a list of
23446 distributed files.
23447
46b3b8a5 234482005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
23449
23450 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
23451 descriptor. This is ported from GRUB Legacy.
23452
23453 * gencmdlist.sh: Added an extra semicolon to make it work with
23454 old sed versions. Reported by Robert Bihlmeyer
23455 <robbe@orcus.priv.at>.
23456
5822ff87 234572005-03-08 Yoshinori Okuji <okuji@enbug.org>
23458
23459 Automatic loading of commands is supported.
f19dbdb7 23460
5822ff87 23461 * normal/main.c (read_command_list): New function.
23462 (grub_normal_execute): Call read_command_list.
23463
23464 * normal/command.c (grub_register_command): Return zero or CMD.
23465 Allocate CMD->NAME from the heap.
23466 Initialize CMD->MODULE_NAME to zero.
23467 Find the same name as well. If the same command is found and it is
23468 a dummy command, overwrite members. If it is not a dummy command,
23469 return zero.
23470 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
23471 (grub_command_find): If a dummy command is found, load a module
23472 and retry to find a command only once.
23473
23474 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
23475 make sure that each command is loaded.
23476
23477 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
23478 macro.
23479 (struct grub_command): Remove const from the member `name'.
23480 Add a new member `module_name'.
23481 (grub_register_command): Return grub_command_t.
23482
23483 * commands/help.c (grub_cmd_help): Call grub_command_find to make
23484 sure that each command is loaded.
23485
23486 * genmk.rb (PModule::rule): Specify a module name without the
23487 suffix ".mod" to gencmdlist.sh.
23488
7b1f4b57 234892005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
23490
23491 * gencmdlist.sh: New file.
f19dbdb7 23492
7b1f4b57 23493 * genmk.rb (PModule::rule): Generate a rule for a command list.
23494 Clean command.lst.
23495 Generate command.lst from $(COMMANDFILES).
23496
23497 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
23498 (DATA): Added $(pkgdata_DATA).
23499 (install-local): Install files in $(pkgdata_DATA).
23500
062aaf39 235012005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
23502
23503 * term/i386/pc/vga.c (debug_command): Removed.
23504 (GRUB_MOD_INIT): Do not register the command "debug".
23505
23506 From Hollis Blanchard:
23507 * commands/configfile.c: New file.
23508 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
23509 commands/configfile.c.
23510 (pkgdata_MODULES): Added configfile.mod.
23511 (configfile_mod_SOURCES): New variable.
23512 (configfile_mod_CFLAGS): Likewise.
23513 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
23514 commands/configfile.c.
23515 (pkgdata_MODULES): Added configfile.mod.
23516 (configfile_mod_SOURCES): New variable.
23517 (configfile_mod_CFLAGS): Likewise.
23518 * util/grub-emu.c (main): Call grub_configfile_init and
23519 grub_configfile_fini.
23520 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
23521 prototype.
23522 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 23523
cee01aa6 235242005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
23525
23526 * normal/arg.c (grub_arg_show_help): Do not show the bug report
23527 address.
23528
23529 * commands/help.c (grub_cmd_help): Do not print newlines after
23530 the last command in print_command_help.
23531
93f3a1d8 235322005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
23533
23534 * commands/default.h: New file.
23535 * commands/timeout.h: Likewise.
23536 * normal/context.c: Likewise.
f19dbdb7 23537
93f3a1d8 23538 * util/misc.c: Do not include sys/times.h.
23539 Include sys/time.h and grub/machine/time.h.
23540 (grub_get_rtc): Rewritten with gettimeofday.
23541
23542 * util/grub-emu.c (main): Call grub_default_init and
23543 grub_timeout_init before grub_normal_init, and call
23544 grub_timeout_fini and grub_default_fini after grub_main.
23545
23546 * util/console.c (grub_ncurses_checkkey): Return the read
23547 character or -1.
23548
23549 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
23550 timeouts.
23551
23552 * normal/main.c (read_config_file): Push MENU. If this fails,
23553 print an error and wait for a user input.
23554 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
23555 If a menu is empty or an error occurs, pop MENU.
23556 (grub_normal_execute): Pop and free MENU after grub_menu_run
23557 returns.
23558
23559 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
23560
23561 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
23562 include time.h.
23563 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
23564 without GRUB_UTIL.
23565 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
23566 time.h.
23567 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
23568 without GRUB_UTIL.
23569
23570 * include/grub/normal.h (struct grub_menu_list): New struct.
23571 (grub_menu_list_t): New type.
23572 (struct grub_context): New struct.
23573 (grub_context_t): New type.
23574 (grub_register_command): Got rid of EXPORT_FUNC.
23575 (grub_unregister_command): Likewise.
23576 (grub_context_get): New prototype.
23577 (grub_context_get_current_menu): Likewise.
23578 (grub_context_push_menu): Likewise.
23579 (grub_context_pop_menu): Likewise.
23580 [GRUB_UTIL] (grub_default_init): Likewise.
23581 [GRUB_UTIL] (grub_default_fini): Likewise.
23582 [GRUB_UTIL] (grub_timeout_init): Likewise.
23583 [GRUB_UTIL] (grub_timeout_fini): Likewise.
23584
23585 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
23586 commands/timeout.c and normal/context.c.
23587 (pkgdata_MODULES): Added default.mod and timeout.mod.
23588 (normal_mod_SOURCES): Added normal/context.c.
23589 (default_mod_SOURCES): New variable.
23590 (default_mod_CFLAGS): Likewise.
23591 (timeout_mod_SOURCES): Likewise.
23592 (timeout_mod_CFLAGS): Likewise.
23593 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
23594 conf/i386-pc.rmk.
23595 (pkgdata_MODULES): Added default.mod and timeout.mod.
23596 (normal_mod_SOURCES): Added normal/context.c.
23597 (default_mod_SOURCES): New variable.
23598 (default_mod_CFLAGS): Likewise.
23599 (timeout_mod_SOURCES): Likewise.
23600 (timeout_mod_CFLAGS): Likewise.
23601
23602 * Makefile.in (all-local): Added $(MKFILES).
23603
4ed2e1dd 236042005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
23605
23606 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
23607 (grub_emu_SOURCES): Likewise.
23608 (pkgdata_MODULES): Add `sun.mod'.
23609 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
23610 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
23611 `partmap/sun.c'.
23612 (pkgdata_MODULES): Add `sun.mod'.
23613 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
23614 * include/grub/partition.h (grub_sun_partition_map_init): New
23615 prototype.
23616 (grub_sun_partition_map_fini): Likewise.
23617 * partmap/sun.c: New file.
23618 * util/grub-emu.c (main): Initialize and de-initialize the sun
23619 partitionmap support.
23620
4d4e372e 236212005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
23622
23623 This implements an Emacs-like menu entry editor.
f19dbdb7 23624
4d4e372e 23625 * normal/menu_entry.c: New file.
f19dbdb7 23626
4d4e372e 23627 * util/console.c (grub_ncurses_putchar): Translate some Unicode
23628 characters to ASCII.
23629 (saved_char): New variable.
23630 (grub_ncurses_checkkey): Rewritten completely.
23631 (grub_ncurses_getkey): Likewise.
23632 (grub_ncurses_init): Call raw instead of cbreak.
23633
23634 * normal/menu.c (print_entry): Do not put a space.
23635 (init_page): Renamed to ...
23636 (grub_menu_init_page): ... this. All callers changed.
23637 (edit_menu_entry): Removed.
23638 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
23639
23640 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
23641
23642 * kern/misc.c (grub_vprintf): Call grub_refresh.
23643
23644 * normal/menu.c (DISP_LEFT): Renamed to ...
23645 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
23646 * normal/menu.c (DISP_UP): Renamed to ...
23647 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
23648 * normal/menu.c (DISP_RIGHT): Renamed to ...
23649 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
23650 * normal/menu.c (DISP_DOWN): Renamed to ...
23651 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
23652 * normal/menu.c (DISP_HLINE): Renamed to ...
23653 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
23654 * normal/menu.c (DISP_VLINE): Renamed to ...
23655 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
23656 * normal/menu.c (DISP_UL): Renamed to ...
23657 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
23658 * normal/menu.c (DISP_UR): Renamed to ...
23659 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
23660 * normal/menu.c (DISP_LL): Renamed to ...
23661 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
23662 * normal/menu.c (DISP_LR): Renamed to ...
23663 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
23664 * normal/menu.c (TERM_WIDTH): Renamed to ...
23665 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
23666 * normal/menu.c (TERM_HEIGHT): Renamed to ...
23667 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
23668 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
23669 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
23670 * normal/menu.c (TERM_MARGIN): Renamed to ...
23671 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
23672 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
23673 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
23674 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
23675 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
23676 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
23677 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
23678 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
23679 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
23680 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
23681 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
23682 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
23683 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
23684 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
23685 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
23686 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
23687 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
23688 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
23689 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
23690 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
23691 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
23692 All callers changed.
23693
23694 * include/grub/normal.h: New prototype.
23695
23696 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
23697 normal/menu_entry.c.
23698 (normal_mod_SOURCES): Likewise.
23699 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23700 (normal_mod_SOURCES): Likewise.
23701
e6b92c8a 237022005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
23703
23704 * include/grub/normal.h (grub_halt_init): New prototype.
23705 (grub_halt_fini): Likewise.
23706 (grub_reboot_init): Likewise.
23707 (grub_reboot_fini): Likewise.
23708
23709 * util/grub-emu.c: Include signal.h.
23710 (main_env): New global variable.
23711 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
23712 catch C-c.
23713 (grub_machine_fini): New function.
23714 (main): Call grub_halt_init and grub_reboot_init before
23715 grub_main, and grub_reboot_fini and grub_halt_fini after it.
23716 Call setjmp with MAIN_ENV to go back afterwards.
23717 Call grub_machine_fini right before return.
23718
23719 * include/grub/util/misc.h: Include setjmp.h.
23720 (main_env): New prototype.
23721
23722 * include/grub/kernel.h (grub_machine_fini): New prototype.
23723 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
23724 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
23725
23726 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
23727 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
23728 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 23729
e6b92c8a 23730 * util/i386/pc/misc.c: New file.
f19dbdb7 23731
e6b92c8a 23732 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
23733 util/i386/pc/misc.c, commands/i386/pc/halt.c and
23734 commands/i386/pc/reboot.c.
23735
c642636f 237362005-02-14 Guillem Jover <guillem@hadrons.org>
23737
23738 * include/grub/dl.h (grub_dl_check_header): New prototype.
23739 (grub_arch_dl_check_header): Change return type to grub_err_t,
23740 remove size parameter and export function. Update all callers.
23741 * kern/dl.c (grub_dl_check_header): New function.
23742 (grub_dl_load_core): Use `grub_dl_check_header' instead of
23743 `grub_arch_dl_check_header'. Check ELF type. Check if sections
23744 are inside the core.
23745 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
23746 independent ELF header checks.
23747 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
23748 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
23749 `grub_dl_check_header' instead of explicit checks. Check for the
23750 ELF type.
23751 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
23752 `grub_dl_check_header' instead of explicit checks. Remove arch
23753 specific ELF header checks.
23754
e6b92c8a 23755 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
23756 argument SIZE.
23757
5eabe94b 237582005-02-13 Hollis Blanchard <hollis@penguinppc.org>
23759
23760 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
23761 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
23762
1b14a681 237632005-02-12 Hollis Blanchard <hollis@penguinppc.org>
23764
23765 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 23766 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 23767 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 23768 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 23769 * partmap/amiga.c (amiga_partition_map_iterate): Return
23770 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
23771 * partmap/apple.c (apple_partition_map_iterate): Likewise.
23772
aca108aa 237732005-02-01 Guillem Jover <guillem@hadrons.org>
23774
23775 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
23776 help info.
23777
c9f9c556 237782005-01-31 Marco Gerards <metgerards@student.han.nl>
23779
23780 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
23781 Removed prototype.
23782 (grub_rescue_cmd_linux): New prototype.
23783 (grub_rescue_cmd_initrd): Likewise.
23784 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
23785 `bi_rec'.
23786 (grub_linux_release_mem): Release the memory for the initrd.
23787 (grub_load_linux): Renamed from this...
23788 (grub_rescue_cmd_linux): ...To this. Changed all callers.
23789 Changed `entry' not to be static. Loop over memory regions to
23790 find another one when the default fails.
23791 (grub_rescue_cmd_initrd): New function.
23792 (grub_linux_init): Remove function.
23793 (grub_linux_fini): Likewise.
23794 (GRUB_MOD_INIT): Register `initrd'.
23795 (GRUB_MOD_FINI): Unregister `initrd'.
23796 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
23797 Function removed.
23798 (grub_linux_normal_fini): Likewise.
23799 (GRUB_MOD_INIT): Register `initrd'.
23800 (GRUB_MOD_FINI): Unregister `initrd'.
23801
990cf3aa 238022005-01-31 Marco Gerards <metgerards@student.han.nl>
23803
23804 * commands/help.c: New file.
23805 * normal/arg.c (show_help): Renamed to...
23806 (grub_arg_show_help): ... this.
23807 * commands/i386/pc/halt.c: New file.
23808 * commands/i386/pc/reboot.c: Likewise.
23809 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
23810 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
23811 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
23812 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
23813 variables.
23814 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
23815 `commands/help.c'.
23816 (pkgdata_MODULES): Add `help.mod'.
23817 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
23818 * grub/i386/pc/init.h (grub_reboot): New prototype.
23819 (grub_halt): Likewise.
23820 * include/grub/normal.h (grub_arg_show_help): New prototype.
23821 (grub_help_init): Likewise.
23822 (grub_help_fini): Likewise.
23823 * util/grub-emu.c (main): Initialize and deinitialize the help
23824 command.
23825
23826 * normal/cmdline.c (grub_cmdline_get): Doc fix.
23827
23828 * normal/command.c (grub_command_init): Fixed the description of
23829 the `set' and `unset' commands.
23830
238312005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 23832
23833 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
23834 function.
23835 * commands/ieee1275/halt.c: New file.
23836 * commands/ieee1275/reboot.c: Likewise.
23837 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
23838 `__attribute__ ((unused))'. Some GCS related fixed.
23839 (grub_suspend_init) [GRUB_UTIL]: Function removed.
23840 (grub_suspend_fini): Likewise.
23841 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
23842 and `halt.mod'.
23843 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
23844 (halt_mod_CFLAGS): New variables.
23845 * include/grub/powerpc/ieee1275/ieee1275.h
23846 (grub_ieee1275_interpret): New prototype.
23847
1ab09cc7 238482005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
23849
23850 * include/grub/misc.h (memmove): New prototype.
23851 (memcpy): Likewise.
23852
8b8cbdb2 238532005-01-22 Hollis Blanchard <hollis@penguinppc.org>
23854
23855 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
23856 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
23857
e3741a27 238582005-01-22 Marco Gerards <metgerards@student.han.nl>
23859
23860 * kern/misc.c (grub_strndup): Function rewritten.
23861
776bd780 238622005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
23863
23864 * normal/menu.c (TERM_WIDTH): Macro redefined.
23865 (TERM_TOP_BORDER_Y): Likewise.
23866 (draw_border): Replaced while-loop by a for-loop. Make the number
23867 of lines consistent with the number of lines displayed in
23868 print_entries. Added a margin below the rectangle.
23869 (print_entry): Make the entry fit in the rectangle.
23870 (print_entries): Display the scroll arrows next to the right
23871 border.
23872
78026bce 238732005-01-21 Marco Gerards <metgerards@student.han.nl>
23874
23875 * fs/minix.c (grub_minix_find_file): Reserve more space for
23876 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
23877 `grub_strncpy' to copy `path' into it.
23878
67bbaf0f 238792005-01-21 Marco Gerards <metgerards@student.han.nl>
23880
23881 Add the loopback device, a device via which files can be accessed
23882 as devices.
f19dbdb7 23883
67bbaf0f 23884 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
23885 (pkgdata_MODULES): Add loopback.mod.
23886 (loopback_mod_SOURCES): New variable.
23887 (loopback_mod_CFLAGS): Likewise.
23888 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
23889 `disk/loopback.c'.
23890 (pkgdata_MODULES): Add loopback.mod.
23891 (loopback_mod_SOURCES): New variable.
23892 (loopback_mod_CFLAGS): Likewise.
23893 * disk/loopback.c: new file.
23894 * include/grub/normal.h (grub_loop_init): New prototype.
23895 (grub_loop_fini): New prototype.
23896 * util/grub-emu.c (main): Initialize and de-initialize loopback
23897 support.
23898 * include/grub/disk.h (grub_disk_dev_id): Add
23899 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
23900
6f1c18bd 239012005-01-20 Hollis Blanchard <hollis@penguinppc.org>
23902
23903 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
23904 function.
23905 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
23906 (suspend_mod_SOURCES): New variable.
23907 (suspend_mod_CFLAGS): Likewise.
23908 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
23909 New prototype.
23910 * commands/ieee1275/suspend.c: New file.
23911
b38551da 239122005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
23913
23914 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 23915 ((unused))' to `__attribute__ ((used))'.
b38551da 23916 (GRUB_MOD_FINI): Likewise.
23917 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
23918 * genmk.rb (PModule): Assign space to common symbols when linking
23919 modules.
23920
777aff39 239212005-01-20 Marco Gerards <metgerards@student.han.nl>
23922
23923 * include/grub/mm.h (grub_mm_init_region): Change the type of the
23924 `unsigned' arguments to `grub_size_t'.
23925 (grub_malloc): Likewise.
23926 (grub_realloc): Likewise.
23927 (grub_memalign): Likewise.
23928 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
23929 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
23930 * util/misc.c (grub_malloc): Likewise.
23931 (grub_realloc): Likewise.
23932 * kern/mm.c (get_header_from_pointer): Change the casts to
23933 `unsigned' into a cast to `grub_size_t'.
23934
23935 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
23936 point to `currnode' when `currnode' is changed.
23937
23938 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
23939 Schottelius <nico-linux@schottelius.org>.
23940
d0ff18e1 239412005-01-09 Hollis Blanchard <hollis@penguinppc.org>
23942
23943 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
23944 (note_path): Remove variable.
23945 (GRUB_IEEE1275_NOTE_NAME): New macro.
23946 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
23947 (grub_ieee1275_note_hdr): New structure.
23948 (grub_ieee1275_note_desc): Likewise.
23949 (grub_ieee1275_note): Likewise.
23950 (load_note): Remove `dir' argument. All callers updated. Remove
23951 `note_img' and `path'. Do not load a file from `note_path'.
23952 Initialize a struct grub_ieee1275_note and write that to `out'.
23953 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
23954
4ca7004c 239552005-01-05 Marco Gerards <metgerards@student.han.nl>
23956
23957 * util/misc.c (grub_util_read_image): Revert last change. It
23958 called `grub_util_read_at', which seeks from the beginning of the
23959 file.
23960
0b412211 239612005-01-04 Hollis Blanchard <hollis@penguinppc.org>
23962
23963 * TODO: Add note about endianness in grub-mkimage.
23964 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
23965 section.
23966 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
23967 (grub_mkimage_SOURCES): New target.
23968 * include/grub/kernel.h (grub_start_addr): Remove variable.
23969 (grub_end_addr): Likewise.
23970 (grub_total_module_size): Likewise.
23971 (grub_kernel_image_size): Likewise.
23972 (GRUB_MODULE_MAGIC): New constant.
23973 (grub_module_info): New structure.
23974 (grub_arch_modules_addr): New prototype.
23975 (grub_get_end_addr): Remove prototype.
23976 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
23977 * include/grub/powerpc/ieee1275/kernel.h: New file.
23978 * include/grub/util/misc.h (grub_util_get_fp_size): New
23979 prototype.
23980 (grub_util_read_at): Likewise.
23981 (grub_util_write_image_at): Likewise.
23982 * kern/main.c (grub_get_end_addr): Remove function.
23983 (grub_load_modules): Call grub_arch_modules_addr instead of using
23984 grub_end_addr. Look for a grub_module_info struct in memory. Use
23985 the grub_module_info fields instead of calling grub_get_end_addr
23986 as loop conditions. Move grub_add_unused_region code here.
23987 (grub_add_unused_region): Remove function.
23988 * kern/i386/pc/init.c: Include grub/cache.h.
23989 (grub_machine_init): Remove call to grub_get_end_addr. Remove
23990 one call to add_mem_region.
23991 (grub_arch_modules_addr): New function.
23992 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
23993 (grub_total_module_size): Likewise.
23994 Include grub/machine/kernel.h.
23995 (grub_arch_modules_addr): New function.
23996 * util/grub-emu.c (grub_end_addr): Remove variable.
23997 (grub_total_module_size): Likewise.
23998 (grub_arch_modules_addr): New function.
23999 * util/misc.c: Include unistd.h.
24000 (grub_util_get_fp_size): New function.
24001 (grub_util_read_at): Likewise.
24002 (grub_util_write_image_at): Likewise.
24003 (grub_util_read_image): Call grub_util_read_at.
24004 (grub_util_write_image): Call grub_util_write_image_at.
24005 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
24006 additional memory in kernel_img for a struct grub_module_info.
24007 Fill in that grub_module_info.
24008 * util/powerpc/ieee1275/grub-mkimage.c: New file.
24009
458786f8 240102005-01-03 Hollis Blanchard <hollis@penguinppc.org>
24011
24012 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
24013 New function.
24014 * include/grub/powerpc/ieee1275/ieee1275.h
24015 (grub_ieee1275_milliseconds): New prototype.
24016 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
24017 Change to 1000.
24018 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
24019 grub_ieee1275_milliseconds.
24020
ac507d1b 240212005-01-03 Hollis Blanchard <hollis@penguinppc.org>
24022
24023 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
24024 variable.
24025 (find_options): New function.
24026 (cmain): Call find_options.
24027 * include/grub/powerpc/ieee1275/ieee1275.h
24028 (grub_ieee1275_realmode): New extern variable.
24029 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
24030 grub_map if grub_ieee1275_realmode is false.
24031
6b8fd1c4 240322004-12-29 Marco Gerards <metgerards@student.han.nl>
24033
24034 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
24035 lines are inserted and make it work like readline. Reported by
24036 Vincent Pelletier <subdino2004@yahoo.fr>.
24037
8514a1e0 240382004-12-28 Marco Gerards <metgerards@student.han.nl>
24039
24040 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
24041
24042 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
24043 `kern/powerpc/cache.S'.
24044
924b6140 240452004-12-27 Marco Gerards <metgerards@student.han.nl>
24046
24047 * genmk.rb: Handle the `Program' class in the main loop. Written
24048 by Johan Rydberg <jrydberg@gnu.org>.
24049 (Program): New class.
24050 (programs): New variable.
24051 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
24052 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
24053 instead of "grub/kernel.h". Include <grub/machine/init.h>.
24054 (help_arch): Function removed.
24055 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
24056 `powerpc/libgcc.h' and `loader.h'.
24057 (pkgdata_PROGRAMS): New variable.
24058 (sbin_UTILITIES): Variable removed.
24059 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
24060 (grubof_SOURCES): Variable re-defined so it only includes the
24061 core functionality.
24062 (grubof_CFLAGS): Remove `-DGRUBOF'.
24063 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
24064 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
24065 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
24066 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
24067 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
24068 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
24069 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
24070 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
24071 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
24072 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
24073 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
24074 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
24075 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
24076 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
24077 (pc_mod_CFLAGS): New variables.
24078 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
24079 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
24080 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
24081 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
24082 Moved from here...
24083 * include/grub/i386/pc/init.h (grub_os_area_addr)
24084 (rub_os_area_size): ... to here.
24085 * include/grub/powerpc/ieee1275/ieee1275.h
24086 (grub_ieee1275_entry_fn): Export symbol.
24087 * include/grub/powerpc/ieee1275/init.h: New file.
24088 * include/grub/powerpc/libgcc.h: Likewise.
24089 * include/grub/cache.h: Likewise.
24090 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
24091 <hollis@penguinppc.org>.
24092 * kern/dl.c: Include <grub/cache.h>.
24093 (grub_dl_flush_cache): New function.
24094 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
24095 for this module.
24096 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
24097 (grub_console_init): Removed prototypes.
24098 (grub_machine_init): Don't initialize the modules anymore.
24099 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
24100 static.
24101 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
24102 Macro undef removed.
24103 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
24104 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
24105 relocation `R_PPC_REL32'. Return an error when the relocation is
24106 unknown.
24107 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
24108 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
24109 * util/misc.c (grub_arch_sync_caches): Likewise.
24110
e4b47e0c 241112004-12-19 Marco Gerards <metgerards@student.han.nl>
24112
24113 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
24114 `symlist.c', add `grubof_symlist.c'.
24115 (symlist.c): Variable removed.
24116 (grubof_HEADERS): Variable added.
24117 (grubof_symlist.c): New target.
24118 (kernel_syms.lst): Use `grubof_HEADERS' instead of
24119 `kernel_img_HEADERS'.
24120 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
24121 * kern/powerpc/dl.c: New file.
24122 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
24123 Function removed.
24124 (grub_arch_dl_relocate_symbols): Likewise.
24125 (grub_register_exported_symbols): Likewise.
24126
4ceb3636 241272004-12-13 Marco Gerards <metgerards@student.han.nl>
24128
24129 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
24130 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
24131 to fail instead. Reported by Vincent Pelletier
24132 <subdino2004@yahoo.fr>.
24133
24134 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
24135 it is not allocated. Reported by Vincent Pelletier
24136 <subdino2004@yahoo.fr>.
24137
24138 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
24139 output so the output looks better.
f19dbdb7 24140
3f1578fe 241412004-12-04 Marco Gerards <metgerards@student.han.nl>
24142
24143 Modulize the partition map support and add support for the amiga
24144 partition map.
f19dbdb7 24145
3f1578fe 24146 * commands/ls.c: Include <grub/partition.h> instead of
24147 <grub/machine/partition.h>.
24148 * kern/disk.c: Likewise.
24149 * kern/rescue.c: Likewise.
24150 * loader/i386/pc/chainloader.c: Likewise.
24151 * normal/cmdline.c: Likewise.
24152 * kern/powerpc/ieee1275/init.c: Likewise.
24153 (grub_machine_init): Call `grub_pc_partition_map_init',
24154 `grub_amiga_partition_map_init' and
24155 `grub_apple_partition_map_init'.
24156 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
24157 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
24158 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
24159 `partition.h' and `pc_partition.h'.
24160 (grub_setup_SOURCES): Remove
24161 `disk/i386/pc/partition.c'. Add `kern/partition.c',
24162 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
24163 (grub_emu_SOURCES): Likewise.
24164 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
24165 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
24166 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
24167 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
24168 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
24169 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
24170 (grubof_SOURCES): Likewise.
24171 * disk/i386/pc/partition.c: File removed.
24172 * disk/powerpc/ieee1275/partition.c: Likewise.
24173 * include/grub/powerpc/ieee1275/partition.h: Likewise.
24174 * include/grub/i386/pc/partition.h: Likewise.
24175 * kern/partition.c: New file.
24176 * partmap/amiga.c: Likewise.
24177 * partmap/apple.c: Likewise.
24178 * partmap/pc.c: Likewise.
24179 * include/grub/partition.h: Likewise..
24180 * include/grub/pc_partition.h: Likewise.
24181 * util/grub-emu.c: Include <grub/partition.h> instead of
24182 <grub/machine/partition.h>.
24183 (main): Call `grub_pc_partition_map_init',
24184 `grub_amiga_partition_map_init' and
24185 `grub_apple_partition_map_init' and deinitialize afterwards.
24186 * util/i386/pc/biosdisk.c: Include `#include
24187 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
24188 `<grub/machine/partition.h>'.
24189 * util/i386/pc/grub-setup.c: Likewise.
24190 * util/i386/pc/biosdisk.c: Likewise.
24191 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
24192 partition information in case of a PC partition.
24193 * util/i386/pc/grub-setup.c: Include `#include
24194 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
24195 `<grub/machine/partition.h>'.
24196 (setup): Only access the PC specific partition information in case
24197 of a PC partition.
24198
0ef4ced9 241992004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 24200
0ef4ced9 24201 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
24202 (grub_longjmp): Likewise.
24203 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
24204 20.
24205 * normal/powerpc/setjmp.S: New file.
24206 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
24207 `normal/powerpc/setjmp.S'.
24208 (grubof_CFLAGS): Add `-DGRUBOF'.
24209 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
24210 [GRUB_UTIL && !GRUBOF].
f19dbdb7 24211
19950e29 242122004-11-16 Marco Gerards <metgerards@student.han.nl>
24213
24214 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
24215 property named `name'. Correctly handle the error returned by
24216 `grub_ieee1275_finddevice' if a device can not be opened.
24217
a2fea427 242182004-11-02 Hollis Blanchard <hollis@penguinppc.org>
24219
24220 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
24221 `actual' for negativity.
24222 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
24223 kern/fshelp.c.
24224
41ea0ea3 242252004-11-01 Marco Gerards <metgerards@student.han.nl>
24226
24227 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
24228 (PAGE_OFFSET): New macro.
24229 (CRTC_ADDR_PORT): Likewise.
24230 (CRTC_DATA_PORT): Likewise.
24231 (START_ADDR_HIGH_REGISTER): Likewise.
24232 (START_ADDR_LOW_REGISTER): Likewise.
24233 (GRAPHICS_ADDR_PORT): Likewise.
24234 (GRAPHICS_DATA_PORT): Likewise.
24235 (READ_MAP_REGISTER): Likewise.
24236 (INPUT_STATUS1_REGISTER): Likewise.
24237 (INPUT_STATUS1_VERTR_BIT): Likewise.
24238 (page): New variable.
24239 (wait_vretrace): New function.
24240 (set_read_map): Likewise.
24241 (set_start_address): Likewise.
24242 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
24243 the right page.
24244 (check_vga_mem): Take the page into account.
24245 (write_char): Likewise.
24246 (write_cursor): Likewise.
24247 (scroll_up): Likewise. Copy the page to the page that is not
24248 shown and switch between both pages.
24249 (grub_vga_putchar): Fix off by one error.
24250 (grub_vga_cls): Wait for the vertical retrace. Take the page into
24251 account.
24252
ad0bd20b 242532004-11-01 Marco Gerards <metgerards@student.han.nl>
24254
24255 Add support for iso9660 (including rockridge).
f19dbdb7 24256
ad0bd20b 24257 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
24258 (iso9660_mod_SOURCES): New variable.
24259 (iso9660_mod_CFLAGS): Likewise.
24260 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
24261 * include/grub/fs.h (grub_iso9660_init): New prototype.
24262 * util/grub-emu.c (main): Call `grub_iso9660_init'.
24263 * fs/iso9660.c: New file.
24264
24265 * include/grub/misc.h (grub_strncat): New prototype.
24266 * kern/misc.c (grub_strncat): New function.
f19dbdb7 24267
ad0bd20b 24268 * fs/hfs.c (grub_hfs_mount): Translate the error
24269 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
24270 * fs/jfs.c (grub_jfs_mount): Likewise.
24271 * fs/ufs.c (grub_ufs_mount): Likewise.
24272
a5477a59 242732004-10-28 Hollis Blanchard <hollis@penguinppc.org>
24274
24275 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
24276 which initialized BAT registers.
24277 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
24278 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
24279 Move from here...
24280 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
24281 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
24282 ... to here.
24283 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
24284 (grub_mapclaim): Likewise.
24285 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
24286 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
24287 hand.
24288
9304c1f8 242892004-10-19 Hollis Blanchard <hollis@penguinppc.org>
24290
24291 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
24292 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
24293 -ffreestanding and -msoft-float.
24294
86f4ae25 242952004-10-15 Hollis Blanchard <hollis@penguinppc.org>
24296
24297 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
24298 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
24299 set in grub_ieee1275_flags.
24300
38912228 243012004-10-14 Hollis Blanchard <hollis@penguinppc.org>
24302
24303 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
24304 prototype.
24305 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
24306 grub_console_init first.
24307 Change the memory range used for grub_ieee1275_claim and
24308 grub_mm_init_region.
24309 Print an error message if the claim fails.
24310 Include <grub/misc.h>.
24311
d1923dc8 243122004-10-13 Hollis Blanchard <hollis@penguinppc.org>
24313
24314 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
24315 Call grub_children_iterate for device nodes of type `scsi',
24316 `ide', or `ata'.
24317 (grub_ofdisk_open): Remove manual device alias resolution.
24318 Fix memory leak when device cannot be opened.
f19dbdb7 24319 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 24320 (grub_children_iterate): New prototype.
24321 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
24322 New function.
24323 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
24324 Return -1 if args.size was -1.
24325
4512e4f3 243262004-10-11 Hollis Blanchard <hollis@penguinppc.org>
24327
24328 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
24329 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
24330 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
24331 Open Firmware's memory for it; claim memory from _start to _end.
24332 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
24333 (_end): New extern.
24334 (_start): Zero BSS from __bss_start to _end.
24335 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
24336 New extern.
24337 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
24338
4d61feb0 243392004-10-11 Hollis Blanchard <hollis@penguinppc.org>
24340
ad0bd20b 24341 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
24342 -1 if args.base was -1.
4d61feb0 24343
026fa2f9 243442004-10-08 Hollis Blanchard <hollis@penguinppc.org>
24345
24346 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
24347 escape sequence instead of a literal ^L. Also call
24348 grub_ofconsole_gotoxy.
24349
9f2220ef 243502004-10-03 Hollis Blanchard <hollis@penguinppc.org>
24351
24352 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
24353 void * arguments to grub_addr_t. All callers updated. Also make
24354 the `result' argument optional.
24355 (grub_ieee1275_release): change void * arguments to grub_addr_t.
24356 All callers updated.
24357
8a572cd7 243582004-09-22 Hollis Blanchard <hollis@penguinppc.org>
24359
24360 * commands/ls.c (grub_ls_list_files): Use the string following the
24361 initial ')', if present, as the filesystem path.
24362 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
24363
24364 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
24365
18aa81f2 243662004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
24367
24368 Make the source code of the menu interface more readable.
f19dbdb7 24369
18aa81f2 24370 * normal/menu.c: Include grub/mm.h.
24371 (TERM_WIDTH): New macro.
24372 (TERM_HEIGHT): Likewise.
24373 (TERM_INFO_HEIGHT): Likewise.
24374 (TERM_MARGIN): Likewise.
24375 (TERM_SCROLL_WIDTH): Likewise.
24376 (TERM_TOP_BORDER_Y): Likewise.
24377 (TERM_LEFT_BORDER_X): Likewise.
24378 (TERM_BORDER_WIDTH): Likewise.
24379 (TERM_MESSAGE_HEIGHT): Likewise.
24380 (TERM_BORDER_HEIGHT): Likewise.
24381 (TERM_NUM_ENTRIES): Likewise.
24382 (TERM_FIRST_ENTRY_Y): Likewise.
24383 (TERM_ENTRY_WIDTH): Likewise.
24384 (TERM_CURSOR_X): Likewise.
24385 (draw_border): Use macros instead of magic numbers.
24386 (print_entry): Likewise.
24387 (print_entries): Likewise.
24388 (run_menu): Likewise. Also, handle the key 'e'.
24389 (run_menu_entry): Ignore empty command lines.
24390 (print_message): Added a new argument EDIT. If EDIT is true,
24391 print a different message.
24392 (init_page): Likewise.
24393 (edit_menu_entry): New function. Not implemented yet.
24394
b47efe30 243952004-09-17 Marco Gerards <metgerards@student.han.nl>
24396
24397 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
24398 can be loaded from normal mode.
f19dbdb7 24399
b47efe30 24400 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
24401 `multiboot.mod'.
24402 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
24403 (multiboot_mod_CFLAGS): New variables.
24404 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 24405 * loader/i386/pc/multiboot_normal.c: Likewise.
24406
b47efe30 24407 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
24408 attribute `unused'.
f19dbdb7 24409
b47efe30 24410 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
24411 `fdiro' to read the mode information from instead of `diro'.
24412
24413 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
24414 looking up a symlink.
24415
24416 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
24417 macro.
24418 * normal/command.c (grub_command_execute): Don't parse the
24419 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
24420 flags of the command.
24421
24422 * normal/menu.c (grub_menu_run): Fix typo.
24423
da75ac71 244242004-09-14 Hollis Blanchard <hollis@penguinppc.org>
24425
24426 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
24427
24428 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
24429 `y + 1' instead of `y - 1'.
24430
24431 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 24432
062b24c2 244332004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
24434
24435 From Hollis Blanchard <hollis@penguinppc.org>:
24436 * kern/misc.c (memmove): New alias for grub_memmove.
24437 (memcmp): New alias for grub_memcmp.
24438 (memset): New alias for grub_memset.
f19dbdb7 24439 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 24440 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 24441 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 24442 (grub_ieee1275_get_property): Likewise.
f19dbdb7 24443
8ddad845 244442004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
24445
24446 Added normal mode command `chainloader' as module chain.mod, which
24447 depends on normal.mod and _chain.mod.
f19dbdb7 24448
8ddad845 24449 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
24450 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
24451 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
24452 Deleted prototype.
24453 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
24454 but arguments parsing moved to ...
24455 (grub_chainloader_cmd): ... here. New function.
24456 * include/grub/i386/pc/chainloader.h: New file.
24457 * loader/i386/pc/chainloader_normal.c: Likewise.
24458
2c1f4ce3 244592004-09-11 Marco Gerards <metgerards@student.han.nl>
24460
24461 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
24462 (grub_mkimage_LDFLAGS): Likewise.
24463 (grub_emu_SOURCES): Likewise.
24464 (kernel_img_HEADERS): Added fshelp.h.
24465 * fs/ext2.c: Include <grub/fshelp.h>.
24466 (FILETYPE_REG): New macro.
24467 (FILETYPE_INO_REG): Likewise.
24468 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
24469 Changed all users.
24470 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
24471 all users.
24472 (grub_fshelp_node): New struct.
24473 (grub_ext2_data): Added member `diropen'. Changed member `inode'
24474 to a pointer.
24475 (grub_ext2_get_file_block): Removed function.
24476 (grub_ext2_read_block): New function.
24477 (grub_ext2_read_file): Replaced parameter `data' by `node'.
24478 This function was written.
24479 (grub_ext2_mount): Read the root inode. Create a diropen struct.
24480 (grub_ext2_find_file): Removed function.
24481 (grub_ext2_read_symlink): New function.
24482 (grub_ext2_iterate_dir): Likewise.
24483 (grub_ext2_open): Rewritten.
24484 (grub_ext2_dir): Rewritten.
24485 * include/grub/fshelp.h: New file.
24486 * fs/fshelp.c: Likewise.
24487
3c52136a 244882004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
24489
24490 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
24491 (print_message): Add a missing newline.
24492 (run_menu): Added timeout support.
24493 (run_menu_entry): New local function.
24494 (grub_menu_run): Added support for booting.
24495
24496 * kern/loader.c (grub_loader_is_loaded): New function.
24497
24498 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
24499 (grub_get_rtc): Exported.
24500
24501 * include/grub/i386/pc/time.h: Include grub/symbol.h.
24502 (grub_get_rtc): Exported.
24503
24504 * include/grub/normal.h (struct grub_command_list): Remove
24505 constant from the member `command'.
24506
24507 * include/grub/loader.h (grub_loader_is_loaded): Declared.
24508
24509 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
24510
24511 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
24512
aa033560 245132004-08-28 Marco Gerards <metgerards@student.han.nl>
24514
24515 Add support for the JFS filesystem.
24516
24517 * fs/jfs.c: New file.
24518 * include/grub/fs.h (grub_jfs_init): New prototype.
24519 (grub_jfs_fini): New prototype.
24520 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
24521 (grub_emu_SOURCES): Likewise.
24522 (pkgdata_MODULES): Add jfs.mod.
24523 (jfs_mod_SOURCES): New variable.
24524 (jfs_mod_CFLAGS): Likewise.
24525 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
24526 (grubof_SOURCES): Likewise.
24527 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
24528
24529 * fs/fat.c (grub_fat_find_dir): Convert the filename little
24530 endian to the host endian.
24531 (grub_fat_utf16_to_utf8): Move function from there...
24532 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 24533 the endianness of the source string anymore.
aa033560 24534 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
24535
94bc45af 245362004-08-24 Marco Gerards <metgerards@student.han.nl>
24537
24538 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
24539 (grub_boot_fini) [GRUB_UTIL]: Likewise.
24540 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
24541 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 24542
94bc45af 24543 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
24544 (grub_hfs_iterate_dir): Make the function static. Add prototypes
24545 for `node_found' and `it_dir'.
24546 (grub_hfs_dir): Add prototype for `dir_hook'.
24547
24548 * fs/minix.c (grub_minix_get_file_block): Add prototype for
24549 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
24550 and `indir32' to silence a gcc warning.
24551
24552 * include/grub/fs.h (grub_hfs_init): New prototype.
24553 (grub_hfs_fini): Likewise.
f19dbdb7 24554
24555
97543f08 245562004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
24557
24558 Each disk device has its own id now. This is useful to make use
24559 of multiple disk devices.
f19dbdb7 24560
97543f08 24561 * include/grub/disk.h (grub_disk_dev_id): New enum.
24562 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
24563 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
24564
24565 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
24566 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
24567
24568 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
24569 GRUB_DISK_DEVICE_OFDISK_ID as an id.
24570
24571 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
24572 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
24573
24574 * include/grub/disk.h (struct grub_disk_dev): Added a new member
24575 "id" which is used by the cache manager.
24576
24577 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
24578 of just "GRUB".
24579
64372eb4 245802004-08-18 Marco Gerards <metgerards@student.han.nl>
24581
24582 * fs/hfs.c: New file.
24583 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
24584 (grub_emu_SOURCES): Likewise.
24585 (pkgdata_MODULES): Add hfs.mod.
24586 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
24587 (grubof_SOURCES): Likewise.
24588 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
24589
24590 * include/grub/misc.h (grub_strncasecmp): Add prototype.
24591 * kern/misc.c (grub_strncasecmp): Add function.
24592
cc61b58f 245932004-08-14 Marco Gerards <metgerards@student.han.nl>
24594
24595 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
24596 with parentheses.
24597
24598 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
24599 (grub_ext2_dir): In case the directory entry type is unknown, read
24600 it from the inode.
24601
0ef123f6 246022004-08-02 Peter Bruin <pjbruin@dds.nl>
24603
24604 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
24605 grub_load_linux instead of grub_rescue_cmd_linux as second
24606 argument of grub_rescue_register_command.
24607
24608 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
24609
a447c5df 246102004-07-27 Marco Gerards <metgerards@student.han.nl>
24611
24612 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
24613 function.
24614 * commands/boot.c: Remove the check for `GRUB_UTIL'.
24615 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
24616 `loader/powerpc/ieee1275/linux.c',
24617 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
24618 * include/grub/powerpc/ieee1275/ieee1275.h
24619 (grub_ieee1275_release): New prototype.
24620 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
24621 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
24622 normal, boot, linux and linux_normal.
24623 * loader/powerpc/ieee1275/linux.c: New file.
24624 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
24625
5a9e3546 246262004-07-12 Marco Gerards <metgerards@student.han.nl>
24627
24628 * normal/arg.c (grub_arg_parse): Correct error handling after
24629 reallocating the argumentlist (check if `argl' is not null instead
24630 of checking if `args' is not null).
24631 * kern/mm.c (grub_realloc): Return the same pointer when using the
24632 same region, instead of returning the header address.
24633
e15199cb 246342004-07-11 Marco Gerards <metgerards@student.han.nl>
24635
24636 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
24637 one block instead of two when looking for the initial partition.
24638 (grub_partition_probe): Initialize the local variable `p' with 0.
24639 Use base 10 for the grub_strtoul call.
24640 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
24641 need for one local variable.
24642 (grub_strtoul): Don't add the new value to `num', instead of that
24643 just assign it.
24644
020616c2 246452004-07-11 Marco Gerards <metgerards@student.han.nl>
24646
24647 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
24648 (pxeboot_img_SOURCES): New variable.
24649 (pxeboot_img_ASFLAGS): Likewise.
24650 (pxeboot_img_LDFLAGS): Likewise.
24651 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
24652 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
24653 <lode_leroy@hotmail.com>.
24654
6c51eb64 246552004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
24656
24657 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
24658 there was no input.
24659
cfb12aff 246602004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
24661
24662 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
24663 the history buffer logic.
24664
6eabba74 246652004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
24666
24667 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
24668 (FILETYPE_INO_SYMLINK): New macros.
24669 (grub_ext2_find_file): Check if the node is a directory using the
24670 inode stat information instead of using the filetype in the
24671 dirent. Exclude the first character of an absolute symlink.
24672 (grub_ext2_dir): Mask out the filetype part of the mode member of
24673 the inode.
24674
66e19ef8 246752004-05-24 Marco Gerards <metgerards@student.han.nl>
24676
24677 Add support for UFS version 1 and 2. Add support for the minix
24678 filesystem version 1 and 2, both the variants with 14 and 30 long
24679 filenames.
f19dbdb7 24680
66e19ef8 24681 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
24682 fs/minix.c.
24683 (grub_emu_SOURCES): Likewise.
24684 (pkgdata_MODULES): Add ufs.mod and minix.mod.
24685 (ufs_mod_SOURCES): New variable.
24686 (ufs_mod_CFLAGS): Likewise.
24687 (minix_mod_SOURCES): Likewise.
24688 (minix_mod_CFLAGS): Likewise.
24689 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
24690 fs/minix.c.
24691 (grubof_SOURCES): Likewise.
24692 * fs/ufs.c: New file.
24693 * fs/minix.c: New file.
24694 * include/grub/fs.h (grub_ufs_init): New prototype.
24695 (grub_ufs_fini): Likewise.
24696 (grub_minix_init): Likewise.
24697 (grub_minix_fini): Likewise.
24698 * util/grub-emu.c (main): Initialize and deinitialize UFS and
24699 minix fs.
24700
cc2e748a 247012004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
24702
24703 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
24704 commands/ls.c, commands/terminal.c, commands/boot.c,
24705 commands/cmp.c and commands/cat.c.
24706 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
24707
24708 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
24709 "env.h"
24710
4b13b216 247112004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
24712
24713 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
24714 and grub_, respectively. Because the conversion is trivial and
24715 mechanical, I omit the details here. Please refer to the CVS
24716 if you need more information.
24717
6a142551 247182004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
24719
24720 * include/pupa: Renamed to ...
24721 * include/grub: ... this.
24722 * util/i386/pc/pupa-mkimage.c: Renamed to ...
24723 * util/i386/pc/grub-mkimage.c: ... this.
24724 * util/i386/pc/pupa-setup.c: Renamed to ...
24725 * util/i386/pc/grub-setup.c: ... this.
24726 * util/pupa-emu.c: Renamed to ...
24727 * util/grub-emu.c: ... this.
24728
e56cdf21 247292004-03-29 Marco Gerards <metgerards@student.han.nl>
24730
24731 Add support for the newworld apple macintosh (PPC). This has been
24732 tested on the powerbook 2000 only. It only adds support for
24733 generic ieee1275 functions, console and disk support. This should
24734 be easy to port to other architectures with support for Open
24735 Firmware.
f19dbdb7 24736
e56cdf21 24737 * configure.ac: Accept the powerpc as host_cpu. In the case of
24738 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
24739 specific tests are only executed while building for the i386.
24740 Inverse test for crosscompile.
24741 * genmk.rb (Utility): Allow assembler files.
24742 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
24743 * conf/powerpc-ieee1275.rmk: New file.
24744 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
24745 * disk/powerpc/ieee1275/partition.c: Likewise.
24746 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
24747 * include/pupa/powerpc/ieee1275/console.h: Likewise.
24748 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
24749 * include/pupa/powerpc/ieee1275/time.h: Likewise.
24750 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
24751 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
24752 * include/pupa/powerpc/ieee1275/loader.h
24753 * include/pupa/powerpc/setjmp.h: Likewise.
24754 * include/pupa/powerpc/types.h: Likewise.
24755 * kern/powerpc/ieee1275/init.c: Likewise.
24756 * kern/powerpc/ieee1275/openfw.c: Likewise.
24757 * term/powerpc/ieee1275/ofconsole.c: Likewise.
24758
24759 These files were written by Johan Rydberg
24760 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 24761
e56cdf21 24762 * boot/powerpc/ieee1275/cmain.c: New file.
24763 * boot/powerpc/ieee1275/crt0.S: Likewise.
24764 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
24765 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
24766
8c8cc205 247672004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
24768
24769 * Makefile.in: Update copyright.
24770 * genmodsrc.sh: Likewise.
24771 * gensymlist.sh: Likewise.
24772 * term/i386/pc/vga.c: Indent correctly.
24773
24774 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
24775 bugreporting address.
24776 * util/i386/pc/pupa-setup.c (usage): Likewise,
24777 (main): Call pupa_ext2_init and pupa_ext2_fini.
24778
f19dbdb7 24779 * fs/fat.c (log2): Renamed to ...
8c8cc205 24780 (fat_log2): ... this.
24781 All callers changed.
24782 * kern/misc.c (memcpy): Alias to pupa_memmove.
24783 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
24784 lvalue cast.
24785 * util/console.c (pupa_ncurses_fini): Return 0.
24786
24787 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
24788 Move fail label here.
24789 [__GNU__]: Don't warn when using stat.
24790 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
24791 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
24792 long int. Use strtol instead of strtoul.
f19dbdb7 24793
db1771cf 247942004-03-14 Marco Gerards <metgerards@student.han.nl>
24795
24796 * commands/boot.c: New file.
24797 * commands/cat.c: Likewise.
24798 * commands/cmp.c: Likewise.
24799 * commands/ls.c: Likewise.
24800 * commands/terminal.c: Likewise.
24801 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
24802 (pupa_register_command): Changed interface to match the new
24803 argument parser.
24804 (pupa_command_execute): Changed (almost rewritten) so it uses
24805 pupa_split_command. Added support for setting variables using the
24806 syntax `foo=bar'.
24807 (rescue_command): Changed to work with the new argument parser.
24808 (terminal_command): Moved from here to commands/terminal.c.
24809 (set_command): New function.
24810 (unset_command): New function.
24811 (insmod_command): New function.
24812 (rmmod_command): New function.
24813 (lsmod_command): New function.
24814 (pupa_command_init): Don't initialize the command terminal
24815 anymore. Initialize the commands set, unset, insmod, rmmod and
24816 lsmod.
24817 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
24818 (kernel_img_HEADERS): Add arg.h and env.h.
24819 (pupa_mkimage_LDFLAGS): Add kern/env.c.
24820 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
24821 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
24822 normal/arg.c.
24823 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
24824 terminal.mod.
24825 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
24826 (boot_mod_SOURCES): New variable.
24827 (terminal_mod_SOURCES): Likewise.
24828 (ls_mod_SOURCES): Likewise.
24829 (cmp_mod_SOURCES): Likewise.
24830 (cat_mod_SOURCES): Likewise.
24831
24832 * normal/arg.c: New file.
24833 * kern/env.c: Likewise.
24834 * include/pupa/arg.h: Likewise.
24835 * include/pupa/env.h: Likewise.
24836 * font/manager.c (font_command): Changed to match argument parsing
24837 interface changes.
24838 (PUPA_MOD_INIT): Likewise.
24839 * hello/hello.c (pupa_cmd_hello): Likewise.
24840 (PUPA_MOD_INIT): Likewise.
24841 * include/pupa/disk.h: Include <pupa/device.h>.
24842 (pupa_print_partinfo): New prototype.
24843 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
24844 (pupa_dl_get_prefix): Likewise.
24845 * include/pupa/misc.h: Include <pupa/err.h>.
24846 (pupa_isgraph): New prototype.
24847 (pupa_isdigit): Likewise.
24848 (pupa_split_cmdline): Likewise.
24849 * include/pupa/normal.h: Include <pupa/arg.h>.
24850 (pupa_command): Changed the prototype of the member `func' to
24851 match the argument parsing interface. Added member `options'.
24852 (pupa_register_command): Updated to match function.
24853 (pupa_arg_parse): New prototype.
24854 (pupa_hello_init) [PUPA_UTIL]: New prototype.
24855 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
24856 (pupa_ls_init) [PUPA_UTIL]: Likewise.
24857 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
24858 (pupa_cat_init) [PUPA_UTIL]: Likewise.
24859 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
24860 (pupa_boot_init) [PUPA_UTIL]: Likewise.
24861 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
24862 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
24863 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
24864 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
24865 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
24866 * kern/disk.c: Include <pupa/file.h>.
24867 (pupa_print_partinfo): New function.
24868 * kern/dl.c: Include <pupa/env.h>.
24869 (pupa_dl_dir): Variable removed.
24870 (pupa_dl_load): Use the environment variable `prefix' instead of
24871 the variable pupa_dl_dir.
24872 (pupa_dl_set_prefix): Function removed.
24873 (pupa_dl_get_prefix): Likewise.
24874 * kern/i386/pc/init.c: Include <pupa/env.h>.
24875 (pupa_machine_init): Use the environment variable `prefix' instead of
24876 using pupa_dl_set_prefix to set the prefix.
24877 * kern/main.c: Include <pupa/env.h>.
24878 (pupa_set_root_dev): Use the environment variable `prefix' instead of
24879 using pupa_dl_get_prefix to get the prefix.
24880 * kern/misc.c: Include <pupa/env.h>.
24881 (pupa_isdigit): New function.
24882 (pupa_isgraph): Likewise.
24883 (pupa_ftoa): Likewise.
24884 (pupa_vsprintf): Added support for printing values of the type
24885 `double'. Make it possible to format variable output when using
24886 formatting like `%1.2%f'.
24887 (pupa_split_cmdline): New function.
24888 * kern/rescue.c: Include <pupa/env.h>.
24889 (next_word): Removed function.
24890 (pupa_rescue_cmd_prefix): Likewise.
24891 (pupa_rescue_cmd_set): New function.
24892 (pupa_rescue_cmd_unset): New function.
24893 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
24894 split the command line instead of splitting it here. Added
24895 support for setting variables using the syntax `foo=bar'. Don't
24896 initialize the prefix command anymore. Initialized the set and
24897 unset commands.
24898 * normal/cmdline.c: Include <pupa/env.h>.
24899 (pupa_tab_complete): Added prototypes for print_simple_completion,
24900 print_partition_completion, add_completion, iterate_commands,
24901 iterate_dev, iterate_part and iterate_dir. Moved code to print
24902 partition information from here to kern/disk.c.
fe6b695a 24903 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 24904 * normal/main.c: Include <pupa/env.h>.
24905 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
24906 instead of using pupa_dl_get_prefix to get the prefix.
24907 * term/i386/pc/vga.c: Include <pupa/arg.h>.
24908 (check_vga_mem): Cast pointers to `void *' to silence a gcc
24909 warning.
24910 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
24911 (pupa_vga_setcolor): Declare unused variables with `__attribute__
24912 ((unused))' to silence a gcc warning.
24913 (pupa_vga_setcolor): Likewise.
24914 (debug_command): Changed to match argument parsing
24915 interface changes.
24916 * util/pupa-emu.c: Include <pupa/env.h>.
24917 (options): Added 0's for unused fields to silence a gcc warning.
24918 (argp): Likewise.
24919 (main): Use the environment variable `prefix' instead of using
24920 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
24921 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
24922 and terminal.
24923
24924 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
24925 * util/misc.c: Include <malloc.h>.
24926 (pupa_malloc): Rewritten so errors are correctly reported.
24927 (pupa_realloc): Likewise.
24928 (pupa_memalign): Likewise.
24929 (pupa_mm_init_region): Declare unused variables with
24930 `__attribute__ ((unused))' to silence a gcc warning.
24931 * normal/i386/setjmp.S: Remove tab at the end of the file to
24932 silence a gcc warning.
24933 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
24934 variables with `__attribute__ ((unused))' to silence a gcc
24935 warning.
24936 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
24937 local variable i unsigned to silence a gcc warning.
24938
24939 * kern/term.c: Include <pupa/misc.h>.
24940 (pupa_more_lines): New variable.
24941 (pupa_more): Likewise.
24942 (pupa_putcode): When the pager is active pause at the end of every
24943 screen.
24944 (pupa_set_more): New function.
24945 * include/pupa/term.h (pupa_set_more): New prototype.
24946
24947
3b1139cb 249482004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
24949
24950 Now this project is GRUB 2 rather than PUPA. The location of
24951 the CVS repository was moved to GRUB's.
f19dbdb7 24952
3b1139cb 24953 * configure.ac: Use bug-grub as the reporting address.
24954 Use GRUB instead of PUPA.
24955 Change the version number to 1.90.
24956
8367695c 249572004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
24958
24959 * genkernsyms.sh: Updated copyright information.
24960 * genmk.rb: Likewise.
24961 * genmodsrc.sh: Likewise.
24962 * gensymlist.sh: Likewise.
24963 * boot/i386/pc/boot.S: Likewise.
24964 * boot/i386/pc/diskboot.S: Likewise.
24965 * disk/i386/pc/biosdisk.c: Likewise.
24966 * disk/i386/pc/partition.c: Likewise.
24967 * font/manager.c: Likewise.
24968 * fs/ext2.c: Likewise.
24969 * fs/fat.c: Likewise.
24970 * include/pupa/boot.h: Likewise.
24971 * include/pupa/device.h: Likewise.
24972 * include/pupa/disk.h: Likewise.
24973 * include/pupa/dl.h: Likewise.
24974 * include/pupa/elf.h: Likewise.
24975 * include/pupa/err.h: Likewise.
24976 * include/pupa/file.h: Likewise.
24977 * include/pupa/font.h: Likewise.
24978 * include/pupa/fs.h: Likewise.
24979 * include/pupa/kernel.h: Likewise.
24980 * include/pupa/loader.h: Likewise.
24981 * include/pupa/misc.h: Likewise.
24982 * include/pupa/mm.h: Likewise.
24983 * include/pupa/net.h: Likewise.
24984 * include/pupa/normal.h: Likewise.
24985 * include/pupa/rescue.h: Likewise.
24986 * include/pupa/setjmp.h: Likewise.
24987 * include/pupa/symbol.h: Likewise.
24988 * include/pupa/term.h: Likewise.
24989 * include/pupa/types.h: Likewise.
24990 * include/pupa/i386/setjmp.h: Likewise.
24991 * include/pupa/i386/types.h: Likewise.
24992 * include/pupa/i386/pc/biosdisk.h: Likewise.
24993 * include/pupa/i386/pc/boot.h: Likewise.
24994 * include/pupa/i386/pc/console.h: Likewise.
24995 * include/pupa/i386/pc/init.h: Likewise.
24996 * include/pupa/i386/pc/kernel.h: Likewise.
24997 * include/pupa/i386/pc/linux.h: Likewise.
24998 * include/pupa/i386/pc/loader.h: Likewise.
24999 * include/pupa/i386/pc/memory.h: Likewise.
25000 * include/pupa/i386/pc/multiboot.h: Likewise.
25001 * include/pupa/i386/pc/partition.h: Likewise.
25002 * include/pupa/i386/pc/time.h: Likewise.
25003 * include/pupa/i386/pc/vga.h: Likewise.
25004 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
25005 * include/pupa/util/getroot.h: Likewise.
25006 * include/pupa/util/misc.h: Likewise.
25007 * include/pupa/util/resolve.h: Likewise.
25008 * kern/device.c: Likewise.
25009 * kern/disk.c: Likewise.
25010 * kern/dl.c: Likewise.
25011 * kern/err.c: Likewise.
25012 * kern/file.c: Likewise.
25013 * kern/fs.c: Likewise.
25014 * kern/loader.c: Likewise.
25015 * kern/main.c: Likewise.
25016 * kern/misc.c: Likewise.
25017 * kern/mm.c: Likewise.
25018 * kern/rescue.c: Likewise.
25019 * kern/term.c: Likewise.
25020 * kern/i386/dl.c: Likewise.
25021 * kern/i386/pc/init.c: Likewise.
25022 * kern/i386/pc/lzo1x.S: Likewise.
25023 * kern/i386/pc/startup.S: Likewise.
25024 * loader/i386/pc/chainloader.c: Likewise.
25025 * loader/i386/pc/linux.c: Likewise.
25026 * loader/i386/pc/multiboot.c: Likewise.
25027 * normal/cmdline.c: Likewise.
25028 * normal/command.c: Likewise.
25029 * normal/main.c: Likewise.
25030 * normal/menu.c: Likewise.
25031 * normal/i386/setjmp.S: Likewise.
25032 * term/i386/pc/console.c: Likewise.
25033 * term/i386/pc/vga.c: Likewise.
25034 * util/console.c: Likewise.
25035 * util/genmoddep.c: Likewise.
25036 * util/misc.c: Likewise.
25037 * util/pupa-emu.c: Likewise.
25038 * util/resolve.c: Likewise.
25039 * util/unifont2pff.rb: Likewise.
25040 * util/i386/pc/biosdisk.c: Likewise.
25041 * util/i386/pc/getroot.c: Likewise.
25042 * util/i386/pc/pupa-mkimage.c: Likewise.
25043 * util/i386/pc/pupa-setup.c: Likewise.
25044
e6eced71 250452004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
25046
25047 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
25048 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
25049 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
25050 reading and reset it after reading.
25051 (pupa_ext2_close): Return PUPA_ERR_NONE.
25052
25053 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
25054 Correct value.
25055 (struct linux_kernel_header): Add kernel_version and
25056 initrd_addr_max.
25057 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
25058 pupa_file_read succeeds.
25059 (pupa_rescue_cmd_initrd): Implement.
25060
5aded270 250612003-12-03 Marco Gerards <metgerards@student.han.nl>
25062
25063 * fs/ext2.c (pupa_ext2_label): New function.
25064 (pupa_ext2_fs): Added label.
25065 * fs/fat.c (pupa_fat_label): New function.
25066 (pupa_fat_fs): Added label.
25067 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
25068
25069 * kern/misc.c (pupa_strndup): New function.
25070 * include/pupa/misc.h (pupa_strndup): New prototype.
25071
25072 * include/pupa/normal.h: Include <pupa/err.h>.
25073 (pupa_set_history): New prototype.
25074 (pupa_iterate_commands): New prototype.
25075 * normal/cmdline.c: Include <pupa/machine/partition.h>,
25076 <pupa/disk.h>, <pupa/file.h>.
25077 (hist_size): New variable.
25078 (hist_lines): Likewise.
25079 (hist_end): Likewise.
25080 (hist_used): Likewise.
25081 (pupa_set_history): New function.
25082 (pupa_history_get): Likewise.
25083 (pupa_history_add): Likewise.
25084 (pupa_history_replace): Likewise.
25085 (pupa_tab_complete): Likewise.
25086 (pupa_cmdline_run): Added tab completion and history buffer. Tab
25087 completion shows partitionnames while completing partitions, this
25088 feature was suggested by Jeff Bailey.
25089 * normal/command.c (pupa_iterate_commands): New function.
25090 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
25091 (pupa_normal_init): Initialize history buffer.
25092 (PUPA_MOD_INIT): Likewise.
25093 (pupa_normal_fini): Free the history buffer.
25094 (PUPA_MOD_FINI): Likewise.
25095
25096 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
25097 key.
25098
25099 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
25100 * configure.ac [i386]: Check for regparam bug.
25101 (NESTED_FUNC_ATTR) [! i386]: Defined.
25102
1f7315a3 251032003-11-17 Marco Gerards <metgerards@student.han.nl>
25104
25105 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
25106 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
25107 (pupa_emu_SOURCES): New variable.
25108 (pupa_emu_LDFLAGS): Likewise.
25109 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
25110 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
25111 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
25112 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
25113 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
25114 (pupa_jmp_buf): New typedef.
25115 (pupa_setjmp) [PUPA_UTIL]: New macro.
25116 (pupa_longjmp) [PUPA_UTIL]: Likewise.
25117 * include/pupa/term.h (struct pupa_term): New member `refresh'.
25118 (pupa_refresh): New prototype.
25119 * include/pupa/util/getroot.h: New file.
25120 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
25121 it.
25122 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
25123 (pupa_rescue_cmd_cat): Likewise.
25124 (pupa_rescue_cmd_ls): Likewise.
25125 (pupa_rescue_cmd_testload): Likewise.
25126 (pupa_rescue_cmd_lsmod): Likewise.
25127 * normal/cmdline.c (pupa_cmdline_get): Likewise.
25128 * normal/menu.c (run_menu): Likewise.
25129 * kern/term.c (pupa_cls): Likewise.
25130 (pupa_refresh): New function.
25131 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
25132 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
25133 * util/console.c: New file.
f19dbdb7 25134
1f7315a3 25135 * util/i386/pc/getroot.c: New file.
25136 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
25137 (pupa_putchar): New function.
25138 (pupa_refresh): Likewise.
25139 (xgetcwd): Function moved to ...
25140 (strip_extra_slashes): Likewise.
25141 (get_prefix): Likewise.
f19dbdb7 25142 * util/i386/pc/getroot.c: ... here.
1f7315a3 25143 (find_root_device): Function moved and renamed to...
25144 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
25145 Changed all callers.
25146 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
25147 and renamed to...
25148 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
25149 Changed all callers.
25150 * util/misc.c (pupa_memalign): New function.
25151 (pupa_mm_init_region): Likewise.
25152 (pupa_register_exported_symbols): Likewise.
25153 (pupa_putchar): Function removed.
25154 * util/pupa-emu.c: New file.
25155
9a5c1ade 251562003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
25157
25158 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
25159 (_multiboot_mod_SOURCES): New variable.
25160 (_multiboot_mod_CFLAGS): Likewise.
25161 * loader/i386/pc/multiboot.c: New file.
25162 * include/pupa/i386/pc/multiboot.h: Likewise.
25163 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
25164 (pupa_multiboot_real_boot): New function.
25165 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
25166 (pupa_multiboot_real_boot): New prototype.
25167 (pupa_rescue_cmd_multiboot): Likewise
25168 (pupa_rescue_cmd_module): Likewise.
25169
25170 * kern/loader.c (pupa_loader_set): Continue when
25171 pupa_loader_unload_func() fails.
25172 (pupa_loader_unset): New function.
25173 * include/pupa/loader.h (pupa_loader_unset): New prototype.
25174
25175 * kern/misc.c (pupa_stpcpy): New function.
25176 * include/pupa/misc.h (pupa_stpcpy): New prototype.
25177
8e72a9c0 251782003-11-12 Marco Gerards <metgerards@student.han.nl>
25179
25180 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
25181 for available extensions.
25182
25183 * include/pupa/i386/pc/time.h: New file.
25184 * kern/disk.c: Include <pupa/machine/time.h>.
25185 (PUPA_CACHE_TIMEOUT): New macro.
25186 (pupa_last_time): New variable.
25187 (pupa_disk_open): Flush the cache when there was a timeout.
25188 (pupa_disk_close): Reset the timer.
25189 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
25190 pupa_currticks.
25191 * util/misc.c: Include <sys/times.h>
25192 (pupa_get_rtc): New function.
25193
c4adbd32 251942003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
25195
25196 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
25197 as blocks.
25198 (pupa_ext2_get_file_block): Use blocks member.
25199
25200 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
25201 first block. Return -1 instead of pupa_errno on error.
25202
bfd30f06 252032003-10-27 Marco Gerards <metgerards@student.han.nl>
25204
25205 * README: In the pupa-mkimage example use _chain instead of chain
25206 and ext2 instead of fat.
25207 * TODO: Replace ext2fs with jfs as an example. Add an item for
25208 adding journal playback for ext2fs.
25209 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
25210 (pkgdata_MODULES): Added ext2.mod.
25211 (ext2_mod_SOURCES): New variable.
25212 (ext2_mod_CFLAGS): Likewise.
25213 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
25214 * include/pupa/misc.h (pupa_strncpy): New prototype.
25215 (pupa_strcat): Likewise.
25216 (pupa_strncmp): Likewise.
25217 * kern/misc.c (pupa_strcat): Enable function.
25218 (pupa_strncpy): New function.
25219 (pupa_strncmp): Likewise.
25220 * fs/ext2.c: New file.
f19dbdb7 25221
bfd30f06 25222 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
25223 when the read failed before retrying.
25224 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
25225 (_FILE_OFFSET_BITS): Likewise.
25226 * configure.ac: Added AC_SYS_LARGEFILE.
25227
98d15063 252282003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
25229
25230 * genmk.rb (PModule#rule): Make sure to get only symbol names
25231 from the output of nm.
59cad637 25232 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 25233
18d9c7cd 252342003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
25235
25236 I forgot to check in these changes for a long time. This adds
25237 incomplete support for VGA console, and this is still very
25238 buggy. Also, a lot of consideration is required for I18N,
25239 UNICODE, and VGA font issues. Therefore, assume that this is
25240 such that "better than nothing".
f19dbdb7 25241
18d9c7cd 25242 * font/manager.c: New file.
25243 * include/pupa/font.h: Likewise.
25244 * include/pupa/i386/pc/vga.h: Likewise.
25245 * term/i386/pc/vga.c: Likewise.
25246 * util/unifont2pff.rb: Likewise.
25247
25248 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
25249 (pkgdata_MODULES): Added vga.mod and font.mod.
25250 (vga_mod_SOURCES): New variables.
25251 (vga_mod_CFLAGS): Likewise.
25252 (font_mod_SOURCES): Likewise.
25253 (font_mod_CFLAGS): Likewise.
25254
25255 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
25256
25257 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 25258 (struct pupa_term): Added init and fini.
18d9c7cd 25259 Changed the argument of putchar to pupa_uint32_t.
25260
25261 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
25262 (pupa_console_real_putchar): New prototype.
25263 (pupa_console_putchar): Removed.
25264 (pupa_console_checkkey): Exported.
25265 (pupa_console_getkey): Likewise.
25266
25267 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
25268 characters.
25269
25270 * kern/term.c (pupa_term_set_current): Rewritten.
25271 (pupa_putchar): Likewise.
25272 (pupa_putcode): New function.
25273
25274 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
25275 (pupa_console_real_putchar): ... this.
25276 (pupa_vga_set_mode): New function.
25277 (pupa_vga_get_font): Likewise.
25278
25279 * normal/command.c: Include pupa/term.h.
25280 (terminal_command): New function.
25281 (pupa_command_init): Register the command "terminal".
25282
25283 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
25284 (DISP_UP): Likewise.
25285 (DISP_RIGHT): Likewise.
25286 (DISP_DOWN): Likewise.
25287 (DISP_HLINE): Likewise.
25288 (DISP_VLINE): Likewise.
25289 (DISP_UL): Likewise.
25290 (DISP_UR): Likewise.
25291 (DISP_LL): Likewise.
25292 (DISP_LR): Likewise.
25293
25294 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 25295
977329f5 252962003-02-08 NIIBE Yutaka <gniibe@m17n.org>
25297
25298 * util/resolve.c (pupa_util_resolve_dependencies): BUG
25299 FIX. Reverse the path_list.
25300
25301 * include/pupa/normal.h: Export pupa_register_command and
25302 pupa_unregister_command.
25303
25304 * hello/hello.c (pupa_cmd_hello): New module.
25305 * conf/i386-pc.rmk: Added hello.mod.
25306
1f5ab428 253072003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
25308
25309 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 25310
1f5ab428 25311 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
25312 (compress_kernel): New variable.
25313 (generate_image): Heavily modified to support compressing a
25314 large part of the core image.
25315
25316 * util/misc.c (pupa_util_read_image): Fix a file descriptor
25317 leak.
25318 (pupa_util_load_image): New function.
25319
25320 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
25321 (pupa_compressed_size): New variable.
25322 (codestart): Enable Gate A20 here.
25323 Decompress the compressed part of the core image.
25324 Rearrange the code to put functions and variables which are
25325 required for initialization in the non-compressed part.
25326 Include lzo1x.S.
25327
25328 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
25329 here.
25330
25331 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
25332
f19dbdb7 25333 * include/pupa/i386/pc/kernel.h
1f5ab428 25334 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
25335 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
25336 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
25337 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
25338 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
25339
25340 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
25341
25342 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
25343 (Utility#rule): Likewise.
25344
25345 * configure.ac: Check if LZO is available.
25346
ce5bf700 253472003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
25348
25349 * include/pupa/normal.h: New file.
25350 * include/pupa/setjmp.h: Likewise.
25351 * include/pupa/i386/setjmp.h: Likewise.
25352 * normal/cmdline.c: Likewise.
25353 * normal/command.c: Likewise.
25354 * normal/main.c: Likewise.
25355 * normal/menu.c: Likewise.
25356 * normal/i386/setjmp.S: Likewise.
f19dbdb7 25357
ce5bf700 25358 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
25359 (pupa_rescue_cmd_initrd): Likewise.
25360
25361 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
25362 Likewise.
25363
25364 * kern/i386/pc/startup.S (translation_table): New variable.
25365 (translate_keycode): New function.
25366 (pupa_console_getkey): Call translate_keycode.
25367
25368 * kern/rescue.c (attempt_normal_mode): New function.
25369 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
25370 it failed, print a message.
25371
25372 * kern/mm.c (pupa_real_malloc): Print more information when a
25373 free magic is broken.
25374 (pupa_free): If the first free header is not free actually, set
25375 it to P.
25376
25377 * kern/main.c (pupa_load_normal_mode): Just load the module
25378 "normal".
25379 (pupa_main): Don't print the message
25380 "Entering into rescue mode..." here.
25381
25382 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
25383 Declared.
25384 (pupa_rescue_cmd_initrd): Likewise.
25385 (pupa_rescue_cmd_initrd): Likewise.
25386
25387 * include/pupa/symbol.h (FUNCTION): Specify the type.
25388 (VARIABLE): Likewise.
25389
25390 * include/pupa/err.h (pupa_err_t): Added
25391 PUPA_ERR_UNKNOWN_COMMAND.
25392
25393 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
25394 (pupa_dl_get_prefix): Likewise.
25395
25396 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
25397 Added _chain.mod and _linux.mod instead of chain.mod and
25398 linux.mod.
25399 (chain_mod_SOURCES): Renamed to ...
25400 (_chain_mod_SOURCES): ... this.
25401 (chain_mod_CFLAGS): Renamed to ...
25402 (_chain_mod_CFLAGS): ... this.
25403 (linux_mod_SOURCES): Renamed to ...
25404 (_linux_mod_SOURCES): ... this.
25405 (linux_mod_CFLAGS): Renamed to ...
25406 (_linux_mod_CFLAGS): ... this.
25407 (normal_mod_SOURCES): New variable.
25408 (normal_mod_CFLAGS): Likewise.
25409 (normal_mod_ASFLAGS): Likewise.
25410
254112003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
25412
25413 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
25414 possible.
25415
fe6b695a 25416 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 25417 recursively.
25418 (pupa_dl_unref): Unrefer depending modules recursively.
25419 Don't call pupa_dl_unload implicitly, because PUPA can crash if
25420 a module is unloaded before one depending on that module is
25421 unloaded.
25422 (pupa_dl_unload): Unload depending modules explicitly,
25423 if possible.
25424
c04da074 254252003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
25426
25427 * include/pupa/i386/pc/linux.h: New file.
25428 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 25429
c04da074 25430 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
25431 Removed.
25432 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
25433 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
25434 of PUPA_CHAINLOADER_BOOT_SECTOR.
25435
25436 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
25437 (pupa_linux_prot_size): New variable.
25438 (pupa_linux_tmp_addr): Likewise.
25439 (pupa_linux_real_addr): Likewise.
25440 (pupa_linux_boot_zimage): New function.
25441 (pupa_linux_boot_bzimage): Likewise.
25442
25443 * kern/i386/pc/init.c (struct mem_region): New structure.
25444 (MAX_REGIONS): New macro.
25445 (mem_regions): New variable.
25446 (num_regions): Likewise.
25447 (pupa_os_area_addr): Likewise.
25448 (pupa_os_area_size): Likewise.
25449 (pupa_lower_mem): Likewise.
25450 (pupa_upper_mem): Likewise.
25451 (add_mem_region): New function.
25452 (compact_mem_regions): Likewise.
25453 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
25454 the size of the conventional memory and that of so-called upper
25455 memory (before the first memory hole).
25456 Instead of adding each found region to free memory, use
25457 add_mem_region and add them after removing overlaps.
25458 Also, add only 1/4 of the upper memory to free memory. The rest
25459 is used for loading OS images. Maybe this is ad hoc, but this
25460 makes it much easier to relocate OS images when booting.
25461
25462 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
25463 (pupa_enter_rescue_mode): Don't register initrd and module.
25464
25465 * kern/mm.c: Include pupa/dl.h.
25466
25467 * kern/main.c: Include pupa/file.h and pupa/device.h.
25468
25469 * kern/loader.c (pupa_loader_load_module_func): Removed.
25470 (pupa_loader_load_module): Likewise.
25471
25472 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
25473 ``.o''.
25474
25475 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
25476 (pupa_linux_tmp_addr): Likewise.
25477 (pupa_linux_real_addr): Likewise.
25478 (pupa_linux_boot_zimage): Likewise.
25479 (pupa_linux_boot_bzimage): Likewise.
25480
25481 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
25482 (pupa_upper_mem): Likewise.
25483 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
25484 module is too dangerous.
25485
25486 * include/pupa/loader.h (pupa_os_area_addr): Declared.
25487 (pupa_os_area_size): Likewise.
25488 (pupa_loader_set): Remove the first argument. Loader doesn't
25489 manage modules or initrd any longer.
25490 (pupa_loader_load_module): Removed.
25491
25492 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
25493 (linux_mod_SOURCES): New variable.
25494 (linux_mod_CFLAGS): Likewise.
25495
a13f9237 254962003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
25497
25498 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
25499 the length of a blocklist correctly.
25500
25501 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
25502 Use ioctl only if the OS file is a block device.
25503 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
25504 not very useful for normal files.
25505
25506 * kern/main.c (pupa_set_root_dev): New function.
25507 (pupa_load_normal_mode): Likewise.
25508 (pupa_main): Call those above.
25509
25510 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
25511 pupa_uint16_t.
25512
25513 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
25514
a5ffe966 255152003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
25516
25517 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
25518 (setup): Configure the installed partition information and the
25519 dl prefix.
25520
25521 * loader/i386/pc/chainloader.c (my_mod): New variable.
25522 (pupa_chainloader_unload): New function.
25523 (pupa_rescue_cmd_chainloader): Refer itself.
25524 (PUPA_MOD_INIT): Save its own module in MY_MOD.
25525
25526 * kern/i386/pc/startup.S (install_partition): Removed.
25527 (version_string): Likewise.
25528 (config_file): Likewise.
25529 (pupa_install_dos_part): New variable.
25530 (pupa_install_bsd_part): Likewise.
25531 (pupa_prefix): Likewise.
25532 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
25533
25534 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
25535 and pupa/misc.h.
25536 (make_install_device): New function.
25537 (pupa_machine_init): Set the dl prefix.
25538
25539 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
25540 (buf): Renamed to ...
25541 (linebuf): ... this.
25542 (pupa_rescue_cmd_prefix): New function.
25543 (pupa_rescue_cmd_insmod): Likewise.
25544 (pupa_rescue_cmd_rmmod): Likewise.
25545 (pupa_rescue_cmd_lsmod): Likewise.
25546 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
25547 rmmod and lsmod.
25548
25549 * kern/mm.c (pupa_memalign): If failed even after invalidating
25550 disk caches, unload unneeded modules and retry.
25551
25552 * kern/misc.c (pupa_memmove): New function.
25553 (pupa_memcpy): Removed.
25554 (pupa_strcpy): New function.
25555 (pupa_itoa): Made static.
25556
25557 * kern/dl.c (pupa_dl_iterate): New function.
25558 (pupa_dl_ref): Likewise.
25559 (pupa_dl_unref): Likewise.
25560 (pupa_dl_unload): Return if succeeded or not.
25561 (pupa_dl_unload_unneeded): New function.
25562 (pupa_dl_unload_all): Likewise.
25563 (pupa_dl_init): Renamed to ...
25564 (pupa_dl_set_prefix): ... this.
25565 (pupa_dl_get_prefix): New function.
25566
25567 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
25568 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
25569 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
25570 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
25571 (pupa_install_dos_part): Declared.
25572 (pupa_install_bsd_part): Likewise.
25573 (pupa_prefix): Likewise.
25574 (pupa_boot_drive): Likewise.
25575
25576 * include/pupa/types.h: Fix a typo.
25577
25578 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
25579 pupa_memmove.
25580 (pupa_memmove): Declared.
25581 (pupa_strcpy): Likewise.
25582
25583 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
25584 pupa_mod_init takes one argument, its own module.
25585 (pupa_dl_unload_unneeded): Declared.
25586 (pupa_dl_unload_all): Likewise.
25587 (pupa_dl_ref): Likewise.
25588 (pupa_dl_unref): Likewise.
25589 (pupa_dl_iterate): Likewise.
25590 (pupa_dl_init): Renamed to ...
25591 (pupa_dl_set_prefix): ... this.
25592 (pupa_dl_get_prefix): Declared.
25593
25594 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 25595 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 25596 unloaded.
25597 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
25598 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
25599
25600 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
25601 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
25602
012d7999 256032003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
25604
25605 * util/i386/pc/pupa-setup.c (setup): Define the internal
25606 function find_first_partition_start at the top level, because GCC
25607 3.0.x cannot compile internal functions in deeper scopes
25608 correctly.
25609 (find_root_device): Use lstat instead of stat.
25610 Don't follow symbolic links.
25611 Fix the path-constructing code.
25612
25613 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
25614 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
25615 by a BLKGETSIZE ioctl first, because block devices don't fill
25616 the member st_mode of the structure stat on Linux.
25617 [__linux__] (linux_find_partition): Use a temporary buffer
25618 REAL_DEV for the working space. Copy it to DEV before returning.
25619 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
25620 buffer cache consistent.
25621 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
25622 strncmp. The previous value was merely wrong.
25623 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
25624
25625 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
25626 FAT size is 12. The previous value was merely wrong.
25627
25628 * kern/main.c (pupa_main): Don't split the starting message from
25629 newlines.
25630
25631 * kern/term.c (pupa_putchar): Put CR after LF instead of before
25632 LF, because BIOS goes crazy about character attributes in this
25633 case.
25634
1cc73a62 256352003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
25636
25637 * include/i386/pc/util/biosdisk.h: New file.
25638 * util/i386/pc/biosdisk.c: Likewise.
25639 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 25640
1cc73a62 25641 * Makefile.in (INCLUDE_DISTFILES): Added
25642 include/pupa/i386/pc/util/biosdisk.h.
25643 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
25644 directory util/i386/pc.
25645 (install-local): Added a rule for sbin_UTILITIES.
25646 (uninstall): Likewise.
25647
25648 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
25649
25650 * util/misc.c (xrealloc): New function.
25651 (pupa_malloc): Likewise.
25652 (pupa_free): Likewise.
25653 (pupa_realloc): Likewise.
25654 (pupa_stop): Likewise.
25655 (pupa_putchar): Likewise.
25656
25657 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
25658
25659 * include/pupa/util/misc.h (xrealloc): Declared.
25660
25661 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
25662 macro.
25663 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
25664 (PUPA_BOOT_MACHINE_BPB_END): ... this.
25665
25666 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
25667 [PUPA_UTIL] (pupa_fat_fini): Likewise.
25668
25669 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
25670 way should be implemented.
25671 [PUPA_UTIL] (pupa_fat_fini): Likewise.
25672
25673 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
25674 the size of NAME for safety.
25675 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
25676 0x88.
25677
25678 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
25679 (pupa_setup_SOURCES): Likewise.
25680
25681 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
25682
08b70fe8 256832002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
25684
25685 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
25686 bunch of pushl's from pusha, because this destroys the return
25687 value.
25688
62ddcc8f 256892002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
25690
25691 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
25692 This means that any missing prototypes could be fatal. Also, you
25693 must take care when writing assembly code. See the comments at
25694 the beginning of startup.S, for more details.
f19dbdb7 25695
62ddcc8f 25696 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
25697 compilation mechanism.
25698 (pupa_chainloader_real_boot): Likewise.
25699 (pupa_biosdisk_rw_int13_extensions): Likewise.
25700 (pupa_biosdisk_rw_standard): Likewise.
25701 (pupa_biosdisk_check_int13_extensions): Likewise.
25702 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
25703 (pupa_biosdisk_get_diskinfo_standard): Likewise.
25704 (pupa_get_memsize): Likewise.
25705 (pupa_get_mmap_entry): Likewise.
25706 (pupa_console_putchar): Likewise.
25707 (pupa_console_setcursor): Likewise.
25708 (pupa_getrtsecs): Use pushl instead of push.
25709
25710 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
25711 memory instead of the stack for a mmap entry, because some
25712 BIOSes may ignore the maximum size and overflow.
25713
25714 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
25715
25716 * genmk.rb (PModule#rule): Compile automatically generated
25717 sources with module-specific CFLAGS as well as other sources.
25718
9962ed99 257192002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
25720
25721 * configure.ac: Check ld.
25722 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
25723 respectively, before checking endianness and sizes.
25724
25725 * Makefile.in (LD): New variable.
f19dbdb7 25726
abdfc3c5 257272002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
25728
25729 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
25730
6a161fa9 257312002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
25732
25733 * Changelog: New file.
25734