]> git.proxmox.com Git - grub2.git/blame - ChangeLog
2009-11-26 Felix Zielcke <fzielcke@z-51.de>
[grub2.git] / ChangeLog
CommitLineData
242668a2
FZ
12009-11-26 Felix Zielcke <fzielcke@z-51.de>
2
3 * util/i386/efi/grub-mkimage.c: Include "progname.h".
4 (main): Use `program_name' instead of nonexistent `progname'.
5
e30dd392
FZ
62009-11-26 Felix Zielcke <fzielcke@z-51.de>
7
8 * conf/i386-efi.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
9 * conf/x86_64-efi.rmk (grub_mkimage_SOURCES): Likewise.
10
7656de4f
RM
112009-11-26 Robert Millan <rmh.grub@aybabtu.com>
12
13 * conf/i386-coreboot.rmk: Cleanup stale filenames from my previous
14 commit.
15 * conf/i386-efi.rmk: Likewise.
16 * conf/i386-ieee1275.rmk: Likewise.
17 * conf/powerpc-ieee1275.rmk: Likewise.
18 * conf/sparc64-ieee1275.rmk: Likewise.
19 * conf/x86_64-efi.rmk: Likewise.
20
db77c4d4
FZ
212009-11-26 Felix Zielcke <fzielcke@z-51.de>
22
23 * conf/any-emu.rmk (grub_emu_SOURCES): Add `gnulib/progname.c'.
24
a755bb04
FZ
252009-11-26 Felix Zielcke <fzielcke@z-51.de>
26
27 * conf/any-emu.rmk (grub_mkfont_SOURCES): Add `gnulib/progname.c'.
28
8a4c07fd
RM
292009-11-26 Robert Millan <rmh.grub@aybabtu.com>
30
31 * conf/common.rmk (sbin_UTILITIES): Add `grub-mkdevicemap'.
32 (grub_mkdevicemap_SOURCES): New variable.
33 (grub_probe_SOURCES, grub_fstest_SOURCES, grub_mkfont_SOURCES)
34 (grub_mkrelpath_SOURCES, grub_editenv_SOURCES)
35 (grub_pe2elf_SOURCES): Add `gnulib/progname.c'.
36 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-mkdevicemap'.
37 (grub_mkdevicemap_SOURCES): Remove.
38 * conf/i386-efi.rmk: Likewise.
39 * conf/i386-ieee1275.rmk: Likewise.
40 * conf/i386-pc.rmk: Likewise.
41 * conf/powerpc-ieee1275.rmk: Likewise.
42 * conf/sparc64-ieee1275.rmk: Likewise.
43 * conf/x86_64-efi.rmk: Likewise.
44 * util/elf/grub-mkimage.c: Include `<grub/i18n.h>' and `"progname.h"'.
45 (usage): Fix strings to use `program_name'.
46 (main): Initialize gettext.
47 * util/grub-editenv.c: Likewise.
48 * util/grub-emu.c: Likewise.
49 * util/grub-fstest.c: Likewise.
50 * util/grub-mkdevicemap.c: Likewise.
51 * util/grub-mkfont.c: Likewise.
52 * util/grub-mkrelpath.c: Likewise.
53 * util/grub-pe2elf.c: Likewise.
54 * util/grub-probe.c: Likewise.
55 * util/sparc64/ieee1275/grub-mkimage.c: Likewise.
56 * util/sparc64/ieee1275/grub-ofpathname.c: Likewise.
57 * util/sparc64/ieee1275/grub-setup.c: Likewise.
58
59 * util/misc.c: Include `"progname.h"'.
60 (progname): Remove variable.
61 (grub_util_warn, grub_util_info, grub_util_error): Use `program_name'.
62
6f61ed55
FZ
632009-11-25 Felix Zielcke <fzielcke@z-51.de>
64
65 * util/grub.d/10_linux.in (linux_entry): Quote the arguments to
66 printf and print a newline after the menuentry header line.
67 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
68
f022876b
FZ
692009-11-25 Felix Zielcke <fzielcke@z-51.de>
70
71 autoconf >= 2.60 support $(localedir).
72
73 * INSTALL: Note that autoconf 2.60 is required.
74 * configure.ac (AC_PREREQ): Bump to 2.60.
75 * util/grub.d/10_kfreebsd.in (TEXTDOMAINDIR): Set to lowercased @localedir@.
76 * util/grub.d/10_linux.in (TEXTDOMAINDIR): Likewise.
77
6717926e
YB
782009-11-25 Yves Blusseau <yves.blusseau@zetam.org>
79
80 * configure.ac: move the call to AM_GNU_GETTEXT to avoid warnings when
81 aclocal is run.
82
08806a54
RM
832009-11-25 Robert Millan <rmh.grub@aybabtu.com>
84
85 * normal/main.c (grub_normal_read_line): Fix off-by-one
86 buffer overflow.
87
13b33fba
RM
882009-11-25 Robert Millan <rmh.grub@aybabtu.com>
89
90 * normal/main.c (grub_normal_execute): Replace "parser.sh" with
91 "parser.grub" in grub_command_execute() call.
92
4a8572e9
CPE
932009-11-24 Carles Pina i Estany <carles@pina.cat>
94
95 * conf/i386-coreboot.rmk (kernel_img_HEADERS): Add i18n.h.
96 * conf/i386-efi.rmk: Likewise.
97 * conf/i386-ieee1275.rmk: Likewise.
98 * conf/i386-pc.rmk: Likewise.
99 * conf/powerpc-ieee1275.rmk: Likewise.
100 * conf/sparc64-ieee1275.rmk: Likewise.
101 * conf/x86_64-efi.rmk: Likewise.
102 * gettext/gettex.c: Include <grub/i18n.h>.
103 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): Move from
104 here ...
105 * include/grub/i18n.h: ... to here
106 * include/grub/i18n.h: ... to here.
107 * kern/misc.c: Include <grub/i18n.h>
108 (grub_gettext_dummy): Move above user.
109
bee48093
FZ
1102009-11-24 Felix Zielcke <fzielcke@z-51.de>
111
112 * util/Makefile.in (install-local): Convert a `for' into a normal
113 shell expansion.
114
a031e91c
RM
1152009-11-24 Robert Millan <rmh.grub@aybabtu.com>
116
117 * autogen.sh: Add automake call.
118 * config.guess: Remove.
119 * config.sub: Likewise.
120 * install-sh: Likewise.
121
26bec39d
FZ
1222009-11-24 Felix Zielcke <fzielcke@z-51.de>
123
124 * util/Makefile.in (install-local): Fix the use of $lang shell variable.
125
8e2532fd
FZ
1262009-11-24 Felix Zielcke <fzielcke@z-51.de>
127
128 * util/Makefile.in (install-local): Convert a make `$(foreach)'
129 function to a normal shell `for'.
130
fefa1b7d
FZ
1312009-11-24 Felix Zielcke <fzielcke@z-51.de>
132
133 * conf/i386-coreboot.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
134
4501250b
FZ
1352009-11-24 Felix Zielcke <fzielcke@z-51.de>
136
137 * util/grub-mkrelpath.c: New file.
138 * conf/common.rmk (bin_UTILITIES): Add grub-mkrelpath.
139 (grub_mkrelpath_SOURCES): New variable.
140 * include/grub/util/misc.h: New function prototype.
141 * util/misc.c (make_system_path_relative_to_its_root): New function.
142
143 * util/grub-mkconfig_lib.in (bindir): New variable.
144 (grub_mkrelpath): Likewise.
145 (make_system_path_relative_to_its_root): Use grub-mkrelpath.
146
147 * util/probe.c (probe): Make the file path relative to its root.
148 Change a info message to use the GRUB path. Enable again the
149 check if we can read the file with GRUB facilities.
150
151 * util/i386/pc/grub-setup.c (setup): Make core.img path relative
152 to its root.
153
11d9778b
FZ
1542009-11-24 Felix Zielcke <fzielcke@z-51.de>
155
156 * Makefile.in: Don't include GRUB_CONTRIB makefiles with emu
157 platform.
158
4465287d
FZ
1592009-11-24 Felix Zielcke <fzielcke@z-51.de>
160
161 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
162 strncmp().
163
62b47f22
FZ
1642009-11-24 Felix Zielcke <fzielcke@z-51.de>
165
166 * util/getroot.c (grub_util_is_dmraid): New function.
167 (grub_util_get_dev_abstraction): Treat dmraid and multipath
168 devices as normal ones, not as LVM.
169
1eafb9b9 1702009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
171
172 * conf/common.rmk: Add grub-gettext_lib target and updates
173 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
174 LDFLAGS.
175 * gettext/gettext.c: New file. (Reads mo files).
176 * include/grub/file.h (grub_file_pread): New prototype.
177 * include/grub/i18n.h (_): New prototype.
178 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
179 prototypes.
180 * kern/misc.c (grub_gettext_dummy): New function.
181 * normal/menu_text.c: Include <grub/i18n.h>.
182 * normal/menu_text.c (print_timeout): Gettexttize string.
183 * normal/menu_text.c (print_message): Gettexttize string.
c3ea6bd4
CPE
184 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
185 gettext module and defines locale_dir and lang in grub.cfg.
186 * NEWS: Add gettext support.
187
0fdb2568
RM
1882009-11-23 Robert Millan <rmh.grub@aybabtu.com>
189
190 * util/hostdisk.c: Include `<grub/i18n.h>'.
191 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
192 (make_device_name): Rewrite using asprintf.
193 (convert_system_partition_to_system_disk): Replace 0 with NULL.
194 (find_system_device): If a device is not found, generate one just
195 by reusing the OS path name.
196 (read_device_map): Make it permissible for device.map not to exist.
197
f515aa62
RM
1982009-11-23 Robert Millan <rmh.grub@aybabtu.com>
199
200 * script/sh/execute.c: Move from here ...
201 * script/execute.c: ... to here. Update all users.
202 * script/sh/function.c: Move from here ...
203 * script/function.c: ... to here. Update all users.
204 * script/sh/lexer.c: Move from here ...
205 * script/lexer.c: ... to here. Update all users.
206 * script/sh/main.c: Move from here ...
207 * script/main.c: ... to here. Update all users.
208 * script/sh/parser.y: Move from here ...
209 * script/parser.y: ... to here. Update all users.
210 * script/sh/script.c: Move from here ...
211 * script/script.c: ... to here. Update all users.
212
f84b481b
RM
2132009-11-23 Robert Millan <rmh.grub@aybabtu.com>
214
215 * configure.ac: Detect all `emu' platforms. Define
216 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
217 --enable-grub-emu logic. Disable include/grub/machine
218 symlink on `emu' platforms.
219
220 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
221 * gensymlist.sh.in: Likewise.
222
223 * include/grub/i386/coreboot/machine.h: Remove file.
224 * include/grub/i386/efi/machine.h: Likewise.
225 * include/grub/i386/ieee1275/machine.h: Likewise.
226 * include/grub/i386/pc/machine.h: Likewise.
227 * include/grub/i386/qemu/machine.h: Likewise.
228 * include/grub/powerpc/ieee1275/machine.h: Likewise.
229 * include/grub/sparc64/ieee1275/machine.h: Likewise.
230 * include/grub/x86_64/efi/machine.h: Likewise.
231
232 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
233 * commands/halt.c: Likewise.
234 * commands/reboot.c: Likewise.
235 * include/grub/autoefi.h: Likewise.
236 * include/grub/i386/at_keyboard.h: Likewise.
237 * include/grub/i386/kernel.h: Likewise.
238 * include/grub/i386/loader.h: Likewise.
239 * include/grub/i386/pc/memory.h: Likewise.
240 * kern/dl.c: Likewise.
241 * kern/i386/coreboot/init.c: Likewise.
242 * loader/i386/bsd.c: Likewise.
243 * loader/i386/linux.c: Likewise.
244 * loader/multiboot_loader.c: Likewise.
245 * term/i386/pc/serial.c: Likewise.
246 * term/usb_keyboard.c: Likewise.
247
248 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
249 `<grub/machine/machine.h>'
250 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
251 * util/misc.c: Remove `<grub/machine/machine.h>' and
252 `<grub/machine/time.h>'.
253
254 * Makefile.in (enable_grub_emu): Remove variable.
255 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
256
257 * conf/any-emu.rmk: New file.
258 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
259 (grub_emu_init.c): Move from here ...
260 * conf/any-emu.rmk: ... to here.
261
262 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
263 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
264 * conf/any-emu.rmk: ... to here.
265
4efeab03
RM
2662009-11-23 Robert Millan <rmh.grub@aybabtu.com>
267
268 * include/grub/parser.h (grub_parser_register): Document need
269 of `name' parameter.
270 * normal/main.c (grub_normal_read_line): Simplify prompt string.
271 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
272 "sh" to "grub".
273
ea1dd8bf
RM
2742009-11-23 Robert Millan <rmh.grub@aybabtu.com>
275
276 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
277 `$(XGETTEXT)'.
278 * include/grub/i18n.h (N_): New macro.
279 * util/mkisofs/mkisofs.h: Likewise.
280 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
281 around N_().
282 (usage): Use gettext() to translate help strings when printing them.
283
0c140626
RM
2842009-11-23 Robert Millan <rmh.grub@aybabtu.com>
285
286 Based on patch from Bean
287 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
288
289 * video/efi_fb.c: New file.
290 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
291 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
292 variables.
293 * conf/x86_64-efi.rmk: Likewise.
294
87d58298
RM
2952009-11-22 Robert Millan <rmh.grub@aybabtu.com>
296
297 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
298 * util/i386/pc/grub-setup.c: Likewise.
299
994cc3a3
ST
3002009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
301
302 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
303 <hurd/fs.h>
304 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
305 file_get_storage_info to implement grub_guess_root_device.
306
26a61d6a
FZ
3072009-11-21 Felix Zielcke <fzielcke@z-51.de>
308
309 * Makefile.in (target): Use make's builtin $(shell) function
310 instead of calling directly $(SHELL) to create the locale directories,
311 inside the $(foreach) function.
312
74ff1dd5
FZ
3132009-11-21 Felix Zielcke <fzielcke@z-51.de>
314
315 * util/grub-mkrescue.in: Print an error and usage if output option
316 has not been given.
317
0b787d0e
FZ
3182009-11-21 Felix Zielcke <fzielcke@z-51.de>
319
320 Patch from Loïc Minier <loic.minier@ubuntu.com>.
321 * util/grub.d/30_os-prober.in: Cope with Linux entries where
322 root and /boot are on different devices.
323
1164b270
RM
3242009-11-21 Robert Millan <rmh.grub@aybabtu.com>
325
326 Fix build for srcdir != objdir.
327
328 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
329 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
330 $(srcdir).
331 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
332 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
333 reference for input.
334
13774a2f
RM
3352009-11-21 Robert Millan <rmh.grub@aybabtu.com>
336
337 * util/grub-mkrescue.in: Use source directory direcly (without copiing
338 or hardlinking it). Remove -J option, Joliet is not compatible with
339 multiple source directories.
340
efda854e
RM
3412009-11-21 Carles Pina i Estany <carles@pina.cat>
3422009-11-21 Robert Millan <rmh.grub@aybabtu.com>
343
344 * util/grub-mkrescue.in: Recognize `--override-directory' option.
345 (process_input_dir): New function. Process an arbitrary input
346 directory.
347 Misc adjustments to support both "override mode" and system-wide mode.
348
6c09890c
FZ
3492009-11-20 Felix Zielcke <fzielcke@z-51.de>
350
351 * configure.ac (UNIFONT_BDF): Rename to ...
352 (FONT_SOURCE): ... this. Update all users.
353
a797824f
FZ
3542009-11-20 Felix Zielcke <fzielcke@z-51.de>
355
356 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
357 to the list of unifont files to look for.
358
cd4f42b0
RM
3592009-11-19 Robert Millan <rmh.grub@aybabtu.com>
360
361 Patch from Joe Auricchio <jauricchio@gmail.com>
362 * commands/minicmd.c (grub_mini_cmd_clear): New function.
363 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
364 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
365
393c783d
FZ
3662009-11-19 Felix Zielcke <fzielcke@z-51.de>
367
368 * Makefile.in (install-local): Add a missing backslash.
369
b2f1e327
FZ
3702009-11-19 Felix Zielcke <fzielcke@z-51.de>
371
372 * include/grub/x86_64/io.h: New file.
373
f577f7a0
RM
3742009-11-19 Robert Millan <rmh.grub@aybabtu.com>
375
376 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
377 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
378 Include `"progname.h"'.
379 (main): Initialize gettext.
380 * util/i386/pc/grub-setup.c: Gettexttize.
381 * util/i386/pc/grub-mkimage.c: Likewise.
382
383 * Makefile.in (po/*.po): Redefine as ...
384 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
385
c37943b6
RM
3862009-11-19 Robert Millan <rmh.grub@aybabtu.com>
387
388 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
389 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
390 (program_name): Remove.
391 (main): Initialize gettext support.
6323f705
RM
392 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
393 Include `<libintl.h>'.
394 (_): New macro.
c37943b6
RM
395
396 * util/mkisofs/eltorito.c: Gettexttize.
397 * util/mkisofs/joliet.c: Likewise.
398 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
399 * util/mkisofs/multi.c: Likewise.
400 * util/mkisofs/rock.c: Likewise.
401 * util/mkisofs/tree.c: Likewise.
402 * util/mkisofs/write.c: Likewise.
403
5ce77c6e
RM
4042009-11-18 Robert Millan <rmh.grub@aybabtu.com>
405
406 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
407 * util/mkisofs/iso9660.h: Likewise.
408 * util/mkisofs/joliet.c: Likewise.
409 * util/mkisofs/mkisofs.c: Likewise.
410 * util/mkisofs/mkisofs.h: Likewise.
411 * util/mkisofs/rock.c: Likewise.
412 * util/mkisofs/tree.c: Likewise.
413 * util/mkisofs/write.c: Likewise.
414
415 * util/mkisofs/eltorito.c (rcsid): Remove.
416 * util/mkisofs/hash.c: Likewise.
417 * util/mkisofs/joliet.c: Likewise.
418 * util/mkisofs/name.c: Likewise.
419 * util/mkisofs/rock.c: Likewise.
420 * util/mkisofs/tree.c: Likewise.
421 * util/mkisofs/write.c: Likewise.
422
1dabbc77
RM
4232009-11-18 Robert Millan <rmh.grub@aybabtu.com>
424
425 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
426 instead of static allocation.
427 * util/mkisofs/match.h: Likewise.
428
633877cb
RM
4292009-11-18 Robert Millan <rmh.grub@aybabtu.com>
430
633877cb
RM
431 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
432 translatable Shell files.
433
af1c0c85
RM
4342009-11-18 Robert Millan <rmh.grub@aybabtu.com>
435
436 * Makefile.in ($(srcdir)/aclocal.m4): New target.
437
769ae37b
RM
4382009-11-17 Robert Millan <rmh.grub@aybabtu.com>
439
440 * INSTALL: Document Automake is needed for bootstrap.
769ae37b
RM
441 * util/grub.d/10_kfreebsd.in (bindir): New variable.
442 Add gettext initialization.
443 (kfreebsd_entry): Make menuentry output translatable.
444
4452009-11-17 Robert Millan <rmh.grub@aybabtu.com>
446
447 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
448 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
449 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
450 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
451 (LINGUAS): Auto-generate using `po/LINGUAS'.
769ae37b
RM
452
4532009-11-17 Robert Millan <rmh.grub@aybabtu.com>
454
455 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
456 other things).
457 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
458 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
459 bindtextdomain() calls for gettext initialization.
460
4612009-11-17 Robert Millan <rmh.grub@aybabtu.com>
462
463 * gnulib/progname.c: New file (imported from Gnulib).
464 * gnulib/progname.h: Likewise.
465 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
466 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
467 (usage): Replace `progname' with `program_name'.
468 (main): Use set_program_name() for program name initialization.
469
4702009-11-17 Robert Millan <rmh.grub@aybabtu.com>
471
472 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
473 from here ...
474 * Makefile.in (CPPFLAGS): ... to here.
475
4762009-11-16 Robert Millan <rmh.grub@aybabtu.com>
477
478 * aclocal.m4: Move from here ...
479 * acinclude.m4: ... to here.
480 * autogen.sh: Add call to `aclocal'.
481 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
482
4832009-11-16 Robert Millan <rmh.grub@aybabtu.com>
484
485 * Makefile.in (CLEANFILES): Add `po/*.mo'.
486 (LINGUAS): New variable.
487 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
488 (install-local): Install MO files.
489 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
490 * include/grub/i18n.h: New file.
769ae37b
RM
491 * util/grub.d/10_linux.in (bindir): New variable.
492 Add gettext initialization.
493 (linux_entry): Make menuentry output translatable.
494 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
495 (usage): Make --help output translatable.
496 (main): Initialize gettext.
497
02c0a6ad
RM
4982009-11-17 Robert Millan <rmh.grub@aybabtu.com>
499
500 * import_gcry.py: New file (written by Vladimir with minor
501 adjustments).
502 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
503 ciphers.
504 * INSTALL: Document that Python is required for bootstrap.
505
5062009-11-17 Robert Millan <rmh.grub@aybabtu.com>
507
508 Import ciphers from libgcrypt 1.4.4.
509
510 * lib/libgcrypt/cipher/ChangeLog
511 * lib/libgcrypt/cipher/ac.c
512 * lib/libgcrypt/cipher/arcfour.c
513 * lib/libgcrypt/cipher/bithelp.h
514 * lib/libgcrypt/cipher/blowfish.c
515 * lib/libgcrypt/cipher/camellia-glue.c
516 * lib/libgcrypt/cipher/camellia.c
517 * lib/libgcrypt/cipher/camellia.h
518 * lib/libgcrypt/cipher/cast5.c
519 * lib/libgcrypt/cipher/cipher.c
520 * lib/libgcrypt/cipher/crc.c
521 * lib/libgcrypt/cipher/des.c
522 * lib/libgcrypt/cipher/dsa.c
523 * lib/libgcrypt/cipher/ecc.c
524 * lib/libgcrypt/cipher/elgamal.c
525 * lib/libgcrypt/cipher/hash-common.c
526 * lib/libgcrypt/cipher/hash-common.h
527 * lib/libgcrypt/cipher/hmac-tests.c
528 * lib/libgcrypt/cipher/md.c
529 * lib/libgcrypt/cipher/md4.c
530 * lib/libgcrypt/cipher/md5.c
531 * lib/libgcrypt/cipher/primegen.c
532 * lib/libgcrypt/cipher/pubkey.c
533 * lib/libgcrypt/cipher/rfc2268.c
534 * lib/libgcrypt/cipher/rijndael-tables.h
535 * lib/libgcrypt/cipher/rijndael.c
536 * lib/libgcrypt/cipher/rmd.h
537 * lib/libgcrypt/cipher/rmd160.c
538 * lib/libgcrypt/cipher/rsa.c
539 * lib/libgcrypt/cipher/seed.c
540 * lib/libgcrypt/cipher/serpent.c
541 * lib/libgcrypt/cipher/sha1.c
542 * lib/libgcrypt/cipher/sha256.c
543 * lib/libgcrypt/cipher/sha512.c
544 * lib/libgcrypt/cipher/tiger.c
545 * lib/libgcrypt/cipher/twofish.c
546 * lib/libgcrypt/cipher/whirlpool.c
547
af2f93ac
RM
5482009-11-16 Robert Millan <rmh.grub@aybabtu.com>
549
550 Fix build for systems without error().
551
552 * gnulib/error.c: New file (imported from Gnulib).
553 * gnulib/error.h: Likewise.
554 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
555 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
556 (this variable is now used by error()).
557
73fb3dd5
FZ
5582009-11-16 Felix Zielcke <fzielcke@z-51.de>
559
814f5e96
FZ
560 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
561 instead of relying that char is signed.
73fb3dd5 562
a691ca33
VS
5632009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
564
565 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
566 blocksize different from specified.
567 (grub_pxefs_read): Likewise.
568
2af8f0f4
FZ
5692009-11-16 Felix Zielcke <fzielcke@z-51.de>
570
571 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
572
573 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
574 (grub_ata_readwrite): Likewise. Update 2 format strings.
575 (grub_atapi_read): Likewise.
576
577 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
578 * conf/i386.rmk (pkglib_MODULES): ... to here ...
579 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
580 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
581 (ata_mod_LDFLAGS): Move from here ...
582 * conf/i386.rmk: ... to here ...
583 * conf/x86_64-efi.rmk: ... and here.
584 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
585 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
586
83bdecaf
RM
5872009-11-16 Robert Millan <rmh.grub@aybabtu.com>
588
589 Relicense multiboot.h, with RMS' blessing.
590
591 * include/multiboot.h: Change to X11 license.
592
fd6fd3d7
RM
5932009-11-15 Robert Millan <rmh.grub@aybabtu.com>
594
595 Support --version in grub-mkisofs.
596
597 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
598 (OPTION_VERSION): New macro.
599 (ld_options): Recognize --version.
600 (usage): Move `program_name' from here ...
601 (program_name): ... to here. Add `static' qualifier.
602 (main): Recognize `OPTION_VERSION'.
603
16a88c49
FZ
6042009-11-15 Felix Zielcke <fzielcke@z-51.de>
605
606 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
607 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
608
a4158476
RM
6092009-11-14 Robert Millan <rmh.grub@aybabtu.com>
610
611 Fix help2man generation for mkisofs.
612
613 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
614 (usage): Send output to stdout (rather than stderr).
615
fc2208b0
RM
6162009-11-14 Robert Millan <rmh.grub@aybabtu.com>
617
618 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
619 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
620 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
621 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
622 (bin_SCRIPTS): Add `grub-mkfloppy'.
623 (grub_mkfloppy_SOURCES): New variable.
624
625 * util/grub-mkrescue.in: New file.
626 * util/i386/pc/grub-mkfloppy.in: New file.
627
628 * util/i386/coreboot/grub-mkrescue.in: Remove.
629 * util/i386/pc/grub-mkrescue.in: Remove.
630
8d0edf4a
RM
6312009-11-13 Robert Millan <rmh.grub@aybabtu.com>
632
633 * include/grub/multiboot.h (struct grub_multiboot_header): Move
634 from here ...
635 * include/multiboot.h (struct multiboot_header): ... to here. Update
636 all users.
637 * include/grub/multiboot.h (struct grub_multiboot_info): Move
638 from here ...
639 * include/multiboot.h (struct multiboot_info): ... to here. Update
640 all users.
641 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
642 from here ...
643 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
644 Update all users.
645 * include/grub/multiboot.h (struct grub_mod_list): Move
646 from here ...
647 * include/multiboot.h (struct multiboot_mod_list): ... to here.
648 Update all users.
649
a73f5969
RM
6502009-11-13 Robert Millan <rmh.grub@aybabtu.com>
651
652 * include/multiboot2.h (multiboot_word): Rename from this ...
653 (multiboot2_word): ... to this. Update all users.
654 (multiboot_header): Rename from this ...
655 (multiboot2_header): ... to this. Update all users.
656 (multiboot_tag_header): Rename from this ...
657 (multiboot2_tag_header): ... to this. Update all users.
658 (multiboot_tag_start): Rename from this ...
659 (multiboot2_tag_start): ... to this. Update all users.
660 (multiboot_tag_name): Rename from this ...
661 (multiboot2_tag_name): ... to this. Update all users.
662 (multiboot_tag_module): Rename from this ...
663 (multiboot2_tag_module): ... to this. Update all users.
664 (multiboot_tag_memory): Rename from this ...
665 (multiboot2_tag_memory): ... to this. Update all users.
666 (multiboot_tag_unused): Rename from this ...
667 (multiboot2_tag_unused): ... to this. Update all users.
668 (multiboot_tag_end): Rename from this ...
669 (multiboot2_tag_end): ... to this. Update all users.
670
1c8927f0
RM
6712009-11-13 Robert Millan <rmh.grub@aybabtu.com>
672
673 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
674 this platform we should support Multiboot1 first.
675
676 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
677 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
678 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
679
6e1e0d89
RM
6802009-11-12 Robert Millan <rmh.grub@aybabtu.com>
681
682 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
683 of write calls (converting them to fwrite() if they aren't already).
684 (get_torito_desc): Likewise.
685 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
686
7f2b34d8
RM
6872009-11-12 Robert Millan <rmh.grub@aybabtu.com>
688
689 * util/i386/pc/grub-install.in: Move from here ...
690 * util/grub-install.in: ... to here. Update all users.
691
c0ef3311
CW
6922009-11-11 Colin Watson <cjwatson@ubuntu.com>
693
694 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
695
e1f240ff
RM
6962009-11-11 Robert Millan <rmh.grub@aybabtu.com>
697
698 Support for El Torito without floppy emulation.
699
700 * util/mkisofs/eltorito.c: Include `<errno.h>'.
701 (init_boot_catalog): Improve error handling.
702 (get_torito_desc): Don't use floppy emulation unless requested by
703 user. Patch boot information table when requested via
704 `-boot-info-table'.
705 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
706 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
707 (use_boot_info_table): New variables.
708 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
709 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
710 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
711 `--eltorito-emul-floppy'.
712 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
713 and `OPTION_ELTORITO_EMUL_FLOPPY'.
714 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
715 (use_boot_info_table, get_731): New prototypes.
716 * util/mkisofs/write.c (get_731): New function.
717
af7d4de5
FZ
7182009-11-11 Felix Zielcke <fzielcke@z-51.de>
719
720 Fix the generation of the man page.
721
722 * util/pc/i386/grub-install.in: Source
723 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
724
2c55dbc0
RM
7252009-11-11 Robert Millan <rmh.grub@aybabtu.com>
726
727 Large file support for grub-mkisofs.
728
729 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
730 * util/mkisofs/mkisofs.c (next_extent, last_extent)
731 (session_start): Upgrade type to `uint64_t'. Update all users.
732 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
733 (struct directory_entry): Upgrade type of `starting_block' and
734 `size' to `uint64_t'. Update all users.
735 (struct deferred): Remove unused structure.
736 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
737 Update all users.
738 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
739 file is larger than `UINT32_MAX'.
740 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
741 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
742 return value.
743 (struct deferred_write): Upgrade type of `extent' and `size' to
744 `uint64_t'. Update all users.
745 (last_extent_written): Upgrade type to `uint64_t'. Update all
746 users.
747 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
748 Update all users. Upgrade type of `remain' to `int64_t' and
749 `use' to `size_t'. Use error() to handle fread() errors.
750 (write_files): Rely on write_one_file() rather than calling
751 xfwrite() directly.
752
6a9cead5
FZ
7532009-11-09 Felix Zielcke <fzielcke@z-51.de>
754
755 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
756
4825d790
RM
7572009-11-09 Robert Millan <rmh.grub@aybabtu.com>
758
759 * util/mkisofs/fnmatch.c: Remove.
760 * util/mkisofs/getopt1.c: Likewise.
761 * util/mkisofs/getopt.c: Likewise.
762 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
763 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
764 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
765 `gnulib/getopt1.c' and `gnulib/getopt.c'.
766 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
767
768 * configure.ac: Detect `mingw32msvc' host_os.
769 Check for lstat(), getuid() and getgid().
770
771 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
772 instances of `u_char' with `uint8_t'.
773
774 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
775 [!HAVE_GETUID] (getuid): New function (stub).
776 [!HAVE_GETGID] (getgid): Likewise.
777 [!HAVE_LSTAT] (lstat): Likewise.
778 [!S_IROTH] (S_IROTH): New macro (dummy).
779 [!S_IRGRP] (S_IRGRP): Likewise.
780
84b860d8
RM
7812009-11-09 Robert Millan <rmh.grub@aybabtu.com>
782
783 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
784 conditional expression).
785
66e9b712
RM
7862009-11-09 Robert Millan <rmh.grub@aybabtu.com>
787
788 Import from Gnulib.
789
790 * gnulib/fnmatch.c: New file.
791 * gnulib/fnmatch.h: Likewise.
792 * gnulib/fnmatch_loop.c: Likewise.
793 * gnulib/getopt.c: Likewise.
794 * gnulib/getopt.h: Likewise.
795 * gnulib/getopt1.c: Likewise.
796 * gnulib/getopt_int.h: Likewise.
797 * gnulib/gettext.h: Likewise.
798
34f4a5b0
RM
7992009-11-09 Robert Millan <rmh.grub@aybabtu.com>
800
801 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
802 * normal/handler.c (read_handler_list): Likewise.
803
ac451143
RM
8042009-11-09 Robert Millan <rmh.grub@aybabtu.com>
805
806 Misc cleanup.
807
808 * kern/command.c (grub_register_command_prio): Use
809 grub_zalloc() instead of explicitly zeroing data.
810 * kern/list.c: Include `<grub/mm.h>'.
811 (grub_named_list_find): Replace `0' with `NULL'.
812 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
813 (fs_module_list): Change type to `grub_named_list_t'. Update all
814 users.
815 * normal/dyncmd.c (read_command_list): Add space between function
816 call and parenthesis.
817 * normal/handler.c (read_handler_list): Likewise.
818
4089b167
RM
8192009-11-09 Robert Millan <rmh.grub@aybabtu.com>
820
821 * normal/auth.c (punishment_delay): Moved from here ...
822 (grub_auth_strcmp): ... to here (inside function).
823
325f5037
RM
8242009-11-09 Robert Millan <rmh.grub@aybabtu.com>
825
826 * include/grub/list.h (struct grub_named_list): Remove `const'
827 qualifier from `name'.
828 (struct grub_prio_list): Likewise.
829
7aea29a3
RM
8302009-11-09 Robert Millan <rmh.grub@aybabtu.com>
831
832 * normal/auth.c: Include `<grub/time.h>'.
833 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
834
3fd6f044
RM
8352009-11-09 Robert Millan <rmh.grub@aybabtu.com>
836
837 * normal/auth.c (punishment_delay): New variable.
838 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
839 (grub_auth_check_authentication): Punish failed login attempts with
840 an incremental (2^N) delay.
841
a4cd68e4
RM
8422009-11-09 Robert Millan <rmh.grub@aybabtu.com>
843
844 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
845 path with $(srcdir).
846
7ad12f43
VS
8472009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
848
849 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
850
c1129f03
RM
8512009-11-09 Robert Millan <rmh.grub@aybabtu.com>
852
853 * util/i386/coreboot/grub-mkrescue.in: New file.
854 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
855 variables.
856
857 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
858 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
859 * configure.ac: Add header and function checks to satisfy grub-mkisofs
860 requirements.
861 * util/mkisofs/defaults.h: New file.
862 * util/mkisofs/eltorito.c: Likewise.
863 * util/mkisofs/exclude.h: Likewise.
864 * util/mkisofs/fnmatch.c: Likewise.
865 * util/mkisofs/getopt.c: Likewise.
866 * util/mkisofs/getopt1.c: Likewise.
867 * util/mkisofs/hash.c: Likewise.
868 * util/mkisofs/include/fctldefs.h: Likewise.
869 * util/mkisofs/include/mconfig.h: Likewise.
870 * util/mkisofs/include/prototyp.h: Likewise.
871 * util/mkisofs/include/statdefs.h: Likewise.
872 * util/mkisofs/iso9660.h: Likewise.
873 * util/mkisofs/joliet.c: Likewise.
874 * util/mkisofs/match.c: Likewise.
875 * util/mkisofs/match.h: Likewise.
876 * util/mkisofs/mkisofs.c: Likewise.
877 * util/mkisofs/mkisofs.h: Likewise.
878 * util/mkisofs/multi.c: Likewise.
879 * util/mkisofs/name.c: Likewise.
880 * util/mkisofs/rock.c: Likewise.
881 * util/mkisofs/tree.c: Likewise.
882 * util/mkisofs/write.c: Likewise.
883
ec8bb77d
VS
8842009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
885
886 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
887 being insecure.
888
3716b12c
RM
8892009-11-08 Robert Millan <rmh.grub@aybabtu.com>
890
891 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
892 `grub-mkimage' (and use $0 when possible).
893
b97b7b91
RM
8942009-11-08 Robert Millan <rmh.grub@aybabtu.com>
895
896 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
897 error message for excessively large memory map.
898
04114812
RM
8992009-11-08 Robert Millan <rmh.grub@aybabtu.com>
900
901 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
902 executable bit.
903
e4eb2373
RM
9042009-11-08 Robert Millan <rmh.grub@aybabtu.com>
905
906 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
907 message for coreboot users.
908
c926e1d5 9092009-11-07 Robert Millan <rmh.grub@aybabtu.com>
910
911 Fix build with GNU gold.
912
913 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
914 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
915 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
916 link addresses.
917 * aclocal.m4: Likewise.
918
86e5b1db 9192009-11-04 Felix Zielcke <fzielcke@z-51.de>
920
921 * configure.ac (AC_PREREQ): Bump to 2.59d.
922 * INSTALL: Make it more clear when Autoconf and Ruby are
923 needed and when to run `./autogen.sh'.
924
246cd78f 9252009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
926
927 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
928 OSes.
929
4f9dfb37 9302009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
931
932 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
933
b82bd5e1 9342009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
935
936 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
937 giving it to GNU Mach.
938
ff1a9bca 9392009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
940
941 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
942 GNU partition number to get internal GRUB partition number.
943
61697d9c 9442009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
945
946 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
947 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
948
a50569e1 9492009-11-01 Robert Millan <rmh.grub@aybabtu.com>
950
951 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
952 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
953 case.
954
5b153867 9552009-11-01 Felix Zielcke <fzielcke@z-51.de>
956
957 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
958
d9e2cd70 9592009-10-30 Robert Millan <rmh.grub@aybabtu.com>
960
961 Fix build problem.
962
963 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
964 `-isystem=$(srcdir)/include'.
965
805111a4 9662009-10-30 Robert Millan <rmh.grub@aybabtu.com>
967
968 * util/i386/pc/grub-install.in: Remove hint that device.map should be
969 checked (grub-install doesn't currently rely on it).
970
fa6e945f 9712009-10-29 Robert Millan <rmh.grub@aybabtu.com>
972
973 Revert SVN r2660.
974
975 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
976 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
977 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
978 * conf/i386-ieee1275.rmk: Likewise.
979 * conf/i386-pc.rmk: Likewise.
980 * conf/powerpc-ieee1275.rmk: Likewise.
981 * conf/sparc64-ieee1275.rmk: Likewise.
982 * conf/x86_64-efi.rmk: Likewise.
983
cee15086 9842009-10-28 Robert Millan <rmh.grub@aybabtu.com>
985
986 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
987
95b9239e 9882009-10-28 Robert Millan <rmh.grub@aybabtu.com>
989
990 * include/grub/misc.h: Stop checking for APPLE_CC.
991
2ed19dfd 9922009-10-28 Robert Millan <rmh.grub@aybabtu.com>
993
994 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
995 doesn't cause an infinite call loop.
996
fdcdde19 9972009-10-28 Felix Zielcke <fzielcke@z-51.de>
998
999 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
1000 strings.
1001
cefabfe1 10022009-10-26 Robert Millan <rmh.grub@aybabtu.com>
1003
1004 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
1005 variable.
1006 * Makefile.in: Likewise.
1007
ed96ab6d 10082009-10-26 Robert Millan <rmh.grub@aybabtu.com>
1009
1010 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
1011
0579b753 10122009-10-26 Robert Millan <rmh.grub@aybabtu.com>
1013
1014 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
1015
478df409 10162009-10-26 Robert Millan <rmh.grub@aybabtu.com>
1017
1018 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
1019
083d1679 10202009-10-26 Robert Millan <rmh.grub@aybabtu.com>
1021
1022 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
1023 from here ...
1024 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
1025
5947ae32 10262009-10-26 Robert Millan <rmh.grub@aybabtu.com>
1027
1028 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
1029 in $(MAKEINFO) invocation. This makes it clear in output that
1030 errors are being ignored.
1031
94180ff6 10322009-10-26 Robert Millan <rmh.grub@aybabtu.com>
1033
1034 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
1035 from here ...
1036 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
1037 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
1038 * conf/i386-ieee1275.rmk: Likewise.
1039 * conf/i386-pc.rmk: Likewise.
1040 * conf/powerpc-ieee1275.rmk: Likewise.
1041 * conf/sparc64-ieee1275.rmk: Likewise.
1042 * conf/x86_64-efi.rmk: Likewise.
1043
9031b03a 10442009-10-26 Colin Watson <cjwatson@ubuntu.com>
1045
1046 * util/grub-editenv.c (main): If only a command is given, use
1047 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
1048 (usage): FILENAME is now optional and has a default.
1049
e4f6809b 10502009-10-26 Colin Watson <cjwatson@ubuntu.com>
1051
1052 Improve grub-mkconfig performance when there are several menu
1053 entries on a single filesystem.
1054
1055 * util/grub.d/10_linux.in (linux_entry): Cache the output of
1056 prepare_grub_to_access_device.
1057 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
1058 * util/grub.d/30_os-prober.in: Likewise.
1059
67937d4d 10602009-10-26 Robert Millan <rmh.grub@aybabtu.com>
1061
1062 * util/grub.d/10_freebsd.in: Remove.
1063 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
1064 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
1065
ee3756cc 10662009-10-26 Robert Millan <rmh.grub@aybabtu.com>
1067
5c35048e 1068 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 1069
4dea1c6f 10702009-10-25 Robert Millan <rmh.grub@aybabtu.com>
1071
1072 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
1073 grub_util_error() call.
1074
042484d7 10752009-10-25 Robert Millan <rmh.grub@aybabtu.com>
1076
1077 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
1078 `reserved_first_sector' member.
1079 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
1080 `reserved_first_sector' to 1.
1081 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
1082 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
1083 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
1084 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
1085 filesystems which begin at first sector.
1086 (options): New option --skip-fs-probe.
1087 (main): Handle --skip-fs-probe and pass it to setup().
1088
d64448a7 10892009-10-25 Robert Millan <rmh.grub@aybabtu.com>
1090
1091 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
1092 (memset): Fix function prototype.
1093
508d42ec 10942009-10-25 Robert Millan <rmh.grub@aybabtu.com>
10952009-10-25 Vasily Averin <vvs@parallels.com>
1096
1097 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
1098 `dirent.direntlen == 0'.
1099
b240e30c 11002009-10-25 Robert Millan <rmh.grub@aybabtu.com>
1101
1102 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
1103 `cpio'.
1104 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
1105
346e7fbe 11062009-10-25 Robert Millan <rmh.grub@aybabtu.com>
1107
1108 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
1109 `__trampoline_setup' and `__ucmpdi2'.
1110 * include/grub/powerpc/libgcc.h: Only export symbols for functions
1111 that libgcc provides.
1112
cdb308b0 11132009-10-25 Robert Millan <rmh.grub@aybabtu.com>
1114
1115 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
1116 * include/grub/sparc64/libgcc.h (memset): Likewise.
1117 * include/grub/misc.h (memset, memcmp): New function prototypes.
1118
fb26abc2 11192009-10-25 Robert Millan <rmh.grub@aybabtu.com>
1120
1121 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
1122 `cpio'.
1123 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
1124
f6693890 11252009-10-25 Robert Millan <rmh.grub@aybabtu.com>
1126
1127 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
1128 * docs/grub.cfg: Compensate for recent change in multiboot
1129 loader (since 2009-08-14 it won't pass filename to payload).
1130 * util/grub.d/10_hurd.in: Likewise.
1131
0933cdc0 11322009-10-21 Felix Zielcke <fzielcke@z-51.de>
1133
1134 * config.guess: Update to latest version from config git
1135 repository.
1136 * config.sub: Likewise.
1137
3b2fe8c2 11382009-10-20 Robert Millan <rmh.grub@aybabtu.com>
1139
1140 Fix build on sparc64.
1141
1142 * configure.ac: Perform checks for libgcc symbols before
1143 adding `-nostdlib' to LDFLAGS.
1144
46695a62 11452009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1146
1147 Let user specify OpenBSD root device.
1148
1149 * loader/i386/bsd.c (openbsd_root): New variable.
1150 (openbsd_opts): New option 'root'.
1151 (OPENBSD_ROOT_ARG): New macro.
1152 (grub_openbsd_boot): Use 'openbsd_root'.
1153 (grub_cmd_openbsd): Fill 'openbsd_root'.
1154
d2b6b7fc 11552009-10-16 Robert Millan <rmh.grub@aybabtu.com>
1156
1157 * NEWS: Misc adjustments.
1158
421bd7ac 11592009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1160
1161 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
1162
f1d29d87 11632009-10-16 Robert Millan <rmh.grub@aybabtu.com>
1164
1165 * configure.ac: Bump version to 1.97.
1166
6f3cd880 11672009-10-16 Colin Watson <cjwatson@ubuntu.com>
1168
1169 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
1170 -mno-3dnow on x86 architectures. Some toolchains enable these
1171 features by default, but they rely on registers that aren't enabled
1172 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
1173
035f7122 11742009-10-15 Robert Millan <rmh.grub@aybabtu.com>
1175
1176 Make entry text a bit more readable.
1177
1178 * util/grub.d/10_linux.in: Add `with' before `Linux'.
1179
44998e58 11802009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1181
1182 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
1183
cd2851b3 11842009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1185
1186 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
1187 operations.
1188
c6f3b249 11892009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1190
1191 * configure.ac: Add missing dollar.
1192
6b5886ba 11932009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1194
1195 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
1196
1197 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
1198 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
1199 exports.
1200 * include/grub/sparc64/libgcc.h: Likewise. Use
1201 preprocessor conditionals.
1202
e9d66f6d 12032009-10-14 Robert Millan <rmh.grub@aybabtu.com>
1204
1205 * conf/common.rmk (grub-dumpbios): Remove rule.
1206 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
1207 * util/grub-dumpbios.in: Remove file.
1208
9155bc17 12092009-10-14 Robert Millan <rmh.grub@aybabtu.com>
1210
1211 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
1212 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
1213
1214 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
1215 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
1216 users.
1217
1218 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
1219 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
1220 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
1221 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
1222 users.
1223
bf7f7a18 12242009-10-12 Robert Millan <rmh.grub@aybabtu.com>
1225
1226 * term/tparm.c: Switch to GPLv3.
1227
86564c26 12282009-10-09 Robert Millan <rmh.grub@aybabtu.com>
1229
1230 * include/grub/i386/cpuid.h: Add header protection.
1231
5c936493 12322009-10-09 Robert Millan <rmh.grub@aybabtu.com>
1233
1234 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
1235
1236 * include/grub/i386/cpuid.h: New file.
1237 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
1238 (has_longmode): Rename to ...
1239 (grub_cpuid_has_longmode): ... this. Update all users. Remove
1240 `static' attribute.
1241 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
1242 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
1243 on a CPU that doesn't implement AMD64 instruction set.
1244
186e7cf2 12452009-10-06 Colin Watson <cjwatson@ubuntu.com>
1246
1247 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
1248 that version.texi is rebuilt on version number changes.
1249
83b65c4a 12502009-10-06 Colin Watson <cjwatson@ubuntu.com>
1251
1252 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
1253 Fixes bug #27602.
1254
d244281c 12552009-10-06 Colin Watson <cjwatson@ubuntu.com>
1256
1257 * util/i386/pc/grub-install.in: Source
1258 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
1259 that the --grub-probe option will work.
1260 * util/sparc64/ieee1275/grub-install.in: Likewise.
1261
da25306d 12622009-10-05 Robert Millan <rmh.grub@aybabtu.com>
1263
1264 * configure.ac: Bump version to 1.97~beta4.
1265
e8ee83c0 12662009-10-03 Robert Millan <rmh.grub@aybabtu.com>
1267
1268 Resync grub-mkdevicemap in x86_64-efi.
1269
1270 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
1271 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
1272 `util/devicemap.c'.
1273
50dcabcf 12742009-10-01 Colin Watson <cjwatson@ubuntu.com>
1275
1276 * util/grub-editenv.c (create_envblk_file): Write new block with a
1277 .new suffix and then rename it into place, to ensure atomic
1278 creation.
1279
0e51c3a7 12802009-09-28 Robert Millan <rmh.grub@aybabtu.com>
1281
1282 Do not automatically install headers.
1283
1284 * Makefile.in (include_DATA): Remove. Update all users.
1285
31299a95 12862009-09-26 Robert Millan <rmh.grub@aybabtu.com>
1287
1288 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
1289 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
1290
1291 * util/osdetect.lua: Remove.
1292 * script/lua/lauxlib.c: Likewise.
1293 * script/lua/ldebug.c: Likewise.
1294 * script/lua/grub_main.c: Likewise.
1295 * script/lua/lauxlib.h: Likewise.
1296 * script/lua/ldebug.h: Likewise.
1297 * script/lua/ltablib.c: Likewise.
1298 * script/lua/liolib.c: Likewise.
1299 * script/lua/lstrlib.c: Likewise.
1300 * script/lua/lualib.h: Likewise.
1301 * script/lua/ldo.c: Likewise.
1302 * script/lua/ldump.c: Likewise.
1303 * script/lua/ldo.h: Likewise.
1304 * script/lua/loslib.c: Likewise.
1305 * script/lua/lundump.c: Likewise.
1306 * script/lua/grub_lib.c: Likewise.
1307 * script/lua/ldblib.c: Likewise.
1308 * script/lua/lundump.h: Likewise.
1309 * script/lua/lmem.c: Likewise.
1310 * script/lua/grub_lib.h: Likewise.
1311 * script/lua/lmathlib.c: Likewise.
1312 * script/lua/lstate.c: Likewise.
1313 * script/lua/ltm.c: Likewise.
1314 * script/lua/lvm.c: Likewise.
1315 * script/lua/lmem.h: Likewise.
1316 * script/lua/lstate.h: Likewise.
1317 * script/lua/ltm.h: Likewise.
1318 * script/lua/ltable.c: Likewise.
1319 * script/lua/lvm.h: Likewise.
1320 * script/lua/llex.c: Likewise.
1321 * script/lua/lgc.c: Likewise.
1322 * script/lua/grub_lua.h: Likewise.
1323 * script/lua/loadlib.c: Likewise.
1324 * script/lua/lfunc.c: Likewise.
1325 * script/lua/lopcodes.c: Likewise.
1326 * script/lua/lparser.c: Likewise.
1327 * script/lua/ltable.h: Likewise.
1328 * script/lua/llex.h: Likewise.
1329 * script/lua/lgc.h: Likewise.
1330 * script/lua/lfunc.h: Likewise.
1331 * script/lua/lbaselib.c: Likewise.
1332 * script/lua/lopcodes.h: Likewise.
1333 * script/lua/lparser.h: Likewise.
1334 * script/lua/lzio.c: Likewise.
1335 * script/lua/linit.c: Likewise.
1336 * script/lua/lobject.c: Likewise.
1337 * script/lua/llimits.h: Likewise.
1338 * script/lua/lstring.c: Likewise.
1339 * script/lua/lzio.h: Likewise.
1340 * script/lua/lapi.c: Likewise.
1341 * script/lua/lcode.c: Likewise.
1342 * script/lua/lua.h: Likewise.
1343 * script/lua/lobject.h: Likewise.
1344 * script/lua/lstring.h: Likewise.
1345 * script/lua/lapi.h: Likewise.
1346 * script/lua/lcode.h: Likewise.
1347 * script/lua/luaconf.h: Likewise.
1348
cb8a2c38 13492009-09-26 Colin Watson <cjwatson@ubuntu.com>
1350
1351 * docs/grub.texi (Command-line and menu entry commands): Document
1352 date and echo commands.
1353
6b9b6276 13542009-09-24 Pavel Roskin <proski@gnu.org>
1355
1356 * include/grub/kernel.h (struct grub_module_header): Remove
1357 `grub_module_header_types'. Make `type' unsigned. Make `size'
1358 32-bit on all platforms.
1359 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
1360 8-bit field. Use grub_host_to_target32() for `size'.
1361 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
1362 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
1363 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
1364
4e5a02a7 13652009-09-24 Robert Millan <rmh.grub@aybabtu.com>
1366
1367 Fix "lost keypress" bug in at_keyboard.
1368
1369 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
1370 Checks for readyness of input buffer (without flushing it).
1371 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
1372 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
1373
c6dcedf6 13742009-09-24 Robert Millan <rmh.grub@aybabtu.com>
1375
1376 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
1377 size check within GRUB_MACHINE_PCBIOS section.
1378
74c958b1 13792009-09-24 Robert Millan <rmh.grub@aybabtu.com>
1380
1381 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
1382 return value.
1383 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
1384 KEYBOARD_ISREADY check.
1385 (grub_at_keyboard_checkkey): Rename to ...
1386 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
1387 Remove gratuitous cast.
1388
ff420223 13892009-09-23 Colin Watson <cjwatson@ubuntu.com>
1390
1391 * configure.ac: Call AC_PROG_MKDIR_P.
1392 * Makefile.in (docs/stamp-vti): Create docs directory. Create
1393 version.texi in $(builddir) rather than $(srcdir).
1394 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
1395 to makeinfo's @include search path.
1396
d96875df 13972009-09-23 Felix Zielcke <fzielcke@z-51.de>
1398
1399 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
1400
9b3f8365 14012009-09-23 Felix Zielcke <fzielcke@z-51.de>
1402
1403 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
1404 for `*.dpkg-new'.
1405
c44c90db 14062009-09-21 Colin Watson <cjwatson@ubuntu.com>
1407
1408 Build info documentation. Some code borrowed from Automake.
1409
1410 * configure.ac: Check for makeinfo.
1411 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
1412 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
1413 docs/version.texi.
1414 (MOSTLYCLEANFILES): Add vti.tmp.
1415 (docs/version.texi, docs/stamp-vti): Update automatically.
1416 (docs/grub.info): Build info documentation. Use --force and ignore
1417 errors for now.
1418 (all-local): Add $(INFOS).
1419 (install-local): Install info files.
1420 (uninstall): Uninstall info files.
1421 * docs/version.texi: Remove from revision control. This file is
1422 automatically generated on build now.
1423 * gendistlist.sh: Add `*.info'.
1424
e0b37bb5 14252009-09-21 Felix Zielcke <fzielcke@z-51.de>
1426
1427 * kern/term.c: Fix indentation.
1428
5a78865b 14292009-09-21 Felix Zielcke <fzielcke@z-51.de>
1430
1431 * util/hostdisk.c: Fix a comment.
1432
dace7e8a 14332009-09-20 Robert Millan <rmh.grub@aybabtu.com>
1434
1435 Fix regression introduced in r2539.
1436
1437 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
1438 to 0xA1.
1439
a83d079b 14402009-09-19 Colin Watson <cjwatson@ubuntu.com>
1441
1442 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 1443 os-prober. Under normal operation, it does not print anything to
1444 stderr; if it does, we need to debug it, and throwing away stderr
1445 makes that excessively difficult.
a83d079b 1446
be94a509 14472009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
1448
1449 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
1450
63f745e8 14512009-09-16 Robert Millan <rmh.grub@aybabtu.com>
1452
1453 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
1454 AC_LANG_PROGRAM from autoconf.
1455 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
1456 prototypes (fixes warning).
1457
1458 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
1459 `--disable-werror' was used.
1460
bbb2a70f 14612009-09-16 Robert Millan <rmh.grub@aybabtu.com>
1462
1463 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
1464 uninitialized `lastaddr'.
1465
77c24f1d 14662009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1467
0f0b8c87 1468 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 1469
07197f23 14702009-09-14 Colin Watson <cjwatson@ubuntu.com>
1471
1472 * commands/test.c (get_fileinfo): Return immediately if
1473 grub_fs_probe fails.
1474
dabf1798 14752009-09-14 José Martínez <xosemp@gmail.com>
1476
1477 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
1478
d52109a7 14792009-09-14 Colin Watson <cjwatson@ubuntu.com>
1480
1481 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
1482 output.
1483
56532179 14842009-09-13 Robert Millan <rmh.grub@aybabtu.com>
1485
1486 * configure.ac: Remove --enable-grub-pe2elf. Only build
1487 grub-pe2elf when needed by the build system itself.
1488 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
1489
8ef070f5 14902009-09-12 Robert Millan <rmh.grub@aybabtu.com>
1491
1492 * configure.ac: Bump version to 1.97~beta3.
1493 * docs/version.texi: Likewise.
1494
61229557 14952009-09-12 Robert Millan <rmh.grub@aybabtu.com>
1496
1497 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
1498 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
1499 from here ...
1500 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
1501 (grub_linux_setup_video): ... to here (with some adjustments).
1502
5c9f8d84 15032009-09-12 Robert Millan <rmh.grub@aybabtu.com>
1504
1505 Fix memory corruption issue (spotted by Colin Watson).
1506
1507 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
1508 causing returned size to be stored in an incorrect memory location.
1509 Fix use of uninitialized value when storing the returned size.
1510
e8f5d6e9 15112009-09-12 Yves Blusseau <blusseau@zetam.org>
1512
1513 Change clean rules to properly remove files
1514
1515 * genmk.rb: add new clean rules
1516 * Makefile.in (clean): add the new targets
1517 (mostlyclean): likewise
1518
cda2a409 15192009-09-11 Colin Watson <cjwatson@ubuntu.com>
1520
1521 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
1522 to grub_uint64_t.
1523 * fs/ntfs.c (init_file): Understand 64-bit sizes for
1524 non-resident files.
1525
86695375 15262009-09-11 Colin Watson <cjwatson@ubuntu.com>
1527
1528 * configure.ac: Don't look for help2man when cross-compiling. Fixes
1529 part of bug #27349.
1530
8aa1541a 15312009-09-10 Felix Zielcke <fzielcke@z-51.de>
1532
1533 * util/grub-mkconfig.in: Make the created config mode 400 and
1534 print a warning if it fails.
1535
48d9bb0a 15362009-09-10 Robert Millan <rmh.grub@aybabtu.com>
1537
1538 * util/grub.d/40_custom.in: Ask user to type custom entries below
1539 comment, rather than below 'exec tail' line.
1540
3b0521be 15412009-09-10 Colin Watson <cjwatson@ubuntu.com>
1542
1543 * util/grub.d/40_custom.in: Make sure that the explanatory text is
1544 visible in grub.cfg.
1545
50051d55 15462009-09-10 Colin Watson <cjwatson@ubuntu.com>
1547
1548 * util/grub.d/40_custom.in: Make it a little clearer how to use this
1549 file.
1550
c0d34387 15512009-09-10 Felix Zielcke <fzielcke@z-51.de>
1552
1553 * docs/grub.cfg: Add an example menu entry for memtest86+.
1554
80a608f3 15552009-09-09 Felix Zielcke <fzielcke@z-51.de>
1556
a2094832 1557 * config.guess: Update to latest version from config git.
80a608f3 1558 * config.sub: Likewise.
1559
99423078 15602009-09-08 Colin Watson <cjwatson@ubuntu.com>
1561
1562 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
1563 unknown-command case. Fixes bug #27320.
1564
44454e4c 15652009-09-08 Felix Zielcke <fzielcke@z-51.de>
1566
1567 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
1568 `help' if the command exists.
1569
e30d87ad 15702009-09-06 Robert Millan <rmh.grub@aybabtu.com>
1571
1572 * INSTALL: Require GCC 4.1.3 or later.
1573
9a86f1ec 15742009-09-06 Yves Blusseau <blusseau@zetam.org>
1575
1576 * Makefile.in (RMKFILES): add i386-qemu.rmk
1577 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
1578 $(srcdir)/stamp-h.in
1579
7f26d466 15802009-09-05 Robert Millan <rmh.grub@aybabtu.com>
1581
1582 * util/grub-probe.c (probe): Comment out buggy codepath, which
1583 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
1584 should be re-enabled after 1.97.
1585
3a613259 15862009-09-05 Felix Zielcke <fzielcke@z-51.de>
1587
1588 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
1589 find searches for.
1590
197f76c7 15912009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
1592
1593 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
1594 unnecessary calls to grub_error.
1595
70ba68ce 15962009-09-04 Colin Watson <cjwatson@ubuntu.com>
1597
1598 * NEWS: Mention `keystatus' and Unicode fonts.
1599
4ff0d7a4 16002009-09-04 Robert Millan <rmh.grub@aybabtu.com>
1601
1602 * configure.ac: Bump version to 1.97~beta2.
1603 * docs/version.texi: Likewise.
1604
77c55a87 16052009-09-03 Colin Watson <cjwatson@ubuntu.com>
1606
1607 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
1608 containing unwind information in some cases where it previously did
1609 not. Use -fno-dwarf2-cfi-asm if available to restore the old
1610 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
1611 discussion.
1612
f79572cd 16132009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
1614
1615 Embedding loadenv module into grub-emu
1616
1617 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
1618 commands/loadenv.c
1619 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
1620 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
1621 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
1622 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
1623 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
1624 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
1625
93a81088 16262009-09-03 Magnus Granberg <zorry@ume.nu>
1627
1628 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
1629 include -fPIE in the default specs.
1630 * configure.ac: Check if pie_possible is yes and add -fno-PIE
1631 to TARGET_CFLAGS.
1632
160034b2 16332009-09-03 Felix Zielcke <fzielcke@z-51.de>
1634
1635 * INSTALL: Note that GNU Bison 2.3 or later is required.
1636
087c07c4 16372009-09-03 Colin Watson <cjwatson@ubuntu.com>
1638
1639 * kern/i386/pc/startup.S: Fix typo.
1640
cbf978c0 16412009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
1642
1643 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
1644 according to GCS.
1645
16462009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 1647
1648 * docs/grub.texi (Naming convention): Describe one-based partition
1649 numbering.
1650 (Device syntax): Likewise.
1651 (File name syntax): Likewise.
1652 (Block list syntax): Likewise.
1653 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
1654 menu.lst.
1655 (File name syntax): Likewise.
1656 (Command-line and menu entry commands): Document acpi, blocklist,
1657 crc, export, insmod, keystatus, ls, set, and unset commands.
1658
f3e8cdfd 16592009-09-02 Colin Watson <cjwatson@ubuntu.com>
1660
1661 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
1662 to avoid implying that only one of --shift, --ctrl, or --alt may be
1663 used.
1664
c0bc232b 16652009-09-02 Colin Watson <cjwatson@ubuntu.com>
1666
1667 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
1668 rather than comparing against S_IFREG, which will almost never work.
1669
aa0f752d 16702009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
1671
1672 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
1673 (write_blocklists): Likewise.
1674
ecb3166a 16752009-09-01 Colin Watson <cjwatson@ubuntu.com>
1676
1677 * script/lua/grub_lua.h (fputs): Supply a format string as the first
1678 argument to grub_printf.
1679
c403a125 16802009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 1681
1682 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 1683 non GNU test.
31aba781 1684
b5e7312c 16852009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
1686
1687 * kern/file.c (grub_file_read): Spelling fix
1688
fe00f472 16892009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
1690
1691 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
1692 loading of headers in some cases.
1693
cc55302e 16942009-08-30 Robert Millan <rmh.grub@aybabtu.com>
1695
1696 * configure.ac: Bump version to 1.97~beta1.
1697 * docs/version.texi: Likewise.
1698
5c90cdd2 16992009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 1700
1701 * include/grub/i386/xnu.h: Add license header.
1702 include grub/err.h explicitly.
1703
c90edae4 17042009-08-29 Robert Millan <rmh.grub@aybabtu.com>
1705
1706 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
1707 to `ufs' in the vfs.root.mountfrom kernel parameter.
1708
d8888b5c 17092009-08-29 Robert Millan <rmh.grub@aybabtu.com>
1710
1711 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
1712
1713 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
1714 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
1715
1716 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
1717 `ARRAY_SIZE' macro.
1718
6f07b921 17192009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
1720
1721 * kern/file.c (grub_file_read): Check offset.
1722 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
1723 * fs/jfs.c (grub_jfs_read_file): Likewise.
1724 * fs/ntfs.c (grub_ntfs_read): Likewise.
1725 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
1726 * fs/minix.c (grub_minix_read_file): Correct offset check.
1727 * fs/ufs.c (grub_ufs_read_file): Likewise.
1728
b4f34077 17292009-08-28 Colin Watson <cjwatson@ubuntu.com>
1730
1731 * term/i386/pc/console.c (bios_data_area): Cast
1732 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
1733
e7c69859 17342009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
1735
1736 1-bit optimised blitters.
1737
1738 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
1739 prototype.
1740 (grub_video_fbblit_replace_24bit_1bit): Likewise.
1741 (grub_video_fbblit_replace_16bit_1bit): Likewise.
1742 (grub_video_fbblit_replace_8bit_1bit): Likewise.
1743 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
1744 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
1745 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
1746 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
1747 function.
1748 (grub_video_fbblit_replace_24bit_1bit): Likewise.
1749 (grub_video_fbblit_replace_16bit_1bit): Likewise.
1750 (grub_video_fbblit_replace_8bit_1bit): Likewise.
1751 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
1752 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
1753 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
1754 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
1755 when possible.
1756 * video/video.c (grub_video_get_blit_format): Return
1757 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
1758
a57da43f 17592009-08-28 Colin Watson <cjwatson@ubuntu.com>
1760
1761 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
1762 the first argument to grub_printf.
1763
4cbe67e5 17642009-08-28 Colin Watson <cjwatson@ubuntu.com>
17652009-08-28 Robert Millan <rmh.grub@aybabtu.com>
1766
1767 Add `getkeystatus' terminal method. Add a new `keystatus' command
1768 to query it.
1769
1770 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
1771 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
1772 modifier key bitmasks.
1773 (struct grub_term_input): Add `getkeystatus' member.
1774 (grub_getkeystatus): Add prototype.
1775 * kern/term.c (grub_getkeystatus): New function.
1776
1777 * include/grub/i386/pc/memory.h
1778 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
1779 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
1780 Data Area layout.
1781 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
1782 (grub_console_term_input): Set `getkeystatus' member.
1783 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
1784 constants.
1785 (grub_usb_keyboard_getreport): Likewise.
1786 (grub_usb_keyboard_checkkey): Likewise.
1787 (grub_usb_keyboard_getkeystatus): New function.
1788 (grub_usb_keyboard_term): Set `getkeystatus' member.
1789
1790 * commands/keystatus.c: New file.
1791 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
1792 (keystatus_mod_SOURCES): New variable.
1793 (keystatus_mod_CFLAGS): Likewise.
1794 (keystatus_mod_LDFLAGS): Likewise.
1795 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
1796 commands/keystatus.c.
1797 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
1798 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1799 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
1800 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1801 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1802 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 1803
6e2a9085 18042009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
1805
1806 Split befs.mod and afs.mod into *_be.mod and *.mod
1807
1808 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
1809 (grub_fstest_SOURCES): Likewise.
1810 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
1811 (afs_be_mod_SOURCES): New variable.
1812 (afs_be_mod_CFLAGS): Likewise.
1813 (afs_be_mod_LDFLAGS): Likewise.
1814 (befs_be_mod_SOURCES): Likewise.
1815 (befs_be_mod_CFLAGS): Likewise.
1816 (befs_be_mod_LDFLAGS): Likewise.
1817 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
1818 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
1819 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1820 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
1821 (grub_emu_SOURCES): Likewise.
1822 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1823 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1824 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
1825 * fs/afs_be.c: New file.
1826 * fs/befs_be.c: New file.
1827 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
1828 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
1829 (U16): Replaced with ...
1830 (grub_afs_to_cpu16): ...this. All users updated.
1831 (U32): Replaced with ...
1832 (grub_afs_to_cpu32): ...this. All users updated.
1833 (U64): Replaced with ...
1834 (grub_afs_to_cpu64): ...this. All users updated.
1835 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
1836 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 1837 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 1838 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
1839 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
1840 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
1841 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
1842 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
1843 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
1844 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
1845 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
1846
32a71655 18472009-08-26 Bean <bean123ch@gmail.com>
1848
1849 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
1850 64-bit number.
1851 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
1852 (grub_xfs_inode_block): Change return type to grub_uint64_t.
1853 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
1854
552bf6c5 18552009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
1856
1857 NetBSD memory map support.
1858
1859 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
1860 (grub_netbsd_btinfo_mmap_header): New structure.
1861 (grub_netbsd_btinfo_mmap_entry): Likewise.
1862 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
1863
1ae2078c 18642009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
1865
1866 Enable bsd.mod on coreboot.
1867
1868 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
1869 (bsd_mod_SOURCES): New variable.
1870 (bsd_mod_CFLAGS): Likewise.
1871 (bsd_mod_LDFLAGS): Likewise.
1872 (bsd_mod_ASFLAGS): Likewise.
1873 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
1874 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
1875
beefc598 18762009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
1877
1878 Cleanup NetBSD root support.
1879
1880 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
1881 grub_bsd_get_device.
1882 Fix typo.
1883
3b76e68b 18842009-08-25 Felix Zielcke <fzielcke@z-51.de>
1885
1886 * util/grub.d/00_header.in: Move check for the video backend of
1887 gfxterm from here ...
1888 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
1889 a suitable video backend.
1890
aea664ea 18912009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
1892
1893 Fix breakage in grub-setup.
1894
1895 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
1896 "msdos_partition_map".
1897
ff747d50 18982009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
1899
1900 Fix breakage in normal/auth.c.
1901
1902 * normal/auth.c (grub_iswordseparator): New function.
1903
e7e1f93f 19042009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
1905
1906 Authentication support.
1907
1908 * commands/password.c: New file.
1909 * conf/common.rmk (pkglib_MODULES): Add password.mod.
1910 (password_mod_SOURCES): New variable.
1911 (password_mod_CFLAGS): Likewise.
1912 (password_mod_LDFLAGS): Likewise.
1913 (normal_mod_SOURCES): Add normal/auth.c.
1914 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
1915 normal/auth.c.
1916 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
1917 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1918 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
1919 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1920 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1921 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
1922 * include/grub/auth.h: New file.
1923 * include/grub/err.h (grub_err_t): New enum value
1924 GRUB_ERR_ACCESS_DENIED.
1925 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
1926 'users'.
1927 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
1928 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
1929 users updated.
1930 * normal/auth.c: New file.
1931 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
1932 (grub_cmdline_run): Don't allow to go to command line without
1933 authentication.
1934 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
1935 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
1936 menuentry without superuser rights.
1937 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
1938 user isn't a superuser.
1939
70f1161d 19402009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
1941
1942 Save space by inlining misc.c functions.
1943
1944 * kern/misc.c (grub_iswordseparator): Made static.
1945 * kern/misc.c (grub_strcat): Moved from here ...
1946 * include/grub/misc.h (grub_strcat): ... here. Inlined.
1947 * kern/misc.c (grub_strncat): Moved from here ...
1948 * include/grub/misc.h (grub_strncat): ... here. Inlined.
1949 * kern/misc.c (grub_strcasecmp): Moved from here ...
1950 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
1951 * kern/misc.c (grub_strncasecmp): Moved from here ...
1952 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
1953 * kern/misc.c (grub_isalpha): Moved from here ...
1954 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
1955 * kern/misc.c (grub_isdigit): Moved from here ...
1956 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
1957 * kern/misc.c (grub_isgraph): Moved from here ...
1958 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
1959 * kern/misc.c (grub_tolower): Moved from here ...
1960 * include/grub/misc.h (grub_tolower): ... here. Inlined.
1961
48e40bff 19622009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
1963
1964 * script/sh/function.c (grub_script_function_find): Cut error message
1965 not to flood terminal.
1966 * script/sh/lexer.c (grub_script_yylex): Remove command line length
1967 limit.
1968 * script/sh/script.c (grub_script_arg_add): Duplicate string.
1969
c385bfc3 19702009-08-24 Colin Watson <cjwatson@ubuntu.com>
1971
1972 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
1973 `report' grub_uint8_t *.
1974 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
1975 Use a 50-millisecond timeout rather than just repeating
1976 grub_usb_keyboard_getreport 50 times.
1977 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
1978
2d21e3e8 19792009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
1980
1981 Rename *_partition_map to part_*
1982
1983 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
1984 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
1985 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
1986 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
1987 All users updated.
1988 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
1989 All users updated.
1990 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
1991 * util/grub-probe.c (probe_partmap): Don't transform partition name
1992 to get module name.
1993
dd103c4e 19942009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
1995
1996 Fix OpenBSD and NetBSD support.
1997
1998 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
1999 memory address conflict.
2000 (OPENBSD_MMAP_ACPI): New definition.
2001 (OPENBSD_MMAP_NVS): Likewise.
2002 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
2003 and OPENBSD_MMAP_NVS.
2004 Add memory map terminator
2005 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 2006 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 2007
16c84d74 20082009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
2009
2010 Let user specify NetBSD root device.
2011
2012 * loader/i386/bsd.c (netbsd_root): New variable.
2013 (netbsd_opts): New option 'root'.
2014 (NETBSD_ROOT_ARG): New macro.
2015 (grub_netbsd_boot): Use 'netbsd_root'.
2016 (grub_bsd_unload): Free 'netbsd_root'.
2017 (grub_cmd_netbsd): Fill 'netbsd_root'.
2018
adb29902 20192009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
2020
2021 Support for 64-bit NetBSD.
2022
2023 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
2024 point when booting non-FreeBSD.
2025
f5ae9f74 20262009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
2027
2028 Support --no-smp and --no-acpi for NetBSD.
2029
2030 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
2031 (NETBSD_AB_NOACPI): Likewise.
2032 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
2033 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
2034
de74f136 20352009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2036
2037 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
2038 errors.
2039 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
2040 errors. Call grub_error when needed.
2041
e9a925da 20422009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2043
2044 * commands/search.c (search_fs): Try searching without autoload first.
2045 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
2046 filesystem module explicitly for faster booting.
2047
5174302b 20482009-08-23 Colin Watson <cjwatson@ubuntu.com>
2049
2050 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
2051
c8c80635 20522009-08-23 Colin Watson <cjwatson@ubuntu.com>
2053
2054 * util/grub.d/30_os-prober.in: Disable os-prober if
2055 `GRUB_DISABLE_OS_PROBER' was set to true.
2056
71acf5e5 20572009-08-23 Robert Millan <rmh.grub@aybabtu.com>
2058
2059 * partmap/pc.c: Rename to ...
2060 * partmap/msdos.c: ... this. Update all users.
2061 (grub_pc_partition_map): Rename to ...
2062 (grub_msdos_partition_map): ... this. Update all users.
2063
2064 * parttool/pcpart.c: Rename to ...
2065 * parttool/msdospart.c: ... this. Update all users.
2066
2067 * include/grub/pc_partition.h: Rename to ...
2068 * include/grub/msdos_partition.h: ... this. Update all users.
2069 (grub_pc_partition_bsd_entry): Rename to ...
2070 (grub_msdos_partition_bsd_entry): ... this. Update all users.
2071 (grub_pc_partition_disk_label): Rename to ...
2072 (grub_msdos_partition_disk_label): ... this. Update all users.
2073 (grub_pc_partition_entry): Rename to ...
2074 (grub_msdos_partition_entry): ... this. Update all users.
2075 (grub_pc_partition_mbr): Rename to ...
2076 (grub_msdos_partition_mbr): ... this. Update all users.
2077 (grub_pc_partition): Rename to ...
2078 (grub_msdos_partition): ... this. Update all users.
2079 (grub_pc_partition_is_empty): Rename to ...
2080 (grub_msdos_partition_is_empty): ... this. Update all users.
2081 (grub_pc_partition_is_extended): Rename to ...
2082 (grub_msdos_partition_is_extended): ... this. Update all users.
2083 (grub_pc_partition_is_bsd): Rename to ...
2084 (grub_msdos_partition_is_bsd): ... this. Update all users.
2085
2086 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
2087 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
2088 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
2089 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
2090 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
2091 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
2092 (gpt_mod_LDFLAGS): Rename to ...
2093 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
2094 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
2095 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
2096 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
2097 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
2098 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
2099 (part_gpt_mod_LDFLAGS): ... this.
2100 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
2101 `pcpart.mod' to `msdospart.mod'.
2102 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
2103 to ...
2104 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
2105 (msdospart_mod_LDFLAGS): ... this.
2106
c11fded5 21072009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
2108
2109 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
2110 (openbsd_opts): Likewise.
2111 (netbsd_opts): Likewise.
2112 (freebsd_flags): Added 0 terminator.
2113 (openbsd_flags): Likewise.
2114 (netbsd_flags): Likewise.
2115 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
2116 (grub_cmd_freebsd): Transformed into extended command.
2117 (grub_cmd_openbsd): Likewise.
2118 (grub_cmd_netbsd): Likewise.
2119 (cmd_freebsd): Changed type to grub_extcmd_t.
2120 (cmd_openbsd): Likewise.
2121 (cmd_netbsd): Likewise.
2122 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
2123 grub_cmd_openbsd as extended commands.
2124 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
2125 cmd_netbsd and cmd_openbsd
2126
11d1c769 21272009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
2128
2129 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
2130
7a9094e5 21312009-08-21 Pavel Roskin <proski@gnu.org>
2132
5496c37e 2133 * Makefile.in (install-local): When checking if a file is in the
2134 build directory, use "test -e" to detect symlinks.
2135
7a9094e5 2136 * Makefile.in (install-local): Remove all files in
2137 $(DESTDIR)$(pkglibdir) before installing new files there.
2138
e53cea11 21392009-08-18 Felix Zielcke <fzielcke@z-51.de>
2140
2141 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
2142 grub-mkelfimage.
2143
9aced544 21442009-08-18 Felix Zielcke <fzielcke@z-51.de>
2145
2146 * util/grub-mkconfig.in: Don't use gfxterm by default if not
2147 explicitly specified by the user.
2148
b7da6bab 21492009-08-18 Pavel Roskin <proski@gnu.org>
2150
2151 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
2152 grub_uint8_t pointer for data.
2153 * include/grub/fbutil.h (struct grub_video_fbblit_info):
2154 Likewise.
2155 * video/fb/fbutil.c: Remove unnecessary casts.
2156
19f1b335 21572009-08-17 Michal Suchanek <hramrach@centrum.cz>
2158
2159 VBE cleanup.
2160
2161 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
2162 (grub_vbe_set_video_mode): Save active mode info
2163 only after setting the mode.
2164 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
2165 second argument.
2166
2f467aa9 21672009-08-17 Michal Suchanek <hramrach@centrum.cz>
2168
2169 Rename variables for clarity.
2170
2171 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
2172 (active_vbe_mode_info): ... this. All users updated.
2173 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
2174 All users updated.
2175 (initial_mode): Rename to ...
2176 (initial_vbe_mode): ... this. All users updated.
2177 (mode_in_use): Rename to ..
2178 (vbe_mode_in_use): ... this. All users updated.
2179 (mode_list): Rename to ..
2180 (vbe_mode_list): ... this. All users updated.
2181 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
2182 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
2183 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
2184 'mode_list_size' to 'vbe_mode_list_size'.
2185 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
2186 'best_mode_info' to 'best_vbe_mode_info' and
2187 'best_mode' to 'best_vbe_mode'
2188
6025fcd7 21892009-08-17 Michal Suchanek <hramrach@centrum.cz>
2190
2191 Remove duplicate grub_video_fb_get_video_ptr.
2192
2193 * include/grub/fbutil.h (get_data_ptr): Rename to ...
2194 (grub_video_fb_get_video_ptr): ... this.
2195 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
2196 * video/fb/fbutil.c: Add comment about addressing.
2197 (get_data_ptr): Rename to ...
2198 (grub_video_fb_get_video_ptr): ... this. All users updated.
2199 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
2200
cc8c6faf 22012009-08-17 Robert Millan <rmh.grub@aybabtu.com>
2202
2203 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
2204 grub_dprintf() that was just added.
2205
08aa61f0 22062009-08-17 Robert Millan <rmh.grub@aybabtu.com>
2207
2208 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
2209 (DEFAULT_VIDEO_MODE): Remove macros.
2210 (grub_linux_boot): Remove assumption that Linux has FB support,
2211 and use "text" as default video mode.
2212
7cef4f75 22132009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
2214
2215 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
2216 grub_dprintf.
2217 * fs/fat.c (grub_fat_read_data): Likewise.
2218
e1f39873 22192009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2220
2221 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
2222 payload.
2223 (grub_module): Likewise.
2224
c166d79e 22252009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2226
2227 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
2228 mbi->cmdline but free playground.
2229
c60cee8e 22302009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2231
2232 Handle group offset on UFS1.
2233
2234 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
2235 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
2236
c0d8b5d4 22372009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2238
2239 Split ufs.mod into ufs1.mod and ufs2.mod.
2240
2241 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
2242 (grub_fstest_SOURCES): Likewise.
2243 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
2244 (ufs_mod_SOURCES): Remove.
2245 (ufs_mod_CFLAGS): Likewise.
2246 (ufs_mod_LDFLAGS): Likewise.
2247 (ufs1_mod_SOURCES): New variable.
2248 (ufs1_mod_CFLAGS): Likewise.
2249 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 2250 (ufs2_mod_SOURCES): New variable.
2251 (ufs2_mod_CFLAGS): Likewise.
2252 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 2253 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
2254 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
2255 Likewise.
2256 (grub_emu_SOURCES): Likewise.
2257 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2258 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
2259 (grub_setup_SOURCES): Likewise.
2260 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2261 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
2262 (grub_setup_SOURCES): Likewise.
2263 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
2264 Likewise.
2265 * fs/ufs2.c: New file.
2266 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
2267
d3539132 22682009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2269
2270 Framebuffer split.
2271
2272 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
2273 subsystem at the end.
2274 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
2275 (video_fb_mod_SOURCES): New variable.
2276 (video_fb_mod_CFLAGS): Likewise.
2277 (video_fb_mod_LDFLAGS): Likewise.
2278 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
2279 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
2280 * video/i386/pc/vbeblit.c: Moved from here ...
2281 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
2282 * video/i386/pc/vbefill.c: Moved from here ...
2283 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
2284 * video/i386/pc/vbeutil.c: Moved from here ...
2285 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
2286 * include/grub/i386/pc/vbeblit.h: Moved from here ...
2287 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
2288 * include/grub/i386/pc/vbefill.h: Moved from here ...
2289 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
2290 * include/grub/i386/pc/vbeutil.h: Moved from here ...
2291 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
2292 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
2293 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
2294 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
2295 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
2296 (grub_video_adapter): Added 'get_info_and_fini'.
2297 (grub_video_get_info_and_fini): New prototype.
2298 (grub_video_set_mode): make modestring const char *.
2299 * loader/i386/linux.c (grub_linux_setup_video): Use
2300 grub_video_get_info_and_fini.
2301 (grub_linux_boot): Move modesetting just before booting.
2302 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
2303 grub_video_get_info_and_fini.
2304 * video/i386/pc/vbe.c: Moved framebuffer part ...
2305 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
2306 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
2307 grub_video_fbstd_colors and grub_video_fb_set_palette.
2308 (grub_video_vbe_init): Clear 'framebuffer' variable and use
2309 grub_video_fb_init.
2310 (grub_video_vbe_fini): Use grub_video_fb_fini.
2311 (grub_video_vbe_setup): Use framebuffer.render_target instead of
2312 render_target and use grub_video_fb_set_active_render_target and
2313 grub_video_fb_set_palette.
2314 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
2315 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
2316 (grub_video_vbe_adapter): Use framebuffer.
2317 * video/video.c (grub_video_get_info_and_fini): New function.
2318 (grub_video_set_mode): Make modestring const char *.
2319 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
2320 values are already initialised.
2321
d404ee56 23222009-08-14 Pavel Roskin <proski@gnu.org>
2323
2324 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
2325 ABS and APPLE_CC.
2326 * boot/i386/pc/diskboot.S: Likewise.
2327 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
2328 sectors allow compilation on MacOSX.
2329 * conf/i386-pc.rmk: Enable unconditional compilation of
2330 lnxboot.img.
2331
9a10df16 23322009-08-13 Colin Watson <cjwatson@ubuntu.com>
2333
2334 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
2335 * util/grub.d/00_header.in: Enter interruptible sleep if
2336 GRUB_HIDDEN_TIMEOUT is set.
2337
be3c9ca7 23382009-08-13 Yves Blusseau <blusseau@zetam.org>
2339
2340 * include/grub/symbol.h: Add the LOCAL macro.
2341 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
2342 starting with "L_".
2343
1f9e557e 23442009-08-13 Pavel Roskin <proski@gnu.org>
2345
9ca62843 2346 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
2347 any modern compilers we support.
2348
1f9e557e 2349 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
2350 Use local labels starting with "L_" so that Apple assembler
2351 knows they are local.
2352
81623db6 23532009-08-10 Robert Millan <rmh.grub@aybabtu.com>
2354
2355 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
2356 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
2357 (bsd_kernel_types): ... this enum.
2358
2359 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
2360 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
2361 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
2362
2363 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
2364 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
2365 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
2366 messages.
2367
f5d35e7a 23682009-08-08 Robert Millan <rmh.grub@aybabtu.com>
2369
2370 * util/grub-dumpdevtree: Moved from here ...
2371 * util/i386/efi/grub-dumpdevtree: ... to here.
2372 (hexify): New function. Converts a string to its hex version.
2373 Generate hex versions of "efi" and "device-properties" by calling
2374 hexify() on the ASCII strings rather than by hardcoding numbers.
2375
d1e1d527 23762009-08-08 Robert Millan <rmh.grub@aybabtu.com>
2377
2378 * fs/jfs.c: Update copyright year.
2379
1ebbe064 23802009-08-08 Felix Zielcke <fzielcke@z-51.de>
2381
2382 * util/grub.d/00_header.in: Fix a comment.
2383 * util/grub.d/10_linux.in: Likewise.
2384 * util/grub.d/10_windows.in: Likewise.
2385 * util/grub.d/10_hurd.in: Likewise.
2386
a78c8d24 23872009-08-08 Felix Zielcke <fzielcke@z-51.de>
2388
2389 * util/grub-mkconfig.in: Allow the user to specify the used font
2390 with GRUB_FONT.
2391
29a6b9e8 23922009-08-08 Pavel Roskin <proski@gnu.org>
2393
b5f16cc4 2394 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
2395 available, xfs.mod needs it now.
2396
2f5cb827 2397 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
2398 the "g" modifier in sed when the intention is to strip something
2399 once. This fixes comparison of kernels with multiple dashes.
2400
29a6b9e8 2401 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
2402 on it. Add missing space before closing bracket. Fix
2403 misleading formatting.
2404
892a3d98 24052009-08-07 Robert Millan <rmh.grub@aybabtu.com>
2406
2407 * docs/grub.texi: Major overhaul. Remove all sections that are
2408 specific to GRUB Legacy, or mostly composed of Legacy-specific
2409 information.
2410
ed94253f 24112009-08-07 Robert Millan <rmh.grub@aybabtu.com>
2412
2413 * docs/version.texi: New file. Provides version information for
2414 grub.texi.
2415
126d6628 24162009-08-07 Robert Millan <rmh.grub@aybabtu.com>
2417
2418 * docs/grub.texi: Update CVS information to SVN.
2419 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
2420
998b5aa9 24212009-08-07 Felix Zielcke <fzielcke@z-51.de>
2422
2423 * util/grub-mkconfig.in: Remove a wrong `fi'.
2424
818e094a 24252009-08-07 Felix Zielcke <fzielcke@z-51.de>
2426
2427 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
2428 (grub_jfs_uuid): New function.
2429 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
2430
b969c52f 24312009-08-07 Felix Zielcke <fzielcke@z-51.de>
2432
2433 * util/grub-mkconfig_lib.in (font_path): Move the functionality
2434 of it to ...
2435 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
2436 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
2437
7a4894cc 24382009-08-07 Robert Millan <rmh.grub@aybabtu.com>
2439
2440 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
2441 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
2442 Update all users.
2443
2444 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
2445 not just "vmlinu[zx]".
2446 Moved from here ...
2447 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
2448 all users.
2449
2450 * util/grub.d/10_linux.in (find_latest): Moved from here ...
2451 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
2452 all users.
2453
4e2171f8 24542009-08-07 Robert Millan <rmh.grub@aybabtu.com>
2455
2456 * util/grub.d/10_freebsd.in: Use an absolute device path for
2457 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
2458
6dcfcb32 24592009-08-06 Felix Zielcke <fzielcke@z-51.de>
2460
2461 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
2462 handling of multiple abstraction modules.
2463
f56a8756 24642009-08-04 Robert Millan <rmh.grub@aybabtu.com>
2465
2466 Fix a bug resulting in black screen when loading Linux using a
2467 packed video mode.
2468
2469 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
2470 function.
2471
2472 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
2473 (grub_vbe_bios_getset_dac_palette_width): New function.
2474 (grub_vbe_bios_get_dac_palette_width)
2475 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
2476 grub_vbe_bios_getset_dac_palette_width()).
2477
2478 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
2479 check for return status.
2480 (grub_vbe_get_video_mode_info): When getting information for a packed
2481 mode (<= 8 bpp), obtain DAC palette width using
2482 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
2483 {red,green,blue}_mark_size.
2484
222671b2 24852009-08-04 Felix Zielcke <fzielcke@z-51.de>
2486
ecb1a6d9 2487 * commands/search.c (options): Fix help output to match actual code.
222671b2 2488
f84114f5 24892009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2490
2491 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
2492 of homegrown code.
2493
bd288a20 24942009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 2495
2496 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
2497 on XFS or ReiserFS.
2498
8aab5e25 24992009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
2500
2501 Support Apple partition map with sector size different from 512 bytes.
2502
2503 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
2504 (apple_partition_map_iterate): Respect 'aheader.blocksize'
2505 and 'apart.partmap_size'.
2506
6ad6258a 25072009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
25082009-08-01 Robert Millan <rmh.grub@aybabtu.com>
2509
2510 Fix cpuid command.
2511
2512 * commands/i386/cpuid.c (options): New variable.
2513 (grub_cmd_cpuid): Return real error.
2514 (GRUB_MOD_INIT(cpuid)): Declare options.
2515
67459bc6 25162009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
2517
2518 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
2519 valid.
2520
fbc6ab54 25212009-07-31 Bean <bean123ch@gmail.com>
2522
2523 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
2524 log2_inode.
2525 (grub_fshelp_node): Move inode field to the end.
2526 (grub_xfs_data): Remove inode field.
2527 (grub_xfs_inode_block): Calculate inode size using sblock.
2528 (grub_xfs_inode_offset): Likewise.
2529 (grub_xfs_read_inode): Calculate inode size using sblock.
2530 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
2531 (grub_xfs_iterate_dir): Calculate inode size using sblock.
2532 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
2533 to match inode size.
2534 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
2535 not accessible when data is null.
2536 (grub_xfs_open): Likewise.
2537
f45d6cfc 25382009-07-31 Bean <bean123ch@gmail.com>
2539
2540 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
2541 Don't change pv->disk if it's already set.
2542
2543 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
2544 (grub_raid_register): ... here.
2545 (grub_raid_rescan): Removed.
2546
2547 * include/grub/raid.h (grub_raid_rescan): Removed.
2548
2549 * util/grub-fstest.c: Remove include file <grub/raid.h>.
2550 (fstest): Replace grub_raid_rescan with module fini function followed
2551 by init function.
2552
2553 * util/grub-probe.c: Add include file <grub/raid.h>.
2554 (probe_raid_level): New function.
2555 (probe): Detect abstraction by walking the disk device, support two
2556 level of abstraction (LVM on RAID) when detecting partition map.
2557
24443b5a 25582009-07-31 Pavel Roskin <proski@gnu.org>
2559
2560 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
2561 to grub_zalloc(), it was erroneous.
2562 Reported by Bean <bean123ch@gmail.com>
2563
a275d9e7 25642009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
2565
2566 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 2567 embedding zone, not only the first one.
a275d9e7 2568
56c5a47f 25692009-07-29 Joe Auricchio <jauricchio@gmail.com>
2570
2571 * term/gfxterm.c (clear_char): New function.
2572 (grub_virtual_screen_setup): Use clear_char.
2573 (scroll_up): Likewise.
2574 (grub_virtual_screen_cls): Likewise.
2575
67bb323a 25762009-07-29 Felix Zielcke <fzielcke@z-51.de>
2577
2578 * util/deviceiter.c (get_acceleraid_disk_name): New static
2579 function.
2580 (grub_util_iterate_devices): Handle Accelraid devices.
2581 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
2582
388a7c75 25832009-07-28 Robert Millan <rmh.grub@aybabtu.com>
2584
2585 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
2586 separator for the suggested gfxpayload string (';' collides with the
2587 parser and needs escaping).
2588
3bb7abcf 25892009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
2590
2591 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
2592 Clear direction flag before jumping to OS.
2593 (grub_multiboot2_real_boot): Likewise.
2594
2ddd36d7 25952009-07-28 Felix Zielcke <fzielcke@z-51.de>
2596
2597 * util/i386/pc/grub-install: Fix parsing of --disk-module
2598 option.
2599
c521b62b 26002009-07-28 Felix Zielcke <fzielcke@z-51.de>
2601
2602 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
2603 when embedding.
2604
880e0a0c 26052009-07-26 Felix Zielcke <fzielcke@z-51.de>
2606
2607 * util/grub-mkconfig.in (package_version): New variable.
2608 Use it do display the version.
2609
2366e356 26102009-07-25 Felix Zielcke <fzielcke@z-51.de>
2611
2612 * kern/file.c (grub_file_open): Revert to previous check with
2613 grub_errno.
2614
7ad8c80e 26152009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
2616
2617 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
2618 from help line. It's out of sync with code.
2619
72b9658b 26202009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
2621
2622 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
2623 entries on failed boot.
2624
77435277 26252009-07-25 Felix Zielcke <fzielcke@z-51.de>
2626
2627 * kern/file.c (grub_file_open): Fix an error check.
2628
fcaa8b21 26292009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
2630
35d16c74 2631 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
2632 partition map couldn't be identified.
fcaa8b21 2633
48904cd1 26342009-07-23 Pavel Roskin <proski@gnu.org>
2635
ef3c317f 2636 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
2637 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
2638 case of little endian words becomes just an optimization.
2639 Respect const modifier.
ad8ea1f4 2640 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 2641
48904cd1 2642 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
2643 to avoid loss of upper bits if align is unsigned and shorter
2644 than addr.
2645
260c9a89 26462009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
2647
2648 UUID support for UFS
2649
2650 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
2651 (grub_ufs_uuid): New function.
2652 (grub_ufs_fs): add .uuid
2653
f76ce889 26542009-07-21 Pavel Roskin <proski@gnu.org>
2655
2656 * kern/dl.c (grub_dl_check_header): Make static.
2657
6a6cbcaf 26582009-07-21 Felix Zielcke <fzielcke@z-51.de>
2659
2660 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
2661 add drivemap for Vista. It breaks Windows 7.
2662
cffcddb2 26632009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
2664
2665 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
2666 128 bytes
2667
1ef44b80 26682009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
2669
2670 Add BFS support
2671
2672 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
2673 (grub_fstest_SOURCES): Likewise.
2674 (pkglib_MODULES): Add befs.mod.
2675 (befs_mod_SOURCES): New variable.
2676 (befs_mod_CFLAGS): Likewise.
2677 (befs_mod_LDFLAGS): Likewise.
2678 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
2679 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
2680 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2681 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
2682 (grub_setup_SOURCES): Likewise.
2683 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2684 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2685 (grub_setup_SOURCES): Likewise.
2686 * fs/befs.c: New file.
2687 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
2688 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
2689 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
2690 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
2691 (B_KEY_INDEX_ALIGN): New declaration.
2692 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
2693 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
2694 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
2695 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
2696 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
2697 (grub_afs_mount) [MODE_BFS]: Likewise.
2698 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
2699 (grub_afs_fs): Use GRUB_AFS_FSNAME
2700 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
2701 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
2702 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
2703 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
2704
4f253044 27052009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
2706
2707 * util/getroot.c (find_root_device): Add support for MacOSX.
2708 * util/hostdisk.c: Likewise.
2709
57a55913 27102009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
2711
2712 * font/font.c (find_glyph): Check whether a font is present to avoid
2713 segmentation fault.
75421ca9 2714
27152009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 2716
2717 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
2718
e98cd0c2 27192009-07-20 Pavel Roskin <proski@gnu.org>
2720
2721 * configure.ac: Trim excessively wordy excuses.
2722
1d2d169a 27232009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
2724
2725 Add symlink, mtime and label support to AtheFS.
2726
2727 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
2728 (grub_afs_iterate_dir): Handle symlinks.
2729 (grub_afs_open): Use grub_afs_read_symlink.
2730 (grub_afs_dir): Likewise.
2731 Pass mtime.
2732 (grub_afs_label): New function.
2733 (grub_afs_fs): Add grub_afs_label.
2734 (grub_afs_read_symlink): New function.
2735
186f3189 27362009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
2737
2738 Fix AtheFS support.
2739
2740 * fs/afs.c: Fix comments style.
2741 (grub_afs_blockrun): Declare as packed.
2742 (grub_afs_datastream): Likewise.
2743 (grub_afs_bnode): Likewise.
2744 (grub_afs_btree): Likewise.
2745 (grub_afs_sblock): Likewise.
2746 Declare `name' as char.
2747 (grub_afs_inode): Declare as packed.
2748 Change void *vnode to grub_uint32_t unused.
2749 (grub_afs_iterate_dir): Check that key_size is positive.
2750 (grub_afs_mount): Don't read superblock twice.
75421ca9 2751 (grub_afs_dir): Don't free node in case of error,
186f3189 2752 grub_fshelp_find_file already handles this.
2753 (grub_afs_open): Likewise.
2754
5680109e 27552009-07-19 Pavel Roskin <proski@gnu.org>
2756
2757 * Makefile.in: Remove LIBLZO and enable_lzo.
2758 * conf/i386-pc.rmk: Remove lzo support.
2759 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
2760 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
2761 support.
2762 * kern/i386/pc/lzo1x.S: Remove.
2763 * kern/i386/pc/startup.S: Remove lzo support.
2764 * util/i386/pc/grub-mkimage.c: Likewise.
2765
ac70fa32 27662009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
2767
2768 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
2769 * fs/xfs.c (grub_xfs_dir): Likewise.
2770 * fs/afs.c (grub_afs_dir): Likewise.
2771 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
2772 (grub_iso9660_open): Likewise.
2773 * fs/jfs.c (grub_jfs_open): Likewise.
2774 * fs/ext2.c (grub_ext2_dir): Likewise.
2775 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
2776 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 2777
eab58da2 27782009-07-16 Pavel Roskin <proski@gnu.org>
2779
d2838156 2780 * configure.ac: Never add "-c" to CFLAGS.
2781
55c70904 2782 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
2783
43e6200c 2784 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
2785 grub_cv_cc_efiemu should be used.
2786
ce7a733d 2787 * configure.ac: Typo fixes.
2788
eab58da2 2789 * kern/mm.c (grub_zalloc): New function.
2790 (grub_debug_zalloc): Likewise.
2791 * include/grub/mm.h: Declare grub_zalloc() and
2792 grub_debug_zalloc().
2793 * util/misc.c (grub_zalloc): New function.
2794 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
2795 instead of grub_malloc(), remove unneeded initializations.
2796 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
2797 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
2798 * commands/parttool.c (grub_cmd_parttool): Likewise.
2799 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
2800 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
2801 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
2802 * disk/usbms.c (grub_usbms_finddevs): Likewise.
2803 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
2804 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
2805 (grub_cmd_efiemu_pnvram): Likewise.
2806 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
2807 * fs/iso9660.c (grub_iso9660_mount): Likewise.
2808 (grub_iso9660_iterate_dir): Likewise.
2809 * fs/jfs.c (grub_jfs_opendir): Likewise.
2810 * fs/ntfs.c (list_file): Likewise.
2811 (grub_ntfs_mount): Likewise.
2812 * kern/disk.c (grub_disk_open): Likewise.
2813 * kern/dl.c (grub_dl_load_core): Likewise.
2814 * kern/elf.c (grub_elf_file): Likewise.
2815 * kern/env.c (grub_env_context_open): Likewise.
2816 (grub_env_set): Likewise.
2817 (grub_env_set_data_slot): Likewise.
2818 * kern/file.c (grub_file_open): Likewise.
2819 * kern/fs.c (grub_fs_blocklist_open): Likewise.
2820 * loader/i386/multiboot.c (grub_module): Likewise.
2821 * loader/xnu.c (grub_xnu_create_key): Likewise.
2822 (grub_xnu_create_value): Likewise.
2823 * normal/main.c (grub_normal_add_menu_entry): Likewise.
2824 (read_config_file): Likewise.
2825 * normal/menu_entry.c (make_screen): Likewise.
2826 * partmap/sun.c (sun_partition_map_iterate): Likewise.
2827 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
2828 * script/sh/script.c (grub_script_parse): Likewise.
2829 * video/bitmap.c (grub_video_bitmap_create): Likewise.
2830 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
2831 * video/readers/png.c (grub_png_output_byte): Likewise.
2832 (grub_video_reader_png): Likewise.
2833
830afef7 28342009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 2835
2836 Enable all targets that can be built by default
2837
830afef7 2838 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 2839 grub-mkfont and grub-fstest if they can be built
2840
ee293aee 28412009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
2842
2843 Fix hang and segmentation fault in grub-emu-usb
2844
2845 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
2846 * util/usb.c (grub_libusb_devices): likewise
2847 (grub_libusb_init): rename to ...
2848 (GRUB_MOD_INIT (libusb)):...this
2849 (grub_libusb_fini): rename to ..
2850 (GRUB_MOD_FINI (libusb)):...this
2851 * disk/usbms.c (grub_usbms_transfer): fix retry logic
2852 * include/grub/disk.h (grub_raid_init): removed, it's useless
2853 (grub_raid_fini): likewise
2854 (grub_lvm_init): likewise
2855 (grub_lvm_fini): likewise
2856 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
2857 by grub_init_all
2858
94414221 28592009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
2860
2861 Fix libusb
2862
2863 * Makefile.in (LIBUSB): new macro
2864 * genmk.rb (Utility/print_tail): new method
2865 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
2866 (top level): call util.print_tail at the end.
2867
59ade63d 28682009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
2869
2870 Make FreeBSD accept zpool.cache
2871
2872 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
2873 type is /boot/zfs/zpool.cache
2874
a58da8c7 28752009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
2876
2877 Fix 64-bit efiemu
2878
2879 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
2880 correct wrong typedef
2881 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
2882
20591577 28832009-07-15 Pavel Roskin <proski@gnu.org>
2884
560ca572 2885 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
2886 * kern/disk.c (struct grub_disk_cache): Likewise.
2887
e8e8e4fd 2888 * commands/probe.c (options): Typo fix.
2889
fde24e10 2890 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
2891 Increase to 0x5a to accommodate FAT32. Adjust other offsets
2892 accordingly.
2893 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
2894
379c54c1 2895 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
2896 the end of "Error" to make the message more readable.
2897
7bd8f5bf 2898 * boot/i386/pc/boot.S (kernel_segment): Remove.
2899 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
2900 for destination.
2901
40b132c5 2902 * boot/i386/pc/boot.S (boot_version): Remove.
2903 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
2904 Remove.
2905
20591577 2906 * include/grub/i386/pc/boot.h: Sort all offsets.
2907 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
2908 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
2909 * boot/i386/pc/boot.S: Assert location of every offset listed in
2910 include/grub/i386/pc/boot.h.
2911
2df32b2c 29122009-07-13 Pavel Roskin <proski@gnu.org>
2913
44b5d879 2914 * include/grub/i386/coreboot/machine.h: Rename
2915 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
2916 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
2917 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
2918
17dc3751 2919 * kern/dl.c: Force native word size to suppress warnings when
2920 compiling grub-emu.
2921
2df32b2c 2922 * kern/device.c (grub_device_iterate): Change struct part_ent to
2923 hold the name, not a pointer to it. Use one grub_malloc() per
2924 partition, not two. Free partition_name if grub_malloc() fails.
2925 Set ents to NULL only before grub_partition_iterate() is called.
2926
75c59f59 29272009-07-11 Bean <bean123ch@gmail.com>
2928
2929 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
2930 childname.
2931
0ae1bf88 29322009-07-10 Bean <bean123ch@gmail.com>
29332009-07-10 Robert Millan <rmh.grub@aybabtu.com>
2934
2935 * kern/ieee1275/openfw.c (grub_children_iterate)
2936 (grub_devalias_iterate): Fix size evaluation for property or path
2937 strings, which was broken since r2132.
2938
8279cade 29392009-07-07 Pavel Roskin <proski@gnu.org>
2940
7d8a52d3 2941 * commands/search.c (search_file): Merge into ...
2942 (search_fs): ... this. Accept search type as argument.
2943 (grub_cmd_search): Pass search type to search_fs().
2944
25f9a05a 2945 * include/grub/util/console.h: New file.
2946 * util/console.c: Use it instead of grub/machine/console.h.
2947 * util/grub-emu.c: Likewise.
2948
8279cade 2949 * lib/arg.c (find_long_option): Remove.
2950 (find_long): Add `len' argument, make `s' const char *.
2951 (grub_arg_parse): Parse long options in place, not in a
2952 temporary buffer.
2953
4a11b60f 29542009-07-06 Pavel Roskin <proski@gnu.org>
2955
99f68041 2956 * commands/search.c (search_fs): Fix potential NULL pointer
2957 dereference.
2958
4a11b60f 2959 * commands/search.c (search_fs): Replace QUID macro with quid_fn
2960 function pointer.
2961
e110f4de 29622009-07-06 Daniel Mierswa <impulze@impulze.org>
2963
2964 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
2965 comparison.
2966
46eeb6a2 29672009-07-05 Pavel Roskin <proski@gnu.org>
2968
bab74958 2969 * include/grub/i386/linux.h (struct linux_kernel_params):
2970 Restore padding3, it's still needed.
2971
46eeb6a2 2972 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
2973 FreeBSD.
2974 * util/osdetect.lua: Likewise.
2975
b4a1dc79 29762009-07-05 Bean <bean123ch@gmail.com>
2977
2978 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
2979
2980 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
2981 (grub_lua_getenv): Likewise.
2982 (grub_lua_setenv): Likewise.
2983 (save_errno): New function.
2984 (push_result): Likewise.
2985 (grub_lua_enum_device): Likewise.
2986 (grub_lua_enum_file): Likewise.
2987 (grub_lua_file_open): Likewise.
2988 (grub_lua_file_close): Likewise.
2989 (grub_lua_file_seek): Likewise.
2990 (grub_lua_file_read): Likewise.
2991 (grub_lua_file_getline): Likewise.
2992 (grub_lua_file_getsize): Likewise.
2993 (grub_lua_file_getpos): Likewise.
2994 (grub_lua_file_eof): Likewise.
2995 (grub_lua_file_exist): Likewise.
2996 (grub_lua_add_menu): Likewise.
2997
2998 * script/lua/grub_lua.h (isupper): New inline function.
2999 (islower): Likewise.
3000 (ispunct): Likewise.
3001 (isxdigit): Likewise.
3002 (strcspn): Change to normal function.
3003 (strpbkr): New function declaration.
3004 (memchr): Likewise.
3005
3006 * script/lua/grub_main.c (scan_str): New function.
3007 (strcspn): Likewise.
3008 (strpbrk): Likewise.
3009 (memchr): Likewise.
3010
3011 * script/lua/linit.c (lualibs): Enable the string library.
3012
3013 * util/osdetect.lua: New file.
3014
2da92295 30152009-07-04 Robert Millan <rmh.grub@aybabtu.com>
3016
3017 * include/grub/i386/linux.h (struct linux_kernel_params): Add
3018 `capabilities' member.
3019
b2582ec9 30202009-07-02 Pavel Roskin <proski@gnu.org>
3021
3022 * genparttoollist.sh: Add missing newline at the end.
3023
32622956 30242009-07-01 Pavel Roskin <proski@gnu.org>
3025
87a7339e 3026 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
3027
d23af54e 3028 * util/hostdisk.c (open_device): Remove `const' from
3029 `sysctl_size', as sysctlbyname() can change it (in this case it
3030 doesn't actually happen).
3031
c94b18a9 3032 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
3033 using signed long int constants.
3034
c6cd3ef0 3035 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
3036 constant to avoid a warning on FreeBSD.
3037
0df63420 3038 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
3039 where it's needed.
3040
999577f1 3041 * Makefile.in: Install include/grub/machine symlink.
3042
6f41557f 3043 * Makefile.in: When installing symlinks, use "cp -fR", which
3044 works on FreeBSD and MacOSX.
3045 From Yves Blusseau <cl7m42e02@sneakemail.com>
3046
c8d22988 3047 * kern/dl.c (grub_dl_resolve_symbol): Make static.
3048 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
3049
1b96e952 3050 * util/misc.c: Move grub_reboot() and grub_halt() ...
3051 * util/grub-emu.c: ... here. Make main_env static.
3052 * include/grub/util/misc.h: Remove main_env.
3053
2ef0084d 3054 * kern/mm.c: Use correct format to print size_t.
3055
32622956 3056 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
3057 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
3058 * kern/powerpc/dl.c: Likewise.
3059 * kern/sparc64/dl.c: Likewise.
3060 * kern/x86_64/dl.c: Likewise.
3061
3f7f0cd0 30622009-07-01 Robert Millan <rmh.grub@aybabtu.com>
3063
3064 Fix grub-emu build on sparc64-ieee1275.
3065
75421ca9 3066 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 3067 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
3068
211d06b5 30692009-07-01 Robert Millan <rmh.grub@aybabtu.com>
3070
3071 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
3072 (grub_reboot, grub_halt): New functions.
3073
3074 * util/i386/pc/misc.c: Delete. Update all users.
3075 * util/sparc64/ieee1275/misc.c: Likewise.
3076 * util/powerpc/ieee1275/misc.c: Likewise.
3077
aaf53e3c 30782009-07-01 Robert Millan <rmh.grub@aybabtu.com>
3079
3080 * conf/i386.rmk (setjmp_mod_SOURCES)
3081 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
3082 * conf/common.rmk (setjmp_mod_SOURCES)
3083 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
3084 to use $(target_cpu).
3085 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
3086 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
3087 * conf/powerpc-ieee1275.rmk: Likewise.
3088 * conf/sparc64-ieee1275.rmk: Likewise.
3089
3090 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
3091 $(target_cpu) for kern/$(target_cpu)/dl.c.
3092 * conf/i386-efi.rmk: Likewise.
3093 * conf/i386-ieee1275.rmk: Likewise.
3094 * conf/x86_64-efi.rmk: Likewise.
3095 * conf/i386-coreboot.rmk: Likewise.
3096 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
3097 $(target_cpu) for kern/$(target_cpu)/dl.c and for
3098 kern/$(target_cpu)/cache.S.
3099 * conf/sparc64-ieee1275.rmk: Likewise.
3100
a337130b 31012009-07-01 Robert Millan <rmh.grub@aybabtu.com>
3102
3103 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
3104 type to `grub_uint8_t', and adjust `padding9' accordingly.
3105
c6fe4d53 31062009-06-29 Robert Millan <rmh.grub@aybabtu.com>
3107
b09db61d 3108 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
3109
c6fe4d53 3110 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
3111 assembly in final jump, using register constraints.
3112
b09db61d 3113 (grub_linux_boot): For text mode, initialize `have_vga' using
3114 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
3115
3116 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
3117 right before the final jump.
3118
3119 Set `video_mode' to 0x3.
3120
3121 Document initialization of `video_page', `video_mode' and
3122 `video_ega_bx'.
3123
28333ad0 31242009-06-29 Robert Millan <rmh.grub@aybabtu.com>
3125
3126 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
3127 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 3128 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 3129
02164e1b 31302009-06-29 Robert Millan <rmh.grub@aybabtu.com>
3131
3132 Fix build on Debian / sparc.
3133
3134 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
3135
18b6c557 31362009-06-28 Pavel Roskin <proski@gnu.org>
3137
85f2aab6 3138 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
3139 fix a warning.
3140
18b6c557 3141 * util/grub.d/10_linux.in: Match SUSE style initrd names.
3142
ad760f81 31432009-06-27 Robert Millan <rmh.grub@aybabtu.com>
3144
3145 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
3146 `err'.
3147
87a4623b 31482009-06-27 Robert Millan <rmh.grub@aybabtu.com>
3149
3150 Revert r2338.
3151
3152 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
3153 file can't be opened. grub_file_open() is already supposed to set
75421ca9 3154 grub_errno / grub_errmsg appropriately.
87a4623b 3155 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
3156
8231fb77 31572009-06-27 Pavel Roskin <proski@gnu.org>
31582009-06-27 Robert Millan <rmh.grub@aybabtu.com>
3159
3160 * include/grub/dl.h: Include grub/elf.h.
3161 (struct grub_dl): Add symtab field.
3162 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
3163 GRUB_MODULES_MACHINE_READONLY.
3164 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
3165 of the header for read-only modules.
3166 (grub_dl_unload): Free mod->symtab for read-only modules.
3167 * kern/i386/dl.c: Use mod->symtab.
3168 * kern/powerpc/dl.c: Likewise.
3169 * kern/sparc64/dl.c: Likewise.
3170 * kern/x86_64/dl.c: Likewise.
3171
3172 * conf/i386-qemu.rmk: New file.
3173 * kern/i386/qemu/startup.S: Likewise.
3174 * kern/i386/qemu/mmap.c: Likewise.
3175 * boot/i386/qemu/boot.S: Likewise.
3176 * include/grub/i386/qemu/time.h: Likewise.
3177 * include/grub/i386/qemu/serial.h: Likewise.
3178 * include/grub/i386/qemu/kernel.h: Likewise.
3179 * include/grub/i386/qemu/console.h: Likewise.
3180 * include/grub/i386/qemu/boot.h: Likewise.
3181 * include/grub/i386/qemu/init.h: Likewise.
3182 * include/grub/i386/qemu/machine.h: Likewise.
3183 * include/grub/i386/qemu/loader.h: Likewise.
3184 * include/grub/i386/qemu/memory.h: Likewise.
3185
3186 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
3187 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
3188 [qemu] (pkglib_IMAGES): Add `boot.img'.
3189 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
3190 [qemu] (boot_img_FORMAT): New variables.
3191 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
3192 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
3193 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
3194 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
3195 [qemu] (kernel_img_FORMAT): New variables.
3196
3197 * configure.ac: Recognise `i386-qemu'.
3198
3199 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
3200 (for no compression).
3201 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
3202 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
3203 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
3204 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
3205 ifdefs).
3206
97fe384e 32072009-06-27 Pavel Roskin <proski@gnu.org>
3208
3209 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
3210 read.
3211 * efiemu/prepare32.c: Likewise.
3212 * efiemu/prepare64.c: Likewise.
3213
c402ab17 32142009-06-26 Pavel Roskin <proski@gnu.org>
3215
3216 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
3217 * include/grub/elf.h: Define symbols without "32" or "64" based
3218 on GRUB_TARGET_WORDSIZE.
3219 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
3220 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
3221 ELF definitions.
3222 * efiemu/loadcore64.c: Likewise.
3223 * loader/i386/bsd32.c: Likewise.
3224 * loader/i386/bsd64.c: Likewise.
3225 * kern/dl.c: Remove own ELF definitions.
3226 * util/i386/efi/grub-mkimage.c: Likewise.
3227
9bbdfd4d 32282009-06-23 Robert Millan <rmh.grub@aybabtu.com>
3229
3230 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
3231 segment 0x0 unconditionally, because the reference generated by
3232 GAS is an absolute address.
3233
a42ce6e9 32342009-06-22 Robert Millan <rmh.grub@aybabtu.com>
3235
3236 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
3237 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
3238
c952cf92 32392009-06-22 Robert Millan <rmh.grub@aybabtu.com>
3240
3241 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
3242 indexes. Check for -f explicitly.
cc3752ad 3243 (search_file): Improve error message.
3244 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 3245
132a0a59 32462009-06-22 Robert Millan <rmh.grub@aybabtu.com>
3247
3248 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
3249 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
3250
387a140c 32512009-06-22 Robert Millan <rmh.grub@aybabtu.com>
3252
3253 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
3254 * conf/i386-ieee1275.rmk: Likewise.
3255 * conf/i386-coreboot.rmk: Likewise.
3256
3257 * kern/i386/pc/startup.S (grub_stop): Remove function.
3258 * kern/i386/ieee1275/startup.S: Likewise.
3259 * kern/i386/coreboot/startup.S: Likewise.
3260 * kern/i386/misc.S (grub_stop): New function.
3261
41da9665 32622009-06-22 Robert Millan <rmh.grub@aybabtu.com>
3263
3264 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
3265 * kern/i386/realmode.S (real_to_prot): ... to here.
3266
bf337234 32672009-06-22 Robert Millan <rmh.grub@aybabtu.com>
3268
3269 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
3270 with `kernel.img'.
3271 (kernel_elf_SOURCES): Rename to ...
3272 (kernel_img_SOURCES): ... this.
3273 (kernel_elf_HEADERS): Rename to ...
3274 (kernel_img_HEADERS): ... this. Update all users.
3275 (kernel_elf_ASFLAGS): Rename to ...
3276 (kernel_img_ASFLAGS): ... this.
3277 (kernel_elf_CFLAGS): Rename to ...
3278 (kernel_img_CFLAGS): ... this.
3279 (kernel_elf_LDFLAGS): Rename to ...
3280 (kernel_img_LDFLAGS): ... this.
3281 * conf/i386-coreboot.rmk: Likewise.
3282 * conf/powerpc-ieee1275.rmk: Likewise.
3283
3284 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
3285 with "kernel.img".
3286
f52196ff 32872009-06-21 Pavel Roskin <proski@gnu.org>
3288
c3cee413 3289 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
3290 to match nested functions.
3291 * loader/sparc64/ieee1275/linux.c: Likewise.
3292
f52196ff 3293 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
3294
58750afc 32952009-06-21 Robert Millan <rmh.grub@aybabtu.com>
3296
3297 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
3298 all i386 platforms.
3299
15355c7d 33002009-06-21 Robert Millan <rmh.grub@aybabtu.com>
3301
3302 Fix asm file handling on ELF, and remove workarounds.
3303
3304 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 3305 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 3306 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
3307 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
3308
3f3ec72b 33092009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3310
3311 Load BSD ELF modules
3312
3313 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
3314 and loader/i386/bsd64.c
3315 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
3316 (FREEBSD_MODTYPE_ELF_MODULE): New definition
3317 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
3318 (grub_freebsd_load_elfmodule32): New declaration
3319 (grub_freebsd_load_elfmoduleobj64): Likewise
3320 (grub_freebsd_load_elf_meta32): Likewise
3321 (grub_freebsd_load_elf_meta64): Likewise
3322 (grub_freebsd_add_meta): Likewise
3323 (grub_freebsd_add_meta_module): Likewise
3324 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
3325 (grub_freebsd_add_meta_module): Likewise and move module-specific
3326 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
3327 (grub_cmd_freebsd): Add elf-kernel specific parts
3328 based on grub_freebsd_add_meta_module
3329 (grub_cmd_freebsd_module): Add type parsing moved from
3330 grub_freebsd_add_meta_module
3331 (grub_cmd_freebsd_module_elf): New function
3332 (cmd_freebsd_module_elf): New variable
3333 (GRUB_MOD_INIT): Register freebsd_module_elf
3334 * loader/i386/bsd32.c: New file
3335 * loader/i386/bsd64.c: Likewise
3336 * loader/i386/bsdXX.c: Likewise
3337 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
3338 (grub_elf64_load): Likewise
3339 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
3340 All users updated
3341 (grub_elf64_load_hook_t): Likewise
3342
0db15301 33432009-06-21 Colin Watson <cjwatson@ubuntu.com>
3344
3345 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
3346 variable.
3347 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
3348 don't write a menu entry for recovery mode.
3349
546796c1 33502009-06-20 Robert Millan <rmh.grub@aybabtu.com>
3351
3352 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
3353 after it's no longer needed.
3354
cd7310d5 33552009-06-20 Robert Millan <rmh.grub@aybabtu.com>
3356
3357 * include/grub/i386/loader.h (grub_linux_prot_size)
3358 (grub_linux_tmp_addr, grub_linux_real_addr)
3359 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
3360 GRUB_MACHINE_PCBIOS.
3361 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
3362 common grub_util_info() call to ...
3363 (generate_image): ... here.
3364 Fix use of uninitialized memory, comparison of signed with
3365 unsigned integers and memory leak.
3366 Remove bogus module address message.
3367
ab32d3b5 33682009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3369
3370 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
3371 grub_raid_register
3372 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
3373
024ef597 33742009-06-19 Pavel Roskin <proski@gnu.org>
3375
3376 * configure.ac: Remove stray AC_MSG_CHECKING.
3377
3ac72b51 33782009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3379
3380 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 3381
e14cd814 33822009-06-18 Pavel Roskin <proski@gnu.org>
3383
3384 * conf/common.rmk: Add fs_file.mod.
3385 * disk/fs_file.c: New file.
3386 * include/grub/disk.h (enum grub_disk_dev_id): Add
3387 GRUB_DISK_DEVICE_FILE_ID.
3388
26586d98 33892009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
3390
3391 Fix build with Apple's toolchain. Part 2
3392
3393 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
3394 a fake start
3395
26de2bcd 33962009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
3397
3398 Fix build with Apple's toolchain. Part 1
3399
3400 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
3401 for long calls
3402 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 3403 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 3404 Apple's toolchain
3405
09b3490b 34062009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
3407
3408 Fix warnings
3409
3410 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
3411 (decomp_block): initialize ch
3412 use grub_memcpy instead of memcpy
3413
c22a006a 34142009-06-17 Pavel Roskin <proski@gnu.org>
3415
d3638678 3416 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
3417 version, use declarations needed to use vga_text as the startup
3418 console.
3419
c22a006a 3420 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
3421 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
3422 the kernel.
3423 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
3424 and grub_at_keyboard_fini(), it's done on module load and
3425 unload.
3426
05b129e0 34272009-06-17 Felix Zielcke <fzielcke@z-51.de>
3428
3429 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
3430 file can't be found.
3431 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
3432
cf24ed9e 34332009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
3434
3435 Fix newline handling
3436
3437 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 3438 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 3439 (grub_script_yylex): don't segfault on unterminated script
3440 newline terminates command and variable
3441
74aa8e4b 34422009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
3443
3444 avoid double grub_adjust_range call. Bug reported by David Simner
3445
3446 * kern/disk.c (grub_disk_write): change to raw disk access before
3447 calling disk_read
3448
1bd265f3 34492009-06-17 Colin Watson <cjwatson@ubuntu.com>
3450
3451 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
3452 spaces, for the benefit of help2man.
3453 * util/i386/efi/grub-mkimage.c (usage): Likewise.
3454
a2d08c06 34552009-06-16 Pavel Roskin <proski@gnu.org>
3456
3457 * kern/i386/halt.c: Include grub/machine/init.h.
3458 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
3459
b97bcb19 34602009-06-16 Felix Zielcke <fzielcke@z-51.de>
3461
3462 * util/grub.d/30_os-prober.in: Use ${root} in the generated
3463 drivemap menuentry.
3464
0644f96c 34652009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
3466
3467 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
3468 `echo' command.
3469
3ef17a2e 34702009-06-16 Pavel Roskin <proski@gnu.org>
3471
3472 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
3473 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
3474 save %dx, we only need %dl and we never change it.
3475 * boot/i386/pc/cdboot.S: Don't set the root drive.
3476 * boot/i386/pc/pxeboot.S: Likewise.
3477 * include/grub/i386/pc/boot.h: Remove
3478 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
3479 GRUB_BOOT_MACHINE_DRIVE_CHECK.
3480 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
3481 * kern/i386/pc/init.c (make_install_device): Remove references
3482 to grub_root_drive.
3483 * kern/i386/pc/startup.S: Likewise.
3484 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
3485
693fe637 34862009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3487
3488 xnu_uuid command
3489
3490 * commands/xnu_uuid.c: new file
3491 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
3492 (xnu_uuid_mod_SOURCES): new variable
3493 (xnu_uuid_mod_CFLAGS): likewise
3494 (xnu_uuid_mod_LDFLAGS): likewise
3495 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
3496 * conf/i386-ieee1275.rmk: likewise
3497 * conf/i386-pc.rmk: likewise
3498 * conf/powerpc-ieee1275.rmk: likewise
3499 * conf/sparc64-ieee1275.rmk: likewise
3500 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
3501
c9da87d0 35022009-06-16 Pavel Roskin <proski@gnu.org>
3503
3504 * configure.ac: Avoid '==' in test command, it's not portable.
3505
9c6f4596 35062009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3507
3508 Probe command
3509
3510 * commands/probe.c: new file
3511 * conf/common.rmk (pkglib_MODULES): add probe.mod
3512 (probe_mod_SOURCES): new variable
3513 (probe_mod_CFLAGS): likewise
3514 (probe_mod_LDFLAGS): likewise
3515 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
3516 * conf/i386-ieee1275.rmk: likewise
3517 * conf/i386-pc.rmk: likewise
3518 * conf/powerpc-ieee1275.rmk: likewise
3519 * conf/sparc64-ieee1275.rmk: likewise
3520
70b7f9fd 35212009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3522
3523 Fix handling of string like \"hello\" and "a
3524 b"
3525
3526 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
3527 (grub_script_yylex): fix parsing of quoting, escaping and newline
3528
71c79a6b 35292009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
3530
dd74360c 3531 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 3532 handling
dd74360c 3533
0644f96c 35342009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 3535
3536 * util/grub-mkconfig.in: Fix parsing of --output option.
3537
e40893c3 35382009-06-12 Pavel Roskin <proski@gnu.org>
3539
3540 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
3541 genmk.rb don't need to be generated or installed.
3542
3a1acfe2 35432009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
3544
3545 * commands/i386/pc/drivemap_int13h.S: add more comments
3546
3a4575d4 35472009-06-11 Pavel Roskin <proski@gnu.org>
3548
0658e928 3549 * Makefile.in (uninstall): Uninstall manuals.
3550
ca0388f0 3551 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
3552 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
3553 and update-grub_lib in two places.
3554 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
3555
e3b27c39 3556 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
3557 a compiler warning.
3558
3a4575d4 3559 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
3560 `entry_lo' to fix variable shadowing.
3561
af1f4f55 35622009-06-11 Christian Franke <franke@computer.org>
3563
3564 * kern/misc.c (__enable_execute_stack): Add missing return type
3565 to prevent gcc warning.
3566
5225e649 35672009-06-11 Felix Zielcke <fzielcke@z-51.de>
3568
3569 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
3570
7d83bd47 35712009-06-11 Pavel Roskin <proski@gnu.org>
3572
c1cb63ba 3573 * Makefile.in: Don't rely on any scripts being executable.
3574 Always use $(SHELL) to run shell scripts.
3575
7d83bd47 3576 * configure.ac: Always define ___main if using -nostdlib. This
3577 fixes tests on Cygwin.
3578
948f48e7 35792009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
3580
3581 UDF fix
3582
7d83bd47 3583 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 3584 is in bytes and not in blocks
7d83bd47 3585
8ada9bc1 35862009-06-11 Pavel Roskin <proski@gnu.org>
3587
3588 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
3589 warning.
3590
25ad2323 35912009-06-11 Felix Zielcke <fzielcke@z-51.de>
3592
3593 * util/grub.d/30_os-prober.in: Fix a comment. Source
3594 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
3595 to set the root device. Place drivemap command in the generated
3596 chain entry.
3597
e65acb0c 35982009-06-11 Pavel Roskin <proski@gnu.org>
3599
3600 * configure.ac: Remove host_m32. Issues with 64-bit utilities
3601 have long been resolved.
3602
f285fe2d 36032009-06-11 Colin Watson <cjwatson@ubuntu.com>
3604
bd47b0b5 3605 * util/grub.d/10_linux.in: Capitalise "Linux".
3606
f285fe2d 3607 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
3608
a0c62e4e 36092009-06-11 Pavel Roskin <proski@gnu.org>
3610
b6783cb2 3611 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
3612 fix a gcc warning and ensure that the function won't ever exit.
3613
dde032e8 3614 * kern/i386/ieee1275/init.c: Add missing prototype for
3615 grub_stop_floppy().
3616
22cd079d 3617 * loader/ieee1275/multiboot2.c [__i386__]: Include
3618 grub/cpu/multiboot.h.
3619
a0c62e4e 3620 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
3621 casts to short - they are not portable and cause warnings. Fix
3622 use of uninitialized values in input_buf. Use ARRAY_SIZE.
3623
63963d17 36242009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
3625
3626 Drivemap fixes
3627
3628 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
3629 new function
3630 (grub_get_root_biosnumber_saved): new variable
3631 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
3632 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 3633 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 3634 %dx after the call if necessary
3635 * conf/common.rmk (pkglib_MODULES): remove boot.mod
3636 (boot_mod_SOURCES): remove
3637 (boot_mod_CFLAGS): remove
3638 (boot_mod_LDFLAGS): remove
3639 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
3640 (boot_mod_SOURCES): new variable
3641 (boot_mod_CFLAGS): likewise
3642 (boot_mod_LDFLAGS): likewise
3643 * conf/i386-efi.rmk: likewise
3644 * conf/i386-ieee1275.rmk: likewise
3645 * conf/i386-pc.rmk: likewise
3646 * conf/powerpc-ieee1275.rmk: likewise
3647 * conf/sparc64-ieee1275.rmk: likewise
3648 * conf/x86_64-efi.rmk: likewise
3649 * include/grub/i386/pc/biosnum.h: new file
3650 * lib/i386/pc/biosnum.c: likewise
3651 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
3652 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
3653 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 3654
33abf7ae 36552009-06-10 Pavel Roskin <proski@gnu.org>
3656
5ac35b35 3657 * io/gzio.c (test_header): Don't reuse one buffer for all data.
3658 Use separate variables. Read only the file size at the end, but
3659 not the checksum that we don't use.
3660
5c5215d5 3661 * kern/file.c (grub_file_read): Use void pointer for the buffer.
3662 Adjust all callers.
3663
27d5fef7 3664 * kern/ieee1275/openfw.c: Remove libc includes.
3665 * kern/ieee1275/cmain.c: Likewise.
3666 * include/grub/ieee1275/ieee1275.h: Likewise.
3667
33abf7ae 3668 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
3669 compiler warnings.
3670
19d50c2b 36712009-06-10 Felix Zielcke <fzielcke@z-51.de>
3672
3673 * Makefile.in: Remove all trailing whitespace.
3674 * conf/i386-pc.rmk: Likewise.
3675 * conf/powerpc-ieee1275.rmk: Likewise.
3676 * conf/sparc64-ieee1275.rmk: Likewise.
3677 * docs/grub.texi: Likewise.
3678 * docs/texinfo.tex: Likewise.
3679 * disk/fs_uuid.c: Likewise.
3680 * disk/lvm.c: Likewise.
3681 * disk/scsi.c: Likewise.
3682 * disk/ata.c: Likewise.
3683 * disk/ieee1275/ofdisk.c: Likewise.
3684 * disk/i386/pc/biosdisk.c: Likewise.
3685 * disk/host.c: Likewise.
3686 * disk/raid.c: Likewise.
3687 * disk/efi/efidisk.c: Likewise.
3688 * disk/usbms.c: Likewise.
3689 * disk/memdisk.c: Likewise.
3690 * disk/loopback.c: Likewise.
3691 * kern/powerpc/dl.c: Likewise.
3692 * kern/device.c: Likewise.
3693 * kern/dl.c: Likewise.
3694 * kern/sparc64/dl.c: Likewise.
3695 * kern/ieee1275/ieee1275.c: Likewise.
3696 * kern/term.c: Likewise.
3697 * kern/fs.c: Likewise.
3698 * kern/i386/dl.c: Likewise.
3699 * kern/i386/pc/startup.S: Likewise.
3700 * kern/i386/pc/init.c: Likewise.
3701 * kern/i386/pc/mmap.c: Likewise.
3702 * kern/i386/pc/lzo1x.S: Likewise.
3703 * kern/i386/ieee1275/init.c: Likewise.
3704 * kern/i386/realmode.S: Likewise.
3705 * kern/i386/tsc.c: Likewise.
3706 * kern/partition.c: Likewise.
3707 * kern/corecmd.c: Likewise.
3708 * kern/file.c: Likewise.
3709 * kern/efi/efi.c: Likewise.
3710 * kern/efi/init.c: Likewise.
3711 * kern/efi/mm.c: Likewise.
3712 * kern/main.c: Likewise.
3713 * kern/err.c: Likewise.
3714 * kern/env.c: Likewise.
3715 * kern/disk.c: Likewise.
3716 * kern/generic/millisleep.c: Likewise.
3717 * kern/generic/rtc_get_time_ms.c: Likewise.
3718 * kern/misc.c: Likewise.
3719 * kern/parser.c: Likewise.
3720 * genmk.rb: Likewise.
3721 * configure.ac: Likewise.
3722 * boot/i386/pc/diskboot.S: Likewise.
3723 * boot/i386/pc/pxeboot.S: Likewise.
3724 * boot/i386/pc/boot.S: Likewise.
3725 * boot/i386/pc/lnxboot.S: Likewise.
3726 * boot/i386/pc/cdboot.S: Likewise.
3727 * parttool/pcpart.c: Likewise.
3728 * video/readers/tga.c: Likewise.
3729 * video/video.c: Likewise.
3730 * video/bitmap.c: Likewise.
3731 * lib/envblk.c: Likewise.
3732 * lib/i386/setjmp.S: Likewise.
3733 * fs/xfs.c: Likewise.
3734 * fs/afs.c: Likewise.
3735 * fs/fat.c: Likewise.
3736 * fs/ntfs.c: Likewise.
3737 * fs/udf.c: Likewise.
3738 * fs/affs.c: Likewise.
3739 * fs/iso9660.c: Likewise.
3740 * fs/hfs.c: Likewise.
3741 * fs/fshelp.c: Likewise.
3742 * fs/ext2.c: Likewise.
3743 * fs/jfs.c: Likewise.
3744 * fs/reiserfs.c: Likewise.
3745 * fs/hfsplus.c: Likewise.
3746 * fs/minix.c: Likewise.
3747 * fs/cpio.c: Likewise.
3748 * fs/sfs.c: Likewise.
3749 * fs/ufs.c: Likewise.
3750 * efiemu/prepare.c: Likewise.
3751 * efiemu/loadcore_common.c: Likewise.
3752 * efiemu/runtime/efiemu.sh: Likewise.
3753 * efiemu/runtime/efiemu.S: Likewise.
3754 * efiemu/runtime/efiemu.c: Likewise.
3755 * efiemu/pnvram.c: Likewise.
3756 * efiemu/main.c: Likewise.
3757 * efiemu/i386/pc/cfgtables.c: Likewise.
3758 * efiemu/i386/loadcore64.c: Likewise.
3759 * efiemu/i386/loadcore32.c: Likewise.
3760 * efiemu/loadcore.c: Likewise.
3761 * efiemu/symbols.c: Likewise.
3762 * efiemu/mm.c: Likewise.
3763 * include/grub/autoefi.h: Likewise.
3764 * include/grub/datetime.h: Likewise.
3765 * include/grub/term.h: Likewise.
3766 * include/grub/hfs.h: Likewise.
3767 * include/grub/lvm.h: Likewise.
3768 * include/grub/i386/tsc.h: Likewise.
3769 * include/grub/i386/linux.h: Likewise.
3770 * include/grub/i386/xnu.h: Likewise.
3771 * include/grub/i386/efiemu.h: Likewise.
3772 * include/grub/i386/pc/biosdisk.h: Likewise.
3773 * include/grub/i386/pc/memory.h: Likewise.
3774 * include/grub/i386/pc/vbe.h: Likewise.
3775 * include/grub/parttool.h: Likewise.
3776 * include/grub/video.h: Likewise.
3777 * include/grub/memory.h: Likewise.
3778 * include/grub/fs.h: Likewise.
3779 * include/grub/partition.h: Likewise.
3780 * include/grub/xnu.h: Likewise.
3781 * include/grub/efi/api.h: Likewise.
3782 * include/grub/efi/pe32.h: Likewise.
3783 * include/grub/efi/memory.h: Likewise.
3784 * include/grub/multiboot.h: Likewise.
3785 * include/grub/usbdesc.h: Likewise.
3786 * include/grub/multiboot2.h: Likewise.
3787 * include/grub/acpi.h: Likewise.
3788 * include/grub/efiemu/efiemu.h: Likewise.
3789 * include/grub/disk.h: Likewise.
3790 * include/grub/ieee1275/ieee1275.h: Likewise.
3791 * include/grub/net.h: Likewise.
3792 * include/grub/machoload.h: Likewise.
3793 * include/grub/macho.h: Likewise.
3794 * include/multiboot.h: Likewise.
3795 * genmoddep.awk: Likewise.
3796 * normal/main.c: Likewise.
3797 * normal/menu_entry.c: Likewise.
3798 * normal/menu_viewer.c: Likewise.
3799 * normal/completion.c: Likewise.
3800 * normal/cmdline.c: Likewise.
3801 * normal/misc.c: Likewise.
3802 * normal/datetime.c: Likewise.
3803 * bus/usb/usbtrans.c: Likewise.
3804 * bus/usb/ohci.c: Likewise.
3805 * bus/usb/uhci.c: Likewise.
3806 * bus/usb/usb.c: Likewise.
3807 * mmap/efi/mmap.c: Likewise.
3808 * mmap/i386/pc/mmap_helper.S: Likewise.
3809 * mmap/i386/pc/mmap.c: Likewise.
3810 * mmap/i386/mmap.c: Likewise.
3811 * mmap/i386/uppermem.c: Likewise.
3812 * mmap/mmap.c: Likewise.
3813 * commands/acpi.c: Likewise.
3814 * commands/echo.c: Likewise.
3815 * commands/blocklist.c: Likewise.
3816 * commands/loadenv.c: Likewise.
3817 * commands/usbtest.c: Likewise.
3818 * commands/boot.c: Likewise.
3819 * commands/parttool.c: Likewise.
3820 * commands/search.c: Likewise.
3821 * commands/cat.c: Likewise.
3822 * commands/i386/pc/play.c: Likewise.
3823 * commands/i386/pc/drivemap.c: Likewise.
3824 * commands/i386/pc/vbeinfo.c: Likewise.
3825 * commands/i386/pc/acpi.c: Likewise.
3826 * commands/i386/pc/vbetest.c: Likewise.
3827 * commands/ls.c: Likewise.
3828 * commands/cmp.c: Likewise.
3829 * commands/test.c: Likewise.
3830 * commands/efi/acpi.c: Likewise.
3831 * commands/gptsync.c: Likewise.
3832 * commands/help.c: Likewise.
3833 * partmap/amiga.c: Likewise.
3834 * partmap/apple.c: Likewise.
3835 * partmap/acorn.c: Likewise.
3836 * partmap/pc.c: Likewise.
3837 * partmap/sun.c: Likewise.
3838 * partmap/gpt.c: Likewise.
3839 * script/sh/lexer.c: Likewise.
3840 * script/sh/function.c: Likewise.
3841 * font/font.c: Likewise.
3842 * font/font_cmd.c: Likewise.
3843 * loader/powerpc/ieee1275/linux.c: Likewise.
3844 * loader/efi/chainloader.c: Likewise.
3845 * loader/multiboot_loader.c: Likewise.
3846 * loader/macho.c: Likewise.
3847 * loader/i386/multiboot.c: Likewise.
3848 * loader/i386/linux.c: Likewise.
3849 * loader/i386/pc/linux.c: Likewise.
3850 * loader/i386/pc/multiboot2.c: Likewise.
3851 * loader/i386/pc/chainloader.c: Likewise.
3852 * loader/i386/pc/xnu.c: Likewise.
3853 * loader/i386/bsd_trampoline.S: Likewise.
3854 * loader/i386/efi/linux.c: Likewise.
3855 * loader/i386/multiboot_elfxx.c: Likewise.
3856 * loader/i386/bsd_helper.S: Likewise.
3857 * loader/i386/bsd.c: Likewise.
3858 * loader/i386/linux_trampoline.S: Likewise.
3859 * loader/i386/xnu_helper.S: Likewise.
3860 * loader/i386/xnu.c: Likewise.
3861 * loader/i386/bsd_pagetable.c: Likewise.
3862 * loader/i386/multiboot_helper.S: Likewise.
3863 * loader/xnu.c: Likewise.
3864 * loader/xnu_resume.c: Likewise.
3865 * io/gzio.c: Likewise.
3866 * term/efi/console.c: Likewise.
3867 * term/terminfo.c: Likewise.
3868 * term/ieee1275/ofconsole.c: Likewise.
3869 * term/i386/pc/serial.c: Likewise.
3870 * term/i386/pc/vesafb.c: Likewise.
3871 * term/i386/pc/vga.c: Likewise.
3872 * term/usb_keyboard.c: Likewise.
3873 * term/gfxterm.c: Likewise.
3874 * aclocal.m4: Likewise.
3875 * util/lvm.c: Likewise.
3876 * util/grub.d/30_os-prober.in: Likewise.
3877 * util/grub.d/10_hurd.in: Likewise.
3878 * util/console.c: Likewise.
3879 * util/grub-macho2img.c: Likewise.
3880 * util/grub-probe.c: Likewise.
3881 * util/hostfs.c: Likewise.
3882 * util/i386/pc/grub-mkimage.c: Likewise.
3883 * util/i386/pc/grub-setup.c: Likewise.
3884 * util/i386/efi/grub-mkimage.c: Likewise.
3885 * util/grub-mkconfig.in: Likewise.
3886 * util/raid.c: Likewise.
3887 * util/resolve.c: Likewise.
3888 * util/grub-mkdevicemap.c: Likewise.
3889 * util/grub-emu.c: Likewise.
3890 * util/getroot.c: Likewise.
3891 * util/hostdisk.c: Likewise.
3892 * util/usb.c: Likewise.
3893 * util/grub-editenv.c: Likewise.
3894 * util/misc.c: Likewise.
3895
d2d49665 38962009-06-10 Felix Zielcke <fzielcke@z-51.de>
3897
3898 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
3899 `genparttoollist.sh'.
3900 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
3901 Add `*.sh' to the list find searches for and change `mdate.sh'
3902 to `mdate-sh'.
3903
fe052e37 39042009-06-10 Pavel Roskin <proski@gnu.org>
3905
2763ac18 3906 * include/grub/multiboot2.h: Provide compatibility defines for
3907 multiboot2.h.
3908 * include/multiboot2.h: Include stdint.h only if needed, using
3909 angle brackets.
3910 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
3911 grub/multiboot2.h.
3912 * loader/ieee1275/multiboot2.c: Likewise.
3913 * loader/multiboot2.c: Likewise.
3914 * loader/multiboot_loader.c: Likewise.
3915
437e6adc 3916 * configure.ac: Use -nostdlib when probing for the target. It
3917 should not be required to have libc for the target.
3918
06a6836c 3919 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
3920 they fail without libc headers for the target.
3921 * include/grub/powerpc/libgcc.h: Use weak attribute for all
3922 exports.
3923 * include/grub/sparc64/libgcc.h: Likewise. Don't use
3924 preprocessor conditionals.
3925
fe052e37 3926 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
3927 build system doesn't need to be aware of the tar.c internals.
3928
afd22553 39292009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 3930
afd22553 3931 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 3932
6b787c4f 39332009-06-09 Robert Millan <rmh.grub@aybabtu.com>
3934
3935 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
3936 disk limit to 26 for IDE, Virtio, Xen and SCSI.
3937
39382009-06-09 Felix Zielcke <fzielcke@z-51.de>
3939
3940 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 3941 aren't available if ata.mod gets used.
6b787c4f 3942
473d1e45 39432009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 3944
473d1e45 3945 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 3946 initialising controller.
473d1e45 3947 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 3948
255a27d4 39492009-06-08 Felix Zielcke <fzielcke@z-51.de>
3950
3951 * util/i386/pc/grub-install.in: Add a parameter --disk-module
3952 to choose between ata and biosdisk module on i386-pc.
3953
473d1e45 39542009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 3955
d55842d8 3956 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
3957 Subclass and Programming Interface fields in terms of the 3 byte
3958 Class Code register.
3959 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
3960
fa5db0b1 3961 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
3962 interface is OHCI. Add grub_dprintf for symmetry with
3963 bus/usb/uhci.c.
3964 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
3965 interface is UHCI. Add interf variable for programming
3966 interface. Print interface with class/subclass.
3967
c0947beb 3968 * bus/usb/ohci.c: Set interf with correct field.
3969
69da8877 3970 * bus/usb/uhci.c: Remove unneeded doubled lines.
3971 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
3972 Remove whitespace inside comment.
3973
9e172e30 39742009-06-08 Robert Millan <rmh.grub@aybabtu.com>
3975
3976 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
3977 as fallback an equivalent option without depth.
3978
de65ee2b 39792009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3980
3981 Not fail if unable to retrieve C/H/S on LBA disks
3982
473d1e45 3983 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 3984 if unable to retrieve C/H/S on LBA disks
3985
b57ea2c9 39862009-06-08 Pavel Roskin <proski@gnu.org>
3987
3988 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
3989 about aliasing.
3990
af361263 39912009-06-08 Felix Zielcke <fzielcke@z-51.de>
3992
3993 * Makefile.in (uninstall): Remove all $lib_DATA files.
3994
4c9ec6b3 39952009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3996
3997 Bugfix: install on partitionless device
3998
3999 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
4000 is a whole disk
4001
e76fc924 40022009-06-08 Felix Zielcke <fzielcke@z-51.de>
4003
4004 * Makefile.in (uninstall): Remove all $include_DATA files.
4005
ba5a0d05 40062009-06-08 Felix Zielcke <fzielcke@z-51.de>
4007
4008 * commands/true.c: New file. Implement the true and false commands.
4009 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
4010 (true_mod_SOURCES): New variable.
4011 (true_mod_CFLAGS): Likewise.
4012 (true_mod_LDFLAGS): Likewise.
4013
c8048e32 40142009-06-05 Colin D Bennett <colin@gibibit.com>
4015
4016 Optimized font character lookup using binary search instead of linear
4017 search. Fonts now are required to have the character index ordered by
4018 code point.
4019
4020 * font/font.c (load_font_index): Verify that fonts have ordered
4021 character indices.
4022 (find_glyph): Use binary search instead of linear search to find a
4023 character in a font.
4024
408305be 40252009-06-05 Michael Scherer <misc@mandriva.org>
4026
4027 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
4028 uses case sensitive btree.
4029 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
4030 only for case insensitive filesystems.
4031
8ee1e0d9 40322009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
4033
4034 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
4035 * conf/common.rmk (search_mod_CFLAGS): likewise
4036
a9966eb1 40372009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4038
473d1e45 4039 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 4040 compensate a compiler bug
4041
9e7100fb 40422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4043
473d1e45 4044 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 4045 instead of '\b'
473d1e45 4046
ede21d71 40472009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4048
4049 Definitions for creating asm symbols with Apple's CC
4050
4051 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
4052 [APPLE_CC] (VARIABLE): likewise
4053
9dbf7653 40542009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4055
4056 Disable lnxboot.img when compiled
4057 with Apple's CC
4058
4059 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
4060 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
4061 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
4062 [! APPLE_CC] (CODE_LENG): skip
4063 [! APPLE_CC] (setup_sects): likewise
4064 [! APPLE_CC]: skip filling
473d1e45 4065
e93cdc3d 40662009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4067
4068 Address in trampolines based on 32-bit registers when compiled
4069 with Apple's CC
4070
473d1e45 4071 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 4072 for addresses
4073 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
4074
6c688477 40752009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4076
4077 Avoid aliases when compiling with Apple's CC for PCBIOS machine
4078
4079 * kern/misc.c [APPLE_CC] (memcpy): new function
4080 [APPLE_CC] (memmove): likewise
4081 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 4082 (memcpy): define alias conditionally on !APPLE_CC
6c688477 4083 (memset): likewise
4084 (abort): likewise
4085 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
4086 APPLE_CC are defined
4087 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
4088 (grub_assert_fail): make prototype conditional
4089
e37ffc5c 40902009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4091
4092 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
4093
473d1e45 4094 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
4095 grub-macho2img
e37ffc5c 4096 (CLEANFILES): add grub-macho2img
4097 (grub_macho2img_SOURCES): new variable
4098 * kern/i386/pc/startup.S (bss_start): new variable
4099 (bss_end): likewise
4100 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
4101 * util/grub-macho2img.c: new file
4102
cf00df31 41032009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4104
4105 Use objconv when compiling with Apple's CC
4106
4107 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
4108 (efiemu64.o): likewise
4109 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
4110 when compiling with Apple's CC
4111 (efiemu64_s.o): likewise
4112 * configure.ac: check for objconv when compiling with Apple's CC
4113 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 4114
d119a20c 41152009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4116
4117 Define segment as well as section when compiling with
4118 Apple's CC
4119
4120 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
4121 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
4122 (efiemu_convert_pointer): likewise
4123 (efiemu_set_virtual_address_map): likewise
4124 (efiemu_convert_pointer): likewise
4125 (efiemu_getcrc32): likewise
4126 (init_crc32_table): likewise
4127 (reflect): likewise
4128 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
4129 (GRUB_MOD_DEP): likewise
473d1e45 4130
c8600122 41312009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4132
4133 Allow a compilation without -mcmodel=large
4134
4135 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
4136 when compiled without -mcmodel=large
473d1e45 4137 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 4138 without -mcmodel=large
473d1e45 4139 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 4140 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 4141
e8df1d4e 41422009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4143
4144 Remove nested functions in efiemu core
4145
4146 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 4147
cc6c3ac1 41482009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4149
4150 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
4151
4152 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
4153 temporary storage
473d1e45 4154 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
4155 using Apple's CC
cc6c3ac1 4156 (grub_cpu_is_tsc_supported): likewise
4157 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 4158
3e325901 41592009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4160
4161 Absolute addressing through constant with Apple's cc
4162
4163 * kern/i386/pc/startup.S: Define necessary constants
4164 and address through it when using ABS with Apple's CC
4165 * boot/i386/pc/diskboot.S: likewise
4166 * boot/i386/pc/boot.S: likewise
4167 * boot/i386/pc/lnxboot.S: likewise
4168 * boot/i386/pc/cdboot.S: likewise
4169 * mmap/i386/pc/mmap_helper.S: likewise
4170 * commands/i386/pc/drivemap_int13h.S: likewise
4171
2b167a72 41722009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4173
4174 Check if compiler is apple cc
4175
4176 * Makefile.in (ASFLAGS): new variable
4177 (TARGET_ASFLAGS): likewise
4178 (TARGET_MODULE_FORMAT): likewise
4179 (TARGET_APPLE_CC): likewise
4180 (OBJCONV): likewise
4181 (TARGET_IMG_CFLAGS): likewise
4182 (TARGET_CPPFLAGS): add includedir
4183 * configure.ac: call grub_apple_cc and grub_apple_target_cc
4184 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
4185 Check for linker script only if compiler isn't Apple's CC
4186 (TARGET_MODULE_FORMAT): set
4187 (TARGET_APPLE_CC): likewise
4188 (TARGET_ASFLAGS): likewise
4189 (ASFLAGS): likewise
4190 Check for objcopy only if compiler isn't Apple's CC
4191 Check for BSS symbol only if compiler isn't Apple's CC
4192 * genmk.rb: adapt nm options if we use Apple's utils
4193 * aclocal.m4 (grub_apple_cc): new test
4194 (grub_apple_target_cc): likewise
473d1e45 4195
fb14123e 41962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4197
4198 Simplify sed expressions and improve awk
4199
4200 * Makefile.in (install-local): simplify sed expression
4201 * gencmdlist.sh: likewise
4202 * genmoddep.awk: avoid adding module as a dependency of itself
4203
5b889789 42042009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4205
4206 Add missing start symbols
4207
4208 * boot/i386/pc/boot.S: add start
fb14123e 4209 * boot/i386/pc/pxeboot.S: likewise
473d1e45 4210
fd2bf2e3 42112009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4212
4213 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 4214
4215 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 4216 (relocate_addresses): consider both r_addend and value at offset
4217 (make_mods_section): zerofill modinfo and header
4218 (convert_elf): write prefix here
473d1e45 4219
5389763d 42202009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4221
4222 Use .asciz instead of .string
4223
4224 * i386/pc/diskboot.S: use .asciz instead of .string
4225 * i386/pc/boot.S: likewise
4226 * include/grub/dl.h (GRUB_MOD_DEP): likewise
4227 (GRUB_MOD_NAME): likewise
473d1e45 4228
3eb5ed4e 42292009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4230
4231 gfxpayload support
4232
4233 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
4234 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
4235 (grub_video_setup): remove
4236 (grub_video_set_mode): new prototype
4237 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
4238 (vid_mode): remove
4239 (linux_vesafb_res): compile only on PCBIOS
4240 (grub_linux_boot): support gfxpayload
4241 * loader/i386/pc/xnu.c (video_hook): new function
4242 (grub_xnu_set_video): support gfxpayload
4243 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
4244 (DEFAULT_VIDEO_HEIGHT): likewise
4245 (DEFAULT_VIDEO_FLAGS): likewise
4246 (DEFAULT_VIDEO_MODE): new definition
4247 (video_hook): new function
4248 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 4249 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 4250 loading xnu
4251 * video/video.c (grub_video_setup): removed
473d1e45 4252 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 4253 grub_video_setup
4254
4b0e1143 42552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4256
4257 Avoid calling biosdisk in drivemap
4258
4259 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
4260 (revparse_biosdisk): likewise
4261 (list_mappings): derive name from id directly
4262 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 4263
fda6cb98 42642009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4265
4266 Script fixes
4267
4268 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
4269 (grub_lexer_param): add tokenonhold
4270 (grub_script_create_cmdline): remove cmdline. All callers updated
4271 (grub_script_function_create): make functionname
4272 grub_script_arg. All callers updated
4273 (grub_script_execute_argument_to_string): new prototype
4274 * kern/parser.c (state_transitions): reorder
4275 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 4276 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 4277 make global
4278 (grub_script_execute_cmdline): use new format
4279 * script/sh/function.c (grub_script_function_create): make functionname
4280 grub_script_arg. All callers updated
473d1e45 4281 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 4282 (grub_script_yylex): remove
4283 (grub_script_yylex2): renamed to ...
4284 (grub_script_yylex): ...renamed
4285 parse the expressions like a${b}c
4286 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
4287 (GRUB_PARSER_TOKEN_VAR): remove
4288 (GRUB_PARSER_TOKEN_NAME): likewise
4289 ("if"): declare as typeless
4290 ("while"): likewise
4291 ("function"): likewise
4292 ("else"): likewise
4293 ("then"): likewise
4294 ("fi"): likewise
4295 (text): remove
4296 (argument): likewise
4297 (script): accept empty scripts and make exit on error
4298 (arguments): use GRUB_PARSER_TOKEN_ARG
4299 (function): likewise
4300 (command): move error handling to script
4301 (menuentry): move grub_script_lexer_ref before
473d1e45 4302 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 4303 argument. All callers updated
4304
f4448a07 43052009-06-04 Robert Millan <rmh.grub@aybabtu.com>
4306
4307 Prevent GRUB from probing floppies during boot.
4308
4309 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
4310 * commands/search.c (options): Add --no-floppy.
4311 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
4312 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
4313 --no-floppy when searching for UUIDs.
4314
2bf5885a 43152009-06-04 Robert Millan <rmh.grub@aybabtu.com>
4316
4317 Simplify the code duplication in commands/search.c.
4318
4319 * commands/search.c (search_label, search_fs_uuid): Merge into ...
4320 (search_fs): ... this. Update all users.
4321
f6fd460a 43222009-06-03 Felix Zielcke <fzielcke@z-51.de>
4323
4324 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
4325
cbb3c83e 43262009-05-28 Pavel Roskin <proski@gnu.org>
4327
57788cfd 4328 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
4329 Remove the original symlink explicitly.
4330
cbb3c83e 4331 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
4332 just one slash. That's how grub_fshelp_find_file() does it.
4333
cd0d5e30 43342009-05-26 Pavel Roskin <proski@gnu.org>
4335
f0f8bbe2 4336 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
4337 to `str'.
4338
cd0d5e30 4339 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
4340 possibly unused.
4341
8c2cab51 43422009-05-25 Christian Franke <franke@computer.org>
4343
4344 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
4345 register.
4346 (grub_atapi_identify): Add wait after drive select.
4347 (grub_ata_identify): Do more strict status register check before
4348 calling grub_atapi_identify (). Suppress error message if status
4349 register is 0x00 after command failure. Add status register
4350 check after PIO read to avoid bogus identify due to stuck DRQ.
4351 Thanks to Pavel Roskin for testing.
4352 (grub_device_initialize): Remove unsafe status register check.
4353 Thanks to 'phcoder' for problem report and patch.
4354 Prevent sign extension in debug message.
4355
230c0ad6 43562009-05-23 Colin D Bennett <colin@gibibit.com>
4357
4358 Cleaned up `include/grub/normal.h'. Grouped prototypes by
4359 definition file, and functions defined in `normal/menu.c' have had
4360 their prototypes moved to `include/grub/menu.h' for consistency.
4361
4362 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
4363 from normal.h.
4364 (grub_menu_get_entry): Likewise.
4365 (grub_menu_get_timeout): Likewise.
4366 (grub_menu_set_timeout): Likewise.
4367 (grub_menu_execute_entry): Likewise.
4368 (grub_menu_execute_with_fallback): Likewise.
4369 (grub_menu_entry_run): Likewise.
4370
4371 * include/grub/normal.h: Re-ordered and grouped function
4372 prototypes by file that the function is defined in.
4373 (grub_menu_execute_callback): Removed; moved to menu.h.
4374 (grub_menu_get_entry): Likewise.
4375 (grub_menu_get_timeout): Likewise.
4376 (grub_menu_set_timeout): Likewise.
4377 (grub_menu_execute_entry): Likewise.
4378 (grub_menu_execute_with_fallback): Likewise.
4379 (grub_menu_entry_run): Likewise.
4380 (grub_menu_addentry): Renamed from this ...
4381 (grub_normal_add_menu_entry): ... to this.
4382
4383 * normal/main.c (grub_menu_addentry): Renamed from this ...
4384 (grub_normal_add_menu_entry): ... to this.
4385
4386 * script/sh/execute.c (grub_script_execute_menuentry): Update
4387 reference to renamed grub_menu_addentry function.
4388
861f03a5 43892009-05-23 Felix Zielcke <fzielcke@z-51.de>
4390
4391 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
4392
96b1619a 43932009-05-22 Pavel Roskin <proski@gnu.org>
4394
bf6a5fb2 4395 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
4396 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
4397 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
4398 compiling for the i386 targets, but not for the utilities.
4399
96b1619a 4400 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
4401 to grub_uint8_t.
4402 (grub_root_drive): Likewise.
4403 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
4404 remove alignment.
4405 (grub_root_drive): Change size to byte.
4406 (grub_start_addr): Remove.
4407 (grub_end_addr): Likewise.
4408 (grub_apm_bios_info): Likewise.
4409
b729776b 44102009-05-21 Felix Zielcke <fzielcke@z-51.de>
4411
4412 * normal/i386: Remove.
4413 * normal/powerpc: Likewise.
4414 * normal/sparc64: Likewise.
4415 * normal/x86_64: Likewise.
4416
0a15ce80 44172009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
4418
4419 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 4420 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 4421 * loader/i386/xnu_helper.S: Likewise
d6da58e6 4422
33db9015 44232009-05-18 Colin D Bennett <colin@gibibit.com>
4424
d6da58e6 4425 Display error messages when parsing a Lua statement fails.
4426 Previously, executing a syntactically invalid statement like
4427 ")foo" or "bar;" would silently fail.
33db9015 4428
4429 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 4430 (grub_lua_parse_line): Improved reporting of Lua parser and
4431 execution errors.
33db9015 4432
46422c89 44332009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4434
4435 Remove -Werror which causes build to fail on some systems
4436
4437 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
4438 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
4439 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 4440
22f53a96 44412009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4442
4443 trampoline for linux on 64-bit platform
4444
18f547ad 4445 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
4446 loader/i386/efi/linux_trampoline.S
4447 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 4448 declaration
d6da58e6 4449 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
4450 here
22f53a96 4451 * loader/i386/linux_trampoline.S: moved here
d6da58e6 4452 * loader/i386/efi/linux.c (allocate_pages): reserve space for
4453 trampoline
22f53a96 4454 (jumpvector): removed
4455 (grub_linux_trampoline_start): new declaration
4456 (grub_linux_trampoline_end): likewise
4457 (grub_linux_boot): use trampoline when on 64-bit platform
4458 * loader/i386/linux.c: likewise
4459
cb5a0f40 44602009-05-16 Pavel Roskin <proski@gnu.org>
4461
4462 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
4463 const to avoid a warning.
4464 (grub_lua_setenv): Likewise.
4465 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
4466 lmsg to fix a warning.
4467
334f2c28 44682009-05-16 Felix Zielcke <fzielcke@z-51.de>
4469
4470 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 4471 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
4472 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
4473 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
4474 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
4475 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
4476 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
4477 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 4478
59e5d3ec 44792009-05-16 Felix Zielcke <fzielcke@z-51.de>
4480
4481 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
4482
9d87a1ba 44832009-05-16 Bean <bean123ch@gmail.com>
4484
4485 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
4486 (lua_mod_SOURCES): New variable.
4487 (lua_mod_CFLAGS): Likewise.
4488 (lua_mod_LDFLAGS): Likewise.
4489
4490 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
4491 (setjmp_mod_SOURCES): New variable.
4492 (setjmp_mod_CFLAGS): Likewise.
4493 (setjmp_LDFLAGS): Likewise.
4494
4495 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
4496 (setjmp_mod_SOURCES): New variable.
4497 (setjmp_mod_CFLAGS): Likewise.
4498 (setjmp_LDFLAGS): Likewise.
4499
4500 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
4501 (setjmp_mod_SOURCES): New variable.
4502 (setjmp_mod_CFLAGS): Likewise.
4503 (setjmp_LDFLAGS): Likewise.
4504
4505 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
4506 (setjmp_mod_SOURCES): New variable.
4507 (setjmp_mod_CFLAGS): Likewise.
4508 (setjmp_LDFLAGS): Likewise.
4509
4510 * normal/i386/setjmp.S: Moved from here ...
4511 * lib/i386/setjmp.S: ... Moved here
4512 * normal/x86_64/setjmp.S: Moved from here ...
4513 * lib/x86_64/setjmp.S: ... Moved here
4514 * normal/powerpc/setjmp.S: Moved from here ...
4515 * lib/powerpc/setjmp.S: ... Moved here
4516 * normal/sparc64/setjmp.S: Moved from here ...
4517 * lib/sparc64/setjmp.S: ... Moved here
4518
4519 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
4520 returns_twice in mingw.
4521
4522 * script/lua/grub_lib.c: New file.
4523 * script/lua/grub_lib.h: Likewise.
4524 * script/lua/grub_lua.h: Likewise.
4525 * script/lua/grub_main.c: Likewise.
4526 * script/lua/lapi.c: Likewise.
4527 * script/lua/lapi.h: Likewise.
4528 * script/lua/lauxlib.c: Likewise.
4529 * script/lua/lauxlib.h: Likewise.
4530 * script/lua/lbaselib.c: Likewise.
4531 * script/lua/lcode.c: Likewise.
4532 * script/lua/lcode.h: Likewise.
4533 * script/lua/ldblib.c: Likewise.
4534 * script/lua/ldebug.c: Likewise.
4535 * script/lua/ldebug.h: Likewise.
4536 * script/lua/ldo.c: Likewise.
4537 * script/lua/ldo.h: Likewise.
4538 * script/lua/ldump.c: Likewise.
4539 * script/lua/lfunc.c: Likewise.
4540 * script/lua/lfunc.h: Likewise.
4541 * script/lua/lgc.c: Likewise.
4542 * script/lua/lgc.h: Likewise.
4543 * script/lua/linit.c: Likewise.
4544 * script/lua/liolib.c: Likewise.
4545 * script/lua/llex.c: Likewise.
4546 * script/lua/llex.h: Likewise.
4547 * script/lua/llimits.h: Likewise.
4548 * script/lua/lmathlib.c: Likewise.
4549 * script/lua/lmem.c: Likewise.
4550 * script/lua/lmem.h: Likewise.
4551 * script/lua/loadlib.c: Likewise.
4552 * script/lua/lobject.c: Likewise.
4553 * script/lua/lobject.h: Likewise.
4554 * script/lua/lopcodes.c: Likewise.
4555 * script/lua/lopcodes.h: Likewise.
4556 * script/lua/loslib.c: Likewise.
4557 * script/lua/lparser.c: Likewise.
4558 * script/lua/lparser.h: Likewise.
4559 * script/lua/lstate.c: Likewise.
4560 * script/lua/lstate.h: Likewise.
4561 * script/lua/lstring.c: Likewise.
4562 * script/lua/lstring.h: Likewise.
4563 * script/lua/lstrlib.c: Likewise.
4564 * script/lua/ltable.c: Likewise.
4565 * script/lua/ltable.h: Likewise.
4566 * script/lua/ltablib.c: Likewise.
4567 * script/lua/ltm.c: Likewise.
4568 * script/lua/ltm.h: Likewise.
4569 * script/lua/lua.h: Likewise.
4570 * script/lua/luaconf.h: Likewise.
4571 * script/lua/lualib.h: Likewise.
4572 * script/lua/lundump.c: Likewise.
4573 * script/lua/lundump.h: Likewise.
4574 * script/lua/lvm.c: Likewise.
4575 * script/lua/lvm.h: Likewise.
4576 * script/lua/lzio.c: Likewise.
4577 * script/lua/lzio.h: Likewise.
4578
5e898c9d 45792009-05-16 Bean <bean123ch@gmail.com>
4580
4581 * include/grub/kernel.h (grub_module_header_types): Add type
4582 OBJ_TYPE_CONFIG.
4583
4584 * kern/main.c (grub_load_config): New function.
4585 (grub_main): Call grub_load_config to read boot config.
4586
4587 * grub-mkimage (generate_image): New parameter config_path.
4588 (options): New option --config.
4589 (main): Parse --config option, and pass it to generate_image.
4590
cf353a47 45912009-05-14 Christian Franke <franke@computer.org>
4592
4593 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
4594 This fixes build on Cygwin.
4595
3834887f 45962009-05-14 Pavel Roskin <proski@gnu.org>
4597
4598 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
4599 jump. This saves two bytes, so the typical case of 2 swapped
4600 drives would fit 32 bytes.
4601
8090fc01 46022009-05-13 Pavel Roskin <proski@gnu.org>
4603
ac963883 4604 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
4605 grub_uint32_t to avoid a warning.
4606
8090fc01 4607 * loader/i386/linux.c (allocate_pages): When assigning
4608 real_mode_mem, cast through grub_size_t to fix a warning. The
4609 code already makes sure that the value would fit a pointer.
4610 (grub_linux_setup_video): Cast render_target->data to
4611 grub_size_t to fix a warning.
4612
18f547ad 46132009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 4614
4615 * commands/i386/pc/drivemap.c: New file - implement drivemap
4616 command.
4617 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
4618 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
4619
6f6a8b28 46202009-05-13 Pavel Roskin <proski@gnu.org>
4621
4622 * util/i386/pc/grub-setup.c (setup): Remove unused variable
4623 embedding_area_exists.
4624
15fbf4c4 46252009-05-13 Robert Millan <rmh.grub@aybabtu.com>
4626
4627 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
4628 it easier to understand / work with.
59978c8a 4629 Improve warning messages for cases where there's no embedding area,
4630 or when it is too small (or core.img too large).
15fbf4c4 4631
238e871f 46322009-05-13 Pavel Roskin <proski@gnu.org>
4633
0ab3a9a4 4634 * loader/i386/pc/multiboot2.c: Add necessary includes for
4635 grub_multiboot2_real_boot().
4636
a2c8c5f8 4637 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
4638 PX record is always little-endian. We only need the lower 2
4639 bytes of the mode.
4640
faec96af 4641 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
4642 facilitate code reuse.
4643 (grub_cpio_mount): Use "struct head", not a char buffer. This
4644 fixes a warning reported by gcc 4.4.
4645
238e871f 4646 * kernel/disk.c (grub_disk_read): Use void pointer for the
4647 buffer.
4648 (grub_disk_write): Use const void pointer for the buffer.
4649 Adjust all callers. Remove unnecessary casts.
4650
901d2f0c 46512009-05-10 Robert Millan <rmh.grub@aybabtu.com>
4652
4653 * util/i386/pc/grub-install.in: Update copyright year.
4654
18f547ad 46552009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 4656
4657 gptsync
4658
4659 * commands/gptsync.c: new file
4660 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
4661 (gptsync_mod_SOURCES): new variable
4662 (gptsync_mod_CFLAGS): likewise
4663 (gptsync_mod_LDFLAGS): likewise
18f547ad 4664 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 4665 new definition
4666 (GRUB_PC_PARTITION_TYPE_HFS): likewise
4667 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
4668 * conf/i386-ieee1275.rmk: likewise
4669 * conf/i386-pc.rmk: likewise
4670 * conf/powerpc-ieee1275.rmk: likewise
4671
b4ba690a 46722009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4673
4674 Fixed grub-emu
4675
4676 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
4677 (grub_dl_ref): likewise
4678
317e1a44 46792009-05-08 Robert Millan <rmh.grub@aybabtu.com>
4680
4681 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
4682 split in two functions (one for msdos and one for gpt).
4683
041b8094 46842009-05-08 Pavel Roskin <proski@gnu.org>
4685
752473c2 4686 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
4687 not modified.
4688
041b8094 4689 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
4690 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
4691 Initialize them with -1. Add sanity check for bad1. Eliminate
4692 nerr variable.
4693
172800ce 46942009-05-08 David S. Miller <davem@davemloft.net>
4695
4696 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
4697
29aa5e81 46982009-05-06 Robert Millan <rmh.grub@aybabtu.com>
4699
4700 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 4701 existence.
29aa5e81 4702
96613b62 47032009-05-05 Felix Zielcke <fzielcke@z-51.de>
4704
4705 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 4706 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 4707
eef73c8a 47082009-05-05 David S. Miller <davem@davemloft.net>
4709
4710 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
4711
119494b5 47122009-05-05 Pavel Roskin <proski@gnu.org>
4713
4714 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
4715 of grub_dl_ref() and grub_dl_unref().
4716 * commands/parttool.c: Remove preprocessor conditionals around
4717 grub_dl_ref() and grub_dl_unref().
4718 * fs/affs.c: Likewise.
4719 * fs/afs.c: Likewise.
4720 * fs/cpio.c: Likewise.
4721 * fs/ext2.c: Likewise.
4722 * fs/fat.c: Likewise.
4723 * fs/hfs.c: Likewise.
4724 * fs/hfsplus.c: Likewise.
4725 * fs/iso9660.c: Likewise.
4726 * fs/jfs.c: Likewise.
4727 * fs/minix.c: Likewise.
4728 * fs/ntfs.c: Likewise.
4729 * fs/reiserfs.c: Likewise.
4730 * fs/sfs.c: Likewise.
4731 * fs/udf.c: Likewise.
4732 * fs/ufs.c: Likewise.
4733 * fs/xfs.c: Likewise.
4734 * include/grub/dl.h: Likewise.
4735 * loader/xnu.c: Likewise.
4736
de5fd76e 47372009-05-04 Pavel Roskin <proski@gnu.org>
4738
4739 * commands/acpi.c: Remove unused variable my_mod.
4740 * partmap/amiga.c: Likewise.
4741 * partmap/apple.c: Likewise.
4742 * partmap/gpt.c: Likewise.
4743 * partmap/pc.c: Likewise.
4744 * partmap/sun.c: Likewise.
4745 * term/gfxterm.c: Likewise.
4746 * term/i386/pc/vesafb.c: Likewise.
4747 * term/i386/pc/vga.c: Likewise.
4748
983598ad 47492009-05-04 David S. Miller <davem@davemloft.net>
4750
4751 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
4752 pointer args to grub_ieee1275_get_property().
4753
8aadec43 4754 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
4755
9554b15e 4756 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
4757 devices, and do not traverse down under controller nodes.
4758
67e23c90 4759 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
4760 (grub_ofdisk_open): Use it to un-escape "," characters.
4761 * kern/disk.c (find_part_sep): New.
4762 (grub_disk_open): Use it to find the first non-escaped ','
4763 character in the disk name.
4764 * util/ieee1275/devicemap.c (escape_of_path): New.
4765 (grub_util_emit_devicemap_entry): Use it.
4766 * util/sparc64/ieee1275/grub-install.in: Update script to
4767 strip partition specifiers properly by not triggering on
4768 '\' escaped ',' characters.
4769
74bfdd2f 47702009-05-04 Robert Millan <rmh.grub@aybabtu.com>
4771
4772 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
4773 to 0x300.
4774 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
4775 resolutions.
4776 (linux_vesafb_modes): Add a lot of additional modes to the list (based
4777 on documentation from Wikipedia).
4778
4241d2b1 47792009-05-04 Pavel Roskin <proski@gnu.org>
4780
4781 * disk/ata.c: Spelling fixes.
4782 * disk/raid.c: Likewise.
4783 * disk/usbms.c: Likewise.
4784 * disk/dmraid_nvidia.c: Likewise.
4785 * kern/ieee1275/openfw.c: Likewise.
4786 * kern/ieee1275/init.c: Likewise.
4787 * kern/ieee1275/cmain.c: Likewise.
4788 * boot/i386/pc/cdboot.S: Likewise.
4789 * video/readers/png.c: Likewise.
4790 * video/i386/pc/vbe.c: Likewise.
4791 * fs/udf.c: Likewise.
4792 * fs/hfs.c: Likewise.
4793 * fs/reiserfs.c: Likewise.
4794 * efiemu/runtime/efiemu.c: Likewise.
4795 * efiemu/main.c: Likewise.
4796 * efiemu/mm.c: Likewise.
4797 * include/grub/elf.h: Likewise.
4798 * include/grub/xnu.h: Likewise.
4799 * include/grub/usbdesc.h: Likewise.
4800 * include/grub/usb.h: Likewise.
4801 * include/grub/script_sh.h: Likewise.
4802 * include/grub/lib/LzmaEnc.h: Likewise.
4803 * include/grub/efiemu/efiemu.h: Likewise.
4804 * include/grub/command.h: Likewise.
4805 * normal/menu.c: Likewise.
4806 * normal/main.c: Likewise.
4807 * normal/datetime.c: Likewise.
4808 * bus/usb/uhci.c: Likewise.
4809 * mmap/i386/uppermem.c: Likewise.
4810 * mmap/mmap.c: Likewise.
4811 * commands/acpi.c: Likewise.
4812 * commands/test.c: Likewise.
4813 * partmap/apple.c: Likewise.
4814 * font/font.c: Likewise.
4815 * loader/sparc64/ieee1275/linux.c: Likewise.
4816 * loader/macho.c: Likewise.
4817 * loader/i386/bsd_trampoline.S: Likewise.
4818 * loader/i386/bsd.c: Likewise.
4819 * loader/xnu.c: Likewise.
4820 * term/i386/pc/vesafb.c: Likewise.
4821 * term/usb_keyboard.c: Likewise.
4822 * util/resolve.c: Likewise.
4823 * util/getroot.c: Likewise.
4824
0cfc0083 48252009-05-04 Felix Zielcke <fzielcke@z-51.de>
4826
4827 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
4828
7c1d00cd 48292009-05-04 Robert Millan <rmh.grub@aybabtu.com>
4830
4831 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
4832 build error.
4833
b01f0548 48342009-05-04 Robert Millan <rmh.grub@aybabtu.com>
4835
4836 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
4837 parameter only available on BIOS.
4838
ecc3eb22 48392009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4840
4841 Removed wrong semicolon in declaration
4842
4843 * grub/misc.h (grub_dprintf): remove semicolon
4844
112972a9 48452009-05-04 Robert Millan <rmh.grub@aybabtu.com>
4846
4847 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
4848 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
4849 is done by grub_cmd_linux() now).
4850 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
4851 restore video to text mode.
4852 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
4853 indicates lack of "vga=" parameter. "vga=0" is mapped to
4854 `GRUB_LINUX_VID_MODE_NORMAL'.
4855
afd5c115 48562009-05-04 Felix Zielcke <fzielcke@z-51.de>
4857
4858 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
4859 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
4860 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 4861 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 4862 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
4863 `grub_script.tab.c'.
4864
4865 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4866 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4867 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4868 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
4869 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4870
faa517ce 4871 * Makefile.in: Remove duplicated 2008 in Copyright line.
4872
ae0c0bdc 48732009-05-04 Robert Millan <rmh.grub@aybabtu.com>
4874
473d1e45 4875 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 4876 unconditionally.
4877 * include/grub/util/misc.h (grub_util_warn): New declaration.
4878
4879 * util/i386/pc/grub-install.in: Understand --force and pass it down
4880 to grub-setup.
4881
4882 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
4883 down to setup().
4884 (setup): Improve error messages and add warnings when requested to
4885 install in odd layouts. Refuse to install using blocklists unless
4886 --force was set.
4887
18f547ad 48882009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 4889
4890 * disk/raid.c (grub_raid_scan_device): Improve debug message.
4891
6d260daa 48922009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4893
4894 Updated copyright year
4895
4896 * fs/hfsplus.c: updated copyright year
18f547ad 4897
69f853f8 48982009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4899
4900 HFS+ UUID
4901
18f547ad 4902 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 4903 in the space previously used by unused3
4904 (grub_hfsplus_uuid): new function
4905 (grub_hfsplus_fs): added uuid field
4906
4c402e73 49072009-05-03 Pavel Roskin <proski@gnu.org>
4908
4909 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
4910 suppress warnings. It's no longer needed.
4911 * disk/host.c: Likewise.
4912 * disk/ata_pthru.c: Likewise.
4913 * disk/loopback.c: Likewise.
4914 * hook/datehook.c: Likewise.
4915 * parttool/pcpart.c: Likewise.
4916 * fs/i386/pc/pxe.c: Likewise.
4917 * fs/ntfscomp.c: Likewise.
4918 * efiemu/main.c: Likewise.
4919 * mmap/mmap.c: Likewise.
4920 * commands/crc.c: Likewise.
4921 * commands/hexdump.c: Likewise.
4922 * commands/hdparm.c: Likewise.
4923 * commands/acpi.c: Likewise.
4924 * commands/echo.c: Likewise.
4925 * commands/minicmd.c: Likewise.
4926 * commands/blocklist.c: Likewise.
4927 * commands/memrw.c: Likewise.
4928 * commands/loadenv.c: Likewise.
4929 * commands/usbtest.c: Likewise.
4930 * commands/lsmmap.c: Likewise.
4931 * commands/boot.c: Likewise.
4932 * commands/parttool.c: Likewise.
4933 * commands/configfile.c: Likewise.
4934 * commands/search.c: Likewise.
4935 * commands/ieee1275/suspend.c: Likewise.
4936 * commands/cat.c: Likewise.
4937 * commands/i386/pc/pxecmd.c: Likewise.
4938 * commands/i386/pc/play.c: Likewise.
4939 * commands/i386/pc/halt.c: Likewise.
4940 * commands/i386/pc/vbeinfo.c: Likewise.
4941 * commands/i386/pc/vbetest.c: Likewise.
4942 * commands/lspci.c: Likewise.
4943 * commands/date.c: Likewise.
4944 * commands/handler.c: Likewise.
4945 * commands/ls.c: Likewise.
4946 * commands/test.c: Likewise.
4947 * commands/cmp.c: Likewise.
4948 * commands/efi/loadbios.c: Likewise.
4949 * commands/efi/fixvideo.c: Likewise.
4950 * commands/halt.c: Likewise.
4951 * commands/help.c: Likewise.
4952 * commands/reboot.c: Likewise.
4953 * hello/hello.c: Likewise.
4954 * script/sh/main.c: Likewise.
4955 * loader/xnu.c: Likewise.
4956 * term/terminfo.c: Likewise.
4957 * term/i386/pc/serial.c: Likewise.
4958 * term/usb_keyboard.c: Likewise.
4959
515b5079 49602009-05-03 David S. Miller <davem@davemloft.net>
4961
4962 * normal/menu.c: Include grub/parser.h
4963
dfc31a22 49642009-05-03 Pavel Roskin <proski@gnu.org>
4965
2fee74f1 4966 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
4967 not char*.
4968 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
4969 Suggested by Javier Martín <lordhabbit@gmail.com>
4970
dfc31a22 4971 * util/i386/pc/grub-mkrescue.in: Allow for the case when
4972 efiemu??.o doesn't exist.
4973 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
4974 copying.
4975
18f547ad 49762009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 4977
4978 FreeBSD 64-bit support
4979
18f547ad 4980 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 4981 and loader/i386/bsd_trampoline.S
4982 (bsd_mod_ASFLAGS): new variable
4983 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
4984 (FREEBSD_MODTYPE_KERNEL64): likewise
4985 (grub_bsd64_trampoline_start): likewise
4986 (grub_bsd64_trampoline_end): likewise
4987 (grub_bsd64_trampoline_selfjump): likewise
4988 (grub_bsd64_trampoline_gdt): likewise
4989 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
4990 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
4991 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
4992 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 4993 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 4994 of "attrib" member
4995 * loader/i386/bsd_pagetable.c: new file
4996 * loader/i386/bsd_trampoline.S: likewise
4997 * loader/i386/bsd.c (ALIGN_QWORD): new macro
4998 (ALIGN_VAR): likewise
4999 (entry_hi): new variable
5000 (kern_end_mdofs): likewise
5001 (is_64bit): likewise
5002 (grub_freebsd_add_meta): use ALIGN_VAR
5003 (grub_e820_mmap): new declaration
5004 (grub_freebsd_add_mmap): new function
5005 (grub_freebsd_add_meta_module): support 64 bit kernels
5006 (grub_freebsd_list_modules): use ALIGN_VAR
5007 (gdt_descriptor): new declaration
5008 (grub_freebsd_boot): support 64 bit kernels
5009 (grub_bsd_elf64_hook): new function
5010 (grub_bsd_load_elf): support elf64
5011
038c5720 50122009-05-03 Bean <bean123ch@gmail.com>
5013
5014 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
5015 after we get the result of if statement.
5016
fc45fb58 50172009-05-03 Bean <bean123ch@gmail.com>
5018
5019 * Makefile.in (enable_efiemu): New variable.
5020
5021 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
5022 set.
5023 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
5024 path.
5025 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
5026 path, add -mno-red-zone option.
5027 (efiemu64_s.o): Likewise.
5028 (efiemu64.o): Use macro $^ for source file.
5029
5030 * configure.ac (--enable-efiemu): New option.
5031
bbee0f2b 50322009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
5033
5034 xnu support
5035
5036 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
5037 (pkglib_MODULES): add xnu.mod
5038 (xnu_mod_SOURCES): new variable
5039 (xnu_mod_CFLAGS): likewise
5040 (xnu_mod_LDFLAGS): likewise
5041 (xnu_mod_ASFLAGS): likewise
5042 * conf/i386-pc.rmk: likewise
5043 * conf/x86_64-efi.rmk: likewise
7dd4a573 5044 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 5045 new declaration
5046 * include/grub/i386/macho.h: new file
5047 * include/grub/i386/xnu.h: likewise
5048 * include/grub/macho.h: likewise
5049 * include/grub/machoload.h: likewise
5050 * include/grub/x86_64/macho.h: likewise
5051 * include/grub/x86_64/xnu.h: likewise
5052 * include/grub/xnu.h: likewise
5053 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
5054 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
5055 * loader/i386/efi/xnu.c: new file
5056 * loader/i386/pc/xnu.c: likewise
5057 * loader/i386/xnu.c: likewise
5058 * loader/i386/xnu_helper.S: likewise
5059 * loader/macho.c: likewise
5060 * loader/xnu.c: likewise
5061 * loader/xnu_resume.c: likewise
5062 * util/grub-dumpdevtree: likewise
5063 * include/grub/i386/pit.h: include grub/err.h
5064 (grub_pit_wait): export
5065 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 5066
5caf964d 50672009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5068
5069 Efiemu
7dd4a573 5070
5caf964d 5071 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 5072 _linux_efi, linux_efi.
5073 new files in grub-emu
5caf964d 5074 new targets efiemu32.o and efiemu64.o
5075 * loader/linux_normal_efiemu.c: likewise
5076 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 5077 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 5078 files to copy
5079 * include/grub/autoefi.h: new file
7dd4a573 5080 * include/grub/i386/efiemu.h: likewise
5caf964d 5081 * include/grub/i386/pc/efiemu.h: likewise
5082 * include/grub/efi/api.h: add LL suffix when necessary
5083 new definitions relating to tables
5084 * include/grub/efiemu/efiemu.h: new file
5085 * include/grub/efiemu/runtime.h: likewise
5086 * efiemu/prepare.c: likewise
5087 * efiemu/loadcore_common.c: likewise
5088 * efiemu/loadcore64.c: likewise
5089 * efiemu/runtime/efiemu.sh: likewise
5090 * efiemu/runtime/efiemu.S: likewise
5091 * efiemu/runtime/efiemu.c: likewise
5092 * efiemu/runtime/config.h: likewise
5093 * efiemu/prepare32.c: likewise
5094 * efiemu/main.c: likewise
5095 * efiemu/modules/pnvram.c: likewise
5096 * efiemu/modules/i386: likewise
5097 * efiemu/modules/i386/pc: likewise
5098 * efiemu/modules/acpi.c: likewise
5099 * efiemu/i386/pc/cfgtables.c: likewise
5100 * efiemu/i386/loadcore64.c: likewise
5101 * efiemu/i386/loadcore32.c: likewise
5102 * efiemu/prepare64.c: likewise
5103 * efiemu/loadcore.c: likewise
5104 * efiemu/symbols.c: likewise
5105 * efiemu/mm.c: likewise
5106 * efiemu/loadcore32.c: likewise
7dd4a573 5107
51082009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 5109
5110 ACPI spoofing
5111
5112 * commands/acpi.c: new file
5113 * commands/i386/pc/acpi.c: likewise
5114 * commands/efi/acpi.c: likewise
5115 * include/grub/acpi.h: likewise
5116 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
5117 (acpi_mod_SOURCES): new variable
5118 (acpi_mod_CFLAGS): likewise
5119 (acpi_mod_LDFLAGS): likewise
5120 * conf/i386-efi.rmk: likewise
5121 * conf/x86_64-efi.rmk: likewise
5122
7dd4a573 51232009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 5124
5125 Missing part from mmap patch
5126
5127 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
5128 (grub_mmap_unregister)
5129 (grub_mmap_free_and_unregister): use grub_mmap_register
5130
7dd4a573 51312009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 5132
5133 Mmap services
5134
5135 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
5136 * loader/i386/linux.c (find_mmap_size): likewise
5137 (allocate_pages): likewise
5138 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
5139 (grub_fill_multiboot_mmap): likewise
5140 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
5141 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
5142 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
5143 (OPENBSD_MMAP_RESERVED): likewise
5144 * include/grub/i386/pc/memory.h: include grub/memory.h
5145 (grub_lower_mem): removed
5146 (grub_upper_mem): likewise
5147 (GRUB_MACHINE_MEMORY_ACPI): new definition
5148 (GRUB_MACHINE_MEMORY_NVS): likewise
5149 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
5150 (GRUB_MACHINE_MEMORY_HOLE): likewise
5151 (grub_machine_mmap_register): likewise
5152 (grub_machine_mmap_unregister): likewise
5153 (grub_machine_get_upper): likewise
5154 (grub_machine_get_lower): likewise
5155 (grub_machine_get_post64): likewise
5156 * include/grub/i386/efi/memory.h: new file
5157 * include/grub/x86_64/efi/memory.h: likewise
5158 * include/grub/efi/memory.h: likewise
5159 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
5160 (mmap_mod_SOURCES): new variable
5161 (mmap_mod_LDFLAGS): likewise
5162 (mmap_mod_ASFLAGS): likewise
5163 * conf/i386-coreboot.rmk: likewise
5164 * conf/i386-ieee1275.rmk: likewise
5165 * conf/i386-efi.rmk: likewise
5166 * conf/x86_64-efi.rmk: likewise
5167 * include/grub/types.h (UINT_TO_PTR): new macro
5168 (PTR_TO_UINT32): likewise
5169 (PTR_TO_UINT64): likewise
5170 * include/grub/memory.h: new file
5171 * mmap/i386/pc/mmap.c: likewise
5172 * mmap/i386/pc/mmap_helper.S: likewise
5173 * mmap/i386/uppermem.c: likewise
5174 * mmap/mmap.c: likewise
5175 * mmap/efi/mmap.c: likewise
7dd4a573 5176 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 5177 grub_upper_mem
5178 * kern/i386/pc/init.c (grub_lower_mem): removed variable
5179 (grub_upper_mem): likewise
5180 (grub_machine_init): don't use grub_upper_mem,
5181 make grub_lower_mem local
5182 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
5183 grub_mmap_iterate and grub_mmap_get_upper
5184 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
5185
d558e6b5 51862009-05-02 Bean <bean123ch@gmail.com>
5187
5188 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
5189 script/sh/parser.y.
5190 (pkglib_MODULES): Add normal.mod and sh.mod.
5191 (normal_SOURCES): New variable.
5192 (normal_mod_CFLAGS): Likewise.
5193 (normal_mod_LDFLAGS): Likewise.
5194 (sh_mod_SOURCES): Likewise.
5195 (sh_mod_CFLAGS): Likewise.
5196 (sh_mod_LDFLAGS): Likewise.
5197
5198 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
5199 script/sh/lexer.c_DEPENDENCIES.
5200 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
5201 kern/rescue_reader.c and kern/rescue_parser.c.
5202 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
5203 (grub_emu_SOURCES): Change source files.
5204 (pkglib_MODULES): Remove normal.mod.
5205 (normal_SOURCES): Removed.
5206 (normal_mod_CFLAGS): Likewise.
5207 (normal_mod_LDFLAGS): Likewise.
5208 * conf/i386-coreboot.rmk: Likewise.
5209 * conf/i386-efi.rmk: Likewise.
5210 * conf/i386-ieee1276.rmk: Likewise.
5211 * conf/powerpc-ieee1275.rmk: Likewise.
5212 * conf/sparc64-ieee1275.rmk: Likewise.
5213 * conf/x86_64-efi.rmk: Likewise.
5214
5215 * include/grub/command.h (grub_command_execute): New inline function.
5216
5217 * include/grub/menu.h (grub_menu_entry): Removed commands field.
5218
5219 * include/grub/normal.h: Remove <grub/setjmp.h>.
5220 (grub_fs_module_list): Moved to normal/autofs.c.
5221 (grub_exit_env): Removed.
5222 (grub_command_execute): Likewise.
5223 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
5224 parameter script.
5225 (read_command_list): New function declaration.
5226 (read_fs_list): Likewise.
5227
5228 * include/parser.h: Include <grub/reader.h>.
5229 (grub_parser_split_cmdline): Change type of getline parameter.
5230 (grub_parser): New structure.
5231 (grub_parser_class): New variable.
5232 (grub_parser_execute): New function declaration.
5233 (grub_register_rescue_parser): Likewise.
5234 (grub_parser_register): New inline function.
5235 (grub_parser_unregister): Likewise.
5236 (grub_parser_get_current): Likewise.
5237 (grub_parser_set_current): Likewise.
5238
5239 * include/grub/reader.h: New file.
5240 * kern/reader.c: Likewise.
5241 * kern/rescue_parser.c: Likewise.
5242 * kern/rescue_reader.c: Likewise.
5243 * normal/autofs.c: Likewise.
5244 * normal/dyncmd.c: Likewise.
5245
5246 * include/grub/rescue.h: Removed.
5247 * normal/command.h: Likewise.
5248
5249 * include/grub/script.h: Moved to ...
5250 * include/grub/script_sh.h: ... Moved here.
5251 * normal/execute.c: Moved to ...
5252 * script/sh/execute.c: ... Moved here.
5253 * normal/function.c: Moved to ...
5254 * script/sh/function.c: ... Moved here.
5255 * normal/lexer.c: Moved to ...
5256 * script/sh/lexer.c: ... Moved here.
5257 * normal/parser.y: Moved to ...
5258 * script/sh/parser.y: ... Moved here.
5259 * normal/script.c: Moved to ...
5260 * script/sh/script.c: ... Moved here.
5261
5262 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
5263 <grub/reader.h>.
5264 (grub_exit_env): Removed.
5265 (fs_module_list): Moved to normal/autofs.c.
5266 (grub_file_getline): Don't handle comment here.
5267 (free_menu): Skip removed field entry->commands.
5268 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
5269 script parameter.
5270 (read_config_file): Removed nested parameter, change getline function.
5271 (grub_enter_normal_mode): Removed.
5272 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
5273 (read_command_list): Likewise.
5274 (autoload_fs_module): Moved to normal/autofs.c.
5275 (read_fs_list): Likewise.
5276 (reader_nested): New variable.
5277 (grub_normal_execute): Run parser.sh to switch to sh parser.
5278 (grub_cmd_rescue): Removed.
5279 (cmd_normal): Removed.
5280 (grub_cmd_normal): Unregister itself at the beginning. Don't register
5281 rescue command.
5282 (grub_cmdline_run): New function.
5283 (grub_normal_reader_init): Likewise.
5284 (grub_normal_read_line): Likewise.
5285 (grub_env_write_pager): Likewise.
5286 (cmdline): New variable.
5287 (grub_normal_reader): Likewise.
5288 (GRUB_MOD_INIT): Register normal reader and set as current, register
5289 pager hook, register normal command with grub_register_command_prio,
5290 so that it won't show up in command.lst.
5291 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
5292 grub_fs_autoload_hook.
5293
5294 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
5295 (grub_menu_execute_entry): Replace grub_script_execute with
5296 grub_parser_execute, change parameter to grub_command_execute.
5297
5298 * normal/menu_text.c: Remove <grub/script.h>.
5299
5300 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
5301 and <grub/parser.h>.
5302 (run): Change editor_getline to use new parser interface. Change
5303 parameter to grub_command_execute.
5304
5305 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
5306 <grub/reader.h> and <grub/parser.h>.
5307 (grub_load_normal_mode): Execute normal command.
5308 (grub_main): Call grub_register_core_commands,
5309 grub_register_rescue_parser and grub_register_rescue_reader, use
5310 grub_reader_loop to enter input loop.
5311
7dd4a573 5312 * kern/parser.c (grub_parser_split_cmdline): Change type of
5313 getline parameter.
d558e6b5 5314 (grub_parser_class): New variable.
5315 (grub_parser_execute): New function.
5316
5317 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
5318 * loader/multiboot2.c: Likewise.
5319 * loader/sparc64/ieee1275/linux.c: Likewise.
5320
5321 * util/grub-emu.c (read_command_list): New dummy function.
5322
18db813d 53232009-05-02 Robert Millan <rmh.grub@aybabtu.com>
5324
5325 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
5326 count to 16 for CCISS and IDA.
5327
6c67de15 53282009-05-02 Robert Millan <rmh.grub@aybabtu.com>
5329
5330 * normal/menu_text.c (grub_wait_after_message): Print a newline
5331 after waiting for user input.
5332
5333 * loader/i386/linux.c: Include `<grub/normal.h>'.
5334 (grub_cmd_linux): Improve the error message about `ask' mode, by
5335 waiting for user input so it's not missed (we can do this, since
5336 user requested interaction).
5337
d9dc87b0 53382009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5339
5340 Added missing lst to grub-mkrescue
5341
5342 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
5343 and ${input_dir}/parttool.lst
5344
ac8a2baa 53452009-04-30 David S. Miller <davem@davemloft.net>
5346
ad22a610 5347 * util/hostdisk.c (device_is_wholedisk): New function.
5348 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
5349 zero only if device_is_wholedisk() returns true.
5350
6966215d 5351 * util/hostdisk.c (convert_system_partition_to_system_disk):
5352 Handle virtual disk devices named /dev/vdiskX as found on sparc
5353 and powerpc.
5354
ac8a2baa 5355 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
5356 lettered partition specifier is found, convert to numbered.
5357
979b4fb4 53582009-04-29 David S. Miller <davem@davemloft.net>
5359
e2bf39b2 5360 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
5361 * include/grub/sparc64/ieee1275/memory.h: Likewise.
5362
3c64e104 5363 * normal/command.c: Add missing newline at end of file.
5364
979b4fb4 5365 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
5366 warnings.
5367 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
5368 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
5369 grub_ofdisk_read): Likewise, and deal similarly with the fact that
5370 ihandles have a 32-bit type but need to be stored in a "void *".
5371
136d9f82 53722009-04-28 Pavel Roskin <proski@gnu.org>
5373
9459c306 5374 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
5375 not disk. Adjust all dependencies.
2e08a26a 5376 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 5377 grub_disk_close().
5378
136d9f82 5379 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
5380 parent's partition, don't copy it by reference, as it gets freed
5381 on close.
5382
7dd4a573 53832009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 5384
5385 Preboot hooks support
5386
5387 * commands/boot.c (struct grub_preboot_t): new declaration
5388 (preboots_head): new variable
5389 (preboots_tail): likewise
5390 (grub_loader_register_preboot_hook): new function
5391 (grub_loader_unregister_preboot_hook): likewise
5392 (grub_loader_set): launch preboot hooks
5393 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
5394 (grub_loader_register_preboot_hook): new declaration
5395 (grub_loader_unregister_preboot_hook): likewise
5396
5af922b5 53972009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5398
5399 Warning fix
5400
7dd4a573 5401 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 5402 calling grub_dprintf
5403
a5562c30 54042009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5405
5406 Bug and warning fixes
5407
7dd4a573 5408 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 5409 declaration
5410 * commands/test.c (test_parse): fixed bug with file tests and corrected
5411 declaration of find_file
5412
4006f85c 54132009-04-26 Pavel Roskin <proski@gnu.org>
5414
5415 * Makefile.in: Don't install empty manual pages if help2man is
5416 missing. Use help2man option for output, not shell redirection.
5417
5c77c3de 54182009-04-26 David S. Miller <davem@davemloft.net>
5419
5420 * util/grub-mkdevicemap.c (make_device_map): Add missing
5421 NESTED_FUNC_ATTR to process_device().
5422
033b10a8 54232009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5424
5425 Test command
5426
5427 * commands/test.c: rewritten to use bash-like test
5428
e4343593 54292009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5430
5431 Parttool autoloading and improvements
5432
7dd4a573 5433 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 5434 (parttool.lst): new target
5435 * genmk.rb: generate parttool-*
5436 (CLEANFILES): add #{parttool}
5437 (PARTTOOLFILES): new variable
5438 * genparttoollist.sh: new file
7dd4a573 5439 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 5440 (grub_pcpart_type): likewise
5441 * commands/parttool.c (helpmsg): new variable
5442 (grub_cmd_parttool): output help if not enough arguments are supplied
5443 autoload modules
5444 (GRUB_MOD_INIT(parttool)): use helpmsg
5445
0d312500 54462009-04-24 David S. Miller <davem@davemloft.net>
5447
7dd4a573 5448 Avoiding opening same device multiple times in device iterator.
0d312500 5449
5450 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 5451 and use it to build a list of partitions in iterate_disk() and
0d312500 5452 iterate_partition().
5453
ac20caff 5454 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
5455 on disk->data.
5456
0dcf7495 5457 * disk/ieee1275/nand.c (grub_nand_iterate): Return
5458 grub_devalias_iterate() result instead of unconditional 0.
5459 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
5460 Also, capture hook return value, either directly or via
5461 grub_children_iterate(), and propagate to caller.
5462 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
5463 grub_children_iterate): Return value is now 'int' instead of
5464 'grub_err_t'.
5465 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
5466 like a proper iterator, stopping when hooks return non-zero.
5467 (grub_devalias_iterate): Likewise.
5468
c8c08833 54692009-04-23 David S. Miller <davem@davemloft.net>
5470
5471 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
5472
f01005a8 54732009-04-22 David S. Miller <davem@davemloft.net>
5474
5475 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
5476 is larger than address_cells, use that value for address_cells too.
5477
4e8269da 5478 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
5479 IEEE1275_MAX_PATH_LEN): Define.
5480 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
5481 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
5482 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
5483 'devtype'. Explicitly NULL terminate devalias expansion.
5484
a1447506 5485 * util/sparc64/ieee1275/misc.c: New file.
5486 * util/sparc64/ieee1275/grub-setup.c: New file.
5487 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
5488 * util/sparc64/ieee1275/grub-mkimage.c: New file.
5489 * util/sparc64/ieee1275/grub-install.in: New file.
5490 * util/ieee1275/ofpath.c: New file.
5491 * util/ieee1275/devicemap.c: New file.
5492 * util/devicemap.c: New file.
5493 * util/deviceiter.c: New file.
5494 * kern/sparc64/ieee1275/init.c: New file.
5495 * include/grub/util/ofpath.h: New file.
5496 * include/grub/util/deviceiter.h: New file.
5497 * util/grub-mkdevicemap.c: Include deviceiter.h.
5498 Implement using grub_util_emit_devicemap_entry and
5499 grub_util_iterate_devices.
5500 * conf/i386-corebook.rmk: Build util/deviceiter.c and
5501 util/devicemap.c into grub-mkdevicemap
5502 * conf/i386-efi.rmk: Likewise.
5503 * conf/i386-ieee1275.rmk: Likewise.
5504 * conf/i386-pc.rmk: Likewise.
5505 * conf/powerpc-ieee1275.rmk: Likewise.
5506 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
5507 images and installation utilities. Build kernel as image
5508 instead of as elf binary. Use common rules as much as possible.
5509
7dd4a573 55102009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 5511
5512 Correct GPT definition
5513
7dd4a573 5514 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 5515 of "attrib" member
5516
c6c5219f 55172009-04-19 Felix Zielcke <fzielcke@z-51.de>
5518
5519 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
5520
0552ff9f 55212009-04-19 David S. Miller <davem@davemloft.net>
5522
5523 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
5524 (grub_rescue_cmd_linux): Rename to...
5525 (grub_cmd_linux): and fix prototype.
5526 (grub_rescue_cmd_initrd): Rename to...
5527 (grub_cmd_initrd): and fix prototype.
5528 (cmd_linux, cmd_initrd): New.
5529 (GRUB_MOD_INIT(linux)): Use grub_register_command().
5530 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
5531
d1a282fc 55322009-04-17 Pavel Roskin <proski@gnu.org>
5533
07c5039f 5534 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
5535 format.
5536 (grub_ohci_transfer): Likewise.
5537
b012002d 5538 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
5539
1bc09c35 5540 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
5541 return without a value. Fix inconsistent indentation.
5542
e0ff9126 5543 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
5544 match struct grub_fs.
5545
d1a282fc 5546 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
5547 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
5548 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
5549 * commands/lspci.c (grub_lspci_iter): Likewise.
5550
a96df3f2 55512009-04-16 Bean <bean123ch@gmail.com>
5552
5553 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
5554 value.
5555
41bb0fe9 55562009-04-15 Pavel Roskin <proski@gnu.org>
5557
5558 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
5559 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
5560 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
5561 definitions.
5562
596c6970 55632009-04-15 Felix Zielcke <fzielcke@z-51.de>
5564
5565 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 5566 that no multiple data or metadata areas are supported and `Unknown
596c6970 5567 metadata header'.
5568
7dd4a573 55692009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 5570
5571 Move loader out of the kernel
5572
5573 * kern/loader.c: moved to ...
5574 * commands/boot.c: ... moved here
5575 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
5576 * commands/boot.c (grub_cmd_boot): moved here. All users updated
5577 * include/grub/kernel.h (grub_machine_fini): export
5578 * include/grub/loader.h (grub_loader_is_loaded): update declaration
5579 (grub_loader_set): likewise
5580 (grub_loader_unset): likewise
5581 (grub_loader_boot): likewise
5582 * conf/common.rmk: new module boot.mod
5583 (pkglib_MODULES): add boot.mod
5584 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
5585 (grub_emu_SOURCES): likewise
5586 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
5587 (grub_emu_SOURCES): likewise
5588 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
5589 (grub_emu_SOURCES): likewise
5590 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
5591 (grub_emu_SOURCES): likewise
5592 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
5593 (grub_emu_SOURCES): likewise
7dd4a573 5594 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
5595 (grub_emu_SOURCES): likewise
0d5d5653 5596 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 5597 (grub_emu_SOURCES): likewise
0d5d5653 5598
7dd4a573 55992009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 5600
5601 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 5602
5999d619 5603 * kern/misc.c (grub_itoa): Removed function
5604 (grub_ltoa): likewise
5605 (grub_vsprintf): use grub_lltoa
5606
7dd4a573 56072009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 5608
5609 Restore grub-emu
5610
5611 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
5612 * conf/i386-coreboot.rmk: likewise
5613 * conf/i386-ieee1275.rmk: likewise
5614 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 5615
20318222 56162009-04-15 Felix Zielcke <fzielcke@z-51.de>
5617
5618 * INSTALL: Add that `./autogen.sh' needs to be run before
5619 `./configure.'.
5620
d05f0df3 56212009-04-14 Bean <bean123ch@gmail.com>
5622
5623 * Makefile.in (pkglib_DATA): Add handler.lst.
5624 (handler.lst): New rule.
5625
5626 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
5627 * conf/i386-coreboot.rmk: Likewise.
5628 * conf/i386-ieee1275.rmk: Likewise.
5629 * conf/i386-efi.rmk: Likewise.
5630 * conf/x86_64-efi.rmk: Likewise.
5631 * conf/powerpc-ieee1275.rmk: Likewise.
5632 * conf/sparc64-ieee1275.rmk: Likewise.
5633
5634 * genhandlerlist.sh: New file.
5635
5636 * genmk.rb: Add rules to generate handler.lst.
5637
5638 * include/grub/normal.h (grub_file_getline): New function definition.
5639 (read_handler_list): Likewise.
5640 (free_handler_list): Likewise.
5641
5642 * include/grub/term.h (grub_term_register_input): Add name parameter
5643 for auto generation of handler.lst.
5644 (grub_term_register_output): Likewise.
5645
5646 * normal/handler.c: New file.
5647
5648 * normal/main.c (get_line): Renamed to grub_file_getline.
5649 (read_config_file): Use the newly renamed grub_file_getline.
5650 (read_command_list): Likewise.
5651 (read_fs_list): Likewise.
5652 (grub_normal_execute): Call read_handler_list to parse handler.lst.
5653 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
5654
5655 * term/efi/console.c (grub_console_init): Add name parameter for auto
5656 generation of handler.lst.
5657 * term/gfxterm.c: Likewise.
5658 * term/i386/pc/at_keyboard.c: Likewise.
5659 * term/i386/pc/console.c: Likewise.
5660 * term/i386/pc/serial.c: Likewise.
5661 * term/i386/pc/vesafb.c: Likewise.
5662 * term/i386/pc/vga.c: Likewise.
5663 * term/i386/pc/vga_text.c: Likewise.
5664 * term/ieee1275/ofconsole.c: Likewise.
5665 * term/usb_keyboard.c: Likewise.
5666
33c846be 56672009-04-14 Bean <bean123ch@gmail.com>
5668
5669 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
5670 properly with null character.
5671
4484e01e 56722009-04-14 Felix Zielcke <fzielcke@z-51.de>
5673
5674 * configure: Remove.
5675 * config.h.in: Likewise.
f93d668e 5676 * stamp-h.in: Likewise.
4484e01e 5677 * DISTLIST: Likewise.
5678 * conf/common.mk: Likewise.
5679 * conf/i386-coreboot.mk: Likewise.
5680 * conf/i386-efi.mk: Likewise.
5681 * conf/i386-ieee1275.mk: Likewise.
5682 * conf/i386.mk: Likewise.
5683 * conf/i386-pc.mk: Likewise.
5684 * conf/powerpc-ieee1275.mk: Likewise.
5685 * conf/sparc64-ieee1275.mk: Likewise.
5686 * conf/x86_64-efi.mk: Likewise.
5687
5688 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
5689 develop on GRUB.
5690
7dd4a573 56912009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 5692 David S. Miller <davem@davemloft.net>
5693
5694 * util/hostdisk.c (make_device_name): Fix buffer length
5695 calculations.
5696
e25b5a8c 56972009-04-14 Felix Zielcke <fzielcke@z-51.de>
5698
5699 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
5700 <sys/param.h> and <sys/sysctl.h>.
5701 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
5702 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
5703 opening the device and reset them afterwards.
5704
1f1f580c 57052009-04-13 Pavel Roskin <proski@gnu.org>
5706
5707 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
5708 Reported by John Stanley <jpsinthemix@verizon.net>
5709
7ebc2d6b 57102009-04-13 Robert Millan <rmh@aybabtu.com>
5711
5712 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 5713 that name for menuentries when appropriate.
7ebc2d6b 5714
d8ba3667 57152009-04-13 Felix Zielcke <fzielcke@z-51.de>
5716
5717 * util/grub.d/10_freebsd.in: Add a missing `fi'.
5718
cba416eb 57192009-04-13 Robert Millan <rmh@aybabtu.com>
5720
5721 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
5722 to Linux, simply abort telling the user it's no longer supported.
5723
a547a745 57242009-04-13 Felix Zielcke <fzielcke@z-51.de>
5725
5726 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 5727 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 5728 `freebsd_loadenv' only when devices.hints exist.
5729
232a769c 57302009-04-13 Pavel Roskin <proski@gnu.org>
5731
5732 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
5733
c3012039 57342009-04-13 Felix Zielcke <fzielcke@z-51.de>
5735
5736 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
5737 partition number.
5738 (grub_drive): Likewise.
5739
234022fe 57402009-04-13 David S. Miller <davem@davemloft.net>
5741
5742 * kern/sparc64/ieee1275/ieee1275.c: New file.
5743 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
5744 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
5745 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
5746 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
5747 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
5748 grub_ieee1275_alloc_physmem): Declare new exported functions.
5749
d8e1836c 5750 * include/grub/sparc64/ieee1275/loader.h: New file.
5751 * include/grub/sparc64/ieee1275/memory.h: Likewise.
5752 * include/grub/sparc64/kernel.h: Likewise.
5753 * loader/sparc64/ieee1275/linux.c: Likewise.
5754
96bd81ec 5755 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
5756 (grub_fstest_SOURCES): Likewise.
5757
6a4737e5 5758 * util/hostdisk.c (make_device_name): Do not make any assumptions
5759 about the length of drive names.
5760
1d7a72fd 5761 * kern/dl.c (grub_dl_load_file): Close file immediately when
5762 we are done using it.
5763
56bc2471 57642009-04-12 David S. Miller <davem@davemloft.net>
5765
5766 * kern/misc.c (grub_ltoa): Fix cast when handling negative
5767 values. Noticed by Pavel Roskin.
5768
df38d0bb 5769 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
5770 target compiler.
7dd4a573 5771
e382e93a 5772 * genmk.rb: Add more flexible image type specification, also
5773 pass --strip-unneeded to objcopy.
5774 * conf/i386-pc.rmk: Use *_FORMAT.
5775 * conf/i386-pc.mk: Rebuilt.
5776
f5dbbca9 5777 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
5778 (OFDISK_HASH_SZ): Define.
5779 (ofdisk_hash): New hash table.
5780 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
5781 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
5782 instead of device phandle which is not unique.
5783
91c88b12 5784 * kern/sparc64/ieee1275/init.c: Delete, replace with...
5785 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
5786 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
5787 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
5788 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
5789 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
5790 GRUB_KERNEL_MACHINE_DATA_END): Define.
5791 (grub_kernel_image_size, grub_total_module_size): Declare.
5792
5b5d4aa5 57932009-04-12 Pavel Roskin <proski@gnu.org>
5794
7dd4a573 5795 * configure.ac: Change the logic when we check for target tools.
5796 Do it when the target is specified and it's different from the
5797 specified value of the host.
5b5d4aa5 5798
c91e1793 57992009-04-11 Felix Zielcke <fzielcke@z-51.de>
5800
5801 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
5802 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
5803 GNU/kFreeBSD. Check if a device is a character device. Use
5804 DIOCGMEDIASIZE to get the size.
5805 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
5806 support for GNU/kFreeBSD.
5807 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
5808 is a character device instead of a block device. Add support for
5809 FreeBSD device names.
5810
5811 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
5812 is a character device instead of a block device.
5813
5814 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
5815 is a character device instead of a block device.
5816
b1ac8644 58172009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
5818
5819 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
5820 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
5821 FreeBSD. Check if a device is a character device. Use
5822 DIOCGMEDIASIZE to get the size.
5823 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
5824 support for FreeBSD.
5825 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
5826 is a character device instead of a block device. Add support for
5827 FreeBSD device names.
5828
5829 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
5830 a character device instead of a block device.
5831 (grub_util_check_char_device): New function.
5832
5833 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
5834 a character device instead of a block device.
5835
5836 * include/grub/util/getroot.h (grub_util_check_char_device): New
5837 prototype.
5838
a3f7515a 58392009-04-11 David S. Miller <davem@davemloft.net>
5840
5841 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
5842 static libgcc.
5843 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
5844 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
5845 function, if present.
5846 (__bswapdi2): Likewise.
5847
0d44993d 5848 * include/grub/sparc64/ieee1275/boot.h: New file.
5849 * boot/sparc64/ieee1275/boot.S: Likewise.
5850 * boot/sparc64/ieee1275/diskboot.S: Likewise.
5851
ed3d2bc2 5852 * kern/misc.c (grub_ltoa): New function.
5853 (grub_vsprintf): Use it to format 'long' integers.
5854
d3bfb59c 58552009-04-10 David S. Miller <davem@davemloft.net>
5856
5857 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
5858 slots are of type grub_ieee1275_cell_t.
5859 (grub_nand_read): Likewise.
5860 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
5861 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
5862 macros are used to compare values in arg/ret block of the call.
5863 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
5864 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
5865 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
5866 grub_ieee1275_instance_to_path, grub_ieee1275_write,
5867 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
5868 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
5869 grub_ieee1275_close, grub_ieee1275_set_property,
5870 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
5871 grub_ieee1275_cell_t.
5872 * kern/ieee1275/openfw.c (grub_map): Likewise.
5873 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
5874 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
5875
450e2238 5876 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
5877 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
5878 (grub_devalias_iterate): Likewise.
5879
7dd4a573 58802009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 5881
5882 UFS improvements
5883
5884 * fs/ufs.c (INODE_NBLOCKS): new definition
5885 (struct grub_ufs_dirent): added fields for non-BSD dirents
5886 (grub_ufs_get_file_block): fixed double indirect handling
5887 (grub_ufs_lookup_symlink): use more robust way to determine whether
5888 symlink is inline
5889 (grub_ufs_find_file): support for non-BSD dirents
5890 (grub_ufs_dir): support for non-BSD dirents
5891
e7e6862a 58922009-04-10 Bean <bean123ch@gnail.com>
5893
5894 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
5895 attribute, otherwise the size would be wrong for i386 platform.
5896
5897 * include/grub/pci.h (grub_pci_read_word): New inline function.
5898 (grub_pci_read_byte): Likewise.
5899 (grub_pci_write): Likewise.
5900 (grub_pci_write_word): Likewise.
5901 (grub_pci_write_byte): Likewise.
5902
5903 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
5904
5905 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
5906 (find_framebuf): Scan pci to locate the frame buffer address.
5907
5908 * commands/efi/fixvideo.c: New file.
5909
5910 * commands/efi/loadbios.c: Likewise.
5911
5912 * commands/memrw.c: Likewise.
5913
5914 * util/grub-dumpbios.in: Likewise.
5915
5916 * conf/common.rmk (grub-dumpbios): New utility.
5917 (pkglib_MODULES): New module memrw.mod.
5918 (memrw_mod_SOURCE): New macro.
5919 (memrw_mod_CFLAGS): Likewise.
5920 (memrw_mod_LDFLAGS): Likewise.
5921
7dd4a573 5922 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 5923 fixvideo.mod.
5924 (loadbios_mod_SOURCE): New macro.
5925 (loadbios_mod_CFLAGS): Likewise.
5926 (loadbios_mod_LDFLAGS): Likewise.
5927 (fixvideo_mod_SOURCE): Likewise.
5928 (fixvideo_mod_CFLAGS): Likewise.
5929 (fixvideo_mod_LDFLAGS): Likewise.
5930
7dd4a573 5931 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 5932 fixvideo.mod.
5933 (loadbios_mod_SOURCE): New macro.
5934 (loadbios_mod_CFLAGS): Likewise.
5935 (loadbios_mod_LDFLAGS): Likewise.
5936 (fixvideo_mod_SOURCE): Likewise.
5937 (fixvideo_mod_CFLAGS): Likewise.
5938 (fixvideo_mod_LDFLAGS): Likewise.
5939
af63ada2 59402009-04-08 Felix Zielcke <fzielcke@z-51.de>
5941
5942 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
5943
c2cdde70 59442009-04-07 David S. Miller <davem@davemloft.net>
5945
5946 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
5947 support for R_SPARC_OLO10 relocations. Fix compile warning for
5948 R_SPARC_WDISP30 case.
ea3f72cf 5949 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 5950
761319cf 59512009-04-06 Pavel Roskin <proski@gnu.org>
5952
1007d1f5 5953 * include/grub/misc.h (ARRAY_SIZE): New macro.
5954 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
5955 New macro.
5956 * loader/i386/linux.c (allocate_pages): Use free_pages().
5957 (grub_linux_unload): Don't use free_pages().
5958 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
5959 wrong index. Treat all other modes as text modes.
5960 (grub_cmd_linux): Initialize vid_mode unconditionally to
5961 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
5962
761319cf 5963 * commands/help.c (print_command_help): Use cmd->prio, not
5964 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
5965
ea761d40 59662009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 5967
ea761d40 5968 Parttool
5969
5970 * parttool/pcpart.c: new file
5971 * commands/parttool.c: likewise
5972 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
5973 (parttool_mod_SOURCES): new variable
5974 (parttool_mod_CFLAGS): likewise
5975 (parttool_mod_LDFLAGS): likewise
5976 (pcpart_mod_SOURCES): likewise
5977 (pcpart_mod_CFLAGS): likewise
5978 (pcpart_mod_LDFLAGS): likewise
7dd4a573 5979 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 5980 and parttool/pcpart.c
5981 * conf/i386-efi.rmk: likewise
5982 * conf/i386-ieee1275.rmk: likewise
5983 * conf/i386-pc.rmk: likewise
5984 * conf/powerpc-ieee1275.rmk: likewise
5985 * conf/sparc64-ieee1275.rmk: likewise
5986 * conf/x86_64-ieee1275.rmk: likewise
5987
05aaebfb 59882009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5989
5990 Support for mtime and further expandability of dir command
5991
5992 * include/grub/lib/datetime.h: moved to ...
7dd4a573 5993 * include/grub/datetime.h: ... moved here and added
05aaebfb 5994 declaration of grub_unixtime2datetime. All users updated
7dd4a573 5995 * include/grub/fs.h: new syntax for dir and mtime functions in
5996 struct grub_fs
05aaebfb 5997 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
5998 and GRUB_FSHELP_FLAGS_MASK
5999 * commands/ls.c (grub_ls_list_files): Write mtime in long format
6000 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
6001 (grub_ext2_mtime): new function
6002 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
6003 (grub_hfsplus_mtime): new function
6004 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
6005 (GRUB_UFS_ATTR_FILE): likewise
6006 (GRUB_UFS_ATTR_LNK): likewise
6007 (struct grub_ufs_sblock): new fields mtime
6008 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
6009 all users updated
6010 (grub_ufs_dir): mtime support
6011 (grub_ufs_mtime): new function
6012 * fs/affs.c (grub_affs_dir): use new dir syntax
6013 * fs/afs.c (grub_afs_dir): likewise
6014 * fs/cpio.c (grub_cpio_dir): likewise
6015 * fs/fat.c (grub_fat_find_dir): likewise
6016 * fs/hfs.c (grub_hfs_dir): likewise
6017 * fs/iso9660.c (grub_iso9660_dir): likewise
6018 * fs/jfs.c (grub_jfs_dir): likewise
6019 * fs/minix.c (grub_minix_dir): likewise
6020 * fs/ntfs.c (grub_ntfs_dir): likewise
6021 * fs/reiserfs.c (grub_reiserfs_dir): likewise
6022 * fs/sfs.c (grub_sfs_dir): likewise
6023 * fs/xfs.c (grub_xfs_dir): likewise
6024 * util/hostfs.c (grub_hostfs_dir): likewise
6025 * lib/datetime.c: moved to ...
6026 * normal/datetime.c: ... moved here
6027 (grub_unixtime2datetime): new function
6028 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 6029 * normal/completion.c (iterate_dir): use new dir syntax
6030 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 6031 last modification time of a volume
7dd4a573 6032 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 6033 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 6034 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 6035 (normal_mod_SOURCES): likewise
6036 (datetime_mod_SOURCES): Removed lib/datetime.c
6037 * conf/i386-efi.rmk: likewise
7dd4a573 6038 * conf/i386-ieee1275.rmk: likewise
05aaebfb 6039 * conf/i386-pc.rmk: likewise
6040 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 6041 * conf/sparc64-ieee1275.rmk: likewise
6042 * conf/x86_64-efi.rmk: likewise
05aaebfb 6043
8a7e1a14 60442009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
6045
6046 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 6047
6048 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 6049 on grub_fat_find_dir
6050 (grub_fat_find_dir): use grub_fat_iterate_dir
6051 (grub_fat_label): likewise
6052
04186a9c 60532009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
6054
7dd4a573 6055 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 6056 and command.h
6057 remove extraneous kernel_elf_HEADERS
6058
da4c0bb6 60592009-04-04 Bean <bean123ch@gnail.com>
6060
6061 * include/grub/util/misc.h: Add dummy function fsync for mingw.
6062
6063 * util/misc.c: Likewise.
6064
54ad9555 60652009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
6066
6067 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
6068 instead of grub_printf.
6069
7a6bf9f2 60702009-04-03 Robert Millan <rmh@aybabtu.com>
6071
6072 * loader/i386/linux.c (grub_linux_setup_video): Fill
6073 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
6074 values from `mode info' structure instead of hardcoded
6075 values.
6076
3fcc2083 60772009-04-01 Pavel Roskin <proski@gnu.org>
6078
6079 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
6080 unused now.
6081 * genmk.rb: Likewise.
6082 * configure.ac: Likewise.
6083
5ec9740b 60842009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
6085
6086 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
6087 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
6088
5270cec8 60892009-04-01 David S. Miller <davem@davemloft.net>
6090
6091 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 6092 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 6093 (grub_setjmp): Mark with 'returns_twice' attribute.
6094 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
6095 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
6096 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
6097
9c3dd854 60982009-04-01 Robert Millan <rmh@aybabtu.com>
6099
6100 Reapply fix from 2008-07-28 which was accidentally reverted; also
6101 perform the same fix to a similar check in same function.
6102
6103 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
6104 with the same number are found, just use issue a warning with
6105 grub_dprintf(), as this error has been reported to be non-fatal.
6106
0d818b7e 61072009-03-31 Pavel Roskin <proski@gnu.org>
6108
6109 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
6110 for cross-compilation.
6111
95646d92 61122009-03-30 Robert Millan <rmh@aybabtu.com>
6113
6114 Fix i386-ieee1275 build.
6115
6116 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
6117 Remove declaration.
6118
6a003ed1 61192009-03-30 Pavel Roskin <proski@gnu.org>
6120
6121 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
6122 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
6123 zero-terminated, rely only on the strlen value. Fix comparison
6124 of strings differing in length.
6125
92f33540 61262009-03-30 Robert Millan <rmh@aybabtu.com>
6127
6128 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
6129 checking for abi version. Improve error messages on BIOS to notify
6130 user about `linux16' command.
6131
a8c48fd5 61322009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
6133
f968172e 6134 Leak fixes
a8c48fd5 6135
f968172e 6136 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
6137 in case of collision
6138 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 6139
9c323f09 61402009-03-29 Robert Millan <rmh@aybabtu.com>
6141
6142 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
6143 set `vid_mode' accordingly.
6144 (grub_linux_boot): Process `vid_mode' and set video mode.
6145
ae68f423 61462009-03-29 Robert Millan <rmh@aybabtu.com>
6147
6148 * util/grub.d/10_linux.in (linux_entry): New function.
6149 Factorize generation of Linux boot entries.
6150
5709cfc4 61512009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
6152
6153 Make the format of Environment Block plain text. The boot loader
6154 part is not tested well yet.
7dd4a573 6155
5709cfc4 6156 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
6157 (buffer): Removed.
6158 (envblk): Likewise.
6159 (usage): Remove "info" and "clear". Add "unset". Update the
6160 description of "set", as this does not delete variables any
6161 longer.
6162 (create_envblk_file): Complete rewrite.
6163 (open_envblk_file): Likewise.
6164 (cmd_info): Removed.
6165 (cmd_list): Likewise.
6166 (cmd_set): Likewise.
6167 (cmd_clear): Likewise.
6168 (list_variables): New function.
6169 (write_envblk): Likewise.
6170 (set_variables): Likewise.
6171 (unset_variables): Likewise.
6172 (main): Complete rewrite.
6173
6174 * commands/loadenv.c (buffer): Removed.
6175 (envblk): Likewise.
6176 (open_envblk_file): New function.
6177 (read_envblk_file): Complete rewrite.
6178 (grub_cmd_load_env): Likewise.
6179 (grub_cmd_list_env): Likewise.
6180 (struct blocklist): New struct.
6181 (free_blocklists): New function.
6182 (check_blocklists): Likewise.
6183 (write_blocklists): Likewise.
6184 (grub_cmd_save_env): Complete rewrite.
6185
6186 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
6187 a plain text signature.
6188 (GRUB_ENVBLK_MAXLEN): Removed.
6189 (struct grub_envblk): Complete rewrite.
6190 (grub_envblk_find): Removed.
6191 (grub_envblk_insert): Likewise.
6192 (grub_envblk_open): New prototype.
6193 (grub_envblk_set): Likewise.
6194 (grub_envblk_delete): Put const to VALUE.
6195 (grub_envblk_iterate): Put const to NAME and VALUE.
6196 (grub_envblk_close): New prototype.
6197 (grub_envblk_buffer): New inline function.
6198 (grub_envblk_size): Likewise.
6199
6200 * lib/envblk.c: Include grub/mm.h.
6201 (grub_env_find): Removed.
6202 (grub_envblk_open): New function.
6203 (grub_envblk_close): Likewise.
6204 (escaped_value_len): Likewise.
6205 (find_next_line): Likewise.
6206 (grub_envblk_insert): Removed.
6207 (grub_envblk_set): New function.
6208 (grub_envblk_delete): Complete rewrite.
6209 (grub_envblk_iterate): Likewise.
6210
a9368fd3 62112009-03-28 Robert Millan <rmh@aybabtu.com>
6212
6213 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
6214 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
6215 variables. Use 16-bit loader.
6216 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
6217 loader.
6218 * kern/i386/loader.S (grub_linux_boot): Rename to ...
6219 (grub_linux16_boot): ... this. Update all users.
6220 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
6221 (grub_linux_boot): ... this. Update all users.
6222
6223 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
6224 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
6225 commands to `linux16' and `initrd16'.
6226 (GRUB_MOD_FINI(linux)): Rename to ...
6227 (GRUB_MOD_FINI(linux16)): ... this.
6228
e4dd5a7e 62292009-03-24 Pavel Roskin <proski@gnu.org>
6230
6231 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
6232 not just for compilation.
6233
c04d6e05 62342009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
6235
6236 Move multiboot helper out of kernel
6237
6238 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
6239 `loader/i386/multiboot_helper.S'.
6240 * conf/i386-coreboot.rmk: Likewise
6241 * conf/i386-ieee1275.rmk: Likewise
6242
6243 * kern/i386/loader.S: Move multiboot helpers from here...
6244 * loader/i386/multiboot_helper.S: ...moved here
6245 * include/grub/i386/loader.h: Move declarations of multiboot
6246 helpers from here...
6247 * include/grub/i386/multiboot.h: ...moved here
6248 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
6249
42a5b3fc 62502009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
6251
6252 * kern/env.c (grub_env_context_open): Added an argument to specify
6253 whether a new context inherits exported variables from current
6254 one. This is useful when making a sandbox to interpret a config
6255 file.
6256 All callers updated.
6257
6258 * include/grub/env.h (grub_env_context_open): Updated the prototype.
6259
b28bbc4e 62602009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
6261
6262 * kern/env.c (grub_env_context_close): Fix memory leaks.
6263
f04f02e4 62642009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
6265
6266 * normal/main.c (grub_normal_execute): Added an argument
6267 BATCH to specify if an interactive interface should be provided
6268 after reading a config file.
6269 All callers updated.
6270 (read_command_list): Prevent being executed twice.
6271 (read_fs_list): Likewise.
6272
42a5b3fc 6273 * include/grub/normal.h (grub_normal_execute): Updated the
6274 prototype.
f04f02e4 6275
41473ac2 62762009-03-22 Pavel Roskin <proski@gno.org>
6277
fbc00b0c 6278 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
6279 _start.
6280 * kern/i386/pc/startup.S: Likewise.
6281 * kern/i386/efi/startup.S: Likewise.
6282 * kern/i386/ieee1275/startup.S: Likewise.
6283 * kern/i386/coreboot/startup.S: Likewise.
6284 * kern/x86_64/efi/startup.S: Likewise.
6285
41473ac2 6286 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
6287 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
6288 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
6289
2274cc8f 62902009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
6291
6292 Bugfixes in multiboot for bugs uncovered by solaris kernel.
6293
6294 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
6295 limit detection.
6296 Use vaddr of correct segment for entry_point.
6297
b1b797cb 62982009-03-21 Bean <bean123ch@gmail.com>
6299
6300 * commands/blocklist.c: Add include file <grub/command.h>, remove
6301 <grub/normal.h> and <grub/arg.h>.
6302 (grub_cmd_blocklist): Use the new command interface.
6303 (GRUB_MOD_INIT): Likewise.
6304 (GRUB_MOD_FINI): Likewise.
6305 * commands/boot.c: Likewise.
6306 * commands/cat.c: Likewise.
6307 * commands/cmp.c: Likewise.
6308 * commands/configfile.c: Likewise.
6309 * commands/crc.c: Likewise.
6310 * commands/echo.c: Likewise.
6311 * commands/halt.c: Likewise.
6312 * commands/handler.c: Likewise.
6313 * commands/hdparm.c: Likewise.
6314 * commands/help.c: Likewise.
6315 * commands/hexdump.c: Likewise.
6316 * commands/loadenv.c: Likewise.
6317 * commands/ls.c: Likewise.
6318 * commands/lsmmap.c: Likewise.
6319 * commands/lspci.c: Likewise.
6320 * commands/loadenv.c: Likewise.
6321 * commands/read.c: Likewise.
6322 * commands/reboot.c: Likewise.
6323 * commands/search.c: Likewise.
6324 * commands/sleep.c: Likewise.
6325 * commands/test.c: Likewise.
6326 * commands/usbtest.c: Likewise.
6327 * commands/videotest.c: Likewise.
6328 * commands/i386/cpuid.c: Likewise.
6329 * commands/i386/pc/halt.c: Likewise.
6330 * commands/i386/pc/play.c: Likewise.
6331 * commands/i386/pc/pxecmd.c: Likewise.
6332 * commands/i386/pc/vbeinfo.c: Likewise.
6333 * commands/i386/pc/vbetest.c: Likewise.
6334 * commands/ieee1275/suspend.c: Likewise.
6335 * disk/loopback.c: Likewise.
6336 * font/font_cmd.c: Likewise.
6337 * hello/hello.c: Likewise.
6338 * loader/efi/appleloader.c: Likewise.
6339 * loader/efi/chainloader.c: Likewise.
6340 * loader/i386/bsd.c: Likewise.
6341 * loader/i386/efi/linux.c: Likewise.
6342 * loader/i386/ieee1275/linux.c: Likewise.
6343 * loader/i386/linux.c: Likewise.
6344 * loader/i386/pc/chainloader.c: Likewise.
6345 * loader/i386/pc/linux.c: Likewise.
6346 * loader/powerpc/ieee1275/linux.c: Likewise.
6347 * loader/multiboot_loader.c: Likewise.
6348 * term/gfxterm.c: Likewise.
6349 * term/i386/pc/serial.c: Likewise.
6350 * term/terminfo.c: Likewise.
6351
6352 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
6353 * term/i386/pc/vga.c: Likewise.
6354 * video/readers/jpeg.c: Likewise.
6355 * video/readers/png.c: Likewise.
6356 * video/readers/tga.c: Likewise.
6357
6358 * util/grub-fstest (cmd_loopback): Removed.
6359 (cmd_blocklist): Likewise.
6360 (cmd_ls): Likewise.
6361 (grub_register_command): Likewise.
6362 (grub_unregister_command): Likewise.
6363 (execute_command): Use grub_command_find to locate command and execute
6364 it.
6365
6366 * include/grub/efi/chainloader.h: Removed.
6367 * loader/efi/chainloader_normal.c: Likewise.
6368 * loader/i386/bsd_normal.c: Likewise.
6369 * loader/i386/pc/chainloader_normal.c: Likewise.
6370 * loader/i386/pc/multiboot_normal.c: Likewise.
6371 * loader/linux_normal.c: Likewise.
6372 * loader/multiboot_loader_normal.c: Likewise.
6373 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
6374
6375 * gencmdlist.sh: Scan new registration command grub_register_extcmd
6376 and grub_register_command_p1.
6377
6378 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
6379 kern/command.c, lib/arg.c and commands/extcmd.c.
6380 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
6381 (minicmd_mod_SOURCES): New variable.
6382 (minicmd_mod_CFLAGS): Likewise.
6383 (minicmd_mod_LDFLAGS): Likewise.
6384 (extcmd_mod_SOURCES): Likewise.
6385 (extcmd_mod_CFLAGS): Likewise.
6386 (extcmd_mod_LDFLAGS): Likewise.
6387 (boot_mod_SOURCES): Removed.
6388 (boot_mod_CFLAGS): Likewise.
6389 (boot_mod_LDFLAGS): Likewise.
6390
6391 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
6392 kern/corecmd.c.
6393 (kernel_img_HEADERS): Add command.h.
6394 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
6395 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
6396 and lib/arg.c.
6397 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
6398 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
6399 remove the corresponding normal mode command.
6400 (normal_mod_SOURCES): Remove normal/arg.c.
6401 * conf/i386-coreboot.rmk: Likewise.
6402 * conf/i386-efi.rmk: Likewise.
6403 * conf/i386-ieee1275.rmk: Likewise.
6404 * conf/powerpc-ieee1275.rmk: Likewise.
6405 * conf/x86_64-efi.rmk: Likewise.
6406
6407 * include/grub/arg.h: Move from here ...
6408 * include/grub/lib/arg.h: ... to here.
6409
6410 * normal/arg.c: Move from here ...
6411 * lib/arg.c: ... to here.
6412
6413 * commands/extcmd.c: New file.
6414 * commands/minicmd.c: Likewise.
6415 * include/grub/command.h: Likewise.
6416 * include/grub/extcmd.h: Likewise.
6417 * kern/command.c: Likewise.
6418 * kern/corecmd.c: Likewise.
6419
6420 * kern/list.c (grub_list_iterate): Return int instead of void.
6421 (grub_list_insert): New function.
6422 (grub_prio_list_insert): Likewise.
6423
6424 * kern/rescue.c (grub_rescue_command): Removed.
6425 (grub_rescue_command_list): Likewise.
6426 (grub_rescue_register_command): Likewise.
6427 (grub_rescue_unregister_command): Likewise.
6428 (grub_rescue_cmd_boot): Move to minicmd.c
6429 (grub_rescue_cmd_help): Likewise.
6430 (grub_rescue_cmd_info): Likewise.
6431 (grub_rescue_cmd_boot): Likewise.
6432 (grub_rescue_cmd_testload): Likewise.
6433 (grub_rescue_cmd_dump): Likewise.
6434 (grub_rescue_cmd_rmmod): Likewise.
6435 (grub_rescue_cmd_lsmod): Likewise.
6436 (grub_rescue_cmd_exit): Likewise.
6437 (grub_rescue_print_devices): Moved to corecmd.c.
6438 (grub_rescue_print_files): Likewise.
6439 (grub_rescue_cmd_ls): Likewise.
6440 (grub_rescue_cmd_insmod): Likewise.
6441 (grub_rescue_cmd_set): Likewise.
6442 (grub_rescue_cmd_unset): Likewise.
7d074e3c 6443 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 6444 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 6445 commands, remove grub_rescue_register_command calls.
b1b797cb 6446
7d074e3c 6447 * normal/command.c (grub_register_command): Removed.
b1b797cb 6448 (grub_unregister_command): Likewise.
6449 (grub_command_find): Likewise.
6450 (grub_iterate_commands): Likewise.
6451 (rescue_command): Likewise.
6452 (export_command): Moved to corecmd.c.
6453 (set_command): Removed.
6454 (unset_command): Likewise.
6455 (insmod_command): Likewise.
6456 (rmmod_command): Likewise.
6457 (lsmod_command): Likewise.
6458 (grub_command_init): Likewise.
6459
6460 * normal/completion.c (iterate_command): Use cmd->prio to check for
6461 active command.
6462 (complete_arguments): Use grub_extcmd_t structure to find options.
6463 (grub_normal_do_completion): Change function grub_iterate_commands to
6464 grub_command_iterate.
6465
6466 * normal/execute.c (grub_script_execute_cmd): No need to parse
6467 argument here.
6468
6469 * normal/main.c (grub_dyncmd_dispatcher): New function.
6470 (read_command_list): Register unload commands as dyncmd.
6471 (grub_cmd_normal): Use new command interface, register rescue,
6472 unregister normal at entry, register normal, unregister rescue at exit.
6473
6474 * include/grub/list.h (grub_list_test_t): New type.
6475 (grub_list_iterate): Return int instead of void.
6476 (grub_list_insert): New function.
6477 (GRUB_AS_NAMED_LIST_P): New macro.
6478 (GRUB_AS_PRIO_LIST): Likewise.
6479 (GRUB_AS_PRIO_LIST_P): Likewise.
6480 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
6481 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
6482 (grub_prio_list): New structure.
6483 (grub_prio_list_insert): New function.
6484 (grub_prio_list_remove): New inline function.
6485
6486 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
6487 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
6488 (GRUB_COMMAND_FLAG_MENU): Likewise.
6489 (GRUB_COMMAND_FLAG_BOTH): Likewise.
6490 (GRUB_COMMAND_FLAG_TITLE): Likewise.
6491 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
6492 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
6493 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
6494 (grub_command): Likewise.
6495 (grub_register_command): Likewise.
6496 (grub_command_find): Likewise.
6497 (grub_iterate_commands): Likewise.
6498 (grub_command_init): Likewise.
6499 (grub_arg_parse): Likewise.
6500 (grub_arg_show_help): Likewise.
6501
6502 * include/grub/rescue.h (grub_rescue_register_command): Removed.
6503 (grub_rescue_unregister_command): Likewise.
6504
6505 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
6506 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
6507 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
6508
6509 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
6510 grub_rescue_cmd_initrd.
6511 * include/grub/i386/loader.h: Likewise.
6512 * include/grub/x86_64/loader.h: Likewise.
6513
6514 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
6515
1f4147aa 65162009-03-21 Bean <bean123ch@gmail.com>
6517
6518 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
6519 instead of stat in mingw environment.
6520
6521 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
6522
6523 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
6524
6525 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
6526 AC_CONFIG_LINKS.
6527
2156d5ba 65282009-03-21 Bean <bean123ch@gmail.com>
6529
6530 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
6531 out of range error.
6532
177b82ca 65332009-03-18 Michel Dänzer <michel@daenzer.net>
6534
6535 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
6536 checking inode flags for EXT4_EXTENTS_FLAG.
6537
14aad807 65382009-03-18 Robert Millan <rmh@aybabtu.com>
6539
6540 * loader/i386/linux.c: Include `<grub/video.h>' and
6541 `<grub/i386/pc/vbe.h>'..
6542 (grub_linux_setup_video): New function. Loosely based on the EFI one.
6543 (grub_linux32_boot): Attempt to configure video settings with
6544 grub_linux_setup_video().
6545 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
6546 to avoid grub_console_fini() which would step out of graphical mode
6547 unconditionally.
6548
8cf83a27 65492009-03-14 Robert Millan <rmh@aybabtu.com>
6550
6551 Fix build on powerpc.
6552 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
6553
40164e75 65542009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
6555
6556 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
6557 background image command.
6558
c58bc32a 65592009-03-12 Colin D Bennett <colin@gibibit.com>
6560
6561 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
6562 (grub_gfxterm_putchar): Extract pairs of identical calls to
6563 draw_cursor out of conditional blocks.
6564
5415144a 65652009-03-11 Pavel Roskin <proski@gnu.org>
6566
6567 * fs/hfs.c (grub_hfs_strncasecmp): New function.
6568 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
6569
6394042e 65702009-03-11 Robert Millan <rmh@aybabtu.com>
6571
6572 * loader/i386/multiboot_elfxx.c
6573 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
6574
b7b50e5f 65752009-03-11 Felix Zielcke <fzielcke@z-51.de>
6576
6577 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
6578 `kern/handler.c'.
6579
1ca7fc96 65802009-03-11 Robert Millan <rmh@aybabtu.com>
6581
6582 * loader/i386/multiboot.c (code_size): New variable.
6583 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 6584 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 6585 4-byte alignment to MBI and others by increasing
7d074e3c 6586 `boot_loader_name_length' appropriately.
1ca7fc96 6587
6588 * loader/i386/multiboot_elfxx.c
6589 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
6590
a83ea1d2 65912009-03-09 Felix Zielcke <fzielcke@z-51.de>
6592
6593 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
6594 `fs/ext2.c'.
6595
aa9f3bff 65962009-03-08 Robert Millan <rmh@aybabtu.com>
6597
6598 Make loader/i386/linux.c usable on i386-pc again.
6599
6600 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
6601 memory to heap.
6602 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
6603 `#error' stanza.
6604
d8b3b60e 66052009-03-07 Bean <bean123ch@gmail.com>
6606
6607 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
6608 allocation.
6609
b362c9e9 66102009-03-06 Robert Millan <rmh@aybabtu.com>
6611
6612 Fix display issue on terminals with screen size other than 80x25
6613 (e.g. gfxterm with resolution higher than 640x480).
6614
6615 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 6616 position relative to the center of the terminal instead of relying
b362c9e9 6617 on a hardcoded offset.
6618
9304eef1 66192009-03-04 Robert Millan <rmh@aybabtu.com>
6620
6621 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
6622 installed.
6623
6624 * Makefile.in (host_kernel): New variable.
6625 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
6626 scripts instead of just the windows one.
6627 * configure.ac: Initialize and AC_SUBST `host_kernel'.
6628
eabc95fb 66292009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 6630
6631 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
6632 `kern/handler.c'.
6633 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
6634 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
6635 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
6636 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6637 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6638 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6639
ceb1223c 66402009-03-04 Felix Zielcke <fzielcke@z-51.de>
6641
6642 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
6643 or if there's no space for the disk label and print the partition number on a
6644 invalid magic.
6645
4910684a 66462009-03-04 Felix Zielcke <fzielcke@z-51.de>
6647
6648 * util/misc.c: Include <time.h>.
6649 (grub_millisleep): New function.
6650
7e9ca17a 66512009-03-04 Bean <bean123ch@gmail.com>
6652
6653 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
6654 another option -mno-red-zone.
6655
6656 * commands/handler.c: Change module description.
6657
6658 * kern/handler.c: Add missing space at the end of description line.
6659
6660 * kern/list.c: Likewise.
6661
f501677c 66622009-03-03 Robert Millan <rmh@aybabtu.com>
6663
6664 Move more components to the relocation area, and fix mbi pointer
6665 handling to use the destination rather than the origin (thanks to
6666 Vladimir Serbinenko for spotting).
6667
6668 * loader/i386/multiboot.c (mbi_dest): New variable.
6669 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
6670 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
6671 relocation area.
6672
9902d047 66732009-03-01 Bean <bean123ch@gmail.com>
6674
50fb7002 6675 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 6676 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
6677 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
6678 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
6679
6680 * loader/i386/efi/linux.c (acpi_guid): New variable.
6681 (acpi_guid): Likewise.
6682 (EBDA_SEG_ADDR): New constant.
6683 (LOW_MEM_ADDR): Likewise.
6684 (FAKE_EBDA_SEG): Likewise.
6685 (fake_bios_data): New function.
6686 (grub_linux_boot): Call fake_bios_data.
6687
71b9f361 66882009-03-01 Bean <bean123ch@gmail.com>
6689
6690 * commands/terminal.c: Removed.
6691
6692 * commands/handler.c: New file.
6693
6694 * include/grub/list.h: Likewise.
6695
6696 * include/grub/handler.h: Likewise.
6697
6698 * kern/list.c: Likewise.
6699
6700 * kern/handler.c: Likewise.
6701
6702 * kern/term.h: Include header file <grub/handler.h>.
6703 (grub_term_input): Move next field to the beginning.
6704 (grub_term_output): Likewise.
6705 (grub_term_input_class): New variable.
6706 (grub_term_output_class): Likewise.
6707 (grub_term_register_input): Changed to inline function.
6708 (grub_term_register_output): Likewise.
6709 (grub_term_unregister_input): Likewise.
6710 (grub_term_unregister_output): Likewise.
6711 (grub_term_set_current_input): Likewise.
6712 (grub_term_set_current_output): Likewise.
6713 (grub_term_get_current_input): Likewise.
6714 (grub_term_get_current_output): Likewise.
6715 (grub_term_iterate_input): Removed.
6716 (grub_term_iterate_output): Likewise.
6717
6718 * kern/term.c (grub_term_list_input): Removed.
6719 (grub_term_list_output): Likewise.
6720 (grub_term_input_class): New variable.
6721 (grub_term_output_class): Likewise.
50fb7002 6722 (grub_cur_term_input): Change variable as macro.
71b9f361 6723 (grub_cur_term_output): Likewise.
6724 (grub_term_register_input): Removed.
6725 (grub_term_register_output): Likewise.
6726 (grub_term_unregister_input): Likewise.
6727 (grub_term_unregister_output): Likewise.
6728 (grub_term_set_current_input): Likewise.
6729 (grub_term_set_current_output): Likewise.
6730 (grub_term_iterate_input): Likewise.
6731 (grub_term_iterate_output): Likewise.
6732 (grub_term_get_current_input): Likewise.
6733 (grub_term_get_current_output): Likewise.
6734
6735 * util/grub-editenv.c: Include header file <grub/handler.h>.
6736 (grub_term_get_current_input): Removed.
6737 (grub_term_get_current_output): Likewise.
6738 (grub_term_input_class): New variable.
50fb7002 6739 (grub_term_output_class): Likewise.
71b9f361 6740
6741 * util/grub-fstest.c (grub_term_get_current_input): Removed.
6742 (grub_term_get_current_output): Likewise.
6743 (grub_term_input_class): New variable.
50fb7002 6744 (grub_term_output_class): Likewise.
71b9f361 6745
6746 * util/grub-probe.c (grub_term_get_current_input): Removed.
6747 (grub_term_get_current_output): Likewise.
6748 (grub_term_input_class): New variable.
50fb7002 6749 (grub_term_output_class): Likewise.
71b9f361 6750
6751 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
6752 (grub_term_get_current_output): Likewise.
6753 (grub_term_input_class): New variable.
50fb7002 6754 (grub_term_output_class): Likewise.
71b9f361 6755
6756 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
6757 (terminal_mod_SOURCES): Likewise.
6758 (terminal_mod_CFLAGS): Likewise.
6759 (terminal_mod_LDFLAGS): Likewise.
6760
6761 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
6762 handler.c.
6763 (kernel_img_SOURCES): Add list.c and handler.c.
6764 (kernel_img_HEADERS): Add list.h and handler.h.
6765
6766 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
6767 handler.c.
6768 (kernel_mod_SOURCES): Add list.c and handler.c.
6769 (kernel_mod_HEADERS): Add list.h and handler.h.
6770
6771 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
6772 handler.c.
6773 (kernel_elf_SOURCES): Add list.c and handler.c.
6774 (kernel_elf_HEADERS): Add list.h and handler.h.
6775
6776 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
6777 handler.c.
6778 (kernel_elf_SOURCES): Add list.c and handler.c.
6779 (kernel_elf_HEADERS): Add list.h and handler.h.
6780
6781 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
6782 handler.c.
6783 (kernel_mod_SOURCES): Add list.c and handler.c.
6784 (kernel_mod_HEADERS): Add list.h and handler.h.
6785
6786 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
6787 handler.c.
6788 (kernel_elf_SOURCES): Add list.c and handler.c.
6789 (kernel_elf_HEADERS): Add list.h and handler.h.
6790
8a31787f 67912009-02-27 Robert Millan <rmh@aybabtu.com>
6792
6793 Factorize elf32 / elf64 code in Multiboot loader. This will
6794 prevent it from getting out of sync again.
6795
6796 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
6797 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
6798 grub_multiboot_load_elf64): Move from here ...
6799 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
6800 grub_multiboot_load_elf): ... to here (new file).
6801
51cd3dfc 68022009-02-27 Robert Millan <rmh@aybabtu.com>
6803
6804 * util/grub.d/10_linux.in: Rename "single-user mode" to
6805 "recovery mode".
6806
6e8c9c3a 68072009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6808
6809 Don't leak in SCSI code.
6810 * disk/scsi.c (grub_scsi_close): free `scsi'.
6811
4b6bf4f9 68122009-02-27 Robert Millan <rmh@aybabtu.com>
6813
6814 * loader/i386/pc/multiboot.c: Move from here ...
6815 * loader/i386/multiboot.c: ... to here. Update all users.
6816
b9413424 68172009-02-27 Robert Millan <rmh@aybabtu.com>
6818
6819 Patch from Alexandre Bique <bique.alexandre@gmail.com>
6820 * util/i386/pc/grub-setup.c (setup): Fix directory path.
6821
50fb7002 68222009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 6823
6824 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
6825 b-tree.
6826
8cc50345 68272009-02-27 Robert Millan <rmh@aybabtu.com>
6828
6829 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
6830 `0x' qualifier as 0 when base is specified as parameter).
6831
6e09b8b7 68322009-02-24 Bean <bean123ch@gmail.com>
6833
6834 * configure.ac: Check for -mcmodel=large in x86_64 target.
6835
6836 * include/grub/efi/api.h (efi_call_10): New macro.
6837 (efi_wrap_10): New function.
6838
6839 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
6840 (GRUB_PE32_REL_BASED_HIGH): Likewise.
6841 (GRUB_PE32_REL_BASED_LOW): Likewise.
6842 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
6843 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
6844 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
6845 (GRUB_PE32_REL_BASED_SECTION): Likewise.
6846 (GRUB_PE32_REL_BASED_REL): Likewise.
6847 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
6848 (GRUB_PE32_REL_BASED_DIR64): Likewise.
6849 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
6850
6851 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
6852 issue.
6853
6854 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
6855 (efi_wrap_10): New function.
6856
6857 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
6858
6859 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
6860 MB/MBP model (NV chipset).
6861 (devdata_devs): Add devpath_5 to the list.
6862
6863 * load/i386/efi/linux.c (video_base): Remove variable.
6864 (RGB_MASK): New macro.
6865 (RGB_MAGIC): Likewise.
6866 (LINE_MIN): Likewise.
6867 (LINE_MAX): Likewise.
6868 (FBTEST_STEP): Likewise.
6869 (FBTEST_COUNT): Likewise.
6870 (fb_list): New variable.
6871 (grub_find_video_card): Remove function.
6872 (find_framebuf): New function.
6873 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
6874 line length.
6875
6876 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
6877 problem for x86_64.
6878
74b21bee 68792009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
6880
6881 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
6882
6883 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
6884 coding tool name.
6885
a455f472 68862009-02-22 Robert Millan <rmh@aybabtu.com>
6887
6888 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
6889 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
6890 in our relocation, instead of using it directly from heap. Also
6891 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
6892
6374daf3 68932009-02-21 Robert Millan <rmh@aybabtu.com>
6894
6895 Implement USB keyboard support (based on patch by Marco Gerards)
6896
6897 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
6898 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
6899 (usb_keyboard_mod_LDFLAGS): New variables.
6900
6901 * term/usb_keyboard.c: New file.
6902
8fa4ea70 69032009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
6904
6905 Corrected wrong declaration
6906
6907 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
6908
353976ac 69092009-02-14 Christian Franke <franke@computer.org>
6910
6911 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
6912 (grub_lspci_iter): Print class code and programming interface byte.
6913
6aa1169b 69142009-02-14 Christian Franke <franke@computer.org>
6915
6916 * gendistlist.sh: Ignore `.svn' directories.
6917
265372ca 69182009-02-14 Felix Zielcke <fzielcke@z-51.de>
6919
6920 * fs/fat.c: Add 2009 to Copyright line.
6921
9ff516f3 69222009-02-14 Christian Franke <franke@computer.org>
6923
6924 * commands/hdparm.c: New file. Provides `hdparm' command
6925 which sends ATA commands via grub_disk_ata_pass_through ().
6926
6927 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
6928
6929 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
6930 and <grub/cpu/io.h> to include/grub/ata.h.
6931 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
6932 (GRUB_CDROM_SECTOR_SIZE): Remove.
6933 (GRUB_ATA_*): Move to include/grub/ata.h.
6934 (GRUB_ATAPI_*): Likewise.
6935 (enum grub_ata_commands): Likewise.
6936 (enum grub_ata_timeout_milliseconds): Likewise.
6937 (struct grub_ata_device): Likewise.
6938 (grub_ata_regset): Likewise.
6939 (grub_ata_regget): Likewise.
6940 (grub_ata_regset2): Likewise.
6941 (grub_ata_regget2): Likewise.
6942 (grub_ata_check_ready): Likewise.
6943 (grub_ata_wait_not_busy): Remove static, exported in
6944 include/grub/ata.h.
6945 (grub_ata_wait_drq): Likewise.
6946 (grub_ata_pio_read): Likewise.
6947
6948 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
6949 function for hdparm.mod.
6950
6951 * include/grub/ata.h: New file, contains declarations from
6952 disk/ata.c.
6953 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
6954
6955 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
6956 (grub_disk_ata_pass_through): New exported variable.
6957
6958 * kern/disk.c (grub_disk_ata_pass_through): New variable.
6959
772e23da 69602009-02-13 Colin D Bennett <colin@gibibit.com>
6961
6962 Support multiple fallback entries, and provide an API to support
6963 executing default+fallback menu entries. Renamed the `terminal' menu
6964 viewer to `text'.
6965
6966 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
6967 variable declaration.
6968 (grub_menu_execute_callback): New structure declaration.
6969 (grub_menu_execute_callback_t): New typedef.
6970 (grub_menu_execute_with_fallback): New function declaration.
6971 (grub_menu_get_entry): Likewise.
6972 (grub_menu_get_timeout): Likewise.
6973 (grub_menu_set_timeout): Likewise.
6974
6975 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
6976
6977 * normal/menu.c (grub_wait_after_message): Moved to
6978 `normal/menu_text.c'.
6979 (draw_border): Likewise.
6980 (print_message): Likewise.
6981 (print_entry): Likewise.
6982 (print_entries): Likewise.
6983 (grub_menu_init_page): Likewise.
6984 (get_entry_number): Likewise.
6985 (print_timeout): Likewise.
6986 (run_menu): Likewise.
6987 (grub_menu_execute_entry): Likewise.
6988 (show_text_menu): Likewise.
6989 (get_and_remove_first_entry_number): New function.
6990 (grub_menu_execute_with_fallback): Likewise.
6991 (get_entry): Renamed to ...
6992 (grub_menu_get_entry): .. this and made it global.
6993 (get_timeout): Renamed to ...
6994 (grub_menu_get_timeout): ... this and made it global.
6995 (set_timeout): Renamed to ...
6996 (grub_menu_set_timeout): ... this and made it global.
6997 (grub_normal_terminal_menu_viewer): Renamed to ...
6998 (grub_normal_text_menu_viewer): ... this.
6999
7000 * normal/menu_text.c: New file. Extracted text-menu-specific code
7001 from normal/menu.c.
7002
7003 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
7004 (normal_mod_SOURCES): Likewise.
7005
7006 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
7007 (normal_mod_SOURCES): Likewise.
7008
7009 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7010 (normal_mod_SOURCES): Likewise.
7011
7012 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
7013 (normal_mod_SOURCES): Likewise.
7014
7015 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7016 (normal_mod_SOURCES): Likewise.
7017
7018 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7019 (normal_mod_SOURCES): Likewise.
7020
7021 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
7022 (normal_mod_SOURCES): Likewise.
7023
16ac430e 70242009-02-11 Robert Millan <rmh@aybabtu.com>
7025
7026 * util/grub.d/00_header.in: Update old reference to `font' command.
7027
06ff20fc 70282009-02-10 Felix Zielcke <fzielcke@z-51.de>
7029
7030 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
7031
7032 Based on patch from Javier Martín.
7033
96da9407 70342009-02-09 Felix Zielcke <fzielcke@z-51.de>
7035
7036 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 7037 to avoid false positives with FAT.
96da9407 7038 (grub_fstest_SOURCES): Likewise.
7039 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
7040 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
7041 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7042 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
7043 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7044 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7045
6dca6fe4 70462009-02-09 Felix Zielcke <fzielcke@z-51.de>
7047
06ff20fc 7048 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 7049 bpb.version_specific.fat12_or_fat16.fstype and
7050 bpb.version_specific.fat32.fstype.
7051
2550c62f 70522009-02-08 Robert Millan <rmh@aybabtu.com>
7053
be110b30 7054 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 7055
56978920 70562009-02-08 Robert Millan <rmh@aybabtu.com>
7057
7058 * Makefile.in (host_os, host_cpu): New variables.
7059 (target_os): Remove. Update all users.
7060
d64399b5 70612009-02-08 Marco Gerards <marco@gnu.org>
7062
7063 * Makefile.in (enable_grub_emu_usb): New variable.
7064 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
7065 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
7066 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
7067 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
7068 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
7069 `usbtest.mod' and `usbms.mod'.
7070 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
7071 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
7072 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
7073 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
7074 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
7075 variables.
7076
7077 * disk/usbms.c: New file.
7078
7079 * include/grub/usb.h: Likewise.
7080
7081 * include/grub/usbtrans.h: Likewise.
7082
7083 * include/grub/usbdesc.h: Likewise.
7084
7085 * bus/usb/usbtrans.c: Likewise.
7086
7087 * bus/usb/ohci.c: Likewise.
7088
7089 * bus/usb/uhci.c: Likewise.
7090
7091 * bus/usb/usbhub.c: Likewise.
7092
7093 * bus/usb/usb.c: Likewise.
7094
7095 * commands/usbtest.c: Likewise.
7096
7097 * util/usb.c: Likewise.
50fb7002 7098
d64399b5 7099 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
7100
7101 * configure.ac: Test for libusb presence.
50fb7002 7102
d64399b5 7103 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
7104
2b40d6bb 71052009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
7106
7107 * kern/mm.c: Add more comments.
7108
73a4ce81 71092009-02-08 Robert Millan <rmh@aybabtu.com>
7110
7111 Patch from Javier Martín.
7112 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
7113 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
7114
f821ce59 71152009-02-08 Robert Millan <rmh@aybabtu.com>
7116
7117 * fs/cpio.c: Split tar functionality to ...
7118 * fs/tar.c: ... here (new file). Update all users.
7119
aebfc4b0 71202009-02-07 Robert Millan <rmh@aybabtu.com>
7121
7122 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
7123 backward-incompatible features.
7124
7125 Based on patch from Javier Martín, with some adjustments.
7126
50fb7002 71272009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 7128
7129 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
7130
0bb5115e 71312009-02-07 Robert Millan <rmh@aybabtu.com>
7132
7133 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
7134 position of `disk/lvm.c' to ensure grub_init_all() always picks it
7135 after the RAID stuff.
7136
38a0f8e7 71372009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
7138
50fb7002 7139 Fixes problem when running vbetest command as reported by
38a0f8e7 7140 Vladimir Serbinenko <phcoder@gmail.com>.
7141
7142 * (grub_vbe_set_video_mode): Fixed problem with text modes.
7143
3143cc1c 71442009-02-04 Felix Zielcke <fzielcke@z-51.de>
7145
7146 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
7147 /dev/md/NpN style mdraid devices.
7148
9cba6fce 71492009-02-03 Felix Zielcke <fzielcke@z-51.de>
7150
7151 * util/unifont2pff.rb: Remove.
7152
e507a2c1 71532009-02-03 Felix Zielcke <fzielcke@z-51.de>
7154
7155 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
7156 `#'.
7157
d2c2b4cd 71582009-02-03 Felix Zielcke <fzielcke@z-51.de>
7159
7160 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
7161 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
7162 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
7163 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
7164 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7165 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7166 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7167
b4315fb0 71682009-02-02 Christian Franke <franke@computer.org>
7169
7170 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
7171
de3aa260 71722009-02-01 Felix Zielcke <fzielcke@z-51.de>
7173
7c3ff286 7174 * INSTALL: Note that we now require at least autoconf 2.59 and
7175 that LZO is optional.
de3aa260 7176
825a182b 71772009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
7178
7179 Base on patch on bug #24154 created by Tomas Tintera
7180 <trosos@seznam.cz>.
7181
7182 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
7183
a69ef770 71842009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
7185
7c3ff286 7186 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 7187 <bero@arklinux.org>.
7188
7189 * normal/parser.y (script_init): Add missing semicolon.
7190
6fa42fa6 71912009-01-31 Colin D Bennett <colin@gibibit.com>
7192
7c3ff286 7193 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 7194 (free_menu_entry_classes): Added.
7195 (grub_normal_menu_addentry): Added class property handling.
7196 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
7197 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
7198
7199 * normal/menu_viewer.c: New file.
7200
7201 * normal/menu.c (run_menu_entry): Renamed to ...
7202 (grub_menu_execute_entry): ... this and made it as global.
7203 (grub_menu_run): Renamed to ...
7204 (show_text_menu): ... this and made it local.
7205 (show_text_menu): Adapt to new function names.
7206 (grub_normal_terminal_menu_viewer): New global variable.
7207
7208 * include/grub/menu.h: New file.
7209
7210 * include/grub/menu_viewer.h: New file.
7211
7212 * include/grub/normal.h: Added include to grub/menu.h.
7213 (grub_menu_entry): Moved to include/grub/menu.h.
7214 (grub_menu_entry_t): Likewise.
7215 (grub_menu): Likewise.
7216 (grub_menu_t): Likewise.
7217 (grub_normal_terminal_menu_viewer): Added.
7218 (grub_menu_execute_entry): Likewise.
7219 (grub_menu_run): Removed.
7220
7221 * DISTLIST: Added include/grub/menu.h.
7222 Added include/grub/menu_viewer.h.
7223 Added normal/menu_viewer.c.
7224
72252009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
7226
7227 * normal/execute.c (grub_script_execute_menuentry): Changed to use
7228 arglist for menutitle arguments.
7229
7230 * normal/main.c (grub_normal_menu_addentry): Likewise.
7231
7232 * normal/parser.y (menuentry): Likewise.
7233
7234 * normal/script.c (grub_script_create_cmdmenu): Likewise.
7235
7236 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
7237 (grub_script_create_cmdmenu): Likewise.
7238
7239 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
7240
7241 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
7242 changes.
7243
7244 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
7245
7246 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
7247
7248 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
7249
7250 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
7251
7252 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
7253
7254 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
7255
56192c23 72562009-01-30 Christian Franke <franke@computer.org>
7257
7258 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
7259 in option help text.
7260
d72521b3 72612009-01-27 Pavel Roskin <proski@gnu.org>
7262
7263 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
7264
994b5e84 72652009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
7266
7267 * commands/lsmmap.c: Add include to grub/machine/memory.h.
7268
7269 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
7270
7271 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
7272 unregister function.
7273
6a7eab2c 72742009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
7275
7276 * disk/scsi.c (grub_scsi_read): Fix sign problem.
7277
7278 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
7279
7280 * util/grub-mkfont.c (usage): Fix typo.
7281
7282 * util/elf/grub-mkimage.c (load_modules): Fix warning.
7283
1806b56e 72842009-01-26 Daniel Mierswa <impulze@impulze.org>
7285
3fb18f09 7286 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
7287
336e1fb9 7288 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
7289
1806b56e 7290 * kern/misc.c (grub_strcasecmp): New function.
7291 (grub_strcasecmp): Use grub_size_t instead of int for length.
7292 Fix return value.
7293 * include/grub/misc.h: Update function prototypes.
7294
580b2a0f 72952009-01-26 Robert Millan <rmh@aybabtu.com>
7296
7297 * configure.ac: Fix cross-compilation check.
ef257b36 7298
d31c24f1 72992009-01-22 Christian Franke <franke@computer.org>
7300
7301 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
7302 (precision) digit string. Allow `.format2' without `format1' (width).
7303 Limit input chars for `%s' output to `format2' if specified. This is
7304 compatible with standard printf ().
7305
3138b44c 73062009-01-22 Christian Franke <franke@computer.org>
7307
7308 * disk/ata.c (grub_ata_wait_status): Replace by ...
7309 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
7310 other status bits may be invalid while BSY is asserted.
7311 (grub_ata_check_ready): New function.
7312 (grub_ata_cmd): Removed.
7313 (grub_ata_wait_drq): New function.
7314 (grub_ata_strncpy): Remove inline.
7315 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
7316 and error check now done by grub_ata_wait_drq ().
7317 (grub_ata_pio_write): Likewise.
7318 (grub_atapi_identify): Set DEV before check for !BSY. Use
7319 grub_ata_wait_drq () to wait for data.
7320 (grub_ata_device_initialize): Add status register check to
7321 detect missing SATA slave devices. Add debug messages.
7322 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
7323 (grub_atapi_packet): Set DEV before check for !BSY. Replace
7324 transfer loop by grub_ata_pio_write ().
7325 (grub_ata_identify): Set DEV before check for !BSY. Use
7326 grub_ata_wait_drq () to wait for data.
ef257b36 7327 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 7328 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
7329 read/write in one loop. Fix invalid command on write. Fix incomplete
7330 command on (size % batch) == 0. Add missing error check after write of
7331 last block. Add debug messages.
7332 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
7333
59a64ef6 73342009-01-19 Christian Franke <franke@computer.org>
7335
7336 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
7337 (GRUB_ATAPI_IREASON_*): Likewise.
7338 (grub_ata_pio_write): Fix timeout error return.
7339 (grub_atapi_identify): Add grub_ata_wait () after cmd.
7340 (grub_atapi_wait_drq): New function.
7341 (grub_atapi_packet): New parameter `size'.
7342 Use grub_atapi_wait_drq () and direct write instead of
7343 grub_ata_pio_write ().
7344 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
7345 reads the number of bytes requested by the device for each DRQ
7346 assertion.
7347 (grub_atapi_write): Remove old implementation, return not
7348 implemented instead.
7349
1cfe20b3 73502009-01-19 Christian Franke <franke@computer.org>
7351
7352 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
7353 of 512 to calculate data size.
7354 (grub_scsi_read12): Likewise.
7355 (grub_scsi_write10): Likewise.
7356 (grub_scsi_write12): Likewise.
7357 (grub_scsi_read): Adjust size according to blocksize.
7358 Add checks for invalid blocksize and unaligned transfer.
7359
bee5fe5d 73602009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
7361
7362 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
7363
ef257b36 7364 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 7365 width glyphs.
7366
3e643f8c 73672009-01-19 Robert Millan <rmh@aybabtu.com>
7368
7369 * config.guess: Update to latest version from config git.
7370 * config.sub: Likewise.
7371
4fa80998 73722009-01-17 Felix Zielcke <fzielcke@z-51.de>
7373
7374 * Makefile.in: Change font compilation to use new grub-mkfont instead
7375 of java version.
7376
7377 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
7378 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
7379 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
7380 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
7381 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
7382 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
7383 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
7384 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
7385 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
7386
7086085b 73872009-01-16 Christian Franke <franke@computer.org>
7388
7389 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
7390 (enum grub_ata_timeout_milliseconds): New enum.
7391 (grub_ata_wait_status): Add parameter milliseconds.
7392 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
7393 recovery from timed-out commands.
7394 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
7395 return grub_errno instead of REG_ERROR.
7396 (grub_ata_pio_write): Add parameter milliseconds.
7397 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
7398 Pass milliseconds to grub_ata_wait_status () and
7399 grub_ata_pio_read ().
7400 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
7401 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
7402 grub_ata_wait_status (). Fix IDENTIFY timeout check.
7403 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
7404 It is not suitable for device detection, because DEV bit is ignored,
7405 the command may run too long, and not all devices set the signature
7406 properly.
7407 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
7408 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
7409 Fix device selection, DEV bit must be set first to address the registers
7410 of the correct device.
7411 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
7412 grub_ata_pio_read/write ().
7413 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
7414 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
7415
4a412913 74162009-01-13 Carles Pina i Estany <carles@pina.cat>
7417
7418 * util/grub-editenv.c (main): Use fseeko(), not fseek().
7419
7795c55e 74202009-01-13 Bean <bean123ch@gmail.com>
d913988c 7421
7422 * util/grub-mkfont.c (write_font): forget to remove some debug code.
7423
7795c55e 74242009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 7425
7426 * Makefile.in: (enable_grub_mkfont): New variable.
7427 (freetype_cflags): Likewise.
7428 (freetype_libs): Likewise.
7429
7430 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
7431 (grub_mkfont_SOURCES): New variable.
7432 (grub_mkfont_CFLAGS): Likewise.
7433 (grub_mkfont_LDFLAGS): Likewise.
7434
7435 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
7436 library if `--enable-grub-mkfont' is requested.
7437 (enable_grub_mkfont): New variable.
7438 (freetype_cflags): Likewise.
7439 (freetype_libs): Likewise.
7440
7441 * util/grub-mkfont.c: New file.
7442
093af1fe 74432009-01-12 Christian Franke <franke@computer.org>
7444
7445 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
7446 mode check. Fix setting of compat_use[].
7447
f36cc108 74482009-01-10 Robert Millan <rmh@aybabtu.com>
7449
7450 Update a few copyright years which we forgot to do in 2008 (only for
7451 files whose changes made in 2008 were copyright-significant)
7452
7453 * Makefile.in: Add 2008 to Copyright line.
7454 * disk/ieee1275/ofdisk.c: Likewise.
7455 * disk/efi/efidisk.c: Likewise.
7456 * kern/dl.c: Likewise.
7457 * kern/sparc64/ieee1275/init.c: Likewise.
7458 * kern/mm.c: Likewise.
7459 * kern/efi/mm.c: Likewise.
7460 * boot/i386/pc/boot.S: Likewise.
7461 * genfslist.sh: Likewise.
7462 * fs/iso9660.c: Likewise.
7463 * fs/hfs.c: Likewise.
7464 * fs/jfs.c: Likewise.
7465 * fs/minix.c: Likewise.
7466 * fs/ufs.c: Likewise.
7467 * gensymlist.sh.in: Likewise.
7468 * genkernsyms.sh.in: Likewise.
7469 * include/grub/misc.h: Likewise.
7470 * include/grub/types.h: Likewise.
7471 * include/grub/symbol.h: Likewise.
7472 * include/grub/elf.h: Likewise.
7473 * include/grub/kernel.h: Likewise.
7474 * include/grub/disk.h: Likewise.
7475 * include/grub/dl.h: Likewise.
7476 * include/grub/i386/linux.h: Likewise.
7477 * include/grub/i386/pc/biosdisk.h: Likewise.
7478 * include/grub/efi/api.h: Likewise.
7479 * include/grub/efi/pe32.h: Likewise.
7480 * include/grub/util/misc.h: Likewise.
7481 * normal/execute.c: Likewise.
7482 * normal/arg.c: Likewise.
7483 * normal/completion.c: Likewise.
7484 * normal/lexer.c: Likewise.
7485 * normal/parser.y: Likewise.
7486 * normal/misc.c: Likewise.
7487 * commands/i386/pc/vbeinfo.c: Likewise.
7488 * commands/hexdump.c: Likewise.
7489 * commands/terminal.c: Likewise.
7490 * commands/ls.c: Likewise.
7491 * commands/help.c: Likewise.
7492 * partmap/pc.c: Likewise.
7493 * loader/efi/chainloader.c: Likewise.
7494 * loader/multiboot_loader.c: Likewise.
7495 * loader/i386/pc/multiboot2.c: Likewise.
7496 * term/efi/console.c: Likewise.
7497 * term/i386/pc/serial.c: Likewise.
7498 * util/lvm.c: Likewise.
7499 * util/console.c: Likewise.
7500 * util/i386/efi/grub-mkimage.c: Likewise.
7501 * util/raid.c: Likewise.
7502
7f02114b 75032009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
7504
7505 * commands/videotest.c: Removed include to grub/machine/memory.h.
7506
7507 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
7508 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
7509 (video_mod_SOURCES): Removed.
7510 (video_mod_CFLAGS): Likewise.
7511 (video_mod_LDFLAGS): Likewise.
7512 (gfxterm_mod_SOURCES): Likewise.
7513 (gfxterm_mod_CFLAGS): Likewise.
7514 (gfxterm_mod_LDFLAGS): Likewise.
7515 (videotest_mod_SOURCES): Likewise.
7516 (videotest_mod_CFLAGS): Likewise.
7517 (videotest_mod_LDFLAGS): Likewise.
7518 (bitmap_mod_SOURCES): Likewise.
7519 (bitmap_mod_CFLAGS): Likewise.
7520 (bitmap_mod_LDFLAGS): Likewise.
7521 (tga_mod_SOURCES): Likewise.
7522 (tga_mod_CFLAGS): Likewise.
7523 (tga_mod_LDFLAGS): Likewise.
7524 (jpeg_mod_SOURCES): Likewise.
7525 (jpeg_mod_CFLAGS): Likewise.
7526 (jpeg_mod_LDFLAGS): Likewise.
7527 (png_mod_SOURCES): Likewise.
7528 (png_mod_CFLAGS): Likewise.
7529 (png_mod_LDFLAGS): Likewise.
7530
7531 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
7532 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
7533 (video_mod_SOURCES): Added.
7534 (video_mod_CFLAGS): Likewise.
7535 (video_mod_LDFLAGS): Likewise.
7536 (videotest_mod_SOURCES): Likewise.
7537 (videotest_mod_CFLAGS): Likewise.
7538 (videotest_mod_LDFLAGS): Likewise.
7539 (bitmap_mod_SOURCES): Likewise.
7540 (bitmap_mod_CFLAGS): Likewise.
7541 (bitmap_mod_LDFLAGS): Likewise.
7542 (tga_mod_SOURCES): Likewise.
7543 (tga_mod_CFLAGS): Likewise.
7544 (tga_mod_LDFLAGS): Likewise.
7545 (jpeg_mod_SOURCES): Likewise.
7546 (jpeg_mod_CFLAGS): Likewise.
7547 (jpeg_mod_LDFLAGS): Likewise.
7548 (png_mod_SOURCES): Likewise.
7549 (png_mod_CFLAGS): Likewise.
7550 (png_mod_LDFLAGS): Likewise.
7551 (gfxterm_mod_SOURCES): Likewise.
7552 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 7553 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 7554
7555 * term/gfxterm.c: Removed include to grub/machine/memory.h,
7556 grub/machine/console.h.
7557
644fff97 75582009-01-04 Jerone Young <jerone@gmail.com>
7559
7560 Make on screen instructions clearer
7561
7562 Based on patch created by Jidanni <jidanni@jidanni.org>
7563
7564 * normal/menu.c: print clearer instructions on the screen
7565
1e901a75 75662009-01-02 Colin D Bennett <colin@gibibit.com>
7567
7568 New font engine.
34c44600 7569
1e901a75 7570 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
7571 build system and fixed gfxterm.c to work with different sized fonts.
7572
7573 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 7574
1e901a75 7575 * configure: Re-generated.
34c44600 7576
1e901a75 7577 * DISTLIST: Removed font/manager.c.
7578 Added font/font.c.
7579 Added font/font_cmd.c.
34c44600 7580
1e901a75 7581 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
7582 compilation.
34c44600 7583
1e901a75 7584 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 7585
7586 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 7587
7588 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 7589
1e901a75 7590 * normal/menu.c: Likewise.
34c44600 7591
1e901a75 7592 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
7593 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 7594
1e901a75 7595 * include/grub/font.h: Replaced with new file.
34c44600 7596
1e901a75 7597 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
7598 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
7599 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
7600 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
7601 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 7602 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 7603 fg_red, fg_green, fg_blue, fg_alpha.
7604 (grub_video_adapter): Removed blit_glyph.
34c44600 7605 (grub_video_blit_glyph): Removed.
7606
1e901a75 7607 * font/manager.c: Removed file.
34c44600 7608
7609 * font/font.c: New file.
7610
1e901a75 7611 * font/font_cmd.c: Likewise.
34c44600 7612
1e901a75 7613 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 7614
1e901a75 7615 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
7616 (grub_video_vbe_map_rgba): Likewise.
7617 (grub_video_vbe_unmap_color_int): Likewise.
7618 (grub_video_vbe_blit_glyph): Removed.
7619 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 7620
1e901a75 7621 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
7622 (get_pixel): Likewise.
34c44600 7623 (set_pixel): Likewise.
7624
1e901a75 7625 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 7626
1e901a75 7627 * term/gfxterm.c: Adapted to new font engine.
34c44600 7628
1e901a75 7629 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 7630
1e901a75 7631 * term/i386/pc/vga.c: Likewise.
34c44600 7632
1e901a75 7633 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 7634
1e901a75 7635 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 7636
1e901a75 7637 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 7638
1e901a75 7639 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 7640
1e901a75 7641 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 7642
1e901a75 7643 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 7644
1e901a75 7645 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 7646
1e901a75 7647 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 7648
1e901a75 7649 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
7650
7651 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 7652
1e901a75 7653 * util/grub-mkconfig_lib.in: Changed font extension.
7654
278922e8 76552008-12-28 Felix Zielcke <fzielcke@z-51.de>
7656
7657 * util/getroot.c (grub_util_get_grub_dev): Add support for
7658 /dev/md/dNNpNN style partitionable mdraid devices.
7659
3ced05cf 76602008-12-12 Alex Smith <alex@alex-smith.me.uk>
7661
7662 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
7663 at a time limit of the PXE TFTP API correctly.
7664 (grub_pxefs_close): Likewise.
7665
7fd0ee30 76662008-11-29 Robert Millan <rmh@aybabtu.com>
7667
34c44600 7668 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 7669 grub_ata_device_initialize() calls.
7670
34c44600 76712008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 7672
7673 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
7674 iteration failed.
7675 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
7676
89313780 76772008-11-28 Robert Millan <rmh@aybabtu.com>
7678
7679 Fix build on powerpc-ieee1275. Based on patch created by
7680 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
7681 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
7682 `kern/ieee1275/mmap.c'.
7683 * include/grub/powerpc/ieee1275/memory.h: New file.
7684
15257703 7685 Provide grub-install on coreboot.
7686 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
7687 (grub_install_SOURCES): New variable.
7688 * util/i386/pc/grub-install.in: Add a few condition checks to make it
7689 usable on coreboot.
7690
9fc5388a 76912008-11-25 Felix Zielcke <fzielcke@z-51.de>
7692
7693 * util/grub-fstest.c (grub_term_get_current_input): Change return type
7694 to `grub_term_input_t'.
7695 (grub_term_get_current_output): Change return type to
7696 `grub_term_output_t'.
7697
bc3a2f31 76982008-11-22 Robert Millan <rmh@aybabtu.com>
7699
34c44600 7700 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 7701 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
7702 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
7703 grub_vga_text_cls().
7704
80fc88f2 7705 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 7706 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 7707
cbf36fd3 7708 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
7709 to 0x200000 (avoids trouble with some OFW implementations, and matches
7710 with the one in Yaboot).
7711 Reported by Manoel Abranches
7712
73e8e268 77132008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 7714
7715 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
7716 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
7717
73e8e268 7718 * util/grub-mkconfig_lib.in (grub_warn): New function.
7719 (convert_system_path_to_grub_path): Use grub_warn() when issuing
7720 warnings, to obtain consistent formatting.
7721 * util/grub.d/00_header.in: Likewise.
7722 * util/update-grub_lib.in: Likewise.
7723
e94045a1 7724 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 7725 Move comment text to `#error' stanza.
e94045a1 7726
79d29fd7 7727 Harmonize ieee1275's grub_available_iterate() with the generic
7728 grub_machine_mmap_iterate() interface (fixes a recently-introduced
7729 build problem on i386-ieee1275):
7730 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
7731 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
7732 parameter `type'. Update all users of this function.
7733 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
7734 `kern/ieee1275/mmap.c'.
7735 * kern/ieee1275/init.c
7736 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
7737 with ...
7738 (grub_machine_mmap_iterate): ... this.
7739 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
7740 return type to `grub_err_t'. Update all implementations of this
7741 function prototype.
7742 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
7743 Likewise.
7744
60d6b16e 7745 Add `lsmmap' command (lists firmware-provided memory map):
7746 * commands/lsmmap.c: New file.
7747 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
7748 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
7749 variables.
7750 * conf/powerpc-ieee1275.rmk: Likewise.
7751 * conf/i386-coreboot.rmk: Likewise.
7752 * conf/i386-ieee1275.rmk: Likewise.
7753
ebaaf49b 77542008-11-19 Robert Millan <rmh@aybabtu.com>
7755
7756 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 7757 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
7758 constraints to initrd allocation (based on code from
7759 loader/i386/pc/linux.c). Without them, initrd was allocated too high
7760 for Linux to find it.
ebaaf49b 7761
dfab719f 77622008-11-14 Robert Millan <rmh@aybabtu.com>
7763
7764 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
7765 order to cope with duplicate slashes.
7766
10fc3eb9 77672008-11-14 Robert Millan <rmh@aybabtu.com>
7768
7769 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
7770 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
7771 don't want to mess with lower memory, because it is used in the Linux
7772 loader.
7773
7774 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 7775 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 7776 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
7777 is in our heap (probably as a result of it being corrupted during
2f2a3442 7778 decompression). Add #error instance with comment to explain why this
7779 loader isn't currently usable on PC/BIOS.
10fc3eb9 7780
e2e07847 77812008-11-14 Robert Millan <rmh@aybabtu.com>
7782
7783 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 7784 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 7785
fe8e8d69 77862008-11-12 Robert Millan <rmh@aybabtu.com>
7787
7788 Make loader/i386/linux.c buildable on i386-pc (although disabled).
7789
7790 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
7791 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
7792 from here ...
7793 * include/grub/i386/pc/memory.h: ... to here.
7794
976b07d0 77952008-11-12 Robert Millan <rmh@aybabtu.com>
7796
7797 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
7798 split).
7799
7800 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
7801 (grub_console_cur_color, grub_console_real_putchar)
7802 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
7803 (grub_console_setcolorstate, grub_console_setcolor)
7804 (grub_console_getcolor): Move from here ...
7805 * include/grub/i386/vga_common.h: ... to here (new file).
7806
7807 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
7808 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
7809 `<grub/i386/io.h>'.
7810 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
7811 `<grub/i386/vga_common.h>'.
7812
76679cd3 78132008-11-12 Robert Millan <rmh@aybabtu.com>
7814
7815 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
7816 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
7817 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
7818 variables.
7819 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
7820 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
7821
7822 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
7823 grub_console_init() with call to grub_vga_text_init().
7824 (grub_machine_fini): Replace call to
7825 grub_console_fini() with call to grub_vga_text_fini() and
7826 grub_at_keyboard_fini().
7827
7828 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
7829 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
7830 (grub_console_setcolorstate, grub_console_setcolor)
7831 (grub_console_getcolor): New function prototypes.
7832
7833 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
7834 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
7835 (grub_vga_text_setcursor): Static-ize.
7836 (grub_vga_text_term): New structure.
7837 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
7838
7839 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
7840 (grub_console_cur_color, grub_console_standard_color)
7841 (grub_console_normal_color, grub_console_highlight_color)
7842 (map_char, grub_console_putchar, grub_console_getcharwidth)
7843 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
7844 (grub_console_getcolor): Move from here ...
7845 * term/i386/vga_common.c: ... to here (same function names).
7846
95b841d3 78472008-11-12 Robert Millan <rmh@aybabtu.com>
7848
7849 Use newly-added Multiboot support in coreboot.
7850
7851 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
7852 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
7853
7854 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
7855 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
7856 (codestart): Store the MBI in `startup_multiboot_info' when we're
7857 being loaded using Multiboot.
7858
7859 * kern/i386/coreboot/init.c (grub_machine_init): Move
7860 grub_at_keyboard_init() call to beginning of function (useful for
7861 debugging). Call grub_machine_mmap_init() before attempting to use
7862 grub_machine_mmap_iterate().
7863 (grub_lower_mem, grub_upper_mem): Move from here ...
7864 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
7865 here (new file).
7866
7867 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
7868 function prototype.
7869
761ca975 78702008-11-12 Robert Millan <rmh@aybabtu.com>
7871
7872 Fix a regression introduced by the at_keyboard.mod split. Because
7873 some terminals are default on some platforms and non-default on
7874 others, the first terminal being registered determines which is
7875 going to be default.
7876
7877 * kern/term.c (grub_term_register_input): If this is the first
7878 terminal being registered, set it as the current one.
7879 (grub_term_register_output): Likewise.
7880
7881 * term/efi/console.c (grub_console_init): Do not call
7882 grub_term_set_current_output() or grub_term_set_current_input().
7883 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
7884 * term/i386/pc/console.c (grub_console_init): Likewise.
7885 (grub_console_fini): Do not call grub_term_set_current_input()
7886 (but leave grub_term_set_current_output() to restore text mode).
7887
6c529df7 78882008-11-10 Robert Millan <rmh@aybabtu.com>
7889
7890 * util/grub.d/00_header.in: Add backward compatibility check for
7891 versions of terminal.mod that don't understand `terminal_input' or
7892 `terminal_output'.
7893
132e4113 78942008-11-09 Robert Millan <rmh@aybabtu.com>
7895
7896 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
7897 `terminal_input' / `terminal_output', not `terminal'.
7898
ac293d50 78992008-11-08 Robert Millan <rmh@aybabtu.com>
7900
7901 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 7902 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 7903
0025933a 79042008-11-08 Robert Millan <rmh@aybabtu.com>
7905
7906 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 7907 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 7908 members. Update all users.
7909 * util/console.c (grub_ncurses_term): Split in ...
7910 (grub_ncurses_term_input): ... this, and ...
7911 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 7912 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 7913
37c86336 79142008-11-08 Robert Millan <rmh@aybabtu.com>
7915
7916 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
7917 (PKGDATA): Add $(pkgdata_SRCDIR).
7918 (pkglib_BUILDDIR): New variable.
7919 (pkgdata_SRCDIR): New variable.
7920 (build_env.mk): New target.
7921 (include_DATA): New variable.
7922 (install-local): Install $(include_DATA) files in $(includedir).
7923
b6c15a2d 79242008-11-07 Pavel Roskin <proski@gnu.org>
7925
d99d46f1 7926 * gendistlist.sh: Use C locale for sorting to ensure consistent
7927 output on all systems.
7928
b6c15a2d 7929 * util/grub.d/00_header.in: Remove incorrect space before
7930 "serial".
7931
c32ee8c9 79322008-11-07 Robert Millan <rmh@aybabtu.com>
7933
7934 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
7935 per specification.
7936 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
7937 * loader/multiboot_loader.c (find_multi_boot2_header): New function
7938 (based on find_multi_boot1_header).
7939 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
7940 using find_multi_boot2_header(), and abort if neither Multiboot or
7941 Multiboot headers were found.
7942
651c29b7 79432008-11-07 Robert Millan <rmh@aybabtu.com>
7944
7945 Modularize at_keyboard.mod:
7946
7947 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
7948 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
7949 (at_keyboard_mod_LDFLAGS): New variables.
7950
7951 Actual terminal split:
7952
7953 * include/grub/term.h (struct grub_term): Split in ...
7954 (struct grub_term_input): ... this, and ...
7955 (struct grub_term_output): ... this. Update all users.
7956 (grub_term_set_current): Split in ...
7957 (grub_term_set_current_input): ... this, and ...
7958 (grub_term_set_current_output): ... this.
7959 (grub_term_get_current): Split in ...
7960 (grub_term_get_current_input): ... this, and ...
7961 (grub_term_get_current_output): ... this.
7962 (grub_term_register): Split in ...
7963 (grub_term_register_input): ... this, and ...
7964 (grub_term_register_output): ... this.
7965 (grub_term_unregister): Split in ...
7966 (grub_term_unregister_input): ... this, and ...
7967 (grub_term_unregister_output): ... this.
7968 (grub_term_iterate): Split in ...
7969 (grub_term_iterate_input): ... this, and ...
7970 (grub_term_iterate_output): ... this.
7971
7972 * kern/term.c (grub_term_list): Split in ...
7973 (grub_term_list_input): ... this, and ...
7974 (grub_term_list_output): ... this. Update all users.
7975 (grub_cur_term): Split in ...
7976 (grub_cur_term_input): ... this, and ...
7977 (grub_cur_term_output): ... this. Update all users.
7978 (grub_term_set_current): Split in ...
7979 (grub_term_set_current_input): ... this, and ...
7980 (grub_term_set_current_output): ... this.
7981 (grub_term_get_current): Split in ...
7982 (grub_term_get_current_input): ... this, and ...
7983 (grub_term_get_current_output): ... this.
7984 (grub_term_register): Split in ...
7985 (grub_term_register_input): ... this, and ...
7986 (grub_term_register_output): ... this.
7987 (grub_term_unregister): Split in ...
7988 (grub_term_unregister_input): ... this, and ...
7989 (grub_term_unregister_output): ... this.
7990 (grub_term_iterate): Split in ...
7991 (grub_term_iterate_input): ... this, and ...
7992 (grub_term_iterate_output): ... this.
7993
7994 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
7995 a check for input and one for output (and only attempt to get keys
7996 from user when input works).
7997
7998 * util/grub-probe.c (grub_term_get_current): Split in ...
7999 (grub_term_get_current_input): ... this, and ...
8000 (grub_term_get_current_output): ... this.
8001 * util/grub-fstest.c: Likewise.
8002 * util/i386/pc/grub-setup.c: Likewise.
8003 * util/grub-editenv.c: Likewise.
8004
8005 Portability adjustments:
8006
8007 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
8008 `term/i386/pc/at_keyboard.c'.
8009 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
8010 grub_keyboard_controller_init() (now handled by terminal .init).
8011 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
8012 grub_at_keyboard_init().
8013 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
8014 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
8015 at_keyboard.mod via input terminal interface).
8016 * include/grub/i386/coreboot/console.h: Convert into a stub for
8017 `<grub/i386/pc/console.h>'.
8018
8019 Migrate full terminals to new API:
8020
8021 * term/efi/console.c (grub_console_term): Split into ...
8022 (grub_console_term_input): ... this, and ...
8023 (grub_console_term_output): ... this. Update all users.
8024 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
8025 (grub_ofconsole_init): Split into ...
8026 (grub_ofconsole_init_input): ... this, and ...
8027 (grub_ofconsole_init_output): ... this.
8028 (grub_ofconsole_term): Split into ...
8029 (grub_ofconsole_term_input): ... this, and ...
8030 (grub_ofconsole_term_output): ... this. Update all users.
8031 * term/i386/pc/serial.c (grub_serial_term): Split into ...
8032 (grub_serial_term_input): ... this, and ...
8033 (grub_serial_term_output): ... this. Update all users.
8034 * term/i386/pc/console.c (grub_console_term): Split into ...
8035 (grub_console_term_input): ... this, and ...
8036 (grub_console_term_output): ... this. Update all users.
8037 (grub_console_term_input): Only enable it on PC/BIOS platform.
8038 (grub_console_init): Remove grub_keyboard_controller_init() call.
8039
8040 Migrate input terminals to new API:
8041
8042 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
8043 `i386' and `i386/pc' to enable build on x86_64 (this driver is
8044 i386-specific anyway).
8045 (grub_console_checkkey): Rename to ...
8046 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
8047 users.
8048 (grub_keyboard_controller_orig): New variable.
8049 (grub_console_getkey): Rename to ...
8050 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
8051 users.
8052 (grub_keyboard_controller_init): Static-ize. Save original
8053 controller value so that it can be restored ...
8054 (grub_keyboard_controller_fini): ... here (new function).
8055 (grub_at_keyboard_term): New structure.
8056 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
8057 functions.
8058
8059 Migrate output terminals to new API:
8060
8061 * term/i386/pc/vga.c (grub_vga_term): Change type to
8062 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
8063 members. Update all users.
8064 * term/gfxterm.c (grub_video_term): Change type to
8065 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
8066 members. Update all users.
8067 * include/grub/i386/pc/console.h (grub_console_checkkey)
8068 (grub_console_getkey): Do not export (no longer needed by gfxterm,
8069 etc).
8070
8071 Migrate `terminal' command and userland tools to new API:
8072
8073 * commands/terminal.c (grub_cmd_terminal): Split into ...
8074 (grub_cmd_terminal_input): ... this, and ...
8075 (grub_cmd_terminal_output): ... this.
8076 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
8077 `terminal_input' and `terminal_output'.
8078 * util/grub.d/00_header.in: Adjust `terminal' calls to new
8079 `terminal_input' / `terminal_output' API.
8080 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
8081 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
8082 provided ${GRUB_TERMINAL}, convert it).
8083
96e5d876 80842008-11-04 Robert Millan <rmh@aybabtu.com>
8085
8086 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
8087 for FreeBSD.
8088 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
8089
556f3775 80902008-11-03 Bean <bean123ch@gmail.com>
8091
8092 * kern/elf.c (grub_elf32_load): Revert to previous code.
8093 (grub_elf64_load): Likewise.
8094
8095 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
8096
926b9823 80972008-11-01 Robert Millan <rmh@aybabtu.com>
8098
8099 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
8100 (TARGET_CPPFLAGS): Likewise.
8101 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
8102
1432e958 81032008-11-01 Carles Pina i Estany <carles@pina.cat>
8104
8105 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
8106
dba3f844 81072008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 8108
8109 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
8110 addition of objects until the code is not going to be able to fail.
8111
dba3f844 81122008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 8113
8114 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
8115 (add a missing NULL check, and correct them by moving the pointer
8116 operations after the actual check).
8117
7ab28c21 81182008-10-29 Robert Millan <rmh@aybabtu.com>
8119
8120 * util/i386/pc/grub-install.in: Handle empty string as output from
8121 make_system_path_relative_to_its_root().
8122
1b7748eb 81232008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
8124
8125 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
8126 circular metadata worst case scenario. If the metadata is circular
8127 then copy the wrap in place.
8128 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
8129 project lib/format_text/layout.h
8130 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
8131
c9618ab2 81322008-10-03 Felix Zielcke <fzielcke@z-51.de>
8133
7a36edca 8134 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 8135
bf981c62 81362008-10-03 Felix Zielcke <fzielcke@z-51.de>
8137
8138 * util/update-grub_lib.in: Mention filename in warning message.
8139
6d994591 81402008-09-29 Felix Zielcke <fzielcke@z-51.de>
8141
8142 * NEWS: Update for rename of update-grub to grub-mkconfig.
8143
18ade780 81442008-09-29 Felix Zielcke <fzielcke@z-51.de>
8145
8146 * util/update-grub_lib.in: Copy to ...
8147 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 8148 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 8149 * util/update-grub.in: Rename to ...
8150 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
8151 option. Add `--output' option to allow users to specify the generated
8152 configuration file. Default to stdout.
8153 (update_grub_dir): Rename to ...
8154 (grub_mkconfig_dir): ... this.
8155 (grub_cfg): Default to an empty string.
8156 * conf/common.rmk (update-grub): Rename to ...
8157 (grub-mkconfig): ... this.
8158 (update-grub_lib): Copy to ...
8159 (grub-mkconfig_lib): ... this.
8160 (update-grub_SCRIPTS): Copy to ...
8161 (grub-mkconfig_SCRIPTS): ... this. Update all users.
8162 (update-grub_DATA): Rename to ...
8163 (grub-mkconfig_DATA): ... this.
8164
556ce6ac 81652008-09-28 Robert Millan <rmh@aybabtu.com>
8166
8167 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
8168 to `modified'. Add the real `created' field.
8169 (grub_iso9660_uuid): Use `modified' rather than `created' for
8170 constructing the UUID.
8171
81722008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 8173
8174 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
8175 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
8176
92274e85 81772008-09-28 Bean <bean123ch@gmail.com>
8178
8179 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
8180 Thanks to Christian Franke for finding this bug.
8181
add6f17a 81822008-09-25 Robert Millan <rmh@aybabtu.com>
8183
8184 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
8185 instances of grub_util_get_disk_name() (see previous commit).
8186
d2a367b8 81872008-09-25 Robert Millan <rmh@aybabtu.com>
8188
8189 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
8190 `util/i386/get_disk_name.c'.
8191 * conf/i386-efi.rmk: Likewise.
8192 * conf/x86_64-efi.rmk: Likewise.
8193 * conf/i386-coreboot.rmk: Likewise.
8194 * conf/i386-ieee1275.rmk: Likewise.
8195 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
8196 `util/ieee1275/get_disk_name.c'.
8197 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
8198 * util/ieee1275/get_disk_name.c: Remove file.
8199 * util/i386/get_disk_name.c: Remove file.
8200 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
8201 "hd%d" for device.map entries, rather than using
8202 grub_util_get_disk_name().
8203
81a06771 82042008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 8205
8206 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
8207 warning.
8208 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
8209
5a004279 82102008-09-24 Carles Pina i Estany <carles@pina.cat>
8211
8212 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
8213 Changed to 0x5100.
8214 (GRUB_TERM_PPAGE): Changed to 0x4900.
8215
397093d3 82162008-09-24 Robert Millan <rmh@aybabtu.com>
8217
8218 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
8219 macros (they were i386-pc specific).
8220 * include/grub/sparc64/ieee1275/console.h: Likewise.
8221 * include/grub/efi/console.h: Likewise.
8222
a91b6c7c 82232008-09-22 Bean <bean123ch@gmail.com>
8224
8225 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
8226 resident and in attribute list.
8227
8228 * include/grub/ntfs.h (BMP_LEN): Removed.
8229
c40fd116 82302008-09-22 Bean <bean123ch@gmail.com>
8231
81a06771 8232 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 8233 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
8234
8235 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
8236 error occurs, as grub_disk_open will call grub_disk_close, which will
8237 call p->close (scsi).
8238
81a06771 82392008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 8240
8241 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
8242 (AC_PREREQ): Bumped to 2.59.
8243 (AC_TRY_COMPILE): Replace obsolete macro with ...
8244 (AC_COMPILE_IFELSE): ... this.
8245 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
8246 (AC_LINK_IFELSE): ... this.
8247
5dc43410 82482008-09-21 Felix Zielcke <fzielcke@z-51.de>
8249
8250 * autogen.sh: Add a call to `gendistlist.sh'.
8251
9035dce4 82522008-09-19 Christian Franke <franke@computer.org>
8253
8254 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
8255 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
8256 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
8257 Export __enable_execute_stack() to modules.
8258 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
8259 New function.
8260
7fd75377 82612008-09-09 Felix Zielcke <fzielcke@z-51.de>
8262
040030b3 8263 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
8264 Sort the list.
8265
82662008-09-09 Felix Zielcke <fzielcke@z-51.de>
8267
8268 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 8269 #include <grub/util/hostdisk.h>.
8270
89d5ffcf 82712008-09-08 Robert Millan <rmh@aybabtu.com>
8272
8273 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
8274 segments when their filesz is zero (grub_file_read() interprets
81a06771 8275 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 8276 Use `lowest_segment' rather than 0 for calculating the current
8277 segment load address.
8278
40da438f 82792008-09-08 Robert Millan <rmh@aybabtu.com>
8280
8281 * util/hostdisk.c (open_device): Replace a grub_util_info() call
8282 with grub_dprintf("hostdisk", ...), as it was so verbose that it
8283 clobbered useful information.
8284
ddbf5556 82852008-09-08 Robert Millan <rmh@aybabtu.com>
8286
8287 * include/grub/util/biosdisk.h: Move to ...
8288 * include/grub/util/hostdisk.h: ... here. Update all users.
8289 * util/biosdisk.c: Move to ...
8290 * util/hostdisk.c: ... here. Update all users.
8291
783d0f48 82922008-09-07 Robert Millan <rmh@aybabtu.com>
8293
8294 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
8295 variables.
8296 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
8297 and length can be stored directly in the `mbi->mmap_addr' and
8298 `mbi->mmap_length' struct fields.
8299
548e2ea5 83002008-09-07 Robert Millan <rmh@aybabtu.com>
8301
8302 * conf/i386.rmk: New file. Provides declaration for building
8303 `cpuid.mod'.
8304 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
8305 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
8306 variables.
8307 Include `conf/i386.mk'.
8308 * conf/i386-efi.rmk: Likewise.
8309 * conf/x86_64-efi.rmk: Likewise.
8310 * conf/i386-coreboot.rmk: Likewise.
8311 * conf/i386-ieee1275.rmk: Likewise.
8312
0ea85a37 83132008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
8314
8315 Based on patch created by Colin D Bennett <colin@gibibit.com>.
8316 Adds optimization support for BGR based modes.
8317
8318 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
8319 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
8320 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
8321 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
8322 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
8323 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
8324 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
8325 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
8326 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
8327 (grub_video_i386_vbeblit_index_index): Likewise.
8328 (grub_video_i386_vbeblit_replace_directN): Added.
8329 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
8330 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
8331 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
8332 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
8333 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
8334 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 8335 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 8336 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
8337 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
8338 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
8339 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
8340 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
8341 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
8342
8343 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
8344 (grub_video_i386_vbefill_R8G8B8): Likewise.
8345 (grub_video_i386_vbefill_index): Likewise.
8346 (grub_video_i386_vbefill_direct32): Added.
8347 (grub_video_i386_vbefill_direct24): Likewise.
8348 (grub_video_i386_vbefill_direct16): Likewise.
8349 (grub_video_i386_vbefill_direct8): Likewise.
8350
81a06771 8351 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 8352 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
8353 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
8354 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
8355 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
8356 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 8357
0ea85a37 8358 * video/video.c (grub_video_get_blit_format): Updated to use new
8359 blit formats. Added handling for 16 bit color modes.
81a06771 8360
8361 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 8362 fillers.
8363 (common_blitter): Updated to use new blitters.
8364
8365 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
8366 Removed.
8367 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
8368 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
8369 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
8370 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
8371 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
8372 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
8373 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
8374 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
8375 (grub_video_i386_vbeblit_index_index): Likewise.
8376 (grub_video_i386_vbeblit_replace_directN): Added.
8377 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
8378 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
8379 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
8380 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
8381 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
8382 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
8383 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
8384 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
8385 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
8386 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
8387 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
8388 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
8389 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 8390
0ea85a37 8391 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
8392 (grub_video_i386_vbefill_R8G8B8): Likewise.
8393 (grub_video_i386_vbefill_index): Likewise.
8394 (grub_video_i386_vbefill_direct32): Added.
8395 (grub_video_i386_vbefill_direct24): Likewise.
8396 (grub_video_i386_vbefill_direct16): Likewise.
8397 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 8398
0ea85a37 8399 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
8400 types.
81a06771 8401
0ea85a37 8402 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
8403 types.
81a06771 8404
0ea85a37 8405 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
8406 blitter types.
81a06771 8407
0ea85a37 8408 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
8409 types.
8410
e8a83df6 84112008-09-06 Felix Zielcke <fzielcke@z-51.de>
8412
8413 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
8414 RAID level 1.
8415
6bcd8ee5 84162008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 8417
6bcd8ee5 8418 * fs/iso9660.c (grub_iso9660_date): New structure.
8419 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
8420 (grub_iso9660_uuid): New function.
c375ae58 8421
59261157 84222008-09-05 Bean <bean123ch@gmail.com>
8423
8424 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
8425
8426 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
8427 insensitive bit for names in Win32 and Win32 & DOS namespace.
8428
8429 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
8430
8431 * include/grub/types.h (LONG_MAX): Likewise.
8432
58b6645a 84332008-09-04 Felix Zielcke <fzielcke@z-51.de>
8434
4ee55921 8435 * util/getroot.c: Include <config.h>.
8436 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
8437 add support for /dev/md/N devices and handle LVM double dash escaping.
8438
84392008-09-04 Felix Zielcke <fzielcke@z-51.de>
8440
8441 * config.guess: Update to latest version from config git.
8442 * config.sub: Likewise.
58b6645a 8443
9124f65d 84442008-09-03 Robert Millan <rmh@aybabtu.com>
8445
8446 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
8447 `disk->total_sectors'.
8448
81a06771 84492008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 8450
8451 * include/grub/normal.h: Fixed incorrect comment for
8452 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
8453
81a06771 84542008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 8455
8456 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
8457 values with defines.
8458
8459 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
8460 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
8461 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
8462 (GRUB_VBE_MODEATTR_COLOR): Likewise.
8463 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
8464 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
8465 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
8466 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
8467 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
8468 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
8469 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
8470 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
8471 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
8472 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
8473 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
8474 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
8475 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
8476 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
8477 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
8478
93d5cbf8 84792008-08-31 Robert Millan <rmh@aybabtu.com>
8480
8481 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
8482 declaration.
8483 (grub_multiboot): Fix a few warnings.
8484
21751d50 84852008-08-31 Robert Millan <rmh@aybabtu.com>
8486
8487 * loader/i386/pc/multiboot.c: Update comment not to say that
8488 boot_device support is unimplemented.
8489
e27a75c5 84902008-08-31 Robert Millan <rmh@aybabtu.com>
8491
8492 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
8493 or memory map support are unimplemented.
8494
81a06771 84952008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 8496
8497 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
8498
81a06771 84992008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 8500
8501 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
8502 total video memory in 'vbeinfo' output; show color format details for
8503 each video mode.
8504
7c5d8d95 85052008-08-30 Pavel Roskin <proski@gnu.org>
8506
8507 * util/genmoddep.c: Remove for real this time.
8508 * DISTLIST: Remove util/genmoddep.c.
8509
4cebd25a 85102008-08-30 Robert Millan <rmh@aybabtu.com>
8511
8512 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
8513 as required by Multiboot spec (it was already 4-byte aligned, but
8514 only by chance).
8515
b497a269 85162008-08-29 Pavel Roskin <proski@gnu.org>
8517
e3925185 8518 * kern/powerpc/ieee1275/crt0.S: Rename to ...
8519 * kern/powerpc/ieee1275/startup.S: ... this.
8520 * conf/powerpc-ieee1275.rmk: Adjust for the above.
8521 * DISTLIST: Likewise.
8522
b497a269 8523 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
8524 grub/cpu/kernel.h. Add start label for consistency with other
8525 platforms. Add grub_prefix immediately after start. Add jump
8526 to the code after grub_prefix.
8527 * include/grub/powerpc/kernel.h: Provide valid values for
8528 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
8529
6e5a42fe 85302008-08-29 Bean <bean123ch@gmail.com>
8531
8532 * configure.ac: Change host_os to cygwin for mingw.
8533 (asprintf): New check for function.
8534
8535 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
8536 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
8537
8538 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 8539 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 8540 sync, sleep and grub_util_get_disk_size for mingw.
8541
8542 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
8543 to get size in mingw.
8544 (open_device): Use flag O_BINARY if it's defined.
8545 (find_root_device): Add dummy code for mingw.
8546
8547 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
8548 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
8549 (get_scsi_disk_name): Return 0 for mingw.
8550
8551 * util/hostfs.c: #include <grub/util/misc.h>.
8552 (grub_hostfs_open): Use "rb" flag to open file, use
8553 grub_util_get_disk_size to get disk size for mingw.
8554
8555 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
8556 (asprintf): New function if HAVE_ASPRINTF is not set.
8557 (sync): New function for mingw.
8558 (sleep): Likewise.
8559 (grub_util_get_disk_size): Likewise.
8560
ab3f2673 85612008-08-28 Pavel Roskin <proski@gnu.org>
8562
8563 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
8564 kern/time.c.
8565
1c282483 85662008-08-28 Robert Millan <rmh@aybabtu.com>
8567
8568 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
8569
678e849c 85702008-08-28 Robert Millan <rmh@aybabtu.com>
8571
8572 Change find_grub_drive() syntax so it doesn't prevent it from
8573 detecting NULL names as errors.
8574
8575 * util/biosdisk.c (find_grub_drive): Move free slot search code
8576 from here ...
8577 (find_free_slot): ... to here.
8578 (read_device_map): Use find_free_slot() to search for free slots.
8579
965c75ca 85802008-08-27 Marco Gerards <marco@gnu.org>
8581
8582 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
8583 (scsi_mod_SOURCES): New variable.
8584 (scsi_mod_CFLAGS): Likewise
8585 (scsi_mod_LDFLAGS): Likewise.
8586
8587 * disk/scsi.c: New file.
8588
8589 * include/grub/scsi.h: Likewise.
8590
8591 * include/grub/scsicmd.h: Likewise.
8592
8593 * disk/ata.c: Include <grub/scsi.h>.
8594 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
8595 instead.
8596 (grub_ata_iterate): Skip ATAPI devices.
8597 (grub_ata_open): Only handle ATAPI devices.
8598 (struct grub_atapi_read): Removed.
8599 (grub_atapi_readsector): Likewise.
8600 (grub_ata_read): No longer handle ATAPI devices.
8601 (grub_ata_write): Likewise.
8602 (grub_atapi_iterate): New function.
8603 (grub_atapi_read): Likewise.
8604 (grub_atapi_write): Likewise.
8605 (grub_atapi_open): Likewise.
8606 (grub_atapi_close): Likewise.
8607 (grub_atapi_dev): New variable.
8608 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
8609 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
8610
8611 * include/grub/disk.h (enum grub_disk_dev_id): Add
8612 `GRUB_DISK_DEVICE_SCSI_ID'.
8613
c07ae501 86142008-08-26 Robert Millan <rmh@aybabtu.com>
8615
8616 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
8617 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
8618 descriptive.
8619
5ed20adc 86202008-08-23 Bean <bean123ch@gmail.com>
8621
8622 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
8623 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
8624 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
8625 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
8626 dm_nv.mod.
8627 (raid5rec_mod_SOURCES): New macro.
8628 (raid5rec_mod_CFLAGS): Likewise.
8629 (raid5rec_mod_LDFLAGS): Likewise.
8630 (raid6rec_mod_SOURCES): Likewise.
8631 (raid6rec_mod_CFLAGS): Likewise.
8632 (raid6rec_mod_LDFLAGS): Likewise.
8633 (mdraid_mod_SOURCES): Likewise.
8634 (mdraid_mod_CFLAGS): Likewise.
8635 (mdraid_mod_LDFLAGS): Likewise.
8636 (dm_nv_mod_SOURCES): Likewise.
8637 (dm_nv_mod_CFLAGS): Likewise.
8638 (dm_nv_mod_LDFLAGS): Likewise.
8639
8640 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
8641 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
8642 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
8643
8644 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
8645 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
8646
8647 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
8648
8649 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8650
8651 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8652
8653 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8654
8655 * disk/raid5_recover.c: New file.
8656
8657 * disk/raid6_recover.c: Likewise.
8658
8659 * disk/mdraid_linux.c: Likewise.
8660
8661 * disk/dmraid_nvidia.c: Likewise.
8662
8663 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
8664 ULONG_MAX.
8665
8666 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
8667 calculate the size of raid device.
8668 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
8669 different layout of raid5.
8670 (grub_raid_scan_device): Remove code specific to mdraid.
8671 (grub_raid_list): New variable.
8672 (free_array): New function.
8673 (grub_raid_register): Likewise.
8674 (grub_raid_unregister): Likewise.
8675 (grub_raid_rescan): Likewise.
8676 (GRUB_MOD_INIT): Don't iterate device here.
8677 (GRUB_MOD_FINI): Use free_array to release resource.
8678
8679 * include/grub/raid.h: Remove macro and structure specific to mdraid.
8680 (grub_raid5_recover_func_t): New function variable type.
8681 (grub_raid6_recover_func_t): Likewise.
8682 (grub_raid5_recover_func): New variable.
8683 (grub_raid6_recover_func): Likewise.
8684 (grub_raid_register): New function.
8685 (grub_raid_unregister): Likewise.
8686 (grub_raid_rescan): Likewise.
8687 (grub_raid_block_xor): Likewise.
8688
8689 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
8690 (CMD_CRC): New macro.
8691 (part): Removed.
8692 (read_file): Handle device as well as file.
8693 (cmd_crc): New function.
8694 (fstest): Handle multiple disks.
8695 (options): Remove part, raw and long, add root and diskcount.
8696 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 8697 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 8698 add handling for the new options, support multiple disks.
8699
8700 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
8701
29c18915 87022008-08-23 Bean <bean123ch@gmail.com>
8703
8704 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
8705
8706 * genfslist.sh: Ignore kernel.mod.
8707
8708 * genpartmaplist.sh: Likewise.
8709
8415f261 87102008-08-23 Robert Millan <rmh@aybabtu.com>
8711
8712 * util/getroot.c (find_root_device): Skip anything that starts with
8713 a dot, not just directories. This avoids things like /dev/.tmp.md0.
8714
d5a7dc5b 87152008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 8716
d5a7dc5b 8717 * util/update-grub.in (GRUB_GFXMODE): Export variable.
8718 * util/grub.d/00_header.in: Allow the administrator to change default
8719 gfxmode via ${GRUB_GFXMODE}.
8720
380cfbb4 87212008-08-21 Felix Zielcke <fzielcke@z-51.de>
8722
8723 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
8724
c9baafe7 87252008-08-21 Robert Millan <rmh@aybabtu.com>
8726
8727 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
8728 loader.
8729 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
8730 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
8731
e290bef2 87322008-08-20 Carles Pina i Estany <carles@pina.cat>
8733
8734 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
8735 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
8736
f9dbfc96 87372008-08-19 Robert Millan <rmh@aybabtu.com>
8738
8739 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
8740 (struct grub_virtual_screen): Remove `cursor_color'.
8741 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
8742 initialization.
8743 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
8744
dd6bd6ab 87452008-08-18 Robert Millan <rmh@aybabtu.com>
8746
8747 Unify (identical) linux_normal.c files.
8748 * loader/i386/efi/linux_normal.c: Move from here ...
8749 * loader/linux_normal.c: ... to here. Update all users.
8750 * loader/i386/pc/linux_normal.c: Delete. Update all users.
8751 * loader/i386/ieee1275/linux_normal.c: Likewise.
8752
7f42f83e 87532008-08-18 Robert Millan <rmh@aybabtu.com>
8754
8755 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
8756 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
8757 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
8758 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
8759 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
8760 New macros.
8761 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
8762 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
8763 (GRUB_LINUX_CL_END_OFFSET): ... to here.
8764 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
8765 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
8766 (GRUB_EFI_CL_END_OFFSET): Rename to ...
8767 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
8768 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
8769 Initialize `params->video_cursor_x' and `params->video_cursor_y'
8770 portably using grub_getxy().
8771 Replace `-EFI' with `-bzImage' in boot message.
8772
38487ddb 87732008-08-17 Robert Millan <rmh@aybabtu.com>
8774
8775 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
8776
deceb3ec 87772008-08-17 Robert Millan <rmh@aybabtu.com>
8778
8779 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
8780
8781 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
8782 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
8783 (grub_machine_mmap_iterate): New function declaration.
8784 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
8785 structure.
8786 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
8787 macros.
8788
8789 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
8790 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
8791 Move e820 parsing from here ...
8792 * kern/i386/pc/mmap.c: New file.
8793 (grub_machine_mmap_iterate): ... to here.
8794
8795 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
8796 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
8797 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
8798 (grub_available_iterate): Redeclare to return `void', and redeclare
8799 its hook to use grub_uint64_t as addr and size parameters, and rename
8800 to ...
8801 (grub_machine_mmap_iterate): ... this. Update all users.
8802
8803 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
8804 to make it more readable. Rename to ...
8805 (grub_machine_mmap_iterate): ... this.
8806
8807 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
8808 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
8809 (grub_multiboot): Allocate an extra region after the payload, and fill
8810 it with a Multiboot memory map. Adjust a.out loader to calculate size
8811 with the extra space.
8812 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
8813 with the extra space.
8814
f8aa0f43 88152008-08-17 Carles Pina i Estany <carles@pina.cat>
8816
9807deb9 8817 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 8818
605f5bb6 88192008-08-17 Felix Zielcke <fzielcke@z-51.de>
8820
8821 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
8822 mdate-sh to the list `find' searches for.
8823 * DISTLIST: Regenerated.
8824
210db6c6 88252008-08-16 Felix Zielcke <fzielcke@z-51.de>
8826
8827 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
8828 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 8829 genmoddep.awk, gensymlist.sh.in.
8830 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 8831 * DISTLIST: Regenerated.
48cdbfd4 8832 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 8833
1082b929 88342008-08-16 Robert Millan <rmh@aybabtu.com>
8835
8836 * disk/raid.c (grub_raid_init): Handle/report errors set by
8837 grub_device_iterate().
8838 * disk/lvm.c (grub_lvm_init): Likewise.
8839
42ce5170 88402008-08-15 Bean <bean123ch@gmail.com>
8841
8842 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
8843 and datehook.mod.
8844 (datetime_mod_SOURCES): New macro.
8845 (datetime_mod_CFLAGS): Likewise.
8846 (datetime_mod_LDFLAGS): Likewise.
8847 (date_mod_SOURCES): Likewise.
8848 (date_mod_CFLAGS): Likewise.
8849 (date_mod_LDFLAGS): Likewise.
8850 (datehook_mod_SOURCES): Likewise.
8851 (datehook_mod_CFLAGS): Likewise.
8852 (datehook_mod_LDFLAGS): Likewise.
8853
8854 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
8855 and datehook.mod.
8856 (datetime_mod_SOURCES): New macro.
8857 (datetime_mod_CFLAGS): Likewise.
8858 (datetime_mod_LDFLAGS): Likewise.
8859 (date_mod_SOURCES): Likewise.
8860 (date_mod_CFLAGS): Likewise.
8861 (date_mod_LDFLAGS): Likewise.
8862 (datehook_mod_SOURCES): Likewise.
8863 (datehook_mod_CFLAGS): Likewise.
8864 (datehook_mod_LDFLAGS): Likewise.
8865
8866 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
8867 and datehook.mod.
8868 (datetime_mod_SOURCES): New macro.
8869 (datetime_mod_CFLAGS): Likewise.
8870 (datetime_mod_LDFLAGS): Likewise.
8871 (date_mod_SOURCES): Likewise.
8872 (date_mod_CFLAGS): Likewise.
8873 (date_mod_LDFLAGS): Likewise.
8874 (datehook_mod_SOURCES): Likewise.
8875 (datehook_mod_CFLAGS): Likewise.
8876 (datehook_mod_LDFLAGS): Likewise.
8877
8878 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
8879 and datehook.mod.
8880 (datetime_mod_SOURCES): New macro.
8881 (datetime_mod_CFLAGS): Likewise.
8882 (datetime_mod_LDFLAGS): Likewise.
8883 (date_mod_SOURCES): Likewise.
8884 (date_mod_CFLAGS): Likewise.
8885 (date_mod_LDFLAGS): Likewise.
8886 (datehook_mod_SOURCES): Likewise.
8887 (datehook_mod_CFLAGS): Likewise.
8888 (datehook_mod_LDFLAGS): Likewise.
8889
8890 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
8891 and datehook.mod.
8892 (datetime_mod_SOURCES): New macro.
8893 (datetime_mod_CFLAGS): Likewise.
8894 (datetime_mod_LDFLAGS): Likewise.
8895 (date_mod_SOURCES): Likewise.
8896 (date_mod_CFLAGS): Likewise.
8897 (date_mod_LDFLAGS): Likewise.
8898 (datehook_mod_SOURCES): Likewise.
8899 (datehook_mod_CFLAGS): Likewise.
8900 (datehook_mod_LDFLAGS): Likewise.
8901
8902 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
8903
8904 * commands/date.c: New file.
8905
8906 * hook/datehook.c: Likewise.
8907
8908 * include/grub/lib/datetime.h: Likewise.
8909
8910 * include/grub/i386/cmos.h: Likewise.
8911
8912 * lib/datetime.c: Likewise.
8913
8914 * lib/i386/datetime.c: Likewise.
8915
8916 * lib/efi/datetime.c: Likewise.
8917
0e9242da 89182008-08-14 Robert Millan <rmh@aybabtu.com>
8919
8920 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
8921 (grub_mkelfimage_SOURCES): New variable.
8922 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
8923
8924 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
8925 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
8926 * conf/powerpc-ieee1275.rmk: Likewise.
8927 * conf/i386-ieee1275.rmk: Likewise.
8928
8929 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
8930 * kern/i386/coreboot/init.c: Likewise.
8931
8932 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
8933 with `<grub/cpu/kernel.h>'.
8934 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
8935 to ...
8936 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
8937 * kern/i386/coreboot/startup.S: Likewise.
8938
8939 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
8940 (GRUB_MOD_GAP): Remove.
8941 * include/grub/powerpc/kernel.h: New file.
8942 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
8943 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
8944 * include/grub/i386/kernel.h: New file.
8945 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
8946 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
8947 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
8948
8949 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
8950 `grub-mkelfimage'.
8951 Use --directory when invoking grub_mkimage.
8952
8953 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
8954 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
8955 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
8956 and GRUB_KERNEL_CPU_PREFIX.
8957
b86408f8 89582008-08-14 Felix Zielcke <fzielcke@z-51.de>
8959
d5e619ca 8960 * include/grub/err.h (grub_err_printf): New function prototype.
8961 * util/misc.c (grub_err_printf): New function.
8962 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
8963 grub_printf.
8964 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 8965
7161f0e0 89662008-08-13 Robert Millan <rmh@aybabtu.com>
8967
8968 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
8969
a1967522 89702008-08-13 Robert Millan <rmh@aybabtu.com>
8971
8972 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
8973 boot entry.
8974
371458b5 89752008-08-12 Robert Millan <rmh@aybabtu.com>
8976
8977 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
8978 of the relocation code from here ...
8979 (grub_multiboot): ... to here.
8980 (forward_relocator, backward_relocator): Move from here ...
8981 * kern/i386/loader.S (grub_multiboot_forward_relocator)
8982 (grub_multiboot_backward_relocator): ... to here.
8983 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
8984 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
8985 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
8986 (grub_multiboot_forward_relocator_end)
8987 (grub_multiboot_backward_relocator)
8988 (grub_multiboot_backward_relocator_end): New variables.
8989
05f9452b 89902008-08-12 Bean <bean123ch@gmail.com>
8991
8992 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
8993
20024ab0 89942008-08-11 Robert Millan <rmh@aybabtu.com>
8995
8996 * kern/i386/linuxbios/startup.S: Move from here ...
8997 * kern/i386/coreboot/startup.S: ... to here.
8998
8999 * kern/i386/linuxbios/init.c: Move from here ...
9000 * kern/i386/coreboot/init.c: ... to here.
9001
9002 * kern/i386/linuxbios/table.c: Move from here ...
9003 * kern/i386/coreboot/mmap.c: ... to here.
9004
9005 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
9006
e352e9cd 90072008-08-11 Robert Millan <rmh@aybabtu.com>
9008
9009 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
9010 errors. Leave it to the upper layer to handle them.
9011
2d05bc6a 90122008-08-09 Christian Franke <franke@computer.org>
9013
9014 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
9015 * conf/common.rmk: Install `grub-pe2elf' only if requested.
9016 Install `grub.d/10_windows' only on Cygwin.
9017 * configure.ac: Add subst of `target_os'.
9018 Check `target_os' also before setting TARGET_OBJ2ELF.
9019 Add `--enable-grub-pe2elf'.
9020
042bd419 90212008-08-08 Robert Millan <rmh@aybabtu.com>
9022
9023 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
9024 (grub_last_time): Change type to grub_uint64_t.
9025 (grub_disk_open): Migrate code from to using grub_get_time_ms().
9026 (grub_disk_close): Likewise.
9027
9028 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
9029 (run_menu): Migrate code from to using grub_get_time_ms().
9030
9031 * util/misc.c (grub_get_time_ms): New function.
9032
7f280db5 90332008-08-08 Marco Gerards <marco@gnu.org>
9034
9035 * disk/ata.c (grub_ata_regget): Change return type to
9036 `grub_uint8_t'.
9037 (grub_ata_regget2): Likewise.
9038 (grub_ata_wait_status): New function.
9039 (grub_ata_wait_busy): Removed function, updated all users to use
9040 `grub_ata_wait_status'.
9041 (grub_ata_wait_drq): Likewise.
9042 (grub_ata_cmd): New function.
9043 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
9044 error handling.
9045 (grub_ata_pio_write): Add error handling.
9046 (grub_atapi_identify): Likewise.
9047 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
9048 handling.
9049 (grub_ata_identify): Use `grub_ata_cmd' and improve error
9050 handling. Actually use the detected registers. Reorder the
9051 detection logic such that it is easier to read.
9052 (grub_ata_pciinit): Do not assign the same ID to each controller.
9053 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
9054 handling.
9055 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
9056
9057 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
9058
1fbc5e66 90592008-08-08 Marco Gerards <marco@gnu.org>
9060
9061 * NEWS: Update.
9062
819ce6c0 90632008-08-07 Bean <bean123ch@gmail.com>
9064
9065 * include/grub/x86_64/pci.h: New file.
9066
5c41d44d 90672008-08-07 Christian Franke <franke@computer.org>
9068
9069 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
9070 (TIMER2_GATE): Likewise.
9071 (grub_pit_wait): Add enable/disable of the timer2 gate
9072 bit of port 0x61. This fixes a possible infinite loop.
9073
5ebc275d 90742008-08-07 Bean <bean123ch@gmail.com>
9075
9076 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
9077 kern/i386/tsc.c and kern/i386/pit.c.
9078
9079 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
9080 x86_64 platform.
9081
9082 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
9083 <grub/i386/tsc.h>.
9084
9085 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
9086
e383b3d0 90872008-08-07 Bean <bean123ch@gmail.com>
9088
9089 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
9090
9091 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
9092
9093 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
9094 multiple inclusion. Add #include <grub/types.h>.
9095
1cbb58ac 90962008-08-06 Christian Franke <franke@computer.org>
9097
9098 * conf/common.rmk: Build and install `10_windows'.
9099 * util/grub.d/10_windows.in: New script.
9100
337f5a1e 91012008-08-06 Pavel Roskin <proski@gnu.org>
9102
9103 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
9104
057bc4ac 91052008-08-06 Robert Millan <rmh@aybabtu.com>
9106
9107 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
9108 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
9109
2b99f123 91102008-08-06 Bean <bean123ch@gmail.com>
9111
9112 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
9113 (grub_pxefs_fs_int): Remove dummy definition.
9114 (grub_pxefs_open): Use data->block_size to store the current block
9115 size setting.
9116 (grub_pxefs_read): Use block size stored in data->block_size. As the
9117 value of grub_pxe_blksize can be changed after the file is opened.
9118
9f0234cb 91192008-08-06 Bean <bean123ch@gmail.com>
9120
9121 * fs/i386/pc/pxe.c (curr_file): new variable.
9122 (grub_pxefs_open): Simply the handling of pxe file system. Don't
9123 require the dummy internal file system anymore.
9124 (grub_pxefs_read): Removed.
9125 (grub_pxefs_close): Likewise.
9126 (grub_pxefs_fs_int): Likewise.
9127 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
9128 connection when we switch file.
9129 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
9130
a55d42e0 91312008-08-06 Robert Millan <rmh@aybabtu.com>
9132
9133 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
9134 `halt.mod'.
9135 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
9136 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
9137
9138 * kern/i386/halt.c: New file.
9139 * kern/i386/reboot.c: Likewise.
9140 * include/grub/i386/reboot.h: Likewise.
9141 * include/grub/i386/halt.h: Likewise.
9142
9143 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
9144 Include `<grub/cpu/halt.h>'.
9145 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
9146 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
9147
9148 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
9149 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
9150 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
9151 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
9152 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
9153 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
9154 from here ...
9155 * include/grub/i386/at_keyboard.h: ... to here.
9156
24371d26 91572008-08-05 Robert Millan <rmh@aybabtu.com>
9158
9159 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
9160 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
9161 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
9162 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
9163 `kern/generic/millisleep.c'.
9164
9165 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
9166 instead of grub_get_rtc().
9167 (grub_tsc_init): Initialize `tsc_boot_time'.
9168
9169 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
9170 (grub_machine_init): Use grub_tsc_init() rather than
9171 installing an RTC-based handler via grub_install_get_time_ms().
9172
9173 * kern/i386/pit.c: New file.
9174 * include/grub/i386/pit.h: Likewise.
9175
9e7007b3 91762008-08-05 Bean <bean123ch@gmail.com>
9177
9178 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
9179
9180 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
9181 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
9182 (pxe_mod_SOURCES): New macro.
9183 (pxe_mod_CFLAGS): Likewise.
9184 (pxe_mod_LDFLAGS): Likewise.
9185 (pxecmd_mod_SOURCES): Likewise.
9186 (pxecmd_mod_CFLAGS): Likewise.
9187 (pxecmd_mod_LDFLAGS): Likewise.
9188
9189 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
9190 (grub_pxe_call): Likewise.
9191
9192 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
9193
9194 * commands/i386/pc/pxecmd.c: New file.
9195
9f0234cb 9196 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 9197
9198 * include/grub/i386/pc/pxe.h: Likewise.
9199
6977d49f 92002008-08-05 Bean <bean123ch@gmail.com>
9201
9202 * util/console.c (grub_console_cur_color): New variable.
9203 (grub_console_standard_color): Likewise.
9204 (grub_console_normal_color): Likewise.
9205 (grub_console_highlight_color): Likewise.
9206 (color_map): Likewise.
9207 (use_color): Likewise.
9208 (NUM_COLORS): New macro.
9209 (grub_ncurses_setcolorstate): Handle color properly.
9210 (grub_ncurses_setcolor): Don't change color here, just remember the
9211 settings, color will be set in grub_ncurses_setcolorstate.
9212 (grub_ncurses_getcolor): New function.
9213 (grub_ncurses_init): Initialize color pairs.
9214 (grub_ncurses_term): New member grub_ncurses_getcolor.
9215
9c2ff3ee 92162008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 9217
9c2ff3ee 9218 High resolution timer support. Implemented for x86 CPUs using TSC.
9219 Extracted generic grub_millisleep() so it's linked in only as needed.
9220 This requires a Pentium compatible CPU; if the RDTSC instruction is
9221 not supported, then it falls back on the generic grub_get_time_ms()
9222 implementation that uses the machine's RTC.
9223
9224 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
9225 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
9226 `kern/generic/millisleep.c'.
9227
9228 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
9229 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
9230
9231 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
9232 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
9233
9234 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
9235
9236 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
9237 `kern/generic/millisleep.c'.
9238
9239 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
9240
9241 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
9242
9243 * kern/generic/rtc_get_time_ms.c: New file.
9244
9245 * kern/generic/millisleep.c: New file.
337f5a1e 9246
9c2ff3ee 9247 * kern/misc.c: Don't include
9248 <kern/time.h> anymore.
9249 (grub_millisleep_generic): Removed.
9250
9251 * commands/sleep.c (grub_interruptible_millisleep): Uses
9252 grub_get_time_ms() instead of grub_get_rtc().
9253
9254 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
9255 function.
9256 (grub_cpu_is_cpuid_supported): New inline function.
9257 (grub_cpu_is_tsc_supported): New inline function.
9258 (grub_tsc_init): New function prototype.
9259 (grub_tsc_get_time_ms): New function prototype.
9260
9261 * kern/i386/tsc.c (grub_get_time_ms): New file.
9262
9263 * include/grub/time.h: Include <grub/types.h.
9264 (grub_millisleep_generic): Removed.
9265 (grub_get_time_ms): New prototype.
9266 (grub_install_get_time_ms): New prototype.
9267 (grub_rtc_get_time_ms): New prototype.
9268
9269 * kern/time.c (grub_get_time_ms): New function.
9270 (grub_install_get_time_ms): New function.
9271
9272 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
9273 <grub/time.h> anymore.
9274 (grub_millisleep): Removed.
9275 (grub_machine_init): Call grub_tsc_init.
9276
9277 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
9278 get_time_ms() implementation.
9279
9280 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
9281 (ieee1275_get_time_ms): New function.
9282 (grub_machine_init): Install get_time_ms() implementation.
9283
9284 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
9285 (grub_machine_init): Call grub_tsc_init().
9286 (grub_millisleep): Removed.
bf06a93f 9287
9c2ff3ee 9288 * kern/ieee1275/init.c (grub_millisleep): Removed.
9289 (grub_machine_init): Install ieee1275_get_time_ms()
9290 implementation.
9291 (ieee1275_get_time_ms): New function.
9292 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
9293 real work.
9294
9ec92aaf 92952008-08-05 Marco Gerards <marco@gnu.org>
9296
9297 * disk/ata.c: Include <grub/pci.h>.
9298 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
9299 (grub_ata_initialize): Rewritten.
9300 (grub_ata_device_initialize): New function.
9301
8d23f507 93022008-08-04 Pavel Roskin <proski@gnu.org>
9303
9304 * kern/main.c: Include grub/mm.h.
9305
5e15ee3d 93062008-08-04 Robert Millan <rmh@aybabtu.com>
9307
9308 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
9309 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
9310 corruption problem).
9311
a9053f8f 93122008-08-04 Robert Millan <rmh@aybabtu.com>
9313
9314 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
9315 warnings introduced in my last commit.
9316
dd19c7d7 93172008-08-03 Robert Millan <rmh@aybabtu.com>
9318
9319 Make PCI available on all i386 architectures.
9320
9321 * include/grub/i386/pc/pci.h: Move from here ...
9322 * include/grub/i386/pci.h: ... to here.
9323
9324 * include/grub/i386/pc/pci.h: Remove.
9325 * include/grub/i386/efi/pci.h: Remove.
9326 * include/grub/x86_64/efi/pci.h: Remove.
9327
9328 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
9329 `<grub/cpu/pci.h>'.
9330
9331 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
9332 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
9333 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
9334
9335 * conf/i386-ieee1275.rmk: Likewise.
9336
e14a6184 93372008-08-03 Robert Millan <rmh@aybabtu.com>
9338
9339 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
9340 (grub_console_setcursor): Make it possible to set cursor off.
9341
52768e37 93422008-08-03 Robert Millan <rmh@aybabtu.com>
9343
9344 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
9345 of modules instead of assuming which platform provides what.
9346 * util/update-grub.in: Likewise.
9347
2d52f57f 93482008-08-03 Robert Millan <rmh@aybabtu.com>
9349
9350 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
9351 instead of `grub_install_dos_part' to determine whether a drive needs
9352 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 9353 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 9354
2a5cd121 93552008-08-02 Robert Millan <rmh@aybabtu.com>
9356
9357 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
9358
93808428 93592008-08-02 Robert Millan <rmh@aybabtu.com>
9360
9361 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
9362 of informational grub_dprintf() calls.
9363
3bd0a12a 93642008-08-02 Robert Millan <rmh@aybabtu.com>
9365
9366 * disk/memdisk.c (memdisk_size): Don't initialize.
9367 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
9368
9369 * include/grub/i386/pc/kernel.h
9370 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
9371 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
9372 (grub_memdisk_image_size, grub_arch_memdisk_addr)
9373 (grub_arch_memdisk_size): Remove.
9374
9375 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
9376 field (was only used to transfer a constant). Add `type' field to
9377 support multiple module types.
9378 (grub_module_iterate): New function.
9379
9380 * kern/device.c (grub_device_open): Do not hide error messages
9381 when grub_disk_open() fails. Use grub_print_error() instead.
9382
9383 * kern/i386/pc/init.c (grub_arch_modules_addr)
9384 (grub_arch_memdisk_size): Remove functions.
9385 (grub_arch_modules_addr): Return the module address in high memory
9386 (now that it isn't copied anymore).
9387
9388 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
9389 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
9390 decompression routine (grub_total_module_size already includes that
9391 now). Don't copy modules back to low memory.
9392
9393 * kern/main.c: Include `<grub/mm.h>'.
9394 (grub_load_modules): Split out (and use) ...
9395 (grub_module_iterate): ... this function, which iterates through
9396 module objects and runs a hook.
9397 Comment out grub_mm_init_region() call, as it would cause non-ELF
9398 modules to be overwritten.
9399
9400 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
9401 the memdisk image in its own region, make it part of the module list.
9402 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
9403 (main): Parse --memdisk|-m option, and pass user-provided path as
9404 parameter to generate_image().
9405 (add_segments): Pass `memdisk_path' down to load_modules().
9406 (load_modules): Embed memdisk image in module section when requested.
9407 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
9408 `header.type' instead of `header.offset'.
9409
9410 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
9411 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
9412 (memdisk_mod_LDFLAGS): New variables.
9413 * conf/i386-coreboot.rmk: Likewise.
9414 * conf/i386-ieee1275.rmk: Likewise.
9415
a927cc73 94162008-08-02 Robert Millan <rmh@aybabtu.com>
9417
9418 * loader/i386/pc/multiboot.c (playground, forward_relocator)
9419 (backward_relocator): New variables. Used to allocate and relocate
9420 the payload, respectively.
9421 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 9422 address, install the appropriate relocator code in each bound of
a927cc73 9423 the payload, and set the entry point such that
9424 grub_multiboot_real_boot() will jump to one of them.
9425
9426 * kern/i386/loader.S (grub_multiboot_payload_size)
9427 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
9428 (grub_multiboot_payload_entry_offset): New variables.
9429 (grub_multiboot_real_boot): Set cpu context to what the relocator
9430 expects, and jump to the relocator instead of the payload.
9431
9432 * include/grub/i386/loader.h (grub_multiboot_payload_size)
9433 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
9434 (grub_multiboot_payload_entry_offset): Export.
9435
b15d8a0c 94362008-08-01 Bean <bean123ch@gmail.com>
9437
9438 * normal/menu_entry.c (editor_getline): Don't return the original
9439 string as result, as it will be released by lexer once it has done
9440 using it.
9441
cdfb3d22 94422008-08-01 Robert Millan <rmh@aybabtu.com>
9443
9444 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
9445 within menuentries, not before them.
9446 util/grub.d/10_hurd.in: Likewise.
9447
9175e93d 94482008-08-01 Bean <bean123ch@gmail.com>
9449
9450 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
9451 (bufio_mod_SOURCES): New macro.
9452 (bufio_mod_CFLAGS): Likewise.
9453 (bufio_mod_LDFLAGS): Likewise.
9454
9455 * include/grub/bufio.h: New file.
9456
9457 * io/bufio.c: Likewise.
9458
9459 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
9460 (grub_video_reader_png): Use grub_buffile_open to open file.
9461
9462 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
9463 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
9464
9465 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
9466 (grub_video_reader_tga): Use grub_buffile_open to open file.
9467
9468 * font/manager.c: Include <grub/bufio.h>.
9469 (add_font): Use grub_buffile_open to open file.
9470
3d8383e7 94712008-07-31 Robert Millan <rmh@aybabtu.com>
9472
9473 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
9474 ELF segments, use a macro for arbitrarily accessing any of them instead
9475 of preparing a pointer that allows access to one at a time.
9476 (grub_multiboot_load_elf64): Likewise.
9477
16e641b6 94782008-07-31 Bean <bean123ch@gmail.com>
9479
9480 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
9481 GRUB_KERNEL_MACHINE_DATA_END.
9482
59198b72 94832008-07-30 Robert Millan <rmh@aybabtu.com>
9484
9485 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
9486 Increase from 0x50 to 0x60.
9487 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
9488 use UUIDs to identify the root drive for them. If that's not
9489 possible, abort.
9490 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
9491 check, for cross-disk installs.
9492
ae88bca3 94932008-07-30 Robert Millan <rmh@aybabtu.com>
9494
9495 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
9496 is non-empty, use it to set the `prefix' environment variable instead
9497 of the usual approach.
9498 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
9499 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
9500 environment variable instead of dummy make_install_device().
9501
9502 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
9503 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 9504 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 9505
9506 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
9507 New variable reference.
9508 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
9509 New macro. Defines offset of `grub_prefix' within startup.S (relative
9510 to `start').
9511 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
9512 section within startup.S (relative to `start').
9513 * include/grub/i386/coreboot/kernel.h: Likewise.
9514
9515 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
9516 Overwrite grub_prefix with its contents, at the beginning of the
9517 first segment.
9518 (main): Understand -p|--prefix.
9519
14f41dd1 95202008-07-30 Robert Millan <rmh@aybabtu.com>
9521
9522 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
9523
4ca049a3 95242008-07-30 Robert Millan <rmh@aybabtu.com>
9525
9526 * term/i386/pc/vga_text.c (grub_console_cls): Use
9527 grub_console_gotoxy() to go back to beginning of the screen.
9528 Found by Patrick Georgi <patrick.georgi@coresystems.de>
9529
2921d337 95302008-07-29 Christian Franke <franke@computer.org>
9531
9532 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
9533 Add conversion of emulated mount points on Cygwin.
9534
b609876d 95352008-07-29 Christian Franke <franke@computer.org>
9536
9537 * util/update-grub.in: Add a check for admin
9538 group on Cygwin.
9539 Remove old `grub.cfg.new' before creation.
9540 Add `-f' to `mv' to handle the different filesystem
9541 semantics of Windows.
9542
e93e4679 95432008-07-29 Bean <bean123ch@gmail.com>
9544
9545 * normal/main.c (get_line): Fix buffer overflow bug.
9546
41694fd0 95472008-07-28 Robert Millan <rmh@aybabtu.com>
9548
9549 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
9550 (struct grub_apple_header): New struct. Describes the layout of
9551 the partmap header.
9552 (apple_partition_map_iterate): Check the header magic as well as the
9553 partition magic (which was already being checked).
9554
cfd0b4e6 95552008-07-28 Pavel Roskin <proski@gnu.org>
9556
9557 * genmk.rb: Add a warning to the beginning of the output that
9558 it's a generated file and should not be edited.
9559
93cce016 95602008-07-28 Robert Millan <rmh@aybabtu.com>
9561
9562 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
9563 with the same number are found, just use issue a warning with
9564 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 9565
cd1df915 95662008-07-27 Robert Millan <rmh@aybabtu.com>
9567
9568 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
9569 information.
9570
b70a8427 95712008-07-27 Bean <bean123ch@gmail.com>
9572
9573 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
9574 (grub_fat_find_dir): Ignore case when comparing filename.
9575
8f5e379f 95762008-07-27 Bean <bean123ch@gmail.com>
9577
9578 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
9579 smallino, as it's more descriptive, and i8count can be confused with
9580 the other field count.
9581 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
9582 inode type.
9583
a85cd5a0 95842008-07-27 Bean <bean123ch@gmail.com>
9585
9586 * commands/crc.c: New file.
9587
9588 * lib/crc.c: Likewise.
9589
9590 * include/grub/lib/crc.h: Likewise.
9591
9592 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
9593
9594 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
9595 (hexdump): Move this function to ...
9596
9597 * lib/hexdump.c: ... here.
9598
9599 * include/grub/hexdump.h: Renamed to ...
9600
9601 * include/grub/lib/hexdump.h: ... this.
9602
9603 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
9604
9605 * util/grub-editenv.c: Likewise.
9606
9607 * include/envblk.h: Renamed to ...
9608
9609 * include/lib/envblk.h: ... this.
9610
9611 * util/envblk.c: Renamed to ...
9612
9613 * lib/envblk.c: ... this.
9614
9615 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
9616 lib/hexdump.c.
9617 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
9618 (pkglib_MODULES): Add crc.mod.
9619 (hexdump_mod_SOURCES): Add lib/hexdump.c.
9620 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
9621 (crc_mod_SOURCES): New macro.
9622 (crc_mod_CFLAGS): Likewise.
9623 (crc_mod_LDFLAGS): Likewise.
9624
9625 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
9626
9627 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9628
9629 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
9630
9631 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9632
9633 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9634
c298def0 96352008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 9636
9637 * commands/help.c: Include <grub/term.h>.
9638 (TERM_WIDTH): Removed. Updated all users.
9639
cc349fb3 96402008-07-27 Pavel Roskin <proski@gnu.org>
9641
9642 * util/getroot.c (find_root_device): Rephrase a comment to avoid
9643 spurious warnings about a comment within a comment.
9644
9051607e 96452008-07-25 Robert Millan <rmh@aybabtu.com>
9646
9647 * util/getroot.c (find_root_device): Skip devices that match
9648 /dev/dm-[0-9]. This lets the real device be found for any type of
9649 abstraction (LVM, EVMS, RAID..).
9650 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
9651 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
9652 device is found first, find_root_device() will now skip it.
9653
01453bfc 96542008-07-24 Pavel Roskin <proski@gnu.org>
9655
9656 * include/grub/types.h: Use __builtin_bswap32() and
9657 __builtin_bswap64() with gcc 4.3 and newer.
9658
6af9849f 96592008-07-24 Christian Franke <franke@computer.org>
9660
3a0fa256 9661 * util/i386/pc/grub-install.in: If `--debug' is specified,
9662 pass `--verbose' to grub-setup.
9663 Abort script if make_system_path_relative_to_its_root() fails.
9664
7810e747 96652008-07-24 Bean <bean123ch@gmail.com>
9666
9667 * configure.ac: Fixed a bug caused by the previous cygwin patch,
9668 variable `target_platform' should be `platform'.
9669
42290e17 96702008-07-24 Bean <bean123ch@gmail.com>
9671
51cc5193 9672 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 9673 (grub_png_init_fixed_block): New function.
9674 (grub_png_decode_image_data): Handle fixed huffman code compression.
9675
2a8a80e4 96762008-07-24 Bean <bean123ch@gmail.com>
9677
9678 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
9679 (grub_pe2elf_SOURCES): New macro.
9680 (CLEANFILES): Add grub-pe2elf.
9681
9682 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
9683 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
9684 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
9685 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
9686 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
9687 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
9688 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
9689 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
9690 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
9691 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
9692 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
9693 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
9694 (GRUB_PE32_DT_FUNCTION): Likewise.
9695 (GRUB_PE32_REL_I386_DIR32): Likewise.
9696 (GRUB_PE32_REL_I386_REL32): Likewise.
9697 (grub_pe32_symbol): New structure.
9698 (grub_pe32_reloc): Likewise.
9699
9700 * util/grub-pe2elf.c: New file.
9701
9702 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
9703 start symbol in non pc platform.
9704
9705 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
9706
9707 The following patches are from Christian Franke.
9708
9709 * include/grub/dl.h: Remove .previous, gas supports this only
9710 for ELF format.
9711
9712 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
9713 Remove .type, gas supports this only for ELF format.
9714
9715 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
9716 nullbytes in symbol table. This fixes an infinite loop if table is
9717 zero filled.
9718
9719 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
9720 TARGET_IMG_LDFLAGS and EXEEXT.
9721
9722 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
9723 TARGET_IMG_LDFLAGS_AC.
9724 (grub_CHECK_STACK_ARG_PROBE): New function.
9725
9726 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
9727
9728 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
9729
9730 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
9731 to set TARGET_IMG_LD* accordingly.
9732 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
9733 Add call to grub_CHECK_STACK_ARG_PROBE.
9734 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
9735
9736 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
9737
9738 * genmk.rb: Add EXEEXT to CLEANFILES.
9739
12ccdb75 97402008-07-23 Robert Millan <rmh@aybabtu.com>
9741
9742 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
9743 define the codes for arrows and lines used for the menu).
9744 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
9745 as well.
9746
9747 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
9748 fonts, because the latter are too slow.
9749
18eeaf04 97502008-07-21 Bean <bean123ch@gmail.com>
9751
9752 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
9753 a20. Run keyboard test last, as it will cause macbook to halt.
9754
b095e2ad 97552008-07-18 Pavel Roskin <proski@gnu.org>
9756
9757 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
9758 load foreign architecture modules correctly anyway. Keep
9759 support for loading host architecture modules, whether we
9760 compile them or not.
9761
737feb35 97622008-07-17 Pavel Roskin <proski@gnu.org>
9763
3f4ce737 9764 * configure.ac: Use -m32 or -m64 regardless of whether we had to
9765 change target_cpu. The compiler default can mismatch target_cpu
9766 in any case.
9767
4ad2d049 9768 * disk/efi/efidisk.c: Fix format warnings on x86_64.
9769 * kern/efi/efi.c: Likewise.
9770
f6130a12 9771 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
9772 target compiler is functional.
9773 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
9774 are set up.
9775
58393a2d 9776 * configure.ac: Default to efi platform for x86_64-apple. Allow
9777 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
9778 adjustments from the rest, only do them if target is not
9779 explicitly given. Merge other adjustments with the final sanity
9780 check. Remove an extraneous check for supported CPU. Be
9781 specific which CPU and which platform is not supported.
9782
737feb35 9783 * configure.ac: Default to pc platform for x86_64.
9784
546f966a 97852008-07-17 Robert Millan <rmh@aybabtu.com>
9786
9787 Partial LinuxBIOS -> Coreboot rename.
9788
9789 * conf/i386-linuxbios.rmk: Renamed to ...
9790 * conf/i386-coreboot.rmk: ... this.
9791 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
9792 * configure.ac: Accept "coreboot" as input platform (but maintain
9793 compatibility with "linuxbios").
9794 * include/grub/i386/linuxbios: Renamed to ...
9795 * include/grub/i386/coreboot: ... this.
9796
20011694 97972008-07-17 Bean <bean123ch@gmail.com>
9798
9799 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 9800 (appleldr_mod_SOURCE): New variable.
20011694 9801 (appleldr_mod_CFLAGS): Likewise.
9802 (appleldr_mod_LDFLAGS): Likewise.
9803 (pci_mod_SOURCES): Likewise.
9804 (pci_mod_CFLAGS): Likewise.
9805 (pci_mod_LDFLAGS): Likewise.
9806 (lspci_mod_SOURCES): Likewise.
9807 (lspci_mod_CFLAGS): Likewise.
9808 (lspci_mod_LDFLAGS): Likewise.
9809
9810 * conf/x86_64-efi.rmk: New file.
9811
9812 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
9813 macro.
9814 (grub_efidisk_write): Likewise.
9815
9816 * include/efi/api.h (efi_call_0): New macro.
9817 (efi_call_1): Likewise.
9818 (efi_call_2): Likewise.
9819 (efi_call_3): Likewise.
9820 (efi_call_4): Likewise.
9821 (efi_call_5): Likewise.
9822 (efi_call_6): Likewise.
9823
9824 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
9825 grub_rescue_cmd_chainloader.
9826
9827 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
9828 (grub_pe32_optional_header): Change some fields based on i386 or
9829 x86_64 platform.
9830 (GRUB_PE32_PE32_MAGIC): Likewise.
9831
9832 * include/grub/efi/uga_draw.h: New file.
9833
9834 * include/grub/elf.h (STN_ABS): New constant.
9835 (R_X86_64_NONE): Relocation constant for x86_64.
9836 (R_X86_64_64): Likewise.
9837 (R_X86_64_PC32): Likewise.
9838 (R_X86_64_GOT32): Likewise.
9839 (R_X86_64_PLT32): Likewise.
9840 (R_X86_64_COPY): Likewise.
9841 (R_X86_64_GLOB_DAT): Likewise.
9842 (R_X86_64_JUMP_SLOT): Likewise.
9843 (R_X86_64_RELATIVE): Likewise.
9844 (R_X86_64_GOTPCREL): Likewise.
9845 (R_X86_64_32): Likewise.
9846 (R_X86_64_32S): Likewise.
9847 (R_X86_64_16): Likewise.
9848 (R_X86_64_PC16): Likewise.
9849 (R_X86_64_8): Likewise.
9850 (R_X86_64_PC8): Likewise.
9851
9852 * include/grub/i386/efi/pci.h: New file.
9853
9854 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
9855 Change it value based on platform.
9856 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
9857 (GRUB_E820_RAM): Likewise.
9858 (GRUB_E820_RESERVED): Likewise.
9859 (GRUB_E820_ACPI): Likewise.
9860 (GRUB_E820_NVS): Likewise.
9861 (GRUB_E820_EXEC_CODE): Likewise.
9862 (GRUB_E820_MAX_ENTRY): Likewise.
9863 (grub_e820_mmap): New structure.
9864 (linux_kernel_header): Change the efi field according to different
9865 kernel version, also field from linux_kernel_header.
9866
9867 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
9868
9869 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
9870 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
9871 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
9872 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
9873 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
9874 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
9875 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
9876 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
9877 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
9878 (GRUB_PCI_ADDR_IO_MASK): Likewise.
9879
9880 * include/grub/x86_64/efi/kernel.h: New file.
9881
9882 * include/grub/x86_64/efi/loader.h: Likewise.
9883
9884 * include/grub/x86_64/efi/machine.h: Likewise.
9885
9886 * include/grub/x86_64/efi/pci.h: Likewise.
9887
9888 * include/grub/x86_64/efi/time.h: Likewise.
9889
9890 * include/grub/x86_64/linux.h: Likewise.
9891
9892 * include/grub/x86_64/setjmp.h: Likewise.
9893
9894 * include/grub/x86_64/time.h: Likewise.
9895
9896 * include/grub/x86_64/types.h: Likewise.
9897
9898 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
9899 GRUB_TARGET_SIZEOF_VOID_P.
9900
9901 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
9902 (grub_efi_locate_handle): Likewise.
9903 (grub_efi_open_protocol): Likewise.
9904 (grub_efi_set_text_mode): Likewise.
9905 (grub_efi_stall): Likewise.
9906 (grub_exit): Likewise.
9907 (grub_reboot): Likewise.
9908 (grub_halt): Likewise.
9909 (grub_efi_exit_boot_services): Likewise.
9910 (grub_get_rtc): Likewise.
9911
9912 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
9913 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
9914 (grub_efi_allocate_pages): Wrap efi calls.
9915 (grub_efi_free_pages): Wrap efi calls.
9916 (grub_efi_get_memory_map): Wrap efi calls.
9917
9918 * kern/x86_64/dl.c: New file.
9919
9920 * kern/x86_64/efi/callwrap.S: Likewise.
9921
9922 * kern/x86_64/efi/startup.S: Likewise.
9923
9924 * loader/efi/appleloader.c: Likewise.
9925
9926 * loader/efi/chainloader.c (cmdline): New variable.
9927 (grub_chainloader_unload): Wrap efi calls.
9928 (grub_chainloader_boot): Likewise.
9929 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
9930 command line.
9931
9932 * loader/efi/chainloader_normal.c (chainloader_command):
9933 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
9934 command line.
9935
9936 * loader/i386/efi/linux.c (allocate_pages): Change allocation
9937 method.
9938 (grub_e820_add_region): New function.
9939 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
9940 booting.
9941 (grub_find_video_card): New function.
9942 (grub_linux_setup_video): New function.
9943 (grub_rescue_cmd_linux): Probe for video information.
9944
9945 * normal/x86_64/setjmp.S: New file.
9946
9947 * term/efi/console.c (map_char): New function.
9948 (grub_console_putchar): Map unicode char.
9949 (grub_console_checkkey): Wrap efi calls.
9950 (grub_console_getkey): Likewise.
9951 (grub_console_getwh): Likewise.
9952 (grub_console_gotoxy): Likewise.
9953 (grub_console_cls): Likewise.
9954 (grub_console_setcolorstate): Likewise.
9955 (grub_console_setcursor): Likewise.
9956
9957 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
9958
59652a20 99592008-07-16 Pavel Roskin <proski@gnu.org>
9960
ef294055 9961 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
9962 format strings.
9963
59652a20 9964 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
9965 pointer, not an integer. This fixes a warning and prevents
9966 precision loss on 64-bit systems.
9967 (relocate_addresses): Remove unneeded cast.
9968
afc3b5d7 99692008-07-15 Pavel Roskin <proski@gnu.org>
9970
506b2b3e 9971 * kern/i386/ieee1275/init.c: Include grub/cache.h.
9972
62ead89c 9973 * term/ieee1275/ofconsole.c: Disable code unused on i386.
9974
c4cd51d7 9975 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
9976 Fix comparison between signed and unsigned.
9977
0d3d8f28 9978 * include/grub/i386/ieee1275/console.h: Declare
9979 grub_console_init() and grub_console_fini().
9980
8804b286 9981 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
9982 It's empty and unused.
9983
ee01cf35 9984 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
9985 beginning to avoid warnings with some compilers.
9986
afc3b5d7 9987 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
9988 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
9989
e4e8eaa5 99902008-07-14 Pavel Roskin <proski@gnu.org>
9991
407aceb4 9992 * kern/env.c (grub_register_variable_hook): Don't copy empty
9993 string, it leaks memory. Pass "" to grub_env_set(), it should
9994 handle constant strings.
9995
e4e8eaa5 9996 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
9997 * commands/cmp.c (grub_cmd_cmp): Likewise.
9998 * kern/dl.c (grub_dl_flush_cache): Likewise.
9999 (grub_dl_load_core): Likewise.
10000 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
10001 (grub_elf64_load_phdrs): Likewise.
10002
d4e2dad3 100032008-07-13 Pavel Roskin <proski@gnu.org>
10004
10005 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
10006 between signed and unsigned.
10007 (LzmaEnc_Finish): Fix warning about an unused parameter.
10008
aa24b516 100092008-07-13 Bean <bean123ch@gmail.com>
10010
10011 * Makefile.in (enable_lzo): New rule.
10012
10013 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
10014
10015 * configure.ac (ENABLE_LZO): New option --enable-lzo.
10016
10017 * boot/i386/pc/lnxboot.S: #include <config.h>.
10018
10019 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 10020 its value according to the compression algorithm used, lzo or lzma.
aa24b516 10021
10022 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
10023 compression algorithm according to configure macro.
10024
10025 * kern/i386/pc/startup.S (codestart): Likewise.
10026
10027 * kern/i386/pc/lzma_decode.S: New file.
10028
10029 * include/grub/lib/LzFind.h: Likewise.
10030
10031 * include/grub/lib/LzHash.h: Likewise.
10032
10033 * include/grub/lib/LzmaDec.h: Likewise.
10034
10035 * include/grub/lib/LzmaEnc.h: Likewise.
10036
10037 * include/grub/lib/LzmaTypes.h: Likewise.
10038
10039 * lib/LzFind.c: Likewise.
10040
10041 * lib/LzmaDec.c: Likewise.
10042
10043 * lib/LzmaEnc.c: Likewise.
10044
4ae821ac 100452008-07-13 Bean <bean123ch@gmail.com>
10046
10047 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
10048 (grub_ext4_extent_header): New structure.
10049 (grub_ext4_extent): Likewise.
10050 (grub_ext4_extent_idx): Likewise.
10051 (grub_ext4_find_leaf): New function.
10052 (grub_ext2_read_block): Handle extents.
10053
9a745147 100542008-07-12 Robert Millan <rmh@aybabtu.com>
10055
10056 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
10057
d49a4cf6 100582008-07-11 Robert Millan <rmh@aybabtu.com>
10059
10060 * util/grub.d/40_custom.in: New file. Example on how to add custom
10061 entries to /etc/grub.d.
10062 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
10063 40_custom (implicitly, by merging all the grub.d rules).
10064
947414b4 100652008-07-11 Pavel Roskin <proski@gnu.org>
10066
0059cf6f 10067 * commands/read.c (grub_getline): Fix invalid memory access.
10068 Don't add newline to the variable value.
10069
947414b4 10070 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
10071 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
10072 (serial_hw_get_port): Check validity of the port number.
10073 (grub_cmd_serial): Check return value of serial_hw_get_port().
10074
62a02d00 100752008-07-07 Pavel Roskin <proski@gnu.org>
10076
10077 * boot/i386/pc/diskboot.S (notification_string): Replace
10078 "Loading kernel" with just "loading". This is shorter, less
10079 confusing and saves a few bytes for possible future changes.
10080
3e5581b0 100812008-07-05 Pavel Roskin <proski@gnu.org>
10082
ea387a48 10083 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
10084 size for ATAPI devices, they are undefined. Output sector
10085 number in decimal form.
10086
3e5581b0 10087 * disk/ata.c: Use named constants for status bits.
10088
fdecb8fd 100892008-07-04 Pavel Roskin <proski@gnu.org>
10090
bcd35b90 10091 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
10092 grub_addr_t before casting it to the void pointer to fix a
10093 warning. Non-addressable regions are discarded earlier.
10094 (grub_arch_modules_addr): Cast _end to grub_addr_t.
10095 * kern/i386/linuxbios/table.c: Include grub/misc.h.
10096 (check_signature): Don't shadow table_header.
10097 (grub_linuxbios_table_iterate): Cast numeric constants to
10098 grub_linuxbios_table_header_t.
10099 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
10100 grub_stop().
10101
af58ab3d 10102 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
10103 prevent warnings.
10104
1759aa57 10105 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
10106 pointer, which can cause warnings. Support 64-bit addresses.
10107
fdecb8fd 10108 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
10109 of sizeof(long). This fixes PowerPC image generation on x86_64.
10110
8516d2a8 101112008-07-04 Robert Millan <rmh@aybabtu.com>
10112
10113 This fixes a performance issue when pc & gpt partmap iterators
10114 didn't abort iteration even after our hook found what it was
fe987087 10115 looking for (often causing expensive probes of non-existent drives).
8516d2a8 10116
10117 Some callers relied on previous buggy behaviour, since they would
34c44600 10118 raise an error when their own hooks caused early abortion of its
8516d2a8 10119 iteration.
10120
10121 * kern/device.c (grub_device_open): Improve error message.
10122 * disk/lvm.c (grub_lvm_open): Likewise.
10123 * disk/raid.c (grub_raid_open): Likewise.
10124
10125 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
10126 when hook requests it, independently of grub_errno.
10127 (pc_partition_map_probe): Do not fail when find_func() caused
10128 early abortion of pc_partition_map_iterate().
10129
10130 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
10131 when hook requests it, independently of grub_errno.
10132 (gpt_partition_map_probe): Do not fail when find_func() caused
10133 early abortion of gpt_partition_map_iterate().
10134
10135 * kern/partition.c (grub_partition_iterate): Abort parent iteration
10136 when hook requests it, independently of grub_errno. Do not fail when
10137 part_map_iterate_hook() caused early abortion of p->iterate().
10138
10139 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
10140 when grub_partition_iterate() returned with non-zero.
10141
277d0de9 101422008-07-03 Pavel Roskin <proski@gnu.org>
10143
10144 * disk/ata.c (grub_ata_pio_write): Check status before writing,
10145 like we do in grub_ata_pio_read().
10146 (grub_ata_readwrite): Always write individual sectors. Fix the
10147 sector count for the remainder.
10148 (grub_ata_write): Enable writing to ATA devices. Correctly
10149 report error for ATAPI devices.
10150
d4c9b428 101512008-07-02 Pavel Roskin <proski@gnu.org>
10152
e43fc690 10153 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
10154 warning.
10155
f707af42 10156 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
10157 for every read sector, we already increment it for the whole
10158 batch. This fixes reading more than 256 sectors at once.
10159
11e16b15 10160 * util/grub-editenv.c (cmd_info): Cast argument to long
10161 explicitly. ptrdiff_t reduces to int on i386.
10162
cbabfdd4 10163 * util/grub-editenv.c (main): Be specific which parameter is
10164 missing.
10165
b8fbce0a 10166 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
10167 (memdisk): Make memdisk_orig_addr a pointer.
10168
c9c8e606 10169 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
10170 for file offsets, use grub_off_t instead. Fix printf format
10171 warnings.
10172
ca62e598 10173 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
10174 there. Real unexpected warnings should not drown in the noise
10175 about known problems.
10176
ce8d1766 10177 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
10178 grub_disk_addr_t for memory addresses.
10179
00c7a56a 10180 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
10181 explicitly to fix a warning.
10182
08d3ef09 10183 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
10184
cb71ba20 10185 * Makefile.in (MODULE_LDFLAGS): New variable.
10186 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
10187 the linker accepts --build-id=none.
10188 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
10189 MODULE_LDFLAGS.
10190 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
10191
d4c9b428 10192 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
10193 those in Linux XFS code. Provide a way to access 64-bit parent
10194 inode.
10195 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
10196 the end of struct grub_xfs_dir_header.
10197
d4156eee 101982008-07-02 Bean <bean123ch@gmail.com>
10199
10200 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
10201 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
10202 and GRUB_IEEE1275_FLAG_NO_ANSI.
10203
10204 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
10205 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
10206 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
10207
10208 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
10209 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
10210
10211 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
10212 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
10213
10214 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
10215 esc sequence on non ANSI terminal.
10216 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
10217
10218 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
10219 beginning of file.
10220
2270f77b 102212008-07-02 Bean <bean123ch@gmail.com>
10222
10223 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
10224 (grub_editenv_SOURCES): New variable.
10225 (pkglib_MODULES): Add loadenv.mod.
10226 (loadenv_mod_SOURCES): New variable.
10227 (loadenv_mod_CFLAGS): Likewise.
10228 (loadenv_mod_LDFLAGS): Likewise.
10229
10230 * include/grub/envblk.h: New file.
10231
10232 * util/envblk.c: New file.
10233
10234 * util/grub-editenv.c: New file.
10235
10236 * commands/loadenv.c: New file.
10237
0e9e51ec 102382008-07-01 Pavel Roskin <proski@gnu.org>
10239
d89b7634 10240 * include/multiboot2.h (struct multiboot_tag_module): Use char,
10241 not unsigned char. This fixes warnings and is consistent with
10242 other tags.
10243
bf1835b1 10244 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
10245
8222a04b 10246 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
10247
6a42d99d 10248 * term/tparm.c (analyze): Always set *popcount.
10249
10b159d1 10250 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
10251 cast to fix a warning.
10252
b8789f6c 10253 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
10254 cast to suppress a warning.
10255
29d7e38a 10256 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
10257 grub_fshelp_read_file() expects.
10258
f341f669 10259 * fs/fat.c: Fix UUID calculation on big-endian systems. We
10260 write uuid as a 32-bit value in CPU byte order, so declare and
10261 use it as such.
10262
0e9e51ec 10263 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
10264 long if the format specifier expects it.
10265 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
10266 * partmap/pc.c (pc_partition_map_iterate): Likewise.
10267 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
10268 long to fix a warning.
10269 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
10270 grub_dprintf() arguments to fix warnings.
10271
3aefa857 102722008-06-30 Pavel Roskin <proski@gnu.org>
10273
56c7668b 10274 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
10275 install_bsd_part immediately before core.img is embedded or
10276 modified on disk. This fixes core.img verification if core.img
10277 cannot be embedded.
10278
3aefa857 10279 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
10280 core_path to calculate the blocklist.
10281 Patch from Javier Martín <lordhabbit@gmail.com>
10282
5444088d 102832008-06-29 Robert Millan <rmh@aybabtu.com>
10284
10285 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
10286 block to disk block.
10287 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
10288 Patch from Niels Böhm <bitbucket@arcor.de>
10289
674835c8 102902008-06-29 Robert Millan <rmh@aybabtu.com>
10291
10292 * util/update-grub_lib.in (font_path): Search for fonts in
10293 /boot/grub first, which is more likely to be readable (we aren't
10294 deciding where fonts live, just looking for them).
10295
f527dbc8 102962008-06-26 Pavel Roskin <proski@gnu.org>
10297
6c2d8df6 10298 * util/biosdisk.c (read_device_map): Don't leave dead map
10299 entries for devices failing stat() check.
10300
f527dbc8 10301 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
10302 core_path_dev for the core.img path on the target device.
10303
aebe3d13 103042008-06-26 Robert Millan <rmh@aybabtu.com>
10305
10306 * disk/fs_uuid.c: New file.
10307 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
10308 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
10309 (fs_uuid_mod_LDFLAGS): New variables.
10310 * include/grub/disk.h (grub_disk_dev_id): Add
10311 `GRUB_DISK_DEVICE_UUID_ID'.
10312 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
10313 implement iterate().
10314
37aaf354 103152008-06-26 Robert Millan <rmh@aybabtu.com>
10316
10317 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
10318 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
10319 Linux image includes no initrd.
10320
25ff262a 103212008-06-21 Javier Martín <lordhabbit@gmail.com>
10322
10323 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
10324 call to resolve the core image location that effectively appended the
10325 name twice.
10326
76a2bd44 103272008-06-21 Robert Millan <rmh@aybabtu.com>
10328
10329 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
10330 call from here ...
10331
10332 * util/grub.d/10_hurd.in: ... to here ...
10333 * util/grub.d/10_linux.in: ... and here.
10334
650e1c79 103352008-06-19 Robert Millan <rmh@aybabtu.com>
10336
fe987087 10337 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 10338 after it has been set by grub_machine_set_prefix().
10339
6ce63911 103402008-06-19 Robert Millan <rmh@aybabtu.com>
10341
10342 * commands/search.c (search_label, search_fs_uuid, search_file): Print
10343 search result when not saving to variable, not the other way around.
10344 When saving to variable, abort iteration as soon as a match is found.
10345
73940cec 103462008-06-19 Robert Millan <rmh@aybabtu.com>
10347
10348 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
10349 check for partition that provides /boot/grub. Its logic is flawed,
10350 as it prevents prepare_grub_to_access_device() from being called
10351 multiple times.
10352
3c62a39d 103532008-06-19 Robert Millan <rmh@aybabtu.com>
10354
10355 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
10356 "insmod" command directly when abstraction modules are needed,
fe987087 10357 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 10358 since it had already been processed).
10359
47395a42 103602008-06-19 Pavel Roskin <proski@gnu.org>
10361
10362 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
10363 changed. This is needed in case GRUB_LIBDIR changes.
10364 * conf/i386-ieee1275.rmk: Likewise.
10365 * conf/i386-linuxbios.rmk: Likewise.
10366 * conf/i386-pc.rmk: Likewise.
10367 * conf/powerpc-ieee1275.rmk: Likewise.
10368
a145ac2d 103692008-06-18 Pavel Roskin <proski@gnu.org>
10370
10371 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
10372 kernel_elf_symlist.c to symlist.c for consistency with other
10373 architectures. Update all users.
10374 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
10375
7847c51e 103762008-06-18 Robert Millan <rmh@aybabtu.com>
10377
10378 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
10379 it in prefix.
10380
10381 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
10382 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
10383 a RAID device, run setup() for all members independently on whether
10384 LVM abstraction is being used.
10385 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
10386 If grub-mkimage has set `*install_dos_part == -2', don't override this
10387 value.
10388 Perform *install_dos_part adjustments independently on whether
10389 we're embedding or not.
10390 Clarify error message when image is too big for embedding.
10391 Remove duplicate *install_dos_part stanza.
10392
b23e5644 103932008-06-17 Robert Millan <rmh@aybabtu.com>
10394
10395 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
10396 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
10397 variables.
10398 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
10399 values in grub_ofconsole_normal_color and
10400 grub_ofconsole_highlight_color (they're not directly related to
10401 background and foreground).
10402 (grub_ofconsole_setcolorstate): Extract background and foreground
10403 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
10404
0aac2f79 104052008-06-17 Robert Millan <rmh@aybabtu.com>
10406
10407 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
10408 /boot/grub for the check in last commit, not /boot (they could be
10409 different partitions).
10410
3cca7ef3 104112008-06-16 Robert Millan <rmh@aybabtu.com>
10412
10413 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
10414 asked to setup access for the same partition that provides /boot,
10415 don't bother using UUIDs since our root already has the value we
10416 want.
10417
347396d8 104182008-06-16 Robert Millan <rmh@aybabtu.com>
10419
10420 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
10421 I2O devices.
10422 Patch from Sven Mueller <sven@debian.org>.
10423
991477f8 104242008-06-16 Robert Millan <rmh@aybabtu.com>
10425
10426 * util/update-grub.in: Check for $EUID instead of $UID.
10427 Reported by Vincent Zweije.
10428
d31a32a1 104292008-06-16 Bean <bean123ch@gmail.com>
10430
fe987087 10431 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 10432 (grub_ext2_read_block): Likewise.
10433 (grub_ext2_read_inode): Likewise.
10434 (grub_ext2_mount): Likewise.
10435 (grub_ext2_close): Likewise.
10436 (grub_ext3_get_journal): Removed.
10437
fe987087 10438 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 10439 (grub_reiserfs_read_symlink): Likewise.
10440 (grub_reiserfs_mount): Likewise.
10441 (grub_reiserfs_open): Likewise.
10442 (grub_reiserfs_read): Likewise.
10443 (grub_reiserfs_close): Likewise.
10444 (grub_reiserfs_get_journal): Removed.
10445
10446 * fs/fshelp.c (grub_fshelp_read): Removed.
10447 (grub_fshelp_map_block): Likewise.
10448
10449 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
10450 (grub_fshelp_journal): Likewise.
10451 (grub_fshelp_read): Likewise.
10452 (grub_fshelp_map_block): Likewise.
10453
3540a760 104542008-06-16 Pavel Roskin <proski@gnu.org>
10455
10456 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
10457 floating point anymore.
10458 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
10459
95614c84 104602008-06-15 Pavel Roskin <proski@gnu.org>
10461
10462 * commands/ls.c (grub_ls_list_files): Use integer calculations
10463 for human readable format, avoid floating point use.
10464 * kern/misc.c (grub_ftoa): Remove.
10465 (grub_vsprintf): Remove floating point support.
10466
50465dd6 104672008-06-15 Robert Millan <rmh@aybabtu.com>
10468
fe6b695a 10469 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 10470 devices.
10471 Reported by Max Vozeler.
10472
a9207284 104732008-06-15 Robert Millan <rmh@aybabtu.com>
10474
10475 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
10476 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
10477 skipped later.
10478 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
10479 the beginning of the prefix.
10480
10481 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
10482 It is assumed that if we have a memdisk, grub-mkimage has set
10483 grub_prefix to include the "(memdisk)" drive in it.
10484
a7cbd45a 104852008-06-15 Robert Millan <rmh@aybabtu.com>
10486
10487 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
10488 Initialize keyboard controller after registering the terminal, so that
10489 grub_printf() can be called from grub_keyboard_controller_init().
10490
21cf716a 104912008-06-15 Robert Millan <rmh@aybabtu.com>
10492
10493 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
10494 extent-btree which is written as big endian on disk.
10495 Reported by Alain Greppin <al@chilibi.org>.
10496
23a64d8e 104972008-06-14 Robert Millan <rmh@aybabtu.com>
10498
10499 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
10500 * util/i386/pc/grub-install.in (modules): Likewise.
10501
d687651c 105022008-06-13 Pavel Roskin <proski@gnu.org>
10503
10504 * commands/ls.c (grub_ls_list_files): Fix format warnings.
10505
dfe9ddd4 105062008-06-13 Bean <bean123ch@gmail.com>
10507
10508 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
10509
10510 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
10511
10512 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
10513 to indicate sparse block.
10514
16ae7781 105152008-06-12 Pavel Roskin <proski@gnu.org>
10516
e6d1a308 10517 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
10518 number, grub_fshelp_read() does it for us.
10519
16ae7781 10520 * fs/fshelp.c (grub_fshelp_read): New function. Implement
10521 linear disk read with journal translation.
10522 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
10523 * include/grub/fshelp.h: Declare grub_fshelp_read().
10524
40fd3a2b 105252008-06-09 Pavel Roskin <proski@gnu.org>
10526
10527 * fs/minix.c (grub_minix_mount): Handle error reading
10528 superblock.
10529
f5679726 105302008-06-08 Robert Millan <rmh@aybabtu.com>
10531
10532 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
10533 don't append the RAID prefix afterwards.
10534 Reported by Clint Adams.
10535
ce525529 105362008-06-08 Robert Millan <rmh@aybabtu.com>
10537
10538 Based on description from Pavel:
10539 * kern/disk.c (grub_disk_check_range): Rename to ...
10540 (grub_disk_adjust_range): ... this. Add a comment explaining the
10541 tasks performed by this function.
10542
ad4936a0 105432008-06-08 Robert Millan <rmh@aybabtu.com>
10544
10545 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
10546 `num_serial' (for consistency with other variables).
10547 (struct grub_ntfs_data): Add `uuid' member.
10548 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
10549 (grub_ntfs_uuid): New function.
10550 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
10551
dc20b0f9 105522008-06-07 Pavel Roskin <proski@gnu.org>
10553
10554 * util/biosdisk.c (open_device): Revert last change to the
10555 function, it broke installation. The sector needs to be
10556 different dependent on which device is opened.
10557
c5e3cfba 105582008-06-06 Robert Millan <rmh@aybabtu.com>
10559
10560 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
10561 rest of GRUB, and breakage doesn't happen if its value were modified.
10562
10563 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
10564 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
10565 a constant (same value).
10566 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
10567 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
10568
26a1f8c4 105692008-06-06 Robert Millan <rmh@aybabtu.com>
10570
10571 * util/biosdisk.c (open_device): Do not modify sector offset when
10572 accessing a partition. kern/disk.c already handles this for us.
10573
25d6b327 105742008-06-06 Robert Millan <rmh@aybabtu.com>
10575
10576 * util/grub-emu.c (grub_machine_init): Move code in this function from
10577 here ...
10578 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
10579 segfault in case grub_printf() is called).
10580
10581 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
10582 grub_probe. Update all users not to explicitly add it again.
10583 (grub_device): New variable; contains corresponding device for grubdir.
10584 (fs_module, partmap_module, devabstraction_module): Pass
10585 `--device ${grub_device}' to grub_probe to avoid traversing /dev
10586 every time.
10587
9ece62fb 105882008-06-05 Robert Millan <rmh@aybabtu.com>
10589
10590 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
10591 is found, print it (same layout as with labels).
10592
1ad36d37 105932008-06-04 Robert Millan <rmh@aybabtu.com>
10594
10595 * util/biosdisk.c (get_drive): Rename to ...
10596 (find_grub_drive): ... this. Update all users.
10597
10598 (get_os_disk): Rename to ...
10599 (convert_system_partition_to_system_disk): ... this. Update all users.
10600
10601 (find_drive): Rename to ...
10602 (find_system_device): ... this. Update all users.
10603
e6a30859 106042008-06-04 Robert Millan <rmh@aybabtu.com>
10605
10606 * util/biosdisk.c (get_os_disk): Handle IDA devices.
10607 * util/grub-mkdevicemap.c (get_mmc_disk_name)
10608 (make_device_map): Likewise.
10609
00c108a4 106102008-06-01 Robert Millan <rmh@aybabtu.com>
10611
10612 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
10613 before dereferencing it.
10614
10615 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
10616 union with fat12/fat16-specific ones. Add some new fields, including
10617 `num_serial' for both versions.
10618 (struct grub_fat_data): Add `uuid' member.
10619 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
10620 names. Initialize `data->uuid' using `num_serial'.
10621 (grub_fat_uuid): New function.
10622 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
10623
10624 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
10625 (grub_reiserfs_uuid): New function.
10626 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
10627 member.
10628
10629 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
10630 (grub_xfs_uuid): New function.
10631 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
10632
1385c5bb 106332008-06-01 Robert Millan <rmh@aybabtu.com>
10634
10635 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
10636 code that is backward compatible with pre-uuid search command.
10637
c682dfd7 106382008-05-31 Robert Millan <rmh@aybabtu.com>
10639
10640 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
10641 floppies after everything else, to ensure floppy drive isn't accessed
10642 unnecessarily (patch from Bean).
10643
b7db5d47 106442008-05-31 Robert Millan <rmh@aybabtu.com>
10645
10646 * commands/search.c (search_label, search_fs_uuid, search_file): Do
10647 not print device names when we were asked to set a variable.
10648
6e037aa9 106492008-05-31 Robert Millan <rmh@aybabtu.com>
10650
10651 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
10652 using "cursor-on" and "cursor-off" commands (understood at least by
10653 the Open Firmware flavour on OLPC).
10654
41305bc8 106552008-05-31 Michael Gorven <michael@gorven.za.net>
10656
10657 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
10658 on and off sequences.
10659
69ba137e 106602008-05-31 Robert Millan <rmh@aybabtu.com>
10661
10662 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
10663 * util/update-grub.in: Likewise.
10664
520ae21b 106652008-05-30 Pavel Roskin <proski@gnu.org>
10666
10667 * util/biosdisk.c (linux_find_partition): Simplify logic and
10668 make the code more universal. Keep special processing for
10669 devfs, but use a simple rule for all other devices. If the
10670 device ends with a number, append 'p' and the partition number.
10671 Otherwise, append only the partition number.
10672
5786569b 106732008-05-30 Robert Millan <rmh@aybabtu.com>
10674
10675 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
10676 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
10677 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
10678 the `root' parameter to Linux.
10679
51500452 106802008-05-30 Robert Millan <rmh@aybabtu.com>
10681
10682 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
10683 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
10684 --fs_uuid with --fs-uuid.
10685 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
10686 all filesystems support them).
10687
811d3878 106882008-05-30 Robert Millan <rmh@aybabtu.com>
10689
10690 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 10691 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 10692
cab63c95 106932008-05-30 Robert Millan <rmh@aybabtu.com>
10694
10695 * util/grub.d/00_header.in: Remove obsolete comment referencing
10696 convert_system_path_to_grub_path().
10697 * util/update-grub.in: Likewise.
10698 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
10699 (convert_system_path_to_grub_path): Add a warning message explaining
10700 that this function is deprecated. Rely on is_path_readable_by_grub()
10701 for the readability checks.
10702 (font_path): Use is_path_readable_by_grub() for the readability
10703 check rather than convert_system_path_to_grub_path().
10704
972e2f7a 107052008-05-30 Robert Millan <rmh@aybabtu.com>
10706
10707 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
10708 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
10709 converting it first.
10710 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
10711 grub.cfg for access to font file, and afterwards call it again to set
10712 the root device.
10713
62191274 107142008-05-30 Robert Millan <rmh@aybabtu.com>
10715
10716 * commands/search.c (options): Add --fs_uuid option.
10717 (search_fs_uuid): New function.
10718 (grub_cmd_search): Fix --set argument passing.
10719 Use search_fs_uuid() when requested via --fs_uuid.
10720 (grub_search_init): Update help message.
10721 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
10722 and redeclare it as an array of 16-bit words.
10723 (grub_ext2_uuid): New function.
10724 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
10725 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
10726 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
10727 (GRUB_DEVICE_BOOT_UUID): New variables.
10728 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
10729 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
10730 whenever possible.
10731 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
10732 just assume `root' variable has the right value.
10733 * util/grub.d/10_linux.in: Likewise.
10734 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
10735 via PRINT_FS_UUID.
10736 (main): Recognise `-t fs_uuid' argument.
10737
01b73ec8 107382008-05-30 Robert Millan <rmh@aybabtu.com>
10739
10740 * util/biosdisk.c (map): Redefine structure to hold information
10741 about GRUB drive name.
fe6b695a 10742 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 10743 drive names.
10744 (call_hook): Remove.
10745 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
10746 member. Assume drive has partitions.
10747 (grub_util_biosdisk_open): Access device names via `.device' struct
10748 member.
10749 (open_device): Likewise.
10750 (find_drive): Likewise.
10751 (read_device_map): Adjust map[] usage to match the new struct
10752 definition. Don't check for duplicates (still possible, but not cheap
10753 anymore).
10754 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
10755 (make_device_name): Remove assumption of BIOS-like drive names.
10756
22f16596 107572008-05-30 Pavel Roskin <proski@gnu.org>
10758
10759 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
10760 compiling execute.c doesn't need grub_script.tab.h anymore.
10761 (normal/command.c_DEPENDENCIES): Likewise.
10762 (normal/function.c_DEPENDENCIES): Likewise.
10763 * conf/i386-ieee1275.rmk: Likewise.
10764 * conf/i386-linuxbios.rmk: Likewise.
10765 * conf/i386-pc.rmk: Likewise.
10766 * conf/powerpc-ieee1275.rmk: Likewise.
10767 * conf/sparc64-ieee1275.rmk: Likewise.
10768
528ad8f2 107692008-05-29 Pavel Roskin <proski@gnu.org>
10770
d1dff95d 10771 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
10772 when scanning metadata for volume group name.
10773
528ad8f2 10774 * include/grub/script.h: Don't include grub_script.tab.h. It's
10775 a generated file, which may only be included from the files with
10776 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
10777 use union YYSTYPE, as the later allows forward declaration.
10778 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
10779
47248e08 107802008-05-29 Robert Millan <rmh@aybabtu.com>
10781
10782 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
10783 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
10784 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
10785 (grub_console_checkkey): Add grub_dprintf() call to report unknown
10786 scan codes.
10787
ee632529 107882008-05-29 Robert Millan <rmh@aybabtu.com>
10789
10790 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
10791 control key combinations.
10792
eee96e08 107932008-05-29 Robert Millan <rmh@aybabtu.com>
10794
10795 * util/powerpc/ieee1275/grub-install.in: Move from here ...
10796 * util/ieee1275/grub-install.in: ... to here.
10797 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
10798 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
10799 (grub_install_SOURCES): Likewise.
10800
da9a6a94 108012008-05-29 Robert Millan <rmh@aybabtu.com>
10802
10803 * fs/affs.c: Update copyright year.
10804 * fs/ext2.c: Likewise.
10805 * fs/fshelp.c: Likewise.
10806 * fs/hfsplus.c: Likewise.
10807 * fs/ntfs.c: Likewise.
10808 * fs/xfs.c: Likewise.
10809 * include/grub/fshelp.h: Likewise.
10810 * util/grub-mkdevicemap.c: Likewise.
10811
12e65f3a 108122008-05-28 Robert Millan <rmh@aybabtu.com>
10813
10814 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
10815 might need to be fatfs to support some firmware implementations
10816 (e.g. OFW or EFI).
10817
23023641 108182008-05-28 Robert Millan <rmh@aybabtu.com>
10819
10820 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
10821 devices.
10822 * util/grub-mkdevicemap.c (get_mmc_disk_name)
10823 (make_device_map): Likewise.
10824
887d2619 108252008-05-20 Bean <bean123ch@gmail.com>
10826
10827 * fs/fshelp.c (grub_fshelp_map_block): New function.
10828 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
10829 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
10830
10831 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
10832 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
10833 (grub_fshelp_journal): New structure.
10834 (grub_fshelp_map_block): New function prototype.
10835 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
10836 (grub_fshelp_map_block): Likewise.
10837
10838 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
10839 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
10840 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
10841 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
10842 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
10843 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
10844 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
10845 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
10846 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
10847 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
10848 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
10849 (grub_ext2_sblock): New members for journal support.
10850 (grub_ext3_journal_header): New structure.
10851 (grub_ext3_journal_revoke_header): Likewise.
10852 (grub_ext3_journal_block_tag): Likewise.
10853 (grub_ext3_journal_sblock): Likewise.
10854 (grub_fshelp_node): New members logfile and journal.
10855 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
10856 grub_fshelp_map_block to get real block number.
10857 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
10858 number.
10859 (grub_ext2_read_inode): Likewise.
10860 (grub_ext3_get_journal): New function.
10861 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
10862 (grub_ext2_close): Release memory used by journal.
10863
10864 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
10865 (REISERFS_MAGIC_DESC_BLOCK): New macro.
10866 (grub_reiserfs_transaction_header): Renamed to
10867 grub_reiserfs_description_block, replace field data with real_blocks.
10868 (grub_reiserfs_commit_block): New structure.
10869 (grub_reiserfs_data): New member journal.
10870 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
10871 number.
10872 (grub_reiserfs_read_symlink): Likewise.
10873 (grub_reiserfs_iterate_dir): Likewise.
10874 (grub_reiserfs_open): Likewise.
10875 (grub_reiserfs_read): Likewise.
10876 (grub_reiserfs_get_journal): New function.
10877 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
10878 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
10879 using grub_reiserfs_get_journal.
10880 (grub_reiserfs_close): Release memory used by journal.
10881
10882 * fs/affs.c (grub_affs_read_block): Change block type to
10883 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
10884
10885 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
10886
10887 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
10888
10889 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
10890
10891 * fs/udf.c (grub_udf_read_block): Change block type to
10892 grub_disk_addr_t. Use type cast to avoid warning.
10893
10894 * fs/xfs.c (grub_xfs_read_block): Likewise.
10895
b7c6bed5 108962008-05-16 Christian Franke <franke@computer.org>
10897
10898 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
10899 to ensure that break with ESC will always work.
10900 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
10901 Remove ESC from keyboard queue.
10902
eedf167f 109032008-05-16 Christian Franke <franke@computer.org>
10904
10905 * util/biosdisk.c: [__CYGWIN__] Add includes.
10906 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
10907 (get_os_disk): Move variable declarations to OS specific
10908 parts to avoid warning.
10909 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
10910 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
10911 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
10912 Cygwin.
10913 * util/getroot.c: [__CYGWIN__] Add includes.
10914 (strip_extra_slashes): Fix "/" case.
10915 [__CYGWIN__] (get_win32_path): New function.
10916 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
10917 [__CYGWIN__] (find_root_device): Disable.
10918 [__CYGWIN__] (get_bootsec_serial): New function.
10919 [__CYGWIN__] (find_cygwin_root_device): Likewise.
10920 [__linux__] (grub_guess_root_device): Add early returns to simplify
10921 structure.
10922 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
10923 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
10924 check for Linux only.
10925
a079699e 109262008-05-15 Bean <bean123ch@gmail.com>
10927
10928 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
10929 keyboard hang problem in apple's intel mac.
10930
1cf4059a 109312008-05-09 Robert Millan <rmh@aybabtu.com>
10932
10933 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
10934 devices.
10935 * util/grub-mkdevicemap.c (get_virtio_disk_name)
10936 (make_device_map): Likewise.
10937 Reported by Aurelien Jarno <aurel32@debian.org>
10938
ed759390 109392008-05-07 Ian Campbell <ijc@hellion.org.uk>
10940
10941 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
10942 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
10943 (make_device_map): Output entries for xvd type disks.
10944
b56c4eaa 109452008-05-07 Robert Millan <rmh@aybabtu.com>
10946
10947 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
10948 devices.
10949 * util/grub-mkdevicemap.c (get_cciss_disk_name)
10950 (make_device_map): Likewise.
10951 Reported by Roland Dreier <rdreier@cisco.com>
10952
7f8866ed 109532008-05-07 Robert Millan <rmh@aybabtu.com>
10954
10955 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
10956 grub_strstr() call. Correct a few mistakes in failure path handling.
10957
b0346e0f 109582008-05-06 Robert Millan <rmh@aybabtu.com>
10959
10960 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
10961 Do not print a trailing slash (therefore, the root directory is an
10962 empty string).
10963 (convert_system_path_to_grub_path): Do not remove trailing slash
10964 from make_system_path_relative_to_its_root() output.
10965
10966 * util/i386/pc/grub-install.in: Add trailing slash to output from
10967 make_system_path_relative_to_its_root().
10968
6cf12cbd 109692008-05-06 Robert Millan <rmh@aybabtu.com>
10970
10971 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
10972 ensures that output lines aren't intermangled with those sent to
10973 stderr (via grub_util_info()).
10974 * util/grub-probe.c (grub_refresh): Likewise.
10975 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
10976
0fbb3117 109772008-05-05 Christian Franke <franke@computer.org>
10978
10979 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
10980 Add Cygwin device names.
10981 (get_ide_disk_name) [__CYGWIN__]: Likewise.
10982 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
10983 (check_device): Return error instead of success on empty name.
10984 (make_device_map): Move label inside linux specific code to
10985 prevent compiler warning.
10986
8124cdb7 109872008-04-30 Robert Millan <rmh@aybabtu.com>
10988
10989 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
10990 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
10991 first boot option.
10992 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
10993
094c01d0 109942008-04-29 Robert Millan <rmh@aybabtu.com>
10995
10996 * docs/grub.cfg: New file (example GRUB configuration).
10997
f4b1fc02 109982008-04-26 Robert Millan <rmh@aybabtu.com>
10999
329ce2a5 11000 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
11001 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
11002 and `disk/ieee1275/nand.c'.
f4b1fc02 11003
25f16ec1 110042008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 11005
25f16ec1 11006 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
11007 i386-linuxbios.
11008
11009 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
11010 change the buffer size to 4096 for cdrom device.
11011
11012 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
11013 and nand.mod.
11014 (_linux_mod_SOURCES): New variable.
11015 (_linux_mod_CFLAGS): Likewise.
11016 (_linux_mod_LDFLAGS): Likewise.
11017 (linux_mod_SOURCES): Likewise.
11018 (linux_mod_CFLAGS): Likewise.
11019 (linux_mod_LDFLAGS): Likewise.
11020 (nand_mod_SOURCES): Likewise.
11021 (nand_mod_CFLAGS): Likewise.
11022 (nand_mod_LDFLAGS): Likewise.
11023
11024 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
11025 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
11026 type property. (nand device in olpc don't have this property)
11027
11028 * include/grub/disk.h (grub_disk_dev_id): New macro
11029 GRUB_DISK_DEVICE_NAND_ID.
11030
11031 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
11032 function prototype.
11033 (grub_rescue_cmd_initrd): Likewise.
11034
11035 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
11036 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
11037 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 11038
25f16ec1 11039 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
11040 GRUB_MACHINE_IEEE1275 is defined.
11041
11042 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
11043 Use NESTED_FUNC_ATTR attribute on the hook parameter.
11044
11045 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
11046 on nested function heap_init.
11047 (grub_upper_mem): New variable for i386-ieee1275.
11048 (grub_get_extended_memory): New function for i386-ieee1275.
11049 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
11050
11051 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
11052 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
11053 property.
f19dbdb7 11054
25f16ec1 11055 * loader/i386/ieee1275/linux.c: New file.
11056
11057 * loader/i386/ieee1275/linux_normal.c: New file.
11058
11059 * disk/ieee1275/nand.c: New file.
11060
e89d61e9 110612008-04-18 Thomas Schwinge <tschwinge@gnu.org>
11062
11063 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
11064 value.
11065 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
11066
602566f6 110672008-04-18 Robert Millan <rmh@aybabtu.com>
11068
11069 Restructures early code path on ieee1275 to unify grub_main() as
11070 the first C function that is executed in every platform.
11071
11072 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
11073 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
11074 cmain().
11075 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
11076 * kern/ieee1275/cmain.c (cmain): Rename to ...
11077 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
11078 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
11079 at the beginning.
11080
57490c2b 110812008-04-18 Robert Millan <rmh@aybabtu.com>
11082
11083 * util/update-grub.in: Fix syntax error when setting
11084 `GRUB_PRELOAD_MODULES'.
11085 Reported by Stephane Chazelas <stephane@artesyncp.com>
11086
1977517d 110872008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
11088
11089 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
11090 section into account, newer toolchains generate unique build ids
11091 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 11092 we want build ids to be preserved
1977517d 11093 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
11094 far from other sections don't cause the raw binary images grow
11095 size
11096
bfb1f1a2 110972008-04-15 Robert Millan <rmh@aybabtu.com>
11098
11099 * disk/lvm.c: Update copyright year.
11100 * kern/misc.c: Likewise.
11101
01979850 111022008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
11103
11104 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 11105 there is no memory left for physical volume name.
01979850 11106
0a1150e2 111072008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
11108
11109 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
11110 volume name mapping to support bigger than 9 character names properly.
11111
82ead3fe 111122008-04-13 Robert Millan <rmh@aybabtu.com>
11113
11114 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
11115 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
11116
e54a72f5 111172008-04-13 Christian Franke <franke@computer.org>
11118
11119 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
11120 to create a floppy emulation boot CD when non emulation mode
11121 does not work.
11122 Enable Joliet CD filesystem extension.
11123
9fe86034 111242008-04-13 Robert Millan <rmh@aybabtu.com>
11125
11126 * kern/misc.c (grub_strncat): Fix off-by-one error.
11127 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
11128
11129 * kern/env.c (grub_env_context_close): Clear current context, not
11130 previous one.
11131 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
11132
11133 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
11134
7ceeee39 111352008-04-13 Robert Millan <rmh@aybabtu.com>
11136
11137 Improve robustness when handling LVM.
11138
11139 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 11140 (and leave `*p' unmodified).
7ceeee39 11141 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
11142 through it.
11143 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
11144 iterating through it.
11145 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
11146 through it.
fe6b695a 11147 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 11148 when due) on each grub_lvm_getvalue() or grub_strstr() call.
11149 Don't assume `vg->pvs != NULL' when iterating through it.
11150
58cd3d85 111512008-04-13 Robert Millan <rmh@aybabtu.com>
11152
11153 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
11154 * genmk.rb (partmap): New variable.
11155 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
11156 (#{partmap}): New target rule.
11157 * genpartmaplist.sh: New file.
11158 * Makefile.in (pkglib_DATA): Add partmap.lst.
11159 (partmap.lst): New target rule.
11160 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
11161 modules (including all partition maps), instead of preloading them.
11162
78b51059 111632007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
11164
11165 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
11166 `linux-boot-prober' (if installed) to detect other operating
11167 systems which are installed on the computer and add them to
11168 the boot menu.
11169 * conf/common.rmk: Build and install 30_os-prober.
11170
a91627b4 111712008-04-12 Robert Millan <rmh@aybabtu.com>
11172
11173 * kern/powerpc/ieee1275/init.c: Move from here ...
11174 * kern/ieee1275/init.c: ... to here. Update all users.
11175
11176 * kern/powerpc/ieee1275/cmain.c: Move from here ...
11177 * kern/ieee1275/cmain.c: ... to here. Update all users.
11178
11179 * kern/powerpc/ieee1275/openfw.c: Move from here ...
11180 * kern/ieee1275/openfw.c: ... to here. Update all users.
11181
11182 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
11183 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
11184
322562ea 111852008-04-10 Pavel Roskin <proski@gnu.org>
11186
11187 * configure.ac: Always use "_cv_" in cache variables for
11188 compatibility with Autoconf 2.62.
11189
a02a73c5 111902008-04-07 Robert Millan <rmh@aybabtu.com>
11191
11192 Revert grub/machine/init.h addition by Pavel (since it breaks on
11193 i386-ieee1275 and others):
11194 * util/i386/pc/misc.c: Remove grub/machine/init.h.
11195 * util/powerpc/ieee1275/misc.c: Likewise.
11196
25c024b1 111972008-04-07 Robert Millan <rmh@aybabtu.com>
11198
11199 * util/grub-probe.c (probe): Improve error message.
11200
3cbd2f98 112012008-04-07 Robert Millan <rmh@aybabtu.com>
11202
11203 * util/biosdisk.c (read_device_map): Skip devices that don't exist
11204 (this prevents the presence of a bogus entry from ruining the whole
11205 thing).
11206
87a297bf 112072008-04-06 Pavel Roskin <proski@gnu.org>
11208
36747a62 11209 * util/biosdisk.c: Include grub/util/biosdisk.h.
11210 * util/grub-fstest.c (execute_command): Make static.
11211 * util/grub-mkdevicemap.c (check_device): Likewise.
11212 * util/i386/pc/misc.c: Include grub/machine/init.h.
11213 * util/powerpc/ieee1275/misc.c: Likewise.
11214 * util/lvm.c: Include grub/util/lvm.h.
11215 * util/misc.c: Include grub/kernel.h, grub/misc.h and
11216 grub/cache.h.
11217 * util/raid.c: Include grub/util/raid.h.
11218 (grub_util_getdiskname): Make static.
11219
87a297bf 11220 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
11221 grub_hostfs_fini(), as they are called from grub_init_all() and
11222 grub_fini_all() respectively. This fixes an infinite loop in
11223 grub-fstest due to double registration of hostfs.
11224 Reported by Christian Franke <Christian.Franke@t-online.de>
11225
f6ce7629 112262008-04-05 Pavel Roskin <proski@gnu.org>
11227
11228 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
11229 all 8 functions. Otherwise, probe function 0 only.
11230
070e49e4 112312008-04-04 Pavel Roskin <proski@gnu.org>
11232
8b088a4c 11233 * commands/lspci.c (grub_lspci_iter): Print the bus number
11234 correctly.
11235
4f657021 11236 * commands/lspci.c (grub_pci_classes): Fix typos.
11237 (grub_lspci_iter): Don't print func twice. Print vendor ID
11238 before device ID, as it's normally done.
11239
070e49e4 11240 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
11241 Fix signedness warnings.
11242 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
11243 Likewise.
11244 * util/ieee1275/get_disk_name.c: Include config.h so that
11245 _GNU_SOURCE is defined and getline() is declared. Mark an
11246 unused argument as such. Fix a signedness warning.
11247
ba7328dc 112482008-04-02 Pavel Roskin <proski@gnu.org>
11249
26887f22 11250 * genkernsyms.sh.in: Use more robust assignments for CC and
11251 srcdir. Quote srcdir.
11252 * gensymlist.sh.in: Likewise. Assert at the compile time that
11253 the symbol table is not empty.
11254
ba7328dc 11255 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
11256 * fs/cpio.c (grub_cpio_read): Likewise.
11257
0f582c6b 112582008-04-01 Pavel Roskin <proski@gnu.org>
11259
4b6e1995 11260 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
11261 * disk/host.c (grub_host_open): Likewise.
11262 * disk/loopback.c (grub_loopback_open): Likewise.
11263 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
11264 disk->id as in disk/host.c, not a multi-character constant.
11265
828a2768 11266 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
11267 later is obsolete, potentially dangerous and sets a bad example.
11268 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
11269 * util/misc.c (grub_util_get_image_size): Likewise.
11270
2bb4fb47 11271 * disk/loopback.c (options): Improve help for "--partitions".
11272
0f582c6b 11273 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
11274 options to align them with the short options, e.g. "echo -e".
11275
a33224e0 112762008-03-31 Bean <bean123ch@gmail.com>
11277
11278 * video/reader/png.c (grub_png_data): New member is_16bit and
11279 image_data.
11280 (grub_png_decode_image_header): Detect 16 bit png image.
11281 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
11282 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
11283 (grub_video_reader_png): Release memory occupied by image_data.
11284
11285 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
11286 4096 bytes.
11287 (grub_nfs_mount): Skip the test for sector per cluster.
11288
11289 * include/grub/ntfs.h (MAX_SPC): Removed.
11290
86cb4f54 112912008-03-31 Bean <bean123ch@gmail.com>
11292
11293 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
11294 (grub_probe_SOURCES): Add fs/afs.c.
11295 (grub_fstest_SOURCES): Likewise.
11296 (afs_mod_SOURCES): New variable.
11297 (afs_mod_CFLAGS): Likewise.
11298 (afs_mod_LDFLAGS): Likewise.
11299
11300 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
11301 (grub_emu_SOURCES): Likewise.
11302
11303 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11304
11305 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11306
11307 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
11308
11309 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11310
11311 * fs/afs.c: New file.
11312
17c74c21 113132008-03-30 Pavel Roskin <proski@gnu.org>
11314
4cb68e89 11315 * disk/host.c: Include grub/misc.h to fix a warning.
11316 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
11317 warnings about implicit declarations.
11318
8790bb04 11319 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
11320 variable.
11321 * include/grub/i386/loader.h: Change declaration of
11322 grub_linux_boot() to match what grub_loader_set() expects.
11323 * util/getroot.c (grub_guess_root_device): Return const char* to
11324 fix a warning.
11325 * util/grub-probe.c (probe): Fix a warning about uninitialized
11326 abstraction_name variable.
11327 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
11328 second argument as unused to fix a warning.
11329
9a3f3296 11330 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
11331 missing grub_error() call.
11332
0ecef90d 11333 * util/update-grub_lib.in: Define datarootdir, since Autoconf
11334 2.60 and newer uses it to define datadir.
11335
0bf6d401 11336 * commands/sleep.c: Fix warning about implicit declaration.
11337 * disk/memdisk.c: Likewise.
11338 * loader/aout.c: Likewise.
11339 * loader/i386/bsd_normal.c: Likewise.
11340 * util/grub-probe.c: Likewise.
11341
7cdacf97 11342 * commands/i386/cpuid.c (has_longmode): Make static.
11343 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
11344 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
11345
17c74c21 11346 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
11347 GDT. This is more robust, as %ds can change.
11348 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
11349 calling real_to_prot().
11350 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
11351
80a3e68b 113522008-03-28 Pavel Roskin <proski@gnu.org>
11353
11354 * kern/i386/pc/startup.S: Assert that uncompressed functions
11355 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
11356 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
11357 code, as they push parts of the code (error handlers) beyond
11358 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
11359 code as correctness and size.
11360
77bcd272 113612008-03-28 Pavel Roskin <proski@gnu.org>
11362
11363 * kern/i386/pc/startup.S
11364 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
11365 data block address to the real mode, keep offset minimal. This
11366 works around a bug in AWARD BIOS on old Athlon systems, which
11367 makes CD detection hang.
11368
c5dfd43b 113692008-03-26 Pavel Roskin <proski@gnu.org>
11370
11371 * normal/color.c (grub_parse_color_name_pair): Make `name' a
11372 const.
11373 * include/grub/normal.h: Add grub_parse_color_name_pair()
11374 declaration.
11375
bf962df2 113762008-03-24 Bean <bean123ch@gmail.com>
11377
11378 * disk/i386/pc/biosdisk.c (cd_start): Removed.
11379 (cd_count): Removed.
11380 (cd_drive): New variable.
11381 (grub_biosdisk_get_drive): Don't check for (cdN) device.
11382 (grub_biosdisk_call_hook): Likewise.
11383 (grub_biosdisk_iterate): Change cdrom detection method.
11384 (grub_biosdisk_open): Replace cd_start with cd_drive.
11385 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
11386 detect cdrom device.
11387
11388 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
11389 Removed.
11390 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
11391 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
11392 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
11393 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
11394 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
11395 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
11396 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
11397 (grub_biosdisk_cdrp): New structure.
11398 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
11399
11400 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
11401
11402 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
11403 device.
11404
11405 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
11406 New function.
11407
68e7fc7a 114082008-03-20 Robert Millan <rmh@aybabtu.com>
11409
11410 Remove 2 TiB limit in ata.mod.
11411 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
11412 (grub_ata_dumpinfo): Print sector count with 0x%llx.
11413 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
11414 grub_uint64_t instead of grub_uint32_t.
11415
38ad2cf5 114162008-03-05 Bean <bean123ch@gmail.com>
11417
11418 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
11419 (grub_multiboot): Set boot device.
11420
11421 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
11422
2b89344e 114232008-03-02 Bean <bean123ch@gmail.com>
11424
11425 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
11426 symlink_buffer.
11427
87a95d1f 114282008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
11429
11430 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
11431 texinfo.tex.
11432
11433 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
11434 modified.
11435
11436 * docs/fdl.texi: New file.
f19dbdb7 11437
87a95d1f 11438 * docs/mdate-sh: New file. Copied from gnulib.
11439 * docs/texinfo.tex: Likewise.
11440
11441 * config.guess: Updated from gnulib.
11442 * install-sh: Likewise.
11443
7dc15d8e 114442008-02-28 Robert Millan <rmh@aybabtu.com>
11445
11446 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
11447 (aout_mod_SOURCES): New variable.
11448 (aout_mod_CFLAGS): Likewise.
11449 (aout_mod_LDFLAGS): Likewise.
11450
11451 * conf/i386-ieee1275.rmk: Likewise.
11452
b00ab696 114532008-02-28 Robert Millan <rmh@aybabtu.com>
11454
11455 * util/update-grub.in: Reorganise terminal validity check. Accept
11456 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
11457 Based on suggestion by Franklin PIAT.
11458
79ca2d78 114592008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
11460
11461 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
11462 function.
11463 * util/getroot.c (grub_util_check_block_device): New function that
11464 returns the given argument if it is a block device and returns NULL else.
11465 * util/grub-probe.c (argument_is_device): New variable.
11466 (probe): Promote device_name from a variable to an argument. Receive
11467 device_name from grub_util_check_block_device() if path is NULL and from
11468 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 11469 (options): Introduce new parameter '-d, --device'.
79ca2d78 11470 (main): Add description of the new parameter to the help screen.
11471 Rename path variable to argument. Set argument_is_device if the '-d'
11472 option is given. Pass argument to probe() depending on
11473 argument_is_device.
11474
0d16e571 114752008-02-24 Bean <bean123ch@gmail.com>
11476
11477 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
11478 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
11479 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
11480 (GRUB_ISO9660_VOLDESC_PART): Likewise.
11481 (GRUB_ISO9660_VOLDESC_END): Likewise.
11482 (grub_iso9660_primary_voldesc): New member escape.
11483 (grub_iso9660_data): New member joliet.
11484 (grub_iso9660_convert_string): New function.
11485 (grub_iso9660_mount): Detect joliet extension.
11486 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
11487 (grub_iso9660_iso9660_label): Likewise.
11488
11489 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
11490 (grub_setup_SOURCES): Add fs/udf.c.
11491 (grub_fstest_SOURCES): Likewise.
11492 (udf_mod_SOURCES): New variable.
11493 (udf_mod_CFLAGS): Likewise.
11494 (udf_mod_LDFLAGS): Likewise.
11495
11496 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
11497 (grub_emu_SOURCES): Likewise.
11498
11499 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11500
11501 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11502
11503 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
11504
11505 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11506
11507 * fs/udf.c: New file.
11508
8a594a17 115092008-02-24 Robert Millan <rmh@aybabtu.com>
11510
11511 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
11512 (normal/lexer.c_DEPENDENCIES): New variables.
11513 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
11514 (normal/lexer.c_DEPENDENCIES): Likewise.
11515 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
11516 (normal/lexer.c_DEPENDENCIES): Likewise.
11517 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
11518 (normal/lexer.c_DEPENDENCIES): Likewise.
11519 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
11520 (normal/lexer.c_DEPENDENCIES): Likewise.
11521 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
11522 (normal/lexer.c_DEPENDENCIES): Likewise.
11523
2dc33c03 115242008-02-23 Robert Millan <rmh@aybabtu.com>
11525
11526 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
11527 since they were intended to be in hex. This didn't break previously
11528 because of a bug in gpt_partition_map_iterate() (see below).
11529
11530 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
11531 when checking the validity of GPT header.
11532 Remove `partno', since it always provides the same information as `i'.
11533
f6f4cfb0 115342008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
11535
11536 * include/grub/efi/time.h: Fix a wrong comment.
11537
79ff665f 115382008-02-19 Pavel Roskin <proski@gnu.org>
11539
11540 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
11541 message.
11542
d38e24c2 115432008-02-19 Bean <bean123ch@gmail.com>
11544
11545 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
11546 (aout_mod_SOURCES): New variable.
11547 (aout_mod_CFLAGS): Likewise.
11548 (aout_mod_LDFLAGS): Likewise.
11549 (_bsd_mod_SOURCES): New variable.
11550 (_bsd_mod_CFLAGS): Likewise.
11551 (_bsd_mod_LDFLAGS): Likewise.
11552 (bsd_mod_SOURCES): New variable.
11553 (bsd_mod_CFLAGS): Likewise.
11554 (bsd_mod_LDFLAGS): Likewise.
11555
11556 * include/grub/aout.h: New file.
11557
11558 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
11559
11560 * include/grub/i386/bsd.h: New file.
11561
11562 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
11563 to make it public.
11564
11565 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
11566 function is called, so that it's possible to change it inside the hook.
11567 (grub_elf64_load): Likewise.
11568 (grub_elf_file): Don't close the file if elf header is not found.
11569 (grub_elf_close): Close the file if grub_elf_file fails (The new
11570 grub_elf_file won't close it).
11571 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
11572 (grub_elf64_size): Likewise.
11573
11574 * kern/i386/loader.S (grub_unix_real_boot): New function.
11575
11576 * loader/aout.c: New file.
11577
11578 * loader/i386/bsd.c: New file.
11579
11580 * loader/i386/bsd_normal.c: New file.
11581
11582 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
11583
11584 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 11585 can test other formats.
d38e24c2 11586
b93bdb0f 115872008-02-19 Robert Millan <rmh@aybabtu.com>
11588
11589 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
11590 (grub_gpt_partition_type_empty): Redefine with macro from
11591 `<grub/gpt_partition.h>'.
11592 (gpt_partition_map_iterate): Adjust partition type comparison.
11593
11594 Export `entry' as partmap-specific `part.data' struct.
11595 (grub_gpt_header, grub_gpt_partentry): Move from here ...
11596
11597 * include/grub/gpt_partition.h (grub_gpt_header)
11598 (grub_gpt_partentry): ... to here (new file).
11599
11600 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
11601
11602 (grub_gpt_partition_type_bios_boot): New const variable, defined
11603 with macro from `<grub/gpt_partition.h>'.
11604
11605 (setup): Replace `first_start' with `embed_region', which keeps
11606 track of the embed region (and is partmap-agnostic).
11607
11608 Replace find_first_partition_start() with find_usable_region(),
11609 which finds a usable region for embedding using partmap-specific
11610 knowledge (supports PC/MSDOS and GPT).
11611
11612 Fix all assumptions that the embed region start at sector 1, using
11613 `embed_region.start' from now on. Similarly, use `embed_region.end'
11614 rather than `first_start' to calculate available size.
11615
11616 In grub_util_info() message, replace "into after the MBR" with an
11617 indication of the specific sector our embed region starts at.
11618
66cb40f6 116192008-02-19 Robert Millan <rmh@aybabtu.com>
11620
11621 * DISTLIST: Replace `commands/ieee1275/halt.c' and
11622 `commands/ieee1275/reboot.c' with `commands/halt.c' and
11623 `commands/reboot.c'.
11624 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
11625 (halt_mod_SOURCES): Likewise.
11626 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
11627 (halt_mod_SOURCES): Likewise.
11628
b7202015 116292008-02-17 Christian Franke <franke@computer.org>
11630
11631 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
11632
32b0fc49 116332008-02-17 Robert Millan <rmh@aybabtu.com>
11634
11635 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
11636 set `first_start' to 0 for non-PC/MSDOS partition maps.
11637
aca63502 116382008-02-16 Robert Millan <rmh@aybabtu.com>
11639
11640 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
11641 do not assume partition map is PC/MSDOS before performing checks that
11642 are specific to that layout.
11643
0de8be86 116442008-02-13 Robert Millan <rmh@aybabtu.com>
11645
11646 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
11647 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
11648 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
11649
c3db8364 116502008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
11651
11652 * configure.ac: Only a cosmetic change on the handling of
11653 -fno-stack-protector.
11654
f714229e 116552008-02-12 Alexandre Boeglin <alex@boeglin.org>
11656
c3db8364 11657 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
11658 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
11659 reboot.c.
f714229e 11660 (grub_install_SOURCES): Add halt.mod and reboot.mod.
11661 (halt_mod_SOURCES): New variable.
11662 (halt_mod_CFLAGS): Likewise.
11663 (halt_mod_LDFLAGS): Likewise.
11664 (reboot_mod_SOURCES): Likewise.
11665 (reboot_mod_CFLAGS): Likewise.
11666 (reboot_mod_LDFLAGS): Likewise.
11667
c3db8364 11668 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
11669 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
11670 reboot.c.
f714229e 11671 (halt_mod_SOURCES): Likewise.
11672 (reboot_mod_SOURCES): Likewise.
11673
c3db8364 11674 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
11675 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 11676 (reboot_mod_SOURCES): Likewise.
11677
11678 * commands/i386/pc/reboot.c: merge this file ...
11679
11680 * commands/ieee1275/reboot.c: ... and this file ...
11681
11682 * commands/reboot.c: ... to this file.
c3db8364 11683 Add some precompiler directive to include the correct header for
11684 each machine.
f714229e 11685
11686 * commands/ieee1275/halt.c: move this file ...
11687
11688 * commands/halt.c: ... to here.
c3db8364 11689 Add some precompiler directive to include the correct header for
11690 each machine.
f714229e 11691
11692 * include/grub/efi/efi.h (grub_reboot): New function declaration.
11693 (grub_halt): Likewise.
11694
11695 * kern/efi/efi.c (grub_reboot): New function.
11696 (grub_halt): Likewise.
11697
c74493e0 116982008-02-12 Robert Millan <rmh@aybabtu.com>
11699
11700 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
11701 /dev (like it is done for /dev/mapper). This doesn't provide support
11702 for EVMS, but at least it is now easy to identify the problem when it
11703 arises.
11704
d0db4b04 117052008-02-11 Robert Millan <rmh@aybabtu.com>
11706
11707 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
11708 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
11709 comparing it with -1, not 0.
11710
bf748642 117112008-02-10 Robert Millan <rmh@aybabtu.com>
11712
11713 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
11714 `disk/lvm.c'.
11715 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11716 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
11717
11718 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
11719 `disk/lvm.c' to the end of the list.
11720 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
11721 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
11722
b5db202a 117232008-02-10 Robert Millan <rmh@aybabtu.com>
11724
11725 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
11726 grub_print_error() instead. This will let user know why we're entering
11727 rescue mode.
11728 Based on suggestions from Sam Morris.
11729
83abee31 117302008-02-10 Alexandre Boeglin <alex@boeglin.org>
11731
11732 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
11733 on remaining N args, instead of "--" arg N times.
11734
78d5a08b 117352008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
11736
11737 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
11738 (fill_with_default_glyph): Changed to use unknown_glyph for fill
11739 pattern for unknown glyphs.
11740
68807e5f 117412008-02-09 Robert Millan <rmh@aybabtu.com>
11742
11743 * configure.ac: Probe for `help2man'.
11744 * Makefile.in (builddir): New variable.
11745 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
11746 or otherwise add a few flags/options to it.
11747 (install-local): For every executable utility or script that is
11748 installed, invoke $(HELP2MAN) to install a manpage based on --help
11749 output.
11750
11751 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
11752 that it doesn't prevent --help from working in build tree.
11753
11754 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
11755 with `bug-grub@gnu.org'.
11756 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
11757 * util/update-grub.in (usage): New function.
11758 Implement proper argument check, with support for --help and --version
11759 (as well as existing -y).
11760
117612008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 11762
11763 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
11764 avoid overwriting previous output.
11765 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
11766
c1962162 117672008-02-09 Robert Millan <rmh@aybabtu.com>
11768
11769 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
11770 drawing the menu.
11771
3dac2e3f 117722008-02-09 Robert Millan <rmh@aybabtu.com>
11773
11774 * commands/sleep.c: New file.
11775 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
11776 (sleep_mod_SOURCES): New variable.
11777 (sleep_mod_CFLAGS): Likewise.
11778 (sleep_mod_LDFLAGS): Likewise.
11779
7a634e08 117802008-02-09 Robert Millan <rmh@aybabtu.com>
11781
11782 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
11783 situations in which we can deduce the RAID size and the superblock
11784 doesn't match it.
11785
b92f0c18 117862008-02-09 Robert Millan <rmh@aybabtu.com>
11787
11788 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
11789 and return a grub_diskmemberlist_t composed of LVM physical volumes.
11790 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
11791
11792 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
11793 and return a grub_diskmemberlist_t composed of physical array members.
11794 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
11795
11796 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
11797 prototype.
11798 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
11799 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
11800 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
11801
11802 * util/grub-probe.c (probe): Move partmap probing code from here ...
11803 (probe_partmap): ... to here.
11804 (probe): Use probe_partmap() once for the disk we're probing, and
11805 additionally, when such disk contains a memberlist() struct member,
11806 once for each disk that is contained in the structure returned by
11807 memberlist().
11808
91a4bf68 118092008-02-09 Robert Millan <rmh@aybabtu.com>
11810
11811 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
11812 environment variable to 'all' in order to obtain debug output from
11813 non-util/ code.
11814 * util/i386/pc/grub-setup.c (main): Likewise.
11815
a96f9caa 118162008-02-08 Robert Millan <rmh@aybabtu.com>
11817
11818 * disk/raid.c (grub_raid_scan_device): Check for
11819 `array->device[sb.this_disk.number]' rather than for
11820 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 11821 guaranteed to be accessible.
a96f9caa 11822
b37a9222 118232008-02-08 Robert Millan <rmh@aybabtu.com>
11824
11825 * disk/raid.c: Update copyright.
11826 * fs/cpio.c: Likewise.
11827 * include/grub/raid.h: Likewise.
11828 * loader/i386/pc/multiboot.c: Likewise.
11829 * util/hostfs.c: Likewise.
11830
5626aee1 118312008-02-08 Robert Millan <rmh@aybabtu.com>
11832
11833 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
11834 to a grub_disk_t array.
11835 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
11836 `device[x]'.
11837 (grub_raid_scan_device): Replace `device[x].name' accesses with
11838 `device[x]->name'. Simplify initialization of `array->device[x]'.
11839
554f0187 118402008-02-08 Robert Millan <rmh@aybabtu.com>
11841
11842 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
11843 grub_dprintf() calls.
11844 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
11845 error message.
11846
1ec8425d 118472008-02-07 Christian Franke <franke@computer.org>
11848
11849 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
11850 instead of fseek and ftell to support large files.
11851 (grub_hostfs_read): Likewise.
11852
f2156fda 118532008-02-07 Robert Millan <rmh@aybabtu.com>
11854
11855 Patch from Jeroen Dekkers.
11856 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 11857 failure, since successfully reading all array members might not be
f2156fda 11858 required.
11859
9216e0e7 118602008-02-06 Robert Millan <rmh@aybabtu.com>
11861
11862 * util/grub-probe.c (probe): Simplify partmap probing (with the
11863 assumption that the first word up to the underscore equals to
11864 the module name).
11865
b0dfd29a 118662008-02-06 Christian Franke <franke@computer.org>
11867
11868 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
11869 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
11870 last block of a cpio or tar stream.
11871 Check for "TRAILER!!!" instead of any empty data
11872 block to detect last block of a cpio stream.
11873 (grub_cpio_dir): Fix constness of variable np.
11874 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
11875 cpio or tar trailer is detected. This fixes a crash
11876 on open of a non existing file.
11877
c32865bf 118782008-02-05 Bean <bean123ch@gmail.com>
11879
11880 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
11881 address of entry.
11882 (grub_multiboot_load_elf64): Likewise.
11883 (grub_multiboot): Initialize mbi structure.
11884
11885 * util/grub-fstest.c: Don't include unused header file script.h.
11886
fe6b695a 11887 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 11888 of file.
11889 (grub_fstest_SOURCES): Likewise.
11890
409480b7 118912008-02-05 Robert Millan <rmh@aybabtu.com>
11892
11893 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
11894 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
11895 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
11896 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
11897
11898 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
11899 (translation_table): Replace hardcoded values with macros
11900 provided by `<grub/term.h>'.
11901
11902 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
11903 (keyboard_map): Correct/add a few values, with macros provided
11904 by `<grub/term.h>'.
11905 (keyboard_map_shift): Zero values that don't differ from their
11906 `keyboard_map' equivalents.
11907 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
11908 Discard the second scan code that is always sent by Caps lock.
11909 Only use `keyboard_map_shift' when it provides a non-zero value,
11910 otherwise fallback to `keyboard_map'.
11911
99fadbaa 119122008-02-04 Bean <bean123ch@gmail.com>
11913
11914 * Makefile.in (enable_grub_fstest): New variable.
11915
11916 * conf/common.rmk (grub_fstest_init.lst): New rule.
11917 (grub_fstest_init.h): Likewise.
11918 (grub_fstest_init.c): Likewise.
11919 (util/grub-fstest.c_DEPENDENCIES): New variable.
11920 (grub_fstest_SOURCES): Likewise.
11921
11922 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
11923
11924 * util/grub-fstest.c: New file.
11925
bf567c50 119262008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
11927
11928 Make grub-setup handle a separate root device.
f19dbdb7 11929
bf567c50 11930 * util/i386/pc/grub-setup.c (setup): Always open the root device,
11931 so that the root device can be compared with the destination
11932 device.
11933 When embedding the core image, if the root and destination devices
11934 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
11935 0xFF.
11936 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 11937
9be6b98b 119382008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
11939
11940 Add support for having a grub directory in a different drive. This
11941 is still only the data handling part.
f19dbdb7 11942
9be6b98b 11943 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
11944 (codestart): Save %dh in GRUB_ROOT_DRIVE.
11945 (grub_root_drive): New variable.
11946
11947 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
11948 instead of GRUB_BOOT_DRIVE to construct a device name. Set
11949 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
11950 as it was.
11951
11952 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
11953
11954 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
11955 macro.
11956 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
11957
11958 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
11959 is bogus, because PXE booting does not specify any drive
11960 correctly.
11961
11962 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
11963 am not sure if this is really correct.
11964
11965 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
11966 is always identical to the boot drive when booting from a CD.
11967
11968 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
11969 longer.
11970 (root_drive): New variable.
11971 (real_start): Unconditionally set %dh to ROOT_DRIVE.
11972 (setup_sectors): Push %dx right after popping it, because %dh will
11973 be modified later.
11974 (copy_buffer): Restore %dx.
11975
e0ca0677 119762008-02-03 Robert Millan <rmh@aybabtu.com>
11977
11978 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
11979 use `cdboot.img' for cdrom images.
11980
3b3f6629 119812008-02-03 Robert Millan <rmh@aybabtu.com>
11982
11983 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
11984 only setup gfxterm when `font' command has succeeded.
11985
d42b3672 119862008-02-03 Robert Millan <rmh@aybabtu.com>
11987
11988 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
11989 (grub_rescue_cmd_multiboot_loader)
11990 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
11991
fa370ea6 119922008-02-03 Pavel Roskin <proski@gnu.org>
11993
e0c5dacb 11994 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 11995 %edx and %esi from stack only after grub_gate_a20() is called.
11996 grub_gate_a20() clobbers %edx.
11997
f2a76e1d 119982008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
11999
12000 * configure.ac (AC_INIT): Bumped to 1.96.
12001
12002 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
12003 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
12004 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
12005 video/readers/png.c.
12006
90fd32d1 120072008-02-03 Bean <bean123ch@gmail.com>
9be665dd 12008
12009 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
12010 (cdboot_img_SOURCES): New variable.
12011 (cdboot_img_ASFLAGS): New variable.
12012 (cdboot_img_LDFLAGS): New variable.
12013
12014 * boot/i386/pc/cdboot.S: New file.
12015
12016 * disk/i386/pc/biosdisk.c (cd_start): New variable.
12017 (cd_count): Likewise.
12018 (grub_biosdisk_get_drive): Add support for cd device.
12019 (grub_biosdisk_call_hook): Likewise.
12020 (grub_biosdisk_iterate): Likewise.
12021 (grub_biosdisk_open): Likewise.
12022 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
12023 (grub_biosdisk_rw): Support reading from cd device.
12024 (GRUB_MOD_INIT): Iterate cd devices.
12025
12026 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
12027 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
12028 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
12029
12030 * kern/i386/pc/init.c (make_install_device): Check for cd device.
12031
4020aa53 120322008-02-02 Robert Millan <rmh@aybabtu.com>
12033
12034 * commands/read.c: New file.
12035 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
12036 (read_mod_SOURCES): New variable.
12037 (read_mod_CFLAGS): Likewise.
12038 (read_mod_LDFLAGS): Likewise.
12039
e03a1132 120402008-02-02 Robert Millan <rmh@aybabtu.com>
12041
12042 * normal/main.c (grub_normal_execute): Check for `menu->size' when
12043 determining whether menu has to be displayed.
12044
58c69220 120452008-02-02 Marco Gerards <marco@gnu.org>
12046
12047 * bus/pci.c: New file.
12048
12049 * include/grub/pci.h: Likewise.
12050
12051 * include/grub/i386/pc/pci.h: Likewise.
12052
12053 * commands/lspci.c: Likewise.
12054
12055 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
12056 `lspci.mod'.
12057 (pci_mod_SOURCES): New variable.
12058 (pci_mod_CFLAGS): Likewise.
12059 (pci_mod_LDFLAGS): Likewise.
12060 (lspci_mod_SOURCES): Likewise.
12061 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 12062 (lspci_mod_LDFLAGS): Likewise.
58c69220 12063
c004e1b4 120642008-02-02 Bean <bean123ch@gmail.com>
12065
12066 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
12067 (grub_ufs_get_file_block): Fix indirect block calculation problem.
12068
12069 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
12070 (grub_xfs_btree_node): New structure.
12071 (grub_xfs_btree_root): New structure.
12072 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
12073 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
12074 (GRUB_XFS_EXTENT_BLOCK): Likewise.
12075 (GRUB_XFS_EXTENT_SIZE): Likewise.
12076 (grub_xfs_read_block): Support btree format type.
12077 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
12078 Use directory block as basic unit.
12079
12080 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
12081
12082 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
12083 __attribute__ ((__regparm__ (1))).
12084
f95562bf 120852008-02-01 Robert Millan <rmh@aybabtu.com>
12086
12087 Correct a mistake in previous commit.
12088
12089 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
12090 top.
12091 (normal/command.c_DEPENDENCIES): New variable.
12092
7d31f41f 120932008-02-01 Robert Millan <rmh@aybabtu.com>
12094
12095 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
12096 top.
12097 (normal/command.c_DEPENDENCIES): New variable.
12098 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
12099 * conf/i386-ieee1275.rmk: Likewise.
12100 * conf/i386-linuxbios.rmk: Likewise.
12101 * conf/i386-pc.rmk: Likewise.
12102 * conf/sparc64-ieee1275.rmk: Likewise.
12103 * conf/powerpc-ieee1275.rmk: Likewise.
12104 (grub_emu_SOURCES): Add `fs/fshelp.c'.
12105
12106 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
12107
60b6be74 121082008-02-01 Robert Millan <rmh@aybabtu.com>
12109
12110 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
12111 call at beginning of function.
12112
078522ab 121132008-01-31 Pavel Roskin <proski@gnu.org>
12114
12115 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 12116 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
12117 (grub_mkrescue_SOURCES): Likewise.
078522ab 12118 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
12119
ccaa8a5f 121202008-01-30 Robert Millan <rmh@aybabtu.com>
12121
12122 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
12123 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
12124 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
12125 (grub_probe_SOURCES): ... to here.
12126
12127 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
12128 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
12129 * conf/i386-ieee1275.rmk: Likewise.
12130 * conf/i386-linuxbios.rmk: Likewise.
12131 * conf/powerpc-ieee1275.rmk: Likewise.
12132
ae5a9cd7 121332008-01-30 Tristan Gingold <gingold@free.fr>
12134
12135 * kern/rescue.c: Silently accept empty lines.
12136
70bc2ef2 121372008-01-29 Bean <bean123ch@gmail.com>
12138
12139 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
12140 (real_code_2): Code cleanup and change comment style.
12141 (move_memory): Avoid using 32-bit address mode.
12142
6a4d50ea 121432008-01-29 Bean <bean123ch@gmail.com>
12144
12145 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
12146 (png_mod_SOURCES): New variable.
12147 (png_mod_CFLAGS): Likewise.
12148 (png_mod_LDFLAGS): Likewise.
12149
12150 * video/readers/png.c: New file.
12151
11cc30ac 121522008-01-28 Robert Millan <rmh@aybabtu.com>
12153
12154 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
12155 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
12156 `ifndef GRUB_MOD_GAP' hack.
12157 * util/elf/grub-mkimage.c (add_segments): Likewise.
12158
3abc589f 121592008-01-27 Robert Millan <rmh@aybabtu.com>
12160
12161 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
12162 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 12163 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 12164
e1907778 121652008-01-27 Robert Millan <rmh@aybabtu.com>
12166
12167 Get grub-emu to build again (including parallel builds).
12168
12169 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
12170 Split into ...
12171 (util/grub-emu.c_DEPENDENCIES): ... this, ...
12172 (normal/execute.c_DEPENDENCIES): ... this, ...
12173 (grub-emu_DEPENDENCIES): ... and this.
12174
12175 * conf/i386-efi.rmk: Likewise.
12176 * conf/i386-linuxbios.rmk: Likewise.
12177 * conf/i386-ieee1275.rmk: Likewise.
12178 * conf/powerpc-ieee1275.rmk: Likewise.
12179 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
12180
2216b101 121812008-01-27 Robert Millan <rmh@aybabtu.com>
12182
12183 * NEWS: Add a few items.
12184
f75172d9 121852008-01-27 Robert Millan <rmh@aybabtu.com>
12186
12187 Fix parallel builds with grub-emu. Based on earlier commit for
12188 grub-probe and grub-setup.
12189
12190 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
12191 (util/grub-emu.c_DEPENDENCIES): ... this.
12192 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
12193 (util/grub-emu.c_DEPENDENCIES): ... this.
12194 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
12195 (util/grub-emu.c_DEPENDENCIES): ... this.
12196 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
12197 (util/grub-emu.c_DEPENDENCIES): ... this.
12198 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
12199 (util/grub-emu.c_DEPENDENCIES): ... this.
12200
3f51de77 122012008-01-27 Pavel Roskin <proski@gnu.org>
12202
12203 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
12204 to create a gap between _end and the modules added to the image
12205 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
12206 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
12207 * util/elf/grub-mkimage.c (add_segments): Likewise.
12208
2033f53e 122092008-01-26 Pavel Roskin <proski@gnu.org>
12210
12211 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
12212 just return an error.
12213
22da1f6f 122142008-01-26 Bean <bean123ch@gmail.com>
12215
12216 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
12217 (grub_reiserfs_get_item): Save offset of the next item.
12218 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
12219
2a9525e6 122202008-01-25 Robert Millan <rmh@aybabtu.com>
12221
12222 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
12223 make all filesystem sources appear together (possibly fixing omissions
12224 while at it).
12225 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
12226 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12227 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
12228 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12229
12230 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
12231 add `kern/file.c'.
12232 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
12233 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
12234 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
12235 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
12236
12237 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
12238 (probe): Add a sanity check to make sure of our ability to read
12239 requested files when probing for filesystem type.
12240
12241 * genmk.rb: Update copyright year (2007).
12242
12243 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
12244 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
12245 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
12246 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
12247 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
12248 : Remove function prototypes.
12249
b95f71b5 122502008-01-25 Robert Millan <rmh@aybabtu.com>
12251
12252 Revert my previous commits (based on wrong assumption of how grub_errno
12253 works).
12254
fe6b695a 12255 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 12256 * kern/file.c (grub_file_open): Likewise.
12257
d08bbb49 122582008-01-24 Pavel Roskin <proski@gnu.org>
12259
12260 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
12261 that hang if GRUB tries to setup colors.
12262 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
12263 colors for firmwares that don't support it.
12264 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
12265 Recognize Open Hack'Ware, set flags to work around its
12266 limitations.
12267
605e36ed 122682008-01-24 Robert Millan <rmh@aybabtu.com>
12269
12270 * kern/file.c (grub_file_open): Do not account previous failures of
12271 unrelated functions when grub_errno is checked for.
12272 Reported by Oleg Strikov.
12273
bac332a1 122742008-01-24 Bean <bean123ch@gmail.com>
12275
12276 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
12277 (grub_ufs_sblock): New member volume name.
12278 (grub_ufs_find_file): Fix string copy bug.
12279 (grub_ufs_label): Implement this function properly.
12280
12281 * fs/hfs.c (grub_hfs_cnid_type): New enum.
12282 (grub_hfs_iterate_records): Use the correct file number for extents
12283 and catalog file. Fix problem in next index calculation.
12284 (grub_hfs_find_node): Replace recursive function call with loop.
12285 (grub_hfs_iterate_dir): Replace recursive function call with loop.
12286
15c80c09 122872008-01-23 Robert Millan <rmh@aybabtu.com>
12288
12289 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
12290 `<grub/symbol.h>' and `<grub/multiboot.h>'.
12291 (grub_multiboot2_real_boot): New function prototype.
12292
12293 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
12294 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
12295
12296 * kern/i386/ieee1275/init.c (grub_os_area_addr)
12297 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
12298
305338fd 122992008-01-23 Robert Millan <rmh@aybabtu.com>
12300
12301 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
12302 #ifdef'ed out grub_printf().
12303
3ea52685 123042008-01-23 Robert Millan <rmh@aybabtu.com>
12305
12306 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
12307 grub_dprintf calls, since they make "debug=all" mode unusable.
12308 (grub_console_checkkey): Likewise.
12309
5882ae4b 123102008-01-23 Robert Millan <rmh@aybabtu.com>
12311
12312 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
12313 `term/i386/pc/at_keyboard.c'.
12314 (pkglib_MODULES): Add `serial.mod'.
12315 (serial_mod_SOURCES): New variable.
12316 (serial_mod_CFLAGS): Likewise.
12317 (serial_mod_LDFLAGS): Likewise.
12318
12319 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
12320 `<grub/powerpc/ieee1275/console.h>'.
12321 (grub_keyboard_controller_init): New function prototype.
12322 (grub_console_checkkey): Likewise.
12323 (grub_console_getkey): Likewise.
12324
12325 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
12326 keyboard on i386.
12327
12328 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
12329 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
12330
06ab5303 123312008-01-23 Robert Millan <rmh@aybabtu.com>
12332
12333 * kern/i386/pc/init.c (make_install_device): When memdisk image is
12334 present, "(memdisk)/boot/grub" becomes the default prefix.
12335
12336 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
12337 a memdisk tarball with all the modules. Add --overlay=DIR option that
12338 allows users to overlay additional files into the image.
12339
dbb475a4 123402008-01-23 Robert Millan <rmh@aybabtu.com>
12341
12342 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
12343 and `machine/memory.h'.
12344 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
12345 (_multiboot_mod_SOURCES): New variable.
12346 (_multiboot_mod_CFLAGS): Likewise.
12347 (_multiboot_mod_LDFLAGS): Likewise.
12348 (multiboot_mod_SOURCES): Likewise.
12349 (multiboot_mod_CFLAGS): Likewise.
12350 (multiboot_mod_LDFLAGS): Likewise.
12351
12352 * include/grub/i386/ieee1275/loader.h: New file.
12353
12354 * include/grub/i386/ieee1275/machine.h: Likewise.
12355
12356 * include/grub/i386/ieee1275/memory.h: Likewise.
12357
12358 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
12359 variable declaration.
12360 (grub_os_area_size): Likewise.
12361
12362 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
12363 (grub_lower_mem, grub_upper_mem): New variables.
12364 (grub_stop_floppy): New function (just to make
12365 grub_multiboot2_real_boot() happy).
12366
12367 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
12368 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
12369 (grub_stop): New function.
12370 Include `"../realmode.S"' and `"../loader.S"'.
12371
12372 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
12373 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
12374
12375 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
12376 rely on grub_multiboot2_real_boot() for final boot.
12377
25638629 123782008-01-22 Robert Millan <rmh@aybabtu.com>
12379
12380 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
12381 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
12382 device that doesn't look like an SD card.
12383 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
12384 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
12385 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
12386 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
12387 found.
12388
9dad816d 123892008-01-22 Robert Millan <rmh@aybabtu.com>
12390
12391 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
12392 avoid claiming over our own code.
12393
34842f2d 123942008-01-22 Bean <bean123ch@gmail.com>
12395
12396 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
12397 (jpeg_mod_SOURCES): New variable.
12398 (jpeg_mod_CFLAGS): Likewise.
12399 (jpeg_mod_LDFLAGS): Likewise.
12400
12401 * video/readers/jpeg.c : New file.
12402
44023a28 124032008-01-22 Bean <bean123ch@gmail.com>
12404
12405 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
12406 there are no more items.
12407
bc2d8ac6 124082008-01-21 Robert Millan <rmh@aybabtu.com>
12409
12410 * kern/mm.c (grub_mm_init_region): Improve debug message.
12411
261bd4bc 124122008-01-21 Robert Millan <rmh@aybabtu.com>
12413
12414 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
12415 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
12416 address.
12417 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
12418 a C macro.
12419 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
12420 Indicates start of upper memory.
12421 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
12422 (generate_image): Abort when image size is big enough to corrupt
12423 upper memory.
12424
12425 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
12426 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
12427 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
12428 instead of hardcoding 0xA0000.
12429 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
12430 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
12431 instead of hardcoding 0xA0000.
12432
f970b55e 124332008-01-21 Robert Millan <rmh@aybabtu.com>
12434
12435 * disk/memdisk.c (memdisk_size): New variable.
12436 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
12437 `memdisk_size'.
12438 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
12439 image to dynamic memory.
12440 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
12441 `memdisk_size'. Free memdisk block.
12442
1a8b0526 124432008-01-21 Robert Millan <rmh@aybabtu.com>
12444
12445 Fix detection of very small filesystems (like tar).
12446
12447 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
12448 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
12449 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
12450 a problem with this disk).
12451
6e9b4aab 124522008-01-21 Robert Millan <rmh@aybabtu.com>
12453
12454 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
12455 on grub_biosdisk_rw_standard() error.
12456
0d8837b2 124572008-01-21 Robert Millan <rmh@aybabtu.com>
12458
12459 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
12460 recent changes.
12461 * kern/elf.c: Likewise.
12462 * kern/ieee1275/ieee1275.c: Likewise.
12463 * kern/powerpc/ieee1275/openfw.c: Likewise.
12464 * term/ieee1275/ofconsole.c: Likewise.
12465
ffd36e34 124662008-01-21 Robert Millan <rmh@aybabtu.com>
12467
12468 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
12469
3f0093d0 12470 * include/grub/kernel.h (grub_arch_memdisk_addr)
12471 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 12472
3f0093d0 12473 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
12474 (grub_arch_memdisk_size): ... to here.
ffd36e34 12475
6c391b21 124762008-01-21 Robert Millan <rmh@aybabtu.com>
12477
12478 Mostly based on bugfix from Bean.
12479
12480 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
12481 attribute with hook() parameter.
12482 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
12483 declaration.
12484 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
12485 attribute with hook() parameter.
12486 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
12487 declaration.
12488
55a581dc 124892008-01-21 Robert Millan <rmh@aybabtu.com>
12490
12491 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
12492 (pkglib_MODULES): Add `memdisk.mod'.
12493 (memdisk_mod_SOURCES): New variable.
12494 (memdisk_mod_CFLAGS): Likewise.
12495 (memdisk_mod_LDFLAGS): Likewise.
12496
12497 * disk/memdisk.c: New file.
12498
12499 * include/grub/disk.h (grub_disk_dev_id): Add
12500 `GRUB_DISK_DEVICE_MEMDISK_ID'.
12501
12502 * include/grub/i386/pc/kernel.h
12503 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
12504 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
12505 (grub_kernel_image_size): New variable declaration.
12506 (grub_total_module_size): Likewise.
12507 (grub_memdisk_image_size): Likewise.
12508
12509 * include/grub/i386/pc/memory.h
12510 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
12511
12512 * include/grub/kernel.h: Include `<grub/symbol.h>'.
12513 (grub_arch_memdisk_addr): New variable declaration.
12514 (grub_arch_memdisk_size): Likewise.
12515
12516 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
12517 (grub_arch_memdisk_size): Likewise.
12518
12519 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
12520 (codestart): Replace hardcoded `0x100000' with
12521 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
12522
12523 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
12524 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
12525 not NULL, append the contents of the file it refers to, at the end of
12526 the compressed kernel image. Initialize `grub_memdisk_image_size'
12527 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
12528 (options): Add "memdisk"|'m' option.
12529 (main): Parse --memdisk|-m option, and pass user-provided path as
12530 parameter to generate_image().
12531
3d7f54c9 125322008-01-20 Robert Millan <rmh@aybabtu.com>
12533
12534 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
12535 grub_dprintf() calls from here ...
12536 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
12537
0bf74728 125382008-01-20 Robert Millan <rmh@aybabtu.com>
12539
12540 Fix detection of "real mode" when /options/real-mode? doesn't exist.
12541
12542 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
12543 declaration.
12544 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
12545 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
12546 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 12547 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 12548 property).
12549 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
12550 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
12551
33bf70a7 125522008-01-19 Robert Millan <rmh@aybabtu.com>
12553
fe6b695a 12554 Get rid of confusing function (superseded by
33bf70a7 12555 `grub_ieee1275_get_integer_property')
12556 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
12557 prototype.
12558 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
12559 function.
12560 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
12561 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 12562 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 12563
e2da7d26 125642008-01-19 Robert Millan <rmh@aybabtu.com>
12565
12566 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
12567 command after "shut-down", since implementations differ on which
12568 the command for halt is.
12569
59f1fd8d 125702008-01-19 Robert Millan <rmh@aybabtu.com>
12571
12572 * include/grub/i386/linuxbios/console.h: Add header protection.
12573 (grub_keyboard_controller_init): New function prototype.
12574 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
12575 (KEYBOARD_COMMAND_READ): Likewise.
12576 (KEYBOARD_COMMAND_WRITE): Likewise.
12577 (KEYBOARD_SCANCODE_SET1): Likewise.
12578 (grub_keyboard_controller_write): New function.
12579 (grub_keyboard_controller_read): Likewise.
12580 (grub_keyboard_controller_init): Likewise.
12581
12582 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
12583 (grub_console_init): On coreboot/LinuxBIOS, call
12584 grub_keyboard_controller_init().
12585
5f5a7c15 125862008-01-19 Robert Millan <rmh@aybabtu.com>
12587
12588 PowerPC changes provided by Pavel Roskin.
12589
12590 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
12591 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
12592 don't rely on cmain() doing it.
12593 * kern/i386/ieee1275/startup.S (_start): Store %eax in
12594 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
12595
1210e168 125962008-01-16 Robert Millan <rmh@aybabtu.com>
12597
12598 * include/grub/i386/linuxbios/memory.h
12599 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
12600 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
12601 receive `table_header' as argument. Instead, probe for it in the
12602 known memory ranges where it can be present.
12603 (grub_available_iterate): Do not pass a fixed `table_header' address
12604 to grub_linuxbios_table_iterate().
12605
3d04eab8 126062008-01-15 Robert Millan <rmh@aybabtu.com>
12607
12608 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
12609 * conf/i386-ieee1275.rmk: New file.
12610 * include/grub/i386/ieee1275/console.h: Likewise.
12611 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
12612 * include/grub/i386/ieee1275/kernel.h: Likewise.
12613 * include/grub/i386/ieee1275/time.h: Likewise.
12614 * kern/i386/ieee1275/init.c: Likewise.
12615 * kern/i386/ieee1275/startup.S: Likewise.
12616
d1bc1b73 126172008-01-15 Robert Millan <rmh@aybabtu.com>
12618
12619 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
12620 when pointers are 32-bit (but still do set it to one when they are
12621 64-bit).
12622
66a65807 126232008-01-15 Robert Millan <rmh@aybabtu.com>
12624
12625 * include/grub/ieee1275/ieee1275.h
12626 (grub_ieee1275_get_integer_property): New function prototype.
12627
12628 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
12629 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 12630 grub_ieee1275_get_property() to handle endianness.
66a65807 12631
12632 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
12633 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 12634 where appropriate.
66a65807 12635 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
12636 (grub_map): Likewise.
12637 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
12638
a83ccafd 126392008-01-15 Bean <bean123ch@gmail.com>
12640
12641 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
12642 (grub_script_execute_cmdline): Reset grub_errno.
12643
12644 * normal/main.c (read_config_file): Reset grub_errno.
12645
12646 * normal/parse.y (script_init): New.
12647 (script): Move function and menuentry here.
12648 (delimiter): New.
12649 (command): Add delimiter at the end of command.
12650 (commands): Adjust to match the new command.
12651 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 12652 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 12653 (if): Use the new commands.
12654
12655 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
12656
df6ecfc6 126572008-01-15 Robert Millan <rmh@aybabtu.com>
12658
12659 * normal/menu.c (run_menu): Move timeout message from here ...
12660 (print_timeout): ... to here.
12661 (run_menu): Use print_timeout() once during initial draw to print
12662 the whole message, and again in every clock tick to update only
12663 the number of seconds.
12664
87ae25eb 126652008-01-15 Robert Millan <rmh@aybabtu.com>
12666
12667 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
12668 actual size of `available' from grub_ieee1275_get_property(), and
12669 restrict parsing to that bound.
12670
47bf09a4 126712008-01-15 Christian Franke <franke@computer.org>
12672
12673 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
12674 (argp_program_version): Remove variable.
12675 (argp_program_bug_address): Likewise.
12676 (options): Convert from struct argp_option to struct option.
12677 (struct arguments): Remove.
12678 (parse_opt): Remove.
12679 (usage): New function.
12680 (main): Replace struct args members by simple variables.
12681 Replace argp_parse() by getopt_long().
12682 Add switch to evaluate options.
12683 Add missing "(...)" around root_dev in prefix string.
12684
c86f1469 126852008-01-14 Robert Millan <rmh@aybabtu.com>
12686
12687 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
12688 for grub_ieee1275_exit(), in order to improve portability.
12689
e622c559 126902008-01-14 Robert Millan <rmh@aybabtu.com>
12691
12692 * util/grub.d/10_linux.in (prefix): Define.
12693 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
12694
44cb1ec8 126952008-01-13 Pavel Roskin <proski@gnu.org>
12696
12697 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
12698 grub_errno if no errors have been detected.
12699
1eb8c802 127002008-01-12 Robert Millan <rmh@aybabtu.com>
12701
12702 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
12703 (grub_util_get_dev_abstraction): New function prototype.
12704
12705 * util/getroot.c: Include `<grub/util/getroot.h>'
12706 (grub_util_get_grub_dev): Move detection of abstraction type to ...
12707 (grub_util_get_dev_abstraction): ... here (new function).
12708
12709 * util/grub-probe.c: Convert PRINT_* to an enum. Add
12710 `PRINT_ABSTRACTION'.
12711 (probe): Probe for abstraction type when requested.
12712 (main): Understand `--target=abstraction'.
12713
12714 * util/i386/efi/grub-install.in: Add abstraction module to core
12715 image when it is found to be necessary.
12716 * util/i386/pc/grub-install.in: Likewise.
12717 * util/powerpc/ieee1275/grub-install.in: Likewise.
12718
12719 * util/update-grub_lib.in (font_path): Return system path without
12720 converting to GRUB path.
12721 * util/update-grub.in: Convert system path returned by font_path()
12722 to a GRUB path. Use `grub-probe -t abstraction' to determine what
12723 abstraction module is needed for loading fonts (if any). Export
12724 that as `GRUB_PRELOAD_MODULES'.
12725 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
12726 insmod commands).
12727
52bd3de9 127282008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
12729
12730 Remove some unused code from reiserfs.
f19dbdb7 12731
52bd3de9 12732 * fs/reiserfs.c (struct grub_reiserfs_key)
12733 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
12734 (struct grub_reiserfs_node_body): Removed.
12735 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
12736 Likewise.
12737 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
12738 Likewise.
12739 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
12740 Likewise.
12741 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
12742 Likewise.
12743 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
12744 Likewise.
12745 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
12746 Likewise.
12747 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
12748 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
12749 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
12750
2f80039d 127512008-01-10 Robert Millan <rmh@aybabtu.com>
12752
12753 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
12754 Determines if a file is garbage left by packaging systems, etc.
12755 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
12756 for processing /etc/grub.d scripts.
12757 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
12758 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
12759 as a condition for processing Linux images.
12760
87888032 127612008-01-10 Pavel Roskin <proski@gnu.org>
12762
12763 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
12764 to compile reiserfs.c on PowerPC.
12765
7e54fced 127662008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 12767
12768 * kern/device.c (grub_device_iterate): Do not abort device iteration
12769 when one of the devices cannot be opened.
12770 * kern/disk.c (grub_disk_open): Do not account previous failures of
12771 unrelated functions when grub_errno is checked for.
12772
5aa541e6 127732008-01-08 Robert Millan <rmh@aybabtu.com>
12774
12775 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
12776 `! grub_linux_is_bzimage', change order of address comparison to make
12777 it more intuitive, and improve "too big zImage" error message.
12778
7076340d 127792008-01-08 Robert Millan <rmh@aybabtu.com>
12780
12781 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
12782 `$(update-grub_DATA)'.
12783 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
12784 targets.
12785
9ca70333 127862008-01-07 Robert Millan <rmh@aybabtu.com>
12787
12788 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
12789 which instruction is modified by grub-setup during installation
12790 (since it wasn't obvious by only looking at this file).
12791
38ccf575 127922008-01-07 Robert Millan <rmh@aybabtu.com>
12793
12794 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
12795 listing actual TODO items.
12796
f5db4291 127972008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
12798
868967cf 12799 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
12800 correctly.
12801 (grub_reiserfs_get_key_offset): Likewise.
12802 (grub_reiserfs_set_key_offset): Likewise.
12803 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 12804 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 12805
12806 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
12807 better to remove the bitfield version completely.
f19dbdb7 12808
868967cf 128092008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 12810
f5db4291 12811 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
12812 allocated from the heap, due to the fshelp implementation.
12813 (grub_reiserfs_dir): Free NODE, due to the same reason.
12814
492e6d9d 128152008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
12816
12817 Mostly from Vincent Pelletier:
f19dbdb7 12818
492e6d9d 12819 * fs/reiserfs.c: New file.
f19dbdb7 12820
492e6d9d 12821 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
12822 (reiserfs_mod_SOURCES): New variable.
12823 (reiserfs_mod_CFLAGS): Likewise.
12824 (reiserfs_mod_LDFLAGS): Likewise.
12825
12826 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
12827 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
12828 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
12829 normal/color.c.
12830
9ce3e7c1 128312008-01-06 Robert Millan <rmh@aybabtu.com>
12832
12833 * normal/color.c: Remove `<grub/env.h>'.
12834
f3b58148 128352008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
12836
12837 * include/grub/normal.h: Include <grub/env.h>.
12838
7ac3bcfa 128392008-01-05 Robert Millan <rmh@aybabtu.com>
12840
12841 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
12842 usage example with `(hd0,1)'.
fb358190 12843 Reported by Samuel Thibault.
7ac3bcfa 12844
c8ee99d7 128452008-01-05 Robert Millan <rmh@aybabtu.com>
12846
12847 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
12848 (grub_linux_boot_zimage): Rename to ...
12849 (grub_linux_boot): ... this.
12850 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
12851 (grub_linux_boot_zimage): Conditionalize zImage copy.
12852
12853 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
12854 (grub_linux_boot_bzimage): Remove prototype.
12855 (grub_linux_boot_zimage): Rename to ...
12856 (grub_linux_boot): ... this.
12857
12858 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
12859 (grub_linux_boot): Remove function.
12860
0ece25b1 128612008-01-05 Robert Millan <rmh@aybabtu.com>
12862
12863 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
12864 (grub_env_write_color_highlight): Likewise.
12865 (grub_wait_after_message): Likewise.
12866
12867 * normal/color.c: New file.
12868
12869 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
12870 (normal_mod_DEPENDENCIES): Likewise.
12871
12872 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
12873 (normal_mod_DEPENDENCIES): Likewise.
12874
12875 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
12876 (normal_mod_DEPENDENCIES): Likewise.
12877
12878 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
12879 (normal_mod_DEPENDENCIES): Likewise.
12880
12881 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
12882 for waiting after a message is printed.
12883 * normal/main.c (read_config_file): Likewise.
12884 (grub_normal_init): Register grub_env_write_color_normal() and
12885 grub_env_write_color_highlight() hooks. Mark `color_normal' and
12886 `color_highlight' variables as global.
12887
12888 * normal/menu.c (grub_wait_after_message): New function.
12889 (grub_color_menu_normal): New variable. Replaces ...
12890 (GRUB_COLOR_MENU_NORMAL): ... this macro.
12891 (grub_color_menu_highlight): New variable. Replaces ...
12892 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
12893 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
12894 `GRUB_TERM_COLOR_STANDARD'.
12895 (print_message): Use `grub_setcolorstate' to reload colors. Rename
12896 `normal_code' and `highlight_code' to `old_color_normal' and
12897 `old_color_highlight', respectively.
12898 (grub_menu_init_page): Update colors when drawing the menu, based on
12899 `menu_color_normal' and `menu_color_highlight' variables.
12900 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
12901 a message is printed.
12902
182dd4e5 129032008-01-05 Robert Millan <rmh@aybabtu.com>
12904
12905 * kern/env.c (grub_env_context_open): Propagate hooks for global
12906 variables to new context.
12907
12908 * kern/main.c (grub_set_root_dev): Export `root' variable.
12909
ddf8f6ad 129102008-01-05 Robert Millan <rmh@aybabtu.com>
12911
12912 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 12913 discs unconditionally, since udev and others have options to provide
ddf8f6ad 12914 them.
12915
d8b43d9b 129162008-01-05 Robert Millan <rmh@aybabtu.com>
12917
12918 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
12919
2bff2de3 129202008-01-04 Christian Franke <franke@computer.org>
12921
12922 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
12923 of eisa_mmap.
12924
97eab917 129252008-01-03 Pavel Roskin <proski@gnu.org>
12926
12927 * kern/i386/linuxbios/init.c: Put "void" to all function
12928 declarations with no arguments.
12929 * kern/powerpc/ieee1275/init.c: Likewise.
12930 * term/i386/pc/at_keyboard.c: Likewise.
12931 * term/i386/pc/vga_text.c: Likewise.
12932 * util/grub-mkdevicemap.c: Likewise.
12933
b9416d00 129342008-01-02 Robert Millan <rmh@aybabtu.com>
12935
12936 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
12937 message when loaded image is out of bounds.
12938 (grub_multiboot_load_elf64): Likewise.
12939
92695df9 129402008-01-02 Pavel Roskin <proski@gnu.org>
12941
12942 * util/grub.d/10_linux.in: Try version without ".old" when
12943 looking for initrd. It's better to use initrd from the newer
12944 kernel of the same version than no initrd at all.
12945
d98d9cad 129462008-01-01 Robert Millan <rmh@aybabtu.com>
12947
12948 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
12949
dbfdce36 129502008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
12951
f19dbdb7 12952 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 12953 grub_video_get_active_render_target.
12954 (grub_video_adapter): Added unmap_color and get_active_render_target.
12955
f19dbdb7 12956 * video/video.c: Added grub_video_unmap_color and
dbfdce36 12957 grub_video_get_active_render_target.
12958 (grub_video_get_info): Changed method to accept NULL pointer as an
12959 argument to allow detection of active video adapter.
12960
12961 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
12962 grub_video_vbe_unmap_color_int.
12963 Added grub_video_vbe_unmap_color and
12964 grub_video_vbe_get_active_render_target.
12965 (grub_video_vbe_adapter): Added unmap_color and
12966 get_active_render_target.
12967
f19dbdb7 12968 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 12969 with grub_video_vbe_unmap_color_int.
12970
12971 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
12972 (DEFAULT_NORMAL_COLOR): Likewise.
12973 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
12974 (DEFAULT_FG_COLOR): Removed.
12975 (DEFAULT_BG_COLOR): Likewise.
12976 (DEFAULT_CURSOR_COLOR): Changed value.
12977 (grub_virtual_screen): Added standard_color_setting,
12978 normal_color_setting, highlight_color_setting and term_color.
12979 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
12980 (bitmap_width): Added.
12981 (bitmap_height): Likewise.
12982 (bitmap): Likewise.
12983 (set_term_color): Likewise.
12984 (grub_virtual_screen_setup): Changed to use new terminal coloring
12985 settings.
12986 (grub_gfxterm_init): Added init for bitmap.
12987 (grub_gfxterm_fini): Added destroy for bitmap.
12988 (redraw_screen_rect): Updated to use background bitmap and new
12989 terminal coloring.
12990 (scroll_up): Added optimization for case when there is no bitmap.
12991 (grub_gfxterm_cls): Fixed to use correct background color.
12992 (grub_virtual_screen_setcolorstate): Changed to use new terminal
12993 coloring.
12994 (grub_virtual_screen_setcolor): Likewise.
12995 (grub_virtual_screen_getcolor): Added.
12996 (grub_gfxterm_background_image_cmd): Likewise.
12997 (grub_video_term): Added setcolor and getcolor.
12998 (MOD_INIT): Added registration of background_image command.
12999 (MOD_TERM): Added unregistration for background_image command.
13000
c3c20931 130012007-12-30 Pavel Roskin <proski@gnu.org>
13002
13003 * loader/multiboot_loader.c: Fix multiboot command
13004 unregistration. Fix all typos in the word "multiboot".
13005
df266716 130062007-12-29 Pavel Roskin <proski@gnu.org>
94239199 13007
13008 * util/grub.d/10_linux.in: Refactor search for initrd. Add
13009 support for initrd names used in Fedora.
13010
fc6e896c 130112007-12-26 Bean <bean123ch@gmail.com>
13012
13013 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
13014 (cpio_mod_SOURCES): New variable.
13015 (cpio_mod_CFLAGS): Likewise.
13016 (cpio_mod_LDFLAGS): Likewise.
13017
13018 * fs/cpio.c: New file.
13019
13020 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
13021
13022 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
13023
13024 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
13025
13026 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13027
533110ad 130282007-12-25 Robert Millan <rmh@aybabtu.com>
13029
13030 * include/grub/term.h (struct grub_term): Add `getcolor' function.
13031 (grub_getcolor): New function.
13032
13033 * kern/term.c (grub_getcolor): New function.
13034 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
13035 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
13036 (print_entry): Set normal and highlight colors to
13037 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
13038 respectively, before printing and restore them to old
13039 values afterwards.
13040 (grub_menu_init_page): Likewise. Fill an additional colored space
13041 that would otherwise be left blank.
13042
13043 * term/efi/console.c (grub_console_getcolor): New function.
13044 (struct grub_console_term.getcolor): New variable.
13045 * term/i386/pc/console.c (grub_console_getcolor): New function.
13046 (struct grub_console_term.getcolor): New variable.
13047 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
13048 (struct grub_console_term.getcolor): New variable.
13049
13050 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
13051 (struct grub_console_term.setcolor): Remove variable.
13052 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
13053 (struct grub_console_term.setcolor): Remove variable.
13054 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
13055 (struct grub_console_term.setcolor): Remove variable.
13056 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
13057 (struct grub_console_term.setcolor): Remove variable.
13058
4931827f 130592007-12-25 Robert Millan <rmh@aybabtu.com>
13060
13061 * configure.ac: Search for possible unifont.hex locations, and
13062 define UNIFONT_HEX if found.
13063
13064 * Makefile.in (UNIFONT_HEX): Define variable.
13065 (DATA): Rename to ...
13066 (PKGLIB): ... this. Update all users.
13067 (PKGDATA): New variable.
13068 (pkgdata_IMAGES): Rename to ...
13069 (pkglib_IMAGES): ... this. Update all users.
13070 (pkgdata_MODULES): Rename to ...
13071 (pkglib_MODULES): ... this. Update all users.
13072 (pkgdata_PROGRAMS): Rename to ...
13073 (pkglib_PROGRAMS): ... this. Update all users.
13074 (pkgdata_DATA): Rename to ...
13075 (pkglib_DATA): ... this. Update all users.
13076 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
13077 (unicode.pff, ascii.pff): New rules.
13078 (all-local): Add `$(PKGDATA)' dependency.
13079 (install-local): Process `$(PKGDATA)'.
13080
13081 * util/update-grub_lib.in (font_path): Search for *.pff files in
13082 a few more locations, including `${pkgdata}'.
13083
57e57e31 130842007-12-23 Robert Millan <rmh@aybabtu.com>
13085
13086 Patch from Bean <bean123ch@gmail.com>:
13087 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
13088 `size'.
13089
4bc72aa9 130902007-12-21 Bean <bean123ch@gmail.com>
13091
13092 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
13093 (ntfscomp_mod_SOURCES): New variable.
13094 (ntfscomp_mod_CFLAGS): Likewise.
13095 (ntfscomp_mod_LDFLAGS): Likewise.
13096
13097 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
13098 (grub_probe_SOURCES): Likewise.
13099 (grub_emu_SOURCES): Likewise.
13100
13101 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
13102 (grub_emu_SOURCES): Likewise.
13103
13104 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
13105 (grub_emu_SOURCES): Likewise.
13106
13107 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
13108 (grub_emu_SOURCES): Likewise.
13109
13110 * fs/ntfs.c (grub_ntfscomp_func): New variable.
13111 (read_run_list): Renamed to grub_ntfs_read_run_list.
13112 (decomp_nextvcn): Moved to ntfscomp.c.
13113 (decomp_getch): Likewise.
13114 (decomp_get16): Likewise.
13115 (decomp_block): Likewise.
13116 (read_block): Likewise.
13117 (read_data): Partially moved to ntfscomp.c.
13118 (fixup): Change unsigned to grub_uint16_t.
13119 (read_mft): Change unsigned long to grub_uint32_t.
13120 (read_attr): Likewise.
13121 (read_data): Likewise.
13122 (read_run_data): Likewise.
13123 (read_run_list): Likewise.
13124 (read_mft): Likewise.
13125
13126 * fs/ntfscomp.c: New file.
13127
13128 * include/grub/ntfs.h: New file.
13129
af680a87 131302007-12-16 Robert Millan <rmh@aybabtu.com>
13131
13132 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
13133 IDE disk check, since Linux is known to support 20 IDE disks.
13134 Reported by Colin Watson.
13135
84be7599 131362007-12-15 Bean <bean123ch@gmail.com>
13137
13138 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
13139 (lnxboot_img_SOURCES): New variable.
13140 (lnxboot_img_ASFLAGS): Likewise.
13141 (lnxboot_img_LDFLAGS): Likewise.
13142
13143 * boot/i386/pc/lnxboot.S: New file.
13144
6af9db01 131452007-11-24 Pavel Roskin <proski@gnu.org>
13146
13147 * configure.ac: Test if '--build-id=none' is supported by the
13148 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
13149 objcopy to generate incorrect binary files (binutils
13150 2.17.50.0.18-1 as shipped by Fedora 8).
13151 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
13152 linking, so that build ID doesn't break the test.
13153
7361cfe6 131542007-11-24 Pavel Roskin <proski@gnu.org>
13155
13156 * include/grub/i386/time.h: use "void" in the argument list
13157 of grub_cpu_idle().
13158 * include/grub/powerpc/time.h: Likewise.
13159 * include/grub/sparc64/time.h: Likewise.
13160
1593e10c 131612007-11-18 Christian Franke <franke@computer.org>
13162
13163 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
13164 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
13165 This fixes the problem that function keys did not work in grub-emu.
13166
3b8db1a8 131672007-11-18 Christian Franke <franke@computer.org>
13168
13169 * disk/host.c (grub_host_open): Remove attribute unused from
13170 name parameter. Add check for "host". This fixes the problem
13171 that grub-emu does not find partitions.
13172
2e29408d 131732007-11-18 Christian Franke <franke@computer.org>
13174
13175 * util/hostfs.c (is_dir): New function.
13176 (grub_hostfs_dir): Handle missing dirent.d_type case.
13177 (grub_hostfs_read): Add missing fseek().
13178 (grub_hostfs_label): Clear label pointer. This fixes a crash
13179 of grub-emu on "ls (host)".
13180
398cd047 131812007-11-18 Christian Franke <franke@computer.org>
13182
13183 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
13184 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
13185 to 64 bit boundary by default.
13186
c405c391 131872007-11-18 Bean <bean123ch@gmail.com>
13188
13189 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
13190 (hexdump_mod_SOURCES): New variable.
13191 (hexdump_mod_CFLAGS): Likewise.
13192 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 13193
c405c391 13194 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
13195
13196 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
13197
13198 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
13199
13200 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
13201
13202 * include/grub/hexdump.h: New file.
13203
13204 * commands/hexdump.c: New file.
13205
5cced7fd 132062007-11-10 Robert Millan <rmh@aybabtu.com>
13207
13208 * commands/i386/pc/play.c (beep_off): Switch order of arguments
13209 in grub_outb() calls.
13210 (beep_on): Likewise.
13211
8b714eb0 132122007-11-10 Christian Franke <franke@computer.org>
13213
13214 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
13215 (grub_menu_run): Likewise.
13216
ce0f1839 132172007-11-10 Robert Millan <rmh@aybabtu.com>
13218
13219 * include/grub/i386/efi/machine.h: New file.
13220 * include/grub/i386/linuxbios/machine.h: Likewise.
13221 * include/grub/i386/pc/machine.h: Likewise.
13222 * include/grub/powerpc/ieee1275/machine.h: Likewise.
13223 * include/grub/sparc64/ieee1275/machine.h: Likewise.
13224
13225 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
13226 (serial_hw_io_addr): New variable.
13227 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
13228 instead of `(unsigned short *) 0x400'.
13229
270c237d 132302007-11-10 Bean <bean123ch@gmail.com>
13231
13232 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
13233
a87783bf 132342007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
13235
13236 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
13237 (vga_mod_SOURCES): Added.
13238 (vga_mod_CFLAGS): Likewise.
13239 (vga_mod_LDFLAGS): Likewise.
13240
13241 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
13242 grub_outb() calls.
13243 (set_map_mask): Likewise.
13244 (set_read_map): Likewise.
13245 (set_read_address): Likewise.
13246 (vga_font): Removed variable.
13247 (get_vga_glyph): Removed function.
13248 (invalidate_char): Likewise.
13249 (write_char): Changed to use grub_font_get_glyph() for font
13250 information.
13251 (grub_vga_putchar): Likewise.
13252 (grub_vga_getcharwidth): Likewise.
13253
6433b448 132542007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
13255
13256 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
13257 flags.
13258 (pxeboot_img_LDFLAGS): Likewise.
13259 (diskboot_img_LDFLAGS): Likewise.
13260 (kernel_img_LDFLAGS): Likewise.
13261
49178511 132622007-11-06 Robert Millan <rmh@aybabtu.com>
13263
13264 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
13265 in grub_outb() calls.
13266 (serial_hw_init): Likewise.
13267
53b052de 132682007-11-05 Robert Millan <rmh@aybabtu.com>
13269
13270 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
13271 spaces. Skip non-regular files.
13272
5ab33bba 132732007-11-05 Robert Millan <rmh@aybabtu.com>
13274
13275 * kern/disk.c (grub_disk_firmware_fini)
13276 (grub_disk_firmware_is_tainted): New variables.
13277
13278 * include/grub/disk.h (grub_disk_firmware_fini)
13279 (grub_disk_firmware_is_tainted): Likewise.
13280
13281 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
13282 (grub_disk_biosdisk_fini): ... to here.
13283 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
13284 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
13285 is set. Register grub_disk_biosdisk_fini() in
13286 `grub_disk_firmware_fini'.
13287
13288 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
13289 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
13290 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
13291 to finish existing firmware disk interface.
13292
13293 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
13294 (ata_mod_SOURCES): New variable.
13295 (ata_mod_CFLAGS): Likewise.
13296 (ata_mod_LDFLAGS): Likewise.
13297
0149ab7c 132982007-11-05 Robert Millan <rmh@aybabtu.com>
13299
13300 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
13301 (grub_ata_wait): Reimplement using grub_millisleep().
13302
13303 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
13304 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
13305
be7ac41e 133062007-11-03 Marco Gerards <marco@gnu.org>
13307
13308 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
13309 (CRTC_ADDR_PORT): New macro.
13310 (CRTC_DATA_PORT): Likewise.
13311 (CRTC_CURSOR): Likewise.
13312 (CRTC_CURSOR_ADDR_HIGH): Likewise.
13313 (CRTC_CURSOR_ADDR_LOW): Likewise.
13314 (update_cursor): New function.
13315 (grub_console_real_putchar): Call `update_cursor'.
13316 (grub_console_gotoxy): Likewise.
13317 (grub_console_cls): Set the default color when clearing the
13318 screen.
13319 (grub_console_setcursor): Implemented.
13320
bb06ab2e 133212007-11-03 Marco Gerards <marco@gnu.org>
13322
13323 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
13324 become activate.
13325 (grub_ata_pio_write): Likewise.
13326
13327 (grub_atapi_identify): Wait after issuing an ATA command.
13328 (grub_atapi_packet): Likewise.
13329 (grub_ata_identify): Likewise.
13330 (grub_ata_readwrite): Likewise.
13331
cf8f780b 133322007-11-03 Marco Gerards <marco@gnu.org>
13333
13334 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
13335 (grub_ata_pio_write): Likewise.
13336 (grub_ata_readwrite): Use `grub_error', instead of
13337 returning `grub_errno'.
13338
ed649e54 133392007-11-03 Marco Gerards <marco@gnu.org>
13340
13341 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
13342 grub_ata_pio_write once for every single sector, instead of for
13343 multiple sectors.
13344
ca25d8f0 133452007-10-31 Robert Millan <rmh@aybabtu.com>
13346
13347 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
13348
13349 * conf/i386-linuxbios.rmk: New file.
13350
13351 * kern/i386/pc/hardware.c: Likewise.
13352 * term/i386/pc/at_keyboard.c: Likewise.
13353 * term/i386/pc/vga_text.c: Likewise.
13354
13355 * include/grub/i386/linuxbios/boot.h: Likewise.
13356 * include/grub/i386/linuxbios/console.h: Likewise.
13357 * include/grub/i386/linuxbios/init.h: Likewise.
13358 * include/grub/i386/linuxbios/kernel.h: Likewise.
13359 * include/grub/i386/linuxbios/loader.h: Likewise.
13360 * include/grub/i386/linuxbios/memory.h: Likewise.
13361 * include/grub/i386/linuxbios/serial.h: Likewise.
13362 * include/grub/i386/linuxbios/time.h: Likewise.
13363
13364 * kern/i386/linuxbios/init.c: Likewise.
13365 * kern/i386/linuxbios/startup.S: Likewise.
13366 * kern/i386/linuxbios/table.c: Likewise.
13367
e911ecc1 133682007-10-31 Marco Gerards <marco@gnu.org>
13369
13370 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
13371 (ata_mod_SOURCES): New variable.
13372 (ata_mod_CFLAGS): Likewise.
13373 (ata_mod_LDFLAGS): Likewise.
13374
13375 * disk/ata.c: New file.
13376
13377 * include/grub/disk.h (grub_disk_dev_id): Add
13378 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 13379
7f66d0e0 133802007-10-31 Robert Millan <rmh@aybabtu.com>
13381
13382 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
13383 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
13384
13385 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
13386 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
13387
13388 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
13389 `<grub/types.h>'.
13390
13391 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
13392
5cd7dd46 133932007-10-27 Robert Millan <rmh@aybabtu.com>
13394
3236ca65 13395 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 13396
2ebfc90f 133972007-10-22 Robert Millan <rmh@aybabtu.com>
13398
13399 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
13400 `"../realmode.S"'.
13401 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
13402
73fcb0f3 134032007-10-22 Robert Millan <rmh@aybabtu.com>
13404
13405 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
13406 (pkgdata_MODULES): Add `biosdisk.mod'.
13407 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
13408 variables.
13409
13410 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
13411 (grub_biosdisk_init): Replace with ...
13412 (GRUB_MOD_INIT(biosdisk)): ... this.
13413 (grub_biosdisk_fini): Replace with ...
13414 (GRUB_MOD_FINI(biosdisk)): ... this.
13415
13416 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
13417 (grub_machine_init): Remove call to grub_biosdisk_init().
13418 (grub_machine_fini): Remove call to grub_machine_fini().
13419
13420 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
13421
3381d274 134222007-10-22 Robert Millan <rmh@aybabtu.com>
13423
13424 * include/grub/time.h: New file.
13425 * include/grub/i386/time.h: Likewise.
13426 * include/grub/powerpc/time.h: Likewise.
13427 * include/grub/sparc64/time.h: Likewise.
13428
13429 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
13430 instances to ...
13431 (KERNEL_MACHINE_TIME_HEADER): ... this.
13432 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
13433 instances to ...
13434 (KERNEL_MACHINE_TIME_HEADER): ... this.
13435 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
13436 instances to ...
13437 (KERNEL_MACHINE_TIME_HEADER): ... this.
13438
13439 * kern/i386/efi/init.c: Include `<grub/time.h>'.
13440 (grub_millisleep): New function.
13441 * kern/i386/pc/init.c: Include `<grub/time.h>'.
13442 (grub_millisleep): New function.
13443 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
13444 Remove `grub/machine/time.h' include.
13445 (grub_millisleep): New function.
13446 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
13447 Remove `grub/machine/time.h' include.
13448 (grub_millisleep): New function.
13449
13450 * include/grub/misc.h (grub_div_roundup): New function.
13451
13452 * kern/misc.c: Include `<grub/time.h>'.
13453 (grub_millisleep_generic): New function.
13454
13455 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
13456 Add `time.h'.
13457 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
13458 Add `time.h'.
13459 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
13460 `machine/time.h'. Add `time.h'.
13461 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
13462
a39a0312 134632007-10-21 Robert Millan <rmh@aybabtu.com>
13464
13465 * include/grub/misc.h (grub_max): New function.
13466
2aad70e2 134672007-10-21 Robert Millan <rmh@aybabtu.com>
13468
13469 * util/misc.c (grub_util_info): Call fflush() before returning.
13470
54b71c4b 134712007-10-20 Robert Millan <rmh@aybabtu.com>
13472
13473 * genmk.rb (Image): Copy `extra_flags' from here ...
13474 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
13475
13476 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
13477 to `argc' and `args' arguments.
13478
a979f513 134792007-10-17 Robert Millan <rmh@aybabtu.com>
13480
13481 * kern/i386/loader.S: New file.
13482
13483 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
13484 * kern/i386/loader.S (grub_linux_prot_size)... to here.
13485 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
13486 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
13487 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
13488 * kern/i386/loader.S (grub_linux_real_addr)... to here.
13489 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
13490 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
13491 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
13492 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
13493 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
13494 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
13495 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
13496 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
13497
13498 * kern/i386/realmode.S: New file.
13499
13500 * kern/i386/pc/startup.S (protstack): Moved from here ...
13501 * kern/i386/realmode.S (protstack)... to here.
13502 * kern/i386/pc/startup.S (gdt): Moved from here ...
13503 * kern/i386/realmode.S (gdt)... to here.
13504 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
13505 * kern/i386/realmode.S (prot_to_real)... to here.
13506
13507 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
13508 `kern/i386/realmode.S'.
13509
825fc8fd 135102007-10-17 Robert Millan <rmh@aybabtu.com>
13511
13512 * include/grub/i386/loader.h: New file.
13513
13514 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
13515 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
13516 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
13517 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
13518 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
13519 * include/grub/i386/loader.h (grub_linux_prot_size)
13520 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
13521 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
13522 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
13523 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
13524
13525 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
13526
e179b2f4 135272007-10-15 Robert Millan <rmh@aybabtu.com>
13528
13529 * normal/misc.c (grub_normal_print_device_info): Do not probe for
13530 filesystem when dev->disk is unset.
13531 Do probe for filesystem even when dev->disk->has_partitions is set.
13532 In case a filesystem is found, always report it.
13533 In case it isn't, if dev->disk->has_partitions is set, report that
13534 a partition table was found instead of reporting that no filesystem
13535 could be identified.
13536
5db82af6 135372007-10-12 Robert Millan <rmh@aybabtu.com>
13538
13539 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
13540 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
13541
68f6ac74 13542 * include/grub/types.h (grub_host_to_target16): New macro.
13543 (grub_host_to_target32): Likewise.
13544 (grub_host_to_target64): Likewise.
13545 (grub_target_to_host16): Likewise.
13546 (grub_target_to_host32): Likewise.
13547 (grub_target_to_host64): Likewise.
5db82af6 13548
13549 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
13550 Renamed from to ...
13551 (GRUB_MOD_ALIGN): ...this. Update all users.
13552
68f6ac74 13553 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
13554 grub_host_to_target32.
13555 Replace grub_be_to_cpu32 with grub_target_to_host32.
13556 (load_modules): Likewise.
13557 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
13558 Replace grub_be_to_cpu32 with grub_target_to_host32.
13559 Replace grub_cpu_to_be16 with grub_host_to_target16.
13560 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 13561
3cf497cc 135622007-10-12 Robert Millan <rmh@aybabtu.com>
13563
13564 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
13565 * util/elf/grub-mkimage.c: ... here.
13566
13567 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
13568 `util/powerpc/ieee1275/grub-mkimage.c'.
13569
c8cc3692 135702007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 13571
c8cc3692 13572 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
13573 and make it easier to figure out.
13574 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
13575 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
13576 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
13577 leave us with less than HEAP_MIN_SIZE total heap.
13578 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 13579
5c58b791 135802007-10-03 Robert Millan <rmh@aybabtu.com>
13581
13582 * include/grub/i386/io.h: New file.
13583 * commands/i386/pc/play.c (inb): Removed.
13584 (outb): Removed.
13585 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
13586 with grub_outb().
afcd2ef8 13587 * term/i386/pc/serial.c (inb): Removed.
13588 (outb): Removed.
13589 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
13590 with grub_outb().
13591 * term/i386/pc/vga.c (inb): Removed.
13592 (outb): Removed.
13593 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
13594 with grub_outb().
5c58b791 13595
1a477ed6 135962007-10-02 Robert Millan <rmh@aybabtu.com>
13597
13598 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
13599 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13600 Reported by Marcin Kurek.
13601
6b5d80fa 136022007-09-07 Robert Millan <rmh@aybabtu.com>
13603
13604 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
13605 SmartFirmware version updates (as released by Sven Luther), and avoid
13606 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
13607 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
13608 known broken.
13609
5618afbf 136102007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
13611
13612 From Hitoshi Ozeki:
13613 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
13614 when merging two regions.
13615
6139dcd9 136162007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
13617
508e39ee 13618 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
13619 * normal/completion.c (grub_normal_do_completion): Likewise.
13620 Reported by Hitoshi Ozeki.
13621
136222007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 13623
6139dcd9 13624 Do not use devices at boot in chainloading.
f19dbdb7 13625
6139dcd9 13626 * loader/i386/pc/chainloader.c (boot_drive): New variable.
13627 (boot_part_addr): Likewise.
13628 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
13629 with BOOT_DRIVE and BOOT_PART_ADDR.
13630 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
13631 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
13632
38da6516 136332007-08-29 Robert Millan <rmh@aybabtu.com>
13634
13635 Patch from Simon Peter <dn.tlp@gmx.net>:
13636 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
13637 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
13638 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
13639 util/i386/pc/grub-setup.c_DEPENDENCIES.
13640 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
13641 util/grub-probe.c_DEPENDENCIES.
13642 * conf/powerpc-ieee1275.rmk: Likewise.
13643
29d0928c 136442007-08-28 Robert Millan <rmh@aybabtu.com>
13645
13646 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
13647 to tell grub-mkdevicemap how to name devices.
13648 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
13649 feature).
13650
13651 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
13652 util/i386/get_disk_name.c.
13653 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
13654 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
13655 util/ieee1275/get_disk_name.c.
13656
13657 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
13658
13659 * DISTLIST: Add util/i386/get_disk_name.c and
13660 util/ieee1275/get_disk_name.c.
13661
13662 * util/grub-mkdevicemap.c: Replace device naming logic with
13663 grub_util_get_disk_name() calls.
13664
5a0d3cca 136652007-08-20 Robert Millan <rmh@aybabtu.com>
13666
13667 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
13668 (so that it works for both plural and singular quantities).
13669
8b72db2f 136702007-08-05 Robert Millan <rmh@aybabtu.com>
13671
13672 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
13673 so that [xz] isn't taken into account when determining order.
13674
352466bf 136752007-08-02 Marco Gerards <marco@gnu.org>
13676
13677 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
13678 `include/multiboot2.h', `include/grub/elfload.h',
13679 `include/multiboot.h', `include/grub/multiboot.h',
13680 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
13681 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
13682 `kern/elf.c', `loader/multiboot_loader.c',
13683 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
13684 `loader/i386/pc/multiboot2.c',
13685 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
13686 `util/i386/pc/grub-mkrescue.in'. Remove
13687 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
13688 `include/grub/i386/pc/util/biosdisk.h' and
13689 `include/grub/powerpc/ieee1275/multiboot.h'.
13690
8f096014 136912007-08-02 Bean <bean123ch@gmail.com>
13692
13693 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
13694 (ntfs_mod_SOURCES): New variable.
13695 (ntfs_mod_CFLAGS): Likewise.
13696 (ntfs_mod_LDFLAGS): Likewise.
13697
13698 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
13699 (grub_probe_SOURCES): Likewise.
13700 (grub_emu_SOURCES): Likewise.
13701
13702 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
13703 (grub_emu_SOURCES): Likewise.
13704
13705 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
13706 (grub_emu_SOURCES): Likewise.
f19dbdb7 13707
8f096014 13708 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
13709
13710 * fs/ntfs.c: New file.
13711
9959f7db 137122007-08-02 Bean <bean123ch@gmail.com>
13713
13714 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
13715
13716 * file.h (grub_file): Likewise.
13717
13718 * fshelp.h (grub_fshelp_read_file): Likewise.
13719
13720 * util/i386/pc/grub-setup.c (setup): Likewise.
13721 (save_first_sector): Likewise.
13722 (save_blocklists): Likewise.
f19dbdb7 13723
9959f7db 13724 * fs/affs.c (grub_affs_read_file): Likewise.
13725
13726 * fs/ext2.c (grub_ext2_read_file): Likewise.
13727
13728 * fs/fat.c (grub_fat_read_data): Likewise.
13729
13730 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
13731
13732 * fs/hfs.c (grub_hfs_read_file): Likewise.
13733
13734 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
13735
13736 * fs/jfs.c (grub_jfs_read_file): Likewise.
13737
13738 * fs/minix.c (grub_minix_read_file): Likewise.
13739
13740 * fs/sfs.c (grub_sfs_read_file): Likewise.
13741
13742 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 13743
9959f7db 13744 * fs/xfs.c (grub_xfs_read_file): Likewise.
13745
13746 * command/blocklist.c (read_blocklist): Likewise.
13747 (print_blocklist): Likewise.
13748
0a203f83 137492007-08-02 Marco Gerards <marco@gnu.org>
13750
13751 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
13752 `util/hostfs.c'.
13753
13754 * disk/host.c: New file.
13755
13756 * util/hostfs.c: Likewise.
13757
13758 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
13759 return `GRUB_ERR_BAD_FS'.
13760 * fs/sfs.c (grub_sfs_mount): Likewise.
13761 * fs/xfs.c (grub_xfs_mount): Likewise.
13762
13763 * include/grub/disk.h (enum grub_disk_dev_id): Add
13764 `GRUB_DISK_DEVICE_HOST_ID'.
13765
13766 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
13767
e5dfe777 137682007-07-24 Jerone Young <jerone@gmail.com>
13769
f19dbdb7 13770 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 13771 modules for compilation.
13772 * conf/powerpc-ieee1275.rmk: Likewise.
13773
13774 * include/multiboot.h: Move multiboot definitions to one file. Rename
13775 many definitions to not get grub specific.
13776 * include/multiboot2.h: Create header with multiboot 2 definitions.
13777 * include/grub/multiboot.h: Header for grub specific function
13778 prototypes and definitions.
13779 * include/grub/multiboot2.h: Likewise.
13780 * include/grub/multiboot_loader.h: Likewise.
13781 * include/grub/i386/pc/multiboot.h: Removed.
13782 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
13783
13784 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
13785 and 2 to allow for one multiboot and module commands.
13786 * loader/multiboot2.c: Add multiboot2 functionality.
13787 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
13788 and definition names.
13789 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
13790 2 functions.
13791 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
13792 ieee1275 specific multiboot2 code.
13793
13794 * kern/i386/pc/startup.S: Change headers and definition names for
13795 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
13796
daf0f0ba 137972007-07-22 Robert Millan <rmh@aybabtu.com>
13798
13799 * geninitheader.sh: Process file specified in first parameter rather
13800 than hardcoding grub_modules_init.lst.
fe6b695a 13801 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 13802 than hardcoding grub_modules_init.h.
13803
13804 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
13805 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
13806 grub_probe_init.[ch] and grub_setup_init.[ch].
13807
13808 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
13809 grub_modules_init.h with grub_emu_init.h.
13810 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
13811 grub_probe_init.[ch] files.
13812 * conf/i386-efi.rmk: Likewise.
13813 * conf/i386-pc.rmk: Likewise.
13814 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
13815 grub_setup_init.[ch] files.
13816
13817 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
13818 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
13819 to initialize modules rather than a list of hardcoded functions.
13820 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
13821 grub_init_all() to initialize modules rather than a list of hardcoded
13822 functions.
13823
54cdc1cc 138242007-07-22 Robert Millan <rmh@aybabtu.com>
13825
13826 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
13827 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
13828
ad0686cc 138292007-07-22 Robert Millan <rmh@aybabtu.com>
13830
13831 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
13832 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
13833 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
13834 flag when running on SmartFirmware.
13835 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
13836 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
13837 was set.
13838
13839 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
13840 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
13841 rather than decreasing it.
13842
13843 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
13844 there's not enough space to do it, fail in the same way as when it
13845 can't be done because there are no partitions.
13846
13847 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
13848 when nvsetenv failed.
13849
969c02ec 138502007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
13851
13852 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
13853 because this rule is automatically generated.
13854 (grub-mkrescue): Removed for the same reason as above.
13855
5a79f472 138562007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
13857
13858 Migrate to GNU General Public License Version 3.
f19dbdb7 13859
5a79f472 13860 * COPYING: Replaced with the plain text version of GPLv3.
13861
13862 * config.guess: Updated from gnulib.
13863 * config.sub: Likewise.
13864
13865 * geninit.sh: Output a GPLv3 copyright notice.
13866 * geninitheader.sh: Likewise.
13867 * genmodsrc.sh: Likewise.
13868 * gensymlist.sh.in: Likewise.
13869
13870 * boot/i386/pc/boot.S: Upgraded to GPLv3.
13871 * boot/i386/pc/diskboot.S: Likewise.
13872 * boot/i386/pc/pxeboot.S: Likewise.
13873 * commands/blocklist.c: Likewise.
13874 * commands/boot.c: Likewise.
13875 * commands/cat.c: Likewise.
13876 * commands/cmp.c: Likewise.
13877 * commands/configfile.c: Likewise.
13878 * commands/echo.c: Likewise.
13879 * commands/help.c: Likewise.
13880 * commands/ls.c: Likewise.
13881 * commands/search.c: Likewise.
13882 * commands/terminal.c: Likewise.
13883 * commands/test.c: Likewise.
13884 * commands/videotest.c: Likewise.
13885 * commands/i386/cpuid.c: Likewise.
13886 * commands/i386/pc/halt.c: Likewise.
13887 * commands/i386/pc/play.c: Likewise.
13888 * commands/i386/pc/reboot.c: Likewise.
13889 * commands/i386/pc/vbeinfo.c: Likewise.
13890 * commands/i386/pc/vbetest.c: Likewise.
13891 * commands/ieee1275/halt.c: Likewise.
13892 * commands/ieee1275/reboot.c: Likewise.
13893 * commands/ieee1275/suspend.c: Likewise.
13894 * disk/loopback.c: Likewise.
13895 * disk/lvm.c: Likewise.
13896 * disk/raid.c: Likewise.
13897 * disk/efi/efidisk.c: Likewise.
13898 * disk/i386/pc/biosdisk.c: Likewise.
13899 * disk/ieee1275/ofdisk.c: Likewise.
13900 * font/manager.c: Likewise.
13901 * fs/affs.c: Likewise.
13902 * fs/ext2.c: Likewise.
13903 * fs/fat.c: Likewise.
13904 * fs/fshelp.c: Likewise.
13905 * fs/hfs.c: Likewise.
13906 * fs/hfsplus.c: Likewise.
13907 * fs/iso9660.c: Likewise.
13908 * fs/jfs.c: Likewise.
13909 * fs/minix.c: Likewise.
13910 * fs/sfs.c: Likewise.
13911 * fs/ufs.c: Likewise.
13912 * fs/xfs.c: Likewise.
13913 * hello/hello.c: Likewise.
13914 * include/grub/acorn_filecore.h: Likewise.
13915 * include/grub/arg.h: Likewise.
13916 * include/grub/bitmap.h: Likewise.
13917 * include/grub/boot.h: Likewise.
13918 * include/grub/cache.h: Likewise.
13919 * include/grub/device.h: Likewise.
13920 * include/grub/disk.h: Likewise.
13921 * include/grub/dl.h: Likewise.
13922 * include/grub/elfload.h: Likewise.
13923 * include/grub/env.h: Likewise.
13924 * include/grub/err.h: Likewise.
13925 * include/grub/file.h: Likewise.
13926 * include/grub/font.h: Likewise.
13927 * include/grub/fs.h: Likewise.
13928 * include/grub/fshelp.h: Likewise.
13929 * include/grub/gzio.h: Likewise.
13930 * include/grub/hfs.h: Likewise.
13931 * include/grub/kernel.h: Likewise.
13932 * include/grub/loader.h: Likewise.
13933 * include/grub/lvm.h: Likewise.
13934 * include/grub/misc.h: Likewise.
13935 * include/grub/mm.h: Likewise.
13936 * include/grub/net.h: Likewise.
13937 * include/grub/normal.h: Likewise.
13938 * include/grub/parser.h: Likewise.
13939 * include/grub/partition.h: Likewise.
13940 * include/grub/pc_partition.h: Likewise.
13941 * include/grub/raid.h: Likewise.
13942 * include/grub/rescue.h: Likewise.
13943 * include/grub/script.h: Likewise.
13944 * include/grub/setjmp.h: Likewise.
13945 * include/grub/symbol.h: Likewise.
13946 * include/grub/term.h: Likewise.
13947 * include/grub/terminfo.h: Likewise.
13948 * include/grub/tparm.h: Likewise.
13949 * include/grub/types.h: Likewise.
13950 * include/grub/video.h: Likewise.
13951 * include/grub/efi/api.h: Likewise.
13952 * include/grub/efi/chainloader.h: Likewise.
13953 * include/grub/efi/console.h: Likewise.
13954 * include/grub/efi/console_control.h: Likewise.
13955 * include/grub/efi/disk.h: Likewise.
13956 * include/grub/efi/efi.h: Likewise.
13957 * include/grub/efi/pe32.h: Likewise.
13958 * include/grub/efi/time.h: Likewise.
13959 * include/grub/i386/linux.h: Likewise.
13960 * include/grub/i386/setjmp.h: Likewise.
13961 * include/grub/i386/types.h: Likewise.
13962 * include/grub/i386/efi/kernel.h: Likewise.
13963 * include/grub/i386/efi/loader.h: Likewise.
13964 * include/grub/i386/efi/time.h: Likewise.
13965 * include/grub/i386/pc/biosdisk.h: Likewise.
13966 * include/grub/i386/pc/boot.h: Likewise.
13967 * include/grub/i386/pc/chainloader.h: Likewise.
13968 * include/grub/i386/pc/console.h: Likewise.
13969 * include/grub/i386/pc/init.h: Likewise.
13970 * include/grub/i386/pc/kernel.h: Likewise.
13971 * include/grub/i386/pc/loader.h: Likewise.
13972 * include/grub/i386/pc/memory.h: Likewise.
13973 * include/grub/i386/pc/multiboot.h: Likewise.
13974 * include/grub/i386/pc/serial.h: Likewise.
13975 * include/grub/i386/pc/time.h: Likewise.
13976 * include/grub/i386/pc/vbe.h: Likewise.
13977 * include/grub/i386/pc/vbeblit.h: Likewise.
13978 * include/grub/i386/pc/vbefill.h: Likewise.
13979 * include/grub/i386/pc/vbeutil.h: Likewise.
13980 * include/grub/i386/pc/vga.h: Likewise.
13981 * include/grub/ieee1275/ieee1275.h: Likewise.
13982 * include/grub/ieee1275/ofdisk.h: Likewise.
13983 * include/grub/powerpc/libgcc.h: Likewise.
13984 * include/grub/powerpc/setjmp.h: Likewise.
13985 * include/grub/powerpc/types.h: Likewise.
13986 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
13987 * include/grub/powerpc/ieee1275/console.h: Likewise.
13988 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
13989 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
13990 * include/grub/powerpc/ieee1275/loader.h: Likewise.
13991 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
13992 * include/grub/powerpc/ieee1275/time.h: Likewise.
13993 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
13994 * include/grub/sparc64/libgcc.h: Likewise.
13995 * include/grub/sparc64/setjmp.h: Likewise.
13996 * include/grub/sparc64/types.h: Likewise.
13997 * include/grub/sparc64/ieee1275/console.h: Likewise.
13998 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
13999 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
14000 * include/grub/sparc64/ieee1275/time.h: Likewise.
14001 * include/grub/util/biosdisk.h: Likewise.
14002 * include/grub/util/getroot.h: Likewise.
14003 * include/grub/util/lvm.h: Likewise.
14004 * include/grub/util/misc.h: Likewise.
14005 * include/grub/util/raid.h: Likewise.
14006 * include/grub/util/resolve.h: Likewise.
14007 * io/gzio.c: Likewise.
14008 * kern/device.c: Likewise.
14009 * kern/disk.c: Likewise.
14010 * kern/dl.c: Likewise.
14011 * kern/elf.c: Likewise.
14012 * kern/env.c: Likewise.
14013 * kern/err.c: Likewise.
14014 * kern/file.c: Likewise.
14015 * kern/fs.c: Likewise.
14016 * kern/loader.c: Likewise.
14017 * kern/main.c: Likewise.
14018 * kern/misc.c: Likewise.
14019 * kern/mm.c: Likewise.
14020 * kern/parser.c: Likewise.
14021 * kern/partition.c: Likewise.
14022 * kern/rescue.c: Likewise.
14023 * kern/term.c: Likewise.
14024 * kern/efi/efi.c: Likewise.
14025 * kern/efi/init.c: Likewise.
14026 * kern/efi/mm.c: Likewise.
14027 * kern/i386/dl.c: Likewise.
14028 * kern/i386/efi/init.c: Likewise.
14029 * kern/i386/efi/startup.S: Likewise.
14030 * kern/i386/pc/init.c: Likewise.
14031 * kern/i386/pc/lzo1x.S: Likewise.
14032 * kern/i386/pc/startup.S: Likewise.
14033 * kern/ieee1275/ieee1275.c: Likewise.
14034 * kern/powerpc/cache.S: Likewise.
14035 * kern/powerpc/dl.c: Likewise.
14036 * kern/powerpc/ieee1275/cmain.c: Likewise.
14037 * kern/powerpc/ieee1275/crt0.S: Likewise.
14038 * kern/powerpc/ieee1275/init.c: Likewise.
14039 * kern/powerpc/ieee1275/openfw.c: Likewise.
14040 * kern/sparc64/cache.S: Likewise.
14041 * kern/sparc64/dl.c: Likewise.
14042 * kern/sparc64/ieee1275/init.c: Likewise.
14043 * kern/sparc64/ieee1275/openfw.c: Likewise.
14044 * loader/efi/chainloader.c: Likewise.
14045 * loader/efi/chainloader_normal.c: Likewise.
14046 * loader/i386/efi/linux.c: Likewise.
14047 * loader/i386/efi/linux_normal.c: Likewise.
14048 * loader/i386/pc/chainloader.c: Likewise.
14049 * loader/i386/pc/chainloader_normal.c: Likewise.
14050 * loader/i386/pc/linux.c: Likewise.
14051 * loader/i386/pc/linux_normal.c: Likewise.
14052 * loader/i386/pc/multiboot.c: Likewise.
14053 * loader/i386/pc/multiboot_normal.c: Likewise.
14054 * loader/powerpc/ieee1275/linux.c: Likewise.
14055 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
14056 * normal/arg.c: Likewise.
14057 * normal/cmdline.c: Likewise.
14058 * normal/command.c: Likewise.
14059 * normal/completion.c: Likewise.
14060 * normal/execute.c: Likewise.
14061 * normal/function.c: Likewise.
14062 * normal/lexer.c: Likewise.
14063 * normal/main.c: Likewise.
14064 * normal/menu.c: Likewise.
14065 * normal/menu_entry.c: Likewise.
14066 * normal/misc.c: Likewise.
14067 * normal/parser.y: Likewise.
14068 * normal/script.c: Likewise.
14069 * normal/i386/setjmp.S: Likewise.
14070 * normal/powerpc/setjmp.S: Likewise.
14071 * normal/sparc64/setjmp.S: Likewise.
14072 * partmap/acorn.c: Likewise.
14073 * partmap/amiga.c: Likewise.
14074 * partmap/apple.c: Likewise.
14075 * partmap/gpt.c: Likewise.
14076 * partmap/pc.c: Likewise.
14077 * partmap/sun.c: Likewise.
14078 * term/gfxterm.c: Likewise.
14079 * term/terminfo.c: Likewise.
14080 * term/efi/console.c: Likewise.
14081 * term/i386/pc/console.c: Likewise.
14082 * term/i386/pc/serial.c: Likewise.
14083 * term/i386/pc/vesafb.c: Likewise.
14084 * term/i386/pc/vga.c: Likewise.
14085 * term/ieee1275/ofconsole.c: Likewise.
14086 * util/biosdisk.c: Likewise.
14087 * util/console.c: Likewise.
14088 * util/genmoddep.c: Likewise.
14089 * util/getroot.c: Likewise.
14090 * util/grub-emu.c: Likewise.
14091 * util/grub-mkdevicemap.c: Likewise.
14092 * util/grub-probe.c: Likewise.
14093 * util/lvm.c: Likewise.
14094 * util/misc.c: Likewise.
14095 * util/raid.c: Likewise.
14096 * util/resolve.c: Likewise.
14097 * util/update-grub.in: Likewise.
14098 * util/update-grub_lib.in: Likewise.
14099 * util/grub.d/00_header.in: Likewise.
14100 * util/grub.d/10_hurd.in: Likewise.
14101 * util/grub.d/10_linux.in: Likewise.
14102 * util/i386/efi/grub-install.in: Likewise.
14103 * util/i386/efi/grub-mkimage.c: Likewise.
14104 * util/i386/pc/grub-install.in: Likewise.
14105 * util/i386/pc/grub-mkimage.c: Likewise.
14106 * util/i386/pc/grub-mkrescue.in: Likewise.
14107 * util/i386/pc/grub-setup.c: Likewise.
14108 * util/i386/pc/misc.c: Likewise.
14109 * util/powerpc/ieee1275/grub-install.in: Likewise.
14110 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
14111 * util/powerpc/ieee1275/misc.c: Likewise.
14112 * video/bitmap.c: Likewise.
14113 * video/video.c: Likewise.
14114 * video/i386/pc/vbe.c: Likewise.
14115 * video/i386/pc/vbeblit.c: Likewise.
14116 * video/i386/pc/vbefill.c: Likewise.
14117 * video/i386/pc/vbeutil.c: Likewise.
14118 * video/readers/tga.c: Likewise.
14119
3572d015 141202007-07-02 Robert Millan <rmh@aybabtu.com>
14121
14122 * conf/i386-efi.rmk: Replace obsolete reference to
14123 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
14124 with util/getroot.c.
14125 * conf/powerpc-ieee1275.rmk: Likewise.
14126 * conf/sparc64-ieee1275.rmk: Likewise.
14127
14128 * util/grub-emu.c (main): Fix unchecked pointer handling.
14129
2c2a681b 141302007-07-02 Robert Millan <rmh@aybabtu.com>
14131
14132 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
14133 invocation to fail, in order to support partition-less media.
14134
14135 * util/i386/pc/grub-install.in: Likewise.
14136
14137 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
14138 which fs or partmap modules are needed (akin to its sister scripts).
14139
14140 Also use grub-probe to get rid of unportable /proc/mounts check.
14141
14142 Print the same informational message that the other scripts do, before
fe6b695a 14143 exiting.
2c2a681b 14144
6193defe 141452007-06-23 Robert Millan <rmh@aybabtu.com>
14146
fe6b695a 14147 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 14148 a font file can be found and, if so, echo the GRUB path to it.
14149
14150 * util/update-grub.in: Handle multiple terminals depending on user
14151 input, platform availability and font file presence. Propagate
14152 variables of our findings to /etc/grub.d/ children.
14153
14154 * util/grub.d/00_header.in: Handle multiple terminals, based on
14155 environment setup by update-grub.
14156
eface1dc 141572007-06-23 Robert Millan <rmh@aybabtu.com>
14158
ba50d28f 14159 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 14160
bf697e28 141612007-06-21 Robert Millan <rmh@aybabtu.com>
14162
14163 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
14164 indicate end of data section in kernel image.
14165 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
14166 GRUB_KERNEL_MACHINE_DATA_END.
14167
14168 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
14169 space for it.
14170 * kern/i386/efi/startup.S: Likewise.
14171
14172 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
14173 during image generation. Implement --prefix option to override this
14174 patch.
14175 * util/i386/efi/grub-mkimage.c: Likewise.
14176
14177 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
14178 code to make path relative to its root into a separate function.
14179
14180 * util/i386/pc/grub-install.in: Use newly provided
14181 make_system_path_relative_to_its_root() to convert ${grubdir}, then
14182 pass the result to grub-install --prefix.
14183
baa574b4 141842007-06-13 Robert Millan <rmh@aybabtu.com>
14185
14186 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
14187 DEFAULT_DEVICE_MAP.
14188 * util/grub-emu.c: Use above definitions from misc.h instead of
14189 defining them.
14190 * util/grub-mkdevicemap.c: Likewise.
14191 * util/i386/pc/grub-setup.c: Likewise.
14192 * util/grub-probe.c: Likewise.
14193 (probe): Abort with grub_util_error() when either
14194 grub_guess_root_device or grub_util_get_grub_dev fails.
14195
0215dcbf 141962007-06-12 Robert Millan <rmh@aybabtu.com>
14197
14198 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
14199 "pager" assignment.
14200 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
14201 "pcdata".
14202 * util/grub-probe.c (probe): Likewise for "drive_name".
14203
8af2ab7b 142042007-06-11 Robert Millan <rmh@aybabtu.com>
14205
14206 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
14207 not just the cdrom one.
14208
59d31694 142092007-06-11 Robert Millan <rmh@aybabtu.com>
14210
14211 * util/i386/pc/grub-mkrescue.in: Add "set -e".
14212 Add --pkglibdir=DIR option to override pkglibdir.
14213 Mention --image-type=TYPE in help output.
14214 Fix --grub-mkimage (it was a no-op).
fe6b695a 14215 Abort gracefully when no parameter is given.
59d31694 14216
7ee367e4 142172007-06-11 Robert Millan <rmh@aybabtu.com>
14218
14219 * util/i386/pc/grub-mkrescue.in: New file.
14220 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
14221 * Makefile.in: Handle bin_SCRIPTS.
14222
29b0ed46 142232007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
14224
14225 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
14226 list of video modes.
14227
c0f90770 142282007-06-06 Robert Millan <rmh@aybabtu.com>
14229
14230 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
14231 file doesn't exist, or if it is in a filesystem grub can't read.
14232
14233 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
14234 not abort if GRUB_DRIVE could not be defined. Rearrange generated
14235 header comment to fit in 80 columns when the variables are resolved.
14236
14237 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
14238 could be identified by update-grub. Remove redundant check for
fe6b695a 14239 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 14240 handles that).
14241
fb36dc26 142422007-06-04 Robert Millan <rmh@aybabtu.com>
14243
14244 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
14245
14246 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
14247
14248 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
14249
0c68c93e 142502007-06-04 Robert Millan <rmh@aybabtu.com>
14251
14252 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
14253
14254 * include/grub/partition.h: Declare grub_apple_partition_map_init and
14255 grub_apple_partition_map_fini.
14256
14257 * util/biosdisk.c
14258 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
14259 to access >2 TiB disks).
14260
14261 Print disk->total_sectors with %llu instead of %lu, since this
14262 variable is always 64-bit (prevents wrong disk size from being displayed
14263 on either >2 TiB disk or big-endian CPU).
14264
14265 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
14266 into a generic case that supports all (sane) partition maps.
14267
14268 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
14269 breaks big-endian.
14270
14271 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
14272 and grub_apple_partition_map_fini() after that.
14273
0f23eb74 142742007-06-01 Robert Millan <rmh@aybabtu.com>
14275
14276 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
14277
14278 * util/grub.d/00_header.in: Only enable gfxterm when
14279 convert_system_path_to_grub_path() succeeds.
14280
42c71976 142812007-05-20 Robert Millan <rmh@aybabtu.com>
14282
14283 * util/update-grub_lib.in: New file.
14284 * DISTLIST: Add update-grub_lib.in.
14285 * conf/common.rmk: Generate update-grub_lib and install it in
14286 $(lib_DATA).
14287 * Makefile.in: Add install routine for $(lib_DATA).
14288
14289 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
14290 function provided by update-grub_lib to support arbitrary paths of
14291 unifont.pff.
14292 * util/update-grub.in: Use convert_system_path_to_grub_path() to
14293 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
14294
5beb2291 142952007-05-19 Robert Millan <rmh@aybabtu.com>
14296
14297 * commands/i386/cpuid.c: New module.
14298 * DISTLIST: Add it.
14299 * conf/i386-efi.rmk: Enable cpuid.mod.
14300 * conf/i386-pc.rmk: Likewise.
14301
7262eca1 143022007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
14303
14304 * kern/disk.c (grub_disk_read): Check return value of
14305 grub_realloc().
14306
260ba823 143072007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
14308
14309 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
14310 arrays.
14311 * disk/raid.c (grub_raid_open): Likewise.
14312
1ecb6cf2 143132007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
14314
14315 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
14316 stack instead of on the heap.
14317
14318 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
14319 before doing a read on it.
14320
14321 * configure.ac: Only use -fno-stack-protector for the target
14322 environment.
f19dbdb7 14323
21c8cbb1 143242007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
14325
14326 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
14327 __attribute_ ((unused)) to mode_type argument.
14328
14329 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 14330
21c8cbb1 14331 * kern/misc.c (memcmp): Fix prototype.
14332
14333 * include/grub/partition.h [GRUB_UTIL]
14334 (grub_gpt_partition_map_init): Add prototype.
14335 (grub_gpt_partition_map_fini): Likewise.
14336
14337 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
14338 at the right place.
14339
14340 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
14341 (grub_fat_read_data): Likewise.
14342 (grub_fat_find_dir): Likewise.
14343
14344 * font/manager.c (find_glyph): Make table a const.
14345 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 14346
849d55d3 143472007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
14348
14349 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
14350 code, first search for device in /dev/mapper, then in /dev.
14351 (grub_util_get_grub_dev): New function.
14352 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
14353 prototype.
14354 * util/grub-probe.c (probe): Remove check for RAID, call
14355 grub_util_get_grub_dev() instead of
14356 grub_util_biosdisk_get_grub_dev().
14357 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
14358 grub_util_biosdisk_get_grub_dev().
14359 * util/i386/pc/grub-setup.c (main): Likewise.
14360
8fff7c2f 143612007-05-16 Robert Millan <rmh@aybabtu.com>
14362
14363 * DISTLIST: Update for the latest changes.
14364 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
14365 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
14366 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
14367 grub/util/biosdisk.h.
14368 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
14369 grub/util/biosdisk.h.
14370
48e12b52 143712007-05-16 Robert Millan <rmh@aybabtu.com>
14372
14373 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
14374
46b9d128 143752007-05-16 Robert Millan <rmh@aybabtu.com>
14376
14377 * util/i386/efi/grub-install.in: New.
14378 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
14379 newly added grub-install.
14380 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
14381 include.
14382 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
14383 grub/util/biosdisk.h.
14384 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
14385 grub/util/biosdisk.h.
14386
2d1a40a9 143872007-05-16 Robert Millan <rmh@aybabtu.com>
14388
14389 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
14390 * include/grub/util/biosdisk.h: ... here.
14391 * util/i386/pc/biosdisk.c: Moved to ...
14392 * util/biosdisk.c: ... here.
14393 * util/i386/pc/getroot.c: Moved to ...
14394 * util/getroot.c: ... here.
14395 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
14396 * util/grub-mkdevicemap.c: ... here.
14397 * util/i386/pc/grub-probe.c: Moved to ...
14398 * util/grub-probe.c: ... here.
14399
9e26e3bc 144002007-05-15 Robert Millan <rmh@aybabtu.com>
14401
14402 * util/update-grub.in: Remove duplicated line in grub.cfg header
14403 message.
14404
57f96397 144052007-05-13 Robert Millan <rmh@aybabtu.com>
14406
14407 * util/update-grub.in: Fix a few assumptions about the devices holding
14408 /, /boot and /boot/grub being the same.
14409 * util/grub.d/00_header.in: Likewise.
14410 * util/grub.d/10_hurd.in: Likewise.
14411 * util/grub.d/10_linux.in: Likewise.
14412
14413 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
14414 patterns. Use that to define the `.old' suffix as older than `'.
14415
14416 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
14417
14418 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
14419 the grub.cfg header message.
14420
2e610d62 144212007-05-11 Robert Millan <rmh@aybabtu.com>
14422
14423 * util/update-grub.in: Create device.map if it doesn't already exist,
14424 before attempting to run grub-probe.
14425 Check for grub-probe and grub-mkdevicemap with the same code
14426 grub-install is using.
14427 Remove test mode.
14428
3f6a10ef 144292007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
14430
14431 * Makefile.in: Add the datarootdir autoconf variable.
14432
02e7b75e 144332007-05-09 Robert Millan <rmh@aybabtu.com>
14434
14435 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 14436 fail gracefully if dev->disk->partition == NULL.
02e7b75e 14437
75f396cc 144382007-05-07 Robert Millan <rmh@aybabtu.com>
14439
14440 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
14441 determine partition map module.
14442 * util/i386/pc/grub-install.in: Use this feature to decide which
14443 partition module to load, instead of hardcoding pc and gpt.
14444
da65cb36 144452007-05-07 Robert Millan <rmh@aybabtu.com>
14446
14447 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
14448 source directory differs from build directory.
14449
b57d6a91 144502007-05-05 Robert Millan <rmh@aybabtu.com>
14451
14452 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
14453 initialisation.
14454
509d00f1 144552007-05-05 Robert Millan <rmh@aybabtu.com>
14456
14457 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
14458
c48f23ef 144592007-05-05 Robert Millan <rmh@aybabtu.com>
14460
14461 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
14462 command-line arguments via ${GRUB_CMDLINE_LINUX}.
14463
20b97658 144642007-05-05 Robert Millan <rmh@aybabtu.com>
14465
14466 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
14467 (grub_probe_SOURCES): Likewise.
14468 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
14469 GPT and initialize dos_part and bsd_part accordingly.
14470 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
14471 install_bsd_part.
14472 (main): Activate gpt module for use during partition identification,
14473 and deactivate it afterwards.
14474 * util/i386/pc/grub-install.in: Add gpt module to core.img.
14475 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
14476 partition identification, and deactivate it afterwards.
14477
99123174 144782007-05-05 Robert Millan <rmh@aybabtu.com>
14479
14480 * term/i386/pc/console.c (grub_console_fini): Call
14481 grub_term_set_current() before grub_term_unregister().
14482
ebd97f6e 144832007-05-04 Robert Millan <rmh@aybabtu.com>
14484
14485 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
14486 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
14487 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
14488 and update-grub_DATA.
14489 * conf/common.rmk: Build and install update-grub components.
14490 * conf/common.mk: Regenerate.
14491 * util/update-grub.in: New. Core of update-grub.
14492 * util/grub.d/00_header.in: New. Generates grub.cfg header.
14493 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
14494 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
14495 * util/grub.d/README: New. Document grub.d directory layout.
14496
b06a264d 144972007-05-01 Robert Millan <rmh@aybabtu.com>
14498
14499 * util/grub-emu.c: Move initialization functions
14500 grub_util_biosdisk_init() and grub_init_all() before
14501 grub_util_biosdisk_get_grub_dev(), which relies on them.
14502
41f0050e 145032007-04-19 Robert Millan <rmh@aybabtu.com>
14504
14505 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
14506 it is used later.
14507
04582bb3 145082007-04-18 Jerone Young <jerone@gmail.com>
14509
f19dbdb7 14510 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 14511 stanza.
14512
08db4632 145132007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 14514
08db4632 14515 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
14516 continue on and look for device node with real device name.
14517
801b76be 145182007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 14519
fe6b695a 14520 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 14521 ability.
14522 * Makefile.in: Add autoconf package transformation code.
14523 * util/i386/pc/grub-install.in: Likewise.
14524 * util/powerpc/ieee1275/grub-install.in: Likewise.
14525
6795c4e1 145262007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
14527
14528 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
14529 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
14530 (EXT2_REVISION): Likewise.
14531 (EXT2_INODE_SIZE): Likewise.
14532 (struct grub_ext2_block_group): Added a missing member
14533 "used_dirs".
14534 (grub_ext2_read_inode): Divide by the inode size in a superblock
14535 instead of 128 to obtain INODES_PER_BLOCK.
14536 Use the macro EXT2_INODE_SIZE instead of directly using
14537 SBLOCK->INODE_SIZE.
14538
d70af616 145392007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
14540
14541 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
14542 superblock instead of the structure size to compute an
14543 offset. This fixes the problem that GRUB could not read a
14544 filesystem when inode size is different from 128-byte.
14545
3b801603 145462007-03-05 Marco Gerards <marco@gnu.org>
14547
14548 * normal/main.c (read_config_file): When "menu" is not set, create
14549 an initial context.
14550
4785bfe4 145512007-02-21 Hollis Blanchard <hollis@penguinppc.org>
14552
14553 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
14554 (HEAP_LIMIT): New macro.
14555 (grub_claim_heap): Claim memory up to `heaplimit'.
14556
a0cbb023 145572007-02-21 Hollis Blanchard <hollis@penguinppc.org>
14558
14559 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
14560 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
14561 (_start): Likewise.
14562 (grub_arch_modules_addr): Return address after `_end'.
14563 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
14564 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
14565 (add_segments): Calculate `_end' from phdr size and location.
14566 (ALIGN_UP): Moved to ...
14567 * include/grub/misc.h: here.
14568 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
14569 New macro.
14570 (GRUB_IEEE1275_MODULE_BASE): Removed.
14571
fd7d8eba 145722007-02-20 Hollis Blanchard <hollis@penguinppc.org>
14573
14574 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
14575 loop boundary.
14576
9b09e6fc 145772007-02-20 Hollis Blanchard <hollis@penguinppc.org>
14578
14579 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
14580 All users updated.
14581 (grub_elf64_load_hook_t): Likewise.
14582 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
14583 debug output.
14584
3ce27299 145852007-02-20 Hollis Blanchard <hollis@penguinppc.org>
14586
14587 * kern/mm.c: Update copyright.
14588 (grub_mm_debug): Correct syntax error.
14589 (grub_mm_dump_free): New function.
14590 (grub_debug_free): Call `grub_free'.
14591 * include/grub/mm.h: Update copyright.
14592 (grub_mm_dump_free): Add declaration.
14593
077d5fee 145942007-02-12 Hollis Blanchard <hollis@penguinppc.org>
14595
14596 * include/grub/ieee1275/ieee1275.h: Update copyright.
14597 * kern/powerpc/ieee1275/init.c: Likewise.
14598 * kern/powerpc/ieee1275/openfw.c: Likewise.
14599
14600 * loader/powerpc/ieee1275/linux.c: Likewise.
14601 * include/grub/elfload.h: Likewise.
14602 * kern/elf.c: Likewise.
14603 (grub_elf32_load): Pass `base' and `size' parameters. Update all
14604 callers.
14605 (grub_elf64_load): Likewise.
14606 (grub_elf32_load_segment): Move to a nested function.
14607 (grub_elf64_load_segment): Likewise.
14608
dc946850 146092007-02-12 Hollis Blanchard <hollis@penguinppc.org>
14610
14611 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
14612 prototype.
14613 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
14614 (grub_heap_len): Likewise.
14615 (HEAP_SIZE): New macro.
14616 (grub_claim_heap): New function.
14617 (grub_machine_init): Don't claim heap directly. Call
14618 `grub_claim_heap'.
14619 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
14620 (grub_available_iterate): New function.
14621
baa2a121 146222007-02-03 Thomas Schwinge <tschwinge@gnu.org>
14623
14624 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
14625 * configure.ac: Use it for testing the HOST and TARGET compilers.
14626
4fe9862e 146272006-12-13 Thomas Schwinge <tschwinge@gnu.org>
14628
14629 * Makefile.in (enable_grub_emu): New variable.
14630 * configure.ac (--enable-grub-emu): New option.
14631 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
14632 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
14633 * conf/i386-pc.rmk: Likewise.
14634 * conf/powerpc-ieee1275.rmk: Likewise.
14635 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
14636
a8aa5762 146372006-12-12 Marco Gerards <marco@gnu.org>
14638
14639 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
14640
14641 * kern/env.c (grub_env_unset): Don't free the member `value' when
14642 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
14643 pointer.
14644
14645 * normal/main.c (current_menu): Removed.
14646 (free_menu): Unset the `menu' environment variable.
14647 (grub_normal_menu_addentry): Make use of the environment variable
14648 `menu', instead of using the global `current_menu'. Allocate
14649 memory for the sourcecode of this entry.
14650 (read_config_file): New argument `nested', changed all callers.
14651 Only in the case of a new context, initialize a new menu. Set the
14652 `menu' environment variable.
14653 (grub_normal_execute): Don't set and unset the environment
14654 variable `menu' here anymore. Only free the menu when leaving the
14655 context.
14656
14657 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
14658 leak.
14659
957b3a3e 146602006-12-11 Marco Gerards <marco@gnu.org>
14661
14662 * normal/menu_entry.c (run): Fix off by one bug so the last line
14663 is executed. Move the loader check to outside the loop.
14664
ef875714 146652006-12-08 Hollis Blanchard <hollis@penguinppc.org>
14666
14667 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
14668
4e739985 146692006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
14670
14671 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
14672 the number of sectors. Reported by Andrey Shuvikov
14673 <mr_hyro@yahoo.com>.
f19dbdb7 14674
790707f2 146752006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
14676
14677 * kern/disk.c (grub_disk_read): When there is a read error, always
14678 try to read only the necessary data.
f19dbdb7 14679
790707f2 14680 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
14681 disk/raid.c.
14682 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
14683 prototype.
14684 [GRUB_UTIL] (grub_raid_fini): Likewise.
14685 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 14686 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 14687 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
14688 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
14689 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
14690 and grub_raid_fini().
f19dbdb7 14691
03e58196 146922006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
14693
14694 * include/grub/types.h (__unused): Rename to UNUSED.
14695 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
14696 (grub_elf64_size): Likewise.
f19dbdb7 14697
ae4f23bf 146982006-11-03 Hollis Blanchard <hollis@penguinppc.org>
14699
14700 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
14701 grub_error_push and grub_error_pop in the error-handling path.
14702 (grub_elf32_load_segment): Only call grub_file_read with non-zero
14703 length.
14704
2166cc83 147052006-11-03 Hollis Blanchard <hollis@penguinppc.org>
14706
14707 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
14708 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14709 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14710 (kernel_elf_SOURCES): Likewise.
14711 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
14712 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
14713 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
14714 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
14715 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
14716 (elf_mod_SOURCES): New variable.
14717 (elf_mod_CFLAGS): Likewise.
14718 (elf_mod_LDFLAGS): Likewise.
14719 * include/grub/types.h (__unused): New macro.
14720 * include/grub/elfload.h: New file.
14721 * kern/elf.c: Likewise.
14722 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
14723 (ELF32_LOADMASK): New macro.
14724 (ELF64_LOADMASK): Likewise.
14725 (vmlinux): Removed.
14726 (grub_linux_load32): New function.
14727 (grub_linux_load64): Likewise.
14728 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
14729 Use grub_elf_t instead of grub_file_t.
14730
a09d5aa5 147312006-11-02 Hollis Blanchard <hollis@penguinppc.org>
14732
14733 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
14734 `catch_result' to struct set_color_args.
14735
d976fc51 147362006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
14737
14738 * normal/menu.c: Include grub/script.h.
14739 * normal/menu_entry.c: Likewise.
14740 * include/grub/normal.h: Do not include grub/script.h.
14741
67507549 147422006-10-27 Hollis Blanchard <hollis@penguinppc.org>
14743
14744 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
14745
69203a99 147462006-10-27 Hollis Blanchard <hollis@penguinppc.org>
14747
14748 * kern/disk.c (grub_disk_open): Print debug messages when opening a
14749 disk.
14750 (grub_disk_close): Print debug messages when closing a disk.
14751 (grub_disk_read): Print debug messages when disk read fails.
14752 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
14753 filesystem type.
14754 * kern/partition.c: Include misc.h.
14755 (grub_partition_iterate): Print debug messages when detecting
14756 partition type.
14757
e2b8278c 147582006-10-27 Hollis Blanchard <hollis@penguinppc.org>
14759
14760 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
14761 is negative.
14762 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
14763
97b2f2ff 147642006-10-26 Hollis Blanchard <hollis@penguinppc.org>
14765
14766 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
14767 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
14768
6555d655 147692006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
14770
14771 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
14772 instead of sizeof(lv). Patch by Michael Guntsche.
14773
4d42b77f 147742006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
14775
14776 * disk/lvm.c: Rename VGS to VG_LIST.
14777 (grub_lvm_iterate): Change VGS->LV to VG-LV.
14778 (grub_lvm_open): Likewise.
14779 Thanks to Michael Guntsche for finding this bug.
14780
5d74d927 147812006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
14782
14783 * configure.ac (AC_INIT): Bumped to 1.95.
14784
a1bb27e4 147852006-10-14 Robert Millan <rmh@aybabtu.com>
14786
14787 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
14788 with "/dev/.static/dev/md".
14789
e0994b8b 147902006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
14791
14792 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
14793 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
14794 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
14795 DRIVE_NAME are always freed.
14796
14797 * util/i386/pc/biosdisk.c (make_device_name): Add one into
14798 DOS_PART, as a DOS partition is counted from one instead of zero
14799 now. Reported by Robert Millan.
14800
ddd5cee9 148012006-10-14 Robert Millan <rmh@aybabtu.com>
14802
14803 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
14804 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
14805 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
14806 string returned by grub_guess_root_device.
14807 * util/i386/pc/grub-setup.c: Likewise.
14808 * util/i386/pc/grub-probefs.c: Likewise.
14809
14810 * util/i386/pc/grub-probefs.c: Rename to ...
14811 * util/i386/pc/grub-probe.c: ... this.
14812 * DISTLIST: Remove grub-probefs, add grub-probe.
14813 * conf/i386-efi.rmk: Likewise.
14814 * conf/i386-pc.rmk: Likewise.
14815 * util/i386/pc/grub-install.in: Likewise.
14816
14817 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
14818 choose which information we want to print.
14819
2b002173 148202006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
14821
14822 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
14823 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
14824 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
14825 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
14826 video/readers/tga.c and video/i386/pc/vbeutil.c.
14827
148282006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
14829
14830 Added support for RAID and LVM.
f19dbdb7 14831
2b002173 14832 * disk/lvm.c: New file.
14833 * disk/raid.c: Likewise.
14834 * include/grub/lvm.h: Likewise.
f19dbdb7 14835 * include/grub/raid.h: Likewise.
2b002173 14836 * include/grub/util/lvm.h: Likewise.
14837 * include/grub/util/raid.h: Likewise.
14838 * util/lvm.c: Likewise.
14839 * util/raid.c: Likewise.
14840
14841 * include/grub/disk.h (grub_disk_dev_id): Add
14842 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
14843 (grub_disk_get_size): New prototype.
14844 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
14845 returns a partition.
14846 (grub_disk_get_size): New function.
f19dbdb7 14847
2b002173 14848 * kern/i386/pc/init.c (make_install_device): Copy the prefix
14849 verbatim if grub_install_dos_part is -2.
14850
14851 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
14852 and LVM devices.
14853
14854 * util/i386/pc/grub-setup.c (setup): New argument
14855 MUST_EMBED. Force embedding of GRUB when the argument is
14856 true. Close FILE before returning.
14857 (main): Add support for RAID and LVM.
f19dbdb7 14858
2b002173 14859 * conf/common.rmk: Add RAID and LVM modules.
14860 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
14861 util/lvm.c.
14862 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
14863
14864 * kern/misc.c (grub_strstr): New function.
14865 * include/grub/misc.h (grub_strstr): New prototype.
14866
050548d0 148672006-10-10 Tristan Gingold <tristan.gingold@bull.net>
14868
14869 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
14870
da849d2d 148712006-10-05 Tristan Gingold <tristan.gingold@bull.net>
14872
14873 * kern/misc.c (grub_strtoull): Guess the base only if not
14874 specified.
14875
97b2f2ff 148762006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 14877
14878 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
14879 PowerMac support.
14880
97b2f2ff 148812006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 14882
14883 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
14884
14885 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
14886 Remove `flags' argument. All callers changed.
14887 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
14888 (IEEE1275_IHANDLE_INVALID): New variable.
14889 (IEEE1275_CELL_INVALID): New variable.
14890 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
14891 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
14892 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
14893 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
14894 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
14895 codes from Open Firmware. All callers updated.
14896 (grub_ieee1275_next_property): Directly return Open Firmware return
14897 code.
14898 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
14899 Standardize error checking from `grub_ieee1275_get_property'.
14900 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
14901 `devalias' to `aliases'. Correct comments. Consolidate error paths.
14902
97b2f2ff 149032006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 14904
14905 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
14906 `instance_to_package_args' to `instance_to_path_args'.
14907
14908 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
14909 `grub_ieee1275_chosen'.
14910
14911 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
14912 `grub_ieee1275_interpret'.
14913
97b2f2ff 149142006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 14915
14916 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
14917
97b2f2ff 149182006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 14919
14920 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
14921 (__cmpdi): Likewise.
14922
14923 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
14924 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
14925 `grub_ssize_t'.
14926
02bb8acc 14927 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 14928
14929 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
14930 to type `grub_ssize_t'.
14931 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
14932
7f9a8531 149332006-09-22 Marco Gerards <marco@gnu.org>
14934
14935 * normal/script.c (grub_script_create_cmdmenu): Skip leading
14936 newlines.
14937
b5ef1102 149382006-09-22 Marco Gerards <marco@gnu.org>
14939
14940 * commands/echo.c: New file.
14941
14942 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
14943
14944 * conf/common.rmk (echo_mod_SOURCES): New variable.
14945 (echo_mod_CFLAGS): Likewise.
14946 (echo_mod_LDFLAGS): Likewise.
14947
2cff3677 149482006-09-22 Marco Gerards <marco@gnu.org>
14949
14950 * normal/main.c (get_line): Malloc memory instead of using
14951 preallocated memory. Removed the arguments `cmdline' and
14952 `max_len'. Updated all callers.
14953
6ba4688b 149542006-09-22 Marco Gerards <marco@gnu.org>
14955
14956 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
14957 (normal_mod_DEPENDENCIES): Likewise.
14958
14959 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
14960 (normal_mod_DEPENDENCIES): Likewise.
14961
14962 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
14963
e02ac02c 149642006-09-22 Johan Rydberg <jrydberg@gnu.org>
14965
14966 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
14967 programs.
14968 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
14969 (normal_mod_DEPENDENCIES): Likewise.
14970 * conf/i386-pc.mk: Regenerate.
14971 * conf/i386-efi.mk: Likewise
14972 * conf/common.mk: Likewise.
14973 * conf/powerpc-ieee1275.mk: Likewise.
14974 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 14975
8d252e44 149762006-09-22 Robert Millan <rmh@aybabtu.com>
14977
14978 Sync with i386 version.
14979 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
14980 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
14981
209bf7ac 149822006-09-21 Robert Millan <rmh@aybabtu.com>
14983
14984 Import from GRUB Legacy (lib/device.c):
14985 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
14986 (init_device_map) [__linux__]: Add support for I2O devices.
14987
6b146090 149882006-09-14 Marco Gerards <marco@gnu.org>
14989
14990 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
14991 `-melf_i386'.
14992
e38600a8 149932006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 14994
14995 * util/i386/pc/grub-install.in: Skip menu.lst when removing
14996 /boot/grub/*.lst.
78fa1790 14997
2952da5d 14998 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 14999
2952da5d 15000 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
15001 before adding it to device.map.
15002
01b82a64 150032006-08-15 Johan Rydberg <jrydberg@gnu.org>
15004
fe6b695a 15005 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 15006 compiles a file; using the -MD option.
15007 * conf/common.mk: Regenerate.
15008 * conf/i386-pc.mk: Likewise.
15009 * conf/i386-efi.mk: Likewise.
15010 * conf/powerpc-ieee1275.mk: Likewise.
15011 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 15012
1064790d 150132006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
15014
15015 Move the prototypes of grub_setjmp and grub_longjmp to
15016 cpu/setjmp.h, so that each architecture may specify different
15017 attributes.
f19dbdb7 15018
1064790d 15019 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
15020 (grub_longjmp): Likewise.
15021 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
15022 (grub_longjmp): Likewise.
15023 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
15024 (grub_longjmp): Likewise.
15025
15026 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
15027 [!GRUB_UTIL] (grub_longjmp): Removed.
15028
29dda3ed 150292006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
15030
15031 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
15032 "color!" method does not return any value.
15033
ad2a06ed 150342006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
15035
15036 * include/grub/bitmap.h: New file.
15037
15038 * include/grub/i386/pc/vbeutil.h: Likewise.
15039
15040 * video/bitmap.c: Likewise.
15041
15042 * video/readers/tga.c: Likewise.
15043
15044 * video/i386/pc/vbeutil.c: Likewise.
15045
15046 * commands/videotest.c: Code cleanup and updated to reflect to new
15047 video API.
15048
15049 * term/gfxterm.c: Likewise.
15050
15051 * video/video.c: Likewise.
15052
15053 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
15054 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
15055 (bitmap_mod_SOURCES): New entry.
15056 (bitmap_mod_CFLAGS): Likewise.
15057 (bitmap_mod_LDFLAGS): Likewise.
15058 (tga_mod_SOURCES): Likewise.
15059 (tga_mod_CFLAGS): Likewise.
15060 (tga_mod_LDFLAGS): Likewise.
15061
15062 * include/grub/video.h (grub_video_blit_operators): New enum type.
15063 (grub_video_render_target): Changed as forward declaration and moved
15064 actual definition to be video driver specific.
15065 (grub_video_adapter.blit_bitmap): Added blitting operator.
15066 (grub_video_adapter.blit_render_target): Likewise.
15067 (grub_video_blit_bitmap): Likewise.
15068 (grub_video_blit_render_target): Likewise.
15069
15070 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
15071 driver specific render target definition.
15072 (grub_video_vbe_map_rgba): Added driver internal helper.
15073 (grub_video_vbe_unmap_color): Updated to use
15074 grub_video_i386_vbeblit_info.
15075 (grub_video_vbe_get_video_ptr): Likewise.
15076
15077 * include/grub/i386/pc/vbeblit.h
15078 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
15079 grub_video_i386_vbeblit_info.
15080 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
15081 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
15082 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
15083 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
15084 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
15085 (grub_video_i386_vbeblit_index_index): Likewise.
15086 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
15087 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
15088 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
15089 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
15090 operator.
15091 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
15092 operator.
15093
15094 * video/i386/pc/vbeblit.c: Updated to reflect changes on
15095 include/grub/i386/pc/vbeblit.h.
15096
15097 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
15098 Updated to use grub_video_i386_vbeblit_info.
15099 (grub_video_i386_vbefill_R8G8B8): Likewise.
15100 (grub_video_i386_vbefill_index): Likewise.
15101 (grub_video_i386_vbefill): Added generic filler.
15102
15103 * video/i386/pc/vbefill.c: Updated to reflect changes on
15104 include/grub/i386/pc/vbefill.h.
15105
15106 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
15107 grub_video_i386_vbeblit_info.
15108 (grub_video_vbe_unmap_color): Likewise.
15109 (grub_video_vbe_blit_glyph): Likewise.
15110 (grub_video_vbe_scroll): Likewise.
15111 (grub_video_vbe_draw_pixel): Removed function.
15112 (grub_video_vbe_get_pixel): Likewise.
15113 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
15114 updated code to use it.
15115 (common_blitter): Added common blitter for render target and bitmap.
15116 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
15117 (grub_video_vbe_blit_render_target): Likewise.
15118
bc8c036d 151192006-07-30 Johan Rydberg <jrydberg@gnu.org>
15120
15121 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
15122 is in text mode if there is no console control protocol instance
15123 available.
15124
684a8eff 151252006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
15126
15127 * include/grub/video.h: Code cleanup.
15128
15129 * include/grub/i386/pc/vbe.h: Likewise.
15130
15131 * video/i386/pc/vbe.c: Likewise.
15132
15133 * video/i386/pc/vbeblit.c: Likewise.
15134
15135 * video/i386/pc/vbefill.c: Likewise.
15136
15137 * video/video.c: Likewise. Also added more comments.
15138
5915059b 151392006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
15140
15141 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
15142 (struct grub_biosdisk_dap): Likewise.
15143
15144 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
15145 linkage settings for all functions.
15146
90ce5d56 151472006-07-12 Marco Gerards <marco@gnu.org>
15148
15149 * configure.ac (--enable-mm-debug): Fix typo.
15150
15151 * genkernsyms.sh.in: Use proper quoting for `CC'.
15152
43e7f879 151532006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
15154
15155 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
15156 (normal_mod_ASFLAGS): Remove "-m32".
15157
4889bdec 151582006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
15159
15160 * util/misc.c: Include config.h.
15161 [!HAVE_MEMALIGN]: Do not include malloc.h.
15162 (grub_memalign): Use posix_memalign, if present. Then, use
15163 memalign, if present. Otherwise, emit an error.
15164
15165 * util/grub-emu.c: Do not include malloc.h.
15166
15167 * include/grub/util/misc.h: Include unistd.h. This is required for
15168 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
15169 D. Eades III <hde@foobar-qux.org>.
15170
15171 * configure.ac (AC_GNU_SOURCE): Added.
15172 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
15173 type.
15174
fd39d4da 151752006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
15176
15177 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
15178 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
15179
b786f3b5 151802006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
15181
15182 * include/grub/types.h (grub_host_addr_t): Rename to
15183 grub_target_addr_t.
15184 (grub_host_off_t): Rename to grub_target_off_t.
15185 (grub_host_size_t): Rename to grub_target_size_t.
15186 (grub_host_ssize_t): Rename to grub_target_ssize_t.
15187 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
15188
15189 * include/grub/kernel.h (struct grub_module_header): Change type
15190 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
15191 (grub_module_info): Likewise.
f19dbdb7 15192
051988bb 151932006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
15194
15195 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
15196 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
15197 Velazquez <jesus.velazquez@gmail.com>.
15198
deae281b 151992006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
15200
15201 Count partitions from 1 instead of 0 in the string representation
15202 of partitions. Still use 0-based internally.
f19dbdb7 15203
deae281b 15204 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
15205 (sun_partition_map_iterate): Use grub_partition_t instead of
15206 struct grub_partition *. Cast DESC->START_CYLINDER to
15207 grub_uint64_t after converting the endian.
15208 (sun_partition_map_probe): Subtract 1 for PARTNUM.
15209 (sun_partition_map_get_name): Add 1 to P->INDEX.
15210
15211 * partmap/pc.c (grub_partition_parse): Subtract 1 for
15212 PCDATA->DOS_PART.
15213 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
15214
15215 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
15216 zero instead of one.
15217 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
15218 (gpt_partition_map_get_name): Add 1 into P->INDEX.
15219
15220 * partmap/apple.c (apple_partition_map_iterate): Change the type
15221 of POS to unsigned.
15222 (apple_partition_map_probe): Subtract 1 for PARTNUM.
15223 (apple_partition_map_get_name): Add 1 into P->INDEX.
15224
15225 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
15226 of POS to unsigned.
15227 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
15228 calculate the offset of a partition.
15229 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
15230 (amiga_partition_map_get_name): Add 1 into P->INDEX.
15231
15232 * partmap/acorn.c (acorn_partition_map_find): Change the type of
15233 SECTOR to grub_disk_addr_t.
15234 (acorn_partition_map_iterate): Likewise.
15235 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
15236 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
15237 top.
15238 (acorn_partition_map_get_name): Add 1 into P->INDEX.
15239
15240 * kern/i386/pc/init.c (make_install_device): Add 1 into
15241 GRUB_INSTALL_DOS_PART.
15242
15243 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
15244 conditional.
15245
524a1e6a 152462006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
15247
15248 Clean up the code to support 64-bit addressing in disks and
15249 files. This change is not enough for filesystems yet.
f19dbdb7 15250
524a1e6a 15251 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
15252 type of "start" to grub_uint64_t.
15253 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
15254 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
15255 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
15256 convert addresses.
15257
15258 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
15259 to grub_disk_addr_t.
15260
15261 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
15262 string.
15263
15264 * partmap/pc.c (pc_partition_map_iterate): Likewise.
15265
15266 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
15267 to char *.
15268
15269 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
15270
15271 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
15272
15273 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
15274
15275 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
15276 to grub_off_t, to detect an error from grub_file_seek.
15277 (grub_multiboot_load_elf32): Likewise.
15278
15279 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
15280 maximum unsigned long value when an overflow is detected.
15281 (grub_strtoull): New function.
15282 (grub_divmod64): Likewise.
15283 (grub_lltoa): use grub_divmod64.
15284
15285 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
15286 grub_disk_addr_t.
15287 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
15288 the pointer to next character. Use grub_strtoull instead of
15289 grub_strtoul.
15290 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
15291 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
15292 respectively.
15293
fe6b695a 15294 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 15295 return value is signed.
15296 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
15297 test if OFFSET is less than zero, as OFFSET is unsigned now.
15298
15299 * kern/disk.c (struct grub_disk_cache): Change the type of
15300 "sector" to grub_disk_addr_t.
15301 (grub_disk_cache_get_index): Change the type of SECTOR to
15302 grub_disk_addr_t. Calculate the hash with SECTOR casted to
15303 unsigned after shifting.
15304 (grub_disk_cache_invalidate): Change the type of SECTOR to
15305 grub_disk_addr_t.
15306 (grub_disk_cache_unlock): Likewise.
15307 (grub_disk_cache_store): Likewise.
15308 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
15309 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
15310 grub_disk_addr_t and grub_uint64_t, respectively.
15311 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
15312 body, as the value of OFFSET is tweaked by
15313 grub_disk_check_range. Change the types of START_SECTOR, LEN and
15314 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
15315 respectively.
15316 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
15317 body, as the value of OFFSET is tweaked by
15318 grub_disk_check_range. Change the types of LEN and N to
15319 grub_size_t.
15320
15321 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
15322 and "saved_offset" to grub_off_t.
15323 (test_header): Cast BUF to char *.
15324 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
15325 to char *.
15326 (grub_gzio_read): Change the types of OFFSET and SIZE to
15327 grub_off_t and grub_size_t, respectively.
15328
15329 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
15330 Removed.
15331 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
15332 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
15333 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
15334 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
15335 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
15336
15337 * include/grub/types.h (grub_off_t): Unconditionally set to
15338 grub_uint64_t.
15339 (grub_disk_addr_t): Changed to grub_uint64_t.
15340
15341 * include/grub/partition.h (struct grub_partition): Change the
15342 types of "start", "len" and "offset" to grub_disk_addr_t,
15343 grub_uint64_t and grub_disk_addr_t, respectively.
15344 (grub_partition_get_start): Return grub_disk_addr_t.
15345 (grub_partition_get_len): Return grub_uint64_t.
15346
15347 * include/grub/misc.h (grub_strtoull): New prototype.
15348 (grub_divmod64): Likewise.
15349
15350 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
15351 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
15352 grub_off_t, respectively.
15353 All callers and references changed.
15354
15355 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
15356 grub_size_t in "read".
15357 All callers and references changed.
15358
15359 * include/grub/file.h (struct grub_file): Change the types of
15360 "offset" and "size" to grub_off_t and grub_off_t,
15361 respectively. Change the type of SECTOR to grub_disk_addr_t in
15362 "read_hook".
15363 (grub_file_read): Change the type of LEN to grub_size_t.
15364 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
15365 grub_off_t.
15366 (grub_file_size): Return grub_off_t.
15367 (grub_file_tell): Likewise.
15368 All callers and references changed.
15369
15370 * include/grub/disk.h (struct grub_disk_dev): Change the types of
15371 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
15372 "write".
15373 (struct grub_disk): Change the type of "total_sectors" to
15374 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 15375 "read_hook".
524a1e6a 15376 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
15377 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
15378 (grub_disk_write): Likewise.
15379 All callers and references changed.
15380
15381 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
15382 char * for grub_strncmp to silence gcc.
15383 (grub_iso9660_mount): Likewise.
15384 (grub_iso9660_mount): Likewise.
15385 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
15386 return statement.
15387 (grub_iso9660_iterate_dir): Likewise.
15388 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
15389
15390 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
15391 LEN to grub_disk_addr_t and grub_size_t, respectively.
15392
15393 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
15394
15395 * fs/jfs.c (grub_jfs_read_file): Likewise.
15396
15397 * fs/minix.c (grub_jfs_read_file): Likewise.
15398
15399 * fs/sfs.c (grub_jfs_read_file): Likewise.
15400
15401 * fs/ufs.c (grub_jfs_read_file): Likewise.
15402
15403 * fs/xfs.c (grub_jfs_read_file): Likewise.
15404
15405 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
15406 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
15407 respectively.
15408
15409 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
15410 BLKNR to -1 instead of returning GRUB_ERRNO.
15411 (grub_ext2_read_file): Change the types of SECTOR and
15412 LEN to grub_disk_addr_t and grub_size_t, respectively.
15413
15414 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
15415 LEN to grub_disk_addr_t and grub_size_t, respectively.
15416
15417 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
15418 grub_file_read.
15419
15420 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
15421 string. Do not cast SECTOR explicitly.
15422
15423 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
15424 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
15425 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
15426 grub_disk_addr_t and grub_size_t, respectively. If the sector is
15427 over 2TB and LBA mode is not supported, raise an error.
15428 (get_safe_sectors): New function.
15429 (grub_biosdisk_read): Use get_safe_sectors.
15430 (grub_biosdisk_write): Likewise.
15431
15432 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
15433 (grub_efidisk_write): Likewise.
15434
15435 * disk/loopback.c (delete_loopback): Cosmetic changes.
15436 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
15437 correctly.
15438 (grub_loopback_open): Likewise.
15439 (grub_loopback_read): Likewise. Also, change the type of POS to
15440 grub_off_t, and fix the usage of grub_memset.
15441
15442 * commands/i386/pc/play.c: Include grub/machine/time.h.
15443
15444 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
15445 print FILE->SIZE.
15446
15447 * commands/configfile.c: Include grub/env.h.
15448
15449 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
15450 GRUB_ERRNO directly instead. Change the type of POS to
15451 grub_off_t. Follow the coding standard.
15452
15453 * commands/blocklist.c: Include grub/partition.h.
15454 (grub_cmd_blocklist): Return an error if the underlying device is
15455 not a disk. Take the starting sector of a partition into account,
15456 if a partition is used.
15457
15458 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
15459 a length field.
15460 (lba_mode): Support 64-bit addresses.
15461 (chs_mode): Likewise.
15462 (copy_buffer): Adapted to the new offsets of a length field and a
15463 segment field.
15464 (blocklist_default_start): Allocate 64-bit space.
15465
15466 * boot/i386/pc/boot.S (force_lba): Removed.
15467 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 15468 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 15469 space.
15470 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
15471 is useless.
15472 (lba_mode): Refactored to support a 64-bit address. More size
15473 optimization.
15474 (setup_sectors): Likewise.
15475
53af98ad 154762006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
15477
15478 * DISTLIST: Added include/grub/i386/linux.h. Removed
15479 include/grub/i386/pc/linux.h
15480
15481 * configure.ac (AC_INIT): Bumped to 1.94.
15482
15483 * config.guess: Updated from gnulib.
15484 * config.sub: Likewise.
15485 * install-sh: Likewise.
15486 * mkinstalldirs: Likewise.
15487
b4c1940a 154882006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
15489
15490 * conf/common.rmk (grub_modules_init.lst): Depended on
15491 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
15492 MODSRCFILES.
15493
15494 * genmk.rb (PModule::rule): Reverted the previous change.
15495
cfca1cfd 154962006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
15497
15498 * conf/common.rmk (grub_modules_init.lst): Depends on
15499 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
15500 that the target does not exist before producing.
15501 (grub_modules_init.h): Remove the target before generating.
15502 (grub_emu_init.c): Likewise.
15503
15504 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
15505
aa6d7826 155062006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
15507
15508 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
15509 for the target-specific tests. Make sure that we also have the
15510 up-to-date target variables for those tests.
15511
26c607b9 155122006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
15513
15514 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
15515 (PModule::rule): Likewise.
15516
0162321a 155172006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
15518
15519 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
15520 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
15521 target-specific flags should be prefixed.
15522 (PModule::rule): Likewise.
15523
6c826348 155242006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
15525
15526 * configure.ac (CMP): Check if cmp is available explicitly.
15527
b977bf01 155282006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
15529
15530 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
15531 (target_cpu): New variable.
15532 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 15533
b977bf01 15534 * util/i386/pc/grub-install.in (host_cpu): Removed.
15535 (target_cpu): New variable.
15536 (pkglibdir): Use target_cpu instead of host_cpu.
15537
15538 * util/genmoddep.c: Removed.
f19dbdb7 15539
b977bf01 15540 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
15541 instead of GRUB_HOST_SIZEOF_VOID_P.
15542 * kern/dl.c: Likewise.
15543
15544 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
15545 ...
15546 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
15547 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
15548 (GRUB_TARGET_SIZEOF_LONG): ... this.
15549 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
15550 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
15551 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
15552 to ...
15553 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
15554 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
15555 (GRUB_TARGET_SIZEOF_LONG): ... this.
15556 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
15557 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
15558 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
15559 to ...
15560 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
15561 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
15562 (GRUB_TARGET_SIZEOF_LONG): ... this.
15563 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
15564 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
15565
15566 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
15567 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
15568 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
15569 instead of GRUB_HOST_SIZEOF_LONG.
15570 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
15571 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
15572 GRUB_CPU_WORDS_BIGENDIAN.
15573 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
15574 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
15575 grub_host_ssize_t.
15576
15577 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
15578 (genmoddep_SOURCES): Likewise.
15579 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
15580 (genmoddep_SOURCES): Likewise.
15581 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
15582 (genmoddep_SOURCES): Likewise.
15583 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
15584 Likewise.
15585 (genmoddep_SOURCES): Likewise.
15586
15587 * genmoddep.awk: New file.
15588
15589 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
15590 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
15591 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
15592 (PModule::rule): Likewise.
15593 (Program::rule): Likewise.
15594 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
15595 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
15596 respectively.
15597
15598 * configure.ac: Rewritten intensively to use host and target
15599 instead of build and host, respectively.
15600
15601 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
15602 (host_cpu): Removed.
15603 (target_cpu): New variable.
15604 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
15605 (BUILD_CC): Removed.
15606 (BUILD_CFLAGS): Likewise.
15607 (BUILD_CPPFLAGS): Likewise.
15608 (TARGET_CC): New variable.
15609 (TARGET_CFLAGS): Likewise.
15610 (TARGET_CPPFLAGS): Likewise.
15611 (TARGET_LDFLAGS): Likewise.
15612 (AWK): Likewise.
15613 (include): Use target_cpu instead of host_cpu.
15614 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 15615
b977bf01 15616 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
15617
f09771a1 156182006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
15619
15620 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
15621 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
15622 field 'false' to 'exec_on_false'.
15623 (grub_script_create_cmdif): Renamed argument names to reflect above
15624 changes.
15625
15626 * normal/execute.c (grub_script_execute_cmdif): Likewise.
15627
15628 * normal/script.c (grub_script_create_cmdif): Likewise.
15629
118f4fb3 156302006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
15631
15632 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
15633 top.
15634 (grub_hfsplus_btree_recptr): Likewise.
15635 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
15636 FILEBLOCK both to pass a block number and store next block
15637 number.
15638 (grub_hfsplus_read_block): Rewritten heavily to support an extent
15639 overflow file correctly. Specify errors appropriately, because
15640 fshelp expects that GRUB_ERRNO is set when fails. Reuse
15641 grub_hfsplus_btree_recptr to get the pointer to a found key.
15642 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
15643 is found.
15644
15645 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
15646 linux.mod.
15647 (_linux_mod_SOURCES): New variable.
15648 (_linux_mod_CFLAGS): Likewise.
15649 (_linux_mod_LDFLAGS): Likewise.
15650 (linux_mod_SOURCES): Likewise.
15651 (linux_mod_CFLAGS): Likewise.
15652 (linux_mod_LDFLAGS): Likewise.
15653
15654 * DISTLIST: Added loader/i386/efi/linux.c,
15655 loader/i386/efi/linux_normal.c and
15656 include/grub/i386/efi/loader.h.
15657
15658 * loader/i386/efi/linux.c: New file.
15659 * loader/i386/efi/linux_normal.c: Likewise.
15660 * include/grub/i386/efi/loader.h: Likewise.
15661
89a7d726 156622006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
15663
15664 * commands/blocklist.c: New file.
15665
15666 * DISTLIST: Added commands/blocklist.c.
15667
15668 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 15669 color for the background, and a darker color for the foreground.
89a7d726 15670 (grub_console_checkkey): Return READ_KEY.
15671 (grub_console_cls): Set the background to
15672 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
15673
15674 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
15675
15676 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
15677 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
15678
15679 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
15680 prototype.
15681
15682 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
15683 BG. The spec is wrong again.
15684
15685 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
15686 prototype.
15687 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
15688
15689 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
15690 commands/blocklist.c.
15691 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 15692
89a7d726 15693 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
15694 (blocklist_mod_SOURCES): New variable.
15695 (blocklist_mod_CFLAGS): Likewise.
15696 (blocklist_mod_LDFLAGS): Likewise.
15697
75c8f258 156982006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
15699
15700 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
15701 duplication.
15702 (lba_mode): Use %eax more intensively to reduce the code size.
15703
da2eb181 157042006-05-20 Marco Gerards <marco@gnu.org>
15705
15706 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
15707
15708 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
15709 for `menuentry'.
15710 (script): Accept leading newlines.
15711 (newlines): New rule to describe 0 or more newlines.
15712 (commands): Accept `command' with trailing newline. Fixed the
15713 order in which arguments were passed to `grub_script_add_cmd'.
15714 Accept commands separated by newlines.
15715 (function): Changed to accept newlines.
15716 (menuentry) Rewritten.
15717
15718 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
15719 front of the list, instead of to the end.
15720
577b4050 157212006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
15722
15723 * util/i386/pc/grub-install.in (bindir): New variable.
15724 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
15725 Shaver <lbgwjl@gmail.com>.
15726
0d6e1189 157272006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
15728
15729 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
15730 grub/machine/linux.h
15731 * loader/i386/pc/linux.c: Likewise.
15732
15733 * include/grub/i386/pc/linux.h: Moved to ...
15734 * include/grub/i386/linux.h: ... here.
15735
15736 * include/grub/i386/linux.h (struct linux_kernel_params): New
15737 struct.
f19dbdb7 15738
31b86e9f 157392006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
15740
15741 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
15742 checking.
15743 (grub_video_vbe_blit_glyph): Likewise.
15744 (grub_video_vbe_blit_bitmap): Likewise.
15745 (grub_video_vbe_blit_render_target): Likewise.
15746
83b984de 157472006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
15748
15749 * configure.ac (--with-platform): Properly quote the square
15750 brackets.
15751
5f0413bd 157522006-05-08 Marco Gerards <marco@gnu.org>
15753
15754 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
15755 this...
15756 (kernel_elf_HEADERS): ...to this. Updated all users.
15757 (grubof_symlist.c): Renamed from this...
15758 (kernel_elf_symlist.c): ...to this. Updated all users.
15759 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
15760 (grubof_SOURCES): Renamed from this...
15761 (kernel_elf_SOURCES): ...to this.
15762 (grubof_HEADERS): Renamed from this...
15763 (kernel_elf_HEADERS): ...to this.
15764 (grubof_CFLAGS): Renamed from this...
15765 (kernel_elf_CFLAGS): ...to this.
15766 (grubof_ASFLAGS): Renamed from this...
15767 (kernel_elf_ASFLAGS): ...to this.
15768 (grubof_LDFLAGS): Renamed from this...
15769 (kernel_elf_LDFLAGS): ...to this.
15770
15771 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
15772 this...
15773 (kernel_elf_HEADERS): ...to this. Updated all users.
15774 (grubof_symlist.c): Renamed from this...
15775 (kernel_elf_symlist.c): ...to this. Updated all users.
15776 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
15777 (grubof_SOURCES): Renamed from this...
15778 (kernel_elf_SOURCES): ...to this.
15779 (grubof_HEADERS): Renamed from this...
15780 (kernel_elf_HEADERS): ...to this.
15781 (grubof_CFLAGS): Renamed from this...
15782 (kernel_elf_CFLAGS): ...to this.
15783 (grubof_ASFLAGS): Renamed from this...
15784 (kernel_elf_ASFLAGS): ...to this.
15785 (grubof_LDFLAGS): Renamed from this...
15786 (kernel_elf_LDFLAGS): ...to this.
15787
15788 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
15789 `kernel.elf' instead of `grubof'.
15790
05568c2e 157912006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
15792
15793 Add --with-platform to configure. Use pkglibdir instead of
15794 pkgdatadir. This is reported by Roger Leigh.
15795
15796 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
15797 (host_vendor): Likewise.
15798 (host_os): Likewise.
15799 (pkgdatadir): Likewise.
15800 (platform): New variable.
15801 (pkglibdir): Likewise.
15802 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 15803
05568c2e 15804 * util/i386/pc/grub-install.in (datadir): Removed.
15805 (host_vendor): Likewise.
15806 (host_os): Likewise.
15807 (pkgdatadir): Likewise.
15808 (platform): New variable.
15809 (pkglibdir): Likewise.
15810 Use PKGLIBDIR instead of PKGDATADIR.
15811
15812 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
15813 instead of GRUB_DATADIR.
15814 (main): Likewise.
15815 * util/i386/pc/grub-mkimage.c (usage): Likewise.
15816 (main): Likewise.
15817 * util/i386/efi/grub-mkimage.c (usage): Likewise.
15818 (main): Likewise.
15819
15820 * configure.ac (--with-platform): New option.
15821 Use PLATFORM instead of HOST_VENDOR to specify a platform.
15822
15823 * Makefile.in: Include a makefile based on PLATFORM instead of
15824 HOST_VENDOR.
15825 (pkgdatadir): Not appended by the machine type.
15826 (pkglibdir): Appended by the machine type.
15827 (host_vendor): Removed.
15828 (platform): New variable.
15829 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
15830 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
15831 (uninstall): Likewise.
15832
4e93851c 158332006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
15834
15835 Use the environment context in the menu. Remove the commands
15836 "default" and "timeout", and use variables instead.
f19dbdb7 15837
4e93851c 15838 * normal/menu.c: Include grub/env.h.
15839 (print_entry): Cast TITLE to silence gcc.
15840 (get_timeout): New function.
15841 (set_timeout): Likewise.
15842 (get_entry_number): Likewise.
15843 (run_menu): Use a default entry, a fallback entry and a timeout
15844 in the environment variables "default", "fallback" and
15845 "timeout". Also, tweak the default entry if it is not within the
15846 current menu entries.
15847 (grub_menu_run): Use a fallback entry in the environment variable
15848 "fallback".
15849
15850 * normal/main.c (read_config_file): Do not initialize
15851 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
15852 NEWMENU->TIMEOUT.
15853 (grub_normal_execute): Use a data slot to store the menu.
15854
15855 * include/grub/normal.h (struct grub_menu): Removed default_entry,
15856 fallback_entry and timeout.
15857 (struct grub_menu_list): Removed.
15858 (grub_menu_list_t): Likewise.
15859 (struct grub_context): Likewise.
15860 (grub_context_t): Likewise.
15861 (grub_context_get): Likewise.
15862 (grub_context_get_current_menu): Likewise.
15863 (grub_context_push_menu): Likewise.
15864 (grub_context_pop_menu): Likewise.
15865 (grub_default_init): Likewise.
15866 (grub_default_fini): Likewise.
15867 (grub_timeout_init): Likewise.
15868 (grub_timeout_fini): Likewise.
15869
15870 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
15871 and timeout.mod.
15872 (normal_mod_SOURCES): Removed normal/context.c.
15873
15874 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
15875 commands/default.c, commands/timeout.c and normal/context.c.
15876 (normal_mod_SOURCES): Removed normal/context.c.
15877
15878 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
15879 commands/timeout.c and normal/context.c.
15880 (normal_mod_SOURCES): Removed normal/context.c.
15881
15882 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
15883 commands/default.c, commands/timeout.c and normal/context.c.
15884 (normal_mod_SOURCES): Removed normal/context.c.
15885
15886 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
15887 timeout.mod.
15888 (default_mod_SOURCES): Removed.
15889 (default_mod_CFLAGS): Likewise.
15890 (default_mod_LDFLAGS): Likewise.
15891 (timeout_mod_SOURCES): Removed.
15892 (timeout_mod_CFLAGS): Likewise.
15893 (timeout_mod_LDFLAGS): Likewise.
15894
15895 * DISTLIST: Removed commands/default.c, commands/timeout.c and
15896 normal/context.c.
15897
15898 * commands/default.c: Removed.
15899 * commands/timeout.c: Likewise.
15900 * normal/context.c: Likewise.
15901
1eb9cc1d 159022006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
15903
15904 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
15905
385bd9c1 159062006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
15907
15908 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
15909 "next" to "prev" for readability.
15910 (struct grub_env_sorted_var): New struct.
15911 (grub_env_context): Renamed to ...
15912 (initial_context): ... this.
15913 (grub_env_var_context): Renamed to ...
15914 (current_context): ... this.
15915 (grub_env_find): Look only at CURRENT_CONTEXT.
15916 (grub_env_context_open): Rewritten to copy exported variables from
15917 previous context.
15918 (grub_env_context_close): Rewritten according to the new
15919 scheme. Also, add an assertion to prevent the initial context from
15920 removed.
15921 (grub_env_insert): Removed the code for the sorted list.
15922 (grub_env_remove): Likewise.
15923 (grub_env_export): Simply mark the variable with
15924 GRUB_ENV_VAR_GLOBAL.
15925 (grub_env_set): A cosmetic change for naming consistency.
15926 (grub_env_get): Likewise.
15927 (grub_env_unset): Likewise.
15928 (grub_env_iterate): Rewritten to sort variables within this
15929 function.
15930 (grub_register_variable_hook): Fixed for naming consistency. Call
15931 grub_env_find again, only if NAME is not found at the first time.
15932 (mangle_data_slot_name): New function.
15933 (grub_env_set_data_slot): Likewise.
15934 (grub_env_get_data_slot): Likewise.
15935 (grub_env_unset_data_slot): Likewise.
15936
15937 * include/grub/env.h (grub_env_var_type): New enum.
15938 (GRUB_ENV_VAR_LOCAL): New constant.
15939 (GRUB_ENV_VAR_GLOBAL): Likewise.
15940 (GRUB_ENV_VAR_DATA): Likewise.
15941 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
15942 "type".
15943 (grub_env_set): Replace VAR with NAME for consistency.
15944 (grub_register_variable_hook): Likewise.
15945 (grub_env_export): Specify the name of the argument.
15946 (grub_env_set_data_slot): New prototype.
15947 (grub_env_get_data_slot): Likewise.
15948 (grub_env_unset_data_slot): Likewise.
15949
7f362539 159502006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
15951
15952 Extend the loader so that GRUB can accept a loader which comes
15953 back to GRUB when a loaded image exits. Also, this change adds
15954 support for a chainloader on EFI.
f19dbdb7 15955
7f362539 15956 * term/efi/console.c: Include grub/misc.h.
15957 (grub_console_checkkey): Display a scan code on the top for
15958 debugging. This will be removed once the EFI port gets stable.
15959 Correct the scan code mapping.
15960
15961 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
15962 allocate memory from larger regions, in order to reduce the number
15963 of allocated regions. Otherwise, the MacOSX loader panics.
15964 (filter_memory_map): Avoid less than 1MB for compatibility with
15965 other loaders.
15966 (add_memory_regions): Allocate from the tail of a region, if
15967 possible, to avoid allocating a region near to 1MB, for the MacOSX
15968 loader.
15969
15970 * kern/efi/init.c (grub_efi_set_prefix): Specify
15971 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
15972
15973 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
15974 argument IMAGE_HANDLE and specify it to get a loaded image.
15975 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
15976 grub_efi_get_loaded_image.
fe6b695a 15977 (grub_efi_get_filename): Divide the length by the size of
7f362539 15978 grub_efi_char16_t.
15979 (grub_efi_get_device_path): New function.
15980 (grub_efi_print_device_path): Print End Device Path nodes. Divide
15981 the length by the size of grub_efi_char16_t for a file path device
15982 path node.
15983
15984 * kern/loader.c (grub_loader_noreturn): New variable.
15985 (grub_loader_set): Accept a new argument NORETURN. Set
15986 GRUB_LOADER_NORETURN to NORETURN.
15987 All callers changed.
15988 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
15989 grub_machine_fini.
15990
15991 * include/grub/efi/efi.h (grub_efi_get_device_path): New
15992 prototype.
15993 (grub_efi_get_loaded_image): Take an argument to specify an image
15994 handle.
15995
15996 * include/grub/loader.h (grub_loader_set): Added one more argument
15997 NORETURN.
15998
15999 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
16000 instead of grub_efi_open_protocol.
16001 (grub_efidisk_get_device_name): Likewise.
16002 (grub_efidisk_close): Print a newline.
16003 (grub_efidisk_get_device_handle): Fixed to use
16004 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
16005 GRUB_EFI_DEVICE_PATH_TYPE.
16006
16007 * disk/efi/efidisk.c (device_path_guid): Moved to ...
16008 * kern/efi/efi.c (device_path_guid): ... here.
16009
16010 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
16011 chain.mod.
16012 (kernel_mod_HEADERS): Added efi/disk.h.
16013 (_chain_mod_SOURCES): New variable.
16014 (_chain_mod_CFLAGS): Likewise.
16015 (_chain_mod_LDFLAGS): Likewise.
16016 (chain_mod_SOURCES): Likewise.
16017 (chain_mod_CFLAGS): Likewise.
16018 (chain_mod_LDFLAGS): Likewise.
16019
16020 * DISTLIST: Added include/grub/efi/chainloader.h,
16021 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
16022
16023 * include/grub/efi/chainloader.h: New file.
16024 * loader/efi/chainloader.c: Likewise.
16025 * loader/efi/chainloader_normal.c: Likewise.
16026
c0111d6e 160272006-04-30 Marco Gerards <marco@gnu.org>
16028
16029 * commands/configfile.c (grub_cmd_source): New function.
16030 (GRUB_MOD_INIT): Register the commands `source' and `.'.
16031 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
16032
df5341da 160332006-04-30 Marco Gerards <marco@gnu.org>
16034
16035 * normal/execute.c (grub_script_execute_cmd): Change the return
16036 type to `grub_err_t'. Correctly return the error.
16037 (grub_script_execute_cmdline): In case a command line is not a
16038 command or a function, try to interpret it as an assignment.
16039
f85934bd 160402006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
16041
16042 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
16043 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
16044 skip a node whose name is obviously invalid as UTF-16,
16045 i.e. contains a NUL character. Stop the iteration when the last
16046 directory entry is found. Instead of using the return value of
16047 grub_hfsplus_btree_iterate_node, store the value in RET and use
16048 it, because the iterator can be stopped by the last directory
16049 entry.
16050
8f8a2cf8 160512006-04-30 Marco Gerards <marco@gnu.org>
16052
16053 * include/grub/env.h (grub_env_export): New prototype. Reported
16054 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
16055
a27e84ce 160562006-04-30 Marco Gerards <marco@gnu.org>
16057
16058 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
16059 size of the extents in a catalog file record.
16060
eaef0553 160612006-04-29 Marco Gerards <marco@gnu.org>
16062
16063 * commands/configfile.c (grub_cmd_configfile): Execute the
16064 configfile within its own context.
16065
16066 * include/grub/env.h (grub_env_context_open): New prototype.
16067 (grub_env_context_close): Likewise.
16068
16069 * kern/env.c (grub_env): Removed.
16070 (grub_env_sorted): Likewise.
16071 (grub_env_context): New variable.
16072 (grub_env_var_context): Likewise.
16073 (grub_env_find): Search both the active context and the global
16074 context.
16075 (grub_env_context_open): New function.
16076 (grub_env_context_close): Likewise.
16077 (grub_env_insert): Likewise.
16078 (grub_env_remove): Likewise.
16079 (grub_env_export): Likewise.
16080 (grub_env_set): Changed to use helper functions to avoid code
16081 duplication.
16082 (grub_env_iterate): Rewritten so both the current context and the
16083 global context are being used.
16084
16085 * normal/command.c (export_command): New function.
16086 (grub_command_init): Register the `export' function.
16087
7b455f4d 160882006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
16089
16090 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
16091 explicitly to suppress gcc's warnings.
16092 * fs/fat.c (grub_fat_find_dir): Likewise.
16093 (grub_fat_label): Likewise.
16094 * fs/xfs.c (grub_xfs_read_inode): Likewise.
16095 (grub_xfs_mount): Likewise.
16096 (grub_xfs_label): Likewise.
16097 * fs/affs.c (grub_affs_mount): Likewise.
16098 (grub_affs_label): Likewise.
16099 (grub_affs_iterate_dir): Likewise.
16100 * fs/sfs.c (grub_sfs_mount): Likewise.
16101 (grub_sfs_iterate_dir): Likewise.
16102 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
16103 * fs/hfs.c (grub_hfs_mount): Likewise.
16104 (grub_hfs_cmp_catkeys): Likewise.
16105 (grub_hfs_find_dir): Likewise.
16106 (grub_hfs_dir): Likewise.
16107 (grub_hfs_label): Likewise.
16108 * fs/jfs.c (grub_jfs_mount): Likewise.
16109 (grub_jfs_opendir): Likewise.
16110 (grub_jfs_getent): Likewise.
16111 (grub_jfs_lookup_symlink): Likewise.
16112 (grub_jfs_label): Likewise.
16113 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
16114 (grub_hfsplus_iterate_dir): Likewise.
16115 (grub_hfsplus_btree_iterate_node): Made static.
16116
16117 * util/grub-emu.c (prefix): New variable.
16118 (grub_machine_set_prefix): New function.
16119 (main): Do not set the environment variable "prefix" here. Only
16120 set PREFIX, which is used later by grub_machine_set_prefix.
16121
16122 * include/grub/video.h: Do not include grub/symbol.h.
16123 (grub_video_register): Not exported. This symbol is not defined in
16124 the kernel.
16125 (grub_video_unregister): Likewise.
16126 (grub_video_iterate): Likewise.
16127 (grub_video_setup): Likewise.
16128 (grub_video_restore): Likewise.
16129 (grub_video_get_info): Likewise.
16130 (grub_video_get_blit_format): Likewise.
16131 (grub_video_set_palette): Likewise.
16132 (grub_video_get_palette): Likewise.
16133 (grub_video_set_viewport): Likewise.
16134 (grub_video_get_viewport): Likewise.
16135 (grub_video_map_color): Likewise.
16136 (grub_video_map_rgb): Likewise.
16137 (grub_video_map_rgba): Likewise.
16138 (grub_video_fill_rect): Likewise.
16139 (grub_video_blit_glyph): Likewise.
16140 (grub_video_blit_bitmap): Likewise.
16141 (grub_video_blit_render_target): Likewise.
16142 (grub_video_scroll): Likewise.
16143 (grub_video_swap_buffers): Likewise.
16144 (grub_video_create_render_target): Likewise.
16145 (grub_video_delete_render_target): Likewise.
16146 (grub_video_set_active_render_target): Likewise.
16147
16148 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
16149 Undefined.
16150 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
16151
16152 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
16153 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
16154 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
16155 instead of $(srcdir)/genkernsyms.sh.
16156
16157 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
16158 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
16159 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
16160 instead of $(srcdir)/genkernsyms.sh.
16161
16162 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
16163 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
16164 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
16165 instead of $(srcdir)/genkernsyms.sh.
16166
16167 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
16168 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
16169 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
16170 instead of $(srcdir)/genkernsyms.sh.
16171
16172 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
16173 genkernsyms.sh.
16174
16175 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
16176 genkernsyms.sh.
16177 (gensymlist.sh): New target.
16178 (genkernsyms.sh): Likewise.
16179
16180 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
16181 genkernsyms.sh.in and gensymlist.sh.in.
16182
16183 * genkernsyms.sh: Removed.
16184 * gensymlist.sh: Likewise.
f19dbdb7 16185
7b455f4d 16186 * genkernsyms.sh.in: New file.
16187 * gensymlist.sh.in: Likewise.
16188
1885bb27 161892006-04-25 Hollis Blanchard <hollis@penguinppc.org>
16190
16191 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
16192 clobber "prefix", since we may have already set it manually.
16193
71538dff 161942006-04-25 Hollis Blanchard <hollis@penguinppc.org>
16195
16196 * kern/misc.c (abort): New alias for grub_abort.
16197
2965c7cc 161982006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
16199
16200 A new machine-specific function "grub_machine_set_prefix" is
16201 defined. This is called after loading modules, so that a prefix
16202 initialization can use modules. Also, this change adds an
16203 intensive debugging feature for the memory manager via the
16204 configure option "--enable-mm-debug".
f19dbdb7 16205
2965c7cc 16206 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
16207 PART.LEN.
16208
16209 * kern/sparc64/ieee1275/init.c (abort): Removed.
16210 (grub_stop): Likewise.
16211 (grub_exit): New function.
16212 (grub_set_prefix): Renamed to ...
16213 (grub_machine_set_prefix): ... this.
16214 (grub_machine_init): Do not call grub_set_prefix.
16215
16216 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
16217 (grub_machine_set_prefix): ... this.
16218 (grub_machine_init): Do not call grub_set_prefix.
16219
16220 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
16221 (grub_machine_init): Do not set the prefix here.
16222
16223 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
16224
16225 * kern/efi/init.c: Include grub/mm.h.
16226 (grub_efi_set_prefix): New function.
16227
16228 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
16229 (grub_efi_get_filename): New function.
16230 (grub_print_device_path): Renamed to ...
16231 (grub_efi_print_device_path): ... this.
16232
16233 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
16234 [MM_DEBUG] (grub_realloc): Likewise.
16235 [MM_DEBUG] (grub_free): Likewise.
16236 [MM_DEBUG] (grub_memalign): Likewise.
16237 [MM_DEBUG] (grub_mm_debug): New variable.
16238 [MM_DEBUG] (grub_debug_malloc): New function.
16239 [MM_DEBUG] (grub_debug_free): New function.
16240 [MM_DEBUG] (grub_debug_realloc): New function.
16241 [MM_DEBUG] (grub_debug_memalign): New function.
16242
16243 * kern/misc.c (grub_abort): Print a newline to distinguish
16244 the message.
16245
16246 * kern/main.c (grub_main): Call grub_machine_set_prefix and
16247 grub_set_root_dev after loading modules. This is necessary when
16248 setting a prefix depends on modules.
16249
16250 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
16251 (grub_efi_print_device_path): ... this.
16252 (grub_efi_get_filename): New prototype.
16253 (grub_efi_set_prefix): Likewise.
16254
16255 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
16256 and grub/disk.h.
16257 (grub_efidisk_get_device_handle): New prototype.
16258 (grub_efidisk_get_device_name): Likewise.
16259
16260 * include/grub/mm.h: Include config.h.
16261 (MM_DEBUG): Removed.
16262 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
16263 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
16264 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
16265 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
16266 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
16267 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
16268 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
16269 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
16270 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
16271
16272 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
16273
16274 * disk/efi/efidisk.c: Include grub/partition.h.
16275 (iterate_child_devices): New function.
16276 (add_device): First, compare only last device path nodes, so that
16277 devices are sorted by the types.
16278 (grub_efidisk_get_device_handle): New function.
16279 (grub_efidisk_get_device_name): Likewise.
16280
16281 * configure.ac (--enable-mm-debug): New option to enable the
16282 memory manager debugging feature. This makes the binary much
16283 bigger, so is disabled by default.
16284
9cacaa17 162852006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
16286
16287 Use grub_abort instead of grub_stop, and grub_exit must be
16288 define in each architecture now. Also, this change adds support
16289 for EFI disks.
f19dbdb7 16290
9cacaa17 16291 * util/i386/pc/grub-probefs.c: Include grub/term.h.
16292 (grub_getkey): New function.
16293 (grub_term_get_current): Likewise.
16294
16295 * util/i386/pc/grub-setup.c: Include grub/term.h.
16296 (grub_getkey): New function.
16297 (grub_term_get_current): Likewise.
16298
16299 * util/misc.c (grub_stop): Renamed to ...
16300 (grub_exit): ... this.
16301
16302 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
16303 (grub_exit): ... this.
16304 (grub_machine_init): Use grub_abort instead of abort.
16305 (grub_stop): Removed.
16306
16307 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
16308 abort.
16309
16310 * kern/i386/pc/startup.S (grub_exit): New function.
16311 (cold_reboot): New label.
16312
16313 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
16314 (grub_efi_init): Call grub_efidisk_init.
16315 (grub_efi_fini): Call grub_efidisk_fini.
16316
16317 * kern/efi/efi.c: Include grub/mm.h.
16318 (grub_efi_console_control_guid): Renamed to ...
16319 (console_control_guid): ... this.
16320 (grub_efi_loaded_image_guid): Renamed to ...
16321 (loaded_image_guid): ... this.
16322 (grub_efi_locate_handle): New function.
16323 (grub_efi_open_protocol): Likewise.
16324 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
16325 GRUB_EFI_CONSOLE_CONTROL_GUID.
16326 (grub_efi_exit): Removed.
16327 (grub_stop): Likewise.
16328 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
16329 (grub_exit): New function.
16330 (grub_print_device_path): Likewise.
16331
16332 * kern/rescue.c (grub_rescue_cmd_exit): New function.
16333 (grub_enter_rescue_mode): Register "exit".
16334
16335 * kern/misc.c (grub_real_dprintf): A cosmetic change.
16336 (grub_abort): New function.
16337
16338 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
16339
16340 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
16341
16342 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
16343
16344 * include/grub/efi/efi.h (grub_efi_exit): Removed.
16345 (grub_print_device_path): New prototype.
16346 (grub_efi_locate_handle): Likewise.
16347 (grub_efi_open_protocol): Likewise.
16348
16349 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
16350 * disk/efi/efidisk.c: Likewise.
16351
16352 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
16353
16354 * include/grub/efi/console_control.h
16355 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
16356
16357 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
16358 last 8 bytes as an array.
16359 (GRUB_EFI_DISK_IO_GUID): New macro.
16360 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
16361 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
16362 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
16363 grub_uint8_t.
16364 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
16365 (struct grub_efi_device_path): Rename the member "sub_type" to
16366 "subtype".
16367 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
16368 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
16369 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
16370 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
16371 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
16372 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
16373 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
16374 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
16375 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
16376 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
16377 (struct grub_efi_pci_device_path): New structure.
16378 (grub_efi_pci_device_path_t): New type.
16379 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
16380 (struct grub_efi_pccard_device_path): New structure.
16381 (grub_efi_pccard_device_path_t): New type.
16382 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
16383 (struct grub_efi_memory_mapped_device_path): New structure.
16384 (grub_efi_memory_mapped_device_path_t): New type.
16385 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
16386 (struct grub_efi_vendor_device_path): New structure.
16387 (grub_efi_vendor_device_path_t): New type.
16388 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
16389 (struct grub_efi_controller_device_path): New structure.
16390 (grub_efi_controller_device_path_t): New type.
16391 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
16392 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
16393 (struct grub_efi_acpi_device_path): New structure.
16394 (grub_efi_acpi_device_path_t): New type.
16395 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
16396 (struct grub_efi_expanded_acpi_device_path): New structure.
16397 (grub_efi_expanded_acpi_device_path_t): New type.
16398 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
16399 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
16400 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
16401 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
16402 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
16403 (struct grub_efi_atapi_device_path): New structure.
16404 (grub_efi_atapi_device_path_t): New type.
16405 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
16406 (struct grub_efi_fibre_channel_device_path): New structure.
16407 (grub_efi_fibre_channel_device_path_t): New type.
16408 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
16409 (struct grub_efi_1394_device_path): New structure.
16410 (grub_efi_1394_device_path_t): New type.
16411 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
16412 (struct grub_efi_usb_device_path): New structure.
16413 (grub_efi_usb_device_path_t): New type.
16414 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
16415 (struct grub_efi_usb_class_device_path): New structure.
16416 (grub_efi_usb_class_device_path_t): New type.
16417 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
16418 (struct grub_efi_i2o_device_path): New structure.
16419 (grub_efi_i2o_device_path_t): New type.
16420 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
16421 (struct grub_efi_mac_address_device_path): New structure.
16422 (grub_efi_mac_address_device_path_t): New type.
16423 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
16424 (struct grub_efi_ipv4_device_path): New structure.
16425 (grub_efi_ipv4_device_path_t): New type.
16426 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
16427 (struct grub_efi_ipv6_device_path): New structure.
16428 (grub_efi_ipv6_device_path_t): New type.
16429 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
16430 (struct grub_efi_infiniband_device_path): New structure.
16431 (grub_efi_infiniband_device_path_t): New type.
16432 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
16433 (struct grub_efi_uart_device_path): New structure.
16434 (grub_efi_uart_device_path_t): New type.
16435 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
16436 (struct grub_efi_vendor_messaging_device_path): New structure.
16437 (grub_efi_vendor_messaging_device_path_t): New type.
16438 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
16439 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
16440 (struct grub_efi_hard_drive_device_path): New structure.
16441 (grub_efi_hard_drive_device_path_t): New type.
16442 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
16443 (struct grub_efi_cdrom_device_path): New structure.
16444 (grub_efi_cdrom_device_path_t): New type.
16445 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
16446 (struct grub_efi_vendor_media_device_path): New structure.
16447 (grub_efi_vendor_media_device_path_t): New type.
16448 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
16449 (struct grub_efi_file_path_device_path): New structure.
16450 (grub_efi_file_path_device_path_t): New type.
16451 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
16452 (struct grub_efi_protocol_device_path): New structure.
16453 (grub_efi_protocol_device_path_t): New type.
16454 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
16455 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
16456 (struct grub_efi_bios_device_path): New structure.
16457 (grub_efi_bios_device_path_t): New type.
16458 (struct grub_efi_disk_io): New structure.
16459 (grub_efi_disk_io_t): New type.
16460 (struct grub_efi_block_io_media): New structure.
16461 (grub_efi_block_io_media_t): New type.
16462 (struct grub_efi_block_io): New structure.
16463 (grub_efi_block_io_t): New type.
16464
16465 * include/grub/misc.h (grub_stop): Removed.
16466 (grub_exit): New prototype.
16467 (grub_abort): Likewise.
16468
16469 * include/grub/disk.h (enum grub_disk_dev_id): Added
16470 GRUB_DISK_DEVICE_EFIDISK_ID.
16471
16472 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
16473 disk/efi/efidisk.c.
16474 (kernel_syms.lst): Remove the target if an error occurs.
16475
49986a9f 164762006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
16477
16478 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
16479 as it was simply too buggy.
16480
970d3b8a 164812006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
16482
16483 * kern/misc.c (grub_lltoa): New function.
16484 (grub_vsprintf): Added support for the long long suffix,
16485 i.e. "ll".
16486
ff04ec24 164872006-04-20 Hollis Blanchard <hollis@penguinppc.org>
16488
16489 * Makefile.in (LDFLAGS): Add variable.
16490 (LD): Remove variable.
16491 * configure.ac: Add -m32 to LDFLAGS.
16492 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
16493 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
16494 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
16495 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
16496 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
16497 variables.
16498 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
16499 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
16500 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
16501
37e5e1a4 165022006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
16503
16504 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
16505 length for unknown glyph.
16506
c352d8dd 165072006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
16508
2eab1c0d 16509 Add support for pre-loaded modules into the EFI port.
f19dbdb7 16510
2eab1c0d 16511 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
16512 completely. Accept one more argument DIR. The caller has changed.
16513
16514 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
16515
16516 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
16517 (grub_efi_loaded_image_guid): New variable.
16518 (grub_efi_get_loaded_image): New function.
16519 (grub_arch_modules_addr): Likewise.
16520
16521 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
16522 prototype.
16523
16524 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
16525 (struct grub_efi_loaded_image): New structure.
16526 (grub_efi_loaded_image_t): New type.
16527
165282006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 16529
c352d8dd 16530 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
16531 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
16532 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
16533
6d01d6b4 165342006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
16535
16536 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
16537
976a4ea0 165382006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
16539
16540 * DISTLIST: Added include/grub/efi/console.h,
16541 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
16542 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
16543
16544 * include/grub/efi/console.h: New file.
16545 * include/grub/efi/time.h: Likewise.
16546 * include/grub/i386/efi/kernel.h: Likewise.
16547 * kern/efi/init.c: Likewise.
16548 * kern/efi/mm.c: Likewise.
16549 * term/efi/console.c: Likewise.
f19dbdb7 16550
976a4ea0 16551 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
16552 (grub_stop): Removed.
16553 (grub_get_rtc): Likewise.
16554 (grub_machine_init): Simply call grub_efi_init.
16555 (grub_machine_fini): Call grub_efi_fini.
16556
16557 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
16558 (grub_efi_output_string): Removed.
16559 (grub_efi_stall): New function.
16560 (grub_stop): Likewise.
16561 (grub_get_rtc): Likewise.
16562
16563 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
16564 (grub_efi_stall): New prototype.
16565 (grub_efi_allocate_pages): Likewise.
16566 (grub_efi_free_pages): Likewise.
16567 (grub_efi_get_memory_map): Likewise.
16568 (grub_efi_mm_init): Likewise.
16569 (grub_efi_mm_fini): Likewise.
16570 (grub_efi_init): Likewise.
16571 (grub_efi_fini): Likewise.
16572
16573 * include/grub/i386/efi/time.h: Do not include
16574 grub/symbol.h. Include grub/efi/time.h.
16575 (GRUB_TICKS_PER_SECOND): Removed.
16576 (grub_get_rtc): Likewise.
16577
16578 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
16579 Added padding. The EFI spec is buggy.
16580 (GRUB_EFI_BLACK): New macro.
16581 (GRUB_EFI_BLUE): Likewise.
16582 (GRUB_EFI_GREEN): Likewise.
16583 (GRUB_EFI_CYAN): Likewise.
16584 (GRUB_EFI_RED): Likewise.
16585 (GRUB_EFI_MAGENTA): Likewise.
16586 (GRUB_EFI_BROWN): Likewise.
16587 (GRUB_EFI_LIGHTGRAY): Likewise.
16588 (GRUB_EFI_BRIGHT): Likewise.
16589 (GRUB_EFI_DARKGRAY): Likewise.
16590 (GRUB_EFI_LIGHTBLUE): Likewise.
16591 (GRUB_EFI_LIGHTGREEN): Likewise.
16592 (GRUB_EFI_LIGHTCYAN): Likewise.
16593 (GRUB_EFI_LIGHTRED): Likewise.
16594 (GRUB_EFI_LIGHTMAGENTA): Likewise.
16595 (GRUB_EFI_YELLOW): Likewise.
16596 (GRUB_EFI_WHITE): Likewise.
16597 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
16598 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
16599 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
16600 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
16601 (GRUB_EFI_BACKGROUND_RED): Likewise.
16602 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
16603 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
16604 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
16605 (GRUB_EFI_TEXT_ATTR): Likewise.
16606
16607 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
16608 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
16609 (kernel_mod_HEADERS): Added efi/time.h.
16610
83709125 166112006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
16612
16613 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
16614 include/grub/efi/api.h, include/grub/efi/console_control.h,
16615 include/grub/efi/efi.h, include/grub/efi/pe32.h,
16616 include/grub/i386/efi/time.h, kern/efi/efi.c,
16617 kern/i386/efi/init.c, kern/i386/efi/startup.S,
16618 and util/i386/efi/grub-mkimage.c.
16619
16620 * Makefile.in (RMKFILES): Added i386-efi.rmk.
16621
16622 * genmk.rb (PModule#rule): Do not export symbols if
16623 #{prefix}_EXPORTS is set to "no".
16624
16625 * conf/i386-efi.mk: New file.
16626 * conf/i386-efi.rmk: Likewise.
16627 * include/grub/efi/api.h: Likewise.
16628 * include/grub/efi/console_control.h: Likewise.
16629 * include/grub/efi/efi.h: Likewise.
16630 * include/grub/efi/pe32.h: Likewise.
16631 * include/grub/i386/efi/time.h: Likewise.
16632 * kern/efi/efi.c: Likewise.
16633 * kern/i386/efi/init.c: Likewise.
16634 * kern/i386/efi/startup.S: Likewise.
16635 * util/i386/efi/grub-mkimage.c: Likewise.
16636
166372006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 16638
16639 * include/grub/script.h: Include <grub/parser.h> and
16640 "grub_script.tab.h".
16641 (struct grub_lexer_param): New struct.
16642 (struct grub_parser_param): Likewise.
16643 (grub_script_create_arglist): Pass the state in an argument.
16644 (grub_script_add_arglist): Likewise.
16645 (grub_script_create_cmdline): Likewise.
16646 (grub_script_create_cmdblock): Likewise.
16647 (grub_script_create_cmdif): Likewise.
16648 (grub_script_create_cmdmenu): Likewise.
16649 (grub_script_add_cmd): Likewise.
16650 (grub_script_arg_add): Likewise.
16651 (grub_script_lexer_ref): Likewise.
16652 (grub_script_lexer_deref): Likewise.
16653 (grub_script_lexer_record_start): Likewise.
16654 (grub_script_lexer_record_stop): Likewise.
16655 (grub_script_mem_record): Likewise.
16656 (grub_script_mem_record_stop): Likewise.
16657 (grub_script_malloc): Likewise.
16658 (grub_script_yylex): Likewise.
16659 (grub_script_yyparse): Likewise.
16660 (grub_script_yyerror): Likewise.
16661 (grub_script_yylex): Likewise.
16662 (grub_script_lexer_init): Return the state.
16663
16664 * normal/lexer.c (grub_script_lexer_state): Removed variable.
16665 (grub_script_lexer_done): Likewise.
16666 (grub_script_lexer_getline): Likewise.
16667 (grub_script_lexer_refs): Likewise.
16668 (script): Likewise.
16669 (newscript): Likewise.
16670 (record): Likewise.
16671 (recording): Likewise.
16672 (recordpos): Likewise.
16673 (recordlen): Likewise.
16674 (grub_script_lexer_init): Return the state instead of setting
16675 global variables.
16676 (grub_script_lexer_ref): Use the newly added argument for state
16677 instead of globals.
16678 (grub_script_lexer_deref): Likewise.
16679 (grub_script_lexer_record_start): Likewise.
16680 (grub_script_lexer_record_stop): Likewise.
16681 (recordchar): Likewise.
16682 (nextchar): Likewise.
16683 (grub_script_yylex2): Likewise.
16684 (grub_script_yylex): Likewise.
16685 (grub_script_yyerror): Likewise.
16686
16687 * normal/parser.y (func_mem): Removed variable.
16688 (menu_entry): Likewise.
16689 (err): Likewise.
16690 (%lex-param): New parser option.
16691 (%parse-param): Likewise.
16692 (script): Always return the AST.
16693 (argument): Pass the state around.
16694 (arguments): Likewise.
16695 (grubcmd): Likewise.
16696 (commands): Likewise.
16697 (function): Likewise.
16698 (menuentry): Likewise.
16699 (if_statement): Likewise.
16700 (if): Likewise.
16701
16702 * normal/script.c (grub_script_memused): Removed variable.
16703 (grub_script_parsed): Likewise.
16704 (grub_script_malloc): Added a state argument. Use that instead of
16705 global variables.
16706 (grub_script_mem_record): Likewise.
16707 (grub_script_mem_record_stop): Likewise.
16708 (grub_script_arg_add): Likewise.
16709 (grub_script_add_arglist): Likewise.
16710 (grub_script_create_cmdline): Likewise.
16711 (grub_script_create_cmdif): Likewise.
16712 (grub_script_create_cmdmenu): Likewise.
16713 (grub_script_add_cmd): Likewise.
16714 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 16715
e2a8c904 167162006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 16717
16718 * normal/command.c (grub_command_init): Remove the title command.
16719
16720 * normal/lexer.c (grub_script_yylex): Renamed from this...
16721 (grub_script_yylex2): ... to this.
16722 (grub_script_yylex): New function. Temporary
16723 introduced to filter some tokens.
16724 (grub_script_yyerror): Print a newline.
16725
16726 * normal/main.c (read_config_file): Output information about the
16727 lines that contain errors. Wait for a key after all lines have
16728 been processed. Don't return an empty menu.
16729
16730 * normal/parser.y (func_mem): Don't initialize.
16731 (menu_entry): Likewise.
16732 (err): New variable.
16733 (script): Don't return anything when an error was encountered.
16734 (ws, returns): Removed rules.
16735 (argument): Disabled concatenated variable support.
16736 (arguments): Remove explicit separators.
16737 (grubcmd): Likewise.
16738 (function): Likewise.
16739 (menuentry): Likewise.
16740 (if): Likewise.
16741 (commands): Likewise. Add error handling.
16742
16743 * normal/script.c (grub_script_create_cmdline): If
16744 `grub_script_parsed' is 0, assume the parser encountered an error.
16745
c9a86192 167462006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
16747
16748 * configure.ac: Add support for EFI. Fix the typo
16749 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
16750
70f3b243 167512006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
16752
16753 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
16754 foreign multibyte characters should be shown correctly.
16755
65f201ad 167562006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
16757
16758 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
16759 calculation.
16760 (read_config_file): Made it to close file before returning.
16761
b4b93674 167622006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
16763
16764 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
16765 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
16766 video/i386/pc/vbefill.c.
16767
16768 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
16769 video/i386/pc/vbefill.c.
16770
16771 * include/grub/video.h (grub_video_blit_format): New enum.
16772 (grub_video_mode_info): Added new member blit_format.
16773 (grub_video_get_blit_format): New function prototype.
16774
16775 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
16776 function prototype.
16777 (grub_video_vbe_map_rgb): Likewise.
16778 (grub_video_vbe_unmap_color): Likewise.
16779
16780 * include/grub/i386/pc/vbeblit.h: New file.
16781
16782 * include/grub/i386/pc/vbefill.h: New file.
16783
16784 * video/video.c (grub_video_get_blit_format): New function.
16785 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
16786 (grub_video_vbe_map_rgb): Likewise.
16787 (grub_video_vbe_unmap_color): Likewise.
16788
16789 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
16790 optimized fills.
16791 (grub_video_vbe_blit_render_target): Changed to use more optimized
16792 blits.
16793 (grub_video_vbe_setup): Added detection for optimized settings.
16794 (grub_video_vbe_create_render_target): Likewise.
16795
16796 * video/i386/pc/vbeblit.c: New file.
16797
16798 * video/i386/pc/vbefill.c: New file.
16799
c2379b9c 168002006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
16801
16802 * font/manager.c (grub_font_get_glyph): Removed font fixup from
16803 here...
16804
16805 * util/unifont2pff.rb: ... and moved it to here. Improved argument
16806 parsing to support both hex and dec ranges. If filename was missing
16807 show usage information.
16808
bd0d7896 168092006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
16810
16811 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
16812 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
16813
16814 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
16815 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
16816 (video_mod_SOURCES): Added.
16817 (video_mod_CFLAGS): Likewise.
16818 (video_mod_LDFLAGS): Likewise.
16819 (gfxterm_mod_SOURCES): Likewise.
16820 (gfxterm_mod_CFLAGS): Likewise.
16821 (gfxterm_mod_LDFLAGS): Likewise.
16822 (videotest_mod_SOURCES): Likewise.
16823 (videotest_mod_CFLAGS): Likewise.
16824 (videotest_mod_LDFLAGS): Likewise.
16825 (vesafb_mod_SOURCES): Removed.
16826 (vesafb_mod_CFLAGS): Likewise.
16827 (vesafb_mod_LDFLAGS): Likewise.
16828 (vga_mod_SOURCES): Likewise.
16829 (vga_mod_CFLAGS): Likewise.
16830 (vga_mod_LDFLAGS): Likewise.
16831
16832 * commands/videotest.c: New file.
16833
16834 * font/manager.c (fill_with_default_glyph): Modified to use
16835 grub_font_glyph.
16836 (grub_font_get_glyph): Likewise.
16837 (fontmanager): Renamed from this...
16838 (font_manager): ... to this.
16839
16840 * include/grub/font.h (grub_font_glyph): Added new structure.
16841 (grub_font_get_glyph): Modified to use grub_font_glyph.
16842
16843 * include/grub/misc.h (grub_abs): Added as inline function.
16844
16845 * include/grub/video.h: New file.
16846
16847 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
16848 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
16849 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
16850 (grub_vbe_get_controller_info): Renamed from this...
16851 (grub_vbe_bios_get_controller_info): ... to this.
16852 (grub_vbe_get_mode_info): Renamed from this...
16853 (grub_vbe_bios_get_mode_info): ... to this.
16854 (grub_vbe_set_mode): Renamed from this...
16855 (grub_vbe_bios_set_mode): ... to this.
16856 (grub_vbe_get_mode): Renamed from this...
16857 (grub_vbe_bios_get_mode): ... to this.
16858 (grub_vbe_set_memory_window): Renamed from this...
16859 (grub_vbe_bios_set_memory_window): ... to this.
16860 (grub_vbe_get_memory_window): Renamed from this...
16861 (grub_vbe_bios_get_memory_window): ... to this.
16862 (grub_vbe_set_scanline_length): Renamed from this...
16863 (grub_vbe_set_scanline_length): ... to this.
16864 (grub_vbe_get_scanline_length): Renamed from this...
16865 (grub_vbe_bios_get_scanline_length): ... to this.
16866 (grub_vbe_set_display_start): Renamed from this...
16867 (grub_vbe_bios_set_display_start): ... to this.
16868 (grub_vbe_get_display_start): Renamed from this...
16869 (grub_vbe_bios_get_display_start): ... to this.
16870 (grub_vbe_set_palette_data): Renamed from this...
16871 (grub_vbe_bios_set_palette_data): ... to this.
16872 (grub_vbe_set_pixel_rgb): Removed.
16873 (grub_vbe_set_pixel_index): Likewise.
16874
16875 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
16876 from this...
16877 (grub_vbe_bios_get_controller_info): ... to this.
16878 (grub_vbe_get_mode_info): Renamed from this...
16879 (grub_vbe_bios_get_mode_info): ... to this.
16880 (grub_vbe_set_mode): Renamed from this...
16881 (grub_vbe_bios_set_mode): ... to this.
16882 (grub_vbe_get_mode): Renamed from this...
16883 (grub_vbe_bios_get_mode): ... to this.
16884 (grub_vbe_set_memory_window): Renamed from this...
16885 (grub_vbe_bios_set_memory_window): ... to this.
16886 (grub_vbe_get_memory_window): Renamed from this...
16887 (grub_vbe_bios_get_memory_window): ... to this.
16888 (grub_vbe_set_scanline_length): Renamed from this...
16889 (grub_vbe_set_scanline_length): ... to this.
16890 (grub_vbe_get_scanline_length): Renamed from this...
16891 (grub_vbe_bios_get_scanline_length): ... to this.
16892 (grub_vbe_set_display_start): Renamed from this...
16893 (grub_vbe_bios_set_display_start): ... to this.
16894 (grub_vbe_get_display_start): Renamed from this...
16895 (grub_vbe_bios_get_display_start): ... to this.
16896 (grub_vbe_set_palette_data): Renamed from this...
16897 (grub_vbe_bios_set_palette_data): ... to this.
16898 (grub_vbe_bios_get_controller_info): Fixed problem with registers
16899 getting corrupted after calling it. Added more pushes and pops.
16900 (grub_vbe_bios_set_mode): Likewise.
16901 (grub_vbe_bios_get_mode): Likewise.
16902 (grub_vbe_bios_get_memory_window): Likewise.
16903 (grub_vbe_bios_set_scanline_length): Likewise.
16904 (grub_vbe_bios_get_scanline_length): Likewise.
16905 (grub_vbe_bios_get_display_start): Likewise.
16906 (grub_vbe_bios_set_palette_data): Likewise.
16907
16908 * normal/cmdline.c (cl_set_pos): Refresh the screen.
16909 (cl_insert): Likewise.
16910 (cl_delete): Likewise.
16911
16912 * term/gfxterm.c: New file.
16913
16914 * term/i386/pc/vesafb.c: Removed file.
16915
16916 * video/video.c: New file.
16917
16918 * video/i386/pc/vbe.c (real2pm): Added new function.
16919 (grub_video_vbe_draw_pixel): Likewise.
16920 (grub_video_vbe_get_video_ptr): Likewise.
16921 (grub_video_vbe_get_pixel): Likewise
16922 (grub_video_vbe_init): Likewise.
16923 (grub_video_vbe_fini): Likewise.
16924 (grub_video_vbe_setup): Likewise.
16925 (grub_video_vbe_get_info): Likewise.
16926 (grub_video_vbe_set_palette): Likewise.
16927 (grub_video_vbe_get_palette): Likewise.
16928 (grub_video_vbe_set_viewport): Likewise.
16929 (grub_video_vbe_get_viewport): Likewise.
16930 (grub_video_vbe_map_color): Likewise.
16931 (grub_video_vbe_map_rgb): Likewise.
16932 (grub_video_vbe_map_rgba): Likewise.
16933 (grub_video_vbe_unmap_color): Likewise.
16934 (grub_video_vbe_fill_rect): Likewise.
16935 (grub_video_vbe_blit_glyph): Likewise.
16936 (grub_video_vbe_blit_bitmap): Likewise.
16937 (grub_video_vbe_blit_render_target): Likewise.
16938 (grub_video_vbe_scroll): Likewise.
16939 (grub_video_vbe_swap_buffers): Likewise.
16940 (grub_video_vbe_create_render_target): Likewise.
16941 (grub_video_vbe_delete_render_target): Likewise.
16942 (grub_video_vbe_set_active_render_target): Likewise.
16943 (grub_vbe_set_pixel_rgb): Remove function.
16944 (grub_vbe_set_pixel_index): Likewise.
16945 (index_color_mode): Remove static variable.
16946 (active_mode): Likewise.
16947 (framebuffer): Likewise.
16948 (bytes_per_scan_line): Likewise.
16949 (grub_video_vbe_adapter): Added new static variable.
16950 (framebuffer): Likewise.
16951 (render_target): Likewise.
16952 (initial_mode): Likewise.
16953 (mode_in_use): Likewise.
16954 (mode_list): Likewise.
16955
5f97350b 169562006-03-10 Marco Gerards <marco@gnu.org>
16957
16958 * configure.ac (AC_INIT): Bumped to 1.93.
16959
16960 * DISTLIST: Added `include/grub/hfs.h'.
16961
a3c5c6f8 169622006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
16963
16964 * boot/i386/pc/boot.S (general_error): Before looping, try INT
16965 18H, which might help the BIOS falling back to next boot media.
16966
6de53d26 169672006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
16968
16969 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
16970 Poe Chen <poe.poechen@gmail.com>.
16971
77c4a393 169722006-01-17 Marco Gerards <marco@gnu.org>
16973
16974 * include/grub/normal.h: Include <grub/script.h>.
16975 (grub_command_list): Removed struct.
16976 (grub_command_list_t): Removed type.
16977 (grub_menu_entry): Remove members `num' and `command_list'. Add
16978 members `commands' and `sourcecode'.
16979 * include/grub/script.h: Add inclusion guards.
16980 (grub_script_cmd_menuentry): New struct.
16981 (grub_script_execute_menuentry): New prototype.
16982 (grub_script_lexer_record_start): Likewise.
16983 (grub_script_lexer_record_stop): Likewise.
16984 * normal/execute.c (grub_script_execute_menuentry): New function.
16985 * normal/lexer.c (record, recording, recordpos, recordlen): New
16986 variables.
16987 (grub_script_lexer_record_start): New function.
16988 (grub_script_lexer_record_stop): Likewise.
16989 (recordchar): Likewise.
16990 (nextchar): Likewise.
16991 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
16992 2048 as the buffer size. Add the tokens `menuentry' and `@'.
16993 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
16994 (current_menu): New variable.
16995 (free_menu): Mainly rewritten.
16996 (grub_normal_menu_addentry): New function.
16997 (read_config_file): Rewritten.
16998 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 16999 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 17000 the menu entry.
17001 (run): Mainly rewritten.
17002 * normal/parser.y (menu_entry): New variable.
17003 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
17004 (menuentry): New rule.
17005 (command): Add `menuentry'.
17006 (if_statement): Allow additional returns before `fi'.
17007 * normal/script.c (grub_script_create_cmdmenu): New function.
17008
144f1f98 170092006-01-03 Marco Gerards <marco@gnu.org>
17010
17011 * INSTALL: GNU Bison is required.
17012 * configure.ac: Rewritten the test to detect Bison.
17013 * Makefile.in (YACC): New variable. Reported by Xun Sun
17014 <xun.sun.cn@gmail.com>.
17015
af4b2d89 170162006-01-03 Marco Gerards <marco@gnu.org>
17017
17018 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
17019 the HFS+ filesystem to filesystem blocks.
17020 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
17021 GCC warning is silenced.
17022
15643b71 170232006-01-03 Marco Gerards <marco@gnu.org>
17024
17025 * partmap/apple.c (apple_partition_map_iterate): Convert the data
17026 read from disk from big endian to host byte order.
17027
00905879 170282006-01-03 Hollis Blanchard <hollis@penguinppc.org>
17029
17030 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
17031 documentation.
17032 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
17033 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
17034 embedded HFS+ filesystem.
17035 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
17036 (grub_hfs_sblock): Move from here...
17037 * include/grub/hfs.h: To here... New file.
17038 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
17039 documentation.
17040 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
17041 New macros.
17042 (grub_hfsplus_volheader): Change type of member `magic' to
17043 `grub_uint16_t'.
17044 (grub_hfsplus_data): Add new member `embedded_offset'.
17045 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
17046 returned block.
17047 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
17048 Calculate the offset.
17049
8899bc3e 170502005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
17051
17052 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
17053 Removed.
17054 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
17055
ae8c0277 170562005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
17057
17058 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
17059 ENV->NAME is NULL after allocating ENV->VALUE.
17060
07084456 170612005-12-25 Marco Gerards <marco@gnu.org>
17062
17063 * kern/env.c (grub_env_set): Rewritten the error handling code.
17064
4750f5f1 170652005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
17066
17067 * geninit.sh: Made more robust, and more portable.
17068
50214199 170692005-12-25 Marco Gerards <marco@gnu.org>
17070
17071 Add support for Apple HFS+ filesystems.
f19dbdb7 17072
50214199 17073 * fs/hfsplus.c: New file.
17074
17075 * DISTLIST: Added `fs/hfsplus.c'.
17076
17077 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
17078 (hfsplus_mod_SOURCES): New variable.
17079 (hfsplus_mod_CFLAGS): Likewise.
17080 (hfsplus_mod_LDFLAGS): Likewise.
17081 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
17082 (grub_setup_SOURCES): Likewise.
17083 (grub_mkdevicemap_SOURCES): Likewise.
17084 (grub_emu_SOURCES): Likewise.
17085 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
17086
17087 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
17088
17089 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
17090
befaed6c 170912005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
17092
17093 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
17094 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
17095 include/grub/parser.h, include/grub/script.h, kern/parser.c,
17096 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
17097 normal/lexer.c, normal/parser.y, normal/script.c, and
17098 partmap/gpt.c.
17099 Removed kern/sparc64/cache.c.
17100
17101 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
17102 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
17103 grub_emu_init.c.
17104
17105 * configure.ac (AC_INIT): Bumped to 1.92.
17106
6a124103 171072005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
17108
17109 * kern/err.c (grub_error_push): Added new function to support error
17110 stacks.
17111 (grub_error_pop): Likewise.
17112 (grub_error_stack_items): New local variable to support error stacks.
17113 (grub_error_stack_pos): Likewise.
17114 (grub_error_stack_assert): Likewise.
17115 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
17116 stack depth.
17117 (grub_print_error): Added support to print errors from error stack.
17118
17119 * include/grub/err.h (grub_error_push): Added function prototype.
17120 (grub_error_pop): Likewise.
17121
be973c1b 171222005-12-09 Hollis Blanchard <hollis@penguinppc.org>
17123
17124 * configure.ac: Accept `powerpc64' as host_cpu.
17125 (amd64): Rename to `biarch32'.
17126
17127 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
17128 non-cacheline-aligned addresses.
17129
17130 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
17131 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
17132 if `size' is non-zero.
17133
b04216ab 171342005-12-03 Marco Gerards <mgerards@xs4all.nl>
17135
17136 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
17137 and `cd' to make sure the filename is not prefixed with a
17138 directory name.
17139 (pkgdata_MODULES): Add `gpt.mod'.
17140 (gpt_mod_SOURCES): New variable.
17141 (gpt_mod_CFLAGS): Likewise.
17142 (gpt_mod_LDFLAGS): Likewise.
17143
17144 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
17145
17146 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
17147 New macro.
17148
17149 * partmap/gpt.c: New file.
17150
17151 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
17152 GPT partition map is detected.
17153
41730ed9 171542005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
17155
17156 * commands/i386/pc/play.c: New file.
17157 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
17158 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
17159 macros.
f19dbdb7 17160
95dc3643 171612005-11-27 Marco Gerards <mgerards@xs4all.nl>
17162
17163 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
17164 ((unused))' to silence gcc warning.
17165
1569ec51 171662005-11-26 Hollis Blanchard <hollis@penguinppc.org>
17167
17168 * configure.ac: Correct `AC_PROG_YACC' test.
17169
9abde152 171702005-11-22 Hollis Blanchard <hollis@penguinppc.org>
17171
17172 * util/powerpc/ieee1275/grub-install.in: Run the mount point
17173 check before installing files.
17174
44b83271 171752005-11-22 Mike Small <smallm@panix.com>
17176
17177 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
17178 number regex so multidigit numbers are recognized correctly.
17179
171802005-11-22 Mike Small <smallm@panix.com>
17181
17182 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
17183 debugging message before attempting to claim memory.
17184 (grub_rescue_cmd_initrd): Add a claim debugging message and try
17185 multiple addresses in case of failure.
17186
9c12956b 171872005-11-22 Hollis Blanchard <hollis@penguinppc.org>
17188
17189 * term/tparm.c (get_space): Remove empty `if' statement.
17190
17191 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
17192
17193 * kern/parser.c (check_varstate): Rename `state' to 's'.
17194
aeaf81d9 171952005-11-22 Hollis Blanchard <hollis@penguinppc.org>
17196
17197 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
17198 variable definitions to the beginning of each function. Sort stack
17199 variables by size.
17200 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
17201 `buf' argument to `char *'.
17202
79bbb63f 172032005-11-22 Hollis Blanchard <hollis@penguinppc.org>
17204
17205 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
17206 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 17207 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 17208 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
17209 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
17210 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
17211 configfile.mod, search.mod, gzio.mod and test.mod.
17212 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
17213 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
17214 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
17215 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
17216 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
17217 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
17218 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
17219 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
17220 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
17221 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
17222 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
17223 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
17224 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
17225 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
17226 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
17227 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
17228 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
17229 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
17230 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
17231 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
17232 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
17233 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
17234 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
17235
17236 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
17237 `grep --include'.
17238 (pkgdata_MODULES): Add test.mod.
17239
233b1628 172402005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
17241
17242 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
17243 appending to variables with "+=".
17244 (PModule): Use full pathname to generate *.lst filenames.
17245
17246 * Makefile.in: Fixed list rules moved from genmk.rb.
17247 (.DELETE_ON_ERROR): New special target.
17248 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
17249
17250 * conf/i386-pc.rmk: Include conf/common.mk.
17251 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 17252 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 17253 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
17254 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
17255 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
17256 configfile.mod, search.mod, gzio.mod and test.mod.
17257 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
17258 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
17259 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
17260 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
17261 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
17262 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
17263 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
17264 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
17265 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
17266 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
17267 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
17268 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
17269 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
17270 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
17271 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
17272 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
17273 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
17274 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
17275 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
17276 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
17277 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
17278 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
17279 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
17280 here...
17281 * conf/common.rmk: ... to here. New file.
17282
17283 * conf/common.mk: New file.
17284
16f820c8 172852005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
17286
17287 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
17288 (grub_script.tab.c): ... here.
17289
17290 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
17291 (grub_script.tab.c): ... here.
17292
17293 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
17294 (grub_script.tab.c): ... here.
17295
17296 * normal/command.c (grub_command_find): Fixed a memory leak of
17297 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
17298
63ba1554 172992005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
17300
17301 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
17302 "@" which marks the start of a comment on ARM.
17303 (VARIABLE): Likewise.
17304
7f67dc13 173052005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
17306
79bbb63f 17307 Add support for Linux/ADFS partition tables.
7f67dc13 17308
17309 * partmap/acorn.c: New file.
17310
17311 * include/grub/acorn_filecore.h: Likewise.
17312
17313 * DISTLIST: Added `partmap/acorn.c' and
17314 `include/grub/acorn_filecore.h'.
f19dbdb7 17315
7f67dc13 17316 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
17317 `partmap/acorn.c'.
17318 (pkgdata_MODULES): Add `acorn.mod'.
17319 (acorn_mod_SOURCES): New variable.
17320 (acorn_mod_CFLAGS): Likewise.
17321
17322 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
17323 `partmap/acorn.c'.
17324 (pkgdata_MODULES): Add `acorn.mod'.
17325 (acorn_mod_SOURCES): New variable.
17326 (acorn_mod_CFLAGS): Likewise.
17327
17328 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
17329 (pkgdata_MODULES): Add `acorn.mod'.
17330 (acorn_mod_SOURCES): New variable.
17331 (acorn_mod_CFLAGS): Likewise.
17332 (acorn_mod_LDFLAGS): Likewise.
17333
17334 * include/types.h (grub_disk_addr_t): New typedef.
17335
6d099807 173362005-11-13 Marco Gerards <mgerards@xs4all.nl>
17337
17338 * geninit.sh: New file.
17339
17340 * geninitheader.sh: Likewise.
17341
17342 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
17343 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
17344 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
17345 * commands/configfile.c (grub_configfile_init)
17346 (grub_configfile_fini): Likewise.
17347 * commands/default.c (grub_default_init, grub_default_fini):
17348 Likewise.
17349 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
17350 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
17351 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
17352 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
17353 Likewise.
17354 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
17355 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
17356 Likewise.
17357 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 17358 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 17359 Likewise.
17360 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
17361 Likewise.
fe6b695a 17362 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 17363 Likewise.
17364 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
17365 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
17366 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
17367 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
17368 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
17369 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
17370 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
17371 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
17372 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
17373 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
17374 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
17375 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
17376 * partmap/amiga.c (grub_amiga_partition_map_init)
17377 (grub_amiga_partition_map_fini): Likewise.
17378 * partmap/apple.c (grub_apple_partition_map_init)
17379 (grub_apple_partition_map_fini): Likewise.
17380 * partmap/pc.c (grub_pc_partition_map_init)
17381 (grub_pc_partition_map_fini): Likewise.
17382 * partmap/sun.c (grub_sun_partition_map_init,
17383 grub_sun_partition_map_fini): Likewise.
17384 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
17385 Likewise.
17386
17387 * util/grub-emu.c: Include <grub_modules_init.h>.
17388 (main): Don't initialize and de-initialize any modules directly,
17389 use `grub_init_all' and `grub_fini_all' instead.
17390
17391 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
17392 `grub_vesafb_mod_init'.
17393 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
17394 all users.
17395 * term/i386/pc/vga.c (grub_vga_init): Renamed to
17396 `grub_vga_mod_init'. Updated all users.
17397 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 17398
6d099807 17399 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
17400 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
17401 rules.
17402
17403 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
17404 Generate a function to initialize the module in utilities.
17405 Updated all callers.
17406 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
17407 initialize the module in utilities. Updated all callers.
17408
9046bcf0 174092005-11-09 Hollis Blanchard <hollis@penguinppc.org>
17410
17411 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
17412 escape sequence and a literal ^L to clear the screen.
17413
17414 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
17415 when returning from Open Firmware.
17416
d13ea639 174172005-11-09 Hollis Blanchard <hollis@penguinppc.org>
17418
17419 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
17420 (grub_ofconsole_height): Likewise.
17421 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
17422 manually insert a '\n'.
17423 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
17424 `grub_ofconsole_height'. Return early if these are already set.
17425
a8fcf206 174262005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
17427
17428 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
17429 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
17430 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
17431 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
17432 and `normal/script.c'.
17433 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
17434 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
17435 (test_mod_SOURCES): New variable.
17436 (test_mod_CFLAGS): Likewise.
17437 (test_mod_LDFLAGS): Likewise.
17438 (pkgdata_MODULES): Add `test.mod'.
17439 (grub_script.tab.c): New rule.
17440 (grub_script.tab.h): Likewise.
17441
b6b32745 174422005-11-07 Marco Gerards <mgerards@xs4all.nl>
17443
17444 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
17445 `commands/test.c', `normal/execute.c', `normal/lexer.c',
17446 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
17447 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
17448 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
17449 (test_mod_SOURCES): New variable.
17450 (test_mod_CFLAGS): Likewise.
17451 (pkgdata_MODULES): Add `test.mod'.
17452 (grub_script.tab.c): New rule.
17453 (grub_script.tab.h): Likewise.
17454
daac212a 174552005-11-06 Marco Gerards <mgerards@xs4all.nl>
17456
17457 Add initial scripting support.
17458
17459 * commands/test.c: New file.
17460 * include/grub/script.h: Likewise.
17461 * normal/execute.c: Likewise.
17462 * normal/function.c: Likewise.
17463 * normal/lexer.c: Likewise.
17464 * normal/parser.y: Likewise.
17465 * normal/script.c: Likewise.
17466
17467 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 17468
daac212a 17469 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
17470 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
17471 `normal/function.c' and `normal/script.c'.
17472 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
17473 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 17474 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
17475 variables.
daac212a 17476 (pkgdata_MODULES): Add `test.mod'.
17477 (grub_script.tab.c): New rule.
17478 (grub_script.tab.h): Likewise.
17479
17480 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
17481
17482 * include/grub/normal.h (grub_test_init): New prototype.
17483 (grub_test_fini): Likewise.
f19dbdb7 17484
daac212a 17485 * normal/command.c: Include <grub/script.h>.
17486 (grub_command_execute): Rewritten.
f19dbdb7 17487
daac212a 17488 * util/grub-emu.c (main): Call `grub_test_init' and
17489 `grub_test_fini'.
17490
77500b2b 174912005-11-03 Hollis Blanchard <hollis@penguinppc.org>
17492
17493 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
17494 to 0.
17495 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
17496 there are no pending characters.
17497
e45deb9e 174982005-11-03 Hollis Blanchard <hollis@penguinppc.org>
17499
17500 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
17501 `grub_strndup' to drop device arguments. Replace unnecessary
17502 `grub_strndup' with `grub_strdup'.
17503
4ce32619 175042005-11-03 Hollis Blanchard <hollis@penguinppc.org>
17505
17506 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
17507 `debug' environment variable has been set.
17508
175092005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 17510
4ce32619 17511 * Makefile.in (install-local): Use $(DATA).
17512 (uninstall): Likewise.
17513 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
17514 (sbin_UTILITIES): ... to here.
17515 (sbin_SCRIPTS): New variable.
17516 (grub_install_SOURCES): New variable.
17517 * util/powerpc/ieee1275/grub-install.in: New file.
17518 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
17519 variable.
17520 (add_segments): Call `grub_util_get_path'.
17521
25fe6f03 175222005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
17523
17524 From Timothy Baldwin:
17525 * commands/ls.c (grub_ls_list_files): Close FILE with
17526 grub_file_close.
17527 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
17528
04ccf3ec 175292005-10-24 Marco Gerards <mgerards@xs4all.nl>
17530
17531 * include/grub/parser.h: New file.
17532
17533 * kern/parser.c: Likewise.
17534
17535 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
17536 (grub_setup_SOURCES): Likewise.
17537 (grub_probefs_SOURCES): Likewise.
17538 (grub_emu_SOURCES): Likewise.
17539 (kernel_img_HEADERS): Add `parser.h'.
17540
17541 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
17542 (grub_emu_SOURCES): Add `kern/parser.c'.
17543 (grubof_SOURCES): Likewise.
17544
17545 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
17546 (grubof_SOURCES): Add `kern/parser.c'.
17547
17548 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
17549
17550 * kern/misc.c (grub_split_cmdline): Removed function.
17551
17552 * kern/rescue.c: Include <grub/parser.h>.
17553 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
17554 of `grub_split_cmdline'.
17555
17556 * normal/command.c: Include <grub/parser.h>.
17557 (grub_command_execute): Use `grub_parser_split_cmdline' instead
17558 of `grub_split_cmdline'.
17559
17560 * normal/completion.c: Include <grub/parser.h>.
17561 (cmdline_state): New variable.
17562 (iterate_dir): End the filename with a quote depending on the
17563 command line state.
17564 (get_state): new function.
17565 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
17566 split the arguments and determine the current argument. When the
17567 argument string is not quoted, escape all spaces.
17568
6d8f4b0e 175692005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
17570
17571 * normal/sparc64/setjmp.S: New file.
17572
15cf03ed 175732005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
17574
17575 * include/grub/sparc64/libgcc.h: New file.
17576 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
17577 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
17578 normal/sparc64/setjmp.c.
17579
03e8661a 175802005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
17581
17582 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
17583 * kern/sparc64/cache.S: New file.
17584 * kern/sparc64/cache.c: Removed.
17585 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
17586 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
17587 -mtune=ultrasparc.
17588 (COMMON_LDFLAGS): Add -melf64_sparc.
17589 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
17590 (grubof_SOURCES): Use cache.S instead of cache.c.
17591 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
17592 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
17593 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
17594 commented though.
17595 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
17596 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
17597 (linux_mod_CFLAGS): Commented out.
17598 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
17599 out because module isn't built.
17600 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
17601 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
17602 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
17603 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
17604 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
17605 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
17606 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
17607 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
17608 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
17609 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
17610 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
17611 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
17612 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
17613 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
17614
34eeec8a 176152005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
17616
17617 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
17618 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
17619 longer, because HFS should not be used on PC.
17620
708367a3 176212005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
17622
17623 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
17624 consistently within the loop.
17625
6fa1251a 176262005-10-15 Marco Gerards <mgerards@xs4all.nl>
17627
17628 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
17629 directory can not be read.
17630
4801580b 176312005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
17632
17633 * configure.ac (AC_INIT): Increase the version number to 1.91.
17634
17635 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
17636 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
17637 term/i386/pc/serial.c.
17638
219ad426 176392005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
17640
17641 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
17642 file size must be permitted.
17643
17644 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
17645 between %ah and %al.
17646
688e5699 176472005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
17648
17649 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
17650 grub_uint64_t.
17651 Call the hook with a NUL-terminated filename.
17652 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
17653 grub_cpu_to_be32.
17654
17655 * kern/term.c (cursor_state): New variable.
17656 (grub_term_set_current): Reset the cursor state on a new
17657 terminal.
17658 (grub_setcursor): Rewritten to use CURSOR_STATE.
17659 (grub_getcursor): New function.
17660
17661 * include/grub/term.h (grub_getcursor): New prototype.
17662
17663 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
17664 integers on ARM. Reported by Timothy Baldwin
17665 <T.E.Baldwin99@members.leeds.ac.uk>.
17666
bb34586c 176672005-10-11 Marco Gerards <mgerards@xs4all.nl>
17668
17669 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
17670 allocated.
17671 (grub_sfs_dir): Likewise.
17672
9a909877 176732005-10-09 Marco Gerards <mgerards@xs4all.nl>
17674
17675 Add support for the SFS filesystem.
17676
17677 * fs/sfs.c: New file.
17678
17679 * DISTLIST: Added `fs/sfs.c'.
17680
17681 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
17682 (grub_probefs_SOURCES): Likewise.
17683 (grub_emu_SOURCES): Likewise.
17684 (pkgdata_MODULES): Add `sfs.mod'.
17685 (sfs_mod_SOURCES): New variable.
17686 (sfs_mod_CFLAGS): Likewise.
17687 (sfs_mod_LDFLAGS): Likewise.
17688
17689 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
17690 (pkgdata_MODULES): Add `sfs.mod'.
17691 (sfs_mod_SOURCES): New variable.
17692 (sfs_mod_CFLAGS): Likewise.
17693
17694 * util/grub-emu.c (main): Call `grub_sfs_init' and
17695 `grub_sfs_fini'.
17696
17697 * include/grub/fs.h (grub_sfs_init): New prototype.
17698 (grub_sfs_fini): Likewise.
17699
57bdbde3 177002005-10-07 Marco Gerards <mgerards@xs4all.nl>
17701
17702 Add support for the AFFS filesystem.
17703
17704 * fs/affs.c: New file.
17705
17706 * DISTLIST: Added `fs/affs.c'.
17707
17708 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
17709 (grub_probefs_SOURCES): Likewise.
17710 (grub_emu_SOURCES): Likewise.
17711 (pkgdata_MODULES): Add `affs.mod'.
17712 (affs_mod_SOURCES): New variable.
17713 (affs_mod_CFLAGS): Likewise.
17714 (affs_mod_LDFLAGS): Likewise.
17715
17716 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
17717 (pkgdata_MODULES): Add `affs.mod'.
17718 (affs_mod_SOURCES): New variable.
17719 (affs_mod_CFLAGS): Likewise.
17720
17721 * util/grub-emu.c (main): Call `grub_affs_init' and
17722 `grub_affs_fini'.
17723
17724 * include/grub/fs.h (grub_affs_init): New prototype.
17725 (grub_affs_fini): Likewise.
17726
047b67e0 177272005-10-01 Marco Gerards <mgerards@xs4all.nl>
17728
17729 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
17730
59b8208a 177312005-10-01 Marco Gerards <mgerards@xs4all.nl>
17732
17733 * configure.ac: Accept `x86_64' as host_cpu. In that case add
17734 `-m32' to CFLAGS.
17735
17736 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
17737 linking.
f19dbdb7 17738
59b8208a 17739 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
17740 (COMMON_LDFLAGS): New variable.
17741 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
17742 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
17743 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
17744 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
17745 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
17746 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
17747 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
17748 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
17749 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
17750 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
17751 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
17752 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
17753 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
17754 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
17755 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
17756 variables.
17757 (normal_mod_ASFLAGS): Add `-m32'.
17758
17759 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
17760 (grub_host_size_t, grub_host_ssize_t): New types.
17761 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 17762 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 17763 `GRUB_HOST_SIZEOF_VOID_P'.
17764
17765 * include/grub/kernel.h (struct grub_module_header): Type of
17766 member offset changed to `grub_host_off_t'. Type of member size
17767 changed to `grub_host_size_t'.
17768 (struct grub_module_info): Type of member offset changed to
17769 `grub_host_off_t'. Type of member size changed to
17770 `grub_host_size_t'.
17771
b4093103 177722005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
17773
17774 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 17775
b4093103 17776 * kern/i386/pc/startup.S (multiboot_header): New label.
17777 (multiboot_entry): Likewise.
17778 (multiboot_trampoline): Likewise.
17779
17780 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
17781 Increased to 0x4A0.
17782
17783 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
17784 put parentheses after a question mark.
17785 [!GRUB_UTIL] (my_mod): New variable.
17786
17787 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
17788
b2499b29 177892005-09-28 Marco Gerards <mgerards@xs4all.nl>
17790
17791 Adds support for the XFS filesystem. Btrees are not supported
17792 yet.
17793
17794 * fs/xfs.c: New file.
17795
17796 * DISTLIST: Added `fs/xfs.c'.
17797
17798 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
17799 (grub_probefs_SOURCES): Likewise.
17800 (grub_emu_SOURCES): Likewise.
17801 (pkgdata_MODULES): Add `xfs.mod'.
17802 (xfs_mod_SOURCES): New variable.
17803 (xfs_mod_CFLAGS): Likewise.
17804
17805 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
17806 (pkgdata_MODULES): Add `xfs.mod'.
17807 (xfs_mod_SOURCES): New variable.
17808 (xfs_mod_CFLAGS): Likewise.
17809
17810 * util/grub-emu.c (main): Call `grub_xfs_init' and
17811 `grub_xfs_fini'.
17812
17813 * include/grub/fs.h (grub_xfs_init): New prototype.
17814 (grub_xfs_fini): Likewise.
17815
f19dbdb7 17816
83d37a62 178172005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
17818
17819 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
17820 color modes, allow greater than 16 colors to be configured as
17821 a default palette.
17822
47d2d65e 178232005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
17824
17825 * normal/completion.c (complete_arguments): Add the qualifier
17826 const into OPTIONS.
17827
17828 From Omniflux <omniflux+lists@omniflux.com>:
17829 * include/grub/terminfo.h: New file.
17830 * include/grub/tparm.h: Likewise.
17831 * include/grub/i386/pc/serial.h: Likewise.
17832 * term/terminfo.c: Likewise.
17833 * term/tparm.c: Likewise.
17834 * term/i386/pc/serial.c: Likewise.
17835 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
17836 serial.mod.
17837 (terminfo_mod_SOURCES): New variable.
17838 (terminfo_mod_CFLAGS): Likewise.
17839 (serial_mod_SOURCES): Likewise.
17840 (serial_mod_CFLAGS): Likewise.
17841
48b671ff 178422005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
17843
17844 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
17845 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
17846 and kern/powerpc/ieee1275/cmain.c, respectively.
17847
17848 * boot/powerpc/ieee1275/crt0.S: Moved to ...
17849 * kern/powerpc/ieee1275/crt0.S: ... here.
17850
17851 * boot/powerpc/ieee1275/cmain.c: Moved to ...
17852 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 17853
48b671ff 17854 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
17855 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
17856 instead of boot/powerpc/ieee1275/crt0.S and
17857 boot/powerpc/ieee1275/cmain.c, respectively.
17858
17859 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
17860 sectors. It was not used anyway.
17861
09fc77a7 178622005-08-30 Hollis Blanchard <hollis@penguinppc.org>
17863
17864 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
17865 `unused parameter' warning.
17866
003789c7 178672005-08-30 Hollis Blanchard <hollis@penguinppc.org>
17868
17869 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
17870 function.
17871 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
17872 getcharwidth.
17873
67f44c86 178742005-08-28 Marco Gerards <metgerards@student.han.nl>
17875
17876 * include/grub/normal.h (enum grub_completion_type): Added
17877 `GRUB_COMPLETION_TYPE_ARGUMENT'.
17878
17879 * normal/cmdline.c (print_completion): Handle
17880 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
17881 * normal/menu_entry.c (store_completion): Likewise.
17882
17883 * normal/completion.c (complete_arguments): New function.
17884 (grub_normal_do_completion): Call `complete_arguments' when the
17885 current words start with a dash.
17886
0b5abe02 178872005-08-27 Marco Gerards <metgerards@student.han.nl>
17888
17889 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
17890 `gzio.mod' instead of `io.mod').
17891
d9864ee1 178922005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
17893
17894 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
17895 (DISTDIRS): Added io and video.
17896 Rewrite the search routine to make an output consistently.
17897
17898 * DISTLIST: Added conf/sparc64-ieee1275.mk,
17899 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
17900 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
17901 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
17902 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
17903 util/powerpc/ieee1275/misc.c.
f19dbdb7 17904
d9864ee1 17905 * include/grub/gzio.h: New file.
17906 * io/gzio.c: Likewise.
f19dbdb7 17907
d9864ee1 17908 * kern/file.c (grub_file_close): Call grub_device_close only if
17909 FILE->DEVICE is not NULL.
17910
17911 * include/grub/mm.h [!NULL] (NULL): New macro.
17912
17913 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
17914
17915 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
17916 (pkgdata_MODULES): Added gzio.mod.
17917 (gzio_mod_SOURCES): New variable.
17918 (gzio_mod_CFLAGS): Likewise.
17919
17920 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
17921 (pkgdata_MODULES): Added gzio.mod.
17922 (gzio_mod_SOURCES): New variable.
17923 (gzio_mod_CFLAGS): Likewise.
17924
17925 * commands/cat.c: Include grub/gzio.h.
17926 (grub_cmd_cat): Use grub_gzfile_open instead of
17927 grub_file_open.
f19dbdb7 17928
d9864ee1 17929 * commands/cmp.c: Include grub/gzio.h.
17930 (grub_cmd_cmp): Use grub_gzfile_open instead of
17931 grub_file_open.
17932
17933 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
17934 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
17935 grub_file_open.
17936 (grub_rescue_cmd_module): Likewise.
17937
fa46f4b5 179382005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
17939
17940 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
17941 kern/sparc64/ieee1275/init.c because it contains _start.
17942 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
17943
e9211b5d 179442005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
17945
17946 * configure.ac: Add support for sparc64 host with ieee1275
17947 firmware.
17948 * configure: Generated from configure.ac.
17949 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
17950 instead of int.
17951 (grub_ofdisk_read): Likewise.
17952 (grub_ofdisk_open): Use %p to print pointer values, and cast the
17953 pointers as (void *) to remove a warning.
17954 (grub_ofdisk_close): Likewise.
17955 (grub_ofdisk_read): Likewise.
17956 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
17957 returns, so make it return void to remove a warning.
17958 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
17959 Corresponding prototype change.
17960 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
17961 values, and cast the pointers as (void *) to remove a warning.
17962 (grub_mm_dump): Likewise.
17963 * conf/sparc64-ieee1275.mk: New file.
17964 * conf/sparc64-ieee1275.rmk: Likewise.
17965 * include/grub/sparc64/setjmp.h: Likewise.
17966 * include/grub/sparc64/types.h: Likewise.
17967 * include/grub/sparc64/ieee1275/console.h: Likewise.
17968 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
17969 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
17970 * include/grub/sparc64/ieee1275/time.h: Likewise.
17971 * kern/sparc64/cache.c: Likewise.
17972 * kern/sparc64/dl.c: Likewise.
17973 * kern/sparc64/ieee1275/init.c: Likewise.
17974 * kern/sparc64/ieee1275/openfw.c: Likewise.
17975
385c6a92 179762005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
17977
17978 * util/console.c (grub_ncurses_putchar): If C is greater than
17979 0x7f, set C to a question mark.
17980 (grub_ncurses_getcharwidth): New function.
17981 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
17982 getcharwidth.
17983
17984 * normal/menu.c (print_entry): Made aware of Unicode. First,
17985 convert TITLE to UCS-4, and predict the cursor position by
17986 grub_getcharwidth.
17987
17988 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
17989 const to SRC.
17990 * kern/misc.c (grub_utf16_to_utf8): Likewise.
17991
16ccb8b1 179922005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
17993
17994 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
17995 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
17996 grub_strcat.
17997
17998 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
17999 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
18000 grub_strcpy and grub_strlen. Take it into account that a space
18001 character is inserted as a delimiter.
18002
6a85ce79 180032005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
18004
18005 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 18006 invalid magic in the error.
6a85ce79 18007
18008 * commands/search.c: New file.
f19dbdb7 18009
6a85ce79 18010 * util/grub-emu.c (main): Call grub_search_init and
18011 grub_search_fini.
18012
18013 * kern/rescue.c (grub_rescue_print_disks): Removed.
18014 (grub_rescue_print_devices): New function.
18015 (grub_rescue_cmd_ls): Use grub_device_iterate with
18016 grub_rescue_print_devices instead of grub_disk_dev_iterate with
18017 grub_rescue_print_disks.
18018
18019 * kern/partition.c (grub_partition_iterate): Return the result of
18020 PARTMAP->ITERATE instead of GRUB_ERRNO.
18021
18022 * kern/device.c: Include grub/partition.h.
18023 (grub_device_iterate): New function.
18024
18025 * include/grub/partition.h (grub_partition_iterate): Return int
18026 instead of grub_err_t.
18027
18028 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
18029 prototype.
18030 [GRUB_UTIL] (grub_search_fini): Likewise.
18031
18032 * include/grub/device.h (grub_device_iterate): New prototype.
18033
18034 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
18035 commands/search.c.
18036 (pkgdata_MODULES): Added search.mod.
18037 (search_mod_SOURCES): New variable.
18038 (search_mod_CFLAGS): Likewise.
18039
18040 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
18041 (pkgdata_MODULES): Added search.mod.
18042 (search_mod_SOURCES): New variable.
18043 (search_mod_CFLAGS): Likewise.
18044
18045 * commands/ls.c (grub_ls_list_disks): Renamed to ...
18046 (grub_ls_list_devices): ... this, and use grub_device_iterate.
18047 All callers changed.
18048
18049 * DISTLIST: Added commands/search.c.
18050
ef095434 180512005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
18052
18053 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
18054 conversion.
18055 (grub_getcharwidth): New function.
18056
18057 * kern/misc.c (grub_utf8_to_ucs4): New function.
18058
18059 * include/grub/term.h (struct grub_term): Added a new member
18060 "getcharwidth".
18061 (grub_getcharwidth): New prototype.
18062
18063 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
18064
18065 * term/i386/pc/console.c (map_char): New function. Segregated from
18066 grub_console_putchar.
18067 (grub_console_putchar): Use map_char.
18068 (grub_console_getcharwidth): New function.
18069 (grub_console_term): Specified grub_console_getcharwidth as
18070 getcharwidth.
18071
18072 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
18073 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
18074
18075 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
18076 GRUB_ERRNO.
18077 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
18078 on grub_strtoul completely.
18079 (write_char): Declare local variables in the beginning of the
18080 function.
18081 (grub_vesafb_getcharwidth): New function.
18082 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
18083 getcharwidth.
18084
1f0a95e4 180852005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
18086
18087 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
18088 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
18089 commands/i386/pc/vbetest.c.
18090
18091 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
18092 call grub_vbe_get_controller_info again, because the returned
18093 information is volatile.
18094 (grub_vbe_set_video_mode): Mostly rewritten.
18095 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
18096 grub_vbe_status_t correctly.
18097 (grub_vbe_get_video_mode_info): Likewise.
18098 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
18099 several if statements.
18100
18101 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
18102 * commands/i386/pc/vbeinfo.c: ... this.
18103
18104 * commands/i386/pc/vbe_test.c: Renamed to ...
18105 * commands/i386/pc/vbetest.c: ... this.
18106
18107 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
18108 ...
18109 (grub_cmd_vbeinfo): ... this. Save video modes before
18110 iterating. Skip a video mode, if it is not available, not enough
18111 information is given or it is monochrome. Show the memory
18112 model. Leave the interpretation of MODEVAR to grub_strtoul
18113 completely.
18114 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
18115 (GRUB_MOD_FINI): Likewise.
18116
18117 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
18118 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
18119 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
18120 duplicated grub_env_get. Leave the interpretation of MODEVAR to
18121 grub_strtoul completely.
18122 (real2pm): Removed.
18123 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
18124 (GRUB_MOD_FINI): Likewise.
18125
18126 * normal/misc.c: Include grub/mm.h.
18127
18128 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
18129 vbe_list_modes with vbetest.mod and vbeinfo.mod.
18130 (vbe_list_modes_mod_SOURCES): Removed.
18131 (vbe_list_modes_mod_CFLAGS): Likewise.
18132 (vbe_test_mod_SOURCES): Likewise.
18133 (vbe_test_mod_CFLAGS): Likewise.
18134 (vbeinfo_mod_SOURCES): New variable.
18135 (vbeinfo_mod_CFLAGS): Likewise.
18136 (vbetest_mod_SOURCES): Likewise.
18137 (vbetest_mod_CFLAGS): Likewise.
18138
992ffbbe 181392005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
18140
18141 * normal/misc.c: New file.
18142
18143 * DISTLIST: Added normal/misc.c.
f19dbdb7 18144
992ffbbe 18145 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
18146 DISK to HOOK. Call HOOK with DISK.
18147 * partmap/apple.c (apple_partition_map_iterate): Likewise.
18148 * partmap/pc.c (pc_partition_map_iterate): Likewise.
18149 * partmap/sun.c (sun_partition_map_iterate): Likewise.
18150
18151 * normal/menu_entry.c (struct screen): Added a new member
18152 "completion_shown".
18153 (completion_buffer): New global variable.
18154 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
18155 (store_completion): New function.
18156 (complete): Likewise.
18157 (clear_completions): Likewise.
18158 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
18159 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
18160 a tab, call complete.
18161
18162 * normal/completion.c (disk_dev): Removed.
18163 (print_simple_completion): Likewise.
18164 (print_partition_completion): Likewise.
18165 (print_func): New global variable.
18166 (add_completion): Do not take the arguments WHAT or PRINT any
18167 longer. Added a new argument TYPE. Instead of printing directly,
18168 call PRINT_FUNC if not NULL.
18169 All callers changed.
18170 (complete_device): Use a local variable DEV instead of
18171 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
18172 (grub_normal_do_completion): Take a new argument HOOK. Do not
18173 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
18174 empty string, return NULL instead.
18175 All callers changed.
18176
18177 * normal/cmdline.c (print_completion): New function.
18178
18179 * kern/partition.c (grub_partition_iterate): Add an argument DISK
18180 to HOOK.
18181 All callers changed.
18182
18183 * kern/disk.c (grub_print_partinfo): Removed.
18184
18185 * include/grub/partition.h (struct grub_partition_map): Add a new
18186 argument DISK into HOOK of ITERATE.
18187 (grub_partition_iterate): Add a new argument DISK to HOOK.
18188
18189 * include/grub/normal.h (enum grub_completion_type): New enum.
18190 (grub_completion_type_t): New type.
18191 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
18192 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
18193 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
18194 (GRUB_COMPLETION_TYPE_FILE): Likewise.
18195 (grub_normal_do_completion): Added a new argument HOOK.
18196 (grub_normal_print_device_info): New prototype.
18197
18198 * include/grub/disk.h (grub_print_partinfo): Removed.
18199
18200 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
18201 (normal_mod_SOURCES): Likewise.
18202 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18203 (normal_mod_SOURCES): Likewise.
18204
18205 * commands/ls.c (grub_ls_list_disks): Use
18206 grub_normal_print_device_info instead of grub_print_partinfo. Free
18207 PNAME.
18208 (grub_ls_list_files): Use grub_normal_print_device_info instead of
18209 duplicating the code.
18210
0bd41162 182112005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
18212
18213 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 18214 follow GCS more precisely.
18215 * commands/i386/pc/vbe_test.c: Likewise.
18216 * include/grub/i386/pc/vbe.h: Likewise.
18217 * term/i386/pc/vesafb.c: Likewise.
18218 * video/i386/pc/vbe.c: Likewise.
0bd41162 18219
6323696a 182202005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
18221
18222 * DISTLIST: Added term/i386/pc/vesafb.c
18223 DISTLIST: Added video/i386/pc/vbe.c
18224 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
18225 DISTLIST: Added commands/i386/pc/vbe_test.c.
18226 * commands/i386/pc/vbe_list_modes.c: New file.
18227 * commands/i386/pc/vbe_test.c: Likewise.
18228 * term/i386/pc/vesafb.c: Likewise.
18229 * video/i386/pc/vbe.c: Likewise.
18230 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
18231 (grub_vbe_probe) Added prototype.
18232 (grub_vbe_set_video_mode) Likewise.
18233 (grub_vbe_get_video_mode) Likewise.
18234 (grub_vbe_get_video_mode_info) Likewise.
18235 (grub_vbe_set_pixel_rgb) Likewise.
18236 (grub_vbe_set_pixel_index) Likewise.
18237 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
18238 (pkgdata_MODULES): Added vesafb.mod.
18239 (pkgdata_MODULES): Added vbe_list_modes.mod.
18240 (pkgdata_MODULES): Added vbe_test.mod.
18241 (vbe_mod_SOURCES): Added.
18242 (vbe_mod_CFLAGS): Likewise.
18243 (vesafb_mod_SOURCES): Likewise.
18244 (vesafb_mod_CFLAGS): Likewise.
18245 (vbe_list_modes_mod_SOURCES): Likewise.
18246 (vbe_list_modes_mod_CFLAGS): Likewise.
18247 (vbe_test_mod_SOURCES): Likewise.
18248 (vbe_test_mod_CFLAGS): Likewise.
18249
0a74e62f 182502005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
18251
0a74e62f 18252 * normal/command.c (grub_command_execute): If INTERACTIVE is
18253 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
18254 CMDLINE. Disable the pager if INTERACTIVE is true.
18255 All callers are changed.
18256
18257 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
18258 before reading a config file.
18259 * normal/main.c (read_config_file): Even if a command is not
18260 found, register it if it is within an entry.
18261
18262 * util/grub-emu.c: Include sys/types.h and unistd.h.
18263 (options): Added --hold.
18264 (struct arguments): Added a new member "hold".
18265 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
18266 missing.
18267 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
18268 cleared by a debugger, if it is not zero.
18269
18270 * include/grub/normal.h (grub_command_execute): Add an argument
18271 INTERACTIVE.
18272
e51f85ae 182732005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
18274
18275 * DISTLIST: Added include/grub/i386/pc/vbe.h.
18276
e9c6f39b 182772005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
18278
18279 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
18280 program with another one, because the old one didn't detect a bug
18281 in gcc-3.4. Always use regparm 2, because the new test is still
18282 not enough for gcc-4.0. Someone must investigate a simple test
18283 case which detects a bug in gcc-4.0.
18284
8de3495c 182852005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
18286
18287 * DISTLIST: Added normal/completion.c.
18288
18289 * normal/completion.c: New file.
f19dbdb7 18290
8de3495c 18291 * term/i386/pc/console.c (grub_console_getwh): New function.
18292 (grub_console_term): Assign grub_console_getwh to getwh.
18293
18294 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
18295 function is defined in normal/completion.c as
18296 grub_normal_do_completion.
18297 (grub_cmdline_get): Use grub_normal_do_completion instead of
18298 grub_tab_complete.
18299
18300 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
18301 returns non-zero, otherwise return 0.
18302 (grub_partition_iterate): First, probe the partition map. Then,
18303 call ITERATE only for this partition map.
18304
18305 * kern/misc.c (grub_strncmp): Rewritten.
18306
18307 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
18308 returns non-zero. Otherwise return 0.
18309
18310 * include/grub/partition.h (grub_partition_map_iterate): Return
18311 int instead of void.
18312
18313 * include/grub/normal.h (grub_normal_do_completion): New prototype.
18314
18315 * include/grub/misc.h (grub_strncmp): Change the type of N to
18316 grub_size_t.
18317
18318 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
18319 of void.
18320
18321 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 18322 unsigned explicitly before comparing it with I.
8de3495c 18323
18324 * kern/main.c (grub_env_write_root): Add the attribute unused into
18325 VAR.
18326
18327 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
18328 normal/completion.c.
18329 (normal_mod_SOURCES): Likewise.
18330 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18331 (normal_mod_SOURCES): Likewise.
18332
18333 * normal/command.c (grub_iterate_commands): If ITERATE returns
18334 non-zero, return one immediately.
18335
e85e144b 183362005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
18337
18338 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
18339 * kern/i386/pc/startup.S: Updated Global Descriptor table's
18340 descriptions.
18341 (grub_vbe_get_controller_info): New function.
18342 (grub_vbe_get_mode_info): Likewise.
18343 (grub_vbe_set_mode): Likewise.
18344 (grub_vbe_get_mode): Likewise.
18345 (grub_vbe_set_memory_window): Likewise.
18346 (grub_vbe_get_memory_window): Likewise.
18347 (grub_vbe_set_scanline_length): Likewise.
18348 (grub_vbe_get_scanline_length): Likewise.
18349 (grub_vbe_set_display_start): Likewise.
18350 (grub_vbe_get_display_start): Likewise.
18351 (grub_vbe_set_palette_data): Likewise.
18352 * include/grub/i386/pc/vbe.h: New file.
18353
c46153d2 183542005-08-08 Hollis Blanchard <hollis@penguinppc.org>
18355
18356 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
18357 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
18358 * DISTLIST: Likewise.
18359 * kern/ieee1275/of.c: Moved to ...
18360 * kern/ieee1275/ieee1275.c: ... here.
18361
0cb90c45 183622005-08-08 Hollis Blanchard <hollis@penguinppc.org>
18363
18364 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
18365 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
18366 Pass 0 as `end' parameter to grub_strtoul().
18367
a19fb360 183682005-08-08 Hollis Blanchard <hollis@penguinppc.org>
18369
18370 * include/grub/powerpc/ieee1275/console.h: Do not include
18371 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
18372 ifdef.
18373 (grub_console_cur_color): Remove i386-specific prototype.
18374 (grub_console_real_putchar): Likewise.
18375 (grub_console_checkkey): Likewise.
18376 (grub_console_getkey): Likewise.
18377 (grub_console_getxy): Likewise.
18378 (grub_console_gotoxy): Likewise.
18379 (grub_console_cls): Likewise.
18380 (grub_console_setcursor): Likewise.
18381 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
18382 Include <grub/machine/console.h>.
18383 * term/ieee1275/ofconsole.c: Likewise.
18384
4ac9bd04 183852005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
18386
18387 * Makefile.in (LIBLZO): New variable.
18388
18389 * configure.ac: Check for LZO version 2.
18390
18391 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
18392 lzo/lzo1x.h instead of lzo1x.h.
18393
18394 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
18395 of -llzo.
18396
18397 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
18398 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
18399
18400 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
18401 copying the data from PARTITION to P.
18402
f4917dfd 184032005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
18404
18405 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
18406 negative, unload the module.
18407
18408 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
18409 map is "pc_partition_map" but not "pc".
18410 (usage): Fix the description. The options are --boot-image and
18411 --core-image but not --boot-file or --core-file.
18412 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
18413 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
18414 DEFAULT_DIRECTORY.
18415
18416 * util/i386/pc/grub-install.in: Do not specify --boot-file or
18417 --core-file. Specify INSTALL_DEVICE as an argument.
18418
18419 * util/console.c: Include config.h.
18420 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
18421 [HAVE_NCURSES_H]: Include ncurses.h.
18422 [HAVE_CURSES_H]: Include curses.h.
18423 [!A_NORMAL] (A_NORMAL): Defined as zero.
18424 [!A_STANDOUT] (A_STANDOUT): Likewise.
18425
18426 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
18427 -lncurses.
18428 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
18429
18430 * configure.ac: Check for curses libraries and headers.
18431
18432 * Makefile.in (LIBCURSES): New variable.
18433
18434 * genmk.rb (Script::rule): Set the executable bits.
18435
18436 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
18437 name of the PC partition map is "pc_partition_map" but not "pc".
18438
0e143073 184392005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
18440
18441 * util/i386/pc/grub-install.in (grub_probefs): New variable.
18442 (modules): Likewise.
18443 (usage): Added descriptions for --modules and --grub-probefs.
18444 Handle --modules and --grub-probefs. Save the arguments in MODULES
18445 and GRUB_PROBEFS, respectively.
18446 Auto-detect a filesystem module against GRUBDIR. If the result is
18447 empty and modules are not specified explicitly, abort the
18448 installation. Add the result to MODULES.
18449
18450 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
18451 disk/powerpc/ieee1275/ofdisk.c,
18452 include/grub/powerpc/ieee1275/init.h and
18453 term/powerpc/ieee1275/ofconsole.c.
18454 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
18455 term/ieee1275/ofconsole.c.
18456
18457 * include/grub/powerpc/ieee1275/console.h: Resurrected.
18458
18459 * COPYING: Upgraded to the latest version. Only the address of the
18460 FSF office has changed.
f19dbdb7 18461
efd6e6d5 184622005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
18463
18464 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
18465 kern/ieee1275.c with kern/ieee1275/of.c.
18466
18467 * kern/ieee1275.c: Moved to ...
18468 * kern/ieee1275/of.c: ... here.
18469
8ceafda2 184702005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
18471
18472 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 18473 readability.
8ceafda2 18474
18475 * config.guess: Updated to the latest version from gnulib.
18476 * config.sub: Likewise.
18477 * install.sh: Likewise.
18478 * mkinstalldirs: Likewise.
18479
18480 * include/grub/console.h: Removed. This file is arch-specific. Do
18481 not put this in include/grub.
18482
18483 * include/grub/i386/pc/console.h: Resurrected.
18484
18485 * util/console.c: Include grub/machine/console.h instead of
18486 grub/console.h.
18487 * util/grub-emu.c: Likewise.
18488
267f6cd9 184892005-08-04 Marco Gerards <metgerards@student.han.nl>
18490
18491 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
18492 hardcoded value.
f19dbdb7 18493
267f6cd9 18494 From Vincent Pelletier <subdino2004@yahoo.fr>
18495 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
18496 Redefined to use grub_getwh.
18497 (grub_term): New member named getwh.
18498 (grub_getwh): New prototype.
18499 * kern/term.c (grub_getwh): New function.
18500 * term/i386/pc/console.c (grub_console_getwh): New function.
18501 (grub_console_term): New member `getwh'.
18502 * term/i386/pc/vga.c (grub_vga_getwh): New function.
18503 (grub_vga_term): New member `getwh'.
0b5abe02 18504 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 18505 grub_ssize_t.
18506 (grub_ofconsole_getw): New function.
18507 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
18508 (grub_ofconsole_term): New field named getwh and new initial
18509 value.
18510
3be7266d 185112005-08-03 Hollis Blanchard <hollis@penguinppc.org>
18512
18513 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
18514 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
18515 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
18516 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
18517 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
18518 of <grub/machine/ieee1275.h>.
18519 * commands/ieee1275/reboot.c: Likewise.
18520 * boot/powerpc/ieee1275/ieee1275.c: Move ...
18521 * kern/ieee1275.c: ... to here. All users updated. Change all
18522 parameter structs to use new type `grub_ieee1275_cell_t'.
18523 * term/powerpc/ieee1275/ofconsole.c: Move ...
18524 * term/ieee1275/ofconsole.c: ... to here. All users updated.
18525 * disk/powerpc/ieee1275/ofdisk.c: Move ...
18526 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
18527 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
18528 to return int.
18529 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
18530 Remove unused prototypes. All users updated.
18531 * include/grub/powerpc/ieee1275/console.h: Removed.
18532 * include/grub/powerpc/ieee1275/ieee1275.h: Define
18533 `grub_ieee1275_cell_t'.
18534 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
18535 Cast comparisons with -1 to the correct type.
18536 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
18537 type to match `grub_ieee1275_entry_fn'.
18538
8b5f3938 185392005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
18540
18541 * DISTLIST: Added util/i386/pc/grub-probefs.c.
18542
18543 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
18544 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
18545 partmap/sun.c.
18546 (grub_probefs_SOURCES): New variable.
18547
18548 * util/i386/pc/grub-probefs.c: New file.
18549
18550 * util/i386/pc/grub-setup.c (main): Call
18551 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
18552 grub_hfs_init and grub_jfs_init to initialize the system. Call
18553 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
18554 grub_pc_partition_map_fini to finish the system.
18555
ea409713 185562005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
18557
18558 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
18559 function.
18560 (grub_multiboot_load_elf32): Likewise.
18561 (grub_multiboot_is_elf64): Likewise.
18562 (grub_multiboot_load_elf64): Likewise.
18563 (grub_multiboot_load_elf): Likewise.
18564 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
18565 an ELF32 or ELF64 file.
18566 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
18567
18568 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
18569 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
18570 NULL before calling FS->LABEL.
18571 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
18572 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
18573 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
18574 before calling FS->LABEL.
18575
141a288b 185762005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
18577
18578 * util/i386/pc/grub-install.in (datadir): New variable.
18579 (libdir): Removed.
18580 (pkgdatadir): New variable.
18581 (pkglibdir): Removed.
18582
0d5f8a54 185832005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
18584
18585 * DISTLIST: Added util/i386/pc/grub-install.in.
18586
18587 * util/i386/pc/grub-install.in: New file.
18588
18589 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
18590 (grub_install_SOURCES): Likewise.
18591
18592 * genmk.rb: Added support for scripts.
18593 (Script): New class.
18594 (scripts): New variable.
18595
18596 * Makefile.in (install-local): Install sbin_SCRIPTS by
18597 INSTALL_SCRIPT.
18598 (uninstall): Remove sbin_SCRIPTS.
18599
18600 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
18601 device, try to get a GRUB device by
18602 grub_util_biosdisk_get_grub_dev.
18603 Free DEST_DEV.
18604
18605 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
18606 description for --device-map.
18607
5f968e1e 186082005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
18609
18610 Change the semantics of variable hooks. They now return strings
18611 instead of error values.
f19dbdb7 18612
5f968e1e 18613 * util/i386/pc/grub-setup.c: Include grub/env.h.
18614 (setup): Use grub_device_set_root instead of grub_env_set.
18615
18616 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
18617 grub_env_get instead of grub_device_set_root and
18618 grub_device_get_root, respectively.
18619
18620 * kern/main.c (grub_env_write_root): New function.
18621 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
18622 grub_env_set instead of grub_device_set_root.
18623
18624 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
18625 many variables.
18626 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
18627 rather than calling ENV->WRITE_HOOK afterwards.
18628 (grub_env_get): Return the result of ENV->READ_HOOK rather than
18629 passing a pointer of a pointer.
18630 (grub_register_variable_hook): Change the types of "read_hook" and
18631 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
18632 respectively.
18633 Allocate the default empty string on the heap, because this string
18634 may be freed later.
18635
18636 * kern/device.c: Include grub/env.h.
18637 (grub_device_set_root): Removed.
18638 (grub_device_get_root): Likewise.
18639 (grub_device_open): Use grub_env_get instead of
18640 grub_device_get_root.
18641
18642 * include/grub/env.h (grub_env_read_hook_t): New type.
18643 (grub_env_write_hook_t): Likewise.
18644 (grub_env_var): Change the types of "read_hook" and "write_hook"
18645 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
18646 (grub_register_variable_hook): Likewise.
18647
18648 * include/grub/device.h (grub_device_set_root): Removed.
18649 (grub_device_set_root): Likewise.
18650
18651 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
18652 make sure that DIRNAME terminates with '/', so that
18653 grub_fat_find_dir will fail if PATH is not a directory.
18654
18655 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
18656 from DIRNAME.
18657 Use the qualifier auto for print_files and print_files_long.
18658 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
18659 as a regular file.
18660 Put a newline only if there is no error.
18661 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
18662 used.
18663
896f0afd 186642005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
18665
18666 * kern/partition.c (grub_partition_probe): Initialize PART to
18667 NULL. Otherwise, when no partition map is registered, this returns
18668 a garbage.
18669
b28b81b2 186702005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
18671
18672 * partmap/apple.c (apple_partition_map_iterate): Check if POS
18673 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
18674 valid.
18675
5f3607e0 186762005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
18677
18678 * commands/ls.c (grub_ls_list_disks): Print the filesystem
18679 information on each device, if it does not have partitions. Print
18680 "Device" instead of "Disk", because this function is not specific
18681 to disk devices.
18682
18683 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
18684 static to ensure that it is put on the memory rather than a
18685 register.
18686
502c87e8 186872005-07-17 Yoshinori Okuji <okuji@enbug.org>
18688
18689 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
18690 (grub_cat_init): Likewise.
18691 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
18692 (options): Likewise.
18693 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
18694 (grub_configfile_init): Likewise.
18695 * font/manager.c (GRUB_MOD_INIT): Likewise.
18696 * commands/help.c (GRUB_MOD_INIT): Likewise.
18697 (grub_help_init): Likewise.
18698 * normal/command.c (grub_command_init): Likewise.
18699 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
18700 * disk/loopback.c (grub_loop_init): Likewise.
18701 (GRUB_MOD_INIT): Likewise.
18702 * commands/ls.c (grub_ls_init): Likewise.
18703 (GRUB_MOD_INIT): Likewise.
18704 (options): Likewise.
18705 * commands/boot.c (grub_boot_init): Likewise.
18706 (GRUB_MOD_INIT): Likewise.
18707 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
18708 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
18709 (GRUB_MOD_INIT): Likewise.
18710 * commands/cmp.c (grub_cmp_init): Likewise.
18711 (GRUB_MOD_INIT): Likewise.
18712
18713 * normal/arg.c: Use <> instead of "" to include header files.
18714 (SHORT_ARG_HELP): New macro.
18715 (SHORT_ARG_USAGE): Likewise.
18716 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
18717 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
18718 descriptions.
18719 (find_short): Check if C is 'h' or 'u' explicitly.
18720 (grub_arg_show_help): Use space characters instead of tabs. Treat
18721 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
18722 are shown with --help and --usage only if they are not used for
18723 the command itself.
18724 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
18725 'h' and 'u'.
18726
18727 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
18728 const into "longarg". Change the type of "shortarg" to int.
18729
f806d18e 187302005-07-17 Yoshinori Okuji <okuji@enbug.org>
18731
18732 * boot/i386/pc/boot.S (boot_drive_check): New label.
18733
18734 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
18735 macro.
18736
18737 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
18738 which do not pass a boot drive correctly. Copied from GRUB Legacy.
18739
e293232b 187402005-07-17 Yoshinori Okuji <okuji@enbug.org>
18741
18742 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
18743 When turning off Gate A20, skip the check and return immediately,
18744 because this is not fatal usually.
18745
ebedfd00 187462005-07-17 Yoshinori Okuji <okuji@enbug.org>
18747
18748 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
18749 be 0x7C00 instead of 0x8000.
18750
18751 * boot/i386/pc/pxeboot.S: Rewritten.
18752
18753 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
18754 EXT_C.
18755 (gate_a20_check_state): Read a byte from 0x108000. Invert the
18756 result.
18757
654fc59f 187582005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
18759
18760 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
18761 robustness. This routine now supports a BIOS call and System
18762 Control Port A to modify the gate A20.
18763
18764 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
18765 Increased to 0x440.
18766
09f9923f 187672005-07-12 Hollis Blanchard <hollis@penguinppc.org>
18768
18769 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
18770 device path and resulting ihandle.
18771 (grub_ofdisk_close): dprintf the ihandle being closed.
18772 (grub_ofdisk_read): dprintf function parameters.
18773 * kern/mm.c (grub_mm_init_region): Likewise.
18774 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
18775 (grub_linux_boot): dprintf the Linux entry point, initrd address and
18776 size, and boot arguments.
18777 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
18778 before loading into memory.
18779 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
18780 before loading into memory.
18781
7ef504d8 187822005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
18783
18784 * kern/mm.c: Added much documentation.
18785 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
18786 8, set to 5 instead of 8.
18787
e0f050c2 187882005-07-10 Yoshinori Okuji <okuji@enbug.org>
18789
18790 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
18791
18792 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
18793 (grub_mkdevicemap_SOURCES): New variable.
18794
18795 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
18796 lib/device.c of GRUB Legacy.
18797
7224189a 187982005-07-10 Yoshinori Okuji <okuji@enbug.org>
18799
18800 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
18801 instead of PATH is NULL.
18802
68c864eb 188032005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
18804
18805 * commands/cmp.c (BUFFER_SIZE): New macro.
18806 (grub_cmd_cmp): Close the right file at the right time. Compare
18807 only data just read. Don't report files of different size as
18808 identical. Dynamically allocate buffers. Move variable
18809 declarations at the beginning of function.
18810
e6f3e614 188112005-07-09 Yoshinori Okuji <okuji@enbug.org>
18812
18813 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
18814 reverse.
18815
f8f1559a 188162004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
18817
18818 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
18819 when backspace is pressed at beginning of line.
18820
39c9d41d 188212005-07-03 Yoshinori Okuji <okuji@enbug.org>
18822
18823 * DISTLIST: Added genfslist.sh.
18824
18825 * normal/main.c (fs_module_list): New variable.
18826 (autoload_fs_module): New function.
18827 (read_fs_list): Likewise.
18828 (grub_normal_execute): Call read_fs_list.
18829
18830 * kern/fs.c (grub_fs_autoload_hook): New variable.
18831 (grub_fs_probe): Added support for auto-loading.
18832
18833 * include/grub/normal.h (struct grub_fs_module_list): New struct.
18834 (grub_fs_module_list_t): New type.
18835
18836 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
18837 (grub_fs_autoload_hook): New prototype.
18838
18839 * genfslist.sh: New file.
f19dbdb7 18840
39c9d41d 18841 * genmk.rb: Added a rule to generate a filesystem list.
18842
121c1d83 188432005-06-30 Marco Gerards <metgerards@student.han.nl>
18844
18845 * configure.ac: Fix the test for cross-compiling.
18846
18847 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
18848 define GRUB_UTIL anymore.
18849
18850 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
18851 so this function works on other systems than just big endian.
18852 (load_modules): Likewise.
18853 (add_segments): Likewise.
18854
e75d76e1 188552005-06-23 Hollis Blanchard <hollis@penguinppc.org>
18856
18857 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
18858 contains `l' modifier, get a long from va_arg().
18859
50b5a0a7 188602005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
18861
18862 * kern/mm.c (grub_free): If the next free block which is being
18863 merged is the first free block, set the first block to the block
18864 being freed.
18865 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
18866
89371b20 188672005-05-08 Hollis Blanchard <hollis@penguinppc.org>
18868
18869 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
18870 `grub_ieee1275_chosen'.
18871
168d6e58 188722005-05-08 Hollis Blanchard <hollis@penguinppc.org>
18873
18874 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
18875 (grub_ieee1275_chosen): New variable.
18876 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
18877 `chosen'.
18878 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
18879 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
18880 Rename first argument to `phandle' for consistency.
18881 (grub_ieee1275_get_property_length): Likewise.
18882 (grub_ieee1275_next_property): Likewise. Change type of first argument
18883 to grub_ieee1275_phandle_t.
18884 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
18885 Move export next to declaration.
18886 (grub_ieee1275_chosen): New variable.
18887 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
18888 Correct cosmetic typo.
18889 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
18890 `grub_ieee1275_chosen'.
18891 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
18892 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
18893 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
18894 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
18895 `grub_ieee1275_chosen'.
18896
ca5baa3f 188972005-05-10 Hollis Blanchard <hollis@penguinppc.org>
18898
18899 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
18900 /chosen/bootargs.
18901 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
18902 /chosen/bootargs as "variable=value" pairs.
18903
708b345f 189042005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
18905
18906 * include/grub/misc.h (grub_dprintf): New macro.
18907 (grub_real_dprintf): New prototype.
18908 (grub_strword): Likewise.
18909 (grub_iswordseparator): Likewise.
18910 * kern/misc.c (grub_real_dprintf): New function.
18911 (grub_strword): Likewise.
18912 (grub_iswordseparator): Likewise.
18913
f4c5e67c 189142005-04-30 Hollis Blanchard <hollis@penguinppc.org>
18915
18916 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
18917 (roundup): Remove macro.
18918 (grub_ieee1275_flags): Make static.
18919 (grub_ieee1275_realmode): Remove.
18920 (grub_ieee1275_test_flag): New function.
18921 (grub_ieee1275_set_flag): Likewise.
18922 (find_options): Rename to `grub_ieee1275_find_options'; update
18923 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
18924 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
18925 (cmain): New prototype.
18926 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
18927 `grub_ieee1275_flags' directly.
18928 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
18929 machine/biosdisk.h.
18930 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
18931 Don't include grub/machine/init.h.
18932 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
18933 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
18934 Remove prototype.
18935 (grub_ieee1275_realmode): Likewise.
18936 (grub_ieee1275_flag): New enum.
18937 (grub_ieee1275_test_flag): New prototype.
18938 (grub_ieee1275_set_flag): New prototype.
18939 * include/grub/powerpc/ieee1275/init.h: Remove file.
18940 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
18941 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
18942 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
18943 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
18944 comment.
18945 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
18946 `grub_ieee1275_test_flag'.
18947 (grub_ieee1275_encode_devname): Likewise.
18948
ed16607e 189492005-04-21 Hollis Blanchard <hollis@penguinppc.org>
18950
18951 * include/grub/powerpc/ieee1275/ieee1275.h
18952 (grub_ieee1275_encode_devname): New prototype.
18953 (grub_ieee1275_get_filename): Likewise.
18954 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
18955 function.
18956 (grub_set_prefix): Likewise.
18957 (grub_machine_init): Call grub_set_prefix.
18958 * kern/powerpc/ieee1275/openfw.c: Fix typos.
18959 (grub_parse_type): New enum.
18960 (grub_ieee1275_get_devargs): New function.
18961 (grub_ieee1275_get_devname): Likewise.
18962 (grub_ieee1275_parse_args): Likewise.
18963 (grub_ieee1275_get_filename): Likewise.
18964 (grub_ieee1275_encode_devname): Likewise.
18965
be369920 189662005-03-30 Marco Gerards <metgerards@student.han.nl>
18967
18968 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
18969 `grub_loader_unset'.
18970
a5ce3a4a 189712005-03-26 Hollis Blanchard <hollis@penguinppc.org>
18972
18973 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
18974 instead of grub_ieee1275_interpret.
18975 (grub_halt_init): New function.
18976 (grub_halt_fini): Likewise.
18977 (GRUB_MOD_INIT): Correct message grammar.
18978 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
18979 instead of grub_ieee1275_interpret.
18980 (grub_reboot_init): New function.
18981 (grub_reboot_fini): Likewise.
18982 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
18983 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
18984 util/i386/pc/misc.c with commands/ieee1275/halt.c,
18985 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
18986 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
18987 function.
18988 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
18989 Add prototype.
18990 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
18991 prototype.
18992 (grub_halt): Likewise.
18993 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
18994 (cmain): Remove __attribute__((unused)).
18995 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
18996 (grub_heap_len): Likewise.
18997 (grub_machine_fini): New function.
18998 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
18999 (grub_halt): Likewise.
19000 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
19001 function.
19002 * util/powerpc/ieee1275/misc.c: New file.
19003
0058f771 190042005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
19005
19006 * DISTLIST: New file.
19007 * gendistlist.sh: Likewise.
f19dbdb7 19008
0058f771 19009 * Makefile.in (COMMON_DISTFILES): Removed.
19010 (BOOT_DISTFILES): Likewise.
19011 (CONF_DISTFILES): Likewise.
19012 (DISK_DISTFILES): Likewise.
19013 (FS_DISTFILES): Likewise.
19014 (INCLUDE_DISTFILES): Likewise.
19015 (KERN_DISTFILES): Likewise.
19016 (LOADER_DISTFILES): Likewise.
19017 (TERM_DISTFILES): Likewise.
19018 (UTIL_DISTFILES): Likewise.
19019 (DISTFILES): Likewise.
19020 (uninstall): Uninstall files in $(pkgdata_DATA).
19021 (DISTLIST): New target.
19022 (distdir): Use the contents of the file DISTLIST to get a list of
19023 distributed files.
19024
46b3b8a5 190252005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
19026
19027 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
19028 descriptor. This is ported from GRUB Legacy.
19029
19030 * gencmdlist.sh: Added an extra semicolon to make it work with
19031 old sed versions. Reported by Robert Bihlmeyer
19032 <robbe@orcus.priv.at>.
19033
5822ff87 190342005-03-08 Yoshinori Okuji <okuji@enbug.org>
19035
19036 Automatic loading of commands is supported.
f19dbdb7 19037
5822ff87 19038 * normal/main.c (read_command_list): New function.
19039 (grub_normal_execute): Call read_command_list.
19040
19041 * normal/command.c (grub_register_command): Return zero or CMD.
19042 Allocate CMD->NAME from the heap.
19043 Initialize CMD->MODULE_NAME to zero.
19044 Find the same name as well. If the same command is found and it is
19045 a dummy command, overwrite members. If it is not a dummy command,
19046 return zero.
19047 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
19048 (grub_command_find): If a dummy command is found, load a module
19049 and retry to find a command only once.
19050
19051 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
19052 make sure that each command is loaded.
19053
19054 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
19055 macro.
19056 (struct grub_command): Remove const from the member `name'.
19057 Add a new member `module_name'.
19058 (grub_register_command): Return grub_command_t.
19059
19060 * commands/help.c (grub_cmd_help): Call grub_command_find to make
19061 sure that each command is loaded.
19062
19063 * genmk.rb (PModule::rule): Specify a module name without the
19064 suffix ".mod" to gencmdlist.sh.
19065
7b1f4b57 190662005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
19067
19068 * gencmdlist.sh: New file.
f19dbdb7 19069
7b1f4b57 19070 * genmk.rb (PModule::rule): Generate a rule for a command list.
19071 Clean command.lst.
19072 Generate command.lst from $(COMMANDFILES).
19073
19074 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
19075 (DATA): Added $(pkgdata_DATA).
19076 (install-local): Install files in $(pkgdata_DATA).
19077
062aaf39 190782005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
19079
19080 * term/i386/pc/vga.c (debug_command): Removed.
19081 (GRUB_MOD_INIT): Do not register the command "debug".
19082
19083 From Hollis Blanchard:
19084 * commands/configfile.c: New file.
19085 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
19086 commands/configfile.c.
19087 (pkgdata_MODULES): Added configfile.mod.
19088 (configfile_mod_SOURCES): New variable.
19089 (configfile_mod_CFLAGS): Likewise.
19090 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
19091 commands/configfile.c.
19092 (pkgdata_MODULES): Added configfile.mod.
19093 (configfile_mod_SOURCES): New variable.
19094 (configfile_mod_CFLAGS): Likewise.
19095 * util/grub-emu.c (main): Call grub_configfile_init and
19096 grub_configfile_fini.
19097 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
19098 prototype.
19099 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 19100
cee01aa6 191012005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
19102
19103 * normal/arg.c (grub_arg_show_help): Do not show the bug report
19104 address.
19105
19106 * commands/help.c (grub_cmd_help): Do not print newlines after
19107 the last command in print_command_help.
19108
93f3a1d8 191092005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
19110
19111 * commands/default.h: New file.
19112 * commands/timeout.h: Likewise.
19113 * normal/context.c: Likewise.
f19dbdb7 19114
93f3a1d8 19115 * util/misc.c: Do not include sys/times.h.
19116 Include sys/time.h and grub/machine/time.h.
19117 (grub_get_rtc): Rewritten with gettimeofday.
19118
19119 * util/grub-emu.c (main): Call grub_default_init and
19120 grub_timeout_init before grub_normal_init, and call
19121 grub_timeout_fini and grub_default_fini after grub_main.
19122
19123 * util/console.c (grub_ncurses_checkkey): Return the read
19124 character or -1.
19125
19126 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
19127 timeouts.
19128
19129 * normal/main.c (read_config_file): Push MENU. If this fails,
19130 print an error and wait for a user input.
19131 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
19132 If a menu is empty or an error occurs, pop MENU.
19133 (grub_normal_execute): Pop and free MENU after grub_menu_run
19134 returns.
19135
19136 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
19137
19138 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
19139 include time.h.
19140 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
19141 without GRUB_UTIL.
19142 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
19143 time.h.
19144 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
19145 without GRUB_UTIL.
19146
19147 * include/grub/normal.h (struct grub_menu_list): New struct.
19148 (grub_menu_list_t): New type.
19149 (struct grub_context): New struct.
19150 (grub_context_t): New type.
19151 (grub_register_command): Got rid of EXPORT_FUNC.
19152 (grub_unregister_command): Likewise.
19153 (grub_context_get): New prototype.
19154 (grub_context_get_current_menu): Likewise.
19155 (grub_context_push_menu): Likewise.
19156 (grub_context_pop_menu): Likewise.
19157 [GRUB_UTIL] (grub_default_init): Likewise.
19158 [GRUB_UTIL] (grub_default_fini): Likewise.
19159 [GRUB_UTIL] (grub_timeout_init): Likewise.
19160 [GRUB_UTIL] (grub_timeout_fini): Likewise.
19161
19162 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
19163 commands/timeout.c and normal/context.c.
19164 (pkgdata_MODULES): Added default.mod and timeout.mod.
19165 (normal_mod_SOURCES): Added normal/context.c.
19166 (default_mod_SOURCES): New variable.
19167 (default_mod_CFLAGS): Likewise.
19168 (timeout_mod_SOURCES): Likewise.
19169 (timeout_mod_CFLAGS): Likewise.
19170 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
19171 conf/i386-pc.rmk.
19172 (pkgdata_MODULES): Added default.mod and timeout.mod.
19173 (normal_mod_SOURCES): Added normal/context.c.
19174 (default_mod_SOURCES): New variable.
19175 (default_mod_CFLAGS): Likewise.
19176 (timeout_mod_SOURCES): Likewise.
19177 (timeout_mod_CFLAGS): Likewise.
19178
19179 * Makefile.in (all-local): Added $(MKFILES).
19180
4ed2e1dd 191812005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
19182
19183 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
19184 (grub_emu_SOURCES): Likewise.
19185 (pkgdata_MODULES): Add `sun.mod'.
19186 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
19187 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
19188 `partmap/sun.c'.
19189 (pkgdata_MODULES): Add `sun.mod'.
19190 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
19191 * include/grub/partition.h (grub_sun_partition_map_init): New
19192 prototype.
19193 (grub_sun_partition_map_fini): Likewise.
19194 * partmap/sun.c: New file.
19195 * util/grub-emu.c (main): Initialize and de-initialize the sun
19196 partitionmap support.
19197
4d4e372e 191982005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
19199
19200 This implements an Emacs-like menu entry editor.
f19dbdb7 19201
4d4e372e 19202 * normal/menu_entry.c: New file.
f19dbdb7 19203
4d4e372e 19204 * util/console.c (grub_ncurses_putchar): Translate some Unicode
19205 characters to ASCII.
19206 (saved_char): New variable.
19207 (grub_ncurses_checkkey): Rewritten completely.
19208 (grub_ncurses_getkey): Likewise.
19209 (grub_ncurses_init): Call raw instead of cbreak.
19210
19211 * normal/menu.c (print_entry): Do not put a space.
19212 (init_page): Renamed to ...
19213 (grub_menu_init_page): ... this. All callers changed.
19214 (edit_menu_entry): Removed.
19215 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
19216
19217 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
19218
19219 * kern/misc.c (grub_vprintf): Call grub_refresh.
19220
19221 * normal/menu.c (DISP_LEFT): Renamed to ...
19222 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
19223 * normal/menu.c (DISP_UP): Renamed to ...
19224 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
19225 * normal/menu.c (DISP_RIGHT): Renamed to ...
19226 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
19227 * normal/menu.c (DISP_DOWN): Renamed to ...
19228 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
19229 * normal/menu.c (DISP_HLINE): Renamed to ...
19230 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
19231 * normal/menu.c (DISP_VLINE): Renamed to ...
19232 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
19233 * normal/menu.c (DISP_UL): Renamed to ...
19234 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
19235 * normal/menu.c (DISP_UR): Renamed to ...
19236 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
19237 * normal/menu.c (DISP_LL): Renamed to ...
19238 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
19239 * normal/menu.c (DISP_LR): Renamed to ...
19240 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
19241 * normal/menu.c (TERM_WIDTH): Renamed to ...
19242 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
19243 * normal/menu.c (TERM_HEIGHT): Renamed to ...
19244 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
19245 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
19246 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
19247 * normal/menu.c (TERM_MARGIN): Renamed to ...
19248 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
19249 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
19250 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
19251 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
19252 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
19253 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
19254 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
19255 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
19256 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
19257 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
19258 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
19259 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
19260 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
19261 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
19262 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
19263 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
19264 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
19265 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
19266 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
19267 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
19268 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
19269 All callers changed.
19270
19271 * include/grub/normal.h: New prototype.
19272
19273 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
19274 normal/menu_entry.c.
19275 (normal_mod_SOURCES): Likewise.
19276 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19277 (normal_mod_SOURCES): Likewise.
19278
e6b92c8a 192792005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
19280
19281 * include/grub/normal.h (grub_halt_init): New prototype.
19282 (grub_halt_fini): Likewise.
19283 (grub_reboot_init): Likewise.
19284 (grub_reboot_fini): Likewise.
19285
19286 * util/grub-emu.c: Include signal.h.
19287 (main_env): New global variable.
19288 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
19289 catch C-c.
19290 (grub_machine_fini): New function.
19291 (main): Call grub_halt_init and grub_reboot_init before
19292 grub_main, and grub_reboot_fini and grub_halt_fini after it.
19293 Call setjmp with MAIN_ENV to go back afterwards.
19294 Call grub_machine_fini right before return.
19295
19296 * include/grub/util/misc.h: Include setjmp.h.
19297 (main_env): New prototype.
19298
19299 * include/grub/kernel.h (grub_machine_fini): New prototype.
19300 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
19301 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
19302
19303 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
19304 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
19305 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 19306
e6b92c8a 19307 * util/i386/pc/misc.c: New file.
f19dbdb7 19308
e6b92c8a 19309 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
19310 util/i386/pc/misc.c, commands/i386/pc/halt.c and
19311 commands/i386/pc/reboot.c.
19312
c642636f 193132005-02-14 Guillem Jover <guillem@hadrons.org>
19314
19315 * include/grub/dl.h (grub_dl_check_header): New prototype.
19316 (grub_arch_dl_check_header): Change return type to grub_err_t,
19317 remove size parameter and export function. Update all callers.
19318 * kern/dl.c (grub_dl_check_header): New function.
19319 (grub_dl_load_core): Use `grub_dl_check_header' instead of
19320 `grub_arch_dl_check_header'. Check ELF type. Check if sections
19321 are inside the core.
19322 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
19323 independent ELF header checks.
19324 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
19325 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
19326 `grub_dl_check_header' instead of explicit checks. Check for the
19327 ELF type.
19328 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
19329 `grub_dl_check_header' instead of explicit checks. Remove arch
19330 specific ELF header checks.
19331
e6b92c8a 19332 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
19333 argument SIZE.
19334
5eabe94b 193352005-02-13 Hollis Blanchard <hollis@penguinppc.org>
19336
19337 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
19338 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
19339
1b14a681 193402005-02-12 Hollis Blanchard <hollis@penguinppc.org>
19341
19342 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 19343 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 19344 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 19345 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 19346 * partmap/amiga.c (amiga_partition_map_iterate): Return
19347 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
19348 * partmap/apple.c (apple_partition_map_iterate): Likewise.
19349
aca108aa 193502005-02-01 Guillem Jover <guillem@hadrons.org>
19351
19352 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
19353 help info.
19354
c9f9c556 193552005-01-31 Marco Gerards <metgerards@student.han.nl>
19356
19357 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
19358 Removed prototype.
19359 (grub_rescue_cmd_linux): New prototype.
19360 (grub_rescue_cmd_initrd): Likewise.
19361 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
19362 `bi_rec'.
19363 (grub_linux_release_mem): Release the memory for the initrd.
19364 (grub_load_linux): Renamed from this...
19365 (grub_rescue_cmd_linux): ...To this. Changed all callers.
19366 Changed `entry' not to be static. Loop over memory regions to
19367 find another one when the default fails.
19368 (grub_rescue_cmd_initrd): New function.
19369 (grub_linux_init): Remove function.
19370 (grub_linux_fini): Likewise.
19371 (GRUB_MOD_INIT): Register `initrd'.
19372 (GRUB_MOD_FINI): Unregister `initrd'.
19373 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
19374 Function removed.
19375 (grub_linux_normal_fini): Likewise.
19376 (GRUB_MOD_INIT): Register `initrd'.
19377 (GRUB_MOD_FINI): Unregister `initrd'.
19378
990cf3aa 193792005-01-31 Marco Gerards <metgerards@student.han.nl>
19380
19381 * commands/help.c: New file.
19382 * normal/arg.c (show_help): Renamed to...
19383 (grub_arg_show_help): ... this.
19384 * commands/i386/pc/halt.c: New file.
19385 * commands/i386/pc/reboot.c: Likewise.
19386 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
19387 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
19388 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
19389 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
19390 variables.
19391 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
19392 `commands/help.c'.
19393 (pkgdata_MODULES): Add `help.mod'.
19394 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
19395 * grub/i386/pc/init.h (grub_reboot): New prototype.
19396 (grub_halt): Likewise.
19397 * include/grub/normal.h (grub_arg_show_help): New prototype.
19398 (grub_help_init): Likewise.
19399 (grub_help_fini): Likewise.
19400 * util/grub-emu.c (main): Initialize and deinitialize the help
19401 command.
19402
19403 * normal/cmdline.c (grub_cmdline_get): Doc fix.
19404
19405 * normal/command.c (grub_command_init): Fixed the description of
19406 the `set' and `unset' commands.
19407
194082005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 19409
19410 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
19411 function.
19412 * commands/ieee1275/halt.c: New file.
19413 * commands/ieee1275/reboot.c: Likewise.
19414 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
19415 `__attribute__ ((unused))'. Some GCS related fixed.
19416 (grub_suspend_init) [GRUB_UTIL]: Function removed.
19417 (grub_suspend_fini): Likewise.
19418 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
19419 and `halt.mod'.
19420 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
19421 (halt_mod_CFLAGS): New variables.
19422 * include/grub/powerpc/ieee1275/ieee1275.h
19423 (grub_ieee1275_interpret): New prototype.
19424
1ab09cc7 194252005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
19426
19427 * include/grub/misc.h (memmove): New prototype.
19428 (memcpy): Likewise.
19429
8b8cbdb2 194302005-01-22 Hollis Blanchard <hollis@penguinppc.org>
19431
19432 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
19433 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
19434
e3741a27 194352005-01-22 Marco Gerards <metgerards@student.han.nl>
19436
19437 * kern/misc.c (grub_strndup): Function rewritten.
19438
776bd780 194392005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
19440
19441 * normal/menu.c (TERM_WIDTH): Macro redefined.
19442 (TERM_TOP_BORDER_Y): Likewise.
19443 (draw_border): Replaced while-loop by a for-loop. Make the number
19444 of lines consistent with the number of lines displayed in
19445 print_entries. Added a margin below the rectangle.
19446 (print_entry): Make the entry fit in the rectangle.
19447 (print_entries): Display the scroll arrows next to the right
19448 border.
19449
78026bce 194502005-01-21 Marco Gerards <metgerards@student.han.nl>
19451
19452 * fs/minix.c (grub_minix_find_file): Reserve more space for
19453 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
19454 `grub_strncpy' to copy `path' into it.
19455
67bbaf0f 194562005-01-21 Marco Gerards <metgerards@student.han.nl>
19457
19458 Add the loopback device, a device via which files can be accessed
19459 as devices.
f19dbdb7 19460
67bbaf0f 19461 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
19462 (pkgdata_MODULES): Add loopback.mod.
19463 (loopback_mod_SOURCES): New variable.
19464 (loopback_mod_CFLAGS): Likewise.
19465 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
19466 `disk/loopback.c'.
19467 (pkgdata_MODULES): Add loopback.mod.
19468 (loopback_mod_SOURCES): New variable.
19469 (loopback_mod_CFLAGS): Likewise.
19470 * disk/loopback.c: new file.
19471 * include/grub/normal.h (grub_loop_init): New prototype.
19472 (grub_loop_fini): New prototype.
19473 * util/grub-emu.c (main): Initialize and de-initialize loopback
19474 support.
19475 * include/grub/disk.h (grub_disk_dev_id): Add
19476 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
19477
6f1c18bd 194782005-01-20 Hollis Blanchard <hollis@penguinppc.org>
19479
19480 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
19481 function.
19482 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
19483 (suspend_mod_SOURCES): New variable.
19484 (suspend_mod_CFLAGS): Likewise.
19485 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
19486 New prototype.
19487 * commands/ieee1275/suspend.c: New file.
19488
b38551da 194892005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
19490
19491 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 19492 ((unused))' to `__attribute__ ((used))'.
b38551da 19493 (GRUB_MOD_FINI): Likewise.
19494 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
19495 * genmk.rb (PModule): Assign space to common symbols when linking
19496 modules.
19497
777aff39 194982005-01-20 Marco Gerards <metgerards@student.han.nl>
19499
19500 * include/grub/mm.h (grub_mm_init_region): Change the type of the
19501 `unsigned' arguments to `grub_size_t'.
19502 (grub_malloc): Likewise.
19503 (grub_realloc): Likewise.
19504 (grub_memalign): Likewise.
19505 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
19506 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
19507 * util/misc.c (grub_malloc): Likewise.
19508 (grub_realloc): Likewise.
19509 * kern/mm.c (get_header_from_pointer): Change the casts to
19510 `unsigned' into a cast to `grub_size_t'.
19511
19512 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
19513 point to `currnode' when `currnode' is changed.
19514
19515 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
19516 Schottelius <nico-linux@schottelius.org>.
19517
d0ff18e1 195182005-01-09 Hollis Blanchard <hollis@penguinppc.org>
19519
19520 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
19521 (note_path): Remove variable.
19522 (GRUB_IEEE1275_NOTE_NAME): New macro.
19523 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
19524 (grub_ieee1275_note_hdr): New structure.
19525 (grub_ieee1275_note_desc): Likewise.
19526 (grub_ieee1275_note): Likewise.
19527 (load_note): Remove `dir' argument. All callers updated. Remove
19528 `note_img' and `path'. Do not load a file from `note_path'.
19529 Initialize a struct grub_ieee1275_note and write that to `out'.
19530 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
19531
4ca7004c 195322005-01-05 Marco Gerards <metgerards@student.han.nl>
19533
19534 * util/misc.c (grub_util_read_image): Revert last change. It
19535 called `grub_util_read_at', which seeks from the beginning of the
19536 file.
19537
0b412211 195382005-01-04 Hollis Blanchard <hollis@penguinppc.org>
19539
19540 * TODO: Add note about endianness in grub-mkimage.
19541 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
19542 section.
19543 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
19544 (grub_mkimage_SOURCES): New target.
19545 * include/grub/kernel.h (grub_start_addr): Remove variable.
19546 (grub_end_addr): Likewise.
19547 (grub_total_module_size): Likewise.
19548 (grub_kernel_image_size): Likewise.
19549 (GRUB_MODULE_MAGIC): New constant.
19550 (grub_module_info): New structure.
19551 (grub_arch_modules_addr): New prototype.
19552 (grub_get_end_addr): Remove prototype.
19553 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
19554 * include/grub/powerpc/ieee1275/kernel.h: New file.
19555 * include/grub/util/misc.h (grub_util_get_fp_size): New
19556 prototype.
19557 (grub_util_read_at): Likewise.
19558 (grub_util_write_image_at): Likewise.
19559 * kern/main.c (grub_get_end_addr): Remove function.
19560 (grub_load_modules): Call grub_arch_modules_addr instead of using
19561 grub_end_addr. Look for a grub_module_info struct in memory. Use
19562 the grub_module_info fields instead of calling grub_get_end_addr
19563 as loop conditions. Move grub_add_unused_region code here.
19564 (grub_add_unused_region): Remove function.
19565 * kern/i386/pc/init.c: Include grub/cache.h.
19566 (grub_machine_init): Remove call to grub_get_end_addr. Remove
19567 one call to add_mem_region.
19568 (grub_arch_modules_addr): New function.
19569 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
19570 (grub_total_module_size): Likewise.
19571 Include grub/machine/kernel.h.
19572 (grub_arch_modules_addr): New function.
19573 * util/grub-emu.c (grub_end_addr): Remove variable.
19574 (grub_total_module_size): Likewise.
19575 (grub_arch_modules_addr): New function.
19576 * util/misc.c: Include unistd.h.
19577 (grub_util_get_fp_size): New function.
19578 (grub_util_read_at): Likewise.
19579 (grub_util_write_image_at): Likewise.
19580 (grub_util_read_image): Call grub_util_read_at.
19581 (grub_util_write_image): Call grub_util_write_image_at.
19582 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
19583 additional memory in kernel_img for a struct grub_module_info.
19584 Fill in that grub_module_info.
19585 * util/powerpc/ieee1275/grub-mkimage.c: New file.
19586
458786f8 195872005-01-03 Hollis Blanchard <hollis@penguinppc.org>
19588
19589 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
19590 New function.
19591 * include/grub/powerpc/ieee1275/ieee1275.h
19592 (grub_ieee1275_milliseconds): New prototype.
19593 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
19594 Change to 1000.
19595 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
19596 grub_ieee1275_milliseconds.
19597
ac507d1b 195982005-01-03 Hollis Blanchard <hollis@penguinppc.org>
19599
19600 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
19601 variable.
19602 (find_options): New function.
19603 (cmain): Call find_options.
19604 * include/grub/powerpc/ieee1275/ieee1275.h
19605 (grub_ieee1275_realmode): New extern variable.
19606 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
19607 grub_map if grub_ieee1275_realmode is false.
19608
6b8fd1c4 196092004-12-29 Marco Gerards <metgerards@student.han.nl>
19610
19611 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
19612 lines are inserted and make it work like readline. Reported by
19613 Vincent Pelletier <subdino2004@yahoo.fr>.
19614
8514a1e0 196152004-12-28 Marco Gerards <metgerards@student.han.nl>
19616
19617 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
19618
19619 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
19620 `kern/powerpc/cache.S'.
19621
924b6140 196222004-12-27 Marco Gerards <metgerards@student.han.nl>
19623
19624 * genmk.rb: Handle the `Program' class in the main loop. Written
19625 by Johan Rydberg <jrydberg@gnu.org>.
19626 (Program): New class.
19627 (programs): New variable.
19628 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
19629 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
19630 instead of "grub/kernel.h". Include <grub/machine/init.h>.
19631 (help_arch): Function removed.
19632 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
19633 `powerpc/libgcc.h' and `loader.h'.
19634 (pkgdata_PROGRAMS): New variable.
19635 (sbin_UTILITIES): Variable removed.
19636 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
19637 (grubof_SOURCES): Variable re-defined so it only includes the
19638 core functionality.
19639 (grubof_CFLAGS): Remove `-DGRUBOF'.
19640 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
19641 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
19642 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
19643 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
19644 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
19645 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
19646 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
19647 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
19648 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
19649 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
19650 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
19651 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
19652 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
19653 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
19654 (pc_mod_CFLAGS): New variables.
19655 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
19656 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
19657 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
19658 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
19659 Moved from here...
19660 * include/grub/i386/pc/init.h (grub_os_area_addr)
19661 (rub_os_area_size): ... to here.
19662 * include/grub/powerpc/ieee1275/ieee1275.h
19663 (grub_ieee1275_entry_fn): Export symbol.
19664 * include/grub/powerpc/ieee1275/init.h: New file.
19665 * include/grub/powerpc/libgcc.h: Likewise.
19666 * include/grub/cache.h: Likewise.
19667 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
19668 <hollis@penguinppc.org>.
19669 * kern/dl.c: Include <grub/cache.h>.
19670 (grub_dl_flush_cache): New function.
19671 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
19672 for this module.
19673 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
19674 (grub_console_init): Removed prototypes.
19675 (grub_machine_init): Don't initialize the modules anymore.
19676 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
19677 static.
19678 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
19679 Macro undef removed.
19680 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
19681 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
19682 relocation `R_PPC_REL32'. Return an error when the relocation is
19683 unknown.
19684 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
19685 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
19686 * util/misc.c (grub_arch_sync_caches): Likewise.
19687
e4b47e0c 196882004-12-19 Marco Gerards <metgerards@student.han.nl>
19689
19690 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
19691 `symlist.c', add `grubof_symlist.c'.
19692 (symlist.c): Variable removed.
19693 (grubof_HEADERS): Variable added.
19694 (grubof_symlist.c): New target.
19695 (kernel_syms.lst): Use `grubof_HEADERS' instead of
19696 `kernel_img_HEADERS'.
19697 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
19698 * kern/powerpc/dl.c: New file.
19699 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
19700 Function removed.
19701 (grub_arch_dl_relocate_symbols): Likewise.
19702 (grub_register_exported_symbols): Likewise.
19703
4ceb3636 197042004-12-13 Marco Gerards <metgerards@student.han.nl>
19705
19706 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
19707 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
19708 to fail instead. Reported by Vincent Pelletier
19709 <subdino2004@yahoo.fr>.
19710
19711 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
19712 it is not allocated. Reported by Vincent Pelletier
19713 <subdino2004@yahoo.fr>.
19714
19715 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
19716 output so the output looks better.
f19dbdb7 19717
3f1578fe 197182004-12-04 Marco Gerards <metgerards@student.han.nl>
19719
19720 Modulize the partition map support and add support for the amiga
19721 partition map.
f19dbdb7 19722
3f1578fe 19723 * commands/ls.c: Include <grub/partition.h> instead of
19724 <grub/machine/partition.h>.
19725 * kern/disk.c: Likewise.
19726 * kern/rescue.c: Likewise.
19727 * loader/i386/pc/chainloader.c: Likewise.
19728 * normal/cmdline.c: Likewise.
19729 * kern/powerpc/ieee1275/init.c: Likewise.
19730 (grub_machine_init): Call `grub_pc_partition_map_init',
19731 `grub_amiga_partition_map_init' and
19732 `grub_apple_partition_map_init'.
19733 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
19734 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
19735 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
19736 `partition.h' and `pc_partition.h'.
19737 (grub_setup_SOURCES): Remove
19738 `disk/i386/pc/partition.c'. Add `kern/partition.c',
19739 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
19740 (grub_emu_SOURCES): Likewise.
19741 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
19742 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
19743 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
19744 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
19745 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
19746 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
19747 (grubof_SOURCES): Likewise.
19748 * disk/i386/pc/partition.c: File removed.
19749 * disk/powerpc/ieee1275/partition.c: Likewise.
19750 * include/grub/powerpc/ieee1275/partition.h: Likewise.
19751 * include/grub/i386/pc/partition.h: Likewise.
19752 * kern/partition.c: New file.
19753 * partmap/amiga.c: Likewise.
19754 * partmap/apple.c: Likewise.
19755 * partmap/pc.c: Likewise.
19756 * include/grub/partition.h: Likewise..
19757 * include/grub/pc_partition.h: Likewise.
19758 * util/grub-emu.c: Include <grub/partition.h> instead of
19759 <grub/machine/partition.h>.
19760 (main): Call `grub_pc_partition_map_init',
19761 `grub_amiga_partition_map_init' and
19762 `grub_apple_partition_map_init' and deinitialize afterwards.
19763 * util/i386/pc/biosdisk.c: Include `#include
19764 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
19765 `<grub/machine/partition.h>'.
19766 * util/i386/pc/grub-setup.c: Likewise.
19767 * util/i386/pc/biosdisk.c: Likewise.
19768 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
19769 partition information in case of a PC partition.
19770 * util/i386/pc/grub-setup.c: Include `#include
19771 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
19772 `<grub/machine/partition.h>'.
19773 (setup): Only access the PC specific partition information in case
19774 of a PC partition.
19775
0ef4ced9 197762004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 19777
0ef4ced9 19778 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
19779 (grub_longjmp): Likewise.
19780 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
19781 20.
19782 * normal/powerpc/setjmp.S: New file.
19783 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
19784 `normal/powerpc/setjmp.S'.
19785 (grubof_CFLAGS): Add `-DGRUBOF'.
19786 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
19787 [GRUB_UTIL && !GRUBOF].
f19dbdb7 19788
19950e29 197892004-11-16 Marco Gerards <metgerards@student.han.nl>
19790
19791 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
19792 property named `name'. Correctly handle the error returned by
19793 `grub_ieee1275_finddevice' if a device can not be opened.
19794
a2fea427 197952004-11-02 Hollis Blanchard <hollis@penguinppc.org>
19796
19797 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
19798 `actual' for negativity.
19799 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
19800 kern/fshelp.c.
19801
41ea0ea3 198022004-11-01 Marco Gerards <metgerards@student.han.nl>
19803
19804 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
19805 (PAGE_OFFSET): New macro.
19806 (CRTC_ADDR_PORT): Likewise.
19807 (CRTC_DATA_PORT): Likewise.
19808 (START_ADDR_HIGH_REGISTER): Likewise.
19809 (START_ADDR_LOW_REGISTER): Likewise.
19810 (GRAPHICS_ADDR_PORT): Likewise.
19811 (GRAPHICS_DATA_PORT): Likewise.
19812 (READ_MAP_REGISTER): Likewise.
19813 (INPUT_STATUS1_REGISTER): Likewise.
19814 (INPUT_STATUS1_VERTR_BIT): Likewise.
19815 (page): New variable.
19816 (wait_vretrace): New function.
19817 (set_read_map): Likewise.
19818 (set_start_address): Likewise.
19819 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
19820 the right page.
19821 (check_vga_mem): Take the page into account.
19822 (write_char): Likewise.
19823 (write_cursor): Likewise.
19824 (scroll_up): Likewise. Copy the page to the page that is not
19825 shown and switch between both pages.
19826 (grub_vga_putchar): Fix off by one error.
19827 (grub_vga_cls): Wait for the vertical retrace. Take the page into
19828 account.
19829
ad0bd20b 198302004-11-01 Marco Gerards <metgerards@student.han.nl>
19831
19832 Add support for iso9660 (including rockridge).
f19dbdb7 19833
ad0bd20b 19834 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
19835 (iso9660_mod_SOURCES): New variable.
19836 (iso9660_mod_CFLAGS): Likewise.
19837 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
19838 * include/grub/fs.h (grub_iso9660_init): New prototype.
19839 * util/grub-emu.c (main): Call `grub_iso9660_init'.
19840 * fs/iso9660.c: New file.
19841
19842 * include/grub/misc.h (grub_strncat): New prototype.
19843 * kern/misc.c (grub_strncat): New function.
f19dbdb7 19844
ad0bd20b 19845 * fs/hfs.c (grub_hfs_mount): Translate the error
19846 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
19847 * fs/jfs.c (grub_jfs_mount): Likewise.
19848 * fs/ufs.c (grub_ufs_mount): Likewise.
19849
a5477a59 198502004-10-28 Hollis Blanchard <hollis@penguinppc.org>
19851
19852 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
19853 which initialized BAT registers.
19854 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
19855 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
19856 Move from here...
19857 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
19858 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
19859 ... to here.
19860 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
19861 (grub_mapclaim): Likewise.
19862 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
19863 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
19864 hand.
19865
9304c1f8 198662004-10-19 Hollis Blanchard <hollis@penguinppc.org>
19867
19868 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
19869 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
19870 -ffreestanding and -msoft-float.
19871
86f4ae25 198722004-10-15 Hollis Blanchard <hollis@penguinppc.org>
19873
19874 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
19875 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
19876 set in grub_ieee1275_flags.
19877
38912228 198782004-10-14 Hollis Blanchard <hollis@penguinppc.org>
19879
19880 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
19881 prototype.
19882 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
19883 grub_console_init first.
19884 Change the memory range used for grub_ieee1275_claim and
19885 grub_mm_init_region.
19886 Print an error message if the claim fails.
19887 Include <grub/misc.h>.
19888
d1923dc8 198892004-10-13 Hollis Blanchard <hollis@penguinppc.org>
19890
19891 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
19892 Call grub_children_iterate for device nodes of type `scsi',
19893 `ide', or `ata'.
19894 (grub_ofdisk_open): Remove manual device alias resolution.
19895 Fix memory leak when device cannot be opened.
f19dbdb7 19896 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 19897 (grub_children_iterate): New prototype.
19898 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
19899 New function.
19900 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
19901 Return -1 if args.size was -1.
19902
4512e4f3 199032004-10-11 Hollis Blanchard <hollis@penguinppc.org>
19904
19905 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
19906 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
19907 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
19908 Open Firmware's memory for it; claim memory from _start to _end.
19909 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
19910 (_end): New extern.
19911 (_start): Zero BSS from __bss_start to _end.
19912 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
19913 New extern.
19914 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
19915
4d61feb0 199162004-10-11 Hollis Blanchard <hollis@penguinppc.org>
19917
ad0bd20b 19918 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
19919 -1 if args.base was -1.
4d61feb0 19920
026fa2f9 199212004-10-08 Hollis Blanchard <hollis@penguinppc.org>
19922
19923 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
19924 escape sequence instead of a literal ^L. Also call
19925 grub_ofconsole_gotoxy.
19926
9f2220ef 199272004-10-03 Hollis Blanchard <hollis@penguinppc.org>
19928
19929 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
19930 void * arguments to grub_addr_t. All callers updated. Also make
19931 the `result' argument optional.
19932 (grub_ieee1275_release): change void * arguments to grub_addr_t.
19933 All callers updated.
19934
8a572cd7 199352004-09-22 Hollis Blanchard <hollis@penguinppc.org>
19936
19937 * commands/ls.c (grub_ls_list_files): Use the string following the
19938 initial ')', if present, as the filesystem path.
19939 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
19940
19941 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
19942
18aa81f2 199432004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
19944
19945 Make the source code of the menu interface more readable.
f19dbdb7 19946
18aa81f2 19947 * normal/menu.c: Include grub/mm.h.
19948 (TERM_WIDTH): New macro.
19949 (TERM_HEIGHT): Likewise.
19950 (TERM_INFO_HEIGHT): Likewise.
19951 (TERM_MARGIN): Likewise.
19952 (TERM_SCROLL_WIDTH): Likewise.
19953 (TERM_TOP_BORDER_Y): Likewise.
19954 (TERM_LEFT_BORDER_X): Likewise.
19955 (TERM_BORDER_WIDTH): Likewise.
19956 (TERM_MESSAGE_HEIGHT): Likewise.
19957 (TERM_BORDER_HEIGHT): Likewise.
19958 (TERM_NUM_ENTRIES): Likewise.
19959 (TERM_FIRST_ENTRY_Y): Likewise.
19960 (TERM_ENTRY_WIDTH): Likewise.
19961 (TERM_CURSOR_X): Likewise.
19962 (draw_border): Use macros instead of magic numbers.
19963 (print_entry): Likewise.
19964 (print_entries): Likewise.
19965 (run_menu): Likewise. Also, handle the key 'e'.
19966 (run_menu_entry): Ignore empty command lines.
19967 (print_message): Added a new argument EDIT. If EDIT is true,
19968 print a different message.
19969 (init_page): Likewise.
19970 (edit_menu_entry): New function. Not implemented yet.
19971
b47efe30 199722004-09-17 Marco Gerards <metgerards@student.han.nl>
19973
19974 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
19975 can be loaded from normal mode.
f19dbdb7 19976
b47efe30 19977 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
19978 `multiboot.mod'.
19979 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
19980 (multiboot_mod_CFLAGS): New variables.
19981 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 19982 * loader/i386/pc/multiboot_normal.c: Likewise.
19983
b47efe30 19984 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
19985 attribute `unused'.
f19dbdb7 19986
b47efe30 19987 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
19988 `fdiro' to read the mode information from instead of `diro'.
19989
19990 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
19991 looking up a symlink.
19992
19993 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
19994 macro.
19995 * normal/command.c (grub_command_execute): Don't parse the
19996 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
19997 flags of the command.
19998
19999 * normal/menu.c (grub_menu_run): Fix typo.
20000
da75ac71 200012004-09-14 Hollis Blanchard <hollis@penguinppc.org>
20002
20003 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
20004
20005 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
20006 `y + 1' instead of `y - 1'.
20007
20008 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 20009
062b24c2 200102004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
20011
20012 From Hollis Blanchard <hollis@penguinppc.org>:
20013 * kern/misc.c (memmove): New alias for grub_memmove.
20014 (memcmp): New alias for grub_memcmp.
20015 (memset): New alias for grub_memset.
f19dbdb7 20016 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 20017 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 20018 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 20019 (grub_ieee1275_get_property): Likewise.
f19dbdb7 20020
8ddad845 200212004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
20022
20023 Added normal mode command `chainloader' as module chain.mod, which
20024 depends on normal.mod and _chain.mod.
f19dbdb7 20025
8ddad845 20026 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
20027 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
20028 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
20029 Deleted prototype.
20030 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
20031 but arguments parsing moved to ...
20032 (grub_chainloader_cmd): ... here. New function.
20033 * include/grub/i386/pc/chainloader.h: New file.
20034 * loader/i386/pc/chainloader_normal.c: Likewise.
20035
2c1f4ce3 200362004-09-11 Marco Gerards <metgerards@student.han.nl>
20037
20038 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
20039 (grub_mkimage_LDFLAGS): Likewise.
20040 (grub_emu_SOURCES): Likewise.
20041 (kernel_img_HEADERS): Added fshelp.h.
20042 * fs/ext2.c: Include <grub/fshelp.h>.
20043 (FILETYPE_REG): New macro.
20044 (FILETYPE_INO_REG): Likewise.
20045 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
20046 Changed all users.
20047 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
20048 all users.
20049 (grub_fshelp_node): New struct.
20050 (grub_ext2_data): Added member `diropen'. Changed member `inode'
20051 to a pointer.
20052 (grub_ext2_get_file_block): Removed function.
20053 (grub_ext2_read_block): New function.
20054 (grub_ext2_read_file): Replaced parameter `data' by `node'.
20055 This function was written.
20056 (grub_ext2_mount): Read the root inode. Create a diropen struct.
20057 (grub_ext2_find_file): Removed function.
20058 (grub_ext2_read_symlink): New function.
20059 (grub_ext2_iterate_dir): Likewise.
20060 (grub_ext2_open): Rewritten.
20061 (grub_ext2_dir): Rewritten.
20062 * include/grub/fshelp.h: New file.
20063 * fs/fshelp.c: Likewise.
20064
3c52136a 200652004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
20066
20067 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
20068 (print_message): Add a missing newline.
20069 (run_menu): Added timeout support.
20070 (run_menu_entry): New local function.
20071 (grub_menu_run): Added support for booting.
20072
20073 * kern/loader.c (grub_loader_is_loaded): New function.
20074
20075 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
20076 (grub_get_rtc): Exported.
20077
20078 * include/grub/i386/pc/time.h: Include grub/symbol.h.
20079 (grub_get_rtc): Exported.
20080
20081 * include/grub/normal.h (struct grub_command_list): Remove
20082 constant from the member `command'.
20083
20084 * include/grub/loader.h (grub_loader_is_loaded): Declared.
20085
20086 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
20087
20088 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
20089
aa033560 200902004-08-28 Marco Gerards <metgerards@student.han.nl>
20091
20092 Add support for the JFS filesystem.
20093
20094 * fs/jfs.c: New file.
20095 * include/grub/fs.h (grub_jfs_init): New prototype.
20096 (grub_jfs_fini): New prototype.
20097 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
20098 (grub_emu_SOURCES): Likewise.
20099 (pkgdata_MODULES): Add jfs.mod.
20100 (jfs_mod_SOURCES): New variable.
20101 (jfs_mod_CFLAGS): Likewise.
20102 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
20103 (grubof_SOURCES): Likewise.
20104 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
20105
20106 * fs/fat.c (grub_fat_find_dir): Convert the filename little
20107 endian to the host endian.
20108 (grub_fat_utf16_to_utf8): Move function from there...
20109 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 20110 the endianness of the source string anymore.
aa033560 20111 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
20112
94bc45af 201132004-08-24 Marco Gerards <metgerards@student.han.nl>
20114
20115 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
20116 (grub_boot_fini) [GRUB_UTIL]: Likewise.
20117 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
20118 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 20119
94bc45af 20120 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
20121 (grub_hfs_iterate_dir): Make the function static. Add prototypes
20122 for `node_found' and `it_dir'.
20123 (grub_hfs_dir): Add prototype for `dir_hook'.
20124
20125 * fs/minix.c (grub_minix_get_file_block): Add prototype for
20126 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
20127 and `indir32' to silence a gcc warning.
20128
20129 * include/grub/fs.h (grub_hfs_init): New prototype.
20130 (grub_hfs_fini): Likewise.
f19dbdb7 20131
20132
97543f08 201332004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
20134
20135 Each disk device has its own id now. This is useful to make use
20136 of multiple disk devices.
f19dbdb7 20137
97543f08 20138 * include/grub/disk.h (grub_disk_dev_id): New enum.
20139 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
20140 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
20141
20142 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
20143 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
20144
20145 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
20146 GRUB_DISK_DEVICE_OFDISK_ID as an id.
20147
20148 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
20149 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
20150
20151 * include/grub/disk.h (struct grub_disk_dev): Added a new member
20152 "id" which is used by the cache manager.
20153
20154 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
20155 of just "GRUB".
20156
64372eb4 201572004-08-18 Marco Gerards <metgerards@student.han.nl>
20158
20159 * fs/hfs.c: New file.
20160 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
20161 (grub_emu_SOURCES): Likewise.
20162 (pkgdata_MODULES): Add hfs.mod.
20163 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
20164 (grubof_SOURCES): Likewise.
20165 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
20166
20167 * include/grub/misc.h (grub_strncasecmp): Add prototype.
20168 * kern/misc.c (grub_strncasecmp): Add function.
20169
cc61b58f 201702004-08-14 Marco Gerards <metgerards@student.han.nl>
20171
20172 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
20173 with parentheses.
20174
20175 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
20176 (grub_ext2_dir): In case the directory entry type is unknown, read
20177 it from the inode.
20178
0ef123f6 201792004-08-02 Peter Bruin <pjbruin@dds.nl>
20180
20181 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
20182 grub_load_linux instead of grub_rescue_cmd_linux as second
20183 argument of grub_rescue_register_command.
20184
20185 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
20186
a447c5df 201872004-07-27 Marco Gerards <metgerards@student.han.nl>
20188
20189 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
20190 function.
20191 * commands/boot.c: Remove the check for `GRUB_UTIL'.
20192 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
20193 `loader/powerpc/ieee1275/linux.c',
20194 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
20195 * include/grub/powerpc/ieee1275/ieee1275.h
20196 (grub_ieee1275_release): New prototype.
20197 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
20198 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
20199 normal, boot, linux and linux_normal.
20200 * loader/powerpc/ieee1275/linux.c: New file.
20201 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
20202
5a9e3546 202032004-07-12 Marco Gerards <metgerards@student.han.nl>
20204
20205 * normal/arg.c (grub_arg_parse): Correct error handling after
20206 reallocating the argumentlist (check if `argl' is not null instead
20207 of checking if `args' is not null).
20208 * kern/mm.c (grub_realloc): Return the same pointer when using the
20209 same region, instead of returning the header address.
20210
e15199cb 202112004-07-11 Marco Gerards <metgerards@student.han.nl>
20212
20213 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
20214 one block instead of two when looking for the initial partition.
20215 (grub_partition_probe): Initialize the local variable `p' with 0.
20216 Use base 10 for the grub_strtoul call.
20217 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
20218 need for one local variable.
20219 (grub_strtoul): Don't add the new value to `num', instead of that
20220 just assign it.
20221
020616c2 202222004-07-11 Marco Gerards <metgerards@student.han.nl>
20223
20224 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
20225 (pxeboot_img_SOURCES): New variable.
20226 (pxeboot_img_ASFLAGS): Likewise.
20227 (pxeboot_img_LDFLAGS): Likewise.
20228 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
20229 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
20230 <lode_leroy@hotmail.com>.
20231
6c51eb64 202322004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
20233
20234 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
20235 there was no input.
20236
cfb12aff 202372004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
20238
20239 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
20240 the history buffer logic.
20241
6eabba74 202422004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
20243
20244 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
20245 (FILETYPE_INO_SYMLINK): New macros.
20246 (grub_ext2_find_file): Check if the node is a directory using the
20247 inode stat information instead of using the filetype in the
20248 dirent. Exclude the first character of an absolute symlink.
20249 (grub_ext2_dir): Mask out the filetype part of the mode member of
20250 the inode.
20251
66e19ef8 202522004-05-24 Marco Gerards <metgerards@student.han.nl>
20253
20254 Add support for UFS version 1 and 2. Add support for the minix
20255 filesystem version 1 and 2, both the variants with 14 and 30 long
20256 filenames.
f19dbdb7 20257
66e19ef8 20258 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
20259 fs/minix.c.
20260 (grub_emu_SOURCES): Likewise.
20261 (pkgdata_MODULES): Add ufs.mod and minix.mod.
20262 (ufs_mod_SOURCES): New variable.
20263 (ufs_mod_CFLAGS): Likewise.
20264 (minix_mod_SOURCES): Likewise.
20265 (minix_mod_CFLAGS): Likewise.
20266 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
20267 fs/minix.c.
20268 (grubof_SOURCES): Likewise.
20269 * fs/ufs.c: New file.
20270 * fs/minix.c: New file.
20271 * include/grub/fs.h (grub_ufs_init): New prototype.
20272 (grub_ufs_fini): Likewise.
20273 (grub_minix_init): Likewise.
20274 (grub_minix_fini): Likewise.
20275 * util/grub-emu.c (main): Initialize and deinitialize UFS and
20276 minix fs.
20277
cc2e748a 202782004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
20279
20280 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
20281 commands/ls.c, commands/terminal.c, commands/boot.c,
20282 commands/cmp.c and commands/cat.c.
20283 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
20284
20285 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
20286 "env.h"
20287
4b13b216 202882004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
20289
20290 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
20291 and grub_, respectively. Because the conversion is trivial and
20292 mechanical, I omit the details here. Please refer to the CVS
20293 if you need more information.
20294
6a142551 202952004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
20296
20297 * include/pupa: Renamed to ...
20298 * include/grub: ... this.
20299 * util/i386/pc/pupa-mkimage.c: Renamed to ...
20300 * util/i386/pc/grub-mkimage.c: ... this.
20301 * util/i386/pc/pupa-setup.c: Renamed to ...
20302 * util/i386/pc/grub-setup.c: ... this.
20303 * util/pupa-emu.c: Renamed to ...
20304 * util/grub-emu.c: ... this.
20305
e56cdf21 203062004-03-29 Marco Gerards <metgerards@student.han.nl>
20307
20308 Add support for the newworld apple macintosh (PPC). This has been
20309 tested on the powerbook 2000 only. It only adds support for
20310 generic ieee1275 functions, console and disk support. This should
20311 be easy to port to other architectures with support for Open
20312 Firmware.
f19dbdb7 20313
e56cdf21 20314 * configure.ac: Accept the powerpc as host_cpu. In the case of
20315 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
20316 specific tests are only executed while building for the i386.
20317 Inverse test for crosscompile.
20318 * genmk.rb (Utility): Allow assembler files.
20319 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
20320 * conf/powerpc-ieee1275.rmk: New file.
20321 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
20322 * disk/powerpc/ieee1275/partition.c: Likewise.
20323 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
20324 * include/pupa/powerpc/ieee1275/console.h: Likewise.
20325 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
20326 * include/pupa/powerpc/ieee1275/time.h: Likewise.
20327 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
20328 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
20329 * include/pupa/powerpc/ieee1275/loader.h
20330 * include/pupa/powerpc/setjmp.h: Likewise.
20331 * include/pupa/powerpc/types.h: Likewise.
20332 * kern/powerpc/ieee1275/init.c: Likewise.
20333 * kern/powerpc/ieee1275/openfw.c: Likewise.
20334 * term/powerpc/ieee1275/ofconsole.c: Likewise.
20335
20336 These files were written by Johan Rydberg
20337 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 20338
e56cdf21 20339 * boot/powerpc/ieee1275/cmain.c: New file.
20340 * boot/powerpc/ieee1275/crt0.S: Likewise.
20341 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
20342 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
20343
8c8cc205 203442004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
20345
20346 * Makefile.in: Update copyright.
20347 * genmodsrc.sh: Likewise.
20348 * gensymlist.sh: Likewise.
20349 * term/i386/pc/vga.c: Indent correctly.
20350
20351 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
20352 bugreporting address.
20353 * util/i386/pc/pupa-setup.c (usage): Likewise,
20354 (main): Call pupa_ext2_init and pupa_ext2_fini.
20355
f19dbdb7 20356 * fs/fat.c (log2): Renamed to ...
8c8cc205 20357 (fat_log2): ... this.
20358 All callers changed.
20359 * kern/misc.c (memcpy): Alias to pupa_memmove.
20360 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
20361 lvalue cast.
20362 * util/console.c (pupa_ncurses_fini): Return 0.
20363
20364 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
20365 Move fail label here.
20366 [__GNU__]: Don't warn when using stat.
20367 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
20368 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
20369 long int. Use strtol instead of strtoul.
f19dbdb7 20370
db1771cf 203712004-03-14 Marco Gerards <metgerards@student.han.nl>
20372
20373 * commands/boot.c: New file.
20374 * commands/cat.c: Likewise.
20375 * commands/cmp.c: Likewise.
20376 * commands/ls.c: Likewise.
20377 * commands/terminal.c: Likewise.
20378 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
20379 (pupa_register_command): Changed interface to match the new
20380 argument parser.
20381 (pupa_command_execute): Changed (almost rewritten) so it uses
20382 pupa_split_command. Added support for setting variables using the
20383 syntax `foo=bar'.
20384 (rescue_command): Changed to work with the new argument parser.
20385 (terminal_command): Moved from here to commands/terminal.c.
20386 (set_command): New function.
20387 (unset_command): New function.
20388 (insmod_command): New function.
20389 (rmmod_command): New function.
20390 (lsmod_command): New function.
20391 (pupa_command_init): Don't initialize the command terminal
20392 anymore. Initialize the commands set, unset, insmod, rmmod and
20393 lsmod.
20394 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
20395 (kernel_img_HEADERS): Add arg.h and env.h.
20396 (pupa_mkimage_LDFLAGS): Add kern/env.c.
20397 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
20398 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
20399 normal/arg.c.
20400 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
20401 terminal.mod.
20402 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
20403 (boot_mod_SOURCES): New variable.
20404 (terminal_mod_SOURCES): Likewise.
20405 (ls_mod_SOURCES): Likewise.
20406 (cmp_mod_SOURCES): Likewise.
20407 (cat_mod_SOURCES): Likewise.
20408
20409 * normal/arg.c: New file.
20410 * kern/env.c: Likewise.
20411 * include/pupa/arg.h: Likewise.
20412 * include/pupa/env.h: Likewise.
20413 * font/manager.c (font_command): Changed to match argument parsing
20414 interface changes.
20415 (PUPA_MOD_INIT): Likewise.
20416 * hello/hello.c (pupa_cmd_hello): Likewise.
20417 (PUPA_MOD_INIT): Likewise.
20418 * include/pupa/disk.h: Include <pupa/device.h>.
20419 (pupa_print_partinfo): New prototype.
20420 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
20421 (pupa_dl_get_prefix): Likewise.
20422 * include/pupa/misc.h: Include <pupa/err.h>.
20423 (pupa_isgraph): New prototype.
20424 (pupa_isdigit): Likewise.
20425 (pupa_split_cmdline): Likewise.
20426 * include/pupa/normal.h: Include <pupa/arg.h>.
20427 (pupa_command): Changed the prototype of the member `func' to
20428 match the argument parsing interface. Added member `options'.
20429 (pupa_register_command): Updated to match function.
20430 (pupa_arg_parse): New prototype.
20431 (pupa_hello_init) [PUPA_UTIL]: New prototype.
20432 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
20433 (pupa_ls_init) [PUPA_UTIL]: Likewise.
20434 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
20435 (pupa_cat_init) [PUPA_UTIL]: Likewise.
20436 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
20437 (pupa_boot_init) [PUPA_UTIL]: Likewise.
20438 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
20439 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
20440 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
20441 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
20442 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
20443 * kern/disk.c: Include <pupa/file.h>.
20444 (pupa_print_partinfo): New function.
20445 * kern/dl.c: Include <pupa/env.h>.
20446 (pupa_dl_dir): Variable removed.
20447 (pupa_dl_load): Use the environment variable `prefix' instead of
20448 the variable pupa_dl_dir.
20449 (pupa_dl_set_prefix): Function removed.
20450 (pupa_dl_get_prefix): Likewise.
20451 * kern/i386/pc/init.c: Include <pupa/env.h>.
20452 (pupa_machine_init): Use the environment variable `prefix' instead of
20453 using pupa_dl_set_prefix to set the prefix.
20454 * kern/main.c: Include <pupa/env.h>.
20455 (pupa_set_root_dev): Use the environment variable `prefix' instead of
20456 using pupa_dl_get_prefix to get the prefix.
20457 * kern/misc.c: Include <pupa/env.h>.
20458 (pupa_isdigit): New function.
20459 (pupa_isgraph): Likewise.
20460 (pupa_ftoa): Likewise.
20461 (pupa_vsprintf): Added support for printing values of the type
20462 `double'. Make it possible to format variable output when using
20463 formatting like `%1.2%f'.
20464 (pupa_split_cmdline): New function.
20465 * kern/rescue.c: Include <pupa/env.h>.
20466 (next_word): Removed function.
20467 (pupa_rescue_cmd_prefix): Likewise.
20468 (pupa_rescue_cmd_set): New function.
20469 (pupa_rescue_cmd_unset): New function.
20470 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
20471 split the command line instead of splitting it here. Added
20472 support for setting variables using the syntax `foo=bar'. Don't
20473 initialize the prefix command anymore. Initialized the set and
20474 unset commands.
20475 * normal/cmdline.c: Include <pupa/env.h>.
20476 (pupa_tab_complete): Added prototypes for print_simple_completion,
20477 print_partition_completion, add_completion, iterate_commands,
20478 iterate_dev, iterate_part and iterate_dir. Moved code to print
20479 partition information from here to kern/disk.c.
fe6b695a 20480 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 20481 * normal/main.c: Include <pupa/env.h>.
20482 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
20483 instead of using pupa_dl_get_prefix to get the prefix.
20484 * term/i386/pc/vga.c: Include <pupa/arg.h>.
20485 (check_vga_mem): Cast pointers to `void *' to silence a gcc
20486 warning.
20487 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
20488 (pupa_vga_setcolor): Declare unused variables with `__attribute__
20489 ((unused))' to silence a gcc warning.
20490 (pupa_vga_setcolor): Likewise.
20491 (debug_command): Changed to match argument parsing
20492 interface changes.
20493 * util/pupa-emu.c: Include <pupa/env.h>.
20494 (options): Added 0's for unused fields to silence a gcc warning.
20495 (argp): Likewise.
20496 (main): Use the environment variable `prefix' instead of using
20497 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
20498 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
20499 and terminal.
20500
20501 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
20502 * util/misc.c: Include <malloc.h>.
20503 (pupa_malloc): Rewritten so errors are correctly reported.
20504 (pupa_realloc): Likewise.
20505 (pupa_memalign): Likewise.
20506 (pupa_mm_init_region): Declare unused variables with
20507 `__attribute__ ((unused))' to silence a gcc warning.
20508 * normal/i386/setjmp.S: Remove tab at the end of the file to
20509 silence a gcc warning.
20510 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
20511 variables with `__attribute__ ((unused))' to silence a gcc
20512 warning.
20513 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
20514 local variable i unsigned to silence a gcc warning.
20515
20516 * kern/term.c: Include <pupa/misc.h>.
20517 (pupa_more_lines): New variable.
20518 (pupa_more): Likewise.
20519 (pupa_putcode): When the pager is active pause at the end of every
20520 screen.
20521 (pupa_set_more): New function.
20522 * include/pupa/term.h (pupa_set_more): New prototype.
20523
20524
3b1139cb 205252004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
20526
20527 Now this project is GRUB 2 rather than PUPA. The location of
20528 the CVS repository was moved to GRUB's.
f19dbdb7 20529
3b1139cb 20530 * configure.ac: Use bug-grub as the reporting address.
20531 Use GRUB instead of PUPA.
20532 Change the version number to 1.90.
20533
8367695c 205342004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
20535
20536 * genkernsyms.sh: Updated copyright information.
20537 * genmk.rb: Likewise.
20538 * genmodsrc.sh: Likewise.
20539 * gensymlist.sh: Likewise.
20540 * boot/i386/pc/boot.S: Likewise.
20541 * boot/i386/pc/diskboot.S: Likewise.
20542 * disk/i386/pc/biosdisk.c: Likewise.
20543 * disk/i386/pc/partition.c: Likewise.
20544 * font/manager.c: Likewise.
20545 * fs/ext2.c: Likewise.
20546 * fs/fat.c: Likewise.
20547 * include/pupa/boot.h: Likewise.
20548 * include/pupa/device.h: Likewise.
20549 * include/pupa/disk.h: Likewise.
20550 * include/pupa/dl.h: Likewise.
20551 * include/pupa/elf.h: Likewise.
20552 * include/pupa/err.h: Likewise.
20553 * include/pupa/file.h: Likewise.
20554 * include/pupa/font.h: Likewise.
20555 * include/pupa/fs.h: Likewise.
20556 * include/pupa/kernel.h: Likewise.
20557 * include/pupa/loader.h: Likewise.
20558 * include/pupa/misc.h: Likewise.
20559 * include/pupa/mm.h: Likewise.
20560 * include/pupa/net.h: Likewise.
20561 * include/pupa/normal.h: Likewise.
20562 * include/pupa/rescue.h: Likewise.
20563 * include/pupa/setjmp.h: Likewise.
20564 * include/pupa/symbol.h: Likewise.
20565 * include/pupa/term.h: Likewise.
20566 * include/pupa/types.h: Likewise.
20567 * include/pupa/i386/setjmp.h: Likewise.
20568 * include/pupa/i386/types.h: Likewise.
20569 * include/pupa/i386/pc/biosdisk.h: Likewise.
20570 * include/pupa/i386/pc/boot.h: Likewise.
20571 * include/pupa/i386/pc/console.h: Likewise.
20572 * include/pupa/i386/pc/init.h: Likewise.
20573 * include/pupa/i386/pc/kernel.h: Likewise.
20574 * include/pupa/i386/pc/linux.h: Likewise.
20575 * include/pupa/i386/pc/loader.h: Likewise.
20576 * include/pupa/i386/pc/memory.h: Likewise.
20577 * include/pupa/i386/pc/multiboot.h: Likewise.
20578 * include/pupa/i386/pc/partition.h: Likewise.
20579 * include/pupa/i386/pc/time.h: Likewise.
20580 * include/pupa/i386/pc/vga.h: Likewise.
20581 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
20582 * include/pupa/util/getroot.h: Likewise.
20583 * include/pupa/util/misc.h: Likewise.
20584 * include/pupa/util/resolve.h: Likewise.
20585 * kern/device.c: Likewise.
20586 * kern/disk.c: Likewise.
20587 * kern/dl.c: Likewise.
20588 * kern/err.c: Likewise.
20589 * kern/file.c: Likewise.
20590 * kern/fs.c: Likewise.
20591 * kern/loader.c: Likewise.
20592 * kern/main.c: Likewise.
20593 * kern/misc.c: Likewise.
20594 * kern/mm.c: Likewise.
20595 * kern/rescue.c: Likewise.
20596 * kern/term.c: Likewise.
20597 * kern/i386/dl.c: Likewise.
20598 * kern/i386/pc/init.c: Likewise.
20599 * kern/i386/pc/lzo1x.S: Likewise.
20600 * kern/i386/pc/startup.S: Likewise.
20601 * loader/i386/pc/chainloader.c: Likewise.
20602 * loader/i386/pc/linux.c: Likewise.
20603 * loader/i386/pc/multiboot.c: Likewise.
20604 * normal/cmdline.c: Likewise.
20605 * normal/command.c: Likewise.
20606 * normal/main.c: Likewise.
20607 * normal/menu.c: Likewise.
20608 * normal/i386/setjmp.S: Likewise.
20609 * term/i386/pc/console.c: Likewise.
20610 * term/i386/pc/vga.c: Likewise.
20611 * util/console.c: Likewise.
20612 * util/genmoddep.c: Likewise.
20613 * util/misc.c: Likewise.
20614 * util/pupa-emu.c: Likewise.
20615 * util/resolve.c: Likewise.
20616 * util/unifont2pff.rb: Likewise.
20617 * util/i386/pc/biosdisk.c: Likewise.
20618 * util/i386/pc/getroot.c: Likewise.
20619 * util/i386/pc/pupa-mkimage.c: Likewise.
20620 * util/i386/pc/pupa-setup.c: Likewise.
20621
e6eced71 206222004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
20623
20624 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
20625 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
20626 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
20627 reading and reset it after reading.
20628 (pupa_ext2_close): Return PUPA_ERR_NONE.
20629
20630 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
20631 Correct value.
20632 (struct linux_kernel_header): Add kernel_version and
20633 initrd_addr_max.
20634 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
20635 pupa_file_read succeeds.
20636 (pupa_rescue_cmd_initrd): Implement.
20637
5aded270 206382003-12-03 Marco Gerards <metgerards@student.han.nl>
20639
20640 * fs/ext2.c (pupa_ext2_label): New function.
20641 (pupa_ext2_fs): Added label.
20642 * fs/fat.c (pupa_fat_label): New function.
20643 (pupa_fat_fs): Added label.
20644 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
20645
20646 * kern/misc.c (pupa_strndup): New function.
20647 * include/pupa/misc.h (pupa_strndup): New prototype.
20648
20649 * include/pupa/normal.h: Include <pupa/err.h>.
20650 (pupa_set_history): New prototype.
20651 (pupa_iterate_commands): New prototype.
20652 * normal/cmdline.c: Include <pupa/machine/partition.h>,
20653 <pupa/disk.h>, <pupa/file.h>.
20654 (hist_size): New variable.
20655 (hist_lines): Likewise.
20656 (hist_end): Likewise.
20657 (hist_used): Likewise.
20658 (pupa_set_history): New function.
20659 (pupa_history_get): Likewise.
20660 (pupa_history_add): Likewise.
20661 (pupa_history_replace): Likewise.
20662 (pupa_tab_complete): Likewise.
20663 (pupa_cmdline_run): Added tab completion and history buffer. Tab
20664 completion shows partitionnames while completing partitions, this
20665 feature was suggested by Jeff Bailey.
20666 * normal/command.c (pupa_iterate_commands): New function.
20667 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
20668 (pupa_normal_init): Initialize history buffer.
20669 (PUPA_MOD_INIT): Likewise.
20670 (pupa_normal_fini): Free the history buffer.
20671 (PUPA_MOD_FINI): Likewise.
20672
20673 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
20674 key.
20675
20676 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
20677 * configure.ac [i386]: Check for regparam bug.
20678 (NESTED_FUNC_ATTR) [! i386]: Defined.
20679
1f7315a3 206802003-11-17 Marco Gerards <metgerards@student.han.nl>
20681
20682 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
20683 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
20684 (pupa_emu_SOURCES): New variable.
20685 (pupa_emu_LDFLAGS): Likewise.
20686 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
20687 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
20688 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
20689 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
20690 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
20691 (pupa_jmp_buf): New typedef.
20692 (pupa_setjmp) [PUPA_UTIL]: New macro.
20693 (pupa_longjmp) [PUPA_UTIL]: Likewise.
20694 * include/pupa/term.h (struct pupa_term): New member `refresh'.
20695 (pupa_refresh): New prototype.
20696 * include/pupa/util/getroot.h: New file.
20697 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
20698 it.
20699 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
20700 (pupa_rescue_cmd_cat): Likewise.
20701 (pupa_rescue_cmd_ls): Likewise.
20702 (pupa_rescue_cmd_testload): Likewise.
20703 (pupa_rescue_cmd_lsmod): Likewise.
20704 * normal/cmdline.c (pupa_cmdline_get): Likewise.
20705 * normal/menu.c (run_menu): Likewise.
20706 * kern/term.c (pupa_cls): Likewise.
20707 (pupa_refresh): New function.
20708 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
20709 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
20710 * util/console.c: New file.
f19dbdb7 20711
1f7315a3 20712 * util/i386/pc/getroot.c: New file.
20713 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
20714 (pupa_putchar): New function.
20715 (pupa_refresh): Likewise.
20716 (xgetcwd): Function moved to ...
20717 (strip_extra_slashes): Likewise.
20718 (get_prefix): Likewise.
f19dbdb7 20719 * util/i386/pc/getroot.c: ... here.
1f7315a3 20720 (find_root_device): Function moved and renamed to...
20721 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
20722 Changed all callers.
20723 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
20724 and renamed to...
20725 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
20726 Changed all callers.
20727 * util/misc.c (pupa_memalign): New function.
20728 (pupa_mm_init_region): Likewise.
20729 (pupa_register_exported_symbols): Likewise.
20730 (pupa_putchar): Function removed.
20731 * util/pupa-emu.c: New file.
20732
9a5c1ade 207332003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
20734
20735 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
20736 (_multiboot_mod_SOURCES): New variable.
20737 (_multiboot_mod_CFLAGS): Likewise.
20738 * loader/i386/pc/multiboot.c: New file.
20739 * include/pupa/i386/pc/multiboot.h: Likewise.
20740 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
20741 (pupa_multiboot_real_boot): New function.
20742 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
20743 (pupa_multiboot_real_boot): New prototype.
20744 (pupa_rescue_cmd_multiboot): Likewise
20745 (pupa_rescue_cmd_module): Likewise.
20746
20747 * kern/loader.c (pupa_loader_set): Continue when
20748 pupa_loader_unload_func() fails.
20749 (pupa_loader_unset): New function.
20750 * include/pupa/loader.h (pupa_loader_unset): New prototype.
20751
20752 * kern/misc.c (pupa_stpcpy): New function.
20753 * include/pupa/misc.h (pupa_stpcpy): New prototype.
20754
8e72a9c0 207552003-11-12 Marco Gerards <metgerards@student.han.nl>
20756
20757 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
20758 for available extensions.
20759
20760 * include/pupa/i386/pc/time.h: New file.
20761 * kern/disk.c: Include <pupa/machine/time.h>.
20762 (PUPA_CACHE_TIMEOUT): New macro.
20763 (pupa_last_time): New variable.
20764 (pupa_disk_open): Flush the cache when there was a timeout.
20765 (pupa_disk_close): Reset the timer.
20766 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
20767 pupa_currticks.
20768 * util/misc.c: Include <sys/times.h>
20769 (pupa_get_rtc): New function.
20770
c4adbd32 207712003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
20772
20773 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
20774 as blocks.
20775 (pupa_ext2_get_file_block): Use blocks member.
20776
20777 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
20778 first block. Return -1 instead of pupa_errno on error.
20779
bfd30f06 207802003-10-27 Marco Gerards <metgerards@student.han.nl>
20781
20782 * README: In the pupa-mkimage example use _chain instead of chain
20783 and ext2 instead of fat.
20784 * TODO: Replace ext2fs with jfs as an example. Add an item for
20785 adding journal playback for ext2fs.
20786 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
20787 (pkgdata_MODULES): Added ext2.mod.
20788 (ext2_mod_SOURCES): New variable.
20789 (ext2_mod_CFLAGS): Likewise.
20790 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
20791 * include/pupa/misc.h (pupa_strncpy): New prototype.
20792 (pupa_strcat): Likewise.
20793 (pupa_strncmp): Likewise.
20794 * kern/misc.c (pupa_strcat): Enable function.
20795 (pupa_strncpy): New function.
20796 (pupa_strncmp): Likewise.
20797 * fs/ext2.c: New file.
f19dbdb7 20798
bfd30f06 20799 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
20800 when the read failed before retrying.
20801 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
20802 (_FILE_OFFSET_BITS): Likewise.
20803 * configure.ac: Added AC_SYS_LARGEFILE.
20804
98d15063 208052003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
20806
20807 * genmk.rb (PModule#rule): Make sure to get only symbol names
20808 from the output of nm.
20809 Reported by Robert Millan <zeratul2@wanadoo.es>.
20810
18d9c7cd 208112003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
20812
20813 I forgot to check in these changes for a long time. This adds
20814 incomplete support for VGA console, and this is still very
20815 buggy. Also, a lot of consideration is required for I18N,
20816 UNICODE, and VGA font issues. Therefore, assume that this is
20817 such that "better than nothing".
f19dbdb7 20818
18d9c7cd 20819 * font/manager.c: New file.
20820 * include/pupa/font.h: Likewise.
20821 * include/pupa/i386/pc/vga.h: Likewise.
20822 * term/i386/pc/vga.c: Likewise.
20823 * util/unifont2pff.rb: Likewise.
20824
20825 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
20826 (pkgdata_MODULES): Added vga.mod and font.mod.
20827 (vga_mod_SOURCES): New variables.
20828 (vga_mod_CFLAGS): Likewise.
20829 (font_mod_SOURCES): Likewise.
20830 (font_mod_CFLAGS): Likewise.
20831
20832 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
20833
20834 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 20835 (struct pupa_term): Added init and fini.
18d9c7cd 20836 Changed the argument of putchar to pupa_uint32_t.
20837
20838 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
20839 (pupa_console_real_putchar): New prototype.
20840 (pupa_console_putchar): Removed.
20841 (pupa_console_checkkey): Exported.
20842 (pupa_console_getkey): Likewise.
20843
20844 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
20845 characters.
20846
20847 * kern/term.c (pupa_term_set_current): Rewritten.
20848 (pupa_putchar): Likewise.
20849 (pupa_putcode): New function.
20850
20851 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
20852 (pupa_console_real_putchar): ... this.
20853 (pupa_vga_set_mode): New function.
20854 (pupa_vga_get_font): Likewise.
20855
20856 * normal/command.c: Include pupa/term.h.
20857 (terminal_command): New function.
20858 (pupa_command_init): Register the command "terminal".
20859
20860 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
20861 (DISP_UP): Likewise.
20862 (DISP_RIGHT): Likewise.
20863 (DISP_DOWN): Likewise.
20864 (DISP_HLINE): Likewise.
20865 (DISP_VLINE): Likewise.
20866 (DISP_UL): Likewise.
20867 (DISP_UR): Likewise.
20868 (DISP_LL): Likewise.
20869 (DISP_LR): Likewise.
20870
20871 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 20872
977329f5 208732003-02-08 NIIBE Yutaka <gniibe@m17n.org>
20874
20875 * util/resolve.c (pupa_util_resolve_dependencies): BUG
20876 FIX. Reverse the path_list.
20877
20878 * include/pupa/normal.h: Export pupa_register_command and
20879 pupa_unregister_command.
20880
20881 * hello/hello.c (pupa_cmd_hello): New module.
20882 * conf/i386-pc.rmk: Added hello.mod.
20883
1f5ab428 208842003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
20885
20886 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 20887
1f5ab428 20888 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
20889 (compress_kernel): New variable.
20890 (generate_image): Heavily modified to support compressing a
20891 large part of the core image.
20892
20893 * util/misc.c (pupa_util_read_image): Fix a file descriptor
20894 leak.
20895 (pupa_util_load_image): New function.
20896
20897 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
20898 (pupa_compressed_size): New variable.
20899 (codestart): Enable Gate A20 here.
20900 Decompress the compressed part of the core image.
20901 Rearrange the code to put functions and variables which are
20902 required for initialization in the non-compressed part.
20903 Include lzo1x.S.
20904
20905 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
20906 here.
20907
20908 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
20909
f19dbdb7 20910 * include/pupa/i386/pc/kernel.h
1f5ab428 20911 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
20912 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
20913 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
20914 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
20915 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
20916
20917 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
20918
20919 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
20920 (Utility#rule): Likewise.
20921
20922 * configure.ac: Check if LZO is available.
20923
ce5bf700 209242003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
20925
20926 * include/pupa/normal.h: New file.
20927 * include/pupa/setjmp.h: Likewise.
20928 * include/pupa/i386/setjmp.h: Likewise.
20929 * normal/cmdline.c: Likewise.
20930 * normal/command.c: Likewise.
20931 * normal/main.c: Likewise.
20932 * normal/menu.c: Likewise.
20933 * normal/i386/setjmp.S: Likewise.
f19dbdb7 20934
ce5bf700 20935 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
20936 (pupa_rescue_cmd_initrd): Likewise.
20937
20938 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
20939 Likewise.
20940
20941 * kern/i386/pc/startup.S (translation_table): New variable.
20942 (translate_keycode): New function.
20943 (pupa_console_getkey): Call translate_keycode.
20944
20945 * kern/rescue.c (attempt_normal_mode): New function.
20946 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
20947 it failed, print a message.
20948
20949 * kern/mm.c (pupa_real_malloc): Print more information when a
20950 free magic is broken.
20951 (pupa_free): If the first free header is not free actually, set
20952 it to P.
20953
20954 * kern/main.c (pupa_load_normal_mode): Just load the module
20955 "normal".
20956 (pupa_main): Don't print the message
20957 "Entering into rescue mode..." here.
20958
20959 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
20960 Declared.
20961 (pupa_rescue_cmd_initrd): Likewise.
20962 (pupa_rescue_cmd_initrd): Likewise.
20963
20964 * include/pupa/symbol.h (FUNCTION): Specify the type.
20965 (VARIABLE): Likewise.
20966
20967 * include/pupa/err.h (pupa_err_t): Added
20968 PUPA_ERR_UNKNOWN_COMMAND.
20969
20970 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
20971 (pupa_dl_get_prefix): Likewise.
20972
20973 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
20974 Added _chain.mod and _linux.mod instead of chain.mod and
20975 linux.mod.
20976 (chain_mod_SOURCES): Renamed to ...
20977 (_chain_mod_SOURCES): ... this.
20978 (chain_mod_CFLAGS): Renamed to ...
20979 (_chain_mod_CFLAGS): ... this.
20980 (linux_mod_SOURCES): Renamed to ...
20981 (_linux_mod_SOURCES): ... this.
20982 (linux_mod_CFLAGS): Renamed to ...
20983 (_linux_mod_CFLAGS): ... this.
20984 (normal_mod_SOURCES): New variable.
20985 (normal_mod_CFLAGS): Likewise.
20986 (normal_mod_ASFLAGS): Likewise.
20987
209882003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
20989
20990 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
20991 possible.
20992
fe6b695a 20993 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 20994 recursively.
20995 (pupa_dl_unref): Unrefer depending modules recursively.
20996 Don't call pupa_dl_unload implicitly, because PUPA can crash if
20997 a module is unloaded before one depending on that module is
20998 unloaded.
20999 (pupa_dl_unload): Unload depending modules explicitly,
21000 if possible.
21001
c04da074 210022003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
21003
21004 * include/pupa/i386/pc/linux.h: New file.
21005 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 21006
c04da074 21007 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
21008 Removed.
21009 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
21010 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
21011 of PUPA_CHAINLOADER_BOOT_SECTOR.
21012
21013 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
21014 (pupa_linux_prot_size): New variable.
21015 (pupa_linux_tmp_addr): Likewise.
21016 (pupa_linux_real_addr): Likewise.
21017 (pupa_linux_boot_zimage): New function.
21018 (pupa_linux_boot_bzimage): Likewise.
21019
21020 * kern/i386/pc/init.c (struct mem_region): New structure.
21021 (MAX_REGIONS): New macro.
21022 (mem_regions): New variable.
21023 (num_regions): Likewise.
21024 (pupa_os_area_addr): Likewise.
21025 (pupa_os_area_size): Likewise.
21026 (pupa_lower_mem): Likewise.
21027 (pupa_upper_mem): Likewise.
21028 (add_mem_region): New function.
21029 (compact_mem_regions): Likewise.
21030 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
21031 the size of the conventional memory and that of so-called upper
21032 memory (before the first memory hole).
21033 Instead of adding each found region to free memory, use
21034 add_mem_region and add them after removing overlaps.
21035 Also, add only 1/4 of the upper memory to free memory. The rest
21036 is used for loading OS images. Maybe this is ad hoc, but this
21037 makes it much easier to relocate OS images when booting.
21038
21039 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
21040 (pupa_enter_rescue_mode): Don't register initrd and module.
21041
21042 * kern/mm.c: Include pupa/dl.h.
21043
21044 * kern/main.c: Include pupa/file.h and pupa/device.h.
21045
21046 * kern/loader.c (pupa_loader_load_module_func): Removed.
21047 (pupa_loader_load_module): Likewise.
21048
21049 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
21050 ``.o''.
21051
21052 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
21053 (pupa_linux_tmp_addr): Likewise.
21054 (pupa_linux_real_addr): Likewise.
21055 (pupa_linux_boot_zimage): Likewise.
21056 (pupa_linux_boot_bzimage): Likewise.
21057
21058 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
21059 (pupa_upper_mem): Likewise.
21060 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
21061 module is too dangerous.
21062
21063 * include/pupa/loader.h (pupa_os_area_addr): Declared.
21064 (pupa_os_area_size): Likewise.
21065 (pupa_loader_set): Remove the first argument. Loader doesn't
21066 manage modules or initrd any longer.
21067 (pupa_loader_load_module): Removed.
21068
21069 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
21070 (linux_mod_SOURCES): New variable.
21071 (linux_mod_CFLAGS): Likewise.
21072
a13f9237 210732003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
21074
21075 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
21076 the length of a blocklist correctly.
21077
21078 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
21079 Use ioctl only if the OS file is a block device.
21080 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
21081 not very useful for normal files.
21082
21083 * kern/main.c (pupa_set_root_dev): New function.
21084 (pupa_load_normal_mode): Likewise.
21085 (pupa_main): Call those above.
21086
21087 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
21088 pupa_uint16_t.
21089
21090 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
21091
a5ffe966 210922003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
21093
21094 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
21095 (setup): Configure the installed partition information and the
21096 dl prefix.
21097
21098 * loader/i386/pc/chainloader.c (my_mod): New variable.
21099 (pupa_chainloader_unload): New function.
21100 (pupa_rescue_cmd_chainloader): Refer itself.
21101 (PUPA_MOD_INIT): Save its own module in MY_MOD.
21102
21103 * kern/i386/pc/startup.S (install_partition): Removed.
21104 (version_string): Likewise.
21105 (config_file): Likewise.
21106 (pupa_install_dos_part): New variable.
21107 (pupa_install_bsd_part): Likewise.
21108 (pupa_prefix): Likewise.
21109 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
21110
21111 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
21112 and pupa/misc.h.
21113 (make_install_device): New function.
21114 (pupa_machine_init): Set the dl prefix.
21115
21116 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
21117 (buf): Renamed to ...
21118 (linebuf): ... this.
21119 (pupa_rescue_cmd_prefix): New function.
21120 (pupa_rescue_cmd_insmod): Likewise.
21121 (pupa_rescue_cmd_rmmod): Likewise.
21122 (pupa_rescue_cmd_lsmod): Likewise.
21123 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
21124 rmmod and lsmod.
21125
21126 * kern/mm.c (pupa_memalign): If failed even after invalidating
21127 disk caches, unload unneeded modules and retry.
21128
21129 * kern/misc.c (pupa_memmove): New function.
21130 (pupa_memcpy): Removed.
21131 (pupa_strcpy): New function.
21132 (pupa_itoa): Made static.
21133
21134 * kern/dl.c (pupa_dl_iterate): New function.
21135 (pupa_dl_ref): Likewise.
21136 (pupa_dl_unref): Likewise.
21137 (pupa_dl_unload): Return if succeeded or not.
21138 (pupa_dl_unload_unneeded): New function.
21139 (pupa_dl_unload_all): Likewise.
21140 (pupa_dl_init): Renamed to ...
21141 (pupa_dl_set_prefix): ... this.
21142 (pupa_dl_get_prefix): New function.
21143
21144 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
21145 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
21146 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
21147 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
21148 (pupa_install_dos_part): Declared.
21149 (pupa_install_bsd_part): Likewise.
21150 (pupa_prefix): Likewise.
21151 (pupa_boot_drive): Likewise.
21152
21153 * include/pupa/types.h: Fix a typo.
21154
21155 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
21156 pupa_memmove.
21157 (pupa_memmove): Declared.
21158 (pupa_strcpy): Likewise.
21159
21160 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
21161 pupa_mod_init takes one argument, its own module.
21162 (pupa_dl_unload_unneeded): Declared.
21163 (pupa_dl_unload_all): Likewise.
21164 (pupa_dl_ref): Likewise.
21165 (pupa_dl_unref): Likewise.
21166 (pupa_dl_iterate): Likewise.
21167 (pupa_dl_init): Renamed to ...
21168 (pupa_dl_set_prefix): ... this.
21169 (pupa_dl_get_prefix): Declared.
21170
21171 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 21172 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 21173 unloaded.
21174 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
21175 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
21176
21177 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
21178 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
21179
012d7999 211802003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
21181
21182 * util/i386/pc/pupa-setup.c (setup): Define the internal
21183 function find_first_partition_start at the top level, because GCC
21184 3.0.x cannot compile internal functions in deeper scopes
21185 correctly.
21186 (find_root_device): Use lstat instead of stat.
21187 Don't follow symbolic links.
21188 Fix the path-constructing code.
21189
21190 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
21191 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
21192 by a BLKGETSIZE ioctl first, because block devices don't fill
21193 the member st_mode of the structure stat on Linux.
21194 [__linux__] (linux_find_partition): Use a temporary buffer
21195 REAL_DEV for the working space. Copy it to DEV before returning.
21196 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
21197 buffer cache consistent.
21198 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
21199 strncmp. The previous value was merely wrong.
21200 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
21201
21202 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
21203 FAT size is 12. The previous value was merely wrong.
21204
21205 * kern/main.c (pupa_main): Don't split the starting message from
21206 newlines.
21207
21208 * kern/term.c (pupa_putchar): Put CR after LF instead of before
21209 LF, because BIOS goes crazy about character attributes in this
21210 case.
21211
1cc73a62 212122003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
21213
21214 * include/i386/pc/util/biosdisk.h: New file.
21215 * util/i386/pc/biosdisk.c: Likewise.
21216 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 21217
1cc73a62 21218 * Makefile.in (INCLUDE_DISTFILES): Added
21219 include/pupa/i386/pc/util/biosdisk.h.
21220 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
21221 directory util/i386/pc.
21222 (install-local): Added a rule for sbin_UTILITIES.
21223 (uninstall): Likewise.
21224
21225 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
21226
21227 * util/misc.c (xrealloc): New function.
21228 (pupa_malloc): Likewise.
21229 (pupa_free): Likewise.
21230 (pupa_realloc): Likewise.
21231 (pupa_stop): Likewise.
21232 (pupa_putchar): Likewise.
21233
21234 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
21235
21236 * include/pupa/util/misc.h (xrealloc): Declared.
21237
21238 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
21239 macro.
21240 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
21241 (PUPA_BOOT_MACHINE_BPB_END): ... this.
21242
21243 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
21244 [PUPA_UTIL] (pupa_fat_fini): Likewise.
21245
21246 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
21247 way should be implemented.
21248 [PUPA_UTIL] (pupa_fat_fini): Likewise.
21249
21250 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
21251 the size of NAME for safety.
21252 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
21253 0x88.
21254
21255 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
21256 (pupa_setup_SOURCES): Likewise.
21257
21258 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
21259
08b70fe8 212602002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
21261
21262 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
21263 bunch of pushl's from pusha, because this destroys the return
21264 value.
21265
62ddcc8f 212662002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
21267
21268 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
21269 This means that any missing prototypes could be fatal. Also, you
21270 must take care when writing assembly code. See the comments at
21271 the beginning of startup.S, for more details.
f19dbdb7 21272
62ddcc8f 21273 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
21274 compilation mechanism.
21275 (pupa_chainloader_real_boot): Likewise.
21276 (pupa_biosdisk_rw_int13_extensions): Likewise.
21277 (pupa_biosdisk_rw_standard): Likewise.
21278 (pupa_biosdisk_check_int13_extensions): Likewise.
21279 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
21280 (pupa_biosdisk_get_diskinfo_standard): Likewise.
21281 (pupa_get_memsize): Likewise.
21282 (pupa_get_mmap_entry): Likewise.
21283 (pupa_console_putchar): Likewise.
21284 (pupa_console_setcursor): Likewise.
21285 (pupa_getrtsecs): Use pushl instead of push.
21286
21287 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
21288 memory instead of the stack for a mmap entry, because some
21289 BIOSes may ignore the maximum size and overflow.
21290
21291 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
21292
21293 * genmk.rb (PModule#rule): Compile automatically generated
21294 sources with module-specific CFLAGS as well as other sources.
21295
9962ed99 212962002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
21297
21298 * configure.ac: Check ld.
21299 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
21300 respectively, before checking endianness and sizes.
21301
21302 * Makefile.in (LD): New variable.
f19dbdb7 21303
abdfc3c5 213042002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
21305
21306 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
21307
6a161fa9 213082002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
21309
21310 * Changelog: New file.
21311