]> git.proxmox.com Git - grub2.git/blame - ChangeLog
* docs/grub.texi (play): Document that zero pitches produce rests.
[grub2.git] / ChangeLog
CommitLineData
bb06ba08
ST
12010-04-28 Samuel Thibault <samuel.thibault@ens-lyon.org>
2
3 * docs/grub.texi (play): Document that zero pitches produce rests.
4
cc9d2425
VS
52010-04-27 Vladimir Serbinenko <phcoder@gmail.com>
6
7 * conf/x86-efi.rmk (linux_mod_SOURCES): Write explicitly to avoid
8 autogen issues.
9
460d8402
CF
102010-04-26 Christian Franke <franke@computer.org>
11
12 * include/grub/util/getroot.h (grub_get_prefix): Remove prototype.
13 * util/getroot.c [__CYGWIN__] (get_win32_path): Remove function.
14 (grub_get_prefix): Remove function.
15 * util/grub-emu.c (main): Replace grub_get_prefix () call by
16 make_system_path_relative_to_its_root ().
17 * util/sparc64/ieee1275/grub-setup.c (main): Likewise.
18
553c01f9
CF
192010-04-24 Christian Franke <franke@computer.org>
20
21 * Makefile.in (TARGET_LDFLAGS): Add -static-libgcc.
22 (kernel_img_LDFLAGS): Remove -static-libgcc.
23
2aec1692
CF
242010-04-24 Christian Franke <franke@computer.org>
25
26 * configure.ac: Do not CHECK_BSS_START_SYMBOL
27 and CHECK_END_SYMBOL if grub-emu is built.
28 Unset TARGET_OBJ2ELF if grub-emu is built
29 without module support.
30
f67dc308
JS
312010-04-24 Jiro SEKIBA <jir@unicus.jp>
32
33 Nilfs2 support.
34
35 * conf/common.rmk (grub_probe_SOURCES): Add fs/nilfs2.c.
36 (grub_fstest_SOURCES): Likewise.
37 (pkglib_MODULES): Add nilfs2.mod.
38 (nilfs2_mod_SOURCES): New variable.
39 (nilfs2_mod_CFLAGS): Likewise.
40 (nilfs2_mod_LDFLAGS): Likewise.
41 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
42 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add fs/nilfs2.c.
43 * fs/nilfs2.c: New file.
44
4ba8d354
VS
452010-04-21 Vladimir Serbinenko <phcoder@gmail.com>
46
47 * configure.ac: Refuse to compile for x86_64-efi is mcmodel=large
48 is not supported.
49
0d2c20c6
GS
502010-04-19 Grégoire Sutre <gregoire.sutre@gmail.com>
51
52 Add grub-mkconfig support for NetBSD.
53
54 * util/grub.d/10_netbsd.in: grub-mkconfig helper script for NetBSD.
55 * util/grub-mkconfig.in: export new NetBSD specific variables.
56 * po/POTFILES-shell: added 10_netbsd.in.
57 * util/grub-mkconfig_lib.in: check for gettext binary, default to echo.
58
bc4a2d83
BC
592010-04-19 BVK Chaitanya <bvk.groups@gmail.com>
60
61 Fix emu build with grub-emu-pci and grub-emu-modules.
62
63 * include/grub/util/misc.h: Export grub_util_{info,error,warn}
64 functions.
65 * include/grub/libpciaccess.h: New file.
66 * conf/any-emu.rmk: Update kernel headers for emu build.
67
f48c87aa
VS
682010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
69
70 * fs/udf.c (grub_udf_iterate_dir): Silence a spurious warning.
71
18959385
VS
722010-04-19 Vladimir Serbinenko <phcoder@gmail.com>
73
74 * fs/udf.c (grub_udf_iterate_dir): Decode the Unicode filenames.
75
0037de3f
VS
762010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
77
78 * boot/sparc64/ieee1275/boot.S: Various size-reducing changes.
79 Retrieve chosen/bootpath if bootpath isn't hardcoded.
80 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Add
81 util/ieee1275/ofpath.c.
82 * util/sparc64/ieee1275/grub-ofpathname.c: Renamed to ...
83 * util/ieee1275/grub-ofpathname.c: ... this. All users updated
84 * include/grub/sparc64/ieee1275/boot.h
85 (GRUB_BOOT_MACHINE_KERNEL_SECTOR): Renamed to ...
86 (GRUB_BOOT_MACHINE_KERNEL_BYTE): ...this. Moved 8 bytes lower.
87 * util/hostdisk.c (grub_util_biosdisk_get_osdev): New function.
88 * util/ieee1275/ofpath.c (grub_util_devname_to_ofpath): Make argument
89 const char *.
90 * util/sparc64/ieee1275/grub-setup.c (compute_dest_ofpath): Removed.
91 (setup): Use KERNEL_BYTE instead of KERNEL_SECTOR.
92 Use grub_util_devname_to_ofpath. Zero-fill boot_devpath on same disk
93 install.
94
38e55e90
GS
952010-04-18 Grégoire Sutre <gregoire.sutre@gmail.com>
96
97 * util/grub-mkconfig.in: Corrected two == equality tests.
98 Set grub_prefix as in grub-install for NetBSD and OpenBSD.
99 * configure.ac: All definitions and uses of TARGET_IMG_LDFLAGS_AC now
100 expect a number appended to it.
101 * acinclude.m4 (grub_PROG_OBJCOPY_ABSOLUTE): ${TARGET_IMG_LDFLAGS_AC}
102 expects a number appended to it.
103
a9e6ff28
VS
1042010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
105
106 * po/POTFILES: Renamed multiboot_loader.c to multiboot.c
107
0b830b8f
VS
1082010-04-18 Vladimir Serbinenko <phcoder@gmail.com>
109
110 * util/hostdisk.c (make_device_name): Change to new partition naming.
111
0973daeb
VS
1122010-04-17 Vladimir Serbinenko <phcoder@gmail.com>
113
114 * disk/lvm.c (grub_lvm_memberlist): Issue an error if pv->disk = 0.
115
460d8402 1162010-04-17 Christian Franke <franke@computer.org>
ebfe7eb4
CF
117
118 * Makefile.in: Add missing localedir setting.
119
0b456309
CW
1202010-04-14 Colin Watson <cjwatson@ubuntu.com>
121
122 Restore TEXTDOMAINDIR correction from r1889, lost apparently by
123 mistake in r2156. Noticed by Anthony Fok.
124
125 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased
126 @localedir@.
127 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
128
08f46d62
BC
1292010-04-14 BVK Chaitanya <bvk.groups@gmail.com>
130
131 Fix a spurious, uninitialized variable warning.
132
133 * loader/i386/bsdXX.c (grub_freebsd_load_elfmodule_obj):
134 Initialize variable, shdr.
135 (grub_freebsd_load_elfmodule): Likewise.
136 (grub_freebsd_load_elf_meta): Likewise.
137
8c4a72d4
BC
1382010-04-13 BVK Chaitanya <bvk.groups@gmail.com>
139
140 Fix for escaped dollar in double quoted strings.
141
142 * script/yylex.l: Updated flex rules.
143 * conf/tests.rmk: Rule for new testcase.
144 * tests/grub_script_dollar.in: New testcase.
145
ce44826e
CPE
1462010-04-13 Carles Pina i Estany <carles@pina.cat>
1472010-04-13 Colin Watson <cjwatson@ubuntu.com>
148
149 Enclose all translated strings in grub.cfg in single quotes, and
150 escape them appropriately (Ubuntu bug #552921).
151
152 * util/grub-mkconfig_lib.in (gettext_quoted): New function.
153 * util/grub.d/10_hurd.in: Use it.
154 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
155 * util/grub.d/10_linux.in (linux_entry): Likewise.
156
4b0cd8f8
VS
1572010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
158
159 Fix cygwin compilation.
160
161 * configure.ac: Define NEED_REGISTER_FRAME_INFO.
162 * include/grub/misc.h (__register_frame_info)
163 [NEED_REGISTER_FRAME_INFO && !UTIL]: New export.
164 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
165 * kern/misc.c (__register_frame_info)
166 [NEED_REGISTER_FRAME_INFO && !UTIL]: New empty function.
167 (__deregister_frame_info) [NEED_REGISTER_FRAME_INFO && !UTIL]: Likewise.
168
01fcf061
VS
1692010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
170
171 * configure.ac: Respect grub_cv_asm_uscore when defining dummy symbols.
172
5d04b11e
VS
1732010-04-11 Vladimir Serbinenko <phcoder@gmail.com>
174
175 Unify libgcc processing.
176
177 * Makefile.in (kernel_img_LDFLAGS): New variable.
178 * conf/common.rmk (kernel_img_HEADERS): Add libgcc.h.
179 * conf/i386-coreboot.rmk (kernel_img_LDFLAGS): Append instead of
180 overwriting.
181 * conf/i386-ieee1275.rmk (kernel_img_LDFLAGS): Likewise.
182 * conf/i386-pc.rmk (kernel_img_LDFLAGS): Likewise.
183 * conf/i386-qemu.rmk (kernel_img_LDFLAGS): Likewise.
184 * conf/x86-efi.rmk (kernel_img_LDFLAGS): Likewise.
185 * conf/mips-qemu-mips.rmk (kernel_img_LDFLAGS): Append instead of
186 overwriting. Remove -lgcc and -static-libgcc
187 * conf/mips-yeeloong.rmk (kernel_img_LDFLAGS): Likewise.
188 * conf/mips.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
189 * conf/powerpc-ieee1275.rmk (kernel_img_HEADERS): Remove cpu/libgcc.h
190 (kernel_img_LDFLAGS): Append instead of overwriting.
191 Remove -lgcc and -static-libgcc
192 * conf/sparc64-ieee1275.rmk: Likewise.
193 * include/grub/powerpc/libgcc.h: Move to ...
194 * include/grub/libgcc.h: .. this.
195 * include/grub/libgcc.h: Don't export most of the function on x86.
196 (__bswapsi2): New export.
197 (__bswapdi2): Likewise.
198 * include/grub/mips/libgcc.h: Removed.
199 * include/grub/sparc64/libgcc.h: Likewise.
200
b7f3ac29
VS
2012010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
202
203 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Remove
204 disk_info_msg (conflicts with gettexting into languages with cases).
205
2c7031b1
GS
2062010-04-10 Grégoire Sutre <gregoire.sutre@gmail.com>
207
208 Add grub-probe support for NetBSD.
209
210 * util/getroot.c (find_root_device): Convert block device to
211 character device on NetBSD.
212 * util/probe.c (probe): Require character device on NetBSD.
213 * util/hostdisk.c: NetBSD specific headers.
214 (configure_device_driver): new function to tune device driver
215 parameters (currently only for NetBSD floppy driver).
216 (grub_util_biosdisk_open): NetBSD specific code (get disk size
217 via disklabel ioctl).
218 (open_device): call configure_device_driver on NetBSD.
219 (convert_system_partition_to_system_disk): NetBSD specific code.
220 (device_is_wholedisk): Likewise.
221 (grub_util_biosdisk_get_grub_dev): Likewise.
222 (make_device_name): Fixed a typo in bsd_part_str.
223 * configure.ac: check for opendisk() and getrawpartition() on
224 NetBSD and set LIBUTIL.
225 * Makefile.in: add LIBUTIL to LIBS.
226
f516290c
BC
2272010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
228
229 Documentation fix.
230
231 * util/grub-script-check.c: Better help message.
232
d8dcc0df
BC
2332010-04-10 BVK Chaitanya <bvk.groups@gmail.com>
234
235 Fix FreeBSD build.
236
237 * configure.ac: Flex version check.
238 * conf/common.rmk: Add -Wno-error to sh.mod.
239 * script/yylex.l: Remove all #pragma.
240
6734334a
VS
2412010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
242
243 * include/grub/util/misc.h (canonicalise_file_name): Add missing
244 prototype.
245 Reported by: Seth Goldberg.
246
daea6abd
VS
2472010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
248
249 * loader/multiboot.c (GRUB_MOD_INIT) [GRUB_USE_MULTIBOOT2]:
250 Rename "module" to "module2".
251 Reported by: Seth Goldberg.
252
f2fd9d2b
VS
2532010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
254
255 * include/grub/efi/memory.h (grub_machine_mmap_iterate): Remove
256 EXPORT_FUNC.
257 Reported by: Seth Goldberg.
258
be124579
VS
2592010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
260
261 * lib/posix_wrap/locale.h: Add missing file.
262 Reported by: Seth Goldberg.
263
ef5da797
VS
2642010-04-10 Vladimir Serbinenko <phcoder@gmail.com>
265
266 grub-emu module load support.
267
268 * Makefile.in (TARGET_NO_MODULES): New variable. All users of
269 NO_DYNAMIC_MODULES switched to this.
270 (TARGET_CFLAGS): Add -DGRUB_TARGET_NO_MODULES=1 if applicable.
271 (CFLAGS): Likewise.
272 * conf/any-emu.rmk: Generate symlist.
273 (kernel_img_HEADERS): Add util/datetime.h.
274 (kernel_img_HEADERS) [sdl]: Add sdl.h.
275 (kernel_img_HEADERS) [libusb]: Add libusb.h.
276 (kernel_img_SOURCES) [TARGET_NO_MODULES = no && !x86]: Add
277 kern/$(target_cpu)/cache.S.
278 * configure.ac (grub-emu-modules): New option.
279 * genmk.rb: Handle multiple source lists.
280 * include/grub/sdl.h: New file.
281 * include/grub/libusb.h: Likewise.
282 * util/grub-emu.c (main): Hanle (host) root.
283 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Error with
284 GRUB_ERR_UNKNOWN_DEVICE.
285 * util/misc.c: Move mm functions to ...
286 * util/mm.c: ... here. All users updated.
287
47822096
VS
2882010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
289
290 * Makefile.in (RMKFILES): Search in srcdir and not current directory.
291 (MAINTAINER_CLEANFILES): Don't add $(srcdir) to MKFILES. Add few
292 missing files.
293 (maintainer-clean): Remove libgcrypt-grub.
294
5d7e7445
VS
2952010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
296
297 * term/efi/console.c (grub_console_checkkey): Macroify key contants.
298
25f4e252
EC
2992010-04-09 EFI Coder <eficoder@hotmail.com>
300
301 * normal/menu_text.c (print_message): Clean up the message and show
302 the Fn information when on EFI
303 * term/efi/console.c (grub_console_checkkey): Add F4 support.
304
027de555
VS
3052010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
306
307 * normal/autofs.c (read_fs_list): New parameter 'prefix'.
308 All users updated.
309 * normal/crypto.c (read_crypto_list): Likewise.
310 * normal/dyncmd.c (read_command_list): Likewise.
311 * normal/term.c (read_terminal_list): Likewise.
312 * normal/main.c (read_lists): Use explicit prefix.
313 (read_lists_hook): Use read_lists.
314 (grub_normal_execute): Likewise.
315
47779711
VS
3162010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
317
318 * util/grub-mkrescue.in: Fix incorrect path in coreboot part.
319 Reported by: Thomas Schmitt.
320 Add -no-emul-boot to grub-mkisofs parameters.
321
1118c32e
VS
3222010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
323
324 * font/font.c: Indented.
325
7d652447
BC
3262010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
327
328 Elif support to GRUB script (by Deepak Vankadaru).
329
330 * tests/grub_script_if.in: New testcase.
331 * conf/tests.rmk: Rule for new testcase.
332 * script/parser.y: Grammar rules for elif.
333
34bb22df
BC
3342010-04-09 BVK Chaitanya <bvk.groups@gmail.com>
335
336 While and until loops support to GRUB script.
337
338 * include/grub/script_sh.h (grub_script_cmdwhile): New struct.
339 (grub_script_create_cmdwhile): New function prototype.
340 (grub_script_execute_cmdwhile): New function prototype.
341 * script/execute.c (grub_script_execute_cmdwhile): New function.
342 * script/parser.y (command): New commands.
343 (whilecmd): New grammar rule.
344 (untilcmd): New grammar rule.
345 * script/script.c (grub_script_create_cmdwhile): New function.
346 * util/grub-script-check.c (grub_script_execute_cmdwhile): New
347 function.
348
349 * tests/grub_script_while1.in: New testcase.
350 * conf/tests.rmk: Rule for new testcase.
351
e215d8e0
VS
3522010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
353
354 * util/grub.d/00_header.in: Add few missing quotes. Recognise *.jpeg
355 as *.jpg.
356
d7c43ba1
MV
3572010-04-09 Mario Vazquez <mariovazq@gmail.com>
358
359 GRUB_BACKGROUND support.
360
361 * util/grub-mkconfig.in: Export GRUB_BACKGROUND.
362 * util/grub.d/00_header.in: Parse GRUB_BACKGROUND.
363
d64795c0
VS
3642010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
365
366 Load fonts and modules for gfxmenu in grub-mkconfig.
d7c43ba1 367 Idea by: Mario Vazquez
d64795c0
VS
368
369 * util/grub.d/00_header.in: Load pf2 and image modules.
370
f267f83a
VS
3712010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
372
373 grub-mkconfig multiple terminal support.
374
375 * util/grub-mkconfig.in: Handle multiple terminals correctly.
376 * util/grub.d/00_header.in: Likewise.
377
b7841ceb
VS
3782010-04-09 Vladimir Serbinenko <phcoder@gmail.com>
379
380 * Makefile.in: Specify files explicitly instead of using $< and $@ since
381 we use cd $(srcdir).
382
df60998c
CW
3832010-04-08 Colin Watson <cjwatson@ubuntu.com>
384
385 * util/grub.d/10_linux.in: Only use the first word of
386 GRUB_DISTRIBUTOR for --class, to avoid problems if somebody puts
387 spaces in GRUB_DISTRIBUTOR.
388 * util/grub.d/10_kfreebsd.in: Likewise.
389 * util/grub.d/10_hurd.in: Likewise.
390
fa09c82e
BC
3912010-04-06 BVK Chaitanya <bvk.groups@gmail.com>
392
14e18ae3 393 Fix unit testing framework for Qemu 0.12.
fa09c82e
BC
394
395 * tests/util/grub-shell.in: Remove -serial stdio option.
396
daf892b3
BC
3972010-04-06 Vladimir Serbinenko <phcoder@gmail.com>
398
399 POSIX header file wrappers.
400
401 * lib/posix_wrap/assert.h: New file. Wrapper for its POSIX
402 equivalents.
403 * lib/posix_wrap/ctype.h: Likewise.
404 * lib/posix_wrap/errno.h: Likewise.
405 * lib/posix_wrap/langinfo.h: Likewise.
406 * lib/posix_wrap/limits.h: Likewise.
407 * lib/posix_wrap/localcharset.h: Likewise.
408 * lib/posix_wrap/stdint.h: Likewise.
409 * lib/posix_wrap/stdio.h: Likewise.
410 * lib/posix_wrap/stdlib.h: Likewise.
411 * lib/posix_wrap/string.h: Likewise.
412 * lib/posix_wrap/sys/types.h: Likewise.
413 * lib/posix_wrap/unistd.h: Likewise.
414 * lib/posix_wrap/wchar.h: Likewise.
415 * lib/posix_wrap/wctype.h: Likewise.
416 * conf/common.rmk (grub_script.yy.c): Remove #include elimination.
417 (grub_script.yy.h): Likewise.
418 * script/yylex.l: Remove POSIX emulation #defines.
419 * Makefile.in (POSIX_CFLAGS): New variable.
420 (GNULIB_UTIL_CFLAGS): Likewise.
421
422 Regexp support.
423
424 * conf/common.rmk (pkglib_MODULES): Add regexp.mod.
425 (regexp_mod_SOURCES): New variable.
426 (regexp_mod_CFLAGS): Likewise.
427 (regexp_mod_LDFLAGS): Likewise.
428 * commands/regexp.c: New file.
429 * gnulib/regcomp.c: New file. Imported from gnulib.
430 * gnulib/regex.c: Likewise.
431 * gnulib/regex_internal.c: Likewise.
432 * gnulib/regex_internal.h: Likewise.
433 * gnulib/regexec.c: Likewise.
434 * gnulib/regex.h: Likewise.
435
974ac4f7
VS
4362010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
437
438 * loader/i386/multiboot_mbi.c (grub_multiboot_load): Correctly report
439 unsupported video mode types.
440
2622c3ff
VS
4412010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
442
443 * kern/i386/pc/startup.S (grub_getrtsecs): Removed (dead code).
444
064cb524
VS
4452010-04-05 Vladimir Serbinenko <phcoder@gmail.com>
446
447 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Don't export.
448 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove machine/init.h.
449
a8c3b552
VS
4502010-04-04 Vladimir Serbinenko <phcoder@gmail.com>
451
452 Remove unused grub_vga_get_font.
453
454 * kern/i386/pc/startup.S (grub_vga_get_font): Removed.
455 * include/grub/i386/pc/vga.h (grub_vga_get_font): Likewise.
456
187bbe3d
GS
4572010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
458
459 * kern/misc.c: Disable the __enable_execute_stack hack for utilities.
460 * include/grub/misc.h: Likewise.
461
b9396631
GS
4622010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
463
464 * util/grub-install.in: Add `|| exit 1' to all grub-probe calls
465 for which failure is fatal.
466
50479feb
GS
4672010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
468
469 * util/grub-install.in: Use mkdir -p to create grub directory.
470 * util/i386/efi/grub-install.in: Likewise.
471 * util/ieee1275/grub-install.in: Likewise.
472
b1654fdf
GS
4732010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
474
475 * Makefile.in (LEX): new variable.
476
bd5a6415
GS
4772010-04-03 Grégoire Sutre <gregoire.sutre@gmail.com>
478
479 * util/i386/efi/grub-dumpdevtree: replaced the non-portable `==' by
480 `=' and added double quotes on operands of this equality test.
481
3db3a82b
VS
4822010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
483
484 * Makefile.in (uninstall): Remove a leftover debug echo.
485 Reported by: Grégoire Sutre
486
38023412
VS
4872010-04-03 Vladimir Serbinenko <phcoder@gmail.com>
488
489 MIPS multiboot2 support.
490
491 * conf/mips.rmk (pkglib_MODULES): Add multiboot2.mod.
492 (multiboot2_mod_SOURCES): New variable.
493 (multiboot2_mod_CFLAGS): Likewise.
494 (multiboot2_mod_LDFLAGS): Likewise.
495 (multiboot2_mod_ASFLAGS): Likewise.
496 * include/grub/i386/multiboot.h (MULTIBOOT_INITIAL_STATE): New
497 definition.
498 (MULTIBOOT_ENTRY_REGISTER): Likewise.
499 (MULTIBOOT_MBI_REGISTER): Likewise.
500 (MULTIBOOT_ARCHITECTURE_CURRENT): Likewise.
501 (MULTIBOOT_ELF32_MACHINE): Likewise.
502 (MULTIBOOT_ELF64_MACHINE): Likewise.
503 * include/grub/mips/multiboot.h: New file.
504 * include/grub/video.h (grub_video_driver_id): New type
505 GRUB_VIDEO_DRIVER_SM712.
506 (grub_video_get_info_and_fini): Export.
507 (grub_video_get_palette): Likewise.
508 (grub_video_get_driver_id): Likewise.
509 * include/multiboot2.h: Resynced with spec.
510 * loader/i386/multiboot.c: Moved from here ...
511 * loader/multiboot.c: ... here. All users updated.
512 (grub_multiboot_boot): Use platform-specific macros.
513 * loader/i386/multiboot_elfxx.c: Moved from here ...
514 * loader/multiboot_elfxx.c: ... here. All users updated.
515 (E_MACHINE): Use MULTIBOOT_ELF32_MACHINE and MULTIBOOT_ELF64_MACHINE.
516 * loader/i386/multiboot_mbi2.c (grub_multiboot_load): Check arcitecture.
517 * video/sm712.c (grub_video_sm712_adapter): Add missing id field.
518
47674667
VS
5192010-04-02 Vladimir Serbinenko <phcoder@gmail.com>
520
521 Import gnulib argp module.
522
523 * gnulib/argp-ba.c: New file.
524 * gnulib/argp-eexst.c: Likewise.
525 * gnulib/argp-fmtstream.c: Likewise.
526 * gnulib/argp-fmtstream.h: Likewise.
527 * gnulib/argp-fs-xinl.c: Likewise.
528 * gnulib/argp-help.c: Likewise.
529 * gnulib/argp-namefrob.h: Likewise.
530 * gnulib/argp-parse.c: Likewise.
531 * gnulib/argp-pin.c: Likewise.
532 * gnulib/argp-pv.c: Likewise.
533 * gnulib/argp-pvh.c: Likewise.
534 * gnulib/argp-version-etc.c: Likewise.
535 * gnulib/argp-version-etc.h: Likewise.
536 * gnulib/argp-xinl.c: Likewise.
537 * gnulib/argp.h: Likewise.
538
495442ed
VS
5392010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
540
541 * kern/device.c (grub_device_iterate): Clear errors after failed
542 opening device.
543
f9fd65df
VS
5442010-03-31 Vladimir Serbinenko <phcoder@gmail.com>
545
546 * kern/ieee1275/openfw.c (grub_children_iterate): Skip device itself if
547 returned by firmware.
548
af09641e
VS
5492010-03-30 Vladimir Serbinenko <phcoder@gmail.com>
550
551 * loader/i386/multiboot_mbi2.c (retrieve_video_parameters): Fix
552 compilation on coreboot and qemu
553
016883a5
VS
5542010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
555
556 * include/multiboot2.h: Resync with spec.
557
f97e1f7d
VS
5582010-03-28 Vladimir Serbinenko <phcoder@gmail.com>
559
560 Multiboot2 tag support
561
562 * conf/i386.rmk (multiboot2_mod_SOURCES): Replace
563 loader/i386/multiboot_mbi.c with loader/i386/multiboot_mbi2.c.
564 Remove loader/multiboot_loader.c.
565 * include/grub/i386/multiboot.h (grub_multiboot_real_boot): Removed.
566 (grub_multiboot2_real_boot): Likewise.
567 * include/grub/multiboot.h (grub_multiboot_set_accepts_video): Removed.
568 (grub_get_multiboot_mmap_count): New proto.
569 (grub_fill_multiboot_mmap): Likewise.
570 (grub_multiboot_set_video_mode): Likewise.
571 (grub_multiboot_set_console): Likewise.
572 (grub_multiboot_load): Likewise.
573 (grub_multiboot_load_elf): Likewise.
574 (GRUB_MULTIBOOT_CONSOLE_EGA_TEXT): New definition.
575 (GRUB_MULTIBOOT_CONSOLE_FRAMEBUFFER): Likewise.
576 * include/multiboot.h: Resynced with specification.
577 * include/multiboot2.h: Resynced with specification.
578 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): Moved from here...
579 * loader/i386/multiboot.c (DEFAULT_VIDEO_MODE): ... here.
580 * loader/i386/multiboot_mbi.c (HAS_VGA_TEXT): Moved from here ..
581 * include/grub/multiboot.h (GRUB_MACHINE_HAS_VGA_TEXT): ... here. All
582 users updated.
583 * loader/i386/multiboot_mbi.c (accepts_video): Moved from here...
584 * loader/i386/multiboot.c (accepts_video): ... here. All users updated.
585 * loader/i386/multiboot_mbi.c (grub_multiboot_set_accepts_video):
586 Removed.
587 * loader/i386/multiboot_mbi.c (grub_get_multiboot_mmap_len):
588 Moved from here...
589 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): ... here.
590 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap):
591 Moved from here...
592 * loader/i386/multiboot.c (grub_fill_multiboot_mmap): ... here.
593 * loader/i386/multiboot_mbi.c (set_video_mode): Moved from here...
594 * loader/i386/multiboot.c (grub_multiboot_set_video_mode): ... here.
595 All users updated.
596 * loader/i386/multiboot_mbi2.c: New file.
597
3506b90b
VS
5982010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
599
600 Resync with gnulib.
601
602 * Makefile.in (GNULIB_CFLAGS): New variable.
603 * conf/common.rmk (grub_mkisofs_CFLAGS): Add GNULIB_CFLAGS.
604 (grub_script_check_CFLAGS): New variable.
605 * gnulib/alloca.h: Resync with gnulib.
606 * gnulib/error.c: Likewise.
607 * gnulib/error.h: Likewise.
608 * gnulib/fnmatch.c: Likewise.
609 * gnulib/fnmatch_loop.c: Likewise.
610 * gnulib/getdelim.c: Likewise.
611 * gnulib/getline.c: Likewise.
612 * gnulib/getopt.c: Likewise.
613 * gnulib/getopt1.c: Likewise.
614 * gnulib/getopt_int.h: Likewise.
615 * gnulib/gettext.h: Likewise.
616 * gnulib/progname.c: Likewise.
617 * gnulib/progname.h: Likewise.
618
394a3120
GS
6192010-03-27 Grégoire Sutre <gregoire.sutre@gmail.com>
620
621 Fix a build failure (-Wundef -Werror) when ENABLE_NLS is not defined,
622 which is the case with --disabled-nls.
623
624 * include/grub/i18n.h: Use (defined(ENABLE_NLS)
625 && ENABLE_NLS) instead of ENABLE_NLS in all #if preprocessor macros.
626 * util/misc.c: Likewise.
627 * util/mkisofs/mkisofs.c: Likewise.
628 * util/mkisofs/mkisofs.h: Likewise.
629
969d1c78
VS
6302010-03-27 Vladimir Serbinenko <phcoder@gmail.com>
631
632 Simplify Apple CC support.
633
634 * commands/i386/pc/drivemap_int13h.S: Use LOCAL when possible.
635 Add 0 byte at the end not to have a symbol with empty target.
636 * mmap/i386/pc/mmap_helper.S: Likewise.
637 * genmk.rb: Ignore errors 2030 and 2050.
638 * kern/i386/pc/startup.S: Use LOCAL when possible.
639
8d2977bb
BC
6402010-03-26 BVK Chaitanya <bvk.groups@gmail.com>
641
642 Testcase and the fix for final semicolon on cmdline.
643
644 * tests/grub_script_final_semicolon.in: New testcase.
645 * conf/tests.rmk: Rules for the new testcase.
646 * script/parser.y: Grammar fix.
647
a7bd6915
BC
6482010-03-26 BVK Chaitanya <bvk@localhost>
649
650 Blank lines testcase for GRUB script.
651
652 * tests/grub_script_blanklines.in: New testcase.
653 * conf/tests.rmk: Rules for the new testcase.
654
e4ff6628
VS
6552010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
656
657 Don't use __FILE__.
658
659 * genmk.rb: Add -DGRUB_FILE to all C targets.
660 * fs/reiserfs.c: Replace __FILE__ with GRUB_FILE.
661 * include/grub/list.h: Likewise.
662 * include/grub/misc.h: Likewise.
663 * include/grub/mm.h: Likewise.
664 * include/grub/test.h: Likewise.
665 * kern/mm.c: Likewise.
666 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
667
6a5cf6b6
VS
6682010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
669
670 Sunpc partitions support.
671
672 * conf/common.rmk (grub_probe_SOURCES): Add partmap/sunpc.c.
673 (grub_fstest_SOURCES): Likewise.
674 (pkglib_MODULES): Add part_sunpc.mod.
675 (part_sunpc_mod_SOURCES): New variable.
676 (part_sunpc_mod_CFLAGS): Likewise.
677 (part_sunpc_mod_LDFLAGS): Likewise.
678 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/sunpc.c.
679 * partmap/sunpc.c: New file.
680
746d9045
BC
6812010-03-26 BVK Chaitanya <bvk@localhost>
682
683 For loop support to GRUB script.
684
685 * include/grub/script_sh.h (grub_script_cmdfor): New struct.
686 (grub_script_create_cmdfor): New function prototype.
687 (grub_script_execute_cmdfor): New function prototype.
688 * script/execute.c (grub_script_execute_cmdfor): New function.
689 * script/parser.y (command): New for command.
690 (forcmd): New grammar rule.
691 * script/script.c (grub_script_create_cmdfor): New function.
692 * util/grub-script-check.c (grub_script_execute_cmdfor): New
693 function.
694 * tests/grub_script_for1.in: New testcase.
695 * conf/tests.rmk: Rules for new testcase.
696
18486b18
VS
6972010-03-26 Vladimir Serbinenko <phcoder@gmail.com>
698
699 Nested partitions
700
701 * commands/blocklist.c (grub_cmd_blocklist): Don't check whether
702 'partition' is NULL, grub_partition_get_start already does that.
703 * commands/loadenv.c (check_blocklists): Likewise.
704 (write_blocklists): Likewise.
705 * conf/common.rmk (grub_probe_SOURCES): Add partmap/bsdlabel.c.
706 (grub_fstest_SOURCES): Likewise.
707 (pkglib_MODULES): Add part_bsd.mod.
708 (part_bsd_mod_SOURCES): New variable.
709 (part_bsd_mod_CFLAGS): Likewise.
710 (part_bsd_mod_LDFLAGS): Likewise.
711 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/bsdlabel.c.
712 (grub_emu_SOURCES): Likewise.
713 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
714 * include/grub/bsdlabel.h: New file.
715 * include/grub/partition.h (grub_partition_map): Remove 'probe' and
716 'get_name'.
717 (grub_partition): Add 'parent' and 'number'. Remove 'data'.
718 (grub_partition_map_list): New variable.
719 (grub_partition_map_register): Inline.
720 (grub_partition_map_unregister): Likewise.
721 (FOR_PARTITION_MAPS): New macro.
722 (grub_partition_map_iterate): Removed.
723 (grub_partition_get_start): Handle nested partitions.
724 * include/grub/msdos_partition.h: Remove bsd-related entries.
725 (grub_pc_partition): Remove.
726 * kern/disk.c (grub_disk_close): Free partition data.
727 (grub_disk_adjust_range): Handle nested partitions.
728 * kern/partition.c (grub_partition_map_probe): New function.
729 (grub_partition_probe): Parse name to number, handle subpartitions.
730 (get_partmap): New function.
731 (grub_partition_iterate): Handle subpartitions.
732 (grub_partition_get_name): Likewise.
733 * loader/i386/pc/bsd.c (grub_bsd_get_device): Likewise.
734 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): Likewise.
735 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): Likewise.
736 * partmap/acorn.c (acorn_partition_map_iterate): Don't force raw access.
737 Set 'number'.
738 (acorn_partition_map_probe): Remove.
739 (acorn_partition_map_get_name): Likewise.
740 * partmap/amiga.c (amiga_partition_map_iterate): Don't force raw access.
741 Set 'number'.
742 Set 'index' to 0 since there can be only one partition entry per sector.
743 (amiga_partition_map_probe): Remove.
744 (amiga_partition_map_get_name): Likewise.
745 * partmap/apple.c (apple_partition_map_iterate): Don't force raw access.
746 Set 'number'.
747 Set 'offset' and 'index' to real positions of partitions.
748 (apple_partition_map_probe): Remove.
749 (apple_partition_map_get_name): Likewise.
750 * partmap/bsdlabel.c: New file.
751 * partmap/gpt.c (gpt_partition_map_iterate): Don't force raw access.
752 Set 'number'.
753 Allocate 'data' so it can be correctly freed.
754 Set 'index' to offset inside sector.
755 (gpt_partition_map_probe): Remove.
756 (gpt_partition_map_get_name): Likewise.
757 * partmap/msdos.c (grub_partition_parse): Remove.
758 (pc_partition_map_iterate): Don't force raw access.
759 Set 'number'.
760 Make 'ext_offset' a local variable.
761 (pc_partition_map_probe): Remove.
762 (pc_partition_map_get_name): Remove.
763 * partmap/sun.c (sun_partition_map_iterate): Don't force raw access.
764 Set 'number'.
765 (sun_partition_map_probe): Remove.
766 (sun_partition_map_get_name): Likewise.
767 * parttool/msdospart.c (grub_pcpart_boot): Handle nested partitions.
768 (grub_pcpart_type): Likewise.
769 * util/hostdisk.c (open_device): Handle new numbering scheme.
770 (grub_util_biosdisk_get_grub_dev): Handle nested partitions.
771 * util/i386/pc/grub-setup.c (setup): Handle new numbering scheme.
772 * util/grub-probe.c (probe_partmap): Handle nested paritions.
773 * util/grub-install.in: Insert all subpartition modules.
774 * util/ieee1275/grub-install.in: Likewise.
775
a3940f88
AG
7762010-03-24 Adrian Glaubitz <glaubitz@physik.fu-berlin.de>
777
778 * kern/dl.c (grub_dl_resolve_symbols): Improve error message
779 grammar.
780
21b99926 7812010-03-24 Colin Watson <cjwatson@ubuntu.com>
782
783 * .bzrignore: Add grub-bin2h, grub-reboot, and grub-set-default.
784
bed1d352
CW
7852010-03-21 Colin Watson <cjwatson@ubuntu.com>
786
787 * util/grub-install.in: Copy .mo files from @datadir@/locale, to
788 match where 'make install' puts them.
789 * util/i386/efi/grub-install.in: Likewise.
790
c9f58427
CW
7912010-03-19 Colin Watson <cjwatson@ubuntu.com>
792
793 * .bzrignore: Add gentrigtables, grub-script-check,
794 grub_script_check_init.c, grub_script_check_init.h, and
795 trigtables.c.
796
f84afb27
VS
7972010-03-18 Vladimir Serbinenko <phcoder@gmail.com>
798
799 * kern/parser.c: Indented.
800
ed0e3d30
VS
8012010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
802
803 * term/i386/pc/vesafb.c: Removed (orphaned, deprecated and broken).
804
0ea81d98
VS
8052010-03-17 Vladimir Serbinenko <phcoder@gmail.com>
806
807 * video/fb/fbblit.c (grub_video_fbblit_blend_XXXA8888_1bit): Handle
808 alpha_mask_size == 0 case.
809
0cdc2a09
BC
8102010-03-14 BVK Chaitanya <bvk.groups@gmail.com>
811
812 GRUB shell lexer and parser improvements.
813
814 * conf/any-emu.rmk: Build rule updates.
815 * conf/common.rmk: Likewise.
816 * conf/i386-coreboot.rmk: Likewise.
817 * conf/i386-efi.rmk: Likewise.
818 * conf/i386-ieee1275.rmk: Likewise.
819 * conf/i386-pc.rmk: Likewise.
820 * conf/powerpc-ieee1275.rmk: Likewise.
821 * conf/x86_64-efi.rmk: Likewise.
822
823 * configure.ac: Configure check for flex.
824
825 * include/grub/script_sh.h (grub_script_arg_type_t): More argument
826 types.
827 (grub_lexer_param): Struct member updates.
828 (grub_parser_param): Likewise.
829 (GRUB_LEXER_TOKEN_MAX): Maximum token size.
830 (GRUB_LEXER_RECORD_INCREMENT): Memory increments' size.
831 (grub_script_lexer_init): Prototype update.
832 (grub_script_lexer_record_start): Likewise.
833 (grub_script_lexer_record_stop): Likewise.
834 (grub_script_lexer_yywrap): New function prototype.
835 (grub_script_lexer_fini): Likewise.
836 (grub_script_execute_argument_to_string): Removed by...
837 (grub_script_execute_argument_to_argv): ...better version.
838
839 * script/execute.c (ROUND_UPTO): New macro.
840 (grub_script_execute_cmdline): Out of memory fixes.
841 (grub_script_execute_menuentry): Likewise.
842 (grub_script_execute_argument_to_string): Removed. Update all
843 users by...
844 (grub_script_execute_argument_to_argv): ...better version.
845 * script/function.c (grub_script_function_create): Use
846 grub_script_execute_argument_to_argv instead of
847 grub_script_execute_argument_to_string.
848
849 * script/lexer.c (check_varstate): Removed.
850 (check_textstate): Removed.
851 (grub_script_lexer_record_start): Likewise.
852 (grub_script_lexer_record_stop): Likewise.
853 (recordchar): Replaced with...
854 (grub_script_lexer_record): ...new function.
855 (nextchar): Removed.
856 (grub_script_lexer_init): Rewritten.
857 (grub_script_yylex): Rewritten.
858 (append_newline): New function.
859 (grub_script_lexer_yywrap): New function.
860 (grub_script_lexer_fini): New function.
861 (grub_script_yyerror): Sets error flag.
862
863 * script/yylex.l: New file.
864 (grub_lexer_yyfree): Wrapper for flex yyffre.
865 (grub_lexer_yyalloc): Likewise.
866 (grub_lexer_yyrealloc): Likewise.
867 * script/parser.y: Refactored.
868
869 * script/script.c (grub_script_arg_add): Out of memory fixes.
870 (grub_script_add_arglist): Likewise.
871 (grub_script_create_cmdline): Likewise.
872 (grub_script_create_cmdmenu): Likewise.
873 (grub_script_add_cmd): Likewise.
874 (grub_script_parse): Use grub_script_lexer_fini to deallocated.
875 * util/grub-script-check.c (grub_script_execute_menuentry): Remove
876 unnecessary code.
877
878 * tests/grub_script_echo1.in: New testcase.
879 * tests/grub_script_vars1.in: New testcase.
880 * tests/grub_script_echo_keywords.in: New testcase.
881
1d63a066
VS
8822010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
883
884 Remove some redundancy in build system.
885
886 * Makefile.in (TARGET_CFLAGS): Add -ffreestanding.
887 (TARGET_ASFLAGS): Add -nostdinc -fno-builtin.
888 (TARGET_LDFLAGS): Add -nostdlib.
889 (TARGET_IMG_LDFLAGS): Likewise.
890 * commands/lsmmap.c (grub_cmd_lsmmap) [GRUB_MACHINE_EMU]: Don't do
891 anything since mmap isn't available.
892 * conf/any-emu.rmk (kernel_img_SOURCES): Remove commands/boot.c.
893 Add util/time.c.
894 (pkglib_MODULES): Remove reboot.mod.
895 (reboot_mod_SOURCES): Removed.
896 (reboot_mod_CFLAGS): Likewise.
897 (reboot_mod_LDFLAGS): Likewise.
898 * conf/common.rmk (script/lexer.c_DEPENDENCIES): New variable.
899 (MOSTLYCLEANFILES): Add symlist.c kernel_syms.lst.
900 (DEFSYMFILES): Add kernel_syms.lst.
901 (kernel_img_HEADERS): Add common headers.
902 (symlist.c): New target.
903 (kernel_syms.lst): Likewise.
904 (pkglib_MODULES): Add memdisk.mod.
905 (memdisk_mod_SOURCES): New variable.
906 (memdisk_mod_CFLAGS): Likewise.
907 (memdisk_mod_LDFLAGS): Likewise.
908 (pkglib_MODULES): Add reboot.mod.
909 (reboot_mod_SOURCES): New variable.
910 (reboot_mod_CFLAGS): Likewise.
911 (reboot_mod_LDFLAGS): Likewise.
912 (pkglib_MODULES): Add date.mod.
913 (date_mod_SOURCES): New variable.
914 (date_mod_CFLAGS): Likewise.
915 (date_mod_LDFLAGS): Likewise.
916 (pkglib_MODULES): Add datehook.mod.
917 (datehook_mod_SOURCES): New variable.
918 (datehook_mod_CFLAGS): Likewise.
919 (datehook_mod_LDFLAGS): Likewise.
920 (pkglib_MODULES): Add lsmmap.mod.
921 (lsmmap_mod_SOURCES): New variable.
922 (lsmmap_mod_CFLAGS): Likewise.
923 (lsmmap_mod_LDFLAGS): Likewise.
924 (pkglib_MODULES): Add boot.mod.
925 (boot_mod_SOURCES): New variable.
926 (boot_mod_CFLAGS): Likewise.
927 (boot_mod_LDFLAGS): Likewise.
928 * conf/i386-coreboot.rmk: Removed redundant parts.
929 * conf/i386-ieee1275.rmk: Likewise.
930 * conf/i386-pc.rmk: Likewise.
931 * conf/mips-yeeloong.rmk: Likewise.
932 * conf/mips.rmk: Likewise.
933 * conf/powerpc-ieee1275.rmk: Likewise.
934 * conf/sparc64-ieee1275.rmk: Likewise.
935 * conf/x86_64-efi.rmk: Likewise.
936 * conf/i386-coreboot.rmk: Moved qemu parts ..
937 * conf/i386-qemu.rmk: ... here
938 * conf/i386-efi.rmk: Moved common parts to...
939 * conf/x86-efi.rmk: ... here.
940 * conf/i386.rmk: Added modules common to all x86 variants.
941 * configure.ac: Add -m32/-m64 to TARGET_ASFLAGS.
942 * disk/memdisk.c: Remove grub/machine/kernel.h.
943 * gensymlist.sh.in: Include symbol.h.
944 * hook/datehook.c: Correct module name.
945 * include/grub/datetime.h (grub_get_datetime) [GRUB_MACHINE_EMU]: Export.
946 (grub_set_datetime) [GRUB_MACHINE_EMU]: Likewise.
947 * include/grub/i386/efi/serial.h: New file.
948 * include/grub/x86_64/efi/serial.h: Likewise.
949 * util/time.c: Likewise.
950 * video/ieee1275.c (grub_video_ieee1275_setup): Handle 64-bit void *.
951
463ac55f
CK
9522010-03-14 Colin King <colin.king@ubuntu.com>
9532010-03-14 Colin Watson <cjwatson@ubuntu.com>
954
955 Shrink the pre-partition-table part of boot.img by eight bytes.
956
957 * boot/i386/pc/boot.S (ERR): New macro.
958 (chs_mode): Use ERR.
959 (geometry_error): Likewise.
960 (hd_probe_error): Remove. This is only used once, so we wrwite
961 it inline instead.
962 (read_error): Instead of printing read_error_string, just set up
963 %si and fall through to ...
964 (error_message): ... this new function, also used by ERR.
965
08e46ede
CW
9662010-03-14 Colin Watson <cjwatson@ubuntu.com>
967
968 Speed up consecutive hostdisk operations on the same device.
969
970 * util/hostdisk.c (struct grub_util_biosdisk_data): New structure.
971 (grub_util_biosdisk_open): Initialise disk->data.
972 (struct linux_partition_cache): New structure.
973 (linux_find_partition): Cache partition start positions; these are
974 expensive to compute on every read and write.
975 (open_device): Cache open file descriptor in disk->data, so that we
976 don't have to reopen it and flush the buffer cache for consecutive
977 operations on the same device.
978 (grub_util_biosdisk_close): New function.
979 (grub_util_biosdisk_dev): Set `close' member.
980
981 * conf/common.rmk (grub_probe_SOURCES): Add kern/list.c.
982 * conf/i386-efi.rmk (grub_setup_SOURCES): Likewise.
983 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
984 * conf/sparc64-ieee1275.rmk (grub_setup_SOURCES): Likewise.
985 * conf/x86_64-efi.rmk (grub_setup_SOURCES): Likewise.
986
4a6d2d06
VS
9872010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
988
989 Compile parts of grub-emu as modules.
990
991 * Makefile.in (TARGET_CPPFLAGS) [emu]: Remove -nostdinc -isystem.
992 (pkglib_DATA) [emu]: Remove moddep.lst command.lst fs.lst
993 partmap.lst parttool.lst handler.lst video.lst crypto.lst terminal.lst.
994 (all-local): Add $(GRUB_EMU).
995 (install-local): Install $(GRUB_EMU).
996 (uninstall): Uninstall $(GRUB_EMU).
997 * commands/parttool.c: Replace GRUB_UTIL with GRUB_NO_MODULES.
998 * kern/dl.c: Likewise.
999 * commands/sleep.c: Not include machine/time.h.
1000 * conf/any-emu.rmk (COMMON_LDFLAGS): New variable.
1001 (COMMON_CFLAGS): Likewise.
1002 (sbin_UTILITIES): Remove grub-emu.
1003 (grub_emu_SOURCES): Removed.
1004 (kernel_img_RELOCATABLE): New variable.
1005 (pkglib_PROGRAMS): Add kernel.img.
1006 (kernel_img_SOURCES): New variable
1007 (kernel_img_CFLAGS): Likewise.
1008 (kernel_img_LDFLAGS): Likewise.
1009 (TARGET_NO_STRIP): Likewise.
1010 (TARGET_NO_DYNAMIC_MODULES): Likewise.
1011 (pkglib_MODULES): Add progname.mod, hostfs.mod, host.mod, reboot.mod,
1012 halt.mod, cpuid.mod, usb.mod, sdl.mod and pci.mod.
1013 (grub-emu): New target.
1014 (GRUB_EMU): New variable.
1015 * configure.ac: Whitelist -emu as possible x86_64 architecture.
1016 * efiemu/main.c: Replace GRUB_UTIL with GRUB_MACHINE_EMU.
1017 * loader/xnu.c: Likewise.
1018 * include/grub/pci.h: Likewise.
1019 * genemuinit.sh: New file.
1020 * genemuinitheader.sh: Likewise.
1021 * genmk.rb: Don't strip if TARGET_NO_STRIP is yes.
1022 Support TARGET_NO_DYNAMIC_MODULES.
1023 * include/grub/dl.h (GRUB_NO_MODULES): New variable.
1024 * commands/search.c: Fix GRUB_MOD_INIT and GRUB_MOD_FINI arguments.
1025 * disk/loopback.c: Likewise.
1026 * font/font_cmd.c: Likewise.
1027 * partmap/acorn.c: Likewise.
1028 * partmap/amiga.c: Likewise.
1029 * partmap/apple.c: Likewise.
1030 * partmap/gpt.c: Likewise.
1031 * partmap/msdos.c: Likewise.
1032 * partmap/sun.c: Likewise.
1033 * parttool/msdospart.c: Likewise.
1034 * term/gfxterm.c: Likewise.
1035 * video/bitmap.c: Likewise.
1036 * video/readers/jpeg.c: Likewise.
1037 * video/readers/png.c: Likewise.
1038 * video/readers/tga.c: Likewise.
1039 * video/video.c: Likewise.
1040 * util/grub-emu.c (read_command_list): Removed.
1041 (main): Don't call util_init_nls.
1042 * util/misc.c (grub_err_printf) [!GRUB_UTIL]: Removed.
1043 (grub_util_init_nls) [!GRUB_UTIL]: Likewise.
1044
91fdd2ed
VS
10452010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
1046
1047 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add datetime.mod,
1048 date.mod, datehook.mod.
1049 (datetime_mod_SOURCES): New variable.
1050 (datetime_mod_CFLAGS): Likewise.
1051 (datetime_mod_LDFLAGS): Likewise.
1052 (date_mod_SOURCES): Likewise.
1053 (date_mod_CFLAGS): Likewise.
1054 (date_mod_LDFLAGS): Likewise.
1055 (datehook_mod_SOURCES): Likewise.
1056 (datehook_mod_CFLAGS): Likewise.
1057 (datehook_mod_LDFLAGS): Likewise.
1058 * conf/sparc64-ieee1275.rmk: Likewise.
1059 * lib/ieee1275/datetime.c: New file.
1060
873ccae6
VS
10612010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
1062
1063 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add ieee1275_fb.mod.
1064 (ieee1275_fb_mod_SOURCES): New variable.
1065 (ieee1275_fb_mod_CFLAGS): Likewise.
1066 (ieee1275_fb_mod_LDFLAGS): Likewise.
1067 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_devices_iterate):
1068 New proto.
1069 * kern/ieee1275/init.c (HEAP_MAX_SIZE): Increased.
1070 (HEAP_MAX_ADDR): Likewise.
1071 * kern/ieee1275/openfw.c (grub_children_iterate): Don't skip empty
1072 type.
1073 Correct stop condition.
1074 (grub_ieee1275_devices_iterate): New function.
1075 * video/ieee1275.c: New file.
1076
601c97c0
VS
10772010-03-14 Vladimir Serbinenko <phcoder@gmail.com>
1078
1079 Merge sparc grub-mkimage into generic grub-mkimage and a.out support.
1080
1081 * boot/sparc64/ieee1275/boot.S (boot_continue): Use SCRATCH_PAD_BOOT
1082 as scratch.
1083 * boot/sparc64/ieee1275/diskboot.S (after_info_block): Use
1084 SCRATCH_PAD_DISKBOOT as scratch.
1085 (bootit): Pass Openfirmware pointer in %o4.
1086 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link at 0x4400 instead
1087 of 0x200000.
1088 (grub_mkimage_SOURCES): Replace util/sparc64/ieee1275/grub-mkimage.c
1089 with util/grub-mkrawimage.c.
1090 * configure.ac: Handle GRUB_MACHINE_SPARC64 and GRUB_MACHINE_MIPS.
1091 * include/grub/aout.h (AOUT_MID_SUN): New definition.
1092 (grub_aout_get_type) [GRUB_UTIL]: Removed.
1093 (grub_aout_load) [GRUB_UTIL]: Likewise.
1094 * include/grub/kernel.h (grub_modules_get_end): New proto.
1095 * include/grub/sparc64/ieee1275/boot.h (SCRATCH_PAD): Removed.
1096 (SCRATCH_PAD_BOOT): New definition.
1097 (SCRATCH_PAD_DISKBOOT): Likewise.
1098 (GRUB_BOOT_MACHINE_IMAGE_ADDRESS): Set to 0x4400.
1099 * include/grub/sparc64/ieee1275/ieee1275.h
1100 (grub_ieee1275_original_stack): New variable
1101 * include/grub/sparc64/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
1102 New definition
1103 (GRUB_KERNEL_MACHINE_STACK_SIZE): Likewise.
1104 (GRUB_PLATFORM_IMAGE_FORMATS): Likewise.
1105 (GRUB_PLATFORM_IMAGE_DEFAULT_FORMAT): Likewise.
1106 (GRUB_PLATFORM_IMAGE_DEFAULT): Likewise.
1107 (GRUB_PLATFORM_IMAGE_RAW): Likewise.
1108 (GRUB_PLATFORM_IMAGE_AOUT): Likewise.
1109 (grub_platform_image_format_t): New type.
1110 * kern/mips/yeeloong/init.c (grub_modules_get_end): Move from here ...
1111 * kern/main.c (grub_modules_get_end)
1112 [GRUB_MACHINE_MIPS_YEELOONG || GRUB_MACHINE_SPARC64]: ... here.
1113 * kern/sparc64/ieee1275/crt0.S: Store firmware entry point in %o0.
1114 (codestart): Switch stacks.
1115 * kern/sparc64/ieee1275/init.c (grub_ieee1275_original_stack): New
1116 variable.
1117 (grub_heap_init): Use grub_modules_get_end.
1118 * loader/sparc64/ieee1275/linux.c (grub_linux_boot): Restore original
1119 stack.
1120 * util/grub-mkrawimage.c (generate_image): Support sparc64.
1121 (main): Likewise.
1122 * util/sparc64/ieee1275/grub-mkimage.c: Removed.
1123
d68b491e
TG
11242010-03-14 Thorsten Glaser <tg@mirbsd.org>
1125
1126 * util/grub-mkrescue.in: Base ISO UUID on UTC.
1127
4e02ed50
MK
11282010-03-08 Matt Kraai <kraai@ftbfs.org>
1129
1130 * util/i386/pc/grub-setup.c (setup): Fix a grammatical error (Debian
1131 bug #559005).
1132
1f15fc1e
VS
11332010-03-07 Vladimir Serbinenko <phcoder@gmail.com>
1134
1135 * genmoddep.awk: Output all missing symbols and not only first.
1136
fce5d8ff
VS
11372010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1138
1139 * NEWS: Put the date of 1.98 release.
1140
d1e8a02f
VS
11412010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1142
1143 * configure.ac: Update CPPFLAGS and not CFLAGS when checking for
1144 ft2build.h.
1145
696fd607
VS
11462010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1147
1148 * normal/cmdline.c (grub_cmdline_get): Fix gabled line after
1149 completition in the middle of string.
1150
33e2e6f3
VS
11512010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1152
1153 * util/grub-mkrescue.in: Use mktemp with explicit template.
1154
b1f6d291
VS
11552010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1156
1157 * loader/i386/bsd.c (grub_bsd_get_device): Fix a memory leak.
1158
2ac227c7
VS
11592010-03-06 Vladimir Serbinenko <phcoder@gmail.com>
1160
1161 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Free the
1162 right pointer.
1163
8f9a632b
VS
11642010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1165
1166 Fix FreeBSD compilation.
1167
1168 * Makefile.in (TARGET_CPPFLAGS): Remove -nostdinc -isystem.
1169 * configure.ac: Add -nostdinc -isystem to TARGET_CPPFLAGS if it works.
1170
60b03859
VS
11712010-03-05 Vladimir Serbinenko <phcoder@gmail.com>
1172
1173 * util/import_gcry.py: Add autogenerated files to MAINTAINER_CLEANFILES.
1174
48a5a769
VS
11752010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1176
1177 * gettext/gettext.c (grub_gettext_init_ext): Fix a memory leak.
1178
3ab4bd77
VS
11792010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1180
1181 * disk/scsi.c (grub_scsi_iterate): Fix a memory leak.
1182
d116e0d8
RM
11832010-03-04 Robert Millan <rmh.grub@aybabtu.com>
1184
1185 Support relative image path in theme file.
1186
1187 * gfxmenu/gui_image.c (grub_gui_image): New member theme_dir.
1188 (image_set_property): Handle theme_dir and relative path.
1189
c7ef54aa
VS
11902010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1191
1192 * configure.ac: Alias amd64 to x86_64.
1193
fcee14ed
VS
11942010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1195
1196 * NEWS: mention multiboot on EFI.
1197
d0780363
VS
11982010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1199
1200 * kern/main.c (grub_load_modules): Handle errors from init functions of
1201 embeded modules.
1202
41168ea4
VS
12032010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1204
1205 * normal/autofs.c (autoload_fs_module): Handle errors.
1206
b54d93ac
VS
12072010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1208
1209 Disable linux.mod on qemu-mips since it's not functional and leads
1210 to compilation failure.
1211
1212 * conf/mips.rmk (pkglib_MODULES): Remove linux.mod.
1213 * conf/mips-yeeloong.rmk (pkglib_MODULES): Add linux.mod.
1214 * conf/mips.rmk (linux_mod_SOURCES): Move from here ...
1215 * conf/mips-yeeloong.rmk (linux_mod_SOURCES): ... here
1216 * conf/mips.rmk (linux_mod_CFLAGS): Move from here ...
1217 * conf/mips-yeeloong.rmk (linux_mod_CFLAGS): ... here
1218 * conf/mips.rmk (linux_mod_ASFLAGS): Move from here ...
1219 * conf/mips-yeeloong.rmk (linux_mod_ASFLAGS): ... here
1220 * conf/mips.rmk (linux_mod_LDFLAGS): Move from here ...
1221 * conf/mips-yeeloong.rmk (linux_mod_LDFLAGS): ... here
1222 Reported by: BVK Chaitanya
1223
fc8345da
JU
12242010-03-04 Jordan Uggla <jordan.uggla@gmail.com>
1225
1226 * INSTALL: Add gettext as a dependency and add qemu to a new section
1227 "Prerequisites for make-check".
1228
4760f979
CF
12292010-03-04 Christian Franke <franke@computer.org>
1230
1231 * util/grub-pe2elf.c: Add missing include "progname.h".
1232
f209b5b2
VS
12332010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1234
1235 * normal/crypto.c (read_crypto_list): Fix a typo.
1236 Reported by: Seth Goldberg.
1237
b4b7be98
VS
12382010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1239
1240 * Makefile.in (DISTCLEANFILES): Add stamp-h1.
f209b5b2 1241 Reported by: Seth Goldberg.
b4b7be98 1242
c0ee0385
VS
12432010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1244
1245 * Makefile.in (CLEANFILES) [FONT_SOURCE && grub_mkfont]: Add
1246 ascii.bitmaps.
1247
a8efbf64
VS
12482010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1249
1250 * genmk.rb: Remove terminal*.lst in make clean.
f209b5b2 1251 Reported by: Seth Goldberg.
a8efbf64 1252
08dcd913
VS
12532010-03-04 Vladimir Serbinenko <phcoder@gmail.com>
1254
1255 * util/i386/efi/grub-install.in: Copy gettext files.
1256
c4d0b332
VS
12572010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1258
1259 * fs/ext2.c (grub_ext2_read_block): Fix an integer overflow.
1260
c6f2fe52
VS
12612010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1262
1263 Wait for user entry basing on presence of output rather than on errors.
1264
1265 * include/grub/normal.h (grub_normal_get_line_counter): New proto.
1266 (grub_install_newline_hook): Likewise.
1267 * normal/main.c (GRUB_MOD_INIT): Call grub_install_newline_hook.
1268 * normal/menu.c (show_menu): Check line_counter to determine presence
1269 of output.
1270 * normal/term.c (grub_normal_line_counter): New variable.
1271 (grub_normal_get_line_counter): New function.
1272 (grub_install_newline_hook): Likewise.
1273
5382b1e4
VS
12742010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1275
1276 * commands/cat.c (grub_cmd_cat): Propagate grub_gzfile_open error.
1277
5519963b
VS
12782010-03-01 Vladimir Serbinenko <phcoder@gmail.com>
1279
1280 * configure.ac: Update version to 1.98.
1281
72b28631
VS
12822010-02-26 Vladimir Serbinenko <phcoder@gmail.com>
1283
1284 * util/grub.d/10_linux.in (linux_entry): Don't default to
1285 gfxpayload=keep if Linux doesn't support video handover.
1286
c140a180
VS
12872010-02-25 Vladimir Serbinenko <phcoder@gmail.com>
1288
1289 Don't compile video modules on yeeloong since video subsystem is part
1290 of kernel.
1291
1292 * conf/common.rmk (pkglib_MODULES) [yeeloong]: Remove video.mod,
1293 video_fb.mod, bitmap.mod, font.mod, gfxterm.mod and bufio.mod
1294 * conf/mips-yeeloong.rmk (kernel_img_HEADERS): Add bitmap.h,
1295 video.h, gfxterm.h, font.h, bitmap_scale.h and bufio.h.
1296 * conf/mips.rmk (kernel_img_HEADERS): Add values instead of overwriting.
1297 * include/grub/bitmap.h: Add EXPORT_FUNC and EXPORT_VAR.
1298 * include/grub/bitmap_scale.h: Likewise.
1299 * include/grub/bufio.h: Likewise.
1300 * include/grub/font.h: Likewise.
1301 * include/grub/gfxterm.h: Likewise.
1302 * include/grub/video.h: Likewise.
1303 * include/grub/vbe.h: Don't include video_fb.h.
1304 * video/i386/pc/vbe.c: Include video_fb.h.
1305 * commands/i386/pc/vbetest.c: Include video.h.
1306
a0ca21c2
CW
13072010-02-25 Jordan Uggla <jordan.uggla@gmail.com>
1308
1309 * util/grub-mkconfig.in (GRUB_SAVEDEFAULT): Export new variable.
1310 * util/grub-mkconfig_lib.in (save_default_entry): Only save a new
1311 default entry if GRUB_SAVEDEFAULT=true. This allows using
1312 GRUB_DEFAULT=saved on its own to let grub-reboot work, without
1313 saving a new default on every boot.
1314
4a8a763c
VS
13152010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1316
1317 * normal/crypto.c (read_crypto_list): Fix a memory leak.
1318 * normal/term.c (read_terminal_list): Likewise.
1319 * normal/main.c (grub_normal_init_page): Likewise.
1320 (grub_normal_read_line_real): Likewise.
1321
607ffde2
VS
13222010-02-24 Vladimir Serbinenko <phcoder@gmail.com>
1323
1324 * loader/i386/multiboot_mbi.c (grub_multiboot_set_bootdev): Fix a
1325 memory leak.
1326 Reported by: Seth Goldberg.
1327
2b8fa975
CW
13282010-02-24 Joey Korkames <joey+lists@kidfixit.com>
1329
1330 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Remove
1331 duplicate declaration of `start'.
1332
618307dd
VS
13332010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
1334
1335 * fs/iso9660.c (grub_iso9660_iterate_dir): Strip version from joliet
1336 filename.
1337 Reported by: Georgy Buranov
1338
7dd05b96 13392010-02-20 Carles Pina i Estany <carles@pina.cat>
1340
1341 * util/grub-mkrawimage.c (usage): Change string formatting to
1342 improve gettext.
1343
d1484a42
MRA
13442010-02-20 Manoel Rebelo Abranches <mrabran@br.ibm.com>
1345
1346 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Add delete and
1347 backspace keys.
1348
42b1d186
VS
13492010-02-20 Vladimir Serbinenko <phcoder@gmail.com>
1350
1351 * video/fb/video_fb.c (grub_video_fb_scroll): Fix a pixel size bug.
1352 Reported by: Michael Suchanek.
1353
13542010-02-18 Samuel Thibault <samuel.thibault@ens-lyon.org>
0a39de87
ST
1355
1356 * util/grub-mkconfig.in: Export GRUB_INIT_TUNE.
1357 * util/grub.d/00_header.in: Handle GRUB_INIT_TUNE.
1358
d9f31a41
VS
13592010-02-16 Vladimir Serbinenko <phcoder@gmail.com>
1360
1361 Remove any reference to non-free fonts.
1362
1363 * commands/videotest.c (grub_cmd_videotest): Use unifont by default.
1364 * docs/gfxmenu-theme-example.txt: Removed. It's both outdated and
1365 uses non-free components.
1366 * font/font.c (grub_font_get_name): Remove example name.
1367 * gfxmenu/gui_label.c (grub_gui_label_new): Use unifont by default.
1368 * gfxmenu/gui_list.c (grub_gui_list_new): Likewise.
1369 * gfxmenu/gui_progress_bar.c (grub_gui_progress_bar_new): Likewise.
1370 * gfxmenu/view.c (grub_gfxmenu_view_new): Likewise.
1371
2793c71e
GB
13722010-02-16 Georgy Buranov <gburanov@gmail.com>
1373
1374 * disk/efi/efidisk.c (grub_efidisk_get_device_name): Fix a typo.
1375
402e3779
VS
13762010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
1377
1378 * term/serial.c (serial_get_divisor) [GRUB_MACHINE_MIPS_YEELOONG]:
1379 Double divisor.
1380 (serial_hw_init) [GRUB_MACHINE_MIPS_YEELOONG]: Don't enable advanced
1381 features.
1382 (GRUB_MOD_INIT) [GRUB_MACHINE_MIPS_YEELOONG]: Default to 115200.
1383
0dd1e0dd
VS
13842010-02-15 Vladimir Serbinenko <phcoder@gmail.com>
1385
1386 * gensymlist.sh.in: Use TARGET_CC instead of CC.
1387
6fa7cfce
ST
13882010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
1389
1390 * commands/i386/pc/play.c (GRUB_MOD_INIT(play)): Fix help.
1391 * docs/grub.texi (Command-line and menu entry commands): Document play
1392 command.
1393
37c8483b
ST
13942010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
1395
1396 * commands/i386/pc/play.c (grub_cmd_play): If grub_file_open fails,
1397 parse arguments as inline tempo and notes. Move code for playing notes
1398 to...
1399 (play): ... new function.
1400
14da0fb7
ST
14012010-02-14 Samuel Thibault <samuel.thibault@ens-lyon.org>
1402
1403 * commands/i386/pc/play.c (T_REST, T_FINE, struct note, beep_on): Use
1404 grub_uint16_t instead of short.
1405 (grub_cmd_play): Use grub_uint32_t instead of int, convert data from
1406 disk from little endian to cpu endianness.
1407
04459e70
ST
14082010-02-07 Samuel Thibault <samuel.thibault@ens-lyon.org>
1409
1410 * commands/i386/pc/play.c (BASE_TEMPO): Set to 60 *
1411 GRUB_TICKS_PER_SECOND instead of 120.
1412
a0876943
VS
14132010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
1414
1415 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Wait for possible
1416 escape sequence after \e.
1417
e29f95dc
VS
14182010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
1419
1420 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Don't output
1421 non-ASCII characters.
1422
d27859b2
VS
14232010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
1424
1425 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Enclose
1426 set root in single quotes to prevent \, from being unescaped.
1427
bc028f2f
VS
14282010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
1429
1430 Prevent unknown commands from stopping menuentry execution.
1431
1432 * script/execute.c (grub_script_execute_cmdline): Print error after
1433 unknown command.
1434
095f5f82
VS
14352010-02-14 Vladimir Serbinenko <phcoder@gmail.com>
1436
1437 * fs/i386/pc/pxe.c (GRUB_MOD_INIT): Fix typo.
1438 Reported by: Pavel Pisa.
1439
8c717950
VS
14402010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
1441
1442 * io/gzio.c (grub_gzio_open): Use grub_zalloc.
1443
904935c3
VS
14442010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
1445
1446 Merge grub_ieee1275_map_physical into grub_map and rename to
1447 grub_ieee1275_map
1448
1449 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_map): New proto.
1450 * include/grub/sparc64/ieee1275/ieee1275.h (grub_ieee1275_map_physical):
1451 Remove.
1452 * kern/ieee1275/openfw.c (grub_map): Rename to ...
1453 (grub_ieee1275_map): ... this. All users updated. Add phys_lo when
1454 necessary.
1455 * kern/sparc64/ieee1275/ieee1275.c (grub_ieee1275_map_physical): Remove.
1456
5b59a4e3
VS
14572010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
1458
1459 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Check device type before
1460 opening and not after.
1461
69e137e8
VS
14622010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
1463
1464 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Macroify
1465 constants.
1466
2c0fcc36
VS
14672010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
1468
1469 * loader/sparc64/ieee1275/linux.c (align_addr): Remove.
1470 (alloc_phys): Use ALIGN_UP instead of align_addr.
1471
8c6052ce
VS
14722010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
1473
1474 * loader/sparc64/ieee1275/linux.c (alloc_phys): Correct bounds checking.
1475
17cec782
VS
14762010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
1477
1478 * kern/sparc64/ieee1275/crt0.S (codestart): Move modules backwards.
1479
e0128bbd
VS
14802010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
1481
1482 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Remove excessively
1483 verbose dprintf.
1484
ca62070b
VS
14852010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
1486
1487 Fix over-4GiB seek on sparc64.
1488
1489 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_seek):
1490 Replace pos_i and pos_lo with pos. All users updated.
1491 * include/grub/powerpc/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
1492 New constant.
1493 * include/grub/sparc64/ieee1275/ieee1275.h (GRUB_IEEE1275_CELL_SIZEOF):
1494 Likewise.
1495 * kern/ieee1275/ieee1275.c (grub_ieee1275_seek): Split pos into pos_hi
1496 and pos_lo.
1497
bdca2607
VS
14982010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
1499
1500 * util/grub-mkrawimage.c (main): Call set_program_name.
1501
da278c4d
VS
15022010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
1503
1504 Properly align 64-bit targets.
1505
1506 * util/grub-mkrawimage.c (ALIGN_ADDR): New macro.
1507 (generate_image): Use ALIGN_ADDR.
1508
b274d734
VS
15092010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
1510
1511 Properly create cross-endian images.
1512
1513 * include/grub/types.h (grub_host_to_target_addr): New macro
1514 * util/grub-mkrawimage.c (generate_image): Add missing host_to_target.
1515
82da2062
VS
15162010-02-13 Vladimir Serbinenko <phcoder@gmail.com>
1517
1518 * util/grub-mkrawimage.c (generate_image): Add forgotten ALIGN_UP.
1519
7cae4377
VS
15202010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1521
1522 Pass SIMPLE framebuffer size in bytes and not 64K blocks.
1523
1524 * loader/i386/efi/linux.c (grub_linux_setup_video): Don't divide by 64K.
1525 * loader/i386/linux.c (grub_linux_setup_video): Likewise.
1526 (grub_linux_boot): Divide by 64K when on VESA.
1527
65a533e7
VS
15282010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1529
1530 Support GRUB_GFXPAYLOAD_LINUX.
1531
1532 * util/grub-mkconfig.in: Export GRUB_GFXPAYLOAD_LINUX.
1533 * util/grub.d/10_linux.in (linux_entry): Handle GRUB_GFXPAYLOAD_LINUX.
1534
dd01d397
VS
15352010-02-10 Vladimir Serbinenko <phcoder@gmail.com>
1536
1537 * script/execute.c (grub_script_execute_cmdline): Use grub_print_error
1538 to show messages instead of discarding them.
1539 Process errors after executing command and not before. Keep old method
1540 too as precaution.
1541
660960d6
VS
15422010-02-09 Vladimir Serbinenko <phcoder@gmail.com>
1543
1544 * configure.ac: Check for ft2build.h.
1545
62509f04
VS
15462010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1547
1548 * kern/ieee1275/openfw.c (grub_halt): Try executing "poweroff".
1549
473df63d
VS
15502010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1551
1552 * genkernsyms.sh.in: Use TARGET_CC.
1553
c98d2a13
CW
15542010-02-07 Colin Watson <cjwatson@ubuntu.com>
1555
1556 * NEWS: Update.
1557
6e14234c
VS
15582010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1559
1560 * include/grub/multiboot2.h: Remove leftover file.
e28e32ae
VS
1561 * include/grub/normal.h [GRUB_UTIL]: Remove leftover declarations.
1562 * include/grub/partition.h [GRUB_UTIL]: Likewise.
6e14234c 1563
b255e9cf
YB
15642010-02-07 Yves Blusseau <blusseau@zetam.org>
1565
6e14234c 1566 * gnulib/getdelim.c: add missing header (type ssize_t must be defined).
b255e9cf 1567
98e6959d
VS
15682010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1569
1570 Fix warnings in grub-emu when compiling with maximum warning options.
1571
1572 * util/grub-emu.c (ENABLE_RELOCATABLE): New definition.
1573 (grub_arch_modules_addr): Return 0 and not NULL.
1574 * util/misc.c (ENABLE_RELOCATABLE): New definition.
74e4934e 1575 (xstrdup): Use newstr instead of dup.
f88d801b
VS
1576 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Rename one instance
1577 of disk to dsk to avoid shadowing.
74e4934e
VS
1578 (find_free_slot): Fix prototype.
1579 * util/getroot.c (grub_util_is_dmraid): Make static.
1580 * include/grub/time.h (grub_get_rtc) [GRUB_MACHINE_EMU || GRUB_UTIL]:
1581 Add missing prototype.
1582 * util/sdl.c (grub_video_sdl_set_viewport): Remove.
98e6959d 1583
74e31b5c
VS
15842010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1585
1586 * loader/i386/linux.c (grub_linux_setup_video): Handle error
1587 appropriately.
1588
6b2ad14b
VS
15892010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1590
1591 * fs/reiserfs.c (grub_reiserfs_read): Use #if 0 instead of commenting
1592 code out.
1593
8f891adc
VS
15942010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1595
1596 * include/grub/cache.h (grub_arch_sync_caches) [i386 || x86_64]: Inline.
1597 * kern/i386/coreboot/init.c (grub_arch_sync_caches): Remove.
1598 * kern/i386/efi/init.c (grub_arch_sync_caches): Likewise.
1599 * kern/i386/ieee1275/init.c (grub_arch_sync_caches): Likewise.
1600 * kern/i386/pc/init.c (grub_arch_sync_caches): Likewise.
1601 * util/misc.c (grub_arch_sync_caches) [i386 || x86_64]: Likewise.
1602
74b45184
VS
16032010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1604
1605 * include/grub/err.h (grub_err_printf): Don't export.
1606
a4bced77
VS
16072010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1608
1609 * include/grub/dl.h (grub_dl_register_symbol): Don't export.
1610
007d0695
VS
16112010-02-07 Vladimir Serbinenko <phcoder@gmail.com>
1612
1613 * include/grub/i18n.h (grub_gettext_dummy): Removed.
1614 * kern/misc.c (grub_gettext_dummy): Make static.
1615
b6c0d9c2
VS
16162010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1617
1618 * kern/misc.c (grub_utf8_to_ucs4): Don't eat valid characters preceeded
1619 by non-valid ones.
1620 * kern/term.c (grub_putchar): Likewise.
1621
f51a90d0
VS
16222010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1623
1624 * partmap/sun.c (sun_partition_map_iterate): Restructure flow to fix
1625 buggy hook call and memory leak.
1626
6846cec5
VS
16272010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1628
1629 * commands/ls.c (grub_ls_list_files): Free pathname on exit.
1630
468d69fe
VS
16312010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1632
1633 * fs/fat.c (grub_fat_iterate_dir): Free unibuf at exit.
1634
51906b8c
VS
16352010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1636
1637 * loader/i386/pc/xnu.c (grub_xnu_set_video): Add const qualifier to
1638 modevar.
1639 Return grub_errno on allocation error.
1640
09706ce5
VS
16412010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1642
1643 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Correct error handling.
1644
911df80c
YB
16452010-02-06 Yves Blusseau <blusseau@zetam.org>
1646
1647 * conf/common.rmk (grub_script_check_SOURCES): add missing dependencies.
1648 (grub_mkpasswd_pbkdf2_SOURCES): Likewise.
1649
3746a6bc
VS
16502010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1651
1652 * fs/i386/pc/pxe.c (grub_pxefs_dir): Return with failure on
1653 non-pxe disk.
1654 (grub_pxefs_open): Likewise.
1655
09706ce5
VS
16562010-02-06 Robert Millan <rmh.grub@aybabtu.com>
1657
1658 * util/grub.d/10_hurd.in: Add --class information to menuentries.
1659 * util/grub.d/10_kfreebsd.in: Likewise.
1660 * util/grub.d/10_linux.in: Likewise.
1661
7cc192d9
VS
16622010-02-06 Colin D Bennett <colin@gibibit.com>
1663
1664 * conf/common.rmk (pkglib_MODULES): Add gfxmenu.mod.
1665 (gfxmenu_mod_SOURCES): New variable.
1666 (gfxmenu_mod_CFLAGS): Likewise.
1667 (gfxmenu_mod_LDFLAGS): Likewise.
1668 * include/grub/term.h (grub_term_set_current_output): Declare
1669 argument as const.
1670 * docs/gfxmenu-theme-example.txt: New file.
1671 * gfxmenu/gfxmenu.c: Likewise.
1672 * gfxmenu/gui_box.c: Likewise.
1673 * gfxmenu/gui_canvas.c: Likewise.
1674 * gfxmenu/gui_circular_progress.c: Likewise.
1675 * gfxmenu/gui_image.c: Likewise.
1676 * gfxmenu/gui_label.c: Likewise.
1677 * gfxmenu/gui_list.c: Likewise.
1678 * gfxmenu/gui_progress_bar.c: Likewise.
1679 * gfxmenu/gui_string_util.c: Likewise.
1680 * gfxmenu/gui_util.c: Likewise.
1681 * gfxmenu/icon_manager.c: Likewise.
1682 * gfxmenu/model.c: Likewise.
1683 * gfxmenu/named_colors.c: Likewise.
1684 * gfxmenu/theme_loader.c: Likewise.
1685 * gfxmenu/view.c: Likewise.
1686 * gfxmenu/widget-box.c: Likewise.
1687 * include/grub/gfxmenu_model.h: Likewise.
1688 * include/grub/gfxmenu_view.h: Likewise.
1689 * include/grub/gfxwidgets.h: Likewise.
1690 * include/grub/gui.h: Likewise.
1691 * include/grub/gui_string_util.h: Likewise.
1692 * include/grub/icon_manager.h: Likewise.
1693
16942010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1695
1696 Agglomerate scrolling in gfxterm.
1697
1698 * term/gfxterm.c (grub_virtual_screen): New member 'total_screen'.
1699 (grub_virtual_screen_setup): Initialise 'total_screen'.
1700 (write_char): Split to ...
1701 (paint_char): ... this ...
1702 (write_char): ... and this.
1703 (paint_char): Handle delayed scrolling.
1704 (draw_cursor): Likewise.
1705 (scroll_up): Split to ...
1706 (real_scroll): ... this ...
1707 (scroll_up): ... and this.
1708 (real_scroll): Handle multi-line scroll and draw below-the-bottom
1709 characters.
1710 (grub_gfxterm_refresh): Call real_scroll.
1711
17122010-02-06 Colin D Bennett <colin@gibibit.com>
1713
1714 * include/grub/misc.h (grub_iscntrl): New inline function.
1715 (grub_isalnum): Likewise.
1716 (grub_strtol): Likewise.
1717
17182010-02-06 Colin D Bennett <colin@gibibit.com>
1719
1720 * normal/menu_text.c (get_entry_number): Move from here ...
1721 * normal/menu.c (get_entry_number): ... moved here.
1722 * include/grub/menu.h (grub_menu_get_default_entry_index):
1723 New prototype.
1724 * normal/menu.c (grub_menu_get_default_entry_index): New function.
1725 * normal/menu_text.c (run_menu): Use grub_menu_get_default_entry_index.
1726 * include/grub/menu_viewer.h (grub_menu_viewer_init): New prototype.
1727 (grub_menu_viewer_should_return): Likewise.
1728 * normal/main.c (GRUB_MOD_INIT (normal)): Call grub_menu_viewer_init.
1729 * normal/menu_text.c (run_menu): Enable menu switching.
1730 * normal/menu_viewer.c (should_return): New variable.
1731 (menu_viewer_changed): Likewise.
1732 (grub_menu_viewer_show_menu): Handle menu viewer changes.
1733 (grub_menu_viewer_should_return): New function.
1734 (menuviewer_write_hook): Likewise.
1735 (grub_menu_viewer_init): Likewise.
1736
17372010-02-06 Colin D Bennet <colin@gibibit.com>
17382010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1739
1740 Support for gfxterm in a window.
1741
1742 * include/grub/gfxterm.h: New file.
1743 * include/grub/video.h (struct grub_video_rect): New declaration.
1744 (grub_video_rect_t): Likewise.
1745 * term/gfxterm.c (struct grub_gfxterm_window): New type.
1746 (refcount): New variable.
1747 (render_target): Likewise.
1748 (window): Likewise.
1749 (repaint_callback): Likewise.
1750 (grub_virtual_screen_setup): Use 'render_target'.
1751 (init_window): New function.
1752 (grub_gfxterm_init_window): Likewise.
1753 (grub_gfxterm_init): Check reference counter.
1754 Use init_window.
1755 (destroy_window): New function.
1756 (grub_gfxterm_destroy_window): Likewise.
1757 (grub_gfxterm_fini): Check reference counter.
1758 Use destroy_window.
1759 (redraw_screen_rect): Restore viewport.
1760 Use 'render_target' and 'window'.
1761 Call 'repaint_callback'.
1762 (write_char): Use 'render_target'.
1763 (draw_cursor): Likewise.
1764 (scroll_up): Restore viewport.
1765 Use 'render_target' and 'window'.
1766 Call 'repaint_callback'.
1767 (grub_gfxterm_cls): Likewise.
1768 (grub_gfxterm_refresh): Use 'window'.
1769 (grub_gfxterm_set_repaint_callback): New function.
1770 (grub_gfxterm_background_image_cmd): Use 'window'.
1771 (grub_gfxterm_get_term): New function.
1772 (GRUB_MOD_INIT(term_gfxterm)): Set 'refcount' to 0.
1773
17742010-02-06 Colin D Bennett <colin@gibibit.com>
1775
1776 Bitmap scaling support.
1777
1778 * conf/common.rmk (pkglib_MODULES): Add bitmap_scale.mod.
1779 (bitmap_scale_mod_SOURCES): New variable.
1780 (bitmap_scale_mod_CFLAGS): Likewise.
1781 (bitmap_scale_mod_LDFLAGS): Likewise.
1782 * include/grub/bitmap_scale.h: New file.
1783 * term/gfxterm.c (BACKGROUND_CMD_ARGINDEX_MODE): New definiton.
1784 (background_image_cmd_options): New variable.
1785 (grub_gfxterm_background_image_cmd): Support bitmap stretching.
1786 (cmd): Rename and change type to ...
1787 (background_image_cmd_handle): ... this. All users updated.
1788 (GRUB_MOD_INIT(term_gfxterm)): Make background_image extended command.
1789 * video/bitmap_scale.c: New file.
1790
17912010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1792
1793 SDL support.
1794
1795 * Makefile.in (LIBSDL): New variable.
1796 (enable_grub_emu_sdl): Likewise.
1797 * conf/i386-pc.rmk (grub_emu_SOURCES): Add video files.
1798 (grub_emu_SOURCES) [enable_grub_emu_sdl]: Add util/sdl.c.
1799 (grub_emu_LDFLAGS) [enable_grub_emu_sdl]: Add $(LIBSDL).
1800 * configure.ac: Detect SDL availability and add --enable-grub-emu-sdl
1801 * util/sdl.c: New file.
1802
18032010-02-06 Colin D Bennett <colin@gibibit.com>
18042010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1805
1806 Double buffering support.
1807
1808 * commands/i386/pc/videotest.c (grub_cmd_videotest): Swap doublebuffers.
1809 * include/grub/video.h: Update comment.
1810 * include/grub/video_fb.h (grub_video_fb_doublebuf_update_screen_t):
1811 New type.
1812 (grub_video_fb_doublebuf_blit_init): New prototype.
1813 * term/gfxterm.c (scroll_up): Support double buffering.
1814 (grub_gfxterm_refresh): Likewise.
1815 * video/fb/video_fb.c (doublebuf_blit_update_screen): New function.
1816 (grub_video_fb_doublebuf_blit_init): Likewise.
1817 * video/i386/pc/vbe.c (framebuffer): Remove 'render_target'. Add
1818 'front_target', 'back_target', 'offscreen_buffer', 'page_size',
1819 'displayed_page', 'render_page' and 'update_screen'.
1820 (grub_video_vbe_fini): Free offscreen buffer.
1821 (doublebuf_pageflipping_commit): New function.
1822 (doublebuf_pageflipping_update_screen): Likewise.
1823 (doublebuf_pageflipping_init): Likewise.
1824 (double_buffering_init): Likewise.
1825 (grub_video_vbe_setup): Enable doublebuffering.
1826 (grub_video_vbe_swap_buffers): Implement.
1827 (grub_video_vbe_set_active_render_target): Handle double buffering.
1828 (grub_video_vbe_get_active_render_target): Likewise.
1829 (grub_video_vbe_get_info_and_fini): Likewise. Free offscreen_buffer.
1830 (grub_video_vbe_adapter): Use grub_video_vbe_get_active_render_target.
1831 (grub_video_vbe_enable_double_buffering): Likewise.
1832 (grub_video_vbe_swap_buffers): Use update_screen.
1833 (grub_video_set_mode): Use double buffering.
1834
18352010-02-06 Robert Millan <rmh.grub@aybabtu.com>
1836
1837 * maintainance/gentrigtables.py: Remove.
1838 * lib/trig.c: Likewise.
1839
1840 * gentrigtables.c: New file. C rewrite of gentrigtables.py.
1841
1842 * conf/common.rmk (trig_mod_SOURCES): Replace `lib/trig.c' with
1843 `trigtables.c'.
1844 (trigtables.c): New rule.
1845 (gentrigtables): Likewise.
1846 (DISTCLEANFILES): Add `trigtables.c' and `gentrigtables'.
1847
18482010-02-06 Robert Millan <rmh.grub@aybabtu.com>
1849
1850 * maintainance/gentrigtables.py: Avoid duplicate hardcoding of
1851 integer constants.
1852
18532010-02-06 Colin D Bennet <colin@gibibit.com>
1854
1855 Trigonometry support.
1856
1857 * include/grub/trig.h: New file.
1858 * lib/trig.c: Likewise.
1859 * maintainance/gentrigtables.py: Likewise.
1860 * conf/common.rmk (pkglib_MODULES): Add trig.mod.
1861 (trig_mod_SOURCES): New variable.
1862 (trig_mod_CFLAGS): Likewise.
1863 (trig_mod_LDFLAGS): Likewise.
1864
5562834e
VS
18652010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1866
1867 * kern/ieee1275/openfw.c (grub_ieee1275_encode_devname): Support whole
1868 disk devices.
1869
4f8528fc
VS
18702010-02-06 Vladimir Serbinenko <phcoder@gmail.com>
1871
1872 * kern/ieee1275/openfw.c (grub_devalias_iterate): Stop iterating on
1873 error.
1874
2b4068e9
VS
18752010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1876
1877 * util/hostdisk.c (open_device): Don't use partition device when reading
1878 before the partition.
1879 (grub_util_biosdisk_read): Don't read from partition and before the
1880 partition in single operation.
1881 (grub_util_biosdisk_write): Don't write to partition and before the
1882 partition in single operation.
1883
399f6e4d
TL
18842010-02-03 Torsten Landschoff <torsten@debian.org>
1885
1886 * kern/disk.c (grub_disk_read): Fix offset computation when reading
1887 last sectors.
1888
996649b0
VS
18892010-02-03 Vladimir Serbinenko <phcoder@gmail.com>
1890
1891 * disk/i386/pc/biosdisk.c (grub_biosdisk_read): Handle non-2048 aligned
1892 CDROM reads.
1893 (grub_biosdisk_write): Refuse to write to CDROM.
1894
3b205d4d
VS
18952010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1896
1897 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Fix off-by-one error.
1898
61e89d9d
VS
18992010-01-31 Vladimir Serbinenko <phcoder@gmail.com>
1900
1901 * font/font.c (find_glyph): Check that bmp_idx is available before
1902 using it.
1903 (grub_font_get_string_width): Never call grub_font_get_glyph_internal
1904 with (font == NULL).
1905
bf7fcba2
CS
19062010-01-28 Christian Schmitt <chris@ilovelinux.de>
1907
1908 * util/ieee1275/grub-install.in: Fix nvsetenv arguments.
1909
f45d2663
BC
19102010-01-28 BVK Chaitanya <bvk.groups@gmail.com>
1911
1912 * include/grub/script_sh.h (sourcecode): Add const qualifier.
1913 * util/grub-script-check.c (getline): Fix empty lines case.
1914
ec1444e6
RM
19152010-01-28 Robert Millan <rmh.grub@aybabtu.com>
1916
1917 * Makefile.in (check): Exit with fail status when one of the tests
1918 fails.
1919 * tests/example_functional_test.c (example_test): Fix reversed assert.
1920 * tests/example_unit_test.c (example_test): Likewise.
1921
2e1cb9bb
CW
19222010-01-28 Colin Watson <cjwatson@ubuntu.com>
1923
1924 * util/grub.d/10_linux.in: This script does not use any of the
1925 contents of gettext.sh, only the external command `gettext', so stop
1926 sourcing it. (Moreover, gettext.sh isn't necessarily installed in
1927 the same prefix as GRUB.)
1928 * util/grub.d/10_kfreebsd.in: Likewise.
1929
63533ab0
VS
19302010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1931
1932 * normal/cmdline.c (grub_cmdline_get): Fix completion in the middle
1933 of the line.
1934
989e1f93
VS
19352010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1936
1937 * kern/disk.c (grub_disk_read): Fix offset computation when reading
1938 last sectors.
1939
e709ebe2
VS
19402010-01-27 Vladimir Serbinenko <phcoder@gmail.com>
1941
1942 * commands/hashsum.c (hash_file): Avoid possible stack overflow by
1943 having a 4KiB and not 32KiB buffer size.
1944
27dea7ed
RM
19452010-01-27 Robert Millan <rmh.grub@aybabtu.com>
1946
1947 * util/hostfs.c: Include `<errno.h>'.
1948 (grub_hostfs_read): Handle errors from fseeko() and fread().
1949
67667b9c
RM
19502010-01-27 Robert Millan <rmh.grub@aybabtu.com>
1951
1952 * kern/disk.c (grub_disk_read): Fix bug that would cause infinite
1953 loop when using read hooks on files whose size isn't sector-aligned.
1954
c294d9d8
RM
19552010-01-27 Robert Millan <rmh.grub@aybabtu.com>
1956
1957 Remove unused parameter.
1958
1959 * fs/iso9660.c (struct grub_iso9660_data): Remove `length' parameter.
1960 (grub_iso9660_open): Remove initialization of `data->length'.
1961
af75a9f1
RM
19622010-01-27 Robert Millan <rmh.grub@aybabtu.com>
1963
1964 * util/grub-fstest.c (fstest): Rewrite allocation, fixing a few
1965 memleak conditions.
1966
254e2ce5 19672010-01-27 Carles Pina i Estany <carles@pina.cat>
1968
1969 * util/lvm.c: New macro LVM_DEV_MAPPER_STRING.
1970 (grub_util_lvm_isvolume): Use LVM_DEV_MAPPER_STRING.
1971
b510928c 19722010-01-26 Carles Pina i Estany <carles@pina.cat>
1973
1974 * util/bin2h.c (usage): Fix warning (space after backslash).
1975
aa2f9dd2 19762010-01-26 Carles Pina i Estany <carles@pina.cat>
de0b7a4e 1977
1978 * font/font.c: Include `grub/fontformat.h.
1979 Remove font file format constants.
1980 (grub_font_load): Use the new macros.
1981 * include/grub/fontformat.h: New file.
1982 * util/grub-mkfont.c: Include `grub/fontformat.c'.
1983 (write_font_pf2): Use the new macros.
1984
94e7e712
RM
19852010-01-26 Robert Millan <rmh.grub@aybabtu.com>
1986
1987 * util/bin2h.c (usage): Make --help actually explain what `grub-bin2h'
1988 does.
1989
3973a59a
RM
19902010-01-26 Robert Millan <rmh.grub@aybabtu.com>
1991
1992 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_PXE_DL): New macro.
1993
1994 * boot/i386/pc/pxeboot.S: Include `<grub/machine/boot.h>'.
1995 (_start): Macroify `0x7F'.
1996
1997 * kern/i386/pc/init.c: Include `<grub/machine/boot.h>'.
1998 (make_install_device): Use "(pxe)" as fallback prefix when booting
1999 via PXE.
2000
42e0cba3
GS
20012010-01-26 Vladimir Serbinenko <phcoder@gmail.com>
2002
2003 * configure.ac: Reset LIBS after check for libgcc symbols.
2004
847effd8
CW
20052010-01-25 Colin Watson <cjwatson@ubuntu.com>
2006
2007 * util/hostdisk.c (open_device): Add trailing newline to debug
2008 message.
2009
ea4a7e35
GS
20102010-01-25 Grégoire Sutre <gregoire.sutre@gmail.com>
2011
2012 * configure.ac: Check for `limits.h'.
2013 * util/misc.c: Include `<limits.h>' (for PATH_MAX).
2014
67951a53
RM
20152010-01-24 Robert Millan <rmh.grub@aybabtu.com>
2016
2017 * loader/mips/linux.c (grub_cmd_linux, grub_cmd_initrd): Don't
2018 capitalize error strings.
2019
c273d4ce
ST
20202010-01-24 Samuel Thibault <samuel.thibault@ens-lyon.org>
2021
2022 * util/grub.d/10_hurd.in: Add a recovery mode.
2023
69be5b74
VS
20242010-01-23 Vladimir Serbinenko <phcoder@gmail.com>
2025
2026 * configure.ac: Check for libgcc symbols with -nostdlib.
2027
fc9e5810
BC
20282010-01-23 BVK Chaitanya <bvk.groups@gmail.com>
2029
2030 * acinclude.m4: Quote underquoted AC_DEFUN parameters.
2031
4b358c0a
VS
20322010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
2033
2034 * term/ieee1275/ofconsole.c (grub_ofconsole_setcolorstate): Allocate on
2035 stack since heap may be unavailable at that point.
2036 (grub_ofconsole_gotoxy): Likewise.
2037
454fcd1c
VS
20382010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
2039
2040 * configure.ac: Check for _restgpr_14_x.
2041 * include/grub/powerpc/libgcc.h [HAVE__RESTGPR_14_X]: Add _restgpr_*_x
2042 and _savegpr_* prototypes.
2043
566863ca
RM
20442010-01-22 Robert Millan <rmh.grub@aybabtu.com>
2045
2046 Use generic grub_reboot() for i386-efi.
2047
2048 * kern/efi/efi.c [__i386__] (grub_reboot): Remove.
2049 * kern/i386/efi/startup.S: Include `"../realmode.S"'.
2050 * kern/i386/realmode.S: Include `<grub/i386/pc/memory.h>'.
2051
bf86e59a
VS
20522010-01-22 Vladimir Serbinenko <phcoder@gmail.com>
2053
2054 * kern/ieee1275/init.c (grub_machine_set_prefix): Don't check for
2055 presence of "prefix" variable as it breaks when normal.mod is
2056 embedded.
2057
d645e0f8
VS
20582010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2059
2060 * term/ieee1275/ofconsole.c (grub_ofconsole_dimensions): Allocate on
2061 stack since heap is unavailable at that point.
2062
f9ab2e25
VS
20632010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2064
2065 * include/grub/i386/bsd.h (FREEBSD_N_BIOS_GEOM): Removed.
2066 (grub_freebsd_bootinfo): Rewritten.
2067 * loader/i386/bsd.c (grub_freebsd_boot): Use new grub_freebsd_bootinfo.
2068
01fc7054
VS
20692010-01-21 Vladimir Serbinenko <phcoder@gmail.com>
2070
2071 * util/misc.c (make_system_path_relative_to_its_root): Fix typo.
2072
caab4fd6
RM
20732010-01-21 Robert Millan <rmh.grub@aybabtu.com>
2074
2075 * po/POTFILES: Remove mkisofs-related files. They have their own TLP
2076 domain now.
2077
67eb1427
FZ
20782010-01-20 Felix Zielcke <fzielcke@z-51.de>
2079
2080 * util/misc.c (make_system_path_relative_to_its_root): Change the work
2081 around for handling "/" to the correct fix. Fix a memory leak. Use
2082 xstrdup instead of strdup.
2083
a9ed4ff3
VS
20842010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2085
2086 * conf/mips.rmk (kernel_img_HEADERS): Add env_private.h
2087
20882010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
bed35bda
VS
2089
2090 Optimise glyph lookup by Basic Multilingual Plane lookup array.
2091
2092 * font/font.c (struct grub_font): New member 'bmp_idx'.
2093 (font_init): Initialise 'bmp_idx'.
2094 (load_font_index): Fill 'bmp_idx'.
2095 (find_glyph): Make inline. Use bmp_idx for BMP characters.
2096
48209f4f
VS
20972010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2098
2099 * video/fb/video_fb.c (grub_video_fb_scroll): Optimise by avoiding
2100 unnecessary calls.
2101
9f0a4bb7
VS
21022010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2103
2104 Move context handling out of the kernel.
2105
2106 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/context.c.
2107 * conf/common.rmk (normal_mod_SOURCES): Add normal/context.c.
2108 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add env_private.h.
2109 * conf/i386-efi.rmk: Likewise.
2110 * conf/i386-ieee1275.rmk: Likewise.
2111 * conf/i386-pc.rmk: Likewise.
2112 * conf/powerpc-ieee1275.rmk: Likewise.
2113 * conf/sparc64-ieee1275.rmk: Likewise.
2114 * conf/x86_64-efi.rmk: Likewise.
2115 * include/grub/env.h: Include grub/menu.h.
2116 (grub_env_var_type): Removed.
2117 (grub_env_var): Replaced field 'type' with 'global'.
2118 (grub_env_find): New prototype.
2119 (grub_env_context_open): Remove EXPORT_FUNC.
2120 (grub_env_context_close): Likewise.
2121 (grub_env_export): Likewise.
2122 (grub_env_set_data_slot): Removed.
2123 (grub_env_get_data_slot): Likewise.
2124 (grub_env_unset_data_slot): Likewise.
2125 (grub_env_unset_menu): New prototype.
2126 (grub_env_set_menu): Likewise.
2127 (grub_env_get_menu): Likewise.
2128 * include/grub/env_private.h: New file.
2129 * include/grub/normal.h (grub_context_init): New prototype.
2130 (grub_context_fini): Likewise.
2131 * kern/corecmd.c (grub_core_cmd_export): Moved from here ...
2132 * normal/context.c (grub_cmd_export): ... to here.
2133 * kern/env.c: Include env_private.h.
2134 (HASHSZ): Moved to include/grub/env_private.h.
2135 (grub_env_context): Likewise.
2136 (grub_env_sorted_var): Likewise.
2137 (current_context): Renamed from this ...
2138 (grub_current_context): ...to this. 'static' removed. All users updated.
2139 (grub_env_find): Removed 'static'.
2140 (grub_env_context_open): Moved to normal/context.c.
2141 (grub_env_context_close): Likewise.
2142 (grub_env_export): Likewise.
2143 (mangle_data_slot_name): Removed.
2144 (grub_env_set_data_slot): Likewise.
2145 (grub_env_get_data_slot): Likewise.
2146 (grub_env_unset_data_slot): Likewise.
2147 * kern/main.c (grub_set_root_dev): Don't export root.
2148 It will be done later.
2149 (grub_main): Don't export prefix.
2150 It will be done later.
2151 * normal/context.c: New file.
2152 * normal/main.c (free_menu): Use grub_env_unset_menu.
2153 (grub_normal_add_menu_entry): Use grub_env_get_menu.
2154 (read_config_file): Use grub_env_get_menu and grub_env_set_menu.
2155 (GRUB_MOD_INIT(normal)): Call grub_context_init.
2156 (GRUB_MOD_FINI(normal)): Call grub_context_fini.
2157
8dd35b8c
VS
21582010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2159
2160 setpci support.
2161
2162 * commands/setpci.c: New file.
2163 * conf/i386.rmk (pkglib_MODULES): Add setpci.mod.
2164 (setpci_mod_SOURCES): New variable.
2165 (setpci_mod_CFLAGS): Likewise.
2166 (setpci_mod_LDFLAGS): Likewise.
2167
449193d5
VS
21682010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2169
2170 Byte-addressable PCI configuration space.
2171
2172 * bus/pci.c (grub_pci_make_address): Use byte address instead of
2173 dword address.
2174 (grub_pci_iterate): Use macroses GRUB_PCI_REG_PCI_ID and
2175 GRUB_PCI_REG_CACHELINE.
2176 * bus/usb/ohci.c (grub_ohci_pci_iter): Use macroses
2177 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG0.
2178 * bus/usb/uhci.c (grub_ohci_pci_iter): Use macroses
2179 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESS_REG4.
2180 * commands/efi/fixvideo.c (scan_card): Use macros GRUB_PCI_REG_CLASS.
2181 * commands/efi/loadbios.c (enable_rom_area): Pass byte-address to
2182 grub_pci_make_address.
2183 (lock_rom_area): Likewise.
2184 * commands/lspci.c (grub_lspci_iter): Use macroses
2185 GRUB_PCI_REG_CLASS and GRUB_PCI_REG_ADDRESSES. Handle byte-addressing
2186 of grub_pci_make_address.
2187 * disk/ata.c (grub_ata_pciinit): Likewise.
2188 * include/grub/pci.h (GRUB_PCI_REG_PCI_ID): New macro.
2189 (GRUB_PCI_REG_VENDOR): Likewise.
2190 (GRUB_PCI_REG_DEVICE): Likewise.
2191 (GRUB_PCI_REG_COMMAND): Likewise.
2192 (GRUB_PCI_REG_STATUS): Likewise.
2193 (GRUB_PCI_REG_REVISION): Likewise.
2194 (GRUB_PCI_REG_CLASS): Likewise.
2195 (GRUB_PCI_REG_CACHELINE): Likewise.
2196 (GRUB_PCI_REG_LAT_TIMER): Likewise.
2197 (GRUB_PCI_REG_HEADER_TYPE): Likewise.
2198 (GRUB_PCI_REG_BIST): Likewise.
2199 (GRUB_PCI_REG_ADDRESSES): Likewise.
2200 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
2201 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
2202 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
2203 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
2204 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
2205 (GRUB_PCI_REG_ADDRESS_REG): Likewise.
2206 (GRUB_PCI_REG_CIS_POINTER): Likewise.
2207 (GRUB_PCI_REG_SUBVENDOR): Likewise.
2208 (GRUB_PCI_REG_SUBSYSTEM): Likewise.
2209 (GRUB_PCI_REG_ROM_ADDRESS): Likewise.
2210 (GRUB_PCI_REG_CAP_POINTER): Likewise.
2211 (GRUB_PCI_REG_IRQ_LINE): Likewise.
2212 (GRUB_PCI_REG_IRQ_PIN): Likewise.
2213 (GRUB_PCI_REG_MIN_GNT): Likewise.
2214 (GRUB_PCI_REG_MAX_LAT): Likewise.
2215 * loader/i386/efi/linux.c (find_framebuf): Use GRUB_PCI_REG_CLASS.
2216 * loader/i386/efi/xnu.c (find_framebuf): Likewise.
2217 * video/efi_uga.c (find_framebuf): Likewise.
fdb1b2ea 2218 * video/sm712.c (grub_video_sm712_setup): Likewise.
449193d5
VS
2219 * util/pci.c (grub_pci_make_address): Use byte-addressed configuration
2220 space.
2221
96d73208
RM
22222010-01-20 Robert Millan <rmh.grub@aybabtu.com>
2223
2224 * util/grub.d/10_linux.in (linux_entry): Set gfxpayload=keep when it
2225 can be reliably determined to be supported.
2226
d4484482
RM
22272010-01-20 Robert Millan <rmh.grub@aybabtu.com>
2228
2229 * loader/i386/linux.c (grub_cmd_linux): If `vga=' was used, write down
2230 that VESA is supported.
2231 (grub_linux_boot): Use generic framebuffer unless VESA is known to be
2232 supported.
2233
00308ecf
VS
22342010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2235
2236 * conf/common.rmk (font/font.c_DEPENDENCIES): Condition on FONT_SOURCE.
2237
f66924a4
RM
22382010-01-20 Robert Millan <rmh.grub@aybabtu.com>
2239
2240 * util/misc.c (make_system_path_relative_to_its_root): Work around
2241 special-casing of "/", as previous incarnation of this routine did.
2242
cbca0ada
VS
22432010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2244
2245 Fix any-emu compilation.
2246
2247 * conf/any-emu.rmk (bin_UTILITIES): Add grub-bin2h.
2248 * grub_bin2h_SOURCES: New variable.
2249
34a66d99
RM
22502010-01-20 Robert Millan <rmh.grub@aybabtu.com>
2251
2252 * util/grub.d/00_header.in: Fix stupid mistake from last commit.
2253
94fabf58
RM
22542010-01-20 Robert Millan <rmh.grub@aybabtu.com>
2255
2256 * util/grub.d/00_header.in: Fix handling of locale_dir.
2257
02cf98ca
VS
22582010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2259
2260 * configure.ac: Add /usr/share/fonts/unifont/unifont.pcf.gz
2261 as possible unifont location (Gentoo).
2262 Reported by: Alexander Brüning
2263
327dbcd7
VS
22642010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2265
2266 Don't try to generate lists for kernel.img.
2267
2268 * conf/i386-efi.rmk (pkglib_PROGRAMS): New variable.
2269 (pkglib_MODULES): Remove kernel.img.
2270 (kernel_img_EXPORTS): Removed.
2271 (kernel_img_RELOCATABLE): New variable.
2272 * conf/x86_64-efi.rmk: Likewise.
2273 * genmk.rb: Remove *_EXPORTS support and add *_RELOCATABLE support.
2274
ca467290
VS
22752010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2276
2277 * include/grub/misc.h (grub_sprintf): Removed. All users switched to
2278 grub_xasprintf or grub_snprintf.
2279 (grub_vsprintf): Likewise.
2280 (grub_snprintf): New proto.
2281 (grub_vsnprintf): Likewise.
2282 (grub_xasprintf): Likewise.
2283 (grub_xvasprintf): Likewise.
2284 * kern/misc.c (grub_vprintf): Use grub_vsnprintf_real.
2285 (grub_sprintf): Removed.
2286 (grub_vsnprintf): New function.
2287 (grub_snprintf): Likewise.
2288 (grub_xvasprintf): Likewise.
2289 (grub_xasprintf): Likewise.
2290 (grub_vsprintf): Renamed to ...
2291 (grub_vsnprintf_real): ...this. New argument max_len.
2292
aca655fd
BC
22932010-01-20 BVK Chaitanya <bvk.groups@gmail.com>
2294
2295 * include/grub/script_sh.h (sourcecode): Remove const qualifier to
2296 fix grub-script-check warning.
2297
7ee92c32
VS
22982010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2299
2300 * include/grub/font.h (grub_font_load): Fix prototype.
2301
f80927ca
VS
23022010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2303
2304 * conf/mips.rmk (kernel_img_HEADERS) [yeeloong]: Add pci.h.
2305
119c50ea
VS
23062010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2307
2308 * include/grub/x86_64/at_keyboard.h: New file.
2309
47d5f3c1
VS
23102010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2311
2312 * loader/mips/linux.c: Include missing grub/i18n.h.
2313
55ff5266
RM
23142009-12-20 Robert Millan <rmh.grub@aybabtu.com>
2315
2316 * normal/menu.c (notify_execution_failure): Clarify error message.
2317
c893cc87
RM
23182009-12-20 Robert Millan <rmh.grub@aybabtu.com>
2319
2320 * commands/loadenv.c (check_blocklists): Use `grub_err_t' as
2321 return value (and revert all return statements). Update users.
2322
917dd370
CW
23232010-01-20 Dan Merillat <debian@dan.merillat.org>
2324
2325 * kern/device.c (grub_device_iterate): Allocate new part_ent
2326 structure based on sizeof (*p) rather than sizeof (p->next), to
2327 account for structure padding.
2328
2329 * util/grub-probe.c (probe_raid_level): Return -1 immediately if
2330 disk is NULL, which might happen for LVM physical volumes with no
2331 LVM signature.
2332
d4a4ee57
RM
23332009-12-20 Robert Millan <rmh.grub@aybabtu.com>
2334
2335 * loader/mips/linux.c (grub_cmd_initrd)
2336 (GRUB_MOD_INIT(linux)): Adjust and gettextize a few strings.
2337
23382009-12-20 Robert Millan <rmh.grub@aybabtu.com>
2339
2340 * kern/mips/yeeloong/init.c (grub_video_sm712_init)
2341 (grub_video_video_init, grub_video_bitmap_init)
2342 (grub_font_manager_init, grub_term_gfxterm_init)
2343 (grub_at_keyboard_init): New extern declarations.
2344 (grub_machine_init): Initialize gfxterm and at_keyboard.
2345
2346 * kern/main.c (grub_main): Revert grub_printf delay kludge.
2347
2348 * util/grub-install.in: Revert embed of `at_keyboard.mod' and
2349 `gfxterm.mod' into core image.
2350
2351 * conf/mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
2352 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
2353 (kernel_img_FORMAT): Copy to ...
2354
2355 * conf/mips-qemu-mips.rmk (pkglib_IMAGES, kernel_img_SOURCES)
2356 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
2357 (kernel_img_FORMAT): ... here, and ...
2358
2359 * conf/mips-yeeloong.rmk (pkglib_IMAGES, kernel_img_SOURCES)
2360 (kernel_img_CFLAGS, kernel_img_ASFLAGS, kernel_img_LDFLAGS)
2361 (kernel_img_FORMAT): ... here.
2362
2363 (kernel_img_SOURCES): Add files necessary for output (gfxterm)
2364 and input (at_keyboard) terminals in kernel.
2365 (kernel_img_CFLAGS): Add `-DUSE_ASCII_FAILBACK'.
2366
2367 (pkglib_MODULES): Remove `pci.mod'.
2368 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS)
2369 (sm712_mod_SOURCES, sm712_mod_CFLAGS, sm712_mod_LDFLAGS)
2370 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
2371 (at_keyboard_mod_LDFLAGS): Remove variables.
2372
23732010-01-11 Felix Zielcke <fzielcke@z-51.de>
2374
2375 * po/POTFILES: Replace `term/i386/pc/serial.c' with `term/serial.c'.
2376
23772009-12-10 Robert Millan <rmh.grub@aybabtu.com>
2378
2379 * include/grub/mips/libgcc.h: Only export symbols for functions
2380 that libgcc provides.
2381
23822009-12-02 Vladimir Serbinenko <phcoder@gmail.com>
2383
2384 MIPS support.
2385
2386 * bus/bonito.c: New file.
2387 * bus/pci.c (grub_pci_iterate): Use GRUB_PCI_NUM_BUS and
2388 GRUB_PCI_NUM_DEVICES.
2389 * term/i386/pc/serial.c: Move to ...
2390 * term/serial.c: ... here. All users updated.
2391 * util/i386/pc/grub-mkimage.c: Move to ...
2392 * util/grub-mkrawimage.c: ... here. All users updated.
2393 * term/i386/pc/at_keyboard.c: Move to ...
2394 * term/at_keyboard.c: ... here. All users updated.
2395 * conf/mips-qemu-mips.rmk: New file.
2396 * conf/mips-yeeloong.rmk: Likewise.
2397 * conf/mips.rmk: Likewise.
2398 * configure.ac: New platforms mipsel-yeeloong, mips-qemu-mips and
2399 mipsel-qemu-mips.
2400 * disk/ata.c (grub_ata_device_initialize): Add GRUB_MACHINE_PCI_IO_BASE
2401 to port addresses.
2402 (grub_ata_pciinit): Support CS5536.
2403 * font/font.c (grub_font_load): Use grub_file_t instead of filename.
2404 * font/font_cmd.c (loadfont_command): Open file before passing it to
2405 grub_font_load.
2406 (pseudo_file_read): New function.
2407 (pseudo_file_close): Likewise.
2408 (pseudo_fs): New structure.
2409 (load_font_module): New function.
2410 (GRUB_MOD_INIT(font_manager)): Load embedded font.
2411 * fs/cpio.c (grub_cpio_open): Handle partial matches correctly.
2412 * genmk.rb: Strip .rel.dyn, .reginfo, .note and .comment.
2413 * genmoddep.awk: Ignore __gnu_local_gp. It's defined by linker.
2414 * include/grub/i386/at_keyboard.h: Split into ...
2415 * include/grub/at_keyboard.h: ... this ...
2416 * include/grub/i386/at_keyboard.h: ... and this.
2417 * include/grub/dl.h (grub_arch_dl_init_linker) [_mips && !GRUB_UTIL]:
2418 New prototype.
2419 * include/grub/elfload.h (grub_elf32_size): New parameter. All users
2420 updated.
2421 (grub_elf64_size): Likewise.
2422 * include/grub/font.h (grub_font_load): Use grub_file_t instead of
2423 filename.
2424 * include/grub/i386/io.h (grub_port_t): New type. All users updated.
2425 * include/grub/i386/coreboot/serial.h: Rewritten.
2426 * include/grub/i386/ieee1275/serial.h: Include
2427 grub/i386/coreboot/serial.h instead of grub/i386/pc/serial.h.
2428 * include/grub/i386/pc/serial.h: Moved from here ...
2429 * include/grub/serial.h: ... to here. All users updated.
2430 * include/grub/i386/pci.h (GRUB_MACHINE_PCI_IO_BASE): New definition.
2431 (GRUB_PCI_NUM_BUS): Likewise.
2432 (GRUB_PCI_NUM_DEVICES): Likewise.
2433 (grub_pci_device_map_range): Add missing volatile keyword.
2434 * include/grub/kernel.h (OBJ_TYPE_FONT): New enum value.
2435 * include/grub/mips/at_keyboard.h: New file.
2436 * include/grub/mips/cache.h: Likewise.
2437 * include/grub/mips/io.h: Likewise.
2438 * include/grub/mips/kernel.h: Likewise.
2439 * include/grub/mips/libgcc.h: Likewise.
2440 * include/grub/mips/pci.h: Likewise.
2441 * include/grub/mips/qemu-mips/boot.h: Likewise.
2442 * include/grub/mips/qemu-mips/kernel.h: Likewise.
2443 * include/grub/mips/qemu-mips/loader.h: Likewise.
2444 * include/grub/mips/qemu-mips/memory.h: Likewise.
2445 * include/grub/mips/qemu-mips/serial.h: Likewise.
2446 * include/grub/mips/qemu-mips/time.h: Likewise.
2447 * include/grub/mips/relocator.h: Likewise.
2448 * include/grub/mips/time.h: Likewise.
2449 * include/grub/mips/types.h: Likewise.
2450 * include/grub/mips/yeeloong/at_keyboard.h: Likewise.
2451 * include/grub/mips/yeeloong/boot.h: Likewise.
2452 * include/grub/mips/yeeloong/kernel.h: Likewise.
2453 * include/grub/mips/yeeloong/loader.h: Likewise.
2454 * include/grub/mips/yeeloong/memory.h: Likewise.
2455 * include/grub/mips/yeeloong/pci.h: Likewise.
2456 * include/grub/mips/yeeloong/serial.h: Likewise.
2457 * include/grub/mips/yeeloong/time.h: Likewise.
2458 * kern/dl.c (grub_dl_resolve_symbols): Handle STT_OBJECT correctly.
2459 * kern/elf.c (grub_elf32_size): New parameter. All users
2460 updated.
2461 (grub_elf64_size): Likewise.
2462 * kern/main.c (grub_main): Call grub_arch_dl_init_linker if necessary.
2463 Load modules before saying "Welcome to GRUB!".
2464 Call grub_refresh after saying "Welcome to GRUB!".
2465 * kern/mips/cache.S: New file.
2466 * kern/mips/cache_flush.S: Likewise.
2467 * kern/mips/dl.c: Likewise.
2468 * kern/mips/init.c: Likewise.
2469 * kern/mips/qemu-mips/init.c: Likewise.
2470 * kern/mips/startup.S: Likewise.
2471 * kern/mips/yeeloong/init.c: Likewise.
2472 * kern/term.c (grub_putcode): Handle NULL terminal.
2473 (grub_getcharwidth): Likewise.
2474 (grub_getkey): Likewise.
2475 (grub_checkkey): Likewise.
2476 (grub_getkeystatus): Likewise.
2477 (grub_getxy): Likewise.
2478 (grub_getwh): Likewise.
2479 (grub_gotoxy): Likewise.
2480 (grub_cls): Likewise.
2481 (grub_setcolorstate): Likewise.
2482 (grub_setcolor): Likewise.
2483 (grub_getcolor): Likewise.
2484 (grub_refresh): Likewise.
2485 * lib/mips/relocator.c (JUMP_SIZEOF): Fix incorrect value.
2486 (write_jump): Add hatch nop.
2487 * lib/mips/relocator_asm.S: Use kern/mips/cache_flush.S.
2488 * lib/mips/setjmp.S: New file.
2489 * loader/mips/linux.c: Likewise.
2490 * term/i386/pc/at_keyboard.c: Move from here ...
2491 * term/at_keyboard.c: ... to here.
2492 * term/i386/pc/serial.c: Moved from here ...
2493 * term/serial.c: ... to here. All users updated.
2494 (TEXT_HEIGHT): Set to 24 to fit linux terminal.
2495 (serial_hw_io_addr): Use GRUB_MACHINE_SERIAL_PORTS.
2496 (serial_translate_key_sequence): Avoid deadlock.
2497 (grub_serial_getkey): Handle backspace.
2498 (grub_serial_putchar): Fix newline handling.
2499 * util/i386/pc/grub-mkimage.c: Move from here ...
2500 * util/grub-mkrawimage.c: ... to here. All users updated.
2501 (generate_image): New parameters 'font_path' and 'format'.
2502 Support embedding font.
2503 Use grub_host_to_target* instead of grub_cpu_to_le*.
2504 (generate_image) [GRUB_MACHINE_MIPS]: Support ELF encapsulation.
2505 (options) [GRUB_PLATFORM_IMAGE_DEFAULT]: New option "--format".
2506 (options): New option "--font".
2507 (usage): Likewise.
2508 (main) [GRUB_PLATFORM_IMAGE_DEFAULT]: Handle "--format".
2509 (main): Handle "--font".
2510 * term/gfxterm.c (grub_virtual_screen): New member bg_color_display.
2511 (grub_virtual_screen_setup): Set bg_color_display.
2512 (redraw_screen_rect): Use bg_color_display instead of incorrect
2513 bg_color.
2514 (grub_gfxterm_cls): Likewise.
2515 * util/elf/grub-mkimage.c (load_modules): New parameter 'config_path'.
2516 Support embedding config file.
2517 (add_segments): Likewise.
2518 (options): New option "--config".
2519 (main): Handle "--config".
2520 * video/sm712.c: New file.
2521
25c2b5b3
RM
25222010-01-18 Robert Millan <rmh.grub@aybabtu.com>
2523
2524 Fix parallel builds.
2525
2526 * conf/common.rmk (font/font.c_DEPENDENCIES): New variable (makes
2527 font.c depend on ascii.h).
2528
25292010-01-12 Carles Pina i Estany <carles@pina.cat>
2530
2531 * Makefile.in (DUSE_ASCII_FAILBACK): New macro.
2532
25332010-01-11 Carles Pina i Estany <carles@pina.cat>
2534
2535 * font/font.c (GENERATE_ASCII): Change the name to USE_ASCII_FAILBACK.
2536 By default: disabled.
2537 * Makefile.in (ascii.h): Remove the non-needed grub/bin2h size
2538 parameter.
2539
25402010-01-10 Carles Pina i Estany <carles@pina.cat>
2541
2542 * font/font.c: Update copyright years.
2543 * util/grub-mkfont.c (write_font_ascii_bitmap): Change comment format.
2544
25452010-01-10 Carles Pina i Estany <carles@pina.cat>
2546
2547 * font/font.c: Include `ascii.h'.
2548 (ASCII_BITMAP_SIZE): New macro.
2549 (ascii_font_glyph): Define.
2550 (ascii_glyph_lookup): New function.
2551 (grub_font_get_string_width): Change comment. If glyph not found, use
2552 ascii_glyph_lookup.
2553 (grub_font_get_glyph_with_fallback): If glyph not available returns
2554 ascii_glyph_lookup.
2555 * util/grub-mkfont.c (file_formats): New enum.
2556 (options): Add `ascii-bitmaps' new option.
2557 (usage): Add `asii-bitmaps' new option.
2558 (write_font_ascii_bitmap): New function.
2559 (write_font): Rename to ...
2560 (write_font_p2): ... this. Remove print_glyphs call.
2561 (main): Use file_format. Implement code for ranges if ascii-bitmaps is
2562 used. Call print_glyphs.
2563 * Makefile.in (pkgdata_DATA): Add `ascii.h'.
2564
25652010-01-14 Robert Millan <rmh.grub@aybabtu.com>
2566
2567 * conf/common.rmk (bin_UTILITIES): Add `grub-bin2h'.
2568 (grub_bin2h_SOURCES): New variable.
2569 * util/bin2h.c: New file.
2570
915fc1b8
VS
25712010-01-20 Vladimir Serbinenko <phcoder@gmail.com>
2572
2573 * include/multiboot.h: Resynced with spec.
2574 * include/multiboot2.h: Likewise.
2575 * loader/i386/multiboot_mbi.c (grub_fill_multiboot_mmap): Handle
2576 GRUB_MACHINE_MEMORY_ACPI_RECLAIMABLE and GRUB_MACHINE_MEMORY_NVS.
2577
9444b678
RM
25782010-01-18 Robert Millan <rmh.grub@aybabtu.com>
2579
2580 * include/grub/term.h (grub_term_register_input,
2581 grub_term_register_output): Check return of terminal init()
2582 routines, and abort if errors are raised.
2583
2584 * commands/terminal.c: Update copyright year.
2585
cba98e8d
RM
25862010-01-18 Robert Millan <rmh.grub@aybabtu.com>
2587
2588 * commands/terminal.c (grub_cmd_terminal_input)
2589 (grub_cmd_terminal_output): Check return of terminal init()
2590 routines, and abort if errors are raised.
2591
6f7db5d6
VS
25922010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2593
2594 * include/grub/i386/bsd.h: Fix include pathes.
2595
262bff8d
VS
25962010-01-18 Vladimir Serbinenko <phcoder@gmail.com>
2597
2598 Add missing *BSD copyright headers.
2599
2600 * include/grub/aout.h: Add BSD licence.
2601 * include/grub/i386/bsd.h: Parts under different licences moved to ...
2602 * include/grub/i386/freebsd_linker.h: ... here,
2603 * include/grub/i386/freebsd_reboot.h: ... here,
2604 * include/grub/i386/netbsd_bootinfo.h: ... here,
2605 * include/grub/i386/netbsd_reboot.h: ... here,
2606 * include/grub/i386/openbsd_bootarg.h: ... here,
2607 * include/grub/i386/openbsd_reboot.h: ... and here. Added appropriate
2608 licence to each file.
2609
b2cab848
RM
26102010-01-18 Robert Millan <rmh.grub@aybabtu.com>
2611
2612 * acinclude.m4: Remove `nop' assembly instruction; it's not
2613 implemented by all architectures.
2614
2cb6be4b
RM
26152010-01-18 Robert Millan <rmh.grub@aybabtu.com>
2616
2617 * loader/i386/efi/linux.c (grub_cmd_linux): Stop pretending we're
2618 ELILO. This is no longer necessary.
2619
a2eaee15
BC
26202010-01-18 BVK Chaitanya <bvk.groups@gmail.com>
2621
2622 Added new tool, grub-scrit-check to verify grub.cfg syntax.
2623
2624 * util/grub-script-check.c: grub-script-check tool.
2625 * conf/common.rmk: Make rules for grub-script-check.
2626
88d17012
RM
26272010-01-18 Robert Millan <rmh.grub@aybabtu.com>
2628
2629 Fix annoying UI bug in rescue mode. Thanks to Tristan Gingold for
2630 spotting it back in 2008. Shame on me for forgetting he did.
2631
2632 * kern/rescue_reader.c (grub_rescue_run): Skip zero-length lines.
2633
8040619d
RM
26342010-01-18 Robert Millan <rmh.grub@aybabtu.com>
2635
2636 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): Rename to ...
2637 (GRUB_VIDEO_LINUX_TYPE_TEXT): ... this. Update all users.
2638 (GRUB_VIDEO_TYPE_VLFB): Rename to ...
2639 (GRUB_VIDEO_LINUX_TYPE_VESA): ... this. Update all users.
2640 (GRUB_VIDEO_TYPE_EFI): Rename to ...
2641 (GRUB_VIDEO_LINUX_TYPE_SIMPLE): ... this. Update all users.
2642
a0c2a0f6
RM
26432010-01-17 Robert Millan <rmh.grub@aybabtu.com>
2644
2645 * include/grub/test.h: Add license header.
2646 * tests/example_functional_test.c: Likewise.
2647 * tests/example_unit_test.c: Likewise.
2648 * tests/lib/functional_test.c: Likewise.
2649 * tests/lib/test.c: Likewise.
2650 * tests/lib/unit_test.c: Likewise.
2651
b0b13907
VS
26522010-01-17 Vladimir Serbinenko <phcoder@gmail.com>
2653
2654 Use flag-based instead of hook-based video mode selection and "auto"
2655 keyword.
2656
2657 * include/grub/video.h (grub_video_adapter): Changed 'setup' member.
2658 (grub_video_set_mode): Changed prototype. All users updated.
2659 (grub_video_check_mode_flag): New inline function.
2660 * video/video.c (parse_modespec): New function.
2661 (grub_video_set_mode): Parse flags and keywords.
2662
ea379330 26632010-01-17 Carles Pina i Estany <carles@pina.cat>
2664
2665 * util/misc.c (grub_util_info): Fix the order of the parameters in a
2666 fprintf call.
2667
e15c215e
FZ
26682010-01-16 Grégoire Sutre <gregoire.sutre@gmail.com>
2669
2670 * genmk.rb (class SCRIPT): Replace option -i of sed by a pipe.
2671
409ae1c9 26722010-01-16 Carles Pina i Estany <carles@pina.cat>
2673
2674 * util/grub-editenv.c (usage): Use `program_name' instead of hardcoded
2675 string.
2676 * util/grub-emu.c (usage): Likewise.
2677 * util/grub-mkpasswd-pbkdf2.c (usage): Likewise.
2678 * util/i386/efi/grub-mkimage.c (usage): Likewise.
2679 * util/i386/pc/grub-mkimage.c (usage): Likewise.
2680 * util/i386/pc/grub-setup.c (usage): Likewise.
2681
70a14d3d 26822010-01-16 Carles Pina i Estany <carles@pina.cat>
2683
2684 * util/misc.c (grub_util_warn): Gettextizze, print full stop after
2685 the message.
2686 (grub_util_info): Likewise.
2687 (grub_util_error): Likewise.
2688 * util/elf/grub-mkimage.c: Fix capitalisation, quotes, full stops
2689 and/or new lines in `grub_util_warna', `grub_util_info',
2690 `grub_util_error' calls.
2691 * util/getroot.c: Likewise.
2692 * util/grub-editenv.c: Likewise.
2693 * util/grub-emu.c: Likewise.
2694 * util/grub-fstest.c: Likewise.
2695 * util/grub-mkdevicemap.c: Likewise.
2696 * util/grub-mkfont.c: Likewise.
2697 * util/grub-mkpasswd-pbkdf2.c: Likewise.
2698 * util/grub-mkrelpath.c: Likewise.
2699 * util/grub-pe2elf.c: Likewise.
2700 * util/grub-probe.c: Likewise.
2701 * util/hostdisk.c: Likewise.
2702 * util/i386/efi/grub-mkimage.c: Likewise.
2703 * util/i386/pc/grub-mkimage.c: Likewise.
2704 * util/i386/pc/grub-setup.c: Likewise.
2705 * util/ieee1275/ofpath.c: Likewise.
2706 * util/mkisofs/eltorito.c: Likewise.
2707 * util/mkisofs/rock.c: Likewise.
2708 * util/mkisofs/write.c: Likewise.
2709 * util/raid.c: Likewise.
2710 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
2711 * util/sparc64/ieee1275/grub-setup.c: Likewise.
2712
a0b766fc
VS
27132010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
2714
2715 Enable multiboot on non-pc.
2716
2717 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (pkglib_MODULES): Move
2718 multiboot.mod and multiboot2.mod to ...
2719 * conf/i386.rmk (pkglib_MODULES): ... here.
2720 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_SOURCES):
2721 Moved to ...
2722 * conf/i386.rmk (multiboot_mod_SOURCES): .. here.
2723 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_CFLAGS):
2724 Moved to ...
2725 * conf/i386.rmk (multiboot_mod_CFLAGS): .. here.
2726 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_ASFLAGS):
2727 Moved to ...
2728 * conf/i386.rmk (multiboot_mod_ASFLAGS): .. here.
2729 * conf/i386-coreboot.rmk, conf/i386-pc.rmk (multiboot_mod_LDFLAGS):
2730 Moved to ...
2731 * conf/i386.rmk (multiboot_mod_LDFLAGS): .. here.
2732 * conf/x86_64-efi.rmk (pkglib_MODULES): Remove ata.mod and
2733 relocator.mod.
2734 (ata_mod_SOURCES): Removed.
2735 (ata_mod_CFLAGS): Likewise.
2736 (ata_mod_LDFLAGS): Likewise.
2737 (relocator_mod_SOURCES): Removed.
2738 (relocator_mod_CFLAGS): Likewise.
2739 (relocator_mod_ASFLAGS): Likewise.
2740 (relocator_mod_LDFLAGS): Likewise.
2741 Include i386.mk.
2742 * include/grub/x86_64/multiboot.h: New file.
2743 * loader/i386/multiboot.c (grub_multiboot_boot) [GRUB_MACHINE_EFI]:
2744 Terminate EFI.
2745
884ade56
VS
27462010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
2747
2748 Video multiboot support.
2749
2750 * include/grub/multiboot.h (grub_multiboot_set_accepts_video):
2751 New prototype.
2752 * include/multiboot.h: Resynced with multiboot specification.
2753 * include/multiboot2.h: Likewise.
2754 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): Support video flags.
2755 (grub_multiboot): Parse MULTIBOOT_VIDEO_MODE fields.
2756 * loader/i386/multiboot_mbi.c (DEFAULT_VIDEO_MODE): New constant.
2757 (HAS_VGA_TEXT): Likewise.
2758 (accepts_video): New variable.
2759 (grub_multiboot_set_accepts_video): New function.
2760 (grub_multiboot_get_mbi_size): Account for video structures.
2761 (set_video_mode): New function.
2762 (retrieve_video_parameters): Likewise.
2763 (grub_multiboot_make_mbi): Fill video fields.
2764
0d90e8a6
VS
27652010-01-15 Vladimir Serbinenko <phcoder@gmail.com>
2766
2767 Video driver ids.
2768
2769 * include/grub/video.h (grub_video_driver_id): New type.
2770 (grub_video_adapter): New member 'id'. All users updated.
2771 (grub_video_get_driver_id): New proto.
2772 * video/video.c (grub_video_get_driver_id): New function.
2773
5c71db1b 27742010-01-14 Carles Pina i Estany <carles@pina.cat>
2775
2776 * util/grub.d/30_os-prober.in: Use `set var=val' rather than plain
2777 `var=val'.
2778
cca15b52 27792010-01-14 Carles Pina i Estany <carles@pina.cat>
2780
2781 * normal/cmdline.c (print_completion): Gettextizze.
2782
c586fbb2 27832001-01-14 Carles Pina i Estany <carles@pina.cat>
2784
2785 * loader/i386/pc/chainloader.c: Include `<grub/mm.h>'.
2786
ba2f6848 27872010-01-14 Carles Pina i Estany <carles@pina.cat>
2788
2789 * gettext/gettext.c (grub_gettext_translate): Push and pop
2790 grub_errno.
2791 (grub_gettext_delete_list): Change comment style.
2792 * kern/err.c (grub_error): Gettextizze.
2793 (grub_fatal): Gettextizze.
2794
0a46429a
RM
27952010-01-14 Robert Millan <rmh.grub@aybabtu.com>
2796
2797 * include/grub/i386/loader.h (grub_linux16_boot): Renamed to ...
2798 (grub_linux16_real_boot): ... this.
2799 * kern/i386/loader.S: Likewise.
2800 * loader/i386/pc/linux.c: Include `<grub/video.h>' and `<grub/mm.h>'.
2801 (grub_linux16_boot): New function. Switches to text mode and calls
2802 grub_linux16_real_boot().
2803
2804 * loader/i386/bsd.c: Include `<grub/video.h>'.
2805 (grub_freebsd_boot, grub_openbsd_boot, grub_netbsd_boot): Switch to
2806 text mode before calling grub_unix_real_boot().
2807
2808 * loader/i386/multiboot.c: Include `<grub/video.h>'.
2809 (grub_multiboot_boot): Switch to text mode before calling
2810 grub_relocator32_boot().
2811
2812 * loader/i386/pc/chainloader.c: Include `<grub/video.h>'.
2813 (grub_chainloader_boot): Switch to text mode before calling
2814 grub_chainloader_real_boot().
2815
d6f93a66
RM
28162010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
28172010-01-05 Colin Watson <cjwatson@ubuntu.com>
2818
2819 * util/grub-reboot.in: Make sure prev_saved_entry always gets a
2820 non-empty value.
2821
28222010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
28232010-01-05 Colin Watson <cjwatson@ubuntu.com>
2824
2825 * util/grub.d/00_header.in: Define a "savedefault" function for use
2826 in menu entries.
2827 * util/grub-mkconfig_lib.in (save_default_entry): Use it.
2828
28292010-01-05 Jordan Uggla <jordan.uggla@gmail.com>
28302010-01-05 Colin Watson <cjwatson@ubuntu.com>
2831
2832 * util/grub-mkconfig_lib.in (save_default_entry): Only set
2833 saved_entry if boot_once is unset.
2834 * util/grub.d/00_header.in: Set boot_once to "true" if there was a
2835 previous saved entry (i.e. grub-reboot).
2836
28372009-12-08 Colin Watson <cjwatson@ubuntu.com>
2838
2839 * util/grub.d/30_os-prober.in: Call save_default_entry for hurd.
2840
28412009-12-08 Colin Watson <cjwatson@ubuntu.com>
2842
2843 * util/grub.d/00_header.in: Use `set var=val' rather than plain
2844 `var=val'.
2845 * util/grub-mkconfig_lib.in (save_default_entry): Likewise.
2846
28472009-12-08 Colin Watson <cjwatson@ubuntu.com>
2848
2849 * util/grub-reboot.in: Fix --version output.
2850 * util/grub-set-default.in: Likewise.
2851
28522009-12-08 Colin Watson <cjwatson@ubuntu.com>
2853
2854 * util/grub.d/00_header.in: Silently ignore zero-sized environment
2855 blocks.
2856
28572009-12-08 Colin Watson <cjwatson@ubuntu.com>
2858
2859 * util/grub.d/00_header.in: Quote the value assigned to `default',
2860 in case it contains spaces.
2861
28622009-12-08 Colin Watson <cjwatson@ubuntu.com>
2863
2864 * util/grub.d/30_os-prober.in: Fix merge error that moved a
2865 `save_default_entry' call from the macosx case to the linux case.
2866
28672009-10-25 Vladimir Serbinenko <phcoder@gmail.com>
28682009-10-25 Colin Watson <cjwatson@ubuntu.com>
2869
2870 * normal/menu.c (grub_menu_execute_entry): Save selected entry title
2871 in `chosen' environment variable.
2872 * normal/menu_text.c (get_entry_number): Check if the variable
2873 matches the title of a menu entry.
2874 (run_menu): Pass menu to get_entry_number.
2875
2876 * util/grub-reboot.in: New file.
2877 * util/grub-set-default.in: New file.
2878 * conf/common.rmk (grub-reboot): New utility.
2879 (grub-set-default): New utility.
2880
2881 * util/grub-mkconfig_lib.in (save_default_entry): New function.
2882 * util/grub.d/00_header.in: If GRUB_DEFAULT is `saved', set
2883 default to `${saved_entry}'. If `${prev_saved_entry}' is non-empty,
2884 move it to `saved_entry' for the next boot. Load environment on
2885 initialisation.
2886 * util/grub.d/10_kfreebsd.in: Call save_default_entry.
2887 * util/grub.d/10_hurd.in: Likewise.
2888 * util/grub.d/10_linux.in (linux_entry): Likewise.
2889 * util/grub.d/10_windows.in: Likewise.
2890 * util/grub.d/30_os-prober.in: Likewise.
2891
2892 * util/grub-install.in: Create environment block.
2893 * util/i386/efi/grub-install.in: Likewise.
2894 * util/ieee1275/grub-install.in: Likewise.
2895 * util/sparc64/ieee1275/grub-install.in: Likewise.
2896
0934d184
BC
28972010-01-14 BVK Chaitanya <bvk.groups@gmail.com>
2898
2899 Unit testing framework for GRUB.
2900
2901 * Makefile.in: Test framework build rules for 'make check'.
2902 * conf/tests.rmk: Build rules for individual tests and framework.
2903
2904 * include/grub/test.h: Header file for whitebox tests.
2905 * tests/lib/functional_test.c: Framework support for whitebox
2906 functional tests.
2907 * tests/lib/test.c: Common whitebox testing code for unit and
2908 functional tests.
2909 * tests/lib/unit_test.c: Framework support for whitebox unit
2910 tests.
2911
2912 * tests/util/grub-shell-tester.in: Support utility for grub-script
2913 tests.
2914 * tests/util/grub-shell.in: Utility to execute grub-script
2915 commands in a Qemu instance.
2916
2917 * tests/example_functional_test.c: Example whitebox functional
2918 test.
2919 * tests/example_grub_script_test.in: Example grub-script test.
2920 * tests/example_scripted_test.in: Example scripted test.
2921 * tests/example_unit_test.c: Example whitebox unit test.
2922
9c4ffeeb
VS
29232010-01-14 Vladimir Serbinenko <phcoder@gmail.com>
2924
2925 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES):
2926 Add loader/i386/multiboot_mbi.c.
2927 (multiboot2_mod_SOURCES): Likewise.
2928 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Likewise.
2929 (multiboot2_mod_SOURCES): Likewise.
2930 * include/grub/multiboot.h (grub_multiboot_get_mbi_size): New proto.
2931 (grub_multiboot_make_mbi): Likewise.
2932 (grub_multiboot_free_mbi): Likewise.
2933 (grub_multiboot_init_mbi): Likewise.
2934 (grub_multiboot_add_module): Likewise.
2935 (grub_multiboot_set_bootdev): Likewise.
2936 * loader/i386/multiboot.c (mbi): Removed.
2937 (mbi_dest): Likewise.
2938 (alloc_mbi): New variable.
2939 (grub_multiboot_payload_size): Removed. All users updated.
2940 (grub_multiboot_pure_size): New variable.
2941 (grub_multiboot_boot): Use grub_multiboot_make_mbi.
2942 (grub_multiboot_unload): Use grub_multiboot_free_mbi.
2943 (grub_get_multiboot_mmap_len): Moved to loader/i386/multiboot_mbi.c.
2944 (grub_fill_multiboot_mmap): Likewise.
2945 (grub_multiboot_get_bootdev): Likewise.
2946 (grub_multiboot): Use multiboot_mbi functions.
2947 * loader/i386/multiboot_mbi.c: New file.
2948
17383dfe
VS
29492010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2950
2951 * kern/efi/init.c (grub_efi_fini): Don't call grub_efi_mm_fini as
2952 it would result in module crash.
2953
c1f28820
VS
29542010-01-13 Vladimir Serbinenko <phcoder@gmail.com>
2955
2956 * term/ieee1275/ofconsole.c (grub_ofconsole_putchar): Handle '\r'.
2957 (grub_ofconsole_getwh): Split to ...
2958 (grub_ofconsole_getwh): ... this.
2959 (grub_ofconsole_dimensions): ...and this.
2960 (grub_ofconsole_init_output): Call grub_ofconsole_dimensions.
2961
58655a16
RM
29622010-01-13 Robert Millan <rmh.grub@aybabtu.com>
2963
2964 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Fix a typo.
2965
10891398
VS
29662010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2967
2968 * loader/i386/pc/multiboot2.c: Removed stalled file.
2969
0b8a223c
VS
29702010-01-12 Vladimir Serbinenko <phcoder@gmail.com>
2971
2972 * util/grub-mkpasswd-pbkdf2.c (main): Use grub_util_init_nls.
2973 Reported by: Grégoire Sutre
2974
92ab12b0
RM
29752010-01-11 Robert Millan <rmh.grub@aybabtu.com>
2976
2977 * util/misc.c (canonicalize_file_name): New function.
2978 (make_system_path_relative_to_its_root): Use canonicalize_file_name()
2979 instead of realpath().
2980
a788afb6
CW
29812010-01-11 Colin Watson <cjwatson@ubuntu.com>
2982
2983 * util/grub-install.in (usage): Clarify meaning of --root-directory,
2984 and make it clearer that it's optional. Based on confusion
2985 witnessed on IRC.
2986
ffa8e3d2
VS
29872010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2988
2989 * term/i386/pc/vga_text.c (inc_y): Fix off-by-one error which resulted
2990 in premature implicit newline.
2991
e9060a9d
VS
29922010-01-10 Vladimir Serbinenko <phcoder@gmail.com>
2993
2994 * normal/cmdline.c (grub_cmdline_get): Fix off-by-one error
2995 which resulted in garbled command line at the end of screen.
2996
f0d0c0b7
RM
29972010-01-10 Robert Millan <rmh.grub@aybabtu.com>
2998
2999 * loader/i386/ieee1275/linux.c (grub_linux_boot): Rework video position
3000 initialization with similar approach as with other Linux loaders.
3001
0e60bae7
RM
30022010-01-10 Robert Millan <rmh.grub@aybabtu.com>
3003
3004 Fix i386-ieee1275 build.
3005
3006 * loader/i386/ieee1275/linux.c (grub_linux_boot): Use grub_term_width()
3007 and grub_term_height() for video_{width,height} initialization.
3008
30092010-01-10 Robert Millan <rmh.grub@aybabtu.com>
cdec4d31
RM
3010
3011 Fix grub-emu build.
3012
3013 * conf/any-emu.rmk (grub_emu_SOURCES): Remove `kern/reader.c'.
3014
cdb3f378
RM
30152010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
30162010-01-09 Robert Millan <rmh.grub@aybabtu.com>
3017
3018 Support for multiple terminals.
3019
3020 * Makefile.in (pkglib_DATA): terminal.lst.
3021 (terminal.lst): New target.
3022 * commands/handler.c (grub_cmd_handler): Don't handle terminals.
3023 (GRUB_MOD_INIT(handler)): Likewise.
3024 (GRUB_MOD_FINI(handler)): Likewise.
3025 * commands/help.c (grub_cmd_help): Handle multiple terminals.
3026 * commands/keystatus.c (grub_cmd_keystatus): Likewise.
3027 * commands/sleep.c (do_print): Use grub_term_restore_pos.
3028 (grub_cmd_sleep): Use grub_term_save_pos.
3029 * commands/terminal.c: New file.
3030 * conf/any-emu.rmk (grub_emu_SOURCES): Add normal/term.c
3031 commands/terminal.c and lib/charset.c.
3032 * conf/common.rmk (normal_mod_SOURCES): Add normal/term.c.
3033 (pkglib_MODULES): Add terminal.mod.
3034 (terminal_mod_SOURCES): New variable.
3035 (terminal_mod_CFLAGS): Likewise.
3036 (terminal_mod_LDFLAGS): Likewise.
3037 * genhandlerlist.sh: Don't handle terminals.
3038 * genmk.rb: Generate terminal-*.lst.
3039 * genterminallist.sh: New file.
3040 * include/grub/charset.h (grub_ucs4_to_utf8_alloc): New proto.
3041 (grub_is_valid_utf8): Likewise.
3042 (grub_utf8_to_ucs4_alloc): Likewise.
3043 * include/grub/menu_viewer.h (grub_menu_viewer): Rewritten.
3044 (grub_menu_register_viewer): Changed argument.
3045 (grub_menu_try_text): New proto.
3046 (grub_gfxmenu_try_hook): New declaration.
3047 * include/grub/normal.h (grub_normal_exit_level): New declaration.
3048 (grub_menu_init_page): Additional argument term.
3049 (grub_normal_init_page): Likewise.
3050 (grub_cmdline_get): Arguments simplified.
3051 (grub_utf8_to_ucs4_alloc): Removed.
3052 (grub_print_ucs4): Additional argument term.
3053 (grub_getstringwidth): Likewise.
3054 (grub_print_message_indented): Likewise.
3055 (grub_menu_text_register_instances): New proto.
3056 (grub_show_menu): Likewise.
3057 (read_terminal_list): Likewise.
3058 (grub_set_more): Likewise.
3059 * include/grub/parser.h: Include handler.h.
3060 * include/grub/reader.h: Rewritten.
3061 * include/grub/term.h (GRUB_TERM_NEED_INIT): Removed.
3062 (GRUB_TERM_WIDTH): Changed to function.
3063 (GRUB_TERM_HEIGHT): Likewise.
3064 (GRUB_TERM_BORDER_WIDTH): Likewise.
3065 (GRUB_TERM_BORDER_HEIGHT): Likewise.
3066 (GRUB_TERM_NUM_ENTRIES): Likewise.
3067 (GRUB_TERM_ENTRY_WIDTH): Likewise.
3068 (GRUB_TERM_CURSOR_X): Likewise.
3069 (grub_term_input_class): Likewise.
3070 (grub_term_output_class): Likewise.
3071 (grub_term_outputs_disabled): New declaration.
3072 (grub_term_inputs_disabled): Likewise.
3073 (grub_term_outputs): Likewise.
3074 (grub_term_inputs): Likewise.
3075 (grub_term_register_input): Rewritten.
3076 (grub_term_register_output): Likewise.
3077 (grub_term_unregister_input): Likewise.
3078 (grub_term_unregister_output): Likewise.
3079 (FOR_ACTIVE_TERM_INPUTS): New macro.
3080 (FOR_DISABLED_TERM_INPUTS): Likewise.
3081 (FOR_ACTIVE_TERM_OUTPUTS): Likewise.
3082 (FOR_DISABLED_TERM_OUTPUTS): Likewise.
3083 * include/grub/terminfo.h: Add oterm argument to all protypes.
3084 * kern/main.c (grub_main): Don't call grub_register_rescue_reader.
3085 Use grub_rescue_run.
3086 * kern/misc.c (grub_utf8_to_ucs4): Put '?' for invalid characters.
3087 All users updated.
3088 * kern/reader.c: Removed. All users updated.
3089 * kern/rescue_reader.c (grub_rescue_init): Removed.
3090 (grub_rescue_reader): Likewise.
3091 (grub_register_rescue_reader): Likewise.
3092 (grub_rescue_run): New function based on kern/reader.c.
3093 * kern/term.c: Adapted for multiterm.
3094 * lib/charset.c (grub_ucs4_to_utf8_alloc): New function.
3095 (grub_is_valid_utf8): Likewise.
3096 (grub_utf8_to_ucs4_alloc): Moved from normal/menu_text.c.
3097 * loader/i386/efi/linux.c (grub_cmd_linux): Retrieve parameters of
3098 right terminal.
3099 * loader/i386/linux.c (grub_linux_boot): Likewise.
3100 * normal/auth.c (grub_username_get): New function.
3101 (grub_auth_check_authentication): Use grub_username_get.
3102 * normal/cmdline.c: Changed to UCS4. Adapted for multiterm.
3103 * normal/color.c: Adapt for multiterm.
3104 * normal/main.c (read_config_file): Don't use grub_reader_loop.
3105 (grub_normal_init_page): Additional argument term.
3106 (read_lists): Call read_terminal_lists.
3107 (grub_enter_normal_mode): Call grub_cmdline_run.
3108 Handle grub_normal_exit_level.
3109 (grub_cmd_normal): Make reentrant.
3110 (grub_cmd_normal_exit): New function.
3111 (grub_normal_reader_init): Additional argument nested. Handle multiterm.
3112 * normal/menu.c: Adapt for multiterm.
3113 * normal/menu_entry.c: Likewise.
3114 * normal/menu_text.c: Likewise.
3115 * normal/menu_viewer.c: Removed. All users updated.
3116 * normal/term.c: New file.
3117 * util/console.c: Change order of includes to workaround a bug in
3118 ncurses headers.
3119 * term/terminfo.c: New argument oterm on all exported functions.
3120 All users updated.
3121 * util/grub-editenv.c (grub_term_input_class): Removed.
3122 (grub_term_output_class): Likewise.
3123
1a064917
RM
31242010-01-09 Robert Millan <rmh.grub@aybabtu.com>
3125
3126 Make loader output a bit more user-friendly.
3127
3128 * util/grub.d/10_hurd.in: Print message indicating that GNU Mach
3129 is being loaded. Likewise for the Hurd.
3130
3131 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Print message indicating
3132 that kernel of FreeBSD ${version} is being loaded.
3133
3134 * loader/i386/linux.c (grub_cmd_linux): Move debug info to
3135 grub_dprintf().
3136 (grub_cmd_initrd): Likewise.
3137 * util/grub.d/10_linux.in (linux_entry): Print message indicating
3138 that Linux ${version} is being loaded. Likewise for initrd.
3139
5ce0a83a 31402010-01-09 Carles Pina i Estany <carles@pina.cat>
3141
3142 * gettext/gettext.c (GRUB_MOD_INIT): Gettextizze.
3143
809bbfeb 31442010-01-08 Carles Pina i Estany <carles@pina.cat>
3145
3146 * loader/efi/appleloader.c: Include `<grub/i18n.h>'.
3147 (GRUB_MOD_INIT): Gettextizze.
3148 * loader/efi/chainloader.c: Include `<grub/i18n.h>'.
3149 (GRUB_MOD_INIT): Gettextizze.
3150 * loader/i386/efi/linux.c: Include `<grub/i18n.h>'.
3151 (grub_cmd_linux): Capitalise Linux.
3152 (GRUB_MOD_INIT): Gettextizze.
3153 * loader/i386/ieee1275/linux.c: Include `<grub/i18n.h>'.
3154 (grub_cmd_linux): Capitalise Linux.
3155 (GRUB_MOD_INIT): Gettextizze.
3156 * loader/i386/linux.c: Include `<grub/i18n.h>'.
3157 (grub_cmd_linux): Capitalise Linux.
3158 (GRUB_MOD_INIT): Gettextizze.
3159 * loader/i386/pc/chainloader.c: Include `<grub/i18n.h>'.
3160 (GRUB_MOD_INIT): Gettextizze.
3161 * loader/i386/pc/linux.c: Include `<grub/i18n.h>'.
3162 (grub_cmd_linux): Capitalise Linux.
3163 (GRUB_MOD_INIT): Gettextizze.
3164 * loader/i386/xnu.c: Include `<grub/i18n.h>'.
3165 (grub_cpu_xnu_init): Gettextizze.
3166 * loader/multiboot_loader.c: Include `<grub/i18n.h>'.
3167 (GRUB_MOD_INIT): Gettextizze.
3168 * loader/powerpc/ieee1275/linux.c: Include `<grub/i18n.h>'.
3169 (GRUB_MOD_INIT): Gettextizze.
3170 * loader/sparc64/ieee1275/linux.c: Include `<grub/i18n.h>'.
3171 (grub_linux_load64): Capitalise Linux.
3172 (GRUB_MOD_INIT): Gettextizze.
3173 * loader/xnu.c: Include `<grub/i18n.h>'.
3174 (GRUB_MOD_INIT): Gettextizze.
3175 * po/POTFILES: Add `loader/efi/appleloader.c',
3176 `loader/efi/chainloader.c', `loader/i386/efi/linux.c',
3177 `loader/i386/ieee1275/linux.c', `loader/i386/linux.c',
3178 `loader/i386/pc/chainloader.c', `loader/i386/pc/linux.c',
3179 `loader/i386/xnu.c', `loader/multiboot_loader.c',
3180 `loader/powerpc/ieee1275/linux.c', `loader/sparc64/ieee1275/linux.c'
3181 and `loader/xnu.c'.
3182
b394b2ca
RM
31832010-01-08 Robert Millan <rmh.grub@aybabtu.com>
3184
3185 * src/mkisofs.c: Remove `ifdef linux' portability kludge.
3186
31872010-01-08 Robert Millan <rmh.grub@aybabtu.com>
cd943b75
RM
3188
3189 * util/mkisofs/defaults.h (APPID_DEFAULT): Redefine using PACKAGE_NAME.
3190 (SYSTEM_ID_DEFAULT): Set to "GNU" unconditionally.
3191 * util/mkisofs/mkisofs.c (main): Readjust --version output.
3192
bc8b32b3
RM
31932010-01-07 Robert Millan <rmh.grub@aybabtu.com>
3194
3195 Reset Multiboot 2 support. New loader implements the draft in
3196 /branches/multiboot2 and shares as much code as possible with the
3197 production Multiboot 1 implementation.
3198
3199 * loader/ieee1275/multiboot2.c: Remove file. Update all users.
3200 * loader/multiboot2.c: Likewise.
3201 * loader/i386/multiboot_helper.S: Likewise.
3202 * include/multiboot2.h: Replace with latest version from the draft
3203 in /branches/multiboot2.
3204
3205 * conf/i386-coreboot.rmk (multiboot_mod_SOURCES): Remove
3206 `loader/i386/multiboot_helper.S', `loader/i386/pc/multiboot2.c'
3207 and `loader/multiboot2.c'.
3208 (pkglib_MODULES): Add `multiboot2.mod'.
3209 (multiboot2_mod_SOURCES): New variable.
3210 (multiboot2_mod_LDFLAGS): Likewise.
3211 (multiboot2_mod_CFLAGS): Likewise. Define `GRUB_USE_MULTIBOOT2'.
3212
3213 * conf/i386-pc.rmk: Likewise.
3214
3215 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
3216 (multiboot_mod_SOURCES): Remove variable.
3217 (multiboot_mod_LDFLAGS): Likewise.
3218 (multiboot_mod_CFLAGS): Likewise.
3219
3220 * include/grub/multiboot.h [GRUB_USE_MULTIBOOT2]: Include
3221 `<multiboot2.h>' instead of `<multiboot.h>'.
3222 [GRUB_USE_MULTIBOOT2] (MULTIBOOT_BOOTLOADER_MAGIC)
3223 (MULTIBOOT_HEADER_MAGIC): New macros.
3224
3225 * loader/multiboot_loader.c (module_version_status): Remove variable.
3226 (find_multi_boot2_header): Remove function.
3227 (grub_cmd_multiboot_loader): Remove Multiboot 2 / Multiboot 1 selection
3228 logic. Always check for the Multiboot version we're compiling for.
3229 (grub_cmd_module_loader): Likewise.
3230 [GRUB_USE_MULTIBOOT2] (GRUB_MOD_INIT(multiboot)): Register `multiboot2'
3231 command instead of `multiboot'.
3232
5d2c52b8
RM
32332010-01-07 Robert Millan <rmh.grub@aybabtu.com>
3234
3235 * include/multiboot.h (MULTIBOOT_UNSUPPORTED): Moved from here ...
3236 * loader/i386/multiboot.c (UNSUPPORTED_FLAGS): ... to here. Update
3237 all users.
3238
53108d92
RM
32392010-01-07 Robert Millan <rmh.grub@aybabtu.com>
32402010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
3241
3242 Fix breakage introduced with previous commit.
3243
3244 * normal/dyncmd.c (read_command_list): Avoid unregistering kernel
3245 commands.
3246 * normal/handler.c (read_handler_list): Revert part of previous commit
3247 affecting this file.
3248 * normal/main.c (read_lists): Move read_handler_list() call back to ...
3249 (grub_normal_execute): ... here.
3250
e2e936b2
RM
32512010-01-07 Robert Millan <rmh.grub@aybabtu.com>
3252
3253 Merge prefix-redefinition-fix branch.
3254
3255 * normal/autofs.c (read_fs_list): Make function capable of being
3256 run multiple times, gracefuly replacing the previous data
3257 structures.
3258 * normal/dyncmd.c (read_command_list): Likewise.
3259 * normal/handler.c (read_handler_list): Likewise.
3260 * normal/main.c (read_lists): New function. Calls all the
3261 list reading functions.
3262 (grub_normal_execute): Use read_lists() instead of calling all
3263 list reading functions explicitly. Register read_lists() as a
3264 variable hook attached to ${prefix}.
3265
607a3701
VS
32662010-01-07 Vladimir Serbinenko <phcoder@gmail.com>
3267
3268 Merge crypto branch.
3269
3270 * Makefile.in (pkglib_DATA): Add crypto.lst.
3271 (crypto.lst): New target.
3272 * commands/hashsum.c: New file.
3273 * commands/password.c (check_password): Use grub_crypto_memcmp.
3274 * commands/password_pbkdf2.c: New file.
3275 * commands/xnu_uuid.c: Remove MD5. Use GRUB_MD_MD5.
3276 * conf/any-emu.rmk (grub_emu_SOURCES): Add lib/crypto.c,
3277 normal/crypto.c and lib/libgcrypt-grub/cipher/md5.c.
3278 (grub_emu_CFLAGS): Add -Wno-missing-field-initializers -Wno-error
3279 -I$(srcdir)/lib/libgcrypt_wrap.
3280 * conf/common.rmk (normal_mod_SOURCES): Add normal/crypto.c.
3281 (pkglib_MODULES): Add crypto.mod, hashsum.mod, pbkdf2.mod and
3282 password_pbkdf2.mod.
3283 (crypto_mod_SOURCES): New variable.
3284 (crypto_mod_CFLAGS): Likewise.
3285 (crypto_mod_LDFLAGS): Likewise.
3286 (hashsum_mod_SOURCES): New variable.
3287 (hashsum_mod_CFLAGS): Likewise.
3288 (hashsum_mod_LDFLAGS): Likewise.
3289 (pbkdf2_mod_SOURCES): New variable.
3290 (pbkdf2_mod_CFLAGS): Likewise.
3291 (pbkdf2_mod_LDFLAGS): Likewise.
3292 (password_pbkdf2_mod_SOURCES): New variable.
3293 (password_pbkdf2_mod_CFLAGS): Likewise.
3294 (password_pbkdf2_mod_LDFLAGS): Likewise.
3295 (bin_UTILITIES): Add grub-mkpasswd-pbkdf2.
3296 (grub_mkpasswd_pbkdf2_SOURCES): New variable.
3297 (grub_mkpasswd_pbkdf2_CFLAGS): Likewise.
3298 Include conf/gcry.rmk.
3299 * include/grub/auth.h: Rewritten.
3300 * include/grub/crypto.h: New file.
3301 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_LUKS_ID.
3302 * include/grub/normal.h (read_crypto_list): New prototype.
3303 * lib/crypto.c: New file.
3304 * lib/libgcrypt_wrap/cipher_wrap.h: Likewise.
3305 * lib/pbkdf2.c: Likewise.
3306 * normal/auth.c (grub_auth_strcmp): Removed.
3307 (grub_iswordseparator): Likewise.
3308 (grub_auth_strword): Likewise.
3309 (is_authenticated): Use grub_strword.
3310 (grub_auth_check_authentication): Use grub_strcmp, grub_password_get
3311 and grub_strword. Pass entered password to authentication callback.
3312 * normal/crypto.c: New file.
3313 * normal/main.c: Call read_crypto_list.
3314 * util/grub-mkpasswd-pbkdf2.c: New file.
3315 * util/import_gcry.py: Generate crypto.lst. Add hash blocklen.
3316
42841caa
VS
33172010-01-06 Vladimir Serbinenko <phcoder@gmail.com>
3318
3319 Fix descent and ascent calculation.
3320
3321 * util/grub-mkfont.c (grub_font_info): New fields 'asce' and 'max_y'.
3322 (options): New option "asce".
3323 (usage): Likewise.
3324 (add_char): Ignore invalid glyphs for descent calculation.
3325 Calculate ascent from actual content.
3326 (print_glyphs): Use 'asce'.
3327 (write_font): Likewise. Allow ascent override.
3328 (main): Handle "asce" option.
3329
e7730de7 33302010-01-06 Carles Pina i Estany <carles@pina.cat>
3331
3332 * kern/err.c: Include `<grub/i18n.h>'.
3333 (grub_print_error): Add full stop. Gettextizze.
3334 * loader/i386/bsd.c (grub_netbsd_boot): Change grub_error description.
3335 (grub_bsd_load_elf): Capitalise ELF.
3336 (grub_cmd_freebsd_loadenv): Add `s' in error string.
3337 (grub_cmd_freebsd_module): Likewise.
3338 (grub_cmd_freebsd_module_elf): Likewise.
3339 * loader/i386/bsdXX.c (SUFFIX): Capitalise ELF.
3340
40e3a41f 33412010-01-06 Carles Pina i Estany <carles@pina.cat>
3342
3343 * commands/search.c (GRUB_MOD_INIT): Use HELP_MESSAGE.
3344 * commands/search_file.c (HELP_MESSAGE): New macro.
3345 * commands/search_label.c (HELP_MESSAGE): Likewise.
3346 * commands/search_uuid.c (HELP_MESSAGE): Likewise.
3347 * po/POTFILES: Add `commands/search_file.c',
3348 `commands/search_label.c', `commands_uuid.c'. Remove duplicate
3349 `commands/search.c'.
3350
83507e68
RM
33512010-01-05 Robert Millan <rmh.grub@aybabtu.com>
3352
3353 * config.rpath: Update from Gnulib.
3354
465c787b
YB
33552010-01-05 Yves Blusseau <blusseau@zetam.org>
3356
3357 * commands/acpi.c (grub_acpi_create_ebda): fix incorrect message.
3358
6581dd3a
YB
33592010-01-05 Yves Blusseau <yves.blusseau@zetam.org>
3360
3361 * util/sparc64/ieee1275/grub-mkimage.c (main): Typo fix.
3362
3bff18c5
CW
33632010-01-05 Colin Watson <cjwatson@ubuntu.com>
3364
3365 * util/mkisofs/write.c (padblock_write): Switch size and nmemb
3366 arguments to fread so that we get a return value in bytes, rather
3367 than something that will normally be rounded down to 0.
3368 Adjust error handling to avoid producing garbage when size_t is not
3369 the same size as long long.
3370
a1368118
CW
33712010-01-05 Colin Watson <cjwatson@ubuntu.com>
3372
3373 * util/mkisofs/write.c (padblock_write): Check return value of
3374 fread.
3375
7c302978
RM
33762010-01-05 Robert Millan <rmh.grub@aybabtu.com>
3377
3378 Remove grub-mkfloppy. Images produced by grub-mkrescue are valid
3379 floppy images now.
3380
3381 * util/i386/pc/grub-mkfloppy.in: Remove. Update all users.
3382
e33ace06
RM
33832010-01-04 Robert Millan <rmh.grub@aybabtu.com>
3384
3385 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Use ALIGN_UP macro
3386 instead of manual alignment.
3387 * kern/disk.c (grub_disk_read): Remove grub_dprintf call (excessively
3388 verbose). Avoid attempts to read past end of the device
3389 (grub_disk_adjust_range() guarantees that we can read `size' bytes,
3390 but GRUB_DISK_CACHE_SIZE may exceed that).
3391
4b856776
RM
33922010-01-04 Robert Millan <rmh.grub@aybabtu.com>
3393
3394 * commands/crc.c (grub_cmd_crc): Abort on read errors.
3395 * fs/iso9660.c (grub_iso9660_read): Check for read error and pass
3396 it to upper layer.
3397
52c2d97f
VS
33982010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
3399
3400 * include/grub/efi/api.h (GRUB_EFI_PIWG_DEVICE_PATH_SUBTYPE):
3401 New constant.
3402 (grub_efi_piwg_device_path): New structure
3403 (grub_efi_piwg_device_path_t): New type.
3404 * loader/efi/appleloader.c (piwg_full_device_path): New structure.
3405 (devpath_1): Transform to a structure. All users updated.
3406 (devpath_2): Likewise.
3407 (devpath_3): Likewise.
3408 (devpath_4): Likewise.
3409 (devpath_5): Likewise.
3410
98ff6a54
VS
34112010-01-04 Vladimir Serbinenko <phcoder@gmail.com>
3412
3413 * loader/efi/appleloader.c: Restored. Update all users.
3414
3a73dcb6
RM
34152010-01-03 Robert Millan <rmh.grub@aybabtu.com>
3416
3417 * boot/i386/pc/diskboot.S: Fix inaccurate comment.
3418
3419 * util/i386/pc/grub-setup.c: Include `<assert.h>'.
3420 (struct boot_blocklist): Move from here ...
3421 * include/grub/i386/pc/boot.h [ASM_FILE]
3422 (struct grub_boot_blocklist): ... to here. Update all users.
3423 (setup): Only initialize `start' member of `first_block'
3424 structure. Add assert() calls to verify the other members.
3425
3426 * util/i386/pc/grub-mkimage.c: Include `<assert.h>'.
3427 (generate_image): Fix broken blocklist length initialization.
3428 Add assert() call to verify blocklist `segment' field.
3429
ab0eeb0c
RM
34302010-01-03 Robert Millan <rmh.grub@aybabtu.com>
3431
3432 * loader/efi/appleloader.c: Remove. Update all users.
3433
58bc8bd5
RM
34342010-01-03 Robert Millan <rmh.grub@aybabtu.com>
3435
3436 * boot/i386/pc/boot.S: Update copyright year.
3437 * boot/i386/pc/cdboot.S: Likewise.
3438 * boot/i386/pc/diskboot.S: Likewise.
3439 * boot/i386/pc/lnxboot.S: Likewise.
3440 * boot/i386/pc/pxeboot.S: Likewise.
3441 * bus/pci.c: Likewise.
3442 * commands/cmp.c: Likewise.
3443 * commands/help.c: Likewise.
3444 * commands/hexdump.c: Likewise.
3445 * commands/i386/pc/halt.c: Likewise.
3446 * commands/i386/pc/play.c: Likewise.
3447 * commands/i386/pc/vbeinfo.c: Likewise.
3448 * commands/ls.c: Likewise.
3449 * commands/test.c: Likewise.
3450 * disk/dmraid_nvidia.c: Likewise.
3451 * disk/i386/pc/biosdisk.c: Likewise.
3452 * disk/ieee1275/nand.c: Likewise.
3453 * disk/ieee1275/ofdisk.c: Likewise.
3454 * disk/lvm.c: Likewise.
3455 * disk/raid.c: Likewise.
3456 * disk/raid6_recover.c: Likewise.
3457 * disk/scsi.c: Likewise.
3458 * fs/affs.c: Likewise.
3459 * fs/cpio.c: Likewise.
3460 * fs/ext2.c: Likewise.
3461 * fs/hfs.c: Likewise.
3462 * fs/iso9660.c: Likewise.
3463 * fs/ntfs.c: Likewise.
3464 * fs/sfs.c: Likewise.
3465 * fs/udf.c: Likewise.
3466 * fs/ufs.c: Likewise.
3467 * fs/xfs.c: Likewise.
3468 * gencmdlist.sh: Likewise.
3469 * genmk.rb: Likewise.
3470 * include/grub/disk.h: Likewise.
3471 * include/grub/efi/api.h: Likewise.
3472 * include/grub/efi/efi.h: Likewise.
3473 * include/grub/efi/pe32.h: Likewise.
3474 * include/grub/elf.h: Likewise.
3475 * include/grub/fs.h: Likewise.
3476 * include/grub/i386/at_keyboard.h: Likewise.
3477 * include/grub/i386/pc/memory.h: Likewise.
3478 * include/grub/i386/pc/vbe.h: Likewise.
3479 * include/grub/i386/pci.h: Likewise.
3480 * include/grub/i386/tsc.h: Likewise.
3481 * include/grub/ieee1275/ieee1275.h: Likewise.
3482 * include/grub/ntfs.h: Likewise.
3483 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
3484 * include/grub/sparc64/libgcc.h: Likewise.
3485 * include/grub/symbol.h: Likewise.
3486 * include/grub/types.h: Likewise.
3487 * include/multiboot2.h: Likewise.
3488 * io/gzio.c: Likewise.
3489 * kern/device.c: Likewise.
3490 * kern/disk.c: Likewise.
3491 * kern/efi/efi.c: Likewise.
3492 * kern/efi/mm.c: Likewise.
3493 * kern/elf.c: Likewise.
3494 * kern/file.c: Likewise.
3495 * kern/i386/dl.c: Likewise.
3496 * kern/i386/pc/init.c: Likewise.
3497 * kern/i386/pc/startup.S: Likewise.
3498 * kern/ieee1275/ieee1275.c: Likewise.
3499 * kern/ieee1275/init.c: Likewise.
3500 * kern/main.c: Likewise.
3501 * kern/mm.c: Likewise.
3502 * kern/powerpc/dl.c: Likewise.
3503 * kern/sparc64/dl.c: Likewise.
3504 * kern/x86_64/dl.c: Likewise.
3505 * lib/hexdump.c: Likewise.
3506 * loader/efi/appleloader.c: Likewise.
3507 * loader/i386/ieee1275/linux.c: Likewise.
3508 * loader/i386/pc/chainloader.c: Likewise.
3509 * loader/i386/pc/linux.c: Likewise.
3510 * loader/i386/pc/multiboot2.c: Likewise.
3511 * loader/ieee1275/multiboot2.c: Likewise.
3512 * loader/multiboot2.c: Likewise.
3513 * loader/multiboot_loader.c: Likewise.
3514 * loader/powerpc/ieee1275/linux.c: Likewise.
3515 * normal/completion.c: Likewise.
3516 * normal/menu_entry.c: Likewise.
3517 * partmap/apple.c: Likewise.
3518 * util/grub.d/10_hurd.in: Likewise.
3519 * util/hostfs.c: Likewise.
3520 * video/readers/png.c: Likewise.
3521
e2d70b5c
CW
35222010-01-03 Colin Watson <cjwatson@ubuntu.com>
3523
3524 * include/grub/misc.h (GNUC_PREREQ): New macro.
3525 (ATTRIBUTE_ERROR): New macro.
3526 * include/grub/list.h (grub_bad_type_cast_real): Use
3527 ATTRIBUTE_ERROR.
3528
a173283f 35292010-01-03 Carles Pina i Estany <carles@pina.cat>
3530
3531 * normal/menu_text.c (print_message): Change messages.
3532
7fa7ff74 35332010-01-03 Carles Pina i Estany <carles@pina.cat>
3534
3535 * normal/menu_entry.c (store_completion): Gettextizze.
3536
136d24f6 35372010-01-03 Carles Pina i Estany <carles@pina.cat>
3538
3539 * kern/env.c (grub_env_unset): Set the variable to "" if has hooks.
3540
f936862e 35412010-01-03 Carles Pina i Estany <carles@pina.cat>
3542
3543 * po/POTFILES: Sort correctly.
3544
29c44ad1 35452010-01-03 Carles Pina i Estany <carles@pina.cat>
3546
3547 * commands/acpi.c (GRUB_MOD_INIT): Capitalise some words from help.
3548 * commands/efi/loadbios.c (GRUB_MOD_INIT): Capitalise BIOS.
3549 * commands/i386/pc/drivemap.c (GRUB_MOD_INIT): Remove space. Add
3550 full stop.
3551 * commands/loadenv.c (GRUB_MOD_INIT): Remove command name from
3552 summary. Gettextizze the strings.
3553 * commands/probe.c (grub_cmd_probe): Capitalise UUID and FS.
3554 * commands/xnu_uuid.c (GRUB_MOD_INIT): Capitalise XNU.
3555 * disk/loopback.c (grub_arg_options): Capitalise first letter. Add
3556 full stop.
3557 (GRUB_MOD_INIT): Remove command name from summary.
3558 * hello/hello.c (GRUD_MOT_INIT): Add missing full stop. Improve the
3559 summary.
3560 * loader/i386/bsd.c (grub_arg_option): Capitalise CDROM.
3561 * term/i386/pc/serial.c (options): Add full stops.
3562 (GRUB_MOD_INIT): Remove command name from the summary.
3563
77a79592 35642010-01-03 Carles Pina i Estany <carles@pina.cat>
3565
3566 * commands/acpi.c: Gettextizze help strings and/or options. Include
3567 `grub/i18n.h' if needed.
3568 * commands/blocklist.c: Likewise.
3569 * commands/boot.c: Likewise.
3570 * commands/cat.c: Likewise.
3571 * commands/cmp.c: Likewise.
3572 * commands/configfile.c: Likewise.
3573 * commands/crc.c: Likewise.
3574 * commands/date.c: Likewise.
3575 * commands/echo.c: Likewise.
3576 * commands/efi/fixvideo.c: Likewise.
3577 * commands/efi/loadbios.c: Likewise.
3578 * commands/gptsync.c: Likewise.
3579 * commands/halt.c: Likewise.
3580 * commands/handler.c: Likewise.
3581 * commands/hdparm.c: Likewise.
3582 * commands/hexdump.c: Likewise.
3583 * commands/i386/cpuid.c: Likewise.
3584 * commands/i386/pc/drivemap.c: Likewise.
3585 * commands/i386/pc/halt.c: Likewise.
3586 * commands/i386/pc/pxecmd.c: Likewise.
3587 * commands/i386/pc/vbeinfo.c: Likewise.
3588 * commands/i386/pc/vbetest.c: Likewise.
3589 * commands/ieee1275/suspend.c: Likewise.
3590 * commands/keystatus.c: Likewise.
3591 * commands/loadenv.c: Likewise.
3592 * commands/ls.c: Likewise.
3593 * commands/lsmmap.c: Likewise.
3594 * commands/lspci.c: Likewise.
3595 * commands/memrw.c: Likewise.
3596 * commands/minicmd.c: Likewise.
3597 * commands/parttool.c: Likewise.
3598 * commands/password.c: Likewise.
3599 * commands/probe.c: Likewise.
3600 * commands/read.c: Likewise.
3601 * commands/reboot.c: Likewise.
3602 * commands/search.c: Likewise.
3603 * commands/sleep.c: Likewise.
3604 * commands/test.c: Likewise.
3605 * commands/true.c: Likewise.
3606 * commands/usbtest.c: Likewise.
3607 * commands/videotest.c: Likewise.
3608 * commands/xnu_uuid.c: Likewise.
3609 * disk/loopback.c: Likewise.
3610 * hello/hello.c: Likewise.
3611 * loader/i386/bsd.c: Likewise.
3612 * term/i386/pc/serial.c: Likewise.
3613 * po/POTFILES: Add new files.
3614
da8d5c53
CW
36152010-01-02 Colin Watson <cjwatson@ubuntu.com>
3616
3617 * term/i386/pc/at_keyboard.c
3618 (keyboard_controller_wait_untill_ready): Rename to ...
3619 (keyboard_controller_wait_until_ready): ... this. Update all users.
3620
33937904 36212010-01-01 Carles Pina i Estany <carles@pina.cat>
3622
3623 * commands/help.c: Include `grub/mm.h' and `grub/normal.h'.
3624 (grub_cmd_help): Print the cmd->name before the cmd->summary. Cut the
3625 string using string width.
3626 * normal/menu_text.c (grub_print_message_indented): Use
3627 grub_print_spaces and not print_spaces.
3628 (print_timeout): Likewise.
3629 (print_spaces): Move to...
3630 * include/grub/term.h: ... here. Change the name to grub_print_spaces.
3631
3fd3b8d8
RM
36322010-01-01 Robert Millan <rmh.grub@aybabtu.com>
3633
3634 Import from Gnulib.
3635
3636 * gnulib/getdelim.c: New file.
3637 * gnulib/getline.c: Likewise.
3638
33433555
VS
36392009-12-31 BVK Chaitanya <bvk.groups@gmail.com>
3640
3641 * include/grub/list.h (grub_assert_fail): Removed.
3642 (grub_bad_type_cast_real): New function.
3643 (grub_bad_type_cast): New macro.
3644 (GRUB_AS_LIST): Use grub_bad_type_cast.
3645 (GRUB_AS_LIST_P): Likewise.
e44721e8 3646 (GRUB_AS_NAMED_LIST): Likewise.
33433555 3647 (GRUB_AS_NAMED_LIST_P): Likewise.
e44721e8 3648 (GRUB_AS_PRIO_LIST): Likewise.
33433555 3649 (GRUB_AS_PRIO_LIST_P): Likewise.
e44721e8 3650 * include/grub/handler.h (GRUB_AS_HANDLER): Likewise.
33433555 3651
f5a51306
VS
36522009-12-29 Vladimir Serbinenko <phcoder@gmail.com>
3653
3654 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT (linux)):
3655 Fix syntax error.
3656
90d1e879
RM
36572009-12-29 Robert Millan <rmh.grub@aybabtu.com>
3658
3659 * configure.ac: Check for TARGET_CFLAGS initialization before we
3660 initialize it ourselves (sigh).
3661 Move a few modifications to TARGET_CFLAGS to be unconditional
3662 (extra warning flags, loop alignment, i386 CPU extensions, GCC 4.4
3663 eh_frame)
3664
3665 * gettext/gettext.c (grub_gettext_delete_list): Add `void' argument.
3666 * term/i386/pc/at_keyboard.c
3667 (keyboard_controller_wait_untill_ready): Likewise.
3668 (keyboard_controller_led): Rename `led_status' paramter to avoid
3669 name conflict.
3670
465b5a81 36712009-12-28 Carles Pina i Estany <carles@pina.cat>
3672
3673 * normal/misc.c (grub_normal_print_device_info): Add spaces and double
3674 quotes.
3675
c181849b
VS
36762009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
3677
3678 * kern/parser.c (grub_parser_split_cmdline): Don't dereference NULL.
3679
9c8739a4
VS
36802009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
3681
3682 * normal/menu_text.c (grub_print_message_indented): Prevent
3683 past-the-end-of-array dereference.
3684
3e74249c
VS
36852009-12-27 Vladimir Serbinenko <phcoder@gmail.com>
3686
3687 * video/readers/jpeg.c (GRUB_MOD_FINI (grub_cmd_jpegtest)): Rename to ..
3688 (GRUB_MOD_FINI (video_reader_jpeg)): ...this
3689
64fd18ed 36902009-12-27 Carles Pina i Estany <carles@pina.cat>
3691
3692 * normal/cmdline.c (grub_cmdline_get): Print a space after prompt.
3693 * normal/main.c (grub_normal_read_line): Remove a space from the
3694 default prompt.
3695
714af9b9 36962009-12-27 Carles Pina i Estany <carles@pina.cat>
3697
3698 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Improve command summary.
3699 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
3700 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
3701 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
3702 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
3703 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
3704 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
3705
82f3e412 37062009-12-26 Carles Pina i Estany <carles@pina.cat>
c541b01a 3707
3708 * video/readers/jpeg.c (cmd): Declare.
3709 (grub_cmd_jpegtest): Use `grub_command_t' type.
3710 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
3711 Assign to `cmd'.
3712 (GRUB_MOD_FINI): Use `cmd' to unregister.
3713 * video/readers/png.c (cmd): Declare.
3714 (grub_cmd_pngtest): Use `grub_command_t' type.
3715 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
3716 Assign to `cmd'.
3717 (GRUB_MOD_FINI): Use `cmd' to unregister.
3718 * video/readers/tga.c (cmd): Declare.
3719 (grub_cmd_tgatest): Use `grub_command_t' type.
3720 (GRUB_MOD_INIT): Fix arguments passed to `grub_register_command'.
3721 Assign to `cmd'.
3722 (GRUB_MOD_FINI): Use `cmd' to unregister.
3723
82f3e412 37242009-12-26 Carles Pina i Estany <carles@pina.cat>
864ba2bb 3725
3726 * efiemu/main.c (GRUB_MOD_INIT): Fix capitalizations and/or full
3727 stops.
3728 * kern/corecmd.c (grub_register_core_commands): Likewise.
3729 * loader/efi/chainloader.c (GRUB_MOD_INIT): Likewise.
3730 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
3731 * loader/i386/efi/linux.c (GRUB_MOD_INIT): Likewise.
3732 * loader/i386/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
3733 * loader/i386/linux.c (GRUB_MOD_INIT): Likewise.
3734 * loader/i386/pc/chainloader.c (GRUB_MOD_INIT): Likewise.
3735 * loader/i386/pc/linux.c (GRUB_MOD_INIT): Likewise.
3736 * loader/multiboot_loader.c (GRUB_MOD_INIT): Likewise.
3737 * loader/powerpc/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
3738 * loader/sparc64/ieee1275/linux.c (GRUB_MOD_INIT): Likewise.
3739 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
3740 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
3741 * normal/handler.c (insert_handler): Likewise.
3742 * normal/main.c (GRUB_MOD_INIT): Likewise.
3743 * term/gfxterm.c (GRUB_MOD_INIT): Likewise.
3744
fdcdbb66 37452009-12-26 Carles Pina i Estany <carles@pina.cat>
3746
3747 * commands/help.c (grub_cmd_help): Print the command name before the
3748 summary.
3749 (GRUB_MOD_INIT): Remove command name from the summary.
3750 * kern/command.c (GRUB_MOD_INIT): If summary is null assign an empty
82f3e412 3751 string as summary.
fdcdbb66 3752 * lib/arg.c (find_long): Print the command name before the summary.
3753 * commands/acpi.c (GRUB_MOD_INIT): Remove command name from the
3754 summary.
3755 * commands/blocklist.c (GRUB_MOD_INIT): Likewise.
3756 * commands/cat.c (GRUB_MOD_INIT): Likewise.
3757 * commands/cmp.c (GRUB_MOD_INIT): Likewise.
3758 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
3759 * commands/crc.c (GRUB_MOD_INIT): Likewise.
3760 * commands/date.c (GRUB_MOD_INIT): Likewise.
3761 * commands/echo.c (GRUB_MOD_INIT): Likewise.
3762 * commands/efi/loadbios.c (GRUB_MOD_INIT): Likewise.
3763 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
3764 * commands/handler.c (GRUB_MOD_INIT): Likewise.
3765 * commands/hdparm.c (GRUB_MOD_INIT): Likewise.
3766 * commands/hexdump.c (GRUB_MOD_INIT): Likewise.
3767 * commands/i386/cpuid.c (GRUB_MOD_INIT): Likewise.
3768 * commands/i386/pc/halt.c (GRUB_MOD_INIT): Likewise.
3769 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
3770 * commands/i386/pc/pxecmd.c (GRUB_MOD_INIT): Likewise.
3771 * commands/keystatus.c (GRUB_MOD_INIT): Likewise.
3772 * commands/loadenv.c (GRUB_MOD_INIT): Likewise.
3773 * commands/ls.c (GRUB_MOD_INIT): Likewise.
3774 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
3775 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
3776 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
3777 * commands/parttool.c (GRUB_MOD_INIT): Likewise.
3778 * commands/password.c (GRUB_MOD_INIT): Likewise.
3779 * commands/probe.c (GRUB_MOD_INIT): Likewise.
3780 * commands/read.c (GRUB_MOD_INIT): Likewise.
3781 * commands/search.c (GRUB_MOD_INIT): Likewise.
3782 * commands/sleep.c (GRUB_MOD_INIT): Likewise.
3783 * commands/test.c (GRUB_MOD_INIT): Likewise.
3784 * commands/xnu_uuid.c (GRUB_MOD_INIT): Likewise.
3785 * efiemu/main.c (GRUB_MOD_INIT): Likewise.
3786 * font/font_cmd.c (GRUB_MOD_INIT): Likewise.
3787 * gettext/gettext.c (GRUB_MOD_INIT): Likewise.
3788 * kern/corecmd.c (GRUB_MOD_INIT): Likewise.
3789 * lib/arg.c (GRUB_MOD_INIT): Likewise.
3790 * loader/efi/appleloader.c (GRUB_MOD_INIT): Likewise.
3791 * loader/i386/bsd.c (GRUB_MOD_INIT): Likewise.
3792 * loader/xnu.c (GRUB_MOD_INIT): Likewise.
3793 * mmap/mmap.c (GRUB_MOD_INIT): Likewise.
3794 * term/terminfo.c (GRUB_MOD_INIT): Likewise.
3795 * video/readers/jpeg.c (GRUB_MOD_INIT): Likewise.
3796 * video/readers/png.c (GRUB_MOD_INIT): Likewise.
3797 * video/readers/tga.c (GRUB_MOD_INIT): Likewise.
3798
9c288be2
VS
37992009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3800
3801 Use search command for preliminar UUID search.
3802
3803 * commands/search.c: Split into ...
3804 * commands/search_wrap.c: ...this
3805 * commands/search.c: ...and this.
3806 * commands/search_file.c: New file.
3807 * commands/search_label.c: New file.
3808 * commands/search_uuid.c: New file.
3809 * conf/any-emu.rmk (grub_emu_SOURCES): Remove commands/search.c.
3810 Add commands/search_wrap.c, commands/search_file.c,
3811 commands/search_label.c and commands/search_uuid.c.
3812 * conf/common.rmk (pkglib_MODULES): Remove fs_uuid.mod and fs_file.mod.
3813 (search_mod_SOURCES): Set to commands/search_wrap.c.
3814 (pkglib_MODULES): Add search_fs_file.mod, search_fs_uuid.mod and
3815 search_label.mod.
3816 (search_fs_file_mod_SOURCES): New variable.
3817 (search_fs_file_mod_CFLAGS): Likewise.
3818 (search_fs_file_mod_LDFLAGS): Likewise.
3819 (search_label_mod_SOURCES): Likewise.
3820 (search_label_mod_CFLAGS): Likewise.
3821 (search_label_mod_LDFLAGS): Likewise.
3822 (search_fs_uuid_mod_SOURCES): New variable.
3823 (search_fs_uuid_mod_CFLAGS): Likewise.
3824 (search_fs_uuid_mod_LDFLAGS): Likewise.
3825 (fs_file_mod_SOURCES): Removed.
3826 (fs_file_mod_CFLAGS): Likewise.
3827 (fs_file_mod_LDFLAGS): Likewise.
3828 (fs_uuid_mod_SOURCES): Removed.
3829 (fs_uuid_mod_CFLAGS): Likewise.
3830 (fs_uuid_mod_LDFLAGS): Likewise.
3831 * conf/sparc64-ieee1275.rmk (grub_install_SOURCES):
3832 Set to util/grub-install.in.
3833 * disk/fs_file.c: Removed.
3834 * disk/fs_uuid.c: Likewise.
3835 * include/grub/search.h: New file.
3836 * util/grub-install.in: Handle sparc64.
3837 Create and use load.cfg.
3838 * util/sparc64/ieee1275/grub-install.in: Removed.
3839
db943399
VS
38402009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3841
3842 * kern/i386/pc/startup.S (grub_biosdisk_get_diskinfo_int13_extensions):
3843 Ignore return status if CF is cleared.
3844 (grub_biosdisk_get_diskinfo_standard): Likewise.
3845
3fdae612
RM
38462009-12-25 Robert Millan <rmh.grub@aybabtu.com>
3847
3848 * term/i386/pc/at_keyboard.c
3849 (keyboard_controller_wait_untill_ready): New function.
3850 (grub_keyboard_controller_write, grub_keyboard_controller_read)
3851 (keyboard_controller_led): Use keyboard_controller_wait_untill_ready()
3852 for keyboard polling, rather than duplicate the same loop. This
3853 saves a few bytes in code size.
3854
7ebaa2b4
VS
38552009-12-25 Vladimir Serbinenko <phcoder@gmail.com>
3856
3857 Support for (pxe[:server[:gateway]]) syntax and
3858 use environment variable for PXE.
3859
3860 * commands/i386/pc/pxecmd.c (options): Removed.
3861 (print_ip): Removed.
3862 (grub_cmd_pxe): Removed
3863 (grub_cmd_pxe_unload): New function.
3864 * fs/i386/pc/pxe.c (grub_pxe_disk_data): New structure.
3865 (grub_pxe_your_ip): Made static.
3866 (grub_pxe_default_server_ip): Likewise.
3867 (grub_pxe_default_gateway_ip): Likewise.
3868 (grub_pxe_blksize): Likewise.
3869 (parse_ip): New function.
3870 (grub_pxe_open): Support server and gateway specification.
3871 (grub_pxe_close): Free disk->data.
3872 (grub_pxefs_open): Use disk->data.
3873 (grub_pxefs_read): Likewise.
3874 (grub_env_write_readonly): New function.
3875 (set_mac_env): Likewise.
3876 (set_env_limn_ro): Likewise.
3877 (parse_dhcp_vendor): Likewise.
3878 (grub_pxe_detect): Set the environment variables.
3879 (set_ip_env): New function.
3880 (write_ip_env): Likewise.
3881 (grub_env_write_pxe_default_server): Likewise.
3882 (grub_env_write_pxe_default_gateway): Likewise.
3883 (grub_env_write_pxe_blocksize): Likewise.
3884 (GRUB_MOD_INIT(pxe)): Set environment variables.
3885 * include/grub/i386/pc/pxe.h (grub_pxe_mac_addr): Rename to ...
3886 (grub_pxe_mac_addr_t): ... this. All users updated.
3887 (grub_pxe_your_ip): Removed.
3888 (grub_pxe_server_ip): Likewise.
3889 (grub_pxe_gateway_ip): Likewise.
3890 (grub_pxe_blksize): Likewise.
3891
ec5f98ab 38922009-12-25 Carles Pina i Estany <carles@pina.cat>
3893
3894 * commands/help.c: Include `<grub/i18n.h>'.
3895 (grub_cmd_help): Gettextizze.
3896 (GRUB_MOD_INIT): Likewise.
3897 * commands/i386/pc/play.c: Include `<grub/i18n.h>'.
3898 (GRUB_MOD_INIT): Gettextizze.
3899 * commands/search.c: Include `<grub/i18n.h>'.
3900 (options): Gettextizze.
3901 (GRUB_MOD_INIT): Gettextizze.
3902 * lib/arg.c: Include `<grub/i18n.h>'.
3903 (help_options): Gettextizze.
3904 (find_long): Likewise.
3905 (grub_arg_show_help): Likewise.
3906 * normal/dyncmd.c: Include `<grub/i18n.h>'.
3907 (read_command_list): Gettextizze.
3908 * po/POTFILES: Add `commands/i386/pc/play.c', `commands/search.c',
7ebaa2b4 3909 `commands/help.c', `lib/arg.c' and `normal/dyncmd.c'.
ec5f98ab 3910
22815526
RM
39112009-12-25 Robert Millan <rmh.grub@aybabtu.com>
3912
3913 * include/grub/i386/at_keyboard.h (NUM_LOCK, SCROLL_LOCK): New macros.
3914 * term/i386/pc/at_keyboard.c (KEYBOARD_STATUS_NUM_LOCK)
3915 (KEYBOARD_LED_SCROLL, KEYBOARD_LED_NUM, KEYBOARD_LED_CAPS): New macros.
3916 (led_status): New variable.
3917 (keyboard_controller_led): New function.
3918 (grub_at_keyboard_getkey_noblock): Handle num lock and scroll lock,
3919 update led status for caps lock, num lock and scroll lock.
3920
0ad46fd7
FZ
39212009-12-25 Felix Zielcke <fzielcke@z-51.de>
3922
3923 * util/hostdisk.c (open_device): Fix a comment.
3924
d0e158c2
RM
39252009-12-24 Robert Millan <rmh.grub@aybabtu.com>
3926
3927 * util/grub-install.in (host_os): New variable.
3928 * util/i386/efi/grub-install.in (host_os): Likewise.
3929
401c0ad6
RM
39302009-12-24 Robert Millan <rmh.grub@aybabtu.com>
3931
3932 * util/mkisofs/write.c (padblock_write): Abort when given an
3933 excedingly large embed image, instead of silently truncating it.
3934
d14d3370
RM
39352009-12-24 Robert Millan <rmh.grub@aybabtu.com>
3936
3937 * include/multiboot.h: Indentation fixes.
3938
eeed10b4
RM
39392009-12-24 Robert Millan <rmh.grub@aybabtu.com>
3940
3941 * include/multiboot.h (struct multiboot_aout_symbol_table)
3942 (struct multiboot_elf_section_header_table): New structure
3943 declarations (stolen from GRUB Legacy).
3944 (struct multiboot_info): Replace opaque `syms' with a.out and ELF
3945 table information.
3946
3947 (multiboot_aout_symbol_table_t, multiboot_elf_section_header_table_t)
3948 (multiboot_info_t, multiboot_memory_map_t, multiboot_module_t): New
3949 type aliases.
3950
681c70ab
RM
39512009-12-24 Robert Millan <rmh.grub@aybabtu.com>
3952
3953 * include/multiboot.h: Make comments src2texi-friendly.
3954
e4d47d8d
RM
39552009-12-24 Robert Millan <rmh.grub@aybabtu.com>
3956
3957 For consistency with [multiboot]/docs/boot.S.
3958
3959 * include/multiboot.h (MULTIBOOT_MAGIC): Rename from this ...
3960 (MULTIBOOT_HEADER_MAGIC): ... to this. Update all users.
3961 (MULTIBOOT_MAGIC2): Rename from this ...
3962 (MULTIBOOT_BOOTLOADER_MAGIC): ... to this. Update all users.
3963
a0b70bda
RM
39642009-12-24 Robert Millan <rmh.grub@aybabtu.com>
3965
3966 * include/multiboot.h: Remove `<grub/types.h>'.
3967 (multiboot_uint16_t, multiboot_uint32_t, multiboot_uint64_t): New
3968 types. Update all users.
3969
61ba42be 39702009-12-25 Carles Pina i Estany <carles@pina.cat>
3971
3972 * commands/efi/loadbios.c: Capitalize acronyms, replace `could not' by
3973 `couldn't' and `can not' by `cannot'.
3974 * commands/i386/pc/drivemap.c: Likewise.
3975 * disk/ata.c: Likewise.
3976 * disk/ieee1275/nand.c: Likewise.
3977 * fs/affs.c: Likewise.
3978 * fs/fat.c: Likewise.
3979 * fs/hfs.c: Likewise.
3980 * fs/hfsplus.c: Likewise.
3981 * fs/iso9660.c: Likewise.
3982 * fs/jfs.c: Likewise.
3983 * fs/minix.c: Likewise.
3984 * fs/reiserfs.c: Likewise.
3985 * fs/sfs.c: Likewise.
3986 * fs/udf.c: Likewise.
3987 * fs/ufs.c: Likewise.
3988 * fs/xfs.c: Likewise.
3989 * loader/powerpc/ieee1275/linux.c: Likewise.
3990 * loader/sparc64/ieee1275/linux.c: Likewise.
3991 * util/grub-probe.c: Likewise.
3992 * util/misc.c: Likewise.
3993
7fd0baee 39942009-12-24 Carles Pina i Estany <carles@pina.cat>
3995
3996 * bus/usb/usbhub.c: Fix capitalization, fullstop and newlines in
3997 grub_errno calls.
3998 * commands/acpi.c: Likewise.
3999 * commands/blocklist.c: Likewise.
4000 * commands/efi/loadbios.c: Likewise.
4001 * commands/i386/pc/drivemap.c: Likewise.
4002 * commands/loadenv.c: Likewise.
4003 * commands/memrw.c: Likewise.
4004 * commands/password.c: Likewise.
4005 * commands/videotest.c: Likewise.
4006 * disk/ata.c: Likewise.
4007 * disk/ata_pthru.c: Likewise.
4008 * disk/dmraid_nvidia.c: Likewise.
4009 * disk/ieee1275/nand.c: Likewise.
4010 * disk/ieee1275/ofdisk.c: Likewise.
4011 * disk/loopback.c: Likewise.
4012 * disk/lvm.c: Likewise.
4013 * disk/mdraid_linux.c: Likewise.
4014 * disk/raid.c: Likewise.
4015 * disk/raid6_recover.c: Likewise.
4016 * disk/scsi.c: Likewise.
4017 * efiemu/main.c: Likewise.
4018 * efiemu/mm.c: Likewise.
4019 * efiemu/pnvram.c: Likewise.
4020 * efiemu/symbols.c: Likewise.
4021 * font/font.c: Likewise.
4022 * fs/cpio.c: Likewise.
4023 * fs/hfsplus.c: Likewise.
4024 * fs/iso9660.c: Likewise.
4025 * fs/jfs.c: Likewise.
4026 * fs/minix.c: Likewise.
4027 * fs/ntfs.c: Likewise.
4028 * fs/ntfscomp.c: Likewise.
4029 * fs/reiserfs.c: Likewise.
4030 * fs/ufs.c: Likewise.
4031 * fs/xfs.c: Likewise.
4032 * gettext/gettext.c: Likewise.
4033 * include/grub/auth.h: Likewise.
4034 * kern/elf.c: Likewise.
4035 * kern/file.c: Likewise.
4036 * kern/ieee1275/init.c: Likewise.
4037 * kern/ieee1275/mmap.c: Likewise.
4038 * kern/ieee1275/openfw.c: Likewise.
4039 * kern/powerpc/dl.c: Likewise.
4040 * kern/sparc64/dl.c: Likewise.
4041 * lib/arg.c: Likewise.
4042 * loader/i386/bsd.c: Likewise.
4043 * loader/i386/bsdXX.c: Likewise.
4044 * loader/i386/efi/linux.c: Likewise.
4045 * loader/i386/efi/xnu.c: Likewise.
4046 * loader/i386/ieee1275/linux.c: Likewise.
4047 * loader/i386/linux.c: Likewise.
4048 * loader/i386/multiboot.c: Likewise.
4049 * loader/i386/pc/linux.c: Likewise.
4050 * loader/i386/pc/multiboot2.c: Likewise.
4051 * loader/i386/xnu.c: Likewise.
4052 * loader/ieee1275/multiboot2.c: Likewise.
4053 * loader/macho.c: Likewise.
4054 * loader/machoXX.c: Likewise.
4055 * loader/multiboot2.c: Likewise.
4056 * loader/multiboot_loader.c: Likewise.
4057 * loader/powerpc/ieee1275/linux.c: Likewise.
4058 * loader/sparc64/ieee1275/linux.c: Likewise.
4059 * loader/xnu.c: Likewise.
4060 * loader/xnu_resume.c: Likewise.
4061 * mmap/i386/pc/mmap.c: Likewise.
4062 * normal/menu_viewer.c: Likewise.
4063 * partmap/acorn.c: Likewise.
4064 * partmap/amiga.c: Likewise.
4065 * partmap/apple.c: Likewise.
4066 * script/lexer.c: Likewise.
4067 * term/gfxterm.c: Likewise.
4068 * term/i386/pc/serial.c: Likewise.
4069 * term/i386/pc/vga.c: Likewise.
4070 * term/ieee1275/ofconsole.c: Likewise.
4071 * term/terminfo.c: Likewise.
4072 * video/bitmap.c: Likewise.
4073 * video/efi_gop.c: Likewise.
4074 * video/efi_uga.c: Likewise.
4075 * video/fb/video_fb.c: Likewise.
4076 * video/i386/pc/vbe.c: Likewise.
4077 * video/readers/tga.c: Likewise.
4078 * video/video.c: Likewise.
4079
0ad46fd7 40802009-12-23 Felix Zielcke <fzielcke@z-51.de>
a2c1332b
FZ
4081
4082 * commands/i386/pc/drivemap.c: Remove all trailing whitespace.
4083 * commands/lspci.c: Likewise.
4084 * commands/probe.c: Likewise.
4085 * commands/xnu_uuid.c: Likewise.
4086 * conf/i386-coreboot.rmk: Likewise.
4087 * conf/i386-efi.rmk: Likewise.
4088 * conf/i386-ieee1275.rmk: Likewise.
4089 * conf/i386-pc.rmk: Likewise.
4090 * conf/powerpc-ieee1275.rmk: Likewise.
4091 * conf/sparc64-ieee1275.rmk: Likewise.
4092 * conf/x86_64-efi.rmk: Likewise.
4093 * fs/i386/pc/pxe.c: Likewise.
4094 * gettext/gettext.c: Likewise.
4095 * include/grub/efi/graphics_output.h: Likewise.
4096 * include/grub/i386/pc/memory.h: Likewise.
4097 * kern/env.c: Likewise.
4098 * kern/i386/qemu/startup.S: Likewise.
4099 * lib/i386/pc/biosnum.c: Likewise.
4100 * lib/i386/relocator.c: Likewise.
4101 * lib/i386/relocator_asm.S: Likewise.
4102 * lib/relocator.c: Likewise.
4103 * loader/i386/bsd.c: Likewise.
4104 * loader/i386/multiboot.c: Likewise.
4105 * loader/i386/pc/chainloader.c: Likewise.
4106 * loader/i386/xnu.c: Likewise.
4107 * loader/xnu.c: Likewise.
4108 * normal/main.c: Likewise.
4109 * normal/menu_text.c: Likewise.
4110 * util/getroot.c: Likewise.
4111 * util/grub-mkconfig_lib.in: Likewise.
4112 * util/grub.d/00_header.in: Likewise.
4113 * util/i386/pc/grub-mkimage.c: Likewise.
4114 * util/mkisofs/eltorito.c: Likewise.
4115 * util/mkisofs/exclude.h: Likewise.
4116 * util/mkisofs/hash.c: Likewise.
4117 * util/mkisofs/iso9660.h: Likewise.
4118 * util/mkisofs/joliet.c: Likewise.
4119 * util/mkisofs/mkisofs.c: Likewise.
4120 * util/mkisofs/mkisofs.h: Likewise.
4121 * util/mkisofs/multi.c: Likewise.
4122 * util/mkisofs/name.c: Likewise.
4123 * util/mkisofs/rock.c: Likewise.
4124 * util/mkisofs/tree.c: Likewise.
4125 * util/mkisofs/write.c: Likewise.
4126 * video/efi_gop.c: Likewise.
4127
009ec743
VS
41282009-12-23 Vladimir Serbinenko <phcoder@gmail.com>
4129
4130 * video/efi_gop.c (grub_video_gop_get_bitmask): Fix off-by-one in mask
4131 size counting.
4132
0ad46fd7 41332009-12-22 Felix Zielcke <fzielcke@z-51.de>
990f3548
FZ
4134
4135 * util/grub-mkrescue.in (pkglib_DATA): Set to @pkglib_DATA@.
4136 * genmk.rb (class SCRIPT): Modify the target file instead of source.
4137
d3d30ea0
VS
41382009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
4139
4140 * commands/memrw.c (grub_cmd_write): Support for mask parameter.
4141 (GRUB_MOD_INIT(memrw)): Update help line.
4142
a34f5c70
VS
41432009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
4144
4145 * commands/memrw.c (cmd_read_byte, cmd_read_word, cmd_read_dword):
4146 Use grub_extcmd_t. All users updated.
4147 (options): New variable.
4148 (grub_cmd_read): Restructure for readability. Support "-v" option.
4149 (grub_cmd_write): Restructure for readability.
4150
0ad46fd7 41512009-12-22 Felix Zielcke <fzielcke@z-51.de>
67618ea6
FZ
4152
4153 * genmk.rb (class SCRIPT): Prepend #{src} path with $(srcdir).
4154
0ad46fd7 41552009-12-22 Felix Zielcke <fzielcke@z-51.de>
10a88797
FZ
4156
4157 * genmk.rb (class SCRIPT): Use sed to substitute @pkglib_DATA@
4158 with the actual contents of the correspondending make variable.
4159 * util/grub-mkrescue.in (pkglib_DATA): New variable.
4160 (process_input_dir): Copy all $pkglib_DATA files instead of explicitly
4161 specifying `*.lst' and `efiemu??.o'
4162
0ad46fd7 41632009-12-22 Felix Zielcke <fzielcke@z-51.de>
7e70dfff
FZ
4164
4165 * util/grub.d/30_os-prober.in (osx_entry): Add round brackets
4166 after function name.
4167 Noticed by Rene Engelhard <rene@debian.org>.
4168
dc77a799
VS
41692009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
4170
4171 * commands/lspci.c (grub_pci_classes): Add "USB Controller".
4172 (options): New variable.
4173 (iospace): Likewise.
4174 (grub_lspci_iter): List IO spaces if "-i" was given.
4175 (grub_cmd_lspci): Parse options.
4176 (GRUB_MOD_INIT(lspci)): Use extcmd.
4177 (GRUB_MOD_FINI(lspci)): Likewise.
4178
0ad46fd7 41792009-12-22 Felix Zielcke <fzielcke@z-51.de>
82000aa2
FZ
4180
4181 * util/grub.d/30_os-prober.in (osx_entry): Remove non POSIX compliant
4182 `function' keyword.
4183 Patch by Tony Mancill <tmancill@debian.org>.
4184
b5d5993b
VS
41852009-12-22 Vladimir Serbinenko <phcoder@gmail.com>
4186
4187 * bus/usb/uhci.c (grub_uhci_transfer): Set a limit transaction time.
4188 (grub_uhci_portstatus): Likewise.
4189 (grub_uhci_portstatus): Add necessary delay.
11d18281 4190 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Fix loop-break condition.
b5d5993b 4191
941903f2 41922009-12-21 Carles Pina i Estany <carles@pina.cat>
b5d5993b 4193
941903f2 4194 * commands/acpi.c (options): Fix capitalizations and/or full stops.
4195 (GRUB_MOD_INIT): Likewise.
4196 * commands/boot.c (GRUB_MOD_INIT): Likewise.
cb04503e 4197 * commands/cmp.c (grub_cmd_cmp): Improve the help message.
4198 * commands/echo.c (options): Fix capitalizations and/or full stops.
941903f2 4199 * commands/efi/loadbios.c (enable_rom_area): Likewise.
4200 (enable_rom_area): Likewise.
4201 (GRUB_MOD_INIT): Likewise.
4202 * commands/gptsync.c (GRUB_MOD_INIT): Likewise.
4203 * commands/halt.c (GRUB_MOD_INIT): Improve the help message.
4204 * commands/handler.c (GRUB_MOD_INIT): Likewise.
4205 * commands/hdparm.c (options): Fix capitalizations and/or full stops.
4206 * commands/hexdump.c (options): Likewise.
4207 * commands/i386/cpuid.c (options): Likewise.
4208 (GRUB_MOD_INIT): Likewise.
4209 * commands/i386/pc/drivemap.c (options): Likewise.
4210 (GRUB_MOD_INIT): Likewise.
4211 * commands/i386/pc/halt (options): Likewise.
4212 (GRUB_MOD_INIT): Likewise.
4213 * commands/i386/pc/play.c (GRUB_MOD_INIT): Likewise.
4214 * commands/i386/pc/pxecmd.c (options): Likewise.
4215 * commands/i386/pc/vbetest.c (GRUB_MOD_INIT): Likewise.
4216 * commands/ieee1275/suspend.c (GRUB_MOD_INIT): Likewise.
4217 * commands/keystatus.c (options): Likewise.
4218 (GRUB_MOD_INIT): Likewise.
4219 * commands/loadenv.c (options): Likewise.
4220 * commands/ls.c (options): Likewise.
4221 * commands/lspci.c (GRUB_MOD_INIT): Likewise.
4222 * commands/memrw.c (GRUB_MOD_INIT): Likewise.
4223 * commands/minicmd.c (GRUB_MOD_INIT): Likewise.
4224 * commands/parttool.c (helpmsg): Likewise.
4225 * commands/probe.c (options): Likewise.
4226 * commands/read.c (GRUB_MOD_INIT): Likewise.
4227 * commands/reboot.c (GRUB_MOD_INIT): Likewise.
4228 * commands/search.c (options): Likewise.
4229 * commands/sleep.c (options): Likewise.
4230 * commands/test.c (GRUB_MOD_INIT): Likewise.
4231 * commands/true.c (GRUB_MOD_INIT): Likewise.
4232 * commands/usbtest.c (GRUB_MOD_INIT): Likewise.
4233 * commands/videotest.c (GRUB_MOD_INIT): Likewise.
4234 * lib/arg.c (help_options): Likewise.
e9bbb4e7 4235 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass -ctranslate to
4236 `$(XGETTEXT)'.
98a50553 4237 * po/POTFILES: Add `commands/loadenv.c'.
941903f2 4238
0ad46fd7 42392009-12-21 Felix Zielcke <fzielcke@z-51.de>
4dd13225 4240
ef3c2c3a 4241 * util/grub-mkrescue.in (process_input_dir): Copy `*.lst' files
4dd13225
FZ
4242 instead of specifying them explicit.
4243
7922f68b
RM
42442009-12-21 Robert Millan <rmh.grub@aybabtu.com>
4245
4246 * NEWS: Add grub-probe support for GNU/Hurd.
4247
537ce47f
RM
42482009-12-21 Robert Millan <rmh.grub@aybabtu.com>
4249
4250 * NEWS: gettext was added after 1.97.
4251
9b214e3a
RM
42522009-12-21 Robert Millan <rmh.grub@aybabtu.com>
4253
4254 * util/mkisofs/msdos_partition.h: New file (based on
4255 include/grub/msdos_partition.h).
4256 * util/mkisofs/mkisofs.c (use_protective_msdos_label): New variable.
4257 (OPTION_PROTECTIVE_MSDOS_LABEL): New macro.
4258 (ld_options, main): Recognize --protective-msdos-label.
4259 * util/mkisofs/mkisofs.h (use_protective_msdos_label): New declaration.
4260 * util/mkisofs/write.c: Include `"msdos_partition.h"'.
4261 (padblock_write): If `use_protective_msdos_label' is set, patch a
4262 protective DOS-style label in the output image.
4263
4264 * util/grub-mkrescue.in: Use --protective-msdos-label.
4265
e9309813
RM
42662009-12-21 Robert Millan <rmh.grub@aybabtu.com>
4267
4268 * util/grub-mkrescue.in: Do not zero-pad image for BIOS-based disk
4269 boot.
4270
0ae56929
RM
42712009-12-21 Robert Millan <rmh.grub@aybabtu.com>
4272
4273 * util/mkisofs/mkisofs.c (use_embedded_boot, boot_image_embed): New
4274 variables.
4275 (ld_options, main): Recognize `--embedded-boot'.
4276 * util/mkisofs/mkisofs.h (use_embedded_boot, boot_image_embed): New
4277 declarations.
4278 * util/mkisofs/write.c (PADBLOCK_SIZE): New variable.
4279 (padblock_size): Use `PADBLOCK_SIZE' instead of hardcoding 16.
4280 (padblock_write): Likewise. Rewrite to support embedded boot image.
4281
4282 * util/grub-mkrescue.in: When building i386-pc images, embed core.img
4283 for BIOS-based disk boot instead of only ElTorito.
4284
b15937b1
RM
42852009-12-21 Robert Millan <rmh.grub@aybabtu.com>
4286
4287 * util/grub-mkrescue.in: Remove `configfile' and `sh' from i386-pc
4288 build (not needed for bootstrap).
4289
52cc3ce0
RM
42902009-12-21 Robert Millan <rmh.grub@aybabtu.com>
4291
4292 * util/grub-mkrescue.in: Remove `memdisk', `tar' and `search' modules
4293 from i386-pc build (not needed for bootstrap).
4294 Rewrite a pair of strings.
4295
36f5ff04
RM
42962009-12-21 Robert Millan <rmh.grub@aybabtu.com>
4297
4298 * normal/main.c (grub_normal_reader_init): Set left margin back to 3.
4299
973c6c85 43002009-12-21 Vladimir Serbinenko <phcoder@gmail.com>
b07e53f0
VS
4301
4302 * video/i386/pc/vbe.c (grub_video_vbe_fini): Set 'last_set_mode'.
4303
05d21547
AB
43042009-12-21 Andreas Born <futur.andy@googlemail.com>
4305
4306 * kern/env.c (grub_env_context_open): Mark exported variable for
4307 reexport.
4308
0175d51f
AB
43092009-12-21 Andreas Born <futur.andy@googlemail.com>
4310
4311 * kern/env.c (grub_env_export): Create nonexistent variables before
4312 exporting.
4313
7f39d92f 43142009-12-20 Carles Pina i Estany <carles@pina.cat>
0175d51f 4315
7f39d92f 4316 * include/grub/auth.h: Include `<grub/i18n.h>'.
4317 (GRUB_GET_PASSWORD): Gettextizze string.
4318 * include/grub/normal.h (STANDARD_MARGIN): New macro, moved from
4319 menu_text.c.
4320 (grub_utf8_to_ucs4_alloc): Fix indentation.
4321 (grub_print_ucs4): Likewise.
4322 (grub_getstringwidth): Likewise.
4323 (print_message_indented): New declaration.
4324 * normal/auth.c: Include `<grub/i18n.h>'.
4325 (grub_auth_check_authentication): Gettexttize string.
4326 * normal/cmdline.c: Include `<grub/i18n.h>'.
4327 (grub_cmdline_get): Gettextizze.
4328 * normal/color.c: Include `<grub/i18n.h>'.
4329 (grub_parse_color_name_pair): Gettexttize strings.
4330 * normal/main.c (grub_normal_reader_init): Cleanup gettexttized
4331 string (use `print_message_indented').
4332 * normal/menu_text.c (STANDARD_MARGIN): Moved from here to
4333 `include/grub/normal.h'.
4334 (print_message_indented): Renamed to ...
4335 (grub_print_message_indented): ... this. Remove `static' qualifer (now
4336 used in normal/main.c).
4337 (print_message): Use `grub_print_message_indented' instead of
4338 `print_message_indented'.
4339 (print_timeout): Likewise.
4340 * normal/misc.c: Include `<grub/term.h>' and `<grub/i18n.h>'.
4341 (grub_normal_print_device_info): Gettexttize strings.
4342 * po/POTFILES: Add `auth.c', `color.c' and `misc.c'.
4343
3041d898
VS
43442009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
4345
4346 * kern/parser.c (grub_parser_split_cmdline): Fix incorrect counting
4347 of arguments. Return number of tokens and not arguments. All users
4348 updated.
4349
de15bf8e
VS
43502009-12-20 Vladimir Serbinenko <phcoder@gmail.com>
4351
4352 * util/i386/pc/grub-setup.c (setup): Don't install on non-GPT,
4353 non-MSDOS paritions.
4354
e0a6ca52
VS
43552009-12-19 Vladimir Serbinenko <phcoder@gmail.com>
4356
4357 * include/grub/types.h (UNUSED): Removed since it conflicts with
4358 NetBSD headers. All users changed to direct __attribute__ ((unused)).
4359 Reported by Grégoire Sutre.
4360
b99518d1 43612009-12-19 Carles Pina i Estany <carles@pina.cat>
4362
4363 * include/grub/normal.h (grub_utf8_to_ucs4): New declaration.
4364 (grub_print_ucs4_alloc): Likewise.
4365 (grub_getstringwidth): Likewise.
4366 * normal/main.c (grub_normal_init_page): Gettextize version string.
4367 * normal/menu_text.c (grub_utf8_to_ucs4_alloc): New definition.
4368 (getstringwidth): Renamed to ...
4369 (grub_getstringwidth): ... this. Remove `static' qualifier (now used
4370 in normal/main.c). Use `grub_utf8_to_ucs4_alloc'.
4371 (grub_print_ucs4): Remove `static' qualifer (now used in
4372 normal/main.c).
4373 * po/POTFILES: Add normal/main.c.
4374
bfd5e52b 43752009-12-19 Carles Pina i Estany <carles@pina.cat>
4376
4377 * normal/menu_text.c (STANDARD_MARGIN): New macro.
4378 (print_message_indented): Add `margin_left' and `margin_right'
4379 parameters.
4380 (print_message): Update `print_message_indented' calls. Adds '\n' to the
4381 strings.
4382 (print_timeout): Use `print_message_indented' to print the message.
4383 Deletes `second_stage' parameter.
4384 (run_menu): Update `print_timeout' calls.
4385
5a1ad2b9
VS
43862009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
4387
4388 Fix console palette on OpenFirmware.
4389
4390 * term/ieee1275/ofconsole.c (MAX): Removed.
4391 (colors): Redone based on VGA palette.
4392 (grub_ofconsole_setcolor): Discard brightness bit since only 8
4393 colors are supported.
4394 (grub_ofconsole_init_output): Use ARRAY_SIZE instead of hardcoded size.
4395
b045f00a
VS
43962009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
4397
4398 Fix potential EfiEmu double prepare.
4399
4400 * efiemu/main.c (prepared): New variable
4401 (grub_efiemu_unload): Set prepare to '0'.
4402 (grub_efiemu_prepare): Return if already prepared. Set prepared.
4403
4404 set_virtual_address_map support.
4405
4406 * include/grub/efi/efi.h (grub_efi_set_virtual_address_map): New
4407 prototype.
4408 * include/grub/efiemu/efiemu.h (grub_efiemu_write_sym_markers): New
4409 prototype.
4410 (grub_efiemu_crc32): Likewise.
4411 (grub_efiemu_crc64): Likewise.
4412 (grub_efiemu_set_virtual_address_map): Likewise.
4413 * include/grub/autoefi.h (grub_autoefi_exit_boot_services):
4414 New definition.
4415 (grub_autoefi_set_virtual_address_map): Likewise.
4416 * kern/efi/efi.c (grub_efi_set_virtual_address_map): New function.
4417 * loader/i386/xnu.c (grub_xnu_boot): Call set_virtual_address_map.
4418 Restructure flow to accomodate it.
4419 * efiemu/prepare.c (grub_efiemu_prepare): Support set_virtual_address_map.
4420 (grub_efiemu_crc): Recompute CRC32.
4421 * efiemu/runtime/efiemu.c (ptv_relocated): Renamed to ...
4422 (efiemu_ptv_relocated): ... this. Made global. All users updated.
4423 * efiemu/symbols.c (relocated_handle): New variable.
4424 (grub_efiemu_free_syms): Free relocated_handle.
4425 (grub_efiemu_alloc_syms): Allocate relocated_handle.
4426 (grub_efiemu_write_sym_markers): New function.
4427 (grub_efiemu_set_virtual_address_map): Likewise.
4428
4429 Newer XNU parameters.
4430
4431 * include/grub/i386/xnu.h (GRUB_XNU_BOOTARGS_VERMINOR): Change to 5.
4432 * include/grub/xnu.h (grub_xnu_extheader): Add nameaddr and namesize.
4433 (grub_xnu_fill_devicetree): New prototype.
4434 (grub_xnu_heap_real_start): New variable.
4435 * loader/xnu.c (get_name_ptr): New function.
4436 (grub_xnu_load_driver): Fill namelen and name.
4437
4438 64-bit xnu support.
4439
4440 * conf/i386-efi.rmk (xnu_mod_SOURCES): Add 'loader/macho32.c'
4441 and 'loader/macho64.c'.
4442 * conf/i386-pc.rmk: Likewise.
4443 * conf/x86_64-efi.rmk: Likewise.
4444 * include/grub/i386/macho.h (grub_macho_thread64): New structure.
4445 * include/grub/xnu.h (grub_xnu_is_64bit): New variable.
4446 * include/grub/macho.h (grub_macho_segment64): New structure.
4447 * include/grub/machoload.h (grub_macho32_size): Renamed from ...
4448 (grub_macho_size32): ... to this.
4449 (grub_macho32_get_entry_point): Renamed from ...
4450 (grub_macho_get_entry_point32): ... to this.
4451 (grub_macho_contains_macho64): New prototype.
4452 (grub_macho_size64): Likewise.
4453 (grub_macho_get_entry_point64): Likewise.
4454 (grub_macho32_load): Renamed from ...
4455 (grub_macho_load32): ... to this.
4456 (grub_macho32_filesize): Renamed from ...
4457 (grub_macho_filesize32): ... to this.
4458 (grub_macho32_readfile): Renamed from ...
4459 (grub_macho_readfile32): ... to this.
4460 (grub_macho_filesize64): New prototype.
4461 (grub_macho_readfile64): Likewise.
4462 (grub_macho_parse32): Likewise.
4463 (grub_macho_parse64): Likewise.
4464 * loader/macho.c: Split into ...
4465 * loader/machoXX.c: ... and this. Replace 32 with XX.
4466 * loader/macho32.c: New file.
4467 * loader/macho64.c: Likewise.
4468 * loader/xnu.c (grub_xnu_is_64bit): New variable.
4469 (grub_cmd_xnu_kernel): Make 32-bit only.
4470 (grub_cmd_xnu_kernel64): New function.
4471 (grub_xnu_load_driver): Support Mach-O 64.
4472 (grub_cmd_xnu_mkext): Likewise.
4473 * util/grub.d/30_os-prober.in (osx_entry): New function.
4474 Generate entries for 64-bit boot too.
4475
4476 Eliminate ad-hoc tree format in XNU and EfiEmu.
4477
4478 * efiemu/main.c (grub_efiemu_prepare): Update comment.
4479 * efiemu/pnvram.c: Rewritten to use environment variables.
4480 All users updated.
4481
4482 Inline utf16_to_utf8.
4483
4484 * kern/misc.c (grub_utf16_to_utf8): Move from here ...
4485 * include/grub/charset.h (grub_utf16_to_utf8): ... to here. Inlined.
4486 All users updated.
4487 * include/grub/misc.h (grub_utf16_to_utf8): Removed.
4488
4489 * bus/usb/usb.c (grub_usb_get_string): Move from here ...
4490 * commands/usbtest.c (grub_usb_get_string): ... move here.
4491 (usb_print_str): Fix error handling.
4492 * include/grub/usb.h (grub_usb_get_string): Remove.
4493
4494 UTF-8 to UTF-16 transformation.
4495
4496 * conf/common.rmk (pkglib_MODULES): Add charset.mod
4497 (charset_mod_SOURCES): New variable.
4498 (charset_mod_CFLAGS): Likewise.
4499 (charset_mod_LDFLAGS): Likewise.
4500 * include/grub/utf.h: New file.
4501 * lib/utf.c: New file. (Based on grub_utf8_to_ucs4 from kern/misc.c)
4502
4503 Support for device properties.
4504
4505 * include/grub/i386/xnu.h (grub_xnu_devprop_header): New structure.
4506 (grub_xnu_devprop_device_header): Likewise.
4507 (grub_xnu_devprop_device_descriptor): Likewise.
4508 (grub_xnu_devprop_add_device): New prototype.
4509 (grub_xnu_devprop_remove_device): Likewise.
4510 (grub_xnu_devprop_remove_property): Likewise.
4511 (grub_xnu_devprop_add_property_utf8): Likewise.
4512 (grub_xnu_devprop_add_property_utf16): Likewise.
4513 (grub_cpu_xnu_init): Likewise.
4514 (grub_cpu_xnu_fini): Likewise.
4515 (grub_cpu_xnu_unload): Likewise.
4516 * loader/i386/xnu.c (grub_xnu_devprop_device_descriptor): New structure.
4517 (property_descriptor): Likewise.
4518 (devices): New variable.
4519 (grub_xnu_devprop_remove_property): New function.
4520 (grub_xnu_devprop_add_device): Likewise.
4521 (grub_xnu_devprop_remove_device): Likewise.
4522 (grub_xnu_devprop_add_property): Likewise.
4523 (grub_xnu_devprop_add_property_utf8): Likewise.
4524 (grub_xnu_devprop_add_property_utf16): Likewise.
4525 (hextoval): Likewise.
4526 (grub_cpu_xnu_fill_devprop): Likewise.
4527 (grub_cmd_devprop_load): Likewise.
4528 (grub_xnu_boot): Call grub_cpu_xnu_fill_devprop,
4529 grub_xnu_fill_devicetree, grub_xnu_fill_devicetree
4530 (cmd_devprop_load): New variable.
4531 (grub_cpu_xnu_init): New function.
4532 (grub_cpu_xnu_fini): Likewise.
4533 * loader/i386/xnu.c (grub_xnu_unload): Call grub_cpu_xnu_unload.
4534 * loader/xnu.c (grub_xnu_parse_devtree): Remove.
4535 (grub_cmd_xnu_devtree): Likewise.
4536 (hextoval): New function.
4537 (unescape): Likewise.
4538 (grub_xnu_fill_devicetree): Likewise.
4539
4540 * util/grub.d/30_os-prober.in: Load devprop.bin. Don't load devtree.txt.
4541 * util/i386/efi/grub-dumpdevtree: Generate devprop.bin.
4542
0945f181
VS
45432009-12-18 Vladimir Serbinenko <phcoder@gmail.com>
4544
4545 Workaround for broken ATI VBE.
4546
4547 * video/i386/pc/vbe.c (last_set_mode): New variable.
4548 (grub_vbe_set_video_mode): Set 'last_set_mode'.
4549 (grub_vbe_get_video_mode): Use 'last_set_mode' if get_mode fails.
4550 (grub_video_vbe_setup): Don't check for reserved flag.
4551
0ad46fd7 45522009-12-17 Felix Zielcke <fzielcke@z-51.de>
0297aafb
FZ
4553
4554 * gendistlist.sh: Use POSIX compliant `!' instead of `-not' in
4555 the `find' command.
4556
c179ebe4
VS
45572009-12-16 Vladimir Serbinenko <phcoder@gmail.com>
4558
4559 UUID support for HFS.
4560
4561 * fs/hfs.c (grub_hfs_uuid): New function.
4562 (grub_hfs_fs): New value .uuid.
4563 * include/grub/hfs.h (grub_hfs_sblock): New field 'num_serial'.
4564
0ad46fd7 45652009-12-14 Felix Zielcke <fzielcke@z-51.de>
574cce0c
FZ
4566
4567 Fix a segfault with parsing unknown long options.
4568
4569 * util/grub-mkrelpath.c (options): Zero terminate it.
4570
c4a3e41a
CPE
45712009-12-13 Carles Pina i Estany <carles@pina.cat>
4572
4573 * include/grub/misc.h (grub_puts): New declaration.
4574 (grub_puts_): Likewise.
a22008a6 4575 * kern/misc.c (grub_puts): New definition.
c4a3e41a
CPE
4576 (grub_puts_): Likewise.
4577
2e8a7602
RM
45782009-12-13 Robert Millan <rmh.grub@aybabtu.com>
4579
4580 * util/grub-probe.c (probe): Improve error message.
4581
b50b77b9
RM
45822009-12-13 Robert Millan <rmh.grub@aybabtu.com>
4583
4584 * loader/i386/multiboot_elfxx.c
4585 (CONCAT(grub_multiboot_load_elf, XX)): Fix `grub_multiboot_payload_eip'
4586 initialization.
4587
45882009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4589
4590 Relocator framework
4591
4592 * loader/i386/xnu_helper.S: Removed. All users updated.
4593 * conf/i386.rmk (pkglib_MODULES): Add relocator.mod.
4594 (relocator_mod_SOURCES): New variable.
4595 (relocator_mod_CFLAGS): Likewise.
4596 (relocator_mod_LDFLAGS): Likewise.
4597 (relocator_mod_ASFLAGS): Likewise.
4598 * conf/x86_64.rmk: Likewise.
4599 * include/grub/i386/multiboot.h (grub_multiboot_payload_orig): Removed.
4600 (grub_multiboot_payload_entry_offset): Likewise.
4601 (grub_multiboot_forward_relocator): Likewise.
4602 (grub_multiboot_forward_relocator_end): Likewise.
4603 (grub_multiboot_backward_relocator): Likewise.
4604 (grub_multiboot_backward_relocator_end): Likewise.
4605 (grub_multiboot_payload_eip): New variable.
4606 (grub_multiboot_payload_orig): Likewise.
4607 * include/grub/i386/pc/memory.h: Include grub/i386/memory.h.
4608 (GRUB_MEMORY_MACHINE_CR0_PE_ON): Move from here ...
4609 * include/grub/i386/memory.h
4610 (GRUB_MEMORY_CPU_CR0_PE_ON): ... to here
4611 (GRUB_MEMORY_CPU_CR4_PAE_ON): New definition.
4612 (GRUB_MEMORY_CPU_CR0_PAGING_ON): Likewise.
4613 (GRUB_MEMORY_CPU_AMD64_MSR): Likewise.
4614 (GRUB_MEMORY_CPU_AMD64_MSR_ON): Likewise.
4615 * include/grub/i386/relocator.h: New file.
4616 * include/grub/x86_64/relocator.h: Likewise.
4617 * include/grub/i386/xnu.h: Include grub/cpu/relocator.h.
4618 (XNU_RELOCATOR): New macro.
4619 (grub_xnu_launcher_start): Remove.
4620 (grub_xnu_launcher_end): Likewise.
4621 * include/grub/xnu.h (grub_xnu_boot_resume): New prototype.
4622 (grub_xnu_heap_real_start): Remove.
4623 (grub_xnu_heap_start): Change to void *. All users updated.
4624 * kern/i386/realmode.S (real_to_prot): Use GRUB_MEMORY_CPU_CR0_PE_ON.
4625 * lib/i386/relocator.c: New file.
4626 * lib/i386/relocator_asm.S: Likewise.
4627 * lib/i386/relocator_backward.S: Likewise.
4628 * lib/mips/relocator.c: Likewise.
4629 * lib/mips/relocator_asm.S: Likewise.
4630 * lib/relocator.c: Likewise.
4631 * loader/i386/multiboot.c: Include grub/i386/relocator.h.
4632 (entry): Removed.
4633 (playground): Likewise.
4634 (grub_multiboot_payload_orig): New variable.
4635 (grub_multiboot_payload_dest): Likewise.
4636 (grub_multiboot_payload_size): Likewise.
4637 (grub_multiboot_payload_eip): Likewise.
4638 (grub_multiboot_payload_esp): Likewise.
4639 (grub_multiboot_boot): Use grub_relocator32_boot.
4640 (grub_multiboot_unload): Free relocators.
4641 (grub_multiboot): Setup stack. Use relocators.
4642 * loader/i386/multiboot_elfxx.c: Include grub/i386/relocator.h.
4643 (grub_multiboot_load_elfXX): Use relocators.
4644 * loader/i386/multiboot_helper.S (grub_multiboot_payload_orig): Removed.
4645 (grub_multiboot_payload_size): Likewise.
4646 (grub_multiboot_payload_dest): Likewise.
4647 (grub_multiboot_payload_entry_offset): Likewise.
4648 (grub_multiboot_forward_relocator): Likewise.
4649 (grub_multiboot_backward_relocator): Likewise.
4650 (grub_multiboot_real_boot): Likewise.
4651 * loader/i386/xnu.c (grub_xnu_heap_will_be_at): New variable.
4652 (grub_xnu_entry_point): Likewise.
4653 (grub_xnu_arg1): Likewise.
4654 (grub_xnu_stack): Likewise.
4655 (grub_xnu_launch): Removed.
4656 (grub_xnu_boot_resume): New function.
4657 (grub_xnu_boot): Use relocators.
4658 * loader/i386/xnu_helper.S: Removed.
4659 * loader/xnu.c (grub_xnu_heap_start): New variable.
4660 (grub_xnu_heap_size): Likewise.
4661 (grub_xnu_heap_malloc): Use relocators.
4662 * loader/xnu_resume.c (grub_xnu_resume): Use relocators.
4663
29eb90c6
VS
46642009-12-13 Vladimir Serbinenko <phcoder@gmail.com>
4665
4666 * kern/i386/pc/startup.S (multiboot_entry): Setup stack before calling
4667 anything.
4668
31027430
CPE
46692009-12-13 Carles Pina i Estany <carles@pina.cat>
4670
4671 * script/execute.c (grub_script_execute_cmdline): Set grub_errno to
4672 GRUB_ERR_NONE before calling grub_env_set.
4673
dc0c71d9
RM
46742009-12-12 Robert Millan <rmh@aybabtu.com>
4675
4676 * gendistlist.sh (EXTRA_DISTFILES): Add `genvideolist.sh'.
4677 * genmk.rb (video): New variable.
4678 (CLEANFILES, VIDEOFILES): Add #{video}.
4679 (#{video}): New target rule.
4680 * genvideolist.sh: New file.
4681 * Makefile.in (pkglib_DATA): Add video.lst.
4682 (video.lst): New target rule.
4683 * util/grub-mkconfig.in: Initialize ${GRUB_VIDEO_BACKEND} using
4684 `video.lst'.
4685 * util/grub.d/30_os-prober.in: Replace `vbe' with
4686 ${GRUB_VIDEO_BACKEND}.
4687
2a4bfcf0
RM
46882009-12-11 Robert Millan <rmh.grub@aybabtu.com>
4689
4690 * THANKS: Add David Miller.
4691
2a3aa4d5
RM
46922009-12-11 Vladimir Serbinenko <phcoder@gmail.com>
4693
4694 libpciaccess support.
4695
4696 * Makefile.in (LIBPCIACCESS): New variable.
4697 (enable_grub_emu_pci): Likewise.
4698 * conf/any-emu.rmk (grub_emu_SOURCES) [enable_grub_emu_pci]: Add
4699 util/pci.c and commands/lspci.c.
4700 (grub_emu_LDFLAGS) [enable_grub_emu_pci]: Add $(LIBPCIACCESS).
4701 * configure.ac (grub-emu-pci): New option.
4702 * include/grub/i386/pci.h (grub_pci_device_map_range): New function.
4703 (grub_pci_device_unmap_range): Likewise.
4704 * include/grub/pci.h [GRUB_UTIL]: Include grub/pciutils.h.
4705 (grub_pci_device) [!GRUB_UTIL]: New structure. All users updated.
4706 (grub_pci_address_t) [!GRUB_UTIL]: New type.
4707 (grub_pci_device_t) [!GRUB_UTIL]: Likewise.
4708 (grub_pci_get_bus) [!GRUB_UTIL]: New function.
4709 (grub_pci_get_device) [!GRUB_UTIL]: Likewise.
4710 (grub_pci_get_function) [!GRUB_UTIL]: Likewise.
4711 * include/grub/pciutils.h: New file.
4712 * util/pci.c: Likewise.
4713
0ad46fd7 47142009-12-11 Felix Zielcke <fzielcke@z-51.de>
8d0502d9
FZ
4715
4716 * util/misc.c: Don't include <errno.h> twice.
4717
0ad46fd7 47182009-12-10 Felix Zielcke <fzielcke@z-51.de>
0d56ed64
FZ
4719
4720 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Show the disk
4721 name in an error message.
4722 (grub_biosdisk_rw): Likewise.
4723
2e59983c
VS
47242009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4725
4726 Eliminate NTFS 4Gib barrier.
4727
4728 * fs/ntfs.c (read_attr): Use grub_disk_addr_t and grub_size_t.
4729 (read_run_data): Likewise.
4730 (grub_ntfs_read_run_list): Likewise.
4731 (grub_ntfs_read_block): Likewise.
4732 (grub_ntfs_iterate_dir): Likewise.
4733 (read_mft): Likewise.
4734 (read_data): Likewise.
4735 Use COM_LOG_LEN.
4736 * fs/ntfscomp.c (read_block): Cast ctx->target_vcn & 0xF to unsigned
4737 to avoid 64-bit division
4738 * include/grub/ntfs.h (COM_LOG_LEN): New definition.
4739 (grub_ntfs_rlst): Use grub_disk_addr_t.
4740
71ee178a
VS
47412009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4742
4743 Eliminate grub-fstest 4Gib barrier.
4744
4745 * util/grub-fstest.c (skip, leng): Use grub_disk_addr_t.
4746 (read_file): Fix error reporting.
4747
2520d4b8
VS
47482009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4749
4750 Eliminate hexdump 4Gib barrier.
4751
4752 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_addr_t.
4753 * lib/arg.c (grub_arg_parse): Use grub_strtoull.
4754
e1f27065
VS
47552009-12-10 Vladimir Serbinenko <phcoder@gmail.com>
4756
4757 * kern/device.c (grub_device_iterate): Ignore errors during first scan.
4758 Fixes amarsh bug.
4759
1a0f7f45
RM
47602009-12-09 Bruce Dubbs <bruce.dubbs@gmail.com>
4761
4762 Remove miscellaneous files in distclean target.
4763
4764 * Makefile.in: Remove docs/{grub.info,version.texi,stamp-vti}
4765
c631d9fb
CW
47662009-12-09 Colin Watson <cjwatson@ubuntu.com>
4767
4768 * util/grub-mkconfig_lib.in: Don't set grub_probe or grub_mkrelpath
4769 if they're already set. This resolves the conflict between my
4770 grub-install change on 2009-10-06 and Felix' change on 2009-11-11,
4771 fixing the --grub-probe option again.
4772 * util/sparc64/ieee1275/grub-install.in: Revert the last piece of my
4773 change on 2009-10-06, so that we now once again source
4774 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
4775
7c7b6106
RM
47762009-12-08 Robert Millan <rmh.grub@aybabtu.com>
4777
4778 * conf/common.rmk [sparc64-ieee1275] (grub_mkdevicemap_SOURCES): Use
4779 `util/ieee1275/ofpath.c' and `util/ieee1275/devicemap.c' instead of
4780 `util/devicemap.c'.
4781
e3069ec1
CPE
47822009-12-08 Carles Pina i Estany <carles@pina.cat>
4783
4784 * include/grub/misc.h (grub_printf_): New declaration.
4785 * kern/misc.c (grub_printf_): New definition.
4786 * normal/main.c (grub_normal_reader_init): Use `grub_printf_' and `N_'
4787 instead of `grub_printf' and `_'.
4788 * normal/menu_entry.c (store_completion): Likewise.
4789 (run): Likewise.
4790 (grub_menu_entry_run): Likewise.
4791 * normal/menu_text.c (grub_wait_after_message): Likewise.
4792 (notify_booting): Likewise.
4793 (notify_fallback): Likewise.
4794 (notify_execution_failure): Likewise.
4795
d6ceebf1
CW
47962009-12-07 Colin Watson <cjwatson@ubuntu.com>
4797
4798 * configure.ac: Check for vasprintf.
4799 * util/misc.c (asprintf): Move allocation from here ...
4800 (vasprintf): ... to here. New function.
4801 (xasprintf): New function.
4802 * include/grub/util/misc.h (vasprintf, xasprintf): Add
4803 prototypes.
4804 * util/getroot.c (grub_util_get_grub_dev): Use xasprintf.
4805 * util/grub-mkfont.c (write_font): Likewise.
4806 * util/grub-probe.c (probe): Likewise.
4807 * util/hostdisk.c (make_device_name): Likewise.
4808
de6daa8b
DM
48092009-12-06 David S. Miller <davem@sunset.davemloft.net>
4810
4811 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Recognize
4812 anything even prefixed with 'cdrom' as a cdrom.
4813
0ad46fd7 48142009-12-06 Felix Zielcke <fzielcke@z-51.de>
df91e679
FZ
4815
4816 * util/misc.c (make_system_path_relative_to_its_root): Correctly cope with
4817 mount points.
4818
98d3dc02
CPE
48192009-12-05 Carles Pina i Estany <carles@pina.cat>
4820
4821 * gettext/gettext.c: Include `<grub/list.h>'. Define grub_gettext_msg,
4822 grub_gettext_msg_list.
4823 (grub_gettext_gettranslation_from_position): Return const char *
4824 and not char *.
a2c1332b 4825 (grub_gettext_translate): Add the translated strings into a list,
98d3dc02
CPE
4826 returns from the list if existing there.
4827 (grub_gettext_init_ext): Add \n at the end of grub_dprintf string.
4828 (grub_gettext_delete_list): Delete the list.
4829 (grub_gettext_env_write_lang): Call grub_gettext_delete_list when
4830 lang environment variable is changed.
4831 (GRUB_MOD_FINI): Call grub_gettext_delete_list.
4832
b283f108
VS
48332009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
4834
4835 Rename kernel.mod to kernel.img.
4836
4837 * conf/i386-efi.rmk (pkglib_MODULES): Change kernel.mod to kernel.img.
4838 (kernel_mod_EXPORTS): Rename to ...
4839 (kernel_img_EXPORTS): ... this.
4840 (kernel_mod_SOURCES): Rename to ...
4841 (kernel_img_SOURCES): ... this.
4842 (kernel_mod_HEADERS): Rename to ...
4843 (kernel_img_HEADERS): ... this. All users updated.
4844 (kernel_mod_CFLAGS): Rename to ...
4845 (kernel_img_CFLAGS): ... this.
4846 (kernel_mod_ASFLAGS): Rename to ...
4847 (kernel_img_ASFLAGS): ... this.
4848 (kernel_mod_LDFLAGS): Rename to ...
4849 (kernel_img_LDFLAGS): ... this.
4850 * conf/x86_64-efi.rmk: Likewise.
4851 * util/i386/efi/grub-mkimage.c (read_kernel_module): Rename to ...
4852 (read_kernel_image): ... this. All users updated.
4853 (read_kernel_image): Read "kernel.img" instead of "kernel.mod".
4854
69055f8a
CPE
48552009-12-05 Carles Pina i Estany <carles@pina.cat>
4856
4857 * normal/menu_text.c (grub_color_menu_high): Gettexttize string.
4858 (print_spaces): New function.
4859 (grub_print_ucs4): New function.
4860 (getstringwidth): New function.
4861 (print_message_indented): New function.
4862 (print_message): Gettexttize strings using print_message_indented.
4863 (run_menu): Replaces grub_printf by print_spaces and dynamic terminal
4864 width.
4865 (get_entry_number): Gettextize and uses dynamic terminal width.
a2c1332b 4866 (notify_booting, notify_fallback, notify_execution_failure):
69055f8a
CPE
4867 Gettextize.
4868 * normal/menu_entry.c (store_completion): Cleanup the gettextized
4869 string.
4870 (run): Likewise.
4871 (grub_menu_entry_run): Likewise.
4872 * PO/POTFILES: Add normal/menu_entry.c.
4873
f616f51c
VS
48742009-12-05 Vladimir Serbinenko <phcoder@gmail.com>
4875
4876 * configure.ac (TARGET_ASFLAGS): Add "-D<MACHINE>".
4877
57bbe3be
CPE
48782009-12-05 Carles Pina i Estany <carles@pina.cat>
4879
4880 * util/grub-install.in: Install gettext .mo files.
4881 * util/grub-mkrescue.in (process_input_dir): Copy gettext .mo files.
4882
013d67a1
CPE
48832009-12-05 Carles Pina i Estany <carles@pina.cat>
4884
4885 * gettext/gettext.c (grub_gettext_init_ext): Replace grub_printf with
4886 grub_dprintf.
4887
fb954db0
RM
48882009-12-05 Robert Millan <rmh.grub@aybabtu.com>
4889
4890 * kern/ieee1275/openfw.c (grub_reboot): Disable for i386. The
4891 non-firmware-dependant one in realmode.S takes precedence.
4892
6b8474f8
RM
48932009-12-04 Robert Millan <rmh.grub@aybabtu.com>
4894
4895 * commands/halt.c: Replace misc arch-specific headers with
4896 `<grub/misc.h>'.
4897 * commands/reboot.c: Likewise.
4898 * commands/i386/pc/halt.c: Replace `<grub/machine/init.h>' with
4899 `<grub/misc.h>'.
4900 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Remove `cpu/reboot.h'.
4901 (halt_mod_SOURCES): Move `kern/i386/halt.c' from here ...
4902 (kernel_img_SOURCES): ... to here.
4903
4904 * include/grub/efi/efi.h (grub_reboot, grub_halt): Remove prototypes.
4905 * include/grub/i386/pc/init.h: Likewise.
4906 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
4907 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
4908
4909 * include/grub/misc.h (grub_reboot, grub_halt): New prototypes.
4910
4911 * include/grub/i386/halt.h: Remove.
4912 * include/grub/i386/reboot.h: Likewise.
4913
4914 * kern/i386/halt.c: Remove `<grub/cpu/halt.h>'.
4915
4b2e6ca2
DM
49162009-12-03 David S. Miller <davem@sunset.davemloft.net>
4917
4918 * conf/sparc64-ieee1275.rmk (grub_mkimage_SOURCES,
4919 grub_setup_SOURCES, grub_ofpathname_SOURCES): Add gnulib/progname.c
4920 * util/sparc64/ieee1275/grub-mkimage.c: Include <grub/i18n.h> and
4921 "progname.h"
4922 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
4923 * util/sparc64/ieee1275/grub-setup.c: Likewise.
4924 (usage): Add missing comma in printf.
4925
5239348f
RM
49262009-12-02 Robert Millan <rmh.grub@aybabtu.com>
4927
4928 Use the same reboot approach on i386 coreboot and qemu as we do on
4929 BIOS.
4930
4931 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add `cpu/reboot.h'.
4932 (reboot_mod_SOURCES): Remove `kern/i386/reboot.c'.
4933 * kern/i386/reboot.c: Remove.
4934 * include/grub/i386/reboot.h (grub_reboot): Export function.
4935 * kern/i386/pc/startup.S (grub_reboot): Move from here ...
4936 * kern/i386/realmode.S (grub_reboot): ... to here. Jump to
4937 0xf000:0xfff0 instead of 0xffff:0x0000.
4938 [!GRUB_MACHINE_PCBIOS] (prot_to_real): Do not restore interrupts.
4939 * kern/i386/qemu/startup.S: Include `"../realmode.S"'.
4940
ef34cbd4
RM
49412009-11-30 Robert Millan <rmh.grub@aybabtu.com>
4942
4943 Fix $srcdir != $objdir build.
4944
4945 * Makefile.in (po/%.po): Rewrite as ...
4946 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): ... this.
4947
dc9837ea
ST
49482009-11-29 Samuel Thibault <samuel.thibault@ens-lyon.org>
4949
4950 Fix GNU/Hurd grub-install crash.
4951 * util/grub-probe.c (probe): Try to access `path' only when it is not
4952 NULL.
4953
2f857f98
VS
49542009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
4955
4956 Correct module naming.
4957
4958 * video/efi_uga.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
4959 (GRUB_MOD_INIT(efi_uga)): ... to this
4960 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
4961 (GRUB_MOD_FINI(efi_uga)): ... to this
4962 * video/efi_gop.c (GRUB_MOD_INIT(efi_fb)): Renamed from this ...
4963 (GRUB_MOD_INIT(efi_gop)): ... to this
4964 (GRUB_MOD_FINI(efi_fb)): Renamed from this ...
4965 (GRUB_MOD_FINI(efi_gop)): ... to this
4966
c5448046
RM
49672009-11-28 Robert Millan <rmh.grub@aybabtu.com>
4968
4969 * util/mkisofs/mkisofs.c (ld_options): Mark all `arg' strings as
4970 translatable.
4971 (usage): Translate `arg' strings using gettext().
4972 Thanks to Jordi Mallach for the suggestion.
4973
c85184ad
VS
49742009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
4975
4976 GOP support. Based on patch from Bean
4977 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
4978
4979 * video/efi_gop.c: New file.
4980 * include/grub/efi/graphics_output.h: Likewise.
4981 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_gop.mod'.
4982 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
4983 variables.
4984 * conf/x86_64-efi.rmk: Likewise.
4985
8a4c48d8
VS
49862009-11-28 Vladimir Serbinenko <phcoder@gmail.com>
4987
4988 Rename efi_fb to efi_uga.
4989
4990 * conf/i386-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
4991 'efi_uga.mod'.
4992 (efi_fb_mod_SOURCES): Rename this ...
4993 (efi_uga_mod_SOURCES): ... to this.
4994 (efi_fb_mod_CFLAGS): Rename this ...
4995 (efi_uga_mod_CFLAGS): ... to this.
4996 (efi_fb_mod_LDFLAGS): Rename this ...
4997 (efi_uga_mod_LDFLAGS): ... to this.
4998 * conf/x86_64-efi.rmk (pkglib_MODULES): Rename 'efi_fb.mod' to
4999 'efi_uga.mod'.
5000 (efi_fb_mod_SOURCES): Rename this ...
5001 (efi_uga_mod_SOURCES): ... to this.
5002 (efi_fb_mod_CFLAGS): Rename this ...
5003 (efi_uga_mod_CFLAGS): ... to this.
5004 (efi_fb_mod_LDFLAGS): Rename this ...
5005 (efi_uga_mod_LDFLAGS): ... to this.
5006 * video/efi_fb.c: Move this ...
5007 * video/efi_uga.c: ... to this. Change prefix to 'grub_video_uga_'.
5008
fb6c1a7b
RM
50092009-11-27 Robert Millan <rmh.grub@aybabtu.com>
5010
5011 * po/README: New file. Explain our PO file workflow.
5012
3bc7896c
RM
50132009-11-27 Robert Millan <rmh.grub@aybabtu.com>
5014
5015 * po/ChangeLog: Remove. Move relevant entries back to ...
5016 * ChangeLog: ... here.
5017 * po/ca.po: Remove (now handled by TLP).
5018 * po/id.po: Likewise.
5019 * po/zh_CN.po: Likewise.
5020 * Makefile.in (LINGUAS): Initialize in a way that supports
5021 empty set.
5022
9ed4841d
RM
50232009-11-27 Robert Millan <rmh.grub@aybabtu.com>
5024
5025 * Makefile.in (LINGUAS): Rewrite by scanning po/ directory instead of
5026 reliing on po/LINGUAS.
5027 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po)): Rewrite as ...
5028 (po/%.po): ... this.
5029
0ad46fd7 50302009-11-26 Felix Zielcke <fzielcke@z-51.de>
242668a2
FZ
5031
5032 * util/i386/efi/grub-mkimage.c: Include "progname.h".
5033 (main): Use `program_name' instead of nonexistent `progname'.
5034
e30dd392
FZ
50352009-11-26 Felix Zielcke <fzielcke@z-51.de>
5036
5037 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
5038 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
5039
7656de4f
RM
50402009-11-26 Robert Millan <rmh.grub@aybabtu.com>
5041
5042 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
5043 commit.
5044 * conf/i386-efi.rmk: Likewise.
5045 * conf/i386-ieee1275.rmk: Likewise.
5046 * conf/powerpc-ieee1275.rmk: Likewise.
5047 * conf/sparc64-ieee1275.rmk: Likewise.
5048 * conf/x86_64-efi.rmk: Likewise.
5049
db77c4d4
FZ
50502009-11-26 Felix Zielcke <fzielcke@z-51.de>
5051
5052 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
5053
a755bb04
FZ
50542009-11-26 Felix Zielcke <fzielcke@z-51.de>
5055
5056 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
5057
8a4c07fd
RM
50582009-11-26 Robert Millan <rmh.grub@aybabtu.com>
5059
5060 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
5061 (grub_mkdevicemap_SOURCES): New variable.
5062 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
5063 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
5064 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
5065 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
5066 (grub_mkdevicemap_SOURCES): Remove.
5067 * conf/i386-efi.rmk: Likewise.
5068 * conf/i386-ieee1275.rmk: Likewise.
5069 * conf/i386-pc.rmk: Likewise.
5070 * conf/powerpc-ieee1275.rmk: Likewise.
5071 * conf/sparc64-ieee1275.rmk: Likewise.
5072 * conf/x86_64-efi.rmk: Likewise.
5073 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
5074 (usage): Fix strings to use `program_name'.
5075 (main): Initialize gettext.
5076 * util/grub-editenv.c: Likewise.
5077 * util/grub-emu.c: Likewise.
5078 * util/grub-fstest.c: Likewise.
5079 * util/grub-mkdevicemap.c: Likewise.
5080 * util/grub-mkfont.c: Likewise.
5081 * util/grub-mkrelpath.c: Likewise.
5082 * util/grub-pe2elf.c: Likewise.
5083 * util/grub-probe.c: Likewise.
5084 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
5085 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
5086 * util/sparc64/ieee1275/grub-setup.c: Likewise.
5087
5088 * util/misc.c: Include `"progname.h"'.
5089 (progname): Remove variable.
5090 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
5091
6f61ed55
FZ
50922009-11-25 Felix Zielcke <fzielcke@z-51.de>
5093
5094 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
5095 printf and print a newline after the menuentry header line.
5096 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
5097
f022876b
FZ
50982009-11-25 Felix Zielcke <fzielcke@z-51.de>
5099
5100 autoconf >= 2.60 support $(localedir).
5101
5102 * INSTALL: Note that autoconf 2.60 is required.
5103 * configure.ac (AC_PREREQ): Bump to 2.60.
5104 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
5105 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
5106
6717926e
YB
51072009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
5108
5109 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
5110 aclocal is run.
5111
08806a54
RM
51122009-11-25 Robert Millan <rmh.grub@aybabtu.com>
5113
5114 * normal/main.c (grub_normal_read_line): Fix off-by-one
5115 buffer overflow.
5116
13b33fba
RM
51172009-11-25 Robert Millan <rmh.grub@aybabtu.com>
5118
5119 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
5120 "parser.grub" in grub_command_execute() call.
5121
4a8572e9
CPE
51222009-11-24 Carles Pina i Estany <carles@pina.cat>
5123
5124 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
5125 * conf/i386-efi.rmk: Likewise.
5126 * conf/i386-ieee1275.rmk: Likewise.
5127 * conf/i386-pc.rmk: Likewise.
5128 * conf/powerpc-ieee1275.rmk: Likewise.
5129 * conf/sparc64-ieee1275.rmk: Likewise.
5130 * conf/x86_64-efi.rmk: Likewise.
5131 * gettext/gettex.c: Include <grub/i18n.h>.
5132 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
5133 here ...
5134 * include/grub/i18n.h: ... to here
5135 * include/grub/i18n.h: ... to here.
5136 * kern/misc.c: Include <grub/i18n.h>
a2c1332b 5137 (grub_gettext_dummy): Move above user.
4a8572e9 5138
bee48093
FZ
51392009-11-24 Felix Zielcke <fzielcke@z-51.de>
5140
5141 * util/Makefile.in (install-local): Convert a `for' into a normal
5142 shell expansion.
5143
a031e91c
RM
51442009-11-24 Robert Millan <rmh.grub@aybabtu.com>
5145
5146 * autogen.sh: Add automake call.
5147 * config.guess: Remove.
5148 * config.sub: Likewise.
5149 * install-sh: Likewise.
5150
26bec39d
FZ
51512009-11-24 Felix Zielcke <fzielcke@z-51.de>
5152
5153 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
5154
8e2532fd
FZ
51552009-11-24 Felix Zielcke <fzielcke@z-51.de>
5156
5157 * util/Makefile.in (install-local): Convert a make `$(foreach)'
5158 function to a normal shell `for'.
5159
fefa1b7d
FZ
51602009-11-24 Felix Zielcke <fzielcke@z-51.de>
5161
5162 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
5163
4501250b
FZ
51642009-11-24 Felix Zielcke <fzielcke@z-51.de>
5165
5166 * util/grub-mkrelpath.c: New file.
5167 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
5168 (grub_mkrelpath_SOURCES): New variable.
5169 * include/grub/util/misc.h: New function prototype.
5170 * util/misc.c (make_system_path_relative_to_its_root): New function.
5171
5172 * util/grub-mkconfig_lib.in (bindir): New variable.
5173 (grub_mkrelpath): Likewise.
5174 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
5175
5176 * util/probe.c (probe): Make the file path relative to its root.
5177 Change a info message to use the GRUB path. Enable again the
5178 check if we can read the file with GRUB facilities.
5179
5180 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
5181 to its root.
5182
11d9778b
FZ
51832009-11-24 Felix Zielcke <fzielcke@z-51.de>
5184
5185 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
5186 platform.
5187
4465287d
FZ
51882009-11-24 Felix Zielcke <fzielcke@z-51.de>
5189
5190 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
5191 strncmp().
5192
62b47f22
FZ
51932009-11-24 Felix Zielcke <fzielcke@z-51.de>
5194
5195 * util/getroot.c (grub_util_is_dmraid): New function.
5196 (grub_util_get_dev_abstraction): Treat dmraid and multipath
5197 devices as normal ones, not as LVM.
5198
1eafb9b9 51992009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
5200
5201 * conf/common.rmk: Add grub-gettext_lib target and updates
5202 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
5203 LDFLAGS.
5204 * gettext/gettext.c: New file. (Reads mo files).
5205 * include/grub/file.h (grub_file_pread): New prototype.
5206 * include/grub/i18n.h (_): New prototype.
5207 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
5208 prototypes.
5209 * kern/misc.c (grub_gettext_dummy): New function.
5210 * normal/menu_text.c: Include <grub/i18n.h>.
5211 * normal/menu_text.c (print_timeout): Gettexttize string.
5212 * normal/menu_text.c (print_message): Gettexttize string.
3bc7896c
RM
5213 * po/POTFILES: Add `normal/menu_text.c'.
5214 * po/ca.po: Add new translations.
c3ea6bd4
CPE
5215 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
5216 gettext module and defines locale_dir and lang in grub.cfg.
5217 * NEWS: Add gettext support.
5218
0fdb2568
RM
52192009-11-23 Robert Millan <rmh.grub@aybabtu.com>
5220
5221 * util/hostdisk.c: Include `<grub/i18n.h>'.
5222 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
5223 (make_device_name): Rewrite using asprintf.
5224 (convert_system_partition_to_system_disk): Replace 0 with NULL.
5225 (find_system_device): If a device is not found, generate one just
5226 by reusing the OS path name.
5227 (read_device_map): Make it permissible for device.map not to exist.
5228
f515aa62
RM
52292009-11-23 Robert Millan <rmh.grub@aybabtu.com>
5230
5231 * script/sh/execute.c: Move from here ...
5232 * script/execute.c: ... to here. Update all users.
5233 * script/sh/function.c: Move from here ...
5234 * script/function.c: ... to here. Update all users.
5235 * script/sh/lexer.c: Move from here ...
5236 * script/lexer.c: ... to here. Update all users.
5237 * script/sh/main.c: Move from here ...
5238 * script/main.c: ... to here. Update all users.
5239 * script/sh/parser.y: Move from here ...
5240 * script/parser.y: ... to here. Update all users.
5241 * script/sh/script.c: Move from here ...
5242 * script/script.c: ... to here. Update all users.
5243
f84b481b
RM
52442009-11-23 Robert Millan <rmh.grub@aybabtu.com>
5245
5246 * configure.ac: Detect all `emu' platforms. Define
5247 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
5248 --enable-grub-emu logic. Disable include/grub/machine
5249 symlink on `emu' platforms.
5250
5251 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
5252 * gensymlist.sh.in: Likewise.
5253
5254 * include/grub/i386/coreboot/machine.h: Remove file.
5255 * include/grub/i386/efi/machine.h: Likewise.
5256 * include/grub/i386/ieee1275/machine.h: Likewise.
5257 * include/grub/i386/pc/machine.h: Likewise.
5258 * include/grub/i386/qemu/machine.h: Likewise.
5259 * include/grub/powerpc/ieee1275/machine.h: Likewise.
5260 * include/grub/sparc64/ieee1275/machine.h: Likewise.
5261 * include/grub/x86_64/efi/machine.h: Likewise.
5262
5263 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
5264 * commands/halt.c: Likewise.
5265 * commands/reboot.c: Likewise.
5266 * include/grub/autoefi.h: Likewise.
5267 * include/grub/i386/at_keyboard.h: Likewise.
5268 * include/grub/i386/kernel.h: Likewise.
5269 * include/grub/i386/loader.h: Likewise.
5270 * include/grub/i386/pc/memory.h: Likewise.
5271 * kern/dl.c: Likewise.
5272 * kern/i386/coreboot/init.c: Likewise.
5273 * loader/i386/bsd.c: Likewise.
5274 * loader/i386/linux.c: Likewise.
5275 * loader/multiboot_loader.c: Likewise.
5276 * term/i386/pc/serial.c: Likewise.
5277 * term/usb_keyboard.c: Likewise.
5278
5279 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
5280 `<grub/machine/machine.h>'
5281 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
5282 * util/misc.c: Remove `<grub/machine/machine.h>' and
5283 `<grub/machine/time.h>'.
5284
5285 * Makefile.in (enable_grub_emu): Remove variable.
5286 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
5287
5288 * conf/any-emu.rmk: New file.
5289 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
5290 (grub_emu_init.c): Move from here ...
5291 * conf/any-emu.rmk: ... to here.
5292
5293 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
5294 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
5295 * conf/any-emu.rmk: ... to here.
5296
4efeab03
RM
52972009-11-23 Robert Millan <rmh.grub@aybabtu.com>
5298
5299 * include/grub/parser.h (grub_parser_register): Document need
5300 of `name' parameter.
5301 * normal/main.c (grub_normal_read_line): Simplify prompt string.
5302 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
5303 "sh" to "grub".
5304
ea1dd8bf
RM
53052009-11-23 Robert Millan <rmh.grub@aybabtu.com>
5306
5307 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
5308 `$(XGETTEXT)'.
5309 * include/grub/i18n.h (N_): New macro.
5310 * util/mkisofs/mkisofs.h: Likewise.
5311 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
5312 around N_().
5313 (usage): Use gettext() to translate help strings when printing them.
5314
0c140626
RM
53152009-11-23 Robert Millan <rmh.grub@aybabtu.com>
5316
5317 Based on patch from Bean
5318 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
5319
5320 * video/efi_fb.c: New file.
5321 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
5322 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
5323 variables.
5324 * conf/x86_64-efi.rmk: Likewise.
5325
87d58298
RM
53262009-11-22 Robert Millan <rmh.grub@aybabtu.com>
5327
5328 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
5329 * util/i386/pc/grub-setup.c: Likewise.
5330
994cc3a3
ST
53312009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
5332
5333 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
5334 <hurd/fs.h>
5335 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
5336 file_get_storage_info to implement grub_guess_root_device.
5337
26a61d6a
FZ
53382009-11-21 Felix Zielcke <fzielcke@z-51.de>
5339
5340 * Makefile.in (target): Use make's builtin $(shell) function
5341 instead of calling directly $(SHELL) to create the locale directories,
5342 inside the $(foreach) function.
5343
74ff1dd5
FZ
53442009-11-21 Felix Zielcke <fzielcke@z-51.de>
5345
5346 * util/grub-mkrescue.in: Print an error and usage if output option
5347 has not been given.
5348
0b787d0e
FZ
53492009-11-21 Felix Zielcke <fzielcke@z-51.de>
5350
5351 Patch from Loïc Minier <loic.minier@ubuntu.com>.
5352 * util/grub.d/30_os-prober.in: Cope with Linux entries where
5353 root and /boot are on different devices.
5354
1164b270
RM
53552009-11-21 Robert Millan <rmh.grub@aybabtu.com>
5356
5357 Fix build for srcdir != objdir.
5358
5359 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
5360 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
5361 $(srcdir).
5362 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
5363 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
5364 reference for input.
5365
13774a2f
RM
53662009-11-21 Robert Millan <rmh.grub@aybabtu.com>
5367
5368 * util/grub-mkrescue.in: Use source directory direcly (without copiing
5369 or hardlinking it). Remove -J option, Joliet is not compatible with
5370 multiple source directories.
5371
efda854e
RM
53722009-11-21 Carles Pina i Estany <carles@pina.cat>
53732009-11-21 Robert Millan <rmh.grub@aybabtu.com>
5374
5375 * util/grub-mkrescue.in: Recognize `--override-directory' option.
5376 (process_input_dir): New function. Process an arbitrary input
5377 directory.
5378 Misc adjustments to support both "override mode" and system-wide mode.
5379
6c09890c
FZ
53802009-11-20 Felix Zielcke <fzielcke@z-51.de>
5381
5382 * configure.ac (UNIFONT_BDF): Rename to ...
5383 (FONT_SOURCE): ... this. Update all users.
5384
a797824f
FZ
53852009-11-20 Felix Zielcke <fzielcke@z-51.de>
5386
5387 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
5388 to the list of unifont files to look for.
5389
cd4f42b0
RM
53902009-11-19 Robert Millan <rmh.grub@aybabtu.com>
5391
5392 Patch from Joe Auricchio <jauricchio@gmail.com>
5393 * commands/minicmd.c (grub_mini_cmd_clear): New function.
5394 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
5395 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
5396
393c783d
FZ
53972009-11-19 Felix Zielcke <fzielcke@z-51.de>
5398
5399 * Makefile.in (install-local): Add a missing backslash.
5400
b2f1e327
FZ
54012009-11-19 Felix Zielcke <fzielcke@z-51.de>
5402
5403 * include/grub/x86_64/io.h: New file.
5404
f577f7a0
RM
54052009-11-19 Robert Millan <rmh.grub@aybabtu.com>
5406
5407 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
5408 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
5409 Include `"progname.h"'.
5410 (main): Initialize gettext.
5411 * util/i386/pc/grub-setup.c: Gettexttize.
5412 * util/i386/pc/grub-mkimage.c: Likewise.
5413
5414 * Makefile.in (po/*.po): Redefine as ...
5415 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
5416
3bc7896c
RM
5417 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
5418
c37943b6
RM
54192009-11-19 Robert Millan <rmh.grub@aybabtu.com>
5420
5421 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
5422 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
5423 (program_name): Remove.
5424 (main): Initialize gettext support.
6323f705
RM
5425 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
5426 Include `<libintl.h>'.
5427 (_): New macro.
c37943b6
RM
5428
5429 * util/mkisofs/eltorito.c: Gettexttize.
5430 * util/mkisofs/joliet.c: Likewise.
5431 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
5432 * util/mkisofs/multi.c: Likewise.
5433 * util/mkisofs/rock.c: Likewise.
5434 * util/mkisofs/tree.c: Likewise.
5435 * util/mkisofs/write.c: Likewise.
5436
3bc7896c
RM
5437 * po/POTFILES: Update with new files.
5438
5ce77c6e
RM
54392009-11-18 Robert Millan <rmh.grub@aybabtu.com>
5440
5441 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
5442 * util/mkisofs/iso9660.h: Likewise.
5443 * util/mkisofs/joliet.c: Likewise.
5444 * util/mkisofs/mkisofs.c: Likewise.
5445 * util/mkisofs/mkisofs.h: Likewise.
5446 * util/mkisofs/rock.c: Likewise.
5447 * util/mkisofs/tree.c: Likewise.
5448 * util/mkisofs/write.c: Likewise.
5449
5450 * util/mkisofs/eltorito.c (rcsid): Remove.
5451 * util/mkisofs/hash.c: Likewise.
5452 * util/mkisofs/joliet.c: Likewise.
5453 * util/mkisofs/name.c: Likewise.
5454 * util/mkisofs/rock.c: Likewise.
5455 * util/mkisofs/tree.c: Likewise.
5456 * util/mkisofs/write.c: Likewise.
5457
1dabbc77
RM
54582009-11-18 Robert Millan <rmh.grub@aybabtu.com>
5459
5460 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
5461 instead of static allocation.
5462 * util/mkisofs/match.h: Likewise.
5463
633877cb
RM
54642009-11-18 Robert Millan <rmh.grub@aybabtu.com>
5465
3bc7896c
RM
5466 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
5467 and `util/grub.d/10_linux.in'.
633877cb
RM
5468 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
5469 translatable Shell files.
5470
af1c0c85
RM
54712009-11-18 Robert Millan <rmh.grub@aybabtu.com>
5472
5473 * Makefile.in ($(srcdir)/aclocal.m4): New target.
5474
769ae37b
RM
54752009-11-17 Robert Millan <rmh.grub@aybabtu.com>
5476
5477 * INSTALL: Document Automake is needed for bootstrap.
3bc7896c 5478 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
769ae37b
RM
5479 * util/grub.d/10_kfreebsd.in (bindir): New variable.
5480 Add gettext initialization.
5481 (kfreebsd_entry): Make menuentry output translatable.
5482
54832009-11-17 Robert Millan <rmh.grub@aybabtu.com>
5484
5485 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
5486 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
5487 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
5488 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
5489 (LINGUAS): Auto-generate using `po/LINGUAS'.
3bc7896c 5490 * po/LINGUAS: New file.
769ae37b
RM
5491
54922009-11-17 Robert Millan <rmh.grub@aybabtu.com>
5493
5494 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
5495 other things).
5496 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
5497 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
5498 bindtextdomain() calls for gettext initialization.
5499
55002009-11-17 Robert Millan <rmh.grub@aybabtu.com>
5501
5502 * gnulib/progname.c: New file (imported from Gnulib).
5503 * gnulib/progname.h: Likewise.
5504 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
5505 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
5506 (usage): Replace `progname' with `program_name'.
5507 (main): Use set_program_name() for program name initialization.
5508
55092009-11-17 Robert Millan <rmh.grub@aybabtu.com>
5510
5511 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
5512 from here ...
5513 * Makefile.in (CPPFLAGS): ... to here.
5514
55152009-11-16 Robert Millan <rmh.grub@aybabtu.com>
5516
5517 * aclocal.m4: Move from here ...
5518 * acinclude.m4: ... to here.
5519 * autogen.sh: Add call to `aclocal'.
5520 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
5521
55222009-11-16 Robert Millan <rmh.grub@aybabtu.com>
5523
5524 * Makefile.in (CLEANFILES): Add `po/*.mo'.
5525 (LINGUAS): New variable.
5526 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
5527 (install-local): Install MO files.
5528 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
5529 * include/grub/i18n.h: New file.
3bc7896c
RM
5530 * po/POTFILES: New file.
5531 * po/ca.po: New file.
769ae37b
RM
5532 * util/grub.d/10_linux.in (bindir): New variable.
5533 Add gettext initialization.
5534 (linux_entry): Make menuentry output translatable.
5535 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
5536 (usage): Make --help output translatable.
5537 (main): Initialize gettext.
5538
02c0a6ad
RM
55392009-11-17 Robert Millan <rmh.grub@aybabtu.com>
5540
5541 * import_gcry.py: New file (written by Vladimir with minor
5542 adjustments).
5543 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
5544 ciphers.
5545 * INSTALL: Document that Python is required for bootstrap.
5546
55472009-11-17 Robert Millan <rmh.grub@aybabtu.com>
5548
5549 Import ciphers from libgcrypt 1.4.4.
5550
5551 * lib/libgcrypt/cipher/ChangeLog
5552 * lib/libgcrypt/cipher/ac.c
5553 * lib/libgcrypt/cipher/arcfour.c
5554 * lib/libgcrypt/cipher/bithelp.h
5555 * lib/libgcrypt/cipher/blowfish.c
5556 * lib/libgcrypt/cipher/camellia-glue.c
5557 * lib/libgcrypt/cipher/camellia.c
5558 * lib/libgcrypt/cipher/camellia.h
5559 * lib/libgcrypt/cipher/cast5.c
5560 * lib/libgcrypt/cipher/cipher.c
5561 * lib/libgcrypt/cipher/crc.c
5562 * lib/libgcrypt/cipher/des.c
5563 * lib/libgcrypt/cipher/dsa.c
5564 * lib/libgcrypt/cipher/ecc.c
5565 * lib/libgcrypt/cipher/elgamal.c
5566 * lib/libgcrypt/cipher/hash-common.c
5567 * lib/libgcrypt/cipher/hash-common.h
5568 * lib/libgcrypt/cipher/hmac-tests.c
5569 * lib/libgcrypt/cipher/md.c
5570 * lib/libgcrypt/cipher/md4.c
5571 * lib/libgcrypt/cipher/md5.c
5572 * lib/libgcrypt/cipher/primegen.c
5573 * lib/libgcrypt/cipher/pubkey.c
5574 * lib/libgcrypt/cipher/rfc2268.c
5575 * lib/libgcrypt/cipher/rijndael-tables.h
5576 * lib/libgcrypt/cipher/rijndael.c
5577 * lib/libgcrypt/cipher/rmd.h
5578 * lib/libgcrypt/cipher/rmd160.c
5579 * lib/libgcrypt/cipher/rsa.c
5580 * lib/libgcrypt/cipher/seed.c
5581 * lib/libgcrypt/cipher/serpent.c
5582 * lib/libgcrypt/cipher/sha1.c
5583 * lib/libgcrypt/cipher/sha256.c
5584 * lib/libgcrypt/cipher/sha512.c
5585 * lib/libgcrypt/cipher/tiger.c
5586 * lib/libgcrypt/cipher/twofish.c
5587 * lib/libgcrypt/cipher/whirlpool.c
5588
af2f93ac
RM
55892009-11-16 Robert Millan <rmh.grub@aybabtu.com>
5590
5591 Fix build for systems without error().
5592
5593 * gnulib/error.c: New file (imported from Gnulib).
5594 * gnulib/error.h: Likewise.
5595 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
5596 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
5597 (this variable is now used by error()).
5598
73fb3dd5
FZ
55992009-11-16 Felix Zielcke <fzielcke@z-51.de>
5600
814f5e96
FZ
5601 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
5602 instead of relying that char is signed.
73fb3dd5 5603
a691ca33
VS
56042009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
5605
5606 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
5607 blocksize different from specified.
5608 (grub_pxefs_read): Likewise.
5609
2af8f0f4
FZ
56102009-11-16 Felix Zielcke <fzielcke@z-51.de>
5611
5612 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
5613
5614 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
5615 (grub_ata_readwrite): Likewise. Update 2 format strings.
5616 (grub_atapi_read): Likewise.
5617
5618 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
5619 * conf/i386.rmk (pkglib_MODULES): ... to here ...
5620 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
5621 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
5622 (ata_mod_LDFLAGS): Move from here ...
5623 * conf/i386.rmk: ... to here ...
5624 * conf/x86_64-efi.rmk: ... and here.
5625 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
5626 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
5627
83bdecaf
RM
56282009-11-16 Robert Millan <rmh.grub@aybabtu.com>
5629
5630 Relicense multiboot.h, with RMS' blessing.
5631
5632 * include/multiboot.h: Change to X11 license.
5633
fd6fd3d7
RM
56342009-11-15 Robert Millan <rmh.grub@aybabtu.com>
5635
5636 Support --version in grub-mkisofs.
5637
5638 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
5639 (OPTION_VERSION): New macro.
5640 (ld_options): Recognize --version.
5641 (usage): Move `program_name' from here ...
5642 (program_name): ... to here. Add `static' qualifier.
5643 (main): Recognize `OPTION_VERSION'.
5644
16a88c49
FZ
56452009-11-15 Felix Zielcke <fzielcke@z-51.de>
5646
5647 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
5648 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
5649
a4158476
RM
56502009-11-14 Robert Millan <rmh.grub@aybabtu.com>
5651
5652 Fix help2man generation for mkisofs.
5653
5654 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
5655 (usage): Send output to stdout (rather than stderr).
5656
fc2208b0
RM
56572009-11-14 Robert Millan <rmh.grub@aybabtu.com>
5658
5659 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
5660 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
5661 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
5662 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
5663 (bin_SCRIPTS): Add `grub-mkfloppy'.
5664 (grub_mkfloppy_SOURCES): New variable.
5665
5666 * util/grub-mkrescue.in: New file.
5667 * util/i386/pc/grub-mkfloppy.in: New file.
5668
5669 * util/i386/coreboot/grub-mkrescue.in: Remove.
5670 * util/i386/pc/grub-mkrescue.in: Remove.
5671
8d0edf4a
RM
56722009-11-13 Robert Millan <rmh.grub@aybabtu.com>
5673
5674 * include/grub/multiboot.h (struct grub_multiboot_header): Move
5675 from here ...
5676 * include/multiboot.h (struct multiboot_header): ... to here. Update
5677 all users.
5678 * include/grub/multiboot.h (struct grub_multiboot_info): Move
5679 from here ...
5680 * include/multiboot.h (struct multiboot_info): ... to here. Update
5681 all users.
5682 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
5683 from here ...
5684 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
5685 Update all users.
5686 * include/grub/multiboot.h (struct grub_mod_list): Move
5687 from here ...
5688 * include/multiboot.h (struct multiboot_mod_list): ... to here.
5689 Update all users.
5690
a73f5969
RM
56912009-11-13 Robert Millan <rmh.grub@aybabtu.com>
5692
5693 * include/multiboot2.h (multiboot_word): Rename from this ...
5694 (multiboot2_word): ... to this. Update all users.
5695 (multiboot_header): Rename from this ...
5696 (multiboot2_header): ... to this. Update all users.
5697 (multiboot_tag_header): Rename from this ...
5698 (multiboot2_tag_header): ... to this. Update all users.
5699 (multiboot_tag_start): Rename from this ...
5700 (multiboot2_tag_start): ... to this. Update all users.
5701 (multiboot_tag_name): Rename from this ...
5702 (multiboot2_tag_name): ... to this. Update all users.
5703 (multiboot_tag_module): Rename from this ...
5704 (multiboot2_tag_module): ... to this. Update all users.
5705 (multiboot_tag_memory): Rename from this ...
5706 (multiboot2_tag_memory): ... to this. Update all users.
5707 (multiboot_tag_unused): Rename from this ...
5708 (multiboot2_tag_unused): ... to this. Update all users.
5709 (multiboot_tag_end): Rename from this ...
5710 (multiboot2_tag_end): ... to this. Update all users.
5711
1c8927f0
RM
57122009-11-13 Robert Millan <rmh.grub@aybabtu.com>
5713
5714 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
5715 this platform we should support Multiboot1 first.
5716
5717 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
5718 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
5719 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
5720
6e1e0d89
RM
57212009-11-12 Robert Millan <rmh.grub@aybabtu.com>
5722
5723 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
5724 of write calls (converting them to fwrite() if they aren't already).
5725 (get_torito_desc): Likewise.
5726 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
5727
7f2b34d8
RM
57282009-11-12 Robert Millan <rmh.grub@aybabtu.com>
5729
5730 * util/i386/pc/grub-install.in: Move from here ...
5731 * util/grub-install.in: ... to here. Update all users.
5732
c0ef3311
CW
57332009-11-11 Colin Watson <cjwatson@ubuntu.com>
5734
5735 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
5736
e1f240ff
RM
57372009-11-11 Robert Millan <rmh.grub@aybabtu.com>
5738
5739 Support for El Torito without floppy emulation.
5740
5741 * util/mkisofs/eltorito.c: Include `<errno.h>'.
5742 (init_boot_catalog): Improve error handling.
5743 (get_torito_desc): Don't use floppy emulation unless requested by
5744 user. Patch boot information table when requested via
5745 `-boot-info-table'.
5746 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
5747 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
5748 (use_boot_info_table): New variables.
5749 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
5750 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
5751 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
5752 `--eltorito-emul-floppy'.
5753 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
5754 and `OPTION_ELTORITO_EMUL_FLOPPY'.
5755 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
5756 (use_boot_info_table, get_731): New prototypes.
5757 * util/mkisofs/write.c (get_731): New function.
5758
af7d4de5
FZ
57592009-11-11 Felix Zielcke <fzielcke@z-51.de>
5760
5761 Fix the generation of the man page.
5762
5763 * util/pc/i386/grub-install.in: Source
5764 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
5765
2c55dbc0
RM
57662009-11-11 Robert Millan <rmh.grub@aybabtu.com>
5767
5768 Large file support for grub-mkisofs.
5769
5770 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
5771 * util/mkisofs/mkisofs.c (next_extent, last_extent)
5772 (session_start): Upgrade type to `uint64_t'. Update all users.
5773 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
5774 (struct directory_entry): Upgrade type of `starting_block' and
5775 `size' to `uint64_t'. Update all users.
5776 (struct deferred): Remove unused structure.
5777 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
5778 Update all users.
5779 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
5780 file is larger than `UINT32_MAX'.
5781 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
5782 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
5783 return value.
5784 (struct deferred_write): Upgrade type of `extent' and `size' to
5785 `uint64_t'. Update all users.
5786 (last_extent_written): Upgrade type to `uint64_t'. Update all
5787 users.
5788 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
5789 Update all users. Upgrade type of `remain' to `int64_t' and
5790 `use' to `size_t'. Use error() to handle fread() errors.
5791 (write_files): Rely on write_one_file() rather than calling
5792 xfwrite() directly.
5793
6a9cead5
FZ
57942009-11-09 Felix Zielcke <fzielcke@z-51.de>
5795
5796 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
5797
4825d790
RM
57982009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5799
5800 * util/mkisofs/fnmatch.c: Remove.
5801 * util/mkisofs/getopt1.c: Likewise.
5802 * util/mkisofs/getopt.c: Likewise.
5803 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
5804 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
5805 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
5806 `gnulib/getopt1.c' and `gnulib/getopt.c'.
5807 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
5808
5809 * configure.ac: Detect `mingw32msvc' host_os.
5810 Check for lstat(), getuid() and getgid().
5811
5812 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
5813 instances of `u_char' with `uint8_t'.
5814
5815 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
5816 [!HAVE_GETUID] (getuid): New function (stub).
5817 [!HAVE_GETGID] (getgid): Likewise.
5818 [!HAVE_LSTAT] (lstat): Likewise.
5819 [!S_IROTH] (S_IROTH): New macro (dummy).
5820 [!S_IRGRP] (S_IRGRP): Likewise.
5821
84b860d8
RM
58222009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5823
5824 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
5825 conditional expression).
5826
66e9b712
RM
58272009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5828
5829 Import from Gnulib.
5830
5831 * gnulib/fnmatch.c: New file.
5832 * gnulib/fnmatch.h: Likewise.
5833 * gnulib/fnmatch_loop.c: Likewise.
5834 * gnulib/getopt.c: Likewise.
5835 * gnulib/getopt.h: Likewise.
5836 * gnulib/getopt1.c: Likewise.
5837 * gnulib/getopt_int.h: Likewise.
5838 * gnulib/gettext.h: Likewise.
5839
34f4a5b0
RM
58402009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5841
5842 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
5843 * normal/handler.c (read_handler_list): Likewise.
5844
ac451143
RM
58452009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5846
5847 Misc cleanup.
5848
5849 * kern/command.c (grub_register_command_prio): Use
5850 grub_zalloc() instead of explicitly zeroing data.
5851 * kern/list.c: Include `<grub/mm.h>'.
5852 (grub_named_list_find): Replace `0' with `NULL'.
5853 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
5854 (fs_module_list): Change type to `grub_named_list_t'. Update all
5855 users.
5856 * normal/dyncmd.c (read_command_list): Add space between function
5857 call and parenthesis.
5858 * normal/handler.c (read_handler_list): Likewise.
5859
4089b167
RM
58602009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5861
5862 * normal/auth.c (punishment_delay): Moved from here ...
5863 (grub_auth_strcmp): ... to here (inside function).
5864
325f5037
RM
58652009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5866
5867 * include/grub/list.h (struct grub_named_list): Remove `const'
5868 qualifier from `name'.
5869 (struct grub_prio_list): Likewise.
5870
7aea29a3
RM
58712009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5872
5873 * normal/auth.c: Include `<grub/time.h>'.
5874 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
5875
3fd6f044
RM
58762009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5877
5878 * normal/auth.c (punishment_delay): New variable.
5879 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
5880 (grub_auth_check_authentication): Punish failed login attempts with
5881 an incremental (2^N) delay.
5882
a4cd68e4
RM
58832009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5884
5885 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
5886 path with $(srcdir).
5887
7ad12f43
VS
58882009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5889
5890 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
5891
c1129f03
RM
58922009-11-09 Robert Millan <rmh.grub@aybabtu.com>
5893
5894 * util/i386/coreboot/grub-mkrescue.in: New file.
5895 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
5896 variables.
5897
5898 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
5899 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
5900 * configure.ac: Add header and function checks to satisfy grub-mkisofs
5901 requirements.
5902 * util/mkisofs/defaults.h: New file.
5903 * util/mkisofs/eltorito.c: Likewise.
5904 * util/mkisofs/exclude.h: Likewise.
5905 * util/mkisofs/fnmatch.c: Likewise.
5906 * util/mkisofs/getopt.c: Likewise.
5907 * util/mkisofs/getopt1.c: Likewise.
5908 * util/mkisofs/hash.c: Likewise.
5909 * util/mkisofs/include/fctldefs.h: Likewise.
5910 * util/mkisofs/include/mconfig.h: Likewise.
5911 * util/mkisofs/include/prototyp.h: Likewise.
5912 * util/mkisofs/include/statdefs.h: Likewise.
5913 * util/mkisofs/iso9660.h: Likewise.
5914 * util/mkisofs/joliet.c: Likewise.
5915 * util/mkisofs/match.c: Likewise.
5916 * util/mkisofs/match.h: Likewise.
5917 * util/mkisofs/mkisofs.c: Likewise.
5918 * util/mkisofs/mkisofs.h: Likewise.
5919 * util/mkisofs/multi.c: Likewise.
5920 * util/mkisofs/name.c: Likewise.
5921 * util/mkisofs/rock.c: Likewise.
5922 * util/mkisofs/tree.c: Likewise.
5923 * util/mkisofs/write.c: Likewise.
5924
ec8bb77d
VS
59252009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
5926
5927 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
5928 being insecure.
5929
3716b12c
RM
59302009-11-08 Robert Millan <rmh.grub@aybabtu.com>
5931
5932 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
5933 `grub-mkimage' (and use $0 when possible).
5934
b97b7b91
RM
59352009-11-08 Robert Millan <rmh.grub@aybabtu.com>
5936
5937 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
5938 error message for excessively large memory map.
5939
04114812
RM
59402009-11-08 Robert Millan <rmh.grub@aybabtu.com>
5941
5942 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
5943 executable bit.
5944
e4eb2373
RM
59452009-11-08 Robert Millan <rmh.grub@aybabtu.com>
5946
5947 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
5948 message for coreboot users.
5949
c926e1d5 59502009-11-07 Robert Millan <rmh.grub@aybabtu.com>
5951
5952 Fix build with GNU gold.
5953
5954 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
5955 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
5956 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
5957 link addresses.
5958 * aclocal.m4: Likewise.
5959
86e5b1db 59602009-11-04 Felix Zielcke <fzielcke@z-51.de>
5961
5962 * configure.ac (AC_PREREQ): Bump to 2.59d.
5963 * INSTALL: Make it more clear when Autoconf and Ruby are
5964 needed and when to run `./autogen.sh'.
5965
246cd78f 59662009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
5967
5968 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
5969 OSes.
5970
4f9dfb37 59712009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
5972
5973 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
5974
b82bd5e1 59752009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
5976
5977 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
5978 giving it to GNU Mach.
5979
ff1a9bca 59802009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
5981
5982 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
5983 GNU partition number to get internal GRUB partition number.
5984
61697d9c 59852009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
5986
5987 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
5988 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
5989
a50569e1 59902009-11-01 Robert Millan <rmh.grub@aybabtu.com>
5991
5992 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
5993 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
5994 case.
5995
5b153867 59962009-11-01 Felix Zielcke <fzielcke@z-51.de>
5997
5998 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
5999
d9e2cd70 60002009-10-30 Robert Millan <rmh.grub@aybabtu.com>
6001
6002 Fix build problem.
6003
6004 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
6005 `-isystem=$(srcdir)/include'.
6006
805111a4 60072009-10-30 Robert Millan <rmh.grub@aybabtu.com>
6008
6009 * util/i386/pc/grub-install.in: Remove hint that device.map should be
6010 checked (grub-install doesn't currently rely on it).
6011
fa6e945f 60122009-10-29 Robert Millan <rmh.grub@aybabtu.com>
6013
6014 Revert SVN r2660.
6015
6016 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
6017 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
6018 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
6019 * conf/i386-ieee1275.rmk: Likewise.
6020 * conf/i386-pc.rmk: Likewise.
6021 * conf/powerpc-ieee1275.rmk: Likewise.
6022 * conf/sparc64-ieee1275.rmk: Likewise.
6023 * conf/x86_64-efi.rmk: Likewise.
6024
cee15086 60252009-10-28 Robert Millan <rmh.grub@aybabtu.com>
6026
6027 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
6028
95b9239e 60292009-10-28 Robert Millan <rmh.grub@aybabtu.com>
6030
6031 * include/grub/misc.h: Stop checking for APPLE_CC.
6032
2ed19dfd 60332009-10-28 Robert Millan <rmh.grub@aybabtu.com>
6034
6035 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
6036 doesn't cause an infinite call loop.
6037
fdcdde19 60382009-10-28 Felix Zielcke <fzielcke@z-51.de>
6039
6040 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
6041 strings.
6042
cefabfe1 60432009-10-26 Robert Millan <rmh.grub@aybabtu.com>
6044
6045 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
6046 variable.
6047 * Makefile.in: Likewise.
6048
ed96ab6d 60492009-10-26 Robert Millan <rmh.grub@aybabtu.com>
6050
6051 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
6052
0579b753 60532009-10-26 Robert Millan <rmh.grub@aybabtu.com>
6054
6055 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
6056
478df409 60572009-10-26 Robert Millan <rmh.grub@aybabtu.com>
6058
6059 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
6060
083d1679 60612009-10-26 Robert Millan <rmh.grub@aybabtu.com>
6062
6063 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
6064 from here ...
6065 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
6066
5947ae32 60672009-10-26 Robert Millan <rmh.grub@aybabtu.com>
6068
6069 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
6070 in $(MAKEINFO) invocation. This makes it clear in output that
6071 errors are being ignored.
6072
94180ff6 60732009-10-26 Robert Millan <rmh.grub@aybabtu.com>
6074
6075 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
6076 from here ...
6077 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
6078 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
6079 * conf/i386-ieee1275.rmk: Likewise.
6080 * conf/i386-pc.rmk: Likewise.
6081 * conf/powerpc-ieee1275.rmk: Likewise.
6082 * conf/sparc64-ieee1275.rmk: Likewise.
6083 * conf/x86_64-efi.rmk: Likewise.
6084
9031b03a 60852009-10-26 Colin Watson <cjwatson@ubuntu.com>
6086
6087 * util/grub-editenv.c (main): If only a command is given, use
6088 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
6089 (usage): FILENAME is now optional and has a default.
6090
e4f6809b 60912009-10-26 Colin Watson <cjwatson@ubuntu.com>
6092
6093 Improve grub-mkconfig performance when there are several menu
6094 entries on a single filesystem.
6095
6096 * util/grub.d/10_linux.in (linux_entry): Cache the output of
6097 prepare_grub_to_access_device.
6098 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
6099 * util/grub.d/30_os-prober.in: Likewise.
6100
67937d4d 61012009-10-26 Robert Millan <rmh.grub@aybabtu.com>
6102
6103 * util/grub.d/10_freebsd.in: Remove.
6104 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
6105 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
6106
ee3756cc 61072009-10-26 Robert Millan <rmh.grub@aybabtu.com>
6108
5c35048e 6109 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 6110
4dea1c6f 61112009-10-25 Robert Millan <rmh.grub@aybabtu.com>
6112
6113 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
6114 grub_util_error() call.
6115
042484d7 61162009-10-25 Robert Millan <rmh.grub@aybabtu.com>
6117
6118 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
6119 `reserved_first_sector' member.
6120 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
6121 `reserved_first_sector' to 1.
6122 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
6123 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
6124 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
6125 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
6126 filesystems which begin at first sector.
6127 (options): New option --skip-fs-probe.
6128 (main): Handle --skip-fs-probe and pass it to setup().
6129
d64448a7 61302009-10-25 Robert Millan <rmh.grub@aybabtu.com>
6131
6132 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
6133 (memset): Fix function prototype.
6134
508d42ec 61352009-10-25 Robert Millan <rmh.grub@aybabtu.com>
61362009-10-25 Vasily Averin <vvs@parallels.com>
6137
6138 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
6139 `dirent.direntlen == 0'.
6140
b240e30c 61412009-10-25 Robert Millan <rmh.grub@aybabtu.com>
6142
6143 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
6144 `cpio'.
6145 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
6146
346e7fbe 61472009-10-25 Robert Millan <rmh.grub@aybabtu.com>
6148
6149 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
6150 `__trampoline_setup' and `__ucmpdi2'.
6151 * include/grub/powerpc/libgcc.h: Only export symbols for functions
6152 that libgcc provides.
6153
cdb308b0 61542009-10-25 Robert Millan <rmh.grub@aybabtu.com>
6155
6156 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
6157 * include/grub/sparc64/libgcc.h (memset): Likewise.
6158 * include/grub/misc.h (memset, memcmp): New function prototypes.
6159
fb26abc2 61602009-10-25 Robert Millan <rmh.grub@aybabtu.com>
6161
6162 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
6163 `cpio'.
6164 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
6165
f6693890 61662009-10-25 Robert Millan <rmh.grub@aybabtu.com>
6167
6168 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
6169 * docs/grub.cfg: Compensate for recent change in multiboot
6170 loader (since 2009-08-14 it won't pass filename to payload).
6171 * util/grub.d/10_hurd.in: Likewise.
6172
0933cdc0 61732009-10-21 Felix Zielcke <fzielcke@z-51.de>
6174
6175 * config.guess: Update to latest version from config git
6176 repository.
6177 * config.sub: Likewise.
6178
3b2fe8c2 61792009-10-20 Robert Millan <rmh.grub@aybabtu.com>
6180
6181 Fix build on sparc64.
6182
6183 * configure.ac: Perform checks for libgcc symbols before
6184 adding `-nostdlib' to LDFLAGS.
6185
46695a62 61862009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6187
6188 Let user specify OpenBSD root device.
6189
6190 * loader/i386/bsd.c (openbsd_root): New variable.
6191 (openbsd_opts): New option 'root'.
6192 (OPENBSD_ROOT_ARG): New macro.
6193 (grub_openbsd_boot): Use 'openbsd_root'.
6194 (grub_cmd_openbsd): Fill 'openbsd_root'.
6195
d2b6b7fc 61962009-10-16 Robert Millan <rmh.grub@aybabtu.com>
6197
6198 * NEWS: Misc adjustments.
6199
421bd7ac 62002009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
6201
6202 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
6203
f1d29d87 62042009-10-16 Robert Millan <rmh.grub@aybabtu.com>
6205
6206 * configure.ac: Bump version to 1.97.
6207
6f3cd880 62082009-10-16 Colin Watson <cjwatson@ubuntu.com>
6209
6210 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
6211 -mno-3dnow on x86 architectures. Some toolchains enable these
6212 features by default, but they rely on registers that aren't enabled
6213 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
6214
035f7122 62152009-10-15 Robert Millan <rmh.grub@aybabtu.com>
6216
6217 Make entry text a bit more readable.
6218
6219 * util/grub.d/10_linux.in: Add `with' before `Linux'.
6220
44998e58 62212009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
6222
6223 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
6224
cd2851b3 62252009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
6226
6227 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
6228 operations.
6229
c6f3b249 62302009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
6231
6232 * configure.ac: Add missing dollar.
6233
6b5886ba 62342009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
6235
6236 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
6237
6238 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
6239 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
6240 exports.
6241 * include/grub/sparc64/libgcc.h: Likewise. Use
6242 preprocessor conditionals.
6243
e9d66f6d 62442009-10-14 Robert Millan <rmh.grub@aybabtu.com>
6245
6246 * conf/common.rmk (grub-dumpbios): Remove rule.
6247 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
6248 * util/grub-dumpbios.in: Remove file.
6249
9155bc17 62502009-10-14 Robert Millan <rmh.grub@aybabtu.com>
6251
6252 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
6253 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
6254
6255 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
6256 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
6257 users.
6258
6259 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
6260 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
6261 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
6262 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
6263 users.
6264
bf7f7a18 62652009-10-12 Robert Millan <rmh.grub@aybabtu.com>
6266
6267 * term/tparm.c: Switch to GPLv3.
6268
86564c26 62692009-10-09 Robert Millan <rmh.grub@aybabtu.com>
6270
6271 * include/grub/i386/cpuid.h: Add header protection.
6272
5c936493 62732009-10-09 Robert Millan <rmh.grub@aybabtu.com>
6274
6275 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
6276
6277 * include/grub/i386/cpuid.h: New file.
6278 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
6279 (has_longmode): Rename to ...
6280 (grub_cpuid_has_longmode): ... this. Update all users. Remove
6281 `static' attribute.
6282 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
6283 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
6284 on a CPU that doesn't implement AMD64 instruction set.
6285
186e7cf2 62862009-10-06 Colin Watson <cjwatson@ubuntu.com>
6287
6288 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
6289 that version.texi is rebuilt on version number changes.
6290
83b65c4a 62912009-10-06 Colin Watson <cjwatson@ubuntu.com>
6292
6293 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
6294 Fixes bug #27602.
6295
d244281c 62962009-10-06 Colin Watson <cjwatson@ubuntu.com>
6297
6298 * util/i386/pc/grub-install.in: Source
6299 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
6300 that the --grub-probe option will work.
6301 * util/sparc64/ieee1275/grub-install.in: Likewise.
6302
da25306d 63032009-10-05 Robert Millan <rmh.grub@aybabtu.com>
6304
6305 * configure.ac: Bump version to 1.97~beta4.
6306
e8ee83c0 63072009-10-03 Robert Millan <rmh.grub@aybabtu.com>
6308
6309 Resync grub-mkdevicemap in x86_64-efi.
6310
6311 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
6312 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
6313 `util/devicemap.c'.
6314
50dcabcf 63152009-10-01 Colin Watson <cjwatson@ubuntu.com>
6316
6317 * util/grub-editenv.c (create_envblk_file): Write new block with a
6318 .new suffix and then rename it into place, to ensure atomic
6319 creation.
6320
0e51c3a7 63212009-09-28 Robert Millan <rmh.grub@aybabtu.com>
6322
6323 Do not automatically install headers.
6324
6325 * Makefile.in (include_DATA): Remove. Update all users.
6326
31299a95 63272009-09-26 Robert Millan <rmh.grub@aybabtu.com>
6328
6329 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
6330 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
6331
6332 * util/osdetect.lua: Remove.
6333 * script/lua/lauxlib.c: Likewise.
6334 * script/lua/ldebug.c: Likewise.
6335 * script/lua/grub_main.c: Likewise.
6336 * script/lua/lauxlib.h: Likewise.
6337 * script/lua/ldebug.h: Likewise.
6338 * script/lua/ltablib.c: Likewise.
6339 * script/lua/liolib.c: Likewise.
6340 * script/lua/lstrlib.c: Likewise.
6341 * script/lua/lualib.h: Likewise.
6342 * script/lua/ldo.c: Likewise.
6343 * script/lua/ldump.c: Likewise.
6344 * script/lua/ldo.h: Likewise.
6345 * script/lua/loslib.c: Likewise.
6346 * script/lua/lundump.c: Likewise.
6347 * script/lua/grub_lib.c: Likewise.
6348 * script/lua/ldblib.c: Likewise.
6349 * script/lua/lundump.h: Likewise.
6350 * script/lua/lmem.c: Likewise.
6351 * script/lua/grub_lib.h: Likewise.
6352 * script/lua/lmathlib.c: Likewise.
6353 * script/lua/lstate.c: Likewise.
6354 * script/lua/ltm.c: Likewise.
6355 * script/lua/lvm.c: Likewise.
6356 * script/lua/lmem.h: Likewise.
6357 * script/lua/lstate.h: Likewise.
6358 * script/lua/ltm.h: Likewise.
6359 * script/lua/ltable.c: Likewise.
6360 * script/lua/lvm.h: Likewise.
6361 * script/lua/llex.c: Likewise.
6362 * script/lua/lgc.c: Likewise.
6363 * script/lua/grub_lua.h: Likewise.
6364 * script/lua/loadlib.c: Likewise.
6365 * script/lua/lfunc.c: Likewise.
6366 * script/lua/lopcodes.c: Likewise.
6367 * script/lua/lparser.c: Likewise.
6368 * script/lua/ltable.h: Likewise.
6369 * script/lua/llex.h: Likewise.
6370 * script/lua/lgc.h: Likewise.
6371 * script/lua/lfunc.h: Likewise.
6372 * script/lua/lbaselib.c: Likewise.
6373 * script/lua/lopcodes.h: Likewise.
6374 * script/lua/lparser.h: Likewise.
6375 * script/lua/lzio.c: Likewise.
6376 * script/lua/linit.c: Likewise.
6377 * script/lua/lobject.c: Likewise.
6378 * script/lua/llimits.h: Likewise.
6379 * script/lua/lstring.c: Likewise.
6380 * script/lua/lzio.h: Likewise.
6381 * script/lua/lapi.c: Likewise.
6382 * script/lua/lcode.c: Likewise.
6383 * script/lua/lua.h: Likewise.
6384 * script/lua/lobject.h: Likewise.
6385 * script/lua/lstring.h: Likewise.
6386 * script/lua/lapi.h: Likewise.
6387 * script/lua/lcode.h: Likewise.
6388 * script/lua/luaconf.h: Likewise.
6389
cb8a2c38 63902009-09-26 Colin Watson <cjwatson@ubuntu.com>
6391
6392 * docs/grub.texi (Command-line and menu entry commands): Document
6393 date and echo commands.
6394
6b9b6276 63952009-09-24 Pavel Roskin <proski@gnu.org>
6396
6397 * include/grub/kernel.h (struct grub_module_header): Remove
6398 `grub_module_header_types'. Make `type' unsigned. Make `size'
6399 32-bit on all platforms.
6400 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
6401 8-bit field. Use grub_host_to_target32() for `size'.
6402 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
6403 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
6404 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
6405
4e5a02a7 64062009-09-24 Robert Millan <rmh.grub@aybabtu.com>
6407
6408 Fix "lost keypress" bug in at_keyboard.
6409
6410 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
6411 Checks for readyness of input buffer (without flushing it).
6412 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
6413 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
6414
c6dcedf6 64152009-09-24 Robert Millan <rmh.grub@aybabtu.com>
6416
6417 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
6418 size check within GRUB_MACHINE_PCBIOS section.
6419
74c958b1 64202009-09-24 Robert Millan <rmh.grub@aybabtu.com>
6421
6422 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
6423 return value.
6424 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
6425 KEYBOARD_ISREADY check.
6426 (grub_at_keyboard_checkkey): Rename to ...
6427 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
6428 Remove gratuitous cast.
6429
ff420223 64302009-09-23 Colin Watson <cjwatson@ubuntu.com>
6431
6432 * configure.ac: Call AC_PROG_MKDIR_P.
6433 * Makefile.in (docs/stamp-vti): Create docs directory. Create
6434 version.texi in $(builddir) rather than $(srcdir).
6435 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
6436 to makeinfo's @include search path.
6437
d96875df 64382009-09-23 Felix Zielcke <fzielcke@z-51.de>
6439
6440 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
6441
9b3f8365 64422009-09-23 Felix Zielcke <fzielcke@z-51.de>
6443
6444 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
6445 for `*.dpkg-new'.
6446
c44c90db 64472009-09-21 Colin Watson <cjwatson@ubuntu.com>
6448
6449 Build info documentation. Some code borrowed from Automake.
6450
6451 * configure.ac: Check for makeinfo.
6452 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
6453 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
6454 docs/version.texi.
6455 (MOSTLYCLEANFILES): Add vti.tmp.
6456 (docs/version.texi, docs/stamp-vti): Update automatically.
6457 (docs/grub.info): Build info documentation. Use --force and ignore
6458 errors for now.
6459 (all-local): Add $(INFOS).
6460 (install-local): Install info files.
6461 (uninstall): Uninstall info files.
6462 * docs/version.texi: Remove from revision control. This file is
6463 automatically generated on build now.
6464 * gendistlist.sh: Add `*.info'.
6465
e0b37bb5 64662009-09-21 Felix Zielcke <fzielcke@z-51.de>
6467
6468 * kern/term.c: Fix indentation.
6469
5a78865b 64702009-09-21 Felix Zielcke <fzielcke@z-51.de>
6471
6472 * util/hostdisk.c: Fix a comment.
6473
dace7e8a 64742009-09-20 Robert Millan <rmh.grub@aybabtu.com>
6475
6476 Fix regression introduced in r2539.
6477
6478 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
6479 to 0xA1.
6480
a83d079b 64812009-09-19 Colin Watson <cjwatson@ubuntu.com>
6482
6483 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 6484 os-prober. Under normal operation, it does not print anything to
6485 stderr; if it does, we need to debug it, and throwing away stderr
6486 makes that excessively difficult.
a83d079b 6487
be94a509 64882009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
6489
6490 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
6491
63f745e8 64922009-09-16 Robert Millan <rmh.grub@aybabtu.com>
6493
6494 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
6495 AC_LANG_PROGRAM from autoconf.
6496 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
6497 prototypes (fixes warning).
6498
6499 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
6500 `--disable-werror' was used.
6501
bbb2a70f 65022009-09-16 Robert Millan <rmh.grub@aybabtu.com>
6503
6504 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
6505 uninitialized `lastaddr'.
6506
77c24f1d 65072009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
6508
0f0b8c87 6509 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 6510
07197f23 65112009-09-14 Colin Watson <cjwatson@ubuntu.com>
6512
6513 * commands/test.c (get_fileinfo): Return immediately if
6514 grub_fs_probe fails.
6515
dabf1798 65162009-09-14 José Martínez <xosemp@gmail.com>
6517
6518 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
6519
d52109a7 65202009-09-14 Colin Watson <cjwatson@ubuntu.com>
6521
6522 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
6523 output.
6524
56532179 65252009-09-13 Robert Millan <rmh.grub@aybabtu.com>
6526
6527 * configure.ac: Remove --enable-grub-pe2elf. Only build
6528 grub-pe2elf when needed by the build system itself.
6529 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
6530
8ef070f5 65312009-09-12 Robert Millan <rmh.grub@aybabtu.com>
6532
6533 * configure.ac: Bump version to 1.97~beta3.
6534 * docs/version.texi: Likewise.
6535
61229557 65362009-09-12 Robert Millan <rmh.grub@aybabtu.com>
6537
6538 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
6539 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
6540 from here ...
6541 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
6542 (grub_linux_setup_video): ... to here (with some adjustments).
6543
5c9f8d84 65442009-09-12 Robert Millan <rmh.grub@aybabtu.com>
6545
6546 Fix memory corruption issue (spotted by Colin Watson).
6547
6548 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
6549 causing returned size to be stored in an incorrect memory location.
6550 Fix use of uninitialized value when storing the returned size.
6551
e8f5d6e9 65522009-09-12 Yves Blusseau <blusseau@zetam.org>
6553
6554 Change clean rules to properly remove files
6555
6556 * genmk.rb: add new clean rules
6557 * Makefile.in (clean): add the new targets
6558 (mostlyclean): likewise
6559
cda2a409 65602009-09-11 Colin Watson <cjwatson@ubuntu.com>
6561
6562 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
6563 to grub_uint64_t.
6564 * fs/ntfs.c (init_file): Understand 64-bit sizes for
6565 non-resident files.
6566
86695375 65672009-09-11 Colin Watson <cjwatson@ubuntu.com>
6568
6569 * configure.ac: Don't look for help2man when cross-compiling. Fixes
6570 part of bug #27349.
6571
8aa1541a 65722009-09-10 Felix Zielcke <fzielcke@z-51.de>
6573
6574 * util/grub-mkconfig.in: Make the created config mode 400 and
6575 print a warning if it fails.
6576
48d9bb0a 65772009-09-10 Robert Millan <rmh.grub@aybabtu.com>
6578
6579 * util/grub.d/40_custom.in: Ask user to type custom entries below
6580 comment, rather than below 'exec tail' line.
6581
3b0521be 65822009-09-10 Colin Watson <cjwatson@ubuntu.com>
6583
6584 * util/grub.d/40_custom.in: Make sure that the explanatory text is
6585 visible in grub.cfg.
6586
50051d55 65872009-09-10 Colin Watson <cjwatson@ubuntu.com>
6588
6589 * util/grub.d/40_custom.in: Make it a little clearer how to use this
6590 file.
6591
c0d34387 65922009-09-10 Felix Zielcke <fzielcke@z-51.de>
6593
6594 * docs/grub.cfg: Add an example menu entry for memtest86+.
6595
80a608f3 65962009-09-09 Felix Zielcke <fzielcke@z-51.de>
6597
a2094832 6598 * config.guess: Update to latest version from config git.
80a608f3 6599 * config.sub: Likewise.
6600
99423078 66012009-09-08 Colin Watson <cjwatson@ubuntu.com>
6602
6603 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
6604 unknown-command case. Fixes bug #27320.
6605
44454e4c 66062009-09-08 Felix Zielcke <fzielcke@z-51.de>
6607
6608 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
6609 `help' if the command exists.
6610
e30d87ad 66112009-09-06 Robert Millan <rmh.grub@aybabtu.com>
6612
6613 * INSTALL: Require GCC 4.1.3 or later.
6614
9a86f1ec 66152009-09-06 Yves Blusseau <blusseau@zetam.org>
6616
6617 * Makefile.in (RMKFILES): add i386-qemu.rmk
6618 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
6619 $(srcdir)/stamp-h.in
6620
7f26d466 66212009-09-05 Robert Millan <rmh.grub@aybabtu.com>
6622
6623 * util/grub-probe.c (probe): Comment out buggy codepath, which
6624 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
6625 should be re-enabled after 1.97.
6626
3a613259 66272009-09-05 Felix Zielcke <fzielcke@z-51.de>
6628
6629 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
6630 find searches for.
6631
197f76c7 66322009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
6633
6634 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
6635 unnecessary calls to grub_error.
6636
70ba68ce 66372009-09-04 Colin Watson <cjwatson@ubuntu.com>
6638
6639 * NEWS: Mention `keystatus' and Unicode fonts.
6640
4ff0d7a4 66412009-09-04 Robert Millan <rmh.grub@aybabtu.com>
6642
6643 * configure.ac: Bump version to 1.97~beta2.
6644 * docs/version.texi: Likewise.
6645
77c55a87 66462009-09-03 Colin Watson <cjwatson@ubuntu.com>
6647
6648 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
6649 containing unwind information in some cases where it previously did
6650 not. Use -fno-dwarf2-cfi-asm if available to restore the old
6651 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
6652 discussion.
6653
f79572cd 66542009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
6655
6656 Embedding loadenv module into grub-emu
6657
6658 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
6659 commands/loadenv.c
6660 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
6661 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
6662 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
6663 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
6664 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
6665 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
6666
93a81088 66672009-09-03 Magnus Granberg <zorry@ume.nu>
6668
6669 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
6670 include -fPIE in the default specs.
6671 * configure.ac: Check if pie_possible is yes and add -fno-PIE
6672 to TARGET_CFLAGS.
6673
160034b2 66742009-09-03 Felix Zielcke <fzielcke@z-51.de>
6675
6676 * INSTALL: Note that GNU Bison 2.3 or later is required.
6677
087c07c4 66782009-09-03 Colin Watson <cjwatson@ubuntu.com>
6679
6680 * kern/i386/pc/startup.S: Fix typo.
6681
cbf978c0 66822009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
6683
6684 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
6685 according to GCS.
6686
66872009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 6688
6689 * docs/grub.texi (Naming convention): Describe one-based partition
6690 numbering.
6691 (Device syntax): Likewise.
6692 (File name syntax): Likewise.
6693 (Block list syntax): Likewise.
6694 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
6695 menu.lst.
6696 (File name syntax): Likewise.
6697 (Command-line and menu entry commands): Document acpi, blocklist,
6698 crc, export, insmod, keystatus, ls, set, and unset commands.
6699
f3e8cdfd 67002009-09-02 Colin Watson <cjwatson@ubuntu.com>
6701
6702 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
6703 to avoid implying that only one of --shift, --ctrl, or --alt may be
6704 used.
6705
c0bc232b 67062009-09-02 Colin Watson <cjwatson@ubuntu.com>
6707
6708 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
6709 rather than comparing against S_IFREG, which will almost never work.
6710
aa0f752d 67112009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
6712
6713 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
6714 (write_blocklists): Likewise.
6715
ecb3166a 67162009-09-01 Colin Watson <cjwatson@ubuntu.com>
6717
6718 * script/lua/grub_lua.h (fputs): Supply a format string as the first
6719 argument to grub_printf.
6720
c403a125 67212009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 6722
6723 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 6724 non GNU test.
31aba781 6725
b5e7312c 67262009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
6727
6728 * kern/file.c (grub_file_read): Spelling fix
6729
fe00f472 67302009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
6731
6732 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
6733 loading of headers in some cases.
6734
cc55302e 67352009-08-30 Robert Millan <rmh.grub@aybabtu.com>
6736
6737 * configure.ac: Bump version to 1.97~beta1.
6738 * docs/version.texi: Likewise.
6739
5c90cdd2 67402009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 6741
6742 * include/grub/i386/xnu.h: Add license header.
6743 include grub/err.h explicitly.
6744
c90edae4 67452009-08-29 Robert Millan <rmh.grub@aybabtu.com>
6746
6747 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
6748 to `ufs' in the vfs.root.mountfrom kernel parameter.
6749
d8888b5c 67502009-08-29 Robert Millan <rmh.grub@aybabtu.com>
6751
6752 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
6753
6754 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
6755 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
6756
6757 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
6758 `ARRAY_SIZE' macro.
6759
6f07b921 67602009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
6761
6762 * kern/file.c (grub_file_read): Check offset.
6763 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
6764 * fs/jfs.c (grub_jfs_read_file): Likewise.
6765 * fs/ntfs.c (grub_ntfs_read): Likewise.
6766 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
6767 * fs/minix.c (grub_minix_read_file): Correct offset check.
6768 * fs/ufs.c (grub_ufs_read_file): Likewise.
6769
b4f34077 67702009-08-28 Colin Watson <cjwatson@ubuntu.com>
6771
6772 * term/i386/pc/console.c (bios_data_area): Cast
6773 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
6774
e7c69859 67752009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
6776
6777 1-bit optimised blitters.
6778
6779 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
6780 prototype.
6781 (grub_video_fbblit_replace_24bit_1bit): Likewise.
6782 (grub_video_fbblit_replace_16bit_1bit): Likewise.
6783 (grub_video_fbblit_replace_8bit_1bit): Likewise.
6784 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
6785 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
6786 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
6787 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
6788 function.
6789 (grub_video_fbblit_replace_24bit_1bit): Likewise.
6790 (grub_video_fbblit_replace_16bit_1bit): Likewise.
6791 (grub_video_fbblit_replace_8bit_1bit): Likewise.
6792 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
6793 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
6794 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
6795 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
6796 when possible.
6797 * video/video.c (grub_video_get_blit_format): Return
6798 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
6799
a57da43f 68002009-08-28 Colin Watson <cjwatson@ubuntu.com>
6801
6802 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
6803 the first argument to grub_printf.
6804
4cbe67e5 68052009-08-28 Colin Watson <cjwatson@ubuntu.com>
68062009-08-28 Robert Millan <rmh.grub@aybabtu.com>
6807
6808 Add `getkeystatus' terminal method. Add a new `keystatus' command
6809 to query it.
6810
6811 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
6812 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
6813 modifier key bitmasks.
6814 (struct grub_term_input): Add `getkeystatus' member.
6815 (grub_getkeystatus): Add prototype.
6816 * kern/term.c (grub_getkeystatus): New function.
6817
6818 * include/grub/i386/pc/memory.h
6819 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
6820 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
6821 Data Area layout.
6822 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
6823 (grub_console_term_input): Set `getkeystatus' member.
6824 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
6825 constants.
6826 (grub_usb_keyboard_getreport): Likewise.
6827 (grub_usb_keyboard_checkkey): Likewise.
6828 (grub_usb_keyboard_getkeystatus): New function.
6829 (grub_usb_keyboard_term): Set `getkeystatus' member.
6830
6831 * commands/keystatus.c: New file.
6832 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
6833 (keystatus_mod_SOURCES): New variable.
6834 (keystatus_mod_CFLAGS): Likewise.
6835 (keystatus_mod_LDFLAGS): Likewise.
6836 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
6837 commands/keystatus.c.
6838 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
6839 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6840 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
6841 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6842 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6843 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 6844
6e2a9085 68452009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
6846
6847 Split befs.mod and afs.mod into *_be.mod and *.mod
6848
6849 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
6850 (grub_fstest_SOURCES): Likewise.
6851 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
6852 (afs_be_mod_SOURCES): New variable.
6853 (afs_be_mod_CFLAGS): Likewise.
6854 (afs_be_mod_LDFLAGS): Likewise.
6855 (befs_be_mod_SOURCES): Likewise.
6856 (befs_be_mod_CFLAGS): Likewise.
6857 (befs_be_mod_LDFLAGS): Likewise.
6858 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
6859 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
6860 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6861 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
6862 (grub_emu_SOURCES): Likewise.
6863 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6864 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6865 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
6866 * fs/afs_be.c: New file.
6867 * fs/befs_be.c: New file.
6868 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
6869 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
6870 (U16): Replaced with ...
6871 (grub_afs_to_cpu16): ...this. All users updated.
6872 (U32): Replaced with ...
6873 (grub_afs_to_cpu32): ...this. All users updated.
6874 (U64): Replaced with ...
6875 (grub_afs_to_cpu64): ...this. All users updated.
6876 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
6877 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 6878 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 6879 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
6880 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
6881 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
6882 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
6883 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
6884 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
6885 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
6886 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
6887
32a71655 68882009-08-26 Bean <bean123ch@gmail.com>
6889
6890 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
6891 64-bit number.
6892 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
6893 (grub_xfs_inode_block): Change return type to grub_uint64_t.
6894 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
6895
552bf6c5 68962009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
6897
6898 NetBSD memory map support.
6899
6900 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
6901 (grub_netbsd_btinfo_mmap_header): New structure.
6902 (grub_netbsd_btinfo_mmap_entry): Likewise.
6903 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
6904
1ae2078c 69052009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
6906
6907 Enable bsd.mod on coreboot.
6908
6909 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
6910 (bsd_mod_SOURCES): New variable.
6911 (bsd_mod_CFLAGS): Likewise.
6912 (bsd_mod_LDFLAGS): Likewise.
6913 (bsd_mod_ASFLAGS): Likewise.
6914 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
6915 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
6916
beefc598 69172009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
6918
6919 Cleanup NetBSD root support.
6920
6921 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
6922 grub_bsd_get_device.
6923 Fix typo.
6924
3b76e68b 69252009-08-25 Felix Zielcke <fzielcke@z-51.de>
6926
6927 * util/grub.d/00_header.in: Move check for the video backend of
6928 gfxterm from here ...
6929 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
6930 a suitable video backend.
6931
aea664ea 69322009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
6933
6934 Fix breakage in grub-setup.
6935
6936 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
6937 "msdos_partition_map".
6938
ff747d50 69392009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
6940
6941 Fix breakage in normal/auth.c.
6942
6943 * normal/auth.c (grub_iswordseparator): New function.
6944
e7e1f93f 69452009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
6946
6947 Authentication support.
6948
6949 * commands/password.c: New file.
6950 * conf/common.rmk (pkglib_MODULES): Add password.mod.
6951 (password_mod_SOURCES): New variable.
6952 (password_mod_CFLAGS): Likewise.
6953 (password_mod_LDFLAGS): Likewise.
6954 (normal_mod_SOURCES): Add normal/auth.c.
6955 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
6956 normal/auth.c.
6957 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
6958 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6959 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
6960 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6961 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6962 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
6963 * include/grub/auth.h: New file.
6964 * include/grub/err.h (grub_err_t): New enum value
6965 GRUB_ERR_ACCESS_DENIED.
6966 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
6967 'users'.
6968 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
6969 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
6970 users updated.
6971 * normal/auth.c: New file.
6972 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
6973 (grub_cmdline_run): Don't allow to go to command line without
6974 authentication.
6975 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
6976 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
6977 menuentry without superuser rights.
6978 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
6979 user isn't a superuser.
6980
70f1161d 69812009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
6982
6983 Save space by inlining misc.c functions.
6984
6985 * kern/misc.c (grub_iswordseparator): Made static.
6986 * kern/misc.c (grub_strcat): Moved from here ...
6987 * include/grub/misc.h (grub_strcat): ... here. Inlined.
6988 * kern/misc.c (grub_strncat): Moved from here ...
6989 * include/grub/misc.h (grub_strncat): ... here. Inlined.
6990 * kern/misc.c (grub_strcasecmp): Moved from here ...
6991 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
6992 * kern/misc.c (grub_strncasecmp): Moved from here ...
6993 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
6994 * kern/misc.c (grub_isalpha): Moved from here ...
6995 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
6996 * kern/misc.c (grub_isdigit): Moved from here ...
6997 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
6998 * kern/misc.c (grub_isgraph): Moved from here ...
6999 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
7000 * kern/misc.c (grub_tolower): Moved from here ...
7001 * include/grub/misc.h (grub_tolower): ... here. Inlined.
7002
48e40bff 70032009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
7004
7005 * script/sh/function.c (grub_script_function_find): Cut error message
7006 not to flood terminal.
7007 * script/sh/lexer.c (grub_script_yylex): Remove command line length
7008 limit.
7009 * script/sh/script.c (grub_script_arg_add): Duplicate string.
7010
c385bfc3 70112009-08-24 Colin Watson <cjwatson@ubuntu.com>
7012
7013 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
7014 `report' grub_uint8_t *.
7015 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
7016 Use a 50-millisecond timeout rather than just repeating
7017 grub_usb_keyboard_getreport 50 times.
7018 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
7019
2d21e3e8 70202009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
7021
7022 Rename *_partition_map to part_*
7023
7024 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
7025 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
7026 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
7027 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
7028 All users updated.
7029 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
7030 All users updated.
7031 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
7032 * util/grub-probe.c (probe_partmap): Don't transform partition name
7033 to get module name.
7034
dd103c4e 70352009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
7036
7037 Fix OpenBSD and NetBSD support.
7038
7039 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
7040 memory address conflict.
7041 (OPENBSD_MMAP_ACPI): New definition.
7042 (OPENBSD_MMAP_NVS): Likewise.
7043 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
7044 and OPENBSD_MMAP_NVS.
7045 Add memory map terminator
7046 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 7047 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 7048
16c84d74 70492009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
7050
7051 Let user specify NetBSD root device.
7052
7053 * loader/i386/bsd.c (netbsd_root): New variable.
7054 (netbsd_opts): New option 'root'.
7055 (NETBSD_ROOT_ARG): New macro.
7056 (grub_netbsd_boot): Use 'netbsd_root'.
7057 (grub_bsd_unload): Free 'netbsd_root'.
7058 (grub_cmd_netbsd): Fill 'netbsd_root'.
7059
adb29902 70602009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
7061
7062 Support for 64-bit NetBSD.
7063
7064 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
7065 point when booting non-FreeBSD.
7066
f5ae9f74 70672009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
7068
7069 Support --no-smp and --no-acpi for NetBSD.
7070
7071 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
7072 (NETBSD_AB_NOACPI): Likewise.
7073 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
7074 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
7075
de74f136 70762009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
7077
7078 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
7079 errors.
7080 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
7081 errors. Call grub_error when needed.
7082
e9a925da 70832009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
7084
7085 * commands/search.c (search_fs): Try searching without autoload first.
7086 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
7087 filesystem module explicitly for faster booting.
7088
5174302b 70892009-08-23 Colin Watson <cjwatson@ubuntu.com>
7090
7091 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
7092
c8c80635 70932009-08-23 Colin Watson <cjwatson@ubuntu.com>
7094
7095 * util/grub.d/30_os-prober.in: Disable os-prober if
7096 `GRUB_DISABLE_OS_PROBER' was set to true.
7097
71acf5e5 70982009-08-23 Robert Millan <rmh.grub@aybabtu.com>
7099
7100 * partmap/pc.c: Rename to ...
7101 * partmap/msdos.c: ... this. Update all users.
7102 (grub_pc_partition_map): Rename to ...
7103 (grub_msdos_partition_map): ... this. Update all users.
7104
7105 * parttool/pcpart.c: Rename to ...
7106 * parttool/msdospart.c: ... this. Update all users.
7107
7108 * include/grub/pc_partition.h: Rename to ...
7109 * include/grub/msdos_partition.h: ... this. Update all users.
7110 (grub_pc_partition_bsd_entry): Rename to ...
7111 (grub_msdos_partition_bsd_entry): ... this. Update all users.
7112 (grub_pc_partition_disk_label): Rename to ...
7113 (grub_msdos_partition_disk_label): ... this. Update all users.
7114 (grub_pc_partition_entry): Rename to ...
7115 (grub_msdos_partition_entry): ... this. Update all users.
7116 (grub_pc_partition_mbr): Rename to ...
7117 (grub_msdos_partition_mbr): ... this. Update all users.
7118 (grub_pc_partition): Rename to ...
7119 (grub_msdos_partition): ... this. Update all users.
7120 (grub_pc_partition_is_empty): Rename to ...
7121 (grub_msdos_partition_is_empty): ... this. Update all users.
7122 (grub_pc_partition_is_extended): Rename to ...
7123 (grub_msdos_partition_is_extended): ... this. Update all users.
7124 (grub_pc_partition_is_bsd): Rename to ...
7125 (grub_msdos_partition_is_bsd): ... this. Update all users.
7126
7127 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
7128 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
7129 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
7130 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
7131 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
7132 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
7133 (gpt_mod_LDFLAGS): Rename to ...
7134 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
7135 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
7136 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
7137 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
7138 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
7139 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
7140 (part_gpt_mod_LDFLAGS): ... this.
7141 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
7142 `pcpart.mod' to `msdospart.mod'.
7143 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
7144 to ...
7145 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
7146 (msdospart_mod_LDFLAGS): ... this.
7147
c11fded5 71482009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
7149
7150 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
7151 (openbsd_opts): Likewise.
7152 (netbsd_opts): Likewise.
7153 (freebsd_flags): Added 0 terminator.
7154 (openbsd_flags): Likewise.
7155 (netbsd_flags): Likewise.
7156 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
7157 (grub_cmd_freebsd): Transformed into extended command.
7158 (grub_cmd_openbsd): Likewise.
7159 (grub_cmd_netbsd): Likewise.
7160 (cmd_freebsd): Changed type to grub_extcmd_t.
7161 (cmd_openbsd): Likewise.
7162 (cmd_netbsd): Likewise.
7163 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
7164 grub_cmd_openbsd as extended commands.
7165 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
7166 cmd_netbsd and cmd_openbsd
7167
11d1c769 71682009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
7169
7170 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
7171
7a9094e5 71722009-08-21 Pavel Roskin <proski@gnu.org>
7173
5496c37e 7174 * Makefile.in (install-local): When checking if a file is in the
7175 build directory, use "test -e" to detect symlinks.
7176
7a9094e5 7177 * Makefile.in (install-local): Remove all files in
7178 $(DESTDIR)$(pkglibdir) before installing new files there.
7179
e53cea11 71802009-08-18 Felix Zielcke <fzielcke@z-51.de>
7181
7182 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
7183 grub-mkelfimage.
7184
9aced544 71852009-08-18 Felix Zielcke <fzielcke@z-51.de>
7186
7187 * util/grub-mkconfig.in: Don't use gfxterm by default if not
7188 explicitly specified by the user.
7189
b7da6bab 71902009-08-18 Pavel Roskin <proski@gnu.org>
7191
7192 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
7193 grub_uint8_t pointer for data.
7194 * include/grub/fbutil.h (struct grub_video_fbblit_info):
7195 Likewise.
7196 * video/fb/fbutil.c: Remove unnecessary casts.
7197
19f1b335 71982009-08-17 Michal Suchanek <hramrach@centrum.cz>
7199
7200 VBE cleanup.
7201
7202 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
7203 (grub_vbe_set_video_mode): Save active mode info
7204 only after setting the mode.
7205 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
7206 second argument.
7207
2f467aa9 72082009-08-17 Michal Suchanek <hramrach@centrum.cz>
7209
7210 Rename variables for clarity.
7211
7212 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
7213 (active_vbe_mode_info): ... this. All users updated.
7214 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
7215 All users updated.
7216 (initial_mode): Rename to ...
7217 (initial_vbe_mode): ... this. All users updated.
7218 (mode_in_use): Rename to ..
7219 (vbe_mode_in_use): ... this. All users updated.
7220 (mode_list): Rename to ..
7221 (vbe_mode_list): ... this. All users updated.
7222 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
7223 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
7224 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
7225 'mode_list_size' to 'vbe_mode_list_size'.
7226 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
7227 'best_mode_info' to 'best_vbe_mode_info' and
7228 'best_mode' to 'best_vbe_mode'
7229
6025fcd7 72302009-08-17 Michal Suchanek <hramrach@centrum.cz>
7231
7232 Remove duplicate grub_video_fb_get_video_ptr.
7233
7234 * include/grub/fbutil.h (get_data_ptr): Rename to ...
7235 (grub_video_fb_get_video_ptr): ... this.
7236 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
7237 * video/fb/fbutil.c: Add comment about addressing.
7238 (get_data_ptr): Rename to ...
7239 (grub_video_fb_get_video_ptr): ... this. All users updated.
7240 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
7241
cc8c6faf 72422009-08-17 Robert Millan <rmh.grub@aybabtu.com>
7243
7244 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
7245 grub_dprintf() that was just added.
7246
08aa61f0 72472009-08-17 Robert Millan <rmh.grub@aybabtu.com>
7248
7249 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
7250 (DEFAULT_VIDEO_MODE): Remove macros.
7251 (grub_linux_boot): Remove assumption that Linux has FB support,
7252 and use "text" as default video mode.
7253
7cef4f75 72542009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
7255
7256 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
7257 grub_dprintf.
7258 * fs/fat.c (grub_fat_read_data): Likewise.
7259
e1f39873 72602009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
7261
7262 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
7263 payload.
7264 (grub_module): Likewise.
7265
c166d79e 72662009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
7267
7268 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
7269 mbi->cmdline but free playground.
7270
c60cee8e 72712009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
7272
7273 Handle group offset on UFS1.
7274
7275 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
7276 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
7277
c0d8b5d4 72782009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
7279
7280 Split ufs.mod into ufs1.mod and ufs2.mod.
7281
7282 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
7283 (grub_fstest_SOURCES): Likewise.
7284 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
7285 (ufs_mod_SOURCES): Remove.
7286 (ufs_mod_CFLAGS): Likewise.
7287 (ufs_mod_LDFLAGS): Likewise.
7288 (ufs1_mod_SOURCES): New variable.
7289 (ufs1_mod_CFLAGS): Likewise.
7290 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 7291 (ufs2_mod_SOURCES): New variable.
7292 (ufs2_mod_CFLAGS): Likewise.
7293 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 7294 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
7295 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
7296 Likewise.
7297 (grub_emu_SOURCES): Likewise.
7298 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7299 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
7300 (grub_setup_SOURCES): Likewise.
7301 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7302 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
7303 (grub_setup_SOURCES): Likewise.
7304 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
7305 Likewise.
7306 * fs/ufs2.c: New file.
7307 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
7308
d3539132 73092009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
7310
7311 Framebuffer split.
7312
7313 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
7314 subsystem at the end.
7315 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
7316 (video_fb_mod_SOURCES): New variable.
7317 (video_fb_mod_CFLAGS): Likewise.
7318 (video_fb_mod_LDFLAGS): Likewise.
7319 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
7320 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
7321 * video/i386/pc/vbeblit.c: Moved from here ...
7322 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
7323 * video/i386/pc/vbefill.c: Moved from here ...
7324 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
7325 * video/i386/pc/vbeutil.c: Moved from here ...
7326 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
7327 * include/grub/i386/pc/vbeblit.h: Moved from here ...
7328 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
7329 * include/grub/i386/pc/vbefill.h: Moved from here ...
7330 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
7331 * include/grub/i386/pc/vbeutil.h: Moved from here ...
7332 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
7333 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
7334 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
7335 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
7336 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
7337 (grub_video_adapter): Added 'get_info_and_fini'.
7338 (grub_video_get_info_and_fini): New prototype.
7339 (grub_video_set_mode): make modestring const char *.
7340 * loader/i386/linux.c (grub_linux_setup_video): Use
7341 grub_video_get_info_and_fini.
7342 (grub_linux_boot): Move modesetting just before booting.
7343 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
7344 grub_video_get_info_and_fini.
7345 * video/i386/pc/vbe.c: Moved framebuffer part ...
7346 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
7347 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
7348 grub_video_fbstd_colors and grub_video_fb_set_palette.
7349 (grub_video_vbe_init): Clear 'framebuffer' variable and use
7350 grub_video_fb_init.
7351 (grub_video_vbe_fini): Use grub_video_fb_fini.
7352 (grub_video_vbe_setup): Use framebuffer.render_target instead of
7353 render_target and use grub_video_fb_set_active_render_target and
7354 grub_video_fb_set_palette.
7355 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
7356 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
7357 (grub_video_vbe_adapter): Use framebuffer.
7358 * video/video.c (grub_video_get_info_and_fini): New function.
7359 (grub_video_set_mode): Make modestring const char *.
7360 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
7361 values are already initialised.
7362
d404ee56 73632009-08-14 Pavel Roskin <proski@gnu.org>
7364
7365 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
7366 ABS and APPLE_CC.
7367 * boot/i386/pc/diskboot.S: Likewise.
7368 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
7369 sectors allow compilation on MacOSX.
7370 * conf/i386-pc.rmk: Enable unconditional compilation of
7371 lnxboot.img.
7372
9a10df16 73732009-08-13 Colin Watson <cjwatson@ubuntu.com>
7374
7375 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
7376 * util/grub.d/00_header.in: Enter interruptible sleep if
7377 GRUB_HIDDEN_TIMEOUT is set.
7378
be3c9ca7 73792009-08-13 Yves Blusseau <blusseau@zetam.org>
7380
7381 * include/grub/symbol.h: Add the LOCAL macro.
7382 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
7383 starting with "L_".
7384
1f9e557e 73852009-08-13 Pavel Roskin <proski@gnu.org>
7386
9ca62843 7387 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
7388 any modern compilers we support.
7389
1f9e557e 7390 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
7391 Use local labels starting with "L_" so that Apple assembler
7392 knows they are local.
7393
81623db6 73942009-08-10 Robert Millan <rmh.grub@aybabtu.com>
7395
7396 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
7397 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
7398 (bsd_kernel_types): ... this enum.
7399
7400 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
7401 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
7402 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
7403
7404 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
7405 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
7406 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
7407 messages.
7408
f5d35e7a 74092009-08-08 Robert Millan <rmh.grub@aybabtu.com>
7410
7411 * util/grub-dumpdevtree: Moved from here ...
7412 * util/i386/efi/grub-dumpdevtree: ... to here.
7413 (hexify): New function. Converts a string to its hex version.
7414 Generate hex versions of "efi" and "device-properties" by calling
7415 hexify() on the ASCII strings rather than by hardcoding numbers.
7416
d1e1d527 74172009-08-08 Robert Millan <rmh.grub@aybabtu.com>
7418
7419 * fs/jfs.c: Update copyright year.
7420
1ebbe064 74212009-08-08 Felix Zielcke <fzielcke@z-51.de>
7422
7423 * util/grub.d/00_header.in: Fix a comment.
7424 * util/grub.d/10_linux.in: Likewise.
7425 * util/grub.d/10_windows.in: Likewise.
7426 * util/grub.d/10_hurd.in: Likewise.
7427
a78c8d24 74282009-08-08 Felix Zielcke <fzielcke@z-51.de>
7429
7430 * util/grub-mkconfig.in: Allow the user to specify the used font
7431 with GRUB_FONT.
7432
29a6b9e8 74332009-08-08 Pavel Roskin <proski@gnu.org>
7434
b5f16cc4 7435 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
7436 available, xfs.mod needs it now.
7437
2f5cb827 7438 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
7439 the "g" modifier in sed when the intention is to strip something
7440 once. This fixes comparison of kernels with multiple dashes.
7441
29a6b9e8 7442 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
7443 on it. Add missing space before closing bracket. Fix
7444 misleading formatting.
7445
892a3d98 74462009-08-07 Robert Millan <rmh.grub@aybabtu.com>
7447
7448 * docs/grub.texi: Major overhaul. Remove all sections that are
7449 specific to GRUB Legacy, or mostly composed of Legacy-specific
7450 information.
7451
ed94253f 74522009-08-07 Robert Millan <rmh.grub@aybabtu.com>
7453
7454 * docs/version.texi: New file. Provides version information for
7455 grub.texi.
7456
126d6628 74572009-08-07 Robert Millan <rmh.grub@aybabtu.com>
7458
7459 * docs/grub.texi: Update CVS information to SVN.
7460 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
7461
998b5aa9 74622009-08-07 Felix Zielcke <fzielcke@z-51.de>
7463
7464 * util/grub-mkconfig.in: Remove a wrong `fi'.
7465
818e094a 74662009-08-07 Felix Zielcke <fzielcke@z-51.de>
7467
7468 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
7469 (grub_jfs_uuid): New function.
7470 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
7471
b969c52f 74722009-08-07 Felix Zielcke <fzielcke@z-51.de>
7473
7474 * util/grub-mkconfig_lib.in (font_path): Move the functionality
7475 of it to ...
7476 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
7477 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
7478
7a4894cc 74792009-08-07 Robert Millan <rmh.grub@aybabtu.com>
7480
7481 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
7482 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
7483 Update all users.
7484
7485 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
7486 not just "vmlinu[zx]".
7487 Moved from here ...
7488 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
7489 all users.
7490
7491 * util/grub.d/10_linux.in (find_latest): Moved from here ...
7492 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
7493 all users.
7494
4e2171f8 74952009-08-07 Robert Millan <rmh.grub@aybabtu.com>
7496
7497 * util/grub.d/10_freebsd.in: Use an absolute device path for
7498 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
7499
6dcfcb32 75002009-08-06 Felix Zielcke <fzielcke@z-51.de>
7501
7502 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
7503 handling of multiple abstraction modules.
7504
f56a8756 75052009-08-04 Robert Millan <rmh.grub@aybabtu.com>
7506
7507 Fix a bug resulting in black screen when loading Linux using a
7508 packed video mode.
7509
7510 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
7511 function.
7512
7513 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
7514 (grub_vbe_bios_getset_dac_palette_width): New function.
7515 (grub_vbe_bios_get_dac_palette_width)
7516 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
7517 grub_vbe_bios_getset_dac_palette_width()).
7518
7519 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
7520 check for return status.
7521 (grub_vbe_get_video_mode_info): When getting information for a packed
7522 mode (<= 8 bpp), obtain DAC palette width using
7523 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
7524 {red,green,blue}_mark_size.
7525
222671b2 75262009-08-04 Felix Zielcke <fzielcke@z-51.de>
7527
ecb1a6d9 7528 * commands/search.c (options): Fix help output to match actual code.
222671b2 7529
f84114f5 75302009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
7531
7532 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
7533 of homegrown code.
7534
bd288a20 75352009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 7536
7537 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
7538 on XFS or ReiserFS.
7539
8aab5e25 75402009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
7541
7542 Support Apple partition map with sector size different from 512 bytes.
7543
7544 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
7545 (apple_partition_map_iterate): Respect 'aheader.blocksize'
7546 and 'apart.partmap_size'.
7547
6ad6258a 75482009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
75492009-08-01 Robert Millan <rmh.grub@aybabtu.com>
7550
7551 Fix cpuid command.
7552
7553 * commands/i386/cpuid.c (options): New variable.
7554 (grub_cmd_cpuid): Return real error.
7555 (GRUB_MOD_INIT(cpuid)): Declare options.
7556
67459bc6 75572009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
7558
7559 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
7560 valid.
7561
fbc6ab54 75622009-07-31 Bean <bean123ch@gmail.com>
7563
7564 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
7565 log2_inode.
7566 (grub_fshelp_node): Move inode field to the end.
7567 (grub_xfs_data): Remove inode field.
7568 (grub_xfs_inode_block): Calculate inode size using sblock.
7569 (grub_xfs_inode_offset): Likewise.
7570 (grub_xfs_read_inode): Calculate inode size using sblock.
7571 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
7572 (grub_xfs_iterate_dir): Calculate inode size using sblock.
7573 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
7574 to match inode size.
7575 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
7576 not accessible when data is null.
7577 (grub_xfs_open): Likewise.
7578
f45d6cfc 75792009-07-31 Bean <bean123ch@gmail.com>
7580
7581 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
7582 Don't change pv->disk if it's already set.
7583
7584 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
7585 (grub_raid_register): ... here.
7586 (grub_raid_rescan): Removed.
7587
7588 * include/grub/raid.h (grub_raid_rescan): Removed.
7589
7590 * util/grub-fstest.c: Remove include file <grub/raid.h>.
7591 (fstest): Replace grub_raid_rescan with module fini function followed
7592 by init function.
7593
7594 * util/grub-probe.c: Add include file <grub/raid.h>.
7595 (probe_raid_level): New function.
7596 (probe): Detect abstraction by walking the disk device, support two
7597 level of abstraction (LVM on RAID) when detecting partition map.
7598
24443b5a 75992009-07-31 Pavel Roskin <proski@gnu.org>
7600
7601 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
7602 to grub_zalloc(), it was erroneous.
7603 Reported by Bean <bean123ch@gmail.com>
7604
a275d9e7 76052009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
7606
7607 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 7608 embedding zone, not only the first one.
a275d9e7 7609
56c5a47f 76102009-07-29 Joe Auricchio <jauricchio@gmail.com>
7611
7612 * term/gfxterm.c (clear_char): New function.
7613 (grub_virtual_screen_setup): Use clear_char.
7614 (scroll_up): Likewise.
7615 (grub_virtual_screen_cls): Likewise.
7616
67bb323a 76172009-07-29 Felix Zielcke <fzielcke@z-51.de>
7618
7619 * util/deviceiter.c (get_acceleraid_disk_name): New static
7620 function.
7621 (grub_util_iterate_devices): Handle Accelraid devices.
7622 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
7623
388a7c75 76242009-07-28 Robert Millan <rmh.grub@aybabtu.com>
7625
7626 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
7627 separator for the suggested gfxpayload string (';' collides with the
7628 parser and needs escaping).
7629
3bb7abcf 76302009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
7631
7632 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
7633 Clear direction flag before jumping to OS.
7634 (grub_multiboot2_real_boot): Likewise.
7635
2ddd36d7 76362009-07-28 Felix Zielcke <fzielcke@z-51.de>
7637
7638 * util/i386/pc/grub-install: Fix parsing of --disk-module
7639 option.
7640
c521b62b 76412009-07-28 Felix Zielcke <fzielcke@z-51.de>
7642
7643 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
7644 when embedding.
7645
880e0a0c 76462009-07-26 Felix Zielcke <fzielcke@z-51.de>
7647
7648 * util/grub-mkconfig.in (package_version): New variable.
7649 Use it do display the version.
7650
2366e356 76512009-07-25 Felix Zielcke <fzielcke@z-51.de>
7652
7653 * kern/file.c (grub_file_open): Revert to previous check with
7654 grub_errno.
7655
7ad8c80e 76562009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7657
7658 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
7659 from help line. It's out of sync with code.
7660
72b9658b 76612009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
7662
7663 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
7664 entries on failed boot.
7665
77435277 76662009-07-25 Felix Zielcke <fzielcke@z-51.de>
7667
7668 * kern/file.c (grub_file_open): Fix an error check.
7669
fcaa8b21 76702009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
7671
35d16c74 7672 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
7673 partition map couldn't be identified.
fcaa8b21 7674
48904cd1 76752009-07-23 Pavel Roskin <proski@gnu.org>
7676
ef3c317f 7677 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
7678 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
7679 case of little endian words becomes just an optimization.
7680 Respect const modifier.
ad8ea1f4 7681 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 7682
48904cd1 7683 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
7684 to avoid loss of upper bits if align is unsigned and shorter
7685 than addr.
7686
260c9a89 76872009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
7688
7689 UUID support for UFS
7690
7691 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
7692 (grub_ufs_uuid): New function.
7693 (grub_ufs_fs): add .uuid
7694
f76ce889 76952009-07-21 Pavel Roskin <proski@gnu.org>
7696
7697 * kern/dl.c (grub_dl_check_header): Make static.
7698
6a6cbcaf 76992009-07-21 Felix Zielcke <fzielcke@z-51.de>
7700
7701 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
7702 add drivemap for Vista. It breaks Windows 7.
7703
cffcddb2 77042009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
7705
7706 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
7707 128 bytes
7708
1ef44b80 77092009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
7710
7711 Add BFS support
7712
7713 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
7714 (grub_fstest_SOURCES): Likewise.
7715 (pkglib_MODULES): Add befs.mod.
7716 (befs_mod_SOURCES): New variable.
7717 (befs_mod_CFLAGS): Likewise.
7718 (befs_mod_LDFLAGS): Likewise.
7719 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
7720 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
7721 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7722 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
7723 (grub_setup_SOURCES): Likewise.
7724 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7725 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7726 (grub_setup_SOURCES): Likewise.
7727 * fs/befs.c: New file.
7728 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
7729 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
7730 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
7731 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
7732 (B_KEY_INDEX_ALIGN): New declaration.
7733 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
7734 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
7735 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
7736 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
7737 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
7738 (grub_afs_mount) [MODE_BFS]: Likewise.
7739 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
7740 (grub_afs_fs): Use GRUB_AFS_FSNAME
7741 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
7742 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
7743 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
7744 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
7745
4f253044 77462009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
7747
7748 * util/getroot.c (find_root_device): Add support for MacOSX.
7749 * util/hostdisk.c: Likewise.
7750
57a55913 77512009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
7752
7753 * font/font.c (find_glyph): Check whether a font is present to avoid
7754 segmentation fault.
75421ca9 7755
77562009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 7757
7758 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
7759
e98cd0c2 77602009-07-20 Pavel Roskin <proski@gnu.org>
7761
7762 * configure.ac: Trim excessively wordy excuses.
7763
1d2d169a 77642009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
7765
7766 Add symlink, mtime and label support to AtheFS.
7767
7768 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
7769 (grub_afs_iterate_dir): Handle symlinks.
7770 (grub_afs_open): Use grub_afs_read_symlink.
7771 (grub_afs_dir): Likewise.
7772 Pass mtime.
7773 (grub_afs_label): New function.
7774 (grub_afs_fs): Add grub_afs_label.
7775 (grub_afs_read_symlink): New function.
7776
186f3189 77772009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
7778
7779 Fix AtheFS support.
7780
7781 * fs/afs.c: Fix comments style.
7782 (grub_afs_blockrun): Declare as packed.
7783 (grub_afs_datastream): Likewise.
7784 (grub_afs_bnode): Likewise.
7785 (grub_afs_btree): Likewise.
7786 (grub_afs_sblock): Likewise.
7787 Declare `name' as char.
7788 (grub_afs_inode): Declare as packed.
7789 Change void *vnode to grub_uint32_t unused.
7790 (grub_afs_iterate_dir): Check that key_size is positive.
7791 (grub_afs_mount): Don't read superblock twice.
75421ca9 7792 (grub_afs_dir): Don't free node in case of error,
186f3189 7793 grub_fshelp_find_file already handles this.
7794 (grub_afs_open): Likewise.
7795
5680109e 77962009-07-19 Pavel Roskin <proski@gnu.org>
7797
7798 * Makefile.in: Remove LIBLZO and enable_lzo.
7799 * conf/i386-pc.rmk: Remove lzo support.
7800 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
7801 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
7802 support.
7803 * kern/i386/pc/lzo1x.S: Remove.
7804 * kern/i386/pc/startup.S: Remove lzo support.
7805 * util/i386/pc/grub-mkimage.c: Likewise.
7806
ac70fa32 78072009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
7808
7809 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
7810 * fs/xfs.c (grub_xfs_dir): Likewise.
7811 * fs/afs.c (grub_afs_dir): Likewise.
7812 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
7813 (grub_iso9660_open): Likewise.
7814 * fs/jfs.c (grub_jfs_open): Likewise.
7815 * fs/ext2.c (grub_ext2_dir): Likewise.
7816 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
7817 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 7818
eab58da2 78192009-07-16 Pavel Roskin <proski@gnu.org>
7820
d2838156 7821 * configure.ac: Never add "-c" to CFLAGS.
7822
55c70904 7823 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
7824
43e6200c 7825 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
7826 grub_cv_cc_efiemu should be used.
7827
ce7a733d 7828 * configure.ac: Typo fixes.
7829
eab58da2 7830 * kern/mm.c (grub_zalloc): New function.
7831 (grub_debug_zalloc): Likewise.
7832 * include/grub/mm.h: Declare grub_zalloc() and
7833 grub_debug_zalloc().
7834 * util/misc.c (grub_zalloc): New function.
7835 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
7836 instead of grub_malloc(), remove unneeded initializations.
7837 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
7838 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
7839 * commands/parttool.c (grub_cmd_parttool): Likewise.
7840 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
7841 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
7842 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
7843 * disk/usbms.c (grub_usbms_finddevs): Likewise.
7844 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
7845 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
7846 (grub_cmd_efiemu_pnvram): Likewise.
7847 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
7848 * fs/iso9660.c (grub_iso9660_mount): Likewise.
7849 (grub_iso9660_iterate_dir): Likewise.
7850 * fs/jfs.c (grub_jfs_opendir): Likewise.
7851 * fs/ntfs.c (list_file): Likewise.
7852 (grub_ntfs_mount): Likewise.
7853 * kern/disk.c (grub_disk_open): Likewise.
7854 * kern/dl.c (grub_dl_load_core): Likewise.
7855 * kern/elf.c (grub_elf_file): Likewise.
7856 * kern/env.c (grub_env_context_open): Likewise.
7857 (grub_env_set): Likewise.
7858 (grub_env_set_data_slot): Likewise.
7859 * kern/file.c (grub_file_open): Likewise.
7860 * kern/fs.c (grub_fs_blocklist_open): Likewise.
7861 * loader/i386/multiboot.c (grub_module): Likewise.
7862 * loader/xnu.c (grub_xnu_create_key): Likewise.
7863 (grub_xnu_create_value): Likewise.
7864 * normal/main.c (grub_normal_add_menu_entry): Likewise.
7865 (read_config_file): Likewise.
7866 * normal/menu_entry.c (make_screen): Likewise.
7867 * partmap/sun.c (sun_partition_map_iterate): Likewise.
7868 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
7869 * script/sh/script.c (grub_script_parse): Likewise.
7870 * video/bitmap.c (grub_video_bitmap_create): Likewise.
7871 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
7872 * video/readers/png.c (grub_png_output_byte): Likewise.
7873 (grub_video_reader_png): Likewise.
7874
830afef7 78752009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 7876
7877 Enable all targets that can be built by default
7878
830afef7 7879 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 7880 grub-mkfont and grub-fstest if they can be built
7881
ee293aee 78822009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
7883
7884 Fix hang and segmentation fault in grub-emu-usb
7885
7886 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
7887 * util/usb.c (grub_libusb_devices): likewise
7888 (grub_libusb_init): rename to ...
7889 (GRUB_MOD_INIT (libusb)):...this
7890 (grub_libusb_fini): rename to ..
7891 (GRUB_MOD_FINI (libusb)):...this
7892 * disk/usbms.c (grub_usbms_transfer): fix retry logic
7893 * include/grub/disk.h (grub_raid_init): removed, it's useless
7894 (grub_raid_fini): likewise
7895 (grub_lvm_init): likewise
7896 (grub_lvm_fini): likewise
7897 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
7898 by grub_init_all
7899
94414221 79002009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
7901
7902 Fix libusb
7903
7904 * Makefile.in (LIBUSB): new macro
7905 * genmk.rb (Utility/print_tail): new method
7906 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
7907 (top level): call util.print_tail at the end.
7908
59ade63d 79092009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
7910
7911 Make FreeBSD accept zpool.cache
7912
7913 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
7914 type is /boot/zfs/zpool.cache
7915
a58da8c7 79162009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
7917
7918 Fix 64-bit efiemu
7919
7920 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
7921 correct wrong typedef
7922 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
7923
20591577 79242009-07-15 Pavel Roskin <proski@gnu.org>
7925
560ca572 7926 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
7927 * kern/disk.c (struct grub_disk_cache): Likewise.
7928
e8e8e4fd 7929 * commands/probe.c (options): Typo fix.
7930
fde24e10 7931 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
7932 Increase to 0x5a to accommodate FAT32. Adjust other offsets
7933 accordingly.
7934 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
7935
379c54c1 7936 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
7937 the end of "Error" to make the message more readable.
7938
7bd8f5bf 7939 * boot/i386/pc/boot.S (kernel_segment): Remove.
7940 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
7941 for destination.
7942
40b132c5 7943 * boot/i386/pc/boot.S (boot_version): Remove.
7944 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
7945 Remove.
7946
20591577 7947 * include/grub/i386/pc/boot.h: Sort all offsets.
7948 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
7949 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
7950 * boot/i386/pc/boot.S: Assert location of every offset listed in
7951 include/grub/i386/pc/boot.h.
7952
2df32b2c 79532009-07-13 Pavel Roskin <proski@gnu.org>
7954
44b5d879 7955 * include/grub/i386/coreboot/machine.h: Rename
7956 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
7957 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
7958 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
7959
17dc3751 7960 * kern/dl.c: Force native word size to suppress warnings when
7961 compiling grub-emu.
7962
2df32b2c 7963 * kern/device.c (grub_device_iterate): Change struct part_ent to
7964 hold the name, not a pointer to it. Use one grub_malloc() per
7965 partition, not two. Free partition_name if grub_malloc() fails.
7966 Set ents to NULL only before grub_partition_iterate() is called.
7967
75c59f59 79682009-07-11 Bean <bean123ch@gmail.com>
7969
7970 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
7971 childname.
7972
0ae1bf88 79732009-07-10 Bean <bean123ch@gmail.com>
79742009-07-10 Robert Millan <rmh.grub@aybabtu.com>
7975
7976 * kern/ieee1275/openfw.c (grub_children_iterate)
7977 (grub_devalias_iterate): Fix size evaluation for property or path
7978 strings, which was broken since r2132.
7979
8279cade 79802009-07-07 Pavel Roskin <proski@gnu.org>
7981
7d8a52d3 7982 * commands/search.c (search_file): Merge into ...
7983 (search_fs): ... this. Accept search type as argument.
7984 (grub_cmd_search): Pass search type to search_fs().
7985
25f9a05a 7986 * include/grub/util/console.h: New file.
7987 * util/console.c: Use it instead of grub/machine/console.h.
7988 * util/grub-emu.c: Likewise.
7989
8279cade 7990 * lib/arg.c (find_long_option): Remove.
7991 (find_long): Add `len' argument, make `s' const char *.
7992 (grub_arg_parse): Parse long options in place, not in a
7993 temporary buffer.
7994
4a11b60f 79952009-07-06 Pavel Roskin <proski@gnu.org>
7996
99f68041 7997 * commands/search.c (search_fs): Fix potential NULL pointer
7998 dereference.
7999
4a11b60f 8000 * commands/search.c (search_fs): Replace QUID macro with quid_fn
8001 function pointer.
8002
e110f4de 80032009-07-06 Daniel Mierswa <impulze@impulze.org>
8004
8005 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
8006 comparison.
8007
46eeb6a2 80082009-07-05 Pavel Roskin <proski@gnu.org>
8009
bab74958 8010 * include/grub/i386/linux.h (struct linux_kernel_params):
8011 Restore padding3, it's still needed.
8012
46eeb6a2 8013 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
8014 FreeBSD.
8015 * util/osdetect.lua: Likewise.
8016
b4a1dc79 80172009-07-05 Bean <bean123ch@gmail.com>
8018
8019 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
8020
8021 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
8022 (grub_lua_getenv): Likewise.
8023 (grub_lua_setenv): Likewise.
8024 (save_errno): New function.
8025 (push_result): Likewise.
8026 (grub_lua_enum_device): Likewise.
8027 (grub_lua_enum_file): Likewise.
8028 (grub_lua_file_open): Likewise.
8029 (grub_lua_file_close): Likewise.
8030 (grub_lua_file_seek): Likewise.
8031 (grub_lua_file_read): Likewise.
8032 (grub_lua_file_getline): Likewise.
8033 (grub_lua_file_getsize): Likewise.
8034 (grub_lua_file_getpos): Likewise.
8035 (grub_lua_file_eof): Likewise.
8036 (grub_lua_file_exist): Likewise.
8037 (grub_lua_add_menu): Likewise.
8038
8039 * script/lua/grub_lua.h (isupper): New inline function.
8040 (islower): Likewise.
8041 (ispunct): Likewise.
8042 (isxdigit): Likewise.
8043 (strcspn): Change to normal function.
8044 (strpbkr): New function declaration.
8045 (memchr): Likewise.
8046
8047 * script/lua/grub_main.c (scan_str): New function.
8048 (strcspn): Likewise.
8049 (strpbrk): Likewise.
8050 (memchr): Likewise.
8051
8052 * script/lua/linit.c (lualibs): Enable the string library.
8053
8054 * util/osdetect.lua: New file.
8055
2da92295 80562009-07-04 Robert Millan <rmh.grub@aybabtu.com>
8057
8058 * include/grub/i386/linux.h (struct linux_kernel_params): Add
8059 `capabilities' member.
8060
b2582ec9 80612009-07-02 Pavel Roskin <proski@gnu.org>
8062
8063 * genparttoollist.sh: Add missing newline at the end.
8064
32622956 80652009-07-01 Pavel Roskin <proski@gnu.org>
8066
87a7339e 8067 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
8068
d23af54e 8069 * util/hostdisk.c (open_device): Remove `const' from
8070 `sysctl_size', as sysctlbyname() can change it (in this case it
8071 doesn't actually happen).
8072
c94b18a9 8073 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
8074 using signed long int constants.
8075
c6cd3ef0 8076 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
8077 constant to avoid a warning on FreeBSD.
8078
0df63420 8079 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
8080 where it's needed.
8081
999577f1 8082 * Makefile.in: Install include/grub/machine symlink.
8083
6f41557f 8084 * Makefile.in: When installing symlinks, use "cp -fR", which
8085 works on FreeBSD and MacOSX.
8086 From Yves Blusseau <cl7m42e02@sneakemail.com>
8087
c8d22988 8088 * kern/dl.c (grub_dl_resolve_symbol): Make static.
8089 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
8090
1b96e952 8091 * util/misc.c: Move grub_reboot() and grub_halt() ...
8092 * util/grub-emu.c: ... here. Make main_env static.
8093 * include/grub/util/misc.h: Remove main_env.
8094
2ef0084d 8095 * kern/mm.c: Use correct format to print size_t.
8096
32622956 8097 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
8098 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
8099 * kern/powerpc/dl.c: Likewise.
8100 * kern/sparc64/dl.c: Likewise.
8101 * kern/x86_64/dl.c: Likewise.
8102
3f7f0cd0 81032009-07-01 Robert Millan <rmh.grub@aybabtu.com>
8104
8105 Fix grub-emu build on sparc64-ieee1275.
8106
75421ca9 8107 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 8108 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
8109
211d06b5 81102009-07-01 Robert Millan <rmh.grub@aybabtu.com>
8111
8112 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
8113 (grub_reboot, grub_halt): New functions.
8114
8115 * util/i386/pc/misc.c: Delete. Update all users.
8116 * util/sparc64/ieee1275/misc.c: Likewise.
8117 * util/powerpc/ieee1275/misc.c: Likewise.
8118
aaf53e3c 81192009-07-01 Robert Millan <rmh.grub@aybabtu.com>
8120
8121 * conf/i386.rmk (setjmp_mod_SOURCES)
8122 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
8123 * conf/common.rmk (setjmp_mod_SOURCES)
8124 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
8125 to use $(target_cpu).
8126 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
8127 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
8128 * conf/powerpc-ieee1275.rmk: Likewise.
8129 * conf/sparc64-ieee1275.rmk: Likewise.
8130
8131 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
8132 $(target_cpu) for kern/$(target_cpu)/dl.c.
8133 * conf/i386-efi.rmk: Likewise.
8134 * conf/i386-ieee1275.rmk: Likewise.
8135 * conf/x86_64-efi.rmk: Likewise.
8136 * conf/i386-coreboot.rmk: Likewise.
8137 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
8138 $(target_cpu) for kern/$(target_cpu)/dl.c and for
8139 kern/$(target_cpu)/cache.S.
8140 * conf/sparc64-ieee1275.rmk: Likewise.
8141
a337130b 81422009-07-01 Robert Millan <rmh.grub@aybabtu.com>
8143
8144 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
8145 type to `grub_uint8_t', and adjust `padding9' accordingly.
8146
c6fe4d53 81472009-06-29 Robert Millan <rmh.grub@aybabtu.com>
8148
b09db61d 8149 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
8150
c6fe4d53 8151 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
8152 assembly in final jump, using register constraints.
8153
b09db61d 8154 (grub_linux_boot): For text mode, initialize `have_vga' using
8155 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
8156
8157 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
8158 right before the final jump.
8159
8160 Set `video_mode' to 0x3.
8161
8162 Document initialization of `video_page', `video_mode' and
8163 `video_ega_bx'.
8164
28333ad0 81652009-06-29 Robert Millan <rmh.grub@aybabtu.com>
8166
8167 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
8168 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 8169 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 8170
02164e1b 81712009-06-29 Robert Millan <rmh.grub@aybabtu.com>
8172
8173 Fix build on Debian / sparc.
8174
8175 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
8176
18b6c557 81772009-06-28 Pavel Roskin <proski@gnu.org>
8178
85f2aab6 8179 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
8180 fix a warning.
8181
18b6c557 8182 * util/grub.d/10_linux.in: Match SUSE style initrd names.
8183
ad760f81 81842009-06-27 Robert Millan <rmh.grub@aybabtu.com>
8185
8186 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
8187 `err'.
8188
87a4623b 81892009-06-27 Robert Millan <rmh.grub@aybabtu.com>
8190
8191 Revert r2338.
8192
8193 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
8194 file can't be opened. grub_file_open() is already supposed to set
75421ca9 8195 grub_errno / grub_errmsg appropriately.
87a4623b 8196 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
8197
8231fb77 81982009-06-27 Pavel Roskin <proski@gnu.org>
81992009-06-27 Robert Millan <rmh.grub@aybabtu.com>
8200
8201 * include/grub/dl.h: Include grub/elf.h.
8202 (struct grub_dl): Add symtab field.
8203 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
8204 GRUB_MODULES_MACHINE_READONLY.
8205 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
8206 of the header for read-only modules.
8207 (grub_dl_unload): Free mod->symtab for read-only modules.
8208 * kern/i386/dl.c: Use mod->symtab.
8209 * kern/powerpc/dl.c: Likewise.
8210 * kern/sparc64/dl.c: Likewise.
8211 * kern/x86_64/dl.c: Likewise.
8212
8213 * conf/i386-qemu.rmk: New file.
8214 * kern/i386/qemu/startup.S: Likewise.
8215 * kern/i386/qemu/mmap.c: Likewise.
8216 * boot/i386/qemu/boot.S: Likewise.
8217 * include/grub/i386/qemu/time.h: Likewise.
8218 * include/grub/i386/qemu/serial.h: Likewise.
8219 * include/grub/i386/qemu/kernel.h: Likewise.
8220 * include/grub/i386/qemu/console.h: Likewise.
8221 * include/grub/i386/qemu/boot.h: Likewise.
8222 * include/grub/i386/qemu/init.h: Likewise.
8223 * include/grub/i386/qemu/machine.h: Likewise.
8224 * include/grub/i386/qemu/loader.h: Likewise.
8225 * include/grub/i386/qemu/memory.h: Likewise.
8226
8227 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
8228 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
8229 [qemu] (pkglib_IMAGES): Add `boot.img'.
8230 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
8231 [qemu] (boot_img_FORMAT): New variables.
8232 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
8233 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
8234 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
8235 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
8236 [qemu] (kernel_img_FORMAT): New variables.
8237
8238 * configure.ac: Recognise `i386-qemu'.
8239
8240 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
8241 (for no compression).
8242 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
8243 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
8244 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
8245 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
8246 ifdefs).
8247
97fe384e 82482009-06-27 Pavel Roskin <proski@gnu.org>
8249
8250 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
8251 read.
8252 * efiemu/prepare32.c: Likewise.
8253 * efiemu/prepare64.c: Likewise.
8254
c402ab17 82552009-06-26 Pavel Roskin <proski@gnu.org>
8256
8257 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
8258 * include/grub/elf.h: Define symbols without "32" or "64" based
8259 on GRUB_TARGET_WORDSIZE.
8260 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
8261 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
8262 ELF definitions.
8263 * efiemu/loadcore64.c: Likewise.
8264 * loader/i386/bsd32.c: Likewise.
8265 * loader/i386/bsd64.c: Likewise.
8266 * kern/dl.c: Remove own ELF definitions.
8267 * util/i386/efi/grub-mkimage.c: Likewise.
8268
9bbdfd4d 82692009-06-23 Robert Millan <rmh.grub@aybabtu.com>
8270
8271 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
8272 segment 0x0 unconditionally, because the reference generated by
8273 GAS is an absolute address.
8274
a42ce6e9 82752009-06-22 Robert Millan <rmh.grub@aybabtu.com>
8276
8277 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
8278 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
8279
c952cf92 82802009-06-22 Robert Millan <rmh.grub@aybabtu.com>
8281
8282 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
8283 indexes. Check for -f explicitly.
cc3752ad 8284 (search_file): Improve error message.
8285 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 8286
132a0a59 82872009-06-22 Robert Millan <rmh.grub@aybabtu.com>
8288
8289 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
8290 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
8291
387a140c 82922009-06-22 Robert Millan <rmh.grub@aybabtu.com>
8293
8294 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
8295 * conf/i386-ieee1275.rmk: Likewise.
8296 * conf/i386-coreboot.rmk: Likewise.
8297
8298 * kern/i386/pc/startup.S (grub_stop): Remove function.
8299 * kern/i386/ieee1275/startup.S: Likewise.
8300 * kern/i386/coreboot/startup.S: Likewise.
8301 * kern/i386/misc.S (grub_stop): New function.
8302
41da9665 83032009-06-22 Robert Millan <rmh.grub@aybabtu.com>
8304
8305 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
8306 * kern/i386/realmode.S (real_to_prot): ... to here.
8307
bf337234 83082009-06-22 Robert Millan <rmh.grub@aybabtu.com>
8309
8310 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
8311 with `kernel.img'.
8312 (kernel_elf_SOURCES): Rename to ...
8313 (kernel_img_SOURCES): ... this.
8314 (kernel_elf_HEADERS): Rename to ...
8315 (kernel_img_HEADERS): ... this. Update all users.
8316 (kernel_elf_ASFLAGS): Rename to ...
8317 (kernel_img_ASFLAGS): ... this.
8318 (kernel_elf_CFLAGS): Rename to ...
8319 (kernel_img_CFLAGS): ... this.
8320 (kernel_elf_LDFLAGS): Rename to ...
8321 (kernel_img_LDFLAGS): ... this.
8322 * conf/i386-coreboot.rmk: Likewise.
8323 * conf/powerpc-ieee1275.rmk: Likewise.
8324
8325 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
8326 with "kernel.img".
8327
f52196ff 83282009-06-21 Pavel Roskin <proski@gnu.org>
8329
c3cee413 8330 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
8331 to match nested functions.
8332 * loader/sparc64/ieee1275/linux.c: Likewise.
8333
f52196ff 8334 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
8335
58750afc 83362009-06-21 Robert Millan <rmh.grub@aybabtu.com>
8337
8338 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
8339 all i386 platforms.
8340
15355c7d 83412009-06-21 Robert Millan <rmh.grub@aybabtu.com>
8342
8343 Fix asm file handling on ELF, and remove workarounds.
8344
8345 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 8346 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 8347 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
8348 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
8349
3f3ec72b 83502009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
8351
8352 Load BSD ELF modules
8353
8354 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
8355 and loader/i386/bsd64.c
8356 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
8357 (FREEBSD_MODTYPE_ELF_MODULE): New definition
8358 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
8359 (grub_freebsd_load_elfmodule32): New declaration
8360 (grub_freebsd_load_elfmoduleobj64): Likewise
8361 (grub_freebsd_load_elf_meta32): Likewise
8362 (grub_freebsd_load_elf_meta64): Likewise
8363 (grub_freebsd_add_meta): Likewise
8364 (grub_freebsd_add_meta_module): Likewise
8365 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
8366 (grub_freebsd_add_meta_module): Likewise and move module-specific
8367 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
8368 (grub_cmd_freebsd): Add elf-kernel specific parts
8369 based on grub_freebsd_add_meta_module
8370 (grub_cmd_freebsd_module): Add type parsing moved from
8371 grub_freebsd_add_meta_module
8372 (grub_cmd_freebsd_module_elf): New function
8373 (cmd_freebsd_module_elf): New variable
8374 (GRUB_MOD_INIT): Register freebsd_module_elf
8375 * loader/i386/bsd32.c: New file
8376 * loader/i386/bsd64.c: Likewise
8377 * loader/i386/bsdXX.c: Likewise
8378 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
8379 (grub_elf64_load): Likewise
8380 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
8381 All users updated
8382 (grub_elf64_load_hook_t): Likewise
8383
0db15301 83842009-06-21 Colin Watson <cjwatson@ubuntu.com>
8385
8386 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
8387 variable.
8388 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
8389 don't write a menu entry for recovery mode.
8390
546796c1 83912009-06-20 Robert Millan <rmh.grub@aybabtu.com>
8392
8393 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
8394 after it's no longer needed.
8395
cd7310d5 83962009-06-20 Robert Millan <rmh.grub@aybabtu.com>
8397
8398 * include/grub/i386/loader.h (grub_linux_prot_size)
8399 (grub_linux_tmp_addr, grub_linux_real_addr)
8400 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
8401 GRUB_MACHINE_PCBIOS.
8402 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
8403 common grub_util_info() call to ...
8404 (generate_image): ... here.
8405 Fix use of uninitialized memory, comparison of signed with
8406 unsigned integers and memory leak.
8407 Remove bogus module address message.
8408
ab32d3b5 84092009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
8410
8411 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
8412 grub_raid_register
8413 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
8414
024ef597 84152009-06-19 Pavel Roskin <proski@gnu.org>
8416
8417 * configure.ac: Remove stray AC_MSG_CHECKING.
8418
3ac72b51 84192009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
8420
8421 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 8422
e14cd814 84232009-06-18 Pavel Roskin <proski@gnu.org>
8424
8425 * conf/common.rmk: Add fs_file.mod.
8426 * disk/fs_file.c: New file.
8427 * include/grub/disk.h (enum grub_disk_dev_id): Add
8428 GRUB_DISK_DEVICE_FILE_ID.
8429
26586d98 84302009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
8431
8432 Fix build with Apple's toolchain. Part 2
8433
8434 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
8435 a fake start
8436
26de2bcd 84372009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
8438
8439 Fix build with Apple's toolchain. Part 1
8440
8441 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
8442 for long calls
8443 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 8444 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 8445 Apple's toolchain
8446
09b3490b 84472009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
8448
8449 Fix warnings
8450
8451 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
8452 (decomp_block): initialize ch
8453 use grub_memcpy instead of memcpy
8454
c22a006a 84552009-06-17 Pavel Roskin <proski@gnu.org>
8456
d3638678 8457 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
8458 version, use declarations needed to use vga_text as the startup
8459 console.
8460
c22a006a 8461 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
8462 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
8463 the kernel.
8464 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
8465 and grub_at_keyboard_fini(), it's done on module load and
8466 unload.
8467
05b129e0 84682009-06-17 Felix Zielcke <fzielcke@z-51.de>
8469
8470 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
8471 file can't be found.
8472 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
8473
cf24ed9e 84742009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
8475
8476 Fix newline handling
8477
8478 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 8479 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 8480 (grub_script_yylex): don't segfault on unterminated script
8481 newline terminates command and variable
8482
74aa8e4b 84832009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
8484
8485 avoid double grub_adjust_range call. Bug reported by David Simner
8486
8487 * kern/disk.c (grub_disk_write): change to raw disk access before
8488 calling disk_read
8489
1bd265f3 84902009-06-17 Colin Watson <cjwatson@ubuntu.com>
8491
8492 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
8493 spaces, for the benefit of help2man.
8494 * util/i386/efi/grub-mkimage.c (usage): Likewise.
8495
a2d08c06 84962009-06-16 Pavel Roskin <proski@gnu.org>
8497
8498 * kern/i386/halt.c: Include grub/machine/init.h.
8499 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
8500
b97bcb19 85012009-06-16 Felix Zielcke <fzielcke@z-51.de>
8502
8503 * util/grub.d/30_os-prober.in: Use ${root} in the generated
8504 drivemap menuentry.
8505
0644f96c 85062009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
8507
8508 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
8509 `echo' command.
8510
3ef17a2e 85112009-06-16 Pavel Roskin <proski@gnu.org>
8512
8513 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
8514 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
8515 save %dx, we only need %dl and we never change it.
8516 * boot/i386/pc/cdboot.S: Don't set the root drive.
8517 * boot/i386/pc/pxeboot.S: Likewise.
8518 * include/grub/i386/pc/boot.h: Remove
8519 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
8520 GRUB_BOOT_MACHINE_DRIVE_CHECK.
8521 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
8522 * kern/i386/pc/init.c (make_install_device): Remove references
8523 to grub_root_drive.
8524 * kern/i386/pc/startup.S: Likewise.
8525 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
8526
693fe637 85272009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
8528
8529 xnu_uuid command
8530
8531 * commands/xnu_uuid.c: new file
8532 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
8533 (xnu_uuid_mod_SOURCES): new variable
8534 (xnu_uuid_mod_CFLAGS): likewise
8535 (xnu_uuid_mod_LDFLAGS): likewise
8536 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
8537 * conf/i386-ieee1275.rmk: likewise
8538 * conf/i386-pc.rmk: likewise
8539 * conf/powerpc-ieee1275.rmk: likewise
8540 * conf/sparc64-ieee1275.rmk: likewise
8541 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
8542
c9da87d0 85432009-06-16 Pavel Roskin <proski@gnu.org>
8544
8545 * configure.ac: Avoid '==' in test command, it's not portable.
8546
9c6f4596 85472009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
8548
8549 Probe command
8550
8551 * commands/probe.c: new file
8552 * conf/common.rmk (pkglib_MODULES): add probe.mod
8553 (probe_mod_SOURCES): new variable
8554 (probe_mod_CFLAGS): likewise
8555 (probe_mod_LDFLAGS): likewise
8556 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
8557 * conf/i386-ieee1275.rmk: likewise
8558 * conf/i386-pc.rmk: likewise
8559 * conf/powerpc-ieee1275.rmk: likewise
8560 * conf/sparc64-ieee1275.rmk: likewise
8561
70b7f9fd 85622009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
8563
8564 Fix handling of string like \"hello\" and "a
8565 b"
8566
8567 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
8568 (grub_script_yylex): fix parsing of quoting, escaping and newline
8569
71c79a6b 85702009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
8571
dd74360c 8572 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 8573 handling
dd74360c 8574
0644f96c 85752009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 8576
8577 * util/grub-mkconfig.in: Fix parsing of --output option.
8578
e40893c3 85792009-06-12 Pavel Roskin <proski@gnu.org>
8580
8581 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
8582 genmk.rb don't need to be generated or installed.
8583
3a1acfe2 85842009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
8585
8586 * commands/i386/pc/drivemap_int13h.S: add more comments
8587
3a4575d4 85882009-06-11 Pavel Roskin <proski@gnu.org>
8589
0658e928 8590 * Makefile.in (uninstall): Uninstall manuals.
8591
ca0388f0 8592 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
8593 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
8594 and update-grub_lib in two places.
8595 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
8596
e3b27c39 8597 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
8598 a compiler warning.
8599
3a4575d4 8600 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
8601 `entry_lo' to fix variable shadowing.
8602
af1f4f55 86032009-06-11 Christian Franke <franke@computer.org>
8604
8605 * kern/misc.c (__enable_execute_stack): Add missing return type
8606 to prevent gcc warning.
8607
5225e649 86082009-06-11 Felix Zielcke <fzielcke@z-51.de>
8609
8610 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
8611
7d83bd47 86122009-06-11 Pavel Roskin <proski@gnu.org>
8613
c1cb63ba 8614 * Makefile.in: Don't rely on any scripts being executable.
8615 Always use $(SHELL) to run shell scripts.
8616
7d83bd47 8617 * configure.ac: Always define ___main if using -nostdlib. This
8618 fixes tests on Cygwin.
8619
948f48e7 86202009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
8621
8622 UDF fix
8623
7d83bd47 8624 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 8625 is in bytes and not in blocks
7d83bd47 8626
8ada9bc1 86272009-06-11 Pavel Roskin <proski@gnu.org>
8628
8629 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
8630 warning.
8631
25ad2323 86322009-06-11 Felix Zielcke <fzielcke@z-51.de>
8633
8634 * util/grub.d/30_os-prober.in: Fix a comment. Source
8635 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
8636 to set the root device. Place drivemap command in the generated
8637 chain entry.
8638
e65acb0c 86392009-06-11 Pavel Roskin <proski@gnu.org>
8640
8641 * configure.ac: Remove host_m32. Issues with 64-bit utilities
8642 have long been resolved.
8643
f285fe2d 86442009-06-11 Colin Watson <cjwatson@ubuntu.com>
8645
bd47b0b5 8646 * util/grub.d/10_linux.in: Capitalise "Linux".
8647
f285fe2d 8648 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
8649
a0c62e4e 86502009-06-11 Pavel Roskin <proski@gnu.org>
8651
b6783cb2 8652 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
8653 fix a gcc warning and ensure that the function won't ever exit.
8654
dde032e8 8655 * kern/i386/ieee1275/init.c: Add missing prototype for
8656 grub_stop_floppy().
8657
22cd079d 8658 * loader/ieee1275/multiboot2.c [__i386__]: Include
8659 grub/cpu/multiboot.h.
8660
a0c62e4e 8661 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
8662 casts to short - they are not portable and cause warnings. Fix
8663 use of uninitialized values in input_buf. Use ARRAY_SIZE.
8664
63963d17 86652009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
8666
8667 Drivemap fixes
8668
8669 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
8670 new function
8671 (grub_get_root_biosnumber_saved): new variable
8672 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
8673 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 8674 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 8675 %dx after the call if necessary
8676 * conf/common.rmk (pkglib_MODULES): remove boot.mod
8677 (boot_mod_SOURCES): remove
8678 (boot_mod_CFLAGS): remove
8679 (boot_mod_LDFLAGS): remove
8680 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
8681 (boot_mod_SOURCES): new variable
8682 (boot_mod_CFLAGS): likewise
8683 (boot_mod_LDFLAGS): likewise
8684 * conf/i386-efi.rmk: likewise
8685 * conf/i386-ieee1275.rmk: likewise
8686 * conf/i386-pc.rmk: likewise
8687 * conf/powerpc-ieee1275.rmk: likewise
8688 * conf/sparc64-ieee1275.rmk: likewise
8689 * conf/x86_64-efi.rmk: likewise
8690 * include/grub/i386/pc/biosnum.h: new file
8691 * lib/i386/pc/biosnum.c: likewise
8692 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
8693 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
8694 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 8695
33abf7ae 86962009-06-10 Pavel Roskin <proski@gnu.org>
8697
5ac35b35 8698 * io/gzio.c (test_header): Don't reuse one buffer for all data.
8699 Use separate variables. Read only the file size at the end, but
8700 not the checksum that we don't use.
8701
5c5215d5 8702 * kern/file.c (grub_file_read): Use void pointer for the buffer.
8703 Adjust all callers.
8704
27d5fef7 8705 * kern/ieee1275/openfw.c: Remove libc includes.
8706 * kern/ieee1275/cmain.c: Likewise.
8707 * include/grub/ieee1275/ieee1275.h: Likewise.
8708
33abf7ae 8709 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
8710 compiler warnings.
8711
19d50c2b 87122009-06-10 Felix Zielcke <fzielcke@z-51.de>
8713
8714 * Makefile.in: Remove all trailing whitespace.
8715 * conf/i386-pc.rmk: Likewise.
8716 * conf/powerpc-ieee1275.rmk: Likewise.
8717 * conf/sparc64-ieee1275.rmk: Likewise.
8718 * docs/grub.texi: Likewise.
8719 * docs/texinfo.tex: Likewise.
8720 * disk/fs_uuid.c: Likewise.
8721 * disk/lvm.c: Likewise.
8722 * disk/scsi.c: Likewise.
8723 * disk/ata.c: Likewise.
8724 * disk/ieee1275/ofdisk.c: Likewise.
8725 * disk/i386/pc/biosdisk.c: Likewise.
8726 * disk/host.c: Likewise.
8727 * disk/raid.c: Likewise.
8728 * disk/efi/efidisk.c: Likewise.
8729 * disk/usbms.c: Likewise.
8730 * disk/memdisk.c: Likewise.
8731 * disk/loopback.c: Likewise.
8732 * kern/powerpc/dl.c: Likewise.
8733 * kern/device.c: Likewise.
8734 * kern/dl.c: Likewise.
8735 * kern/sparc64/dl.c: Likewise.
8736 * kern/ieee1275/ieee1275.c: Likewise.
8737 * kern/term.c: Likewise.
8738 * kern/fs.c: Likewise.
8739 * kern/i386/dl.c: Likewise.
8740 * kern/i386/pc/startup.S: Likewise.
8741 * kern/i386/pc/init.c: Likewise.
8742 * kern/i386/pc/mmap.c: Likewise.
8743 * kern/i386/pc/lzo1x.S: Likewise.
8744 * kern/i386/ieee1275/init.c: Likewise.
8745 * kern/i386/realmode.S: Likewise.
8746 * kern/i386/tsc.c: Likewise.
8747 * kern/partition.c: Likewise.
8748 * kern/corecmd.c: Likewise.
8749 * kern/file.c: Likewise.
8750 * kern/efi/efi.c: Likewise.
8751 * kern/efi/init.c: Likewise.
8752 * kern/efi/mm.c: Likewise.
8753 * kern/main.c: Likewise.
8754 * kern/err.c: Likewise.
8755 * kern/env.c: Likewise.
8756 * kern/disk.c: Likewise.
8757 * kern/generic/millisleep.c: Likewise.
8758 * kern/generic/rtc_get_time_ms.c: Likewise.
8759 * kern/misc.c: Likewise.
8760 * kern/parser.c: Likewise.
8761 * genmk.rb: Likewise.
8762 * configure.ac: Likewise.
8763 * boot/i386/pc/diskboot.S: Likewise.
8764 * boot/i386/pc/pxeboot.S: Likewise.
8765 * boot/i386/pc/boot.S: Likewise.
8766 * boot/i386/pc/lnxboot.S: Likewise.
8767 * boot/i386/pc/cdboot.S: Likewise.
8768 * parttool/pcpart.c: Likewise.
8769 * video/readers/tga.c: Likewise.
8770 * video/video.c: Likewise.
8771 * video/bitmap.c: Likewise.
8772 * lib/envblk.c: Likewise.
8773 * lib/i386/setjmp.S: Likewise.
8774 * fs/xfs.c: Likewise.
8775 * fs/afs.c: Likewise.
8776 * fs/fat.c: Likewise.
8777 * fs/ntfs.c: Likewise.
8778 * fs/udf.c: Likewise.
8779 * fs/affs.c: Likewise.
8780 * fs/iso9660.c: Likewise.
8781 * fs/hfs.c: Likewise.
8782 * fs/fshelp.c: Likewise.
8783 * fs/ext2.c: Likewise.
8784 * fs/jfs.c: Likewise.
8785 * fs/reiserfs.c: Likewise.
8786 * fs/hfsplus.c: Likewise.
8787 * fs/minix.c: Likewise.
8788 * fs/cpio.c: Likewise.
8789 * fs/sfs.c: Likewise.
8790 * fs/ufs.c: Likewise.
8791 * efiemu/prepare.c: Likewise.
8792 * efiemu/loadcore_common.c: Likewise.
8793 * efiemu/runtime/efiemu.sh: Likewise.
8794 * efiemu/runtime/efiemu.S: Likewise.
8795 * efiemu/runtime/efiemu.c: Likewise.
8796 * efiemu/pnvram.c: Likewise.
8797 * efiemu/main.c: Likewise.
8798 * efiemu/i386/pc/cfgtables.c: Likewise.
8799 * efiemu/i386/loadcore64.c: Likewise.
8800 * efiemu/i386/loadcore32.c: Likewise.
8801 * efiemu/loadcore.c: Likewise.
8802 * efiemu/symbols.c: Likewise.
8803 * efiemu/mm.c: Likewise.
8804 * include/grub/autoefi.h: Likewise.
8805 * include/grub/datetime.h: Likewise.
8806 * include/grub/term.h: Likewise.
8807 * include/grub/hfs.h: Likewise.
8808 * include/grub/lvm.h: Likewise.
8809 * include/grub/i386/tsc.h: Likewise.
8810 * include/grub/i386/linux.h: Likewise.
8811 * include/grub/i386/xnu.h: Likewise.
8812 * include/grub/i386/efiemu.h: Likewise.
8813 * include/grub/i386/pc/biosdisk.h: Likewise.
8814 * include/grub/i386/pc/memory.h: Likewise.
8815 * include/grub/i386/pc/vbe.h: Likewise.
8816 * include/grub/parttool.h: Likewise.
8817 * include/grub/video.h: Likewise.
8818 * include/grub/memory.h: Likewise.
8819 * include/grub/fs.h: Likewise.
8820 * include/grub/partition.h: Likewise.
8821 * include/grub/xnu.h: Likewise.
8822 * include/grub/efi/api.h: Likewise.
8823 * include/grub/efi/pe32.h: Likewise.
8824 * include/grub/efi/memory.h: Likewise.
8825 * include/grub/multiboot.h: Likewise.
8826 * include/grub/usbdesc.h: Likewise.
8827 * include/grub/multiboot2.h: Likewise.
8828 * include/grub/acpi.h: Likewise.
8829 * include/grub/efiemu/efiemu.h: Likewise.
8830 * include/grub/disk.h: Likewise.
8831 * include/grub/ieee1275/ieee1275.h: Likewise.
8832 * include/grub/net.h: Likewise.
8833 * include/grub/machoload.h: Likewise.
8834 * include/grub/macho.h: Likewise.
8835 * include/multiboot.h: Likewise.
8836 * genmoddep.awk: Likewise.
8837 * normal/main.c: Likewise.
8838 * normal/menu_entry.c: Likewise.
8839 * normal/menu_viewer.c: Likewise.
8840 * normal/completion.c: Likewise.
8841 * normal/cmdline.c: Likewise.
8842 * normal/misc.c: Likewise.
8843 * normal/datetime.c: Likewise.
8844 * bus/usb/usbtrans.c: Likewise.
8845 * bus/usb/ohci.c: Likewise.
8846 * bus/usb/uhci.c: Likewise.
8847 * bus/usb/usb.c: Likewise.
8848 * mmap/efi/mmap.c: Likewise.
8849 * mmap/i386/pc/mmap_helper.S: Likewise.
8850 * mmap/i386/pc/mmap.c: Likewise.
8851 * mmap/i386/mmap.c: Likewise.
8852 * mmap/i386/uppermem.c: Likewise.
8853 * mmap/mmap.c: Likewise.
8854 * commands/acpi.c: Likewise.
8855 * commands/echo.c: Likewise.
8856 * commands/blocklist.c: Likewise.
8857 * commands/loadenv.c: Likewise.
8858 * commands/usbtest.c: Likewise.
8859 * commands/boot.c: Likewise.
8860 * commands/parttool.c: Likewise.
8861 * commands/search.c: Likewise.
8862 * commands/cat.c: Likewise.
8863 * commands/i386/pc/play.c: Likewise.
8864 * commands/i386/pc/drivemap.c: Likewise.
8865 * commands/i386/pc/vbeinfo.c: Likewise.
8866 * commands/i386/pc/acpi.c: Likewise.
8867 * commands/i386/pc/vbetest.c: Likewise.
8868 * commands/ls.c: Likewise.
8869 * commands/cmp.c: Likewise.
8870 * commands/test.c: Likewise.
8871 * commands/efi/acpi.c: Likewise.
8872 * commands/gptsync.c: Likewise.
8873 * commands/help.c: Likewise.
8874 * partmap/amiga.c: Likewise.
8875 * partmap/apple.c: Likewise.
8876 * partmap/acorn.c: Likewise.
8877 * partmap/pc.c: Likewise.
8878 * partmap/sun.c: Likewise.
8879 * partmap/gpt.c: Likewise.
8880 * script/sh/lexer.c: Likewise.
8881 * script/sh/function.c: Likewise.
8882 * font/font.c: Likewise.
8883 * font/font_cmd.c: Likewise.
8884 * loader/powerpc/ieee1275/linux.c: Likewise.
8885 * loader/efi/chainloader.c: Likewise.
8886 * loader/multiboot_loader.c: Likewise.
8887 * loader/macho.c: Likewise.
8888 * loader/i386/multiboot.c: Likewise.
8889 * loader/i386/linux.c: Likewise.
8890 * loader/i386/pc/linux.c: Likewise.
8891 * loader/i386/pc/multiboot2.c: Likewise.
8892 * loader/i386/pc/chainloader.c: Likewise.
8893 * loader/i386/pc/xnu.c: Likewise.
8894 * loader/i386/bsd_trampoline.S: Likewise.
8895 * loader/i386/efi/linux.c: Likewise.
8896 * loader/i386/multiboot_elfxx.c: Likewise.
8897 * loader/i386/bsd_helper.S: Likewise.
8898 * loader/i386/bsd.c: Likewise.
8899 * loader/i386/linux_trampoline.S: Likewise.
8900 * loader/i386/xnu_helper.S: Likewise.
8901 * loader/i386/xnu.c: Likewise.
8902 * loader/i386/bsd_pagetable.c: Likewise.
8903 * loader/i386/multiboot_helper.S: Likewise.
8904 * loader/xnu.c: Likewise.
8905 * loader/xnu_resume.c: Likewise.
8906 * io/gzio.c: Likewise.
8907 * term/efi/console.c: Likewise.
8908 * term/terminfo.c: Likewise.
8909 * term/ieee1275/ofconsole.c: Likewise.
8910 * term/i386/pc/serial.c: Likewise.
8911 * term/i386/pc/vesafb.c: Likewise.
8912 * term/i386/pc/vga.c: Likewise.
8913 * term/usb_keyboard.c: Likewise.
8914 * term/gfxterm.c: Likewise.
8915 * aclocal.m4: Likewise.
8916 * util/lvm.c: Likewise.
8917 * util/grub.d/30_os-prober.in: Likewise.
8918 * util/grub.d/10_hurd.in: Likewise.
8919 * util/console.c: Likewise.
8920 * util/grub-macho2img.c: Likewise.
8921 * util/grub-probe.c: Likewise.
8922 * util/hostfs.c: Likewise.
8923 * util/i386/pc/grub-mkimage.c: Likewise.
8924 * util/i386/pc/grub-setup.c: Likewise.
8925 * util/i386/efi/grub-mkimage.c: Likewise.
8926 * util/grub-mkconfig.in: Likewise.
8927 * util/raid.c: Likewise.
8928 * util/resolve.c: Likewise.
8929 * util/grub-mkdevicemap.c: Likewise.
8930 * util/grub-emu.c: Likewise.
8931 * util/getroot.c: Likewise.
8932 * util/hostdisk.c: Likewise.
8933 * util/usb.c: Likewise.
8934 * util/grub-editenv.c: Likewise.
8935 * util/misc.c: Likewise.
8936
d2d49665 89372009-06-10 Felix Zielcke <fzielcke@z-51.de>
8938
8939 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
8940 `genparttoollist.sh'.
8941 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
8942 Add `*.sh' to the list find searches for and change `mdate.sh'
8943 to `mdate-sh'.
8944
fe052e37 89452009-06-10 Pavel Roskin <proski@gnu.org>
8946
2763ac18 8947 * include/grub/multiboot2.h: Provide compatibility defines for
8948 multiboot2.h.
8949 * include/multiboot2.h: Include stdint.h only if needed, using
8950 angle brackets.
8951 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
8952 grub/multiboot2.h.
8953 * loader/ieee1275/multiboot2.c: Likewise.
8954 * loader/multiboot2.c: Likewise.
8955 * loader/multiboot_loader.c: Likewise.
8956
437e6adc 8957 * configure.ac: Use -nostdlib when probing for the target. It
8958 should not be required to have libc for the target.
8959
06a6836c 8960 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
8961 they fail without libc headers for the target.
8962 * include/grub/powerpc/libgcc.h: Use weak attribute for all
8963 exports.
8964 * include/grub/sparc64/libgcc.h: Likewise. Don't use
8965 preprocessor conditionals.
8966
fe052e37 8967 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
8968 build system doesn't need to be aware of the tar.c internals.
8969
afd22553 89702009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 8971
afd22553 8972 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 8973
6b787c4f 89742009-06-09 Robert Millan <rmh.grub@aybabtu.com>
8975
8976 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
8977 disk limit to 26 for IDE, Virtio, Xen and SCSI.
8978
89792009-06-09 Felix Zielcke <fzielcke@z-51.de>
8980
8981 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 8982 aren't available if ata.mod gets used.
6b787c4f 8983
473d1e45 89842009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 8985
473d1e45 8986 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 8987 initialising controller.
473d1e45 8988 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 8989
255a27d4 89902009-06-08 Felix Zielcke <fzielcke@z-51.de>
8991
8992 * util/i386/pc/grub-install.in: Add a parameter --disk-module
8993 to choose between ata and biosdisk module on i386-pc.
8994
473d1e45 89952009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 8996
d55842d8 8997 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
8998 Subclass and Programming Interface fields in terms of the 3 byte
8999 Class Code register.
9000 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
9001
fa5db0b1 9002 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
9003 interface is OHCI. Add grub_dprintf for symmetry with
9004 bus/usb/uhci.c.
9005 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
9006 interface is UHCI. Add interf variable for programming
9007 interface. Print interface with class/subclass.
9008
c0947beb 9009 * bus/usb/ohci.c: Set interf with correct field.
9010
69da8877 9011 * bus/usb/uhci.c: Remove unneeded doubled lines.
9012 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
9013 Remove whitespace inside comment.
9014
9e172e30 90152009-06-08 Robert Millan <rmh.grub@aybabtu.com>
9016
9017 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
9018 as fallback an equivalent option without depth.
9019
de65ee2b 90202009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9021
9022 Not fail if unable to retrieve C/H/S on LBA disks
9023
473d1e45 9024 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 9025 if unable to retrieve C/H/S on LBA disks
9026
b57ea2c9 90272009-06-08 Pavel Roskin <proski@gnu.org>
9028
9029 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
9030 about aliasing.
9031
af361263 90322009-06-08 Felix Zielcke <fzielcke@z-51.de>
9033
9034 * Makefile.in (uninstall): Remove all $lib_DATA files.
9035
4c9ec6b3 90362009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
9037
9038 Bugfix: install on partitionless device
9039
9040 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
9041 is a whole disk
9042
e76fc924 90432009-06-08 Felix Zielcke <fzielcke@z-51.de>
9044
9045 * Makefile.in (uninstall): Remove all $include_DATA files.
9046
ba5a0d05 90472009-06-08 Felix Zielcke <fzielcke@z-51.de>
9048
9049 * commands/true.c: New file. Implement the true and false commands.
9050 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
9051 (true_mod_SOURCES): New variable.
9052 (true_mod_CFLAGS): Likewise.
9053 (true_mod_LDFLAGS): Likewise.
9054
c8048e32 90552009-06-05 Colin D Bennett <colin@gibibit.com>
9056
9057 Optimized font character lookup using binary search instead of linear
9058 search. Fonts now are required to have the character index ordered by
9059 code point.
9060
9061 * font/font.c (load_font_index): Verify that fonts have ordered
9062 character indices.
9063 (find_glyph): Use binary search instead of linear search to find a
9064 character in a font.
9065
408305be 90662009-06-05 Michael Scherer <misc@mandriva.org>
9067
9068 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
9069 uses case sensitive btree.
9070 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
9071 only for case insensitive filesystems.
9072
8ee1e0d9 90732009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
9074
9075 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
9076 * conf/common.rmk (search_mod_CFLAGS): likewise
9077
a9966eb1 90782009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9079
473d1e45 9080 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 9081 compensate a compiler bug
9082
9e7100fb 90832009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9084
473d1e45 9085 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 9086 instead of '\b'
473d1e45 9087
ede21d71 90882009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9089
9090 Definitions for creating asm symbols with Apple's CC
9091
9092 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
9093 [APPLE_CC] (VARIABLE): likewise
9094
9dbf7653 90952009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9096
9097 Disable lnxboot.img when compiled
9098 with Apple's CC
9099
9100 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
9101 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
9102 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
9103 [! APPLE_CC] (CODE_LENG): skip
9104 [! APPLE_CC] (setup_sects): likewise
9105 [! APPLE_CC]: skip filling
473d1e45 9106
e93cdc3d 91072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9108
9109 Address in trampolines based on 32-bit registers when compiled
9110 with Apple's CC
9111
473d1e45 9112 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 9113 for addresses
9114 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
9115
6c688477 91162009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9117
9118 Avoid aliases when compiling with Apple's CC for PCBIOS machine
9119
9120 * kern/misc.c [APPLE_CC] (memcpy): new function
9121 [APPLE_CC] (memmove): likewise
9122 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 9123 (memcpy): define alias conditionally on !APPLE_CC
6c688477 9124 (memset): likewise
9125 (abort): likewise
9126 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
9127 APPLE_CC are defined
9128 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
9129 (grub_assert_fail): make prototype conditional
9130
e37ffc5c 91312009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9132
9133 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
9134
473d1e45 9135 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
9136 grub-macho2img
e37ffc5c 9137 (CLEANFILES): add grub-macho2img
9138 (grub_macho2img_SOURCES): new variable
9139 * kern/i386/pc/startup.S (bss_start): new variable
9140 (bss_end): likewise
9141 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
9142 * util/grub-macho2img.c: new file
9143
cf00df31 91442009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9145
9146 Use objconv when compiling with Apple's CC
9147
9148 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
9149 (efiemu64.o): likewise
9150 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
9151 when compiling with Apple's CC
9152 (efiemu64_s.o): likewise
9153 * configure.ac: check for objconv when compiling with Apple's CC
9154 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 9155
d119a20c 91562009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9157
9158 Define segment as well as section when compiling with
9159 Apple's CC
9160
9161 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
9162 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
9163 (efiemu_convert_pointer): likewise
9164 (efiemu_set_virtual_address_map): likewise
9165 (efiemu_convert_pointer): likewise
9166 (efiemu_getcrc32): likewise
9167 (init_crc32_table): likewise
9168 (reflect): likewise
9169 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
9170 (GRUB_MOD_DEP): likewise
473d1e45 9171
c8600122 91722009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9173
9174 Allow a compilation without -mcmodel=large
9175
9176 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
9177 when compiled without -mcmodel=large
473d1e45 9178 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 9179 without -mcmodel=large
473d1e45 9180 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 9181 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 9182
e8df1d4e 91832009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9184
9185 Remove nested functions in efiemu core
9186
9187 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 9188
cc6c3ac1 91892009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9190
9191 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
9192
9193 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
9194 temporary storage
473d1e45 9195 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
9196 using Apple's CC
cc6c3ac1 9197 (grub_cpu_is_tsc_supported): likewise
9198 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 9199
3e325901 92002009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9201
9202 Absolute addressing through constant with Apple's cc
9203
9204 * kern/i386/pc/startup.S: Define necessary constants
9205 and address through it when using ABS with Apple's CC
9206 * boot/i386/pc/diskboot.S: likewise
9207 * boot/i386/pc/boot.S: likewise
9208 * boot/i386/pc/lnxboot.S: likewise
9209 * boot/i386/pc/cdboot.S: likewise
9210 * mmap/i386/pc/mmap_helper.S: likewise
9211 * commands/i386/pc/drivemap_int13h.S: likewise
9212
2b167a72 92132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9214
9215 Check if compiler is apple cc
9216
9217 * Makefile.in (ASFLAGS): new variable
9218 (TARGET_ASFLAGS): likewise
9219 (TARGET_MODULE_FORMAT): likewise
9220 (TARGET_APPLE_CC): likewise
9221 (OBJCONV): likewise
9222 (TARGET_IMG_CFLAGS): likewise
9223 (TARGET_CPPFLAGS): add includedir
9224 * configure.ac: call grub_apple_cc and grub_apple_target_cc
9225 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
9226 Check for linker script only if compiler isn't Apple's CC
9227 (TARGET_MODULE_FORMAT): set
9228 (TARGET_APPLE_CC): likewise
9229 (TARGET_ASFLAGS): likewise
9230 (ASFLAGS): likewise
9231 Check for objcopy only if compiler isn't Apple's CC
9232 Check for BSS symbol only if compiler isn't Apple's CC
9233 * genmk.rb: adapt nm options if we use Apple's utils
9234 * aclocal.m4 (grub_apple_cc): new test
9235 (grub_apple_target_cc): likewise
473d1e45 9236
fb14123e 92372009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9238
9239 Simplify sed expressions and improve awk
9240
9241 * Makefile.in (install-local): simplify sed expression
9242 * gencmdlist.sh: likewise
9243 * genmoddep.awk: avoid adding module as a dependency of itself
9244
5b889789 92452009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9246
9247 Add missing start symbols
9248
9249 * boot/i386/pc/boot.S: add start
fb14123e 9250 * boot/i386/pc/pxeboot.S: likewise
473d1e45 9251
fd2bf2e3 92522009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9253
9254 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 9255
9256 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 9257 (relocate_addresses): consider both r_addend and value at offset
9258 (make_mods_section): zerofill modinfo and header
9259 (convert_elf): write prefix here
473d1e45 9260
5389763d 92612009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9262
9263 Use .asciz instead of .string
9264
9265 * i386/pc/diskboot.S: use .asciz instead of .string
9266 * i386/pc/boot.S: likewise
9267 * include/grub/dl.h (GRUB_MOD_DEP): likewise
9268 (GRUB_MOD_NAME): likewise
473d1e45 9269
3eb5ed4e 92702009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9271
9272 gfxpayload support
9273
9274 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
9275 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
9276 (grub_video_setup): remove
9277 (grub_video_set_mode): new prototype
9278 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
9279 (vid_mode): remove
9280 (linux_vesafb_res): compile only on PCBIOS
9281 (grub_linux_boot): support gfxpayload
9282 * loader/i386/pc/xnu.c (video_hook): new function
9283 (grub_xnu_set_video): support gfxpayload
9284 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
9285 (DEFAULT_VIDEO_HEIGHT): likewise
9286 (DEFAULT_VIDEO_FLAGS): likewise
9287 (DEFAULT_VIDEO_MODE): new definition
9288 (video_hook): new function
9289 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 9290 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 9291 loading xnu
9292 * video/video.c (grub_video_setup): removed
473d1e45 9293 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 9294 grub_video_setup
9295
4b0e1143 92962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9297
9298 Avoid calling biosdisk in drivemap
9299
9300 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
9301 (revparse_biosdisk): likewise
9302 (list_mappings): derive name from id directly
9303 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 9304
fda6cb98 93052009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
9306
9307 Script fixes
9308
9309 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
9310 (grub_lexer_param): add tokenonhold
9311 (grub_script_create_cmdline): remove cmdline. All callers updated
9312 (grub_script_function_create): make functionname
9313 grub_script_arg. All callers updated
9314 (grub_script_execute_argument_to_string): new prototype
9315 * kern/parser.c (state_transitions): reorder
9316 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 9317 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 9318 make global
9319 (grub_script_execute_cmdline): use new format
9320 * script/sh/function.c (grub_script_function_create): make functionname
9321 grub_script_arg. All callers updated
473d1e45 9322 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 9323 (grub_script_yylex): remove
9324 (grub_script_yylex2): renamed to ...
9325 (grub_script_yylex): ...renamed
9326 parse the expressions like a${b}c
9327 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
9328 (GRUB_PARSER_TOKEN_VAR): remove
9329 (GRUB_PARSER_TOKEN_NAME): likewise
9330 ("if"): declare as typeless
9331 ("while"): likewise
9332 ("function"): likewise
9333 ("else"): likewise
9334 ("then"): likewise
9335 ("fi"): likewise
9336 (text): remove
9337 (argument): likewise
9338 (script): accept empty scripts and make exit on error
9339 (arguments): use GRUB_PARSER_TOKEN_ARG
9340 (function): likewise
9341 (command): move error handling to script
9342 (menuentry): move grub_script_lexer_ref before
473d1e45 9343 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 9344 argument. All callers updated
9345
f4448a07 93462009-06-04 Robert Millan <rmh.grub@aybabtu.com>
9347
9348 Prevent GRUB from probing floppies during boot.
9349
9350 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
9351 * commands/search.c (options): Add --no-floppy.
9352 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
9353 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
9354 --no-floppy when searching for UUIDs.
9355
2bf5885a 93562009-06-04 Robert Millan <rmh.grub@aybabtu.com>
9357
9358 Simplify the code duplication in commands/search.c.
9359
9360 * commands/search.c (search_label, search_fs_uuid): Merge into ...
9361 (search_fs): ... this. Update all users.
9362
f6fd460a 93632009-06-03 Felix Zielcke <fzielcke@z-51.de>
9364
9365 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
9366
cbb3c83e 93672009-05-28 Pavel Roskin <proski@gnu.org>
9368
57788cfd 9369 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
9370 Remove the original symlink explicitly.
9371
cbb3c83e 9372 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
9373 just one slash. That's how grub_fshelp_find_file() does it.
9374
cd0d5e30 93752009-05-26 Pavel Roskin <proski@gnu.org>
9376
f0f8bbe2 9377 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
9378 to `str'.
9379
cd0d5e30 9380 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
9381 possibly unused.
9382
8c2cab51 93832009-05-25 Christian Franke <franke@computer.org>
9384
9385 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
9386 register.
9387 (grub_atapi_identify): Add wait after drive select.
9388 (grub_ata_identify): Do more strict status register check before
9389 calling grub_atapi_identify (). Suppress error message if status
9390 register is 0x00 after command failure. Add status register
9391 check after PIO read to avoid bogus identify due to stuck DRQ.
9392 Thanks to Pavel Roskin for testing.
9393 (grub_device_initialize): Remove unsafe status register check.
9394 Thanks to 'phcoder' for problem report and patch.
9395 Prevent sign extension in debug message.
9396
230c0ad6 93972009-05-23 Colin D Bennett <colin@gibibit.com>
9398
9399 Cleaned up `include/grub/normal.h'. Grouped prototypes by
9400 definition file, and functions defined in `normal/menu.c' have had
9401 their prototypes moved to `include/grub/menu.h' for consistency.
9402
9403 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
9404 from normal.h.
9405 (grub_menu_get_entry): Likewise.
9406 (grub_menu_get_timeout): Likewise.
9407 (grub_menu_set_timeout): Likewise.
9408 (grub_menu_execute_entry): Likewise.
9409 (grub_menu_execute_with_fallback): Likewise.
9410 (grub_menu_entry_run): Likewise.
9411
9412 * include/grub/normal.h: Re-ordered and grouped function
9413 prototypes by file that the function is defined in.
9414 (grub_menu_execute_callback): Removed; moved to menu.h.
9415 (grub_menu_get_entry): Likewise.
9416 (grub_menu_get_timeout): Likewise.
9417 (grub_menu_set_timeout): Likewise.
9418 (grub_menu_execute_entry): Likewise.
9419 (grub_menu_execute_with_fallback): Likewise.
9420 (grub_menu_entry_run): Likewise.
9421 (grub_menu_addentry): Renamed from this ...
9422 (grub_normal_add_menu_entry): ... to this.
9423
9424 * normal/main.c (grub_menu_addentry): Renamed from this ...
9425 (grub_normal_add_menu_entry): ... to this.
9426
9427 * script/sh/execute.c (grub_script_execute_menuentry): Update
9428 reference to renamed grub_menu_addentry function.
9429
861f03a5 94302009-05-23 Felix Zielcke <fzielcke@z-51.de>
9431
9432 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
9433
96b1619a 94342009-05-22 Pavel Roskin <proski@gnu.org>
9435
bf6a5fb2 9436 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
9437 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
9438 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
9439 compiling for the i386 targets, but not for the utilities.
9440
96b1619a 9441 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
9442 to grub_uint8_t.
9443 (grub_root_drive): Likewise.
9444 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
9445 remove alignment.
9446 (grub_root_drive): Change size to byte.
9447 (grub_start_addr): Remove.
9448 (grub_end_addr): Likewise.
9449 (grub_apm_bios_info): Likewise.
9450
b729776b 94512009-05-21 Felix Zielcke <fzielcke@z-51.de>
9452
9453 * normal/i386: Remove.
9454 * normal/powerpc: Likewise.
9455 * normal/sparc64: Likewise.
9456 * normal/x86_64: Likewise.
9457
0a15ce80 94582009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
9459
9460 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 9461 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 9462 * loader/i386/xnu_helper.S: Likewise
d6da58e6 9463
33db9015 94642009-05-18 Colin D Bennett <colin@gibibit.com>
9465
d6da58e6 9466 Display error messages when parsing a Lua statement fails.
9467 Previously, executing a syntactically invalid statement like
9468 ")foo" or "bar;" would silently fail.
33db9015 9469
9470 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 9471 (grub_lua_parse_line): Improved reporting of Lua parser and
9472 execution errors.
33db9015 9473
46422c89 94742009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9475
9476 Remove -Werror which causes build to fail on some systems
9477
9478 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
9479 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
9480 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 9481
22f53a96 94822009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
9483
9484 trampoline for linux on 64-bit platform
9485
18f547ad 9486 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
9487 loader/i386/efi/linux_trampoline.S
9488 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 9489 declaration
d6da58e6 9490 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
9491 here
22f53a96 9492 * loader/i386/linux_trampoline.S: moved here
d6da58e6 9493 * loader/i386/efi/linux.c (allocate_pages): reserve space for
9494 trampoline
22f53a96 9495 (jumpvector): removed
9496 (grub_linux_trampoline_start): new declaration
9497 (grub_linux_trampoline_end): likewise
9498 (grub_linux_boot): use trampoline when on 64-bit platform
9499 * loader/i386/linux.c: likewise
9500
cb5a0f40 95012009-05-16 Pavel Roskin <proski@gnu.org>
9502
9503 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
9504 const to avoid a warning.
9505 (grub_lua_setenv): Likewise.
9506 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
9507 lmsg to fix a warning.
9508
334f2c28 95092009-05-16 Felix Zielcke <fzielcke@z-51.de>
9510
9511 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 9512 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
9513 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
9514 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
9515 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
9516 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
9517 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
9518 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 9519
59e5d3ec 95202009-05-16 Felix Zielcke <fzielcke@z-51.de>
9521
9522 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
9523
9d87a1ba 95242009-05-16 Bean <bean123ch@gmail.com>
9525
9526 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
9527 (lua_mod_SOURCES): New variable.
9528 (lua_mod_CFLAGS): Likewise.
9529 (lua_mod_LDFLAGS): Likewise.
9530
9531 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
9532 (setjmp_mod_SOURCES): New variable.
9533 (setjmp_mod_CFLAGS): Likewise.
9534 (setjmp_LDFLAGS): Likewise.
9535
9536 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
9537 (setjmp_mod_SOURCES): New variable.
9538 (setjmp_mod_CFLAGS): Likewise.
9539 (setjmp_LDFLAGS): Likewise.
9540
9541 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
9542 (setjmp_mod_SOURCES): New variable.
9543 (setjmp_mod_CFLAGS): Likewise.
9544 (setjmp_LDFLAGS): Likewise.
9545
9546 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
9547 (setjmp_mod_SOURCES): New variable.
9548 (setjmp_mod_CFLAGS): Likewise.
9549 (setjmp_LDFLAGS): Likewise.
9550
9551 * normal/i386/setjmp.S: Moved from here ...
9552 * lib/i386/setjmp.S: ... Moved here
9553 * normal/x86_64/setjmp.S: Moved from here ...
9554 * lib/x86_64/setjmp.S: ... Moved here
9555 * normal/powerpc/setjmp.S: Moved from here ...
9556 * lib/powerpc/setjmp.S: ... Moved here
9557 * normal/sparc64/setjmp.S: Moved from here ...
9558 * lib/sparc64/setjmp.S: ... Moved here
9559
9560 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
9561 returns_twice in mingw.
9562
9563 * script/lua/grub_lib.c: New file.
9564 * script/lua/grub_lib.h: Likewise.
9565 * script/lua/grub_lua.h: Likewise.
9566 * script/lua/grub_main.c: Likewise.
9567 * script/lua/lapi.c: Likewise.
9568 * script/lua/lapi.h: Likewise.
9569 * script/lua/lauxlib.c: Likewise.
9570 * script/lua/lauxlib.h: Likewise.
9571 * script/lua/lbaselib.c: Likewise.
9572 * script/lua/lcode.c: Likewise.
9573 * script/lua/lcode.h: Likewise.
9574 * script/lua/ldblib.c: Likewise.
9575 * script/lua/ldebug.c: Likewise.
9576 * script/lua/ldebug.h: Likewise.
9577 * script/lua/ldo.c: Likewise.
9578 * script/lua/ldo.h: Likewise.
9579 * script/lua/ldump.c: Likewise.
9580 * script/lua/lfunc.c: Likewise.
9581 * script/lua/lfunc.h: Likewise.
9582 * script/lua/lgc.c: Likewise.
9583 * script/lua/lgc.h: Likewise.
9584 * script/lua/linit.c: Likewise.
9585 * script/lua/liolib.c: Likewise.
9586 * script/lua/llex.c: Likewise.
9587 * script/lua/llex.h: Likewise.
9588 * script/lua/llimits.h: Likewise.
9589 * script/lua/lmathlib.c: Likewise.
9590 * script/lua/lmem.c: Likewise.
9591 * script/lua/lmem.h: Likewise.
9592 * script/lua/loadlib.c: Likewise.
9593 * script/lua/lobject.c: Likewise.
9594 * script/lua/lobject.h: Likewise.
9595 * script/lua/lopcodes.c: Likewise.
9596 * script/lua/lopcodes.h: Likewise.
9597 * script/lua/loslib.c: Likewise.
9598 * script/lua/lparser.c: Likewise.
9599 * script/lua/lparser.h: Likewise.
9600 * script/lua/lstate.c: Likewise.
9601 * script/lua/lstate.h: Likewise.
9602 * script/lua/lstring.c: Likewise.
9603 * script/lua/lstring.h: Likewise.
9604 * script/lua/lstrlib.c: Likewise.
9605 * script/lua/ltable.c: Likewise.
9606 * script/lua/ltable.h: Likewise.
9607 * script/lua/ltablib.c: Likewise.
9608 * script/lua/ltm.c: Likewise.
9609 * script/lua/ltm.h: Likewise.
9610 * script/lua/lua.h: Likewise.
9611 * script/lua/luaconf.h: Likewise.
9612 * script/lua/lualib.h: Likewise.
9613 * script/lua/lundump.c: Likewise.
9614 * script/lua/lundump.h: Likewise.
9615 * script/lua/lvm.c: Likewise.
9616 * script/lua/lvm.h: Likewise.
9617 * script/lua/lzio.c: Likewise.
9618 * script/lua/lzio.h: Likewise.
9619
5e898c9d 96202009-05-16 Bean <bean123ch@gmail.com>
9621
9622 * include/grub/kernel.h (grub_module_header_types): Add type
9623 OBJ_TYPE_CONFIG.
9624
9625 * kern/main.c (grub_load_config): New function.
9626 (grub_main): Call grub_load_config to read boot config.
9627
9628 * grub-mkimage (generate_image): New parameter config_path.
9629 (options): New option --config.
9630 (main): Parse --config option, and pass it to generate_image.
9631
cf353a47 96322009-05-14 Christian Franke <franke@computer.org>
9633
9634 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
9635 This fixes build on Cygwin.
9636
3834887f 96372009-05-14 Pavel Roskin <proski@gnu.org>
9638
9639 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
9640 jump. This saves two bytes, so the typical case of 2 swapped
9641 drives would fit 32 bytes.
9642
8090fc01 96432009-05-13 Pavel Roskin <proski@gnu.org>
9644
ac963883 9645 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
9646 grub_uint32_t to avoid a warning.
9647
8090fc01 9648 * loader/i386/linux.c (allocate_pages): When assigning
9649 real_mode_mem, cast through grub_size_t to fix a warning. The
9650 code already makes sure that the value would fit a pointer.
9651 (grub_linux_setup_video): Cast render_target->data to
9652 grub_size_t to fix a warning.
9653
18f547ad 96542009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 9655
9656 * commands/i386/pc/drivemap.c: New file - implement drivemap
9657 command.
9658 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
9659 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
9660
6f6a8b28 96612009-05-13 Pavel Roskin <proski@gnu.org>
9662
9663 * util/i386/pc/grub-setup.c (setup): Remove unused variable
9664 embedding_area_exists.
9665
15fbf4c4 96662009-05-13 Robert Millan <rmh.grub@aybabtu.com>
9667
9668 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
9669 it easier to understand / work with.
59978c8a 9670 Improve warning messages for cases where there's no embedding area,
9671 or when it is too small (or core.img too large).
15fbf4c4 9672
238e871f 96732009-05-13 Pavel Roskin <proski@gnu.org>
9674
0ab3a9a4 9675 * loader/i386/pc/multiboot2.c: Add necessary includes for
9676 grub_multiboot2_real_boot().
9677
a2c8c5f8 9678 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
9679 PX record is always little-endian. We only need the lower 2
9680 bytes of the mode.
9681
faec96af 9682 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
9683 facilitate code reuse.
9684 (grub_cpio_mount): Use "struct head", not a char buffer. This
9685 fixes a warning reported by gcc 4.4.
9686
238e871f 9687 * kernel/disk.c (grub_disk_read): Use void pointer for the
9688 buffer.
9689 (grub_disk_write): Use const void pointer for the buffer.
9690 Adjust all callers. Remove unnecessary casts.
9691
901d2f0c 96922009-05-10 Robert Millan <rmh.grub@aybabtu.com>
9693
9694 * util/i386/pc/grub-install.in: Update copyright year.
9695
18f547ad 96962009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 9697
9698 gptsync
9699
9700 * commands/gptsync.c: new file
9701 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
9702 (gptsync_mod_SOURCES): new variable
9703 (gptsync_mod_CFLAGS): likewise
9704 (gptsync_mod_LDFLAGS): likewise
18f547ad 9705 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 9706 new definition
9707 (GRUB_PC_PARTITION_TYPE_HFS): likewise
9708 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
9709 * conf/i386-ieee1275.rmk: likewise
9710 * conf/i386-pc.rmk: likewise
9711 * conf/powerpc-ieee1275.rmk: likewise
9712
b4ba690a 97132009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
9714
9715 Fixed grub-emu
9716
9717 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
9718 (grub_dl_ref): likewise
9719
317e1a44 97202009-05-08 Robert Millan <rmh.grub@aybabtu.com>
9721
9722 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
9723 split in two functions (one for msdos and one for gpt).
9724
041b8094 97252009-05-08 Pavel Roskin <proski@gnu.org>
9726
752473c2 9727 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
9728 not modified.
9729
041b8094 9730 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
9731 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
9732 Initialize them with -1. Add sanity check for bad1. Eliminate
9733 nerr variable.
9734
172800ce 97352009-05-08 David S. Miller <davem@davemloft.net>
9736
9737 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
9738
29aa5e81 97392009-05-06 Robert Millan <rmh.grub@aybabtu.com>
9740
9741 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 9742 existence.
29aa5e81 9743
96613b62 97442009-05-05 Felix Zielcke <fzielcke@z-51.de>
9745
9746 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 9747 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 9748
eef73c8a 97492009-05-05 David S. Miller <davem@davemloft.net>
9750
9751 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
9752
119494b5 97532009-05-05 Pavel Roskin <proski@gnu.org>
9754
9755 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
9756 of grub_dl_ref() and grub_dl_unref().
9757 * commands/parttool.c: Remove preprocessor conditionals around
9758 grub_dl_ref() and grub_dl_unref().
9759 * fs/affs.c: Likewise.
9760 * fs/afs.c: Likewise.
9761 * fs/cpio.c: Likewise.
9762 * fs/ext2.c: Likewise.
9763 * fs/fat.c: Likewise.
9764 * fs/hfs.c: Likewise.
9765 * fs/hfsplus.c: Likewise.
9766 * fs/iso9660.c: Likewise.
9767 * fs/jfs.c: Likewise.
9768 * fs/minix.c: Likewise.
9769 * fs/ntfs.c: Likewise.
9770 * fs/reiserfs.c: Likewise.
9771 * fs/sfs.c: Likewise.
9772 * fs/udf.c: Likewise.
9773 * fs/ufs.c: Likewise.
9774 * fs/xfs.c: Likewise.
9775 * include/grub/dl.h: Likewise.
9776 * loader/xnu.c: Likewise.
9777
de5fd76e 97782009-05-04 Pavel Roskin <proski@gnu.org>
9779
9780 * commands/acpi.c: Remove unused variable my_mod.
9781 * partmap/amiga.c: Likewise.
9782 * partmap/apple.c: Likewise.
9783 * partmap/gpt.c: Likewise.
9784 * partmap/pc.c: Likewise.
9785 * partmap/sun.c: Likewise.
9786 * term/gfxterm.c: Likewise.
9787 * term/i386/pc/vesafb.c: Likewise.
9788 * term/i386/pc/vga.c: Likewise.
9789
983598ad 97902009-05-04 David S. Miller <davem@davemloft.net>
9791
9792 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
9793 pointer args to grub_ieee1275_get_property().
9794
8aadec43 9795 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
9796
9554b15e 9797 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
9798 devices, and do not traverse down under controller nodes.
9799
67e23c90 9800 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
9801 (grub_ofdisk_open): Use it to un-escape "," characters.
9802 * kern/disk.c (find_part_sep): New.
9803 (grub_disk_open): Use it to find the first non-escaped ','
9804 character in the disk name.
9805 * util/ieee1275/devicemap.c (escape_of_path): New.
9806 (grub_util_emit_devicemap_entry): Use it.
9807 * util/sparc64/ieee1275/grub-install.in: Update script to
9808 strip partition specifiers properly by not triggering on
9809 '\' escaped ',' characters.
9810
74bfdd2f 98112009-05-04 Robert Millan <rmh.grub@aybabtu.com>
9812
9813 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
9814 to 0x300.
9815 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
9816 resolutions.
9817 (linux_vesafb_modes): Add a lot of additional modes to the list (based
9818 on documentation from Wikipedia).
9819
4241d2b1 98202009-05-04 Pavel Roskin <proski@gnu.org>
9821
9822 * disk/ata.c: Spelling fixes.
9823 * disk/raid.c: Likewise.
9824 * disk/usbms.c: Likewise.
9825 * disk/dmraid_nvidia.c: Likewise.
9826 * kern/ieee1275/openfw.c: Likewise.
9827 * kern/ieee1275/init.c: Likewise.
9828 * kern/ieee1275/cmain.c: Likewise.
9829 * boot/i386/pc/cdboot.S: Likewise.
9830 * video/readers/png.c: Likewise.
9831 * video/i386/pc/vbe.c: Likewise.
9832 * fs/udf.c: Likewise.
9833 * fs/hfs.c: Likewise.
9834 * fs/reiserfs.c: Likewise.
9835 * efiemu/runtime/efiemu.c: Likewise.
9836 * efiemu/main.c: Likewise.
9837 * efiemu/mm.c: Likewise.
9838 * include/grub/elf.h: Likewise.
9839 * include/grub/xnu.h: Likewise.
9840 * include/grub/usbdesc.h: Likewise.
9841 * include/grub/usb.h: Likewise.
9842 * include/grub/script_sh.h: Likewise.
9843 * include/grub/lib/LzmaEnc.h: Likewise.
9844 * include/grub/efiemu/efiemu.h: Likewise.
9845 * include/grub/command.h: Likewise.
9846 * normal/menu.c: Likewise.
9847 * normal/main.c: Likewise.
9848 * normal/datetime.c: Likewise.
9849 * bus/usb/uhci.c: Likewise.
9850 * mmap/i386/uppermem.c: Likewise.
9851 * mmap/mmap.c: Likewise.
9852 * commands/acpi.c: Likewise.
9853 * commands/test.c: Likewise.
9854 * partmap/apple.c: Likewise.
9855 * font/font.c: Likewise.
9856 * loader/sparc64/ieee1275/linux.c: Likewise.
9857 * loader/macho.c: Likewise.
9858 * loader/i386/bsd_trampoline.S: Likewise.
9859 * loader/i386/bsd.c: Likewise.
9860 * loader/xnu.c: Likewise.
9861 * term/i386/pc/vesafb.c: Likewise.
9862 * term/usb_keyboard.c: Likewise.
9863 * util/resolve.c: Likewise.
9864 * util/getroot.c: Likewise.
9865
0cfc0083 98662009-05-04 Felix Zielcke <fzielcke@z-51.de>
9867
9868 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
9869
7c1d00cd 98702009-05-04 Robert Millan <rmh.grub@aybabtu.com>
9871
9872 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
9873 build error.
9874
b01f0548 98752009-05-04 Robert Millan <rmh.grub@aybabtu.com>
9876
9877 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
9878 parameter only available on BIOS.
9879
ecc3eb22 98802009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9881
9882 Removed wrong semicolon in declaration
9883
9884 * grub/misc.h (grub_dprintf): remove semicolon
9885
112972a9 98862009-05-04 Robert Millan <rmh.grub@aybabtu.com>
9887
9888 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
9889 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
9890 is done by grub_cmd_linux() now).
9891 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
9892 restore video to text mode.
9893 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
9894 indicates lack of "vga=" parameter. "vga=0" is mapped to
9895 `GRUB_LINUX_VID_MODE_NORMAL'.
9896
afd5c115 98972009-05-04 Felix Zielcke <fzielcke@z-51.de>
9898
9899 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
9900 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
9901 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 9902 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 9903 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
9904 `grub_script.tab.c'.
9905
9906 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9907 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9908 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9909 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
9910 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9911
faa517ce 9912 * Makefile.in: Remove duplicated 2008 in Copyright line.
9913
ae0c0bdc 99142009-05-04 Robert Millan <rmh.grub@aybabtu.com>
9915
473d1e45 9916 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 9917 unconditionally.
9918 * include/grub/util/misc.h (grub_util_warn): New declaration.
9919
9920 * util/i386/pc/grub-install.in: Understand --force and pass it down
9921 to grub-setup.
9922
9923 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
9924 down to setup().
9925 (setup): Improve error messages and add warnings when requested to
9926 install in odd layouts. Refuse to install using blocklists unless
9927 --force was set.
9928
18f547ad 99292009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 9930
9931 * disk/raid.c (grub_raid_scan_device): Improve debug message.
9932
6d260daa 99332009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9934
9935 Updated copyright year
9936
9937 * fs/hfsplus.c: updated copyright year
18f547ad 9938
69f853f8 99392009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
9940
9941 HFS+ UUID
9942
18f547ad 9943 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 9944 in the space previously used by unused3
9945 (grub_hfsplus_uuid): new function
9946 (grub_hfsplus_fs): added uuid field
9947
4c402e73 99482009-05-03 Pavel Roskin <proski@gnu.org>
9949
9950 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
9951 suppress warnings. It's no longer needed.
9952 * disk/host.c: Likewise.
9953 * disk/ata_pthru.c: Likewise.
9954 * disk/loopback.c: Likewise.
9955 * hook/datehook.c: Likewise.
9956 * parttool/pcpart.c: Likewise.
9957 * fs/i386/pc/pxe.c: Likewise.
9958 * fs/ntfscomp.c: Likewise.
9959 * efiemu/main.c: Likewise.
9960 * mmap/mmap.c: Likewise.
9961 * commands/crc.c: Likewise.
9962 * commands/hexdump.c: Likewise.
9963 * commands/hdparm.c: Likewise.
9964 * commands/acpi.c: Likewise.
9965 * commands/echo.c: Likewise.
9966 * commands/minicmd.c: Likewise.
9967 * commands/blocklist.c: Likewise.
9968 * commands/memrw.c: Likewise.
9969 * commands/loadenv.c: Likewise.
9970 * commands/usbtest.c: Likewise.
9971 * commands/lsmmap.c: Likewise.
9972 * commands/boot.c: Likewise.
9973 * commands/parttool.c: Likewise.
9974 * commands/configfile.c: Likewise.
9975 * commands/search.c: Likewise.
9976 * commands/ieee1275/suspend.c: Likewise.
9977 * commands/cat.c: Likewise.
9978 * commands/i386/pc/pxecmd.c: Likewise.
9979 * commands/i386/pc/play.c: Likewise.
9980 * commands/i386/pc/halt.c: Likewise.
9981 * commands/i386/pc/vbeinfo.c: Likewise.
9982 * commands/i386/pc/vbetest.c: Likewise.
9983 * commands/lspci.c: Likewise.
9984 * commands/date.c: Likewise.
9985 * commands/handler.c: Likewise.
9986 * commands/ls.c: Likewise.
9987 * commands/test.c: Likewise.
9988 * commands/cmp.c: Likewise.
9989 * commands/efi/loadbios.c: Likewise.
9990 * commands/efi/fixvideo.c: Likewise.
9991 * commands/halt.c: Likewise.
9992 * commands/help.c: Likewise.
9993 * commands/reboot.c: Likewise.
9994 * hello/hello.c: Likewise.
9995 * script/sh/main.c: Likewise.
9996 * loader/xnu.c: Likewise.
9997 * term/terminfo.c: Likewise.
9998 * term/i386/pc/serial.c: Likewise.
9999 * term/usb_keyboard.c: Likewise.
10000
515b5079 100012009-05-03 David S. Miller <davem@davemloft.net>
10002
10003 * normal/menu.c: Include grub/parser.h
10004
dfc31a22 100052009-05-03 Pavel Roskin <proski@gnu.org>
10006
2fee74f1 10007 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
10008 not char*.
10009 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
10010 Suggested by Javier Martín <lordhabbit@gmail.com>
10011
dfc31a22 10012 * util/i386/pc/grub-mkrescue.in: Allow for the case when
10013 efiemu??.o doesn't exist.
10014 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
10015 copying.
10016
18f547ad 100172009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 10018
10019 FreeBSD 64-bit support
10020
18f547ad 10021 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 10022 and loader/i386/bsd_trampoline.S
10023 (bsd_mod_ASFLAGS): new variable
10024 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
10025 (FREEBSD_MODTYPE_KERNEL64): likewise
10026 (grub_bsd64_trampoline_start): likewise
10027 (grub_bsd64_trampoline_end): likewise
10028 (grub_bsd64_trampoline_selfjump): likewise
10029 (grub_bsd64_trampoline_gdt): likewise
10030 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
10031 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
10032 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
10033 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 10034 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 10035 of "attrib" member
10036 * loader/i386/bsd_pagetable.c: new file
10037 * loader/i386/bsd_trampoline.S: likewise
10038 * loader/i386/bsd.c (ALIGN_QWORD): new macro
10039 (ALIGN_VAR): likewise
10040 (entry_hi): new variable
10041 (kern_end_mdofs): likewise
10042 (is_64bit): likewise
10043 (grub_freebsd_add_meta): use ALIGN_VAR
10044 (grub_e820_mmap): new declaration
10045 (grub_freebsd_add_mmap): new function
10046 (grub_freebsd_add_meta_module): support 64 bit kernels
10047 (grub_freebsd_list_modules): use ALIGN_VAR
10048 (gdt_descriptor): new declaration
10049 (grub_freebsd_boot): support 64 bit kernels
10050 (grub_bsd_elf64_hook): new function
10051 (grub_bsd_load_elf): support elf64
10052
038c5720 100532009-05-03 Bean <bean123ch@gmail.com>
10054
10055 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
10056 after we get the result of if statement.
10057
fc45fb58 100582009-05-03 Bean <bean123ch@gmail.com>
10059
10060 * Makefile.in (enable_efiemu): New variable.
10061
10062 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
10063 set.
10064 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
10065 path.
10066 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
10067 path, add -mno-red-zone option.
10068 (efiemu64_s.o): Likewise.
10069 (efiemu64.o): Use macro $^ for source file.
10070
10071 * configure.ac (--enable-efiemu): New option.
10072
bbee0f2b 100732009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
10074
10075 xnu support
10076
10077 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
10078 (pkglib_MODULES): add xnu.mod
10079 (xnu_mod_SOURCES): new variable
10080 (xnu_mod_CFLAGS): likewise
10081 (xnu_mod_LDFLAGS): likewise
10082 (xnu_mod_ASFLAGS): likewise
10083 * conf/i386-pc.rmk: likewise
10084 * conf/x86_64-efi.rmk: likewise
7dd4a573 10085 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 10086 new declaration
10087 * include/grub/i386/macho.h: new file
10088 * include/grub/i386/xnu.h: likewise
10089 * include/grub/macho.h: likewise
10090 * include/grub/machoload.h: likewise
10091 * include/grub/x86_64/macho.h: likewise
10092 * include/grub/x86_64/xnu.h: likewise
10093 * include/grub/xnu.h: likewise
10094 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
10095 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
10096 * loader/i386/efi/xnu.c: new file
10097 * loader/i386/pc/xnu.c: likewise
10098 * loader/i386/xnu.c: likewise
10099 * loader/i386/xnu_helper.S: likewise
10100 * loader/macho.c: likewise
10101 * loader/xnu.c: likewise
10102 * loader/xnu_resume.c: likewise
10103 * util/grub-dumpdevtree: likewise
10104 * include/grub/i386/pit.h: include grub/err.h
10105 (grub_pit_wait): export
10106 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 10107
5caf964d 101082009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10109
10110 Efiemu
7dd4a573 10111
5caf964d 10112 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 10113 _linux_efi, linux_efi.
10114 new files in grub-emu
5caf964d 10115 new targets efiemu32.o and efiemu64.o
10116 * loader/linux_normal_efiemu.c: likewise
10117 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 10118 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 10119 files to copy
10120 * include/grub/autoefi.h: new file
7dd4a573 10121 * include/grub/i386/efiemu.h: likewise
5caf964d 10122 * include/grub/i386/pc/efiemu.h: likewise
10123 * include/grub/efi/api.h: add LL suffix when necessary
10124 new definitions relating to tables
10125 * include/grub/efiemu/efiemu.h: new file
10126 * include/grub/efiemu/runtime.h: likewise
10127 * efiemu/prepare.c: likewise
10128 * efiemu/loadcore_common.c: likewise
10129 * efiemu/loadcore64.c: likewise
10130 * efiemu/runtime/efiemu.sh: likewise
10131 * efiemu/runtime/efiemu.S: likewise
10132 * efiemu/runtime/efiemu.c: likewise
10133 * efiemu/runtime/config.h: likewise
10134 * efiemu/prepare32.c: likewise
10135 * efiemu/main.c: likewise
10136 * efiemu/modules/pnvram.c: likewise
10137 * efiemu/modules/i386: likewise
10138 * efiemu/modules/i386/pc: likewise
10139 * efiemu/modules/acpi.c: likewise
10140 * efiemu/i386/pc/cfgtables.c: likewise
10141 * efiemu/i386/loadcore64.c: likewise
10142 * efiemu/i386/loadcore32.c: likewise
10143 * efiemu/prepare64.c: likewise
10144 * efiemu/loadcore.c: likewise
10145 * efiemu/symbols.c: likewise
10146 * efiemu/mm.c: likewise
10147 * efiemu/loadcore32.c: likewise
7dd4a573 10148
101492009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 10150
10151 ACPI spoofing
10152
10153 * commands/acpi.c: new file
10154 * commands/i386/pc/acpi.c: likewise
10155 * commands/efi/acpi.c: likewise
10156 * include/grub/acpi.h: likewise
10157 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
10158 (acpi_mod_SOURCES): new variable
10159 (acpi_mod_CFLAGS): likewise
10160 (acpi_mod_LDFLAGS): likewise
10161 * conf/i386-efi.rmk: likewise
10162 * conf/x86_64-efi.rmk: likewise
10163
7dd4a573 101642009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 10165
10166 Missing part from mmap patch
10167
10168 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
10169 (grub_mmap_unregister)
10170 (grub_mmap_free_and_unregister): use grub_mmap_register
10171
7dd4a573 101722009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 10173
10174 Mmap services
10175
10176 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
10177 * loader/i386/linux.c (find_mmap_size): likewise
10178 (allocate_pages): likewise
10179 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
10180 (grub_fill_multiboot_mmap): likewise
10181 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
10182 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
10183 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
10184 (OPENBSD_MMAP_RESERVED): likewise
10185 * include/grub/i386/pc/memory.h: include grub/memory.h
10186 (grub_lower_mem): removed
10187 (grub_upper_mem): likewise
10188 (GRUB_MACHINE_MEMORY_ACPI): new definition
10189 (GRUB_MACHINE_MEMORY_NVS): likewise
10190 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
10191 (GRUB_MACHINE_MEMORY_HOLE): likewise
10192 (grub_machine_mmap_register): likewise
10193 (grub_machine_mmap_unregister): likewise
10194 (grub_machine_get_upper): likewise
10195 (grub_machine_get_lower): likewise
10196 (grub_machine_get_post64): likewise
10197 * include/grub/i386/efi/memory.h: new file
10198 * include/grub/x86_64/efi/memory.h: likewise
10199 * include/grub/efi/memory.h: likewise
10200 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
10201 (mmap_mod_SOURCES): new variable
10202 (mmap_mod_LDFLAGS): likewise
10203 (mmap_mod_ASFLAGS): likewise
10204 * conf/i386-coreboot.rmk: likewise
10205 * conf/i386-ieee1275.rmk: likewise
10206 * conf/i386-efi.rmk: likewise
10207 * conf/x86_64-efi.rmk: likewise
10208 * include/grub/types.h (UINT_TO_PTR): new macro
10209 (PTR_TO_UINT32): likewise
10210 (PTR_TO_UINT64): likewise
10211 * include/grub/memory.h: new file
10212 * mmap/i386/pc/mmap.c: likewise
10213 * mmap/i386/pc/mmap_helper.S: likewise
10214 * mmap/i386/uppermem.c: likewise
10215 * mmap/mmap.c: likewise
10216 * mmap/efi/mmap.c: likewise
7dd4a573 10217 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 10218 grub_upper_mem
10219 * kern/i386/pc/init.c (grub_lower_mem): removed variable
10220 (grub_upper_mem): likewise
10221 (grub_machine_init): don't use grub_upper_mem,
10222 make grub_lower_mem local
10223 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
10224 grub_mmap_iterate and grub_mmap_get_upper
10225 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
10226
d558e6b5 102272009-05-02 Bean <bean123ch@gmail.com>
10228
10229 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
10230 script/sh/parser.y.
10231 (pkglib_MODULES): Add normal.mod and sh.mod.
10232 (normal_SOURCES): New variable.
10233 (normal_mod_CFLAGS): Likewise.
10234 (normal_mod_LDFLAGS): Likewise.
10235 (sh_mod_SOURCES): Likewise.
10236 (sh_mod_CFLAGS): Likewise.
10237 (sh_mod_LDFLAGS): Likewise.
10238
10239 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
10240 script/sh/lexer.c_DEPENDENCIES.
10241 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
10242 kern/rescue_reader.c and kern/rescue_parser.c.
10243 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
10244 (grub_emu_SOURCES): Change source files.
10245 (pkglib_MODULES): Remove normal.mod.
10246 (normal_SOURCES): Removed.
10247 (normal_mod_CFLAGS): Likewise.
10248 (normal_mod_LDFLAGS): Likewise.
10249 * conf/i386-coreboot.rmk: Likewise.
10250 * conf/i386-efi.rmk: Likewise.
10251 * conf/i386-ieee1276.rmk: Likewise.
10252 * conf/powerpc-ieee1275.rmk: Likewise.
10253 * conf/sparc64-ieee1275.rmk: Likewise.
10254 * conf/x86_64-efi.rmk: Likewise.
10255
10256 * include/grub/command.h (grub_command_execute): New inline function.
10257
10258 * include/grub/menu.h (grub_menu_entry): Removed commands field.
10259
10260 * include/grub/normal.h: Remove <grub/setjmp.h>.
10261 (grub_fs_module_list): Moved to normal/autofs.c.
10262 (grub_exit_env): Removed.
10263 (grub_command_execute): Likewise.
10264 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
10265 parameter script.
10266 (read_command_list): New function declaration.
10267 (read_fs_list): Likewise.
10268
10269 * include/parser.h: Include <grub/reader.h>.
10270 (grub_parser_split_cmdline): Change type of getline parameter.
10271 (grub_parser): New structure.
10272 (grub_parser_class): New variable.
10273 (grub_parser_execute): New function declaration.
10274 (grub_register_rescue_parser): Likewise.
10275 (grub_parser_register): New inline function.
10276 (grub_parser_unregister): Likewise.
10277 (grub_parser_get_current): Likewise.
10278 (grub_parser_set_current): Likewise.
10279
10280 * include/grub/reader.h: New file.
10281 * kern/reader.c: Likewise.
10282 * kern/rescue_parser.c: Likewise.
10283 * kern/rescue_reader.c: Likewise.
10284 * normal/autofs.c: Likewise.
10285 * normal/dyncmd.c: Likewise.
10286
10287 * include/grub/rescue.h: Removed.
10288 * normal/command.h: Likewise.
10289
10290 * include/grub/script.h: Moved to ...
10291 * include/grub/script_sh.h: ... Moved here.
10292 * normal/execute.c: Moved to ...
10293 * script/sh/execute.c: ... Moved here.
10294 * normal/function.c: Moved to ...
10295 * script/sh/function.c: ... Moved here.
10296 * normal/lexer.c: Moved to ...
10297 * script/sh/lexer.c: ... Moved here.
10298 * normal/parser.y: Moved to ...
10299 * script/sh/parser.y: ... Moved here.
10300 * normal/script.c: Moved to ...
10301 * script/sh/script.c: ... Moved here.
10302
10303 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
10304 <grub/reader.h>.
10305 (grub_exit_env): Removed.
10306 (fs_module_list): Moved to normal/autofs.c.
10307 (grub_file_getline): Don't handle comment here.
10308 (free_menu): Skip removed field entry->commands.
10309 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
10310 script parameter.
10311 (read_config_file): Removed nested parameter, change getline function.
10312 (grub_enter_normal_mode): Removed.
10313 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
10314 (read_command_list): Likewise.
10315 (autoload_fs_module): Moved to normal/autofs.c.
10316 (read_fs_list): Likewise.
10317 (reader_nested): New variable.
10318 (grub_normal_execute): Run parser.sh to switch to sh parser.
10319 (grub_cmd_rescue): Removed.
10320 (cmd_normal): Removed.
10321 (grub_cmd_normal): Unregister itself at the beginning. Don't register
10322 rescue command.
10323 (grub_cmdline_run): New function.
10324 (grub_normal_reader_init): Likewise.
10325 (grub_normal_read_line): Likewise.
10326 (grub_env_write_pager): Likewise.
10327 (cmdline): New variable.
10328 (grub_normal_reader): Likewise.
10329 (GRUB_MOD_INIT): Register normal reader and set as current, register
10330 pager hook, register normal command with grub_register_command_prio,
10331 so that it won't show up in command.lst.
10332 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
10333 grub_fs_autoload_hook.
10334
10335 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
10336 (grub_menu_execute_entry): Replace grub_script_execute with
10337 grub_parser_execute, change parameter to grub_command_execute.
10338
10339 * normal/menu_text.c: Remove <grub/script.h>.
10340
10341 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
10342 and <grub/parser.h>.
10343 (run): Change editor_getline to use new parser interface. Change
10344 parameter to grub_command_execute.
10345
10346 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
10347 <grub/reader.h> and <grub/parser.h>.
10348 (grub_load_normal_mode): Execute normal command.
10349 (grub_main): Call grub_register_core_commands,
10350 grub_register_rescue_parser and grub_register_rescue_reader, use
10351 grub_reader_loop to enter input loop.
10352
7dd4a573 10353 * kern/parser.c (grub_parser_split_cmdline): Change type of
10354 getline parameter.
d558e6b5 10355 (grub_parser_class): New variable.
10356 (grub_parser_execute): New function.
10357
10358 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
10359 * loader/multiboot2.c: Likewise.
10360 * loader/sparc64/ieee1275/linux.c: Likewise.
10361
10362 * util/grub-emu.c (read_command_list): New dummy function.
10363
18db813d 103642009-05-02 Robert Millan <rmh.grub@aybabtu.com>
10365
10366 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
10367 count to 16 for CCISS and IDA.
10368
6c67de15 103692009-05-02 Robert Millan <rmh.grub@aybabtu.com>
10370
10371 * normal/menu_text.c (grub_wait_after_message): Print a newline
10372 after waiting for user input.
10373
10374 * loader/i386/linux.c: Include `<grub/normal.h>'.
10375 (grub_cmd_linux): Improve the error message about `ask' mode, by
10376 waiting for user input so it's not missed (we can do this, since
10377 user requested interaction).
10378
d9dc87b0 103792009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
10380
10381 Added missing lst to grub-mkrescue
10382
10383 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
10384 and ${input_dir}/parttool.lst
10385
ac8a2baa 103862009-04-30 David S. Miller <davem@davemloft.net>
10387
ad22a610 10388 * util/hostdisk.c (device_is_wholedisk): New function.
10389 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
10390 zero only if device_is_wholedisk() returns true.
10391
6966215d 10392 * util/hostdisk.c (convert_system_partition_to_system_disk):
10393 Handle virtual disk devices named /dev/vdiskX as found on sparc
10394 and powerpc.
10395
ac8a2baa 10396 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
10397 lettered partition specifier is found, convert to numbered.
10398
979b4fb4 103992009-04-29 David S. Miller <davem@davemloft.net>
10400
e2bf39b2 10401 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
10402 * include/grub/sparc64/ieee1275/memory.h: Likewise.
10403
3c64e104 10404 * normal/command.c: Add missing newline at end of file.
10405
979b4fb4 10406 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
10407 warnings.
10408 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
10409 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
10410 grub_ofdisk_read): Likewise, and deal similarly with the fact that
10411 ihandles have a 32-bit type but need to be stored in a "void *".
10412
136d9f82 104132009-04-28 Pavel Roskin <proski@gnu.org>
10414
9459c306 10415 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
10416 not disk. Adjust all dependencies.
2e08a26a 10417 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 10418 grub_disk_close().
10419
136d9f82 10420 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
10421 parent's partition, don't copy it by reference, as it gets freed
10422 on close.
10423
7dd4a573 104242009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 10425
10426 Preboot hooks support
10427
10428 * commands/boot.c (struct grub_preboot_t): new declaration
10429 (preboots_head): new variable
10430 (preboots_tail): likewise
10431 (grub_loader_register_preboot_hook): new function
10432 (grub_loader_unregister_preboot_hook): likewise
10433 (grub_loader_set): launch preboot hooks
10434 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
10435 (grub_loader_register_preboot_hook): new declaration
10436 (grub_loader_unregister_preboot_hook): likewise
10437
5af922b5 104382009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
10439
10440 Warning fix
10441
7dd4a573 10442 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 10443 calling grub_dprintf
10444
a5562c30 104452009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
10446
10447 Bug and warning fixes
10448
7dd4a573 10449 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 10450 declaration
10451 * commands/test.c (test_parse): fixed bug with file tests and corrected
10452 declaration of find_file
10453
4006f85c 104542009-04-26 Pavel Roskin <proski@gnu.org>
10455
10456 * Makefile.in: Don't install empty manual pages if help2man is
10457 missing. Use help2man option for output, not shell redirection.
10458
5c77c3de 104592009-04-26 David S. Miller <davem@davemloft.net>
10460
10461 * util/grub-mkdevicemap.c (make_device_map): Add missing
10462 NESTED_FUNC_ATTR to process_device().
10463
033b10a8 104642009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10465
10466 Test command
10467
10468 * commands/test.c: rewritten to use bash-like test
10469
e4343593 104702009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
10471
10472 Parttool autoloading and improvements
10473
7dd4a573 10474 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 10475 (parttool.lst): new target
10476 * genmk.rb: generate parttool-*
10477 (CLEANFILES): add #{parttool}
10478 (PARTTOOLFILES): new variable
10479 * genparttoollist.sh: new file
7dd4a573 10480 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 10481 (grub_pcpart_type): likewise
10482 * commands/parttool.c (helpmsg): new variable
10483 (grub_cmd_parttool): output help if not enough arguments are supplied
10484 autoload modules
10485 (GRUB_MOD_INIT(parttool)): use helpmsg
10486
0d312500 104872009-04-24 David S. Miller <davem@davemloft.net>
10488
7dd4a573 10489 Avoiding opening same device multiple times in device iterator.
0d312500 10490
10491 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 10492 and use it to build a list of partitions in iterate_disk() and
0d312500 10493 iterate_partition().
10494
ac20caff 10495 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
10496 on disk->data.
10497
0dcf7495 10498 * disk/ieee1275/nand.c (grub_nand_iterate): Return
10499 grub_devalias_iterate() result instead of unconditional 0.
10500 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
10501 Also, capture hook return value, either directly or via
10502 grub_children_iterate(), and propagate to caller.
10503 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
10504 grub_children_iterate): Return value is now 'int' instead of
10505 'grub_err_t'.
10506 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
10507 like a proper iterator, stopping when hooks return non-zero.
10508 (grub_devalias_iterate): Likewise.
10509
c8c08833 105102009-04-23 David S. Miller <davem@davemloft.net>
10511
10512 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
10513
f01005a8 105142009-04-22 David S. Miller <davem@davemloft.net>
10515
10516 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
10517 is larger than address_cells, use that value for address_cells too.
10518
4e8269da 10519 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
10520 IEEE1275_MAX_PATH_LEN): Define.
10521 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
10522 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
10523 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
10524 'devtype'. Explicitly NULL terminate devalias expansion.
10525
a1447506 10526 * util/sparc64/ieee1275/misc.c: New file.
10527 * util/sparc64/ieee1275/grub-setup.c: New file.
10528 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
10529 * util/sparc64/ieee1275/grub-mkimage.c: New file.
10530 * util/sparc64/ieee1275/grub-install.in: New file.
10531 * util/ieee1275/ofpath.c: New file.
10532 * util/ieee1275/devicemap.c: New file.
10533 * util/devicemap.c: New file.
10534 * util/deviceiter.c: New file.
10535 * kern/sparc64/ieee1275/init.c: New file.
10536 * include/grub/util/ofpath.h: New file.
10537 * include/grub/util/deviceiter.h: New file.
10538 * util/grub-mkdevicemap.c: Include deviceiter.h.
10539 Implement using grub_util_emit_devicemap_entry and
10540 grub_util_iterate_devices.
10541 * conf/i386-corebook.rmk: Build util/deviceiter.c and
10542 util/devicemap.c into grub-mkdevicemap
10543 * conf/i386-efi.rmk: Likewise.
10544 * conf/i386-ieee1275.rmk: Likewise.
10545 * conf/i386-pc.rmk: Likewise.
10546 * conf/powerpc-ieee1275.rmk: Likewise.
10547 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
10548 images and installation utilities. Build kernel as image
10549 instead of as elf binary. Use common rules as much as possible.
10550
7dd4a573 105512009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 10552
10553 Correct GPT definition
10554
7dd4a573 10555 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 10556 of "attrib" member
10557
c6c5219f 105582009-04-19 Felix Zielcke <fzielcke@z-51.de>
10559
10560 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
10561
0552ff9f 105622009-04-19 David S. Miller <davem@davemloft.net>
10563
10564 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
10565 (grub_rescue_cmd_linux): Rename to...
10566 (grub_cmd_linux): and fix prototype.
10567 (grub_rescue_cmd_initrd): Rename to...
10568 (grub_cmd_initrd): and fix prototype.
10569 (cmd_linux, cmd_initrd): New.
10570 (GRUB_MOD_INIT(linux)): Use grub_register_command().
10571 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
10572
d1a282fc 105732009-04-17 Pavel Roskin <proski@gnu.org>
10574
07c5039f 10575 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
10576 format.
10577 (grub_ohci_transfer): Likewise.
10578
b012002d 10579 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
10580
1bc09c35 10581 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
10582 return without a value. Fix inconsistent indentation.
10583
e0ff9126 10584 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
10585 match struct grub_fs.
10586
d1a282fc 10587 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
10588 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
10589 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
10590 * commands/lspci.c (grub_lspci_iter): Likewise.
10591
a96df3f2 105922009-04-16 Bean <bean123ch@gmail.com>
10593
10594 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
10595 value.
10596
41bb0fe9 105972009-04-15 Pavel Roskin <proski@gnu.org>
10598
10599 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
10600 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
10601 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
10602 definitions.
10603
596c6970 106042009-04-15 Felix Zielcke <fzielcke@z-51.de>
10605
10606 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 10607 that no multiple data or metadata areas are supported and `Unknown
596c6970 10608 metadata header'.
10609
7dd4a573 106102009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 10611
10612 Move loader out of the kernel
10613
10614 * kern/loader.c: moved to ...
10615 * commands/boot.c: ... moved here
10616 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
10617 * commands/boot.c (grub_cmd_boot): moved here. All users updated
10618 * include/grub/kernel.h (grub_machine_fini): export
10619 * include/grub/loader.h (grub_loader_is_loaded): update declaration
10620 (grub_loader_set): likewise
10621 (grub_loader_unset): likewise
10622 (grub_loader_boot): likewise
10623 * conf/common.rmk: new module boot.mod
10624 (pkglib_MODULES): add boot.mod
10625 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
10626 (grub_emu_SOURCES): likewise
10627 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
10628 (grub_emu_SOURCES): likewise
10629 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
10630 (grub_emu_SOURCES): likewise
10631 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
10632 (grub_emu_SOURCES): likewise
10633 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
10634 (grub_emu_SOURCES): likewise
7dd4a573 10635 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
10636 (grub_emu_SOURCES): likewise
0d5d5653 10637 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 10638 (grub_emu_SOURCES): likewise
0d5d5653 10639
7dd4a573 106402009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 10641
10642 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 10643
5999d619 10644 * kern/misc.c (grub_itoa): Removed function
10645 (grub_ltoa): likewise
10646 (grub_vsprintf): use grub_lltoa
10647
7dd4a573 106482009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 10649
10650 Restore grub-emu
10651
10652 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
10653 * conf/i386-coreboot.rmk: likewise
10654 * conf/i386-ieee1275.rmk: likewise
10655 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 10656
20318222 106572009-04-15 Felix Zielcke <fzielcke@z-51.de>
10658
10659 * INSTALL: Add that `./autogen.sh' needs to be run before
10660 `./configure.'.
10661
d05f0df3 106622009-04-14 Bean <bean123ch@gmail.com>
10663
10664 * Makefile.in (pkglib_DATA): Add handler.lst.
10665 (handler.lst): New rule.
10666
10667 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
10668 * conf/i386-coreboot.rmk: Likewise.
10669 * conf/i386-ieee1275.rmk: Likewise.
10670 * conf/i386-efi.rmk: Likewise.
10671 * conf/x86_64-efi.rmk: Likewise.
10672 * conf/powerpc-ieee1275.rmk: Likewise.
10673 * conf/sparc64-ieee1275.rmk: Likewise.
10674
10675 * genhandlerlist.sh: New file.
10676
10677 * genmk.rb: Add rules to generate handler.lst.
10678
10679 * include/grub/normal.h (grub_file_getline): New function definition.
10680 (read_handler_list): Likewise.
10681 (free_handler_list): Likewise.
10682
10683 * include/grub/term.h (grub_term_register_input): Add name parameter
10684 for auto generation of handler.lst.
10685 (grub_term_register_output): Likewise.
10686
10687 * normal/handler.c: New file.
10688
10689 * normal/main.c (get_line): Renamed to grub_file_getline.
10690 (read_config_file): Use the newly renamed grub_file_getline.
10691 (read_command_list): Likewise.
10692 (read_fs_list): Likewise.
10693 (grub_normal_execute): Call read_handler_list to parse handler.lst.
10694 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
10695
10696 * term/efi/console.c (grub_console_init): Add name parameter for auto
10697 generation of handler.lst.
10698 * term/gfxterm.c: Likewise.
10699 * term/i386/pc/at_keyboard.c: Likewise.
10700 * term/i386/pc/console.c: Likewise.
10701 * term/i386/pc/serial.c: Likewise.
10702 * term/i386/pc/vesafb.c: Likewise.
10703 * term/i386/pc/vga.c: Likewise.
10704 * term/i386/pc/vga_text.c: Likewise.
10705 * term/ieee1275/ofconsole.c: Likewise.
10706 * term/usb_keyboard.c: Likewise.
10707
33c846be 107082009-04-14 Bean <bean123ch@gmail.com>
10709
10710 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
10711 properly with null character.
10712
4484e01e 107132009-04-14 Felix Zielcke <fzielcke@z-51.de>
10714
10715 * configure: Remove.
10716 * config.h.in: Likewise.
f93d668e 10717 * stamp-h.in: Likewise.
4484e01e 10718 * DISTLIST: Likewise.
10719 * conf/common.mk: Likewise.
10720 * conf/i386-coreboot.mk: Likewise.
10721 * conf/i386-efi.mk: Likewise.
10722 * conf/i386-ieee1275.mk: Likewise.
10723 * conf/i386.mk: Likewise.
10724 * conf/i386-pc.mk: Likewise.
10725 * conf/powerpc-ieee1275.mk: Likewise.
10726 * conf/sparc64-ieee1275.mk: Likewise.
10727 * conf/x86_64-efi.mk: Likewise.
10728
10729 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
10730 develop on GRUB.
10731
7dd4a573 107322009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 10733 David S. Miller <davem@davemloft.net>
10734
10735 * util/hostdisk.c (make_device_name): Fix buffer length
10736 calculations.
10737
e25b5a8c 107382009-04-14 Felix Zielcke <fzielcke@z-51.de>
10739
10740 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
10741 <sys/param.h> and <sys/sysctl.h>.
10742 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
10743 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
10744 opening the device and reset them afterwards.
10745
1f1f580c 107462009-04-13 Pavel Roskin <proski@gnu.org>
10747
10748 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
10749 Reported by John Stanley <jpsinthemix@verizon.net>
10750
7ebc2d6b 107512009-04-13 Robert Millan <rmh@aybabtu.com>
10752
10753 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 10754 that name for menuentries when appropriate.
7ebc2d6b 10755
d8ba3667 107562009-04-13 Felix Zielcke <fzielcke@z-51.de>
10757
10758 * util/grub.d/10_freebsd.in: Add a missing `fi'.
10759
cba416eb 107602009-04-13 Robert Millan <rmh@aybabtu.com>
10761
10762 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
10763 to Linux, simply abort telling the user it's no longer supported.
10764
a547a745 107652009-04-13 Felix Zielcke <fzielcke@z-51.de>
10766
10767 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 10768 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 10769 `freebsd_loadenv' only when devices.hints exist.
10770
232a769c 107712009-04-13 Pavel Roskin <proski@gnu.org>
10772
10773 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
10774
c3012039 107752009-04-13 Felix Zielcke <fzielcke@z-51.de>
10776
10777 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
10778 partition number.
10779 (grub_drive): Likewise.
10780
234022fe 107812009-04-13 David S. Miller <davem@davemloft.net>
10782
10783 * kern/sparc64/ieee1275/ieee1275.c: New file.
10784 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
10785 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
10786 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
10787 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
10788 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
10789 grub_ieee1275_alloc_physmem): Declare new exported functions.
10790
d8e1836c 10791 * include/grub/sparc64/ieee1275/loader.h: New file.
10792 * include/grub/sparc64/ieee1275/memory.h: Likewise.
10793 * include/grub/sparc64/kernel.h: Likewise.
10794 * loader/sparc64/ieee1275/linux.c: Likewise.
10795
96bd81ec 10796 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
10797 (grub_fstest_SOURCES): Likewise.
10798
6a4737e5 10799 * util/hostdisk.c (make_device_name): Do not make any assumptions
10800 about the length of drive names.
10801
1d7a72fd 10802 * kern/dl.c (grub_dl_load_file): Close file immediately when
10803 we are done using it.
10804
56bc2471 108052009-04-12 David S. Miller <davem@davemloft.net>
10806
10807 * kern/misc.c (grub_ltoa): Fix cast when handling negative
10808 values. Noticed by Pavel Roskin.
10809
df38d0bb 10810 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
10811 target compiler.
7dd4a573 10812
e382e93a 10813 * genmk.rb: Add more flexible image type specification, also
10814 pass --strip-unneeded to objcopy.
10815 * conf/i386-pc.rmk: Use *_FORMAT.
10816 * conf/i386-pc.mk: Rebuilt.
10817
f5dbbca9 10818 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
10819 (OFDISK_HASH_SZ): Define.
10820 (ofdisk_hash): New hash table.
10821 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
10822 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
10823 instead of device phandle which is not unique.
10824
91c88b12 10825 * kern/sparc64/ieee1275/init.c: Delete, replace with...
10826 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
10827 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
10828 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
10829 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
10830 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
10831 GRUB_KERNEL_MACHINE_DATA_END): Define.
10832 (grub_kernel_image_size, grub_total_module_size): Declare.
10833
5b5d4aa5 108342009-04-12 Pavel Roskin <proski@gnu.org>
10835
7dd4a573 10836 * configure.ac: Change the logic when we check for target tools.
10837 Do it when the target is specified and it's different from the
10838 specified value of the host.
5b5d4aa5 10839
c91e1793 108402009-04-11 Felix Zielcke <fzielcke@z-51.de>
10841
10842 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
10843 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
10844 GNU/kFreeBSD. Check if a device is a character device. Use
10845 DIOCGMEDIASIZE to get the size.
10846 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
10847 support for GNU/kFreeBSD.
10848 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
10849 is a character device instead of a block device. Add support for
10850 FreeBSD device names.
10851
10852 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
10853 is a character device instead of a block device.
10854
10855 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
10856 is a character device instead of a block device.
10857
b1ac8644 108582009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
10859
10860 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
10861 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
10862 FreeBSD. Check if a device is a character device. Use
10863 DIOCGMEDIASIZE to get the size.
10864 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
10865 support for FreeBSD.
10866 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
10867 is a character device instead of a block device. Add support for
10868 FreeBSD device names.
10869
10870 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
10871 a character device instead of a block device.
10872 (grub_util_check_char_device): New function.
10873
10874 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
10875 a character device instead of a block device.
10876
10877 * include/grub/util/getroot.h (grub_util_check_char_device): New
10878 prototype.
10879
a3f7515a 108802009-04-11 David S. Miller <davem@davemloft.net>
10881
10882 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
10883 static libgcc.
10884 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
10885 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
10886 function, if present.
10887 (__bswapdi2): Likewise.
10888
0d44993d 10889 * include/grub/sparc64/ieee1275/boot.h: New file.
10890 * boot/sparc64/ieee1275/boot.S: Likewise.
10891 * boot/sparc64/ieee1275/diskboot.S: Likewise.
10892
ed3d2bc2 10893 * kern/misc.c (grub_ltoa): New function.
10894 (grub_vsprintf): Use it to format 'long' integers.
10895
d3bfb59c 108962009-04-10 David S. Miller <davem@davemloft.net>
10897
10898 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
10899 slots are of type grub_ieee1275_cell_t.
10900 (grub_nand_read): Likewise.
10901 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
10902 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
10903 macros are used to compare values in arg/ret block of the call.
10904 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
10905 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
10906 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
10907 grub_ieee1275_instance_to_path, grub_ieee1275_write,
10908 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
10909 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
10910 grub_ieee1275_close, grub_ieee1275_set_property,
10911 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
10912 grub_ieee1275_cell_t.
10913 * kern/ieee1275/openfw.c (grub_map): Likewise.
10914 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
10915 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
10916
450e2238 10917 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
10918 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
10919 (grub_devalias_iterate): Likewise.
10920
7dd4a573 109212009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 10922
10923 UFS improvements
10924
10925 * fs/ufs.c (INODE_NBLOCKS): new definition
10926 (struct grub_ufs_dirent): added fields for non-BSD dirents
10927 (grub_ufs_get_file_block): fixed double indirect handling
10928 (grub_ufs_lookup_symlink): use more robust way to determine whether
10929 symlink is inline
10930 (grub_ufs_find_file): support for non-BSD dirents
10931 (grub_ufs_dir): support for non-BSD dirents
10932
e7e6862a 109332009-04-10 Bean <bean123ch@gnail.com>
10934
10935 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
10936 attribute, otherwise the size would be wrong for i386 platform.
10937
10938 * include/grub/pci.h (grub_pci_read_word): New inline function.
10939 (grub_pci_read_byte): Likewise.
10940 (grub_pci_write): Likewise.
10941 (grub_pci_write_word): Likewise.
10942 (grub_pci_write_byte): Likewise.
10943
10944 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
10945
10946 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
10947 (find_framebuf): Scan pci to locate the frame buffer address.
10948
10949 * commands/efi/fixvideo.c: New file.
10950
10951 * commands/efi/loadbios.c: Likewise.
10952
10953 * commands/memrw.c: Likewise.
10954
10955 * util/grub-dumpbios.in: Likewise.
10956
10957 * conf/common.rmk (grub-dumpbios): New utility.
10958 (pkglib_MODULES): New module memrw.mod.
10959 (memrw_mod_SOURCE): New macro.
10960 (memrw_mod_CFLAGS): Likewise.
10961 (memrw_mod_LDFLAGS): Likewise.
10962
7dd4a573 10963 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 10964 fixvideo.mod.
10965 (loadbios_mod_SOURCE): New macro.
10966 (loadbios_mod_CFLAGS): Likewise.
10967 (loadbios_mod_LDFLAGS): Likewise.
10968 (fixvideo_mod_SOURCE): Likewise.
10969 (fixvideo_mod_CFLAGS): Likewise.
10970 (fixvideo_mod_LDFLAGS): Likewise.
10971
7dd4a573 10972 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 10973 fixvideo.mod.
10974 (loadbios_mod_SOURCE): New macro.
10975 (loadbios_mod_CFLAGS): Likewise.
10976 (loadbios_mod_LDFLAGS): Likewise.
10977 (fixvideo_mod_SOURCE): Likewise.
10978 (fixvideo_mod_CFLAGS): Likewise.
10979 (fixvideo_mod_LDFLAGS): Likewise.
10980
af63ada2 109812009-04-08 Felix Zielcke <fzielcke@z-51.de>
10982
10983 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
10984
c2cdde70 109852009-04-07 David S. Miller <davem@davemloft.net>
10986
10987 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
10988 support for R_SPARC_OLO10 relocations. Fix compile warning for
10989 R_SPARC_WDISP30 case.
ea3f72cf 10990 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 10991
761319cf 109922009-04-06 Pavel Roskin <proski@gnu.org>
10993
1007d1f5 10994 * include/grub/misc.h (ARRAY_SIZE): New macro.
10995 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
10996 New macro.
10997 * loader/i386/linux.c (allocate_pages): Use free_pages().
10998 (grub_linux_unload): Don't use free_pages().
10999 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
11000 wrong index. Treat all other modes as text modes.
11001 (grub_cmd_linux): Initialize vid_mode unconditionally to
11002 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
11003
761319cf 11004 * commands/help.c (print_command_help): Use cmd->prio, not
11005 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
11006
ea761d40 110072009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 11008
ea761d40 11009 Parttool
11010
11011 * parttool/pcpart.c: new file
11012 * commands/parttool.c: likewise
11013 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
11014 (parttool_mod_SOURCES): new variable
11015 (parttool_mod_CFLAGS): likewise
11016 (parttool_mod_LDFLAGS): likewise
11017 (pcpart_mod_SOURCES): likewise
11018 (pcpart_mod_CFLAGS): likewise
11019 (pcpart_mod_LDFLAGS): likewise
7dd4a573 11020 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 11021 and parttool/pcpart.c
11022 * conf/i386-efi.rmk: likewise
11023 * conf/i386-ieee1275.rmk: likewise
11024 * conf/i386-pc.rmk: likewise
11025 * conf/powerpc-ieee1275.rmk: likewise
11026 * conf/sparc64-ieee1275.rmk: likewise
11027 * conf/x86_64-ieee1275.rmk: likewise
11028
05aaebfb 110292009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
11030
11031 Support for mtime and further expandability of dir command
11032
11033 * include/grub/lib/datetime.h: moved to ...
7dd4a573 11034 * include/grub/datetime.h: ... moved here and added
05aaebfb 11035 declaration of grub_unixtime2datetime. All users updated
7dd4a573 11036 * include/grub/fs.h: new syntax for dir and mtime functions in
11037 struct grub_fs
05aaebfb 11038 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
11039 and GRUB_FSHELP_FLAGS_MASK
11040 * commands/ls.c (grub_ls_list_files): Write mtime in long format
11041 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
11042 (grub_ext2_mtime): new function
11043 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
11044 (grub_hfsplus_mtime): new function
11045 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
11046 (GRUB_UFS_ATTR_FILE): likewise
11047 (GRUB_UFS_ATTR_LNK): likewise
11048 (struct grub_ufs_sblock): new fields mtime
11049 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
11050 all users updated
11051 (grub_ufs_dir): mtime support
11052 (grub_ufs_mtime): new function
11053 * fs/affs.c (grub_affs_dir): use new dir syntax
11054 * fs/afs.c (grub_afs_dir): likewise
11055 * fs/cpio.c (grub_cpio_dir): likewise
11056 * fs/fat.c (grub_fat_find_dir): likewise
11057 * fs/hfs.c (grub_hfs_dir): likewise
11058 * fs/iso9660.c (grub_iso9660_dir): likewise
11059 * fs/jfs.c (grub_jfs_dir): likewise
11060 * fs/minix.c (grub_minix_dir): likewise
11061 * fs/ntfs.c (grub_ntfs_dir): likewise
11062 * fs/reiserfs.c (grub_reiserfs_dir): likewise
11063 * fs/sfs.c (grub_sfs_dir): likewise
11064 * fs/xfs.c (grub_xfs_dir): likewise
11065 * util/hostfs.c (grub_hostfs_dir): likewise
11066 * lib/datetime.c: moved to ...
11067 * normal/datetime.c: ... moved here
11068 (grub_unixtime2datetime): new function
11069 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 11070 * normal/completion.c (iterate_dir): use new dir syntax
11071 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 11072 last modification time of a volume
7dd4a573 11073 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 11074 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 11075 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 11076 (normal_mod_SOURCES): likewise
11077 (datetime_mod_SOURCES): Removed lib/datetime.c
11078 * conf/i386-efi.rmk: likewise
7dd4a573 11079 * conf/i386-ieee1275.rmk: likewise
05aaebfb 11080 * conf/i386-pc.rmk: likewise
11081 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 11082 * conf/sparc64-ieee1275.rmk: likewise
11083 * conf/x86_64-efi.rmk: likewise
05aaebfb 11084
8a7e1a14 110852009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
11086
11087 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 11088
11089 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 11090 on grub_fat_find_dir
11091 (grub_fat_find_dir): use grub_fat_iterate_dir
11092 (grub_fat_label): likewise
11093
04186a9c 110942009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
11095
7dd4a573 11096 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 11097 and command.h
11098 remove extraneous kernel_elf_HEADERS
11099
da4c0bb6 111002009-04-04 Bean <bean123ch@gnail.com>
11101
11102 * include/grub/util/misc.h: Add dummy function fsync for mingw.
11103
11104 * util/misc.c: Likewise.
11105
54ad9555 111062009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
11107
11108 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
11109 instead of grub_printf.
11110
7a6bf9f2 111112009-04-03 Robert Millan <rmh@aybabtu.com>
11112
11113 * loader/i386/linux.c (grub_linux_setup_video): Fill
11114 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
11115 values from `mode info' structure instead of hardcoded
11116 values.
11117
3fcc2083 111182009-04-01 Pavel Roskin <proski@gnu.org>
11119
11120 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
11121 unused now.
11122 * genmk.rb: Likewise.
11123 * configure.ac: Likewise.
11124
5ec9740b 111252009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
11126
11127 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
11128 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
11129
5270cec8 111302009-04-01 David S. Miller <davem@davemloft.net>
11131
11132 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 11133 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 11134 (grub_setjmp): Mark with 'returns_twice' attribute.
11135 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
11136 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
11137 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
11138
9c3dd854 111392009-04-01 Robert Millan <rmh@aybabtu.com>
11140
11141 Reapply fix from 2008-07-28 which was accidentally reverted; also
11142 perform the same fix to a similar check in same function.
11143
11144 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
11145 with the same number are found, just use issue a warning with
11146 grub_dprintf(), as this error has been reported to be non-fatal.
11147
0d818b7e 111482009-03-31 Pavel Roskin <proski@gnu.org>
11149
11150 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
11151 for cross-compilation.
11152
95646d92 111532009-03-30 Robert Millan <rmh@aybabtu.com>
11154
11155 Fix i386-ieee1275 build.
11156
11157 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
11158 Remove declaration.
11159
6a003ed1 111602009-03-30 Pavel Roskin <proski@gnu.org>
11161
11162 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
11163 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
11164 zero-terminated, rely only on the strlen value. Fix comparison
11165 of strings differing in length.
11166
92f33540 111672009-03-30 Robert Millan <rmh@aybabtu.com>
11168
11169 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
11170 checking for abi version. Improve error messages on BIOS to notify
11171 user about `linux16' command.
11172
a8c48fd5 111732009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
11174
f968172e 11175 Leak fixes
a8c48fd5 11176
f968172e 11177 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
11178 in case of collision
11179 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 11180
9c323f09 111812009-03-29 Robert Millan <rmh@aybabtu.com>
11182
11183 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
11184 set `vid_mode' accordingly.
11185 (grub_linux_boot): Process `vid_mode' and set video mode.
11186
ae68f423 111872009-03-29 Robert Millan <rmh@aybabtu.com>
11188
11189 * util/grub.d/10_linux.in (linux_entry): New function.
11190 Factorize generation of Linux boot entries.
11191
5709cfc4 111922009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
11193
11194 Make the format of Environment Block plain text. The boot loader
11195 part is not tested well yet.
7dd4a573 11196
5709cfc4 11197 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
11198 (buffer): Removed.
11199 (envblk): Likewise.
11200 (usage): Remove "info" and "clear". Add "unset". Update the
11201 description of "set", as this does not delete variables any
11202 longer.
11203 (create_envblk_file): Complete rewrite.
11204 (open_envblk_file): Likewise.
11205 (cmd_info): Removed.
11206 (cmd_list): Likewise.
11207 (cmd_set): Likewise.
11208 (cmd_clear): Likewise.
11209 (list_variables): New function.
11210 (write_envblk): Likewise.
11211 (set_variables): Likewise.
11212 (unset_variables): Likewise.
11213 (main): Complete rewrite.
11214
11215 * commands/loadenv.c (buffer): Removed.
11216 (envblk): Likewise.
11217 (open_envblk_file): New function.
11218 (read_envblk_file): Complete rewrite.
11219 (grub_cmd_load_env): Likewise.
11220 (grub_cmd_list_env): Likewise.
11221 (struct blocklist): New struct.
11222 (free_blocklists): New function.
11223 (check_blocklists): Likewise.
11224 (write_blocklists): Likewise.
11225 (grub_cmd_save_env): Complete rewrite.
11226
11227 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
11228 a plain text signature.
11229 (GRUB_ENVBLK_MAXLEN): Removed.
11230 (struct grub_envblk): Complete rewrite.
11231 (grub_envblk_find): Removed.
11232 (grub_envblk_insert): Likewise.
11233 (grub_envblk_open): New prototype.
11234 (grub_envblk_set): Likewise.
11235 (grub_envblk_delete): Put const to VALUE.
11236 (grub_envblk_iterate): Put const to NAME and VALUE.
11237 (grub_envblk_close): New prototype.
11238 (grub_envblk_buffer): New inline function.
11239 (grub_envblk_size): Likewise.
11240
11241 * lib/envblk.c: Include grub/mm.h.
11242 (grub_env_find): Removed.
11243 (grub_envblk_open): New function.
11244 (grub_envblk_close): Likewise.
11245 (escaped_value_len): Likewise.
11246 (find_next_line): Likewise.
11247 (grub_envblk_insert): Removed.
11248 (grub_envblk_set): New function.
11249 (grub_envblk_delete): Complete rewrite.
11250 (grub_envblk_iterate): Likewise.
11251
a9368fd3 112522009-03-28 Robert Millan <rmh@aybabtu.com>
11253
11254 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
11255 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
11256 variables. Use 16-bit loader.
11257 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
11258 loader.
11259 * kern/i386/loader.S (grub_linux_boot): Rename to ...
11260 (grub_linux16_boot): ... this. Update all users.
11261 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
11262 (grub_linux_boot): ... this. Update all users.
11263
11264 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
11265 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
11266 commands to `linux16' and `initrd16'.
11267 (GRUB_MOD_FINI(linux)): Rename to ...
11268 (GRUB_MOD_FINI(linux16)): ... this.
11269
e4dd5a7e 112702009-03-24 Pavel Roskin <proski@gnu.org>
11271
11272 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
11273 not just for compilation.
11274
c04d6e05 112752009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
11276
11277 Move multiboot helper out of kernel
11278
11279 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
11280 `loader/i386/multiboot_helper.S'.
11281 * conf/i386-coreboot.rmk: Likewise
11282 * conf/i386-ieee1275.rmk: Likewise
11283
11284 * kern/i386/loader.S: Move multiboot helpers from here...
11285 * loader/i386/multiboot_helper.S: ...moved here
11286 * include/grub/i386/loader.h: Move declarations of multiboot
11287 helpers from here...
11288 * include/grub/i386/multiboot.h: ...moved here
11289 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
11290
42a5b3fc 112912009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
11292
11293 * kern/env.c (grub_env_context_open): Added an argument to specify
11294 whether a new context inherits exported variables from current
11295 one. This is useful when making a sandbox to interpret a config
11296 file.
11297 All callers updated.
11298
11299 * include/grub/env.h (grub_env_context_open): Updated the prototype.
11300
b28bbc4e 113012009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
11302
11303 * kern/env.c (grub_env_context_close): Fix memory leaks.
11304
f04f02e4 113052009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
11306
11307 * normal/main.c (grub_normal_execute): Added an argument
11308 BATCH to specify if an interactive interface should be provided
11309 after reading a config file.
11310 All callers updated.
11311 (read_command_list): Prevent being executed twice.
11312 (read_fs_list): Likewise.
11313
42a5b3fc 11314 * include/grub/normal.h (grub_normal_execute): Updated the
11315 prototype.
f04f02e4 11316
41473ac2 113172009-03-22 Pavel Roskin <proski@gno.org>
11318
fbc00b0c 11319 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
11320 _start.
11321 * kern/i386/pc/startup.S: Likewise.
11322 * kern/i386/efi/startup.S: Likewise.
11323 * kern/i386/ieee1275/startup.S: Likewise.
11324 * kern/i386/coreboot/startup.S: Likewise.
11325 * kern/x86_64/efi/startup.S: Likewise.
11326
41473ac2 11327 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
11328 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
11329 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
11330
2274cc8f 113312009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
11332
11333 Bugfixes in multiboot for bugs uncovered by solaris kernel.
11334
11335 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
11336 limit detection.
11337 Use vaddr of correct segment for entry_point.
11338
b1b797cb 113392009-03-21 Bean <bean123ch@gmail.com>
11340
11341 * commands/blocklist.c: Add include file <grub/command.h>, remove
11342 <grub/normal.h> and <grub/arg.h>.
11343 (grub_cmd_blocklist): Use the new command interface.
11344 (GRUB_MOD_INIT): Likewise.
11345 (GRUB_MOD_FINI): Likewise.
11346 * commands/boot.c: Likewise.
11347 * commands/cat.c: Likewise.
11348 * commands/cmp.c: Likewise.
11349 * commands/configfile.c: Likewise.
11350 * commands/crc.c: Likewise.
11351 * commands/echo.c: Likewise.
11352 * commands/halt.c: Likewise.
11353 * commands/handler.c: Likewise.
11354 * commands/hdparm.c: Likewise.
11355 * commands/help.c: Likewise.
11356 * commands/hexdump.c: Likewise.
11357 * commands/loadenv.c: Likewise.
11358 * commands/ls.c: Likewise.
11359 * commands/lsmmap.c: Likewise.
11360 * commands/lspci.c: Likewise.
11361 * commands/loadenv.c: Likewise.
11362 * commands/read.c: Likewise.
11363 * commands/reboot.c: Likewise.
11364 * commands/search.c: Likewise.
11365 * commands/sleep.c: Likewise.
11366 * commands/test.c: Likewise.
11367 * commands/usbtest.c: Likewise.
11368 * commands/videotest.c: Likewise.
11369 * commands/i386/cpuid.c: Likewise.
11370 * commands/i386/pc/halt.c: Likewise.
11371 * commands/i386/pc/play.c: Likewise.
11372 * commands/i386/pc/pxecmd.c: Likewise.
11373 * commands/i386/pc/vbeinfo.c: Likewise.
11374 * commands/i386/pc/vbetest.c: Likewise.
11375 * commands/ieee1275/suspend.c: Likewise.
11376 * disk/loopback.c: Likewise.
11377 * font/font_cmd.c: Likewise.
11378 * hello/hello.c: Likewise.
11379 * loader/efi/appleloader.c: Likewise.
11380 * loader/efi/chainloader.c: Likewise.
11381 * loader/i386/bsd.c: Likewise.
11382 * loader/i386/efi/linux.c: Likewise.
11383 * loader/i386/ieee1275/linux.c: Likewise.
11384 * loader/i386/linux.c: Likewise.
11385 * loader/i386/pc/chainloader.c: Likewise.
11386 * loader/i386/pc/linux.c: Likewise.
11387 * loader/powerpc/ieee1275/linux.c: Likewise.
11388 * loader/multiboot_loader.c: Likewise.
11389 * term/gfxterm.c: Likewise.
11390 * term/i386/pc/serial.c: Likewise.
11391 * term/terminfo.c: Likewise.
11392
11393 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
11394 * term/i386/pc/vga.c: Likewise.
11395 * video/readers/jpeg.c: Likewise.
11396 * video/readers/png.c: Likewise.
11397 * video/readers/tga.c: Likewise.
11398
11399 * util/grub-fstest (cmd_loopback): Removed.
11400 (cmd_blocklist): Likewise.
11401 (cmd_ls): Likewise.
11402 (grub_register_command): Likewise.
11403 (grub_unregister_command): Likewise.
11404 (execute_command): Use grub_command_find to locate command and execute
11405 it.
11406
11407 * include/grub/efi/chainloader.h: Removed.
11408 * loader/efi/chainloader_normal.c: Likewise.
11409 * loader/i386/bsd_normal.c: Likewise.
11410 * loader/i386/pc/chainloader_normal.c: Likewise.
11411 * loader/i386/pc/multiboot_normal.c: Likewise.
11412 * loader/linux_normal.c: Likewise.
11413 * loader/multiboot_loader_normal.c: Likewise.
11414 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
11415
11416 * gencmdlist.sh: Scan new registration command grub_register_extcmd
11417 and grub_register_command_p1.
11418
11419 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
11420 kern/command.c, lib/arg.c and commands/extcmd.c.
11421 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
11422 (minicmd_mod_SOURCES): New variable.
11423 (minicmd_mod_CFLAGS): Likewise.
11424 (minicmd_mod_LDFLAGS): Likewise.
11425 (extcmd_mod_SOURCES): Likewise.
11426 (extcmd_mod_CFLAGS): Likewise.
11427 (extcmd_mod_LDFLAGS): Likewise.
11428 (boot_mod_SOURCES): Removed.
11429 (boot_mod_CFLAGS): Likewise.
11430 (boot_mod_LDFLAGS): Likewise.
11431
11432 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
11433 kern/corecmd.c.
11434 (kernel_img_HEADERS): Add command.h.
11435 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
11436 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
11437 and lib/arg.c.
11438 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
11439 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
11440 remove the corresponding normal mode command.
11441 (normal_mod_SOURCES): Remove normal/arg.c.
11442 * conf/i386-coreboot.rmk: Likewise.
11443 * conf/i386-efi.rmk: Likewise.
11444 * conf/i386-ieee1275.rmk: Likewise.
11445 * conf/powerpc-ieee1275.rmk: Likewise.
11446 * conf/x86_64-efi.rmk: Likewise.
11447
11448 * include/grub/arg.h: Move from here ...
11449 * include/grub/lib/arg.h: ... to here.
11450
11451 * normal/arg.c: Move from here ...
11452 * lib/arg.c: ... to here.
11453
11454 * commands/extcmd.c: New file.
11455 * commands/minicmd.c: Likewise.
11456 * include/grub/command.h: Likewise.
11457 * include/grub/extcmd.h: Likewise.
11458 * kern/command.c: Likewise.
11459 * kern/corecmd.c: Likewise.
11460
11461 * kern/list.c (grub_list_iterate): Return int instead of void.
11462 (grub_list_insert): New function.
11463 (grub_prio_list_insert): Likewise.
11464
11465 * kern/rescue.c (grub_rescue_command): Removed.
11466 (grub_rescue_command_list): Likewise.
11467 (grub_rescue_register_command): Likewise.
11468 (grub_rescue_unregister_command): Likewise.
11469 (grub_rescue_cmd_boot): Move to minicmd.c
11470 (grub_rescue_cmd_help): Likewise.
11471 (grub_rescue_cmd_info): Likewise.
11472 (grub_rescue_cmd_boot): Likewise.
11473 (grub_rescue_cmd_testload): Likewise.
11474 (grub_rescue_cmd_dump): Likewise.
11475 (grub_rescue_cmd_rmmod): Likewise.
11476 (grub_rescue_cmd_lsmod): Likewise.
11477 (grub_rescue_cmd_exit): Likewise.
11478 (grub_rescue_print_devices): Moved to corecmd.c.
11479 (grub_rescue_print_files): Likewise.
11480 (grub_rescue_cmd_ls): Likewise.
11481 (grub_rescue_cmd_insmod): Likewise.
11482 (grub_rescue_cmd_set): Likewise.
11483 (grub_rescue_cmd_unset): Likewise.
7d074e3c 11484 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 11485 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 11486 commands, remove grub_rescue_register_command calls.
b1b797cb 11487
7d074e3c 11488 * normal/command.c (grub_register_command): Removed.
b1b797cb 11489 (grub_unregister_command): Likewise.
11490 (grub_command_find): Likewise.
11491 (grub_iterate_commands): Likewise.
11492 (rescue_command): Likewise.
11493 (export_command): Moved to corecmd.c.
11494 (set_command): Removed.
11495 (unset_command): Likewise.
11496 (insmod_command): Likewise.
11497 (rmmod_command): Likewise.
11498 (lsmod_command): Likewise.
11499 (grub_command_init): Likewise.
11500
11501 * normal/completion.c (iterate_command): Use cmd->prio to check for
11502 active command.
11503 (complete_arguments): Use grub_extcmd_t structure to find options.
11504 (grub_normal_do_completion): Change function grub_iterate_commands to
11505 grub_command_iterate.
11506
11507 * normal/execute.c (grub_script_execute_cmd): No need to parse
11508 argument here.
11509
11510 * normal/main.c (grub_dyncmd_dispatcher): New function.
11511 (read_command_list): Register unload commands as dyncmd.
11512 (grub_cmd_normal): Use new command interface, register rescue,
11513 unregister normal at entry, register normal, unregister rescue at exit.
11514
11515 * include/grub/list.h (grub_list_test_t): New type.
11516 (grub_list_iterate): Return int instead of void.
11517 (grub_list_insert): New function.
11518 (GRUB_AS_NAMED_LIST_P): New macro.
11519 (GRUB_AS_PRIO_LIST): Likewise.
11520 (GRUB_AS_PRIO_LIST_P): Likewise.
11521 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
11522 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
11523 (grub_prio_list): New structure.
11524 (grub_prio_list_insert): New function.
11525 (grub_prio_list_remove): New inline function.
11526
11527 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
11528 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
11529 (GRUB_COMMAND_FLAG_MENU): Likewise.
11530 (GRUB_COMMAND_FLAG_BOTH): Likewise.
11531 (GRUB_COMMAND_FLAG_TITLE): Likewise.
11532 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
11533 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
11534 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
11535 (grub_command): Likewise.
11536 (grub_register_command): Likewise.
11537 (grub_command_find): Likewise.
11538 (grub_iterate_commands): Likewise.
11539 (grub_command_init): Likewise.
11540 (grub_arg_parse): Likewise.
11541 (grub_arg_show_help): Likewise.
11542
11543 * include/grub/rescue.h (grub_rescue_register_command): Removed.
11544 (grub_rescue_unregister_command): Likewise.
11545
11546 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
11547 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
11548 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
11549
11550 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
11551 grub_rescue_cmd_initrd.
11552 * include/grub/i386/loader.h: Likewise.
11553 * include/grub/x86_64/loader.h: Likewise.
11554
11555 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
11556
1f4147aa 115572009-03-21 Bean <bean123ch@gmail.com>
11558
11559 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
11560 instead of stat in mingw environment.
11561
11562 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
11563
11564 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
11565
11566 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
11567 AC_CONFIG_LINKS.
11568
2156d5ba 115692009-03-21 Bean <bean123ch@gmail.com>
11570
11571 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
11572 out of range error.
11573
177b82ca 115742009-03-18 Michel Dänzer <michel@daenzer.net>
11575
11576 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
11577 checking inode flags for EXT4_EXTENTS_FLAG.
11578
14aad807 115792009-03-18 Robert Millan <rmh@aybabtu.com>
11580
11581 * loader/i386/linux.c: Include `<grub/video.h>' and
11582 `<grub/i386/pc/vbe.h>'..
11583 (grub_linux_setup_video): New function. Loosely based on the EFI one.
11584 (grub_linux32_boot): Attempt to configure video settings with
11585 grub_linux_setup_video().
11586 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
11587 to avoid grub_console_fini() which would step out of graphical mode
11588 unconditionally.
11589
8cf83a27 115902009-03-14 Robert Millan <rmh@aybabtu.com>
11591
11592 Fix build on powerpc.
11593 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
11594
40164e75 115952009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
11596
11597 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
11598 background image command.
11599
c58bc32a 116002009-03-12 Colin D Bennett <colin@gibibit.com>
11601
11602 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
11603 (grub_gfxterm_putchar): Extract pairs of identical calls to
11604 draw_cursor out of conditional blocks.
11605
5415144a 116062009-03-11 Pavel Roskin <proski@gnu.org>
11607
11608 * fs/hfs.c (grub_hfs_strncasecmp): New function.
11609 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
11610
6394042e 116112009-03-11 Robert Millan <rmh@aybabtu.com>
11612
11613 * loader/i386/multiboot_elfxx.c
11614 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
11615
b7b50e5f 116162009-03-11 Felix Zielcke <fzielcke@z-51.de>
11617
11618 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
11619 `kern/handler.c'.
11620
1ca7fc96 116212009-03-11 Robert Millan <rmh@aybabtu.com>
11622
11623 * loader/i386/multiboot.c (code_size): New variable.
11624 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 11625 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 11626 4-byte alignment to MBI and others by increasing
7d074e3c 11627 `boot_loader_name_length' appropriately.
1ca7fc96 11628
11629 * loader/i386/multiboot_elfxx.c
11630 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
11631
a83ea1d2 116322009-03-09 Felix Zielcke <fzielcke@z-51.de>
11633
11634 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
11635 `fs/ext2.c'.
11636
aa9f3bff 116372009-03-08 Robert Millan <rmh@aybabtu.com>
11638
11639 Make loader/i386/linux.c usable on i386-pc again.
11640
11641 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
11642 memory to heap.
11643 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
11644 `#error' stanza.
11645
d8b3b60e 116462009-03-07 Bean <bean123ch@gmail.com>
11647
11648 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
11649 allocation.
11650
b362c9e9 116512009-03-06 Robert Millan <rmh@aybabtu.com>
11652
11653 Fix display issue on terminals with screen size other than 80x25
11654 (e.g. gfxterm with resolution higher than 640x480).
11655
11656 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 11657 position relative to the center of the terminal instead of relying
b362c9e9 11658 on a hardcoded offset.
11659
9304eef1 116602009-03-04 Robert Millan <rmh@aybabtu.com>
11661
11662 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
11663 installed.
11664
11665 * Makefile.in (host_kernel): New variable.
11666 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
11667 scripts instead of just the windows one.
11668 * configure.ac: Initialize and AC_SUBST `host_kernel'.
11669
eabc95fb 116702009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 11671
11672 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
11673 `kern/handler.c'.
11674 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11675 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
11676 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
11677 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11678 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11679 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11680
ceb1223c 116812009-03-04 Felix Zielcke <fzielcke@z-51.de>
11682
11683 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
11684 or if there's no space for the disk label and print the partition number on a
11685 invalid magic.
11686
4910684a 116872009-03-04 Felix Zielcke <fzielcke@z-51.de>
11688
11689 * util/misc.c: Include <time.h>.
11690 (grub_millisleep): New function.
11691
7e9ca17a 116922009-03-04 Bean <bean123ch@gmail.com>
11693
11694 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
11695 another option -mno-red-zone.
11696
11697 * commands/handler.c: Change module description.
11698
11699 * kern/handler.c: Add missing space at the end of description line.
11700
11701 * kern/list.c: Likewise.
11702
f501677c 117032009-03-03 Robert Millan <rmh@aybabtu.com>
11704
11705 Move more components to the relocation area, and fix mbi pointer
11706 handling to use the destination rather than the origin (thanks to
11707 Vladimir Serbinenko for spotting).
11708
11709 * loader/i386/multiboot.c (mbi_dest): New variable.
11710 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
11711 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
11712 relocation area.
11713
9902d047 117142009-03-01 Bean <bean123ch@gmail.com>
11715
50fb7002 11716 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 11717 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
11718 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
11719 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
11720
11721 * loader/i386/efi/linux.c (acpi_guid): New variable.
11722 (acpi_guid): Likewise.
11723 (EBDA_SEG_ADDR): New constant.
11724 (LOW_MEM_ADDR): Likewise.
11725 (FAKE_EBDA_SEG): Likewise.
11726 (fake_bios_data): New function.
11727 (grub_linux_boot): Call fake_bios_data.
11728
71b9f361 117292009-03-01 Bean <bean123ch@gmail.com>
11730
11731 * commands/terminal.c: Removed.
11732
11733 * commands/handler.c: New file.
11734
11735 * include/grub/list.h: Likewise.
11736
11737 * include/grub/handler.h: Likewise.
11738
11739 * kern/list.c: Likewise.
11740
11741 * kern/handler.c: Likewise.
11742
11743 * kern/term.h: Include header file <grub/handler.h>.
11744 (grub_term_input): Move next field to the beginning.
11745 (grub_term_output): Likewise.
11746 (grub_term_input_class): New variable.
11747 (grub_term_output_class): Likewise.
11748 (grub_term_register_input): Changed to inline function.
11749 (grub_term_register_output): Likewise.
11750 (grub_term_unregister_input): Likewise.
11751 (grub_term_unregister_output): Likewise.
11752 (grub_term_set_current_input): Likewise.
11753 (grub_term_set_current_output): Likewise.
11754 (grub_term_get_current_input): Likewise.
11755 (grub_term_get_current_output): Likewise.
11756 (grub_term_iterate_input): Removed.
11757 (grub_term_iterate_output): Likewise.
11758
11759 * kern/term.c (grub_term_list_input): Removed.
11760 (grub_term_list_output): Likewise.
11761 (grub_term_input_class): New variable.
11762 (grub_term_output_class): Likewise.
50fb7002 11763 (grub_cur_term_input): Change variable as macro.
71b9f361 11764 (grub_cur_term_output): Likewise.
11765 (grub_term_register_input): Removed.
11766 (grub_term_register_output): Likewise.
11767 (grub_term_unregister_input): Likewise.
11768 (grub_term_unregister_output): Likewise.
11769 (grub_term_set_current_input): Likewise.
11770 (grub_term_set_current_output): Likewise.
11771 (grub_term_iterate_input): Likewise.
11772 (grub_term_iterate_output): Likewise.
11773 (grub_term_get_current_input): Likewise.
11774 (grub_term_get_current_output): Likewise.
11775
11776 * util/grub-editenv.c: Include header file <grub/handler.h>.
11777 (grub_term_get_current_input): Removed.
11778 (grub_term_get_current_output): Likewise.
11779 (grub_term_input_class): New variable.
50fb7002 11780 (grub_term_output_class): Likewise.
71b9f361 11781
11782 * util/grub-fstest.c (grub_term_get_current_input): Removed.
11783 (grub_term_get_current_output): Likewise.
11784 (grub_term_input_class): New variable.
50fb7002 11785 (grub_term_output_class): Likewise.
71b9f361 11786
11787 * util/grub-probe.c (grub_term_get_current_input): Removed.
11788 (grub_term_get_current_output): Likewise.
11789 (grub_term_input_class): New variable.
50fb7002 11790 (grub_term_output_class): Likewise.
71b9f361 11791
11792 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
11793 (grub_term_get_current_output): Likewise.
11794 (grub_term_input_class): New variable.
50fb7002 11795 (grub_term_output_class): Likewise.
71b9f361 11796
11797 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
11798 (terminal_mod_SOURCES): Likewise.
11799 (terminal_mod_CFLAGS): Likewise.
11800 (terminal_mod_LDFLAGS): Likewise.
11801
11802 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
11803 handler.c.
11804 (kernel_img_SOURCES): Add list.c and handler.c.
11805 (kernel_img_HEADERS): Add list.h and handler.h.
11806
11807 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
11808 handler.c.
11809 (kernel_mod_SOURCES): Add list.c and handler.c.
11810 (kernel_mod_HEADERS): Add list.h and handler.h.
11811
11812 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
11813 handler.c.
11814 (kernel_elf_SOURCES): Add list.c and handler.c.
11815 (kernel_elf_HEADERS): Add list.h and handler.h.
11816
11817 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
11818 handler.c.
11819 (kernel_elf_SOURCES): Add list.c and handler.c.
11820 (kernel_elf_HEADERS): Add list.h and handler.h.
11821
11822 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
11823 handler.c.
11824 (kernel_mod_SOURCES): Add list.c and handler.c.
11825 (kernel_mod_HEADERS): Add list.h and handler.h.
11826
11827 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
11828 handler.c.
11829 (kernel_elf_SOURCES): Add list.c and handler.c.
11830 (kernel_elf_HEADERS): Add list.h and handler.h.
11831
8a31787f 118322009-02-27 Robert Millan <rmh@aybabtu.com>
11833
11834 Factorize elf32 / elf64 code in Multiboot loader. This will
11835 prevent it from getting out of sync again.
11836
11837 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
11838 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
11839 grub_multiboot_load_elf64): Move from here ...
11840 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
11841 grub_multiboot_load_elf): ... to here (new file).
11842
51cd3dfc 118432009-02-27 Robert Millan <rmh@aybabtu.com>
11844
11845 * util/grub.d/10_linux.in: Rename "single-user mode" to
11846 "recovery mode".
11847
6e8c9c3a 118482009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
11849
11850 Don't leak in SCSI code.
11851 * disk/scsi.c (grub_scsi_close): free `scsi'.
11852
4b6bf4f9 118532009-02-27 Robert Millan <rmh@aybabtu.com>
11854
11855 * loader/i386/pc/multiboot.c: Move from here ...
11856 * loader/i386/multiboot.c: ... to here. Update all users.
11857
b9413424 118582009-02-27 Robert Millan <rmh@aybabtu.com>
11859
11860 Patch from Alexandre Bique <bique.alexandre@gmail.com>
11861 * util/i386/pc/grub-setup.c (setup): Fix directory path.
11862
50fb7002 118632009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 11864
11865 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
11866 b-tree.
11867
8cc50345 118682009-02-27 Robert Millan <rmh@aybabtu.com>
11869
11870 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
11871 `0x' qualifier as 0 when base is specified as parameter).
11872
6e09b8b7 118732009-02-24 Bean <bean123ch@gmail.com>
11874
11875 * configure.ac: Check for -mcmodel=large in x86_64 target.
11876
11877 * include/grub/efi/api.h (efi_call_10): New macro.
11878 (efi_wrap_10): New function.
11879
11880 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
11881 (GRUB_PE32_REL_BASED_HIGH): Likewise.
11882 (GRUB_PE32_REL_BASED_LOW): Likewise.
11883 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
11884 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
11885 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
11886 (GRUB_PE32_REL_BASED_SECTION): Likewise.
11887 (GRUB_PE32_REL_BASED_REL): Likewise.
11888 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
11889 (GRUB_PE32_REL_BASED_DIR64): Likewise.
11890 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
11891
11892 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
11893 issue.
11894
11895 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
11896 (efi_wrap_10): New function.
11897
11898 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
11899
11900 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
11901 MB/MBP model (NV chipset).
11902 (devdata_devs): Add devpath_5 to the list.
11903
11904 * load/i386/efi/linux.c (video_base): Remove variable.
11905 (RGB_MASK): New macro.
11906 (RGB_MAGIC): Likewise.
11907 (LINE_MIN): Likewise.
11908 (LINE_MAX): Likewise.
11909 (FBTEST_STEP): Likewise.
11910 (FBTEST_COUNT): Likewise.
11911 (fb_list): New variable.
11912 (grub_find_video_card): Remove function.
11913 (find_framebuf): New function.
11914 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
11915 line length.
11916
11917 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
11918 problem for x86_64.
11919
74b21bee 119202009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
11921
11922 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
11923
11924 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
11925 coding tool name.
11926
a455f472 119272009-02-22 Robert Millan <rmh@aybabtu.com>
11928
11929 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
11930 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
11931 in our relocation, instead of using it directly from heap. Also
11932 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
11933
6374daf3 119342009-02-21 Robert Millan <rmh@aybabtu.com>
11935
11936 Implement USB keyboard support (based on patch by Marco Gerards)
11937
11938 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
11939 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
11940 (usb_keyboard_mod_LDFLAGS): New variables.
11941
11942 * term/usb_keyboard.c: New file.
11943
8fa4ea70 119442009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
11945
11946 Corrected wrong declaration
11947
11948 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
11949
353976ac 119502009-02-14 Christian Franke <franke@computer.org>
11951
11952 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
11953 (grub_lspci_iter): Print class code and programming interface byte.
11954
6aa1169b 119552009-02-14 Christian Franke <franke@computer.org>
11956
11957 * gendistlist.sh: Ignore `.svn' directories.
11958
265372ca 119592009-02-14 Felix Zielcke <fzielcke@z-51.de>
11960
11961 * fs/fat.c: Add 2009 to Copyright line.
11962
9ff516f3 119632009-02-14 Christian Franke <franke@computer.org>
11964
11965 * commands/hdparm.c: New file. Provides `hdparm' command
11966 which sends ATA commands via grub_disk_ata_pass_through ().
11967
11968 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
11969
11970 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
11971 and <grub/cpu/io.h> to include/grub/ata.h.
11972 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
11973 (GRUB_CDROM_SECTOR_SIZE): Remove.
11974 (GRUB_ATA_*): Move to include/grub/ata.h.
11975 (GRUB_ATAPI_*): Likewise.
11976 (enum grub_ata_commands): Likewise.
11977 (enum grub_ata_timeout_milliseconds): Likewise.
11978 (struct grub_ata_device): Likewise.
11979 (grub_ata_regset): Likewise.
11980 (grub_ata_regget): Likewise.
11981 (grub_ata_regset2): Likewise.
11982 (grub_ata_regget2): Likewise.
11983 (grub_ata_check_ready): Likewise.
11984 (grub_ata_wait_not_busy): Remove static, exported in
11985 include/grub/ata.h.
11986 (grub_ata_wait_drq): Likewise.
11987 (grub_ata_pio_read): Likewise.
11988
11989 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
11990 function for hdparm.mod.
11991
11992 * include/grub/ata.h: New file, contains declarations from
11993 disk/ata.c.
11994 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
11995
11996 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
11997 (grub_disk_ata_pass_through): New exported variable.
11998
11999 * kern/disk.c (grub_disk_ata_pass_through): New variable.
12000
772e23da 120012009-02-13 Colin D Bennett <colin@gibibit.com>
12002
12003 Support multiple fallback entries, and provide an API to support
12004 executing default+fallback menu entries. Renamed the `terminal' menu
12005 viewer to `text'.
12006
12007 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
12008 variable declaration.
12009 (grub_menu_execute_callback): New structure declaration.
12010 (grub_menu_execute_callback_t): New typedef.
12011 (grub_menu_execute_with_fallback): New function declaration.
12012 (grub_menu_get_entry): Likewise.
12013 (grub_menu_get_timeout): Likewise.
12014 (grub_menu_set_timeout): Likewise.
12015
12016 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
12017
12018 * normal/menu.c (grub_wait_after_message): Moved to
12019 `normal/menu_text.c'.
12020 (draw_border): Likewise.
12021 (print_message): Likewise.
12022 (print_entry): Likewise.
12023 (print_entries): Likewise.
12024 (grub_menu_init_page): Likewise.
12025 (get_entry_number): Likewise.
12026 (print_timeout): Likewise.
12027 (run_menu): Likewise.
12028 (grub_menu_execute_entry): Likewise.
12029 (show_text_menu): Likewise.
12030 (get_and_remove_first_entry_number): New function.
12031 (grub_menu_execute_with_fallback): Likewise.
12032 (get_entry): Renamed to ...
12033 (grub_menu_get_entry): .. this and made it global.
12034 (get_timeout): Renamed to ...
12035 (grub_menu_get_timeout): ... this and made it global.
12036 (set_timeout): Renamed to ...
12037 (grub_menu_set_timeout): ... this and made it global.
12038 (grub_normal_terminal_menu_viewer): Renamed to ...
12039 (grub_normal_text_menu_viewer): ... this.
12040
12041 * normal/menu_text.c: New file. Extracted text-menu-specific code
12042 from normal/menu.c.
12043
12044 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
12045 (normal_mod_SOURCES): Likewise.
12046
12047 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
12048 (normal_mod_SOURCES): Likewise.
12049
12050 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12051 (normal_mod_SOURCES): Likewise.
12052
12053 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
12054 (normal_mod_SOURCES): Likewise.
12055
12056 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12057 (normal_mod_SOURCES): Likewise.
12058
12059 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12060 (normal_mod_SOURCES): Likewise.
12061
12062 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
12063 (normal_mod_SOURCES): Likewise.
12064
16ac430e 120652009-02-11 Robert Millan <rmh@aybabtu.com>
12066
12067 * util/grub.d/00_header.in: Update old reference to `font' command.
12068
06ff20fc 120692009-02-10 Felix Zielcke <fzielcke@z-51.de>
12070
12071 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
12072
12073 Based on patch from Javier Martín.
12074
96da9407 120752009-02-09 Felix Zielcke <fzielcke@z-51.de>
12076
12077 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 12078 to avoid false positives with FAT.
96da9407 12079 (grub_fstest_SOURCES): Likewise.
12080 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
12081 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
12082 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12083 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
12084 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12085 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12086
6dca6fe4 120872009-02-09 Felix Zielcke <fzielcke@z-51.de>
12088
06ff20fc 12089 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 12090 bpb.version_specific.fat12_or_fat16.fstype and
12091 bpb.version_specific.fat32.fstype.
12092
2550c62f 120932009-02-08 Robert Millan <rmh@aybabtu.com>
12094
be110b30 12095 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 12096
56978920 120972009-02-08 Robert Millan <rmh@aybabtu.com>
12098
12099 * Makefile.in (host_os, host_cpu): New variables.
12100 (target_os): Remove. Update all users.
12101
d64399b5 121022009-02-08 Marco Gerards <marco@gnu.org>
12103
12104 * Makefile.in (enable_grub_emu_usb): New variable.
12105 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
12106 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
12107 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
12108 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
12109 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
12110 `usbtest.mod' and `usbms.mod'.
12111 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
12112 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
12113 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
12114 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
12115 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
12116 variables.
12117
12118 * disk/usbms.c: New file.
12119
12120 * include/grub/usb.h: Likewise.
12121
12122 * include/grub/usbtrans.h: Likewise.
12123
12124 * include/grub/usbdesc.h: Likewise.
12125
12126 * bus/usb/usbtrans.c: Likewise.
12127
12128 * bus/usb/ohci.c: Likewise.
12129
12130 * bus/usb/uhci.c: Likewise.
12131
12132 * bus/usb/usbhub.c: Likewise.
12133
12134 * bus/usb/usb.c: Likewise.
12135
12136 * commands/usbtest.c: Likewise.
12137
12138 * util/usb.c: Likewise.
50fb7002 12139
d64399b5 12140 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
12141
12142 * configure.ac: Test for libusb presence.
50fb7002 12143
d64399b5 12144 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
12145
2b40d6bb 121462009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
12147
12148 * kern/mm.c: Add more comments.
12149
73a4ce81 121502009-02-08 Robert Millan <rmh@aybabtu.com>
12151
12152 Patch from Javier Martín.
12153 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
12154 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
12155
f821ce59 121562009-02-08 Robert Millan <rmh@aybabtu.com>
12157
12158 * fs/cpio.c: Split tar functionality to ...
12159 * fs/tar.c: ... here (new file). Update all users.
12160
aebfc4b0 121612009-02-07 Robert Millan <rmh@aybabtu.com>
12162
12163 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
12164 backward-incompatible features.
12165
12166 Based on patch from Javier Martín, with some adjustments.
12167
50fb7002 121682009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 12169
12170 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
12171
0bb5115e 121722009-02-07 Robert Millan <rmh@aybabtu.com>
12173
12174 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
12175 position of `disk/lvm.c' to ensure grub_init_all() always picks it
12176 after the RAID stuff.
12177
38a0f8e7 121782009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
12179
50fb7002 12180 Fixes problem when running vbetest command as reported by
38a0f8e7 12181 Vladimir Serbinenko <phcoder@gmail.com>.
12182
12183 * (grub_vbe_set_video_mode): Fixed problem with text modes.
12184
3143cc1c 121852009-02-04 Felix Zielcke <fzielcke@z-51.de>
12186
12187 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
12188 /dev/md/NpN style mdraid devices.
12189
9cba6fce 121902009-02-03 Felix Zielcke <fzielcke@z-51.de>
12191
12192 * util/unifont2pff.rb: Remove.
12193
e507a2c1 121942009-02-03 Felix Zielcke <fzielcke@z-51.de>
12195
12196 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
12197 `#'.
12198
d2c2b4cd 121992009-02-03 Felix Zielcke <fzielcke@z-51.de>
12200
12201 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
12202 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
12203 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
12204 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
12205 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12206 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12207 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12208
b4315fb0 122092009-02-02 Christian Franke <franke@computer.org>
12210
12211 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
12212
de3aa260 122132009-02-01 Felix Zielcke <fzielcke@z-51.de>
12214
7c3ff286 12215 * INSTALL: Note that we now require at least autoconf 2.59 and
12216 that LZO is optional.
de3aa260 12217
825a182b 122182009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
12219
12220 Base on patch on bug #24154 created by Tomas Tintera
12221 <trosos@seznam.cz>.
12222
12223 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
12224
a69ef770 122252009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
12226
7c3ff286 12227 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 12228 <bero@arklinux.org>.
12229
12230 * normal/parser.y (script_init): Add missing semicolon.
12231
6fa42fa6 122322009-01-31 Colin D Bennett <colin@gibibit.com>
12233
7c3ff286 12234 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 12235 (free_menu_entry_classes): Added.
12236 (grub_normal_menu_addentry): Added class property handling.
12237 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
12238 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
12239
12240 * normal/menu_viewer.c: New file.
12241
12242 * normal/menu.c (run_menu_entry): Renamed to ...
12243 (grub_menu_execute_entry): ... this and made it as global.
12244 (grub_menu_run): Renamed to ...
12245 (show_text_menu): ... this and made it local.
12246 (show_text_menu): Adapt to new function names.
12247 (grub_normal_terminal_menu_viewer): New global variable.
12248
12249 * include/grub/menu.h: New file.
12250
12251 * include/grub/menu_viewer.h: New file.
12252
12253 * include/grub/normal.h: Added include to grub/menu.h.
12254 (grub_menu_entry): Moved to include/grub/menu.h.
12255 (grub_menu_entry_t): Likewise.
12256 (grub_menu): Likewise.
12257 (grub_menu_t): Likewise.
12258 (grub_normal_terminal_menu_viewer): Added.
12259 (grub_menu_execute_entry): Likewise.
12260 (grub_menu_run): Removed.
12261
12262 * DISTLIST: Added include/grub/menu.h.
12263 Added include/grub/menu_viewer.h.
12264 Added normal/menu_viewer.c.
12265
122662009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
12267
12268 * normal/execute.c (grub_script_execute_menuentry): Changed to use
12269 arglist for menutitle arguments.
12270
12271 * normal/main.c (grub_normal_menu_addentry): Likewise.
12272
12273 * normal/parser.y (menuentry): Likewise.
12274
12275 * normal/script.c (grub_script_create_cmdmenu): Likewise.
12276
12277 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
12278 (grub_script_create_cmdmenu): Likewise.
12279
12280 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
12281
12282 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
12283 changes.
12284
12285 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
12286
12287 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
12288
12289 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
12290
12291 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
12292
12293 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
12294
12295 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
12296
56192c23 122972009-01-30 Christian Franke <franke@computer.org>
12298
12299 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
12300 in option help text.
12301
d72521b3 123022009-01-27 Pavel Roskin <proski@gnu.org>
12303
12304 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
12305
994b5e84 123062009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
12307
12308 * commands/lsmmap.c: Add include to grub/machine/memory.h.
12309
12310 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
12311
12312 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
12313 unregister function.
12314
6a7eab2c 123152009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
12316
12317 * disk/scsi.c (grub_scsi_read): Fix sign problem.
12318
12319 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
12320
12321 * util/grub-mkfont.c (usage): Fix typo.
12322
12323 * util/elf/grub-mkimage.c (load_modules): Fix warning.
12324
1806b56e 123252009-01-26 Daniel Mierswa <impulze@impulze.org>
12326
3fb18f09 12327 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
12328
336e1fb9 12329 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
12330
1806b56e 12331 * kern/misc.c (grub_strcasecmp): New function.
12332 (grub_strcasecmp): Use grub_size_t instead of int for length.
12333 Fix return value.
12334 * include/grub/misc.h: Update function prototypes.
12335
580b2a0f 123362009-01-26 Robert Millan <rmh@aybabtu.com>
12337
12338 * configure.ac: Fix cross-compilation check.
ef257b36 12339
d31c24f1 123402009-01-22 Christian Franke <franke@computer.org>
12341
12342 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
12343 (precision) digit string. Allow `.format2' without `format1' (width).
12344 Limit input chars for `%s' output to `format2' if specified. This is
12345 compatible with standard printf ().
12346
3138b44c 123472009-01-22 Christian Franke <franke@computer.org>
12348
12349 * disk/ata.c (grub_ata_wait_status): Replace by ...
12350 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
12351 other status bits may be invalid while BSY is asserted.
12352 (grub_ata_check_ready): New function.
12353 (grub_ata_cmd): Removed.
12354 (grub_ata_wait_drq): New function.
12355 (grub_ata_strncpy): Remove inline.
12356 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
12357 and error check now done by grub_ata_wait_drq ().
12358 (grub_ata_pio_write): Likewise.
12359 (grub_atapi_identify): Set DEV before check for !BSY. Use
12360 grub_ata_wait_drq () to wait for data.
12361 (grub_ata_device_initialize): Add status register check to
12362 detect missing SATA slave devices. Add debug messages.
12363 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
12364 (grub_atapi_packet): Set DEV before check for !BSY. Replace
12365 transfer loop by grub_ata_pio_write ().
12366 (grub_ata_identify): Set DEV before check for !BSY. Use
12367 grub_ata_wait_drq () to wait for data.
ef257b36 12368 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 12369 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
12370 read/write in one loop. Fix invalid command on write. Fix incomplete
12371 command on (size % batch) == 0. Add missing error check after write of
12372 last block. Add debug messages.
12373 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
12374
59a64ef6 123752009-01-19 Christian Franke <franke@computer.org>
12376
12377 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
12378 (GRUB_ATAPI_IREASON_*): Likewise.
12379 (grub_ata_pio_write): Fix timeout error return.
12380 (grub_atapi_identify): Add grub_ata_wait () after cmd.
12381 (grub_atapi_wait_drq): New function.
12382 (grub_atapi_packet): New parameter `size'.
12383 Use grub_atapi_wait_drq () and direct write instead of
12384 grub_ata_pio_write ().
12385 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
12386 reads the number of bytes requested by the device for each DRQ
12387 assertion.
12388 (grub_atapi_write): Remove old implementation, return not
12389 implemented instead.
12390
1cfe20b3 123912009-01-19 Christian Franke <franke@computer.org>
12392
12393 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
12394 of 512 to calculate data size.
12395 (grub_scsi_read12): Likewise.
12396 (grub_scsi_write10): Likewise.
12397 (grub_scsi_write12): Likewise.
12398 (grub_scsi_read): Adjust size according to blocksize.
12399 Add checks for invalid blocksize and unaligned transfer.
12400
bee5fe5d 124012009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
12402
12403 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
12404
ef257b36 12405 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 12406 width glyphs.
12407
3e643f8c 124082009-01-19 Robert Millan <rmh@aybabtu.com>
12409
12410 * config.guess: Update to latest version from config git.
12411 * config.sub: Likewise.
12412
4fa80998 124132009-01-17 Felix Zielcke <fzielcke@z-51.de>
12414
12415 * Makefile.in: Change font compilation to use new grub-mkfont instead
12416 of java version.
12417
12418 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
12419 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
12420 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
12421 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
12422 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
12423 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
12424 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
12425 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
12426 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
12427
7086085b 124282009-01-16 Christian Franke <franke@computer.org>
12429
12430 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
12431 (enum grub_ata_timeout_milliseconds): New enum.
12432 (grub_ata_wait_status): Add parameter milliseconds.
12433 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
12434 recovery from timed-out commands.
12435 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
12436 return grub_errno instead of REG_ERROR.
12437 (grub_ata_pio_write): Add parameter milliseconds.
12438 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
12439 Pass milliseconds to grub_ata_wait_status () and
12440 grub_ata_pio_read ().
12441 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
12442 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
12443 grub_ata_wait_status (). Fix IDENTIFY timeout check.
12444 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
12445 It is not suitable for device detection, because DEV bit is ignored,
12446 the command may run too long, and not all devices set the signature
12447 properly.
12448 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
12449 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
12450 Fix device selection, DEV bit must be set first to address the registers
12451 of the correct device.
12452 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
12453 grub_ata_pio_read/write ().
12454 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
12455 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
12456
4a412913 124572009-01-13 Carles Pina i Estany <carles@pina.cat>
12458
12459 * util/grub-editenv.c (main): Use fseeko(), not fseek().
12460
7795c55e 124612009-01-13 Bean <bean123ch@gmail.com>
d913988c 12462
12463 * util/grub-mkfont.c (write_font): forget to remove some debug code.
12464
7795c55e 124652009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 12466
12467 * Makefile.in: (enable_grub_mkfont): New variable.
12468 (freetype_cflags): Likewise.
12469 (freetype_libs): Likewise.
12470
12471 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
12472 (grub_mkfont_SOURCES): New variable.
12473 (grub_mkfont_CFLAGS): Likewise.
12474 (grub_mkfont_LDFLAGS): Likewise.
12475
12476 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
12477 library if `--enable-grub-mkfont' is requested.
12478 (enable_grub_mkfont): New variable.
12479 (freetype_cflags): Likewise.
12480 (freetype_libs): Likewise.
12481
12482 * util/grub-mkfont.c: New file.
12483
093af1fe 124842009-01-12 Christian Franke <franke@computer.org>
12485
12486 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
12487 mode check. Fix setting of compat_use[].
12488
f36cc108 124892009-01-10 Robert Millan <rmh@aybabtu.com>
12490
12491 Update a few copyright years which we forgot to do in 2008 (only for
12492 files whose changes made in 2008 were copyright-significant)
12493
12494 * Makefile.in: Add 2008 to Copyright line.
12495 * disk/ieee1275/ofdisk.c: Likewise.
12496 * disk/efi/efidisk.c: Likewise.
12497 * kern/dl.c: Likewise.
12498 * kern/sparc64/ieee1275/init.c: Likewise.
12499 * kern/mm.c: Likewise.
12500 * kern/efi/mm.c: Likewise.
12501 * boot/i386/pc/boot.S: Likewise.
12502 * genfslist.sh: Likewise.
12503 * fs/iso9660.c: Likewise.
12504 * fs/hfs.c: Likewise.
12505 * fs/jfs.c: Likewise.
12506 * fs/minix.c: Likewise.
12507 * fs/ufs.c: Likewise.
12508 * gensymlist.sh.in: Likewise.
12509 * genkernsyms.sh.in: Likewise.
12510 * include/grub/misc.h: Likewise.
12511 * include/grub/types.h: Likewise.
12512 * include/grub/symbol.h: Likewise.
12513 * include/grub/elf.h: Likewise.
12514 * include/grub/kernel.h: Likewise.
12515 * include/grub/disk.h: Likewise.
12516 * include/grub/dl.h: Likewise.
12517 * include/grub/i386/linux.h: Likewise.
12518 * include/grub/i386/pc/biosdisk.h: Likewise.
12519 * include/grub/efi/api.h: Likewise.
12520 * include/grub/efi/pe32.h: Likewise.
12521 * include/grub/util/misc.h: Likewise.
12522 * normal/execute.c: Likewise.
12523 * normal/arg.c: Likewise.
12524 * normal/completion.c: Likewise.
12525 * normal/lexer.c: Likewise.
12526 * normal/parser.y: Likewise.
12527 * normal/misc.c: Likewise.
12528 * commands/i386/pc/vbeinfo.c: Likewise.
12529 * commands/hexdump.c: Likewise.
12530 * commands/terminal.c: Likewise.
12531 * commands/ls.c: Likewise.
12532 * commands/help.c: Likewise.
12533 * partmap/pc.c: Likewise.
12534 * loader/efi/chainloader.c: Likewise.
12535 * loader/multiboot_loader.c: Likewise.
12536 * loader/i386/pc/multiboot2.c: Likewise.
12537 * term/efi/console.c: Likewise.
12538 * term/i386/pc/serial.c: Likewise.
12539 * util/lvm.c: Likewise.
12540 * util/console.c: Likewise.
12541 * util/i386/efi/grub-mkimage.c: Likewise.
12542 * util/raid.c: Likewise.
12543
7f02114b 125442009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
12545
12546 * commands/videotest.c: Removed include to grub/machine/memory.h.
12547
12548 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
12549 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
12550 (video_mod_SOURCES): Removed.
12551 (video_mod_CFLAGS): Likewise.
12552 (video_mod_LDFLAGS): Likewise.
12553 (gfxterm_mod_SOURCES): Likewise.
12554 (gfxterm_mod_CFLAGS): Likewise.
12555 (gfxterm_mod_LDFLAGS): Likewise.
12556 (videotest_mod_SOURCES): Likewise.
12557 (videotest_mod_CFLAGS): Likewise.
12558 (videotest_mod_LDFLAGS): Likewise.
12559 (bitmap_mod_SOURCES): Likewise.
12560 (bitmap_mod_CFLAGS): Likewise.
12561 (bitmap_mod_LDFLAGS): Likewise.
12562 (tga_mod_SOURCES): Likewise.
12563 (tga_mod_CFLAGS): Likewise.
12564 (tga_mod_LDFLAGS): Likewise.
12565 (jpeg_mod_SOURCES): Likewise.
12566 (jpeg_mod_CFLAGS): Likewise.
12567 (jpeg_mod_LDFLAGS): Likewise.
12568 (png_mod_SOURCES): Likewise.
12569 (png_mod_CFLAGS): Likewise.
12570 (png_mod_LDFLAGS): Likewise.
12571
12572 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
12573 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
12574 (video_mod_SOURCES): Added.
12575 (video_mod_CFLAGS): Likewise.
12576 (video_mod_LDFLAGS): Likewise.
12577 (videotest_mod_SOURCES): Likewise.
12578 (videotest_mod_CFLAGS): Likewise.
12579 (videotest_mod_LDFLAGS): Likewise.
12580 (bitmap_mod_SOURCES): Likewise.
12581 (bitmap_mod_CFLAGS): Likewise.
12582 (bitmap_mod_LDFLAGS): Likewise.
12583 (tga_mod_SOURCES): Likewise.
12584 (tga_mod_CFLAGS): Likewise.
12585 (tga_mod_LDFLAGS): Likewise.
12586 (jpeg_mod_SOURCES): Likewise.
12587 (jpeg_mod_CFLAGS): Likewise.
12588 (jpeg_mod_LDFLAGS): Likewise.
12589 (png_mod_SOURCES): Likewise.
12590 (png_mod_CFLAGS): Likewise.
12591 (png_mod_LDFLAGS): Likewise.
12592 (gfxterm_mod_SOURCES): Likewise.
12593 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 12594 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 12595
12596 * term/gfxterm.c: Removed include to grub/machine/memory.h,
12597 grub/machine/console.h.
12598
644fff97 125992009-01-04 Jerone Young <jerone@gmail.com>
12600
12601 Make on screen instructions clearer
12602
12603 Based on patch created by Jidanni <jidanni@jidanni.org>
12604
12605 * normal/menu.c: print clearer instructions on the screen
12606
1e901a75 126072009-01-02 Colin D Bennett <colin@gibibit.com>
12608
12609 New font engine.
34c44600 12610
1e901a75 12611 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
12612 build system and fixed gfxterm.c to work with different sized fonts.
12613
12614 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 12615
1e901a75 12616 * configure: Re-generated.
34c44600 12617
1e901a75 12618 * DISTLIST: Removed font/manager.c.
12619 Added font/font.c.
12620 Added font/font_cmd.c.
34c44600 12621
1e901a75 12622 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
12623 compilation.
34c44600 12624
1e901a75 12625 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 12626
12627 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 12628
12629 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 12630
1e901a75 12631 * normal/menu.c: Likewise.
34c44600 12632
1e901a75 12633 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
12634 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 12635
1e901a75 12636 * include/grub/font.h: Replaced with new file.
34c44600 12637
1e901a75 12638 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
12639 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
12640 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
12641 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
12642 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 12643 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 12644 fg_red, fg_green, fg_blue, fg_alpha.
12645 (grub_video_adapter): Removed blit_glyph.
34c44600 12646 (grub_video_blit_glyph): Removed.
12647
1e901a75 12648 * font/manager.c: Removed file.
34c44600 12649
12650 * font/font.c: New file.
12651
1e901a75 12652 * font/font_cmd.c: Likewise.
34c44600 12653
1e901a75 12654 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 12655
1e901a75 12656 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
12657 (grub_video_vbe_map_rgba): Likewise.
12658 (grub_video_vbe_unmap_color_int): Likewise.
12659 (grub_video_vbe_blit_glyph): Removed.
12660 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 12661
1e901a75 12662 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
12663 (get_pixel): Likewise.
34c44600 12664 (set_pixel): Likewise.
12665
1e901a75 12666 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 12667
1e901a75 12668 * term/gfxterm.c: Adapted to new font engine.
34c44600 12669
1e901a75 12670 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 12671
1e901a75 12672 * term/i386/pc/vga.c: Likewise.
34c44600 12673
1e901a75 12674 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 12675
1e901a75 12676 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 12677
1e901a75 12678 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 12679
1e901a75 12680 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 12681
1e901a75 12682 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 12683
1e901a75 12684 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 12685
1e901a75 12686 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 12687
1e901a75 12688 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 12689
1e901a75 12690 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
12691
12692 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 12693
1e901a75 12694 * util/grub-mkconfig_lib.in: Changed font extension.
12695
278922e8 126962008-12-28 Felix Zielcke <fzielcke@z-51.de>
12697
12698 * util/getroot.c (grub_util_get_grub_dev): Add support for
12699 /dev/md/dNNpNN style partitionable mdraid devices.
12700
3ced05cf 127012008-12-12 Alex Smith <alex@alex-smith.me.uk>
12702
12703 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
12704 at a time limit of the PXE TFTP API correctly.
12705 (grub_pxefs_close): Likewise.
12706
7fd0ee30 127072008-11-29 Robert Millan <rmh@aybabtu.com>
12708
34c44600 12709 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 12710 grub_ata_device_initialize() calls.
12711
34c44600 127122008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 12713
12714 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
12715 iteration failed.
12716 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
12717
89313780 127182008-11-28 Robert Millan <rmh@aybabtu.com>
12719
12720 Fix build on powerpc-ieee1275. Based on patch created by
12721 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
12722 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
12723 `kern/ieee1275/mmap.c'.
12724 * include/grub/powerpc/ieee1275/memory.h: New file.
12725
15257703 12726 Provide grub-install on coreboot.
12727 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
12728 (grub_install_SOURCES): New variable.
12729 * util/i386/pc/grub-install.in: Add a few condition checks to make it
12730 usable on coreboot.
12731
9fc5388a 127322008-11-25 Felix Zielcke <fzielcke@z-51.de>
12733
12734 * util/grub-fstest.c (grub_term_get_current_input): Change return type
12735 to `grub_term_input_t'.
12736 (grub_term_get_current_output): Change return type to
12737 `grub_term_output_t'.
12738
bc3a2f31 127392008-11-22 Robert Millan <rmh@aybabtu.com>
12740
34c44600 12741 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 12742 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
12743 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
12744 grub_vga_text_cls().
12745
80fc88f2 12746 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 12747 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 12748
cbf36fd3 12749 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
12750 to 0x200000 (avoids trouble with some OFW implementations, and matches
12751 with the one in Yaboot).
12752 Reported by Manoel Abranches
12753
73e8e268 127542008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 12755
12756 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
12757 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
12758
73e8e268 12759 * util/grub-mkconfig_lib.in (grub_warn): New function.
12760 (convert_system_path_to_grub_path): Use grub_warn() when issuing
12761 warnings, to obtain consistent formatting.
12762 * util/grub.d/00_header.in: Likewise.
12763 * util/update-grub_lib.in: Likewise.
12764
e94045a1 12765 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 12766 Move comment text to `#error' stanza.
e94045a1 12767
79d29fd7 12768 Harmonize ieee1275's grub_available_iterate() with the generic
12769 grub_machine_mmap_iterate() interface (fixes a recently-introduced
12770 build problem on i386-ieee1275):
12771 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
12772 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
12773 parameter `type'. Update all users of this function.
12774 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
12775 `kern/ieee1275/mmap.c'.
12776 * kern/ieee1275/init.c
12777 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
12778 with ...
12779 (grub_machine_mmap_iterate): ... this.
12780 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
12781 return type to `grub_err_t'. Update all implementations of this
12782 function prototype.
12783 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
12784 Likewise.
12785
60d6b16e 12786 Add `lsmmap' command (lists firmware-provided memory map):
12787 * commands/lsmmap.c: New file.
12788 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
12789 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
12790 variables.
12791 * conf/powerpc-ieee1275.rmk: Likewise.
12792 * conf/i386-coreboot.rmk: Likewise.
12793 * conf/i386-ieee1275.rmk: Likewise.
12794
ebaaf49b 127952008-11-19 Robert Millan <rmh@aybabtu.com>
12796
12797 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 12798 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
12799 constraints to initrd allocation (based on code from
12800 loader/i386/pc/linux.c). Without them, initrd was allocated too high
12801 for Linux to find it.
ebaaf49b 12802
dfab719f 128032008-11-14 Robert Millan <rmh@aybabtu.com>
12804
12805 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
12806 order to cope with duplicate slashes.
12807
10fc3eb9 128082008-11-14 Robert Millan <rmh@aybabtu.com>
12809
12810 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
12811 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
12812 don't want to mess with lower memory, because it is used in the Linux
12813 loader.
12814
12815 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 12816 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 12817 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
12818 is in our heap (probably as a result of it being corrupted during
2f2a3442 12819 decompression). Add #error instance with comment to explain why this
12820 loader isn't currently usable on PC/BIOS.
10fc3eb9 12821
e2e07847 128222008-11-14 Robert Millan <rmh@aybabtu.com>
12823
12824 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 12825 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 12826
fe8e8d69 128272008-11-12 Robert Millan <rmh@aybabtu.com>
12828
12829 Make loader/i386/linux.c buildable on i386-pc (although disabled).
12830
12831 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
12832 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
12833 from here ...
12834 * include/grub/i386/pc/memory.h: ... to here.
12835
976b07d0 128362008-11-12 Robert Millan <rmh@aybabtu.com>
12837
12838 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
12839 split).
12840
12841 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
12842 (grub_console_cur_color, grub_console_real_putchar)
12843 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
12844 (grub_console_setcolorstate, grub_console_setcolor)
12845 (grub_console_getcolor): Move from here ...
12846 * include/grub/i386/vga_common.h: ... to here (new file).
12847
12848 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
12849 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
12850 `<grub/i386/io.h>'.
12851 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
12852 `<grub/i386/vga_common.h>'.
12853
76679cd3 128542008-11-12 Robert Millan <rmh@aybabtu.com>
12855
12856 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
12857 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
12858 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
12859 variables.
12860 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
12861 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
12862
12863 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
12864 grub_console_init() with call to grub_vga_text_init().
12865 (grub_machine_fini): Replace call to
12866 grub_console_fini() with call to grub_vga_text_fini() and
12867 grub_at_keyboard_fini().
12868
12869 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
12870 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
12871 (grub_console_setcolorstate, grub_console_setcolor)
12872 (grub_console_getcolor): New function prototypes.
12873
12874 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
12875 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
12876 (grub_vga_text_setcursor): Static-ize.
12877 (grub_vga_text_term): New structure.
12878 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
12879
12880 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
12881 (grub_console_cur_color, grub_console_standard_color)
12882 (grub_console_normal_color, grub_console_highlight_color)
12883 (map_char, grub_console_putchar, grub_console_getcharwidth)
12884 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
12885 (grub_console_getcolor): Move from here ...
12886 * term/i386/vga_common.c: ... to here (same function names).
12887
95b841d3 128882008-11-12 Robert Millan <rmh@aybabtu.com>
12889
12890 Use newly-added Multiboot support in coreboot.
12891
12892 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
12893 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
12894
12895 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
12896 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
12897 (codestart): Store the MBI in `startup_multiboot_info' when we're
12898 being loaded using Multiboot.
12899
12900 * kern/i386/coreboot/init.c (grub_machine_init): Move
12901 grub_at_keyboard_init() call to beginning of function (useful for
12902 debugging). Call grub_machine_mmap_init() before attempting to use
12903 grub_machine_mmap_iterate().
12904 (grub_lower_mem, grub_upper_mem): Move from here ...
12905 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
12906 here (new file).
12907
12908 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
12909 function prototype.
12910
761ca975 129112008-11-12 Robert Millan <rmh@aybabtu.com>
12912
12913 Fix a regression introduced by the at_keyboard.mod split. Because
12914 some terminals are default on some platforms and non-default on
12915 others, the first terminal being registered determines which is
12916 going to be default.
12917
12918 * kern/term.c (grub_term_register_input): If this is the first
12919 terminal being registered, set it as the current one.
12920 (grub_term_register_output): Likewise.
12921
12922 * term/efi/console.c (grub_console_init): Do not call
12923 grub_term_set_current_output() or grub_term_set_current_input().
12924 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
12925 * term/i386/pc/console.c (grub_console_init): Likewise.
12926 (grub_console_fini): Do not call grub_term_set_current_input()
12927 (but leave grub_term_set_current_output() to restore text mode).
12928
6c529df7 129292008-11-10 Robert Millan <rmh@aybabtu.com>
12930
12931 * util/grub.d/00_header.in: Add backward compatibility check for
12932 versions of terminal.mod that don't understand `terminal_input' or
12933 `terminal_output'.
12934
132e4113 129352008-11-09 Robert Millan <rmh@aybabtu.com>
12936
12937 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
12938 `terminal_input' / `terminal_output', not `terminal'.
12939
ac293d50 129402008-11-08 Robert Millan <rmh@aybabtu.com>
12941
12942 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 12943 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 12944
0025933a 129452008-11-08 Robert Millan <rmh@aybabtu.com>
12946
12947 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 12948 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 12949 members. Update all users.
12950 * util/console.c (grub_ncurses_term): Split in ...
12951 (grub_ncurses_term_input): ... this, and ...
12952 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 12953 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 12954
37c86336 129552008-11-08 Robert Millan <rmh@aybabtu.com>
12956
12957 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
12958 (PKGDATA): Add $(pkgdata_SRCDIR).
12959 (pkglib_BUILDDIR): New variable.
12960 (pkgdata_SRCDIR): New variable.
12961 (build_env.mk): New target.
12962 (include_DATA): New variable.
12963 (install-local): Install $(include_DATA) files in $(includedir).
12964
b6c15a2d 129652008-11-07 Pavel Roskin <proski@gnu.org>
12966
d99d46f1 12967 * gendistlist.sh: Use C locale for sorting to ensure consistent
12968 output on all systems.
12969
b6c15a2d 12970 * util/grub.d/00_header.in: Remove incorrect space before
12971 "serial".
12972
c32ee8c9 129732008-11-07 Robert Millan <rmh@aybabtu.com>
12974
12975 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
12976 per specification.
12977 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
12978 * loader/multiboot_loader.c (find_multi_boot2_header): New function
12979 (based on find_multi_boot1_header).
12980 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
12981 using find_multi_boot2_header(), and abort if neither Multiboot or
12982 Multiboot headers were found.
12983
651c29b7 129842008-11-07 Robert Millan <rmh@aybabtu.com>
12985
12986 Modularize at_keyboard.mod:
12987
12988 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
12989 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
12990 (at_keyboard_mod_LDFLAGS): New variables.
12991
12992 Actual terminal split:
12993
12994 * include/grub/term.h (struct grub_term): Split in ...
12995 (struct grub_term_input): ... this, and ...
12996 (struct grub_term_output): ... this. Update all users.
12997 (grub_term_set_current): Split in ...
12998 (grub_term_set_current_input): ... this, and ...
12999 (grub_term_set_current_output): ... this.
13000 (grub_term_get_current): Split in ...
13001 (grub_term_get_current_input): ... this, and ...
13002 (grub_term_get_current_output): ... this.
13003 (grub_term_register): Split in ...
13004 (grub_term_register_input): ... this, and ...
13005 (grub_term_register_output): ... this.
13006 (grub_term_unregister): Split in ...
13007 (grub_term_unregister_input): ... this, and ...
13008 (grub_term_unregister_output): ... this.
13009 (grub_term_iterate): Split in ...
13010 (grub_term_iterate_input): ... this, and ...
13011 (grub_term_iterate_output): ... this.
13012
13013 * kern/term.c (grub_term_list): Split in ...
13014 (grub_term_list_input): ... this, and ...
13015 (grub_term_list_output): ... this. Update all users.
13016 (grub_cur_term): Split in ...
13017 (grub_cur_term_input): ... this, and ...
13018 (grub_cur_term_output): ... this. Update all users.
13019 (grub_term_set_current): Split in ...
13020 (grub_term_set_current_input): ... this, and ...
13021 (grub_term_set_current_output): ... this.
13022 (grub_term_get_current): Split in ...
13023 (grub_term_get_current_input): ... this, and ...
13024 (grub_term_get_current_output): ... this.
13025 (grub_term_register): Split in ...
13026 (grub_term_register_input): ... this, and ...
13027 (grub_term_register_output): ... this.
13028 (grub_term_unregister): Split in ...
13029 (grub_term_unregister_input): ... this, and ...
13030 (grub_term_unregister_output): ... this.
13031 (grub_term_iterate): Split in ...
13032 (grub_term_iterate_input): ... this, and ...
13033 (grub_term_iterate_output): ... this.
13034
13035 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
13036 a check for input and one for output (and only attempt to get keys
13037 from user when input works).
13038
13039 * util/grub-probe.c (grub_term_get_current): Split in ...
13040 (grub_term_get_current_input): ... this, and ...
13041 (grub_term_get_current_output): ... this.
13042 * util/grub-fstest.c: Likewise.
13043 * util/i386/pc/grub-setup.c: Likewise.
13044 * util/grub-editenv.c: Likewise.
13045
13046 Portability adjustments:
13047
13048 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
13049 `term/i386/pc/at_keyboard.c'.
13050 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
13051 grub_keyboard_controller_init() (now handled by terminal .init).
13052 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
13053 grub_at_keyboard_init().
13054 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
13055 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
13056 at_keyboard.mod via input terminal interface).
13057 * include/grub/i386/coreboot/console.h: Convert into a stub for
13058 `<grub/i386/pc/console.h>'.
13059
13060 Migrate full terminals to new API:
13061
13062 * term/efi/console.c (grub_console_term): Split into ...
13063 (grub_console_term_input): ... this, and ...
13064 (grub_console_term_output): ... this. Update all users.
13065 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
13066 (grub_ofconsole_init): Split into ...
13067 (grub_ofconsole_init_input): ... this, and ...
13068 (grub_ofconsole_init_output): ... this.
13069 (grub_ofconsole_term): Split into ...
13070 (grub_ofconsole_term_input): ... this, and ...
13071 (grub_ofconsole_term_output): ... this. Update all users.
13072 * term/i386/pc/serial.c (grub_serial_term): Split into ...
13073 (grub_serial_term_input): ... this, and ...
13074 (grub_serial_term_output): ... this. Update all users.
13075 * term/i386/pc/console.c (grub_console_term): Split into ...
13076 (grub_console_term_input): ... this, and ...
13077 (grub_console_term_output): ... this. Update all users.
13078 (grub_console_term_input): Only enable it on PC/BIOS platform.
13079 (grub_console_init): Remove grub_keyboard_controller_init() call.
13080
13081 Migrate input terminals to new API:
13082
13083 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
13084 `i386' and `i386/pc' to enable build on x86_64 (this driver is
13085 i386-specific anyway).
13086 (grub_console_checkkey): Rename to ...
13087 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
13088 users.
13089 (grub_keyboard_controller_orig): New variable.
13090 (grub_console_getkey): Rename to ...
13091 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
13092 users.
13093 (grub_keyboard_controller_init): Static-ize. Save original
13094 controller value so that it can be restored ...
13095 (grub_keyboard_controller_fini): ... here (new function).
13096 (grub_at_keyboard_term): New structure.
13097 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
13098 functions.
13099
13100 Migrate output terminals to new API:
13101
13102 * term/i386/pc/vga.c (grub_vga_term): Change type to
13103 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
13104 members. Update all users.
13105 * term/gfxterm.c (grub_video_term): Change type to
13106 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
13107 members. Update all users.
13108 * include/grub/i386/pc/console.h (grub_console_checkkey)
13109 (grub_console_getkey): Do not export (no longer needed by gfxterm,
13110 etc).
13111
13112 Migrate `terminal' command and userland tools to new API:
13113
13114 * commands/terminal.c (grub_cmd_terminal): Split into ...
13115 (grub_cmd_terminal_input): ... this, and ...
13116 (grub_cmd_terminal_output): ... this.
13117 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
13118 `terminal_input' and `terminal_output'.
13119 * util/grub.d/00_header.in: Adjust `terminal' calls to new
13120 `terminal_input' / `terminal_output' API.
13121 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
13122 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
13123 provided ${GRUB_TERMINAL}, convert it).
13124
96e5d876 131252008-11-04 Robert Millan <rmh@aybabtu.com>
13126
13127 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
13128 for FreeBSD.
13129 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
13130
556f3775 131312008-11-03 Bean <bean123ch@gmail.com>
13132
13133 * kern/elf.c (grub_elf32_load): Revert to previous code.
13134 (grub_elf64_load): Likewise.
13135
13136 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
13137
926b9823 131382008-11-01 Robert Millan <rmh@aybabtu.com>
13139
13140 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
13141 (TARGET_CPPFLAGS): Likewise.
13142 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
13143
1432e958 131442008-11-01 Carles Pina i Estany <carles@pina.cat>
13145
13146 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
13147
dba3f844 131482008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 13149
13150 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
13151 addition of objects until the code is not going to be able to fail.
13152
dba3f844 131532008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 13154
13155 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
13156 (add a missing NULL check, and correct them by moving the pointer
13157 operations after the actual check).
13158
7ab28c21 131592008-10-29 Robert Millan <rmh@aybabtu.com>
13160
13161 * util/i386/pc/grub-install.in: Handle empty string as output from
13162 make_system_path_relative_to_its_root().
13163
1b7748eb 131642008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
13165
13166 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
13167 circular metadata worst case scenario. If the metadata is circular
13168 then copy the wrap in place.
13169 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
13170 project lib/format_text/layout.h
13171 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
13172
c9618ab2 131732008-10-03 Felix Zielcke <fzielcke@z-51.de>
13174
7a36edca 13175 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 13176
bf981c62 131772008-10-03 Felix Zielcke <fzielcke@z-51.de>
13178
13179 * util/update-grub_lib.in: Mention filename in warning message.
13180
6d994591 131812008-09-29 Felix Zielcke <fzielcke@z-51.de>
13182
13183 * NEWS: Update for rename of update-grub to grub-mkconfig.
13184
18ade780 131852008-09-29 Felix Zielcke <fzielcke@z-51.de>
13186
13187 * util/update-grub_lib.in: Copy to ...
13188 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 13189 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 13190 * util/update-grub.in: Rename to ...
13191 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
13192 option. Add `--output' option to allow users to specify the generated
13193 configuration file. Default to stdout.
13194 (update_grub_dir): Rename to ...
13195 (grub_mkconfig_dir): ... this.
13196 (grub_cfg): Default to an empty string.
13197 * conf/common.rmk (update-grub): Rename to ...
13198 (grub-mkconfig): ... this.
13199 (update-grub_lib): Copy to ...
13200 (grub-mkconfig_lib): ... this.
13201 (update-grub_SCRIPTS): Copy to ...
13202 (grub-mkconfig_SCRIPTS): ... this. Update all users.
13203 (update-grub_DATA): Rename to ...
13204 (grub-mkconfig_DATA): ... this.
13205
556ce6ac 132062008-09-28 Robert Millan <rmh@aybabtu.com>
13207
13208 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
13209 to `modified'. Add the real `created' field.
13210 (grub_iso9660_uuid): Use `modified' rather than `created' for
13211 constructing the UUID.
13212
132132008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 13214
13215 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
13216 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
13217
92274e85 132182008-09-28 Bean <bean123ch@gmail.com>
13219
13220 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
13221 Thanks to Christian Franke for finding this bug.
13222
add6f17a 132232008-09-25 Robert Millan <rmh@aybabtu.com>
13224
13225 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
13226 instances of grub_util_get_disk_name() (see previous commit).
13227
d2a367b8 132282008-09-25 Robert Millan <rmh@aybabtu.com>
13229
13230 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
13231 `util/i386/get_disk_name.c'.
13232 * conf/i386-efi.rmk: Likewise.
13233 * conf/x86_64-efi.rmk: Likewise.
13234 * conf/i386-coreboot.rmk: Likewise.
13235 * conf/i386-ieee1275.rmk: Likewise.
13236 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
13237 `util/ieee1275/get_disk_name.c'.
13238 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
13239 * util/ieee1275/get_disk_name.c: Remove file.
13240 * util/i386/get_disk_name.c: Remove file.
13241 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
13242 "hd%d" for device.map entries, rather than using
13243 grub_util_get_disk_name().
13244
81a06771 132452008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 13246
13247 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
13248 warning.
13249 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
13250
5a004279 132512008-09-24 Carles Pina i Estany <carles@pina.cat>
13252
13253 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
13254 Changed to 0x5100.
13255 (GRUB_TERM_PPAGE): Changed to 0x4900.
13256
397093d3 132572008-09-24 Robert Millan <rmh@aybabtu.com>
13258
13259 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
13260 macros (they were i386-pc specific).
13261 * include/grub/sparc64/ieee1275/console.h: Likewise.
13262 * include/grub/efi/console.h: Likewise.
13263
a91b6c7c 132642008-09-22 Bean <bean123ch@gmail.com>
13265
13266 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
13267 resident and in attribute list.
13268
13269 * include/grub/ntfs.h (BMP_LEN): Removed.
13270
c40fd116 132712008-09-22 Bean <bean123ch@gmail.com>
13272
81a06771 13273 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 13274 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
13275
13276 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
13277 error occurs, as grub_disk_open will call grub_disk_close, which will
13278 call p->close (scsi).
13279
81a06771 132802008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 13281
13282 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
13283 (AC_PREREQ): Bumped to 2.59.
13284 (AC_TRY_COMPILE): Replace obsolete macro with ...
13285 (AC_COMPILE_IFELSE): ... this.
13286 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
13287 (AC_LINK_IFELSE): ... this.
13288
5dc43410 132892008-09-21 Felix Zielcke <fzielcke@z-51.de>
13290
13291 * autogen.sh: Add a call to `gendistlist.sh'.
13292
9035dce4 132932008-09-19 Christian Franke <franke@computer.org>
13294
13295 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
13296 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
13297 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
13298 Export __enable_execute_stack() to modules.
13299 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
13300 New function.
13301
7fd75377 133022008-09-09 Felix Zielcke <fzielcke@z-51.de>
13303
040030b3 13304 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
13305 Sort the list.
13306
133072008-09-09 Felix Zielcke <fzielcke@z-51.de>
13308
13309 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 13310 #include <grub/util/hostdisk.h>.
13311
89d5ffcf 133122008-09-08 Robert Millan <rmh@aybabtu.com>
13313
13314 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
13315 segments when their filesz is zero (grub_file_read() interprets
81a06771 13316 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 13317 Use `lowest_segment' rather than 0 for calculating the current
13318 segment load address.
13319
40da438f 133202008-09-08 Robert Millan <rmh@aybabtu.com>
13321
13322 * util/hostdisk.c (open_device): Replace a grub_util_info() call
13323 with grub_dprintf("hostdisk", ...), as it was so verbose that it
13324 clobbered useful information.
13325
ddbf5556 133262008-09-08 Robert Millan <rmh@aybabtu.com>
13327
13328 * include/grub/util/biosdisk.h: Move to ...
13329 * include/grub/util/hostdisk.h: ... here. Update all users.
13330 * util/biosdisk.c: Move to ...
13331 * util/hostdisk.c: ... here. Update all users.
13332
783d0f48 133332008-09-07 Robert Millan <rmh@aybabtu.com>
13334
13335 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
13336 variables.
13337 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
13338 and length can be stored directly in the `mbi->mmap_addr' and
13339 `mbi->mmap_length' struct fields.
13340
548e2ea5 133412008-09-07 Robert Millan <rmh@aybabtu.com>
13342
13343 * conf/i386.rmk: New file. Provides declaration for building
13344 `cpuid.mod'.
13345 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
13346 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
13347 variables.
13348 Include `conf/i386.mk'.
13349 * conf/i386-efi.rmk: Likewise.
13350 * conf/x86_64-efi.rmk: Likewise.
13351 * conf/i386-coreboot.rmk: Likewise.
13352 * conf/i386-ieee1275.rmk: Likewise.
13353
0ea85a37 133542008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
13355
13356 Based on patch created by Colin D Bennett <colin@gibibit.com>.
13357 Adds optimization support for BGR based modes.
13358
13359 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
13360 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
13361 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
13362 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
13363 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
13364 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
13365 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
13366 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
13367 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
13368 (grub_video_i386_vbeblit_index_index): Likewise.
13369 (grub_video_i386_vbeblit_replace_directN): Added.
13370 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
13371 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
13372 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
13373 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
13374 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
13375 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 13376 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 13377 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
13378 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
13379 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
13380 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
13381 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
13382 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
13383
13384 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
13385 (grub_video_i386_vbefill_R8G8B8): Likewise.
13386 (grub_video_i386_vbefill_index): Likewise.
13387 (grub_video_i386_vbefill_direct32): Added.
13388 (grub_video_i386_vbefill_direct24): Likewise.
13389 (grub_video_i386_vbefill_direct16): Likewise.
13390 (grub_video_i386_vbefill_direct8): Likewise.
13391
81a06771 13392 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 13393 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
13394 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
13395 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
13396 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
13397 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 13398
0ea85a37 13399 * video/video.c (grub_video_get_blit_format): Updated to use new
13400 blit formats. Added handling for 16 bit color modes.
81a06771 13401
13402 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 13403 fillers.
13404 (common_blitter): Updated to use new blitters.
13405
13406 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
13407 Removed.
13408 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
13409 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
13410 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
13411 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
13412 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
13413 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
13414 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
13415 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
13416 (grub_video_i386_vbeblit_index_index): Likewise.
13417 (grub_video_i386_vbeblit_replace_directN): Added.
13418 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
13419 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
13420 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
13421 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
13422 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
13423 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
13424 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
13425 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
13426 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
13427 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
13428 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
13429 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
13430 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 13431
0ea85a37 13432 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
13433 (grub_video_i386_vbefill_R8G8B8): Likewise.
13434 (grub_video_i386_vbefill_index): Likewise.
13435 (grub_video_i386_vbefill_direct32): Added.
13436 (grub_video_i386_vbefill_direct24): Likewise.
13437 (grub_video_i386_vbefill_direct16): Likewise.
13438 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 13439
0ea85a37 13440 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
13441 types.
81a06771 13442
0ea85a37 13443 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
13444 types.
81a06771 13445
0ea85a37 13446 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
13447 blitter types.
81a06771 13448
0ea85a37 13449 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
13450 types.
13451
e8a83df6 134522008-09-06 Felix Zielcke <fzielcke@z-51.de>
13453
13454 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
13455 RAID level 1.
13456
6bcd8ee5 134572008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 13458
6bcd8ee5 13459 * fs/iso9660.c (grub_iso9660_date): New structure.
13460 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
13461 (grub_iso9660_uuid): New function.
c375ae58 13462
59261157 134632008-09-05 Bean <bean123ch@gmail.com>
13464
13465 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
13466
13467 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
13468 insensitive bit for names in Win32 and Win32 & DOS namespace.
13469
13470 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
13471
13472 * include/grub/types.h (LONG_MAX): Likewise.
13473
58b6645a 134742008-09-04 Felix Zielcke <fzielcke@z-51.de>
13475
4ee55921 13476 * util/getroot.c: Include <config.h>.
13477 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
13478 add support for /dev/md/N devices and handle LVM double dash escaping.
13479
134802008-09-04 Felix Zielcke <fzielcke@z-51.de>
13481
13482 * config.guess: Update to latest version from config git.
13483 * config.sub: Likewise.
58b6645a 13484
9124f65d 134852008-09-03 Robert Millan <rmh@aybabtu.com>
13486
13487 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
13488 `disk->total_sectors'.
13489
81a06771 134902008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 13491
13492 * include/grub/normal.h: Fixed incorrect comment for
13493 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
13494
81a06771 134952008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 13496
13497 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
13498 values with defines.
13499
13500 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
13501 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
13502 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
13503 (GRUB_VBE_MODEATTR_COLOR): Likewise.
13504 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
13505 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
13506 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
13507 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
13508 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
13509 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
13510 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
13511 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
13512 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
13513 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
13514 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
13515 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
13516 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
13517 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
13518 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
13519
93d5cbf8 135202008-08-31 Robert Millan <rmh@aybabtu.com>
13521
13522 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
13523 declaration.
13524 (grub_multiboot): Fix a few warnings.
13525
21751d50 135262008-08-31 Robert Millan <rmh@aybabtu.com>
13527
13528 * loader/i386/pc/multiboot.c: Update comment not to say that
13529 boot_device support is unimplemented.
13530
e27a75c5 135312008-08-31 Robert Millan <rmh@aybabtu.com>
13532
13533 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
13534 or memory map support are unimplemented.
13535
81a06771 135362008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 13537
13538 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
13539
81a06771 135402008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 13541
13542 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
13543 total video memory in 'vbeinfo' output; show color format details for
13544 each video mode.
13545
7c5d8d95 135462008-08-30 Pavel Roskin <proski@gnu.org>
13547
13548 * util/genmoddep.c: Remove for real this time.
13549 * DISTLIST: Remove util/genmoddep.c.
13550
4cebd25a 135512008-08-30 Robert Millan <rmh@aybabtu.com>
13552
13553 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
13554 as required by Multiboot spec (it was already 4-byte aligned, but
13555 only by chance).
13556
b497a269 135572008-08-29 Pavel Roskin <proski@gnu.org>
13558
e3925185 13559 * kern/powerpc/ieee1275/crt0.S: Rename to ...
13560 * kern/powerpc/ieee1275/startup.S: ... this.
13561 * conf/powerpc-ieee1275.rmk: Adjust for the above.
13562 * DISTLIST: Likewise.
13563
b497a269 13564 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
13565 grub/cpu/kernel.h. Add start label for consistency with other
13566 platforms. Add grub_prefix immediately after start. Add jump
13567 to the code after grub_prefix.
13568 * include/grub/powerpc/kernel.h: Provide valid values for
13569 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
13570
6e5a42fe 135712008-08-29 Bean <bean123ch@gmail.com>
13572
13573 * configure.ac: Change host_os to cygwin for mingw.
13574 (asprintf): New check for function.
13575
13576 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
13577 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
13578
13579 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 13580 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 13581 sync, sleep and grub_util_get_disk_size for mingw.
13582
13583 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
13584 to get size in mingw.
13585 (open_device): Use flag O_BINARY if it's defined.
13586 (find_root_device): Add dummy code for mingw.
13587
13588 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
13589 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
13590 (get_scsi_disk_name): Return 0 for mingw.
13591
13592 * util/hostfs.c: #include <grub/util/misc.h>.
13593 (grub_hostfs_open): Use "rb" flag to open file, use
13594 grub_util_get_disk_size to get disk size for mingw.
13595
13596 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
13597 (asprintf): New function if HAVE_ASPRINTF is not set.
13598 (sync): New function for mingw.
13599 (sleep): Likewise.
13600 (grub_util_get_disk_size): Likewise.
13601
ab3f2673 136022008-08-28 Pavel Roskin <proski@gnu.org>
13603
13604 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
13605 kern/time.c.
13606
1c282483 136072008-08-28 Robert Millan <rmh@aybabtu.com>
13608
13609 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
13610
678e849c 136112008-08-28 Robert Millan <rmh@aybabtu.com>
13612
13613 Change find_grub_drive() syntax so it doesn't prevent it from
13614 detecting NULL names as errors.
13615
13616 * util/biosdisk.c (find_grub_drive): Move free slot search code
13617 from here ...
13618 (find_free_slot): ... to here.
13619 (read_device_map): Use find_free_slot() to search for free slots.
13620
965c75ca 136212008-08-27 Marco Gerards <marco@gnu.org>
13622
13623 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
13624 (scsi_mod_SOURCES): New variable.
13625 (scsi_mod_CFLAGS): Likewise
13626 (scsi_mod_LDFLAGS): Likewise.
13627
13628 * disk/scsi.c: New file.
13629
13630 * include/grub/scsi.h: Likewise.
13631
13632 * include/grub/scsicmd.h: Likewise.
13633
13634 * disk/ata.c: Include <grub/scsi.h>.
13635 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
13636 instead.
13637 (grub_ata_iterate): Skip ATAPI devices.
13638 (grub_ata_open): Only handle ATAPI devices.
13639 (struct grub_atapi_read): Removed.
13640 (grub_atapi_readsector): Likewise.
13641 (grub_ata_read): No longer handle ATAPI devices.
13642 (grub_ata_write): Likewise.
13643 (grub_atapi_iterate): New function.
13644 (grub_atapi_read): Likewise.
13645 (grub_atapi_write): Likewise.
13646 (grub_atapi_open): Likewise.
13647 (grub_atapi_close): Likewise.
13648 (grub_atapi_dev): New variable.
13649 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
13650 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
13651
13652 * include/grub/disk.h (enum grub_disk_dev_id): Add
13653 `GRUB_DISK_DEVICE_SCSI_ID'.
13654
c07ae501 136552008-08-26 Robert Millan <rmh@aybabtu.com>
13656
13657 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
13658 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
13659 descriptive.
13660
5ed20adc 136612008-08-23 Bean <bean123ch@gmail.com>
13662
13663 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
13664 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
13665 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
13666 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
13667 dm_nv.mod.
13668 (raid5rec_mod_SOURCES): New macro.
13669 (raid5rec_mod_CFLAGS): Likewise.
13670 (raid5rec_mod_LDFLAGS): Likewise.
13671 (raid6rec_mod_SOURCES): Likewise.
13672 (raid6rec_mod_CFLAGS): Likewise.
13673 (raid6rec_mod_LDFLAGS): Likewise.
13674 (mdraid_mod_SOURCES): Likewise.
13675 (mdraid_mod_CFLAGS): Likewise.
13676 (mdraid_mod_LDFLAGS): Likewise.
13677 (dm_nv_mod_SOURCES): Likewise.
13678 (dm_nv_mod_CFLAGS): Likewise.
13679 (dm_nv_mod_LDFLAGS): Likewise.
13680
13681 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
13682 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
13683 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
13684
13685 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
13686 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
13687
13688 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13689
13690 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
13691
13692 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13693
13694 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13695
13696 * disk/raid5_recover.c: New file.
13697
13698 * disk/raid6_recover.c: Likewise.
13699
13700 * disk/mdraid_linux.c: Likewise.
13701
13702 * disk/dmraid_nvidia.c: Likewise.
13703
13704 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
13705 ULONG_MAX.
13706
13707 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
13708 calculate the size of raid device.
13709 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
13710 different layout of raid5.
13711 (grub_raid_scan_device): Remove code specific to mdraid.
13712 (grub_raid_list): New variable.
13713 (free_array): New function.
13714 (grub_raid_register): Likewise.
13715 (grub_raid_unregister): Likewise.
13716 (grub_raid_rescan): Likewise.
13717 (GRUB_MOD_INIT): Don't iterate device here.
13718 (GRUB_MOD_FINI): Use free_array to release resource.
13719
13720 * include/grub/raid.h: Remove macro and structure specific to mdraid.
13721 (grub_raid5_recover_func_t): New function variable type.
13722 (grub_raid6_recover_func_t): Likewise.
13723 (grub_raid5_recover_func): New variable.
13724 (grub_raid6_recover_func): Likewise.
13725 (grub_raid_register): New function.
13726 (grub_raid_unregister): Likewise.
13727 (grub_raid_rescan): Likewise.
13728 (grub_raid_block_xor): Likewise.
13729
13730 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
13731 (CMD_CRC): New macro.
13732 (part): Removed.
13733 (read_file): Handle device as well as file.
13734 (cmd_crc): New function.
13735 (fstest): Handle multiple disks.
13736 (options): Remove part, raw and long, add root and diskcount.
13737 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 13738 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 13739 add handling for the new options, support multiple disks.
13740
13741 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
13742
29c18915 137432008-08-23 Bean <bean123ch@gmail.com>
13744
13745 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
13746
13747 * genfslist.sh: Ignore kernel.mod.
13748
13749 * genpartmaplist.sh: Likewise.
13750
8415f261 137512008-08-23 Robert Millan <rmh@aybabtu.com>
13752
13753 * util/getroot.c (find_root_device): Skip anything that starts with
13754 a dot, not just directories. This avoids things like /dev/.tmp.md0.
13755
d5a7dc5b 137562008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 13757
d5a7dc5b 13758 * util/update-grub.in (GRUB_GFXMODE): Export variable.
13759 * util/grub.d/00_header.in: Allow the administrator to change default
13760 gfxmode via ${GRUB_GFXMODE}.
13761
380cfbb4 137622008-08-21 Felix Zielcke <fzielcke@z-51.de>
13763
13764 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
13765
c9baafe7 137662008-08-21 Robert Millan <rmh@aybabtu.com>
13767
13768 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
13769 loader.
13770 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
13771 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
13772
e290bef2 137732008-08-20 Carles Pina i Estany <carles@pina.cat>
13774
13775 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
13776 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
13777
f9dbfc96 137782008-08-19 Robert Millan <rmh@aybabtu.com>
13779
13780 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
13781 (struct grub_virtual_screen): Remove `cursor_color'.
13782 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
13783 initialization.
13784 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
13785
dd6bd6ab 137862008-08-18 Robert Millan <rmh@aybabtu.com>
13787
13788 Unify (identical) linux_normal.c files.
13789 * loader/i386/efi/linux_normal.c: Move from here ...
13790 * loader/linux_normal.c: ... to here. Update all users.
13791 * loader/i386/pc/linux_normal.c: Delete. Update all users.
13792 * loader/i386/ieee1275/linux_normal.c: Likewise.
13793
7f42f83e 137942008-08-18 Robert Millan <rmh@aybabtu.com>
13795
13796 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
13797 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
13798 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
13799 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
13800 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
13801 New macros.
13802 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
13803 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
13804 (GRUB_LINUX_CL_END_OFFSET): ... to here.
13805 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
13806 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
13807 (GRUB_EFI_CL_END_OFFSET): Rename to ...
13808 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
13809 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
13810 Initialize `params->video_cursor_x' and `params->video_cursor_y'
13811 portably using grub_getxy().
13812 Replace `-EFI' with `-bzImage' in boot message.
13813
38487ddb 138142008-08-17 Robert Millan <rmh@aybabtu.com>
13815
13816 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
13817
deceb3ec 138182008-08-17 Robert Millan <rmh@aybabtu.com>
13819
13820 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
13821
13822 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
13823 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
13824 (grub_machine_mmap_iterate): New function declaration.
13825 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
13826 structure.
13827 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
13828 macros.
13829
13830 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
13831 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
13832 Move e820 parsing from here ...
13833 * kern/i386/pc/mmap.c: New file.
13834 (grub_machine_mmap_iterate): ... to here.
13835
13836 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
13837 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
13838 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
13839 (grub_available_iterate): Redeclare to return `void', and redeclare
13840 its hook to use grub_uint64_t as addr and size parameters, and rename
13841 to ...
13842 (grub_machine_mmap_iterate): ... this. Update all users.
13843
13844 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
13845 to make it more readable. Rename to ...
13846 (grub_machine_mmap_iterate): ... this.
13847
13848 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
13849 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
13850 (grub_multiboot): Allocate an extra region after the payload, and fill
13851 it with a Multiboot memory map. Adjust a.out loader to calculate size
13852 with the extra space.
13853 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
13854 with the extra space.
13855
f8aa0f43 138562008-08-17 Carles Pina i Estany <carles@pina.cat>
13857
9807deb9 13858 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 13859
605f5bb6 138602008-08-17 Felix Zielcke <fzielcke@z-51.de>
13861
13862 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
13863 mdate-sh to the list `find' searches for.
13864 * DISTLIST: Regenerated.
13865
210db6c6 138662008-08-16 Felix Zielcke <fzielcke@z-51.de>
13867
13868 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
13869 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 13870 genmoddep.awk, gensymlist.sh.in.
13871 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 13872 * DISTLIST: Regenerated.
48cdbfd4 13873 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 13874
1082b929 138752008-08-16 Robert Millan <rmh@aybabtu.com>
13876
13877 * disk/raid.c (grub_raid_init): Handle/report errors set by
13878 grub_device_iterate().
13879 * disk/lvm.c (grub_lvm_init): Likewise.
13880
42ce5170 138812008-08-15 Bean <bean123ch@gmail.com>
13882
13883 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
13884 and datehook.mod.
13885 (datetime_mod_SOURCES): New macro.
13886 (datetime_mod_CFLAGS): Likewise.
13887 (datetime_mod_LDFLAGS): Likewise.
13888 (date_mod_SOURCES): Likewise.
13889 (date_mod_CFLAGS): Likewise.
13890 (date_mod_LDFLAGS): Likewise.
13891 (datehook_mod_SOURCES): Likewise.
13892 (datehook_mod_CFLAGS): Likewise.
13893 (datehook_mod_LDFLAGS): Likewise.
13894
13895 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
13896 and datehook.mod.
13897 (datetime_mod_SOURCES): New macro.
13898 (datetime_mod_CFLAGS): Likewise.
13899 (datetime_mod_LDFLAGS): Likewise.
13900 (date_mod_SOURCES): Likewise.
13901 (date_mod_CFLAGS): Likewise.
13902 (date_mod_LDFLAGS): Likewise.
13903 (datehook_mod_SOURCES): Likewise.
13904 (datehook_mod_CFLAGS): Likewise.
13905 (datehook_mod_LDFLAGS): Likewise.
13906
13907 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
13908 and datehook.mod.
13909 (datetime_mod_SOURCES): New macro.
13910 (datetime_mod_CFLAGS): Likewise.
13911 (datetime_mod_LDFLAGS): Likewise.
13912 (date_mod_SOURCES): Likewise.
13913 (date_mod_CFLAGS): Likewise.
13914 (date_mod_LDFLAGS): Likewise.
13915 (datehook_mod_SOURCES): Likewise.
13916 (datehook_mod_CFLAGS): Likewise.
13917 (datehook_mod_LDFLAGS): Likewise.
13918
13919 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
13920 and datehook.mod.
13921 (datetime_mod_SOURCES): New macro.
13922 (datetime_mod_CFLAGS): Likewise.
13923 (datetime_mod_LDFLAGS): Likewise.
13924 (date_mod_SOURCES): Likewise.
13925 (date_mod_CFLAGS): Likewise.
13926 (date_mod_LDFLAGS): Likewise.
13927 (datehook_mod_SOURCES): Likewise.
13928 (datehook_mod_CFLAGS): Likewise.
13929 (datehook_mod_LDFLAGS): Likewise.
13930
13931 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
13932 and datehook.mod.
13933 (datetime_mod_SOURCES): New macro.
13934 (datetime_mod_CFLAGS): Likewise.
13935 (datetime_mod_LDFLAGS): Likewise.
13936 (date_mod_SOURCES): Likewise.
13937 (date_mod_CFLAGS): Likewise.
13938 (date_mod_LDFLAGS): Likewise.
13939 (datehook_mod_SOURCES): Likewise.
13940 (datehook_mod_CFLAGS): Likewise.
13941 (datehook_mod_LDFLAGS): Likewise.
13942
13943 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
13944
13945 * commands/date.c: New file.
13946
13947 * hook/datehook.c: Likewise.
13948
13949 * include/grub/lib/datetime.h: Likewise.
13950
13951 * include/grub/i386/cmos.h: Likewise.
13952
13953 * lib/datetime.c: Likewise.
13954
13955 * lib/i386/datetime.c: Likewise.
13956
13957 * lib/efi/datetime.c: Likewise.
13958
0e9242da 139592008-08-14 Robert Millan <rmh@aybabtu.com>
13960
13961 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
13962 (grub_mkelfimage_SOURCES): New variable.
13963 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
13964
13965 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
13966 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
13967 * conf/powerpc-ieee1275.rmk: Likewise.
13968 * conf/i386-ieee1275.rmk: Likewise.
13969
13970 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
13971 * kern/i386/coreboot/init.c: Likewise.
13972
13973 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
13974 with `<grub/cpu/kernel.h>'.
13975 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
13976 to ...
13977 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
13978 * kern/i386/coreboot/startup.S: Likewise.
13979
13980 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
13981 (GRUB_MOD_GAP): Remove.
13982 * include/grub/powerpc/kernel.h: New file.
13983 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
13984 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
13985 * include/grub/i386/kernel.h: New file.
13986 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
13987 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
13988 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
13989
13990 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
13991 `grub-mkelfimage'.
13992 Use --directory when invoking grub_mkimage.
13993
13994 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
13995 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
13996 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
13997 and GRUB_KERNEL_CPU_PREFIX.
13998
b86408f8 139992008-08-14 Felix Zielcke <fzielcke@z-51.de>
14000
d5e619ca 14001 * include/grub/err.h (grub_err_printf): New function prototype.
14002 * util/misc.c (grub_err_printf): New function.
14003 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
14004 grub_printf.
14005 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 14006
7161f0e0 140072008-08-13 Robert Millan <rmh@aybabtu.com>
14008
14009 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
14010
a1967522 140112008-08-13 Robert Millan <rmh@aybabtu.com>
14012
14013 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
14014 boot entry.
14015
371458b5 140162008-08-12 Robert Millan <rmh@aybabtu.com>
14017
14018 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
14019 of the relocation code from here ...
14020 (grub_multiboot): ... to here.
14021 (forward_relocator, backward_relocator): Move from here ...
14022 * kern/i386/loader.S (grub_multiboot_forward_relocator)
14023 (grub_multiboot_backward_relocator): ... to here.
14024 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
14025 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
14026 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
14027 (grub_multiboot_forward_relocator_end)
14028 (grub_multiboot_backward_relocator)
14029 (grub_multiboot_backward_relocator_end): New variables.
14030
05f9452b 140312008-08-12 Bean <bean123ch@gmail.com>
14032
14033 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
14034
20024ab0 140352008-08-11 Robert Millan <rmh@aybabtu.com>
14036
14037 * kern/i386/linuxbios/startup.S: Move from here ...
14038 * kern/i386/coreboot/startup.S: ... to here.
14039
14040 * kern/i386/linuxbios/init.c: Move from here ...
14041 * kern/i386/coreboot/init.c: ... to here.
14042
14043 * kern/i386/linuxbios/table.c: Move from here ...
14044 * kern/i386/coreboot/mmap.c: ... to here.
14045
14046 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
14047
e352e9cd 140482008-08-11 Robert Millan <rmh@aybabtu.com>
14049
14050 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
14051 errors. Leave it to the upper layer to handle them.
14052
2d05bc6a 140532008-08-09 Christian Franke <franke@computer.org>
14054
14055 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
14056 * conf/common.rmk: Install `grub-pe2elf' only if requested.
14057 Install `grub.d/10_windows' only on Cygwin.
14058 * configure.ac: Add subst of `target_os'.
14059 Check `target_os' also before setting TARGET_OBJ2ELF.
14060 Add `--enable-grub-pe2elf'.
14061
042bd419 140622008-08-08 Robert Millan <rmh@aybabtu.com>
14063
14064 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
14065 (grub_last_time): Change type to grub_uint64_t.
14066 (grub_disk_open): Migrate code from to using grub_get_time_ms().
14067 (grub_disk_close): Likewise.
14068
14069 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
14070 (run_menu): Migrate code from to using grub_get_time_ms().
14071
14072 * util/misc.c (grub_get_time_ms): New function.
14073
7f280db5 140742008-08-08 Marco Gerards <marco@gnu.org>
14075
14076 * disk/ata.c (grub_ata_regget): Change return type to
14077 `grub_uint8_t'.
14078 (grub_ata_regget2): Likewise.
14079 (grub_ata_wait_status): New function.
14080 (grub_ata_wait_busy): Removed function, updated all users to use
14081 `grub_ata_wait_status'.
14082 (grub_ata_wait_drq): Likewise.
14083 (grub_ata_cmd): New function.
14084 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
14085 error handling.
14086 (grub_ata_pio_write): Add error handling.
14087 (grub_atapi_identify): Likewise.
14088 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
14089 handling.
14090 (grub_ata_identify): Use `grub_ata_cmd' and improve error
14091 handling. Actually use the detected registers. Reorder the
14092 detection logic such that it is easier to read.
14093 (grub_ata_pciinit): Do not assign the same ID to each controller.
14094 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
14095 handling.
14096 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
14097
14098 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
14099
1fbc5e66 141002008-08-08 Marco Gerards <marco@gnu.org>
14101
14102 * NEWS: Update.
14103
819ce6c0 141042008-08-07 Bean <bean123ch@gmail.com>
14105
14106 * include/grub/x86_64/pci.h: New file.
14107
5c41d44d 141082008-08-07 Christian Franke <franke@computer.org>
14109
14110 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
14111 (TIMER2_GATE): Likewise.
14112 (grub_pit_wait): Add enable/disable of the timer2 gate
14113 bit of port 0x61. This fixes a possible infinite loop.
14114
5ebc275d 141152008-08-07 Bean <bean123ch@gmail.com>
14116
14117 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
14118 kern/i386/tsc.c and kern/i386/pit.c.
14119
14120 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
14121 x86_64 platform.
14122
14123 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
14124 <grub/i386/tsc.h>.
14125
14126 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
14127
e383b3d0 141282008-08-07 Bean <bean123ch@gmail.com>
14129
14130 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
14131
14132 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
14133
14134 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
14135 multiple inclusion. Add #include <grub/types.h>.
14136
1cbb58ac 141372008-08-06 Christian Franke <franke@computer.org>
14138
14139 * conf/common.rmk: Build and install `10_windows'.
14140 * util/grub.d/10_windows.in: New script.
14141
337f5a1e 141422008-08-06 Pavel Roskin <proski@gnu.org>
14143
14144 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
14145
057bc4ac 141462008-08-06 Robert Millan <rmh@aybabtu.com>
14147
14148 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
14149 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
14150
2b99f123 141512008-08-06 Bean <bean123ch@gmail.com>
14152
14153 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
14154 (grub_pxefs_fs_int): Remove dummy definition.
14155 (grub_pxefs_open): Use data->block_size to store the current block
14156 size setting.
14157 (grub_pxefs_read): Use block size stored in data->block_size. As the
14158 value of grub_pxe_blksize can be changed after the file is opened.
14159
9f0234cb 141602008-08-06 Bean <bean123ch@gmail.com>
14161
14162 * fs/i386/pc/pxe.c (curr_file): new variable.
14163 (grub_pxefs_open): Simply the handling of pxe file system. Don't
14164 require the dummy internal file system anymore.
14165 (grub_pxefs_read): Removed.
14166 (grub_pxefs_close): Likewise.
14167 (grub_pxefs_fs_int): Likewise.
14168 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
14169 connection when we switch file.
14170 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
14171
a55d42e0 141722008-08-06 Robert Millan <rmh@aybabtu.com>
14173
14174 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
14175 `halt.mod'.
14176 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
14177 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
14178
14179 * kern/i386/halt.c: New file.
14180 * kern/i386/reboot.c: Likewise.
14181 * include/grub/i386/reboot.h: Likewise.
14182 * include/grub/i386/halt.h: Likewise.
14183
14184 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
14185 Include `<grub/cpu/halt.h>'.
14186 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
14187 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
14188
14189 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
14190 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
14191 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
14192 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
14193 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
14194 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
14195 from here ...
14196 * include/grub/i386/at_keyboard.h: ... to here.
14197
24371d26 141982008-08-05 Robert Millan <rmh@aybabtu.com>
14199
14200 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
14201 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
14202 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
14203 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
14204 `kern/generic/millisleep.c'.
14205
14206 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
14207 instead of grub_get_rtc().
14208 (grub_tsc_init): Initialize `tsc_boot_time'.
14209
14210 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
14211 (grub_machine_init): Use grub_tsc_init() rather than
14212 installing an RTC-based handler via grub_install_get_time_ms().
14213
14214 * kern/i386/pit.c: New file.
14215 * include/grub/i386/pit.h: Likewise.
14216
9e7007b3 142172008-08-05 Bean <bean123ch@gmail.com>
14218
14219 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
14220
14221 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
14222 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
14223 (pxe_mod_SOURCES): New macro.
14224 (pxe_mod_CFLAGS): Likewise.
14225 (pxe_mod_LDFLAGS): Likewise.
14226 (pxecmd_mod_SOURCES): Likewise.
14227 (pxecmd_mod_CFLAGS): Likewise.
14228 (pxecmd_mod_LDFLAGS): Likewise.
14229
14230 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
14231 (grub_pxe_call): Likewise.
14232
14233 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
14234
14235 * commands/i386/pc/pxecmd.c: New file.
14236
9f0234cb 14237 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 14238
14239 * include/grub/i386/pc/pxe.h: Likewise.
14240
6977d49f 142412008-08-05 Bean <bean123ch@gmail.com>
14242
14243 * util/console.c (grub_console_cur_color): New variable.
14244 (grub_console_standard_color): Likewise.
14245 (grub_console_normal_color): Likewise.
14246 (grub_console_highlight_color): Likewise.
14247 (color_map): Likewise.
14248 (use_color): Likewise.
14249 (NUM_COLORS): New macro.
14250 (grub_ncurses_setcolorstate): Handle color properly.
14251 (grub_ncurses_setcolor): Don't change color here, just remember the
14252 settings, color will be set in grub_ncurses_setcolorstate.
14253 (grub_ncurses_getcolor): New function.
14254 (grub_ncurses_init): Initialize color pairs.
14255 (grub_ncurses_term): New member grub_ncurses_getcolor.
14256
9c2ff3ee 142572008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 14258
9c2ff3ee 14259 High resolution timer support. Implemented for x86 CPUs using TSC.
14260 Extracted generic grub_millisleep() so it's linked in only as needed.
14261 This requires a Pentium compatible CPU; if the RDTSC instruction is
14262 not supported, then it falls back on the generic grub_get_time_ms()
14263 implementation that uses the machine's RTC.
14264
14265 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
14266 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
14267 `kern/generic/millisleep.c'.
14268
14269 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
14270 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
14271
14272 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
14273 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
14274
14275 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
14276
14277 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
14278 `kern/generic/millisleep.c'.
14279
14280 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
14281
14282 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
14283
14284 * kern/generic/rtc_get_time_ms.c: New file.
14285
14286 * kern/generic/millisleep.c: New file.
337f5a1e 14287
9c2ff3ee 14288 * kern/misc.c: Don't include
14289 <kern/time.h> anymore.
14290 (grub_millisleep_generic): Removed.
14291
14292 * commands/sleep.c (grub_interruptible_millisleep): Uses
14293 grub_get_time_ms() instead of grub_get_rtc().
14294
14295 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
14296 function.
14297 (grub_cpu_is_cpuid_supported): New inline function.
14298 (grub_cpu_is_tsc_supported): New inline function.
14299 (grub_tsc_init): New function prototype.
14300 (grub_tsc_get_time_ms): New function prototype.
14301
14302 * kern/i386/tsc.c (grub_get_time_ms): New file.
14303
14304 * include/grub/time.h: Include <grub/types.h.
14305 (grub_millisleep_generic): Removed.
14306 (grub_get_time_ms): New prototype.
14307 (grub_install_get_time_ms): New prototype.
14308 (grub_rtc_get_time_ms): New prototype.
14309
14310 * kern/time.c (grub_get_time_ms): New function.
14311 (grub_install_get_time_ms): New function.
14312
14313 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
14314 <grub/time.h> anymore.
14315 (grub_millisleep): Removed.
14316 (grub_machine_init): Call grub_tsc_init.
14317
14318 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
14319 get_time_ms() implementation.
14320
14321 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
14322 (ieee1275_get_time_ms): New function.
14323 (grub_machine_init): Install get_time_ms() implementation.
14324
14325 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
14326 (grub_machine_init): Call grub_tsc_init().
14327 (grub_millisleep): Removed.
bf06a93f 14328
9c2ff3ee 14329 * kern/ieee1275/init.c (grub_millisleep): Removed.
14330 (grub_machine_init): Install ieee1275_get_time_ms()
14331 implementation.
14332 (ieee1275_get_time_ms): New function.
14333 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
14334 real work.
14335
9ec92aaf 143362008-08-05 Marco Gerards <marco@gnu.org>
14337
14338 * disk/ata.c: Include <grub/pci.h>.
14339 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
14340 (grub_ata_initialize): Rewritten.
14341 (grub_ata_device_initialize): New function.
14342
8d23f507 143432008-08-04 Pavel Roskin <proski@gnu.org>
14344
14345 * kern/main.c: Include grub/mm.h.
14346
5e15ee3d 143472008-08-04 Robert Millan <rmh@aybabtu.com>
14348
14349 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
14350 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
14351 corruption problem).
14352
a9053f8f 143532008-08-04 Robert Millan <rmh@aybabtu.com>
14354
14355 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
14356 warnings introduced in my last commit.
14357
dd19c7d7 143582008-08-03 Robert Millan <rmh@aybabtu.com>
14359
14360 Make PCI available on all i386 architectures.
14361
14362 * include/grub/i386/pc/pci.h: Move from here ...
14363 * include/grub/i386/pci.h: ... to here.
14364
14365 * include/grub/i386/pc/pci.h: Remove.
14366 * include/grub/i386/efi/pci.h: Remove.
14367 * include/grub/x86_64/efi/pci.h: Remove.
14368
14369 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
14370 `<grub/cpu/pci.h>'.
14371
14372 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
14373 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
14374 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
14375
14376 * conf/i386-ieee1275.rmk: Likewise.
14377
e14a6184 143782008-08-03 Robert Millan <rmh@aybabtu.com>
14379
14380 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
14381 (grub_console_setcursor): Make it possible to set cursor off.
14382
52768e37 143832008-08-03 Robert Millan <rmh@aybabtu.com>
14384
14385 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
14386 of modules instead of assuming which platform provides what.
14387 * util/update-grub.in: Likewise.
14388
2d52f57f 143892008-08-03 Robert Millan <rmh@aybabtu.com>
14390
14391 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
14392 instead of `grub_install_dos_part' to determine whether a drive needs
14393 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 14394 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 14395
2a5cd121 143962008-08-02 Robert Millan <rmh@aybabtu.com>
14397
14398 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
14399
93808428 144002008-08-02 Robert Millan <rmh@aybabtu.com>
14401
14402 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
14403 of informational grub_dprintf() calls.
14404
3bd0a12a 144052008-08-02 Robert Millan <rmh@aybabtu.com>
14406
14407 * disk/memdisk.c (memdisk_size): Don't initialize.
14408 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
14409
14410 * include/grub/i386/pc/kernel.h
14411 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
14412 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
14413 (grub_memdisk_image_size, grub_arch_memdisk_addr)
14414 (grub_arch_memdisk_size): Remove.
14415
14416 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
14417 field (was only used to transfer a constant). Add `type' field to
14418 support multiple module types.
14419 (grub_module_iterate): New function.
14420
14421 * kern/device.c (grub_device_open): Do not hide error messages
14422 when grub_disk_open() fails. Use grub_print_error() instead.
14423
14424 * kern/i386/pc/init.c (grub_arch_modules_addr)
14425 (grub_arch_memdisk_size): Remove functions.
14426 (grub_arch_modules_addr): Return the module address in high memory
14427 (now that it isn't copied anymore).
14428
14429 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
14430 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
14431 decompression routine (grub_total_module_size already includes that
14432 now). Don't copy modules back to low memory.
14433
14434 * kern/main.c: Include `<grub/mm.h>'.
14435 (grub_load_modules): Split out (and use) ...
14436 (grub_module_iterate): ... this function, which iterates through
14437 module objects and runs a hook.
14438 Comment out grub_mm_init_region() call, as it would cause non-ELF
14439 modules to be overwritten.
14440
14441 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
14442 the memdisk image in its own region, make it part of the module list.
14443 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
14444 (main): Parse --memdisk|-m option, and pass user-provided path as
14445 parameter to generate_image().
14446 (add_segments): Pass `memdisk_path' down to load_modules().
14447 (load_modules): Embed memdisk image in module section when requested.
14448 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
14449 `header.type' instead of `header.offset'.
14450
14451 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
14452 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
14453 (memdisk_mod_LDFLAGS): New variables.
14454 * conf/i386-coreboot.rmk: Likewise.
14455 * conf/i386-ieee1275.rmk: Likewise.
14456
a927cc73 144572008-08-02 Robert Millan <rmh@aybabtu.com>
14458
14459 * loader/i386/pc/multiboot.c (playground, forward_relocator)
14460 (backward_relocator): New variables. Used to allocate and relocate
14461 the payload, respectively.
14462 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 14463 address, install the appropriate relocator code in each bound of
a927cc73 14464 the payload, and set the entry point such that
14465 grub_multiboot_real_boot() will jump to one of them.
14466
14467 * kern/i386/loader.S (grub_multiboot_payload_size)
14468 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
14469 (grub_multiboot_payload_entry_offset): New variables.
14470 (grub_multiboot_real_boot): Set cpu context to what the relocator
14471 expects, and jump to the relocator instead of the payload.
14472
14473 * include/grub/i386/loader.h (grub_multiboot_payload_size)
14474 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
14475 (grub_multiboot_payload_entry_offset): Export.
14476
b15d8a0c 144772008-08-01 Bean <bean123ch@gmail.com>
14478
14479 * normal/menu_entry.c (editor_getline): Don't return the original
14480 string as result, as it will be released by lexer once it has done
14481 using it.
14482
cdfb3d22 144832008-08-01 Robert Millan <rmh@aybabtu.com>
14484
14485 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
14486 within menuentries, not before them.
14487 util/grub.d/10_hurd.in: Likewise.
14488
9175e93d 144892008-08-01 Bean <bean123ch@gmail.com>
14490
14491 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
14492 (bufio_mod_SOURCES): New macro.
14493 (bufio_mod_CFLAGS): Likewise.
14494 (bufio_mod_LDFLAGS): Likewise.
14495
14496 * include/grub/bufio.h: New file.
14497
14498 * io/bufio.c: Likewise.
14499
14500 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
14501 (grub_video_reader_png): Use grub_buffile_open to open file.
14502
14503 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
14504 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
14505
14506 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
14507 (grub_video_reader_tga): Use grub_buffile_open to open file.
14508
14509 * font/manager.c: Include <grub/bufio.h>.
14510 (add_font): Use grub_buffile_open to open file.
14511
3d8383e7 145122008-07-31 Robert Millan <rmh@aybabtu.com>
14513
14514 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
14515 ELF segments, use a macro for arbitrarily accessing any of them instead
14516 of preparing a pointer that allows access to one at a time.
14517 (grub_multiboot_load_elf64): Likewise.
14518
16e641b6 145192008-07-31 Bean <bean123ch@gmail.com>
14520
14521 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
14522 GRUB_KERNEL_MACHINE_DATA_END.
14523
59198b72 145242008-07-30 Robert Millan <rmh@aybabtu.com>
14525
14526 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
14527 Increase from 0x50 to 0x60.
14528 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
14529 use UUIDs to identify the root drive for them. If that's not
14530 possible, abort.
14531 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
14532 check, for cross-disk installs.
14533
ae88bca3 145342008-07-30 Robert Millan <rmh@aybabtu.com>
14535
14536 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
14537 is non-empty, use it to set the `prefix' environment variable instead
14538 of the usual approach.
14539 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
14540 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
14541 environment variable instead of dummy make_install_device().
14542
14543 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
14544 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 14545 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 14546
14547 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
14548 New variable reference.
14549 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
14550 New macro. Defines offset of `grub_prefix' within startup.S (relative
14551 to `start').
14552 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
14553 section within startup.S (relative to `start').
14554 * include/grub/i386/coreboot/kernel.h: Likewise.
14555
14556 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
14557 Overwrite grub_prefix with its contents, at the beginning of the
14558 first segment.
14559 (main): Understand -p|--prefix.
14560
14f41dd1 145612008-07-30 Robert Millan <rmh@aybabtu.com>
14562
14563 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
14564
4ca049a3 145652008-07-30 Robert Millan <rmh@aybabtu.com>
14566
14567 * term/i386/pc/vga_text.c (grub_console_cls): Use
14568 grub_console_gotoxy() to go back to beginning of the screen.
14569 Found by Patrick Georgi <patrick.georgi@coresystems.de>
14570
2921d337 145712008-07-29 Christian Franke <franke@computer.org>
14572
14573 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
14574 Add conversion of emulated mount points on Cygwin.
14575
b609876d 145762008-07-29 Christian Franke <franke@computer.org>
14577
14578 * util/update-grub.in: Add a check for admin
14579 group on Cygwin.
14580 Remove old `grub.cfg.new' before creation.
14581 Add `-f' to `mv' to handle the different filesystem
14582 semantics of Windows.
14583
e93e4679 145842008-07-29 Bean <bean123ch@gmail.com>
14585
14586 * normal/main.c (get_line): Fix buffer overflow bug.
14587
41694fd0 145882008-07-28 Robert Millan <rmh@aybabtu.com>
14589
14590 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
14591 (struct grub_apple_header): New struct. Describes the layout of
14592 the partmap header.
14593 (apple_partition_map_iterate): Check the header magic as well as the
14594 partition magic (which was already being checked).
14595
cfd0b4e6 145962008-07-28 Pavel Roskin <proski@gnu.org>
14597
14598 * genmk.rb: Add a warning to the beginning of the output that
14599 it's a generated file and should not be edited.
14600
93cce016 146012008-07-28 Robert Millan <rmh@aybabtu.com>
14602
14603 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
14604 with the same number are found, just use issue a warning with
14605 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 14606
cd1df915 146072008-07-27 Robert Millan <rmh@aybabtu.com>
14608
14609 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
14610 information.
14611
b70a8427 146122008-07-27 Bean <bean123ch@gmail.com>
14613
14614 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
14615 (grub_fat_find_dir): Ignore case when comparing filename.
14616
8f5e379f 146172008-07-27 Bean <bean123ch@gmail.com>
14618
14619 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
14620 smallino, as it's more descriptive, and i8count can be confused with
14621 the other field count.
14622 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
14623 inode type.
14624
a85cd5a0 146252008-07-27 Bean <bean123ch@gmail.com>
14626
14627 * commands/crc.c: New file.
14628
14629 * lib/crc.c: Likewise.
14630
14631 * include/grub/lib/crc.h: Likewise.
14632
14633 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
14634
14635 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
14636 (hexdump): Move this function to ...
14637
14638 * lib/hexdump.c: ... here.
14639
14640 * include/grub/hexdump.h: Renamed to ...
14641
14642 * include/grub/lib/hexdump.h: ... this.
14643
14644 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
14645
14646 * util/grub-editenv.c: Likewise.
14647
14648 * include/envblk.h: Renamed to ...
14649
14650 * include/lib/envblk.h: ... this.
14651
14652 * util/envblk.c: Renamed to ...
14653
14654 * lib/envblk.c: ... this.
14655
14656 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
14657 lib/hexdump.c.
14658 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
14659 (pkglib_MODULES): Add crc.mod.
14660 (hexdump_mod_SOURCES): Add lib/hexdump.c.
14661 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
14662 (crc_mod_SOURCES): New macro.
14663 (crc_mod_CFLAGS): Likewise.
14664 (crc_mod_LDFLAGS): Likewise.
14665
14666 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
14667
14668 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
14669
14670 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14671
14672 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14673
14674 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
14675
c298def0 146762008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 14677
14678 * commands/help.c: Include <grub/term.h>.
14679 (TERM_WIDTH): Removed. Updated all users.
14680
cc349fb3 146812008-07-27 Pavel Roskin <proski@gnu.org>
14682
14683 * util/getroot.c (find_root_device): Rephrase a comment to avoid
14684 spurious warnings about a comment within a comment.
14685
9051607e 146862008-07-25 Robert Millan <rmh@aybabtu.com>
14687
14688 * util/getroot.c (find_root_device): Skip devices that match
14689 /dev/dm-[0-9]. This lets the real device be found for any type of
14690 abstraction (LVM, EVMS, RAID..).
14691 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
14692 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
14693 device is found first, find_root_device() will now skip it.
14694
01453bfc 146952008-07-24 Pavel Roskin <proski@gnu.org>
14696
14697 * include/grub/types.h: Use __builtin_bswap32() and
14698 __builtin_bswap64() with gcc 4.3 and newer.
14699
6af9849f 147002008-07-24 Christian Franke <franke@computer.org>
14701
3a0fa256 14702 * util/i386/pc/grub-install.in: If `--debug' is specified,
14703 pass `--verbose' to grub-setup.
14704 Abort script if make_system_path_relative_to_its_root() fails.
14705
7810e747 147062008-07-24 Bean <bean123ch@gmail.com>
14707
14708 * configure.ac: Fixed a bug caused by the previous cygwin patch,
14709 variable `target_platform' should be `platform'.
14710
42290e17 147112008-07-24 Bean <bean123ch@gmail.com>
14712
51cc5193 14713 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 14714 (grub_png_init_fixed_block): New function.
14715 (grub_png_decode_image_data): Handle fixed huffman code compression.
14716
2a8a80e4 147172008-07-24 Bean <bean123ch@gmail.com>
14718
14719 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
14720 (grub_pe2elf_SOURCES): New macro.
14721 (CLEANFILES): Add grub-pe2elf.
14722
14723 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
14724 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
14725 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
14726 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
14727 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
14728 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
14729 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
14730 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
14731 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
14732 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
14733 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
14734 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
14735 (GRUB_PE32_DT_FUNCTION): Likewise.
14736 (GRUB_PE32_REL_I386_DIR32): Likewise.
14737 (GRUB_PE32_REL_I386_REL32): Likewise.
14738 (grub_pe32_symbol): New structure.
14739 (grub_pe32_reloc): Likewise.
14740
14741 * util/grub-pe2elf.c: New file.
14742
14743 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
14744 start symbol in non pc platform.
14745
14746 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
14747
14748 The following patches are from Christian Franke.
14749
14750 * include/grub/dl.h: Remove .previous, gas supports this only
14751 for ELF format.
14752
14753 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
14754 Remove .type, gas supports this only for ELF format.
14755
14756 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
14757 nullbytes in symbol table. This fixes an infinite loop if table is
14758 zero filled.
14759
14760 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
14761 TARGET_IMG_LDFLAGS and EXEEXT.
14762
14763 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
14764 TARGET_IMG_LDFLAGS_AC.
14765 (grub_CHECK_STACK_ARG_PROBE): New function.
14766
14767 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
14768
14769 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
14770
14771 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
14772 to set TARGET_IMG_LD* accordingly.
14773 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
14774 Add call to grub_CHECK_STACK_ARG_PROBE.
14775 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
14776
14777 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
14778
14779 * genmk.rb: Add EXEEXT to CLEANFILES.
14780
12ccdb75 147812008-07-23 Robert Millan <rmh@aybabtu.com>
14782
14783 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
14784 define the codes for arrows and lines used for the menu).
14785 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
14786 as well.
14787
14788 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
14789 fonts, because the latter are too slow.
14790
18eeaf04 147912008-07-21 Bean <bean123ch@gmail.com>
14792
14793 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
14794 a20. Run keyboard test last, as it will cause macbook to halt.
14795
b095e2ad 147962008-07-18 Pavel Roskin <proski@gnu.org>
14797
14798 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
14799 load foreign architecture modules correctly anyway. Keep
14800 support for loading host architecture modules, whether we
14801 compile them or not.
14802
737feb35 148032008-07-17 Pavel Roskin <proski@gnu.org>
14804
3f4ce737 14805 * configure.ac: Use -m32 or -m64 regardless of whether we had to
14806 change target_cpu. The compiler default can mismatch target_cpu
14807 in any case.
14808
4ad2d049 14809 * disk/efi/efidisk.c: Fix format warnings on x86_64.
14810 * kern/efi/efi.c: Likewise.
14811
f6130a12 14812 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
14813 target compiler is functional.
14814 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
14815 are set up.
14816
58393a2d 14817 * configure.ac: Default to efi platform for x86_64-apple. Allow
14818 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
14819 adjustments from the rest, only do them if target is not
14820 explicitly given. Merge other adjustments with the final sanity
14821 check. Remove an extraneous check for supported CPU. Be
14822 specific which CPU and which platform is not supported.
14823
737feb35 14824 * configure.ac: Default to pc platform for x86_64.
14825
546f966a 148262008-07-17 Robert Millan <rmh@aybabtu.com>
14827
14828 Partial LinuxBIOS -> Coreboot rename.
14829
14830 * conf/i386-linuxbios.rmk: Renamed to ...
14831 * conf/i386-coreboot.rmk: ... this.
14832 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
14833 * configure.ac: Accept "coreboot" as input platform (but maintain
14834 compatibility with "linuxbios").
14835 * include/grub/i386/linuxbios: Renamed to ...
14836 * include/grub/i386/coreboot: ... this.
14837
20011694 148382008-07-17 Bean <bean123ch@gmail.com>
14839
14840 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 14841 (appleldr_mod_SOURCE): New variable.
20011694 14842 (appleldr_mod_CFLAGS): Likewise.
14843 (appleldr_mod_LDFLAGS): Likewise.
14844 (pci_mod_SOURCES): Likewise.
14845 (pci_mod_CFLAGS): Likewise.
14846 (pci_mod_LDFLAGS): Likewise.
14847 (lspci_mod_SOURCES): Likewise.
14848 (lspci_mod_CFLAGS): Likewise.
14849 (lspci_mod_LDFLAGS): Likewise.
14850
14851 * conf/x86_64-efi.rmk: New file.
14852
14853 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
14854 macro.
14855 (grub_efidisk_write): Likewise.
14856
14857 * include/efi/api.h (efi_call_0): New macro.
14858 (efi_call_1): Likewise.
14859 (efi_call_2): Likewise.
14860 (efi_call_3): Likewise.
14861 (efi_call_4): Likewise.
14862 (efi_call_5): Likewise.
14863 (efi_call_6): Likewise.
14864
14865 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
14866 grub_rescue_cmd_chainloader.
14867
14868 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
14869 (grub_pe32_optional_header): Change some fields based on i386 or
14870 x86_64 platform.
14871 (GRUB_PE32_PE32_MAGIC): Likewise.
14872
14873 * include/grub/efi/uga_draw.h: New file.
14874
14875 * include/grub/elf.h (STN_ABS): New constant.
14876 (R_X86_64_NONE): Relocation constant for x86_64.
14877 (R_X86_64_64): Likewise.
14878 (R_X86_64_PC32): Likewise.
14879 (R_X86_64_GOT32): Likewise.
14880 (R_X86_64_PLT32): Likewise.
14881 (R_X86_64_COPY): Likewise.
14882 (R_X86_64_GLOB_DAT): Likewise.
14883 (R_X86_64_JUMP_SLOT): Likewise.
14884 (R_X86_64_RELATIVE): Likewise.
14885 (R_X86_64_GOTPCREL): Likewise.
14886 (R_X86_64_32): Likewise.
14887 (R_X86_64_32S): Likewise.
14888 (R_X86_64_16): Likewise.
14889 (R_X86_64_PC16): Likewise.
14890 (R_X86_64_8): Likewise.
14891 (R_X86_64_PC8): Likewise.
14892
14893 * include/grub/i386/efi/pci.h: New file.
14894
14895 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
14896 Change it value based on platform.
14897 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
14898 (GRUB_E820_RAM): Likewise.
14899 (GRUB_E820_RESERVED): Likewise.
14900 (GRUB_E820_ACPI): Likewise.
14901 (GRUB_E820_NVS): Likewise.
14902 (GRUB_E820_EXEC_CODE): Likewise.
14903 (GRUB_E820_MAX_ENTRY): Likewise.
14904 (grub_e820_mmap): New structure.
14905 (linux_kernel_header): Change the efi field according to different
14906 kernel version, also field from linux_kernel_header.
14907
14908 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
14909
14910 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
14911 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
14912 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
14913 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
14914 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
14915 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
14916 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
14917 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
14918 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
14919 (GRUB_PCI_ADDR_IO_MASK): Likewise.
14920
14921 * include/grub/x86_64/efi/kernel.h: New file.
14922
14923 * include/grub/x86_64/efi/loader.h: Likewise.
14924
14925 * include/grub/x86_64/efi/machine.h: Likewise.
14926
14927 * include/grub/x86_64/efi/pci.h: Likewise.
14928
14929 * include/grub/x86_64/efi/time.h: Likewise.
14930
14931 * include/grub/x86_64/linux.h: Likewise.
14932
14933 * include/grub/x86_64/setjmp.h: Likewise.
14934
14935 * include/grub/x86_64/time.h: Likewise.
14936
14937 * include/grub/x86_64/types.h: Likewise.
14938
14939 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
14940 GRUB_TARGET_SIZEOF_VOID_P.
14941
14942 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
14943 (grub_efi_locate_handle): Likewise.
14944 (grub_efi_open_protocol): Likewise.
14945 (grub_efi_set_text_mode): Likewise.
14946 (grub_efi_stall): Likewise.
14947 (grub_exit): Likewise.
14948 (grub_reboot): Likewise.
14949 (grub_halt): Likewise.
14950 (grub_efi_exit_boot_services): Likewise.
14951 (grub_get_rtc): Likewise.
14952
14953 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
14954 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
14955 (grub_efi_allocate_pages): Wrap efi calls.
14956 (grub_efi_free_pages): Wrap efi calls.
14957 (grub_efi_get_memory_map): Wrap efi calls.
14958
14959 * kern/x86_64/dl.c: New file.
14960
14961 * kern/x86_64/efi/callwrap.S: Likewise.
14962
14963 * kern/x86_64/efi/startup.S: Likewise.
14964
14965 * loader/efi/appleloader.c: Likewise.
14966
14967 * loader/efi/chainloader.c (cmdline): New variable.
14968 (grub_chainloader_unload): Wrap efi calls.
14969 (grub_chainloader_boot): Likewise.
14970 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
14971 command line.
14972
14973 * loader/efi/chainloader_normal.c (chainloader_command):
14974 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
14975 command line.
14976
14977 * loader/i386/efi/linux.c (allocate_pages): Change allocation
14978 method.
14979 (grub_e820_add_region): New function.
14980 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
14981 booting.
14982 (grub_find_video_card): New function.
14983 (grub_linux_setup_video): New function.
14984 (grub_rescue_cmd_linux): Probe for video information.
14985
14986 * normal/x86_64/setjmp.S: New file.
14987
14988 * term/efi/console.c (map_char): New function.
14989 (grub_console_putchar): Map unicode char.
14990 (grub_console_checkkey): Wrap efi calls.
14991 (grub_console_getkey): Likewise.
14992 (grub_console_getwh): Likewise.
14993 (grub_console_gotoxy): Likewise.
14994 (grub_console_cls): Likewise.
14995 (grub_console_setcolorstate): Likewise.
14996 (grub_console_setcursor): Likewise.
14997
14998 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
14999
59652a20 150002008-07-16 Pavel Roskin <proski@gnu.org>
15001
ef294055 15002 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
15003 format strings.
15004
59652a20 15005 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
15006 pointer, not an integer. This fixes a warning and prevents
15007 precision loss on 64-bit systems.
15008 (relocate_addresses): Remove unneeded cast.
15009
afc3b5d7 150102008-07-15 Pavel Roskin <proski@gnu.org>
15011
506b2b3e 15012 * kern/i386/ieee1275/init.c: Include grub/cache.h.
15013
62ead89c 15014 * term/ieee1275/ofconsole.c: Disable code unused on i386.
15015
c4cd51d7 15016 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
15017 Fix comparison between signed and unsigned.
15018
0d3d8f28 15019 * include/grub/i386/ieee1275/console.h: Declare
15020 grub_console_init() and grub_console_fini().
15021
8804b286 15022 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
15023 It's empty and unused.
15024
ee01cf35 15025 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
15026 beginning to avoid warnings with some compilers.
15027
afc3b5d7 15028 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
15029 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
15030
e4e8eaa5 150312008-07-14 Pavel Roskin <proski@gnu.org>
15032
407aceb4 15033 * kern/env.c (grub_register_variable_hook): Don't copy empty
15034 string, it leaks memory. Pass "" to grub_env_set(), it should
15035 handle constant strings.
15036
e4e8eaa5 15037 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
15038 * commands/cmp.c (grub_cmd_cmp): Likewise.
15039 * kern/dl.c (grub_dl_flush_cache): Likewise.
15040 (grub_dl_load_core): Likewise.
15041 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
15042 (grub_elf64_load_phdrs): Likewise.
15043
d4e2dad3 150442008-07-13 Pavel Roskin <proski@gnu.org>
15045
15046 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
15047 between signed and unsigned.
15048 (LzmaEnc_Finish): Fix warning about an unused parameter.
15049
aa24b516 150502008-07-13 Bean <bean123ch@gmail.com>
15051
15052 * Makefile.in (enable_lzo): New rule.
15053
15054 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
15055
15056 * configure.ac (ENABLE_LZO): New option --enable-lzo.
15057
15058 * boot/i386/pc/lnxboot.S: #include <config.h>.
15059
15060 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 15061 its value according to the compression algorithm used, lzo or lzma.
aa24b516 15062
15063 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
15064 compression algorithm according to configure macro.
15065
15066 * kern/i386/pc/startup.S (codestart): Likewise.
15067
15068 * kern/i386/pc/lzma_decode.S: New file.
15069
15070 * include/grub/lib/LzFind.h: Likewise.
15071
15072 * include/grub/lib/LzHash.h: Likewise.
15073
15074 * include/grub/lib/LzmaDec.h: Likewise.
15075
15076 * include/grub/lib/LzmaEnc.h: Likewise.
15077
15078 * include/grub/lib/LzmaTypes.h: Likewise.
15079
15080 * lib/LzFind.c: Likewise.
15081
15082 * lib/LzmaDec.c: Likewise.
15083
15084 * lib/LzmaEnc.c: Likewise.
15085
4ae821ac 150862008-07-13 Bean <bean123ch@gmail.com>
15087
15088 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
15089 (grub_ext4_extent_header): New structure.
15090 (grub_ext4_extent): Likewise.
15091 (grub_ext4_extent_idx): Likewise.
15092 (grub_ext4_find_leaf): New function.
15093 (grub_ext2_read_block): Handle extents.
15094
9a745147 150952008-07-12 Robert Millan <rmh@aybabtu.com>
15096
15097 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
15098
d49a4cf6 150992008-07-11 Robert Millan <rmh@aybabtu.com>
15100
15101 * util/grub.d/40_custom.in: New file. Example on how to add custom
15102 entries to /etc/grub.d.
15103 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
15104 40_custom (implicitly, by merging all the grub.d rules).
15105
947414b4 151062008-07-11 Pavel Roskin <proski@gnu.org>
15107
0059cf6f 15108 * commands/read.c (grub_getline): Fix invalid memory access.
15109 Don't add newline to the variable value.
15110
947414b4 15111 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
15112 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
15113 (serial_hw_get_port): Check validity of the port number.
15114 (grub_cmd_serial): Check return value of serial_hw_get_port().
15115
62a02d00 151162008-07-07 Pavel Roskin <proski@gnu.org>
15117
15118 * boot/i386/pc/diskboot.S (notification_string): Replace
15119 "Loading kernel" with just "loading". This is shorter, less
15120 confusing and saves a few bytes for possible future changes.
15121
3e5581b0 151222008-07-05 Pavel Roskin <proski@gnu.org>
15123
ea387a48 15124 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
15125 size for ATAPI devices, they are undefined. Output sector
15126 number in decimal form.
15127
3e5581b0 15128 * disk/ata.c: Use named constants for status bits.
15129
fdecb8fd 151302008-07-04 Pavel Roskin <proski@gnu.org>
15131
bcd35b90 15132 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
15133 grub_addr_t before casting it to the void pointer to fix a
15134 warning. Non-addressable regions are discarded earlier.
15135 (grub_arch_modules_addr): Cast _end to grub_addr_t.
15136 * kern/i386/linuxbios/table.c: Include grub/misc.h.
15137 (check_signature): Don't shadow table_header.
15138 (grub_linuxbios_table_iterate): Cast numeric constants to
15139 grub_linuxbios_table_header_t.
15140 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
15141 grub_stop().
15142
af58ab3d 15143 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
15144 prevent warnings.
15145
1759aa57 15146 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
15147 pointer, which can cause warnings. Support 64-bit addresses.
15148
fdecb8fd 15149 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
15150 of sizeof(long). This fixes PowerPC image generation on x86_64.
15151
8516d2a8 151522008-07-04 Robert Millan <rmh@aybabtu.com>
15153
15154 This fixes a performance issue when pc & gpt partmap iterators
15155 didn't abort iteration even after our hook found what it was
fe987087 15156 looking for (often causing expensive probes of non-existent drives).
8516d2a8 15157
15158 Some callers relied on previous buggy behaviour, since they would
34c44600 15159 raise an error when their own hooks caused early abortion of its
8516d2a8 15160 iteration.
15161
15162 * kern/device.c (grub_device_open): Improve error message.
15163 * disk/lvm.c (grub_lvm_open): Likewise.
15164 * disk/raid.c (grub_raid_open): Likewise.
15165
15166 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
15167 when hook requests it, independently of grub_errno.
15168 (pc_partition_map_probe): Do not fail when find_func() caused
15169 early abortion of pc_partition_map_iterate().
15170
15171 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
15172 when hook requests it, independently of grub_errno.
15173 (gpt_partition_map_probe): Do not fail when find_func() caused
15174 early abortion of gpt_partition_map_iterate().
15175
15176 * kern/partition.c (grub_partition_iterate): Abort parent iteration
15177 when hook requests it, independently of grub_errno. Do not fail when
15178 part_map_iterate_hook() caused early abortion of p->iterate().
15179
15180 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
15181 when grub_partition_iterate() returned with non-zero.
15182
277d0de9 151832008-07-03 Pavel Roskin <proski@gnu.org>
15184
15185 * disk/ata.c (grub_ata_pio_write): Check status before writing,
15186 like we do in grub_ata_pio_read().
15187 (grub_ata_readwrite): Always write individual sectors. Fix the
15188 sector count for the remainder.
15189 (grub_ata_write): Enable writing to ATA devices. Correctly
15190 report error for ATAPI devices.
15191
d4c9b428 151922008-07-02 Pavel Roskin <proski@gnu.org>
15193
e43fc690 15194 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
15195 warning.
15196
f707af42 15197 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
15198 for every read sector, we already increment it for the whole
15199 batch. This fixes reading more than 256 sectors at once.
15200
11e16b15 15201 * util/grub-editenv.c (cmd_info): Cast argument to long
15202 explicitly. ptrdiff_t reduces to int on i386.
15203
cbabfdd4 15204 * util/grub-editenv.c (main): Be specific which parameter is
15205 missing.
15206
b8fbce0a 15207 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
15208 (memdisk): Make memdisk_orig_addr a pointer.
15209
c9c8e606 15210 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
15211 for file offsets, use grub_off_t instead. Fix printf format
15212 warnings.
15213
ca62e598 15214 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
15215 there. Real unexpected warnings should not drown in the noise
15216 about known problems.
15217
ce8d1766 15218 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
15219 grub_disk_addr_t for memory addresses.
15220
00c7a56a 15221 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
15222 explicitly to fix a warning.
15223
08d3ef09 15224 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
15225
cb71ba20 15226 * Makefile.in (MODULE_LDFLAGS): New variable.
15227 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
15228 the linker accepts --build-id=none.
15229 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
15230 MODULE_LDFLAGS.
15231 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
15232
d4c9b428 15233 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
15234 those in Linux XFS code. Provide a way to access 64-bit parent
15235 inode.
15236 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
15237 the end of struct grub_xfs_dir_header.
15238
d4156eee 152392008-07-02 Bean <bean123ch@gmail.com>
15240
15241 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
15242 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
15243 and GRUB_IEEE1275_FLAG_NO_ANSI.
15244
15245 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
15246 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
15247 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
15248
15249 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
15250 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
15251
15252 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
15253 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
15254
15255 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
15256 esc sequence on non ANSI terminal.
15257 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
15258
15259 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
15260 beginning of file.
15261
2270f77b 152622008-07-02 Bean <bean123ch@gmail.com>
15263
15264 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
15265 (grub_editenv_SOURCES): New variable.
15266 (pkglib_MODULES): Add loadenv.mod.
15267 (loadenv_mod_SOURCES): New variable.
15268 (loadenv_mod_CFLAGS): Likewise.
15269 (loadenv_mod_LDFLAGS): Likewise.
15270
15271 * include/grub/envblk.h: New file.
15272
15273 * util/envblk.c: New file.
15274
15275 * util/grub-editenv.c: New file.
15276
15277 * commands/loadenv.c: New file.
15278
0e9e51ec 152792008-07-01 Pavel Roskin <proski@gnu.org>
15280
d89b7634 15281 * include/multiboot2.h (struct multiboot_tag_module): Use char,
15282 not unsigned char. This fixes warnings and is consistent with
15283 other tags.
15284
bf1835b1 15285 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
15286
8222a04b 15287 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
15288
6a42d99d 15289 * term/tparm.c (analyze): Always set *popcount.
15290
10b159d1 15291 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
15292 cast to fix a warning.
15293
b8789f6c 15294 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
15295 cast to suppress a warning.
15296
29d7e38a 15297 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
15298 grub_fshelp_read_file() expects.
15299
f341f669 15300 * fs/fat.c: Fix UUID calculation on big-endian systems. We
15301 write uuid as a 32-bit value in CPU byte order, so declare and
15302 use it as such.
15303
0e9e51ec 15304 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
15305 long if the format specifier expects it.
15306 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
15307 * partmap/pc.c (pc_partition_map_iterate): Likewise.
15308 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
15309 long to fix a warning.
15310 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
15311 grub_dprintf() arguments to fix warnings.
15312
3aefa857 153132008-06-30 Pavel Roskin <proski@gnu.org>
15314
56c7668b 15315 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
15316 install_bsd_part immediately before core.img is embedded or
15317 modified on disk. This fixes core.img verification if core.img
15318 cannot be embedded.
15319
3aefa857 15320 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
15321 core_path to calculate the blocklist.
15322 Patch from Javier Martín <lordhabbit@gmail.com>
15323
5444088d 153242008-06-29 Robert Millan <rmh@aybabtu.com>
15325
15326 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
15327 block to disk block.
15328 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
15329 Patch from Niels Böhm <bitbucket@arcor.de>
15330
674835c8 153312008-06-29 Robert Millan <rmh@aybabtu.com>
15332
15333 * util/update-grub_lib.in (font_path): Search for fonts in
15334 /boot/grub first, which is more likely to be readable (we aren't
15335 deciding where fonts live, just looking for them).
15336
f527dbc8 153372008-06-26 Pavel Roskin <proski@gnu.org>
15338
6c2d8df6 15339 * util/biosdisk.c (read_device_map): Don't leave dead map
15340 entries for devices failing stat() check.
15341
f527dbc8 15342 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
15343 core_path_dev for the core.img path on the target device.
15344
aebe3d13 153452008-06-26 Robert Millan <rmh@aybabtu.com>
15346
15347 * disk/fs_uuid.c: New file.
15348 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
15349 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
15350 (fs_uuid_mod_LDFLAGS): New variables.
15351 * include/grub/disk.h (grub_disk_dev_id): Add
15352 `GRUB_DISK_DEVICE_UUID_ID'.
15353 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
15354 implement iterate().
15355
37aaf354 153562008-06-26 Robert Millan <rmh@aybabtu.com>
15357
15358 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
15359 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
15360 Linux image includes no initrd.
15361
25ff262a 153622008-06-21 Javier Martín <lordhabbit@gmail.com>
15363
15364 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
15365 call to resolve the core image location that effectively appended the
15366 name twice.
15367
76a2bd44 153682008-06-21 Robert Millan <rmh@aybabtu.com>
15369
15370 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
15371 call from here ...
15372
15373 * util/grub.d/10_hurd.in: ... to here ...
15374 * util/grub.d/10_linux.in: ... and here.
15375
650e1c79 153762008-06-19 Robert Millan <rmh@aybabtu.com>
15377
fe987087 15378 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 15379 after it has been set by grub_machine_set_prefix().
15380
6ce63911 153812008-06-19 Robert Millan <rmh@aybabtu.com>
15382
15383 * commands/search.c (search_label, search_fs_uuid, search_file): Print
15384 search result when not saving to variable, not the other way around.
15385 When saving to variable, abort iteration as soon as a match is found.
15386
73940cec 153872008-06-19 Robert Millan <rmh@aybabtu.com>
15388
15389 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
15390 check for partition that provides /boot/grub. Its logic is flawed,
15391 as it prevents prepare_grub_to_access_device() from being called
15392 multiple times.
15393
3c62a39d 153942008-06-19 Robert Millan <rmh@aybabtu.com>
15395
15396 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
15397 "insmod" command directly when abstraction modules are needed,
fe987087 15398 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 15399 since it had already been processed).
15400
47395a42 154012008-06-19 Pavel Roskin <proski@gnu.org>
15402
15403 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
15404 changed. This is needed in case GRUB_LIBDIR changes.
15405 * conf/i386-ieee1275.rmk: Likewise.
15406 * conf/i386-linuxbios.rmk: Likewise.
15407 * conf/i386-pc.rmk: Likewise.
15408 * conf/powerpc-ieee1275.rmk: Likewise.
15409
a145ac2d 154102008-06-18 Pavel Roskin <proski@gnu.org>
15411
15412 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
15413 kernel_elf_symlist.c to symlist.c for consistency with other
15414 architectures. Update all users.
15415 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
15416
7847c51e 154172008-06-18 Robert Millan <rmh@aybabtu.com>
15418
15419 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
15420 it in prefix.
15421
15422 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
15423 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
15424 a RAID device, run setup() for all members independently on whether
15425 LVM abstraction is being used.
15426 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
15427 If grub-mkimage has set `*install_dos_part == -2', don't override this
15428 value.
15429 Perform *install_dos_part adjustments independently on whether
15430 we're embedding or not.
15431 Clarify error message when image is too big for embedding.
15432 Remove duplicate *install_dos_part stanza.
15433
b23e5644 154342008-06-17 Robert Millan <rmh@aybabtu.com>
15435
15436 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
15437 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
15438 variables.
15439 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
15440 values in grub_ofconsole_normal_color and
15441 grub_ofconsole_highlight_color (they're not directly related to
15442 background and foreground).
15443 (grub_ofconsole_setcolorstate): Extract background and foreground
15444 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
15445
0aac2f79 154462008-06-17 Robert Millan <rmh@aybabtu.com>
15447
15448 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
15449 /boot/grub for the check in last commit, not /boot (they could be
15450 different partitions).
15451
3cca7ef3 154522008-06-16 Robert Millan <rmh@aybabtu.com>
15453
15454 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
15455 asked to setup access for the same partition that provides /boot,
15456 don't bother using UUIDs since our root already has the value we
15457 want.
15458
347396d8 154592008-06-16 Robert Millan <rmh@aybabtu.com>
15460
15461 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
15462 I2O devices.
15463 Patch from Sven Mueller <sven@debian.org>.
15464
991477f8 154652008-06-16 Robert Millan <rmh@aybabtu.com>
15466
15467 * util/update-grub.in: Check for $EUID instead of $UID.
15468 Reported by Vincent Zweije.
15469
d31a32a1 154702008-06-16 Bean <bean123ch@gmail.com>
15471
fe987087 15472 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 15473 (grub_ext2_read_block): Likewise.
15474 (grub_ext2_read_inode): Likewise.
15475 (grub_ext2_mount): Likewise.
15476 (grub_ext2_close): Likewise.
15477 (grub_ext3_get_journal): Removed.
15478
fe987087 15479 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 15480 (grub_reiserfs_read_symlink): Likewise.
15481 (grub_reiserfs_mount): Likewise.
15482 (grub_reiserfs_open): Likewise.
15483 (grub_reiserfs_read): Likewise.
15484 (grub_reiserfs_close): Likewise.
15485 (grub_reiserfs_get_journal): Removed.
15486
15487 * fs/fshelp.c (grub_fshelp_read): Removed.
15488 (grub_fshelp_map_block): Likewise.
15489
15490 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
15491 (grub_fshelp_journal): Likewise.
15492 (grub_fshelp_read): Likewise.
15493 (grub_fshelp_map_block): Likewise.
15494
3540a760 154952008-06-16 Pavel Roskin <proski@gnu.org>
15496
15497 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
15498 floating point anymore.
15499 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
15500
95614c84 155012008-06-15 Pavel Roskin <proski@gnu.org>
15502
15503 * commands/ls.c (grub_ls_list_files): Use integer calculations
15504 for human readable format, avoid floating point use.
15505 * kern/misc.c (grub_ftoa): Remove.
15506 (grub_vsprintf): Remove floating point support.
15507
50465dd6 155082008-06-15 Robert Millan <rmh@aybabtu.com>
15509
fe6b695a 15510 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 15511 devices.
15512 Reported by Max Vozeler.
15513
a9207284 155142008-06-15 Robert Millan <rmh@aybabtu.com>
15515
15516 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
15517 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
15518 skipped later.
15519 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
15520 the beginning of the prefix.
15521
15522 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
15523 It is assumed that if we have a memdisk, grub-mkimage has set
15524 grub_prefix to include the "(memdisk)" drive in it.
15525
a7cbd45a 155262008-06-15 Robert Millan <rmh@aybabtu.com>
15527
15528 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
15529 Initialize keyboard controller after registering the terminal, so that
15530 grub_printf() can be called from grub_keyboard_controller_init().
15531
21cf716a 155322008-06-15 Robert Millan <rmh@aybabtu.com>
15533
15534 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
15535 extent-btree which is written as big endian on disk.
15536 Reported by Alain Greppin <al@chilibi.org>.
15537
23a64d8e 155382008-06-14 Robert Millan <rmh@aybabtu.com>
15539
15540 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
15541 * util/i386/pc/grub-install.in (modules): Likewise.
15542
d687651c 155432008-06-13 Pavel Roskin <proski@gnu.org>
15544
15545 * commands/ls.c (grub_ls_list_files): Fix format warnings.
15546
dfe9ddd4 155472008-06-13 Bean <bean123ch@gmail.com>
15548
15549 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
15550
15551 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
15552
15553 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
15554 to indicate sparse block.
15555
16ae7781 155562008-06-12 Pavel Roskin <proski@gnu.org>
15557
e6d1a308 15558 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
15559 number, grub_fshelp_read() does it for us.
15560
16ae7781 15561 * fs/fshelp.c (grub_fshelp_read): New function. Implement
15562 linear disk read with journal translation.
15563 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
15564 * include/grub/fshelp.h: Declare grub_fshelp_read().
15565
40fd3a2b 155662008-06-09 Pavel Roskin <proski@gnu.org>
15567
15568 * fs/minix.c (grub_minix_mount): Handle error reading
15569 superblock.
15570
f5679726 155712008-06-08 Robert Millan <rmh@aybabtu.com>
15572
15573 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
15574 don't append the RAID prefix afterwards.
15575 Reported by Clint Adams.
15576
ce525529 155772008-06-08 Robert Millan <rmh@aybabtu.com>
15578
15579 Based on description from Pavel:
15580 * kern/disk.c (grub_disk_check_range): Rename to ...
15581 (grub_disk_adjust_range): ... this. Add a comment explaining the
15582 tasks performed by this function.
15583
ad4936a0 155842008-06-08 Robert Millan <rmh@aybabtu.com>
15585
15586 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
15587 `num_serial' (for consistency with other variables).
15588 (struct grub_ntfs_data): Add `uuid' member.
15589 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
15590 (grub_ntfs_uuid): New function.
15591 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
15592
dc20b0f9 155932008-06-07 Pavel Roskin <proski@gnu.org>
15594
15595 * util/biosdisk.c (open_device): Revert last change to the
15596 function, it broke installation. The sector needs to be
15597 different dependent on which device is opened.
15598
c5e3cfba 155992008-06-06 Robert Millan <rmh@aybabtu.com>
15600
15601 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
15602 rest of GRUB, and breakage doesn't happen if its value were modified.
15603
15604 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
15605 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
15606 a constant (same value).
15607 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
15608 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
15609
26a1f8c4 156102008-06-06 Robert Millan <rmh@aybabtu.com>
15611
15612 * util/biosdisk.c (open_device): Do not modify sector offset when
15613 accessing a partition. kern/disk.c already handles this for us.
15614
25d6b327 156152008-06-06 Robert Millan <rmh@aybabtu.com>
15616
15617 * util/grub-emu.c (grub_machine_init): Move code in this function from
15618 here ...
15619 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
15620 segfault in case grub_printf() is called).
15621
15622 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
15623 grub_probe. Update all users not to explicitly add it again.
15624 (grub_device): New variable; contains corresponding device for grubdir.
15625 (fs_module, partmap_module, devabstraction_module): Pass
15626 `--device ${grub_device}' to grub_probe to avoid traversing /dev
15627 every time.
15628
9ece62fb 156292008-06-05 Robert Millan <rmh@aybabtu.com>
15630
15631 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
15632 is found, print it (same layout as with labels).
15633
1ad36d37 156342008-06-04 Robert Millan <rmh@aybabtu.com>
15635
15636 * util/biosdisk.c (get_drive): Rename to ...
15637 (find_grub_drive): ... this. Update all users.
15638
15639 (get_os_disk): Rename to ...
15640 (convert_system_partition_to_system_disk): ... this. Update all users.
15641
15642 (find_drive): Rename to ...
15643 (find_system_device): ... this. Update all users.
15644
e6a30859 156452008-06-04 Robert Millan <rmh@aybabtu.com>
15646
15647 * util/biosdisk.c (get_os_disk): Handle IDA devices.
15648 * util/grub-mkdevicemap.c (get_mmc_disk_name)
15649 (make_device_map): Likewise.
15650
00c108a4 156512008-06-01 Robert Millan <rmh@aybabtu.com>
15652
15653 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
15654 before dereferencing it.
15655
15656 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
15657 union with fat12/fat16-specific ones. Add some new fields, including
15658 `num_serial' for both versions.
15659 (struct grub_fat_data): Add `uuid' member.
15660 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
15661 names. Initialize `data->uuid' using `num_serial'.
15662 (grub_fat_uuid): New function.
15663 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
15664
15665 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
15666 (grub_reiserfs_uuid): New function.
15667 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
15668 member.
15669
15670 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
15671 (grub_xfs_uuid): New function.
15672 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
15673
1385c5bb 156742008-06-01 Robert Millan <rmh@aybabtu.com>
15675
15676 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
15677 code that is backward compatible with pre-uuid search command.
15678
c682dfd7 156792008-05-31 Robert Millan <rmh@aybabtu.com>
15680
15681 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
15682 floppies after everything else, to ensure floppy drive isn't accessed
15683 unnecessarily (patch from Bean).
15684
b7db5d47 156852008-05-31 Robert Millan <rmh@aybabtu.com>
15686
15687 * commands/search.c (search_label, search_fs_uuid, search_file): Do
15688 not print device names when we were asked to set a variable.
15689
6e037aa9 156902008-05-31 Robert Millan <rmh@aybabtu.com>
15691
15692 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
15693 using "cursor-on" and "cursor-off" commands (understood at least by
15694 the Open Firmware flavour on OLPC).
15695
41305bc8 156962008-05-31 Michael Gorven <michael@gorven.za.net>
15697
15698 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
15699 on and off sequences.
15700
69ba137e 157012008-05-31 Robert Millan <rmh@aybabtu.com>
15702
15703 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
15704 * util/update-grub.in: Likewise.
15705
520ae21b 157062008-05-30 Pavel Roskin <proski@gnu.org>
15707
15708 * util/biosdisk.c (linux_find_partition): Simplify logic and
15709 make the code more universal. Keep special processing for
15710 devfs, but use a simple rule for all other devices. If the
15711 device ends with a number, append 'p' and the partition number.
15712 Otherwise, append only the partition number.
15713
5786569b 157142008-05-30 Robert Millan <rmh@aybabtu.com>
15715
15716 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
15717 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
15718 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
15719 the `root' parameter to Linux.
15720
51500452 157212008-05-30 Robert Millan <rmh@aybabtu.com>
15722
15723 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
15724 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
15725 --fs_uuid with --fs-uuid.
15726 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
15727 all filesystems support them).
15728
811d3878 157292008-05-30 Robert Millan <rmh@aybabtu.com>
15730
15731 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 15732 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 15733
cab63c95 157342008-05-30 Robert Millan <rmh@aybabtu.com>
15735
15736 * util/grub.d/00_header.in: Remove obsolete comment referencing
15737 convert_system_path_to_grub_path().
15738 * util/update-grub.in: Likewise.
15739 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
15740 (convert_system_path_to_grub_path): Add a warning message explaining
15741 that this function is deprecated. Rely on is_path_readable_by_grub()
15742 for the readability checks.
15743 (font_path): Use is_path_readable_by_grub() for the readability
15744 check rather than convert_system_path_to_grub_path().
15745
972e2f7a 157462008-05-30 Robert Millan <rmh@aybabtu.com>
15747
15748 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
15749 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
15750 converting it first.
15751 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
15752 grub.cfg for access to font file, and afterwards call it again to set
15753 the root device.
15754
62191274 157552008-05-30 Robert Millan <rmh@aybabtu.com>
15756
15757 * commands/search.c (options): Add --fs_uuid option.
15758 (search_fs_uuid): New function.
15759 (grub_cmd_search): Fix --set argument passing.
15760 Use search_fs_uuid() when requested via --fs_uuid.
15761 (grub_search_init): Update help message.
15762 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
15763 and redeclare it as an array of 16-bit words.
15764 (grub_ext2_uuid): New function.
15765 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
15766 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
15767 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
15768 (GRUB_DEVICE_BOOT_UUID): New variables.
15769 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
15770 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
15771 whenever possible.
15772 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
15773 just assume `root' variable has the right value.
15774 * util/grub.d/10_linux.in: Likewise.
15775 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
15776 via PRINT_FS_UUID.
15777 (main): Recognise `-t fs_uuid' argument.
15778
01b73ec8 157792008-05-30 Robert Millan <rmh@aybabtu.com>
15780
15781 * util/biosdisk.c (map): Redefine structure to hold information
15782 about GRUB drive name.
fe6b695a 15783 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 15784 drive names.
15785 (call_hook): Remove.
15786 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
15787 member. Assume drive has partitions.
15788 (grub_util_biosdisk_open): Access device names via `.device' struct
15789 member.
15790 (open_device): Likewise.
15791 (find_drive): Likewise.
15792 (read_device_map): Adjust map[] usage to match the new struct
15793 definition. Don't check for duplicates (still possible, but not cheap
15794 anymore).
15795 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
15796 (make_device_name): Remove assumption of BIOS-like drive names.
15797
22f16596 157982008-05-30 Pavel Roskin <proski@gnu.org>
15799
15800 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
15801 compiling execute.c doesn't need grub_script.tab.h anymore.
15802 (normal/command.c_DEPENDENCIES): Likewise.
15803 (normal/function.c_DEPENDENCIES): Likewise.
15804 * conf/i386-ieee1275.rmk: Likewise.
15805 * conf/i386-linuxbios.rmk: Likewise.
15806 * conf/i386-pc.rmk: Likewise.
15807 * conf/powerpc-ieee1275.rmk: Likewise.
15808 * conf/sparc64-ieee1275.rmk: Likewise.
15809
528ad8f2 158102008-05-29 Pavel Roskin <proski@gnu.org>
15811
d1dff95d 15812 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
15813 when scanning metadata for volume group name.
15814
528ad8f2 15815 * include/grub/script.h: Don't include grub_script.tab.h. It's
15816 a generated file, which may only be included from the files with
15817 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
15818 use union YYSTYPE, as the later allows forward declaration.
15819 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
15820
47248e08 158212008-05-29 Robert Millan <rmh@aybabtu.com>
15822
15823 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
15824 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
15825 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
15826 (grub_console_checkkey): Add grub_dprintf() call to report unknown
15827 scan codes.
15828
ee632529 158292008-05-29 Robert Millan <rmh@aybabtu.com>
15830
15831 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
15832 control key combinations.
15833
eee96e08 158342008-05-29 Robert Millan <rmh@aybabtu.com>
15835
15836 * util/powerpc/ieee1275/grub-install.in: Move from here ...
15837 * util/ieee1275/grub-install.in: ... to here.
15838 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
15839 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
15840 (grub_install_SOURCES): Likewise.
15841
da9a6a94 158422008-05-29 Robert Millan <rmh@aybabtu.com>
15843
15844 * fs/affs.c: Update copyright year.
15845 * fs/ext2.c: Likewise.
15846 * fs/fshelp.c: Likewise.
15847 * fs/hfsplus.c: Likewise.
15848 * fs/ntfs.c: Likewise.
15849 * fs/xfs.c: Likewise.
15850 * include/grub/fshelp.h: Likewise.
15851 * util/grub-mkdevicemap.c: Likewise.
15852
12e65f3a 158532008-05-28 Robert Millan <rmh@aybabtu.com>
15854
15855 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
15856 might need to be fatfs to support some firmware implementations
15857 (e.g. OFW or EFI).
15858
23023641 158592008-05-28 Robert Millan <rmh@aybabtu.com>
15860
15861 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
15862 devices.
15863 * util/grub-mkdevicemap.c (get_mmc_disk_name)
15864 (make_device_map): Likewise.
15865
887d2619 158662008-05-20 Bean <bean123ch@gmail.com>
15867
15868 * fs/fshelp.c (grub_fshelp_map_block): New function.
15869 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
15870 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
15871
15872 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
15873 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
15874 (grub_fshelp_journal): New structure.
15875 (grub_fshelp_map_block): New function prototype.
15876 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
15877 (grub_fshelp_map_block): Likewise.
15878
15879 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
15880 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
15881 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
15882 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
15883 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
15884 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
15885 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
15886 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
15887 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
15888 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
15889 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
15890 (grub_ext2_sblock): New members for journal support.
15891 (grub_ext3_journal_header): New structure.
15892 (grub_ext3_journal_revoke_header): Likewise.
15893 (grub_ext3_journal_block_tag): Likewise.
15894 (grub_ext3_journal_sblock): Likewise.
15895 (grub_fshelp_node): New members logfile and journal.
15896 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
15897 grub_fshelp_map_block to get real block number.
15898 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
15899 number.
15900 (grub_ext2_read_inode): Likewise.
15901 (grub_ext3_get_journal): New function.
15902 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
15903 (grub_ext2_close): Release memory used by journal.
15904
15905 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
15906 (REISERFS_MAGIC_DESC_BLOCK): New macro.
15907 (grub_reiserfs_transaction_header): Renamed to
15908 grub_reiserfs_description_block, replace field data with real_blocks.
15909 (grub_reiserfs_commit_block): New structure.
15910 (grub_reiserfs_data): New member journal.
15911 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
15912 number.
15913 (grub_reiserfs_read_symlink): Likewise.
15914 (grub_reiserfs_iterate_dir): Likewise.
15915 (grub_reiserfs_open): Likewise.
15916 (grub_reiserfs_read): Likewise.
15917 (grub_reiserfs_get_journal): New function.
15918 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
15919 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
15920 using grub_reiserfs_get_journal.
15921 (grub_reiserfs_close): Release memory used by journal.
15922
15923 * fs/affs.c (grub_affs_read_block): Change block type to
15924 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
15925
15926 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
15927
15928 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
15929
15930 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
15931
15932 * fs/udf.c (grub_udf_read_block): Change block type to
15933 grub_disk_addr_t. Use type cast to avoid warning.
15934
15935 * fs/xfs.c (grub_xfs_read_block): Likewise.
15936
b7c6bed5 159372008-05-16 Christian Franke <franke@computer.org>
15938
15939 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
15940 to ensure that break with ESC will always work.
15941 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
15942 Remove ESC from keyboard queue.
15943
eedf167f 159442008-05-16 Christian Franke <franke@computer.org>
15945
15946 * util/biosdisk.c: [__CYGWIN__] Add includes.
15947 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
15948 (get_os_disk): Move variable declarations to OS specific
15949 parts to avoid warning.
15950 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
15951 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
15952 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
15953 Cygwin.
15954 * util/getroot.c: [__CYGWIN__] Add includes.
15955 (strip_extra_slashes): Fix "/" case.
15956 [__CYGWIN__] (get_win32_path): New function.
15957 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
15958 [__CYGWIN__] (find_root_device): Disable.
15959 [__CYGWIN__] (get_bootsec_serial): New function.
15960 [__CYGWIN__] (find_cygwin_root_device): Likewise.
15961 [__linux__] (grub_guess_root_device): Add early returns to simplify
15962 structure.
15963 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
15964 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
15965 check for Linux only.
15966
a079699e 159672008-05-15 Bean <bean123ch@gmail.com>
15968
15969 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
15970 keyboard hang problem in apple's intel mac.
15971
1cf4059a 159722008-05-09 Robert Millan <rmh@aybabtu.com>
15973
15974 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
15975 devices.
15976 * util/grub-mkdevicemap.c (get_virtio_disk_name)
15977 (make_device_map): Likewise.
15978 Reported by Aurelien Jarno <aurel32@debian.org>
15979
ed759390 159802008-05-07 Ian Campbell <ijc@hellion.org.uk>
15981
15982 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
15983 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
15984 (make_device_map): Output entries for xvd type disks.
15985
b56c4eaa 159862008-05-07 Robert Millan <rmh@aybabtu.com>
15987
15988 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
15989 devices.
15990 * util/grub-mkdevicemap.c (get_cciss_disk_name)
15991 (make_device_map): Likewise.
15992 Reported by Roland Dreier <rdreier@cisco.com>
15993
7f8866ed 159942008-05-07 Robert Millan <rmh@aybabtu.com>
15995
15996 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
15997 grub_strstr() call. Correct a few mistakes in failure path handling.
15998
b0346e0f 159992008-05-06 Robert Millan <rmh@aybabtu.com>
16000
16001 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
16002 Do not print a trailing slash (therefore, the root directory is an
16003 empty string).
16004 (convert_system_path_to_grub_path): Do not remove trailing slash
16005 from make_system_path_relative_to_its_root() output.
16006
16007 * util/i386/pc/grub-install.in: Add trailing slash to output from
16008 make_system_path_relative_to_its_root().
16009
6cf12cbd 160102008-05-06 Robert Millan <rmh@aybabtu.com>
16011
16012 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
16013 ensures that output lines aren't intermangled with those sent to
16014 stderr (via grub_util_info()).
16015 * util/grub-probe.c (grub_refresh): Likewise.
16016 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
16017
0fbb3117 160182008-05-05 Christian Franke <franke@computer.org>
16019
16020 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
16021 Add Cygwin device names.
16022 (get_ide_disk_name) [__CYGWIN__]: Likewise.
16023 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
16024 (check_device): Return error instead of success on empty name.
16025 (make_device_map): Move label inside linux specific code to
16026 prevent compiler warning.
16027
8124cdb7 160282008-04-30 Robert Millan <rmh@aybabtu.com>
16029
16030 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
16031 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
16032 first boot option.
16033 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
16034
094c01d0 160352008-04-29 Robert Millan <rmh@aybabtu.com>
16036
16037 * docs/grub.cfg: New file (example GRUB configuration).
16038
f4b1fc02 160392008-04-26 Robert Millan <rmh@aybabtu.com>
16040
329ce2a5 16041 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
16042 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
16043 and `disk/ieee1275/nand.c'.
f4b1fc02 16044
25f16ec1 160452008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 16046
25f16ec1 16047 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
16048 i386-linuxbios.
16049
16050 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
16051 change the buffer size to 4096 for cdrom device.
16052
16053 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
16054 and nand.mod.
16055 (_linux_mod_SOURCES): New variable.
16056 (_linux_mod_CFLAGS): Likewise.
16057 (_linux_mod_LDFLAGS): Likewise.
16058 (linux_mod_SOURCES): Likewise.
16059 (linux_mod_CFLAGS): Likewise.
16060 (linux_mod_LDFLAGS): Likewise.
16061 (nand_mod_SOURCES): Likewise.
16062 (nand_mod_CFLAGS): Likewise.
16063 (nand_mod_LDFLAGS): Likewise.
16064
16065 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
16066 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
16067 type property. (nand device in olpc don't have this property)
16068
16069 * include/grub/disk.h (grub_disk_dev_id): New macro
16070 GRUB_DISK_DEVICE_NAND_ID.
16071
16072 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
16073 function prototype.
16074 (grub_rescue_cmd_initrd): Likewise.
16075
16076 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
16077 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
16078 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 16079
25f16ec1 16080 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
16081 GRUB_MACHINE_IEEE1275 is defined.
16082
16083 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
16084 Use NESTED_FUNC_ATTR attribute on the hook parameter.
16085
16086 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
16087 on nested function heap_init.
16088 (grub_upper_mem): New variable for i386-ieee1275.
16089 (grub_get_extended_memory): New function for i386-ieee1275.
16090 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
16091
16092 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
16093 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
16094 property.
f19dbdb7 16095
25f16ec1 16096 * loader/i386/ieee1275/linux.c: New file.
16097
16098 * loader/i386/ieee1275/linux_normal.c: New file.
16099
16100 * disk/ieee1275/nand.c: New file.
16101
e89d61e9 161022008-04-18 Thomas Schwinge <tschwinge@gnu.org>
16103
16104 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
16105 value.
16106 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
16107
602566f6 161082008-04-18 Robert Millan <rmh@aybabtu.com>
16109
16110 Restructures early code path on ieee1275 to unify grub_main() as
16111 the first C function that is executed in every platform.
16112
16113 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
16114 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
16115 cmain().
16116 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
16117 * kern/ieee1275/cmain.c (cmain): Rename to ...
16118 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
16119 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
16120 at the beginning.
16121
57490c2b 161222008-04-18 Robert Millan <rmh@aybabtu.com>
16123
16124 * util/update-grub.in: Fix syntax error when setting
16125 `GRUB_PRELOAD_MODULES'.
16126 Reported by Stephane Chazelas <stephane@artesyncp.com>
16127
1977517d 161282008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
16129
16130 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
16131 section into account, newer toolchains generate unique build ids
16132 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 16133 we want build ids to be preserved
1977517d 16134 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
16135 far from other sections don't cause the raw binary images grow
16136 size
16137
bfb1f1a2 161382008-04-15 Robert Millan <rmh@aybabtu.com>
16139
16140 * disk/lvm.c: Update copyright year.
16141 * kern/misc.c: Likewise.
16142
01979850 161432008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
16144
16145 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 16146 there is no memory left for physical volume name.
01979850 16147
0a1150e2 161482008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
16149
16150 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
16151 volume name mapping to support bigger than 9 character names properly.
16152
82ead3fe 161532008-04-13 Robert Millan <rmh@aybabtu.com>
16154
16155 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
16156 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
16157
e54a72f5 161582008-04-13 Christian Franke <franke@computer.org>
16159
16160 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
16161 to create a floppy emulation boot CD when non emulation mode
16162 does not work.
16163 Enable Joliet CD filesystem extension.
16164
9fe86034 161652008-04-13 Robert Millan <rmh@aybabtu.com>
16166
16167 * kern/misc.c (grub_strncat): Fix off-by-one error.
16168 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
16169
16170 * kern/env.c (grub_env_context_close): Clear current context, not
16171 previous one.
16172 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
16173
16174 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
16175
7ceeee39 161762008-04-13 Robert Millan <rmh@aybabtu.com>
16177
16178 Improve robustness when handling LVM.
16179
16180 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 16181 (and leave `*p' unmodified).
7ceeee39 16182 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
16183 through it.
16184 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
16185 iterating through it.
16186 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
16187 through it.
fe6b695a 16188 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 16189 when due) on each grub_lvm_getvalue() or grub_strstr() call.
16190 Don't assume `vg->pvs != NULL' when iterating through it.
16191
58cd3d85 161922008-04-13 Robert Millan <rmh@aybabtu.com>
16193
16194 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
16195 * genmk.rb (partmap): New variable.
16196 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
16197 (#{partmap}): New target rule.
16198 * genpartmaplist.sh: New file.
16199 * Makefile.in (pkglib_DATA): Add partmap.lst.
16200 (partmap.lst): New target rule.
16201 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
16202 modules (including all partition maps), instead of preloading them.
16203
78b51059 162042007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
16205
16206 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
16207 `linux-boot-prober' (if installed) to detect other operating
16208 systems which are installed on the computer and add them to
16209 the boot menu.
16210 * conf/common.rmk: Build and install 30_os-prober.
16211
a91627b4 162122008-04-12 Robert Millan <rmh@aybabtu.com>
16213
16214 * kern/powerpc/ieee1275/init.c: Move from here ...
16215 * kern/ieee1275/init.c: ... to here. Update all users.
16216
16217 * kern/powerpc/ieee1275/cmain.c: Move from here ...
16218 * kern/ieee1275/cmain.c: ... to here. Update all users.
16219
16220 * kern/powerpc/ieee1275/openfw.c: Move from here ...
16221 * kern/ieee1275/openfw.c: ... to here. Update all users.
16222
16223 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
16224 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
16225
322562ea 162262008-04-10 Pavel Roskin <proski@gnu.org>
16227
16228 * configure.ac: Always use "_cv_" in cache variables for
16229 compatibility with Autoconf 2.62.
16230
a02a73c5 162312008-04-07 Robert Millan <rmh@aybabtu.com>
16232
16233 Revert grub/machine/init.h addition by Pavel (since it breaks on
16234 i386-ieee1275 and others):
16235 * util/i386/pc/misc.c: Remove grub/machine/init.h.
16236 * util/powerpc/ieee1275/misc.c: Likewise.
16237
25c024b1 162382008-04-07 Robert Millan <rmh@aybabtu.com>
16239
16240 * util/grub-probe.c (probe): Improve error message.
16241
3cbd2f98 162422008-04-07 Robert Millan <rmh@aybabtu.com>
16243
16244 * util/biosdisk.c (read_device_map): Skip devices that don't exist
16245 (this prevents the presence of a bogus entry from ruining the whole
16246 thing).
16247
87a297bf 162482008-04-06 Pavel Roskin <proski@gnu.org>
16249
36747a62 16250 * util/biosdisk.c: Include grub/util/biosdisk.h.
16251 * util/grub-fstest.c (execute_command): Make static.
16252 * util/grub-mkdevicemap.c (check_device): Likewise.
16253 * util/i386/pc/misc.c: Include grub/machine/init.h.
16254 * util/powerpc/ieee1275/misc.c: Likewise.
16255 * util/lvm.c: Include grub/util/lvm.h.
16256 * util/misc.c: Include grub/kernel.h, grub/misc.h and
16257 grub/cache.h.
16258 * util/raid.c: Include grub/util/raid.h.
16259 (grub_util_getdiskname): Make static.
16260
87a297bf 16261 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
16262 grub_hostfs_fini(), as they are called from grub_init_all() and
16263 grub_fini_all() respectively. This fixes an infinite loop in
16264 grub-fstest due to double registration of hostfs.
16265 Reported by Christian Franke <Christian.Franke@t-online.de>
16266
f6ce7629 162672008-04-05 Pavel Roskin <proski@gnu.org>
16268
16269 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
16270 all 8 functions. Otherwise, probe function 0 only.
16271
070e49e4 162722008-04-04 Pavel Roskin <proski@gnu.org>
16273
8b088a4c 16274 * commands/lspci.c (grub_lspci_iter): Print the bus number
16275 correctly.
16276
4f657021 16277 * commands/lspci.c (grub_pci_classes): Fix typos.
16278 (grub_lspci_iter): Don't print func twice. Print vendor ID
16279 before device ID, as it's normally done.
16280
070e49e4 16281 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
16282 Fix signedness warnings.
16283 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
16284 Likewise.
16285 * util/ieee1275/get_disk_name.c: Include config.h so that
16286 _GNU_SOURCE is defined and getline() is declared. Mark an
16287 unused argument as such. Fix a signedness warning.
16288
ba7328dc 162892008-04-02 Pavel Roskin <proski@gnu.org>
16290
26887f22 16291 * genkernsyms.sh.in: Use more robust assignments for CC and
16292 srcdir. Quote srcdir.
16293 * gensymlist.sh.in: Likewise. Assert at the compile time that
16294 the symbol table is not empty.
16295
ba7328dc 16296 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
16297 * fs/cpio.c (grub_cpio_read): Likewise.
16298
0f582c6b 162992008-04-01 Pavel Roskin <proski@gnu.org>
16300
4b6e1995 16301 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
16302 * disk/host.c (grub_host_open): Likewise.
16303 * disk/loopback.c (grub_loopback_open): Likewise.
16304 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
16305 disk->id as in disk/host.c, not a multi-character constant.
16306
828a2768 16307 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
16308 later is obsolete, potentially dangerous and sets a bad example.
16309 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
16310 * util/misc.c (grub_util_get_image_size): Likewise.
16311
2bb4fb47 16312 * disk/loopback.c (options): Improve help for "--partitions".
16313
0f582c6b 16314 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
16315 options to align them with the short options, e.g. "echo -e".
16316
a33224e0 163172008-03-31 Bean <bean123ch@gmail.com>
16318
16319 * video/reader/png.c (grub_png_data): New member is_16bit and
16320 image_data.
16321 (grub_png_decode_image_header): Detect 16 bit png image.
16322 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
16323 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
16324 (grub_video_reader_png): Release memory occupied by image_data.
16325
16326 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
16327 4096 bytes.
16328 (grub_nfs_mount): Skip the test for sector per cluster.
16329
16330 * include/grub/ntfs.h (MAX_SPC): Removed.
16331
86cb4f54 163322008-03-31 Bean <bean123ch@gmail.com>
16333
16334 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
16335 (grub_probe_SOURCES): Add fs/afs.c.
16336 (grub_fstest_SOURCES): Likewise.
16337 (afs_mod_SOURCES): New variable.
16338 (afs_mod_CFLAGS): Likewise.
16339 (afs_mod_LDFLAGS): Likewise.
16340
16341 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
16342 (grub_emu_SOURCES): Likewise.
16343
16344 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16345
16346 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16347
16348 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
16349
16350 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16351
16352 * fs/afs.c: New file.
16353
17c74c21 163542008-03-30 Pavel Roskin <proski@gnu.org>
16355
4cb68e89 16356 * disk/host.c: Include grub/misc.h to fix a warning.
16357 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
16358 warnings about implicit declarations.
16359
8790bb04 16360 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
16361 variable.
16362 * include/grub/i386/loader.h: Change declaration of
16363 grub_linux_boot() to match what grub_loader_set() expects.
16364 * util/getroot.c (grub_guess_root_device): Return const char* to
16365 fix a warning.
16366 * util/grub-probe.c (probe): Fix a warning about uninitialized
16367 abstraction_name variable.
16368 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
16369 second argument as unused to fix a warning.
16370
9a3f3296 16371 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
16372 missing grub_error() call.
16373
0ecef90d 16374 * util/update-grub_lib.in: Define datarootdir, since Autoconf
16375 2.60 and newer uses it to define datadir.
16376
0bf6d401 16377 * commands/sleep.c: Fix warning about implicit declaration.
16378 * disk/memdisk.c: Likewise.
16379 * loader/aout.c: Likewise.
16380 * loader/i386/bsd_normal.c: Likewise.
16381 * util/grub-probe.c: Likewise.
16382
7cdacf97 16383 * commands/i386/cpuid.c (has_longmode): Make static.
16384 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
16385 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
16386
17c74c21 16387 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
16388 GDT. This is more robust, as %ds can change.
16389 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
16390 calling real_to_prot().
16391 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
16392
80a3e68b 163932008-03-28 Pavel Roskin <proski@gnu.org>
16394
16395 * kern/i386/pc/startup.S: Assert that uncompressed functions
16396 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
16397 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
16398 code, as they push parts of the code (error handlers) beyond
16399 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
16400 code as correctness and size.
16401
77bcd272 164022008-03-28 Pavel Roskin <proski@gnu.org>
16403
16404 * kern/i386/pc/startup.S
16405 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
16406 data block address to the real mode, keep offset minimal. This
16407 works around a bug in AWARD BIOS on old Athlon systems, which
16408 makes CD detection hang.
16409
c5dfd43b 164102008-03-26 Pavel Roskin <proski@gnu.org>
16411
16412 * normal/color.c (grub_parse_color_name_pair): Make `name' a
16413 const.
16414 * include/grub/normal.h: Add grub_parse_color_name_pair()
16415 declaration.
16416
bf962df2 164172008-03-24 Bean <bean123ch@gmail.com>
16418
16419 * disk/i386/pc/biosdisk.c (cd_start): Removed.
16420 (cd_count): Removed.
16421 (cd_drive): New variable.
16422 (grub_biosdisk_get_drive): Don't check for (cdN) device.
16423 (grub_biosdisk_call_hook): Likewise.
16424 (grub_biosdisk_iterate): Change cdrom detection method.
16425 (grub_biosdisk_open): Replace cd_start with cd_drive.
16426 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
16427 detect cdrom device.
16428
16429 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
16430 Removed.
16431 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
16432 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
16433 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
16434 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
16435 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
16436 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
16437 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
16438 (grub_biosdisk_cdrp): New structure.
16439 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
16440
16441 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
16442
16443 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
16444 device.
16445
16446 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
16447 New function.
16448
68e7fc7a 164492008-03-20 Robert Millan <rmh@aybabtu.com>
16450
16451 Remove 2 TiB limit in ata.mod.
16452 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
16453 (grub_ata_dumpinfo): Print sector count with 0x%llx.
16454 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
16455 grub_uint64_t instead of grub_uint32_t.
16456
38ad2cf5 164572008-03-05 Bean <bean123ch@gmail.com>
16458
16459 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
16460 (grub_multiboot): Set boot device.
16461
16462 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
16463
2b89344e 164642008-03-02 Bean <bean123ch@gmail.com>
16465
16466 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
16467 symlink_buffer.
16468
87a95d1f 164692008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
16470
16471 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
16472 texinfo.tex.
16473
16474 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
16475 modified.
16476
16477 * docs/fdl.texi: New file.
f19dbdb7 16478
87a95d1f 16479 * docs/mdate-sh: New file. Copied from gnulib.
16480 * docs/texinfo.tex: Likewise.
16481
16482 * config.guess: Updated from gnulib.
16483 * install-sh: Likewise.
16484
7dc15d8e 164852008-02-28 Robert Millan <rmh@aybabtu.com>
16486
16487 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
16488 (aout_mod_SOURCES): New variable.
16489 (aout_mod_CFLAGS): Likewise.
16490 (aout_mod_LDFLAGS): Likewise.
16491
16492 * conf/i386-ieee1275.rmk: Likewise.
16493
b00ab696 164942008-02-28 Robert Millan <rmh@aybabtu.com>
16495
16496 * util/update-grub.in: Reorganise terminal validity check. Accept
16497 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
16498 Based on suggestion by Franklin PIAT.
16499
79ca2d78 165002008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
16501
16502 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
16503 function.
16504 * util/getroot.c (grub_util_check_block_device): New function that
16505 returns the given argument if it is a block device and returns NULL else.
16506 * util/grub-probe.c (argument_is_device): New variable.
16507 (probe): Promote device_name from a variable to an argument. Receive
16508 device_name from grub_util_check_block_device() if path is NULL and from
16509 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 16510 (options): Introduce new parameter '-d, --device'.
79ca2d78 16511 (main): Add description of the new parameter to the help screen.
16512 Rename path variable to argument. Set argument_is_device if the '-d'
16513 option is given. Pass argument to probe() depending on
16514 argument_is_device.
16515
0d16e571 165162008-02-24 Bean <bean123ch@gmail.com>
16517
16518 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
16519 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
16520 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
16521 (GRUB_ISO9660_VOLDESC_PART): Likewise.
16522 (GRUB_ISO9660_VOLDESC_END): Likewise.
16523 (grub_iso9660_primary_voldesc): New member escape.
16524 (grub_iso9660_data): New member joliet.
16525 (grub_iso9660_convert_string): New function.
16526 (grub_iso9660_mount): Detect joliet extension.
16527 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
16528 (grub_iso9660_iso9660_label): Likewise.
16529
16530 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
16531 (grub_setup_SOURCES): Add fs/udf.c.
16532 (grub_fstest_SOURCES): Likewise.
16533 (udf_mod_SOURCES): New variable.
16534 (udf_mod_CFLAGS): Likewise.
16535 (udf_mod_LDFLAGS): Likewise.
16536
16537 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
16538 (grub_emu_SOURCES): Likewise.
16539
16540 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
16541
16542 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16543
16544 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
16545
16546 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16547
16548 * fs/udf.c: New file.
16549
8a594a17 165502008-02-24 Robert Millan <rmh@aybabtu.com>
16551
16552 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
16553 (normal/lexer.c_DEPENDENCIES): New variables.
16554 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
16555 (normal/lexer.c_DEPENDENCIES): Likewise.
16556 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
16557 (normal/lexer.c_DEPENDENCIES): Likewise.
16558 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
16559 (normal/lexer.c_DEPENDENCIES): Likewise.
16560 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
16561 (normal/lexer.c_DEPENDENCIES): Likewise.
16562 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
16563 (normal/lexer.c_DEPENDENCIES): Likewise.
16564
2dc33c03 165652008-02-23 Robert Millan <rmh@aybabtu.com>
16566
16567 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
16568 since they were intended to be in hex. This didn't break previously
16569 because of a bug in gpt_partition_map_iterate() (see below).
16570
16571 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
16572 when checking the validity of GPT header.
16573 Remove `partno', since it always provides the same information as `i'.
16574
f6f4cfb0 165752008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
16576
16577 * include/grub/efi/time.h: Fix a wrong comment.
16578
79ff665f 165792008-02-19 Pavel Roskin <proski@gnu.org>
16580
16581 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
16582 message.
16583
d38e24c2 165842008-02-19 Bean <bean123ch@gmail.com>
16585
16586 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
16587 (aout_mod_SOURCES): New variable.
16588 (aout_mod_CFLAGS): Likewise.
16589 (aout_mod_LDFLAGS): Likewise.
16590 (_bsd_mod_SOURCES): New variable.
16591 (_bsd_mod_CFLAGS): Likewise.
16592 (_bsd_mod_LDFLAGS): Likewise.
16593 (bsd_mod_SOURCES): New variable.
16594 (bsd_mod_CFLAGS): Likewise.
16595 (bsd_mod_LDFLAGS): Likewise.
16596
16597 * include/grub/aout.h: New file.
16598
16599 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
16600
16601 * include/grub/i386/bsd.h: New file.
16602
16603 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
16604 to make it public.
16605
16606 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
16607 function is called, so that it's possible to change it inside the hook.
16608 (grub_elf64_load): Likewise.
16609 (grub_elf_file): Don't close the file if elf header is not found.
16610 (grub_elf_close): Close the file if grub_elf_file fails (The new
16611 grub_elf_file won't close it).
16612 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
16613 (grub_elf64_size): Likewise.
16614
16615 * kern/i386/loader.S (grub_unix_real_boot): New function.
16616
16617 * loader/aout.c: New file.
16618
16619 * loader/i386/bsd.c: New file.
16620
16621 * loader/i386/bsd_normal.c: New file.
16622
16623 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
16624
16625 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 16626 can test other formats.
d38e24c2 16627
b93bdb0f 166282008-02-19 Robert Millan <rmh@aybabtu.com>
16629
16630 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
16631 (grub_gpt_partition_type_empty): Redefine with macro from
16632 `<grub/gpt_partition.h>'.
16633 (gpt_partition_map_iterate): Adjust partition type comparison.
16634
16635 Export `entry' as partmap-specific `part.data' struct.
16636 (grub_gpt_header, grub_gpt_partentry): Move from here ...
16637
16638 * include/grub/gpt_partition.h (grub_gpt_header)
16639 (grub_gpt_partentry): ... to here (new file).
16640
16641 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
16642
16643 (grub_gpt_partition_type_bios_boot): New const variable, defined
16644 with macro from `<grub/gpt_partition.h>'.
16645
16646 (setup): Replace `first_start' with `embed_region', which keeps
16647 track of the embed region (and is partmap-agnostic).
16648
16649 Replace find_first_partition_start() with find_usable_region(),
16650 which finds a usable region for embedding using partmap-specific
16651 knowledge (supports PC/MSDOS and GPT).
16652
16653 Fix all assumptions that the embed region start at sector 1, using
16654 `embed_region.start' from now on. Similarly, use `embed_region.end'
16655 rather than `first_start' to calculate available size.
16656
16657 In grub_util_info() message, replace "into after the MBR" with an
16658 indication of the specific sector our embed region starts at.
16659
66cb40f6 166602008-02-19 Robert Millan <rmh@aybabtu.com>
16661
16662 * DISTLIST: Replace `commands/ieee1275/halt.c' and
16663 `commands/ieee1275/reboot.c' with `commands/halt.c' and
16664 `commands/reboot.c'.
16665 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
16666 (halt_mod_SOURCES): Likewise.
16667 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
16668 (halt_mod_SOURCES): Likewise.
16669
b7202015 166702008-02-17 Christian Franke <franke@computer.org>
16671
16672 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
16673
32b0fc49 166742008-02-17 Robert Millan <rmh@aybabtu.com>
16675
16676 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
16677 set `first_start' to 0 for non-PC/MSDOS partition maps.
16678
aca63502 166792008-02-16 Robert Millan <rmh@aybabtu.com>
16680
16681 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
16682 do not assume partition map is PC/MSDOS before performing checks that
16683 are specific to that layout.
16684
0de8be86 166852008-02-13 Robert Millan <rmh@aybabtu.com>
16686
16687 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
16688 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
16689 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
16690
c3db8364 166912008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
16692
16693 * configure.ac: Only a cosmetic change on the handling of
16694 -fno-stack-protector.
16695
f714229e 166962008-02-12 Alexandre Boeglin <alex@boeglin.org>
16697
c3db8364 16698 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
16699 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
16700 reboot.c.
f714229e 16701 (grub_install_SOURCES): Add halt.mod and reboot.mod.
16702 (halt_mod_SOURCES): New variable.
16703 (halt_mod_CFLAGS): Likewise.
16704 (halt_mod_LDFLAGS): Likewise.
16705 (reboot_mod_SOURCES): Likewise.
16706 (reboot_mod_CFLAGS): Likewise.
16707 (reboot_mod_LDFLAGS): Likewise.
16708
c3db8364 16709 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
16710 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
16711 reboot.c.
f714229e 16712 (halt_mod_SOURCES): Likewise.
16713 (reboot_mod_SOURCES): Likewise.
16714
c3db8364 16715 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
16716 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 16717 (reboot_mod_SOURCES): Likewise.
16718
16719 * commands/i386/pc/reboot.c: merge this file ...
16720
16721 * commands/ieee1275/reboot.c: ... and this file ...
16722
16723 * commands/reboot.c: ... to this file.
c3db8364 16724 Add some precompiler directive to include the correct header for
16725 each machine.
f714229e 16726
16727 * commands/ieee1275/halt.c: move this file ...
16728
16729 * commands/halt.c: ... to here.
c3db8364 16730 Add some precompiler directive to include the correct header for
16731 each machine.
f714229e 16732
16733 * include/grub/efi/efi.h (grub_reboot): New function declaration.
16734 (grub_halt): Likewise.
16735
16736 * kern/efi/efi.c (grub_reboot): New function.
16737 (grub_halt): Likewise.
16738
c74493e0 167392008-02-12 Robert Millan <rmh@aybabtu.com>
16740
16741 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
16742 /dev (like it is done for /dev/mapper). This doesn't provide support
16743 for EVMS, but at least it is now easy to identify the problem when it
16744 arises.
16745
d0db4b04 167462008-02-11 Robert Millan <rmh@aybabtu.com>
16747
16748 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
16749 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
16750 comparing it with -1, not 0.
16751
bf748642 167522008-02-10 Robert Millan <rmh@aybabtu.com>
16753
16754 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
16755 `disk/lvm.c'.
16756 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16757 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
16758
16759 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
16760 `disk/lvm.c' to the end of the list.
16761 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
16762 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
16763
b5db202a 167642008-02-10 Robert Millan <rmh@aybabtu.com>
16765
16766 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
16767 grub_print_error() instead. This will let user know why we're entering
16768 rescue mode.
16769 Based on suggestions from Sam Morris.
16770
83abee31 167712008-02-10 Alexandre Boeglin <alex@boeglin.org>
16772
16773 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
16774 on remaining N args, instead of "--" arg N times.
16775
78d5a08b 167762008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
16777
16778 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
16779 (fill_with_default_glyph): Changed to use unknown_glyph for fill
16780 pattern for unknown glyphs.
16781
68807e5f 167822008-02-09 Robert Millan <rmh@aybabtu.com>
16783
16784 * configure.ac: Probe for `help2man'.
16785 * Makefile.in (builddir): New variable.
16786 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
16787 or otherwise add a few flags/options to it.
16788 (install-local): For every executable utility or script that is
16789 installed, invoke $(HELP2MAN) to install a manpage based on --help
16790 output.
16791
16792 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
16793 that it doesn't prevent --help from working in build tree.
16794
16795 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
16796 with `bug-grub@gnu.org'.
16797 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
16798 * util/update-grub.in (usage): New function.
16799 Implement proper argument check, with support for --help and --version
16800 (as well as existing -y).
16801
168022008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 16803
16804 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
16805 avoid overwriting previous output.
16806 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
16807
c1962162 168082008-02-09 Robert Millan <rmh@aybabtu.com>
16809
16810 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
16811 drawing the menu.
16812
3dac2e3f 168132008-02-09 Robert Millan <rmh@aybabtu.com>
16814
16815 * commands/sleep.c: New file.
16816 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
16817 (sleep_mod_SOURCES): New variable.
16818 (sleep_mod_CFLAGS): Likewise.
16819 (sleep_mod_LDFLAGS): Likewise.
16820
7a634e08 168212008-02-09 Robert Millan <rmh@aybabtu.com>
16822
16823 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
16824 situations in which we can deduce the RAID size and the superblock
16825 doesn't match it.
16826
b92f0c18 168272008-02-09 Robert Millan <rmh@aybabtu.com>
16828
16829 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
16830 and return a grub_diskmemberlist_t composed of LVM physical volumes.
16831 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
16832
16833 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
16834 and return a grub_diskmemberlist_t composed of physical array members.
16835 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
16836
16837 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
16838 prototype.
16839 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
16840 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
16841 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
16842
16843 * util/grub-probe.c (probe): Move partmap probing code from here ...
16844 (probe_partmap): ... to here.
16845 (probe): Use probe_partmap() once for the disk we're probing, and
16846 additionally, when such disk contains a memberlist() struct member,
16847 once for each disk that is contained in the structure returned by
16848 memberlist().
16849
91a4bf68 168502008-02-09 Robert Millan <rmh@aybabtu.com>
16851
16852 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
16853 environment variable to 'all' in order to obtain debug output from
16854 non-util/ code.
16855 * util/i386/pc/grub-setup.c (main): Likewise.
16856
a96f9caa 168572008-02-08 Robert Millan <rmh@aybabtu.com>
16858
16859 * disk/raid.c (grub_raid_scan_device): Check for
16860 `array->device[sb.this_disk.number]' rather than for
16861 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 16862 guaranteed to be accessible.
a96f9caa 16863
b37a9222 168642008-02-08 Robert Millan <rmh@aybabtu.com>
16865
16866 * disk/raid.c: Update copyright.
16867 * fs/cpio.c: Likewise.
16868 * include/grub/raid.h: Likewise.
16869 * loader/i386/pc/multiboot.c: Likewise.
16870 * util/hostfs.c: Likewise.
16871
5626aee1 168722008-02-08 Robert Millan <rmh@aybabtu.com>
16873
16874 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
16875 to a grub_disk_t array.
16876 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
16877 `device[x]'.
16878 (grub_raid_scan_device): Replace `device[x].name' accesses with
16879 `device[x]->name'. Simplify initialization of `array->device[x]'.
16880
554f0187 168812008-02-08 Robert Millan <rmh@aybabtu.com>
16882
16883 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
16884 grub_dprintf() calls.
16885 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
16886 error message.
16887
1ec8425d 168882008-02-07 Christian Franke <franke@computer.org>
16889
16890 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
16891 instead of fseek and ftell to support large files.
16892 (grub_hostfs_read): Likewise.
16893
f2156fda 168942008-02-07 Robert Millan <rmh@aybabtu.com>
16895
16896 Patch from Jeroen Dekkers.
16897 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 16898 failure, since successfully reading all array members might not be
f2156fda 16899 required.
16900
9216e0e7 169012008-02-06 Robert Millan <rmh@aybabtu.com>
16902
16903 * util/grub-probe.c (probe): Simplify partmap probing (with the
16904 assumption that the first word up to the underscore equals to
16905 the module name).
16906
b0dfd29a 169072008-02-06 Christian Franke <franke@computer.org>
16908
16909 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
16910 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
16911 last block of a cpio or tar stream.
16912 Check for "TRAILER!!!" instead of any empty data
16913 block to detect last block of a cpio stream.
16914 (grub_cpio_dir): Fix constness of variable np.
16915 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
16916 cpio or tar trailer is detected. This fixes a crash
16917 on open of a non existing file.
16918
c32865bf 169192008-02-05 Bean <bean123ch@gmail.com>
16920
16921 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
16922 address of entry.
16923 (grub_multiboot_load_elf64): Likewise.
16924 (grub_multiboot): Initialize mbi structure.
16925
16926 * util/grub-fstest.c: Don't include unused header file script.h.
16927
fe6b695a 16928 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 16929 of file.
16930 (grub_fstest_SOURCES): Likewise.
16931
409480b7 169322008-02-05 Robert Millan <rmh@aybabtu.com>
16933
16934 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
16935 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
16936 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
16937 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
16938
16939 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
16940 (translation_table): Replace hardcoded values with macros
16941 provided by `<grub/term.h>'.
16942
16943 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
16944 (keyboard_map): Correct/add a few values, with macros provided
16945 by `<grub/term.h>'.
16946 (keyboard_map_shift): Zero values that don't differ from their
16947 `keyboard_map' equivalents.
16948 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
16949 Discard the second scan code that is always sent by Caps lock.
16950 Only use `keyboard_map_shift' when it provides a non-zero value,
16951 otherwise fallback to `keyboard_map'.
16952
99fadbaa 169532008-02-04 Bean <bean123ch@gmail.com>
16954
16955 * Makefile.in (enable_grub_fstest): New variable.
16956
16957 * conf/common.rmk (grub_fstest_init.lst): New rule.
16958 (grub_fstest_init.h): Likewise.
16959 (grub_fstest_init.c): Likewise.
16960 (util/grub-fstest.c_DEPENDENCIES): New variable.
16961 (grub_fstest_SOURCES): Likewise.
16962
16963 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
16964
16965 * util/grub-fstest.c: New file.
16966
bf567c50 169672008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
16968
16969 Make grub-setup handle a separate root device.
f19dbdb7 16970
bf567c50 16971 * util/i386/pc/grub-setup.c (setup): Always open the root device,
16972 so that the root device can be compared with the destination
16973 device.
16974 When embedding the core image, if the root and destination devices
16975 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
16976 0xFF.
16977 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 16978
9be6b98b 169792008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
16980
16981 Add support for having a grub directory in a different drive. This
16982 is still only the data handling part.
f19dbdb7 16983
9be6b98b 16984 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
16985 (codestart): Save %dh in GRUB_ROOT_DRIVE.
16986 (grub_root_drive): New variable.
16987
16988 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
16989 instead of GRUB_BOOT_DRIVE to construct a device name. Set
16990 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
16991 as it was.
16992
16993 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
16994
16995 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
16996 macro.
16997 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
16998
16999 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
17000 is bogus, because PXE booting does not specify any drive
17001 correctly.
17002
17003 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
17004 am not sure if this is really correct.
17005
17006 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
17007 is always identical to the boot drive when booting from a CD.
17008
17009 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
17010 longer.
17011 (root_drive): New variable.
17012 (real_start): Unconditionally set %dh to ROOT_DRIVE.
17013 (setup_sectors): Push %dx right after popping it, because %dh will
17014 be modified later.
17015 (copy_buffer): Restore %dx.
17016
e0ca0677 170172008-02-03 Robert Millan <rmh@aybabtu.com>
17018
17019 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
17020 use `cdboot.img' for cdrom images.
17021
3b3f6629 170222008-02-03 Robert Millan <rmh@aybabtu.com>
17023
17024 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
17025 only setup gfxterm when `font' command has succeeded.
17026
d42b3672 170272008-02-03 Robert Millan <rmh@aybabtu.com>
17028
17029 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
17030 (grub_rescue_cmd_multiboot_loader)
17031 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
17032
fa370ea6 170332008-02-03 Pavel Roskin <proski@gnu.org>
17034
e0c5dacb 17035 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 17036 %edx and %esi from stack only after grub_gate_a20() is called.
17037 grub_gate_a20() clobbers %edx.
17038
f2a76e1d 170392008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
17040
17041 * configure.ac (AC_INIT): Bumped to 1.96.
17042
17043 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
17044 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
17045 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
17046 video/readers/png.c.
17047
90fd32d1 170482008-02-03 Bean <bean123ch@gmail.com>
9be665dd 17049
17050 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
17051 (cdboot_img_SOURCES): New variable.
17052 (cdboot_img_ASFLAGS): New variable.
17053 (cdboot_img_LDFLAGS): New variable.
17054
17055 * boot/i386/pc/cdboot.S: New file.
17056
17057 * disk/i386/pc/biosdisk.c (cd_start): New variable.
17058 (cd_count): Likewise.
17059 (grub_biosdisk_get_drive): Add support for cd device.
17060 (grub_biosdisk_call_hook): Likewise.
17061 (grub_biosdisk_iterate): Likewise.
17062 (grub_biosdisk_open): Likewise.
17063 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
17064 (grub_biosdisk_rw): Support reading from cd device.
17065 (GRUB_MOD_INIT): Iterate cd devices.
17066
17067 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
17068 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
17069 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
17070
17071 * kern/i386/pc/init.c (make_install_device): Check for cd device.
17072
4020aa53 170732008-02-02 Robert Millan <rmh@aybabtu.com>
17074
17075 * commands/read.c: New file.
17076 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
17077 (read_mod_SOURCES): New variable.
17078 (read_mod_CFLAGS): Likewise.
17079 (read_mod_LDFLAGS): Likewise.
17080
e03a1132 170812008-02-02 Robert Millan <rmh@aybabtu.com>
17082
17083 * normal/main.c (grub_normal_execute): Check for `menu->size' when
17084 determining whether menu has to be displayed.
17085
58c69220 170862008-02-02 Marco Gerards <marco@gnu.org>
17087
17088 * bus/pci.c: New file.
17089
17090 * include/grub/pci.h: Likewise.
17091
17092 * include/grub/i386/pc/pci.h: Likewise.
17093
17094 * commands/lspci.c: Likewise.
17095
17096 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
17097 `lspci.mod'.
17098 (pci_mod_SOURCES): New variable.
17099 (pci_mod_CFLAGS): Likewise.
17100 (pci_mod_LDFLAGS): Likewise.
17101 (lspci_mod_SOURCES): Likewise.
17102 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 17103 (lspci_mod_LDFLAGS): Likewise.
58c69220 17104
c004e1b4 171052008-02-02 Bean <bean123ch@gmail.com>
17106
17107 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
17108 (grub_ufs_get_file_block): Fix indirect block calculation problem.
17109
17110 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
17111 (grub_xfs_btree_node): New structure.
17112 (grub_xfs_btree_root): New structure.
17113 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
17114 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
17115 (GRUB_XFS_EXTENT_BLOCK): Likewise.
17116 (GRUB_XFS_EXTENT_SIZE): Likewise.
17117 (grub_xfs_read_block): Support btree format type.
17118 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
17119 Use directory block as basic unit.
17120
17121 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
17122
17123 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
17124 __attribute__ ((__regparm__ (1))).
17125
f95562bf 171262008-02-01 Robert Millan <rmh@aybabtu.com>
17127
17128 Correct a mistake in previous commit.
17129
17130 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
17131 top.
17132 (normal/command.c_DEPENDENCIES): New variable.
17133
7d31f41f 171342008-02-01 Robert Millan <rmh@aybabtu.com>
17135
17136 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
17137 top.
17138 (normal/command.c_DEPENDENCIES): New variable.
17139 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
17140 * conf/i386-ieee1275.rmk: Likewise.
17141 * conf/i386-linuxbios.rmk: Likewise.
17142 * conf/i386-pc.rmk: Likewise.
17143 * conf/sparc64-ieee1275.rmk: Likewise.
17144 * conf/powerpc-ieee1275.rmk: Likewise.
17145 (grub_emu_SOURCES): Add `fs/fshelp.c'.
17146
17147 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
17148
60b6be74 171492008-02-01 Robert Millan <rmh@aybabtu.com>
17150
17151 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
17152 call at beginning of function.
17153
078522ab 171542008-01-31 Pavel Roskin <proski@gnu.org>
17155
17156 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 17157 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
17158 (grub_mkrescue_SOURCES): Likewise.
078522ab 17159 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
17160
ccaa8a5f 171612008-01-30 Robert Millan <rmh@aybabtu.com>
17162
17163 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
17164 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
17165 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
17166 (grub_probe_SOURCES): ... to here.
17167
17168 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
17169 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
17170 * conf/i386-ieee1275.rmk: Likewise.
17171 * conf/i386-linuxbios.rmk: Likewise.
17172 * conf/powerpc-ieee1275.rmk: Likewise.
17173
ae5a9cd7 171742008-01-30 Tristan Gingold <gingold@free.fr>
17175
17176 * kern/rescue.c: Silently accept empty lines.
17177
70bc2ef2 171782008-01-29 Bean <bean123ch@gmail.com>
17179
17180 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
17181 (real_code_2): Code cleanup and change comment style.
17182 (move_memory): Avoid using 32-bit address mode.
17183
6a4d50ea 171842008-01-29 Bean <bean123ch@gmail.com>
17185
17186 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
17187 (png_mod_SOURCES): New variable.
17188 (png_mod_CFLAGS): Likewise.
17189 (png_mod_LDFLAGS): Likewise.
17190
17191 * video/readers/png.c: New file.
17192
11cc30ac 171932008-01-28 Robert Millan <rmh@aybabtu.com>
17194
17195 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
17196 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
17197 `ifndef GRUB_MOD_GAP' hack.
17198 * util/elf/grub-mkimage.c (add_segments): Likewise.
17199
3abc589f 172002008-01-27 Robert Millan <rmh@aybabtu.com>
17201
17202 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
17203 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 17204 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 17205
e1907778 172062008-01-27 Robert Millan <rmh@aybabtu.com>
17207
17208 Get grub-emu to build again (including parallel builds).
17209
17210 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
17211 Split into ...
17212 (util/grub-emu.c_DEPENDENCIES): ... this, ...
17213 (normal/execute.c_DEPENDENCIES): ... this, ...
17214 (grub-emu_DEPENDENCIES): ... and this.
17215
17216 * conf/i386-efi.rmk: Likewise.
17217 * conf/i386-linuxbios.rmk: Likewise.
17218 * conf/i386-ieee1275.rmk: Likewise.
17219 * conf/powerpc-ieee1275.rmk: Likewise.
17220 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
17221
2216b101 172222008-01-27 Robert Millan <rmh@aybabtu.com>
17223
17224 * NEWS: Add a few items.
17225
f75172d9 172262008-01-27 Robert Millan <rmh@aybabtu.com>
17227
17228 Fix parallel builds with grub-emu. Based on earlier commit for
17229 grub-probe and grub-setup.
17230
17231 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
17232 (util/grub-emu.c_DEPENDENCIES): ... this.
17233 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
17234 (util/grub-emu.c_DEPENDENCIES): ... this.
17235 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
17236 (util/grub-emu.c_DEPENDENCIES): ... this.
17237 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
17238 (util/grub-emu.c_DEPENDENCIES): ... this.
17239 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
17240 (util/grub-emu.c_DEPENDENCIES): ... this.
17241
3f51de77 172422008-01-27 Pavel Roskin <proski@gnu.org>
17243
17244 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
17245 to create a gap between _end and the modules added to the image
17246 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
17247 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
17248 * util/elf/grub-mkimage.c (add_segments): Likewise.
17249
2033f53e 172502008-01-26 Pavel Roskin <proski@gnu.org>
17251
17252 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
17253 just return an error.
17254
22da1f6f 172552008-01-26 Bean <bean123ch@gmail.com>
17256
17257 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
17258 (grub_reiserfs_get_item): Save offset of the next item.
17259 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
17260
2a9525e6 172612008-01-25 Robert Millan <rmh@aybabtu.com>
17262
17263 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
17264 make all filesystem sources appear together (possibly fixing omissions
17265 while at it).
17266 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
17267 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17268 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
17269 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17270
17271 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
17272 add `kern/file.c'.
17273 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
17274 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
17275 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
17276 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
17277
17278 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
17279 (probe): Add a sanity check to make sure of our ability to read
17280 requested files when probing for filesystem type.
17281
17282 * genmk.rb: Update copyright year (2007).
17283
17284 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
17285 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
17286 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
17287 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
17288 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
17289 : Remove function prototypes.
17290
b95f71b5 172912008-01-25 Robert Millan <rmh@aybabtu.com>
17292
17293 Revert my previous commits (based on wrong assumption of how grub_errno
17294 works).
17295
fe6b695a 17296 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 17297 * kern/file.c (grub_file_open): Likewise.
17298
d08bbb49 172992008-01-24 Pavel Roskin <proski@gnu.org>
17300
17301 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
17302 that hang if GRUB tries to setup colors.
17303 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
17304 colors for firmwares that don't support it.
17305 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
17306 Recognize Open Hack'Ware, set flags to work around its
17307 limitations.
17308
605e36ed 173092008-01-24 Robert Millan <rmh@aybabtu.com>
17310
17311 * kern/file.c (grub_file_open): Do not account previous failures of
17312 unrelated functions when grub_errno is checked for.
17313 Reported by Oleg Strikov.
17314
bac332a1 173152008-01-24 Bean <bean123ch@gmail.com>
17316
17317 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
17318 (grub_ufs_sblock): New member volume name.
17319 (grub_ufs_find_file): Fix string copy bug.
17320 (grub_ufs_label): Implement this function properly.
17321
17322 * fs/hfs.c (grub_hfs_cnid_type): New enum.
17323 (grub_hfs_iterate_records): Use the correct file number for extents
17324 and catalog file. Fix problem in next index calculation.
17325 (grub_hfs_find_node): Replace recursive function call with loop.
17326 (grub_hfs_iterate_dir): Replace recursive function call with loop.
17327
15c80c09 173282008-01-23 Robert Millan <rmh@aybabtu.com>
17329
17330 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
17331 `<grub/symbol.h>' and `<grub/multiboot.h>'.
17332 (grub_multiboot2_real_boot): New function prototype.
17333
17334 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
17335 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
17336
17337 * kern/i386/ieee1275/init.c (grub_os_area_addr)
17338 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
17339
305338fd 173402008-01-23 Robert Millan <rmh@aybabtu.com>
17341
17342 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
17343 #ifdef'ed out grub_printf().
17344
3ea52685 173452008-01-23 Robert Millan <rmh@aybabtu.com>
17346
17347 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
17348 grub_dprintf calls, since they make "debug=all" mode unusable.
17349 (grub_console_checkkey): Likewise.
17350
5882ae4b 173512008-01-23 Robert Millan <rmh@aybabtu.com>
17352
17353 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
17354 `term/i386/pc/at_keyboard.c'.
17355 (pkglib_MODULES): Add `serial.mod'.
17356 (serial_mod_SOURCES): New variable.
17357 (serial_mod_CFLAGS): Likewise.
17358 (serial_mod_LDFLAGS): Likewise.
17359
17360 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
17361 `<grub/powerpc/ieee1275/console.h>'.
17362 (grub_keyboard_controller_init): New function prototype.
17363 (grub_console_checkkey): Likewise.
17364 (grub_console_getkey): Likewise.
17365
17366 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
17367 keyboard on i386.
17368
17369 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
17370 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
17371
06ab5303 173722008-01-23 Robert Millan <rmh@aybabtu.com>
17373
17374 * kern/i386/pc/init.c (make_install_device): When memdisk image is
17375 present, "(memdisk)/boot/grub" becomes the default prefix.
17376
17377 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
17378 a memdisk tarball with all the modules. Add --overlay=DIR option that
17379 allows users to overlay additional files into the image.
17380
dbb475a4 173812008-01-23 Robert Millan <rmh@aybabtu.com>
17382
17383 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
17384 and `machine/memory.h'.
17385 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
17386 (_multiboot_mod_SOURCES): New variable.
17387 (_multiboot_mod_CFLAGS): Likewise.
17388 (_multiboot_mod_LDFLAGS): Likewise.
17389 (multiboot_mod_SOURCES): Likewise.
17390 (multiboot_mod_CFLAGS): Likewise.
17391 (multiboot_mod_LDFLAGS): Likewise.
17392
17393 * include/grub/i386/ieee1275/loader.h: New file.
17394
17395 * include/grub/i386/ieee1275/machine.h: Likewise.
17396
17397 * include/grub/i386/ieee1275/memory.h: Likewise.
17398
17399 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
17400 variable declaration.
17401 (grub_os_area_size): Likewise.
17402
17403 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
17404 (grub_lower_mem, grub_upper_mem): New variables.
17405 (grub_stop_floppy): New function (just to make
17406 grub_multiboot2_real_boot() happy).
17407
17408 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
17409 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
17410 (grub_stop): New function.
17411 Include `"../realmode.S"' and `"../loader.S"'.
17412
17413 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
17414 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
17415
17416 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
17417 rely on grub_multiboot2_real_boot() for final boot.
17418
25638629 174192008-01-22 Robert Millan <rmh@aybabtu.com>
17420
17421 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
17422 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
17423 device that doesn't look like an SD card.
17424 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
17425 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
17426 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
17427 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
17428 found.
17429
9dad816d 174302008-01-22 Robert Millan <rmh@aybabtu.com>
17431
17432 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
17433 avoid claiming over our own code.
17434
34842f2d 174352008-01-22 Bean <bean123ch@gmail.com>
17436
17437 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
17438 (jpeg_mod_SOURCES): New variable.
17439 (jpeg_mod_CFLAGS): Likewise.
17440 (jpeg_mod_LDFLAGS): Likewise.
17441
17442 * video/readers/jpeg.c : New file.
17443
44023a28 174442008-01-22 Bean <bean123ch@gmail.com>
17445
17446 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
17447 there are no more items.
17448
bc2d8ac6 174492008-01-21 Robert Millan <rmh@aybabtu.com>
17450
17451 * kern/mm.c (grub_mm_init_region): Improve debug message.
17452
261bd4bc 174532008-01-21 Robert Millan <rmh@aybabtu.com>
17454
17455 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
17456 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
17457 address.
17458 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
17459 a C macro.
17460 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
17461 Indicates start of upper memory.
17462 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
17463 (generate_image): Abort when image size is big enough to corrupt
17464 upper memory.
17465
17466 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
17467 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
17468 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
17469 instead of hardcoding 0xA0000.
17470 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
17471 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
17472 instead of hardcoding 0xA0000.
17473
f970b55e 174742008-01-21 Robert Millan <rmh@aybabtu.com>
17475
17476 * disk/memdisk.c (memdisk_size): New variable.
17477 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
17478 `memdisk_size'.
17479 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
17480 image to dynamic memory.
17481 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
17482 `memdisk_size'. Free memdisk block.
17483
1a8b0526 174842008-01-21 Robert Millan <rmh@aybabtu.com>
17485
17486 Fix detection of very small filesystems (like tar).
17487
17488 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
17489 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
17490 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
17491 a problem with this disk).
17492
6e9b4aab 174932008-01-21 Robert Millan <rmh@aybabtu.com>
17494
17495 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
17496 on grub_biosdisk_rw_standard() error.
17497
0d8837b2 174982008-01-21 Robert Millan <rmh@aybabtu.com>
17499
17500 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
17501 recent changes.
17502 * kern/elf.c: Likewise.
17503 * kern/ieee1275/ieee1275.c: Likewise.
17504 * kern/powerpc/ieee1275/openfw.c: Likewise.
17505 * term/ieee1275/ofconsole.c: Likewise.
17506
ffd36e34 175072008-01-21 Robert Millan <rmh@aybabtu.com>
17508
17509 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
17510
3f0093d0 17511 * include/grub/kernel.h (grub_arch_memdisk_addr)
17512 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 17513
3f0093d0 17514 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
17515 (grub_arch_memdisk_size): ... to here.
ffd36e34 17516
6c391b21 175172008-01-21 Robert Millan <rmh@aybabtu.com>
17518
17519 Mostly based on bugfix from Bean.
17520
17521 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
17522 attribute with hook() parameter.
17523 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
17524 declaration.
17525 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
17526 attribute with hook() parameter.
17527 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
17528 declaration.
17529
55a581dc 175302008-01-21 Robert Millan <rmh@aybabtu.com>
17531
17532 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
17533 (pkglib_MODULES): Add `memdisk.mod'.
17534 (memdisk_mod_SOURCES): New variable.
17535 (memdisk_mod_CFLAGS): Likewise.
17536 (memdisk_mod_LDFLAGS): Likewise.
17537
17538 * disk/memdisk.c: New file.
17539
17540 * include/grub/disk.h (grub_disk_dev_id): Add
17541 `GRUB_DISK_DEVICE_MEMDISK_ID'.
17542
17543 * include/grub/i386/pc/kernel.h
17544 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
17545 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
17546 (grub_kernel_image_size): New variable declaration.
17547 (grub_total_module_size): Likewise.
17548 (grub_memdisk_image_size): Likewise.
17549
17550 * include/grub/i386/pc/memory.h
17551 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
17552
17553 * include/grub/kernel.h: Include `<grub/symbol.h>'.
17554 (grub_arch_memdisk_addr): New variable declaration.
17555 (grub_arch_memdisk_size): Likewise.
17556
17557 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
17558 (grub_arch_memdisk_size): Likewise.
17559
17560 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
17561 (codestart): Replace hardcoded `0x100000' with
17562 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
17563
17564 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
17565 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
17566 not NULL, append the contents of the file it refers to, at the end of
17567 the compressed kernel image. Initialize `grub_memdisk_image_size'
17568 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
17569 (options): Add "memdisk"|'m' option.
17570 (main): Parse --memdisk|-m option, and pass user-provided path as
17571 parameter to generate_image().
17572
3d7f54c9 175732008-01-20 Robert Millan <rmh@aybabtu.com>
17574
17575 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
17576 grub_dprintf() calls from here ...
17577 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
17578
0bf74728 175792008-01-20 Robert Millan <rmh@aybabtu.com>
17580
17581 Fix detection of "real mode" when /options/real-mode? doesn't exist.
17582
17583 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
17584 declaration.
17585 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
17586 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
17587 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 17588 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 17589 property).
17590 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
17591 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
17592
33bf70a7 175932008-01-19 Robert Millan <rmh@aybabtu.com>
17594
fe6b695a 17595 Get rid of confusing function (superseded by
33bf70a7 17596 `grub_ieee1275_get_integer_property')
17597 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
17598 prototype.
17599 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
17600 function.
17601 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
17602 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 17603 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 17604
e2da7d26 176052008-01-19 Robert Millan <rmh@aybabtu.com>
17606
17607 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
17608 command after "shut-down", since implementations differ on which
17609 the command for halt is.
17610
59f1fd8d 176112008-01-19 Robert Millan <rmh@aybabtu.com>
17612
17613 * include/grub/i386/linuxbios/console.h: Add header protection.
17614 (grub_keyboard_controller_init): New function prototype.
17615 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
17616 (KEYBOARD_COMMAND_READ): Likewise.
17617 (KEYBOARD_COMMAND_WRITE): Likewise.
17618 (KEYBOARD_SCANCODE_SET1): Likewise.
17619 (grub_keyboard_controller_write): New function.
17620 (grub_keyboard_controller_read): Likewise.
17621 (grub_keyboard_controller_init): Likewise.
17622
17623 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
17624 (grub_console_init): On coreboot/LinuxBIOS, call
17625 grub_keyboard_controller_init().
17626
5f5a7c15 176272008-01-19 Robert Millan <rmh@aybabtu.com>
17628
17629 PowerPC changes provided by Pavel Roskin.
17630
17631 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
17632 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
17633 don't rely on cmain() doing it.
17634 * kern/i386/ieee1275/startup.S (_start): Store %eax in
17635 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
17636
1210e168 176372008-01-16 Robert Millan <rmh@aybabtu.com>
17638
17639 * include/grub/i386/linuxbios/memory.h
17640 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
17641 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
17642 receive `table_header' as argument. Instead, probe for it in the
17643 known memory ranges where it can be present.
17644 (grub_available_iterate): Do not pass a fixed `table_header' address
17645 to grub_linuxbios_table_iterate().
17646
3d04eab8 176472008-01-15 Robert Millan <rmh@aybabtu.com>
17648
17649 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
17650 * conf/i386-ieee1275.rmk: New file.
17651 * include/grub/i386/ieee1275/console.h: Likewise.
17652 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
17653 * include/grub/i386/ieee1275/kernel.h: Likewise.
17654 * include/grub/i386/ieee1275/time.h: Likewise.
17655 * kern/i386/ieee1275/init.c: Likewise.
17656 * kern/i386/ieee1275/startup.S: Likewise.
17657
d1bc1b73 176582008-01-15 Robert Millan <rmh@aybabtu.com>
17659
17660 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
17661 when pointers are 32-bit (but still do set it to one when they are
17662 64-bit).
17663
66a65807 176642008-01-15 Robert Millan <rmh@aybabtu.com>
17665
17666 * include/grub/ieee1275/ieee1275.h
17667 (grub_ieee1275_get_integer_property): New function prototype.
17668
17669 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
17670 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 17671 grub_ieee1275_get_property() to handle endianness.
66a65807 17672
17673 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
17674 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 17675 where appropriate.
66a65807 17676 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
17677 (grub_map): Likewise.
17678 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
17679
a83ccafd 176802008-01-15 Bean <bean123ch@gmail.com>
17681
17682 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
17683 (grub_script_execute_cmdline): Reset grub_errno.
17684
17685 * normal/main.c (read_config_file): Reset grub_errno.
17686
17687 * normal/parse.y (script_init): New.
17688 (script): Move function and menuentry here.
17689 (delimiter): New.
17690 (command): Add delimiter at the end of command.
17691 (commands): Adjust to match the new command.
17692 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 17693 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 17694 (if): Use the new commands.
17695
17696 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
17697
df6ecfc6 176982008-01-15 Robert Millan <rmh@aybabtu.com>
17699
17700 * normal/menu.c (run_menu): Move timeout message from here ...
17701 (print_timeout): ... to here.
17702 (run_menu): Use print_timeout() once during initial draw to print
17703 the whole message, and again in every clock tick to update only
17704 the number of seconds.
17705
87ae25eb 177062008-01-15 Robert Millan <rmh@aybabtu.com>
17707
17708 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
17709 actual size of `available' from grub_ieee1275_get_property(), and
17710 restrict parsing to that bound.
17711
47bf09a4 177122008-01-15 Christian Franke <franke@computer.org>
17713
17714 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
17715 (argp_program_version): Remove variable.
17716 (argp_program_bug_address): Likewise.
17717 (options): Convert from struct argp_option to struct option.
17718 (struct arguments): Remove.
17719 (parse_opt): Remove.
17720 (usage): New function.
17721 (main): Replace struct args members by simple variables.
17722 Replace argp_parse() by getopt_long().
17723 Add switch to evaluate options.
17724 Add missing "(...)" around root_dev in prefix string.
17725
c86f1469 177262008-01-14 Robert Millan <rmh@aybabtu.com>
17727
17728 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
17729 for grub_ieee1275_exit(), in order to improve portability.
17730
e622c559 177312008-01-14 Robert Millan <rmh@aybabtu.com>
17732
17733 * util/grub.d/10_linux.in (prefix): Define.
17734 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
17735
44cb1ec8 177362008-01-13 Pavel Roskin <proski@gnu.org>
17737
17738 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
17739 grub_errno if no errors have been detected.
17740
1eb8c802 177412008-01-12 Robert Millan <rmh@aybabtu.com>
17742
17743 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
17744 (grub_util_get_dev_abstraction): New function prototype.
17745
17746 * util/getroot.c: Include `<grub/util/getroot.h>'
17747 (grub_util_get_grub_dev): Move detection of abstraction type to ...
17748 (grub_util_get_dev_abstraction): ... here (new function).
17749
17750 * util/grub-probe.c: Convert PRINT_* to an enum. Add
17751 `PRINT_ABSTRACTION'.
17752 (probe): Probe for abstraction type when requested.
17753 (main): Understand `--target=abstraction'.
17754
17755 * util/i386/efi/grub-install.in: Add abstraction module to core
17756 image when it is found to be necessary.
17757 * util/i386/pc/grub-install.in: Likewise.
17758 * util/powerpc/ieee1275/grub-install.in: Likewise.
17759
17760 * util/update-grub_lib.in (font_path): Return system path without
17761 converting to GRUB path.
17762 * util/update-grub.in: Convert system path returned by font_path()
17763 to a GRUB path. Use `grub-probe -t abstraction' to determine what
17764 abstraction module is needed for loading fonts (if any). Export
17765 that as `GRUB_PRELOAD_MODULES'.
17766 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
17767 insmod commands).
17768
52bd3de9 177692008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
17770
17771 Remove some unused code from reiserfs.
f19dbdb7 17772
52bd3de9 17773 * fs/reiserfs.c (struct grub_reiserfs_key)
17774 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
17775 (struct grub_reiserfs_node_body): Removed.
17776 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
17777 Likewise.
17778 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
17779 Likewise.
17780 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
17781 Likewise.
17782 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
17783 Likewise.
17784 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
17785 Likewise.
17786 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
17787 Likewise.
17788 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
17789 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
17790 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
17791
2f80039d 177922008-01-10 Robert Millan <rmh@aybabtu.com>
17793
17794 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
17795 Determines if a file is garbage left by packaging systems, etc.
17796 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
17797 for processing /etc/grub.d scripts.
17798 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
17799 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
17800 as a condition for processing Linux images.
17801
87888032 178022008-01-10 Pavel Roskin <proski@gnu.org>
17803
17804 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
17805 to compile reiserfs.c on PowerPC.
17806
7e54fced 178072008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 17808
17809 * kern/device.c (grub_device_iterate): Do not abort device iteration
17810 when one of the devices cannot be opened.
17811 * kern/disk.c (grub_disk_open): Do not account previous failures of
17812 unrelated functions when grub_errno is checked for.
17813
5aa541e6 178142008-01-08 Robert Millan <rmh@aybabtu.com>
17815
17816 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
17817 `! grub_linux_is_bzimage', change order of address comparison to make
17818 it more intuitive, and improve "too big zImage" error message.
17819
7076340d 178202008-01-08 Robert Millan <rmh@aybabtu.com>
17821
17822 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
17823 `$(update-grub_DATA)'.
17824 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
17825 targets.
17826
9ca70333 178272008-01-07 Robert Millan <rmh@aybabtu.com>
17828
17829 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
17830 which instruction is modified by grub-setup during installation
17831 (since it wasn't obvious by only looking at this file).
17832
38ccf575 178332008-01-07 Robert Millan <rmh@aybabtu.com>
17834
17835 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
17836 listing actual TODO items.
17837
f5db4291 178382008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
17839
868967cf 17840 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
17841 correctly.
17842 (grub_reiserfs_get_key_offset): Likewise.
17843 (grub_reiserfs_set_key_offset): Likewise.
17844 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 17845 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 17846
17847 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
17848 better to remove the bitfield version completely.
f19dbdb7 17849
868967cf 178502008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 17851
f5db4291 17852 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
17853 allocated from the heap, due to the fshelp implementation.
17854 (grub_reiserfs_dir): Free NODE, due to the same reason.
17855
492e6d9d 178562008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
17857
17858 Mostly from Vincent Pelletier:
f19dbdb7 17859
492e6d9d 17860 * fs/reiserfs.c: New file.
f19dbdb7 17861
492e6d9d 17862 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
17863 (reiserfs_mod_SOURCES): New variable.
17864 (reiserfs_mod_CFLAGS): Likewise.
17865 (reiserfs_mod_LDFLAGS): Likewise.
17866
17867 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
17868 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
17869 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
17870 normal/color.c.
17871
9ce3e7c1 178722008-01-06 Robert Millan <rmh@aybabtu.com>
17873
17874 * normal/color.c: Remove `<grub/env.h>'.
17875
f3b58148 178762008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
17877
17878 * include/grub/normal.h: Include <grub/env.h>.
17879
7ac3bcfa 178802008-01-05 Robert Millan <rmh@aybabtu.com>
17881
17882 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
17883 usage example with `(hd0,1)'.
fb358190 17884 Reported by Samuel Thibault.
7ac3bcfa 17885
c8ee99d7 178862008-01-05 Robert Millan <rmh@aybabtu.com>
17887
17888 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
17889 (grub_linux_boot_zimage): Rename to ...
17890 (grub_linux_boot): ... this.
17891 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
17892 (grub_linux_boot_zimage): Conditionalize zImage copy.
17893
17894 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
17895 (grub_linux_boot_bzimage): Remove prototype.
17896 (grub_linux_boot_zimage): Rename to ...
17897 (grub_linux_boot): ... this.
17898
17899 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
17900 (grub_linux_boot): Remove function.
17901
0ece25b1 179022008-01-05 Robert Millan <rmh@aybabtu.com>
17903
17904 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
17905 (grub_env_write_color_highlight): Likewise.
17906 (grub_wait_after_message): Likewise.
17907
17908 * normal/color.c: New file.
17909
17910 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
17911 (normal_mod_DEPENDENCIES): Likewise.
17912
17913 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
17914 (normal_mod_DEPENDENCIES): Likewise.
17915
17916 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
17917 (normal_mod_DEPENDENCIES): Likewise.
17918
17919 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
17920 (normal_mod_DEPENDENCIES): Likewise.
17921
17922 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
17923 for waiting after a message is printed.
17924 * normal/main.c (read_config_file): Likewise.
17925 (grub_normal_init): Register grub_env_write_color_normal() and
17926 grub_env_write_color_highlight() hooks. Mark `color_normal' and
17927 `color_highlight' variables as global.
17928
17929 * normal/menu.c (grub_wait_after_message): New function.
17930 (grub_color_menu_normal): New variable. Replaces ...
17931 (GRUB_COLOR_MENU_NORMAL): ... this macro.
17932 (grub_color_menu_highlight): New variable. Replaces ...
17933 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
17934 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
17935 `GRUB_TERM_COLOR_STANDARD'.
17936 (print_message): Use `grub_setcolorstate' to reload colors. Rename
17937 `normal_code' and `highlight_code' to `old_color_normal' and
17938 `old_color_highlight', respectively.
17939 (grub_menu_init_page): Update colors when drawing the menu, based on
17940 `menu_color_normal' and `menu_color_highlight' variables.
17941 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
17942 a message is printed.
17943
182dd4e5 179442008-01-05 Robert Millan <rmh@aybabtu.com>
17945
17946 * kern/env.c (grub_env_context_open): Propagate hooks for global
17947 variables to new context.
17948
17949 * kern/main.c (grub_set_root_dev): Export `root' variable.
17950
ddf8f6ad 179512008-01-05 Robert Millan <rmh@aybabtu.com>
17952
17953 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 17954 discs unconditionally, since udev and others have options to provide
ddf8f6ad 17955 them.
17956
d8b43d9b 179572008-01-05 Robert Millan <rmh@aybabtu.com>
17958
17959 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
17960
2bff2de3 179612008-01-04 Christian Franke <franke@computer.org>
17962
17963 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
17964 of eisa_mmap.
17965
97eab917 179662008-01-03 Pavel Roskin <proski@gnu.org>
17967
17968 * kern/i386/linuxbios/init.c: Put "void" to all function
17969 declarations with no arguments.
17970 * kern/powerpc/ieee1275/init.c: Likewise.
17971 * term/i386/pc/at_keyboard.c: Likewise.
17972 * term/i386/pc/vga_text.c: Likewise.
17973 * util/grub-mkdevicemap.c: Likewise.
17974
b9416d00 179752008-01-02 Robert Millan <rmh@aybabtu.com>
17976
17977 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
17978 message when loaded image is out of bounds.
17979 (grub_multiboot_load_elf64): Likewise.
17980
92695df9 179812008-01-02 Pavel Roskin <proski@gnu.org>
17982
17983 * util/grub.d/10_linux.in: Try version without ".old" when
17984 looking for initrd. It's better to use initrd from the newer
17985 kernel of the same version than no initrd at all.
17986
d98d9cad 179872008-01-01 Robert Millan <rmh@aybabtu.com>
17988
17989 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
17990
dbfdce36 179912008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
17992
f19dbdb7 17993 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 17994 grub_video_get_active_render_target.
17995 (grub_video_adapter): Added unmap_color and get_active_render_target.
17996
f19dbdb7 17997 * video/video.c: Added grub_video_unmap_color and
dbfdce36 17998 grub_video_get_active_render_target.
17999 (grub_video_get_info): Changed method to accept NULL pointer as an
18000 argument to allow detection of active video adapter.
18001
18002 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
18003 grub_video_vbe_unmap_color_int.
18004 Added grub_video_vbe_unmap_color and
18005 grub_video_vbe_get_active_render_target.
18006 (grub_video_vbe_adapter): Added unmap_color and
18007 get_active_render_target.
18008
f19dbdb7 18009 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 18010 with grub_video_vbe_unmap_color_int.
18011
18012 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
18013 (DEFAULT_NORMAL_COLOR): Likewise.
18014 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
18015 (DEFAULT_FG_COLOR): Removed.
18016 (DEFAULT_BG_COLOR): Likewise.
18017 (DEFAULT_CURSOR_COLOR): Changed value.
18018 (grub_virtual_screen): Added standard_color_setting,
18019 normal_color_setting, highlight_color_setting and term_color.
18020 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
18021 (bitmap_width): Added.
18022 (bitmap_height): Likewise.
18023 (bitmap): Likewise.
18024 (set_term_color): Likewise.
18025 (grub_virtual_screen_setup): Changed to use new terminal coloring
18026 settings.
18027 (grub_gfxterm_init): Added init for bitmap.
18028 (grub_gfxterm_fini): Added destroy for bitmap.
18029 (redraw_screen_rect): Updated to use background bitmap and new
18030 terminal coloring.
18031 (scroll_up): Added optimization for case when there is no bitmap.
18032 (grub_gfxterm_cls): Fixed to use correct background color.
18033 (grub_virtual_screen_setcolorstate): Changed to use new terminal
18034 coloring.
18035 (grub_virtual_screen_setcolor): Likewise.
18036 (grub_virtual_screen_getcolor): Added.
18037 (grub_gfxterm_background_image_cmd): Likewise.
18038 (grub_video_term): Added setcolor and getcolor.
18039 (MOD_INIT): Added registration of background_image command.
18040 (MOD_TERM): Added unregistration for background_image command.
18041
c3c20931 180422007-12-30 Pavel Roskin <proski@gnu.org>
18043
18044 * loader/multiboot_loader.c: Fix multiboot command
18045 unregistration. Fix all typos in the word "multiboot".
18046
df266716 180472007-12-29 Pavel Roskin <proski@gnu.org>
94239199 18048
18049 * util/grub.d/10_linux.in: Refactor search for initrd. Add
18050 support for initrd names used in Fedora.
18051
fc6e896c 180522007-12-26 Bean <bean123ch@gmail.com>
18053
18054 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
18055 (cpio_mod_SOURCES): New variable.
18056 (cpio_mod_CFLAGS): Likewise.
18057 (cpio_mod_LDFLAGS): Likewise.
18058
18059 * fs/cpio.c: New file.
18060
18061 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
18062
18063 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
18064
18065 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
18066
18067 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18068
533110ad 180692007-12-25 Robert Millan <rmh@aybabtu.com>
18070
18071 * include/grub/term.h (struct grub_term): Add `getcolor' function.
18072 (grub_getcolor): New function.
18073
18074 * kern/term.c (grub_getcolor): New function.
18075 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
18076 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
18077 (print_entry): Set normal and highlight colors to
18078 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
18079 respectively, before printing and restore them to old
18080 values afterwards.
18081 (grub_menu_init_page): Likewise. Fill an additional colored space
18082 that would otherwise be left blank.
18083
18084 * term/efi/console.c (grub_console_getcolor): New function.
18085 (struct grub_console_term.getcolor): New variable.
18086 * term/i386/pc/console.c (grub_console_getcolor): New function.
18087 (struct grub_console_term.getcolor): New variable.
18088 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
18089 (struct grub_console_term.getcolor): New variable.
18090
18091 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
18092 (struct grub_console_term.setcolor): Remove variable.
18093 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
18094 (struct grub_console_term.setcolor): Remove variable.
18095 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
18096 (struct grub_console_term.setcolor): Remove variable.
18097 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
18098 (struct grub_console_term.setcolor): Remove variable.
18099
4931827f 181002007-12-25 Robert Millan <rmh@aybabtu.com>
18101
18102 * configure.ac: Search for possible unifont.hex locations, and
18103 define UNIFONT_HEX if found.
18104
18105 * Makefile.in (UNIFONT_HEX): Define variable.
18106 (DATA): Rename to ...
18107 (PKGLIB): ... this. Update all users.
18108 (PKGDATA): New variable.
18109 (pkgdata_IMAGES): Rename to ...
18110 (pkglib_IMAGES): ... this. Update all users.
18111 (pkgdata_MODULES): Rename to ...
18112 (pkglib_MODULES): ... this. Update all users.
18113 (pkgdata_PROGRAMS): Rename to ...
18114 (pkglib_PROGRAMS): ... this. Update all users.
18115 (pkgdata_DATA): Rename to ...
18116 (pkglib_DATA): ... this. Update all users.
18117 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
18118 (unicode.pff, ascii.pff): New rules.
18119 (all-local): Add `$(PKGDATA)' dependency.
18120 (install-local): Process `$(PKGDATA)'.
18121
18122 * util/update-grub_lib.in (font_path): Search for *.pff files in
18123 a few more locations, including `${pkgdata}'.
18124
57e57e31 181252007-12-23 Robert Millan <rmh@aybabtu.com>
18126
18127 Patch from Bean <bean123ch@gmail.com>:
18128 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
18129 `size'.
18130
4bc72aa9 181312007-12-21 Bean <bean123ch@gmail.com>
18132
18133 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
18134 (ntfscomp_mod_SOURCES): New variable.
18135 (ntfscomp_mod_CFLAGS): Likewise.
18136 (ntfscomp_mod_LDFLAGS): Likewise.
18137
18138 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
18139 (grub_probe_SOURCES): Likewise.
18140 (grub_emu_SOURCES): Likewise.
18141
18142 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
18143 (grub_emu_SOURCES): Likewise.
18144
18145 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
18146 (grub_emu_SOURCES): Likewise.
18147
18148 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
18149 (grub_emu_SOURCES): Likewise.
18150
18151 * fs/ntfs.c (grub_ntfscomp_func): New variable.
18152 (read_run_list): Renamed to grub_ntfs_read_run_list.
18153 (decomp_nextvcn): Moved to ntfscomp.c.
18154 (decomp_getch): Likewise.
18155 (decomp_get16): Likewise.
18156 (decomp_block): Likewise.
18157 (read_block): Likewise.
18158 (read_data): Partially moved to ntfscomp.c.
18159 (fixup): Change unsigned to grub_uint16_t.
18160 (read_mft): Change unsigned long to grub_uint32_t.
18161 (read_attr): Likewise.
18162 (read_data): Likewise.
18163 (read_run_data): Likewise.
18164 (read_run_list): Likewise.
18165 (read_mft): Likewise.
18166
18167 * fs/ntfscomp.c: New file.
18168
18169 * include/grub/ntfs.h: New file.
18170
af680a87 181712007-12-16 Robert Millan <rmh@aybabtu.com>
18172
18173 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
18174 IDE disk check, since Linux is known to support 20 IDE disks.
18175 Reported by Colin Watson.
18176
84be7599 181772007-12-15 Bean <bean123ch@gmail.com>
18178
18179 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
18180 (lnxboot_img_SOURCES): New variable.
18181 (lnxboot_img_ASFLAGS): Likewise.
18182 (lnxboot_img_LDFLAGS): Likewise.
18183
18184 * boot/i386/pc/lnxboot.S: New file.
18185
6af9db01 181862007-11-24 Pavel Roskin <proski@gnu.org>
18187
18188 * configure.ac: Test if '--build-id=none' is supported by the
18189 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
18190 objcopy to generate incorrect binary files (binutils
18191 2.17.50.0.18-1 as shipped by Fedora 8).
18192 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
18193 linking, so that build ID doesn't break the test.
18194
7361cfe6 181952007-11-24 Pavel Roskin <proski@gnu.org>
18196
18197 * include/grub/i386/time.h: use "void" in the argument list
18198 of grub_cpu_idle().
18199 * include/grub/powerpc/time.h: Likewise.
18200 * include/grub/sparc64/time.h: Likewise.
18201
1593e10c 182022007-11-18 Christian Franke <franke@computer.org>
18203
18204 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
18205 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
18206 This fixes the problem that function keys did not work in grub-emu.
18207
3b8db1a8 182082007-11-18 Christian Franke <franke@computer.org>
18209
18210 * disk/host.c (grub_host_open): Remove attribute unused from
18211 name parameter. Add check for "host". This fixes the problem
18212 that grub-emu does not find partitions.
18213
2e29408d 182142007-11-18 Christian Franke <franke@computer.org>
18215
18216 * util/hostfs.c (is_dir): New function.
18217 (grub_hostfs_dir): Handle missing dirent.d_type case.
18218 (grub_hostfs_read): Add missing fseek().
18219 (grub_hostfs_label): Clear label pointer. This fixes a crash
18220 of grub-emu on "ls (host)".
18221
398cd047 182222007-11-18 Christian Franke <franke@computer.org>
18223
18224 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
18225 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
18226 to 64 bit boundary by default.
18227
c405c391 182282007-11-18 Bean <bean123ch@gmail.com>
18229
18230 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
18231 (hexdump_mod_SOURCES): New variable.
18232 (hexdump_mod_CFLAGS): Likewise.
18233 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 18234
c405c391 18235 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
18236
18237 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
18238
18239 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
18240
18241 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
18242
18243 * include/grub/hexdump.h: New file.
18244
18245 * commands/hexdump.c: New file.
18246
5cced7fd 182472007-11-10 Robert Millan <rmh@aybabtu.com>
18248
18249 * commands/i386/pc/play.c (beep_off): Switch order of arguments
18250 in grub_outb() calls.
18251 (beep_on): Likewise.
18252
8b714eb0 182532007-11-10 Christian Franke <franke@computer.org>
18254
18255 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
18256 (grub_menu_run): Likewise.
18257
ce0f1839 182582007-11-10 Robert Millan <rmh@aybabtu.com>
18259
18260 * include/grub/i386/efi/machine.h: New file.
18261 * include/grub/i386/linuxbios/machine.h: Likewise.
18262 * include/grub/i386/pc/machine.h: Likewise.
18263 * include/grub/powerpc/ieee1275/machine.h: Likewise.
18264 * include/grub/sparc64/ieee1275/machine.h: Likewise.
18265
18266 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
18267 (serial_hw_io_addr): New variable.
18268 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
18269 instead of `(unsigned short *) 0x400'.
18270
270c237d 182712007-11-10 Bean <bean123ch@gmail.com>
18272
18273 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
18274
a87783bf 182752007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
18276
18277 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
18278 (vga_mod_SOURCES): Added.
18279 (vga_mod_CFLAGS): Likewise.
18280 (vga_mod_LDFLAGS): Likewise.
18281
18282 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
18283 grub_outb() calls.
18284 (set_map_mask): Likewise.
18285 (set_read_map): Likewise.
18286 (set_read_address): Likewise.
18287 (vga_font): Removed variable.
18288 (get_vga_glyph): Removed function.
18289 (invalidate_char): Likewise.
18290 (write_char): Changed to use grub_font_get_glyph() for font
18291 information.
18292 (grub_vga_putchar): Likewise.
18293 (grub_vga_getcharwidth): Likewise.
18294
6433b448 182952007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
18296
18297 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
18298 flags.
18299 (pxeboot_img_LDFLAGS): Likewise.
18300 (diskboot_img_LDFLAGS): Likewise.
18301 (kernel_img_LDFLAGS): Likewise.
18302
49178511 183032007-11-06 Robert Millan <rmh@aybabtu.com>
18304
18305 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
18306 in grub_outb() calls.
18307 (serial_hw_init): Likewise.
18308
53b052de 183092007-11-05 Robert Millan <rmh@aybabtu.com>
18310
18311 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
18312 spaces. Skip non-regular files.
18313
5ab33bba 183142007-11-05 Robert Millan <rmh@aybabtu.com>
18315
18316 * kern/disk.c (grub_disk_firmware_fini)
18317 (grub_disk_firmware_is_tainted): New variables.
18318
18319 * include/grub/disk.h (grub_disk_firmware_fini)
18320 (grub_disk_firmware_is_tainted): Likewise.
18321
18322 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
18323 (grub_disk_biosdisk_fini): ... to here.
18324 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
18325 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
18326 is set. Register grub_disk_biosdisk_fini() in
18327 `grub_disk_firmware_fini'.
18328
18329 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
18330 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
18331 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
18332 to finish existing firmware disk interface.
18333
18334 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
18335 (ata_mod_SOURCES): New variable.
18336 (ata_mod_CFLAGS): Likewise.
18337 (ata_mod_LDFLAGS): Likewise.
18338
0149ab7c 183392007-11-05 Robert Millan <rmh@aybabtu.com>
18340
18341 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
18342 (grub_ata_wait): Reimplement using grub_millisleep().
18343
18344 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
18345 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
18346
be7ac41e 183472007-11-03 Marco Gerards <marco@gnu.org>
18348
18349 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
18350 (CRTC_ADDR_PORT): New macro.
18351 (CRTC_DATA_PORT): Likewise.
18352 (CRTC_CURSOR): Likewise.
18353 (CRTC_CURSOR_ADDR_HIGH): Likewise.
18354 (CRTC_CURSOR_ADDR_LOW): Likewise.
18355 (update_cursor): New function.
18356 (grub_console_real_putchar): Call `update_cursor'.
18357 (grub_console_gotoxy): Likewise.
18358 (grub_console_cls): Set the default color when clearing the
18359 screen.
18360 (grub_console_setcursor): Implemented.
18361
bb06ab2e 183622007-11-03 Marco Gerards <marco@gnu.org>
18363
18364 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
18365 become activate.
18366 (grub_ata_pio_write): Likewise.
18367
18368 (grub_atapi_identify): Wait after issuing an ATA command.
18369 (grub_atapi_packet): Likewise.
18370 (grub_ata_identify): Likewise.
18371 (grub_ata_readwrite): Likewise.
18372
cf8f780b 183732007-11-03 Marco Gerards <marco@gnu.org>
18374
18375 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
18376 (grub_ata_pio_write): Likewise.
18377 (grub_ata_readwrite): Use `grub_error', instead of
18378 returning `grub_errno'.
18379
ed649e54 183802007-11-03 Marco Gerards <marco@gnu.org>
18381
18382 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
18383 grub_ata_pio_write once for every single sector, instead of for
18384 multiple sectors.
18385
ca25d8f0 183862007-10-31 Robert Millan <rmh@aybabtu.com>
18387
18388 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
18389
18390 * conf/i386-linuxbios.rmk: New file.
18391
18392 * kern/i386/pc/hardware.c: Likewise.
18393 * term/i386/pc/at_keyboard.c: Likewise.
18394 * term/i386/pc/vga_text.c: Likewise.
18395
18396 * include/grub/i386/linuxbios/boot.h: Likewise.
18397 * include/grub/i386/linuxbios/console.h: Likewise.
18398 * include/grub/i386/linuxbios/init.h: Likewise.
18399 * include/grub/i386/linuxbios/kernel.h: Likewise.
18400 * include/grub/i386/linuxbios/loader.h: Likewise.
18401 * include/grub/i386/linuxbios/memory.h: Likewise.
18402 * include/grub/i386/linuxbios/serial.h: Likewise.
18403 * include/grub/i386/linuxbios/time.h: Likewise.
18404
18405 * kern/i386/linuxbios/init.c: Likewise.
18406 * kern/i386/linuxbios/startup.S: Likewise.
18407 * kern/i386/linuxbios/table.c: Likewise.
18408
e911ecc1 184092007-10-31 Marco Gerards <marco@gnu.org>
18410
18411 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
18412 (ata_mod_SOURCES): New variable.
18413 (ata_mod_CFLAGS): Likewise.
18414 (ata_mod_LDFLAGS): Likewise.
18415
18416 * disk/ata.c: New file.
18417
18418 * include/grub/disk.h (grub_disk_dev_id): Add
18419 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 18420
7f66d0e0 184212007-10-31 Robert Millan <rmh@aybabtu.com>
18422
18423 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
18424 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
18425
18426 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
18427 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
18428
18429 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
18430 `<grub/types.h>'.
18431
18432 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
18433
5cd7dd46 184342007-10-27 Robert Millan <rmh@aybabtu.com>
18435
3236ca65 18436 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 18437
2ebfc90f 184382007-10-22 Robert Millan <rmh@aybabtu.com>
18439
18440 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
18441 `"../realmode.S"'.
18442 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
18443
73fcb0f3 184442007-10-22 Robert Millan <rmh@aybabtu.com>
18445
18446 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
18447 (pkgdata_MODULES): Add `biosdisk.mod'.
18448 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
18449 variables.
18450
18451 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
18452 (grub_biosdisk_init): Replace with ...
18453 (GRUB_MOD_INIT(biosdisk)): ... this.
18454 (grub_biosdisk_fini): Replace with ...
18455 (GRUB_MOD_FINI(biosdisk)): ... this.
18456
18457 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
18458 (grub_machine_init): Remove call to grub_biosdisk_init().
18459 (grub_machine_fini): Remove call to grub_machine_fini().
18460
18461 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
18462
3381d274 184632007-10-22 Robert Millan <rmh@aybabtu.com>
18464
18465 * include/grub/time.h: New file.
18466 * include/grub/i386/time.h: Likewise.
18467 * include/grub/powerpc/time.h: Likewise.
18468 * include/grub/sparc64/time.h: Likewise.
18469
18470 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
18471 instances to ...
18472 (KERNEL_MACHINE_TIME_HEADER): ... this.
18473 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
18474 instances to ...
18475 (KERNEL_MACHINE_TIME_HEADER): ... this.
18476 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
18477 instances to ...
18478 (KERNEL_MACHINE_TIME_HEADER): ... this.
18479
18480 * kern/i386/efi/init.c: Include `<grub/time.h>'.
18481 (grub_millisleep): New function.
18482 * kern/i386/pc/init.c: Include `<grub/time.h>'.
18483 (grub_millisleep): New function.
18484 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
18485 Remove `grub/machine/time.h' include.
18486 (grub_millisleep): New function.
18487 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
18488 Remove `grub/machine/time.h' include.
18489 (grub_millisleep): New function.
18490
18491 * include/grub/misc.h (grub_div_roundup): New function.
18492
18493 * kern/misc.c: Include `<grub/time.h>'.
18494 (grub_millisleep_generic): New function.
18495
18496 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
18497 Add `time.h'.
18498 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
18499 Add `time.h'.
18500 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
18501 `machine/time.h'. Add `time.h'.
18502 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
18503
a39a0312 185042007-10-21 Robert Millan <rmh@aybabtu.com>
18505
18506 * include/grub/misc.h (grub_max): New function.
18507
2aad70e2 185082007-10-21 Robert Millan <rmh@aybabtu.com>
18509
18510 * util/misc.c (grub_util_info): Call fflush() before returning.
18511
54b71c4b 185122007-10-20 Robert Millan <rmh@aybabtu.com>
18513
18514 * genmk.rb (Image): Copy `extra_flags' from here ...
18515 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
18516
18517 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
18518 to `argc' and `args' arguments.
18519
a979f513 185202007-10-17 Robert Millan <rmh@aybabtu.com>
18521
18522 * kern/i386/loader.S: New file.
18523
18524 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
18525 * kern/i386/loader.S (grub_linux_prot_size)... to here.
18526 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
18527 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
18528 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
18529 * kern/i386/loader.S (grub_linux_real_addr)... to here.
18530 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
18531 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
18532 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
18533 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
18534 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
18535 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
18536 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
18537 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
18538
18539 * kern/i386/realmode.S: New file.
18540
18541 * kern/i386/pc/startup.S (protstack): Moved from here ...
18542 * kern/i386/realmode.S (protstack)... to here.
18543 * kern/i386/pc/startup.S (gdt): Moved from here ...
18544 * kern/i386/realmode.S (gdt)... to here.
18545 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
18546 * kern/i386/realmode.S (prot_to_real)... to here.
18547
18548 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
18549 `kern/i386/realmode.S'.
18550
825fc8fd 185512007-10-17 Robert Millan <rmh@aybabtu.com>
18552
18553 * include/grub/i386/loader.h: New file.
18554
18555 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
18556 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
18557 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
18558 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
18559 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
18560 * include/grub/i386/loader.h (grub_linux_prot_size)
18561 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
18562 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
18563 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
18564 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
18565
18566 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
18567
e179b2f4 185682007-10-15 Robert Millan <rmh@aybabtu.com>
18569
18570 * normal/misc.c (grub_normal_print_device_info): Do not probe for
18571 filesystem when dev->disk is unset.
18572 Do probe for filesystem even when dev->disk->has_partitions is set.
18573 In case a filesystem is found, always report it.
18574 In case it isn't, if dev->disk->has_partitions is set, report that
18575 a partition table was found instead of reporting that no filesystem
18576 could be identified.
18577
5db82af6 185782007-10-12 Robert Millan <rmh@aybabtu.com>
18579
18580 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
18581 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
18582
68f6ac74 18583 * include/grub/types.h (grub_host_to_target16): New macro.
18584 (grub_host_to_target32): Likewise.
18585 (grub_host_to_target64): Likewise.
18586 (grub_target_to_host16): Likewise.
18587 (grub_target_to_host32): Likewise.
18588 (grub_target_to_host64): Likewise.
5db82af6 18589
18590 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
18591 Renamed from to ...
18592 (GRUB_MOD_ALIGN): ...this. Update all users.
18593
68f6ac74 18594 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
18595 grub_host_to_target32.
18596 Replace grub_be_to_cpu32 with grub_target_to_host32.
18597 (load_modules): Likewise.
18598 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
18599 Replace grub_be_to_cpu32 with grub_target_to_host32.
18600 Replace grub_cpu_to_be16 with grub_host_to_target16.
18601 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 18602
3cf497cc 186032007-10-12 Robert Millan <rmh@aybabtu.com>
18604
18605 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
18606 * util/elf/grub-mkimage.c: ... here.
18607
18608 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
18609 `util/powerpc/ieee1275/grub-mkimage.c'.
18610
c8cc3692 186112007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 18612
c8cc3692 18613 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
18614 and make it easier to figure out.
18615 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
18616 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
18617 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
18618 leave us with less than HEAP_MIN_SIZE total heap.
18619 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 18620
5c58b791 186212007-10-03 Robert Millan <rmh@aybabtu.com>
18622
18623 * include/grub/i386/io.h: New file.
18624 * commands/i386/pc/play.c (inb): Removed.
18625 (outb): Removed.
18626 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
18627 with grub_outb().
afcd2ef8 18628 * term/i386/pc/serial.c (inb): Removed.
18629 (outb): Removed.
18630 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
18631 with grub_outb().
18632 * term/i386/pc/vga.c (inb): Removed.
18633 (outb): Removed.
18634 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
18635 with grub_outb().
5c58b791 18636
1a477ed6 186372007-10-02 Robert Millan <rmh@aybabtu.com>
18638
18639 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
18640 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18641 Reported by Marcin Kurek.
18642
6b5d80fa 186432007-09-07 Robert Millan <rmh@aybabtu.com>
18644
18645 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
18646 SmartFirmware version updates (as released by Sven Luther), and avoid
18647 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
18648 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
18649 known broken.
18650
5618afbf 186512007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
18652
18653 From Hitoshi Ozeki:
18654 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
18655 when merging two regions.
18656
6139dcd9 186572007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
18658
508e39ee 18659 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
18660 * normal/completion.c (grub_normal_do_completion): Likewise.
18661 Reported by Hitoshi Ozeki.
18662
186632007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 18664
6139dcd9 18665 Do not use devices at boot in chainloading.
f19dbdb7 18666
6139dcd9 18667 * loader/i386/pc/chainloader.c (boot_drive): New variable.
18668 (boot_part_addr): Likewise.
18669 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
18670 with BOOT_DRIVE and BOOT_PART_ADDR.
18671 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
18672 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
18673
38da6516 186742007-08-29 Robert Millan <rmh@aybabtu.com>
18675
18676 Patch from Simon Peter <dn.tlp@gmx.net>:
18677 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
18678 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
18679 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
18680 util/i386/pc/grub-setup.c_DEPENDENCIES.
18681 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
18682 util/grub-probe.c_DEPENDENCIES.
18683 * conf/powerpc-ieee1275.rmk: Likewise.
18684
29d0928c 186852007-08-28 Robert Millan <rmh@aybabtu.com>
18686
18687 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
18688 to tell grub-mkdevicemap how to name devices.
18689 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
18690 feature).
18691
18692 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
18693 util/i386/get_disk_name.c.
18694 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
18695 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
18696 util/ieee1275/get_disk_name.c.
18697
18698 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
18699
18700 * DISTLIST: Add util/i386/get_disk_name.c and
18701 util/ieee1275/get_disk_name.c.
18702
18703 * util/grub-mkdevicemap.c: Replace device naming logic with
18704 grub_util_get_disk_name() calls.
18705
5a0d3cca 187062007-08-20 Robert Millan <rmh@aybabtu.com>
18707
18708 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
18709 (so that it works for both plural and singular quantities).
18710
8b72db2f 187112007-08-05 Robert Millan <rmh@aybabtu.com>
18712
18713 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
18714 so that [xz] isn't taken into account when determining order.
18715
352466bf 187162007-08-02 Marco Gerards <marco@gnu.org>
18717
18718 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
18719 `include/multiboot2.h', `include/grub/elfload.h',
18720 `include/multiboot.h', `include/grub/multiboot.h',
18721 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
18722 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
18723 `kern/elf.c', `loader/multiboot_loader.c',
18724 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
18725 `loader/i386/pc/multiboot2.c',
18726 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
18727 `util/i386/pc/grub-mkrescue.in'. Remove
18728 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
18729 `include/grub/i386/pc/util/biosdisk.h' and
18730 `include/grub/powerpc/ieee1275/multiboot.h'.
18731
8f096014 187322007-08-02 Bean <bean123ch@gmail.com>
18733
18734 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
18735 (ntfs_mod_SOURCES): New variable.
18736 (ntfs_mod_CFLAGS): Likewise.
18737 (ntfs_mod_LDFLAGS): Likewise.
18738
18739 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
18740 (grub_probe_SOURCES): Likewise.
18741 (grub_emu_SOURCES): Likewise.
18742
18743 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
18744 (grub_emu_SOURCES): Likewise.
18745
18746 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
18747 (grub_emu_SOURCES): Likewise.
f19dbdb7 18748
8f096014 18749 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
18750
18751 * fs/ntfs.c: New file.
18752
9959f7db 187532007-08-02 Bean <bean123ch@gmail.com>
18754
18755 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
18756
18757 * file.h (grub_file): Likewise.
18758
18759 * fshelp.h (grub_fshelp_read_file): Likewise.
18760
18761 * util/i386/pc/grub-setup.c (setup): Likewise.
18762 (save_first_sector): Likewise.
18763 (save_blocklists): Likewise.
f19dbdb7 18764
9959f7db 18765 * fs/affs.c (grub_affs_read_file): Likewise.
18766
18767 * fs/ext2.c (grub_ext2_read_file): Likewise.
18768
18769 * fs/fat.c (grub_fat_read_data): Likewise.
18770
18771 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
18772
18773 * fs/hfs.c (grub_hfs_read_file): Likewise.
18774
18775 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
18776
18777 * fs/jfs.c (grub_jfs_read_file): Likewise.
18778
18779 * fs/minix.c (grub_minix_read_file): Likewise.
18780
18781 * fs/sfs.c (grub_sfs_read_file): Likewise.
18782
18783 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 18784
9959f7db 18785 * fs/xfs.c (grub_xfs_read_file): Likewise.
18786
18787 * command/blocklist.c (read_blocklist): Likewise.
18788 (print_blocklist): Likewise.
18789
0a203f83 187902007-08-02 Marco Gerards <marco@gnu.org>
18791
18792 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
18793 `util/hostfs.c'.
18794
18795 * disk/host.c: New file.
18796
18797 * util/hostfs.c: Likewise.
18798
18799 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
18800 return `GRUB_ERR_BAD_FS'.
18801 * fs/sfs.c (grub_sfs_mount): Likewise.
18802 * fs/xfs.c (grub_xfs_mount): Likewise.
18803
18804 * include/grub/disk.h (enum grub_disk_dev_id): Add
18805 `GRUB_DISK_DEVICE_HOST_ID'.
18806
18807 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
18808
e5dfe777 188092007-07-24 Jerone Young <jerone@gmail.com>
18810
f19dbdb7 18811 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 18812 modules for compilation.
18813 * conf/powerpc-ieee1275.rmk: Likewise.
18814
18815 * include/multiboot.h: Move multiboot definitions to one file. Rename
18816 many definitions to not get grub specific.
18817 * include/multiboot2.h: Create header with multiboot 2 definitions.
18818 * include/grub/multiboot.h: Header for grub specific function
18819 prototypes and definitions.
18820 * include/grub/multiboot2.h: Likewise.
18821 * include/grub/multiboot_loader.h: Likewise.
18822 * include/grub/i386/pc/multiboot.h: Removed.
18823 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
18824
18825 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
18826 and 2 to allow for one multiboot and module commands.
18827 * loader/multiboot2.c: Add multiboot2 functionality.
18828 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
18829 and definition names.
18830 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
18831 2 functions.
18832 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
18833 ieee1275 specific multiboot2 code.
18834
18835 * kern/i386/pc/startup.S: Change headers and definition names for
18836 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
18837
daf0f0ba 188382007-07-22 Robert Millan <rmh@aybabtu.com>
18839
18840 * geninitheader.sh: Process file specified in first parameter rather
18841 than hardcoding grub_modules_init.lst.
fe6b695a 18842 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 18843 than hardcoding grub_modules_init.h.
18844
18845 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
18846 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
18847 grub_probe_init.[ch] and grub_setup_init.[ch].
18848
18849 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
18850 grub_modules_init.h with grub_emu_init.h.
18851 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
18852 grub_probe_init.[ch] files.
18853 * conf/i386-efi.rmk: Likewise.
18854 * conf/i386-pc.rmk: Likewise.
18855 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
18856 grub_setup_init.[ch] files.
18857
18858 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
18859 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
18860 to initialize modules rather than a list of hardcoded functions.
18861 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
18862 grub_init_all() to initialize modules rather than a list of hardcoded
18863 functions.
18864
54cdc1cc 188652007-07-22 Robert Millan <rmh@aybabtu.com>
18866
18867 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
18868 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
18869
ad0686cc 188702007-07-22 Robert Millan <rmh@aybabtu.com>
18871
18872 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
18873 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
18874 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
18875 flag when running on SmartFirmware.
18876 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
18877 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
18878 was set.
18879
18880 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
18881 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
18882 rather than decreasing it.
18883
18884 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
18885 there's not enough space to do it, fail in the same way as when it
18886 can't be done because there are no partitions.
18887
18888 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
18889 when nvsetenv failed.
18890
969c02ec 188912007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
18892
18893 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
18894 because this rule is automatically generated.
18895 (grub-mkrescue): Removed for the same reason as above.
18896
5a79f472 188972007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
18898
18899 Migrate to GNU General Public License Version 3.
f19dbdb7 18900
5a79f472 18901 * COPYING: Replaced with the plain text version of GPLv3.
18902
18903 * config.guess: Updated from gnulib.
18904 * config.sub: Likewise.
18905
18906 * geninit.sh: Output a GPLv3 copyright notice.
18907 * geninitheader.sh: Likewise.
18908 * genmodsrc.sh: Likewise.
18909 * gensymlist.sh.in: Likewise.
18910
18911 * boot/i386/pc/boot.S: Upgraded to GPLv3.
18912 * boot/i386/pc/diskboot.S: Likewise.
18913 * boot/i386/pc/pxeboot.S: Likewise.
18914 * commands/blocklist.c: Likewise.
18915 * commands/boot.c: Likewise.
18916 * commands/cat.c: Likewise.
18917 * commands/cmp.c: Likewise.
18918 * commands/configfile.c: Likewise.
18919 * commands/echo.c: Likewise.
18920 * commands/help.c: Likewise.
18921 * commands/ls.c: Likewise.
18922 * commands/search.c: Likewise.
18923 * commands/terminal.c: Likewise.
18924 * commands/test.c: Likewise.
18925 * commands/videotest.c: Likewise.
18926 * commands/i386/cpuid.c: Likewise.
18927 * commands/i386/pc/halt.c: Likewise.
18928 * commands/i386/pc/play.c: Likewise.
18929 * commands/i386/pc/reboot.c: Likewise.
18930 * commands/i386/pc/vbeinfo.c: Likewise.
18931 * commands/i386/pc/vbetest.c: Likewise.
18932 * commands/ieee1275/halt.c: Likewise.
18933 * commands/ieee1275/reboot.c: Likewise.
18934 * commands/ieee1275/suspend.c: Likewise.
18935 * disk/loopback.c: Likewise.
18936 * disk/lvm.c: Likewise.
18937 * disk/raid.c: Likewise.
18938 * disk/efi/efidisk.c: Likewise.
18939 * disk/i386/pc/biosdisk.c: Likewise.
18940 * disk/ieee1275/ofdisk.c: Likewise.
18941 * font/manager.c: Likewise.
18942 * fs/affs.c: Likewise.
18943 * fs/ext2.c: Likewise.
18944 * fs/fat.c: Likewise.
18945 * fs/fshelp.c: Likewise.
18946 * fs/hfs.c: Likewise.
18947 * fs/hfsplus.c: Likewise.
18948 * fs/iso9660.c: Likewise.
18949 * fs/jfs.c: Likewise.
18950 * fs/minix.c: Likewise.
18951 * fs/sfs.c: Likewise.
18952 * fs/ufs.c: Likewise.
18953 * fs/xfs.c: Likewise.
18954 * hello/hello.c: Likewise.
18955 * include/grub/acorn_filecore.h: Likewise.
18956 * include/grub/arg.h: Likewise.
18957 * include/grub/bitmap.h: Likewise.
18958 * include/grub/boot.h: Likewise.
18959 * include/grub/cache.h: Likewise.
18960 * include/grub/device.h: Likewise.
18961 * include/grub/disk.h: Likewise.
18962 * include/grub/dl.h: Likewise.
18963 * include/grub/elfload.h: Likewise.
18964 * include/grub/env.h: Likewise.
18965 * include/grub/err.h: Likewise.
18966 * include/grub/file.h: Likewise.
18967 * include/grub/font.h: Likewise.
18968 * include/grub/fs.h: Likewise.
18969 * include/grub/fshelp.h: Likewise.
18970 * include/grub/gzio.h: Likewise.
18971 * include/grub/hfs.h: Likewise.
18972 * include/grub/kernel.h: Likewise.
18973 * include/grub/loader.h: Likewise.
18974 * include/grub/lvm.h: Likewise.
18975 * include/grub/misc.h: Likewise.
18976 * include/grub/mm.h: Likewise.
18977 * include/grub/net.h: Likewise.
18978 * include/grub/normal.h: Likewise.
18979 * include/grub/parser.h: Likewise.
18980 * include/grub/partition.h: Likewise.
18981 * include/grub/pc_partition.h: Likewise.
18982 * include/grub/raid.h: Likewise.
18983 * include/grub/rescue.h: Likewise.
18984 * include/grub/script.h: Likewise.
18985 * include/grub/setjmp.h: Likewise.
18986 * include/grub/symbol.h: Likewise.
18987 * include/grub/term.h: Likewise.
18988 * include/grub/terminfo.h: Likewise.
18989 * include/grub/tparm.h: Likewise.
18990 * include/grub/types.h: Likewise.
18991 * include/grub/video.h: Likewise.
18992 * include/grub/efi/api.h: Likewise.
18993 * include/grub/efi/chainloader.h: Likewise.
18994 * include/grub/efi/console.h: Likewise.
18995 * include/grub/efi/console_control.h: Likewise.
18996 * include/grub/efi/disk.h: Likewise.
18997 * include/grub/efi/efi.h: Likewise.
18998 * include/grub/efi/pe32.h: Likewise.
18999 * include/grub/efi/time.h: Likewise.
19000 * include/grub/i386/linux.h: Likewise.
19001 * include/grub/i386/setjmp.h: Likewise.
19002 * include/grub/i386/types.h: Likewise.
19003 * include/grub/i386/efi/kernel.h: Likewise.
19004 * include/grub/i386/efi/loader.h: Likewise.
19005 * include/grub/i386/efi/time.h: Likewise.
19006 * include/grub/i386/pc/biosdisk.h: Likewise.
19007 * include/grub/i386/pc/boot.h: Likewise.
19008 * include/grub/i386/pc/chainloader.h: Likewise.
19009 * include/grub/i386/pc/console.h: Likewise.
19010 * include/grub/i386/pc/init.h: Likewise.
19011 * include/grub/i386/pc/kernel.h: Likewise.
19012 * include/grub/i386/pc/loader.h: Likewise.
19013 * include/grub/i386/pc/memory.h: Likewise.
19014 * include/grub/i386/pc/multiboot.h: Likewise.
19015 * include/grub/i386/pc/serial.h: Likewise.
19016 * include/grub/i386/pc/time.h: Likewise.
19017 * include/grub/i386/pc/vbe.h: Likewise.
19018 * include/grub/i386/pc/vbeblit.h: Likewise.
19019 * include/grub/i386/pc/vbefill.h: Likewise.
19020 * include/grub/i386/pc/vbeutil.h: Likewise.
19021 * include/grub/i386/pc/vga.h: Likewise.
19022 * include/grub/ieee1275/ieee1275.h: Likewise.
19023 * include/grub/ieee1275/ofdisk.h: Likewise.
19024 * include/grub/powerpc/libgcc.h: Likewise.
19025 * include/grub/powerpc/setjmp.h: Likewise.
19026 * include/grub/powerpc/types.h: Likewise.
19027 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
19028 * include/grub/powerpc/ieee1275/console.h: Likewise.
19029 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
19030 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
19031 * include/grub/powerpc/ieee1275/loader.h: Likewise.
19032 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
19033 * include/grub/powerpc/ieee1275/time.h: Likewise.
19034 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
19035 * include/grub/sparc64/libgcc.h: Likewise.
19036 * include/grub/sparc64/setjmp.h: Likewise.
19037 * include/grub/sparc64/types.h: Likewise.
19038 * include/grub/sparc64/ieee1275/console.h: Likewise.
19039 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
19040 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
19041 * include/grub/sparc64/ieee1275/time.h: Likewise.
19042 * include/grub/util/biosdisk.h: Likewise.
19043 * include/grub/util/getroot.h: Likewise.
19044 * include/grub/util/lvm.h: Likewise.
19045 * include/grub/util/misc.h: Likewise.
19046 * include/grub/util/raid.h: Likewise.
19047 * include/grub/util/resolve.h: Likewise.
19048 * io/gzio.c: Likewise.
19049 * kern/device.c: Likewise.
19050 * kern/disk.c: Likewise.
19051 * kern/dl.c: Likewise.
19052 * kern/elf.c: Likewise.
19053 * kern/env.c: Likewise.
19054 * kern/err.c: Likewise.
19055 * kern/file.c: Likewise.
19056 * kern/fs.c: Likewise.
19057 * kern/loader.c: Likewise.
19058 * kern/main.c: Likewise.
19059 * kern/misc.c: Likewise.
19060 * kern/mm.c: Likewise.
19061 * kern/parser.c: Likewise.
19062 * kern/partition.c: Likewise.
19063 * kern/rescue.c: Likewise.
19064 * kern/term.c: Likewise.
19065 * kern/efi/efi.c: Likewise.
19066 * kern/efi/init.c: Likewise.
19067 * kern/efi/mm.c: Likewise.
19068 * kern/i386/dl.c: Likewise.
19069 * kern/i386/efi/init.c: Likewise.
19070 * kern/i386/efi/startup.S: Likewise.
19071 * kern/i386/pc/init.c: Likewise.
19072 * kern/i386/pc/lzo1x.S: Likewise.
19073 * kern/i386/pc/startup.S: Likewise.
19074 * kern/ieee1275/ieee1275.c: Likewise.
19075 * kern/powerpc/cache.S: Likewise.
19076 * kern/powerpc/dl.c: Likewise.
19077 * kern/powerpc/ieee1275/cmain.c: Likewise.
19078 * kern/powerpc/ieee1275/crt0.S: Likewise.
19079 * kern/powerpc/ieee1275/init.c: Likewise.
19080 * kern/powerpc/ieee1275/openfw.c: Likewise.
19081 * kern/sparc64/cache.S: Likewise.
19082 * kern/sparc64/dl.c: Likewise.
19083 * kern/sparc64/ieee1275/init.c: Likewise.
19084 * kern/sparc64/ieee1275/openfw.c: Likewise.
19085 * loader/efi/chainloader.c: Likewise.
19086 * loader/efi/chainloader_normal.c: Likewise.
19087 * loader/i386/efi/linux.c: Likewise.
19088 * loader/i386/efi/linux_normal.c: Likewise.
19089 * loader/i386/pc/chainloader.c: Likewise.
19090 * loader/i386/pc/chainloader_normal.c: Likewise.
19091 * loader/i386/pc/linux.c: Likewise.
19092 * loader/i386/pc/linux_normal.c: Likewise.
19093 * loader/i386/pc/multiboot.c: Likewise.
19094 * loader/i386/pc/multiboot_normal.c: Likewise.
19095 * loader/powerpc/ieee1275/linux.c: Likewise.
19096 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
19097 * normal/arg.c: Likewise.
19098 * normal/cmdline.c: Likewise.
19099 * normal/command.c: Likewise.
19100 * normal/completion.c: Likewise.
19101 * normal/execute.c: Likewise.
19102 * normal/function.c: Likewise.
19103 * normal/lexer.c: Likewise.
19104 * normal/main.c: Likewise.
19105 * normal/menu.c: Likewise.
19106 * normal/menu_entry.c: Likewise.
19107 * normal/misc.c: Likewise.
19108 * normal/parser.y: Likewise.
19109 * normal/script.c: Likewise.
19110 * normal/i386/setjmp.S: Likewise.
19111 * normal/powerpc/setjmp.S: Likewise.
19112 * normal/sparc64/setjmp.S: Likewise.
19113 * partmap/acorn.c: Likewise.
19114 * partmap/amiga.c: Likewise.
19115 * partmap/apple.c: Likewise.
19116 * partmap/gpt.c: Likewise.
19117 * partmap/pc.c: Likewise.
19118 * partmap/sun.c: Likewise.
19119 * term/gfxterm.c: Likewise.
19120 * term/terminfo.c: Likewise.
19121 * term/efi/console.c: Likewise.
19122 * term/i386/pc/console.c: Likewise.
19123 * term/i386/pc/serial.c: Likewise.
19124 * term/i386/pc/vesafb.c: Likewise.
19125 * term/i386/pc/vga.c: Likewise.
19126 * term/ieee1275/ofconsole.c: Likewise.
19127 * util/biosdisk.c: Likewise.
19128 * util/console.c: Likewise.
19129 * util/genmoddep.c: Likewise.
19130 * util/getroot.c: Likewise.
19131 * util/grub-emu.c: Likewise.
19132 * util/grub-mkdevicemap.c: Likewise.
19133 * util/grub-probe.c: Likewise.
19134 * util/lvm.c: Likewise.
19135 * util/misc.c: Likewise.
19136 * util/raid.c: Likewise.
19137 * util/resolve.c: Likewise.
19138 * util/update-grub.in: Likewise.
19139 * util/update-grub_lib.in: Likewise.
19140 * util/grub.d/00_header.in: Likewise.
19141 * util/grub.d/10_hurd.in: Likewise.
19142 * util/grub.d/10_linux.in: Likewise.
19143 * util/i386/efi/grub-install.in: Likewise.
19144 * util/i386/efi/grub-mkimage.c: Likewise.
19145 * util/i386/pc/grub-install.in: Likewise.
19146 * util/i386/pc/grub-mkimage.c: Likewise.
19147 * util/i386/pc/grub-mkrescue.in: Likewise.
19148 * util/i386/pc/grub-setup.c: Likewise.
19149 * util/i386/pc/misc.c: Likewise.
19150 * util/powerpc/ieee1275/grub-install.in: Likewise.
19151 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
19152 * util/powerpc/ieee1275/misc.c: Likewise.
19153 * video/bitmap.c: Likewise.
19154 * video/video.c: Likewise.
19155 * video/i386/pc/vbe.c: Likewise.
19156 * video/i386/pc/vbeblit.c: Likewise.
19157 * video/i386/pc/vbefill.c: Likewise.
19158 * video/i386/pc/vbeutil.c: Likewise.
19159 * video/readers/tga.c: Likewise.
19160
3572d015 191612007-07-02 Robert Millan <rmh@aybabtu.com>
19162
19163 * conf/i386-efi.rmk: Replace obsolete reference to
19164 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
19165 with util/getroot.c.
19166 * conf/powerpc-ieee1275.rmk: Likewise.
19167 * conf/sparc64-ieee1275.rmk: Likewise.
19168
19169 * util/grub-emu.c (main): Fix unchecked pointer handling.
19170
2c2a681b 191712007-07-02 Robert Millan <rmh@aybabtu.com>
19172
19173 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
19174 invocation to fail, in order to support partition-less media.
19175
19176 * util/i386/pc/grub-install.in: Likewise.
19177
19178 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
19179 which fs or partmap modules are needed (akin to its sister scripts).
19180
19181 Also use grub-probe to get rid of unportable /proc/mounts check.
19182
19183 Print the same informational message that the other scripts do, before
fe6b695a 19184 exiting.
2c2a681b 19185
6193defe 191862007-06-23 Robert Millan <rmh@aybabtu.com>
19187
fe6b695a 19188 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 19189 a font file can be found and, if so, echo the GRUB path to it.
19190
19191 * util/update-grub.in: Handle multiple terminals depending on user
19192 input, platform availability and font file presence. Propagate
19193 variables of our findings to /etc/grub.d/ children.
19194
19195 * util/grub.d/00_header.in: Handle multiple terminals, based on
19196 environment setup by update-grub.
19197
eface1dc 191982007-06-23 Robert Millan <rmh@aybabtu.com>
19199
ba50d28f 19200 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 19201
bf697e28 192022007-06-21 Robert Millan <rmh@aybabtu.com>
19203
19204 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
19205 indicate end of data section in kernel image.
19206 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
19207 GRUB_KERNEL_MACHINE_DATA_END.
19208
19209 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
19210 space for it.
19211 * kern/i386/efi/startup.S: Likewise.
19212
19213 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
19214 during image generation. Implement --prefix option to override this
19215 patch.
19216 * util/i386/efi/grub-mkimage.c: Likewise.
19217
19218 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
19219 code to make path relative to its root into a separate function.
19220
19221 * util/i386/pc/grub-install.in: Use newly provided
19222 make_system_path_relative_to_its_root() to convert ${grubdir}, then
19223 pass the result to grub-install --prefix.
19224
baa574b4 192252007-06-13 Robert Millan <rmh@aybabtu.com>
19226
19227 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
19228 DEFAULT_DEVICE_MAP.
19229 * util/grub-emu.c: Use above definitions from misc.h instead of
19230 defining them.
19231 * util/grub-mkdevicemap.c: Likewise.
19232 * util/i386/pc/grub-setup.c: Likewise.
19233 * util/grub-probe.c: Likewise.
19234 (probe): Abort with grub_util_error() when either
19235 grub_guess_root_device or grub_util_get_grub_dev fails.
19236
0215dcbf 192372007-06-12 Robert Millan <rmh@aybabtu.com>
19238
19239 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
19240 "pager" assignment.
19241 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
19242 "pcdata".
19243 * util/grub-probe.c (probe): Likewise for "drive_name".
19244
8af2ab7b 192452007-06-11 Robert Millan <rmh@aybabtu.com>
19246
19247 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
19248 not just the cdrom one.
19249
59d31694 192502007-06-11 Robert Millan <rmh@aybabtu.com>
19251
19252 * util/i386/pc/grub-mkrescue.in: Add "set -e".
19253 Add --pkglibdir=DIR option to override pkglibdir.
19254 Mention --image-type=TYPE in help output.
19255 Fix --grub-mkimage (it was a no-op).
fe6b695a 19256 Abort gracefully when no parameter is given.
59d31694 19257
7ee367e4 192582007-06-11 Robert Millan <rmh@aybabtu.com>
19259
19260 * util/i386/pc/grub-mkrescue.in: New file.
19261 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
19262 * Makefile.in: Handle bin_SCRIPTS.
19263
29b0ed46 192642007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
19265
19266 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
19267 list of video modes.
19268
c0f90770 192692007-06-06 Robert Millan <rmh@aybabtu.com>
19270
19271 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
19272 file doesn't exist, or if it is in a filesystem grub can't read.
19273
19274 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
19275 not abort if GRUB_DRIVE could not be defined. Rearrange generated
19276 header comment to fit in 80 columns when the variables are resolved.
19277
19278 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
19279 could be identified by update-grub. Remove redundant check for
fe6b695a 19280 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 19281 handles that).
19282
fb36dc26 192832007-06-04 Robert Millan <rmh@aybabtu.com>
19284
19285 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
19286
19287 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
19288
19289 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
19290
0c68c93e 192912007-06-04 Robert Millan <rmh@aybabtu.com>
19292
19293 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
19294
19295 * include/grub/partition.h: Declare grub_apple_partition_map_init and
19296 grub_apple_partition_map_fini.
19297
19298 * util/biosdisk.c
19299 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
19300 to access >2 TiB disks).
19301
19302 Print disk->total_sectors with %llu instead of %lu, since this
19303 variable is always 64-bit (prevents wrong disk size from being displayed
19304 on either >2 TiB disk or big-endian CPU).
19305
19306 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
19307 into a generic case that supports all (sane) partition maps.
19308
19309 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
19310 breaks big-endian.
19311
19312 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
19313 and grub_apple_partition_map_fini() after that.
19314
0f23eb74 193152007-06-01 Robert Millan <rmh@aybabtu.com>
19316
19317 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
19318
19319 * util/grub.d/00_header.in: Only enable gfxterm when
19320 convert_system_path_to_grub_path() succeeds.
19321
42c71976 193222007-05-20 Robert Millan <rmh@aybabtu.com>
19323
19324 * util/update-grub_lib.in: New file.
19325 * DISTLIST: Add update-grub_lib.in.
19326 * conf/common.rmk: Generate update-grub_lib and install it in
19327 $(lib_DATA).
19328 * Makefile.in: Add install routine for $(lib_DATA).
19329
19330 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
19331 function provided by update-grub_lib to support arbitrary paths of
19332 unifont.pff.
19333 * util/update-grub.in: Use convert_system_path_to_grub_path() to
19334 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
19335
5beb2291 193362007-05-19 Robert Millan <rmh@aybabtu.com>
19337
19338 * commands/i386/cpuid.c: New module.
19339 * DISTLIST: Add it.
19340 * conf/i386-efi.rmk: Enable cpuid.mod.
19341 * conf/i386-pc.rmk: Likewise.
19342
7262eca1 193432007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
19344
19345 * kern/disk.c (grub_disk_read): Check return value of
19346 grub_realloc().
19347
260ba823 193482007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
19349
19350 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
19351 arrays.
19352 * disk/raid.c (grub_raid_open): Likewise.
19353
1ecb6cf2 193542007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
19355
19356 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
19357 stack instead of on the heap.
19358
19359 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
19360 before doing a read on it.
19361
19362 * configure.ac: Only use -fno-stack-protector for the target
19363 environment.
f19dbdb7 19364
21c8cbb1 193652007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
19366
19367 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
19368 __attribute_ ((unused)) to mode_type argument.
19369
19370 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 19371
21c8cbb1 19372 * kern/misc.c (memcmp): Fix prototype.
19373
19374 * include/grub/partition.h [GRUB_UTIL]
19375 (grub_gpt_partition_map_init): Add prototype.
19376 (grub_gpt_partition_map_fini): Likewise.
19377
19378 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
19379 at the right place.
19380
19381 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
19382 (grub_fat_read_data): Likewise.
19383 (grub_fat_find_dir): Likewise.
19384
19385 * font/manager.c (find_glyph): Make table a const.
19386 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 19387
849d55d3 193882007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
19389
19390 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
19391 code, first search for device in /dev/mapper, then in /dev.
19392 (grub_util_get_grub_dev): New function.
19393 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
19394 prototype.
19395 * util/grub-probe.c (probe): Remove check for RAID, call
19396 grub_util_get_grub_dev() instead of
19397 grub_util_biosdisk_get_grub_dev().
19398 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
19399 grub_util_biosdisk_get_grub_dev().
19400 * util/i386/pc/grub-setup.c (main): Likewise.
19401
8fff7c2f 194022007-05-16 Robert Millan <rmh@aybabtu.com>
19403
19404 * DISTLIST: Update for the latest changes.
19405 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
19406 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
19407 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
19408 grub/util/biosdisk.h.
19409 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
19410 grub/util/biosdisk.h.
19411
48e12b52 194122007-05-16 Robert Millan <rmh@aybabtu.com>
19413
19414 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
19415
46b9d128 194162007-05-16 Robert Millan <rmh@aybabtu.com>
19417
19418 * util/i386/efi/grub-install.in: New.
19419 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
19420 newly added grub-install.
19421 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
19422 include.
19423 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
19424 grub/util/biosdisk.h.
19425 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
19426 grub/util/biosdisk.h.
19427
2d1a40a9 194282007-05-16 Robert Millan <rmh@aybabtu.com>
19429
19430 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
19431 * include/grub/util/biosdisk.h: ... here.
19432 * util/i386/pc/biosdisk.c: Moved to ...
19433 * util/biosdisk.c: ... here.
19434 * util/i386/pc/getroot.c: Moved to ...
19435 * util/getroot.c: ... here.
19436 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
19437 * util/grub-mkdevicemap.c: ... here.
19438 * util/i386/pc/grub-probe.c: Moved to ...
19439 * util/grub-probe.c: ... here.
19440
9e26e3bc 194412007-05-15 Robert Millan <rmh@aybabtu.com>
19442
19443 * util/update-grub.in: Remove duplicated line in grub.cfg header
19444 message.
19445
57f96397 194462007-05-13 Robert Millan <rmh@aybabtu.com>
19447
19448 * util/update-grub.in: Fix a few assumptions about the devices holding
19449 /, /boot and /boot/grub being the same.
19450 * util/grub.d/00_header.in: Likewise.
19451 * util/grub.d/10_hurd.in: Likewise.
19452 * util/grub.d/10_linux.in: Likewise.
19453
19454 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
19455 patterns. Use that to define the `.old' suffix as older than `'.
19456
19457 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
19458
19459 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
19460 the grub.cfg header message.
19461
2e610d62 194622007-05-11 Robert Millan <rmh@aybabtu.com>
19463
19464 * util/update-grub.in: Create device.map if it doesn't already exist,
19465 before attempting to run grub-probe.
19466 Check for grub-probe and grub-mkdevicemap with the same code
19467 grub-install is using.
19468 Remove test mode.
19469
3f6a10ef 194702007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
19471
19472 * Makefile.in: Add the datarootdir autoconf variable.
19473
02e7b75e 194742007-05-09 Robert Millan <rmh@aybabtu.com>
19475
19476 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 19477 fail gracefully if dev->disk->partition == NULL.
02e7b75e 19478
75f396cc 194792007-05-07 Robert Millan <rmh@aybabtu.com>
19480
19481 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
19482 determine partition map module.
19483 * util/i386/pc/grub-install.in: Use this feature to decide which
19484 partition module to load, instead of hardcoding pc and gpt.
19485
da65cb36 194862007-05-07 Robert Millan <rmh@aybabtu.com>
19487
19488 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
19489 source directory differs from build directory.
19490
b57d6a91 194912007-05-05 Robert Millan <rmh@aybabtu.com>
19492
19493 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
19494 initialisation.
19495
509d00f1 194962007-05-05 Robert Millan <rmh@aybabtu.com>
19497
19498 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
19499
c48f23ef 195002007-05-05 Robert Millan <rmh@aybabtu.com>
19501
19502 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
19503 command-line arguments via ${GRUB_CMDLINE_LINUX}.
19504
20b97658 195052007-05-05 Robert Millan <rmh@aybabtu.com>
19506
19507 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
19508 (grub_probe_SOURCES): Likewise.
19509 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
19510 GPT and initialize dos_part and bsd_part accordingly.
19511 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
19512 install_bsd_part.
19513 (main): Activate gpt module for use during partition identification,
19514 and deactivate it afterwards.
19515 * util/i386/pc/grub-install.in: Add gpt module to core.img.
19516 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
19517 partition identification, and deactivate it afterwards.
19518
99123174 195192007-05-05 Robert Millan <rmh@aybabtu.com>
19520
19521 * term/i386/pc/console.c (grub_console_fini): Call
19522 grub_term_set_current() before grub_term_unregister().
19523
ebd97f6e 195242007-05-04 Robert Millan <rmh@aybabtu.com>
19525
19526 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
19527 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
19528 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
19529 and update-grub_DATA.
19530 * conf/common.rmk: Build and install update-grub components.
19531 * conf/common.mk: Regenerate.
19532 * util/update-grub.in: New. Core of update-grub.
19533 * util/grub.d/00_header.in: New. Generates grub.cfg header.
19534 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
19535 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
19536 * util/grub.d/README: New. Document grub.d directory layout.
19537
b06a264d 195382007-05-01 Robert Millan <rmh@aybabtu.com>
19539
19540 * util/grub-emu.c: Move initialization functions
19541 grub_util_biosdisk_init() and grub_init_all() before
19542 grub_util_biosdisk_get_grub_dev(), which relies on them.
19543
41f0050e 195442007-04-19 Robert Millan <rmh@aybabtu.com>
19545
19546 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
19547 it is used later.
19548
04582bb3 195492007-04-18 Jerone Young <jerone@gmail.com>
19550
f19dbdb7 19551 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 19552 stanza.
19553
08db4632 195542007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 19555
08db4632 19556 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
19557 continue on and look for device node with real device name.
19558
801b76be 195592007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 19560
fe6b695a 19561 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 19562 ability.
19563 * Makefile.in: Add autoconf package transformation code.
19564 * util/i386/pc/grub-install.in: Likewise.
19565 * util/powerpc/ieee1275/grub-install.in: Likewise.
19566
6795c4e1 195672007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
19568
19569 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
19570 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
19571 (EXT2_REVISION): Likewise.
19572 (EXT2_INODE_SIZE): Likewise.
19573 (struct grub_ext2_block_group): Added a missing member
19574 "used_dirs".
19575 (grub_ext2_read_inode): Divide by the inode size in a superblock
19576 instead of 128 to obtain INODES_PER_BLOCK.
19577 Use the macro EXT2_INODE_SIZE instead of directly using
19578 SBLOCK->INODE_SIZE.
19579
d70af616 195802007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
19581
19582 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
19583 superblock instead of the structure size to compute an
19584 offset. This fixes the problem that GRUB could not read a
19585 filesystem when inode size is different from 128-byte.
19586
3b801603 195872007-03-05 Marco Gerards <marco@gnu.org>
19588
19589 * normal/main.c (read_config_file): When "menu" is not set, create
19590 an initial context.
19591
4785bfe4 195922007-02-21 Hollis Blanchard <hollis@penguinppc.org>
19593
19594 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
19595 (HEAP_LIMIT): New macro.
19596 (grub_claim_heap): Claim memory up to `heaplimit'.
19597
a0cbb023 195982007-02-21 Hollis Blanchard <hollis@penguinppc.org>
19599
19600 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
19601 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
19602 (_start): Likewise.
19603 (grub_arch_modules_addr): Return address after `_end'.
19604 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
19605 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
19606 (add_segments): Calculate `_end' from phdr size and location.
19607 (ALIGN_UP): Moved to ...
19608 * include/grub/misc.h: here.
19609 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
19610 New macro.
19611 (GRUB_IEEE1275_MODULE_BASE): Removed.
19612
fd7d8eba 196132007-02-20 Hollis Blanchard <hollis@penguinppc.org>
19614
19615 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
19616 loop boundary.
19617
9b09e6fc 196182007-02-20 Hollis Blanchard <hollis@penguinppc.org>
19619
19620 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
19621 All users updated.
19622 (grub_elf64_load_hook_t): Likewise.
19623 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
19624 debug output.
19625
3ce27299 196262007-02-20 Hollis Blanchard <hollis@penguinppc.org>
19627
19628 * kern/mm.c: Update copyright.
19629 (grub_mm_debug): Correct syntax error.
19630 (grub_mm_dump_free): New function.
19631 (grub_debug_free): Call `grub_free'.
19632 * include/grub/mm.h: Update copyright.
19633 (grub_mm_dump_free): Add declaration.
19634
077d5fee 196352007-02-12 Hollis Blanchard <hollis@penguinppc.org>
19636
19637 * include/grub/ieee1275/ieee1275.h: Update copyright.
19638 * kern/powerpc/ieee1275/init.c: Likewise.
19639 * kern/powerpc/ieee1275/openfw.c: Likewise.
19640
19641 * loader/powerpc/ieee1275/linux.c: Likewise.
19642 * include/grub/elfload.h: Likewise.
19643 * kern/elf.c: Likewise.
19644 (grub_elf32_load): Pass `base' and `size' parameters. Update all
19645 callers.
19646 (grub_elf64_load): Likewise.
19647 (grub_elf32_load_segment): Move to a nested function.
19648 (grub_elf64_load_segment): Likewise.
19649
dc946850 196502007-02-12 Hollis Blanchard <hollis@penguinppc.org>
19651
19652 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
19653 prototype.
19654 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
19655 (grub_heap_len): Likewise.
19656 (HEAP_SIZE): New macro.
19657 (grub_claim_heap): New function.
19658 (grub_machine_init): Don't claim heap directly. Call
19659 `grub_claim_heap'.
19660 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
19661 (grub_available_iterate): New function.
19662
baa2a121 196632007-02-03 Thomas Schwinge <tschwinge@gnu.org>
19664
19665 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
19666 * configure.ac: Use it for testing the HOST and TARGET compilers.
19667
4fe9862e 196682006-12-13 Thomas Schwinge <tschwinge@gnu.org>
19669
19670 * Makefile.in (enable_grub_emu): New variable.
19671 * configure.ac (--enable-grub-emu): New option.
19672 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
19673 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
19674 * conf/i386-pc.rmk: Likewise.
19675 * conf/powerpc-ieee1275.rmk: Likewise.
19676 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
19677
a8aa5762 196782006-12-12 Marco Gerards <marco@gnu.org>
19679
19680 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
19681
19682 * kern/env.c (grub_env_unset): Don't free the member `value' when
19683 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
19684 pointer.
19685
19686 * normal/main.c (current_menu): Removed.
19687 (free_menu): Unset the `menu' environment variable.
19688 (grub_normal_menu_addentry): Make use of the environment variable
19689 `menu', instead of using the global `current_menu'. Allocate
19690 memory for the sourcecode of this entry.
19691 (read_config_file): New argument `nested', changed all callers.
19692 Only in the case of a new context, initialize a new menu. Set the
19693 `menu' environment variable.
19694 (grub_normal_execute): Don't set and unset the environment
19695 variable `menu' here anymore. Only free the menu when leaving the
19696 context.
19697
19698 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
19699 leak.
19700
957b3a3e 197012006-12-11 Marco Gerards <marco@gnu.org>
19702
19703 * normal/menu_entry.c (run): Fix off by one bug so the last line
19704 is executed. Move the loader check to outside the loop.
19705
ef875714 197062006-12-08 Hollis Blanchard <hollis@penguinppc.org>
19707
19708 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
19709
4e739985 197102006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
19711
19712 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
19713 the number of sectors. Reported by Andrey Shuvikov
19714 <mr_hyro@yahoo.com>.
f19dbdb7 19715
790707f2 197162006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
19717
19718 * kern/disk.c (grub_disk_read): When there is a read error, always
19719 try to read only the necessary data.
f19dbdb7 19720
790707f2 19721 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
19722 disk/raid.c.
19723 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
19724 prototype.
19725 [GRUB_UTIL] (grub_raid_fini): Likewise.
19726 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 19727 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 19728 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
19729 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
19730 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
19731 and grub_raid_fini().
f19dbdb7 19732
03e58196 197332006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
19734
19735 * include/grub/types.h (__unused): Rename to UNUSED.
19736 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
19737 (grub_elf64_size): Likewise.
f19dbdb7 19738
ae4f23bf 197392006-11-03 Hollis Blanchard <hollis@penguinppc.org>
19740
19741 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
19742 grub_error_push and grub_error_pop in the error-handling path.
19743 (grub_elf32_load_segment): Only call grub_file_read with non-zero
19744 length.
19745
2166cc83 197462006-11-03 Hollis Blanchard <hollis@penguinppc.org>
19747
19748 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
19749 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
19750 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19751 (kernel_elf_SOURCES): Likewise.
19752 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
19753 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
19754 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
19755 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
19756 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
19757 (elf_mod_SOURCES): New variable.
19758 (elf_mod_CFLAGS): Likewise.
19759 (elf_mod_LDFLAGS): Likewise.
19760 * include/grub/types.h (__unused): New macro.
19761 * include/grub/elfload.h: New file.
19762 * kern/elf.c: Likewise.
19763 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
19764 (ELF32_LOADMASK): New macro.
19765 (ELF64_LOADMASK): Likewise.
19766 (vmlinux): Removed.
19767 (grub_linux_load32): New function.
19768 (grub_linux_load64): Likewise.
19769 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
19770 Use grub_elf_t instead of grub_file_t.
19771
a09d5aa5 197722006-11-02 Hollis Blanchard <hollis@penguinppc.org>
19773
19774 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
19775 `catch_result' to struct set_color_args.
19776
d976fc51 197772006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
19778
19779 * normal/menu.c: Include grub/script.h.
19780 * normal/menu_entry.c: Likewise.
19781 * include/grub/normal.h: Do not include grub/script.h.
19782
67507549 197832006-10-27 Hollis Blanchard <hollis@penguinppc.org>
19784
19785 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
19786
69203a99 197872006-10-27 Hollis Blanchard <hollis@penguinppc.org>
19788
19789 * kern/disk.c (grub_disk_open): Print debug messages when opening a
19790 disk.
19791 (grub_disk_close): Print debug messages when closing a disk.
19792 (grub_disk_read): Print debug messages when disk read fails.
19793 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
19794 filesystem type.
19795 * kern/partition.c: Include misc.h.
19796 (grub_partition_iterate): Print debug messages when detecting
19797 partition type.
19798
e2b8278c 197992006-10-27 Hollis Blanchard <hollis@penguinppc.org>
19800
19801 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
19802 is negative.
19803 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
19804
97b2f2ff 198052006-10-26 Hollis Blanchard <hollis@penguinppc.org>
19806
19807 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
19808 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
19809
6555d655 198102006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
19811
19812 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
19813 instead of sizeof(lv). Patch by Michael Guntsche.
19814
4d42b77f 198152006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
19816
19817 * disk/lvm.c: Rename VGS to VG_LIST.
19818 (grub_lvm_iterate): Change VGS->LV to VG-LV.
19819 (grub_lvm_open): Likewise.
19820 Thanks to Michael Guntsche for finding this bug.
19821
5d74d927 198222006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
19823
19824 * configure.ac (AC_INIT): Bumped to 1.95.
19825
a1bb27e4 198262006-10-14 Robert Millan <rmh@aybabtu.com>
19827
19828 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
19829 with "/dev/.static/dev/md".
19830
e0994b8b 198312006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
19832
19833 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
19834 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
19835 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
19836 DRIVE_NAME are always freed.
19837
19838 * util/i386/pc/biosdisk.c (make_device_name): Add one into
19839 DOS_PART, as a DOS partition is counted from one instead of zero
19840 now. Reported by Robert Millan.
19841
ddd5cee9 198422006-10-14 Robert Millan <rmh@aybabtu.com>
19843
19844 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
19845 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
19846 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
19847 string returned by grub_guess_root_device.
19848 * util/i386/pc/grub-setup.c: Likewise.
19849 * util/i386/pc/grub-probefs.c: Likewise.
19850
19851 * util/i386/pc/grub-probefs.c: Rename to ...
19852 * util/i386/pc/grub-probe.c: ... this.
19853 * DISTLIST: Remove grub-probefs, add grub-probe.
19854 * conf/i386-efi.rmk: Likewise.
19855 * conf/i386-pc.rmk: Likewise.
19856 * util/i386/pc/grub-install.in: Likewise.
19857
19858 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
19859 choose which information we want to print.
19860
2b002173 198612006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
19862
19863 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
19864 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
19865 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
19866 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
19867 video/readers/tga.c and video/i386/pc/vbeutil.c.
19868
198692006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
19870
19871 Added support for RAID and LVM.
f19dbdb7 19872
2b002173 19873 * disk/lvm.c: New file.
19874 * disk/raid.c: Likewise.
19875 * include/grub/lvm.h: Likewise.
f19dbdb7 19876 * include/grub/raid.h: Likewise.
2b002173 19877 * include/grub/util/lvm.h: Likewise.
19878 * include/grub/util/raid.h: Likewise.
19879 * util/lvm.c: Likewise.
19880 * util/raid.c: Likewise.
19881
19882 * include/grub/disk.h (grub_disk_dev_id): Add
19883 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
19884 (grub_disk_get_size): New prototype.
19885 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
19886 returns a partition.
19887 (grub_disk_get_size): New function.
f19dbdb7 19888
2b002173 19889 * kern/i386/pc/init.c (make_install_device): Copy the prefix
19890 verbatim if grub_install_dos_part is -2.
19891
19892 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
19893 and LVM devices.
19894
19895 * util/i386/pc/grub-setup.c (setup): New argument
19896 MUST_EMBED. Force embedding of GRUB when the argument is
19897 true. Close FILE before returning.
19898 (main): Add support for RAID and LVM.
f19dbdb7 19899
2b002173 19900 * conf/common.rmk: Add RAID and LVM modules.
19901 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
19902 util/lvm.c.
19903 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
19904
19905 * kern/misc.c (grub_strstr): New function.
19906 * include/grub/misc.h (grub_strstr): New prototype.
19907
050548d0 199082006-10-10 Tristan Gingold <tristan.gingold@bull.net>
19909
19910 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
19911
da849d2d 199122006-10-05 Tristan Gingold <tristan.gingold@bull.net>
19913
19914 * kern/misc.c (grub_strtoull): Guess the base only if not
19915 specified.
19916
97b2f2ff 199172006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 19918
19919 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
19920 PowerMac support.
19921
97b2f2ff 199222006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 19923
19924 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
19925
19926 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
19927 Remove `flags' argument. All callers changed.
19928 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
19929 (IEEE1275_IHANDLE_INVALID): New variable.
19930 (IEEE1275_CELL_INVALID): New variable.
19931 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
19932 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
19933 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
19934 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
19935 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
19936 codes from Open Firmware. All callers updated.
19937 (grub_ieee1275_next_property): Directly return Open Firmware return
19938 code.
19939 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
19940 Standardize error checking from `grub_ieee1275_get_property'.
19941 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
19942 `devalias' to `aliases'. Correct comments. Consolidate error paths.
19943
97b2f2ff 199442006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 19945
19946 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
19947 `instance_to_package_args' to `instance_to_path_args'.
19948
19949 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
19950 `grub_ieee1275_chosen'.
19951
19952 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
19953 `grub_ieee1275_interpret'.
19954
97b2f2ff 199552006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 19956
19957 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
19958
97b2f2ff 199592006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 19960
19961 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
19962 (__cmpdi): Likewise.
19963
19964 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
19965 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
19966 `grub_ssize_t'.
19967
02bb8acc 19968 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 19969
19970 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
19971 to type `grub_ssize_t'.
19972 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
19973
7f9a8531 199742006-09-22 Marco Gerards <marco@gnu.org>
19975
19976 * normal/script.c (grub_script_create_cmdmenu): Skip leading
19977 newlines.
19978
b5ef1102 199792006-09-22 Marco Gerards <marco@gnu.org>
19980
19981 * commands/echo.c: New file.
19982
19983 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
19984
19985 * conf/common.rmk (echo_mod_SOURCES): New variable.
19986 (echo_mod_CFLAGS): Likewise.
19987 (echo_mod_LDFLAGS): Likewise.
19988
2cff3677 199892006-09-22 Marco Gerards <marco@gnu.org>
19990
19991 * normal/main.c (get_line): Malloc memory instead of using
19992 preallocated memory. Removed the arguments `cmdline' and
19993 `max_len'. Updated all callers.
19994
6ba4688b 199952006-09-22 Marco Gerards <marco@gnu.org>
19996
19997 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
19998 (normal_mod_DEPENDENCIES): Likewise.
19999
20000 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
20001 (normal_mod_DEPENDENCIES): Likewise.
20002
20003 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
20004
e02ac02c 200052006-09-22 Johan Rydberg <jrydberg@gnu.org>
20006
20007 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
20008 programs.
20009 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
20010 (normal_mod_DEPENDENCIES): Likewise.
20011 * conf/i386-pc.mk: Regenerate.
20012 * conf/i386-efi.mk: Likewise
20013 * conf/common.mk: Likewise.
20014 * conf/powerpc-ieee1275.mk: Likewise.
20015 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 20016
8d252e44 200172006-09-22 Robert Millan <rmh@aybabtu.com>
20018
20019 Sync with i386 version.
20020 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
20021 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
20022
209bf7ac 200232006-09-21 Robert Millan <rmh@aybabtu.com>
20024
20025 Import from GRUB Legacy (lib/device.c):
20026 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
20027 (init_device_map) [__linux__]: Add support for I2O devices.
20028
6b146090 200292006-09-14 Marco Gerards <marco@gnu.org>
20030
20031 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
20032 `-melf_i386'.
20033
e38600a8 200342006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 20035
20036 * util/i386/pc/grub-install.in: Skip menu.lst when removing
20037 /boot/grub/*.lst.
78fa1790 20038
2952da5d 20039 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 20040
2952da5d 20041 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
20042 before adding it to device.map.
20043
01b82a64 200442006-08-15 Johan Rydberg <jrydberg@gnu.org>
20045
fe6b695a 20046 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 20047 compiles a file; using the -MD option.
20048 * conf/common.mk: Regenerate.
20049 * conf/i386-pc.mk: Likewise.
20050 * conf/i386-efi.mk: Likewise.
20051 * conf/powerpc-ieee1275.mk: Likewise.
20052 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 20053
1064790d 200542006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
20055
20056 Move the prototypes of grub_setjmp and grub_longjmp to
20057 cpu/setjmp.h, so that each architecture may specify different
20058 attributes.
f19dbdb7 20059
1064790d 20060 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
20061 (grub_longjmp): Likewise.
20062 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
20063 (grub_longjmp): Likewise.
20064 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
20065 (grub_longjmp): Likewise.
20066
20067 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
20068 [!GRUB_UTIL] (grub_longjmp): Removed.
20069
29dda3ed 200702006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
20071
20072 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
20073 "color!" method does not return any value.
20074
ad2a06ed 200752006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
20076
20077 * include/grub/bitmap.h: New file.
20078
20079 * include/grub/i386/pc/vbeutil.h: Likewise.
20080
20081 * video/bitmap.c: Likewise.
20082
20083 * video/readers/tga.c: Likewise.
20084
20085 * video/i386/pc/vbeutil.c: Likewise.
20086
20087 * commands/videotest.c: Code cleanup and updated to reflect to new
20088 video API.
20089
20090 * term/gfxterm.c: Likewise.
20091
20092 * video/video.c: Likewise.
20093
20094 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
20095 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
20096 (bitmap_mod_SOURCES): New entry.
20097 (bitmap_mod_CFLAGS): Likewise.
20098 (bitmap_mod_LDFLAGS): Likewise.
20099 (tga_mod_SOURCES): Likewise.
20100 (tga_mod_CFLAGS): Likewise.
20101 (tga_mod_LDFLAGS): Likewise.
20102
20103 * include/grub/video.h (grub_video_blit_operators): New enum type.
20104 (grub_video_render_target): Changed as forward declaration and moved
20105 actual definition to be video driver specific.
20106 (grub_video_adapter.blit_bitmap): Added blitting operator.
20107 (grub_video_adapter.blit_render_target): Likewise.
20108 (grub_video_blit_bitmap): Likewise.
20109 (grub_video_blit_render_target): Likewise.
20110
20111 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
20112 driver specific render target definition.
20113 (grub_video_vbe_map_rgba): Added driver internal helper.
20114 (grub_video_vbe_unmap_color): Updated to use
20115 grub_video_i386_vbeblit_info.
20116 (grub_video_vbe_get_video_ptr): Likewise.
20117
20118 * include/grub/i386/pc/vbeblit.h
20119 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
20120 grub_video_i386_vbeblit_info.
20121 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
20122 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
20123 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
20124 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
20125 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
20126 (grub_video_i386_vbeblit_index_index): Likewise.
20127 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
20128 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
20129 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
20130 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
20131 operator.
20132 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
20133 operator.
20134
20135 * video/i386/pc/vbeblit.c: Updated to reflect changes on
20136 include/grub/i386/pc/vbeblit.h.
20137
20138 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
20139 Updated to use grub_video_i386_vbeblit_info.
20140 (grub_video_i386_vbefill_R8G8B8): Likewise.
20141 (grub_video_i386_vbefill_index): Likewise.
20142 (grub_video_i386_vbefill): Added generic filler.
20143
20144 * video/i386/pc/vbefill.c: Updated to reflect changes on
20145 include/grub/i386/pc/vbefill.h.
20146
20147 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
20148 grub_video_i386_vbeblit_info.
20149 (grub_video_vbe_unmap_color): Likewise.
20150 (grub_video_vbe_blit_glyph): Likewise.
20151 (grub_video_vbe_scroll): Likewise.
20152 (grub_video_vbe_draw_pixel): Removed function.
20153 (grub_video_vbe_get_pixel): Likewise.
20154 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
20155 updated code to use it.
20156 (common_blitter): Added common blitter for render target and bitmap.
20157 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
20158 (grub_video_vbe_blit_render_target): Likewise.
20159
bc8c036d 201602006-07-30 Johan Rydberg <jrydberg@gnu.org>
20161
20162 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
20163 is in text mode if there is no console control protocol instance
20164 available.
20165
684a8eff 201662006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
20167
20168 * include/grub/video.h: Code cleanup.
20169
20170 * include/grub/i386/pc/vbe.h: Likewise.
20171
20172 * video/i386/pc/vbe.c: Likewise.
20173
20174 * video/i386/pc/vbeblit.c: Likewise.
20175
20176 * video/i386/pc/vbefill.c: Likewise.
20177
20178 * video/video.c: Likewise. Also added more comments.
20179
5915059b 201802006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
20181
20182 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
20183 (struct grub_biosdisk_dap): Likewise.
20184
20185 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
20186 linkage settings for all functions.
20187
90ce5d56 201882006-07-12 Marco Gerards <marco@gnu.org>
20189
20190 * configure.ac (--enable-mm-debug): Fix typo.
20191
20192 * genkernsyms.sh.in: Use proper quoting for `CC'.
20193
43e7f879 201942006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
20195
20196 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
20197 (normal_mod_ASFLAGS): Remove "-m32".
20198
4889bdec 201992006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
20200
20201 * util/misc.c: Include config.h.
20202 [!HAVE_MEMALIGN]: Do not include malloc.h.
20203 (grub_memalign): Use posix_memalign, if present. Then, use
20204 memalign, if present. Otherwise, emit an error.
20205
20206 * util/grub-emu.c: Do not include malloc.h.
20207
20208 * include/grub/util/misc.h: Include unistd.h. This is required for
20209 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
20210 D. Eades III <hde@foobar-qux.org>.
20211
20212 * configure.ac (AC_GNU_SOURCE): Added.
20213 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
20214 type.
20215
fd39d4da 202162006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
20217
20218 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
20219 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
20220
b786f3b5 202212006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
20222
20223 * include/grub/types.h (grub_host_addr_t): Rename to
20224 grub_target_addr_t.
20225 (grub_host_off_t): Rename to grub_target_off_t.
20226 (grub_host_size_t): Rename to grub_target_size_t.
20227 (grub_host_ssize_t): Rename to grub_target_ssize_t.
20228 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
20229
20230 * include/grub/kernel.h (struct grub_module_header): Change type
20231 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
20232 (grub_module_info): Likewise.
f19dbdb7 20233
051988bb 202342006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
20235
20236 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
20237 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
20238 Velazquez <jesus.velazquez@gmail.com>.
20239
deae281b 202402006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
20241
20242 Count partitions from 1 instead of 0 in the string representation
20243 of partitions. Still use 0-based internally.
f19dbdb7 20244
deae281b 20245 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
20246 (sun_partition_map_iterate): Use grub_partition_t instead of
20247 struct grub_partition *. Cast DESC->START_CYLINDER to
20248 grub_uint64_t after converting the endian.
20249 (sun_partition_map_probe): Subtract 1 for PARTNUM.
20250 (sun_partition_map_get_name): Add 1 to P->INDEX.
20251
20252 * partmap/pc.c (grub_partition_parse): Subtract 1 for
20253 PCDATA->DOS_PART.
20254 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
20255
20256 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
20257 zero instead of one.
20258 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
20259 (gpt_partition_map_get_name): Add 1 into P->INDEX.
20260
20261 * partmap/apple.c (apple_partition_map_iterate): Change the type
20262 of POS to unsigned.
20263 (apple_partition_map_probe): Subtract 1 for PARTNUM.
20264 (apple_partition_map_get_name): Add 1 into P->INDEX.
20265
20266 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
20267 of POS to unsigned.
20268 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
20269 calculate the offset of a partition.
20270 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
20271 (amiga_partition_map_get_name): Add 1 into P->INDEX.
20272
20273 * partmap/acorn.c (acorn_partition_map_find): Change the type of
20274 SECTOR to grub_disk_addr_t.
20275 (acorn_partition_map_iterate): Likewise.
20276 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
20277 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
20278 top.
20279 (acorn_partition_map_get_name): Add 1 into P->INDEX.
20280
20281 * kern/i386/pc/init.c (make_install_device): Add 1 into
20282 GRUB_INSTALL_DOS_PART.
20283
20284 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
20285 conditional.
20286
524a1e6a 202872006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
20288
20289 Clean up the code to support 64-bit addressing in disks and
20290 files. This change is not enough for filesystems yet.
f19dbdb7 20291
524a1e6a 20292 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
20293 type of "start" to grub_uint64_t.
20294 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
20295 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
20296 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
20297 convert addresses.
20298
20299 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
20300 to grub_disk_addr_t.
20301
20302 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
20303 string.
20304
20305 * partmap/pc.c (pc_partition_map_iterate): Likewise.
20306
20307 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
20308 to char *.
20309
20310 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
20311
20312 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
20313
20314 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
20315
20316 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
20317 to grub_off_t, to detect an error from grub_file_seek.
20318 (grub_multiboot_load_elf32): Likewise.
20319
20320 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
20321 maximum unsigned long value when an overflow is detected.
20322 (grub_strtoull): New function.
20323 (grub_divmod64): Likewise.
20324 (grub_lltoa): use grub_divmod64.
20325
20326 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
20327 grub_disk_addr_t.
20328 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
20329 the pointer to next character. Use grub_strtoull instead of
20330 grub_strtoul.
20331 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
20332 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
20333 respectively.
20334
fe6b695a 20335 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 20336 return value is signed.
20337 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
20338 test if OFFSET is less than zero, as OFFSET is unsigned now.
20339
20340 * kern/disk.c (struct grub_disk_cache): Change the type of
20341 "sector" to grub_disk_addr_t.
20342 (grub_disk_cache_get_index): Change the type of SECTOR to
20343 grub_disk_addr_t. Calculate the hash with SECTOR casted to
20344 unsigned after shifting.
20345 (grub_disk_cache_invalidate): Change the type of SECTOR to
20346 grub_disk_addr_t.
20347 (grub_disk_cache_unlock): Likewise.
20348 (grub_disk_cache_store): Likewise.
20349 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
20350 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
20351 grub_disk_addr_t and grub_uint64_t, respectively.
20352 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
20353 body, as the value of OFFSET is tweaked by
20354 grub_disk_check_range. Change the types of START_SECTOR, LEN and
20355 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
20356 respectively.
20357 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
20358 body, as the value of OFFSET is tweaked by
20359 grub_disk_check_range. Change the types of LEN and N to
20360 grub_size_t.
20361
20362 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
20363 and "saved_offset" to grub_off_t.
20364 (test_header): Cast BUF to char *.
20365 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
20366 to char *.
20367 (grub_gzio_read): Change the types of OFFSET and SIZE to
20368 grub_off_t and grub_size_t, respectively.
20369
20370 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
20371 Removed.
20372 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
20373 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
20374 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
20375 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
20376 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
20377
20378 * include/grub/types.h (grub_off_t): Unconditionally set to
20379 grub_uint64_t.
20380 (grub_disk_addr_t): Changed to grub_uint64_t.
20381
20382 * include/grub/partition.h (struct grub_partition): Change the
20383 types of "start", "len" and "offset" to grub_disk_addr_t,
20384 grub_uint64_t and grub_disk_addr_t, respectively.
20385 (grub_partition_get_start): Return grub_disk_addr_t.
20386 (grub_partition_get_len): Return grub_uint64_t.
20387
20388 * include/grub/misc.h (grub_strtoull): New prototype.
20389 (grub_divmod64): Likewise.
20390
20391 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
20392 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
20393 grub_off_t, respectively.
20394 All callers and references changed.
20395
20396 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
20397 grub_size_t in "read".
20398 All callers and references changed.
20399
20400 * include/grub/file.h (struct grub_file): Change the types of
20401 "offset" and "size" to grub_off_t and grub_off_t,
20402 respectively. Change the type of SECTOR to grub_disk_addr_t in
20403 "read_hook".
20404 (grub_file_read): Change the type of LEN to grub_size_t.
20405 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
20406 grub_off_t.
20407 (grub_file_size): Return grub_off_t.
20408 (grub_file_tell): Likewise.
20409 All callers and references changed.
20410
20411 * include/grub/disk.h (struct grub_disk_dev): Change the types of
20412 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
20413 "write".
20414 (struct grub_disk): Change the type of "total_sectors" to
20415 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 20416 "read_hook".
524a1e6a 20417 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
20418 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
20419 (grub_disk_write): Likewise.
20420 All callers and references changed.
20421
20422 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
20423 char * for grub_strncmp to silence gcc.
20424 (grub_iso9660_mount): Likewise.
20425 (grub_iso9660_mount): Likewise.
20426 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
20427 return statement.
20428 (grub_iso9660_iterate_dir): Likewise.
20429 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
20430
20431 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
20432 LEN to grub_disk_addr_t and grub_size_t, respectively.
20433
20434 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
20435
20436 * fs/jfs.c (grub_jfs_read_file): Likewise.
20437
20438 * fs/minix.c (grub_jfs_read_file): Likewise.
20439
20440 * fs/sfs.c (grub_jfs_read_file): Likewise.
20441
20442 * fs/ufs.c (grub_jfs_read_file): Likewise.
20443
20444 * fs/xfs.c (grub_jfs_read_file): Likewise.
20445
20446 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
20447 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
20448 respectively.
20449
20450 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
20451 BLKNR to -1 instead of returning GRUB_ERRNO.
20452 (grub_ext2_read_file): Change the types of SECTOR and
20453 LEN to grub_disk_addr_t and grub_size_t, respectively.
20454
20455 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
20456 LEN to grub_disk_addr_t and grub_size_t, respectively.
20457
20458 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
20459 grub_file_read.
20460
20461 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
20462 string. Do not cast SECTOR explicitly.
20463
20464 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
20465 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
20466 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
20467 grub_disk_addr_t and grub_size_t, respectively. If the sector is
20468 over 2TB and LBA mode is not supported, raise an error.
20469 (get_safe_sectors): New function.
20470 (grub_biosdisk_read): Use get_safe_sectors.
20471 (grub_biosdisk_write): Likewise.
20472
20473 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
20474 (grub_efidisk_write): Likewise.
20475
20476 * disk/loopback.c (delete_loopback): Cosmetic changes.
20477 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
20478 correctly.
20479 (grub_loopback_open): Likewise.
20480 (grub_loopback_read): Likewise. Also, change the type of POS to
20481 grub_off_t, and fix the usage of grub_memset.
20482
20483 * commands/i386/pc/play.c: Include grub/machine/time.h.
20484
20485 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
20486 print FILE->SIZE.
20487
20488 * commands/configfile.c: Include grub/env.h.
20489
20490 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
20491 GRUB_ERRNO directly instead. Change the type of POS to
20492 grub_off_t. Follow the coding standard.
20493
20494 * commands/blocklist.c: Include grub/partition.h.
20495 (grub_cmd_blocklist): Return an error if the underlying device is
20496 not a disk. Take the starting sector of a partition into account,
20497 if a partition is used.
20498
20499 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
20500 a length field.
20501 (lba_mode): Support 64-bit addresses.
20502 (chs_mode): Likewise.
20503 (copy_buffer): Adapted to the new offsets of a length field and a
20504 segment field.
20505 (blocklist_default_start): Allocate 64-bit space.
20506
20507 * boot/i386/pc/boot.S (force_lba): Removed.
20508 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 20509 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 20510 space.
20511 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
20512 is useless.
20513 (lba_mode): Refactored to support a 64-bit address. More size
20514 optimization.
20515 (setup_sectors): Likewise.
20516
53af98ad 205172006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
20518
20519 * DISTLIST: Added include/grub/i386/linux.h. Removed
20520 include/grub/i386/pc/linux.h
20521
20522 * configure.ac (AC_INIT): Bumped to 1.94.
20523
20524 * config.guess: Updated from gnulib.
20525 * config.sub: Likewise.
20526 * install-sh: Likewise.
20527 * mkinstalldirs: Likewise.
20528
b4c1940a 205292006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
20530
20531 * conf/common.rmk (grub_modules_init.lst): Depended on
20532 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
20533 MODSRCFILES.
20534
20535 * genmk.rb (PModule::rule): Reverted the previous change.
20536
cfca1cfd 205372006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
20538
20539 * conf/common.rmk (grub_modules_init.lst): Depends on
20540 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
20541 that the target does not exist before producing.
20542 (grub_modules_init.h): Remove the target before generating.
20543 (grub_emu_init.c): Likewise.
20544
20545 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
20546
aa6d7826 205472006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
20548
20549 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
20550 for the target-specific tests. Make sure that we also have the
20551 up-to-date target variables for those tests.
20552
26c607b9 205532006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
20554
20555 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
20556 (PModule::rule): Likewise.
20557
0162321a 205582006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
20559
20560 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
20561 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
20562 target-specific flags should be prefixed.
20563 (PModule::rule): Likewise.
20564
6c826348 205652006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
20566
20567 * configure.ac (CMP): Check if cmp is available explicitly.
20568
b977bf01 205692006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
20570
20571 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
20572 (target_cpu): New variable.
20573 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 20574
b977bf01 20575 * util/i386/pc/grub-install.in (host_cpu): Removed.
20576 (target_cpu): New variable.
20577 (pkglibdir): Use target_cpu instead of host_cpu.
20578
20579 * util/genmoddep.c: Removed.
f19dbdb7 20580
b977bf01 20581 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
20582 instead of GRUB_HOST_SIZEOF_VOID_P.
20583 * kern/dl.c: Likewise.
20584
20585 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
20586 ...
20587 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
20588 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
20589 (GRUB_TARGET_SIZEOF_LONG): ... this.
20590 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
20591 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
20592 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
20593 to ...
20594 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
20595 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
20596 (GRUB_TARGET_SIZEOF_LONG): ... this.
20597 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
20598 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
20599 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
20600 to ...
20601 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
20602 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
20603 (GRUB_TARGET_SIZEOF_LONG): ... this.
20604 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
20605 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
20606
20607 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
20608 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
20609 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
20610 instead of GRUB_HOST_SIZEOF_LONG.
20611 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
20612 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
20613 GRUB_CPU_WORDS_BIGENDIAN.
20614 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
20615 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
20616 grub_host_ssize_t.
20617
20618 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
20619 (genmoddep_SOURCES): Likewise.
20620 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
20621 (genmoddep_SOURCES): Likewise.
20622 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
20623 (genmoddep_SOURCES): Likewise.
20624 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
20625 Likewise.
20626 (genmoddep_SOURCES): Likewise.
20627
20628 * genmoddep.awk: New file.
20629
20630 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
20631 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
20632 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
20633 (PModule::rule): Likewise.
20634 (Program::rule): Likewise.
20635 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
20636 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
20637 respectively.
20638
20639 * configure.ac: Rewritten intensively to use host and target
20640 instead of build and host, respectively.
20641
20642 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
20643 (host_cpu): Removed.
20644 (target_cpu): New variable.
20645 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
20646 (BUILD_CC): Removed.
20647 (BUILD_CFLAGS): Likewise.
20648 (BUILD_CPPFLAGS): Likewise.
20649 (TARGET_CC): New variable.
20650 (TARGET_CFLAGS): Likewise.
20651 (TARGET_CPPFLAGS): Likewise.
20652 (TARGET_LDFLAGS): Likewise.
20653 (AWK): Likewise.
20654 (include): Use target_cpu instead of host_cpu.
20655 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 20656
b977bf01 20657 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
20658
f09771a1 206592006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
20660
20661 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
20662 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
20663 field 'false' to 'exec_on_false'.
20664 (grub_script_create_cmdif): Renamed argument names to reflect above
20665 changes.
20666
20667 * normal/execute.c (grub_script_execute_cmdif): Likewise.
20668
20669 * normal/script.c (grub_script_create_cmdif): Likewise.
20670
118f4fb3 206712006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
20672
20673 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
20674 top.
20675 (grub_hfsplus_btree_recptr): Likewise.
20676 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
20677 FILEBLOCK both to pass a block number and store next block
20678 number.
20679 (grub_hfsplus_read_block): Rewritten heavily to support an extent
20680 overflow file correctly. Specify errors appropriately, because
20681 fshelp expects that GRUB_ERRNO is set when fails. Reuse
20682 grub_hfsplus_btree_recptr to get the pointer to a found key.
20683 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
20684 is found.
20685
20686 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
20687 linux.mod.
20688 (_linux_mod_SOURCES): New variable.
20689 (_linux_mod_CFLAGS): Likewise.
20690 (_linux_mod_LDFLAGS): Likewise.
20691 (linux_mod_SOURCES): Likewise.
20692 (linux_mod_CFLAGS): Likewise.
20693 (linux_mod_LDFLAGS): Likewise.
20694
20695 * DISTLIST: Added loader/i386/efi/linux.c,
20696 loader/i386/efi/linux_normal.c and
20697 include/grub/i386/efi/loader.h.
20698
20699 * loader/i386/efi/linux.c: New file.
20700 * loader/i386/efi/linux_normal.c: Likewise.
20701 * include/grub/i386/efi/loader.h: Likewise.
20702
89a7d726 207032006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
20704
20705 * commands/blocklist.c: New file.
20706
20707 * DISTLIST: Added commands/blocklist.c.
20708
20709 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 20710 color for the background, and a darker color for the foreground.
89a7d726 20711 (grub_console_checkkey): Return READ_KEY.
20712 (grub_console_cls): Set the background to
20713 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
20714
20715 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
20716
20717 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
20718 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
20719
20720 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
20721 prototype.
20722
20723 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
20724 BG. The spec is wrong again.
20725
20726 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
20727 prototype.
20728 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
20729
20730 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
20731 commands/blocklist.c.
20732 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 20733
89a7d726 20734 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
20735 (blocklist_mod_SOURCES): New variable.
20736 (blocklist_mod_CFLAGS): Likewise.
20737 (blocklist_mod_LDFLAGS): Likewise.
20738
75c8f258 207392006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
20740
20741 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
20742 duplication.
20743 (lba_mode): Use %eax more intensively to reduce the code size.
20744
da2eb181 207452006-05-20 Marco Gerards <marco@gnu.org>
20746
20747 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
20748
20749 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
20750 for `menuentry'.
20751 (script): Accept leading newlines.
20752 (newlines): New rule to describe 0 or more newlines.
20753 (commands): Accept `command' with trailing newline. Fixed the
20754 order in which arguments were passed to `grub_script_add_cmd'.
20755 Accept commands separated by newlines.
20756 (function): Changed to accept newlines.
20757 (menuentry) Rewritten.
20758
20759 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
20760 front of the list, instead of to the end.
20761
577b4050 207622006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
20763
20764 * util/i386/pc/grub-install.in (bindir): New variable.
20765 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
20766 Shaver <lbgwjl@gmail.com>.
20767
0d6e1189 207682006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
20769
20770 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
20771 grub/machine/linux.h
20772 * loader/i386/pc/linux.c: Likewise.
20773
20774 * include/grub/i386/pc/linux.h: Moved to ...
20775 * include/grub/i386/linux.h: ... here.
20776
20777 * include/grub/i386/linux.h (struct linux_kernel_params): New
20778 struct.
f19dbdb7 20779
31b86e9f 207802006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
20781
20782 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
20783 checking.
20784 (grub_video_vbe_blit_glyph): Likewise.
20785 (grub_video_vbe_blit_bitmap): Likewise.
20786 (grub_video_vbe_blit_render_target): Likewise.
20787
83b984de 207882006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
20789
20790 * configure.ac (--with-platform): Properly quote the square
20791 brackets.
20792
5f0413bd 207932006-05-08 Marco Gerards <marco@gnu.org>
20794
20795 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
20796 this...
20797 (kernel_elf_HEADERS): ...to this. Updated all users.
20798 (grubof_symlist.c): Renamed from this...
20799 (kernel_elf_symlist.c): ...to this. Updated all users.
20800 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
20801 (grubof_SOURCES): Renamed from this...
20802 (kernel_elf_SOURCES): ...to this.
20803 (grubof_HEADERS): Renamed from this...
20804 (kernel_elf_HEADERS): ...to this.
20805 (grubof_CFLAGS): Renamed from this...
20806 (kernel_elf_CFLAGS): ...to this.
20807 (grubof_ASFLAGS): Renamed from this...
20808 (kernel_elf_ASFLAGS): ...to this.
20809 (grubof_LDFLAGS): Renamed from this...
20810 (kernel_elf_LDFLAGS): ...to this.
20811
20812 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
20813 this...
20814 (kernel_elf_HEADERS): ...to this. Updated all users.
20815 (grubof_symlist.c): Renamed from this...
20816 (kernel_elf_symlist.c): ...to this. Updated all users.
20817 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
20818 (grubof_SOURCES): Renamed from this...
20819 (kernel_elf_SOURCES): ...to this.
20820 (grubof_HEADERS): Renamed from this...
20821 (kernel_elf_HEADERS): ...to this.
20822 (grubof_CFLAGS): Renamed from this...
20823 (kernel_elf_CFLAGS): ...to this.
20824 (grubof_ASFLAGS): Renamed from this...
20825 (kernel_elf_ASFLAGS): ...to this.
20826 (grubof_LDFLAGS): Renamed from this...
20827 (kernel_elf_LDFLAGS): ...to this.
20828
20829 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
20830 `kernel.elf' instead of `grubof'.
20831
05568c2e 208322006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
20833
20834 Add --with-platform to configure. Use pkglibdir instead of
20835 pkgdatadir. This is reported by Roger Leigh.
20836
20837 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
20838 (host_vendor): Likewise.
20839 (host_os): Likewise.
20840 (pkgdatadir): Likewise.
20841 (platform): New variable.
20842 (pkglibdir): Likewise.
20843 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 20844
05568c2e 20845 * util/i386/pc/grub-install.in (datadir): Removed.
20846 (host_vendor): Likewise.
20847 (host_os): Likewise.
20848 (pkgdatadir): Likewise.
20849 (platform): New variable.
20850 (pkglibdir): Likewise.
20851 Use PKGLIBDIR instead of PKGDATADIR.
20852
20853 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
20854 instead of GRUB_DATADIR.
20855 (main): Likewise.
20856 * util/i386/pc/grub-mkimage.c (usage): Likewise.
20857 (main): Likewise.
20858 * util/i386/efi/grub-mkimage.c (usage): Likewise.
20859 (main): Likewise.
20860
20861 * configure.ac (--with-platform): New option.
20862 Use PLATFORM instead of HOST_VENDOR to specify a platform.
20863
20864 * Makefile.in: Include a makefile based on PLATFORM instead of
20865 HOST_VENDOR.
20866 (pkgdatadir): Not appended by the machine type.
20867 (pkglibdir): Appended by the machine type.
20868 (host_vendor): Removed.
20869 (platform): New variable.
20870 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
20871 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
20872 (uninstall): Likewise.
20873
4e93851c 208742006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
20875
20876 Use the environment context in the menu. Remove the commands
20877 "default" and "timeout", and use variables instead.
f19dbdb7 20878
4e93851c 20879 * normal/menu.c: Include grub/env.h.
20880 (print_entry): Cast TITLE to silence gcc.
20881 (get_timeout): New function.
20882 (set_timeout): Likewise.
20883 (get_entry_number): Likewise.
20884 (run_menu): Use a default entry, a fallback entry and a timeout
20885 in the environment variables "default", "fallback" and
20886 "timeout". Also, tweak the default entry if it is not within the
20887 current menu entries.
20888 (grub_menu_run): Use a fallback entry in the environment variable
20889 "fallback".
20890
20891 * normal/main.c (read_config_file): Do not initialize
20892 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
20893 NEWMENU->TIMEOUT.
20894 (grub_normal_execute): Use a data slot to store the menu.
20895
20896 * include/grub/normal.h (struct grub_menu): Removed default_entry,
20897 fallback_entry and timeout.
20898 (struct grub_menu_list): Removed.
20899 (grub_menu_list_t): Likewise.
20900 (struct grub_context): Likewise.
20901 (grub_context_t): Likewise.
20902 (grub_context_get): Likewise.
20903 (grub_context_get_current_menu): Likewise.
20904 (grub_context_push_menu): Likewise.
20905 (grub_context_pop_menu): Likewise.
20906 (grub_default_init): Likewise.
20907 (grub_default_fini): Likewise.
20908 (grub_timeout_init): Likewise.
20909 (grub_timeout_fini): Likewise.
20910
20911 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
20912 and timeout.mod.
20913 (normal_mod_SOURCES): Removed normal/context.c.
20914
20915 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
20916 commands/default.c, commands/timeout.c and normal/context.c.
20917 (normal_mod_SOURCES): Removed normal/context.c.
20918
20919 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
20920 commands/timeout.c and normal/context.c.
20921 (normal_mod_SOURCES): Removed normal/context.c.
20922
20923 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
20924 commands/default.c, commands/timeout.c and normal/context.c.
20925 (normal_mod_SOURCES): Removed normal/context.c.
20926
20927 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
20928 timeout.mod.
20929 (default_mod_SOURCES): Removed.
20930 (default_mod_CFLAGS): Likewise.
20931 (default_mod_LDFLAGS): Likewise.
20932 (timeout_mod_SOURCES): Removed.
20933 (timeout_mod_CFLAGS): Likewise.
20934 (timeout_mod_LDFLAGS): Likewise.
20935
20936 * DISTLIST: Removed commands/default.c, commands/timeout.c and
20937 normal/context.c.
20938
20939 * commands/default.c: Removed.
20940 * commands/timeout.c: Likewise.
20941 * normal/context.c: Likewise.
20942
1eb9cc1d 209432006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
20944
20945 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
20946
385bd9c1 209472006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
20948
20949 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
20950 "next" to "prev" for readability.
20951 (struct grub_env_sorted_var): New struct.
20952 (grub_env_context): Renamed to ...
20953 (initial_context): ... this.
20954 (grub_env_var_context): Renamed to ...
20955 (current_context): ... this.
20956 (grub_env_find): Look only at CURRENT_CONTEXT.
20957 (grub_env_context_open): Rewritten to copy exported variables from
20958 previous context.
20959 (grub_env_context_close): Rewritten according to the new
20960 scheme. Also, add an assertion to prevent the initial context from
20961 removed.
20962 (grub_env_insert): Removed the code for the sorted list.
20963 (grub_env_remove): Likewise.
20964 (grub_env_export): Simply mark the variable with
20965 GRUB_ENV_VAR_GLOBAL.
20966 (grub_env_set): A cosmetic change for naming consistency.
20967 (grub_env_get): Likewise.
20968 (grub_env_unset): Likewise.
20969 (grub_env_iterate): Rewritten to sort variables within this
20970 function.
20971 (grub_register_variable_hook): Fixed for naming consistency. Call
20972 grub_env_find again, only if NAME is not found at the first time.
20973 (mangle_data_slot_name): New function.
20974 (grub_env_set_data_slot): Likewise.
20975 (grub_env_get_data_slot): Likewise.
20976 (grub_env_unset_data_slot): Likewise.
20977
20978 * include/grub/env.h (grub_env_var_type): New enum.
20979 (GRUB_ENV_VAR_LOCAL): New constant.
20980 (GRUB_ENV_VAR_GLOBAL): Likewise.
20981 (GRUB_ENV_VAR_DATA): Likewise.
20982 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
20983 "type".
20984 (grub_env_set): Replace VAR with NAME for consistency.
20985 (grub_register_variable_hook): Likewise.
20986 (grub_env_export): Specify the name of the argument.
20987 (grub_env_set_data_slot): New prototype.
20988 (grub_env_get_data_slot): Likewise.
20989 (grub_env_unset_data_slot): Likewise.
20990
7f362539 209912006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
20992
20993 Extend the loader so that GRUB can accept a loader which comes
20994 back to GRUB when a loaded image exits. Also, this change adds
20995 support for a chainloader on EFI.
f19dbdb7 20996
7f362539 20997 * term/efi/console.c: Include grub/misc.h.
20998 (grub_console_checkkey): Display a scan code on the top for
20999 debugging. This will be removed once the EFI port gets stable.
21000 Correct the scan code mapping.
21001
21002 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
21003 allocate memory from larger regions, in order to reduce the number
21004 of allocated regions. Otherwise, the MacOSX loader panics.
21005 (filter_memory_map): Avoid less than 1MB for compatibility with
21006 other loaders.
21007 (add_memory_regions): Allocate from the tail of a region, if
21008 possible, to avoid allocating a region near to 1MB, for the MacOSX
21009 loader.
21010
21011 * kern/efi/init.c (grub_efi_set_prefix): Specify
21012 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
21013
21014 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
21015 argument IMAGE_HANDLE and specify it to get a loaded image.
21016 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
21017 grub_efi_get_loaded_image.
fe6b695a 21018 (grub_efi_get_filename): Divide the length by the size of
7f362539 21019 grub_efi_char16_t.
21020 (grub_efi_get_device_path): New function.
21021 (grub_efi_print_device_path): Print End Device Path nodes. Divide
21022 the length by the size of grub_efi_char16_t for a file path device
21023 path node.
21024
21025 * kern/loader.c (grub_loader_noreturn): New variable.
21026 (grub_loader_set): Accept a new argument NORETURN. Set
21027 GRUB_LOADER_NORETURN to NORETURN.
21028 All callers changed.
21029 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
21030 grub_machine_fini.
21031
21032 * include/grub/efi/efi.h (grub_efi_get_device_path): New
21033 prototype.
21034 (grub_efi_get_loaded_image): Take an argument to specify an image
21035 handle.
21036
21037 * include/grub/loader.h (grub_loader_set): Added one more argument
21038 NORETURN.
21039
21040 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
21041 instead of grub_efi_open_protocol.
21042 (grub_efidisk_get_device_name): Likewise.
21043 (grub_efidisk_close): Print a newline.
21044 (grub_efidisk_get_device_handle): Fixed to use
21045 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
21046 GRUB_EFI_DEVICE_PATH_TYPE.
21047
21048 * disk/efi/efidisk.c (device_path_guid): Moved to ...
21049 * kern/efi/efi.c (device_path_guid): ... here.
21050
21051 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
21052 chain.mod.
21053 (kernel_mod_HEADERS): Added efi/disk.h.
21054 (_chain_mod_SOURCES): New variable.
21055 (_chain_mod_CFLAGS): Likewise.
21056 (_chain_mod_LDFLAGS): Likewise.
21057 (chain_mod_SOURCES): Likewise.
21058 (chain_mod_CFLAGS): Likewise.
21059 (chain_mod_LDFLAGS): Likewise.
21060
21061 * DISTLIST: Added include/grub/efi/chainloader.h,
21062 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
21063
21064 * include/grub/efi/chainloader.h: New file.
21065 * loader/efi/chainloader.c: Likewise.
21066 * loader/efi/chainloader_normal.c: Likewise.
21067
c0111d6e 210682006-04-30 Marco Gerards <marco@gnu.org>
21069
21070 * commands/configfile.c (grub_cmd_source): New function.
21071 (GRUB_MOD_INIT): Register the commands `source' and `.'.
21072 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
21073
df5341da 210742006-04-30 Marco Gerards <marco@gnu.org>
21075
21076 * normal/execute.c (grub_script_execute_cmd): Change the return
21077 type to `grub_err_t'. Correctly return the error.
21078 (grub_script_execute_cmdline): In case a command line is not a
21079 command or a function, try to interpret it as an assignment.
21080
f85934bd 210812006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
21082
21083 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
21084 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
21085 skip a node whose name is obviously invalid as UTF-16,
21086 i.e. contains a NUL character. Stop the iteration when the last
21087 directory entry is found. Instead of using the return value of
21088 grub_hfsplus_btree_iterate_node, store the value in RET and use
21089 it, because the iterator can be stopped by the last directory
21090 entry.
21091
8f8a2cf8 210922006-04-30 Marco Gerards <marco@gnu.org>
21093
21094 * include/grub/env.h (grub_env_export): New prototype. Reported
21095 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
21096
a27e84ce 210972006-04-30 Marco Gerards <marco@gnu.org>
21098
21099 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
21100 size of the extents in a catalog file record.
21101
eaef0553 211022006-04-29 Marco Gerards <marco@gnu.org>
21103
21104 * commands/configfile.c (grub_cmd_configfile): Execute the
21105 configfile within its own context.
21106
21107 * include/grub/env.h (grub_env_context_open): New prototype.
21108 (grub_env_context_close): Likewise.
21109
21110 * kern/env.c (grub_env): Removed.
21111 (grub_env_sorted): Likewise.
21112 (grub_env_context): New variable.
21113 (grub_env_var_context): Likewise.
21114 (grub_env_find): Search both the active context and the global
21115 context.
21116 (grub_env_context_open): New function.
21117 (grub_env_context_close): Likewise.
21118 (grub_env_insert): Likewise.
21119 (grub_env_remove): Likewise.
21120 (grub_env_export): Likewise.
21121 (grub_env_set): Changed to use helper functions to avoid code
21122 duplication.
21123 (grub_env_iterate): Rewritten so both the current context and the
21124 global context are being used.
21125
21126 * normal/command.c (export_command): New function.
21127 (grub_command_init): Register the `export' function.
21128
7b455f4d 211292006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
21130
21131 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
21132 explicitly to suppress gcc's warnings.
21133 * fs/fat.c (grub_fat_find_dir): Likewise.
21134 (grub_fat_label): Likewise.
21135 * fs/xfs.c (grub_xfs_read_inode): Likewise.
21136 (grub_xfs_mount): Likewise.
21137 (grub_xfs_label): Likewise.
21138 * fs/affs.c (grub_affs_mount): Likewise.
21139 (grub_affs_label): Likewise.
21140 (grub_affs_iterate_dir): Likewise.
21141 * fs/sfs.c (grub_sfs_mount): Likewise.
21142 (grub_sfs_iterate_dir): Likewise.
21143 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
21144 * fs/hfs.c (grub_hfs_mount): Likewise.
21145 (grub_hfs_cmp_catkeys): Likewise.
21146 (grub_hfs_find_dir): Likewise.
21147 (grub_hfs_dir): Likewise.
21148 (grub_hfs_label): Likewise.
21149 * fs/jfs.c (grub_jfs_mount): Likewise.
21150 (grub_jfs_opendir): Likewise.
21151 (grub_jfs_getent): Likewise.
21152 (grub_jfs_lookup_symlink): Likewise.
21153 (grub_jfs_label): Likewise.
21154 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
21155 (grub_hfsplus_iterate_dir): Likewise.
21156 (grub_hfsplus_btree_iterate_node): Made static.
21157
21158 * util/grub-emu.c (prefix): New variable.
21159 (grub_machine_set_prefix): New function.
21160 (main): Do not set the environment variable "prefix" here. Only
21161 set PREFIX, which is used later by grub_machine_set_prefix.
21162
21163 * include/grub/video.h: Do not include grub/symbol.h.
21164 (grub_video_register): Not exported. This symbol is not defined in
21165 the kernel.
21166 (grub_video_unregister): Likewise.
21167 (grub_video_iterate): Likewise.
21168 (grub_video_setup): Likewise.
21169 (grub_video_restore): Likewise.
21170 (grub_video_get_info): Likewise.
21171 (grub_video_get_blit_format): Likewise.
21172 (grub_video_set_palette): Likewise.
21173 (grub_video_get_palette): Likewise.
21174 (grub_video_set_viewport): Likewise.
21175 (grub_video_get_viewport): Likewise.
21176 (grub_video_map_color): Likewise.
21177 (grub_video_map_rgb): Likewise.
21178 (grub_video_map_rgba): Likewise.
21179 (grub_video_fill_rect): Likewise.
21180 (grub_video_blit_glyph): Likewise.
21181 (grub_video_blit_bitmap): Likewise.
21182 (grub_video_blit_render_target): Likewise.
21183 (grub_video_scroll): Likewise.
21184 (grub_video_swap_buffers): Likewise.
21185 (grub_video_create_render_target): Likewise.
21186 (grub_video_delete_render_target): Likewise.
21187 (grub_video_set_active_render_target): Likewise.
21188
21189 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
21190 Undefined.
21191 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
21192
21193 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
21194 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
21195 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
21196 instead of $(srcdir)/genkernsyms.sh.
21197
21198 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
21199 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
21200 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
21201 instead of $(srcdir)/genkernsyms.sh.
21202
21203 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
21204 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
21205 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
21206 instead of $(srcdir)/genkernsyms.sh.
21207
21208 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
21209 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
21210 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
21211 instead of $(srcdir)/genkernsyms.sh.
21212
21213 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
21214 genkernsyms.sh.
21215
21216 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
21217 genkernsyms.sh.
21218 (gensymlist.sh): New target.
21219 (genkernsyms.sh): Likewise.
21220
21221 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
21222 genkernsyms.sh.in and gensymlist.sh.in.
21223
21224 * genkernsyms.sh: Removed.
21225 * gensymlist.sh: Likewise.
f19dbdb7 21226
7b455f4d 21227 * genkernsyms.sh.in: New file.
21228 * gensymlist.sh.in: Likewise.
21229
1885bb27 212302006-04-25 Hollis Blanchard <hollis@penguinppc.org>
21231
21232 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
21233 clobber "prefix", since we may have already set it manually.
21234
71538dff 212352006-04-25 Hollis Blanchard <hollis@penguinppc.org>
21236
21237 * kern/misc.c (abort): New alias for grub_abort.
21238
2965c7cc 212392006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
21240
21241 A new machine-specific function "grub_machine_set_prefix" is
21242 defined. This is called after loading modules, so that a prefix
21243 initialization can use modules. Also, this change adds an
21244 intensive debugging feature for the memory manager via the
21245 configure option "--enable-mm-debug".
f19dbdb7 21246
2965c7cc 21247 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
21248 PART.LEN.
21249
21250 * kern/sparc64/ieee1275/init.c (abort): Removed.
21251 (grub_stop): Likewise.
21252 (grub_exit): New function.
21253 (grub_set_prefix): Renamed to ...
21254 (grub_machine_set_prefix): ... this.
21255 (grub_machine_init): Do not call grub_set_prefix.
21256
21257 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
21258 (grub_machine_set_prefix): ... this.
21259 (grub_machine_init): Do not call grub_set_prefix.
21260
21261 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
21262 (grub_machine_init): Do not set the prefix here.
21263
21264 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
21265
21266 * kern/efi/init.c: Include grub/mm.h.
21267 (grub_efi_set_prefix): New function.
21268
21269 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
21270 (grub_efi_get_filename): New function.
21271 (grub_print_device_path): Renamed to ...
21272 (grub_efi_print_device_path): ... this.
21273
21274 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
21275 [MM_DEBUG] (grub_realloc): Likewise.
21276 [MM_DEBUG] (grub_free): Likewise.
21277 [MM_DEBUG] (grub_memalign): Likewise.
21278 [MM_DEBUG] (grub_mm_debug): New variable.
21279 [MM_DEBUG] (grub_debug_malloc): New function.
21280 [MM_DEBUG] (grub_debug_free): New function.
21281 [MM_DEBUG] (grub_debug_realloc): New function.
21282 [MM_DEBUG] (grub_debug_memalign): New function.
21283
21284 * kern/misc.c (grub_abort): Print a newline to distinguish
21285 the message.
21286
21287 * kern/main.c (grub_main): Call grub_machine_set_prefix and
21288 grub_set_root_dev after loading modules. This is necessary when
21289 setting a prefix depends on modules.
21290
21291 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
21292 (grub_efi_print_device_path): ... this.
21293 (grub_efi_get_filename): New prototype.
21294 (grub_efi_set_prefix): Likewise.
21295
21296 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
21297 and grub/disk.h.
21298 (grub_efidisk_get_device_handle): New prototype.
21299 (grub_efidisk_get_device_name): Likewise.
21300
21301 * include/grub/mm.h: Include config.h.
21302 (MM_DEBUG): Removed.
21303 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
21304 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
21305 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
21306 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
21307 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
21308 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
21309 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
21310 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
21311 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
21312
21313 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
21314
21315 * disk/efi/efidisk.c: Include grub/partition.h.
21316 (iterate_child_devices): New function.
21317 (add_device): First, compare only last device path nodes, so that
21318 devices are sorted by the types.
21319 (grub_efidisk_get_device_handle): New function.
21320 (grub_efidisk_get_device_name): Likewise.
21321
21322 * configure.ac (--enable-mm-debug): New option to enable the
21323 memory manager debugging feature. This makes the binary much
21324 bigger, so is disabled by default.
21325
9cacaa17 213262006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
21327
21328 Use grub_abort instead of grub_stop, and grub_exit must be
21329 define in each architecture now. Also, this change adds support
21330 for EFI disks.
f19dbdb7 21331
9cacaa17 21332 * util/i386/pc/grub-probefs.c: Include grub/term.h.
21333 (grub_getkey): New function.
21334 (grub_term_get_current): Likewise.
21335
21336 * util/i386/pc/grub-setup.c: Include grub/term.h.
21337 (grub_getkey): New function.
21338 (grub_term_get_current): Likewise.
21339
21340 * util/misc.c (grub_stop): Renamed to ...
21341 (grub_exit): ... this.
21342
21343 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
21344 (grub_exit): ... this.
21345 (grub_machine_init): Use grub_abort instead of abort.
21346 (grub_stop): Removed.
21347
21348 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
21349 abort.
21350
21351 * kern/i386/pc/startup.S (grub_exit): New function.
21352 (cold_reboot): New label.
21353
21354 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
21355 (grub_efi_init): Call grub_efidisk_init.
21356 (grub_efi_fini): Call grub_efidisk_fini.
21357
21358 * kern/efi/efi.c: Include grub/mm.h.
21359 (grub_efi_console_control_guid): Renamed to ...
21360 (console_control_guid): ... this.
21361 (grub_efi_loaded_image_guid): Renamed to ...
21362 (loaded_image_guid): ... this.
21363 (grub_efi_locate_handle): New function.
21364 (grub_efi_open_protocol): Likewise.
21365 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
21366 GRUB_EFI_CONSOLE_CONTROL_GUID.
21367 (grub_efi_exit): Removed.
21368 (grub_stop): Likewise.
21369 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
21370 (grub_exit): New function.
21371 (grub_print_device_path): Likewise.
21372
21373 * kern/rescue.c (grub_rescue_cmd_exit): New function.
21374 (grub_enter_rescue_mode): Register "exit".
21375
21376 * kern/misc.c (grub_real_dprintf): A cosmetic change.
21377 (grub_abort): New function.
21378
21379 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
21380
21381 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
21382
21383 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
21384
21385 * include/grub/efi/efi.h (grub_efi_exit): Removed.
21386 (grub_print_device_path): New prototype.
21387 (grub_efi_locate_handle): Likewise.
21388 (grub_efi_open_protocol): Likewise.
21389
21390 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
21391 * disk/efi/efidisk.c: Likewise.
21392
21393 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
21394
21395 * include/grub/efi/console_control.h
21396 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
21397
21398 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
21399 last 8 bytes as an array.
21400 (GRUB_EFI_DISK_IO_GUID): New macro.
21401 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
21402 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
21403 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
21404 grub_uint8_t.
21405 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
21406 (struct grub_efi_device_path): Rename the member "sub_type" to
21407 "subtype".
21408 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
21409 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
21410 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
21411 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
21412 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
21413 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
21414 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
21415 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
21416 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
21417 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
21418 (struct grub_efi_pci_device_path): New structure.
21419 (grub_efi_pci_device_path_t): New type.
21420 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
21421 (struct grub_efi_pccard_device_path): New structure.
21422 (grub_efi_pccard_device_path_t): New type.
21423 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
21424 (struct grub_efi_memory_mapped_device_path): New structure.
21425 (grub_efi_memory_mapped_device_path_t): New type.
21426 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
21427 (struct grub_efi_vendor_device_path): New structure.
21428 (grub_efi_vendor_device_path_t): New type.
21429 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
21430 (struct grub_efi_controller_device_path): New structure.
21431 (grub_efi_controller_device_path_t): New type.
21432 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
21433 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
21434 (struct grub_efi_acpi_device_path): New structure.
21435 (grub_efi_acpi_device_path_t): New type.
21436 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
21437 (struct grub_efi_expanded_acpi_device_path): New structure.
21438 (grub_efi_expanded_acpi_device_path_t): New type.
21439 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
21440 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
21441 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
21442 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
21443 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
21444 (struct grub_efi_atapi_device_path): New structure.
21445 (grub_efi_atapi_device_path_t): New type.
21446 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
21447 (struct grub_efi_fibre_channel_device_path): New structure.
21448 (grub_efi_fibre_channel_device_path_t): New type.
21449 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
21450 (struct grub_efi_1394_device_path): New structure.
21451 (grub_efi_1394_device_path_t): New type.
21452 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
21453 (struct grub_efi_usb_device_path): New structure.
21454 (grub_efi_usb_device_path_t): New type.
21455 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
21456 (struct grub_efi_usb_class_device_path): New structure.
21457 (grub_efi_usb_class_device_path_t): New type.
21458 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
21459 (struct grub_efi_i2o_device_path): New structure.
21460 (grub_efi_i2o_device_path_t): New type.
21461 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
21462 (struct grub_efi_mac_address_device_path): New structure.
21463 (grub_efi_mac_address_device_path_t): New type.
21464 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
21465 (struct grub_efi_ipv4_device_path): New structure.
21466 (grub_efi_ipv4_device_path_t): New type.
21467 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
21468 (struct grub_efi_ipv6_device_path): New structure.
21469 (grub_efi_ipv6_device_path_t): New type.
21470 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
21471 (struct grub_efi_infiniband_device_path): New structure.
21472 (grub_efi_infiniband_device_path_t): New type.
21473 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
21474 (struct grub_efi_uart_device_path): New structure.
21475 (grub_efi_uart_device_path_t): New type.
21476 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
21477 (struct grub_efi_vendor_messaging_device_path): New structure.
21478 (grub_efi_vendor_messaging_device_path_t): New type.
21479 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
21480 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
21481 (struct grub_efi_hard_drive_device_path): New structure.
21482 (grub_efi_hard_drive_device_path_t): New type.
21483 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
21484 (struct grub_efi_cdrom_device_path): New structure.
21485 (grub_efi_cdrom_device_path_t): New type.
21486 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
21487 (struct grub_efi_vendor_media_device_path): New structure.
21488 (grub_efi_vendor_media_device_path_t): New type.
21489 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
21490 (struct grub_efi_file_path_device_path): New structure.
21491 (grub_efi_file_path_device_path_t): New type.
21492 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
21493 (struct grub_efi_protocol_device_path): New structure.
21494 (grub_efi_protocol_device_path_t): New type.
21495 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
21496 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
21497 (struct grub_efi_bios_device_path): New structure.
21498 (grub_efi_bios_device_path_t): New type.
21499 (struct grub_efi_disk_io): New structure.
21500 (grub_efi_disk_io_t): New type.
21501 (struct grub_efi_block_io_media): New structure.
21502 (grub_efi_block_io_media_t): New type.
21503 (struct grub_efi_block_io): New structure.
21504 (grub_efi_block_io_t): New type.
21505
21506 * include/grub/misc.h (grub_stop): Removed.
21507 (grub_exit): New prototype.
21508 (grub_abort): Likewise.
21509
21510 * include/grub/disk.h (enum grub_disk_dev_id): Added
21511 GRUB_DISK_DEVICE_EFIDISK_ID.
21512
21513 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
21514 disk/efi/efidisk.c.
21515 (kernel_syms.lst): Remove the target if an error occurs.
21516
49986a9f 215172006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
21518
21519 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
21520 as it was simply too buggy.
21521
970d3b8a 215222006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
21523
21524 * kern/misc.c (grub_lltoa): New function.
21525 (grub_vsprintf): Added support for the long long suffix,
21526 i.e. "ll".
21527
ff04ec24 215282006-04-20 Hollis Blanchard <hollis@penguinppc.org>
21529
21530 * Makefile.in (LDFLAGS): Add variable.
21531 (LD): Remove variable.
21532 * configure.ac: Add -m32 to LDFLAGS.
21533 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
21534 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
21535 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
21536 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
21537 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
21538 variables.
21539 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
21540 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
21541 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
21542
37e5e1a4 215432006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
21544
21545 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
21546 length for unknown glyph.
21547
c352d8dd 215482006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
21549
2eab1c0d 21550 Add support for pre-loaded modules into the EFI port.
f19dbdb7 21551
2eab1c0d 21552 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
21553 completely. Accept one more argument DIR. The caller has changed.
21554
21555 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
21556
21557 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
21558 (grub_efi_loaded_image_guid): New variable.
21559 (grub_efi_get_loaded_image): New function.
21560 (grub_arch_modules_addr): Likewise.
21561
21562 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
21563 prototype.
21564
21565 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
21566 (struct grub_efi_loaded_image): New structure.
21567 (grub_efi_loaded_image_t): New type.
21568
215692006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 21570
c352d8dd 21571 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
21572 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
21573 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
21574
6d01d6b4 215752006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
21576
21577 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
21578
976a4ea0 215792006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
21580
21581 * DISTLIST: Added include/grub/efi/console.h,
21582 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
21583 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
21584
21585 * include/grub/efi/console.h: New file.
21586 * include/grub/efi/time.h: Likewise.
21587 * include/grub/i386/efi/kernel.h: Likewise.
21588 * kern/efi/init.c: Likewise.
21589 * kern/efi/mm.c: Likewise.
21590 * term/efi/console.c: Likewise.
f19dbdb7 21591
976a4ea0 21592 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
21593 (grub_stop): Removed.
21594 (grub_get_rtc): Likewise.
21595 (grub_machine_init): Simply call grub_efi_init.
21596 (grub_machine_fini): Call grub_efi_fini.
21597
21598 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
21599 (grub_efi_output_string): Removed.
21600 (grub_efi_stall): New function.
21601 (grub_stop): Likewise.
21602 (grub_get_rtc): Likewise.
21603
21604 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
21605 (grub_efi_stall): New prototype.
21606 (grub_efi_allocate_pages): Likewise.
21607 (grub_efi_free_pages): Likewise.
21608 (grub_efi_get_memory_map): Likewise.
21609 (grub_efi_mm_init): Likewise.
21610 (grub_efi_mm_fini): Likewise.
21611 (grub_efi_init): Likewise.
21612 (grub_efi_fini): Likewise.
21613
21614 * include/grub/i386/efi/time.h: Do not include
21615 grub/symbol.h. Include grub/efi/time.h.
21616 (GRUB_TICKS_PER_SECOND): Removed.
21617 (grub_get_rtc): Likewise.
21618
21619 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
21620 Added padding. The EFI spec is buggy.
21621 (GRUB_EFI_BLACK): New macro.
21622 (GRUB_EFI_BLUE): Likewise.
21623 (GRUB_EFI_GREEN): Likewise.
21624 (GRUB_EFI_CYAN): Likewise.
21625 (GRUB_EFI_RED): Likewise.
21626 (GRUB_EFI_MAGENTA): Likewise.
21627 (GRUB_EFI_BROWN): Likewise.
21628 (GRUB_EFI_LIGHTGRAY): Likewise.
21629 (GRUB_EFI_BRIGHT): Likewise.
21630 (GRUB_EFI_DARKGRAY): Likewise.
21631 (GRUB_EFI_LIGHTBLUE): Likewise.
21632 (GRUB_EFI_LIGHTGREEN): Likewise.
21633 (GRUB_EFI_LIGHTCYAN): Likewise.
21634 (GRUB_EFI_LIGHTRED): Likewise.
21635 (GRUB_EFI_LIGHTMAGENTA): Likewise.
21636 (GRUB_EFI_YELLOW): Likewise.
21637 (GRUB_EFI_WHITE): Likewise.
21638 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
21639 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
21640 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
21641 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
21642 (GRUB_EFI_BACKGROUND_RED): Likewise.
21643 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
21644 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
21645 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
21646 (GRUB_EFI_TEXT_ATTR): Likewise.
21647
21648 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
21649 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
21650 (kernel_mod_HEADERS): Added efi/time.h.
21651
83709125 216522006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
21653
21654 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
21655 include/grub/efi/api.h, include/grub/efi/console_control.h,
21656 include/grub/efi/efi.h, include/grub/efi/pe32.h,
21657 include/grub/i386/efi/time.h, kern/efi/efi.c,
21658 kern/i386/efi/init.c, kern/i386/efi/startup.S,
21659 and util/i386/efi/grub-mkimage.c.
21660
21661 * Makefile.in (RMKFILES): Added i386-efi.rmk.
21662
21663 * genmk.rb (PModule#rule): Do not export symbols if
21664 #{prefix}_EXPORTS is set to "no".
21665
21666 * conf/i386-efi.mk: New file.
21667 * conf/i386-efi.rmk: Likewise.
21668 * include/grub/efi/api.h: Likewise.
21669 * include/grub/efi/console_control.h: Likewise.
21670 * include/grub/efi/efi.h: Likewise.
21671 * include/grub/efi/pe32.h: Likewise.
21672 * include/grub/i386/efi/time.h: Likewise.
21673 * kern/efi/efi.c: Likewise.
21674 * kern/i386/efi/init.c: Likewise.
21675 * kern/i386/efi/startup.S: Likewise.
21676 * util/i386/efi/grub-mkimage.c: Likewise.
21677
216782006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 21679
21680 * include/grub/script.h: Include <grub/parser.h> and
21681 "grub_script.tab.h".
21682 (struct grub_lexer_param): New struct.
21683 (struct grub_parser_param): Likewise.
21684 (grub_script_create_arglist): Pass the state in an argument.
21685 (grub_script_add_arglist): Likewise.
21686 (grub_script_create_cmdline): Likewise.
21687 (grub_script_create_cmdblock): Likewise.
21688 (grub_script_create_cmdif): Likewise.
21689 (grub_script_create_cmdmenu): Likewise.
21690 (grub_script_add_cmd): Likewise.
21691 (grub_script_arg_add): Likewise.
21692 (grub_script_lexer_ref): Likewise.
21693 (grub_script_lexer_deref): Likewise.
21694 (grub_script_lexer_record_start): Likewise.
21695 (grub_script_lexer_record_stop): Likewise.
21696 (grub_script_mem_record): Likewise.
21697 (grub_script_mem_record_stop): Likewise.
21698 (grub_script_malloc): Likewise.
21699 (grub_script_yylex): Likewise.
21700 (grub_script_yyparse): Likewise.
21701 (grub_script_yyerror): Likewise.
21702 (grub_script_yylex): Likewise.
21703 (grub_script_lexer_init): Return the state.
21704
21705 * normal/lexer.c (grub_script_lexer_state): Removed variable.
21706 (grub_script_lexer_done): Likewise.
21707 (grub_script_lexer_getline): Likewise.
21708 (grub_script_lexer_refs): Likewise.
21709 (script): Likewise.
21710 (newscript): Likewise.
21711 (record): Likewise.
21712 (recording): Likewise.
21713 (recordpos): Likewise.
21714 (recordlen): Likewise.
21715 (grub_script_lexer_init): Return the state instead of setting
21716 global variables.
21717 (grub_script_lexer_ref): Use the newly added argument for state
21718 instead of globals.
21719 (grub_script_lexer_deref): Likewise.
21720 (grub_script_lexer_record_start): Likewise.
21721 (grub_script_lexer_record_stop): Likewise.
21722 (recordchar): Likewise.
21723 (nextchar): Likewise.
21724 (grub_script_yylex2): Likewise.
21725 (grub_script_yylex): Likewise.
21726 (grub_script_yyerror): Likewise.
21727
21728 * normal/parser.y (func_mem): Removed variable.
21729 (menu_entry): Likewise.
21730 (err): Likewise.
21731 (%lex-param): New parser option.
21732 (%parse-param): Likewise.
21733 (script): Always return the AST.
21734 (argument): Pass the state around.
21735 (arguments): Likewise.
21736 (grubcmd): Likewise.
21737 (commands): Likewise.
21738 (function): Likewise.
21739 (menuentry): Likewise.
21740 (if_statement): Likewise.
21741 (if): Likewise.
21742
21743 * normal/script.c (grub_script_memused): Removed variable.
21744 (grub_script_parsed): Likewise.
21745 (grub_script_malloc): Added a state argument. Use that instead of
21746 global variables.
21747 (grub_script_mem_record): Likewise.
21748 (grub_script_mem_record_stop): Likewise.
21749 (grub_script_arg_add): Likewise.
21750 (grub_script_add_arglist): Likewise.
21751 (grub_script_create_cmdline): Likewise.
21752 (grub_script_create_cmdif): Likewise.
21753 (grub_script_create_cmdmenu): Likewise.
21754 (grub_script_add_cmd): Likewise.
21755 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 21756
e2a8c904 217572006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 21758
21759 * normal/command.c (grub_command_init): Remove the title command.
21760
21761 * normal/lexer.c (grub_script_yylex): Renamed from this...
21762 (grub_script_yylex2): ... to this.
21763 (grub_script_yylex): New function. Temporary
21764 introduced to filter some tokens.
21765 (grub_script_yyerror): Print a newline.
21766
21767 * normal/main.c (read_config_file): Output information about the
21768 lines that contain errors. Wait for a key after all lines have
21769 been processed. Don't return an empty menu.
21770
21771 * normal/parser.y (func_mem): Don't initialize.
21772 (menu_entry): Likewise.
21773 (err): New variable.
21774 (script): Don't return anything when an error was encountered.
21775 (ws, returns): Removed rules.
21776 (argument): Disabled concatenated variable support.
21777 (arguments): Remove explicit separators.
21778 (grubcmd): Likewise.
21779 (function): Likewise.
21780 (menuentry): Likewise.
21781 (if): Likewise.
21782 (commands): Likewise. Add error handling.
21783
21784 * normal/script.c (grub_script_create_cmdline): If
21785 `grub_script_parsed' is 0, assume the parser encountered an error.
21786
c9a86192 217872006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
21788
21789 * configure.ac: Add support for EFI. Fix the typo
21790 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
21791
70f3b243 217922006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
21793
21794 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
21795 foreign multibyte characters should be shown correctly.
21796
65f201ad 217972006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
21798
21799 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
21800 calculation.
21801 (read_config_file): Made it to close file before returning.
21802
b4b93674 218032006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
21804
21805 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
21806 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
21807 video/i386/pc/vbefill.c.
21808
21809 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
21810 video/i386/pc/vbefill.c.
21811
21812 * include/grub/video.h (grub_video_blit_format): New enum.
21813 (grub_video_mode_info): Added new member blit_format.
21814 (grub_video_get_blit_format): New function prototype.
21815
21816 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
21817 function prototype.
21818 (grub_video_vbe_map_rgb): Likewise.
21819 (grub_video_vbe_unmap_color): Likewise.
21820
21821 * include/grub/i386/pc/vbeblit.h: New file.
21822
21823 * include/grub/i386/pc/vbefill.h: New file.
21824
21825 * video/video.c (grub_video_get_blit_format): New function.
21826 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
21827 (grub_video_vbe_map_rgb): Likewise.
21828 (grub_video_vbe_unmap_color): Likewise.
21829
21830 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
21831 optimized fills.
21832 (grub_video_vbe_blit_render_target): Changed to use more optimized
21833 blits.
21834 (grub_video_vbe_setup): Added detection for optimized settings.
21835 (grub_video_vbe_create_render_target): Likewise.
21836
21837 * video/i386/pc/vbeblit.c: New file.
21838
21839 * video/i386/pc/vbefill.c: New file.
21840
c2379b9c 218412006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
21842
21843 * font/manager.c (grub_font_get_glyph): Removed font fixup from
21844 here...
21845
21846 * util/unifont2pff.rb: ... and moved it to here. Improved argument
21847 parsing to support both hex and dec ranges. If filename was missing
21848 show usage information.
21849
bd0d7896 218502006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
21851
21852 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
21853 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
21854
21855 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
21856 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
21857 (video_mod_SOURCES): Added.
21858 (video_mod_CFLAGS): Likewise.
21859 (video_mod_LDFLAGS): Likewise.
21860 (gfxterm_mod_SOURCES): Likewise.
21861 (gfxterm_mod_CFLAGS): Likewise.
21862 (gfxterm_mod_LDFLAGS): Likewise.
21863 (videotest_mod_SOURCES): Likewise.
21864 (videotest_mod_CFLAGS): Likewise.
21865 (videotest_mod_LDFLAGS): Likewise.
21866 (vesafb_mod_SOURCES): Removed.
21867 (vesafb_mod_CFLAGS): Likewise.
21868 (vesafb_mod_LDFLAGS): Likewise.
21869 (vga_mod_SOURCES): Likewise.
21870 (vga_mod_CFLAGS): Likewise.
21871 (vga_mod_LDFLAGS): Likewise.
21872
21873 * commands/videotest.c: New file.
21874
21875 * font/manager.c (fill_with_default_glyph): Modified to use
21876 grub_font_glyph.
21877 (grub_font_get_glyph): Likewise.
21878 (fontmanager): Renamed from this...
21879 (font_manager): ... to this.
21880
21881 * include/grub/font.h (grub_font_glyph): Added new structure.
21882 (grub_font_get_glyph): Modified to use grub_font_glyph.
21883
21884 * include/grub/misc.h (grub_abs): Added as inline function.
21885
21886 * include/grub/video.h: New file.
21887
21888 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
21889 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
21890 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
21891 (grub_vbe_get_controller_info): Renamed from this...
21892 (grub_vbe_bios_get_controller_info): ... to this.
21893 (grub_vbe_get_mode_info): Renamed from this...
21894 (grub_vbe_bios_get_mode_info): ... to this.
21895 (grub_vbe_set_mode): Renamed from this...
21896 (grub_vbe_bios_set_mode): ... to this.
21897 (grub_vbe_get_mode): Renamed from this...
21898 (grub_vbe_bios_get_mode): ... to this.
21899 (grub_vbe_set_memory_window): Renamed from this...
21900 (grub_vbe_bios_set_memory_window): ... to this.
21901 (grub_vbe_get_memory_window): Renamed from this...
21902 (grub_vbe_bios_get_memory_window): ... to this.
21903 (grub_vbe_set_scanline_length): Renamed from this...
21904 (grub_vbe_set_scanline_length): ... to this.
21905 (grub_vbe_get_scanline_length): Renamed from this...
21906 (grub_vbe_bios_get_scanline_length): ... to this.
21907 (grub_vbe_set_display_start): Renamed from this...
21908 (grub_vbe_bios_set_display_start): ... to this.
21909 (grub_vbe_get_display_start): Renamed from this...
21910 (grub_vbe_bios_get_display_start): ... to this.
21911 (grub_vbe_set_palette_data): Renamed from this...
21912 (grub_vbe_bios_set_palette_data): ... to this.
21913 (grub_vbe_set_pixel_rgb): Removed.
21914 (grub_vbe_set_pixel_index): Likewise.
21915
21916 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
21917 from this...
21918 (grub_vbe_bios_get_controller_info): ... to this.
21919 (grub_vbe_get_mode_info): Renamed from this...
21920 (grub_vbe_bios_get_mode_info): ... to this.
21921 (grub_vbe_set_mode): Renamed from this...
21922 (grub_vbe_bios_set_mode): ... to this.
21923 (grub_vbe_get_mode): Renamed from this...
21924 (grub_vbe_bios_get_mode): ... to this.
21925 (grub_vbe_set_memory_window): Renamed from this...
21926 (grub_vbe_bios_set_memory_window): ... to this.
21927 (grub_vbe_get_memory_window): Renamed from this...
21928 (grub_vbe_bios_get_memory_window): ... to this.
21929 (grub_vbe_set_scanline_length): Renamed from this...
21930 (grub_vbe_set_scanline_length): ... to this.
21931 (grub_vbe_get_scanline_length): Renamed from this...
21932 (grub_vbe_bios_get_scanline_length): ... to this.
21933 (grub_vbe_set_display_start): Renamed from this...
21934 (grub_vbe_bios_set_display_start): ... to this.
21935 (grub_vbe_get_display_start): Renamed from this...
21936 (grub_vbe_bios_get_display_start): ... to this.
21937 (grub_vbe_set_palette_data): Renamed from this...
21938 (grub_vbe_bios_set_palette_data): ... to this.
21939 (grub_vbe_bios_get_controller_info): Fixed problem with registers
21940 getting corrupted after calling it. Added more pushes and pops.
21941 (grub_vbe_bios_set_mode): Likewise.
21942 (grub_vbe_bios_get_mode): Likewise.
21943 (grub_vbe_bios_get_memory_window): Likewise.
21944 (grub_vbe_bios_set_scanline_length): Likewise.
21945 (grub_vbe_bios_get_scanline_length): Likewise.
21946 (grub_vbe_bios_get_display_start): Likewise.
21947 (grub_vbe_bios_set_palette_data): Likewise.
21948
21949 * normal/cmdline.c (cl_set_pos): Refresh the screen.
21950 (cl_insert): Likewise.
21951 (cl_delete): Likewise.
21952
21953 * term/gfxterm.c: New file.
21954
21955 * term/i386/pc/vesafb.c: Removed file.
21956
21957 * video/video.c: New file.
21958
21959 * video/i386/pc/vbe.c (real2pm): Added new function.
21960 (grub_video_vbe_draw_pixel): Likewise.
21961 (grub_video_vbe_get_video_ptr): Likewise.
21962 (grub_video_vbe_get_pixel): Likewise
21963 (grub_video_vbe_init): Likewise.
21964 (grub_video_vbe_fini): Likewise.
21965 (grub_video_vbe_setup): Likewise.
21966 (grub_video_vbe_get_info): Likewise.
21967 (grub_video_vbe_set_palette): Likewise.
21968 (grub_video_vbe_get_palette): Likewise.
21969 (grub_video_vbe_set_viewport): Likewise.
21970 (grub_video_vbe_get_viewport): Likewise.
21971 (grub_video_vbe_map_color): Likewise.
21972 (grub_video_vbe_map_rgb): Likewise.
21973 (grub_video_vbe_map_rgba): Likewise.
21974 (grub_video_vbe_unmap_color): Likewise.
21975 (grub_video_vbe_fill_rect): Likewise.
21976 (grub_video_vbe_blit_glyph): Likewise.
21977 (grub_video_vbe_blit_bitmap): Likewise.
21978 (grub_video_vbe_blit_render_target): Likewise.
21979 (grub_video_vbe_scroll): Likewise.
21980 (grub_video_vbe_swap_buffers): Likewise.
21981 (grub_video_vbe_create_render_target): Likewise.
21982 (grub_video_vbe_delete_render_target): Likewise.
21983 (grub_video_vbe_set_active_render_target): Likewise.
21984 (grub_vbe_set_pixel_rgb): Remove function.
21985 (grub_vbe_set_pixel_index): Likewise.
21986 (index_color_mode): Remove static variable.
21987 (active_mode): Likewise.
21988 (framebuffer): Likewise.
21989 (bytes_per_scan_line): Likewise.
21990 (grub_video_vbe_adapter): Added new static variable.
21991 (framebuffer): Likewise.
21992 (render_target): Likewise.
21993 (initial_mode): Likewise.
21994 (mode_in_use): Likewise.
21995 (mode_list): Likewise.
21996
5f97350b 219972006-03-10 Marco Gerards <marco@gnu.org>
21998
21999 * configure.ac (AC_INIT): Bumped to 1.93.
22000
22001 * DISTLIST: Added `include/grub/hfs.h'.
22002
a3c5c6f8 220032006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
22004
22005 * boot/i386/pc/boot.S (general_error): Before looping, try INT
22006 18H, which might help the BIOS falling back to next boot media.
22007
6de53d26 220082006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
22009
22010 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
22011 Poe Chen <poe.poechen@gmail.com>.
22012
77c4a393 220132006-01-17 Marco Gerards <marco@gnu.org>
22014
22015 * include/grub/normal.h: Include <grub/script.h>.
22016 (grub_command_list): Removed struct.
22017 (grub_command_list_t): Removed type.
22018 (grub_menu_entry): Remove members `num' and `command_list'. Add
22019 members `commands' and `sourcecode'.
22020 * include/grub/script.h: Add inclusion guards.
22021 (grub_script_cmd_menuentry): New struct.
22022 (grub_script_execute_menuentry): New prototype.
22023 (grub_script_lexer_record_start): Likewise.
22024 (grub_script_lexer_record_stop): Likewise.
22025 * normal/execute.c (grub_script_execute_menuentry): New function.
22026 * normal/lexer.c (record, recording, recordpos, recordlen): New
22027 variables.
22028 (grub_script_lexer_record_start): New function.
22029 (grub_script_lexer_record_stop): Likewise.
22030 (recordchar): Likewise.
22031 (nextchar): Likewise.
22032 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
22033 2048 as the buffer size. Add the tokens `menuentry' and `@'.
22034 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
22035 (current_menu): New variable.
22036 (free_menu): Mainly rewritten.
22037 (grub_normal_menu_addentry): New function.
22038 (read_config_file): Rewritten.
22039 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 22040 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 22041 the menu entry.
22042 (run): Mainly rewritten.
22043 * normal/parser.y (menu_entry): New variable.
22044 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
22045 (menuentry): New rule.
22046 (command): Add `menuentry'.
22047 (if_statement): Allow additional returns before `fi'.
22048 * normal/script.c (grub_script_create_cmdmenu): New function.
22049
144f1f98 220502006-01-03 Marco Gerards <marco@gnu.org>
22051
22052 * INSTALL: GNU Bison is required.
22053 * configure.ac: Rewritten the test to detect Bison.
22054 * Makefile.in (YACC): New variable. Reported by Xun Sun
22055 <xun.sun.cn@gmail.com>.
22056
af4b2d89 220572006-01-03 Marco Gerards <marco@gnu.org>
22058
22059 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
22060 the HFS+ filesystem to filesystem blocks.
22061 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
22062 GCC warning is silenced.
22063
15643b71 220642006-01-03 Marco Gerards <marco@gnu.org>
22065
22066 * partmap/apple.c (apple_partition_map_iterate): Convert the data
22067 read from disk from big endian to host byte order.
22068
00905879 220692006-01-03 Hollis Blanchard <hollis@penguinppc.org>
22070
22071 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
22072 documentation.
22073 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
22074 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
22075 embedded HFS+ filesystem.
22076 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
22077 (grub_hfs_sblock): Move from here...
22078 * include/grub/hfs.h: To here... New file.
22079 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
22080 documentation.
22081 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
22082 New macros.
22083 (grub_hfsplus_volheader): Change type of member `magic' to
22084 `grub_uint16_t'.
22085 (grub_hfsplus_data): Add new member `embedded_offset'.
22086 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
22087 returned block.
22088 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
22089 Calculate the offset.
22090
8899bc3e 220912005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
22092
22093 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
22094 Removed.
22095 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
22096
ae8c0277 220972005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
22098
22099 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
22100 ENV->NAME is NULL after allocating ENV->VALUE.
22101
07084456 221022005-12-25 Marco Gerards <marco@gnu.org>
22103
22104 * kern/env.c (grub_env_set): Rewritten the error handling code.
22105
4750f5f1 221062005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
22107
22108 * geninit.sh: Made more robust, and more portable.
22109
50214199 221102005-12-25 Marco Gerards <marco@gnu.org>
22111
22112 Add support for Apple HFS+ filesystems.
f19dbdb7 22113
50214199 22114 * fs/hfsplus.c: New file.
22115
22116 * DISTLIST: Added `fs/hfsplus.c'.
22117
22118 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
22119 (hfsplus_mod_SOURCES): New variable.
22120 (hfsplus_mod_CFLAGS): Likewise.
22121 (hfsplus_mod_LDFLAGS): Likewise.
22122 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
22123 (grub_setup_SOURCES): Likewise.
22124 (grub_mkdevicemap_SOURCES): Likewise.
22125 (grub_emu_SOURCES): Likewise.
22126 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
22127
22128 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
22129
22130 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
22131
befaed6c 221322005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
22133
22134 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
22135 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
22136 include/grub/parser.h, include/grub/script.h, kern/parser.c,
22137 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
22138 normal/lexer.c, normal/parser.y, normal/script.c, and
22139 partmap/gpt.c.
22140 Removed kern/sparc64/cache.c.
22141
22142 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
22143 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
22144 grub_emu_init.c.
22145
22146 * configure.ac (AC_INIT): Bumped to 1.92.
22147
6a124103 221482005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
22149
22150 * kern/err.c (grub_error_push): Added new function to support error
22151 stacks.
22152 (grub_error_pop): Likewise.
22153 (grub_error_stack_items): New local variable to support error stacks.
22154 (grub_error_stack_pos): Likewise.
22155 (grub_error_stack_assert): Likewise.
22156 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
22157 stack depth.
22158 (grub_print_error): Added support to print errors from error stack.
22159
22160 * include/grub/err.h (grub_error_push): Added function prototype.
22161 (grub_error_pop): Likewise.
22162
be973c1b 221632005-12-09 Hollis Blanchard <hollis@penguinppc.org>
22164
22165 * configure.ac: Accept `powerpc64' as host_cpu.
22166 (amd64): Rename to `biarch32'.
22167
22168 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
22169 non-cacheline-aligned addresses.
22170
22171 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
22172 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
22173 if `size' is non-zero.
22174
b04216ab 221752005-12-03 Marco Gerards <mgerards@xs4all.nl>
22176
22177 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
22178 and `cd' to make sure the filename is not prefixed with a
22179 directory name.
22180 (pkgdata_MODULES): Add `gpt.mod'.
22181 (gpt_mod_SOURCES): New variable.
22182 (gpt_mod_CFLAGS): Likewise.
22183 (gpt_mod_LDFLAGS): Likewise.
22184
22185 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
22186
22187 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
22188 New macro.
22189
22190 * partmap/gpt.c: New file.
22191
22192 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
22193 GPT partition map is detected.
22194
41730ed9 221952005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
22196
22197 * commands/i386/pc/play.c: New file.
22198 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
22199 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
22200 macros.
f19dbdb7 22201
95dc3643 222022005-11-27 Marco Gerards <mgerards@xs4all.nl>
22203
22204 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
22205 ((unused))' to silence gcc warning.
22206
1569ec51 222072005-11-26 Hollis Blanchard <hollis@penguinppc.org>
22208
22209 * configure.ac: Correct `AC_PROG_YACC' test.
22210
9abde152 222112005-11-22 Hollis Blanchard <hollis@penguinppc.org>
22212
22213 * util/powerpc/ieee1275/grub-install.in: Run the mount point
22214 check before installing files.
22215
44b83271 222162005-11-22 Mike Small <smallm@panix.com>
22217
22218 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
22219 number regex so multidigit numbers are recognized correctly.
22220
222212005-11-22 Mike Small <smallm@panix.com>
22222
22223 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
22224 debugging message before attempting to claim memory.
22225 (grub_rescue_cmd_initrd): Add a claim debugging message and try
22226 multiple addresses in case of failure.
22227
9c12956b 222282005-11-22 Hollis Blanchard <hollis@penguinppc.org>
22229
22230 * term/tparm.c (get_space): Remove empty `if' statement.
22231
22232 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
22233
22234 * kern/parser.c (check_varstate): Rename `state' to 's'.
22235
aeaf81d9 222362005-11-22 Hollis Blanchard <hollis@penguinppc.org>
22237
22238 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
22239 variable definitions to the beginning of each function. Sort stack
22240 variables by size.
22241 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
22242 `buf' argument to `char *'.
22243
79bbb63f 222442005-11-22 Hollis Blanchard <hollis@penguinppc.org>
22245
22246 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
22247 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 22248 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 22249 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
22250 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
22251 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
22252 configfile.mod, search.mod, gzio.mod and test.mod.
22253 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
22254 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
22255 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
22256 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
22257 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
22258 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
22259 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
22260 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
22261 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
22262 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
22263 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
22264 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
22265 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
22266 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
22267 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
22268 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
22269 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
22270 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
22271 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
22272 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
22273 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
22274 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
22275 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
22276
22277 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
22278 `grep --include'.
22279 (pkgdata_MODULES): Add test.mod.
22280
233b1628 222812005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
22282
22283 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
22284 appending to variables with "+=".
22285 (PModule): Use full pathname to generate *.lst filenames.
22286
22287 * Makefile.in: Fixed list rules moved from genmk.rb.
22288 (.DELETE_ON_ERROR): New special target.
22289 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
22290
22291 * conf/i386-pc.rmk: Include conf/common.mk.
22292 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 22293 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 22294 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
22295 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
22296 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
22297 configfile.mod, search.mod, gzio.mod and test.mod.
22298 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
22299 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
22300 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
22301 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
22302 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
22303 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
22304 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
22305 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
22306 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
22307 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
22308 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
22309 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
22310 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
22311 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
22312 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
22313 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
22314 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
22315 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
22316 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
22317 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
22318 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
22319 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
22320 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
22321 here...
22322 * conf/common.rmk: ... to here. New file.
22323
22324 * conf/common.mk: New file.
22325
16f820c8 223262005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
22327
22328 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
22329 (grub_script.tab.c): ... here.
22330
22331 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
22332 (grub_script.tab.c): ... here.
22333
22334 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
22335 (grub_script.tab.c): ... here.
22336
22337 * normal/command.c (grub_command_find): Fixed a memory leak of
22338 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
22339
63ba1554 223402005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
22341
22342 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
22343 "@" which marks the start of a comment on ARM.
22344 (VARIABLE): Likewise.
22345
7f67dc13 223462005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
22347
79bbb63f 22348 Add support for Linux/ADFS partition tables.
7f67dc13 22349
22350 * partmap/acorn.c: New file.
22351
22352 * include/grub/acorn_filecore.h: Likewise.
22353
22354 * DISTLIST: Added `partmap/acorn.c' and
22355 `include/grub/acorn_filecore.h'.
f19dbdb7 22356
7f67dc13 22357 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
22358 `partmap/acorn.c'.
22359 (pkgdata_MODULES): Add `acorn.mod'.
22360 (acorn_mod_SOURCES): New variable.
22361 (acorn_mod_CFLAGS): Likewise.
22362
22363 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
22364 `partmap/acorn.c'.
22365 (pkgdata_MODULES): Add `acorn.mod'.
22366 (acorn_mod_SOURCES): New variable.
22367 (acorn_mod_CFLAGS): Likewise.
22368
22369 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
22370 (pkgdata_MODULES): Add `acorn.mod'.
22371 (acorn_mod_SOURCES): New variable.
22372 (acorn_mod_CFLAGS): Likewise.
22373 (acorn_mod_LDFLAGS): Likewise.
22374
22375 * include/types.h (grub_disk_addr_t): New typedef.
22376
6d099807 223772005-11-13 Marco Gerards <mgerards@xs4all.nl>
22378
22379 * geninit.sh: New file.
22380
22381 * geninitheader.sh: Likewise.
22382
22383 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
22384 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
22385 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
22386 * commands/configfile.c (grub_configfile_init)
22387 (grub_configfile_fini): Likewise.
22388 * commands/default.c (grub_default_init, grub_default_fini):
22389 Likewise.
22390 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
22391 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
22392 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
22393 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
22394 Likewise.
22395 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
22396 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
22397 Likewise.
22398 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 22399 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 22400 Likewise.
22401 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
22402 Likewise.
fe6b695a 22403 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 22404 Likewise.
22405 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
22406 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
22407 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
22408 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
22409 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
22410 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
22411 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
22412 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
22413 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
22414 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
22415 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
22416 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
22417 * partmap/amiga.c (grub_amiga_partition_map_init)
22418 (grub_amiga_partition_map_fini): Likewise.
22419 * partmap/apple.c (grub_apple_partition_map_init)
22420 (grub_apple_partition_map_fini): Likewise.
22421 * partmap/pc.c (grub_pc_partition_map_init)
22422 (grub_pc_partition_map_fini): Likewise.
22423 * partmap/sun.c (grub_sun_partition_map_init,
22424 grub_sun_partition_map_fini): Likewise.
22425 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
22426 Likewise.
22427
22428 * util/grub-emu.c: Include <grub_modules_init.h>.
22429 (main): Don't initialize and de-initialize any modules directly,
22430 use `grub_init_all' and `grub_fini_all' instead.
22431
22432 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
22433 `grub_vesafb_mod_init'.
22434 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
22435 all users.
22436 * term/i386/pc/vga.c (grub_vga_init): Renamed to
22437 `grub_vga_mod_init'. Updated all users.
22438 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 22439
6d099807 22440 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
22441 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
22442 rules.
22443
22444 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
22445 Generate a function to initialize the module in utilities.
22446 Updated all callers.
22447 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
22448 initialize the module in utilities. Updated all callers.
22449
9046bcf0 224502005-11-09 Hollis Blanchard <hollis@penguinppc.org>
22451
22452 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
22453 escape sequence and a literal ^L to clear the screen.
22454
22455 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
22456 when returning from Open Firmware.
22457
d13ea639 224582005-11-09 Hollis Blanchard <hollis@penguinppc.org>
22459
22460 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
22461 (grub_ofconsole_height): Likewise.
22462 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
22463 manually insert a '\n'.
22464 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
22465 `grub_ofconsole_height'. Return early if these are already set.
22466
a8fcf206 224672005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
22468
22469 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
22470 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
22471 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
22472 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
22473 and `normal/script.c'.
22474 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
22475 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
22476 (test_mod_SOURCES): New variable.
22477 (test_mod_CFLAGS): Likewise.
22478 (test_mod_LDFLAGS): Likewise.
22479 (pkgdata_MODULES): Add `test.mod'.
22480 (grub_script.tab.c): New rule.
22481 (grub_script.tab.h): Likewise.
22482
b6b32745 224832005-11-07 Marco Gerards <mgerards@xs4all.nl>
22484
22485 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
22486 `commands/test.c', `normal/execute.c', `normal/lexer.c',
22487 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
22488 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
22489 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
22490 (test_mod_SOURCES): New variable.
22491 (test_mod_CFLAGS): Likewise.
22492 (pkgdata_MODULES): Add `test.mod'.
22493 (grub_script.tab.c): New rule.
22494 (grub_script.tab.h): Likewise.
22495
daac212a 224962005-11-06 Marco Gerards <mgerards@xs4all.nl>
22497
22498 Add initial scripting support.
22499
22500 * commands/test.c: New file.
22501 * include/grub/script.h: Likewise.
22502 * normal/execute.c: Likewise.
22503 * normal/function.c: Likewise.
22504 * normal/lexer.c: Likewise.
22505 * normal/parser.y: Likewise.
22506 * normal/script.c: Likewise.
22507
22508 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 22509
daac212a 22510 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
22511 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
22512 `normal/function.c' and `normal/script.c'.
22513 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
22514 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 22515 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
22516 variables.
daac212a 22517 (pkgdata_MODULES): Add `test.mod'.
22518 (grub_script.tab.c): New rule.
22519 (grub_script.tab.h): Likewise.
22520
22521 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
22522
22523 * include/grub/normal.h (grub_test_init): New prototype.
22524 (grub_test_fini): Likewise.
f19dbdb7 22525
daac212a 22526 * normal/command.c: Include <grub/script.h>.
22527 (grub_command_execute): Rewritten.
f19dbdb7 22528
daac212a 22529 * util/grub-emu.c (main): Call `grub_test_init' and
22530 `grub_test_fini'.
22531
77500b2b 225322005-11-03 Hollis Blanchard <hollis@penguinppc.org>
22533
22534 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
22535 to 0.
22536 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
22537 there are no pending characters.
22538
e45deb9e 225392005-11-03 Hollis Blanchard <hollis@penguinppc.org>
22540
22541 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
22542 `grub_strndup' to drop device arguments. Replace unnecessary
22543 `grub_strndup' with `grub_strdup'.
22544
4ce32619 225452005-11-03 Hollis Blanchard <hollis@penguinppc.org>
22546
22547 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
22548 `debug' environment variable has been set.
22549
225502005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 22551
4ce32619 22552 * Makefile.in (install-local): Use $(DATA).
22553 (uninstall): Likewise.
22554 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
22555 (sbin_UTILITIES): ... to here.
22556 (sbin_SCRIPTS): New variable.
22557 (grub_install_SOURCES): New variable.
22558 * util/powerpc/ieee1275/grub-install.in: New file.
22559 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
22560 variable.
22561 (add_segments): Call `grub_util_get_path'.
22562
25fe6f03 225632005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
22564
22565 From Timothy Baldwin:
22566 * commands/ls.c (grub_ls_list_files): Close FILE with
22567 grub_file_close.
22568 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
22569
04ccf3ec 225702005-10-24 Marco Gerards <mgerards@xs4all.nl>
22571
22572 * include/grub/parser.h: New file.
22573
22574 * kern/parser.c: Likewise.
22575
22576 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
22577 (grub_setup_SOURCES): Likewise.
22578 (grub_probefs_SOURCES): Likewise.
22579 (grub_emu_SOURCES): Likewise.
22580 (kernel_img_HEADERS): Add `parser.h'.
22581
22582 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
22583 (grub_emu_SOURCES): Add `kern/parser.c'.
22584 (grubof_SOURCES): Likewise.
22585
22586 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
22587 (grubof_SOURCES): Add `kern/parser.c'.
22588
22589 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
22590
22591 * kern/misc.c (grub_split_cmdline): Removed function.
22592
22593 * kern/rescue.c: Include <grub/parser.h>.
22594 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
22595 of `grub_split_cmdline'.
22596
22597 * normal/command.c: Include <grub/parser.h>.
22598 (grub_command_execute): Use `grub_parser_split_cmdline' instead
22599 of `grub_split_cmdline'.
22600
22601 * normal/completion.c: Include <grub/parser.h>.
22602 (cmdline_state): New variable.
22603 (iterate_dir): End the filename with a quote depending on the
22604 command line state.
22605 (get_state): new function.
22606 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
22607 split the arguments and determine the current argument. When the
22608 argument string is not quoted, escape all spaces.
22609
6d8f4b0e 226102005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
22611
22612 * normal/sparc64/setjmp.S: New file.
22613
15cf03ed 226142005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
22615
22616 * include/grub/sparc64/libgcc.h: New file.
22617 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
22618 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
22619 normal/sparc64/setjmp.c.
22620
03e8661a 226212005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
22622
22623 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
22624 * kern/sparc64/cache.S: New file.
22625 * kern/sparc64/cache.c: Removed.
22626 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
22627 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
22628 -mtune=ultrasparc.
22629 (COMMON_LDFLAGS): Add -melf64_sparc.
22630 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
22631 (grubof_SOURCES): Use cache.S instead of cache.c.
22632 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
22633 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
22634 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
22635 commented though.
22636 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
22637 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
22638 (linux_mod_CFLAGS): Commented out.
22639 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
22640 out because module isn't built.
22641 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
22642 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
22643 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
22644 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
22645 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
22646 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
22647 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
22648 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
22649 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
22650 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
22651 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
22652 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
22653 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
22654 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
22655
34eeec8a 226562005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
22657
22658 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
22659 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
22660 longer, because HFS should not be used on PC.
22661
708367a3 226622005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
22663
22664 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
22665 consistently within the loop.
22666
6fa1251a 226672005-10-15 Marco Gerards <mgerards@xs4all.nl>
22668
22669 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
22670 directory can not be read.
22671
4801580b 226722005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
22673
22674 * configure.ac (AC_INIT): Increase the version number to 1.91.
22675
22676 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
22677 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
22678 term/i386/pc/serial.c.
22679
219ad426 226802005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
22681
22682 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
22683 file size must be permitted.
22684
22685 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
22686 between %ah and %al.
22687
688e5699 226882005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
22689
22690 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
22691 grub_uint64_t.
22692 Call the hook with a NUL-terminated filename.
22693 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
22694 grub_cpu_to_be32.
22695
22696 * kern/term.c (cursor_state): New variable.
22697 (grub_term_set_current): Reset the cursor state on a new
22698 terminal.
22699 (grub_setcursor): Rewritten to use CURSOR_STATE.
22700 (grub_getcursor): New function.
22701
22702 * include/grub/term.h (grub_getcursor): New prototype.
22703
22704 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
22705 integers on ARM. Reported by Timothy Baldwin
22706 <T.E.Baldwin99@members.leeds.ac.uk>.
22707
bb34586c 227082005-10-11 Marco Gerards <mgerards@xs4all.nl>
22709
22710 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
22711 allocated.
22712 (grub_sfs_dir): Likewise.
22713
9a909877 227142005-10-09 Marco Gerards <mgerards@xs4all.nl>
22715
22716 Add support for the SFS filesystem.
22717
22718 * fs/sfs.c: New file.
22719
22720 * DISTLIST: Added `fs/sfs.c'.
22721
22722 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
22723 (grub_probefs_SOURCES): Likewise.
22724 (grub_emu_SOURCES): Likewise.
22725 (pkgdata_MODULES): Add `sfs.mod'.
22726 (sfs_mod_SOURCES): New variable.
22727 (sfs_mod_CFLAGS): Likewise.
22728 (sfs_mod_LDFLAGS): Likewise.
22729
22730 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
22731 (pkgdata_MODULES): Add `sfs.mod'.
22732 (sfs_mod_SOURCES): New variable.
22733 (sfs_mod_CFLAGS): Likewise.
22734
22735 * util/grub-emu.c (main): Call `grub_sfs_init' and
22736 `grub_sfs_fini'.
22737
22738 * include/grub/fs.h (grub_sfs_init): New prototype.
22739 (grub_sfs_fini): Likewise.
22740
57bdbde3 227412005-10-07 Marco Gerards <mgerards@xs4all.nl>
22742
22743 Add support for the AFFS filesystem.
22744
22745 * fs/affs.c: New file.
22746
22747 * DISTLIST: Added `fs/affs.c'.
22748
22749 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
22750 (grub_probefs_SOURCES): Likewise.
22751 (grub_emu_SOURCES): Likewise.
22752 (pkgdata_MODULES): Add `affs.mod'.
22753 (affs_mod_SOURCES): New variable.
22754 (affs_mod_CFLAGS): Likewise.
22755 (affs_mod_LDFLAGS): Likewise.
22756
22757 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
22758 (pkgdata_MODULES): Add `affs.mod'.
22759 (affs_mod_SOURCES): New variable.
22760 (affs_mod_CFLAGS): Likewise.
22761
22762 * util/grub-emu.c (main): Call `grub_affs_init' and
22763 `grub_affs_fini'.
22764
22765 * include/grub/fs.h (grub_affs_init): New prototype.
22766 (grub_affs_fini): Likewise.
22767
047b67e0 227682005-10-01 Marco Gerards <mgerards@xs4all.nl>
22769
22770 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
22771
59b8208a 227722005-10-01 Marco Gerards <mgerards@xs4all.nl>
22773
22774 * configure.ac: Accept `x86_64' as host_cpu. In that case add
22775 `-m32' to CFLAGS.
22776
22777 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
22778 linking.
f19dbdb7 22779
59b8208a 22780 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
22781 (COMMON_LDFLAGS): New variable.
22782 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
22783 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
22784 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
22785 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
22786 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
22787 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
22788 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
22789 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
22790 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
22791 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
22792 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
22793 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
22794 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
22795 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
22796 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
22797 variables.
22798 (normal_mod_ASFLAGS): Add `-m32'.
22799
22800 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
22801 (grub_host_size_t, grub_host_ssize_t): New types.
22802 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 22803 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 22804 `GRUB_HOST_SIZEOF_VOID_P'.
22805
22806 * include/grub/kernel.h (struct grub_module_header): Type of
22807 member offset changed to `grub_host_off_t'. Type of member size
22808 changed to `grub_host_size_t'.
22809 (struct grub_module_info): Type of member offset changed to
22810 `grub_host_off_t'. Type of member size changed to
22811 `grub_host_size_t'.
22812
b4093103 228132005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
22814
22815 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 22816
b4093103 22817 * kern/i386/pc/startup.S (multiboot_header): New label.
22818 (multiboot_entry): Likewise.
22819 (multiboot_trampoline): Likewise.
22820
22821 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
22822 Increased to 0x4A0.
22823
22824 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
22825 put parentheses after a question mark.
22826 [!GRUB_UTIL] (my_mod): New variable.
22827
22828 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
22829
b2499b29 228302005-09-28 Marco Gerards <mgerards@xs4all.nl>
22831
22832 Adds support for the XFS filesystem. Btrees are not supported
22833 yet.
22834
22835 * fs/xfs.c: New file.
22836
22837 * DISTLIST: Added `fs/xfs.c'.
22838
22839 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
22840 (grub_probefs_SOURCES): Likewise.
22841 (grub_emu_SOURCES): Likewise.
22842 (pkgdata_MODULES): Add `xfs.mod'.
22843 (xfs_mod_SOURCES): New variable.
22844 (xfs_mod_CFLAGS): Likewise.
22845
22846 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
22847 (pkgdata_MODULES): Add `xfs.mod'.
22848 (xfs_mod_SOURCES): New variable.
22849 (xfs_mod_CFLAGS): Likewise.
22850
22851 * util/grub-emu.c (main): Call `grub_xfs_init' and
22852 `grub_xfs_fini'.
22853
22854 * include/grub/fs.h (grub_xfs_init): New prototype.
22855 (grub_xfs_fini): Likewise.
22856
f19dbdb7 22857
83d37a62 228582005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
22859
22860 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
22861 color modes, allow greater than 16 colors to be configured as
22862 a default palette.
22863
47d2d65e 228642005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
22865
22866 * normal/completion.c (complete_arguments): Add the qualifier
22867 const into OPTIONS.
22868
22869 From Omniflux <omniflux+lists@omniflux.com>:
22870 * include/grub/terminfo.h: New file.
22871 * include/grub/tparm.h: Likewise.
22872 * include/grub/i386/pc/serial.h: Likewise.
22873 * term/terminfo.c: Likewise.
22874 * term/tparm.c: Likewise.
22875 * term/i386/pc/serial.c: Likewise.
22876 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
22877 serial.mod.
22878 (terminfo_mod_SOURCES): New variable.
22879 (terminfo_mod_CFLAGS): Likewise.
22880 (serial_mod_SOURCES): Likewise.
22881 (serial_mod_CFLAGS): Likewise.
22882
48b671ff 228832005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
22884
22885 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
22886 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
22887 and kern/powerpc/ieee1275/cmain.c, respectively.
22888
22889 * boot/powerpc/ieee1275/crt0.S: Moved to ...
22890 * kern/powerpc/ieee1275/crt0.S: ... here.
22891
22892 * boot/powerpc/ieee1275/cmain.c: Moved to ...
22893 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 22894
48b671ff 22895 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
22896 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
22897 instead of boot/powerpc/ieee1275/crt0.S and
22898 boot/powerpc/ieee1275/cmain.c, respectively.
22899
22900 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
22901 sectors. It was not used anyway.
22902
09fc77a7 229032005-08-30 Hollis Blanchard <hollis@penguinppc.org>
22904
22905 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
22906 `unused parameter' warning.
22907
003789c7 229082005-08-30 Hollis Blanchard <hollis@penguinppc.org>
22909
22910 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
22911 function.
22912 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
22913 getcharwidth.
22914
67f44c86 229152005-08-28 Marco Gerards <metgerards@student.han.nl>
22916
22917 * include/grub/normal.h (enum grub_completion_type): Added
22918 `GRUB_COMPLETION_TYPE_ARGUMENT'.
22919
22920 * normal/cmdline.c (print_completion): Handle
22921 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
22922 * normal/menu_entry.c (store_completion): Likewise.
22923
22924 * normal/completion.c (complete_arguments): New function.
22925 (grub_normal_do_completion): Call `complete_arguments' when the
22926 current words start with a dash.
22927
0b5abe02 229282005-08-27 Marco Gerards <metgerards@student.han.nl>
22929
22930 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
22931 `gzio.mod' instead of `io.mod').
22932
d9864ee1 229332005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
22934
22935 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
22936 (DISTDIRS): Added io and video.
22937 Rewrite the search routine to make an output consistently.
22938
22939 * DISTLIST: Added conf/sparc64-ieee1275.mk,
22940 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
22941 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
22942 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
22943 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
22944 util/powerpc/ieee1275/misc.c.
f19dbdb7 22945
d9864ee1 22946 * include/grub/gzio.h: New file.
22947 * io/gzio.c: Likewise.
f19dbdb7 22948
d9864ee1 22949 * kern/file.c (grub_file_close): Call grub_device_close only if
22950 FILE->DEVICE is not NULL.
22951
22952 * include/grub/mm.h [!NULL] (NULL): New macro.
22953
22954 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
22955
22956 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
22957 (pkgdata_MODULES): Added gzio.mod.
22958 (gzio_mod_SOURCES): New variable.
22959 (gzio_mod_CFLAGS): Likewise.
22960
22961 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
22962 (pkgdata_MODULES): Added gzio.mod.
22963 (gzio_mod_SOURCES): New variable.
22964 (gzio_mod_CFLAGS): Likewise.
22965
22966 * commands/cat.c: Include grub/gzio.h.
22967 (grub_cmd_cat): Use grub_gzfile_open instead of
22968 grub_file_open.
f19dbdb7 22969
d9864ee1 22970 * commands/cmp.c: Include grub/gzio.h.
22971 (grub_cmd_cmp): Use grub_gzfile_open instead of
22972 grub_file_open.
22973
22974 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
22975 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
22976 grub_file_open.
22977 (grub_rescue_cmd_module): Likewise.
22978
fa46f4b5 229792005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
22980
22981 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
22982 kern/sparc64/ieee1275/init.c because it contains _start.
22983 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
22984
e9211b5d 229852005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
22986
22987 * configure.ac: Add support for sparc64 host with ieee1275
22988 firmware.
22989 * configure: Generated from configure.ac.
22990 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
22991 instead of int.
22992 (grub_ofdisk_read): Likewise.
22993 (grub_ofdisk_open): Use %p to print pointer values, and cast the
22994 pointers as (void *) to remove a warning.
22995 (grub_ofdisk_close): Likewise.
22996 (grub_ofdisk_read): Likewise.
22997 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
22998 returns, so make it return void to remove a warning.
22999 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
23000 Corresponding prototype change.
23001 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
23002 values, and cast the pointers as (void *) to remove a warning.
23003 (grub_mm_dump): Likewise.
23004 * conf/sparc64-ieee1275.mk: New file.
23005 * conf/sparc64-ieee1275.rmk: Likewise.
23006 * include/grub/sparc64/setjmp.h: Likewise.
23007 * include/grub/sparc64/types.h: Likewise.
23008 * include/grub/sparc64/ieee1275/console.h: Likewise.
23009 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
23010 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
23011 * include/grub/sparc64/ieee1275/time.h: Likewise.
23012 * kern/sparc64/cache.c: Likewise.
23013 * kern/sparc64/dl.c: Likewise.
23014 * kern/sparc64/ieee1275/init.c: Likewise.
23015 * kern/sparc64/ieee1275/openfw.c: Likewise.
23016
385c6a92 230172005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
23018
23019 * util/console.c (grub_ncurses_putchar): If C is greater than
23020 0x7f, set C to a question mark.
23021 (grub_ncurses_getcharwidth): New function.
23022 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
23023 getcharwidth.
23024
23025 * normal/menu.c (print_entry): Made aware of Unicode. First,
23026 convert TITLE to UCS-4, and predict the cursor position by
23027 grub_getcharwidth.
23028
23029 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
23030 const to SRC.
23031 * kern/misc.c (grub_utf16_to_utf8): Likewise.
23032
16ccb8b1 230332005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
23034
23035 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
23036 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
23037 grub_strcat.
23038
23039 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
23040 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
23041 grub_strcpy and grub_strlen. Take it into account that a space
23042 character is inserted as a delimiter.
23043
6a85ce79 230442005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
23045
23046 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 23047 invalid magic in the error.
6a85ce79 23048
23049 * commands/search.c: New file.
f19dbdb7 23050
6a85ce79 23051 * util/grub-emu.c (main): Call grub_search_init and
23052 grub_search_fini.
23053
23054 * kern/rescue.c (grub_rescue_print_disks): Removed.
23055 (grub_rescue_print_devices): New function.
23056 (grub_rescue_cmd_ls): Use grub_device_iterate with
23057 grub_rescue_print_devices instead of grub_disk_dev_iterate with
23058 grub_rescue_print_disks.
23059
23060 * kern/partition.c (grub_partition_iterate): Return the result of
23061 PARTMAP->ITERATE instead of GRUB_ERRNO.
23062
23063 * kern/device.c: Include grub/partition.h.
23064 (grub_device_iterate): New function.
23065
23066 * include/grub/partition.h (grub_partition_iterate): Return int
23067 instead of grub_err_t.
23068
23069 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
23070 prototype.
23071 [GRUB_UTIL] (grub_search_fini): Likewise.
23072
23073 * include/grub/device.h (grub_device_iterate): New prototype.
23074
23075 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
23076 commands/search.c.
23077 (pkgdata_MODULES): Added search.mod.
23078 (search_mod_SOURCES): New variable.
23079 (search_mod_CFLAGS): Likewise.
23080
23081 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
23082 (pkgdata_MODULES): Added search.mod.
23083 (search_mod_SOURCES): New variable.
23084 (search_mod_CFLAGS): Likewise.
23085
23086 * commands/ls.c (grub_ls_list_disks): Renamed to ...
23087 (grub_ls_list_devices): ... this, and use grub_device_iterate.
23088 All callers changed.
23089
23090 * DISTLIST: Added commands/search.c.
23091
ef095434 230922005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
23093
23094 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
23095 conversion.
23096 (grub_getcharwidth): New function.
23097
23098 * kern/misc.c (grub_utf8_to_ucs4): New function.
23099
23100 * include/grub/term.h (struct grub_term): Added a new member
23101 "getcharwidth".
23102 (grub_getcharwidth): New prototype.
23103
23104 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
23105
23106 * term/i386/pc/console.c (map_char): New function. Segregated from
23107 grub_console_putchar.
23108 (grub_console_putchar): Use map_char.
23109 (grub_console_getcharwidth): New function.
23110 (grub_console_term): Specified grub_console_getcharwidth as
23111 getcharwidth.
23112
23113 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
23114 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
23115
23116 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
23117 GRUB_ERRNO.
23118 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
23119 on grub_strtoul completely.
23120 (write_char): Declare local variables in the beginning of the
23121 function.
23122 (grub_vesafb_getcharwidth): New function.
23123 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
23124 getcharwidth.
23125
1f0a95e4 231262005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
23127
23128 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
23129 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
23130 commands/i386/pc/vbetest.c.
23131
23132 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
23133 call grub_vbe_get_controller_info again, because the returned
23134 information is volatile.
23135 (grub_vbe_set_video_mode): Mostly rewritten.
23136 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
23137 grub_vbe_status_t correctly.
23138 (grub_vbe_get_video_mode_info): Likewise.
23139 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
23140 several if statements.
23141
23142 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
23143 * commands/i386/pc/vbeinfo.c: ... this.
23144
23145 * commands/i386/pc/vbe_test.c: Renamed to ...
23146 * commands/i386/pc/vbetest.c: ... this.
23147
23148 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
23149 ...
23150 (grub_cmd_vbeinfo): ... this. Save video modes before
23151 iterating. Skip a video mode, if it is not available, not enough
23152 information is given or it is monochrome. Show the memory
23153 model. Leave the interpretation of MODEVAR to grub_strtoul
23154 completely.
23155 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
23156 (GRUB_MOD_FINI): Likewise.
23157
23158 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
23159 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
23160 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
23161 duplicated grub_env_get. Leave the interpretation of MODEVAR to
23162 grub_strtoul completely.
23163 (real2pm): Removed.
23164 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
23165 (GRUB_MOD_FINI): Likewise.
23166
23167 * normal/misc.c: Include grub/mm.h.
23168
23169 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
23170 vbe_list_modes with vbetest.mod and vbeinfo.mod.
23171 (vbe_list_modes_mod_SOURCES): Removed.
23172 (vbe_list_modes_mod_CFLAGS): Likewise.
23173 (vbe_test_mod_SOURCES): Likewise.
23174 (vbe_test_mod_CFLAGS): Likewise.
23175 (vbeinfo_mod_SOURCES): New variable.
23176 (vbeinfo_mod_CFLAGS): Likewise.
23177 (vbetest_mod_SOURCES): Likewise.
23178 (vbetest_mod_CFLAGS): Likewise.
23179
992ffbbe 231802005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
23181
23182 * normal/misc.c: New file.
23183
23184 * DISTLIST: Added normal/misc.c.
f19dbdb7 23185
992ffbbe 23186 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
23187 DISK to HOOK. Call HOOK with DISK.
23188 * partmap/apple.c (apple_partition_map_iterate): Likewise.
23189 * partmap/pc.c (pc_partition_map_iterate): Likewise.
23190 * partmap/sun.c (sun_partition_map_iterate): Likewise.
23191
23192 * normal/menu_entry.c (struct screen): Added a new member
23193 "completion_shown".
23194 (completion_buffer): New global variable.
23195 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
23196 (store_completion): New function.
23197 (complete): Likewise.
23198 (clear_completions): Likewise.
23199 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
23200 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
23201 a tab, call complete.
23202
23203 * normal/completion.c (disk_dev): Removed.
23204 (print_simple_completion): Likewise.
23205 (print_partition_completion): Likewise.
23206 (print_func): New global variable.
23207 (add_completion): Do not take the arguments WHAT or PRINT any
23208 longer. Added a new argument TYPE. Instead of printing directly,
23209 call PRINT_FUNC if not NULL.
23210 All callers changed.
23211 (complete_device): Use a local variable DEV instead of
23212 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
23213 (grub_normal_do_completion): Take a new argument HOOK. Do not
23214 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
23215 empty string, return NULL instead.
23216 All callers changed.
23217
23218 * normal/cmdline.c (print_completion): New function.
23219
23220 * kern/partition.c (grub_partition_iterate): Add an argument DISK
23221 to HOOK.
23222 All callers changed.
23223
23224 * kern/disk.c (grub_print_partinfo): Removed.
23225
23226 * include/grub/partition.h (struct grub_partition_map): Add a new
23227 argument DISK into HOOK of ITERATE.
23228 (grub_partition_iterate): Add a new argument DISK to HOOK.
23229
23230 * include/grub/normal.h (enum grub_completion_type): New enum.
23231 (grub_completion_type_t): New type.
23232 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
23233 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
23234 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
23235 (GRUB_COMPLETION_TYPE_FILE): Likewise.
23236 (grub_normal_do_completion): Added a new argument HOOK.
23237 (grub_normal_print_device_info): New prototype.
23238
23239 * include/grub/disk.h (grub_print_partinfo): Removed.
23240
23241 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
23242 (normal_mod_SOURCES): Likewise.
23243 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
23244 (normal_mod_SOURCES): Likewise.
23245
23246 * commands/ls.c (grub_ls_list_disks): Use
23247 grub_normal_print_device_info instead of grub_print_partinfo. Free
23248 PNAME.
23249 (grub_ls_list_files): Use grub_normal_print_device_info instead of
23250 duplicating the code.
23251
0bd41162 232522005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
23253
23254 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 23255 follow GCS more precisely.
23256 * commands/i386/pc/vbe_test.c: Likewise.
23257 * include/grub/i386/pc/vbe.h: Likewise.
23258 * term/i386/pc/vesafb.c: Likewise.
23259 * video/i386/pc/vbe.c: Likewise.
0bd41162 23260
6323696a 232612005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
23262
23263 * DISTLIST: Added term/i386/pc/vesafb.c
23264 DISTLIST: Added video/i386/pc/vbe.c
23265 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
23266 DISTLIST: Added commands/i386/pc/vbe_test.c.
23267 * commands/i386/pc/vbe_list_modes.c: New file.
23268 * commands/i386/pc/vbe_test.c: Likewise.
23269 * term/i386/pc/vesafb.c: Likewise.
23270 * video/i386/pc/vbe.c: Likewise.
23271 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
23272 (grub_vbe_probe) Added prototype.
23273 (grub_vbe_set_video_mode) Likewise.
23274 (grub_vbe_get_video_mode) Likewise.
23275 (grub_vbe_get_video_mode_info) Likewise.
23276 (grub_vbe_set_pixel_rgb) Likewise.
23277 (grub_vbe_set_pixel_index) Likewise.
23278 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
23279 (pkgdata_MODULES): Added vesafb.mod.
23280 (pkgdata_MODULES): Added vbe_list_modes.mod.
23281 (pkgdata_MODULES): Added vbe_test.mod.
23282 (vbe_mod_SOURCES): Added.
23283 (vbe_mod_CFLAGS): Likewise.
23284 (vesafb_mod_SOURCES): Likewise.
23285 (vesafb_mod_CFLAGS): Likewise.
23286 (vbe_list_modes_mod_SOURCES): Likewise.
23287 (vbe_list_modes_mod_CFLAGS): Likewise.
23288 (vbe_test_mod_SOURCES): Likewise.
23289 (vbe_test_mod_CFLAGS): Likewise.
23290
0a74e62f 232912005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
23292
0a74e62f 23293 * normal/command.c (grub_command_execute): If INTERACTIVE is
23294 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
23295 CMDLINE. Disable the pager if INTERACTIVE is true.
23296 All callers are changed.
23297
23298 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
23299 before reading a config file.
23300 * normal/main.c (read_config_file): Even if a command is not
23301 found, register it if it is within an entry.
23302
23303 * util/grub-emu.c: Include sys/types.h and unistd.h.
23304 (options): Added --hold.
23305 (struct arguments): Added a new member "hold".
23306 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
23307 missing.
23308 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
23309 cleared by a debugger, if it is not zero.
23310
23311 * include/grub/normal.h (grub_command_execute): Add an argument
23312 INTERACTIVE.
23313
e51f85ae 233142005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
23315
23316 * DISTLIST: Added include/grub/i386/pc/vbe.h.
23317
e9c6f39b 233182005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
23319
23320 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
23321 program with another one, because the old one didn't detect a bug
23322 in gcc-3.4. Always use regparm 2, because the new test is still
23323 not enough for gcc-4.0. Someone must investigate a simple test
23324 case which detects a bug in gcc-4.0.
23325
8de3495c 233262005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
23327
23328 * DISTLIST: Added normal/completion.c.
23329
23330 * normal/completion.c: New file.
f19dbdb7 23331
8de3495c 23332 * term/i386/pc/console.c (grub_console_getwh): New function.
23333 (grub_console_term): Assign grub_console_getwh to getwh.
23334
23335 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
23336 function is defined in normal/completion.c as
23337 grub_normal_do_completion.
23338 (grub_cmdline_get): Use grub_normal_do_completion instead of
23339 grub_tab_complete.
23340
23341 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
23342 returns non-zero, otherwise return 0.
23343 (grub_partition_iterate): First, probe the partition map. Then,
23344 call ITERATE only for this partition map.
23345
23346 * kern/misc.c (grub_strncmp): Rewritten.
23347
23348 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
23349 returns non-zero. Otherwise return 0.
23350
23351 * include/grub/partition.h (grub_partition_map_iterate): Return
23352 int instead of void.
23353
23354 * include/grub/normal.h (grub_normal_do_completion): New prototype.
23355
23356 * include/grub/misc.h (grub_strncmp): Change the type of N to
23357 grub_size_t.
23358
23359 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
23360 of void.
23361
23362 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 23363 unsigned explicitly before comparing it with I.
8de3495c 23364
23365 * kern/main.c (grub_env_write_root): Add the attribute unused into
23366 VAR.
23367
23368 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
23369 normal/completion.c.
23370 (normal_mod_SOURCES): Likewise.
23371 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
23372 (normal_mod_SOURCES): Likewise.
23373
23374 * normal/command.c (grub_iterate_commands): If ITERATE returns
23375 non-zero, return one immediately.
23376
e85e144b 233772005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
23378
23379 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
23380 * kern/i386/pc/startup.S: Updated Global Descriptor table's
23381 descriptions.
23382 (grub_vbe_get_controller_info): New function.
23383 (grub_vbe_get_mode_info): Likewise.
23384 (grub_vbe_set_mode): Likewise.
23385 (grub_vbe_get_mode): Likewise.
23386 (grub_vbe_set_memory_window): Likewise.
23387 (grub_vbe_get_memory_window): Likewise.
23388 (grub_vbe_set_scanline_length): Likewise.
23389 (grub_vbe_get_scanline_length): Likewise.
23390 (grub_vbe_set_display_start): Likewise.
23391 (grub_vbe_get_display_start): Likewise.
23392 (grub_vbe_set_palette_data): Likewise.
23393 * include/grub/i386/pc/vbe.h: New file.
23394
c46153d2 233952005-08-08 Hollis Blanchard <hollis@penguinppc.org>
23396
23397 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
23398 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
23399 * DISTLIST: Likewise.
23400 * kern/ieee1275/of.c: Moved to ...
23401 * kern/ieee1275/ieee1275.c: ... here.
23402
0cb90c45 234032005-08-08 Hollis Blanchard <hollis@penguinppc.org>
23404
23405 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
23406 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
23407 Pass 0 as `end' parameter to grub_strtoul().
23408
a19fb360 234092005-08-08 Hollis Blanchard <hollis@penguinppc.org>
23410
23411 * include/grub/powerpc/ieee1275/console.h: Do not include
23412 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
23413 ifdef.
23414 (grub_console_cur_color): Remove i386-specific prototype.
23415 (grub_console_real_putchar): Likewise.
23416 (grub_console_checkkey): Likewise.
23417 (grub_console_getkey): Likewise.
23418 (grub_console_getxy): Likewise.
23419 (grub_console_gotoxy): Likewise.
23420 (grub_console_cls): Likewise.
23421 (grub_console_setcursor): Likewise.
23422 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
23423 Include <grub/machine/console.h>.
23424 * term/ieee1275/ofconsole.c: Likewise.
23425
4ac9bd04 234262005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
23427
23428 * Makefile.in (LIBLZO): New variable.
23429
23430 * configure.ac: Check for LZO version 2.
23431
23432 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
23433 lzo/lzo1x.h instead of lzo1x.h.
23434
23435 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
23436 of -llzo.
23437
23438 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
23439 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
23440
23441 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
23442 copying the data from PARTITION to P.
23443
f4917dfd 234442005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
23445
23446 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
23447 negative, unload the module.
23448
23449 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
23450 map is "pc_partition_map" but not "pc".
23451 (usage): Fix the description. The options are --boot-image and
23452 --core-image but not --boot-file or --core-file.
23453 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
23454 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
23455 DEFAULT_DIRECTORY.
23456
23457 * util/i386/pc/grub-install.in: Do not specify --boot-file or
23458 --core-file. Specify INSTALL_DEVICE as an argument.
23459
23460 * util/console.c: Include config.h.
23461 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
23462 [HAVE_NCURSES_H]: Include ncurses.h.
23463 [HAVE_CURSES_H]: Include curses.h.
23464 [!A_NORMAL] (A_NORMAL): Defined as zero.
23465 [!A_STANDOUT] (A_STANDOUT): Likewise.
23466
23467 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
23468 -lncurses.
23469 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
23470
23471 * configure.ac: Check for curses libraries and headers.
23472
23473 * Makefile.in (LIBCURSES): New variable.
23474
23475 * genmk.rb (Script::rule): Set the executable bits.
23476
23477 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
23478 name of the PC partition map is "pc_partition_map" but not "pc".
23479
0e143073 234802005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
23481
23482 * util/i386/pc/grub-install.in (grub_probefs): New variable.
23483 (modules): Likewise.
23484 (usage): Added descriptions for --modules and --grub-probefs.
23485 Handle --modules and --grub-probefs. Save the arguments in MODULES
23486 and GRUB_PROBEFS, respectively.
23487 Auto-detect a filesystem module against GRUBDIR. If the result is
23488 empty and modules are not specified explicitly, abort the
23489 installation. Add the result to MODULES.
23490
23491 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
23492 disk/powerpc/ieee1275/ofdisk.c,
23493 include/grub/powerpc/ieee1275/init.h and
23494 term/powerpc/ieee1275/ofconsole.c.
23495 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
23496 term/ieee1275/ofconsole.c.
23497
23498 * include/grub/powerpc/ieee1275/console.h: Resurrected.
23499
23500 * COPYING: Upgraded to the latest version. Only the address of the
23501 FSF office has changed.
f19dbdb7 23502
efd6e6d5 235032005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
23504
23505 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
23506 kern/ieee1275.c with kern/ieee1275/of.c.
23507
23508 * kern/ieee1275.c: Moved to ...
23509 * kern/ieee1275/of.c: ... here.
23510
8ceafda2 235112005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
23512
23513 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 23514 readability.
8ceafda2 23515
23516 * config.guess: Updated to the latest version from gnulib.
23517 * config.sub: Likewise.
23518 * install.sh: Likewise.
23519 * mkinstalldirs: Likewise.
23520
23521 * include/grub/console.h: Removed. This file is arch-specific. Do
23522 not put this in include/grub.
23523
23524 * include/grub/i386/pc/console.h: Resurrected.
23525
23526 * util/console.c: Include grub/machine/console.h instead of
23527 grub/console.h.
23528 * util/grub-emu.c: Likewise.
23529
267f6cd9 235302005-08-04 Marco Gerards <metgerards@student.han.nl>
23531
23532 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
23533 hardcoded value.
f19dbdb7 23534
267f6cd9 23535 From Vincent Pelletier <subdino2004@yahoo.fr>
23536 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
23537 Redefined to use grub_getwh.
23538 (grub_term): New member named getwh.
23539 (grub_getwh): New prototype.
23540 * kern/term.c (grub_getwh): New function.
23541 * term/i386/pc/console.c (grub_console_getwh): New function.
23542 (grub_console_term): New member `getwh'.
23543 * term/i386/pc/vga.c (grub_vga_getwh): New function.
23544 (grub_vga_term): New member `getwh'.
0b5abe02 23545 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 23546 grub_ssize_t.
23547 (grub_ofconsole_getw): New function.
23548 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
23549 (grub_ofconsole_term): New field named getwh and new initial
23550 value.
23551
3be7266d 235522005-08-03 Hollis Blanchard <hollis@penguinppc.org>
23553
23554 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
23555 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
23556 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
23557 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
23558 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
23559 of <grub/machine/ieee1275.h>.
23560 * commands/ieee1275/reboot.c: Likewise.
23561 * boot/powerpc/ieee1275/ieee1275.c: Move ...
23562 * kern/ieee1275.c: ... to here. All users updated. Change all
23563 parameter structs to use new type `grub_ieee1275_cell_t'.
23564 * term/powerpc/ieee1275/ofconsole.c: Move ...
23565 * term/ieee1275/ofconsole.c: ... to here. All users updated.
23566 * disk/powerpc/ieee1275/ofdisk.c: Move ...
23567 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
23568 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
23569 to return int.
23570 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
23571 Remove unused prototypes. All users updated.
23572 * include/grub/powerpc/ieee1275/console.h: Removed.
23573 * include/grub/powerpc/ieee1275/ieee1275.h: Define
23574 `grub_ieee1275_cell_t'.
23575 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
23576 Cast comparisons with -1 to the correct type.
23577 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
23578 type to match `grub_ieee1275_entry_fn'.
23579
8b5f3938 235802005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
23581
23582 * DISTLIST: Added util/i386/pc/grub-probefs.c.
23583
23584 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
23585 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
23586 partmap/sun.c.
23587 (grub_probefs_SOURCES): New variable.
23588
23589 * util/i386/pc/grub-probefs.c: New file.
23590
23591 * util/i386/pc/grub-setup.c (main): Call
23592 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
23593 grub_hfs_init and grub_jfs_init to initialize the system. Call
23594 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
23595 grub_pc_partition_map_fini to finish the system.
23596
ea409713 235972005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
23598
23599 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
23600 function.
23601 (grub_multiboot_load_elf32): Likewise.
23602 (grub_multiboot_is_elf64): Likewise.
23603 (grub_multiboot_load_elf64): Likewise.
23604 (grub_multiboot_load_elf): Likewise.
23605 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
23606 an ELF32 or ELF64 file.
23607 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
23608
23609 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
23610 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
23611 NULL before calling FS->LABEL.
23612 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
23613 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
23614 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
23615 before calling FS->LABEL.
23616
141a288b 236172005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
23618
23619 * util/i386/pc/grub-install.in (datadir): New variable.
23620 (libdir): Removed.
23621 (pkgdatadir): New variable.
23622 (pkglibdir): Removed.
23623
0d5f8a54 236242005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
23625
23626 * DISTLIST: Added util/i386/pc/grub-install.in.
23627
23628 * util/i386/pc/grub-install.in: New file.
23629
23630 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
23631 (grub_install_SOURCES): Likewise.
23632
23633 * genmk.rb: Added support for scripts.
23634 (Script): New class.
23635 (scripts): New variable.
23636
23637 * Makefile.in (install-local): Install sbin_SCRIPTS by
23638 INSTALL_SCRIPT.
23639 (uninstall): Remove sbin_SCRIPTS.
23640
23641 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
23642 device, try to get a GRUB device by
23643 grub_util_biosdisk_get_grub_dev.
23644 Free DEST_DEV.
23645
23646 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
23647 description for --device-map.
23648
5f968e1e 236492005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
23650
23651 Change the semantics of variable hooks. They now return strings
23652 instead of error values.
f19dbdb7 23653
5f968e1e 23654 * util/i386/pc/grub-setup.c: Include grub/env.h.
23655 (setup): Use grub_device_set_root instead of grub_env_set.
23656
23657 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
23658 grub_env_get instead of grub_device_set_root and
23659 grub_device_get_root, respectively.
23660
23661 * kern/main.c (grub_env_write_root): New function.
23662 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
23663 grub_env_set instead of grub_device_set_root.
23664
23665 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
23666 many variables.
23667 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
23668 rather than calling ENV->WRITE_HOOK afterwards.
23669 (grub_env_get): Return the result of ENV->READ_HOOK rather than
23670 passing a pointer of a pointer.
23671 (grub_register_variable_hook): Change the types of "read_hook" and
23672 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
23673 respectively.
23674 Allocate the default empty string on the heap, because this string
23675 may be freed later.
23676
23677 * kern/device.c: Include grub/env.h.
23678 (grub_device_set_root): Removed.
23679 (grub_device_get_root): Likewise.
23680 (grub_device_open): Use grub_env_get instead of
23681 grub_device_get_root.
23682
23683 * include/grub/env.h (grub_env_read_hook_t): New type.
23684 (grub_env_write_hook_t): Likewise.
23685 (grub_env_var): Change the types of "read_hook" and "write_hook"
23686 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
23687 (grub_register_variable_hook): Likewise.
23688
23689 * include/grub/device.h (grub_device_set_root): Removed.
23690 (grub_device_set_root): Likewise.
23691
23692 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
23693 make sure that DIRNAME terminates with '/', so that
23694 grub_fat_find_dir will fail if PATH is not a directory.
23695
23696 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
23697 from DIRNAME.
23698 Use the qualifier auto for print_files and print_files_long.
23699 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
23700 as a regular file.
23701 Put a newline only if there is no error.
23702 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
23703 used.
23704
896f0afd 237052005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
23706
23707 * kern/partition.c (grub_partition_probe): Initialize PART to
23708 NULL. Otherwise, when no partition map is registered, this returns
23709 a garbage.
23710
b28b81b2 237112005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
23712
23713 * partmap/apple.c (apple_partition_map_iterate): Check if POS
23714 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
23715 valid.
23716
5f3607e0 237172005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
23718
23719 * commands/ls.c (grub_ls_list_disks): Print the filesystem
23720 information on each device, if it does not have partitions. Print
23721 "Device" instead of "Disk", because this function is not specific
23722 to disk devices.
23723
23724 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
23725 static to ensure that it is put on the memory rather than a
23726 register.
23727
502c87e8 237282005-07-17 Yoshinori Okuji <okuji@enbug.org>
23729
23730 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
23731 (grub_cat_init): Likewise.
23732 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
23733 (options): Likewise.
23734 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
23735 (grub_configfile_init): Likewise.
23736 * font/manager.c (GRUB_MOD_INIT): Likewise.
23737 * commands/help.c (GRUB_MOD_INIT): Likewise.
23738 (grub_help_init): Likewise.
23739 * normal/command.c (grub_command_init): Likewise.
23740 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
23741 * disk/loopback.c (grub_loop_init): Likewise.
23742 (GRUB_MOD_INIT): Likewise.
23743 * commands/ls.c (grub_ls_init): Likewise.
23744 (GRUB_MOD_INIT): Likewise.
23745 (options): Likewise.
23746 * commands/boot.c (grub_boot_init): Likewise.
23747 (GRUB_MOD_INIT): Likewise.
23748 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
23749 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
23750 (GRUB_MOD_INIT): Likewise.
23751 * commands/cmp.c (grub_cmp_init): Likewise.
23752 (GRUB_MOD_INIT): Likewise.
23753
23754 * normal/arg.c: Use <> instead of "" to include header files.
23755 (SHORT_ARG_HELP): New macro.
23756 (SHORT_ARG_USAGE): Likewise.
23757 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
23758 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
23759 descriptions.
23760 (find_short): Check if C is 'h' or 'u' explicitly.
23761 (grub_arg_show_help): Use space characters instead of tabs. Treat
23762 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
23763 are shown with --help and --usage only if they are not used for
23764 the command itself.
23765 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
23766 'h' and 'u'.
23767
23768 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
23769 const into "longarg". Change the type of "shortarg" to int.
23770
f806d18e 237712005-07-17 Yoshinori Okuji <okuji@enbug.org>
23772
23773 * boot/i386/pc/boot.S (boot_drive_check): New label.
23774
23775 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
23776 macro.
23777
23778 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
23779 which do not pass a boot drive correctly. Copied from GRUB Legacy.
23780
e293232b 237812005-07-17 Yoshinori Okuji <okuji@enbug.org>
23782
23783 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
23784 When turning off Gate A20, skip the check and return immediately,
23785 because this is not fatal usually.
23786
ebedfd00 237872005-07-17 Yoshinori Okuji <okuji@enbug.org>
23788
23789 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
23790 be 0x7C00 instead of 0x8000.
23791
23792 * boot/i386/pc/pxeboot.S: Rewritten.
23793
23794 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
23795 EXT_C.
23796 (gate_a20_check_state): Read a byte from 0x108000. Invert the
23797 result.
23798
654fc59f 237992005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
23800
23801 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
23802 robustness. This routine now supports a BIOS call and System
23803 Control Port A to modify the gate A20.
23804
23805 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
23806 Increased to 0x440.
23807
09f9923f 238082005-07-12 Hollis Blanchard <hollis@penguinppc.org>
23809
23810 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
23811 device path and resulting ihandle.
23812 (grub_ofdisk_close): dprintf the ihandle being closed.
23813 (grub_ofdisk_read): dprintf function parameters.
23814 * kern/mm.c (grub_mm_init_region): Likewise.
23815 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
23816 (grub_linux_boot): dprintf the Linux entry point, initrd address and
23817 size, and boot arguments.
23818 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
23819 before loading into memory.
23820 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
23821 before loading into memory.
23822
7ef504d8 238232005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
23824
23825 * kern/mm.c: Added much documentation.
23826 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
23827 8, set to 5 instead of 8.
23828
e0f050c2 238292005-07-10 Yoshinori Okuji <okuji@enbug.org>
23830
23831 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
23832
23833 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
23834 (grub_mkdevicemap_SOURCES): New variable.
23835
23836 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
23837 lib/device.c of GRUB Legacy.
23838
7224189a 238392005-07-10 Yoshinori Okuji <okuji@enbug.org>
23840
23841 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
23842 instead of PATH is NULL.
23843
68c864eb 238442005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
23845
23846 * commands/cmp.c (BUFFER_SIZE): New macro.
23847 (grub_cmd_cmp): Close the right file at the right time. Compare
23848 only data just read. Don't report files of different size as
23849 identical. Dynamically allocate buffers. Move variable
23850 declarations at the beginning of function.
23851
e6f3e614 238522005-07-09 Yoshinori Okuji <okuji@enbug.org>
23853
23854 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
23855 reverse.
23856
f8f1559a 238572004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
23858
23859 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
23860 when backspace is pressed at beginning of line.
23861
39c9d41d 238622005-07-03 Yoshinori Okuji <okuji@enbug.org>
23863
23864 * DISTLIST: Added genfslist.sh.
23865
23866 * normal/main.c (fs_module_list): New variable.
23867 (autoload_fs_module): New function.
23868 (read_fs_list): Likewise.
23869 (grub_normal_execute): Call read_fs_list.
23870
23871 * kern/fs.c (grub_fs_autoload_hook): New variable.
23872 (grub_fs_probe): Added support for auto-loading.
23873
23874 * include/grub/normal.h (struct grub_fs_module_list): New struct.
23875 (grub_fs_module_list_t): New type.
23876
23877 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
23878 (grub_fs_autoload_hook): New prototype.
23879
23880 * genfslist.sh: New file.
f19dbdb7 23881
39c9d41d 23882 * genmk.rb: Added a rule to generate a filesystem list.
23883
121c1d83 238842005-06-30 Marco Gerards <metgerards@student.han.nl>
23885
23886 * configure.ac: Fix the test for cross-compiling.
23887
23888 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
23889 define GRUB_UTIL anymore.
23890
23891 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
23892 so this function works on other systems than just big endian.
23893 (load_modules): Likewise.
23894 (add_segments): Likewise.
23895
e75d76e1 238962005-06-23 Hollis Blanchard <hollis@penguinppc.org>
23897
23898 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
23899 contains `l' modifier, get a long from va_arg().
23900
50b5a0a7 239012005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
23902
23903 * kern/mm.c (grub_free): If the next free block which is being
23904 merged is the first free block, set the first block to the block
23905 being freed.
23906 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
23907
89371b20 239082005-05-08 Hollis Blanchard <hollis@penguinppc.org>
23909
23910 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
23911 `grub_ieee1275_chosen'.
23912
168d6e58 239132005-05-08 Hollis Blanchard <hollis@penguinppc.org>
23914
23915 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
23916 (grub_ieee1275_chosen): New variable.
23917 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
23918 `chosen'.
23919 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
23920 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
23921 Rename first argument to `phandle' for consistency.
23922 (grub_ieee1275_get_property_length): Likewise.
23923 (grub_ieee1275_next_property): Likewise. Change type of first argument
23924 to grub_ieee1275_phandle_t.
23925 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
23926 Move export next to declaration.
23927 (grub_ieee1275_chosen): New variable.
23928 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
23929 Correct cosmetic typo.
23930 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
23931 `grub_ieee1275_chosen'.
23932 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
23933 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
23934 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
23935 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
23936 `grub_ieee1275_chosen'.
23937
ca5baa3f 239382005-05-10 Hollis Blanchard <hollis@penguinppc.org>
23939
23940 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
23941 /chosen/bootargs.
23942 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
23943 /chosen/bootargs as "variable=value" pairs.
23944
708b345f 239452005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
23946
23947 * include/grub/misc.h (grub_dprintf): New macro.
23948 (grub_real_dprintf): New prototype.
23949 (grub_strword): Likewise.
23950 (grub_iswordseparator): Likewise.
23951 * kern/misc.c (grub_real_dprintf): New function.
23952 (grub_strword): Likewise.
23953 (grub_iswordseparator): Likewise.
23954
f4c5e67c 239552005-04-30 Hollis Blanchard <hollis@penguinppc.org>
23956
23957 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
23958 (roundup): Remove macro.
23959 (grub_ieee1275_flags): Make static.
23960 (grub_ieee1275_realmode): Remove.
23961 (grub_ieee1275_test_flag): New function.
23962 (grub_ieee1275_set_flag): Likewise.
23963 (find_options): Rename to `grub_ieee1275_find_options'; update
23964 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
23965 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
23966 (cmain): New prototype.
23967 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
23968 `grub_ieee1275_flags' directly.
23969 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
23970 machine/biosdisk.h.
23971 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
23972 Don't include grub/machine/init.h.
23973 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
23974 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
23975 Remove prototype.
23976 (grub_ieee1275_realmode): Likewise.
23977 (grub_ieee1275_flag): New enum.
23978 (grub_ieee1275_test_flag): New prototype.
23979 (grub_ieee1275_set_flag): New prototype.
23980 * include/grub/powerpc/ieee1275/init.h: Remove file.
23981 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
23982 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
23983 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
23984 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
23985 comment.
23986 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
23987 `grub_ieee1275_test_flag'.
23988 (grub_ieee1275_encode_devname): Likewise.
23989
ed16607e 239902005-04-21 Hollis Blanchard <hollis@penguinppc.org>
23991
23992 * include/grub/powerpc/ieee1275/ieee1275.h
23993 (grub_ieee1275_encode_devname): New prototype.
23994 (grub_ieee1275_get_filename): Likewise.
23995 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
23996 function.
23997 (grub_set_prefix): Likewise.
23998 (grub_machine_init): Call grub_set_prefix.
23999 * kern/powerpc/ieee1275/openfw.c: Fix typos.
24000 (grub_parse_type): New enum.
24001 (grub_ieee1275_get_devargs): New function.
24002 (grub_ieee1275_get_devname): Likewise.
24003 (grub_ieee1275_parse_args): Likewise.
24004 (grub_ieee1275_get_filename): Likewise.
24005 (grub_ieee1275_encode_devname): Likewise.
24006
be369920 240072005-03-30 Marco Gerards <metgerards@student.han.nl>
24008
24009 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
24010 `grub_loader_unset'.
24011
a5ce3a4a 240122005-03-26 Hollis Blanchard <hollis@penguinppc.org>
24013
24014 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
24015 instead of grub_ieee1275_interpret.
24016 (grub_halt_init): New function.
24017 (grub_halt_fini): Likewise.
24018 (GRUB_MOD_INIT): Correct message grammar.
24019 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
24020 instead of grub_ieee1275_interpret.
24021 (grub_reboot_init): New function.
24022 (grub_reboot_fini): Likewise.
24023 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
24024 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
24025 util/i386/pc/misc.c with commands/ieee1275/halt.c,
24026 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
24027 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
24028 function.
24029 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
24030 Add prototype.
24031 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
24032 prototype.
24033 (grub_halt): Likewise.
24034 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
24035 (cmain): Remove __attribute__((unused)).
24036 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
24037 (grub_heap_len): Likewise.
24038 (grub_machine_fini): New function.
24039 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
24040 (grub_halt): Likewise.
24041 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
24042 function.
24043 * util/powerpc/ieee1275/misc.c: New file.
24044
0058f771 240452005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
24046
24047 * DISTLIST: New file.
24048 * gendistlist.sh: Likewise.
f19dbdb7 24049
0058f771 24050 * Makefile.in (COMMON_DISTFILES): Removed.
24051 (BOOT_DISTFILES): Likewise.
24052 (CONF_DISTFILES): Likewise.
24053 (DISK_DISTFILES): Likewise.
24054 (FS_DISTFILES): Likewise.
24055 (INCLUDE_DISTFILES): Likewise.
24056 (KERN_DISTFILES): Likewise.
24057 (LOADER_DISTFILES): Likewise.
24058 (TERM_DISTFILES): Likewise.
24059 (UTIL_DISTFILES): Likewise.
24060 (DISTFILES): Likewise.
24061 (uninstall): Uninstall files in $(pkgdata_DATA).
24062 (DISTLIST): New target.
24063 (distdir): Use the contents of the file DISTLIST to get a list of
24064 distributed files.
24065
46b3b8a5 240662005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
24067
24068 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
24069 descriptor. This is ported from GRUB Legacy.
24070
24071 * gencmdlist.sh: Added an extra semicolon to make it work with
24072 old sed versions. Reported by Robert Bihlmeyer
24073 <robbe@orcus.priv.at>.
24074
5822ff87 240752005-03-08 Yoshinori Okuji <okuji@enbug.org>
24076
24077 Automatic loading of commands is supported.
f19dbdb7 24078
5822ff87 24079 * normal/main.c (read_command_list): New function.
24080 (grub_normal_execute): Call read_command_list.
24081
24082 * normal/command.c (grub_register_command): Return zero or CMD.
24083 Allocate CMD->NAME from the heap.
24084 Initialize CMD->MODULE_NAME to zero.
24085 Find the same name as well. If the same command is found and it is
24086 a dummy command, overwrite members. If it is not a dummy command,
24087 return zero.
24088 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
24089 (grub_command_find): If a dummy command is found, load a module
24090 and retry to find a command only once.
24091
24092 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
24093 make sure that each command is loaded.
24094
24095 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
24096 macro.
24097 (struct grub_command): Remove const from the member `name'.
24098 Add a new member `module_name'.
24099 (grub_register_command): Return grub_command_t.
24100
24101 * commands/help.c (grub_cmd_help): Call grub_command_find to make
24102 sure that each command is loaded.
24103
24104 * genmk.rb (PModule::rule): Specify a module name without the
24105 suffix ".mod" to gencmdlist.sh.
24106
7b1f4b57 241072005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
24108
24109 * gencmdlist.sh: New file.
f19dbdb7 24110
7b1f4b57 24111 * genmk.rb (PModule::rule): Generate a rule for a command list.
24112 Clean command.lst.
24113 Generate command.lst from $(COMMANDFILES).
24114
24115 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
24116 (DATA): Added $(pkgdata_DATA).
24117 (install-local): Install files in $(pkgdata_DATA).
24118
062aaf39 241192005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
24120
24121 * term/i386/pc/vga.c (debug_command): Removed.
24122 (GRUB_MOD_INIT): Do not register the command "debug".
24123
24124 From Hollis Blanchard:
24125 * commands/configfile.c: New file.
24126 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
24127 commands/configfile.c.
24128 (pkgdata_MODULES): Added configfile.mod.
24129 (configfile_mod_SOURCES): New variable.
24130 (configfile_mod_CFLAGS): Likewise.
24131 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
24132 commands/configfile.c.
24133 (pkgdata_MODULES): Added configfile.mod.
24134 (configfile_mod_SOURCES): New variable.
24135 (configfile_mod_CFLAGS): Likewise.
24136 * util/grub-emu.c (main): Call grub_configfile_init and
24137 grub_configfile_fini.
24138 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
24139 prototype.
24140 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 24141
cee01aa6 241422005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
24143
24144 * normal/arg.c (grub_arg_show_help): Do not show the bug report
24145 address.
24146
24147 * commands/help.c (grub_cmd_help): Do not print newlines after
24148 the last command in print_command_help.
24149
93f3a1d8 241502005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
24151
24152 * commands/default.h: New file.
24153 * commands/timeout.h: Likewise.
24154 * normal/context.c: Likewise.
f19dbdb7 24155
93f3a1d8 24156 * util/misc.c: Do not include sys/times.h.
24157 Include sys/time.h and grub/machine/time.h.
24158 (grub_get_rtc): Rewritten with gettimeofday.
24159
24160 * util/grub-emu.c (main): Call grub_default_init and
24161 grub_timeout_init before grub_normal_init, and call
24162 grub_timeout_fini and grub_default_fini after grub_main.
24163
24164 * util/console.c (grub_ncurses_checkkey): Return the read
24165 character or -1.
24166
24167 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
24168 timeouts.
24169
24170 * normal/main.c (read_config_file): Push MENU. If this fails,
24171 print an error and wait for a user input.
24172 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
24173 If a menu is empty or an error occurs, pop MENU.
24174 (grub_normal_execute): Pop and free MENU after grub_menu_run
24175 returns.
24176
24177 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
24178
24179 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
24180 include time.h.
24181 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
24182 without GRUB_UTIL.
24183 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
24184 time.h.
24185 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
24186 without GRUB_UTIL.
24187
24188 * include/grub/normal.h (struct grub_menu_list): New struct.
24189 (grub_menu_list_t): New type.
24190 (struct grub_context): New struct.
24191 (grub_context_t): New type.
24192 (grub_register_command): Got rid of EXPORT_FUNC.
24193 (grub_unregister_command): Likewise.
24194 (grub_context_get): New prototype.
24195 (grub_context_get_current_menu): Likewise.
24196 (grub_context_push_menu): Likewise.
24197 (grub_context_pop_menu): Likewise.
24198 [GRUB_UTIL] (grub_default_init): Likewise.
24199 [GRUB_UTIL] (grub_default_fini): Likewise.
24200 [GRUB_UTIL] (grub_timeout_init): Likewise.
24201 [GRUB_UTIL] (grub_timeout_fini): Likewise.
24202
24203 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
24204 commands/timeout.c and normal/context.c.
24205 (pkgdata_MODULES): Added default.mod and timeout.mod.
24206 (normal_mod_SOURCES): Added normal/context.c.
24207 (default_mod_SOURCES): New variable.
24208 (default_mod_CFLAGS): Likewise.
24209 (timeout_mod_SOURCES): Likewise.
24210 (timeout_mod_CFLAGS): Likewise.
24211 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
24212 conf/i386-pc.rmk.
24213 (pkgdata_MODULES): Added default.mod and timeout.mod.
24214 (normal_mod_SOURCES): Added normal/context.c.
24215 (default_mod_SOURCES): New variable.
24216 (default_mod_CFLAGS): Likewise.
24217 (timeout_mod_SOURCES): Likewise.
24218 (timeout_mod_CFLAGS): Likewise.
24219
24220 * Makefile.in (all-local): Added $(MKFILES).
24221
4ed2e1dd 242222005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
24223
24224 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
24225 (grub_emu_SOURCES): Likewise.
24226 (pkgdata_MODULES): Add `sun.mod'.
24227 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
24228 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
24229 `partmap/sun.c'.
24230 (pkgdata_MODULES): Add `sun.mod'.
24231 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
24232 * include/grub/partition.h (grub_sun_partition_map_init): New
24233 prototype.
24234 (grub_sun_partition_map_fini): Likewise.
24235 * partmap/sun.c: New file.
24236 * util/grub-emu.c (main): Initialize and de-initialize the sun
24237 partitionmap support.
24238
4d4e372e 242392005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
24240
24241 This implements an Emacs-like menu entry editor.
f19dbdb7 24242
4d4e372e 24243 * normal/menu_entry.c: New file.
f19dbdb7 24244
4d4e372e 24245 * util/console.c (grub_ncurses_putchar): Translate some Unicode
24246 characters to ASCII.
24247 (saved_char): New variable.
24248 (grub_ncurses_checkkey): Rewritten completely.
24249 (grub_ncurses_getkey): Likewise.
24250 (grub_ncurses_init): Call raw instead of cbreak.
24251
24252 * normal/menu.c (print_entry): Do not put a space.
24253 (init_page): Renamed to ...
24254 (grub_menu_init_page): ... this. All callers changed.
24255 (edit_menu_entry): Removed.
24256 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
24257
24258 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
24259
24260 * kern/misc.c (grub_vprintf): Call grub_refresh.
24261
24262 * normal/menu.c (DISP_LEFT): Renamed to ...
24263 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
24264 * normal/menu.c (DISP_UP): Renamed to ...
24265 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
24266 * normal/menu.c (DISP_RIGHT): Renamed to ...
24267 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
24268 * normal/menu.c (DISP_DOWN): Renamed to ...
24269 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
24270 * normal/menu.c (DISP_HLINE): Renamed to ...
24271 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
24272 * normal/menu.c (DISP_VLINE): Renamed to ...
24273 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
24274 * normal/menu.c (DISP_UL): Renamed to ...
24275 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
24276 * normal/menu.c (DISP_UR): Renamed to ...
24277 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
24278 * normal/menu.c (DISP_LL): Renamed to ...
24279 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
24280 * normal/menu.c (DISP_LR): Renamed to ...
24281 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
24282 * normal/menu.c (TERM_WIDTH): Renamed to ...
24283 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
24284 * normal/menu.c (TERM_HEIGHT): Renamed to ...
24285 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
24286 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
24287 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
24288 * normal/menu.c (TERM_MARGIN): Renamed to ...
24289 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
24290 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
24291 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
24292 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
24293 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
24294 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
24295 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
24296 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
24297 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
24298 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
24299 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
24300 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
24301 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
24302 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
24303 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
24304 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
24305 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
24306 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
24307 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
24308 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
24309 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
24310 All callers changed.
24311
24312 * include/grub/normal.h: New prototype.
24313
24314 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
24315 normal/menu_entry.c.
24316 (normal_mod_SOURCES): Likewise.
24317 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
24318 (normal_mod_SOURCES): Likewise.
24319
e6b92c8a 243202005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
24321
24322 * include/grub/normal.h (grub_halt_init): New prototype.
24323 (grub_halt_fini): Likewise.
24324 (grub_reboot_init): Likewise.
24325 (grub_reboot_fini): Likewise.
24326
24327 * util/grub-emu.c: Include signal.h.
24328 (main_env): New global variable.
24329 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
24330 catch C-c.
24331 (grub_machine_fini): New function.
24332 (main): Call grub_halt_init and grub_reboot_init before
24333 grub_main, and grub_reboot_fini and grub_halt_fini after it.
24334 Call setjmp with MAIN_ENV to go back afterwards.
24335 Call grub_machine_fini right before return.
24336
24337 * include/grub/util/misc.h: Include setjmp.h.
24338 (main_env): New prototype.
24339
24340 * include/grub/kernel.h (grub_machine_fini): New prototype.
24341 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
24342 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
24343
24344 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
24345 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
24346 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 24347
e6b92c8a 24348 * util/i386/pc/misc.c: New file.
f19dbdb7 24349
e6b92c8a 24350 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
24351 util/i386/pc/misc.c, commands/i386/pc/halt.c and
24352 commands/i386/pc/reboot.c.
24353
c642636f 243542005-02-14 Guillem Jover <guillem@hadrons.org>
24355
24356 * include/grub/dl.h (grub_dl_check_header): New prototype.
24357 (grub_arch_dl_check_header): Change return type to grub_err_t,
24358 remove size parameter and export function. Update all callers.
24359 * kern/dl.c (grub_dl_check_header): New function.
24360 (grub_dl_load_core): Use `grub_dl_check_header' instead of
24361 `grub_arch_dl_check_header'. Check ELF type. Check if sections
24362 are inside the core.
24363 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
24364 independent ELF header checks.
24365 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
24366 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
24367 `grub_dl_check_header' instead of explicit checks. Check for the
24368 ELF type.
24369 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
24370 `grub_dl_check_header' instead of explicit checks. Remove arch
24371 specific ELF header checks.
24372
e6b92c8a 24373 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
24374 argument SIZE.
24375
5eabe94b 243762005-02-13 Hollis Blanchard <hollis@penguinppc.org>
24377
24378 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
24379 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
24380
1b14a681 243812005-02-12 Hollis Blanchard <hollis@penguinppc.org>
24382
24383 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 24384 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 24385 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 24386 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 24387 * partmap/amiga.c (amiga_partition_map_iterate): Return
24388 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
24389 * partmap/apple.c (apple_partition_map_iterate): Likewise.
24390
aca108aa 243912005-02-01 Guillem Jover <guillem@hadrons.org>
24392
24393 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
24394 help info.
24395
c9f9c556 243962005-01-31 Marco Gerards <metgerards@student.han.nl>
24397
24398 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
24399 Removed prototype.
24400 (grub_rescue_cmd_linux): New prototype.
24401 (grub_rescue_cmd_initrd): Likewise.
24402 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
24403 `bi_rec'.
24404 (grub_linux_release_mem): Release the memory for the initrd.
24405 (grub_load_linux): Renamed from this...
24406 (grub_rescue_cmd_linux): ...To this. Changed all callers.
24407 Changed `entry' not to be static. Loop over memory regions to
24408 find another one when the default fails.
24409 (grub_rescue_cmd_initrd): New function.
24410 (grub_linux_init): Remove function.
24411 (grub_linux_fini): Likewise.
24412 (GRUB_MOD_INIT): Register `initrd'.
24413 (GRUB_MOD_FINI): Unregister `initrd'.
24414 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
24415 Function removed.
24416 (grub_linux_normal_fini): Likewise.
24417 (GRUB_MOD_INIT): Register `initrd'.
24418 (GRUB_MOD_FINI): Unregister `initrd'.
24419
990cf3aa 244202005-01-31 Marco Gerards <metgerards@student.han.nl>
24421
24422 * commands/help.c: New file.
24423 * normal/arg.c (show_help): Renamed to...
24424 (grub_arg_show_help): ... this.
24425 * commands/i386/pc/halt.c: New file.
24426 * commands/i386/pc/reboot.c: Likewise.
24427 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
24428 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
24429 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
24430 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
24431 variables.
24432 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
24433 `commands/help.c'.
24434 (pkgdata_MODULES): Add `help.mod'.
24435 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
24436 * grub/i386/pc/init.h (grub_reboot): New prototype.
24437 (grub_halt): Likewise.
24438 * include/grub/normal.h (grub_arg_show_help): New prototype.
24439 (grub_help_init): Likewise.
24440 (grub_help_fini): Likewise.
24441 * util/grub-emu.c (main): Initialize and deinitialize the help
24442 command.
24443
24444 * normal/cmdline.c (grub_cmdline_get): Doc fix.
24445
24446 * normal/command.c (grub_command_init): Fixed the description of
24447 the `set' and `unset' commands.
24448
244492005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 24450
24451 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
24452 function.
24453 * commands/ieee1275/halt.c: New file.
24454 * commands/ieee1275/reboot.c: Likewise.
24455 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
24456 `__attribute__ ((unused))'. Some GCS related fixed.
24457 (grub_suspend_init) [GRUB_UTIL]: Function removed.
24458 (grub_suspend_fini): Likewise.
24459 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
24460 and `halt.mod'.
24461 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
24462 (halt_mod_CFLAGS): New variables.
24463 * include/grub/powerpc/ieee1275/ieee1275.h
24464 (grub_ieee1275_interpret): New prototype.
24465
1ab09cc7 244662005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
24467
24468 * include/grub/misc.h (memmove): New prototype.
24469 (memcpy): Likewise.
24470
8b8cbdb2 244712005-01-22 Hollis Blanchard <hollis@penguinppc.org>
24472
24473 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
24474 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
24475
e3741a27 244762005-01-22 Marco Gerards <metgerards@student.han.nl>
24477
24478 * kern/misc.c (grub_strndup): Function rewritten.
24479
776bd780 244802005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
24481
24482 * normal/menu.c (TERM_WIDTH): Macro redefined.
24483 (TERM_TOP_BORDER_Y): Likewise.
24484 (draw_border): Replaced while-loop by a for-loop. Make the number
24485 of lines consistent with the number of lines displayed in
24486 print_entries. Added a margin below the rectangle.
24487 (print_entry): Make the entry fit in the rectangle.
24488 (print_entries): Display the scroll arrows next to the right
24489 border.
24490
78026bce 244912005-01-21 Marco Gerards <metgerards@student.han.nl>
24492
24493 * fs/minix.c (grub_minix_find_file): Reserve more space for
24494 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
24495 `grub_strncpy' to copy `path' into it.
24496
67bbaf0f 244972005-01-21 Marco Gerards <metgerards@student.han.nl>
24498
24499 Add the loopback device, a device via which files can be accessed
24500 as devices.
f19dbdb7 24501
67bbaf0f 24502 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
24503 (pkgdata_MODULES): Add loopback.mod.
24504 (loopback_mod_SOURCES): New variable.
24505 (loopback_mod_CFLAGS): Likewise.
24506 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
24507 `disk/loopback.c'.
24508 (pkgdata_MODULES): Add loopback.mod.
24509 (loopback_mod_SOURCES): New variable.
24510 (loopback_mod_CFLAGS): Likewise.
24511 * disk/loopback.c: new file.
24512 * include/grub/normal.h (grub_loop_init): New prototype.
24513 (grub_loop_fini): New prototype.
24514 * util/grub-emu.c (main): Initialize and de-initialize loopback
24515 support.
24516 * include/grub/disk.h (grub_disk_dev_id): Add
24517 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
24518
6f1c18bd 245192005-01-20 Hollis Blanchard <hollis@penguinppc.org>
24520
24521 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
24522 function.
24523 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
24524 (suspend_mod_SOURCES): New variable.
24525 (suspend_mod_CFLAGS): Likewise.
24526 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
24527 New prototype.
24528 * commands/ieee1275/suspend.c: New file.
24529
b38551da 245302005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
24531
24532 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 24533 ((unused))' to `__attribute__ ((used))'.
b38551da 24534 (GRUB_MOD_FINI): Likewise.
24535 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
24536 * genmk.rb (PModule): Assign space to common symbols when linking
24537 modules.
24538
777aff39 245392005-01-20 Marco Gerards <metgerards@student.han.nl>
24540
24541 * include/grub/mm.h (grub_mm_init_region): Change the type of the
24542 `unsigned' arguments to `grub_size_t'.
24543 (grub_malloc): Likewise.
24544 (grub_realloc): Likewise.
24545 (grub_memalign): Likewise.
24546 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
24547 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
24548 * util/misc.c (grub_malloc): Likewise.
24549 (grub_realloc): Likewise.
24550 * kern/mm.c (get_header_from_pointer): Change the casts to
24551 `unsigned' into a cast to `grub_size_t'.
24552
24553 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
24554 point to `currnode' when `currnode' is changed.
24555
24556 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
24557 Schottelius <nico-linux@schottelius.org>.
24558
d0ff18e1 245592005-01-09 Hollis Blanchard <hollis@penguinppc.org>
24560
24561 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
24562 (note_path): Remove variable.
24563 (GRUB_IEEE1275_NOTE_NAME): New macro.
24564 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
24565 (grub_ieee1275_note_hdr): New structure.
24566 (grub_ieee1275_note_desc): Likewise.
24567 (grub_ieee1275_note): Likewise.
24568 (load_note): Remove `dir' argument. All callers updated. Remove
24569 `note_img' and `path'. Do not load a file from `note_path'.
24570 Initialize a struct grub_ieee1275_note and write that to `out'.
24571 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
24572
4ca7004c 245732005-01-05 Marco Gerards <metgerards@student.han.nl>
24574
24575 * util/misc.c (grub_util_read_image): Revert last change. It
24576 called `grub_util_read_at', which seeks from the beginning of the
24577 file.
24578
0b412211 245792005-01-04 Hollis Blanchard <hollis@penguinppc.org>
24580
24581 * TODO: Add note about endianness in grub-mkimage.
24582 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
24583 section.
24584 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
24585 (grub_mkimage_SOURCES): New target.
24586 * include/grub/kernel.h (grub_start_addr): Remove variable.
24587 (grub_end_addr): Likewise.
24588 (grub_total_module_size): Likewise.
24589 (grub_kernel_image_size): Likewise.
24590 (GRUB_MODULE_MAGIC): New constant.
24591 (grub_module_info): New structure.
24592 (grub_arch_modules_addr): New prototype.
24593 (grub_get_end_addr): Remove prototype.
24594 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
24595 * include/grub/powerpc/ieee1275/kernel.h: New file.
24596 * include/grub/util/misc.h (grub_util_get_fp_size): New
24597 prototype.
24598 (grub_util_read_at): Likewise.
24599 (grub_util_write_image_at): Likewise.
24600 * kern/main.c (grub_get_end_addr): Remove function.
24601 (grub_load_modules): Call grub_arch_modules_addr instead of using
24602 grub_end_addr. Look for a grub_module_info struct in memory. Use
24603 the grub_module_info fields instead of calling grub_get_end_addr
24604 as loop conditions. Move grub_add_unused_region code here.
24605 (grub_add_unused_region): Remove function.
24606 * kern/i386/pc/init.c: Include grub/cache.h.
24607 (grub_machine_init): Remove call to grub_get_end_addr. Remove
24608 one call to add_mem_region.
24609 (grub_arch_modules_addr): New function.
24610 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
24611 (grub_total_module_size): Likewise.
24612 Include grub/machine/kernel.h.
24613 (grub_arch_modules_addr): New function.
24614 * util/grub-emu.c (grub_end_addr): Remove variable.
24615 (grub_total_module_size): Likewise.
24616 (grub_arch_modules_addr): New function.
24617 * util/misc.c: Include unistd.h.
24618 (grub_util_get_fp_size): New function.
24619 (grub_util_read_at): Likewise.
24620 (grub_util_write_image_at): Likewise.
24621 (grub_util_read_image): Call grub_util_read_at.
24622 (grub_util_write_image): Call grub_util_write_image_at.
24623 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
24624 additional memory in kernel_img for a struct grub_module_info.
24625 Fill in that grub_module_info.
24626 * util/powerpc/ieee1275/grub-mkimage.c: New file.
24627
458786f8 246282005-01-03 Hollis Blanchard <hollis@penguinppc.org>
24629
24630 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
24631 New function.
24632 * include/grub/powerpc/ieee1275/ieee1275.h
24633 (grub_ieee1275_milliseconds): New prototype.
24634 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
24635 Change to 1000.
24636 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
24637 grub_ieee1275_milliseconds.
24638
ac507d1b 246392005-01-03 Hollis Blanchard <hollis@penguinppc.org>
24640
24641 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
24642 variable.
24643 (find_options): New function.
24644 (cmain): Call find_options.
24645 * include/grub/powerpc/ieee1275/ieee1275.h
24646 (grub_ieee1275_realmode): New extern variable.
24647 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
24648 grub_map if grub_ieee1275_realmode is false.
24649
6b8fd1c4 246502004-12-29 Marco Gerards <metgerards@student.han.nl>
24651
24652 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
24653 lines are inserted and make it work like readline. Reported by
24654 Vincent Pelletier <subdino2004@yahoo.fr>.
24655
8514a1e0 246562004-12-28 Marco Gerards <metgerards@student.han.nl>
24657
24658 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
24659
24660 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
24661 `kern/powerpc/cache.S'.
24662
924b6140 246632004-12-27 Marco Gerards <metgerards@student.han.nl>
24664
24665 * genmk.rb: Handle the `Program' class in the main loop. Written
24666 by Johan Rydberg <jrydberg@gnu.org>.
24667 (Program): New class.
24668 (programs): New variable.
24669 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
24670 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
24671 instead of "grub/kernel.h". Include <grub/machine/init.h>.
24672 (help_arch): Function removed.
24673 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
24674 `powerpc/libgcc.h' and `loader.h'.
24675 (pkgdata_PROGRAMS): New variable.
24676 (sbin_UTILITIES): Variable removed.
24677 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
24678 (grubof_SOURCES): Variable re-defined so it only includes the
24679 core functionality.
24680 (grubof_CFLAGS): Remove `-DGRUBOF'.
24681 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
24682 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
24683 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
24684 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
24685 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
24686 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
24687 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
24688 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
24689 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
24690 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
24691 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
24692 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
24693 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
24694 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
24695 (pc_mod_CFLAGS): New variables.
24696 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
24697 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
24698 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
24699 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
24700 Moved from here...
24701 * include/grub/i386/pc/init.h (grub_os_area_addr)
24702 (rub_os_area_size): ... to here.
24703 * include/grub/powerpc/ieee1275/ieee1275.h
24704 (grub_ieee1275_entry_fn): Export symbol.
24705 * include/grub/powerpc/ieee1275/init.h: New file.
24706 * include/grub/powerpc/libgcc.h: Likewise.
24707 * include/grub/cache.h: Likewise.
24708 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
24709 <hollis@penguinppc.org>.
24710 * kern/dl.c: Include <grub/cache.h>.
24711 (grub_dl_flush_cache): New function.
24712 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
24713 for this module.
24714 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
24715 (grub_console_init): Removed prototypes.
24716 (grub_machine_init): Don't initialize the modules anymore.
24717 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
24718 static.
24719 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
24720 Macro undef removed.
24721 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
24722 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
24723 relocation `R_PPC_REL32'. Return an error when the relocation is
24724 unknown.
24725 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
24726 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
24727 * util/misc.c (grub_arch_sync_caches): Likewise.
24728
e4b47e0c 247292004-12-19 Marco Gerards <metgerards@student.han.nl>
24730
24731 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
24732 `symlist.c', add `grubof_symlist.c'.
24733 (symlist.c): Variable removed.
24734 (grubof_HEADERS): Variable added.
24735 (grubof_symlist.c): New target.
24736 (kernel_syms.lst): Use `grubof_HEADERS' instead of
24737 `kernel_img_HEADERS'.
24738 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
24739 * kern/powerpc/dl.c: New file.
24740 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
24741 Function removed.
24742 (grub_arch_dl_relocate_symbols): Likewise.
24743 (grub_register_exported_symbols): Likewise.
24744
4ceb3636 247452004-12-13 Marco Gerards <metgerards@student.han.nl>
24746
24747 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
24748 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
24749 to fail instead. Reported by Vincent Pelletier
24750 <subdino2004@yahoo.fr>.
24751
24752 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
24753 it is not allocated. Reported by Vincent Pelletier
24754 <subdino2004@yahoo.fr>.
24755
24756 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
24757 output so the output looks better.
f19dbdb7 24758
3f1578fe 247592004-12-04 Marco Gerards <metgerards@student.han.nl>
24760
24761 Modulize the partition map support and add support for the amiga
24762 partition map.
f19dbdb7 24763
3f1578fe 24764 * commands/ls.c: Include <grub/partition.h> instead of
24765 <grub/machine/partition.h>.
24766 * kern/disk.c: Likewise.
24767 * kern/rescue.c: Likewise.
24768 * loader/i386/pc/chainloader.c: Likewise.
24769 * normal/cmdline.c: Likewise.
24770 * kern/powerpc/ieee1275/init.c: Likewise.
24771 (grub_machine_init): Call `grub_pc_partition_map_init',
24772 `grub_amiga_partition_map_init' and
24773 `grub_apple_partition_map_init'.
24774 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
24775 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
24776 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
24777 `partition.h' and `pc_partition.h'.
24778 (grub_setup_SOURCES): Remove
24779 `disk/i386/pc/partition.c'. Add `kern/partition.c',
24780 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
24781 (grub_emu_SOURCES): Likewise.
24782 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
24783 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
24784 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
24785 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
24786 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
24787 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
24788 (grubof_SOURCES): Likewise.
24789 * disk/i386/pc/partition.c: File removed.
24790 * disk/powerpc/ieee1275/partition.c: Likewise.
24791 * include/grub/powerpc/ieee1275/partition.h: Likewise.
24792 * include/grub/i386/pc/partition.h: Likewise.
24793 * kern/partition.c: New file.
24794 * partmap/amiga.c: Likewise.
24795 * partmap/apple.c: Likewise.
24796 * partmap/pc.c: Likewise.
24797 * include/grub/partition.h: Likewise..
24798 * include/grub/pc_partition.h: Likewise.
24799 * util/grub-emu.c: Include <grub/partition.h> instead of
24800 <grub/machine/partition.h>.
24801 (main): Call `grub_pc_partition_map_init',
24802 `grub_amiga_partition_map_init' and
24803 `grub_apple_partition_map_init' and deinitialize afterwards.
24804 * util/i386/pc/biosdisk.c: Include `#include
24805 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
24806 `<grub/machine/partition.h>'.
24807 * util/i386/pc/grub-setup.c: Likewise.
24808 * util/i386/pc/biosdisk.c: Likewise.
24809 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
24810 partition information in case of a PC partition.
24811 * util/i386/pc/grub-setup.c: Include `#include
24812 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
24813 `<grub/machine/partition.h>'.
24814 (setup): Only access the PC specific partition information in case
24815 of a PC partition.
24816
0ef4ced9 248172004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 24818
0ef4ced9 24819 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
24820 (grub_longjmp): Likewise.
24821 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
24822 20.
24823 * normal/powerpc/setjmp.S: New file.
24824 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
24825 `normal/powerpc/setjmp.S'.
24826 (grubof_CFLAGS): Add `-DGRUBOF'.
24827 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
24828 [GRUB_UTIL && !GRUBOF].
f19dbdb7 24829
19950e29 248302004-11-16 Marco Gerards <metgerards@student.han.nl>
24831
24832 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
24833 property named `name'. Correctly handle the error returned by
24834 `grub_ieee1275_finddevice' if a device can not be opened.
24835
a2fea427 248362004-11-02 Hollis Blanchard <hollis@penguinppc.org>
24837
24838 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
24839 `actual' for negativity.
24840 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
24841 kern/fshelp.c.
24842
41ea0ea3 248432004-11-01 Marco Gerards <metgerards@student.han.nl>
24844
24845 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
24846 (PAGE_OFFSET): New macro.
24847 (CRTC_ADDR_PORT): Likewise.
24848 (CRTC_DATA_PORT): Likewise.
24849 (START_ADDR_HIGH_REGISTER): Likewise.
24850 (START_ADDR_LOW_REGISTER): Likewise.
24851 (GRAPHICS_ADDR_PORT): Likewise.
24852 (GRAPHICS_DATA_PORT): Likewise.
24853 (READ_MAP_REGISTER): Likewise.
24854 (INPUT_STATUS1_REGISTER): Likewise.
24855 (INPUT_STATUS1_VERTR_BIT): Likewise.
24856 (page): New variable.
24857 (wait_vretrace): New function.
24858 (set_read_map): Likewise.
24859 (set_start_address): Likewise.
24860 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
24861 the right page.
24862 (check_vga_mem): Take the page into account.
24863 (write_char): Likewise.
24864 (write_cursor): Likewise.
24865 (scroll_up): Likewise. Copy the page to the page that is not
24866 shown and switch between both pages.
24867 (grub_vga_putchar): Fix off by one error.
24868 (grub_vga_cls): Wait for the vertical retrace. Take the page into
24869 account.
24870
ad0bd20b 248712004-11-01 Marco Gerards <metgerards@student.han.nl>
24872
24873 Add support for iso9660 (including rockridge).
f19dbdb7 24874
ad0bd20b 24875 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
24876 (iso9660_mod_SOURCES): New variable.
24877 (iso9660_mod_CFLAGS): Likewise.
24878 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
24879 * include/grub/fs.h (grub_iso9660_init): New prototype.
24880 * util/grub-emu.c (main): Call `grub_iso9660_init'.
24881 * fs/iso9660.c: New file.
24882
24883 * include/grub/misc.h (grub_strncat): New prototype.
24884 * kern/misc.c (grub_strncat): New function.
f19dbdb7 24885
ad0bd20b 24886 * fs/hfs.c (grub_hfs_mount): Translate the error
24887 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
24888 * fs/jfs.c (grub_jfs_mount): Likewise.
24889 * fs/ufs.c (grub_ufs_mount): Likewise.
24890
a5477a59 248912004-10-28 Hollis Blanchard <hollis@penguinppc.org>
24892
24893 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
24894 which initialized BAT registers.
24895 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
24896 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
24897 Move from here...
24898 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
24899 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
24900 ... to here.
24901 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
24902 (grub_mapclaim): Likewise.
24903 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
24904 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
24905 hand.
24906
9304c1f8 249072004-10-19 Hollis Blanchard <hollis@penguinppc.org>
24908
24909 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
24910 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
24911 -ffreestanding and -msoft-float.
24912
86f4ae25 249132004-10-15 Hollis Blanchard <hollis@penguinppc.org>
24914
24915 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
24916 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
24917 set in grub_ieee1275_flags.
24918
38912228 249192004-10-14 Hollis Blanchard <hollis@penguinppc.org>
24920
24921 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
24922 prototype.
24923 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
24924 grub_console_init first.
24925 Change the memory range used for grub_ieee1275_claim and
24926 grub_mm_init_region.
24927 Print an error message if the claim fails.
24928 Include <grub/misc.h>.
24929
d1923dc8 249302004-10-13 Hollis Blanchard <hollis@penguinppc.org>
24931
24932 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
24933 Call grub_children_iterate for device nodes of type `scsi',
24934 `ide', or `ata'.
24935 (grub_ofdisk_open): Remove manual device alias resolution.
24936 Fix memory leak when device cannot be opened.
f19dbdb7 24937 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 24938 (grub_children_iterate): New prototype.
24939 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
24940 New function.
24941 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
24942 Return -1 if args.size was -1.
24943
4512e4f3 249442004-10-11 Hollis Blanchard <hollis@penguinppc.org>
24945
24946 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
24947 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
24948 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
24949 Open Firmware's memory for it; claim memory from _start to _end.
24950 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
24951 (_end): New extern.
24952 (_start): Zero BSS from __bss_start to _end.
24953 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
24954 New extern.
24955 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
24956
4d61feb0 249572004-10-11 Hollis Blanchard <hollis@penguinppc.org>
24958
ad0bd20b 24959 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
24960 -1 if args.base was -1.
4d61feb0 24961
026fa2f9 249622004-10-08 Hollis Blanchard <hollis@penguinppc.org>
24963
24964 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
24965 escape sequence instead of a literal ^L. Also call
24966 grub_ofconsole_gotoxy.
24967
9f2220ef 249682004-10-03 Hollis Blanchard <hollis@penguinppc.org>
24969
24970 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
24971 void * arguments to grub_addr_t. All callers updated. Also make
24972 the `result' argument optional.
24973 (grub_ieee1275_release): change void * arguments to grub_addr_t.
24974 All callers updated.
24975
8a572cd7 249762004-09-22 Hollis Blanchard <hollis@penguinppc.org>
24977
24978 * commands/ls.c (grub_ls_list_files): Use the string following the
24979 initial ')', if present, as the filesystem path.
24980 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
24981
24982 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
24983
18aa81f2 249842004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
24985
24986 Make the source code of the menu interface more readable.
f19dbdb7 24987
18aa81f2 24988 * normal/menu.c: Include grub/mm.h.
24989 (TERM_WIDTH): New macro.
24990 (TERM_HEIGHT): Likewise.
24991 (TERM_INFO_HEIGHT): Likewise.
24992 (TERM_MARGIN): Likewise.
24993 (TERM_SCROLL_WIDTH): Likewise.
24994 (TERM_TOP_BORDER_Y): Likewise.
24995 (TERM_LEFT_BORDER_X): Likewise.
24996 (TERM_BORDER_WIDTH): Likewise.
24997 (TERM_MESSAGE_HEIGHT): Likewise.
24998 (TERM_BORDER_HEIGHT): Likewise.
24999 (TERM_NUM_ENTRIES): Likewise.
25000 (TERM_FIRST_ENTRY_Y): Likewise.
25001 (TERM_ENTRY_WIDTH): Likewise.
25002 (TERM_CURSOR_X): Likewise.
25003 (draw_border): Use macros instead of magic numbers.
25004 (print_entry): Likewise.
25005 (print_entries): Likewise.
25006 (run_menu): Likewise. Also, handle the key 'e'.
25007 (run_menu_entry): Ignore empty command lines.
25008 (print_message): Added a new argument EDIT. If EDIT is true,
25009 print a different message.
25010 (init_page): Likewise.
25011 (edit_menu_entry): New function. Not implemented yet.
25012
b47efe30 250132004-09-17 Marco Gerards <metgerards@student.han.nl>
25014
25015 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
25016 can be loaded from normal mode.
f19dbdb7 25017
b47efe30 25018 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
25019 `multiboot.mod'.
25020 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
25021 (multiboot_mod_CFLAGS): New variables.
25022 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 25023 * loader/i386/pc/multiboot_normal.c: Likewise.
25024
b47efe30 25025 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
25026 attribute `unused'.
f19dbdb7 25027
b47efe30 25028 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
25029 `fdiro' to read the mode information from instead of `diro'.
25030
25031 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
25032 looking up a symlink.
25033
25034 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
25035 macro.
25036 * normal/command.c (grub_command_execute): Don't parse the
25037 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
25038 flags of the command.
25039
25040 * normal/menu.c (grub_menu_run): Fix typo.
25041
da75ac71 250422004-09-14 Hollis Blanchard <hollis@penguinppc.org>
25043
25044 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
25045
25046 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
25047 `y + 1' instead of `y - 1'.
25048
25049 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 25050
062b24c2 250512004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
25052
25053 From Hollis Blanchard <hollis@penguinppc.org>:
25054 * kern/misc.c (memmove): New alias for grub_memmove.
25055 (memcmp): New alias for grub_memcmp.
25056 (memset): New alias for grub_memset.
f19dbdb7 25057 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 25058 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 25059 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 25060 (grub_ieee1275_get_property): Likewise.
f19dbdb7 25061
8ddad845 250622004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
25063
25064 Added normal mode command `chainloader' as module chain.mod, which
25065 depends on normal.mod and _chain.mod.
f19dbdb7 25066
8ddad845 25067 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
25068 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
25069 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
25070 Deleted prototype.
25071 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
25072 but arguments parsing moved to ...
25073 (grub_chainloader_cmd): ... here. New function.
25074 * include/grub/i386/pc/chainloader.h: New file.
25075 * loader/i386/pc/chainloader_normal.c: Likewise.
25076
2c1f4ce3 250772004-09-11 Marco Gerards <metgerards@student.han.nl>
25078
25079 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
25080 (grub_mkimage_LDFLAGS): Likewise.
25081 (grub_emu_SOURCES): Likewise.
25082 (kernel_img_HEADERS): Added fshelp.h.
25083 * fs/ext2.c: Include <grub/fshelp.h>.
25084 (FILETYPE_REG): New macro.
25085 (FILETYPE_INO_REG): Likewise.
25086 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
25087 Changed all users.
25088 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
25089 all users.
25090 (grub_fshelp_node): New struct.
25091 (grub_ext2_data): Added member `diropen'. Changed member `inode'
25092 to a pointer.
25093 (grub_ext2_get_file_block): Removed function.
25094 (grub_ext2_read_block): New function.
25095 (grub_ext2_read_file): Replaced parameter `data' by `node'.
25096 This function was written.
25097 (grub_ext2_mount): Read the root inode. Create a diropen struct.
25098 (grub_ext2_find_file): Removed function.
25099 (grub_ext2_read_symlink): New function.
25100 (grub_ext2_iterate_dir): Likewise.
25101 (grub_ext2_open): Rewritten.
25102 (grub_ext2_dir): Rewritten.
25103 * include/grub/fshelp.h: New file.
25104 * fs/fshelp.c: Likewise.
25105
3c52136a 251062004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
25107
25108 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
25109 (print_message): Add a missing newline.
25110 (run_menu): Added timeout support.
25111 (run_menu_entry): New local function.
25112 (grub_menu_run): Added support for booting.
25113
25114 * kern/loader.c (grub_loader_is_loaded): New function.
25115
25116 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
25117 (grub_get_rtc): Exported.
25118
25119 * include/grub/i386/pc/time.h: Include grub/symbol.h.
25120 (grub_get_rtc): Exported.
25121
25122 * include/grub/normal.h (struct grub_command_list): Remove
25123 constant from the member `command'.
25124
25125 * include/grub/loader.h (grub_loader_is_loaded): Declared.
25126
25127 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
25128
25129 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
25130
aa033560 251312004-08-28 Marco Gerards <metgerards@student.han.nl>
25132
25133 Add support for the JFS filesystem.
25134
25135 * fs/jfs.c: New file.
25136 * include/grub/fs.h (grub_jfs_init): New prototype.
25137 (grub_jfs_fini): New prototype.
25138 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
25139 (grub_emu_SOURCES): Likewise.
25140 (pkgdata_MODULES): Add jfs.mod.
25141 (jfs_mod_SOURCES): New variable.
25142 (jfs_mod_CFLAGS): Likewise.
25143 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
25144 (grubof_SOURCES): Likewise.
25145 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
25146
25147 * fs/fat.c (grub_fat_find_dir): Convert the filename little
25148 endian to the host endian.
25149 (grub_fat_utf16_to_utf8): Move function from there...
25150 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 25151 the endianness of the source string anymore.
aa033560 25152 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
25153
94bc45af 251542004-08-24 Marco Gerards <metgerards@student.han.nl>
25155
25156 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
25157 (grub_boot_fini) [GRUB_UTIL]: Likewise.
25158 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
25159 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 25160
94bc45af 25161 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
25162 (grub_hfs_iterate_dir): Make the function static. Add prototypes
25163 for `node_found' and `it_dir'.
25164 (grub_hfs_dir): Add prototype for `dir_hook'.
25165
25166 * fs/minix.c (grub_minix_get_file_block): Add prototype for
25167 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
25168 and `indir32' to silence a gcc warning.
25169
25170 * include/grub/fs.h (grub_hfs_init): New prototype.
25171 (grub_hfs_fini): Likewise.
f19dbdb7 25172
25173
97543f08 251742004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
25175
25176 Each disk device has its own id now. This is useful to make use
25177 of multiple disk devices.
f19dbdb7 25178
97543f08 25179 * include/grub/disk.h (grub_disk_dev_id): New enum.
25180 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
25181 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
25182
25183 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
25184 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
25185
25186 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
25187 GRUB_DISK_DEVICE_OFDISK_ID as an id.
25188
25189 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
25190 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
25191
25192 * include/grub/disk.h (struct grub_disk_dev): Added a new member
25193 "id" which is used by the cache manager.
25194
25195 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
25196 of just "GRUB".
25197
64372eb4 251982004-08-18 Marco Gerards <metgerards@student.han.nl>
25199
25200 * fs/hfs.c: New file.
25201 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
25202 (grub_emu_SOURCES): Likewise.
25203 (pkgdata_MODULES): Add hfs.mod.
25204 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
25205 (grubof_SOURCES): Likewise.
25206 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
25207
25208 * include/grub/misc.h (grub_strncasecmp): Add prototype.
25209 * kern/misc.c (grub_strncasecmp): Add function.
25210
cc61b58f 252112004-08-14 Marco Gerards <metgerards@student.han.nl>
25212
25213 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
25214 with parentheses.
25215
25216 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
25217 (grub_ext2_dir): In case the directory entry type is unknown, read
25218 it from the inode.
25219
0ef123f6 252202004-08-02 Peter Bruin <pjbruin@dds.nl>
25221
25222 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
25223 grub_load_linux instead of grub_rescue_cmd_linux as second
25224 argument of grub_rescue_register_command.
25225
25226 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
25227
a447c5df 252282004-07-27 Marco Gerards <metgerards@student.han.nl>
25229
25230 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
25231 function.
25232 * commands/boot.c: Remove the check for `GRUB_UTIL'.
25233 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
25234 `loader/powerpc/ieee1275/linux.c',
25235 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
25236 * include/grub/powerpc/ieee1275/ieee1275.h
25237 (grub_ieee1275_release): New prototype.
25238 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
25239 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
25240 normal, boot, linux and linux_normal.
25241 * loader/powerpc/ieee1275/linux.c: New file.
25242 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
25243
5a9e3546 252442004-07-12 Marco Gerards <metgerards@student.han.nl>
25245
25246 * normal/arg.c (grub_arg_parse): Correct error handling after
25247 reallocating the argumentlist (check if `argl' is not null instead
25248 of checking if `args' is not null).
25249 * kern/mm.c (grub_realloc): Return the same pointer when using the
25250 same region, instead of returning the header address.
25251
e15199cb 252522004-07-11 Marco Gerards <metgerards@student.han.nl>
25253
25254 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
25255 one block instead of two when looking for the initial partition.
25256 (grub_partition_probe): Initialize the local variable `p' with 0.
25257 Use base 10 for the grub_strtoul call.
25258 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
25259 need for one local variable.
25260 (grub_strtoul): Don't add the new value to `num', instead of that
25261 just assign it.
25262
020616c2 252632004-07-11 Marco Gerards <metgerards@student.han.nl>
25264
25265 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
25266 (pxeboot_img_SOURCES): New variable.
25267 (pxeboot_img_ASFLAGS): Likewise.
25268 (pxeboot_img_LDFLAGS): Likewise.
25269 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
25270 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
25271 <lode_leroy@hotmail.com>.
25272
6c51eb64 252732004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
25274
25275 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
25276 there was no input.
25277
cfb12aff 252782004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
25279
25280 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
25281 the history buffer logic.
25282
6eabba74 252832004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
25284
25285 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
25286 (FILETYPE_INO_SYMLINK): New macros.
25287 (grub_ext2_find_file): Check if the node is a directory using the
25288 inode stat information instead of using the filetype in the
25289 dirent. Exclude the first character of an absolute symlink.
25290 (grub_ext2_dir): Mask out the filetype part of the mode member of
25291 the inode.
25292
66e19ef8 252932004-05-24 Marco Gerards <metgerards@student.han.nl>
25294
25295 Add support for UFS version 1 and 2. Add support for the minix
25296 filesystem version 1 and 2, both the variants with 14 and 30 long
25297 filenames.
f19dbdb7 25298
66e19ef8 25299 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
25300 fs/minix.c.
25301 (grub_emu_SOURCES): Likewise.
25302 (pkgdata_MODULES): Add ufs.mod and minix.mod.
25303 (ufs_mod_SOURCES): New variable.
25304 (ufs_mod_CFLAGS): Likewise.
25305 (minix_mod_SOURCES): Likewise.
25306 (minix_mod_CFLAGS): Likewise.
25307 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
25308 fs/minix.c.
25309 (grubof_SOURCES): Likewise.
25310 * fs/ufs.c: New file.
25311 * fs/minix.c: New file.
25312 * include/grub/fs.h (grub_ufs_init): New prototype.
25313 (grub_ufs_fini): Likewise.
25314 (grub_minix_init): Likewise.
25315 (grub_minix_fini): Likewise.
25316 * util/grub-emu.c (main): Initialize and deinitialize UFS and
25317 minix fs.
25318
cc2e748a 253192004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
25320
25321 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
25322 commands/ls.c, commands/terminal.c, commands/boot.c,
25323 commands/cmp.c and commands/cat.c.
25324 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
25325
25326 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
25327 "env.h"
25328
4b13b216 253292004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
25330
25331 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
25332 and grub_, respectively. Because the conversion is trivial and
25333 mechanical, I omit the details here. Please refer to the CVS
25334 if you need more information.
25335
6a142551 253362004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
25337
25338 * include/pupa: Renamed to ...
25339 * include/grub: ... this.
25340 * util/i386/pc/pupa-mkimage.c: Renamed to ...
25341 * util/i386/pc/grub-mkimage.c: ... this.
25342 * util/i386/pc/pupa-setup.c: Renamed to ...
25343 * util/i386/pc/grub-setup.c: ... this.
25344 * util/pupa-emu.c: Renamed to ...
25345 * util/grub-emu.c: ... this.
25346
e56cdf21 253472004-03-29 Marco Gerards <metgerards@student.han.nl>
25348
25349 Add support for the newworld apple macintosh (PPC). This has been
25350 tested on the powerbook 2000 only. It only adds support for
25351 generic ieee1275 functions, console and disk support. This should
25352 be easy to port to other architectures with support for Open
25353 Firmware.
f19dbdb7 25354
e56cdf21 25355 * configure.ac: Accept the powerpc as host_cpu. In the case of
25356 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
25357 specific tests are only executed while building for the i386.
25358 Inverse test for crosscompile.
25359 * genmk.rb (Utility): Allow assembler files.
25360 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
25361 * conf/powerpc-ieee1275.rmk: New file.
25362 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
25363 * disk/powerpc/ieee1275/partition.c: Likewise.
25364 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
25365 * include/pupa/powerpc/ieee1275/console.h: Likewise.
25366 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
25367 * include/pupa/powerpc/ieee1275/time.h: Likewise.
25368 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
25369 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
25370 * include/pupa/powerpc/ieee1275/loader.h
25371 * include/pupa/powerpc/setjmp.h: Likewise.
25372 * include/pupa/powerpc/types.h: Likewise.
25373 * kern/powerpc/ieee1275/init.c: Likewise.
25374 * kern/powerpc/ieee1275/openfw.c: Likewise.
25375 * term/powerpc/ieee1275/ofconsole.c: Likewise.
25376
25377 These files were written by Johan Rydberg
25378 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 25379
e56cdf21 25380 * boot/powerpc/ieee1275/cmain.c: New file.
25381 * boot/powerpc/ieee1275/crt0.S: Likewise.
25382 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
25383 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
25384
8c8cc205 253852004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
25386
25387 * Makefile.in: Update copyright.
25388 * genmodsrc.sh: Likewise.
25389 * gensymlist.sh: Likewise.
25390 * term/i386/pc/vga.c: Indent correctly.
25391
25392 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
25393 bugreporting address.
25394 * util/i386/pc/pupa-setup.c (usage): Likewise,
25395 (main): Call pupa_ext2_init and pupa_ext2_fini.
25396
f19dbdb7 25397 * fs/fat.c (log2): Renamed to ...
8c8cc205 25398 (fat_log2): ... this.
25399 All callers changed.
25400 * kern/misc.c (memcpy): Alias to pupa_memmove.
25401 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
25402 lvalue cast.
25403 * util/console.c (pupa_ncurses_fini): Return 0.
25404
25405 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
25406 Move fail label here.
25407 [__GNU__]: Don't warn when using stat.
25408 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
25409 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
25410 long int. Use strtol instead of strtoul.
f19dbdb7 25411
db1771cf 254122004-03-14 Marco Gerards <metgerards@student.han.nl>
25413
25414 * commands/boot.c: New file.
25415 * commands/cat.c: Likewise.
25416 * commands/cmp.c: Likewise.
25417 * commands/ls.c: Likewise.
25418 * commands/terminal.c: Likewise.
25419 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
25420 (pupa_register_command): Changed interface to match the new
25421 argument parser.
25422 (pupa_command_execute): Changed (almost rewritten) so it uses
25423 pupa_split_command. Added support for setting variables using the
25424 syntax `foo=bar'.
25425 (rescue_command): Changed to work with the new argument parser.
25426 (terminal_command): Moved from here to commands/terminal.c.
25427 (set_command): New function.
25428 (unset_command): New function.
25429 (insmod_command): New function.
25430 (rmmod_command): New function.
25431 (lsmod_command): New function.
25432 (pupa_command_init): Don't initialize the command terminal
25433 anymore. Initialize the commands set, unset, insmod, rmmod and
25434 lsmod.
25435 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
25436 (kernel_img_HEADERS): Add arg.h and env.h.
25437 (pupa_mkimage_LDFLAGS): Add kern/env.c.
25438 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
25439 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
25440 normal/arg.c.
25441 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
25442 terminal.mod.
25443 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
25444 (boot_mod_SOURCES): New variable.
25445 (terminal_mod_SOURCES): Likewise.
25446 (ls_mod_SOURCES): Likewise.
25447 (cmp_mod_SOURCES): Likewise.
25448 (cat_mod_SOURCES): Likewise.
25449
25450 * normal/arg.c: New file.
25451 * kern/env.c: Likewise.
25452 * include/pupa/arg.h: Likewise.
25453 * include/pupa/env.h: Likewise.
25454 * font/manager.c (font_command): Changed to match argument parsing
25455 interface changes.
25456 (PUPA_MOD_INIT): Likewise.
25457 * hello/hello.c (pupa_cmd_hello): Likewise.
25458 (PUPA_MOD_INIT): Likewise.
25459 * include/pupa/disk.h: Include <pupa/device.h>.
25460 (pupa_print_partinfo): New prototype.
25461 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
25462 (pupa_dl_get_prefix): Likewise.
25463 * include/pupa/misc.h: Include <pupa/err.h>.
25464 (pupa_isgraph): New prototype.
25465 (pupa_isdigit): Likewise.
25466 (pupa_split_cmdline): Likewise.
25467 * include/pupa/normal.h: Include <pupa/arg.h>.
25468 (pupa_command): Changed the prototype of the member `func' to
25469 match the argument parsing interface. Added member `options'.
25470 (pupa_register_command): Updated to match function.
25471 (pupa_arg_parse): New prototype.
25472 (pupa_hello_init) [PUPA_UTIL]: New prototype.
25473 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
25474 (pupa_ls_init) [PUPA_UTIL]: Likewise.
25475 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
25476 (pupa_cat_init) [PUPA_UTIL]: Likewise.
25477 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
25478 (pupa_boot_init) [PUPA_UTIL]: Likewise.
25479 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
25480 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
25481 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
25482 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
25483 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
25484 * kern/disk.c: Include <pupa/file.h>.
25485 (pupa_print_partinfo): New function.
25486 * kern/dl.c: Include <pupa/env.h>.
25487 (pupa_dl_dir): Variable removed.
25488 (pupa_dl_load): Use the environment variable `prefix' instead of
25489 the variable pupa_dl_dir.
25490 (pupa_dl_set_prefix): Function removed.
25491 (pupa_dl_get_prefix): Likewise.
25492 * kern/i386/pc/init.c: Include <pupa/env.h>.
25493 (pupa_machine_init): Use the environment variable `prefix' instead of
25494 using pupa_dl_set_prefix to set the prefix.
25495 * kern/main.c: Include <pupa/env.h>.
25496 (pupa_set_root_dev): Use the environment variable `prefix' instead of
25497 using pupa_dl_get_prefix to get the prefix.
25498 * kern/misc.c: Include <pupa/env.h>.
25499 (pupa_isdigit): New function.
25500 (pupa_isgraph): Likewise.
25501 (pupa_ftoa): Likewise.
25502 (pupa_vsprintf): Added support for printing values of the type
25503 `double'. Make it possible to format variable output when using
25504 formatting like `%1.2%f'.
25505 (pupa_split_cmdline): New function.
25506 * kern/rescue.c: Include <pupa/env.h>.
25507 (next_word): Removed function.
25508 (pupa_rescue_cmd_prefix): Likewise.
25509 (pupa_rescue_cmd_set): New function.
25510 (pupa_rescue_cmd_unset): New function.
25511 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
25512 split the command line instead of splitting it here. Added
25513 support for setting variables using the syntax `foo=bar'. Don't
25514 initialize the prefix command anymore. Initialized the set and
25515 unset commands.
25516 * normal/cmdline.c: Include <pupa/env.h>.
25517 (pupa_tab_complete): Added prototypes for print_simple_completion,
25518 print_partition_completion, add_completion, iterate_commands,
25519 iterate_dev, iterate_part and iterate_dir. Moved code to print
25520 partition information from here to kern/disk.c.
fe6b695a 25521 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 25522 * normal/main.c: Include <pupa/env.h>.
25523 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
25524 instead of using pupa_dl_get_prefix to get the prefix.
25525 * term/i386/pc/vga.c: Include <pupa/arg.h>.
25526 (check_vga_mem): Cast pointers to `void *' to silence a gcc
25527 warning.
25528 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
25529 (pupa_vga_setcolor): Declare unused variables with `__attribute__
25530 ((unused))' to silence a gcc warning.
25531 (pupa_vga_setcolor): Likewise.
25532 (debug_command): Changed to match argument parsing
25533 interface changes.
25534 * util/pupa-emu.c: Include <pupa/env.h>.
25535 (options): Added 0's for unused fields to silence a gcc warning.
25536 (argp): Likewise.
25537 (main): Use the environment variable `prefix' instead of using
25538 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
25539 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
25540 and terminal.
25541
25542 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
25543 * util/misc.c: Include <malloc.h>.
25544 (pupa_malloc): Rewritten so errors are correctly reported.
25545 (pupa_realloc): Likewise.
25546 (pupa_memalign): Likewise.
25547 (pupa_mm_init_region): Declare unused variables with
25548 `__attribute__ ((unused))' to silence a gcc warning.
25549 * normal/i386/setjmp.S: Remove tab at the end of the file to
25550 silence a gcc warning.
25551 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
25552 variables with `__attribute__ ((unused))' to silence a gcc
25553 warning.
25554 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
25555 local variable i unsigned to silence a gcc warning.
25556
25557 * kern/term.c: Include <pupa/misc.h>.
25558 (pupa_more_lines): New variable.
25559 (pupa_more): Likewise.
25560 (pupa_putcode): When the pager is active pause at the end of every
25561 screen.
25562 (pupa_set_more): New function.
25563 * include/pupa/term.h (pupa_set_more): New prototype.
25564
25565
3b1139cb 255662004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
25567
25568 Now this project is GRUB 2 rather than PUPA. The location of
25569 the CVS repository was moved to GRUB's.
f19dbdb7 25570
3b1139cb 25571 * configure.ac: Use bug-grub as the reporting address.
25572 Use GRUB instead of PUPA.
25573 Change the version number to 1.90.
25574
8367695c 255752004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
25576
25577 * genkernsyms.sh: Updated copyright information.
25578 * genmk.rb: Likewise.
25579 * genmodsrc.sh: Likewise.
25580 * gensymlist.sh: Likewise.
25581 * boot/i386/pc/boot.S: Likewise.
25582 * boot/i386/pc/diskboot.S: Likewise.
25583 * disk/i386/pc/biosdisk.c: Likewise.
25584 * disk/i386/pc/partition.c: Likewise.
25585 * font/manager.c: Likewise.
25586 * fs/ext2.c: Likewise.
25587 * fs/fat.c: Likewise.
25588 * include/pupa/boot.h: Likewise.
25589 * include/pupa/device.h: Likewise.
25590 * include/pupa/disk.h: Likewise.
25591 * include/pupa/dl.h: Likewise.
25592 * include/pupa/elf.h: Likewise.
25593 * include/pupa/err.h: Likewise.
25594 * include/pupa/file.h: Likewise.
25595 * include/pupa/font.h: Likewise.
25596 * include/pupa/fs.h: Likewise.
25597 * include/pupa/kernel.h: Likewise.
25598 * include/pupa/loader.h: Likewise.
25599 * include/pupa/misc.h: Likewise.
25600 * include/pupa/mm.h: Likewise.
25601 * include/pupa/net.h: Likewise.
25602 * include/pupa/normal.h: Likewise.
25603 * include/pupa/rescue.h: Likewise.
25604 * include/pupa/setjmp.h: Likewise.
25605 * include/pupa/symbol.h: Likewise.
25606 * include/pupa/term.h: Likewise.
25607 * include/pupa/types.h: Likewise.
25608 * include/pupa/i386/setjmp.h: Likewise.
25609 * include/pupa/i386/types.h: Likewise.
25610 * include/pupa/i386/pc/biosdisk.h: Likewise.
25611 * include/pupa/i386/pc/boot.h: Likewise.
25612 * include/pupa/i386/pc/console.h: Likewise.
25613 * include/pupa/i386/pc/init.h: Likewise.
25614 * include/pupa/i386/pc/kernel.h: Likewise.
25615 * include/pupa/i386/pc/linux.h: Likewise.
25616 * include/pupa/i386/pc/loader.h: Likewise.
25617 * include/pupa/i386/pc/memory.h: Likewise.
25618 * include/pupa/i386/pc/multiboot.h: Likewise.
25619 * include/pupa/i386/pc/partition.h: Likewise.
25620 * include/pupa/i386/pc/time.h: Likewise.
25621 * include/pupa/i386/pc/vga.h: Likewise.
25622 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
25623 * include/pupa/util/getroot.h: Likewise.
25624 * include/pupa/util/misc.h: Likewise.
25625 * include/pupa/util/resolve.h: Likewise.
25626 * kern/device.c: Likewise.
25627 * kern/disk.c: Likewise.
25628 * kern/dl.c: Likewise.
25629 * kern/err.c: Likewise.
25630 * kern/file.c: Likewise.
25631 * kern/fs.c: Likewise.
25632 * kern/loader.c: Likewise.
25633 * kern/main.c: Likewise.
25634 * kern/misc.c: Likewise.
25635 * kern/mm.c: Likewise.
25636 * kern/rescue.c: Likewise.
25637 * kern/term.c: Likewise.
25638 * kern/i386/dl.c: Likewise.
25639 * kern/i386/pc/init.c: Likewise.
25640 * kern/i386/pc/lzo1x.S: Likewise.
25641 * kern/i386/pc/startup.S: Likewise.
25642 * loader/i386/pc/chainloader.c: Likewise.
25643 * loader/i386/pc/linux.c: Likewise.
25644 * loader/i386/pc/multiboot.c: Likewise.
25645 * normal/cmdline.c: Likewise.
25646 * normal/command.c: Likewise.
25647 * normal/main.c: Likewise.
25648 * normal/menu.c: Likewise.
25649 * normal/i386/setjmp.S: Likewise.
25650 * term/i386/pc/console.c: Likewise.
25651 * term/i386/pc/vga.c: Likewise.
25652 * util/console.c: Likewise.
25653 * util/genmoddep.c: Likewise.
25654 * util/misc.c: Likewise.
25655 * util/pupa-emu.c: Likewise.
25656 * util/resolve.c: Likewise.
25657 * util/unifont2pff.rb: Likewise.
25658 * util/i386/pc/biosdisk.c: Likewise.
25659 * util/i386/pc/getroot.c: Likewise.
25660 * util/i386/pc/pupa-mkimage.c: Likewise.
25661 * util/i386/pc/pupa-setup.c: Likewise.
25662
e6eced71 256632004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
25664
25665 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
25666 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
25667 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
25668 reading and reset it after reading.
25669 (pupa_ext2_close): Return PUPA_ERR_NONE.
25670
25671 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
25672 Correct value.
25673 (struct linux_kernel_header): Add kernel_version and
25674 initrd_addr_max.
25675 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
25676 pupa_file_read succeeds.
25677 (pupa_rescue_cmd_initrd): Implement.
25678
5aded270 256792003-12-03 Marco Gerards <metgerards@student.han.nl>
25680
25681 * fs/ext2.c (pupa_ext2_label): New function.
25682 (pupa_ext2_fs): Added label.
25683 * fs/fat.c (pupa_fat_label): New function.
25684 (pupa_fat_fs): Added label.
25685 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
25686
25687 * kern/misc.c (pupa_strndup): New function.
25688 * include/pupa/misc.h (pupa_strndup): New prototype.
25689
25690 * include/pupa/normal.h: Include <pupa/err.h>.
25691 (pupa_set_history): New prototype.
25692 (pupa_iterate_commands): New prototype.
25693 * normal/cmdline.c: Include <pupa/machine/partition.h>,
25694 <pupa/disk.h>, <pupa/file.h>.
25695 (hist_size): New variable.
25696 (hist_lines): Likewise.
25697 (hist_end): Likewise.
25698 (hist_used): Likewise.
25699 (pupa_set_history): New function.
25700 (pupa_history_get): Likewise.
25701 (pupa_history_add): Likewise.
25702 (pupa_history_replace): Likewise.
25703 (pupa_tab_complete): Likewise.
25704 (pupa_cmdline_run): Added tab completion and history buffer. Tab
25705 completion shows partitionnames while completing partitions, this
25706 feature was suggested by Jeff Bailey.
25707 * normal/command.c (pupa_iterate_commands): New function.
25708 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
25709 (pupa_normal_init): Initialize history buffer.
25710 (PUPA_MOD_INIT): Likewise.
25711 (pupa_normal_fini): Free the history buffer.
25712 (PUPA_MOD_FINI): Likewise.
25713
25714 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
25715 key.
25716
25717 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
25718 * configure.ac [i386]: Check for regparam bug.
25719 (NESTED_FUNC_ATTR) [! i386]: Defined.
25720
1f7315a3 257212003-11-17 Marco Gerards <metgerards@student.han.nl>
25722
25723 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
25724 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
25725 (pupa_emu_SOURCES): New variable.
25726 (pupa_emu_LDFLAGS): Likewise.
25727 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
25728 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
25729 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
25730 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
25731 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
25732 (pupa_jmp_buf): New typedef.
25733 (pupa_setjmp) [PUPA_UTIL]: New macro.
25734 (pupa_longjmp) [PUPA_UTIL]: Likewise.
25735 * include/pupa/term.h (struct pupa_term): New member `refresh'.
25736 (pupa_refresh): New prototype.
25737 * include/pupa/util/getroot.h: New file.
25738 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
25739 it.
25740 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
25741 (pupa_rescue_cmd_cat): Likewise.
25742 (pupa_rescue_cmd_ls): Likewise.
25743 (pupa_rescue_cmd_testload): Likewise.
25744 (pupa_rescue_cmd_lsmod): Likewise.
25745 * normal/cmdline.c (pupa_cmdline_get): Likewise.
25746 * normal/menu.c (run_menu): Likewise.
25747 * kern/term.c (pupa_cls): Likewise.
25748 (pupa_refresh): New function.
25749 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
25750 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
25751 * util/console.c: New file.
f19dbdb7 25752
1f7315a3 25753 * util/i386/pc/getroot.c: New file.
25754 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
25755 (pupa_putchar): New function.
25756 (pupa_refresh): Likewise.
25757 (xgetcwd): Function moved to ...
25758 (strip_extra_slashes): Likewise.
25759 (get_prefix): Likewise.
f19dbdb7 25760 * util/i386/pc/getroot.c: ... here.
1f7315a3 25761 (find_root_device): Function moved and renamed to...
25762 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
25763 Changed all callers.
25764 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
25765 and renamed to...
25766 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
25767 Changed all callers.
25768 * util/misc.c (pupa_memalign): New function.
25769 (pupa_mm_init_region): Likewise.
25770 (pupa_register_exported_symbols): Likewise.
25771 (pupa_putchar): Function removed.
25772 * util/pupa-emu.c: New file.
25773
9a5c1ade 257742003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
25775
25776 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
25777 (_multiboot_mod_SOURCES): New variable.
25778 (_multiboot_mod_CFLAGS): Likewise.
25779 * loader/i386/pc/multiboot.c: New file.
25780 * include/pupa/i386/pc/multiboot.h: Likewise.
25781 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
25782 (pupa_multiboot_real_boot): New function.
25783 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
25784 (pupa_multiboot_real_boot): New prototype.
25785 (pupa_rescue_cmd_multiboot): Likewise
25786 (pupa_rescue_cmd_module): Likewise.
25787
25788 * kern/loader.c (pupa_loader_set): Continue when
25789 pupa_loader_unload_func() fails.
25790 (pupa_loader_unset): New function.
25791 * include/pupa/loader.h (pupa_loader_unset): New prototype.
25792
25793 * kern/misc.c (pupa_stpcpy): New function.
25794 * include/pupa/misc.h (pupa_stpcpy): New prototype.
25795
8e72a9c0 257962003-11-12 Marco Gerards <metgerards@student.han.nl>
25797
25798 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
25799 for available extensions.
25800
25801 * include/pupa/i386/pc/time.h: New file.
25802 * kern/disk.c: Include <pupa/machine/time.h>.
25803 (PUPA_CACHE_TIMEOUT): New macro.
25804 (pupa_last_time): New variable.
25805 (pupa_disk_open): Flush the cache when there was a timeout.
25806 (pupa_disk_close): Reset the timer.
25807 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
25808 pupa_currticks.
25809 * util/misc.c: Include <sys/times.h>
25810 (pupa_get_rtc): New function.
25811
c4adbd32 258122003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
25813
25814 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
25815 as blocks.
25816 (pupa_ext2_get_file_block): Use blocks member.
25817
25818 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
25819 first block. Return -1 instead of pupa_errno on error.
25820
bfd30f06 258212003-10-27 Marco Gerards <metgerards@student.han.nl>
25822
25823 * README: In the pupa-mkimage example use _chain instead of chain
25824 and ext2 instead of fat.
25825 * TODO: Replace ext2fs with jfs as an example. Add an item for
25826 adding journal playback for ext2fs.
25827 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
25828 (pkgdata_MODULES): Added ext2.mod.
25829 (ext2_mod_SOURCES): New variable.
25830 (ext2_mod_CFLAGS): Likewise.
25831 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
25832 * include/pupa/misc.h (pupa_strncpy): New prototype.
25833 (pupa_strcat): Likewise.
25834 (pupa_strncmp): Likewise.
25835 * kern/misc.c (pupa_strcat): Enable function.
25836 (pupa_strncpy): New function.
25837 (pupa_strncmp): Likewise.
25838 * fs/ext2.c: New file.
f19dbdb7 25839
bfd30f06 25840 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
25841 when the read failed before retrying.
25842 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
25843 (_FILE_OFFSET_BITS): Likewise.
25844 * configure.ac: Added AC_SYS_LARGEFILE.
25845
98d15063 258462003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
25847
25848 * genmk.rb (PModule#rule): Make sure to get only symbol names
25849 from the output of nm.
59cad637 25850 Reported by Robert Millan <rmh.grub@aybabtu.com>.
98d15063 25851
18d9c7cd 258522003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
25853
25854 I forgot to check in these changes for a long time. This adds
25855 incomplete support for VGA console, and this is still very
25856 buggy. Also, a lot of consideration is required for I18N,
25857 UNICODE, and VGA font issues. Therefore, assume that this is
25858 such that "better than nothing".
f19dbdb7 25859
18d9c7cd 25860 * font/manager.c: New file.
25861 * include/pupa/font.h: Likewise.
25862 * include/pupa/i386/pc/vga.h: Likewise.
25863 * term/i386/pc/vga.c: Likewise.
25864 * util/unifont2pff.rb: Likewise.
25865
25866 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
25867 (pkgdata_MODULES): Added vga.mod and font.mod.
25868 (vga_mod_SOURCES): New variables.
25869 (vga_mod_CFLAGS): Likewise.
25870 (font_mod_SOURCES): Likewise.
25871 (font_mod_CFLAGS): Likewise.
25872
25873 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
25874
25875 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 25876 (struct pupa_term): Added init and fini.
18d9c7cd 25877 Changed the argument of putchar to pupa_uint32_t.
25878
25879 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
25880 (pupa_console_real_putchar): New prototype.
25881 (pupa_console_putchar): Removed.
25882 (pupa_console_checkkey): Exported.
25883 (pupa_console_getkey): Likewise.
25884
25885 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
25886 characters.
25887
25888 * kern/term.c (pupa_term_set_current): Rewritten.
25889 (pupa_putchar): Likewise.
25890 (pupa_putcode): New function.
25891
25892 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
25893 (pupa_console_real_putchar): ... this.
25894 (pupa_vga_set_mode): New function.
25895 (pupa_vga_get_font): Likewise.
25896
25897 * normal/command.c: Include pupa/term.h.
25898 (terminal_command): New function.
25899 (pupa_command_init): Register the command "terminal".
25900
25901 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
25902 (DISP_UP): Likewise.
25903 (DISP_RIGHT): Likewise.
25904 (DISP_DOWN): Likewise.
25905 (DISP_HLINE): Likewise.
25906 (DISP_VLINE): Likewise.
25907 (DISP_UL): Likewise.
25908 (DISP_UR): Likewise.
25909 (DISP_LL): Likewise.
25910 (DISP_LR): Likewise.
25911
25912 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 25913
977329f5 259142003-02-08 NIIBE Yutaka <gniibe@m17n.org>
25915
25916 * util/resolve.c (pupa_util_resolve_dependencies): BUG
25917 FIX. Reverse the path_list.
25918
25919 * include/pupa/normal.h: Export pupa_register_command and
25920 pupa_unregister_command.
25921
25922 * hello/hello.c (pupa_cmd_hello): New module.
25923 * conf/i386-pc.rmk: Added hello.mod.
25924
1f5ab428 259252003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
25926
25927 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 25928
1f5ab428 25929 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
25930 (compress_kernel): New variable.
25931 (generate_image): Heavily modified to support compressing a
25932 large part of the core image.
25933
25934 * util/misc.c (pupa_util_read_image): Fix a file descriptor
25935 leak.
25936 (pupa_util_load_image): New function.
25937
25938 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
25939 (pupa_compressed_size): New variable.
25940 (codestart): Enable Gate A20 here.
25941 Decompress the compressed part of the core image.
25942 Rearrange the code to put functions and variables which are
25943 required for initialization in the non-compressed part.
25944 Include lzo1x.S.
25945
25946 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
25947 here.
25948
25949 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
25950
f19dbdb7 25951 * include/pupa/i386/pc/kernel.h
1f5ab428 25952 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
25953 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
25954 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
25955 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
25956 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
25957
25958 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
25959
25960 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
25961 (Utility#rule): Likewise.
25962
25963 * configure.ac: Check if LZO is available.
25964
ce5bf700 259652003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
25966
25967 * include/pupa/normal.h: New file.
25968 * include/pupa/setjmp.h: Likewise.
25969 * include/pupa/i386/setjmp.h: Likewise.
25970 * normal/cmdline.c: Likewise.
25971 * normal/command.c: Likewise.
25972 * normal/main.c: Likewise.
25973 * normal/menu.c: Likewise.
25974 * normal/i386/setjmp.S: Likewise.
f19dbdb7 25975
ce5bf700 25976 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
25977 (pupa_rescue_cmd_initrd): Likewise.
25978
25979 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
25980 Likewise.
25981
25982 * kern/i386/pc/startup.S (translation_table): New variable.
25983 (translate_keycode): New function.
25984 (pupa_console_getkey): Call translate_keycode.
25985
25986 * kern/rescue.c (attempt_normal_mode): New function.
25987 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
25988 it failed, print a message.
25989
25990 * kern/mm.c (pupa_real_malloc): Print more information when a
25991 free magic is broken.
25992 (pupa_free): If the first free header is not free actually, set
25993 it to P.
25994
25995 * kern/main.c (pupa_load_normal_mode): Just load the module
25996 "normal".
25997 (pupa_main): Don't print the message
25998 "Entering into rescue mode..." here.
25999
26000 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
26001 Declared.
26002 (pupa_rescue_cmd_initrd): Likewise.
26003 (pupa_rescue_cmd_initrd): Likewise.
26004
26005 * include/pupa/symbol.h (FUNCTION): Specify the type.
26006 (VARIABLE): Likewise.
26007
26008 * include/pupa/err.h (pupa_err_t): Added
26009 PUPA_ERR_UNKNOWN_COMMAND.
26010
26011 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
26012 (pupa_dl_get_prefix): Likewise.
26013
26014 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
26015 Added _chain.mod and _linux.mod instead of chain.mod and
26016 linux.mod.
26017 (chain_mod_SOURCES): Renamed to ...
26018 (_chain_mod_SOURCES): ... this.
26019 (chain_mod_CFLAGS): Renamed to ...
26020 (_chain_mod_CFLAGS): ... this.
26021 (linux_mod_SOURCES): Renamed to ...
26022 (_linux_mod_SOURCES): ... this.
26023 (linux_mod_CFLAGS): Renamed to ...
26024 (_linux_mod_CFLAGS): ... this.
26025 (normal_mod_SOURCES): New variable.
26026 (normal_mod_CFLAGS): Likewise.
26027 (normal_mod_ASFLAGS): Likewise.
26028
260292003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
26030
26031 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
26032 possible.
26033
fe6b695a 26034 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 26035 recursively.
26036 (pupa_dl_unref): Unrefer depending modules recursively.
26037 Don't call pupa_dl_unload implicitly, because PUPA can crash if
26038 a module is unloaded before one depending on that module is
26039 unloaded.
26040 (pupa_dl_unload): Unload depending modules explicitly,
26041 if possible.
26042
c04da074 260432003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
26044
26045 * include/pupa/i386/pc/linux.h: New file.
26046 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 26047
c04da074 26048 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
26049 Removed.
26050 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
26051 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
26052 of PUPA_CHAINLOADER_BOOT_SECTOR.
26053
26054 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
26055 (pupa_linux_prot_size): New variable.
26056 (pupa_linux_tmp_addr): Likewise.
26057 (pupa_linux_real_addr): Likewise.
26058 (pupa_linux_boot_zimage): New function.
26059 (pupa_linux_boot_bzimage): Likewise.
26060
26061 * kern/i386/pc/init.c (struct mem_region): New structure.
26062 (MAX_REGIONS): New macro.
26063 (mem_regions): New variable.
26064 (num_regions): Likewise.
26065 (pupa_os_area_addr): Likewise.
26066 (pupa_os_area_size): Likewise.
26067 (pupa_lower_mem): Likewise.
26068 (pupa_upper_mem): Likewise.
26069 (add_mem_region): New function.
26070 (compact_mem_regions): Likewise.
26071 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
26072 the size of the conventional memory and that of so-called upper
26073 memory (before the first memory hole).
26074 Instead of adding each found region to free memory, use
26075 add_mem_region and add them after removing overlaps.
26076 Also, add only 1/4 of the upper memory to free memory. The rest
26077 is used for loading OS images. Maybe this is ad hoc, but this
26078 makes it much easier to relocate OS images when booting.
26079
26080 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
26081 (pupa_enter_rescue_mode): Don't register initrd and module.
26082
26083 * kern/mm.c: Include pupa/dl.h.
26084
26085 * kern/main.c: Include pupa/file.h and pupa/device.h.
26086
26087 * kern/loader.c (pupa_loader_load_module_func): Removed.
26088 (pupa_loader_load_module): Likewise.
26089
26090 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
26091 ``.o''.
26092
26093 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
26094 (pupa_linux_tmp_addr): Likewise.
26095 (pupa_linux_real_addr): Likewise.
26096 (pupa_linux_boot_zimage): Likewise.
26097 (pupa_linux_boot_bzimage): Likewise.
26098
26099 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
26100 (pupa_upper_mem): Likewise.
26101 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
26102 module is too dangerous.
26103
26104 * include/pupa/loader.h (pupa_os_area_addr): Declared.
26105 (pupa_os_area_size): Likewise.
26106 (pupa_loader_set): Remove the first argument. Loader doesn't
26107 manage modules or initrd any longer.
26108 (pupa_loader_load_module): Removed.
26109
26110 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
26111 (linux_mod_SOURCES): New variable.
26112 (linux_mod_CFLAGS): Likewise.
26113
a13f9237 261142003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
26115
26116 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
26117 the length of a blocklist correctly.
26118
26119 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
26120 Use ioctl only if the OS file is a block device.
26121 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
26122 not very useful for normal files.
26123
26124 * kern/main.c (pupa_set_root_dev): New function.
26125 (pupa_load_normal_mode): Likewise.
26126 (pupa_main): Call those above.
26127
26128 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
26129 pupa_uint16_t.
26130
26131 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
26132
a5ffe966 261332003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
26134
26135 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
26136 (setup): Configure the installed partition information and the
26137 dl prefix.
26138
26139 * loader/i386/pc/chainloader.c (my_mod): New variable.
26140 (pupa_chainloader_unload): New function.
26141 (pupa_rescue_cmd_chainloader): Refer itself.
26142 (PUPA_MOD_INIT): Save its own module in MY_MOD.
26143
26144 * kern/i386/pc/startup.S (install_partition): Removed.
26145 (version_string): Likewise.
26146 (config_file): Likewise.
26147 (pupa_install_dos_part): New variable.
26148 (pupa_install_bsd_part): Likewise.
26149 (pupa_prefix): Likewise.
26150 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
26151
26152 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
26153 and pupa/misc.h.
26154 (make_install_device): New function.
26155 (pupa_machine_init): Set the dl prefix.
26156
26157 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
26158 (buf): Renamed to ...
26159 (linebuf): ... this.
26160 (pupa_rescue_cmd_prefix): New function.
26161 (pupa_rescue_cmd_insmod): Likewise.
26162 (pupa_rescue_cmd_rmmod): Likewise.
26163 (pupa_rescue_cmd_lsmod): Likewise.
26164 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
26165 rmmod and lsmod.
26166
26167 * kern/mm.c (pupa_memalign): If failed even after invalidating
26168 disk caches, unload unneeded modules and retry.
26169
26170 * kern/misc.c (pupa_memmove): New function.
26171 (pupa_memcpy): Removed.
26172 (pupa_strcpy): New function.
26173 (pupa_itoa): Made static.
26174
26175 * kern/dl.c (pupa_dl_iterate): New function.
26176 (pupa_dl_ref): Likewise.
26177 (pupa_dl_unref): Likewise.
26178 (pupa_dl_unload): Return if succeeded or not.
26179 (pupa_dl_unload_unneeded): New function.
26180 (pupa_dl_unload_all): Likewise.
26181 (pupa_dl_init): Renamed to ...
26182 (pupa_dl_set_prefix): ... this.
26183 (pupa_dl_get_prefix): New function.
26184
26185 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
26186 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
26187 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
26188 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
26189 (pupa_install_dos_part): Declared.
26190 (pupa_install_bsd_part): Likewise.
26191 (pupa_prefix): Likewise.
26192 (pupa_boot_drive): Likewise.
26193
26194 * include/pupa/types.h: Fix a typo.
26195
26196 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
26197 pupa_memmove.
26198 (pupa_memmove): Declared.
26199 (pupa_strcpy): Likewise.
26200
26201 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
26202 pupa_mod_init takes one argument, its own module.
26203 (pupa_dl_unload_unneeded): Declared.
26204 (pupa_dl_unload_all): Likewise.
26205 (pupa_dl_ref): Likewise.
26206 (pupa_dl_unref): Likewise.
26207 (pupa_dl_iterate): Likewise.
26208 (pupa_dl_init): Renamed to ...
26209 (pupa_dl_set_prefix): ... this.
26210 (pupa_dl_get_prefix): Declared.
26211
26212 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 26213 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 26214 unloaded.
26215 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
26216 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
26217
26218 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
26219 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
26220
012d7999 262212003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
26222
26223 * util/i386/pc/pupa-setup.c (setup): Define the internal
26224 function find_first_partition_start at the top level, because GCC
26225 3.0.x cannot compile internal functions in deeper scopes
26226 correctly.
26227 (find_root_device): Use lstat instead of stat.
26228 Don't follow symbolic links.
26229 Fix the path-constructing code.
26230
26231 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
26232 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
26233 by a BLKGETSIZE ioctl first, because block devices don't fill
26234 the member st_mode of the structure stat on Linux.
26235 [__linux__] (linux_find_partition): Use a temporary buffer
26236 REAL_DEV for the working space. Copy it to DEV before returning.
26237 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
26238 buffer cache consistent.
26239 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
26240 strncmp. The previous value was merely wrong.
26241 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
26242
26243 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
26244 FAT size is 12. The previous value was merely wrong.
26245
26246 * kern/main.c (pupa_main): Don't split the starting message from
26247 newlines.
26248
26249 * kern/term.c (pupa_putchar): Put CR after LF instead of before
26250 LF, because BIOS goes crazy about character attributes in this
26251 case.
26252
1cc73a62 262532003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
26254
26255 * include/i386/pc/util/biosdisk.h: New file.
26256 * util/i386/pc/biosdisk.c: Likewise.
26257 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 26258
1cc73a62 26259 * Makefile.in (INCLUDE_DISTFILES): Added
26260 include/pupa/i386/pc/util/biosdisk.h.
26261 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
26262 directory util/i386/pc.
26263 (install-local): Added a rule for sbin_UTILITIES.
26264 (uninstall): Likewise.
26265
26266 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
26267
26268 * util/misc.c (xrealloc): New function.
26269 (pupa_malloc): Likewise.
26270 (pupa_free): Likewise.
26271 (pupa_realloc): Likewise.
26272 (pupa_stop): Likewise.
26273 (pupa_putchar): Likewise.
26274
26275 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
26276
26277 * include/pupa/util/misc.h (xrealloc): Declared.
26278
26279 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
26280 macro.
26281 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
26282 (PUPA_BOOT_MACHINE_BPB_END): ... this.
26283
26284 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
26285 [PUPA_UTIL] (pupa_fat_fini): Likewise.
26286
26287 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
26288 way should be implemented.
26289 [PUPA_UTIL] (pupa_fat_fini): Likewise.
26290
26291 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
26292 the size of NAME for safety.
26293 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
26294 0x88.
26295
26296 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
26297 (pupa_setup_SOURCES): Likewise.
26298
26299 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
26300
08b70fe8 263012002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
26302
26303 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
26304 bunch of pushl's from pusha, because this destroys the return
26305 value.
26306
62ddcc8f 263072002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
26308
26309 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
26310 This means that any missing prototypes could be fatal. Also, you
26311 must take care when writing assembly code. See the comments at
26312 the beginning of startup.S, for more details.
f19dbdb7 26313
62ddcc8f 26314 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
26315 compilation mechanism.
26316 (pupa_chainloader_real_boot): Likewise.
26317 (pupa_biosdisk_rw_int13_extensions): Likewise.
26318 (pupa_biosdisk_rw_standard): Likewise.
26319 (pupa_biosdisk_check_int13_extensions): Likewise.
26320 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
26321 (pupa_biosdisk_get_diskinfo_standard): Likewise.
26322 (pupa_get_memsize): Likewise.
26323 (pupa_get_mmap_entry): Likewise.
26324 (pupa_console_putchar): Likewise.
26325 (pupa_console_setcursor): Likewise.
26326 (pupa_getrtsecs): Use pushl instead of push.
26327
26328 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
26329 memory instead of the stack for a mmap entry, because some
26330 BIOSes may ignore the maximum size and overflow.
26331
26332 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
26333
26334 * genmk.rb (PModule#rule): Compile automatically generated
26335 sources with module-specific CFLAGS as well as other sources.
26336
9962ed99 263372002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
26338
26339 * configure.ac: Check ld.
26340 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
26341 respectively, before checking endianness and sizes.
26342
26343 * Makefile.in (LD): New variable.
f19dbdb7 26344
abdfc3c5 263452002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
26346
26347 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
26348
6a161fa9 263492002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
26350
26351 * Changelog: New file.
26352