]> git.proxmox.com Git - grub2.git/blame - ChangeLog
2009-11-24 Felix Zielcke <fzielcke@z-51.de>
[grub2.git] / ChangeLog
CommitLineData
4465287d
FZ
12009-11-24 Felix Zielcke <fzielcke@z-51.de>
2
3 * util/getroot.c (grub_util_get_dev_abstraction): Properly use
4 strncmp().
5
62b47f22
FZ
62009-11-24 Felix Zielcke <fzielcke@z-51.de>
7
8 * util/getroot.c (grub_util_is_dmraid): New function.
9 (grub_util_get_dev_abstraction): Treat dmraid and multipath
10 devices as normal ones, not as LVM.
11
662290ce
RM
122009-11-23 Robert Millan <rmh.grub@aybabtu.com>
13
14 * po/id.po: New file.
15 * LINGUAS: Add `id'.
16
1eafb9b9 172009-11-23 Carles Pina i Estany <carles@pina.cat>
c3ea6bd4
CPE
18
19 * conf/common.rmk: Add grub-gettext_lib target and updates
20 lib_DATA and CLEANFILES. Adds gettext.mod SOURCES, CFLAGS,
21 LDFLAGS.
22 * gettext/gettext.c: New file. (Reads mo files).
23 * include/grub/file.h (grub_file_pread): New prototype.
24 * include/grub/i18n.h (_): New prototype.
25 * include/grub/misc.h (grub_gettext_dummy, grub_gettext): New
26 prototypes.
27 * kern/misc.c (grub_gettext_dummy): New function.
28 * normal/menu_text.c: Include <grub/i18n.h>.
29 * normal/menu_text.c (print_timeout): Gettexttize string.
30 * normal/menu_text.c (print_message): Gettexttize string.
31 * po/POTFILES: Add `normal/menu_text.c'.
32 * po/ca.po: Add new translations.
33 * util/grub.d/00_header.in: Define locale_dir and lang. insmod
34 gettext module and defines locale_dir and lang in grub.cfg.
35 * NEWS: Add gettext support.
36
0fdb2568
RM
372009-11-23 Robert Millan <rmh.grub@aybabtu.com>
38
39 * util/hostdisk.c: Include `<grub/i18n.h>'.
40 (find_grub_drive): Use ARRAY_SIZE for map size calculation.
41 (make_device_name): Rewrite using asprintf.
42 (convert_system_partition_to_system_disk): Replace 0 with NULL.
43 (find_system_device): If a device is not found, generate one just
44 by reusing the OS path name.
45 (read_device_map): Make it permissible for device.map not to exist.
46
f515aa62
RM
472009-11-23 Robert Millan <rmh.grub@aybabtu.com>
48
49 * script/sh/execute.c: Move from here ...
50 * script/execute.c: ... to here. Update all users.
51 * script/sh/function.c: Move from here ...
52 * script/function.c: ... to here. Update all users.
53 * script/sh/lexer.c: Move from here ...
54 * script/lexer.c: ... to here. Update all users.
55 * script/sh/main.c: Move from here ...
56 * script/main.c: ... to here. Update all users.
57 * script/sh/parser.y: Move from here ...
58 * script/parser.y: ... to here. Update all users.
59 * script/sh/script.c: Move from here ...
60 * script/script.c: ... to here. Update all users.
61
f84b481b
RM
622009-11-23 Robert Millan <rmh.grub@aybabtu.com>
63
64 * configure.ac: Detect all `emu' platforms. Define
65 GRUB_MACHINE_* macros in TARGET_CFLAGS. Remove
66 --enable-grub-emu logic. Disable include/grub/machine
67 symlink on `emu' platforms.
68
69 * genkernsyms.sh.in: Use @TARGET_CFLAGS@ during symbol generation.
70 * gensymlist.sh.in: Likewise.
71
72 * include/grub/i386/coreboot/machine.h: Remove file.
73 * include/grub/i386/efi/machine.h: Likewise.
74 * include/grub/i386/ieee1275/machine.h: Likewise.
75 * include/grub/i386/pc/machine.h: Likewise.
76 * include/grub/i386/qemu/machine.h: Likewise.
77 * include/grub/powerpc/ieee1275/machine.h: Likewise.
78 * include/grub/sparc64/ieee1275/machine.h: Likewise.
79 * include/grub/x86_64/efi/machine.h: Likewise.
80
81 * commands/acpi.c: Remove `<grub/machine/machine.h>'.
82 * commands/halt.c: Likewise.
83 * commands/reboot.c: Likewise.
84 * include/grub/autoefi.h: Likewise.
85 * include/grub/i386/at_keyboard.h: Likewise.
86 * include/grub/i386/kernel.h: Likewise.
87 * include/grub/i386/loader.h: Likewise.
88 * include/grub/i386/pc/memory.h: Likewise.
89 * kern/dl.c: Likewise.
90 * kern/i386/coreboot/init.c: Likewise.
91 * loader/i386/bsd.c: Likewise.
92 * loader/i386/linux.c: Likewise.
93 * loader/multiboot_loader.c: Likewise.
94 * term/i386/pc/serial.c: Likewise.
95 * term/usb_keyboard.c: Likewise.
96
97 * include/grub/time.h [!GRUB_MACHINE_EMU]: Remove
98 `<grub/machine/machine.h>'
99 [!GRUB_MACHINE_EMU] (GRUB_TICKS_PER_SECOND): New macro.
100 * util/misc.c: Remove `<grub/machine/machine.h>' and
101 `<grub/machine/time.h>'.
102
103 * Makefile.in (enable_grub_emu): Remove variable.
104 Include $(srcdir)/conf/any-emu.mk for the `emu' platform.
105
106 * conf/any-emu.rmk: New file.
107 * conf/common.rmk (grub_emu_init.lst, grub_emu_init.h)
108 (grub_emu_init.c): Move from here ...
109 * conf/any-emu.rmk: ... to here.
110
111 * conf/i386-coreboot.rmk (sbin_UTILITIES): Remove `grub-emu'.
112 (grub_emu_SOURCES, grub_emu_LDFLAGS): Move from here ...
113 * conf/any-emu.rmk: ... to here.
114
4efeab03
RM
1152009-11-23 Robert Millan <rmh.grub@aybabtu.com>
116
117 * include/grub/parser.h (grub_parser_register): Document need
118 of `name' parameter.
119 * normal/main.c (grub_normal_read_line): Simplify prompt string.
120 * script/sh/main.c (grub_sh_parser, GRUB_MOD_INIT(sh)): Rename
121 "sh" to "grub".
122
ea1dd8bf
RM
1232009-11-23 Robert Millan <rmh.grub@aybabtu.com>
124
125 * Makefile.in ($(srcdir)/po/$(PACKAGE).pot): Pass --keyword=N_ to
126 `$(XGETTEXT)'.
127 * include/grub/i18n.h (N_): New macro.
128 * util/mkisofs/mkisofs.h: Likewise.
129 * util/mkisofs/mkisofs.c (ld_options): Wrap all translatable strings
130 around N_().
131 (usage): Use gettext() to translate help strings when printing them.
132
0c140626
RM
1332009-11-23 Robert Millan <rmh.grub@aybabtu.com>
134
135 Based on patch from Bean
136 (http://lists.gnu.org/archive/html/grub-devel/2009-08/msg00384.html)
137
138 * video/efi_fb.c: New file.
139 * conf/i386-efi.rmk (pkglib_MODULES): Add `efi_fb.mod'.
140 (efi_fb_mod_SOURCES, efi_fb_mod_CFLAGS, efi_fb_mod_LDFLAGS): New
141 variables.
142 * conf/x86_64-efi.rmk: Likewise.
143
87d58298
RM
1442009-11-22 Robert Millan <rmh.grub@aybabtu.com>
145
146 * util/i386/pc/grub-mkimage.c: Ungettextize grub_util_info() strings.
147 * util/i386/pc/grub-setup.c: Likewise.
148
994cc3a3
ST
1492009-11-21 Samuel Thibault <samuel.thibault@ens-lyon.org>
150
151 * util/getroot.c [__GNU__]: Include <hurd.h>, <hurd/lookup.h>, and
152 <hurd/fs.h>
153 [__GNU__] (grub_guess_root_device): Call file_name_lookup and
154 file_get_storage_info to implement grub_guess_root_device.
155
26a61d6a
FZ
1562009-11-21 Felix Zielcke <fzielcke@z-51.de>
157
158 * Makefile.in (target): Use make's builtin $(shell) function
159 instead of calling directly $(SHELL) to create the locale directories,
160 inside the $(foreach) function.
161
74ff1dd5
FZ
1622009-11-21 Felix Zielcke <fzielcke@z-51.de>
163
164 * util/grub-mkrescue.in: Print an error and usage if output option
165 has not been given.
166
0b787d0e
FZ
1672009-11-21 Felix Zielcke <fzielcke@z-51.de>
168
169 Patch from Loïc Minier <loic.minier@ubuntu.com>.
170 * util/grub.d/30_os-prober.in: Cope with Linux entries where
171 root and /boot are on different devices.
172
1164b270
RM
1732009-11-21 Robert Millan <rmh.grub@aybabtu.com>
174
175 Fix build for srcdir != objdir.
176
177 * Makefile.in (po/$(PACKAGE).pot): Rename to ...
178 ($(srcdir)/po/$(PACKAGE).pot): ... this. Run $(XGETTEXT) from
179 $(srcdir).
180 ($(foreach lang, $(LINGUAS), po/$(lang).po)): Rename to ...
181 ($(foreach lang, $(LINGUAS), $(srcdir)/po/$(lang).po): ... this. Use $^
182 reference for input.
183
13774a2f
RM
1842009-11-21 Robert Millan <rmh.grub@aybabtu.com>
185
186 * util/grub-mkrescue.in: Use source directory direcly (without copiing
187 or hardlinking it). Remove -J option, Joliet is not compatible with
188 multiple source directories.
189
efda854e
RM
1902009-11-21 Carles Pina i Estany <carles@pina.cat>
1912009-11-21 Robert Millan <rmh.grub@aybabtu.com>
192
193 * util/grub-mkrescue.in: Recognize `--override-directory' option.
194 (process_input_dir): New function. Process an arbitrary input
195 directory.
196 Misc adjustments to support both "override mode" and system-wide mode.
197
6c09890c
FZ
1982009-11-20 Felix Zielcke <fzielcke@z-51.de>
199
200 * configure.ac (UNIFONT_BDF): Rename to ...
201 (FONT_SOURCE): ... this. Update all users.
202
a797824f
FZ
2032009-11-20 Felix Zielcke <fzielcke@z-51.de>
204
205 * configure.ac: Add `/usr/share/fonts/X11/misc/unifont.pcf.gz'
206 to the list of unifont files to look for.
207
cd4f42b0
RM
2082009-11-19 Robert Millan <rmh.grub@aybabtu.com>
209
210 Patch from Joe Auricchio <jauricchio@gmail.com>
211 * commands/minicmd.c (grub_mini_cmd_clear): New function.
212 (GRUB_MOD_INIT(minicmd)): Register grub_mini_cmd_clear().
213 (GRUB_MOD_FINI(minicmd)): Unregister grub_mini_cmd_clear().
214
393c783d
FZ
2152009-11-19 Felix Zielcke <fzielcke@z-51.de>
216
217 * Makefile.in (install-local): Add a missing backslash.
218
b2f1e327
FZ
2192009-11-19 Felix Zielcke <fzielcke@z-51.de>
220
221 * include/grub/x86_64/io.h: New file.
222
f577f7a0
RM
2232009-11-19 Robert Millan <rmh.grub@aybabtu.com>
224
225 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `gnulib/progname.c'.
226 * util/i386/pc/grub-setup.c: Include `<grub/i18n.h>'.
227 Include `"progname.h"'.
228 (main): Initialize gettext.
229 * util/i386/pc/grub-setup.c: Gettexttize.
230 * util/i386/pc/grub-mkimage.c: Likewise.
231
232 * Makefile.in (po/*.po): Redefine as ...
233 ($(foreach lang, $(LINGUAS), po/$(lang).po)): ... this.
234
235 * po/POTFILES: Add `util/i386/pc/grub-setup.c'.
236
c37943b6
RM
2372009-11-19 Robert Millan <rmh.grub@aybabtu.com>
238
239 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/progname.c'.
240 * util/mkisofs/mkisofs.c: Include `"progname.h"'.
241 (program_name): Remove.
242 (main): Initialize gettext support.
6323f705
RM
243 * util/mkisofs/mkisofs.h: Include `<locale.h>'.
244 Include `<libintl.h>'.
245 (_): New macro.
c37943b6
RM
246
247 * util/mkisofs/eltorito.c: Gettexttize.
248 * util/mkisofs/joliet.c: Likewise.
249 * util/mkisofs/mkisofs.c: Likewise.
c37943b6
RM
250 * util/mkisofs/multi.c: Likewise.
251 * util/mkisofs/rock.c: Likewise.
252 * util/mkisofs/tree.c: Likewise.
253 * util/mkisofs/write.c: Likewise.
254
255 * po/POTFILES: Update with new files.
256
5ce77c6e
RM
2572009-11-18 Robert Millan <rmh.grub@aybabtu.com>
258
259 * util/mkisofs/eltorito.c: Fix minor mistake in license text.
260 * util/mkisofs/iso9660.h: Likewise.
261 * util/mkisofs/joliet.c: Likewise.
262 * util/mkisofs/mkisofs.c: Likewise.
263 * util/mkisofs/mkisofs.h: Likewise.
264 * util/mkisofs/rock.c: Likewise.
265 * util/mkisofs/tree.c: Likewise.
266 * util/mkisofs/write.c: Likewise.
267
268 * util/mkisofs/eltorito.c (rcsid): Remove.
269 * util/mkisofs/hash.c: Likewise.
270 * util/mkisofs/joliet.c: Likewise.
271 * util/mkisofs/name.c: Likewise.
272 * util/mkisofs/rock.c: Likewise.
273 * util/mkisofs/tree.c: Likewise.
274 * util/mkisofs/write.c: Likewise.
275
1dabbc77
RM
2762009-11-18 Robert Millan <rmh.grub@aybabtu.com>
277
278 * util/mkisofs/match.c: Rewrite from scratch, using a linked list
279 instead of static allocation.
280 * util/mkisofs/match.h: Likewise.
281
633877cb
RM
2822009-11-18 Robert Millan <rmh.grub@aybabtu.com>
283
284 * po/POTFILES-shell: New file. List `util/grub.d/10_kfreebsd.in'
285 and `util/grub.d/10_linux.in'.
286 * Makefile.in (po/$(PACKAGE).pot): Process `po/POTFILES-shell' for
287 translatable Shell files.
288
af1c0c85
RM
2892009-11-18 Robert Millan <rmh.grub@aybabtu.com>
290
291 * Makefile.in ($(srcdir)/aclocal.m4): New target.
292
769ae37b
RM
2932009-11-17 Robert Millan <rmh.grub@aybabtu.com>
294
295 * INSTALL: Document Automake is needed for bootstrap.
296 * po/ca.po: Fix PO-Revision-Date and Language-Team fields.
297 * util/grub.d/10_kfreebsd.in (bindir): New variable.
298 Add gettext initialization.
299 (kfreebsd_entry): Make menuentry output translatable.
300
3012009-11-17 Robert Millan <rmh.grub@aybabtu.com>
302
303 * Makefile.in (XGETTEXT, MSGMERGE, MSGFMT): New variables.
304 (po/$(PACKAGE).pot): Replace `xgettext' with `$(XGETTEXT)'.
305 (po/*.po): Replace `msgmerge' with `$(MSGMERGE)'.
306 (po/%.mo): Replace `msgfmt' with `$(MSGFMT)'.
307 (LINGUAS): Auto-generate using `po/LINGUAS'.
308 * po/LINGUAS: New file.
309
3102009-11-17 Robert Millan <rmh.grub@aybabtu.com>
311
312 * configure.ac: Call AM_GNU_GETTEXT() (defines localedir, among
313 other things).
314 * Makefile.in (CPPFLAGS): Add `-DLOCALEDIR=\"$(localedir)\"'.
315 * util/i386/pc/grub-mkimage.c (main): Issue setlocale() and
316 bindtextdomain() calls for gettext initialization.
317
3182009-11-17 Robert Millan <rmh.grub@aybabtu.com>
319
320 * gnulib/progname.c: New file (imported from Gnulib).
321 * gnulib/progname.h: Likewise.
322 * conf/i386-pc.rmk (grub_mkimage_SOURCES): Add `gnulib/progname.c'.
323 * util/i386/pc/grub-mkimage.c: Include `"progname.h"'.
324 (usage): Replace `progname' with `program_name'.
325 (main): Use set_program_name() for program name initialization.
326
3272009-11-17 Robert Millan <rmh.grub@aybabtu.com>
328
329 * conf/common.rmk (grub_mkisofs_CFLAGS): Move `-I$(srcdir)/gnulib'
330 from here ...
331 * Makefile.in (CPPFLAGS): ... to here.
332
3332009-11-16 Robert Millan <rmh.grub@aybabtu.com>
334
335 * aclocal.m4: Move from here ...
336 * acinclude.m4: ... to here.
337 * autogen.sh: Add call to `aclocal'.
338 * configure.ac: Add AM_INIT_AUTOMAKE() after AC_INIT() call.
339
3402009-11-16 Robert Millan <rmh.grub@aybabtu.com>
341
342 * Makefile.in (CLEANFILES): Add `po/*.mo'.
343 (LINGUAS): New variable.
344 (all-local): Add `$(foreach lang, $(LINGUAS), po/$(lang).mo)'.
345 (install-local): Install MO files.
346 (po/$(PACKAGE).pot, po/*.po, po/%.mo): New rules.
347 * include/grub/i18n.h: New file.
348 * po/POTFILES: New file.
349 * po/ca.po: New file.
350 * util/grub.d/10_linux.in (bindir): New variable.
351 Add gettext initialization.
352 (linux_entry): Make menuentry output translatable.
353 * util/i386/pc/grub-mkimage.c: Include `<grub/i18n.h>'.
354 (usage): Make --help output translatable.
355 (main): Initialize gettext.
356
02c0a6ad
RM
3572009-11-17 Robert Millan <rmh.grub@aybabtu.com>
358
359 * import_gcry.py: New file (written by Vladimir with minor
360 adjustments).
361 * autogen.sh: Use import_gcry.py to auto-generate GRUB-ified
362 ciphers.
363 * INSTALL: Document that Python is required for bootstrap.
364
3652009-11-17 Robert Millan <rmh.grub@aybabtu.com>
366
367 Import ciphers from libgcrypt 1.4.4.
368
369 * lib/libgcrypt/cipher/ChangeLog
370 * lib/libgcrypt/cipher/ac.c
371 * lib/libgcrypt/cipher/arcfour.c
372 * lib/libgcrypt/cipher/bithelp.h
373 * lib/libgcrypt/cipher/blowfish.c
374 * lib/libgcrypt/cipher/camellia-glue.c
375 * lib/libgcrypt/cipher/camellia.c
376 * lib/libgcrypt/cipher/camellia.h
377 * lib/libgcrypt/cipher/cast5.c
378 * lib/libgcrypt/cipher/cipher.c
379 * lib/libgcrypt/cipher/crc.c
380 * lib/libgcrypt/cipher/des.c
381 * lib/libgcrypt/cipher/dsa.c
382 * lib/libgcrypt/cipher/ecc.c
383 * lib/libgcrypt/cipher/elgamal.c
384 * lib/libgcrypt/cipher/hash-common.c
385 * lib/libgcrypt/cipher/hash-common.h
386 * lib/libgcrypt/cipher/hmac-tests.c
387 * lib/libgcrypt/cipher/md.c
388 * lib/libgcrypt/cipher/md4.c
389 * lib/libgcrypt/cipher/md5.c
390 * lib/libgcrypt/cipher/primegen.c
391 * lib/libgcrypt/cipher/pubkey.c
392 * lib/libgcrypt/cipher/rfc2268.c
393 * lib/libgcrypt/cipher/rijndael-tables.h
394 * lib/libgcrypt/cipher/rijndael.c
395 * lib/libgcrypt/cipher/rmd.h
396 * lib/libgcrypt/cipher/rmd160.c
397 * lib/libgcrypt/cipher/rsa.c
398 * lib/libgcrypt/cipher/seed.c
399 * lib/libgcrypt/cipher/serpent.c
400 * lib/libgcrypt/cipher/sha1.c
401 * lib/libgcrypt/cipher/sha256.c
402 * lib/libgcrypt/cipher/sha512.c
403 * lib/libgcrypt/cipher/tiger.c
404 * lib/libgcrypt/cipher/twofish.c
405 * lib/libgcrypt/cipher/whirlpool.c
406
af2f93ac
RM
4072009-11-16 Robert Millan <rmh.grub@aybabtu.com>
408
409 Fix build for systems without error().
410
411 * gnulib/error.c: New file (imported from Gnulib).
412 * gnulib/error.h: Likewise.
413 * conf/common.rmk (grub_mkisofs_SOURCES): Add `gnulib/error.c'.
414 * util/mkisofs/mkisofs.c (program_name): Remove `static' qualifier
415 (this variable is now used by error()).
416
73fb3dd5
FZ
4172009-11-16 Felix Zielcke <fzielcke@z-51.de>
418
814f5e96
FZ
419 * util/mkisofs/name.c (iso9660_file_length): Use isascii macro
420 instead of relying that char is signed.
73fb3dd5 421
a691ca33
VS
4222009-11-16 Vladimir Serbinenko <phcoder@gmail.com>
423
424 * fs/i386/pc/pxe.c (grub_pxefs_open): Correctly handle PXE choosing
425 blocksize different from specified.
426 (grub_pxefs_read): Likewise.
427
2af8f0f4
FZ
4282009-11-16 Felix Zielcke <fzielcke@z-51.de>
429
430 Enable ata.mod on x86_64-efi, i386-efi and i386-ieee1275.
431
432 * disk/ata.c (grub_ata_dumpinfo): Add a cast.
433 (grub_ata_readwrite): Likewise. Update 2 format strings.
434 (grub_atapi_read): Likewise.
435
436 * conf/i386-coreboot.rmk (pkglib_MODULES): Move `ata.mod' from here ...
437 * conf/i386.rmk (pkglib_MODULES): ... to here ...
438 * conf/x86_64-efi.rmk (pkglib_MODULES): ... and here.
439 * conf/i386-coreboot.rmk (ata_mod_SOURCES, ata_mod_CFLAGS)
440 (ata_mod_LDFLAGS): Move from here ...
441 * conf/i386.rmk: ... to here ...
442 * conf/x86_64-efi.rmk: ... and here.
443 * conf/i386-pc.rmk (pkglib_MODULES): Remove `ata.mod'
444 (ata_mod_SOURCES, ata_mod_CFLAGS, ata_mod_LDFLAGS): Remove.
445
83bdecaf
RM
4462009-11-16 Robert Millan <rmh.grub@aybabtu.com>
447
448 Relicense multiboot.h, with RMS' blessing.
449
450 * include/multiboot.h: Change to X11 license.
451
fd6fd3d7
RM
4522009-11-15 Robert Millan <rmh.grub@aybabtu.com>
453
454 Support --version in grub-mkisofs.
455
456 * util/mkisofs/mkisofs.c (rcsid): Remove variable.
457 (OPTION_VERSION): New macro.
458 (ld_options): Recognize --version.
459 (usage): Move `program_name' from here ...
460 (program_name): ... to here. Add `static' qualifier.
461 (main): Recognize `OPTION_VERSION'.
462
16a88c49
FZ
4632009-11-15 Felix Zielcke <fzielcke@z-51.de>
464
465 * Makefile.in (TARGET_CPPFLAGS): Replace `-isystem=$(srcdir)/include'
466 with `-nostdinc -isystem $(shell $(TARGET_CC) -print-file-name=include)'.
467
a4158476
RM
4682009-11-14 Robert Millan <rmh.grub@aybabtu.com>
469
470 Fix help2man generation for mkisofs.
471
472 * util/mkisofs/mkisofs.c (ld_options): Recognize --help.
473 (usage): Send output to stdout (rather than stderr).
474
fc2208b0
RM
4752009-11-14 Robert Millan <rmh.grub@aybabtu.com>
476
477 * conf/i386-coreboot.rmk (grub_mkrescue_SOURCES): Replace
478 `util/i386/coreboot/grub-mkrescue.in' with `util/grub-mkrescue.in'.
479 * conf/i386-pc.rmk (grub_mkrescue_SOURCES): Replace
480 `util/i386/pc/grub-mkrescue.in' with `util/grub-mkrescue.in'.
481 (bin_SCRIPTS): Add `grub-mkfloppy'.
482 (grub_mkfloppy_SOURCES): New variable.
483
484 * util/grub-mkrescue.in: New file.
485 * util/i386/pc/grub-mkfloppy.in: New file.
486
487 * util/i386/coreboot/grub-mkrescue.in: Remove.
488 * util/i386/pc/grub-mkrescue.in: Remove.
489
8d0edf4a
RM
4902009-11-13 Robert Millan <rmh.grub@aybabtu.com>
491
492 * include/grub/multiboot.h (struct grub_multiboot_header): Move
493 from here ...
494 * include/multiboot.h (struct multiboot_header): ... to here. Update
495 all users.
496 * include/grub/multiboot.h (struct grub_multiboot_info): Move
497 from here ...
498 * include/multiboot.h (struct multiboot_info): ... to here. Update
499 all users.
500 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): Move
501 from here ...
502 * include/multiboot.h (struct multiboot_mmap_entry): ... to here.
503 Update all users.
504 * include/grub/multiboot.h (struct grub_mod_list): Move
505 from here ...
506 * include/multiboot.h (struct multiboot_mod_list): ... to here.
507 Update all users.
508
a73f5969
RM
5092009-11-13 Robert Millan <rmh.grub@aybabtu.com>
510
511 * include/multiboot2.h (multiboot_word): Rename from this ...
512 (multiboot2_word): ... to this. Update all users.
513 (multiboot_header): Rename from this ...
514 (multiboot2_header): ... to this. Update all users.
515 (multiboot_tag_header): Rename from this ...
516 (multiboot2_tag_header): ... to this. Update all users.
517 (multiboot_tag_start): Rename from this ...
518 (multiboot2_tag_start): ... to this. Update all users.
519 (multiboot_tag_name): Rename from this ...
520 (multiboot2_tag_name): ... to this. Update all users.
521 (multiboot_tag_module): Rename from this ...
522 (multiboot2_tag_module): ... to this. Update all users.
523 (multiboot_tag_memory): Rename from this ...
524 (multiboot2_tag_memory): ... to this. Update all users.
525 (multiboot_tag_unused): Rename from this ...
526 (multiboot2_tag_unused): ... to this. Update all users.
527 (multiboot_tag_end): Rename from this ...
528 (multiboot2_tag_end): ... to this. Update all users.
529
1c8927f0
RM
5302009-11-13 Robert Millan <rmh.grub@aybabtu.com>
531
532 Disable Multiboot2 in i386-ieee1275. It didn't actually work, and on
533 this platform we should support Multiboot1 first.
534
535 * conf/i386-ieee1275.rmk (pkglib_MODULES): Remove `multiboot.mod'.
536 (multiboot_mod_SOURCES, multiboot_mod_CFLAGS)
537 (multiboot_mod_LDFLAGS, multiboot_mod_ASFLAGS): Remove.
538
6e1e0d89
RM
5392009-11-12 Robert Millan <rmh.grub@aybabtu.com>
540
541 * util/mkisofs/eltorito.c (init_boot_catalog): Handle return code
542 of write calls (converting them to fwrite() if they aren't already).
543 (get_torito_desc): Likewise.
544 * util/mkisofs/rock.c (generate_rock_ridge_attributes): Likewise.
545
7f2b34d8
RM
5462009-11-12 Robert Millan <rmh.grub@aybabtu.com>
547
548 * util/i386/pc/grub-install.in: Move from here ...
549 * util/grub-install.in: ... to here. Update all users.
550
c0ef3311
CW
5512009-11-11 Colin Watson <cjwatson@ubuntu.com>
552
553 * util/powerpc/ieee1275/grub-mkrescue.in: Fix --version output.
554
e1f240ff
RM
5552009-11-11 Robert Millan <rmh.grub@aybabtu.com>
556
557 Support for El Torito without floppy emulation.
558
559 * util/mkisofs/eltorito.c: Include `<errno.h>'.
560 (init_boot_catalog): Improve error handling.
561 (get_torito_desc): Don't use floppy emulation unless requested by
562 user. Patch boot information table when requested via
563 `-boot-info-table'.
564 * util/mkisofs/iso9660.h (struct eltorito_boot_info): New struct.
565 * util/mkisofs/mkisofs.c (use_eltorito_emul_floppy)
566 (use_boot_info_table): New variables.
567 (OPTION_BOOT_INFO_TABLE, OPTION_NO_EMUL_BOOT)
568 (OPTION_ELTORITO_EMUL_FLOPPY): New macros.
569 (ld_options): Handle `-boot-info-table', `-no-emul-boot' and
570 `--eltorito-emul-floppy'.
571 (main): Handle `OPTION_BOOT_INFO_TABLE', `OPTION_NO_EMUL_BOOT'
572 and `OPTION_ELTORITO_EMUL_FLOPPY'.
573 * util/mkisofs/mkisofs.h (use_eltorito_emul_floppy)
574 (use_boot_info_table, get_731): New prototypes.
575 * util/mkisofs/write.c (get_731): New function.
576
af7d4de5
FZ
5772009-11-11 Felix Zielcke <fzielcke@z-51.de>
578
579 Fix the generation of the man page.
580
581 * util/pc/i386/grub-install.in: Source
582 `${libdir}/grub/grub-mkconfig_lib' after options have been parsed.
583
2c55dbc0
RM
5842009-11-11 Robert Millan <rmh.grub@aybabtu.com>
585
586 Large file support for grub-mkisofs.
587
588 * conf/common.rmk (grub_mkisofs_CFLAGS): Add `-D_FILE_OFFSET_BITS=64'.
589 * util/mkisofs/mkisofs.c (next_extent, last_extent)
590 (session_start): Upgrade type to `uint64_t'. Update all users.
591 * util/mkisofs/mkisofs.h: Include `<stdint.h>'.
592 (struct directory_entry): Upgrade type of `starting_block' and
593 `size' to `uint64_t'. Update all users.
594 (struct deferred): Remove unused structure.
595 (xfwrite): Upgrade type of `count' and `size' to `uint64_t'.
596 Update all users.
597 * util/mkisofs/tree.c (stat_filter, lstat_filter): Return -1 when
598 file is larger than `UINT32_MAX'.
599 * util/mkisofs/write.c (xfwrite): Upgrade type of `count' and
600 `size' to `uint64_t'. Update all users. Fix handling of fwrite()
601 return value.
602 (struct deferred_write): Upgrade type of `extent' and `size' to
603 `uint64_t'. Update all users.
604 (last_extent_written): Upgrade type to `uint64_t'. Update all
605 users.
606 (write_one_file): Upgrade type of `count' and `size' to `uint64_t'.
607 Update all users. Upgrade type of `remain' to `int64_t' and
608 `use' to `size_t'. Use error() to handle fread() errors.
609 (write_files): Rely on write_one_file() rather than calling
610 xfwrite() directly.
611
6a9cead5
FZ
6122009-11-09 Felix Zielcke <fzielcke@z-51.de>
613
614 * util/mkisofs/mkisofs.c (ld_options): Fix a spelling mistake.
615
4825d790
RM
6162009-11-09 Robert Millan <rmh.grub@aybabtu.com>
617
618 * util/mkisofs/fnmatch.c: Remove.
619 * util/mkisofs/getopt1.c: Likewise.
620 * util/mkisofs/getopt.c: Likewise.
621 * conf/common.rmk (grub_mkisofs_SOURCES): Replace
622 `util/mkisofs/fnmatch.c', `util/mkisofs/getopt1.c' and
623 `util/mkisofs/getopt.c' with `gnulib/fnmatch.c',
624 `gnulib/getopt1.c' and `gnulib/getopt.c'.
625 (grub_mkisofs_CFLAGS): Add `-I$(srcdir)/gnulib'.
626
627 * configure.ac: Detect `mingw32msvc' host_os.
628 Check for lstat(), getuid() and getgid().
629
630 * util/mkisofs/joliet.c: Include `<stdint.h>'. Replace all
631 instances of `u_char' with `uint8_t'.
632
633 * util/mkisofs/mkisofs.h: Include `<sys/stat.h>'.
634 [!HAVE_GETUID] (getuid): New function (stub).
635 [!HAVE_GETGID] (getgid): Likewise.
636 [!HAVE_LSTAT] (lstat): Likewise.
637 [!S_IROTH] (S_IROTH): New macro (dummy).
638 [!S_IRGRP] (S_IRGRP): Likewise.
639
84b860d8
RM
6402009-11-09 Robert Millan <rmh.grub@aybabtu.com>
641
642 * gnulib/fnmatch_loop.c (EXT): Fix warning (signed and unsigned type in
643 conditional expression).
644
66e9b712
RM
6452009-11-09 Robert Millan <rmh.grub@aybabtu.com>
646
647 Import from Gnulib.
648
649 * gnulib/fnmatch.c: New file.
650 * gnulib/fnmatch.h: Likewise.
651 * gnulib/fnmatch_loop.c: Likewise.
652 * gnulib/getopt.c: Likewise.
653 * gnulib/getopt.h: Likewise.
654 * gnulib/getopt1.c: Likewise.
655 * gnulib/getopt_int.h: Likewise.
656 * gnulib/gettext.h: Likewise.
657
34f4a5b0
RM
6582009-11-09 Robert Millan <rmh.grub@aybabtu.com>
659
660 * normal/dyncmd.c (read_command_list): Replace `0' with `NULL'.
661 * normal/handler.c (read_handler_list): Likewise.
662
ac451143
RM
6632009-11-09 Robert Millan <rmh.grub@aybabtu.com>
664
665 Misc cleanup.
666
667 * kern/command.c (grub_register_command_prio): Use
668 grub_zalloc() instead of explicitly zeroing data.
669 * kern/list.c: Include `<grub/mm.h>'.
670 (grub_named_list_find): Replace `0' with `NULL'.
671 * normal/autofs.c (struct grub_fs_module_list): Remove ad-hoc type.
672 (fs_module_list): Change type to `grub_named_list_t'. Update all
673 users.
674 * normal/dyncmd.c (read_command_list): Add space between function
675 call and parenthesis.
676 * normal/handler.c (read_handler_list): Likewise.
677
4089b167
RM
6782009-11-09 Robert Millan <rmh.grub@aybabtu.com>
679
680 * normal/auth.c (punishment_delay): Moved from here ...
681 (grub_auth_strcmp): ... to here (inside function).
682
325f5037
RM
6832009-11-09 Robert Millan <rmh.grub@aybabtu.com>
684
685 * include/grub/list.h (struct grub_named_list): Remove `const'
686 qualifier from `name'.
687 (struct grub_prio_list): Likewise.
688
7aea29a3
RM
6892009-11-09 Robert Millan <rmh.grub@aybabtu.com>
690
691 * normal/auth.c: Include `<grub/time.h>'.
692 (grub_auth_strcmp): Replace `strcmp' with `grub_strcmp'.
693
3fd6f044
RM
6942009-11-09 Robert Millan <rmh.grub@aybabtu.com>
695
696 * normal/auth.c (punishment_delay): New variable.
697 (grub_auth_strcmp): Rewrite using grub_get_time_ms ().
698 (grub_auth_check_authentication): Punish failed login attempts with
699 an incremental (2^N) delay.
700
a4cd68e4
RM
7012009-11-09 Robert Millan <rmh.grub@aybabtu.com>
702
703 * conf/common.rmk (grub_mkisofs_CFLAGS): Prefix include
704 path with $(srcdir).
705
7ad12f43
VS
7062009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
707
708 * normal/auth.c (grub_auth_strcmp): Fixed incorrect variable usage.
709
c1129f03
RM
7102009-11-09 Robert Millan <rmh.grub@aybabtu.com>
711
712 * util/i386/coreboot/grub-mkrescue.in: New file.
713 * conf/i386-coreboot.rmk (bin_SCRIPTS, grub_mkrescue_SOURCES): New
714 variables.
715
716 * conf/common.rmk (bin_UTILITIES): Add `grub-mkisofs'.
717 (grub_mkisofs_SOURCES, grub_mkisofs_CFLAGS): New variables.
718 * configure.ac: Add header and function checks to satisfy grub-mkisofs
719 requirements.
720 * util/mkisofs/defaults.h: New file.
721 * util/mkisofs/eltorito.c: Likewise.
722 * util/mkisofs/exclude.h: Likewise.
723 * util/mkisofs/fnmatch.c: Likewise.
724 * util/mkisofs/getopt.c: Likewise.
725 * util/mkisofs/getopt1.c: Likewise.
726 * util/mkisofs/hash.c: Likewise.
727 * util/mkisofs/include/fctldefs.h: Likewise.
728 * util/mkisofs/include/mconfig.h: Likewise.
729 * util/mkisofs/include/prototyp.h: Likewise.
730 * util/mkisofs/include/statdefs.h: Likewise.
731 * util/mkisofs/iso9660.h: Likewise.
732 * util/mkisofs/joliet.c: Likewise.
733 * util/mkisofs/match.c: Likewise.
734 * util/mkisofs/match.h: Likewise.
735 * util/mkisofs/mkisofs.c: Likewise.
736 * util/mkisofs/mkisofs.h: Likewise.
737 * util/mkisofs/multi.c: Likewise.
738 * util/mkisofs/name.c: Likewise.
739 * util/mkisofs/rock.c: Likewise.
740 * util/mkisofs/tree.c: Likewise.
741 * util/mkisofs/write.c: Likewise.
742
ec8bb77d
VS
7432009-11-09 Vladimir Serbinenko <phcoder@gmail.com>
744
745 * normal/auth.c (grub_auth_strcmp): Fix bug which resulted in function
746 being insecure.
747
3716b12c
RM
7482009-11-08 Robert Millan <rmh.grub@aybabtu.com>
749
750 * util/i386/pc/grub-mkrescue.in: Fix miss-identification as
751 `grub-mkimage' (and use $0 when possible).
752
b97b7b91
RM
7532009-11-08 Robert Millan <rmh.grub@aybabtu.com>
754
755 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve
756 error message for excessively large memory map.
757
04114812
RM
7582009-11-08 Robert Millan <rmh.grub@aybabtu.com>
759
760 * autogen.sh: Use `sh gendistlist.sh' to avoid reliing on
761 executable bit.
762
e4eb2373
RM
7632009-11-08 Robert Millan <rmh.grub@aybabtu.com>
764
765 * kern/i386/multiboot_mmap.c (grub_machine_mmap_init): Improve error
766 message for coreboot users.
767
c926e1d5 7682009-11-07 Robert Millan <rmh.grub@aybabtu.com>
769
770 Fix build with GNU gold.
771
772 * conf/i386-pc.rmk (boot_img_LDFLAGS, pxeboot_img_LDFLAGS)
773 (diskboot_img_LDFLAGS, lnxboot_img_LDFLAGS)
774 (cdboot_img_LDFLAGS): Prepend `0x' qualifier to hexadecimal
775 link addresses.
776 * aclocal.m4: Likewise.
777
86e5b1db 7782009-11-04 Felix Zielcke <fzielcke@z-51.de>
779
780 * configure.ac (AC_PREREQ): Bump to 2.59d.
781 * INSTALL: Make it more clear when Autoconf and Ruby are
782 needed and when to run `./autogen.sh'.
783
246cd78f 7842009-11-03 Samuel Thibault <samuel.thibault@ens-lyon.org>
785
786 * util/grub.d/30_os-prober.in: Restore default behavior for unsupported
787 OSes.
788
4f9dfb37 7892009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
790
791 * util/grub.d/30_os-prober.in: Add GNU/Hurd support
792
b82bd5e1 7932009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
794
795 * util/grub.d/10_hurd.in: Drop /dev/ prefix from root device path before
796 giving it to GNU Mach.
797
ff1a9bca 7982009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
799
800 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Subtract 1 from
801 GNU partition number to get internal GRUB partition number.
802
61697d9c 8032009-11-02 Samuel Thibault <samuel.thibault@ens-lyon.org>
804
805 * util/grub.d/10_hurd.in: Call prepare_grub_to_access_device
806 ${GRUB_DEVICE_BOOT} before loading /boot kernel.
807
a50569e1 8082009-11-01 Robert Millan <rmh.grub@aybabtu.com>
809
810 Based on patch from BVK Chaitanya <bvk.groups@gmail.com>
811 * kern/misc.c (grub_strchr, grub_strrchr): Fix to handle c == '\0'
812 case.
813
5b153867 8142009-11-01 Felix Zielcke <fzielcke@z-51.de>
815
816 * Makefile.in (TARGET_CPPFLAGS): Add `-I$(srcdir)/include'.
817
d9e2cd70 8182009-10-30 Robert Millan <rmh.grub@aybabtu.com>
819
820 Fix build problem.
821
822 * Makefile.in (TARGET_CPPFLAGS): Replace `-nostdinc' with
823 `-isystem=$(srcdir)/include'.
824
805111a4 8252009-10-30 Robert Millan <rmh.grub@aybabtu.com>
826
827 * util/i386/pc/grub-install.in: Remove hint that device.map should be
828 checked (grub-install doesn't currently rely on it).
829
fa6e945f 8302009-10-29 Robert Millan <rmh.grub@aybabtu.com>
831
832 Revert SVN r2660.
833
834 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): Moved from here ...
835 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
836 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): ... and here.
837 * conf/i386-ieee1275.rmk: Likewise.
838 * conf/i386-pc.rmk: Likewise.
839 * conf/powerpc-ieee1275.rmk: Likewise.
840 * conf/sparc64-ieee1275.rmk: Likewise.
841 * conf/x86_64-efi.rmk: Likewise.
842
cee15086 8432009-10-28 Robert Millan <rmh.grub@aybabtu.com>
844
845 * Makefile.in (TARGET_CPPFLAGS): Add `-nostdinc'.
846
95b9239e 8472009-10-28 Robert Millan <rmh.grub@aybabtu.com>
848
849 * include/grub/misc.h: Stop checking for APPLE_CC.
850
2ed19dfd 8512009-10-28 Robert Millan <rmh.grub@aybabtu.com>
852
853 * kern/i386/coreboot/init.c (grub_exit): Reimplement in a way that
854 doesn't cause an infinite call loop.
855
fdcdde19 8562009-10-28 Felix Zielcke <fzielcke@z-51.de>
857
858 * commands/acpi.c (grub_cmd_acpi): Fix the out of memory error
859 strings.
860
cefabfe1 8612009-10-26 Robert Millan <rmh.grub@aybabtu.com>
862
863 * autogen.sh: Support addition of external modules via `GRUB_CONTRIB'
864 variable.
865 * Makefile.in: Likewise.
866
ed96ab6d 8672009-10-26 Robert Millan <rmh.grub@aybabtu.com>
868
869 * gendistlist.sh: Simplify .svn check. Skip .bzr as well.
870
0579b753 8712009-10-26 Robert Millan <rmh.grub@aybabtu.com>
872
873 * Makefile.in (RMKFILES): Rewrite using $(wildcard).
874
478df409 8752009-10-26 Robert Millan <rmh.grub@aybabtu.com>
876
877 * disk/scsi.c: Remove `<grub/machine/kernel.h>' (not needed).
878
083d1679 8792009-10-26 Robert Millan <rmh.grub@aybabtu.com>
880
881 * gensymlist.sh.in (COMPILE_TIME_ASSERT): Copy macro declaration
882 from here ...
883 * include/grub/misc.h (COMPILE_TIME_ASSERT): ... to here.
884
5947ae32 8852009-10-26 Robert Millan <rmh.grub@aybabtu.com>
886
887 * Makefile.in (docs/grub.info): Use make syntax to ignore errors
888 in $(MAKEINFO) invocation. This makes it clear in output that
889 errors are being ignored.
890
94180ff6 8912009-10-26 Robert Millan <rmh.grub@aybabtu.com>
892
893 * conf/i386-coreboot.rmk (script/sh/lexer.c_DEPENDENCIES): Moved
894 from here ...
895 * conf/common.rmk (script/sh/lexer.c_DEPENDENCIES): ... to here.
896 * conf/i386-efi.rmk (script/sh/lexer.c_DEPENDENCIES): Remove.
897 * conf/i386-ieee1275.rmk: Likewise.
898 * conf/i386-pc.rmk: Likewise.
899 * conf/powerpc-ieee1275.rmk: Likewise.
900 * conf/sparc64-ieee1275.rmk: Likewise.
901 * conf/x86_64-efi.rmk: Likewise.
902
9031b03a 9032009-10-26 Colin Watson <cjwatson@ubuntu.com>
904
905 * util/grub-editenv.c (main): If only a command is given, use
906 DEFAULT_DIRECTORY "/" GRUB_ENVBLK_DEFCFG as a default file name.
907 (usage): FILENAME is now optional and has a default.
908
e4f6809b 9092009-10-26 Colin Watson <cjwatson@ubuntu.com>
910
911 Improve grub-mkconfig performance when there are several menu
912 entries on a single filesystem.
913
914 * util/grub.d/10_linux.in (linux_entry): Cache the output of
915 prepare_grub_to_access_device.
916 * util/grub.d/10_kfreebsd.in (kfreebsd_entry): Likewise.
917 * util/grub.d/30_os-prober.in: Likewise.
918
67937d4d 9192009-10-26 Robert Millan <rmh.grub@aybabtu.com>
920
921 * util/grub.d/10_freebsd.in: Remove.
922 * util/grub.d/10_kfreebsd.in: New file (based on 10_linux.in).
923 * configure.ac: Set host_kernel=kfreebsd for FreeBSD and GNU/kFreeBSD.
924
ee3756cc 9252009-10-26 Robert Millan <rmh.grub@aybabtu.com>
926
5c35048e 927 * docs/grub.cfg: Fix example usage of *BSD loaders.
ee3756cc 928
4dea1c6f 9292009-10-25 Robert Millan <rmh.grub@aybabtu.com>
930
931 * util/i386/pc/grub-setup.c (setup): Add missing parameter to
932 grub_util_error() call.
933
042484d7 9342009-10-25 Robert Millan <rmh.grub@aybabtu.com>
935
936 * include/grub/fs.h [GRUB_UTIL] (struct grub_fs): Add
937 `reserved_first_sector' member.
938 * fs/ext2.c [GRUB_UTIL] (grub_ext2_fs): Initialize
939 `reserved_first_sector' to 1.
940 * fs/fat.c [GRUB_UTIL] (grub_fat_fs): Likewise.
941 * fs/ntfs.c [GRUB_UTIL] (grub_ntfs_fs): Likewise.
942 * fs/hfsplus.c [GRUB_UTIL] (grub_hfsplus_fs): Likewise.
943 * util/i386/pc/grub-setup.c (setup): Add safety check that probes for
944 filesystems which begin at first sector.
945 (options): New option --skip-fs-probe.
946 (main): Handle --skip-fs-probe and pass it to setup().
947
d64448a7 9482009-10-25 Robert Millan <rmh.grub@aybabtu.com>
949
950 * include/grub/misc.h: Fix wrong evaluation of APPLE_CC.
951 (memset): Fix function prototype.
952
508d42ec 9532009-10-25 Robert Millan <rmh.grub@aybabtu.com>
9542009-10-25 Vasily Averin <vvs@parallels.com>
955
956 * fs/ext2.c (grub_ext2_iterate_dir): Avoid infinite loop when
957 `dirent.direntlen == 0'.
958
b240e30c 9592009-10-25 Robert Millan <rmh.grub@aybabtu.com>
960
961 * fs/cpio.c [MODE_USTAR]: Initialize `tar' module instead of
962 `cpio'.
963 [! MODE_USTAR]: Initialize `cpio' module instead of `tar'.
964
346e7fbe 9652009-10-25 Robert Millan <rmh.grub@aybabtu.com>
966
967 * configure.ac: Check for `__ashldi3', `__ashrdi3', `__lshrdi3',
968 `__trampoline_setup' and `__ucmpdi2'.
969 * include/grub/powerpc/libgcc.h: Only export symbols for functions
970 that libgcc provides.
971
cdb308b0 9722009-10-25 Robert Millan <rmh.grub@aybabtu.com>
973
974 * include/grub/powerpc/libgcc.h (memset): Remove function prototype.
975 * include/grub/sparc64/libgcc.h (memset): Likewise.
976 * include/grub/misc.h (memset, memcmp): New function prototypes.
977
fb26abc2 9782009-10-25 Robert Millan <rmh.grub@aybabtu.com>
979
980 * fs/cpio.c [MODE_USTAR]: Finish `tar' module instead of
981 `cpio'.
982 [! MODE_USTAR]: Finish `cpio' module instead of `tar'.
983
f6693890 9842009-10-25 Robert Millan <rmh.grub@aybabtu.com>
985
986 Patch from Samuel Thibault <samuel.thibault@ens-lyon.org>
987 * docs/grub.cfg: Compensate for recent change in multiboot
988 loader (since 2009-08-14 it won't pass filename to payload).
989 * util/grub.d/10_hurd.in: Likewise.
990
0933cdc0 9912009-10-21 Felix Zielcke <fzielcke@z-51.de>
992
993 * config.guess: Update to latest version from config git
994 repository.
995 * config.sub: Likewise.
996
3b2fe8c2 9972009-10-20 Robert Millan <rmh.grub@aybabtu.com>
998
999 Fix build on sparc64.
1000
1001 * configure.ac: Perform checks for libgcc symbols before
1002 adding `-nostdlib' to LDFLAGS.
1003
46695a62 10042009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1005
1006 Let user specify OpenBSD root device.
1007
1008 * loader/i386/bsd.c (openbsd_root): New variable.
1009 (openbsd_opts): New option 'root'.
1010 (OPENBSD_ROOT_ARG): New macro.
1011 (grub_openbsd_boot): Use 'openbsd_root'.
1012 (grub_cmd_openbsd): Fill 'openbsd_root'.
1013
d2b6b7fc 10142009-10-16 Robert Millan <rmh.grub@aybabtu.com>
1015
1016 * NEWS: Misc adjustments.
1017
421bd7ac 10182009-10-16 Vladimir Serbinenko <phcoder@gmail.com>
1019
1020 * NEWS: Mentioned XNU, ACPI, gptsync, password and parttool.
1021
f1d29d87 10222009-10-16 Robert Millan <rmh.grub@aybabtu.com>
1023
1024 * configure.ac: Bump version to 1.97.
1025
6f3cd880 10262009-10-16 Colin Watson <cjwatson@ubuntu.com>
1027
1028 * configure.ac (TARGET_CFLAGS): Add -mno-mmx -mno-sse -mno-sse2
1029 -mno-3dnow on x86 architectures. Some toolchains enable these
1030 features by default, but they rely on registers that aren't enabled
1031 in GRUB. Thanks to Vladimir Serbinenko for the suggestion.
1032
035f7122 10332009-10-15 Robert Millan <rmh.grub@aybabtu.com>
1034
1035 Make entry text a bit more readable.
1036
1037 * util/grub.d/10_linux.in: Add `with' before `Linux'.
1038
44998e58 10392009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1040
1041 * loader/i386/pc/xnu.c (grub_xnu_set_video): Fix loading splash image.
1042
cd2851b3 10432009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1044
1045 * commands/xnu_uuid.c (grub_cmd_xnu_uuid): Remove duplicated bitwise
1046 operations.
1047
c6f3b249 10482009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1049
1050 * configure.ac: Add missing dollar.
1051
6b5886ba 10522009-10-15 Vladimir Serbinenko <phcoder@gmail.com>
1053
1054 Revert 2009-06-10 Pavel Roskin <proski@gnu.org>
1055
1056 * configure.ac: Put checks for __bswapsi2 and __bswapdi2.
1057 * include/grub/powerpc/libgcc.h: Don't use weak attribute for all
1058 exports.
1059 * include/grub/sparc64/libgcc.h: Likewise. Use
1060 preprocessor conditionals.
1061
e9d66f6d 10622009-10-14 Robert Millan <rmh.grub@aybabtu.com>
1063
1064 * conf/common.rmk (grub-dumpbios): Remove rule.
1065 (sbin_SCRIPTS, CLEANFILES): Remove `grub-dumpbios'.
1066 * util/grub-dumpbios.in: Remove file.
1067
9155bc17 10682009-10-14 Robert Millan <rmh.grub@aybabtu.com>
1069
1070 Refer to kernel of FreeBSD "kFreeBSD" to avoid confusion between
1071 the Operating System (FreeBSD) and its kernel (kernel of FreeBSD).
1072
1073 * loader/i386/bsd.c (grub_freebsd_boot): Read kernel environment
1074 from "kFreeBSD" namespace (rather than "FreeBSD"). Update all
1075 users.
1076
1077 (GRUB_MOD_INIT (bsd)): Rename "freebsd" command to "kfreebsd",
1078 "openbsd" to "kopenbsd", "netbsd" to "knetbsd", "freebsd_loadenv"
1079 to "kfreebsd_loadenv", "freebsd_module" to "kfreebsd_module",
1080 and "freebsd_module_elf" to "kfreebsd_module_elf". Update all
1081 users.
1082
bf7f7a18 10832009-10-12 Robert Millan <rmh.grub@aybabtu.com>
1084
1085 * term/tparm.c: Switch to GPLv3.
1086
86564c26 10872009-10-09 Robert Millan <rmh.grub@aybabtu.com>
1088
1089 * include/grub/i386/cpuid.h: Add header protection.
1090
5c936493 10912009-10-09 Robert Millan <rmh.grub@aybabtu.com>
1092
1093 Fail gracefuly when attempting to load 64-bit kFreeBSD on IA32 CPU.
1094
1095 * include/grub/i386/cpuid.h: New file.
1096 * commands/i386/cpuid.c: Include `<grub/i386/cpuid.h>'.
1097 (has_longmode): Rename to ...
1098 (grub_cpuid_has_longmode): ... this. Update all users. Remove
1099 `static' attribute.
1100 * loader/i386/bsd.c: Include `<grub/i386/cpuid.h>'.
1101 (grub_bsd_load_elf): Fail if load of 64-bit kernel was requested
1102 on a CPU that doesn't implement AMD64 instruction set.
1103
186e7cf2 11042009-10-06 Colin Watson <cjwatson@ubuntu.com>
1105
1106 * Makefile.in (docs/stamp-vti): Depend on configure.ac as well, so
1107 that version.texi is rebuilt on version number changes.
1108
83b65c4a 11092009-10-06 Colin Watson <cjwatson@ubuntu.com>
1110
1111 * Makefile.in: Don't set info_INFOS unless makeinfo was found.
1112 Fixes bug #27602.
1113
d244281c 11142009-10-06 Colin Watson <cjwatson@ubuntu.com>
1115
1116 * util/i386/pc/grub-install.in: Source
1117 ${libdir}/grub/grub-mkconfig_lib before option processing, in order
1118 that the --grub-probe option will work.
1119 * util/sparc64/ieee1275/grub-install.in: Likewise.
1120
da25306d 11212009-10-05 Robert Millan <rmh.grub@aybabtu.com>
1122
1123 * configure.ac: Bump version to 1.97~beta4.
1124
e8ee83c0 11252009-10-03 Robert Millan <rmh.grub@aybabtu.com>
1126
1127 Resync grub-mkdevicemap in x86_64-efi.
1128
1129 * conf/x86_64-efi.rmk (sbin_UTILITIES): Enable `grub-mkdevicemap'.
1130 (grub_mkdevicemap_SOURCES): Add missing `util/deviceiter.c' and
1131 `util/devicemap.c'.
1132
50dcabcf 11332009-10-01 Colin Watson <cjwatson@ubuntu.com>
1134
1135 * util/grub-editenv.c (create_envblk_file): Write new block with a
1136 .new suffix and then rename it into place, to ensure atomic
1137 creation.
1138
0e51c3a7 11392009-09-28 Robert Millan <rmh.grub@aybabtu.com>
1140
1141 Do not automatically install headers.
1142
1143 * Makefile.in (include_DATA): Remove. Update all users.
1144
31299a95 11452009-09-26 Robert Millan <rmh.grub@aybabtu.com>
1146
1147 * conf/common.rmk (pkglib_MODULES): Remove `lua.mod'.
1148 (lua_mod_SOURCES, lua_mod_CFLAGS, lua_mod_LDFLAGS): Remove.
1149
1150 * util/osdetect.lua: Remove.
1151 * script/lua/lauxlib.c: Likewise.
1152 * script/lua/ldebug.c: Likewise.
1153 * script/lua/grub_main.c: Likewise.
1154 * script/lua/lauxlib.h: Likewise.
1155 * script/lua/ldebug.h: Likewise.
1156 * script/lua/ltablib.c: Likewise.
1157 * script/lua/liolib.c: Likewise.
1158 * script/lua/lstrlib.c: Likewise.
1159 * script/lua/lualib.h: Likewise.
1160 * script/lua/ldo.c: Likewise.
1161 * script/lua/ldump.c: Likewise.
1162 * script/lua/ldo.h: Likewise.
1163 * script/lua/loslib.c: Likewise.
1164 * script/lua/lundump.c: Likewise.
1165 * script/lua/grub_lib.c: Likewise.
1166 * script/lua/ldblib.c: Likewise.
1167 * script/lua/lundump.h: Likewise.
1168 * script/lua/lmem.c: Likewise.
1169 * script/lua/grub_lib.h: Likewise.
1170 * script/lua/lmathlib.c: Likewise.
1171 * script/lua/lstate.c: Likewise.
1172 * script/lua/ltm.c: Likewise.
1173 * script/lua/lvm.c: Likewise.
1174 * script/lua/lmem.h: Likewise.
1175 * script/lua/lstate.h: Likewise.
1176 * script/lua/ltm.h: Likewise.
1177 * script/lua/ltable.c: Likewise.
1178 * script/lua/lvm.h: Likewise.
1179 * script/lua/llex.c: Likewise.
1180 * script/lua/lgc.c: Likewise.
1181 * script/lua/grub_lua.h: Likewise.
1182 * script/lua/loadlib.c: Likewise.
1183 * script/lua/lfunc.c: Likewise.
1184 * script/lua/lopcodes.c: Likewise.
1185 * script/lua/lparser.c: Likewise.
1186 * script/lua/ltable.h: Likewise.
1187 * script/lua/llex.h: Likewise.
1188 * script/lua/lgc.h: Likewise.
1189 * script/lua/lfunc.h: Likewise.
1190 * script/lua/lbaselib.c: Likewise.
1191 * script/lua/lopcodes.h: Likewise.
1192 * script/lua/lparser.h: Likewise.
1193 * script/lua/lzio.c: Likewise.
1194 * script/lua/linit.c: Likewise.
1195 * script/lua/lobject.c: Likewise.
1196 * script/lua/llimits.h: Likewise.
1197 * script/lua/lstring.c: Likewise.
1198 * script/lua/lzio.h: Likewise.
1199 * script/lua/lapi.c: Likewise.
1200 * script/lua/lcode.c: Likewise.
1201 * script/lua/lua.h: Likewise.
1202 * script/lua/lobject.h: Likewise.
1203 * script/lua/lstring.h: Likewise.
1204 * script/lua/lapi.h: Likewise.
1205 * script/lua/lcode.h: Likewise.
1206 * script/lua/luaconf.h: Likewise.
1207
cb8a2c38 12082009-09-26 Colin Watson <cjwatson@ubuntu.com>
1209
1210 * docs/grub.texi (Command-line and menu entry commands): Document
1211 date and echo commands.
1212
6b9b6276 12132009-09-24 Pavel Roskin <proski@gnu.org>
1214
1215 * include/grub/kernel.h (struct grub_module_header): Remove
1216 `grub_module_header_types'. Make `type' unsigned. Make `size'
1217 32-bit on all platforms.
1218 * util/elf/grub-mkimage.c (load_modules): Treat `type' as an
1219 8-bit field. Use grub_host_to_target32() for `size'.
1220 * util/i386/efi/grub-mkimage.c (make_mods_section): Likewise.
1221 * util/i386/pc/grub-mkimage.c (generate_image): Likewise.
1222 * util/sparc64/ieee1275/grub-mkimage.c (generate_image): Likewise.
1223
4e5a02a7 12242009-09-24 Robert Millan <rmh.grub@aybabtu.com>
1225
1226 Fix "lost keypress" bug in at_keyboard.
1227
1228 * term/i386/pc/at_keyboard.c (grub_at_keyboard_checkkey): New function.
1229 Checks for readyness of input buffer (without flushing it).
1230 (grub_at_keyboard_term): Use grub_at_keyboard_checkkey() rather
1231 than grub_at_keyboard_getkey_noblock() for `checkkey' struct member.
1232
c6dcedf6 12332009-09-24 Robert Millan <rmh.grub@aybabtu.com>
1234
1235 * util/i386/pc/grub-mkimage.c (generate_image): Enclose BIOS-specific
1236 size check within GRUB_MACHINE_PCBIOS section.
1237
74c958b1 12382009-09-24 Robert Millan <rmh.grub@aybabtu.com>
1239
1240 * include/grub/i386/at_keyboard.h (KEYBOARD_ISREADY): Negate
1241 return value.
1242 * term/i386/pc/at_keyboard.c (grub_keyboard_getkey): Negate
1243 KEYBOARD_ISREADY check.
1244 (grub_at_keyboard_checkkey): Rename to ...
1245 (grub_at_keyboard_getkey_noblock): ... this. Update all users.
1246 Remove gratuitous cast.
1247
ff420223 12482009-09-23 Colin Watson <cjwatson@ubuntu.com>
1249
1250 * configure.ac: Call AC_PROG_MKDIR_P.
1251 * Makefile.in (docs/stamp-vti): Create docs directory. Create
1252 version.texi in $(builddir) rather than $(srcdir).
1253 (docs/grub.info): Create docs directory. Prepend $(builddir)/docs
1254 to makeinfo's @include search path.
1255
d96875df 12562009-09-23 Felix Zielcke <fzielcke@z-51.de>
1257
1258 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Cope with `*.dpkg-*'
1259
9b3f8365 12602009-09-23 Felix Zielcke <fzielcke@z-51.de>
1261
1262 * util/grub-mkconfig_lib.in (grub_file_is_not_garbage): Add support
1263 for `*.dpkg-new'.
1264
c44c90db 12652009-09-21 Colin Watson <cjwatson@ubuntu.com>
1266
1267 Build info documentation. Some code borrowed from Automake.
1268
1269 * configure.ac: Check for makeinfo.
1270 * Makefile.in (MAKEINFO, INFOS, info_INFOS): New variables.
1271 (MAINTAINER_CLEANFILES): Add $(INFOS), docs/stamp-vti, and
1272 docs/version.texi.
1273 (MOSTLYCLEANFILES): Add vti.tmp.
1274 (docs/version.texi, docs/stamp-vti): Update automatically.
1275 (docs/grub.info): Build info documentation. Use --force and ignore
1276 errors for now.
1277 (all-local): Add $(INFOS).
1278 (install-local): Install info files.
1279 (uninstall): Uninstall info files.
1280 * docs/version.texi: Remove from revision control. This file is
1281 automatically generated on build now.
1282 * gendistlist.sh: Add `*.info'.
1283
e0b37bb5 12842009-09-21 Felix Zielcke <fzielcke@z-51.de>
1285
1286 * kern/term.c: Fix indentation.
1287
5a78865b 12882009-09-21 Felix Zielcke <fzielcke@z-51.de>
1289
1290 * util/hostdisk.c: Fix a comment.
1291
dace7e8a 12922009-09-20 Robert Millan <rmh.grub@aybabtu.com>
1293
1294 Fix regression introduced in r2539.
1295
1296 * term/usb_keyboard.c (USB_HID_DEVICE_TO_HOST): Change from 0x61
1297 to 0xA1.
1298
a83d079b 12992009-09-19 Colin Watson <cjwatson@ubuntu.com>
1300
1301 * util/grub.d/30_os-prober.in: Don't throw away stderr from
4cbbccec 1302 os-prober. Under normal operation, it does not print anything to
1303 stderr; if it does, we need to debug it, and throwing away stderr
1304 makes that excessively difficult.
a83d079b 1305
be94a509 13062009-09-16 Vladimir Serbinenko <phcoder@gmail.com>
1307
1308 * mmap/mmap.c (grub_cmd_badram): Fix off-by-one error.
1309
63f745e8 13102009-09-16 Robert Millan <rmh.grub@aybabtu.com>
1311
1312 * aclocal.m4 (AC_LANG_PROGRAM): New macro. Overrides stock
1313 AC_LANG_PROGRAM from autoconf.
1314 (grub_ASM_USCORE, grub_PROG_OBJCOPY_ABSOLUTE): Add missing
1315 prototypes (fixes warning).
1316
1317 * configure.ac: Add `-Werror' to TARGET_CFLAGS unless
1318 `--disable-werror' was used.
1319
bbb2a70f 13202009-09-16 Robert Millan <rmh.grub@aybabtu.com>
1321
1322 * partmap/msdos.c (pc_partition_map_iterate): Fix possible use of
1323 uninitialized `lastaddr'.
1324
77c24f1d 13252009-09-15 Vladimir Serbinenko <phcoder@gmail.com>
1326
0f0b8c87 1327 * partmap/msdos.c (pc_partition_map_iterate): Detect and break loops.
77c24f1d 1328
07197f23 13292009-09-14 Colin Watson <cjwatson@ubuntu.com>
1330
1331 * commands/test.c (get_fileinfo): Return immediately if
1332 grub_fs_probe fails.
1333
dabf1798 13342009-09-14 José Martínez <xosemp@gmail.com>
1335
1336 * commands/acpi.c (grub_cmd_acpi): Fix loading ACPI tables from file.
1337
d52109a7 13382009-09-14 Colin Watson <cjwatson@ubuntu.com>
1339
1340 * util/grub.d/30_os-prober.in: Cope with Windows 7 in os-prober
1341 output.
1342
56532179 13432009-09-13 Robert Millan <rmh.grub@aybabtu.com>
1344
1345 * configure.ac: Remove --enable-grub-pe2elf. Only build
1346 grub-pe2elf when needed by the build system itself.
1347 * conf/common.rmk: Remove $(enable_grub_pe2elf) check.
1348
8ef070f5 13492009-09-12 Robert Millan <rmh.grub@aybabtu.com>
1350
1351 * configure.ac: Bump version to 1.97~beta3.
1352 * docs/version.texi: Likewise.
1353
61229557 13542009-09-12 Robert Millan <rmh.grub@aybabtu.com>
1355
1356 * video/i386/pc/vbe.c (grub_vbe_get_video_mode_info): Move packed
1357 mode special handling (grub_vbe_bios_set_dac_palette_width() call)
1358 from here ...
1359 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS]
1360 (grub_linux_setup_video): ... to here (with some adjustments).
1361
5c9f8d84 13622009-09-12 Robert Millan <rmh.grub@aybabtu.com>
1363
1364 Fix memory corruption issue (spotted by Colin Watson).
1365
1366 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette): Fix bug
1367 causing returned size to be stored in an incorrect memory location.
1368 Fix use of uninitialized value when storing the returned size.
1369
e8f5d6e9 13702009-09-12 Yves Blusseau <blusseau@zetam.org>
1371
1372 Change clean rules to properly remove files
1373
1374 * genmk.rb: add new clean rules
1375 * Makefile.in (clean): add the new targets
1376 (mostlyclean): likewise
1377
cda2a409 13782009-09-11 Colin Watson <cjwatson@ubuntu.com>
1379
1380 * include/grub/ntfs.h (struct grub_fshelp_node): Change `size'
1381 to grub_uint64_t.
1382 * fs/ntfs.c (init_file): Understand 64-bit sizes for
1383 non-resident files.
1384
86695375 13852009-09-11 Colin Watson <cjwatson@ubuntu.com>
1386
1387 * configure.ac: Don't look for help2man when cross-compiling. Fixes
1388 part of bug #27349.
1389
8aa1541a 13902009-09-10 Felix Zielcke <fzielcke@z-51.de>
1391
1392 * util/grub-mkconfig.in: Make the created config mode 400 and
1393 print a warning if it fails.
1394
48d9bb0a 13952009-09-10 Robert Millan <rmh.grub@aybabtu.com>
1396
1397 * util/grub.d/40_custom.in: Ask user to type custom entries below
1398 comment, rather than below 'exec tail' line.
1399
3b0521be 14002009-09-10 Colin Watson <cjwatson@ubuntu.com>
1401
1402 * util/grub.d/40_custom.in: Make sure that the explanatory text is
1403 visible in grub.cfg.
1404
50051d55 14052009-09-10 Colin Watson <cjwatson@ubuntu.com>
1406
1407 * util/grub.d/40_custom.in: Make it a little clearer how to use this
1408 file.
1409
c0d34387 14102009-09-10 Felix Zielcke <fzielcke@z-51.de>
1411
1412 * docs/grub.cfg: Add an example menu entry for memtest86+.
1413
80a608f3 14142009-09-09 Felix Zielcke <fzielcke@z-51.de>
1415
a2094832 1416 * config.guess: Update to latest version from config git.
80a608f3 1417 * config.sub: Likewise.
1418
99423078 14192009-09-08 Colin Watson <cjwatson@ubuntu.com>
1420
1421 * script/sh/execute.c (grub_script_execute_cmdline): Set "?" in
1422 unknown-command case. Fixes bug #27320.
1423
44454e4c 14242009-09-08 Felix Zielcke <fzielcke@z-51.de>
1425
1426 * kern/rescue_parser.c (grub_rescue_parse_line): Only suggest to try
1427 `help' if the command exists.
1428
e30d87ad 14292009-09-06 Robert Millan <rmh.grub@aybabtu.com>
1430
1431 * INSTALL: Require GCC 4.1.3 or later.
1432
9a86f1ec 14332009-09-06 Yves Blusseau <blusseau@zetam.org>
1434
1435 * Makefile.in (RMKFILES): add i386-qemu.rmk
1436 (MAINTAINER_CLEANFILES): add $(srcdir)/DISTLIST $(srcdir)/config.h.in
1437 $(srcdir)/stamp-h.in
1438
7f26d466 14392009-09-05 Robert Millan <rmh.grub@aybabtu.com>
1440
1441 * util/grub-probe.c (probe): Comment out buggy codepath, which
1442 was unexpectedly enabled by Colin Watson's 2009-09-02 fix. This
1443 should be re-enabled after 1.97.
1444
3a613259 14452009-09-05 Felix Zielcke <fzielcke@z-51.de>
1446
1447 * gendistlist.sh: Add `grub-dumpdevtree' and `*.lua' to the list
1448 find searches for.
1449
197f76c7 14502009-09-04 Vladimir Serbinenko <phcoder@gmail.com>
1451
1452 * loader/i386/xnu.c (grub_cpu_xnu_fill_devicetree): Remove
1453 unnecessary calls to grub_error.
1454
70ba68ce 14552009-09-04 Colin Watson <cjwatson@ubuntu.com>
1456
1457 * NEWS: Mention `keystatus' and Unicode fonts.
1458
4ff0d7a4 14592009-09-04 Robert Millan <rmh.grub@aybabtu.com>
1460
1461 * configure.ac: Bump version to 1.97~beta2.
1462 * docs/version.texi: Likewise.
1463
77c55a87 14642009-09-03 Colin Watson <cjwatson@ubuntu.com>
1465
1466 * configure.ac: By default, GCC 4.4 generates .eh_frame sections
1467 containing unwind information in some cases where it previously did
1468 not. Use -fno-dwarf2-cfi-asm if available to restore the old
1469 behaviour. See http://patchwork.kernel.org/patch/8555/ for related
1470 discussion.
1471
f79572cd 14722009-09-02 Yves BLUSSEAU <blusseau@zetam.org>
1473
1474 Embedding loadenv module into grub-emu
1475
1476 * conf/i386-pc.rmk (grub_emu_SOURCES): add lib/envblk.c and
1477 commands/loadenv.c
1478 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise
1479 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise
1480 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise
1481 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise
1482 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise
1483 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise
1484
93a81088 14852009-09-03 Magnus Granberg <zorry@ume.nu>
1486
1487 * aclocal.m4: Add grub_CHECK_PIE. It check if the compiler
1488 include -fPIE in the default specs.
1489 * configure.ac: Check if pie_possible is yes and add -fno-PIE
1490 to TARGET_CFLAGS.
1491
160034b2 14922009-09-03 Felix Zielcke <fzielcke@z-51.de>
1493
1494 * INSTALL: Note that GNU Bison 2.3 or later is required.
1495
087c07c4 14962009-09-03 Colin Watson <cjwatson@ubuntu.com>
1497
1498 * kern/i386/pc/startup.S: Fix typo.
1499
cbf978c0 15002009-09-02 Vladimir Serbinenko <phcoder@gmail.com>
1501
1502 * efiemu/loadcore.c (SUFFIX (grub_efiemu_loadcore_load)): Fix style
1503 according to GCS.
1504
15052009-09-02 Colin Watson <cjwatson@ubuntu.com>
f0910644 1506
1507 * docs/grub.texi (Naming convention): Describe one-based partition
1508 numbering.
1509 (Device syntax): Likewise.
1510 (File name syntax): Likewise.
1511 (Block list syntax): Likewise.
1512 (Making a GRUB bootable CD-ROM): Talk about grub.cfg rather than
1513 menu.lst.
1514 (File name syntax): Likewise.
1515 (Command-line and menu entry commands): Document acpi, blocklist,
1516 crc, export, insmod, keystatus, ls, set, and unset commands.
1517
f3e8cdfd 15182009-09-02 Colin Watson <cjwatson@ubuntu.com>
1519
1520 * commands/keystatus.c (GRUB_MOD_INIT (keystatus)): Adjust summary
1521 to avoid implying that only one of --shift, --ctrl, or --alt may be
1522 used.
1523
c0bc232b 15242009-09-02 Colin Watson <cjwatson@ubuntu.com>
1525
1526 * util/grub-probe.c (probe): Test st.st_mode using S_ISREG macro
1527 rather than comparing against S_IFREG, which will almost never work.
1528
aa0f752d 15292009-09-01 Vladimir Serbinenko <phcoder@gmail.com>
1530
1531 * commands/loadenv.c (check_blocklists): Fix off-by-one error.
1532 (write_blocklists): Likewise.
1533
ecb3166a 15342009-09-01 Colin Watson <cjwatson@ubuntu.com>
1535
1536 * script/lua/grub_lua.h (fputs): Supply a format string as the first
1537 argument to grub_printf.
1538
c403a125 15392009-09-01 Felix Zielcke <fzielcke@z-51.de>
31aba781 1540
1541 * genmk.rb: Add quotes around $(TARGET_OBJ2ELF) to cope with
c403a125 1542 non GNU test.
31aba781 1543
b5e7312c 15442009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
1545
1546 * kern/file.c (grub_file_read): Spelling fix
1547
fe00f472 15482009-08-30 Vladimir Serbinenko <phcoder@gmail.com>
1549
1550 * loader/i386/bsdXX.c (SUFFIX (grub_freebsd_load_elfmodule)): Fix
1551 loading of headers in some cases.
1552
cc55302e 15532009-08-30 Robert Millan <rmh.grub@aybabtu.com>
1554
1555 * configure.ac: Bump version to 1.97~beta1.
1556 * docs/version.texi: Likewise.
1557
5c90cdd2 15582009-08-29 Vladimir Serbinenko <phcoder@gmail.com>
64bf71d0 1559
1560 * include/grub/i386/xnu.h: Add license header.
1561 include grub/err.h explicitly.
1562
c90edae4 15632009-08-29 Robert Millan <rmh.grub@aybabtu.com>
1564
1565 * util/grub.d/10_freebsd.in: Detect `ufs1' and `ufs2' and map them
1566 to `ufs' in the vfs.root.mountfrom kernel parameter.
1567
d8888b5c 15682009-08-29 Robert Millan <rmh.grub@aybabtu.com>
1569
1570 * term/i386/pc/serial.c: Include `<grub/machine/memory.h>'.
1571
1572 [GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Macroify initialization
1573 value (0x0400 -> GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR).
1574
1575 [! GRUB_MACHINE_PCBIOS] (GRUB_SERIAL_PORT_NUM): Calculate using
1576 `ARRAY_SIZE' macro.
1577
6f07b921 15782009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
1579
1580 * kern/file.c (grub_file_read): Check offset.
1581 * fs/hfs.c (grub_hfs_read_file): Remove unnecessary offset check.
1582 * fs/jfs.c (grub_jfs_read_file): Likewise.
1583 * fs/ntfs.c (grub_ntfs_read): Likewise.
1584 * fs/reiserfs.c (grub_reiserfs_read): Likewise.
1585 * fs/minix.c (grub_minix_read_file): Correct offset check.
1586 * fs/ufs.c (grub_ufs_read_file): Likewise.
1587
b4f34077 15882009-08-28 Colin Watson <cjwatson@ubuntu.com>
1589
1590 * term/i386/pc/console.c (bios_data_area): Cast
1591 GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR explicitly.
1592
e7c69859 15932009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
1594
1595 1-bit optimised blitters.
1596
1597 * include/grub/fbblit.h (grub_video_fbblit_replace_32bit_1bit): New
1598 prototype.
1599 (grub_video_fbblit_replace_24bit_1bit): Likewise.
1600 (grub_video_fbblit_replace_16bit_1bit): Likewise.
1601 (grub_video_fbblit_replace_8bit_1bit): Likewise.
1602 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
1603 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
1604 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
1605 * video/fb/fbblit.c (grub_video_fbblit_replace_32bit_1bit): New
1606 function.
1607 (grub_video_fbblit_replace_24bit_1bit): Likewise.
1608 (grub_video_fbblit_replace_16bit_1bit): Likewise.
1609 (grub_video_fbblit_replace_8bit_1bit): Likewise.
1610 (grub_video_fbblit_blend_XXXA8888_1bit): Likewise.
1611 (grub_video_fbblit_blend_XXX888_1bit): Likewise.
1612 (grub_video_fbblit_blend_XXX565_1bit): Likewise.
1613 * video/fb/video_fb.c (common_blitter): Use 1-bit optimised blitters
1614 when possible.
1615 * video/video.c (grub_video_get_blit_format): Return
1616 GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED if bpp = 1.
1617
a57da43f 16182009-08-28 Colin Watson <cjwatson@ubuntu.com>
1619
1620 * normal/cmdline.c (grub_cmdline_get): Supply a format string as
1621 the first argument to grub_printf.
1622
4cbe67e5 16232009-08-28 Colin Watson <cjwatson@ubuntu.com>
16242009-08-28 Robert Millan <rmh.grub@aybabtu.com>
1625
1626 Add `getkeystatus' terminal method. Add a new `keystatus' command
1627 to query it.
1628
1629 * include/grub/term.h (GRUB_TERM_STATUS_SHIFT,
1630 GRUB_TERM_STATUS_CTRL, GRUB_TERM_STATUS_ALT): Definitions for
1631 modifier key bitmasks.
1632 (struct grub_term_input): Add `getkeystatus' member.
1633 (grub_getkeystatus): Add prototype.
1634 * kern/term.c (grub_getkeystatus): New function.
1635
1636 * include/grub/i386/pc/memory.h
1637 (GRUB_MEMORY_MACHINE_BIOS_DATA_AREA_ADDR): New macro.
1638 (struct grub_machine_bios_data_area): Define necessary parts of BIOS
1639 Data Area layout.
1640 * term/i386/pc/console.c (grub_console_getkeystatus): New function.
1641 (grub_console_term_input): Set `getkeystatus' member.
1642 * term/usb_keyboard.c (grub_usb_hid): Macroify HID protocol
1643 constants.
1644 (grub_usb_keyboard_getreport): Likewise.
1645 (grub_usb_keyboard_checkkey): Likewise.
1646 (grub_usb_keyboard_getkeystatus): New function.
1647 (grub_usb_keyboard_term): Set `getkeystatus' member.
1648
1649 * commands/keystatus.c: New file.
1650 * conf/common.rmk (pkglib_MODULES): Add keystatus.mod.
1651 (keystatus_mod_SOURCES): New variable.
1652 (keystatus_mod_CFLAGS): Likewise.
1653 (keystatus_mod_LDFLAGS): Likewise.
1654 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add
1655 commands/keystatus.c.
1656 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
1657 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1658 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
1659 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1660 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1661 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4cbe67e5 1662
6e2a9085 16632009-08-28 Vladimir Serbinenko <phcoder@gmail.com>
1664
1665 Split befs.mod and afs.mod into *_be.mod and *.mod
1666
1667 * conf/common.rmk (grub_probe_SOURCES): Add afs_be.c and befs_be.c.
1668 (grub_fstest_SOURCES): Likewise.
1669 (pkglib_MODULES): Add afs_be.mod and befs_be.mod.
1670 (afs_be_mod_SOURCES): New variable.
1671 (afs_be_mod_CFLAGS): Likewise.
1672 (afs_be_mod_LDFLAGS): Likewise.
1673 (befs_be_mod_SOURCES): Likewise.
1674 (befs_be_mod_CFLAGS): Likewise.
1675 (befs_be_mod_LDFLAGS): Likewise.
1676 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add afs_be.c and befs_be.c.
1677 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
1678 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1679 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
1680 (grub_emu_SOURCES): Likewise.
1681 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1682 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1683 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
1684 * fs/afs_be.c: New file.
1685 * fs/befs_be.c: New file.
1686 * fs/afs.c (GRUB_AFS_FSNAME_SUFFIX): New definition.
1687 (GRUB_AFS_FSNAME): Use GRUB_AFS_FSNAME_SUFFIX.
1688 (U16): Replaced with ...
1689 (grub_afs_to_cpu16): ...this. All users updated.
1690 (U32): Replaced with ...
1691 (grub_afs_to_cpu32): ...this. All users updated.
1692 (U64): Replaced with ...
1693 (grub_afs_to_cpu64): ...this. All users updated.
1694 (GRUB_AFS_BO_LITTLE_ENDIAN): Remove.
1695 (GRUB_AFS_BO_BIG_ENDIAN): Likewise.
ad8ea1f4 1696 (grub_afs_validate_sblock): Check only one endianness.
6e2a9085 1697 (GRUB_MOD_INIT (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
1698 (GRUB_MOD_INIT (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
1699 (GRUB_MOD_INIT (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
1700 (GRUB_MOD_INIT (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
1701 (GRUB_MOD_FINI (befs)) [MODE_BIGENDIAN && MODE_BFS]: Rename to ..
1702 (GRUB_MOD_FINI (befs_be)) [MODE_BIGENDIAN && MODE_BFS]: ... this.
1703 (GRUB_MOD_FINI (afs)) [MODE_BIGENDIAN && !MODE_BFS]: Rename to ..
1704 (GRUB_MOD_FINI (afs_be)) [MODE_BIGENDIAN && !MODE_BFS]: ... this.
1705
32a71655 17062009-08-26 Bean <bean123ch@gmail.com>
1707
1708 * fs/xfs.c (GRUB_XFS_INO_INOINAG): Replace 1L with 1LL to support
1709 64-bit number.
1710 (GRUB_XFS_FSB_TO_BLOCK): Likewise.
1711 (grub_xfs_inode_block): Change return type to grub_uint64_t.
1712 (grub_xfs_read_inode): Change type of block to grub_uint64_t.
1713
552bf6c5 17142009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
1715
1716 NetBSD memory map support.
1717
1718 * include/grub/i386/bsd.h (NETBSD_BTINFO_MEMMAP): New definition.
1719 (grub_netbsd_btinfo_mmap_header): New structure.
1720 (grub_netbsd_btinfo_mmap_entry): Likewise.
1721 * loader/i386/bsd.c (grub_netbsd_boot): Pass memory map.
1722
1ae2078c 17232009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
1724
1725 Enable bsd.mod on coreboot.
1726
1727 * conf/i386-coreboot.rmk (pkglib_MODULES): Add bsd.mod.
1728 (bsd_mod_SOURCES): New variable.
1729 (bsd_mod_CFLAGS): Likewise.
1730 (bsd_mod_LDFLAGS): Likewise.
1731 (bsd_mod_ASFLAGS): Likewise.
1732 * loader/i386/bsd.c [!GRUB_MACHINE_PCBIOS]: Fix includes.
1733 (grub_bsd_get_device) [!GRUB_MACHINE_PCBIOS]: Set *biosdev to 0xff.
1734
beefc598 17352009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
1736
1737 Cleanup NetBSD root support.
1738
1739 * loader/i386/bsd.c (grub_netbsd_boot): Remove call to
1740 grub_bsd_get_device.
1741 Fix typo.
1742
3b76e68b 17432009-08-25 Felix Zielcke <fzielcke@z-51.de>
1744
1745 * util/grub.d/00_header.in: Move check for the video backend of
1746 gfxterm from here ...
1747 * util/grub-mkconfig.in: ... to here. Enable gfxterm if there's
1748 a suitable video backend.
1749
aea664ea 17502009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
1751
1752 Fix breakage in grub-setup.
1753
1754 * util/i386/pc/grub-setup.c (setup): Use "part_msdos" instead of
1755 "msdos_partition_map".
1756
ff747d50 17572009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
1758
1759 Fix breakage in normal/auth.c.
1760
1761 * normal/auth.c (grub_iswordseparator): New function.
1762
e7e1f93f 17632009-08-25 Vladimir Serbinenko <phcoder@gmail.com>
1764
1765 Authentication support.
1766
1767 * commands/password.c: New file.
1768 * conf/common.rmk (pkglib_MODULES): Add password.mod.
1769 (password_mod_SOURCES): New variable.
1770 (password_mod_CFLAGS): Likewise.
1771 (password_mod_LDFLAGS): Likewise.
1772 (normal_mod_SOURCES): Add normal/auth.c.
1773 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add commands/password.c and
1774 normal/auth.c.
1775 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
1776 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1777 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
1778 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1779 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
1780 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
1781 * include/grub/auth.h: New file.
1782 * include/grub/err.h (grub_err_t): New enum value
1783 GRUB_ERR_ACCESS_DENIED.
1784 * include/grub/menu.h (grub_menu_entry): New fields 'restricted' and
1785 'users'.
1786 * include/grub/normal.h (grub_cmdline_get): New argument 'history'.
1787 * normal/cmdline.c (grub_cmdline_get): New argument 'history'. All
1788 users updated.
1789 * normal/auth.c: New file.
1790 * normal/main.c (grub_normal_add_menu_entry): Handle --users option.
1791 (grub_cmdline_run): Don't allow to go to command line without
1792 authentication.
1793 * normal/menu.c (grub_menu_execute_entry): Handle restricted entries.
1794 * normal/menu_entry.c (grub_menu_entry_run): Don't allow editing
1795 menuentry without superuser rights.
1796 * normal/menu_viewer.c (grub_menu_viewer_show_menu): Don't exit if
1797 user isn't a superuser.
1798
70f1161d 17992009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
1800
1801 Save space by inlining misc.c functions.
1802
1803 * kern/misc.c (grub_iswordseparator): Made static.
1804 * kern/misc.c (grub_strcat): Moved from here ...
1805 * include/grub/misc.h (grub_strcat): ... here. Inlined.
1806 * kern/misc.c (grub_strncat): Moved from here ...
1807 * include/grub/misc.h (grub_strncat): ... here. Inlined.
1808 * kern/misc.c (grub_strcasecmp): Moved from here ...
1809 * include/grub/misc.h (grub_strcasecmp): ... here. Inlined.
1810 * kern/misc.c (grub_strncasecmp): Moved from here ...
1811 * include/grub/misc.h (grub_strncasecmp): ... here. Inlined.
1812 * kern/misc.c (grub_isalpha): Moved from here ...
1813 * include/grub/misc.h (grub_isalpha): ... here. Inlined.
1814 * kern/misc.c (grub_isdigit): Moved from here ...
1815 * include/grub/misc.h (grub_isdigit): ... here. Inlined.
1816 * kern/misc.c (grub_isgraph): Moved from here ...
1817 * include/grub/misc.h (grub_isgraph): ... here. Inlined.
1818 * kern/misc.c (grub_tolower): Moved from here ...
1819 * include/grub/misc.h (grub_tolower): ... here. Inlined.
1820
48e40bff 18212009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
1822
1823 * script/sh/function.c (grub_script_function_find): Cut error message
1824 not to flood terminal.
1825 * script/sh/lexer.c (grub_script_yylex): Remove command line length
1826 limit.
1827 * script/sh/script.c (grub_script_arg_add): Duplicate string.
1828
c385bfc3 18292009-08-24 Colin Watson <cjwatson@ubuntu.com>
1830
1831 * term/usb_keyboard.c (grub_usb_keyboard_getreport): Make
1832 `report' grub_uint8_t *.
1833 (grub_usb_keyboard_checkkey): Make `data' elements grub_uint8_t.
1834 Use a 50-millisecond timeout rather than just repeating
1835 grub_usb_keyboard_getreport 50 times.
1836 (grub_usb_keyboard_getkey): Make `data' elements grub_uint8_t.
1837
2d21e3e8 18382009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
1839
1840 Rename *_partition_map to part_*
1841
1842 * partmap/acorn.c (grub_acorn_partition_map): Set name to 'part_acorn'.
1843 * partmap/amiga.c (grub_amiga_partition_map): Set name to 'part_amiga'.
1844 * partmap/apple.c (grub_apple_partition_map): Set name to 'part_apple'.
1845 * partmap/gpt.c (grub_gpt_partition_map): Set name to 'part_gpt'.
1846 All users updated.
1847 * partmap/msdos.c (grub_msdos_partition_map): Set name to 'part_msdos'.
1848 All users updated.
1849 * partmap/sun.c (grub_sun_partition_map): Set name to 'part_sun'.
1850 * util/grub-probe.c (probe_partmap): Don't transform partition name
1851 to get module name.
1852
dd103c4e 18532009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
1854
1855 Fix OpenBSD and NetBSD support.
1856
1857 * include/grub/i386/bsd.h (GRUB_BSD_TEMP_BUFFER): Change to resolve
1858 memory address conflict.
1859 (OPENBSD_MMAP_ACPI): New definition.
1860 (OPENBSD_MMAP_NVS): Likewise.
1861 * loader/i386/bsd.c (grub_openbsd_boot): Support OPENBSD_MMAP_ACPI
1862 and OPENBSD_MMAP_NVS.
1863 Add memory map terminator
1864 Explicit cast when calling grub_unix_real_boot.
ad8ea1f4 1865 (grub_netbsd_boot): Explicit cast when calling grub_unix_real_boot.
dd103c4e 1866
16c84d74 18672009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
1868
1869 Let user specify NetBSD root device.
1870
1871 * loader/i386/bsd.c (netbsd_root): New variable.
1872 (netbsd_opts): New option 'root'.
1873 (NETBSD_ROOT_ARG): New macro.
1874 (grub_netbsd_boot): Use 'netbsd_root'.
1875 (grub_bsd_unload): Free 'netbsd_root'.
1876 (grub_cmd_netbsd): Fill 'netbsd_root'.
1877
adb29902 18782009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
1879
1880 Support for 64-bit NetBSD.
1881
1882 * loader/i386/bsd.c (grub_bsd_load_elf): Apply correct mask to entry
1883 point when booting non-FreeBSD.
1884
f5ae9f74 18852009-08-24 Vladimir Serbinenko <phcoder@gmail.com>
1886
1887 Support --no-smp and --no-acpi for NetBSD.
1888
1889 * include/grub/i386/bsd.h (NETBSD_AB_NOSMP): New definition.
1890 (NETBSD_AB_NOACPI): Likewise.
1891 * loader/i386/bsd.c (netbsd_opts): New entries no-smp and no-acpi.
1892 (netbsd_flags): Add NETBSD_AB_NOSMP, NETBSD_AB_NOACPI.
1893
de74f136 18942009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1895
1896 * fs/hfsplus.c (grub_hfsplus_mount): Don't ignore grub_hfsplus_read_file
1897 errors.
1898 (grub_hfsplus_btree_iterate_node): Don't ignore grub_hfsplus_read_file
1899 errors. Call grub_error when needed.
1900
e9a925da 19012009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1902
1903 * commands/search.c (search_fs): Try searching without autoload first.
1904 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Load
1905 filesystem module explicitly for faster booting.
1906
5174302b 19072009-08-23 Colin Watson <cjwatson@ubuntu.com>
1908
1909 * util/grub-mkconfig.in: Export GRUB_DISABLE_OS_PROBER.
1910
c8c80635 19112009-08-23 Colin Watson <cjwatson@ubuntu.com>
1912
1913 * util/grub.d/30_os-prober.in: Disable os-prober if
1914 `GRUB_DISABLE_OS_PROBER' was set to true.
1915
71acf5e5 19162009-08-23 Robert Millan <rmh.grub@aybabtu.com>
1917
1918 * partmap/pc.c: Rename to ...
1919 * partmap/msdos.c: ... this. Update all users.
1920 (grub_pc_partition_map): Rename to ...
1921 (grub_msdos_partition_map): ... this. Update all users.
1922
1923 * parttool/pcpart.c: Rename to ...
1924 * parttool/msdospart.c: ... this. Update all users.
1925
1926 * include/grub/pc_partition.h: Rename to ...
1927 * include/grub/msdos_partition.h: ... this. Update all users.
1928 (grub_pc_partition_bsd_entry): Rename to ...
1929 (grub_msdos_partition_bsd_entry): ... this. Update all users.
1930 (grub_pc_partition_disk_label): Rename to ...
1931 (grub_msdos_partition_disk_label): ... this. Update all users.
1932 (grub_pc_partition_entry): Rename to ...
1933 (grub_msdos_partition_entry): ... this. Update all users.
1934 (grub_pc_partition_mbr): Rename to ...
1935 (grub_msdos_partition_mbr): ... this. Update all users.
1936 (grub_pc_partition): Rename to ...
1937 (grub_msdos_partition): ... this. Update all users.
1938 (grub_pc_partition_is_empty): Rename to ...
1939 (grub_msdos_partition_is_empty): ... this. Update all users.
1940 (grub_pc_partition_is_extended): Rename to ...
1941 (grub_msdos_partition_is_extended): ... this. Update all users.
1942 (grub_pc_partition_is_bsd): Rename to ...
1943 (grub_msdos_partition_is_bsd): ... this. Update all users.
1944
1945 * conf/common.rmk (amiga_mod_SOURCES, amiga_mod_CFLAGS)
1946 (amiga_mod_LDFLAGS, apple_mod_SOURCES, apple_mod_CFLAGS)
1947 (apple_mod_LDFLAGS, msdos_mod_SOURCES, msdos_mod_CFLAGS)
1948 (msdos_mod_LDFLAGS, sun_mod_SOURCES, sun_mod_CFLAGS)
1949 (sun_mod_LDFLAGS, acorn_mod_SOURCES, acorn_mod_CFLAGS)
1950 (acorn_mod_LDFLAGS, gpt_mod_SOURCES, gpt_mod_CFLAGS)
1951 (gpt_mod_LDFLAGS): Rename to ...
1952 (part_amiga_mod_SOURCES, part_amiga_mod_CFLAGS, part_amiga_mod_LDFLAGS)
1953 (part_apple_mod_SOURCES, part_apple_mod_CFLAGS, part_apple_mod_LDFLAGS)
1954 (part_msdos_mod_SOURCES, part_msdos_mod_CFLAGS, part_msdos_mod_LDFLAGS)
1955 (part_sun_mod_SOURCES, part_sun_mod_CFLAGS, part_sun_mod_LDFLAGS)
1956 (part_acorn_mod_SOURCES, part_acorn_mod_CFLAGS, part_acorn_mod_LDFLAGS)
1957 (part_gpt_mod_SOURCES, part_gpt_mod_CFLAGS)
1958 (part_gpt_mod_LDFLAGS): ... this.
1959 (pkglib_MODULES): Prefix partition modules with `part_'. Rename
1960 `pcpart.mod' to `msdospart.mod'.
1961 (pcpart_mod_SOURCES, pcpart_mod_CFLAGS, pcpart_mod_LDFLAGS): Rename
1962 to ...
1963 (msdospart_mod_SOURCES, msdospart_mod_CFLAGS)
1964 (msdospart_mod_LDFLAGS): ... this.
1965
c11fded5 19662009-08-23 Vladimir Serbinenko <phcoder@gmail.com>
1967
1968 * loader/i386/bsd.c (freebsd_opts): Rewritten to use extcmd.
1969 (openbsd_opts): Likewise.
1970 (netbsd_opts): Likewise.
1971 (freebsd_flags): Added 0 terminator.
1972 (openbsd_flags): Likewise.
1973 (netbsd_flags): Likewise.
1974 (grub_bsd_parse_flags): Rewritten to use extcmd. All users updated.
1975 (grub_cmd_freebsd): Transformed into extended command.
1976 (grub_cmd_openbsd): Likewise.
1977 (grub_cmd_netbsd): Likewise.
1978 (cmd_freebsd): Changed type to grub_extcmd_t.
1979 (cmd_openbsd): Likewise.
1980 (cmd_netbsd): Likewise.
1981 (GRUB_MOD_INIT (bsd)): Register grub_cmd_freebsd, grub_cmd_netbsd and
1982 grub_cmd_openbsd as extended commands.
1983 (GRUB_MOD_FINI (bsd)): Use grub_unregister_extcmd for cmd_freebsd,
1984 cmd_netbsd and cmd_openbsd
1985
11d1c769 19862009-08-22 Vladimir Serbinenko <phcoder@gmail.com>
1987
1988 * commands/xnu_uuid.c (transform): Use grub_memcpy instead of memcpy.
1989
7a9094e5 19902009-08-21 Pavel Roskin <proski@gnu.org>
1991
5496c37e 1992 * Makefile.in (install-local): When checking if a file is in the
1993 build directory, use "test -e" to detect symlinks.
1994
7a9094e5 1995 * Makefile.in (install-local): Remove all files in
1996 $(DESTDIR)$(pkglibdir) before installing new files there.
1997
e53cea11 19982009-08-18 Felix Zielcke <fzielcke@z-51.de>
1999
2000 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Use
2001 grub-mkelfimage.
2002
9aced544 20032009-08-18 Felix Zielcke <fzielcke@z-51.de>
2004
2005 * util/grub-mkconfig.in: Don't use gfxterm by default if not
2006 explicitly specified by the user.
2007
b7da6bab 20082009-08-18 Pavel Roskin <proski@gnu.org>
2009
2010 * include/grub/fbfill.h (struct grub_video_fbrender_target): Use
2011 grub_uint8_t pointer for data.
2012 * include/grub/fbutil.h (struct grub_video_fbblit_info):
2013 Likewise.
2014 * video/fb/fbutil.c: Remove unnecessary casts.
2015
19f1b335 20162009-08-17 Michal Suchanek <hramrach@centrum.cz>
2017
2018 VBE cleanup.
2019
2020 * video/i386/pc/vbe.c (vbe_mode_in_use): Removed (duplicate).
2021 (grub_vbe_set_video_mode): Save active mode info
2022 only after setting the mode.
2023 (grub_video_vbe_setup): Call 'grub_vbe_set_video_mode' with NULL as
2024 second argument.
2025
2f467aa9 20262009-08-17 Michal Suchanek <hramrach@centrum.cz>
2027
2028 Rename variables for clarity.
2029
2030 * video/i386/pc/vbe.c (active_mode_info): Renamed to ...
2031 (active_vbe_mode_info): ... this. All users updated.
2032 (framebuffer): Rename 'active_mode' to 'active_vbe_mode'.
2033 All users updated.
2034 (initial_mode): Rename to ...
2035 (initial_vbe_mode): ... this. All users updated.
2036 (mode_in_use): Rename to ..
2037 (vbe_mode_in_use): ... this. All users updated.
2038 (mode_list): Rename to ..
2039 (vbe_mode_list): ... this. All users updated.
2040 (grub_vbe_set_video_mode): Rename 'mode' to 'vbe_mode', 'mode_info' to
2041 'vbe_mode_info' and 'old_mode' to 'old_vbe_mode'.
2042 (grub_video_vbe_init): Rename 'rm_mode_list' to 'rm_vbe_mode_list' and
2043 'mode_list_size' to 'vbe_mode_list_size'.
2044 (grub_video_vbe_setup): Rename 'mode_info' to 'vbe_mode_info',
2045 'best_mode_info' to 'best_vbe_mode_info' and
2046 'best_mode' to 'best_vbe_mode'
2047
6025fcd7 20482009-08-17 Michal Suchanek <hramrach@centrum.cz>
2049
2050 Remove duplicate grub_video_fb_get_video_ptr.
2051
2052 * include/grub/fbutil.h (get_data_ptr): Rename to ...
2053 (grub_video_fb_get_video_ptr): ... this.
2054 * include/grub/video_fb.h (grub_video_fb_get_video_ptr): Removed.
2055 * video/fb/fbutil.c: Add comment about addressing.
2056 (get_data_ptr): Rename to ...
2057 (grub_video_fb_get_video_ptr): ... this. All users updated.
2058 * video/fb/video_fb.c (grub_video_fb_get_video_ptr): Remove.
2059
cc8c6faf 20602009-08-17 Robert Millan <rmh.grub@aybabtu.com>
2061
2062 * fs/fat.c (grub_fat_read_data): Remove `#if 0' braces around the
2063 grub_dprintf() that was just added.
2064
08aa61f0 20652009-08-17 Robert Millan <rmh.grub@aybabtu.com>
2066
2067 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT)
2068 (DEFAULT_VIDEO_MODE): Remove macros.
2069 (grub_linux_boot): Remove assumption that Linux has FB support,
2070 and use "text" as default video mode.
2071
7cef4f75 20722009-08-15 Vladimir Serbinenko <phcoder@gmail.com>
2073
2074 * fs/affs.c (grub_affs_read_symlink): Change leftover grub_printf into
2075 grub_dprintf.
2076 * fs/fat.c (grub_fat_read_data): Likewise.
2077
e1f39873 20782009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2079
2080 * loader/i386/multiboot.c (grub_multiboot): Don't pass filename to
2081 payload.
2082 (grub_module): Likewise.
2083
c166d79e 20842009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2085
2086 * loader/i386/multiboot.c (grub_multiboot_unload): Don't free mbi and
2087 mbi->cmdline but free playground.
2088
c60cee8e 20892009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2090
2091 Handle group offset on UFS1.
2092
2093 * fs/ufs.c (grub_ufs_sblock): New field 'cylg_mask'.
2094 (grub_ufs_read_inode) [!MODE_UFS2]: handle cylg_offset and cylg_mask.
2095
c0d8b5d4 20962009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2097
2098 Split ufs.mod into ufs1.mod and ufs2.mod.
2099
2100 * conf/common.rmk (grub_probe_SOURCES): Add fs/ufs2.c.
2101 (grub_fstest_SOURCES): Likewise.
2102 (pkglib_MODULES): Remove ufs.mod. Add ufs1.mod and ufs2.mod.
2103 (ufs_mod_SOURCES): Remove.
2104 (ufs_mod_CFLAGS): Likewise.
2105 (ufs_mod_LDFLAGS): Likewise.
2106 (ufs1_mod_SOURCES): New variable.
2107 (ufs1_mod_CFLAGS): Likewise.
2108 (ufs1_mod_LDFLAGS): Likewise.
25fbd77a 2109 (ufs2_mod_SOURCES): New variable.
2110 (ufs2_mod_CFLAGS): Likewise.
2111 (ufs2_mod_LDFLAGS): Likewise.
c0d8b5d4 2112 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add fs/ufs2.c.
2113 * conf/i386-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
2114 Likewise.
2115 (grub_emu_SOURCES): Likewise.
2116 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2117 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
2118 (grub_setup_SOURCES): Likewise.
2119 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2120 * conf/sparc64.rmk (grub_emu_SOURCES): Likewise.
2121 (grub_setup_SOURCES): Likewise.
2122 * conf/x86_64-efi.rmk (util/i386/efi/grub-mkimage.c_DEPENDENCIES):
2123 Likewise.
2124 * fs/ufs2.c: New file.
2125 * fs/ufs.c: Separate UFS1 from UFS2 by using preprocessor.
2126
d3539132 21272009-08-14 Vladimir Serbinenko <phcoder@gmail.com>
2128
2129 Framebuffer split.
2130
2131 * commands/i386/pc/vbetest.c (grub_cmd_vbetest): Restore video
2132 subsystem at the end.
2133 * conf/common.rmk (pkglib_MODULES): Add video_fb.mod.
2134 (video_fb_mod_SOURCES): New variable.
2135 (video_fb_mod_CFLAGS): Likewise.
2136 (video_fb_mod_LDFLAGS): Likewise.
2137 * conf/i386-pc.rmk (vbe_mod_SOURCES): Remove video/i386/pc/vbeblit.c,
2138 video/i386/pc/vbefill.c and video/i386/pc/vbeutil.c.
2139 * video/i386/pc/vbeblit.c: Moved from here ...
2140 * video/fb/fbblit.c: ..here. Replaced 'vbe' with 'fb'.
2141 * video/i386/pc/vbefill.c: Moved from here ...
2142 * video/fb/fbfill.c: ..here. Replaced 'vbe' with 'fb'.
2143 * video/i386/pc/vbeutil.c: Moved from here ...
2144 * video/fb/fbutil.c: ..here. Replaced 'vbe' with 'fb'.
2145 * include/grub/i386/pc/vbeblit.h: Moved from here ...
2146 * include/grub/fbblit.h: ... here. Replaced 'vbe' with 'fb'.
2147 * include/grub/i386/pc/vbefill.h: Moved from here ...
2148 * include/grub/fbfill.h: ... here. Replaced 'vbe' with 'fb'.
2149 * include/grub/i386/pc/vbeutil.h: Moved from here ...
2150 * include/grub/fbutil.h: ... here. Replaced 'vbe' with 'fb'.
2151 * include/grub/i386/pc/vbe.h: Moved framebuffer part ...
2152 * include/grub/video_fb.h: ... here. Replaced 'vbe' with 'fb'.
2153 * include/grub/video.h (GRUB_VIDEO_RENDER_TARGET_FRONT_BUFFER): Removed.
2154 (GRUB_VIDEO_RENDER_TARGET_BACK_BUFFER): Likewise.
2155 (grub_video_adapter): Added 'get_info_and_fini'.
2156 (grub_video_get_info_and_fini): New prototype.
2157 (grub_video_set_mode): make modestring const char *.
2158 * loader/i386/linux.c (grub_linux_setup_video): Use
2159 grub_video_get_info_and_fini.
2160 (grub_linux_boot): Move modesetting just before booting.
2161 * loader/i386/pc/xnu.c (grub_xnu_set_video): Use
2162 grub_video_get_info_and_fini.
2163 * video/i386/pc/vbe.c: Moved framebuffer part ...
2164 * video/fb/video_fb.c: ... here. Replaced 'vbe' with 'fb'.
2165 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): Use
2166 grub_video_fbstd_colors and grub_video_fb_set_palette.
2167 (grub_video_vbe_init): Clear 'framebuffer' variable and use
2168 grub_video_fb_init.
2169 (grub_video_vbe_fini): Use grub_video_fb_fini.
2170 (grub_video_vbe_setup): Use framebuffer.render_target instead of
2171 render_target and use grub_video_fb_set_active_render_target and
2172 grub_video_fb_set_palette.
2173 (grub_video_vbe_set_palette): Use grub_video_fb_set_palette.
2174 (grub_video_vbe_set_viewport): Use grub_video_fb_set_viewport.
2175 (grub_video_vbe_adapter): Use framebuffer.
2176 * video/video.c (grub_video_get_info_and_fini): New function.
2177 (grub_video_set_mode): Make modestring const char *.
2178 (GRUB_MOD_INIT(video_video)): Don't set variables to 0 since these
2179 values are already initialised.
2180
d404ee56 21812009-08-14 Pavel Roskin <proski@gnu.org>
2182
2183 * boot/i386/pc/cdboot.S: Use LOCAL for local labels. Eliminate
2184 ABS and APPLE_CC.
2185 * boot/i386/pc/diskboot.S: Likewise.
2186 * boot/i386/pc/lnxboot.S: Likewise. Hardcode the number of code
2187 sectors allow compilation on MacOSX.
2188 * conf/i386-pc.rmk: Enable unconditional compilation of
2189 lnxboot.img.
2190
9a10df16 21912009-08-13 Colin Watson <cjwatson@ubuntu.com>
2192
2193 * util/grub-mkconfig.in: Export GRUB_HIDDEN_TIMEOUT.
2194 * util/grub.d/00_header.in: Enter interruptible sleep if
2195 GRUB_HIDDEN_TIMEOUT is set.
2196
be3c9ca7 21972009-08-13 Yves Blusseau <blusseau@zetam.org>
2198
2199 * include/grub/symbol.h: Add the LOCAL macro.
2200 * boot/i386/pc/boot.S: Use the LOCAL macro for all labels
2201 starting with "L_".
2202
1f9e557e 22032009-08-13 Pavel Roskin <proski@gnu.org>
2204
9ca62843 2205 * boot/i386/pc/boot.S: Remove ABS macro, it's not required by
2206 any modern compilers we support.
2207
1f9e557e 2208 * boot/i386/pc/boot.S: Remove all code dependent on APPLE_CC.
2209 Use local labels starting with "L_" so that Apple assembler
2210 knows they are local.
2211
81623db6 22122009-08-10 Robert Millan <rmh.grub@aybabtu.com>
2213
2214 * include/grub/i386/bsd.h (KERNEL_TYPE_NONE, KERNEL_TYPE_FREEBSD)
2215 (KERNEL_TYPE_OPENBSD, KERNEL_TYPE_NETBSD): Convert to ...
2216 (bsd_kernel_types): ... this enum.
2217
2218 * loader/i386/bsd.c (grub_cmd_freebsd_loadenv, grub_cmd_freebsd_module)
2219 (grub_cmd_freebsd_module_elf): Abort with "You need to load the
2220 kernel first." when `kernel_type' is set to KERNEL_TYPE_NONE.
2221
2222 (grub_bsd_load_aout, grub_bsd_load, grub_cmd_freebsd_loadenv)
2223 (grub_cmd_freebsd_module, grub_cmd_freebsd_module_elf)
2224 (GRUB_MOD_INIT (bsd)): Fix capitalization in a few error
2225 messages.
2226
f5d35e7a 22272009-08-08 Robert Millan <rmh.grub@aybabtu.com>
2228
2229 * util/grub-dumpdevtree: Moved from here ...
2230 * util/i386/efi/grub-dumpdevtree: ... to here.
2231 (hexify): New function. Converts a string to its hex version.
2232 Generate hex versions of "efi" and "device-properties" by calling
2233 hexify() on the ASCII strings rather than by hardcoding numbers.
2234
d1e1d527 22352009-08-08 Robert Millan <rmh.grub@aybabtu.com>
2236
2237 * fs/jfs.c: Update copyright year.
2238
1ebbe064 22392009-08-08 Felix Zielcke <fzielcke@z-51.de>
2240
2241 * util/grub.d/00_header.in: Fix a comment.
2242 * util/grub.d/10_linux.in: Likewise.
2243 * util/grub.d/10_windows.in: Likewise.
2244 * util/grub.d/10_hurd.in: Likewise.
2245
a78c8d24 22462009-08-08 Felix Zielcke <fzielcke@z-51.de>
2247
2248 * util/grub-mkconfig.in: Allow the user to specify the used font
2249 with GRUB_FONT.
2250
29a6b9e8 22512009-08-08 Pavel Roskin <proski@gnu.org>
2252
b5f16cc4 2253 * include/grub/powerpc/libgcc.h: Export __ashrdi3() if
2254 available, xfs.mod needs it now.
2255
2f5cb827 2256 * util/grub-mkconfig_lib.in (version_test_numeric): Don't use
2257 the "g" modifier in sed when the intention is to strip something
2258 once. This fixes comparison of kernels with multiple dashes.
2259
29a6b9e8 2260 * util/grub-mkconfig.in: Define datarootdir, datadir may depend
2261 on it. Add missing space before closing bracket. Fix
2262 misleading formatting.
2263
892a3d98 22642009-08-07 Robert Millan <rmh.grub@aybabtu.com>
2265
2266 * docs/grub.texi: Major overhaul. Remove all sections that are
2267 specific to GRUB Legacy, or mostly composed of Legacy-specific
2268 information.
2269
ed94253f 22702009-08-07 Robert Millan <rmh.grub@aybabtu.com>
2271
2272 * docs/version.texi: New file. Provides version information for
2273 grub.texi.
2274
126d6628 22752009-08-07 Robert Millan <rmh.grub@aybabtu.com>
2276
2277 * docs/grub.texi: Update CVS information to SVN.
2278 Replace outdated "GRUB 2 will include" phrase with "GRUB 2 includes".
2279
998b5aa9 22802009-08-07 Felix Zielcke <fzielcke@z-51.de>
2281
2282 * util/grub-mkconfig.in: Remove a wrong `fi'.
2283
818e094a 22842009-08-07 Felix Zielcke <fzielcke@z-51.de>
2285
2286 * fs/uuid.c (grub_jfs_superblock): New fields unused2 and uuid.
2287 (grub_jfs_uuid): New function.
2288 (grub_jfs_fs): Set uuid field to grub_jfs_uuid.
2289
b969c52f 22902009-08-07 Felix Zielcke <fzielcke@z-51.de>
2291
2292 * util/grub-mkconfig_lib.in (font_path): Move the functionality
2293 of it to ...
2294 * util/grub-mkconfig.in: ... here. Prefer unicode.pf2 and
2295 unifont.pf2 over ascii.pf2. Export LANG=C in case ascii.pf2 gets used.
2296
7a4894cc 22972009-08-07 Robert Millan <rmh.grub@aybabtu.com>
2298
2299 * util/grub.d/10_linux.in (test_numeric): Moved from here ...
2300 * util/grub-mkconfig_lib.in (version_test_numeric): ... to here.
2301 Update all users.
2302
2303 * util/grub.d/10_linux.in (test_gt): Strip any basename prefix,
2304 not just "vmlinu[zx]".
2305 Moved from here ...
2306 * util/grub-mkconfig_lib.in (version_test_gt): ... to here. Update
2307 all users.
2308
2309 * util/grub.d/10_linux.in (find_latest): Moved from here ...
2310 * util/grub-mkconfig_lib.in (version_find_latest): ... to here. Update
2311 all users.
2312
4e2171f8 23132009-08-07 Robert Millan <rmh.grub@aybabtu.com>
2314
2315 * util/grub.d/10_freebsd.in: Use an absolute device path for
2316 `vfs.root.mountfrom'. Set `vfs.root.mountfrom.options=rw'.
2317
6dcfcb32 23182009-08-06 Felix Zielcke <fzielcke@z-51.de>
2319
2320 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Fix
2321 handling of multiple abstraction modules.
2322
f56a8756 23232009-08-04 Robert Millan <rmh.grub@aybabtu.com>
2324
2325 Fix a bug resulting in black screen when loading Linux using a
2326 packed video mode.
2327
2328 * kern/i386/pc/startup.S (grub_vbe_bios_getset_dac_palette_width): New
2329 function.
2330
2331 * include/grub/i386/pc/vbe.h (GRUB_VBE_CAPABILITY_DACWIDTH): New macro.
2332 (grub_vbe_bios_getset_dac_palette_width): New function.
2333 (grub_vbe_bios_get_dac_palette_width)
2334 (grub_vbe_bios_set_dac_palette_width): New macros (act as wrappers for
2335 grub_vbe_bios_getset_dac_palette_width()).
2336
2337 * video/i386/pc/vbe.c (grub_vbe_probe): Use `GRUB_VBE_STATUS_OK' to
2338 check for return status.
2339 (grub_vbe_get_video_mode_info): When getting information for a packed
2340 mode (<= 8 bpp), obtain DAC palette width using
2341 grub_vbe_bios_getset_dac_palette_width(), and use that for initializing
2342 {red,green,blue}_mark_size.
2343
222671b2 23442009-08-04 Felix Zielcke <fzielcke@z-51.de>
2345
ecb1a6d9 2346 * commands/search.c (options): Fix help output to match actual code.
222671b2 2347
f84114f5 23482009-08-02 Vladimir Serbinenko <phcoder@gmail.com>
2349
2350 * commands/hexdump.c (grub_cmd_hexdump): Use grub_disk_read instead
2351 of homegrown code.
2352
bd288a20 23532009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
e768b770 2354
2355 * util/hostfs.c (grub_hostfs_dir): Don't use DT_DIR: It doesn't work
2356 on XFS or ReiserFS.
2357
8aab5e25 23582009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
2359
2360 Support Apple partition map with sector size different from 512 bytes.
2361
2362 * partmap/apple.c (grub_apple_header): New field 'blocksize'.
2363 (apple_partition_map_iterate): Respect 'aheader.blocksize'
2364 and 'apart.partmap_size'.
2365
6ad6258a 23662009-08-01 Vladimir Serbinenko <phcoder@gmail.com>
23672009-08-01 Robert Millan <rmh.grub@aybabtu.com>
2368
2369 Fix cpuid command.
2370
2371 * commands/i386/cpuid.c (options): New variable.
2372 (grub_cmd_cpuid): Return real error.
2373 (GRUB_MOD_INIT(cpuid)): Declare options.
2374
67459bc6 23752009-07-31 Vladimir Serbinenko <phcoder@gmail.com>
2376
2377 * partmap/pc.c (pc_partition_map_iterate): Check that boot flags are
2378 valid.
2379
fbc6ab54 23802009-07-31 Bean <bean123ch@gmail.com>
2381
2382 * fs/xfs.c (grub_xfs_sblock): Change unused5 field to log2_sect and
2383 log2_inode.
2384 (grub_fshelp_node): Move inode field to the end.
2385 (grub_xfs_data): Remove inode field.
2386 (grub_xfs_inode_block): Calculate inode size using sblock.
2387 (grub_xfs_inode_offset): Likewise.
2388 (grub_xfs_read_inode): Calculate inode size using sblock.
2389 (grub_xfs_read_block): Replace XFS_INODE_EXTENTS with nrec.
2390 (grub_xfs_iterate_dir): Calculate inode size using sblock.
2391 (grub_xfs_mount): Use grub_zalloc instead of grub_malloc. Realloc data
2392 to match inode size.
2393 (grub_xfs_dir): goto mount_fail when mount fails, as data->diropen is
2394 not accessible when data is null.
2395 (grub_xfs_open): Likewise.
2396
f45d6cfc 23972009-07-31 Bean <bean123ch@gmail.com>
2398
2399 * disk/lvm.c (grub_lvm_scan_device): Ignore extra copy of metadata.
2400 Don't change pv->disk if it's already set.
2401
2402 * disk/raid.c (grub_raid_scan_device): Merge this function into ...
2403 (grub_raid_register): ... here.
2404 (grub_raid_rescan): Removed.
2405
2406 * include/grub/raid.h (grub_raid_rescan): Removed.
2407
2408 * util/grub-fstest.c: Remove include file <grub/raid.h>.
2409 (fstest): Replace grub_raid_rescan with module fini function followed
2410 by init function.
2411
2412 * util/grub-probe.c: Add include file <grub/raid.h>.
2413 (probe_raid_level): New function.
2414 (probe): Detect abstraction by walking the disk device, support two
2415 level of abstraction (LVM on RAID) when detecting partition map.
2416
24443b5a 24172009-07-31 Pavel Roskin <proski@gnu.org>
2418
2419 * disk/raid5_recover.c (grub_raid5_recover): Revert conversion
2420 to grub_zalloc(), it was erroneous.
2421 Reported by Bean <bean123ch@gmail.com>
2422
a275d9e7 24232009-07-30 Vladimir Serbinenko <phcoder@gmail.com>
2424
2425 * util/i386/pc/grub-setup.c (setup): Check that no partition is in
ad8ea1f4 2426 embedding zone, not only the first one.
a275d9e7 2427
56c5a47f 24282009-07-29 Joe Auricchio <jauricchio@gmail.com>
2429
2430 * term/gfxterm.c (clear_char): New function.
2431 (grub_virtual_screen_setup): Use clear_char.
2432 (scroll_up): Likewise.
2433 (grub_virtual_screen_cls): Likewise.
2434
67bb323a 24352009-07-29 Felix Zielcke <fzielcke@z-51.de>
2436
2437 * util/deviceiter.c (get_acceleraid_disk_name): New static
2438 function.
2439 (grub_util_iterate_devices): Handle Accelraid devices.
2440 * util/hostdisk.c (convert_system_partition_to_system_disk): Likewise.
2441
388a7c75 24422009-07-28 Robert Millan <rmh.grub@aybabtu.com>
2443
2444 * loader/i386/linux.c (grub_cmd_linux): Use ',' rather than ';' as
2445 separator for the suggested gfxpayload string (';' collides with the
2446 parser and needs escaping).
2447
3bb7abcf 24482009-07-28 Vladimir Serbinenko <phcoder@gmail.com>
2449
2450 * loader/i386/multiboot_helper.S (grub_multiboot_backward_relocator):
2451 Clear direction flag before jumping to OS.
2452 (grub_multiboot2_real_boot): Likewise.
2453
2ddd36d7 24542009-07-28 Felix Zielcke <fzielcke@z-51.de>
2455
2456 * util/i386/pc/grub-install: Fix parsing of --disk-module
2457 option.
2458
c521b62b 24592009-07-28 Felix Zielcke <fzielcke@z-51.de>
2460
2461 * util/i386/pc/grub-setup.c (setup): Fix 2 incorrect checks
2462 when embedding.
2463
880e0a0c 24642009-07-26 Felix Zielcke <fzielcke@z-51.de>
2465
2466 * util/grub-mkconfig.in (package_version): New variable.
2467 Use it do display the version.
2468
2366e356 24692009-07-25 Felix Zielcke <fzielcke@z-51.de>
2470
2471 * kern/file.c (grub_file_open): Revert to previous check with
2472 grub_errno.
2473
7ad8c80e 24742009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
2475
2476 * commands/probe.c (GRUB_MOD_INIT (probe)): Remove "[--target=target]"
2477 from help line. It's out of sync with code.
2478
72b9658b 24792009-07-25 Vladimir Serbinenko <phcoder@gmail.com>
2480
2481 * kern/parser.c (grub_parser_execute): Fix a bug causing truncated
2482 entries on failed boot.
2483
77435277 24842009-07-25 Felix Zielcke <fzielcke@z-51.de>
2485
2486 * kern/file.c (grub_file_open): Fix an error check.
2487
fcaa8b21 24882009-07-24 Vladimir Serbinenko <phcoder@gmail.com>
2489
35d16c74 2490 * util/i386/pc/grub-setup.c (setup): Fix segmentation fault when
2491 partition map couldn't be identified.
fcaa8b21 2492
48904cd1 24932009-07-23 Pavel Roskin <proski@gnu.org>
2494
ef3c317f 2495 * commands/xnu_uuid.c (transform): Use GRUB_CPU_WORDS_BIGENDIAN
2496 instead of WORDS_BIGENDIAN. Use grub_le_to_cpu32(), so that the
2497 case of little endian words becomes just an optimization.
2498 Respect const modifier.
ad8ea1f4 2499 (md5_final): Use code that doesn't depend on endianness.
ef3c317f 2500
48904cd1 2501 * include/grub/misc.h (ALIGN_UP): Cast align to the type of addr
2502 to avoid loss of upper bits if align is unsigned and shorter
2503 than addr.
2504
260c9a89 25052009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
2506
2507 UUID support for UFS
2508
2509 * fs/ufs.c (grub_ufs_sblock): Add uuidhi and uuidlow.
2510 (grub_ufs_uuid): New function.
2511 (grub_ufs_fs): add .uuid
2512
f76ce889 25132009-07-21 Pavel Roskin <proski@gnu.org>
2514
2515 * kern/dl.c (grub_dl_check_header): Make static.
2516
6a6cbcaf 25172009-07-21 Felix Zielcke <fzielcke@z-51.de>
2518
2519 * util/grub.d/30_os-prober.in: Remove unused CHAINROOT. Don't
2520 add drivemap for Vista. It breaks Windows 7.
2521
cffcddb2 25222009-07-21 Vladimir Serbinenko <phcoder@gmail.com>
2523
2524 * fs/ufs.c (grub_ufs_sblock): Fix offset of mtime2 which was off by
2525 128 bytes
2526
1ef44b80 25272009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
2528
2529 Add BFS support
2530
2531 * conf/common.rmk (grub_probe_SOURCES): Add fs/befs.c.
2532 (grub_fstest_SOURCES): Likewise.
2533 (pkglib_MODULES): Add befs.mod.
2534 (befs_mod_SOURCES): New variable.
2535 (befs_mod_CFLAGS): Likewise.
2536 (befs_mod_LDFLAGS): Likewise.
2537 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
2538 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
2539 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2540 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
2541 (grub_setup_SOURCES): Likewise.
2542 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2543 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
2544 (grub_setup_SOURCES): Likewise.
2545 * fs/befs.c: New file.
2546 * fs/afs.c (GRUB_AFS_FSNAME): New declaration.
2547 (GRUB_AFS_SBLOCK_SECTOR): Likewise.
2548 (GRUB_AFS_SBLOCK_MAGIC1) [MODE_BFS]: New conditional declaration.
2549 (GRUB_AFS_BTREE_MAGIC) [MODE_BFS]: Likewise
2550 (B_KEY_INDEX_ALIGN): New declaration.
2551 (B_KEY_INDEX_OFFSET): Use B_KEY_INDEX_ALIGN.
2552 (grub_afs_bnode) [MODE_BFS]: Make key_count and key_size 16-bit
2553 (grub_afs_btree) [MODE_BFS]: New conditional declaration.
2554 (grub_afs_sblock) [MODE_BFS]: Remove link_count.
2555 (grub_afs_validate_sblock) [MODE_BFS]: Support BFS
2556 (grub_afs_mount) [MODE_BFS]: Likewise.
2557 (grub_afs_dir) [MODE_BFS]: Divide mtime by 65536 and not 1000000.
2558 (grub_afs_fs): Use GRUB_AFS_FSNAME
2559 (GRUB_MOD_INIT (afs)) [MODE_BFS]: Rename to ...
2560 (GRUB_MOD_INIT (befs)) [MODE_BFS]: ... this
2561 (GRUB_MOD_FINI (afs)) [MODE_BFS]: Rename to ...
2562 (GRUB_MOD_FINI (befs)) [MODE_BFS]: ... this
2563
4f253044 25642009-07-19 Yves BLUSSEAU <yves.grub-devel@zetam.org>
2565
2566 * util/getroot.c (find_root_device): Add support for MacOSX.
2567 * util/hostdisk.c: Likewise.
2568
57a55913 25692009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
2570
2571 * font/font.c (find_glyph): Check whether a font is present to avoid
2572 segmentation fault.
75421ca9 2573
25742009-07-20 Joe Auricchio <jauricchio@gmail.com>
04c7c429 2575
2576 * term/gfxterm.c (grub_virtual_screen_setup): Clear virtual_screen.
2577
e98cd0c2 25782009-07-20 Pavel Roskin <proski@gnu.org>
2579
2580 * configure.ac: Trim excessively wordy excuses.
2581
1d2d169a 25822009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
2583
2584 Add symlink, mtime and label support to AtheFS.
2585
2586 * fs/afs.c (grub_afs_sblock): Declare `name' as char.
2587 (grub_afs_iterate_dir): Handle symlinks.
2588 (grub_afs_open): Use grub_afs_read_symlink.
2589 (grub_afs_dir): Likewise.
2590 Pass mtime.
2591 (grub_afs_label): New function.
2592 (grub_afs_fs): Add grub_afs_label.
2593 (grub_afs_read_symlink): New function.
2594
186f3189 25952009-07-20 Vladimir Serbinenko <phcoder@gmail.com>
2596
2597 Fix AtheFS support.
2598
2599 * fs/afs.c: Fix comments style.
2600 (grub_afs_blockrun): Declare as packed.
2601 (grub_afs_datastream): Likewise.
2602 (grub_afs_bnode): Likewise.
2603 (grub_afs_btree): Likewise.
2604 (grub_afs_sblock): Likewise.
2605 Declare `name' as char.
2606 (grub_afs_inode): Declare as packed.
2607 Change void *vnode to grub_uint32_t unused.
2608 (grub_afs_iterate_dir): Check that key_size is positive.
2609 (grub_afs_mount): Don't read superblock twice.
75421ca9 2610 (grub_afs_dir): Don't free node in case of error,
186f3189 2611 grub_fshelp_find_file already handles this.
2612 (grub_afs_open): Likewise.
2613
5680109e 26142009-07-19 Pavel Roskin <proski@gnu.org>
2615
2616 * Makefile.in: Remove LIBLZO and enable_lzo.
2617 * conf/i386-pc.rmk: Remove lzo support.
2618 * configure.ac: Remove checks for lzo, don't define ENABLE_LZMA.
2619 * include/grub/i386/pc/kernel.h: Define ENABLE_LZMA. Remove lzo
2620 support.
2621 * kern/i386/pc/lzo1x.S: Remove.
2622 * kern/i386/pc/startup.S: Remove lzo support.
2623 * util/i386/pc/grub-mkimage.c: Likewise.
2624
ac70fa32 26252009-07-19 Vladimir Serbinenko <phcoder@gmail.com>
2626
2627 * disk/usbms.c (grub_usbms_transfer): Fix double semicolon.
2628 * fs/xfs.c (grub_xfs_dir): Likewise.
2629 * fs/afs.c (grub_afs_dir): Likewise.
2630 * fs/iso9660.c (grub_iso9660_iterate_dir): Likewise.
2631 (grub_iso9660_open): Likewise.
2632 * fs/jfs.c (grub_jfs_open): Likewise.
2633 * fs/ext2.c (grub_ext2_dir): Likewise.
2634 * include/grub/macho.h (grub_macho_fat_arch): Likewise.
2635 * script/sh/lexer.c (grub_script_yylex): Likewise.
75421ca9 2636
eab58da2 26372009-07-16 Pavel Roskin <proski@gnu.org>
2638
d2838156 2639 * configure.ac: Never add "-c" to CFLAGS.
2640
55c70904 2641 * configure.ac: Fix incorrect comparison for grub_cv_cc_efiemu.
2642
43e6200c 2643 * configure.ac: Fix wrong use of grub_cv_cc_no_red_zone where
2644 grub_cv_cc_efiemu should be used.
2645
ce7a733d 2646 * configure.ac: Typo fixes.
2647
eab58da2 2648 * kern/mm.c (grub_zalloc): New function.
2649 (grub_debug_zalloc): Likewise.
2650 * include/grub/mm.h: Declare grub_zalloc() and
2651 grub_debug_zalloc().
2652 * util/misc.c (grub_zalloc): New function.
2653 * bus/usb/uhci.c (grub_uhci_pci_iter): Use grub_zalloc()
2654 instead of grub_malloc(), remove unneeded initializations.
2655 * bus/usb/usbhub.c (grub_usb_hub_add_dev): Likewise.
2656 * commands/extcmd.c (grub_extcmd_dispatcher): Likewise.
2657 * commands/parttool.c (grub_cmd_parttool): Likewise.
2658 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Likewise.
2659 * disk/raid5_recover.c (grub_raid5_recover): Likewise.
2660 * disk/raid6_recover.c (grub_raid6_recover): Likewise.
2661 * disk/usbms.c (grub_usbms_finddevs): Likewise.
2662 * efiemu/mm.c (grub_efiemu_request_memalign): Likewise.
2663 * efiemu/pnvram.c (grub_efiemu_pnvram): Likewise.
2664 (grub_cmd_efiemu_pnvram): Likewise.
2665 * fs/i386/pc/pxe.c (grub_pxefs_open): Likewise.
2666 * fs/iso9660.c (grub_iso9660_mount): Likewise.
2667 (grub_iso9660_iterate_dir): Likewise.
2668 * fs/jfs.c (grub_jfs_opendir): Likewise.
2669 * fs/ntfs.c (list_file): Likewise.
2670 (grub_ntfs_mount): Likewise.
2671 * kern/disk.c (grub_disk_open): Likewise.
2672 * kern/dl.c (grub_dl_load_core): Likewise.
2673 * kern/elf.c (grub_elf_file): Likewise.
2674 * kern/env.c (grub_env_context_open): Likewise.
2675 (grub_env_set): Likewise.
2676 (grub_env_set_data_slot): Likewise.
2677 * kern/file.c (grub_file_open): Likewise.
2678 * kern/fs.c (grub_fs_blocklist_open): Likewise.
2679 * loader/i386/multiboot.c (grub_module): Likewise.
2680 * loader/xnu.c (grub_xnu_create_key): Likewise.
2681 (grub_xnu_create_value): Likewise.
2682 * normal/main.c (grub_normal_add_menu_entry): Likewise.
2683 (read_config_file): Likewise.
2684 * normal/menu_entry.c (make_screen): Likewise.
2685 * partmap/sun.c (sun_partition_map_iterate): Likewise.
2686 * script/sh/lexer.c (grub_script_lexer_init): Likewise.
2687 * script/sh/script.c (grub_script_parse): Likewise.
2688 * video/bitmap.c (grub_video_bitmap_create): Likewise.
2689 * video/readers/jpeg.c (grub_video_reader_jpeg): Likewise.
2690 * video/readers/png.c (grub_png_output_byte): Likewise.
2691 (grub_video_reader_png): Likewise.
2692
830afef7 26932009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
5ce5507f 2694
2695 Enable all targets that can be built by default
2696
830afef7 2697 * configure.ac: enable efiemu runtime, grub-emu, grub-emu-usb,
5ce5507f 2698 grub-mkfont and grub-fstest if they can be built
2699
ee293aee 27002009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
2701
2702 Fix hang and segmentation fault in grub-emu-usb
2703
2704 * disk/scsi.c (grub_scsi_open): return err and not grub_errno
2705 * util/usb.c (grub_libusb_devices): likewise
2706 (grub_libusb_init): rename to ...
2707 (GRUB_MOD_INIT (libusb)):...this
2708 (grub_libusb_fini): rename to ..
2709 (GRUB_MOD_FINI (libusb)):...this
2710 * disk/usbms.c (grub_usbms_transfer): fix retry logic
2711 * include/grub/disk.h (grub_raid_init): removed, it's useless
2712 (grub_raid_fini): likewise
2713 (grub_lvm_init): likewise
2714 (grub_lvm_fini): likewise
2715 * util/grub-emu.c (main): don't call grub_libusb_init, it's done
2716 by grub_init_all
2717
94414221 27182009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
2719
2720 Fix libusb
2721
2722 * Makefile.in (LIBUSB): new macro
2723 * genmk.rb (Utility/print_tail): new method
2724 (Utility/rule): use intermediary variable #{prefix}_OBJECTS
2725 (top level): call util.print_tail at the end.
2726
59ade63d 27272009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
2728
2729 Make FreeBSD accept zpool.cache
2730
2731 * loader/i386/bsd.c (grub_freebsd_add_meta_module): spoof filename if
2732 type is /boot/zfs/zpool.cache
2733
a58da8c7 27342009-07-16 Vladimir Serbinenko <phcoder@gmail.com>
2735
2736 Fix 64-bit efiemu
2737
2738 * include/grub/efiemu/efiemu.h (grub_efiemu_configuration_table64_t):
2739 correct wrong typedef
2740 * efiemu/prepare.c (SUFFIX (grub_efiemu_prepare)): minor style fixes
2741
20591577 27422009-07-15 Pavel Roskin <proski@gnu.org>
2743
560ca572 2744 * include/grub/disk.h (struct grub_disk_dev): Use enum for id.
2745 * kern/disk.c (struct grub_disk_cache): Likewise.
2746
e8e8e4fd 2747 * commands/probe.c (options): Typo fix.
2748
fde24e10 2749 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_BPB_END):
2750 Increase to 0x5a to accommodate FAT32. Adjust other offsets
2751 accordingly.
2752 Original patch by Yves Blusseau <yves.grub-devel@zetam.org>
2753
379c54c1 2754 * boot/i386/pc/boot.S (general_error_string): Add DOS newline at
2755 the end of "Error" to make the message more readable.
2756
7bd8f5bf 2757 * boot/i386/pc/boot.S (kernel_segment): Remove.
2758 (copy_buffer): Use GRUB_BOOT_MACHINE_KERNEL_ADDR in segment 0
2759 for destination.
2760
40b132c5 2761 * boot/i386/pc/boot.S (boot_version): Remove.
2762 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_VER_MAJ):
2763 Remove.
2764
20591577 2765 * include/grub/i386/pc/boot.h: Sort all offsets.
2766 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Remove, it's unused.
2767 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Likewise.
2768 * boot/i386/pc/boot.S: Assert location of every offset listed in
2769 include/grub/i386/pc/boot.h.
2770
2df32b2c 27712009-07-13 Pavel Roskin <proski@gnu.org>
2772
44b5d879 2773 * include/grub/i386/coreboot/machine.h: Rename
2774 GRUB_MACHINE_LINUXBIOS to GRUB_MACHINE_COREBOOT.
2775 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Allow
2776 multiboot 1 for GRUB_MACHINE_COREBOOT and GRUB_MACHINE_QEMU.
2777
17dc3751 2778 * kern/dl.c: Force native word size to suppress warnings when
2779 compiling grub-emu.
2780
2df32b2c 2781 * kern/device.c (grub_device_iterate): Change struct part_ent to
2782 hold the name, not a pointer to it. Use one grub_malloc() per
2783 partition, not two. Free partition_name if grub_malloc() fails.
2784 Set ents to NULL only before grub_partition_iterate() is called.
2785
75c59f59 27862009-07-11 Bean <bean123ch@gmail.com>
2787
2788 * kern/ieee1275/openfw.c (grub_children_iterate): Fix size of
2789 childname.
2790
0ae1bf88 27912009-07-10 Bean <bean123ch@gmail.com>
27922009-07-10 Robert Millan <rmh.grub@aybabtu.com>
2793
2794 * kern/ieee1275/openfw.c (grub_children_iterate)
2795 (grub_devalias_iterate): Fix size evaluation for property or path
2796 strings, which was broken since r2132.
2797
8279cade 27982009-07-07 Pavel Roskin <proski@gnu.org>
2799
7d8a52d3 2800 * commands/search.c (search_file): Merge into ...
2801 (search_fs): ... this. Accept search type as argument.
2802 (grub_cmd_search): Pass search type to search_fs().
2803
25f9a05a 2804 * include/grub/util/console.h: New file.
2805 * util/console.c: Use it instead of grub/machine/console.h.
2806 * util/grub-emu.c: Likewise.
2807
8279cade 2808 * lib/arg.c (find_long_option): Remove.
2809 (find_long): Add `len' argument, make `s' const char *.
2810 (grub_arg_parse): Parse long options in place, not in a
2811 temporary buffer.
2812
4a11b60f 28132009-07-06 Pavel Roskin <proski@gnu.org>
2814
99f68041 2815 * commands/search.c (search_fs): Fix potential NULL pointer
2816 dereference.
2817
4a11b60f 2818 * commands/search.c (search_fs): Replace QUID macro with quid_fn
2819 function pointer.
2820
e110f4de 28212009-07-06 Daniel Mierswa <impulze@impulze.org>
2822
2823 * commands/search.c (search_fs): Use grub_strcasecmp() for UUID
2824 comparison.
2825
46eeb6a2 28262009-07-05 Pavel Roskin <proski@gnu.org>
2827
bab74958 2828 * include/grub/i386/linux.h (struct linux_kernel_params):
2829 Restore padding3, it's still needed.
2830
46eeb6a2 2831 * util/grub.d/10_freebsd.in: Fix spelling of `device.hints' on
2832 FreeBSD.
2833 * util/osdetect.lua: Likewise.
2834
b4a1dc79 28352009-07-05 Bean <bean123ch@gmail.com>
2836
2837 * conf/common.rmk (lua_mode_SOURCES): Add script/lua/lstrlib.c.
2838
2839 * script/lua/grub_lib.c (grub_lua_run): Check input parameter.
2840 (grub_lua_getenv): Likewise.
2841 (grub_lua_setenv): Likewise.
2842 (save_errno): New function.
2843 (push_result): Likewise.
2844 (grub_lua_enum_device): Likewise.
2845 (grub_lua_enum_file): Likewise.
2846 (grub_lua_file_open): Likewise.
2847 (grub_lua_file_close): Likewise.
2848 (grub_lua_file_seek): Likewise.
2849 (grub_lua_file_read): Likewise.
2850 (grub_lua_file_getline): Likewise.
2851 (grub_lua_file_getsize): Likewise.
2852 (grub_lua_file_getpos): Likewise.
2853 (grub_lua_file_eof): Likewise.
2854 (grub_lua_file_exist): Likewise.
2855 (grub_lua_add_menu): Likewise.
2856
2857 * script/lua/grub_lua.h (isupper): New inline function.
2858 (islower): Likewise.
2859 (ispunct): Likewise.
2860 (isxdigit): Likewise.
2861 (strcspn): Change to normal function.
2862 (strpbkr): New function declaration.
2863 (memchr): Likewise.
2864
2865 * script/lua/grub_main.c (scan_str): New function.
2866 (strcspn): Likewise.
2867 (strpbrk): Likewise.
2868 (memchr): Likewise.
2869
2870 * script/lua/linit.c (lualibs): Enable the string library.
2871
2872 * util/osdetect.lua: New file.
2873
2da92295 28742009-07-04 Robert Millan <rmh.grub@aybabtu.com>
2875
2876 * include/grub/i386/linux.h (struct linux_kernel_params): Add
2877 `capabilities' member.
2878
b2582ec9 28792009-07-02 Pavel Roskin <proski@gnu.org>
2880
2881 * genparttoollist.sh: Add missing newline at the end.
2882
32622956 28832009-07-01 Pavel Roskin <proski@gnu.org>
2884
87a7339e 2885 * kern/x86_64/efi/callwrap.S: Add missing newline at the end.
2886
d23af54e 2887 * util/hostdisk.c (open_device): Remove `const' from
2888 `sysctl_size', as sysctlbyname() can change it (in this case it
2889 doesn't actually happen).
2890
c94b18a9 2891 * include/grub/types.h: Define GRUB_LONG_MAX and GRUB_LONG_MIN
2892 using signed long int constants.
2893
c6cd3ef0 2894 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): Make `p'
2895 constant to avoid a warning on FreeBSD.
2896
0df63420 2897 * util/hostdisk.c (device_is_wholedisk): Compile only on systems
2898 where it's needed.
2899
999577f1 2900 * Makefile.in: Install include/grub/machine symlink.
2901
6f41557f 2902 * Makefile.in: When installing symlinks, use "cp -fR", which
2903 works on FreeBSD and MacOSX.
2904 From Yves Blusseau <cl7m42e02@sneakemail.com>
2905
c8d22988 2906 * kern/dl.c (grub_dl_resolve_symbol): Make static.
2907 * include/grub/dl.h: Remove grub_dl_resolve_symbol().
2908
1b96e952 2909 * util/misc.c: Move grub_reboot() and grub_halt() ...
2910 * util/grub-emu.c: ... here. Make main_env static.
2911 * include/grub/util/misc.h: Remove main_env.
2912
2ef0084d 2913 * kern/mm.c: Use correct format to print size_t.
2914
32622956 2915 * include/grub/elf.h: Define Elf_Sword and Elf_Xword.
2916 * kern/i386/dl.c: Use ELF symbols without "32" or "64".
2917 * kern/powerpc/dl.c: Likewise.
2918 * kern/sparc64/dl.c: Likewise.
2919 * kern/x86_64/dl.c: Likewise.
2920
3f7f0cd0 29212009-07-01 Robert Millan <rmh.grub@aybabtu.com>
2922
2923 Fix grub-emu build on sparc64-ieee1275.
2924
75421ca9 2925 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Synchronize with ...
3f7f0cd0 2926 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): ... this.
2927
211d06b5 29282009-07-01 Robert Millan <rmh.grub@aybabtu.com>
2929
2930 * util/misc.c: Include `<setjmp.h>' and `<grub/machine/machine.h>'.
2931 (grub_reboot, grub_halt): New functions.
2932
2933 * util/i386/pc/misc.c: Delete. Update all users.
2934 * util/sparc64/ieee1275/misc.c: Likewise.
2935 * util/powerpc/ieee1275/misc.c: Likewise.
2936
aaf53e3c 29372009-07-01 Robert Millan <rmh.grub@aybabtu.com>
2938
2939 * conf/i386.rmk (setjmp_mod_SOURCES)
2940 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Move to ...
2941 * conf/common.rmk (setjmp_mod_SOURCES)
2942 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): ... here, and modify
2943 to use $(target_cpu).
2944 * conf/x86_64-efi.rmk (setjmp_mod_SOURCES)
2945 (setjmp_mod_ASFLAGS, setjmp_mod_LDFLAGS): Remove.
2946 * conf/powerpc-ieee1275.rmk: Likewise.
2947 * conf/sparc64-ieee1275.rmk: Likewise.
2948
2949 * conf/i386-pc.rmk (kernel_img_SOURCES): Use
2950 $(target_cpu) for kern/$(target_cpu)/dl.c.
2951 * conf/i386-efi.rmk: Likewise.
2952 * conf/i386-ieee1275.rmk: Likewise.
2953 * conf/x86_64-efi.rmk: Likewise.
2954 * conf/i386-coreboot.rmk: Likewise.
2955 * conf/powerpc-ieee1275.rmk (kernel_img_SOURCES): Use
2956 $(target_cpu) for kern/$(target_cpu)/dl.c and for
2957 kern/$(target_cpu)/cache.S.
2958 * conf/sparc64-ieee1275.rmk: Likewise.
2959
a337130b 29602009-07-01 Robert Millan <rmh.grub@aybabtu.com>
2961
2962 * include/grub/i386/linux.h (linux_kernel_params): Change `mmap_size'
2963 type to `grub_uint8_t', and adjust `padding9' accordingly.
2964
c6fe4d53 29652009-06-29 Robert Millan <rmh.grub@aybabtu.com>
2966
b09db61d 2967 * include/grub/i386/linux.h (GRUB_VIDEO_TYPE_TEXT): New macro.
2968
c6fe4d53 2969 * loader/i386/linux.c [__i386__] (grub_linux_boot): Simplify inline
2970 assembly in final jump, using register constraints.
2971
b09db61d 2972 (grub_linux_boot): For text mode, initialize `have_vga' using
2973 GRUB_VIDEO_TYPE_TEXT rather than 0 (this changes its value to 1).
2974
2975 Initialize `video_cursor_x' and `video_cursor_y' as late as possible,
2976 right before the final jump.
2977
2978 Set `video_mode' to 0x3.
2979
2980 Document initialization of `video_page', `video_mode' and
2981 `video_ega_bx'.
2982
28333ad0 29832009-06-29 Robert Millan <rmh.grub@aybabtu.com>
2984
2985 * include/grub/i386/linux.h (GRUB_LINUX_FLAG_QUIET): New macro.
2986 * loader/i386/linux.c (grub_cmd_linux): Recognize "quiet" option,
75421ca9 2987 and set GRUB_LINUX_FLAG_QUIET appropriately.
28333ad0 2988
02164e1b 29892009-06-29 Robert Millan <rmh.grub@aybabtu.com>
2990
2991 Fix build on Debian / sparc.
2992
2993 * configure.ac: Recognize `sparc' target_cpu (as sparc64).
2994
18b6c557 29952009-06-28 Pavel Roskin <proski@gnu.org>
2996
85f2aab6 2997 * kern/i386/qemu/mmap.c (grub_machine_mmap_iterate): Use cast to
2998 fix a warning.
2999
18b6c557 3000 * util/grub.d/10_linux.in: Match SUSE style initrd names.
3001
ad760f81 30022009-06-27 Robert Millan <rmh.grub@aybabtu.com>
3003
3004 * loader/i386/linux.c (grub_linux_boot): Fix uninitialized use of
3005 `err'.
3006
87a4623b 30072009-06-27 Robert Millan <rmh.grub@aybabtu.com>
3008
3009 Revert r2338.
3010
3011 * loader/i386/linux.c (grub_cmd_linux): Don't call grub_error when
3012 file can't be opened. grub_file_open() is already supposed to set
75421ca9 3013 grub_errno / grub_errmsg appropriately.
87a4623b 3014 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
3015
8231fb77 30162009-06-27 Pavel Roskin <proski@gnu.org>
30172009-06-27 Robert Millan <rmh.grub@aybabtu.com>
3018
3019 * include/grub/dl.h: Include grub/elf.h.
3020 (struct grub_dl): Add symtab field.
3021 * kern/dl.c [GRUB_MACHINE_QEMU]: Define
3022 GRUB_MODULES_MACHINE_READONLY.
3023 (grub_dl_resolve_symbols): Populate mod->symtab, making a copy
3024 of the header for read-only modules.
3025 (grub_dl_unload): Free mod->symtab for read-only modules.
3026 * kern/i386/dl.c: Use mod->symtab.
3027 * kern/powerpc/dl.c: Likewise.
3028 * kern/sparc64/dl.c: Likewise.
3029 * kern/x86_64/dl.c: Likewise.
3030
3031 * conf/i386-qemu.rmk: New file.
3032 * kern/i386/qemu/startup.S: Likewise.
3033 * kern/i386/qemu/mmap.c: Likewise.
3034 * boot/i386/qemu/boot.S: Likewise.
3035 * include/grub/i386/qemu/time.h: Likewise.
3036 * include/grub/i386/qemu/serial.h: Likewise.
3037 * include/grub/i386/qemu/kernel.h: Likewise.
3038 * include/grub/i386/qemu/console.h: Likewise.
3039 * include/grub/i386/qemu/boot.h: Likewise.
3040 * include/grub/i386/qemu/init.h: Likewise.
3041 * include/grub/i386/qemu/machine.h: Likewise.
3042 * include/grub/i386/qemu/loader.h: Likewise.
3043 * include/grub/i386/qemu/memory.h: Likewise.
3044
3045 * conf/i386-coreboot.rmk (GRUB_BOOT_MACHINE_LINK_ADDR)
3046 (GRUB_KERNEL_MACHINE_LINK_ADDR): New variables.
3047 [qemu] (pkglib_IMAGES): Add `boot.img'.
3048 [qemu] (boot_img_SOURCES, boot_img_ASFLAGS, boot_img_LDFLAGS)
3049 [qemu] (boot_img_FORMAT): New variables.
3050 [qemu] (bin_UTILITIES): Add `grub-mkimage'.
3051 [qemu] (grub_mkimage_SOURCES, grub_mkimage_CFLAGS): New variables.
3052 [qemu] (kernel_img_SOURCES, kernel_img_HEADERS, kernel_img_CFLAGS)
3053 [qemu] (kernel_img_ASFLAGS, kernel_img_LDFLAGS)
3054 [qemu] (kernel_img_FORMAT): New variables.
3055
3056 * configure.ac: Recognise `i386-qemu'.
3057
3058 * util/i386/pc/grub-mkimage.c (compress_kernel): Add dummy variant
3059 (for no compression).
3060 [GRUB_MACHINE_QEMU] (generate_image): Misc adjustments to produce
3061 a valid i386 ROM image. Make `GRUB_KERNEL_MACHINE_COMPRESSED_SIZE',
3062 `GRUB_KERNEL_MACHINE_INSTALL_DOS_PART' and
3063 `GRUB_KERNEL_MACHINE_INSTALL_BSD_PART' optional features (with
3064 ifdefs).
3065
97fe384e 30662009-06-27 Pavel Roskin <proski@gnu.org>
3067
3068 * efiemu/prepare.c: Eliminate TYPE macro, it makes code hard to
3069 read.
3070 * efiemu/prepare32.c: Likewise.
3071 * efiemu/prepare64.c: Likewise.
3072
c402ab17 30732009-06-26 Pavel Roskin <proski@gnu.org>
3074
3075 * include/grub/types.h: Define GRUB_TARGET_WORDSIZE.
3076 * include/grub/elf.h: Define symbols without "32" or "64" based
3077 on GRUB_TARGET_WORDSIZE.
3078 * include/grub/multiboot2.h: Use GRUB_TARGET_WORDSIZE.
3079 * efiemu/loadcore32.c: Redefine GRUB_TARGET_WORDSIZE, remove own
3080 ELF definitions.
3081 * efiemu/loadcore64.c: Likewise.
3082 * loader/i386/bsd32.c: Likewise.
3083 * loader/i386/bsd64.c: Likewise.
3084 * kern/dl.c: Remove own ELF definitions.
3085 * util/i386/efi/grub-mkimage.c: Likewise.
3086
9bbdfd4d 30872009-06-23 Robert Millan <rmh.grub@aybabtu.com>
3088
3089 * kern/i386/pc/startup.S (real_to_prot): Access `gdtdesc' using
3090 segment 0x0 unconditionally, because the reference generated by
3091 GAS is an absolute address.
3092
a42ce6e9 30932009-06-22 Robert Millan <rmh.grub@aybabtu.com>
3094
3095 * include/grub/i386/kernel.h: Include `<grub/machine/machine.h>'.
3096 [! GRUB_MACHINE_IEEE1275]: Set `GRUB_MOD_ALIGN' to 0x1.
3097
c952cf92 30982009-06-22 Robert Millan <rmh.grub@aybabtu.com>
3099
3100 * commands/search.c (grub_cmd_search): Macroify hardcoded args[]
3101 indexes. Check for -f explicitly.
cc3752ad 3102 (search_file): Improve error message.
3103 (GRUB_MOD_INIT(search)): Add missing `-n' to help output.
c952cf92 3104
132a0a59 31052009-06-22 Robert Millan <rmh.grub@aybabtu.com>
3106
3107 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): Rename to ...
3108 (GRUB_KERNEL_MACHINE_LINK_ADDR): ... this. Update all users.
3109
387a140c 31102009-06-22 Robert Millan <rmh.grub@aybabtu.com>
3111
3112 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/misc.S'.
3113 * conf/i386-ieee1275.rmk: Likewise.
3114 * conf/i386-coreboot.rmk: Likewise.
3115
3116 * kern/i386/pc/startup.S (grub_stop): Remove function.
3117 * kern/i386/ieee1275/startup.S: Likewise.
3118 * kern/i386/coreboot/startup.S: Likewise.
3119 * kern/i386/misc.S (grub_stop): New function.
3120
41da9665 31212009-06-22 Robert Millan <rmh.grub@aybabtu.com>
3122
3123 * kern/i386/pc/startup.S (real_to_prot): Move from here ...
3124 * kern/i386/realmode.S (real_to_prot): ... to here.
3125
bf337234 31262009-06-22 Robert Millan <rmh.grub@aybabtu.com>
3127
3128 * conf/i386-ieee1275.rmk (pkglib_PROGRAMS): Replace `kernel.elf'
3129 with `kernel.img'.
3130 (kernel_elf_SOURCES): Rename to ...
3131 (kernel_img_SOURCES): ... this.
3132 (kernel_elf_HEADERS): Rename to ...
3133 (kernel_img_HEADERS): ... this. Update all users.
3134 (kernel_elf_ASFLAGS): Rename to ...
3135 (kernel_img_ASFLAGS): ... this.
3136 (kernel_elf_CFLAGS): Rename to ...
3137 (kernel_img_CFLAGS): ... this.
3138 (kernel_elf_LDFLAGS): Rename to ...
3139 (kernel_img_LDFLAGS): ... this.
3140 * conf/i386-coreboot.rmk: Likewise.
3141 * conf/powerpc-ieee1275.rmk: Likewise.
3142
3143 * util/elf/grub-mkimage.c (add_segments): Replace "kernel.elf"
3144 with "kernel.img".
3145
f52196ff 31462009-06-21 Pavel Roskin <proski@gnu.org>
3147
c3cee413 3148 * loader/powerpc/ieee1275/linux.c (offset_phdr): Fix prototypes
3149 to match nested functions.
3150 * loader/sparc64/ieee1275/linux.c: Likewise.
3151
f52196ff 3152 * conf/i386-ieee1275.rmk: Define kernel_elf_ASFLAGS.
3153
58750afc 31542009-06-21 Robert Millan <rmh.grub@aybabtu.com>
3155
3156 * configure.ac: Enable `END_SYMBOL' / `BSS_START_SYMBOL' test on
3157 all i386 platforms.
3158
15355c7d 31592009-06-21 Robert Millan <rmh.grub@aybabtu.com>
3160
3161 Fix asm file handling on ELF, and remove workarounds.
3162
3163 * genmk.rb (class Programs): Detect assembly files, and set ASFLAGS
75421ca9 3164 and -DASM_FILE=1 appropriately (copied from `class Images' stanza).
15355c7d 3165 * kern/i386/ieee1275/startup.S (ASM_FILE): Remove macro.
3166 * kern/i386/coreboot/startup.S (ASM_FILE): Likewise.
3167
3f3ec72b 31682009-06-21 Vladimir Serbinenko <phcoder@gmail.com>
3169
3170 Load BSD ELF modules
3171
3172 * conf/i386-pc.rmk (bsd_mod_SOURCES): Add loader/i386/bsd32.c
3173 and loader/i386/bsd64.c
3174 * include/grub/i386/bsd.h (FREEBSD_MODTYPE_MODULE): Remove
3175 (FREEBSD_MODTYPE_ELF_MODULE): New definition
3176 (FREEBSD_MODTYPE_ELF_MODULE_OBJ): Likewise
3177 (grub_freebsd_load_elfmodule32): New declaration
3178 (grub_freebsd_load_elfmoduleobj64): Likewise
3179 (grub_freebsd_load_elf_meta32): Likewise
3180 (grub_freebsd_load_elf_meta64): Likewise
3181 (grub_freebsd_add_meta): Likewise
3182 (grub_freebsd_add_meta_module): Likewise
3183 * loader/i386/bsd.c (grub_freebsd_add_meta): Make global
3184 (grub_freebsd_add_meta_module): Likewise and move module-specific
3185 parts to grub_cmd_freebsd and grub_cmd_freebsd_module
3186 (grub_cmd_freebsd): Add elf-kernel specific parts
3187 based on grub_freebsd_add_meta_module
3188 (grub_cmd_freebsd_module): Add type parsing moved from
3189 grub_freebsd_add_meta_module
3190 (grub_cmd_freebsd_module_elf): New function
3191 (cmd_freebsd_module_elf): New variable
3192 (GRUB_MOD_INIT): Register freebsd_module_elf
3193 * loader/i386/bsd32.c: New file
3194 * loader/i386/bsd64.c: Likewise
3195 * loader/i386/bsdXX.c: Likewise
3196 * kern/elf.c (grub_elf32_load): Let hook decide which pheaders to load
3197 (grub_elf64_load): Likewise
3198 * include/grub/elfload.h (grub_elf32_load_hook_t): New parameter do_load
3199 All users updated
3200 (grub_elf64_load_hook_t): Likewise
3201
0db15301 32022009-06-21 Colin Watson <cjwatson@ubuntu.com>
3203
3204 * util/grub-mkconfig.in (GRUB_DISABLE_LINUX_RECOVERY): Export
3205 variable.
3206 * util/grub.d/10_linux.in: If GRUB_DISABLE_LINUX_RECOVERY is true,
3207 don't write a menu entry for recovery mode.
3208
546796c1 32092009-06-20 Robert Millan <rmh.grub@aybabtu.com>
3210
3211 * util/i386/pc/grub-mkimage.c (main): Oops, free `output' only
3212 after it's no longer needed.
3213
cd7310d5 32142009-06-20 Robert Millan <rmh.grub@aybabtu.com>
3215
3216 * include/grub/i386/loader.h (grub_linux_prot_size)
3217 (grub_linux_tmp_addr, grub_linux_real_addr)
3218 (grub_linux_is_bzimage, grub_linux16_boot): Declare only on
3219 GRUB_MACHINE_PCBIOS.
3220 * util/i386/pc/grub-mkimage.c (compress_kernel): Move
3221 common grub_util_info() call to ...
3222 (generate_image): ... here.
3223 Fix use of uninitialized memory, comparison of signed with
3224 unsigned integers and memory leak.
3225 Remove bogus module address message.
3226
ab32d3b5 32272009-06-20 Vladimir Serbinenko <phcoder@gmail.com>
3228
3229 * disk/mdraid_linux.c (GRUB_MOD_FINI): use grub_raid_unregister and not
3230 grub_raid_register
3231 * disk/dmraid_nvidia.c (GRUB_MOD_FINI): likewise
3232
024ef597 32332009-06-19 Pavel Roskin <proski@gnu.org>
3234
3235 * configure.ac: Remove stray AC_MSG_CHECKING.
3236
3ac72b51 32372009-06-19 Vladimir Serbinenko <phcoder@gmail.com>
3238
3239 * disk/scsi.c (grub_scsi_open): use continue instead of big if
dd74360c 3240
e14cd814 32412009-06-18 Pavel Roskin <proski@gnu.org>
3242
3243 * conf/common.rmk: Add fs_file.mod.
3244 * disk/fs_file.c: New file.
3245 * include/grub/disk.h (enum grub_disk_dev_id): Add
3246 GRUB_DISK_DEVICE_FILE_ID.
3247
26586d98 32482009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
3249
3250 Fix build with Apple's toolchain. Part 2
3251
3252 * aclocal.m4 (grub_PROG_TARGET_CC): add missing prototype for main and
3253 a fake start
3254
26de2bcd 32552009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
3256
3257 Fix build with Apple's toolchain. Part 1
3258
3259 * commands/i386/pc/drivemap_int13h.S: use assembly-time constants
3260 for long calls
3261 * configure.ac: remove a leftover AC_MSG_RESULT
dd74360c 3262 (CFLAGS): don't add -Wl,--defsym,___main=0x8100 when building with
26de2bcd 3263 Apple's toolchain
3264
09b3490b 32652009-06-18 Vladimir Serbinenko <phcoder@gmail.com>
3266
3267 Fix warnings
3268
3269 * fs/ntfscomp.c (decomp_get16): initialize c1 and c2
3270 (decomp_block): initialize ch
3271 use grub_memcpy instead of memcpy
3272
c22a006a 32732009-06-17 Pavel Roskin <proski@gnu.org>
3274
d3638678 3275 * include/grub/i386/coreboot/console.h: Don't use the i386-pc
3276 version, use declarations needed to use vga_text as the startup
3277 console.
3278
c22a006a 3279 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Remove
3280 term/i386/pc/at_keyboard.c, it doesn't need to be compiled into
3281 the kernel.
3282 * kern/i386/coreboot/init.c: Don't call grub_at_keyboard_init()
3283 and grub_at_keyboard_fini(), it's done on module load and
3284 unload.
3285
05b129e0 32862009-06-17 Felix Zielcke <fzielcke@z-51.de>
3287
3288 * loader/i386/linux.c (grub_cmd_linux): Set grub_error if the
3289 file can't be found.
3290 * loader/i386/pc/linux.c (grub_cmd_linux): Likewise.
3291
cf24ed9e 32922009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
3293
3294 Fix newline handling
3295
3296 * include/grub/script_sh.h (grub_lexer_param): new field was_newline
dd74360c 3297 * script/sh/lexer.c (grub_script_lexer_init): initialize was_newline
cf24ed9e 3298 (grub_script_yylex): don't segfault on unterminated script
3299 newline terminates command and variable
3300
74aa8e4b 33012009-06-17 Vladimir Serbinenko <phcoder@gmail.com>
3302
3303 avoid double grub_adjust_range call. Bug reported by David Simner
3304
3305 * kern/disk.c (grub_disk_write): change to raw disk access before
3306 calling disk_read
3307
1bd265f3 33082009-06-17 Colin Watson <cjwatson@ubuntu.com>
3309
3310 * util/elf/grub-mkimage.c (usage): Prefix each option line with two
3311 spaces, for the benefit of help2man.
3312 * util/i386/efi/grub-mkimage.c (usage): Likewise.
3313
a2d08c06 33142009-06-16 Pavel Roskin <proski@gnu.org>
3315
3316 * kern/i386/halt.c: Include grub/machine/init.h.
3317 * kern/i386/reboot.c: Include grub/cpu/reboot.h.
3318
b97bcb19 33192009-06-16 Felix Zielcke <fzielcke@z-51.de>
3320
3321 * util/grub.d/30_os-prober.in: Use ${root} in the generated
3322 drivemap menuentry.
3323
0644f96c 33242009-06-16 James Jarvis <James.Jarvis@ed.ac.uk>
3325
3326 * commands/help.c GRUB_MOD_INIT(echo): Fix the help output of
3327 `echo' command.
3328
3ef17a2e 33292009-06-16 Pavel Roskin <proski@gnu.org>
3330
3331 * boot/i386/pc/boot.S: Remove root_drive. Assert offset of
3332 boot_drive_check by using GRUB_BOOT_MACHINE_DRIVE_CHECK. Don't
3333 save %dx, we only need %dl and we never change it.
3334 * boot/i386/pc/cdboot.S: Don't set the root drive.
3335 * boot/i386/pc/pxeboot.S: Likewise.
3336 * include/grub/i386/pc/boot.h: Remove
3337 GRUB_BOOT_MACHINE_ROOT_DRIVE, adjust
3338 GRUB_BOOT_MACHINE_DRIVE_CHECK.
3339 * include/grub/i386/pc/kernel.h: Remove grub_root_drive.
3340 * kern/i386/pc/init.c (make_install_device): Remove references
3341 to grub_root_drive.
3342 * kern/i386/pc/startup.S: Likewise.
3343 * util/i386/pc/grub-setup.c (setup): Don't set root_drive.
3344
693fe637 33452009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3346
3347 xnu_uuid command
3348
3349 * commands/xnu_uuid.c: new file
3350 * conf/common.rmk (pkglib_MODULES): add xnu_uuid.mod
3351 (xnu_uuid_mod_SOURCES): new variable
3352 (xnu_uuid_mod_CFLAGS): likewise
3353 (xnu_uuid_mod_LDFLAGS): likewise
3354 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
3355 * conf/i386-ieee1275.rmk: likewise
3356 * conf/i386-pc.rmk: likewise
3357 * conf/powerpc-ieee1275.rmk: likewise
3358 * conf/sparc64-ieee1275.rmk: likewise
3359 * util/grub.d/30_os-prober.in: use UUID for Mac OS X/Darwin
3360
c9da87d0 33612009-06-16 Pavel Roskin <proski@gnu.org>
3362
3363 * configure.ac: Avoid '==' in test command, it's not portable.
3364
9c6f4596 33652009-06-16 Vladimir Serbinenko <phcoder@gmail.com>
3366
3367 Probe command
3368
3369 * commands/probe.c: new file
3370 * conf/common.rmk (pkglib_MODULES): add probe.mod
3371 (probe_mod_SOURCES): new variable
3372 (probe_mod_CFLAGS): likewise
3373 (probe_mod_LDFLAGS): likewise
3374 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/probe.c
3375 * conf/i386-ieee1275.rmk: likewise
3376 * conf/i386-pc.rmk: likewise
3377 * conf/powerpc-ieee1275.rmk: likewise
3378 * conf/sparc64-ieee1275.rmk: likewise
3379
70b7f9fd 33802009-06-15 Vladimir Serbinenko <phcoder@gmail.com>
3381
3382 Fix handling of string like \"hello\" and "a
3383 b"
3384
3385 * script/sh/lexer.c (check_textstate): accept GRUB_PARSER_STATE_ESC
3386 (grub_script_yylex): fix parsing of quoting, escaping and newline
3387
71c79a6b 33882009-06-13 Vladimir Serbinenko <phcoder@gmail.com>
3389
dd74360c 3390 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): fix partition
71c79a6b 3391 handling
dd74360c 3392
0644f96c 33932009-06-13 Jun Inoue <jun.lambda@gmail.com>
880fc3c4 3394
3395 * util/grub-mkconfig.in: Fix parsing of --output option.
3396
e40893c3 33972009-06-12 Pavel Roskin <proski@gnu.org>
3398
3399 * Makefile.in (pkgdata_SRCDIR): Remove. genmodsrc.sh and
3400 genmk.rb don't need to be generated or installed.
3401
3a1acfe2 34022009-06-12 Vladimir Serbinenko <phcoder@gmail.com>
3403
3404 * commands/i386/pc/drivemap_int13h.S: add more comments
3405
3a4575d4 34062009-06-11 Pavel Roskin <proski@gnu.org>
3407
0658e928 3408 * Makefile.in (uninstall): Uninstall manuals.
3409
ca0388f0 3410 * Makefile.in: Rename lib_DATA to lib_SCRIPTS, move it from
3411 PKGLIB to SCRIPTS. This fixes installation of grub-mkconfig_lib
3412 and update-grub_lib in two places.
3413 * conf/common.rmk: Rename lib_DATA to lib_SCRIPTS.
3414
e3b27c39 3415 * disk/usbms.c (grub_usbms_transfer): Initialize `err' to fix
3416 a compiler warning.
3417
3a4575d4 3418 * loader/i386/bsd.c (grub_freebsd_boot): Rename `entry' to
3419 `entry_lo' to fix variable shadowing.
3420
af1f4f55 34212009-06-11 Christian Franke <franke@computer.org>
3422
3423 * kern/misc.c (__enable_execute_stack): Add missing return type
3424 to prevent gcc warning.
3425
5225e649 34262009-06-11 Felix Zielcke <fzielcke@z-51.de>
3427
3428 * conf/i386-ieee1275.rmk (COMMON_LDFLAGS): Remove `-static -lgcc'.
3429
7d83bd47 34302009-06-11 Pavel Roskin <proski@gnu.org>
3431
c1cb63ba 3432 * Makefile.in: Don't rely on any scripts being executable.
3433 Always use $(SHELL) to run shell scripts.
3434
7d83bd47 3435 * configure.ac: Always define ___main if using -nostdlib. This
3436 fixes tests on Cygwin.
3437
948f48e7 34382009-06-11 Giuseppe Caizzone <acaizzo@gmail.com>
3439
3440 UDF fix
3441
7d83bd47 3442 * fs/udf.c (grub_udf_read_block): handle the fact that ad->length
948f48e7 3443 is in bytes and not in blocks
7d83bd47 3444
8ada9bc1 34452009-06-11 Pavel Roskin <proski@gnu.org>
3446
3447 * kern/i386/halt.c (grub_halt): Make `i' unsigned to fix a
3448 warning.
3449
25ad2323 34502009-06-11 Felix Zielcke <fzielcke@z-51.de>
3451
3452 * util/grub.d/30_os-prober.in: Fix a comment. Source
3453 ${libdir}/grub/grub-mkconfig_lib. Use prepare_grub_to_access_device
3454 to set the root device. Place drivemap command in the generated
3455 chain entry.
3456
e65acb0c 34572009-06-11 Pavel Roskin <proski@gnu.org>
3458
3459 * configure.ac: Remove host_m32. Issues with 64-bit utilities
3460 have long been resolved.
3461
f285fe2d 34622009-06-11 Colin Watson <cjwatson@ubuntu.com>
3463
bd47b0b5 3464 * util/grub.d/10_linux.in: Capitalise "Linux".
3465
f285fe2d 3466 * util/grub-pe2elf.c (usage): Fix references to grub-editenv.
3467
a0c62e4e 34682009-06-11 Pavel Roskin <proski@gnu.org>
3469
b6783cb2 3470 * kern/efi/efi.c (grub_exit): Add infinite loop at the end to
3471 fix a gcc warning and ensure that the function won't ever exit.
3472
dde032e8 3473 * kern/i386/ieee1275/init.c: Add missing prototype for
3474 grub_stop_floppy().
3475
22cd079d 3476 * loader/ieee1275/multiboot2.c [__i386__]: Include
3477 grub/cpu/multiboot.h.
3478
a0c62e4e 3479 * term/i386/pc/serial.c (serial_translate_key_sequence): Avoid
3480 casts to short - they are not portable and cause warnings. Fix
3481 use of uninitialized values in input_buf. Use ARRAY_SIZE.
3482
63963d17 34832009-06-11 Vladimir Serbinenko <phcoder@gmail.com>
3484
3485 Drivemap fixes
3486
3487 * commands/i386/pc/drivemap.c (grub_get_root_biosnumber_drivemap):
3488 new function
3489 (grub_get_root_biosnumber_saved): new variable
3490 (GRUB_MOD_INIT): register grub_get_root_biosnumber_drivemap
3491 (GRUB_MOD_FINI): unregister grub_get_root_biosnumber_drivemap
775dbc4d 3492 * commands/i386/pc/drivemap_int13h.S (grub_drivemap_handler): restore
63963d17 3493 %dx after the call if necessary
3494 * conf/common.rmk (pkglib_MODULES): remove boot.mod
3495 (boot_mod_SOURCES): remove
3496 (boot_mod_CFLAGS): remove
3497 (boot_mod_LDFLAGS): remove
3498 * conf/i386-coreboot.rmk (pkglib_MODULES): add boot.mod
3499 (boot_mod_SOURCES): new variable
3500 (boot_mod_CFLAGS): likewise
3501 (boot_mod_LDFLAGS): likewise
3502 * conf/i386-efi.rmk: likewise
3503 * conf/i386-ieee1275.rmk: likewise
3504 * conf/i386-pc.rmk: likewise
3505 * conf/powerpc-ieee1275.rmk: likewise
3506 * conf/sparc64-ieee1275.rmk: likewise
3507 * conf/x86_64-efi.rmk: likewise
3508 * include/grub/i386/pc/biosnum.h: new file
3509 * lib/i386/pc/biosnum.c: likewise
3510 * loader/i386/bsd.c (grub_bsd_get_device): use grub_get_root_biosnumber
3511 * loader/i386/multiboot.c (grub_multiboot_get_bootdev): likewise
3512 * loader/i386/pc/chainloader.c (grub_chainloader_cmd): likewise
775dbc4d 3513
33abf7ae 35142009-06-10 Pavel Roskin <proski@gnu.org>
3515
5ac35b35 3516 * io/gzio.c (test_header): Don't reuse one buffer for all data.
3517 Use separate variables. Read only the file size at the end, but
3518 not the checksum that we don't use.
3519
5c5215d5 3520 * kern/file.c (grub_file_read): Use void pointer for the buffer.
3521 Adjust all callers.
3522
27d5fef7 3523 * kern/ieee1275/openfw.c: Remove libc includes.
3524 * kern/ieee1275/cmain.c: Likewise.
3525 * include/grub/ieee1275/ieee1275.h: Likewise.
3526
33abf7ae 3527 * kern/i386/coreboot/init.c: Include grub/cpu/tsc.h to fix
3528 compiler warnings.
3529
19d50c2b 35302009-06-10 Felix Zielcke <fzielcke@z-51.de>
3531
3532 * Makefile.in: Remove all trailing whitespace.
3533 * conf/i386-pc.rmk: Likewise.
3534 * conf/powerpc-ieee1275.rmk: Likewise.
3535 * conf/sparc64-ieee1275.rmk: Likewise.
3536 * docs/grub.texi: Likewise.
3537 * docs/texinfo.tex: Likewise.
3538 * disk/fs_uuid.c: Likewise.
3539 * disk/lvm.c: Likewise.
3540 * disk/scsi.c: Likewise.
3541 * disk/ata.c: Likewise.
3542 * disk/ieee1275/ofdisk.c: Likewise.
3543 * disk/i386/pc/biosdisk.c: Likewise.
3544 * disk/host.c: Likewise.
3545 * disk/raid.c: Likewise.
3546 * disk/efi/efidisk.c: Likewise.
3547 * disk/usbms.c: Likewise.
3548 * disk/memdisk.c: Likewise.
3549 * disk/loopback.c: Likewise.
3550 * kern/powerpc/dl.c: Likewise.
3551 * kern/device.c: Likewise.
3552 * kern/dl.c: Likewise.
3553 * kern/sparc64/dl.c: Likewise.
3554 * kern/ieee1275/ieee1275.c: Likewise.
3555 * kern/term.c: Likewise.
3556 * kern/fs.c: Likewise.
3557 * kern/i386/dl.c: Likewise.
3558 * kern/i386/pc/startup.S: Likewise.
3559 * kern/i386/pc/init.c: Likewise.
3560 * kern/i386/pc/mmap.c: Likewise.
3561 * kern/i386/pc/lzo1x.S: Likewise.
3562 * kern/i386/ieee1275/init.c: Likewise.
3563 * kern/i386/realmode.S: Likewise.
3564 * kern/i386/tsc.c: Likewise.
3565 * kern/partition.c: Likewise.
3566 * kern/corecmd.c: Likewise.
3567 * kern/file.c: Likewise.
3568 * kern/efi/efi.c: Likewise.
3569 * kern/efi/init.c: Likewise.
3570 * kern/efi/mm.c: Likewise.
3571 * kern/main.c: Likewise.
3572 * kern/err.c: Likewise.
3573 * kern/env.c: Likewise.
3574 * kern/disk.c: Likewise.
3575 * kern/generic/millisleep.c: Likewise.
3576 * kern/generic/rtc_get_time_ms.c: Likewise.
3577 * kern/misc.c: Likewise.
3578 * kern/parser.c: Likewise.
3579 * genmk.rb: Likewise.
3580 * configure.ac: Likewise.
3581 * boot/i386/pc/diskboot.S: Likewise.
3582 * boot/i386/pc/pxeboot.S: Likewise.
3583 * boot/i386/pc/boot.S: Likewise.
3584 * boot/i386/pc/lnxboot.S: Likewise.
3585 * boot/i386/pc/cdboot.S: Likewise.
3586 * parttool/pcpart.c: Likewise.
3587 * video/readers/tga.c: Likewise.
3588 * video/video.c: Likewise.
3589 * video/bitmap.c: Likewise.
3590 * lib/envblk.c: Likewise.
3591 * lib/i386/setjmp.S: Likewise.
3592 * fs/xfs.c: Likewise.
3593 * fs/afs.c: Likewise.
3594 * fs/fat.c: Likewise.
3595 * fs/ntfs.c: Likewise.
3596 * fs/udf.c: Likewise.
3597 * fs/affs.c: Likewise.
3598 * fs/iso9660.c: Likewise.
3599 * fs/hfs.c: Likewise.
3600 * fs/fshelp.c: Likewise.
3601 * fs/ext2.c: Likewise.
3602 * fs/jfs.c: Likewise.
3603 * fs/reiserfs.c: Likewise.
3604 * fs/hfsplus.c: Likewise.
3605 * fs/minix.c: Likewise.
3606 * fs/cpio.c: Likewise.
3607 * fs/sfs.c: Likewise.
3608 * fs/ufs.c: Likewise.
3609 * efiemu/prepare.c: Likewise.
3610 * efiemu/loadcore_common.c: Likewise.
3611 * efiemu/runtime/efiemu.sh: Likewise.
3612 * efiemu/runtime/efiemu.S: Likewise.
3613 * efiemu/runtime/efiemu.c: Likewise.
3614 * efiemu/pnvram.c: Likewise.
3615 * efiemu/main.c: Likewise.
3616 * efiemu/i386/pc/cfgtables.c: Likewise.
3617 * efiemu/i386/loadcore64.c: Likewise.
3618 * efiemu/i386/loadcore32.c: Likewise.
3619 * efiemu/loadcore.c: Likewise.
3620 * efiemu/symbols.c: Likewise.
3621 * efiemu/mm.c: Likewise.
3622 * include/grub/autoefi.h: Likewise.
3623 * include/grub/datetime.h: Likewise.
3624 * include/grub/term.h: Likewise.
3625 * include/grub/hfs.h: Likewise.
3626 * include/grub/lvm.h: Likewise.
3627 * include/grub/i386/tsc.h: Likewise.
3628 * include/grub/i386/linux.h: Likewise.
3629 * include/grub/i386/xnu.h: Likewise.
3630 * include/grub/i386/efiemu.h: Likewise.
3631 * include/grub/i386/pc/biosdisk.h: Likewise.
3632 * include/grub/i386/pc/memory.h: Likewise.
3633 * include/grub/i386/pc/vbe.h: Likewise.
3634 * include/grub/parttool.h: Likewise.
3635 * include/grub/video.h: Likewise.
3636 * include/grub/memory.h: Likewise.
3637 * include/grub/fs.h: Likewise.
3638 * include/grub/partition.h: Likewise.
3639 * include/grub/xnu.h: Likewise.
3640 * include/grub/efi/api.h: Likewise.
3641 * include/grub/efi/pe32.h: Likewise.
3642 * include/grub/efi/memory.h: Likewise.
3643 * include/grub/multiboot.h: Likewise.
3644 * include/grub/usbdesc.h: Likewise.
3645 * include/grub/multiboot2.h: Likewise.
3646 * include/grub/acpi.h: Likewise.
3647 * include/grub/efiemu/efiemu.h: Likewise.
3648 * include/grub/disk.h: Likewise.
3649 * include/grub/ieee1275/ieee1275.h: Likewise.
3650 * include/grub/net.h: Likewise.
3651 * include/grub/machoload.h: Likewise.
3652 * include/grub/macho.h: Likewise.
3653 * include/multiboot.h: Likewise.
3654 * genmoddep.awk: Likewise.
3655 * normal/main.c: Likewise.
3656 * normal/menu_entry.c: Likewise.
3657 * normal/menu_viewer.c: Likewise.
3658 * normal/completion.c: Likewise.
3659 * normal/cmdline.c: Likewise.
3660 * normal/misc.c: Likewise.
3661 * normal/datetime.c: Likewise.
3662 * bus/usb/usbtrans.c: Likewise.
3663 * bus/usb/ohci.c: Likewise.
3664 * bus/usb/uhci.c: Likewise.
3665 * bus/usb/usb.c: Likewise.
3666 * mmap/efi/mmap.c: Likewise.
3667 * mmap/i386/pc/mmap_helper.S: Likewise.
3668 * mmap/i386/pc/mmap.c: Likewise.
3669 * mmap/i386/mmap.c: Likewise.
3670 * mmap/i386/uppermem.c: Likewise.
3671 * mmap/mmap.c: Likewise.
3672 * commands/acpi.c: Likewise.
3673 * commands/echo.c: Likewise.
3674 * commands/blocklist.c: Likewise.
3675 * commands/loadenv.c: Likewise.
3676 * commands/usbtest.c: Likewise.
3677 * commands/boot.c: Likewise.
3678 * commands/parttool.c: Likewise.
3679 * commands/search.c: Likewise.
3680 * commands/cat.c: Likewise.
3681 * commands/i386/pc/play.c: Likewise.
3682 * commands/i386/pc/drivemap.c: Likewise.
3683 * commands/i386/pc/vbeinfo.c: Likewise.
3684 * commands/i386/pc/acpi.c: Likewise.
3685 * commands/i386/pc/vbetest.c: Likewise.
3686 * commands/ls.c: Likewise.
3687 * commands/cmp.c: Likewise.
3688 * commands/test.c: Likewise.
3689 * commands/efi/acpi.c: Likewise.
3690 * commands/gptsync.c: Likewise.
3691 * commands/help.c: Likewise.
3692 * partmap/amiga.c: Likewise.
3693 * partmap/apple.c: Likewise.
3694 * partmap/acorn.c: Likewise.
3695 * partmap/pc.c: Likewise.
3696 * partmap/sun.c: Likewise.
3697 * partmap/gpt.c: Likewise.
3698 * script/sh/lexer.c: Likewise.
3699 * script/sh/function.c: Likewise.
3700 * font/font.c: Likewise.
3701 * font/font_cmd.c: Likewise.
3702 * loader/powerpc/ieee1275/linux.c: Likewise.
3703 * loader/efi/chainloader.c: Likewise.
3704 * loader/multiboot_loader.c: Likewise.
3705 * loader/macho.c: Likewise.
3706 * loader/i386/multiboot.c: Likewise.
3707 * loader/i386/linux.c: Likewise.
3708 * loader/i386/pc/linux.c: Likewise.
3709 * loader/i386/pc/multiboot2.c: Likewise.
3710 * loader/i386/pc/chainloader.c: Likewise.
3711 * loader/i386/pc/xnu.c: Likewise.
3712 * loader/i386/bsd_trampoline.S: Likewise.
3713 * loader/i386/efi/linux.c: Likewise.
3714 * loader/i386/multiboot_elfxx.c: Likewise.
3715 * loader/i386/bsd_helper.S: Likewise.
3716 * loader/i386/bsd.c: Likewise.
3717 * loader/i386/linux_trampoline.S: Likewise.
3718 * loader/i386/xnu_helper.S: Likewise.
3719 * loader/i386/xnu.c: Likewise.
3720 * loader/i386/bsd_pagetable.c: Likewise.
3721 * loader/i386/multiboot_helper.S: Likewise.
3722 * loader/xnu.c: Likewise.
3723 * loader/xnu_resume.c: Likewise.
3724 * io/gzio.c: Likewise.
3725 * term/efi/console.c: Likewise.
3726 * term/terminfo.c: Likewise.
3727 * term/ieee1275/ofconsole.c: Likewise.
3728 * term/i386/pc/serial.c: Likewise.
3729 * term/i386/pc/vesafb.c: Likewise.
3730 * term/i386/pc/vga.c: Likewise.
3731 * term/usb_keyboard.c: Likewise.
3732 * term/gfxterm.c: Likewise.
3733 * aclocal.m4: Likewise.
3734 * util/lvm.c: Likewise.
3735 * util/grub.d/30_os-prober.in: Likewise.
3736 * util/grub.d/10_hurd.in: Likewise.
3737 * util/console.c: Likewise.
3738 * util/grub-macho2img.c: Likewise.
3739 * util/grub-probe.c: Likewise.
3740 * util/hostfs.c: Likewise.
3741 * util/i386/pc/grub-mkimage.c: Likewise.
3742 * util/i386/pc/grub-setup.c: Likewise.
3743 * util/i386/efi/grub-mkimage.c: Likewise.
3744 * util/grub-mkconfig.in: Likewise.
3745 * util/raid.c: Likewise.
3746 * util/resolve.c: Likewise.
3747 * util/grub-mkdevicemap.c: Likewise.
3748 * util/grub-emu.c: Likewise.
3749 * util/getroot.c: Likewise.
3750 * util/hostdisk.c: Likewise.
3751 * util/usb.c: Likewise.
3752 * util/grub-editenv.c: Likewise.
3753 * util/misc.c: Likewise.
3754
d2d49665 37552009-06-10 Felix Zielcke <fzielcke@z-51.de>
3756
3757 * gendistlist.sh (EXTRA_DISTFILES): Add `genhandlerlist.sh' and
3758 `genparttoollist.sh'.
3759 (DISTDIRS): Add `efiemu', `mmap', `parttool' and `script'.
3760 Add `*.sh' to the list find searches for and change `mdate.sh'
3761 to `mdate-sh'.
3762
fe052e37 37632009-06-10 Pavel Roskin <proski@gnu.org>
3764
2763ac18 3765 * include/grub/multiboot2.h: Provide compatibility defines for
3766 multiboot2.h.
3767 * include/multiboot2.h: Include stdint.h only if needed, using
3768 angle brackets.
3769 * loader/i386/pc/multiboot2.c: Include multiboot2.h after
3770 grub/multiboot2.h.
3771 * loader/ieee1275/multiboot2.c: Likewise.
3772 * loader/multiboot2.c: Likewise.
3773 * loader/multiboot_loader.c: Likewise.
3774
437e6adc 3775 * configure.ac: Use -nostdlib when probing for the target. It
3776 should not be required to have libc for the target.
3777
06a6836c 3778 * configure.ac: Remove checks for __bswapsi2 and __bswapdi2,
3779 they fail without libc headers for the target.
3780 * include/grub/powerpc/libgcc.h: Use weak attribute for all
3781 exports.
3782 * include/grub/sparc64/libgcc.h: Likewise. Don't use
3783 preprocessor conditionals.
3784
fe052e37 3785 * conf/common.rmk: Compile tar.mod from tar.c, not cpio.c. The
3786 build system doesn't need to be aware of the tar.c internals.
3787
afd22553 37882009-06-09 Michel Hermier <michel.hermier@gmail.com>
87b8f28c 3789
afd22553 3790 * fs/i386/pc/pxe.c (grub_pxefs_read): Fix returned values.
8ec4a6d0 3791
6b787c4f 37922009-06-09 Robert Millan <rmh.grub@aybabtu.com>
3793
3794 * util/deviceiter.c (grub_util_iterate_devices): Increase number of
3795 disk limit to 26 for IDE, Virtio, Xen and SCSI.
3796
37972009-06-09 Felix Zielcke <fzielcke@z-51.de>
3798
3799 * util/i386/pc/grub-install.in: Change the error message if UUIDs
473d1e45 3800 aren't available if ata.mod gets used.
6b787c4f 3801
473d1e45 38022009-06-09 Oliver Henshaw <oliver.henshaw@gmail.com>
e23721e8 3803
473d1e45 3804 * bus/usb/ohci.c (grub_ohci_pci_iter): Link struct only after
e23721e8 3805 initialising controller.
473d1e45 3806 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
e23721e8 3807
255a27d4 38082009-06-08 Felix Zielcke <fzielcke@z-51.de>
3809
3810 * util/i386/pc/grub-install.in: Add a parameter --disk-module
3811 to choose between ata and biosdisk module on i386-pc.
3812
473d1e45 38132009-06-08 Oliver Henshaw <oliver.henshaw@gmail.com>
69da8877 3814
d55842d8 3815 * bus/usb/ohci.c (grub_ohci_pci_iter): Define the Class,
3816 Subclass and Programming Interface fields in terms of the 3 byte
3817 Class Code register.
3818 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
3819
fa5db0b1 3820 * bus/usb/ohci.c (grub_ohci_pci_iter): Check that programming
3821 interface is OHCI. Add grub_dprintf for symmetry with
3822 bus/usb/uhci.c.
3823 * bus/usb/uhci.c (grub_uhci_pci_iter): Check that programming
3824 interface is UHCI. Add interf variable for programming
3825 interface. Print interface with class/subclass.
3826
c0947beb 3827 * bus/usb/ohci.c: Set interf with correct field.
3828
69da8877 3829 * bus/usb/uhci.c: Remove unneeded doubled lines.
3830 * bus/usb/ohci.c: Likewise. Change interf to grub_uint32_t.
3831 Remove whitespace inside comment.
3832
9e172e30 38332009-06-08 Robert Millan <rmh.grub@aybabtu.com>
3834
3835 * loader/i386/linux.c (grub_cmd_linux): When processing `vga=', use
3836 as fallback an equivalent option without depth.
3837
de65ee2b 38382009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3839
3840 Not fail if unable to retrieve C/H/S on LBA disks
3841
473d1e45 3842 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): behave gracefully
de65ee2b 3843 if unable to retrieve C/H/S on LBA disks
3844
b57ea2c9 38452009-06-08 Pavel Roskin <proski@gnu.org>
3846
3847 * fs/hfs.c (grub_hfs_find_dir): Use union to avoid a warning
3848 about aliasing.
3849
af361263 38502009-06-08 Felix Zielcke <fzielcke@z-51.de>
3851
3852 * Makefile.in (uninstall): Remove all $lib_DATA files.
3853
4c9ec6b3 38542009-06-08 Vladimir Serbinenko <phcoder@gmail.com>
3855
3856 Bugfix: install on partitionless device
3857
3858 * util/hostdisk.c (grub_util_biosdisk_get_grub_dev): check if os_dev
3859 is a whole disk
3860
e76fc924 38612009-06-08 Felix Zielcke <fzielcke@z-51.de>
3862
3863 * Makefile.in (uninstall): Remove all $include_DATA files.
3864
ba5a0d05 38652009-06-08 Felix Zielcke <fzielcke@z-51.de>
3866
3867 * commands/true.c: New file. Implement the true and false commands.
3868 * conf/common.rmk.c (pkglib_MODULES): Add `true.mod'.
3869 (true_mod_SOURCES): New variable.
3870 (true_mod_CFLAGS): Likewise.
3871 (true_mod_LDFLAGS): Likewise.
3872
c8048e32 38732009-06-05 Colin D Bennett <colin@gibibit.com>
3874
3875 Optimized font character lookup using binary search instead of linear
3876 search. Fonts now are required to have the character index ordered by
3877 code point.
3878
3879 * font/font.c (load_font_index): Verify that fonts have ordered
3880 character indices.
3881 (find_glyph): Use binary search instead of linear search to find a
3882 character in a font.
3883
408305be 38842009-06-05 Michael Scherer <misc@mandriva.org>
3885
3886 * fs/hfsplus.c (grub_hfsplus_mount): Determine if the filesystem
3887 uses case sensitive btree.
3888 (grub_hfsplus_iterate_dir): Use GRUB_FSHELP_CASE_INSENSITIVE
3889 only for case insensitive filesystems.
3890
8ee1e0d9 38912009-06-05 Vladimir Serbinenko <phcoder@gmail.com>
3892
3893 * conf/i386-pc.rmk (efiemu_mod_CFLAGS): remove -Werror -Wall
3894 * conf/common.rmk (search_mod_CFLAGS): likewise
3895
a9966eb1 38962009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3897
473d1e45 3898 * kern/i386/pc/startup.S [APPLE_CC]: block of nops to
a9966eb1 3899 compensate a compiler bug
3900
9e7100fb 39012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3902
473d1e45 3903 * include/grub/term.h (GRUB_TERM_BACKSPACE): explicitly define as 8
9e7100fb 3904 instead of '\b'
473d1e45 3905
ede21d71 39062009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3907
3908 Definitions for creating asm symbols with Apple's CC
3909
3910 * include/grub/symbol.h [APPLE_CC] (FUNCTION): new macro
3911 [APPLE_CC] (VARIABLE): likewise
3912
9dbf7653 39132009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3914
3915 Disable lnxboot.img when compiled
3916 with Apple's CC
3917
3918 * conf/i386-pc.rmk (pkglib_IMAGES): remove lnxboot.img
3919 pkglib_IMAGES [! TARGET_APPLE_CC] (pkglib_IMAGES): add lnxboot.img
3920 * boot/i386/pc/lnxboot.S [APPLE_CC]: define an #error
3921 [! APPLE_CC] (CODE_LENG): skip
3922 [! APPLE_CC] (setup_sects): likewise
3923 [! APPLE_CC]: skip filling
473d1e45 3924
e93cdc3d 39252009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3926
3927 Address in trampolines based on 32-bit registers when compiled
3928 with Apple's CC
3929
473d1e45 3930 * loader/i386/xnu_helper.S [APPLE_CC]: use 32-bit registers
e93cdc3d 3931 for addresses
3932 * loader/i386/linux_trampoline.S [APPLE_CC]: likewise
3933
6c688477 39342009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3935
3936 Avoid aliases when compiling with Apple's CC for PCBIOS machine
3937
3938 * kern/misc.c [APPLE_CC] (memcpy): new function
3939 [APPLE_CC] (memmove): likewise
3940 [APPLE_CC && !GRUB_UTIL] (grub_err_printf): likewise
473d1e45 3941 (memcpy): define alias conditionally on !APPLE_CC
6c688477 3942 (memset): likewise
3943 (abort): likewise
3944 * include/grub/misc.h (memove): don't define when both GRUB_UTIL and
3945 APPLE_CC are defined
3946 * include/grub/list.h [APPLE_CC] (grub_assert_fail): new function
3947 (grub_assert_fail): make prototype conditional
3948
e37ffc5c 39492009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3950
3951 Use grub-macho2img when compiling with Apple's CC for PCBIOS machine
3952
473d1e45 3953 * conf/common.rmk (bin_UTILITIES): add (on false on condition)
3954 grub-macho2img
e37ffc5c 3955 (CLEANFILES): add grub-macho2img
3956 (grub_macho2img_SOURCES): new variable
3957 * kern/i386/pc/startup.S (bss_start): new variable
3958 (bss_end): likewise
3959 * genmk.rb: use grub-macho2img for *.img when compiled with Apple's CC
3960 * util/grub-macho2img.c: new file
3961
cf00df31 39622009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3963
3964 Use objconv when compiling with Apple's CC
3965
3966 * conf/i386-pc.rmk (efiemu32.o): use OBJCONV if defined
3967 (efiemu64.o): likewise
3968 (efiemu64_c.o): omit -mcmodel=large and add -DAPPLE_CC=1
3969 when compiling with Apple's CC
3970 (efiemu64_s.o): likewise
3971 * configure.ac: check for objconv when compiling with Apple's CC
3972 * genmk.rb: use objconv for modules when compiled with Apple's CC
473d1e45 3973
d119a20c 39742009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3975
3976 Define segment as well as section when compiling with
3977 Apple's CC
3978
3979 * efiemu/runtime/efiemu.c (PHYSICAL_ATTRIBUTE): new definition
3980 (efiemu_set_virtual_address_map): declare with PHYSICAL_ATTRIBUTE
3981 (efiemu_convert_pointer): likewise
3982 (efiemu_set_virtual_address_map): likewise
3983 (efiemu_convert_pointer): likewise
3984 (efiemu_getcrc32): likewise
3985 (init_crc32_table): likewise
3986 (reflect): likewise
3987 * include/grub/dl.h (GRUB_MOD_NAME): define segment with Apple's CC
3988 (GRUB_MOD_DEP): likewise
473d1e45 3989
c8600122 39902009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
3991
3992 Allow a compilation without -mcmodel=large
3993
3994 * kern/efi/mm.c (grub_efi_allocate_pages): don't allocate >4GiB
3995 when compiled without -mcmodel=large
473d1e45 3996 (filter_memory_map): remove memory post 4 GiB when compiled
c8600122 3997 without -mcmodel=large
473d1e45 3998 * configure.ac: fail gracefully and add -DMCMODEL_SMALL=1 to
c8600122 3999 TARGET_CFLAGS when -mcmodel=large isn't supported
473d1e45 4000
e8df1d4e 40012009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4002
4003 Remove nested functions in efiemu core
4004
4005 * efiemu/runtime/efiemu.c (reflect): make static instead of nested
473d1e45 4006
cc6c3ac1 40072009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4008
4009 Avoid clobbering %ebx/%rbx in inline assembly with Apple's CC
4010
4011 * efiemu/runtime/efiemu.c (write_cmos): use %cl instead of %bl as
4012 temporary storage
473d1e45 4013 * include/grub/i386/tsc.h (grub_get_tsc): restore %rbx/%ebx when
4014 using Apple's CC
cc6c3ac1 4015 (grub_cpu_is_tsc_supported): likewise
4016 * loader/i386/xnu.c (guessfsb): restore %rbx/%ebx in inline assembly
473d1e45 4017
3e325901 40182009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4019
4020 Absolute addressing through constant with Apple's cc
4021
4022 * kern/i386/pc/startup.S: Define necessary constants
4023 and address through it when using ABS with Apple's CC
4024 * boot/i386/pc/diskboot.S: likewise
4025 * boot/i386/pc/boot.S: likewise
4026 * boot/i386/pc/lnxboot.S: likewise
4027 * boot/i386/pc/cdboot.S: likewise
4028 * mmap/i386/pc/mmap_helper.S: likewise
4029 * commands/i386/pc/drivemap_int13h.S: likewise
4030
2b167a72 40312009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4032
4033 Check if compiler is apple cc
4034
4035 * Makefile.in (ASFLAGS): new variable
4036 (TARGET_ASFLAGS): likewise
4037 (TARGET_MODULE_FORMAT): likewise
4038 (TARGET_APPLE_CC): likewise
4039 (OBJCONV): likewise
4040 (TARGET_IMG_CFLAGS): likewise
4041 (TARGET_CPPFLAGS): add includedir
4042 * configure.ac: call grub_apple_cc and grub_apple_target_cc
4043 (TARGET_IMG_LDFLAGS): Add -Wl,-Ttext,. All users updated
4044 Check for linker script only if compiler isn't Apple's CC
4045 (TARGET_MODULE_FORMAT): set
4046 (TARGET_APPLE_CC): likewise
4047 (TARGET_ASFLAGS): likewise
4048 (ASFLAGS): likewise
4049 Check for objcopy only if compiler isn't Apple's CC
4050 Check for BSS symbol only if compiler isn't Apple's CC
4051 * genmk.rb: adapt nm options if we use Apple's utils
4052 * aclocal.m4 (grub_apple_cc): new test
4053 (grub_apple_target_cc): likewise
473d1e45 4054
fb14123e 40552009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4056
4057 Simplify sed expressions and improve awk
4058
4059 * Makefile.in (install-local): simplify sed expression
4060 * gencmdlist.sh: likewise
4061 * genmoddep.awk: avoid adding module as a dependency of itself
4062
5b889789 40632009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4064
4065 Add missing start symbols
4066
4067 * boot/i386/pc/boot.S: add start
fb14123e 4068 * boot/i386/pc/pxeboot.S: likewise
473d1e45 4069
fd2bf2e3 40702009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4071
4072 Fix wrong assumptions with grub-mkimage on EFI
473d1e45 4073
4074 * i386/efi/grub-mkimage.c (read_kernel_module): don't write prefix here
fd2bf2e3 4075 (relocate_addresses): consider both r_addend and value at offset
4076 (make_mods_section): zerofill modinfo and header
4077 (convert_elf): write prefix here
473d1e45 4078
5389763d 40792009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4080
4081 Use .asciz instead of .string
4082
4083 * i386/pc/diskboot.S: use .asciz instead of .string
4084 * i386/pc/boot.S: likewise
4085 * include/grub/dl.h (GRUB_MOD_DEP): likewise
4086 (GRUB_MOD_NAME): likewise
473d1e45 4087
3eb5ed4e 40882009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4089
4090 gfxpayload support
4091
4092 * commands/videotest.c (grub_cmd_videotest): use grub_video_set_mode
4093 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_PURE_TEXT): new definition
4094 (grub_video_setup): remove
4095 (grub_video_set_mode): new prototype
4096 * loader/i386/linux.c (DEFAULT_VIDEO_MODE): new definition
4097 (vid_mode): remove
4098 (linux_vesafb_res): compile only on PCBIOS
4099 (grub_linux_boot): support gfxpayload
4100 * loader/i386/pc/xnu.c (video_hook): new function
4101 (grub_xnu_set_video): support gfxpayload
4102 * term/gfxterm.c (DEFAULT_VIDEO_WIDTH): removed
4103 (DEFAULT_VIDEO_HEIGHT): likewise
4104 (DEFAULT_VIDEO_FLAGS): likewise
4105 (DEFAULT_VIDEO_MODE): new definition
4106 (video_hook): new function
4107 (grub_gfxterm_init): use grub_video_set_mode
473d1e45 4108 * util/grub.d/30_os-prober.in: remove explicit modesetting before
3eb5ed4e 4109 loading xnu
4110 * video/video.c (grub_video_setup): removed
473d1e45 4111 (grub_video_set_mode): new function based on grub_gfxterm_init and
3eb5ed4e 4112 grub_video_setup
4113
4b0e1143 41142009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4115
4116 Avoid calling biosdisk in drivemap
4117
4118 * commands/i386/pc/drivemap.c (parse_biosdisk): remove
4119 (revparse_biosdisk): likewise
4120 (list_mappings): derive name from id directly
4121 (grub_cmd_drivemap): use tryparse_diskstring
473d1e45 4122
fda6cb98 41232009-06-04 Vladimir Serbinenko <phcoder@gmail.com>
4124
4125 Script fixes
4126
4127 * include/grub/script_sh.h (grub_script_cmdline): remove cmdline
4128 (grub_lexer_param): add tokenonhold
4129 (grub_script_create_cmdline): remove cmdline. All callers updated
4130 (grub_script_function_create): make functionname
4131 grub_script_arg. All callers updated
4132 (grub_script_execute_argument_to_string): new prototype
4133 * kern/parser.c (state_transitions): reorder
4134 (grub_parser_cmdline_state): fix a bug and make more compact
473d1e45 4135 * script/sh/execute.c (grub_script_execute_argument_to_string):
fda6cb98 4136 make global
4137 (grub_script_execute_cmdline): use new format
4138 * script/sh/function.c (grub_script_function_create): make functionname
4139 grub_script_arg. All callers updated
473d1e45 4140 * script/sh/lexer.c (grub_script_lexer_init): initialize tokenonhold
fda6cb98 4141 (grub_script_yylex): remove
4142 (grub_script_yylex2): renamed to ...
4143 (grub_script_yylex): ...renamed
4144 parse the expressions like a${b}c
4145 * script/sh/parser.y (GRUB_PARSER_TOKEN_ARG): new typed terminal
4146 (GRUB_PARSER_TOKEN_VAR): remove
4147 (GRUB_PARSER_TOKEN_NAME): likewise
4148 ("if"): declare as typeless
4149 ("while"): likewise
4150 ("function"): likewise
4151 ("else"): likewise
4152 ("then"): likewise
4153 ("fi"): likewise
4154 (text): remove
4155 (argument): likewise
4156 (script): accept empty scripts and make exit on error
4157 (arguments): use GRUB_PARSER_TOKEN_ARG
4158 (function): likewise
4159 (command): move error handling to script
4160 (menuentry): move grub_script_lexer_ref before
473d1e45 4161 * script/sh/script.c (grub_script_create_cmdline): remove cmdline
fda6cb98 4162 argument. All callers updated
4163
f4448a07 41642009-06-04 Robert Millan <rmh.grub@aybabtu.com>
4165
4166 Prevent GRUB from probing floppies during boot.
4167
4168 * conf/common.rmk (search_mod_CFLAGS): Use `-Werror -Wall'.
4169 * commands/search.c (options): Add --no-floppy.
4170 (search_fs, search_file, grub_cmd_search): Support --no-floppy.
4171 * util/grub-mkconfig_lib.in (prepare_grub_to_access_device): Use
4172 --no-floppy when searching for UUIDs.
4173
2bf5885a 41742009-06-04 Robert Millan <rmh.grub@aybabtu.com>
4175
4176 Simplify the code duplication in commands/search.c.
4177
4178 * commands/search.c (search_label, search_fs_uuid): Merge into ...
4179 (search_fs): ... this. Update all users.
4180
f6fd460a 41812009-06-03 Felix Zielcke <fzielcke@z-51.de>
4182
4183 * util/grub-mkconfig.in (update_grub_dir): Rename to grub_mkconfig_dir.
4184
cbb3c83e 41852009-05-28 Pavel Roskin <proski@gnu.org>
4186
57788cfd 4187 * Makefile.in: Don't use "cp -d", it doesn't work on FreeBSD.
4188 Remove the original symlink explicitly.
4189
cbb3c83e 4190 * fs/hfs.c (grub_hfs_find_dir): Skip sequences of slashes, not
4191 just one slash. That's how grub_fshelp_find_file() does it.
4192
cd0d5e30 41932009-05-26 Pavel Roskin <proski@gnu.org>
4194
f0f8bbe2 4195 * genmk.rb: Avoid shadowing variable `s', rename the outer `s'
4196 to `str'.
4197
cd0d5e30 4198 * util/getroot.c (grub_util_get_dev_abstraction): Mark os_dev as
4199 possibly unused.
4200
8c2cab51 42012009-05-25 Christian Franke <franke@computer.org>
4202
4203 * disk/ata.c (grub_ata_wait_not_busy): Add debug output of status
4204 register.
4205 (grub_atapi_identify): Add wait after drive select.
4206 (grub_ata_identify): Do more strict status register check before
4207 calling grub_atapi_identify (). Suppress error message if status
4208 register is 0x00 after command failure. Add status register
4209 check after PIO read to avoid bogus identify due to stuck DRQ.
4210 Thanks to Pavel Roskin for testing.
4211 (grub_device_initialize): Remove unsafe status register check.
4212 Thanks to 'phcoder' for problem report and patch.
4213 Prevent sign extension in debug message.
4214
230c0ad6 42152009-05-23 Colin D Bennett <colin@gibibit.com>
4216
4217 Cleaned up `include/grub/normal.h'. Grouped prototypes by
4218 definition file, and functions defined in `normal/menu.c' have had
4219 their prototypes moved to `include/grub/menu.h' for consistency.
4220
4221 * include/grub/menu.h (grub_menu_execute_callback): Added; moved
4222 from normal.h.
4223 (grub_menu_get_entry): Likewise.
4224 (grub_menu_get_timeout): Likewise.
4225 (grub_menu_set_timeout): Likewise.
4226 (grub_menu_execute_entry): Likewise.
4227 (grub_menu_execute_with_fallback): Likewise.
4228 (grub_menu_entry_run): Likewise.
4229
4230 * include/grub/normal.h: Re-ordered and grouped function
4231 prototypes by file that the function is defined in.
4232 (grub_menu_execute_callback): Removed; moved to menu.h.
4233 (grub_menu_get_entry): Likewise.
4234 (grub_menu_get_timeout): Likewise.
4235 (grub_menu_set_timeout): Likewise.
4236 (grub_menu_execute_entry): Likewise.
4237 (grub_menu_execute_with_fallback): Likewise.
4238 (grub_menu_entry_run): Likewise.
4239 (grub_menu_addentry): Renamed from this ...
4240 (grub_normal_add_menu_entry): ... to this.
4241
4242 * normal/main.c (grub_menu_addentry): Renamed from this ...
4243 (grub_normal_add_menu_entry): ... to this.
4244
4245 * script/sh/execute.c (grub_script_execute_menuentry): Update
4246 reference to renamed grub_menu_addentry function.
4247
861f03a5 42482009-05-23 Felix Zielcke <fzielcke@z-51.de>
4249
4250 * commands/i386/pc/drivemap.c (MODNAME): Remove. Update all users.
4251
96b1619a 42522009-05-22 Pavel Roskin <proski@gnu.org>
4253
bf6a5fb2 4254 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Remove.
4255 * configure.ac: Don't call grub_I386_CHECK_REGPARM_BUG. Define
4256 NESTED_FUNC_ATTR using AH_BOTTOM. Use regparm(1) only when
4257 compiling for the i386 targets, but not for the utilities.
4258
96b1619a 4259 * include/grub/i386/pc/kernel.h (grub_boot_drive): Change type
4260 to grub_uint8_t.
4261 (grub_root_drive): Likewise.
4262 * kern/i386/pc/startup.S (grub_boot_drive): Change size to byte,
4263 remove alignment.
4264 (grub_root_drive): Change size to byte.
4265 (grub_start_addr): Remove.
4266 (grub_end_addr): Likewise.
4267 (grub_apm_bios_info): Likewise.
4268
b729776b 42692009-05-21 Felix Zielcke <fzielcke@z-51.de>
4270
4271 * normal/i386: Remove.
4272 * normal/powerpc: Likewise.
4273 * normal/sparc64: Likewise.
4274 * normal/x86_64: Likewise.
4275
0a15ce80 42762009-05-19 Vladimir Serbinenko <phcoder@gmail.com>
4277
4278 * conf/x86_64-efi.rmk (linux_mod_ASFLAGS): Add missing variable
473d1e45 4279 * loader/i386/linux_trampoline.S: Fix indentation
0a15ce80 4280 * loader/i386/xnu_helper.S: Likewise
d6da58e6 4281
33db9015 42822009-05-18 Colin D Bennett <colin@gibibit.com>
4283
d6da58e6 4284 Display error messages when parsing a Lua statement fails.
4285 Previously, executing a syntactically invalid statement like
4286 ")foo" or "bar;" would silently fail.
33db9015 4287
4288 * script/lua/grub_main.c (handle_lua_error): New function.
d6da58e6 4289 (grub_lua_parse_line): Improved reporting of Lua parser and
4290 execution errors.
33db9015 4291
46422c89 42922009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4293
4294 Remove -Werror which causes build to fail on some systems
4295
4296 * conf/i386-pc.rmk (xnu_mod_CFLAGS): Remove -Werror -Wall
4297 * conf/i386-efi.rmk (xnu_mod_CFLAGS): Likewise
4298 * conf/x86_64-efi.rmk (xnu_mod_CFLAGS): Likewise
18f547ad 4299
22f53a96 43002009-05-17 Vladimir Serbinenko <phcoder@gmail.com>
4301
4302 trampoline for linux on 64-bit platform
4303
18f547ad 4304 * conf/x86_64-efi.rmk (linux_mod_SOURCES): added
4305 loader/i386/efi/linux_trampoline.S
4306 * include/grub/x86_64/efi/loader.h (grub_linux_real_boot): removed
473d1e45 4307 declaration
d6da58e6 4308 * kern/x86_64/efi/startup.S (grub_linux_real_boot): moved from
4309 here
22f53a96 4310 * loader/i386/linux_trampoline.S: moved here
d6da58e6 4311 * loader/i386/efi/linux.c (allocate_pages): reserve space for
4312 trampoline
22f53a96 4313 (jumpvector): removed
4314 (grub_linux_trampoline_start): new declaration
4315 (grub_linux_trampoline_end): likewise
4316 (grub_linux_boot): use trampoline when on 64-bit platform
4317 * loader/i386/linux.c: likewise
4318
cb5a0f40 43192009-05-16 Pavel Roskin <proski@gnu.org>
4320
4321 * script/lua/grub_lib.c (grub_lua_getenv): Make name and value
4322 const to avoid a warning.
4323 (grub_lua_setenv): Likewise.
4324 * script/lua/grub_main.c (grub_lua_parse_line): Use size_t for
4325 lmsg to fix a warning.
4326
334f2c28 43272009-05-16 Felix Zielcke <fzielcke@z-51.de>
4328
4329 * conf/i386.rmk (setjmp_mod_CFLAGS): Rename to ...
7dd10fce 4330 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
4331 * conf/x86_64-efi.rmk (setjmp_mod_CFLAGS): Rename to ...
4332 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
4333 * conf/powerpc-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
4334 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
4335 * conf/sparc64-ieee1275.rmk (setjmp_mod_CFLAGS): Rename to ...
4336 (setjmp_mod_ASFLAGS): ... this. Set to $(COMMON_ASFLAGS).
334f2c28 4337
59e5d3ec 43382009-05-16 Felix Zielcke <fzielcke@z-51.de>
4339
4340 * util/grub-mkconfig.in: Export GRUB_TERMINAL_INPUT.
4341
9d87a1ba 43422009-05-16 Bean <bean123ch@gmail.com>
4343
4344 * conf/common.rmk (pkglib_MODULES): Add lua.mod.
4345 (lua_mod_SOURCES): New variable.
4346 (lua_mod_CFLAGS): Likewise.
4347 (lua_mod_LDFLAGS): Likewise.
4348
4349 * conf/i386.rmk (pkglib_MODULES): Add setjmp.mod.
4350 (setjmp_mod_SOURCES): New variable.
4351 (setjmp_mod_CFLAGS): Likewise.
4352 (setjmp_LDFLAGS): Likewise.
4353
4354 * conf/x86_64-efi.rmk (pkglib_MODULES): Add setjmp.mod.
4355 (setjmp_mod_SOURCES): New variable.
4356 (setjmp_mod_CFLAGS): Likewise.
4357 (setjmp_LDFLAGS): Likewise.
4358
4359 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
4360 (setjmp_mod_SOURCES): New variable.
4361 (setjmp_mod_CFLAGS): Likewise.
4362 (setjmp_LDFLAGS): Likewise.
4363
4364 * conf/sparc64-ieee1275.rmk (pkglib_MODULES): Add setjmp.mod.
4365 (setjmp_mod_SOURCES): New variable.
4366 (setjmp_mod_CFLAGS): Likewise.
4367 (setjmp_LDFLAGS): Likewise.
4368
4369 * normal/i386/setjmp.S: Moved from here ...
4370 * lib/i386/setjmp.S: ... Moved here
4371 * normal/x86_64/setjmp.S: Moved from here ...
4372 * lib/x86_64/setjmp.S: ... Moved here
4373 * normal/powerpc/setjmp.S: Moved from here ...
4374 * lib/powerpc/setjmp.S: ... Moved here
4375 * normal/sparc64/setjmp.S: Moved from here ...
4376 * lib/sparc64/setjmp.S: ... Moved here
4377
4378 * include/grub/i386/setjmp.h (grub_setjmp): Don't use attribute
4379 returns_twice in mingw.
4380
4381 * script/lua/grub_lib.c: New file.
4382 * script/lua/grub_lib.h: Likewise.
4383 * script/lua/grub_lua.h: Likewise.
4384 * script/lua/grub_main.c: Likewise.
4385 * script/lua/lapi.c: Likewise.
4386 * script/lua/lapi.h: Likewise.
4387 * script/lua/lauxlib.c: Likewise.
4388 * script/lua/lauxlib.h: Likewise.
4389 * script/lua/lbaselib.c: Likewise.
4390 * script/lua/lcode.c: Likewise.
4391 * script/lua/lcode.h: Likewise.
4392 * script/lua/ldblib.c: Likewise.
4393 * script/lua/ldebug.c: Likewise.
4394 * script/lua/ldebug.h: Likewise.
4395 * script/lua/ldo.c: Likewise.
4396 * script/lua/ldo.h: Likewise.
4397 * script/lua/ldump.c: Likewise.
4398 * script/lua/lfunc.c: Likewise.
4399 * script/lua/lfunc.h: Likewise.
4400 * script/lua/lgc.c: Likewise.
4401 * script/lua/lgc.h: Likewise.
4402 * script/lua/linit.c: Likewise.
4403 * script/lua/liolib.c: Likewise.
4404 * script/lua/llex.c: Likewise.
4405 * script/lua/llex.h: Likewise.
4406 * script/lua/llimits.h: Likewise.
4407 * script/lua/lmathlib.c: Likewise.
4408 * script/lua/lmem.c: Likewise.
4409 * script/lua/lmem.h: Likewise.
4410 * script/lua/loadlib.c: Likewise.
4411 * script/lua/lobject.c: Likewise.
4412 * script/lua/lobject.h: Likewise.
4413 * script/lua/lopcodes.c: Likewise.
4414 * script/lua/lopcodes.h: Likewise.
4415 * script/lua/loslib.c: Likewise.
4416 * script/lua/lparser.c: Likewise.
4417 * script/lua/lparser.h: Likewise.
4418 * script/lua/lstate.c: Likewise.
4419 * script/lua/lstate.h: Likewise.
4420 * script/lua/lstring.c: Likewise.
4421 * script/lua/lstring.h: Likewise.
4422 * script/lua/lstrlib.c: Likewise.
4423 * script/lua/ltable.c: Likewise.
4424 * script/lua/ltable.h: Likewise.
4425 * script/lua/ltablib.c: Likewise.
4426 * script/lua/ltm.c: Likewise.
4427 * script/lua/ltm.h: Likewise.
4428 * script/lua/lua.h: Likewise.
4429 * script/lua/luaconf.h: Likewise.
4430 * script/lua/lualib.h: Likewise.
4431 * script/lua/lundump.c: Likewise.
4432 * script/lua/lundump.h: Likewise.
4433 * script/lua/lvm.c: Likewise.
4434 * script/lua/lvm.h: Likewise.
4435 * script/lua/lzio.c: Likewise.
4436 * script/lua/lzio.h: Likewise.
4437
5e898c9d 44382009-05-16 Bean <bean123ch@gmail.com>
4439
4440 * include/grub/kernel.h (grub_module_header_types): Add type
4441 OBJ_TYPE_CONFIG.
4442
4443 * kern/main.c (grub_load_config): New function.
4444 (grub_main): Call grub_load_config to read boot config.
4445
4446 * grub-mkimage (generate_image): New parameter config_path.
4447 (options): New option --config.
4448 (main): Parse --config option, and pass it to generate_image.
4449
cf353a47 44502009-05-14 Christian Franke <franke@computer.org>
4451
4452 * commands/i386/pc/drivemap_int13h.S: Add missing EXT_C for symbols.
4453 This fixes build on Cygwin.
4454
3834887f 44552009-05-14 Pavel Roskin <proski@gnu.org>
4456
4457 * commands/i386/pc/drivemap_int13h.S: Eliminate unconditional
4458 jump. This saves two bytes, so the typical case of 2 swapped
4459 drives would fit 32 bytes.
4460
8090fc01 44612009-05-13 Pavel Roskin <proski@gnu.org>
4462
ac963883 4463 * loader/i386/multiboot.c (grub_multiboot): Cast mmap_addr to
4464 grub_uint32_t to avoid a warning.
4465
8090fc01 4466 * loader/i386/linux.c (allocate_pages): When assigning
4467 real_mode_mem, cast through grub_size_t to fix a warning. The
4468 code already makes sure that the value would fit a pointer.
4469 (grub_linux_setup_video): Cast render_target->data to
4470 grub_size_t to fix a warning.
4471
18f547ad 44722009-05-13 Javier Martín <lordhabbit@gmail.com>
4246b8a9 4473
4474 * commands/i386/pc/drivemap.c: New file - implement drivemap
4475 command.
4476 * commands/i386/pc/drivemap_int13h.S: New file - int13 handler.
4477 * conf/i386-pc.rmk: Add drivemap.c and drivemap_int13h.S.
4478
6f6a8b28 44792009-05-13 Pavel Roskin <proski@gnu.org>
4480
4481 * util/i386/pc/grub-setup.c (setup): Remove unused variable
4482 embedding_area_exists.
4483
15fbf4c4 44842009-05-13 Robert Millan <rmh.grub@aybabtu.com>
4485
4486 * util/i386/pc/grub-setup.c (setup): Restructure code flow to make
4487 it easier to understand / work with.
59978c8a 4488 Improve warning messages for cases where there's no embedding area,
4489 or when it is too small (or core.img too large).
15fbf4c4 4490
238e871f 44912009-05-13 Pavel Roskin <proski@gnu.org>
4492
0ab3a9a4 4493 * loader/i386/pc/multiboot2.c: Add necessary includes for
4494 grub_multiboot2_real_boot().
4495
a2c8c5f8 4496 * fs/iso9660.c (grub_iso9660_iterate_dir): The file mode in the
4497 PX record is always little-endian. We only need the lower 2
4498 bytes of the mode.
4499
faec96af 4500 * fs/cpio.c: Use the same name "struct head" for tar and cpio to
4501 facilitate code reuse.
4502 (grub_cpio_mount): Use "struct head", not a char buffer. This
4503 fixes a warning reported by gcc 4.4.
4504
238e871f 4505 * kernel/disk.c (grub_disk_read): Use void pointer for the
4506 buffer.
4507 (grub_disk_write): Use const void pointer for the buffer.
4508 Adjust all callers. Remove unnecessary casts.
4509
901d2f0c 45102009-05-10 Robert Millan <rmh.grub@aybabtu.com>
4511
4512 * util/i386/pc/grub-install.in: Update copyright year.
4513
18f547ad 45142009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
2eac4c16 4515
4516 gptsync
4517
4518 * commands/gptsync.c: new file
4519 * conf/common.rmk (pkglib_MODULES): add gptsync.mod
4520 (gptsync_mod_SOURCES): new variable
4521 (gptsync_mod_CFLAGS): likewise
4522 (gptsync_mod_LDFLAGS): likewise
18f547ad 4523 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_NTFS):
2eac4c16 4524 new definition
4525 (GRUB_PC_PARTITION_TYPE_HFS): likewise
4526 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add commands/gptsync.c
4527 * conf/i386-ieee1275.rmk: likewise
4528 * conf/i386-pc.rmk: likewise
4529 * conf/powerpc-ieee1275.rmk: likewise
4530
b4ba690a 45312009-05-09 Vladimir Serbinenko <phcoder@gmail.com>
4532
4533 Fixed grub-emu
4534
4535 * kern/dl.c (grub_dl_ref): omit when compiling grub-emu
4536 (grub_dl_ref): likewise
4537
317e1a44 45382009-05-08 Robert Millan <rmh.grub@aybabtu.com>
4539
4540 * util/i386/pc/grub-setup.c (setup): Factorize find_usable_region(),
4541 split in two functions (one for msdos and one for gpt).
4542
041b8094 45432009-05-08 Pavel Roskin <proski@gnu.org>
4544
752473c2 4545 * disk/raid.c (grub_raid_block_xor): Make buf2 constant, it's
4546 not modified.
4547
041b8094 4548 * disk/raid6_recover.c (grub_raid6_recover): Fix warnings about
4549 uninitialized err[0] and err[1]. Rename them to bad1 and bad2.
4550 Initialize them with -1. Add sanity check for bad1. Eliminate
4551 nerr variable.
4552
172800ce 45532009-05-08 David S. Miller <davem@davemloft.net>
4554
4555 * util/sparc64/ieee1275/grub-ofpathname.c (main): Set progname.
4556
29aa5e81 45572009-05-06 Robert Millan <rmh.grub@aybabtu.com>
4558
4559 * util/i386/pc/grub-setup.c (setup): Fix check for embed region
473d1e45 4560 existence.
29aa5e81 4561
96613b62 45622009-05-05 Felix Zielcke <fzielcke@z-51.de>
4563
4564 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
1905c57b 4565 `kern/rescue_reader.c', `kern/rescue_parser.c' and `normal/autofs.c'.
96613b62 4566
eef73c8a 45672009-05-05 David S. Miller <davem@davemloft.net>
4568
4569 * util/sparc64/ieee1275/grub-install.in: Fix sed arg quoting.
4570
119494b5 45712009-05-05 Pavel Roskin <proski@gnu.org>
4572
4573 * include/grub/dl.h [GRUB_UTIL]: Provide inline implementations
4574 of grub_dl_ref() and grub_dl_unref().
4575 * commands/parttool.c: Remove preprocessor conditionals around
4576 grub_dl_ref() and grub_dl_unref().
4577 * fs/affs.c: Likewise.
4578 * fs/afs.c: Likewise.
4579 * fs/cpio.c: Likewise.
4580 * fs/ext2.c: Likewise.
4581 * fs/fat.c: Likewise.
4582 * fs/hfs.c: Likewise.
4583 * fs/hfsplus.c: Likewise.
4584 * fs/iso9660.c: Likewise.
4585 * fs/jfs.c: Likewise.
4586 * fs/minix.c: Likewise.
4587 * fs/ntfs.c: Likewise.
4588 * fs/reiserfs.c: Likewise.
4589 * fs/sfs.c: Likewise.
4590 * fs/udf.c: Likewise.
4591 * fs/ufs.c: Likewise.
4592 * fs/xfs.c: Likewise.
4593 * include/grub/dl.h: Likewise.
4594 * loader/xnu.c: Likewise.
4595
de5fd76e 45962009-05-04 Pavel Roskin <proski@gnu.org>
4597
4598 * commands/acpi.c: Remove unused variable my_mod.
4599 * partmap/amiga.c: Likewise.
4600 * partmap/apple.c: Likewise.
4601 * partmap/gpt.c: Likewise.
4602 * partmap/pc.c: Likewise.
4603 * partmap/sun.c: Likewise.
4604 * term/gfxterm.c: Likewise.
4605 * term/i386/pc/vesafb.c: Likewise.
4606 * term/i386/pc/vga.c: Likewise.
4607
983598ad 46082009-05-04 David S. Miller <davem@davemloft.net>
4609
4610 * kern/ieee1275/openfw.c (grub_children_iterate): Fix string
4611 pointer args to grub_ieee1275_get_property().
4612
8aadec43 4613 * conf/sparc64-ieee1275.rmk: Fix build due to missing '\'.
4614
9554b15e 4615 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Bypass cdrom
4616 devices, and do not traverse down under controller nodes.
4617
67e23c90 4618 * disk/ieee1275/ofdisk.c (compute_dev_path): New.
4619 (grub_ofdisk_open): Use it to un-escape "," characters.
4620 * kern/disk.c (find_part_sep): New.
4621 (grub_disk_open): Use it to find the first non-escaped ','
4622 character in the disk name.
4623 * util/ieee1275/devicemap.c (escape_of_path): New.
4624 (grub_util_emit_devicemap_entry): Use it.
4625 * util/sparc64/ieee1275/grub-install.in: Update script to
4626 strip partition specifiers properly by not triggering on
4627 '\' escaped ',' characters.
4628
74bfdd2f 46292009-05-04 Robert Millan <rmh.grub@aybabtu.com>
4630
4631 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START): Set
4632 to 0x300.
4633 * loader/i386/linux.c (vga_modes, linux_vesafb_res): Add a few
4634 resolutions.
4635 (linux_vesafb_modes): Add a lot of additional modes to the list (based
4636 on documentation from Wikipedia).
4637
4241d2b1 46382009-05-04 Pavel Roskin <proski@gnu.org>
4639
4640 * disk/ata.c: Spelling fixes.
4641 * disk/raid.c: Likewise.
4642 * disk/usbms.c: Likewise.
4643 * disk/dmraid_nvidia.c: Likewise.
4644 * kern/ieee1275/openfw.c: Likewise.
4645 * kern/ieee1275/init.c: Likewise.
4646 * kern/ieee1275/cmain.c: Likewise.
4647 * boot/i386/pc/cdboot.S: Likewise.
4648 * video/readers/png.c: Likewise.
4649 * video/i386/pc/vbe.c: Likewise.
4650 * fs/udf.c: Likewise.
4651 * fs/hfs.c: Likewise.
4652 * fs/reiserfs.c: Likewise.
4653 * efiemu/runtime/efiemu.c: Likewise.
4654 * efiemu/main.c: Likewise.
4655 * efiemu/mm.c: Likewise.
4656 * include/grub/elf.h: Likewise.
4657 * include/grub/xnu.h: Likewise.
4658 * include/grub/usbdesc.h: Likewise.
4659 * include/grub/usb.h: Likewise.
4660 * include/grub/script_sh.h: Likewise.
4661 * include/grub/lib/LzmaEnc.h: Likewise.
4662 * include/grub/efiemu/efiemu.h: Likewise.
4663 * include/grub/command.h: Likewise.
4664 * normal/menu.c: Likewise.
4665 * normal/main.c: Likewise.
4666 * normal/datetime.c: Likewise.
4667 * bus/usb/uhci.c: Likewise.
4668 * mmap/i386/uppermem.c: Likewise.
4669 * mmap/mmap.c: Likewise.
4670 * commands/acpi.c: Likewise.
4671 * commands/test.c: Likewise.
4672 * partmap/apple.c: Likewise.
4673 * font/font.c: Likewise.
4674 * loader/sparc64/ieee1275/linux.c: Likewise.
4675 * loader/macho.c: Likewise.
4676 * loader/i386/bsd_trampoline.S: Likewise.
4677 * loader/i386/bsd.c: Likewise.
4678 * loader/xnu.c: Likewise.
4679 * term/i386/pc/vesafb.c: Likewise.
4680 * term/usb_keyboard.c: Likewise.
4681 * util/resolve.c: Likewise.
4682 * util/getroot.c: Likewise.
4683
0cfc0083 46842009-05-04 Felix Zielcke <fzielcke@z-51.de>
4685
4686 * conf/i386-pc.rmk (libpkg_DATA): Rename to pkglib_DATA.
4687
7c1d00cd 46882009-05-04 Robert Millan <rmh.grub@aybabtu.com>
4689
4690 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (grub_cmd_linux): Fix
4691 build error.
4692
b01f0548 46932009-05-04 Robert Millan <rmh.grub@aybabtu.com>
4694
4695 * loader/i386/linux.c (grub_cmd_linux): Make "vga=" compatibility
4696 parameter only available on BIOS.
4697
ecc3eb22 46982009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4699
4700 Removed wrong semicolon in declaration
4701
4702 * grub/misc.h (grub_dprintf): remove semicolon
4703
112972a9 47042009-05-04 Robert Millan <rmh.grub@aybabtu.com>
4705
4706 * loader/i386/linux.c (GRUB_ASSUME_LINUX_HAS_FB_SUPPORT): New macro.
4707 (grub_linux_boot): Don't check for `linux_vesafb_modes' bounds (this
4708 is done by grub_cmd_linux() now).
4709 [! GRUB_ASSUME_LINUX_HAS_FB_SUPPORT]: If "vga=" parameter wasn't set,
4710 restore video to text mode.
4711 (grub_cmd_linux): Default `vid_mode' initialization to 0, which
4712 indicates lack of "vga=" parameter. "vga=0" is mapped to
4713 `GRUB_LINUX_VID_MODE_NORMAL'.
4714
afd5c115 47152009-05-04 Felix Zielcke <fzielcke@z-51.de>
4716
4717 * conf/i386-efi.rmk (grub_emu_SOURCES): Remove `normal/execute.c',
4718 `normal/lexer.c', `kern/rescue.c', `normal/function.c', `normal/misc.c'
4719 and `normal/script.c'. Add `kern/rescue_reader.c',
18f547ad 4720 `kern/rescue_parser.c', `script/sh/main.c', `script/sh/execute.c',
afd5c115 4721 `script/sh/function.c', `script/sh/lexer.c', `script/sh/script.c' and
4722 `grub_script.tab.c'.
4723
4724 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4725 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
4726 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4727 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
4728 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
4729
faa517ce 4730 * Makefile.in: Remove duplicated 2008 in Copyright line.
4731
ae0c0bdc 47322009-05-04 Robert Millan <rmh.grub@aybabtu.com>
4733
473d1e45 4734 * util/misc.c (grub_util_warn): New function. Emits a warning
ae0c0bdc 4735 unconditionally.
4736 * include/grub/util/misc.h (grub_util_warn): New declaration.
4737
4738 * util/i386/pc/grub-install.in: Understand --force and pass it down
4739 to grub-setup.
4740
4741 * util/i386/pc/grub-setup.c (main): Understand --force and pass it
4742 down to setup().
4743 (setup): Improve error messages and add warnings when requested to
4744 install in odd layouts. Refuse to install using blocklists unless
4745 --force was set.
4746
18f547ad 47472009-05-04 martin f. krafft <madduck@madduck.net>
c149b500 4748
4749 * disk/raid.c (grub_raid_scan_device): Improve debug message.
4750
6d260daa 47512009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4752
4753 Updated copyright year
4754
4755 * fs/hfsplus.c: updated copyright year
18f547ad 4756
69f853f8 47572009-05-04 Vladimir Serbinenko <phcoder@gmail.com>
4758
4759 HFS+ UUID
4760
18f547ad 4761 * fs/hfsplus.c (grub_hfsplus_volheader): added num_serial field
69f853f8 4762 in the space previously used by unused3
4763 (grub_hfsplus_uuid): new function
4764 (grub_hfsplus_fs): added uuid field
4765
4c402e73 47662009-05-03 Pavel Roskin <proski@gnu.org>
4767
4768 * disk/ata.c: Don't cast mod to void in GRUB_MOD_INIT to
4769 suppress warnings. It's no longer needed.
4770 * disk/host.c: Likewise.
4771 * disk/ata_pthru.c: Likewise.
4772 * disk/loopback.c: Likewise.
4773 * hook/datehook.c: Likewise.
4774 * parttool/pcpart.c: Likewise.
4775 * fs/i386/pc/pxe.c: Likewise.
4776 * fs/ntfscomp.c: Likewise.
4777 * efiemu/main.c: Likewise.
4778 * mmap/mmap.c: Likewise.
4779 * commands/crc.c: Likewise.
4780 * commands/hexdump.c: Likewise.
4781 * commands/hdparm.c: Likewise.
4782 * commands/acpi.c: Likewise.
4783 * commands/echo.c: Likewise.
4784 * commands/minicmd.c: Likewise.
4785 * commands/blocklist.c: Likewise.
4786 * commands/memrw.c: Likewise.
4787 * commands/loadenv.c: Likewise.
4788 * commands/usbtest.c: Likewise.
4789 * commands/lsmmap.c: Likewise.
4790 * commands/boot.c: Likewise.
4791 * commands/parttool.c: Likewise.
4792 * commands/configfile.c: Likewise.
4793 * commands/search.c: Likewise.
4794 * commands/ieee1275/suspend.c: Likewise.
4795 * commands/cat.c: Likewise.
4796 * commands/i386/pc/pxecmd.c: Likewise.
4797 * commands/i386/pc/play.c: Likewise.
4798 * commands/i386/pc/halt.c: Likewise.
4799 * commands/i386/pc/vbeinfo.c: Likewise.
4800 * commands/i386/pc/vbetest.c: Likewise.
4801 * commands/lspci.c: Likewise.
4802 * commands/date.c: Likewise.
4803 * commands/handler.c: Likewise.
4804 * commands/ls.c: Likewise.
4805 * commands/test.c: Likewise.
4806 * commands/cmp.c: Likewise.
4807 * commands/efi/loadbios.c: Likewise.
4808 * commands/efi/fixvideo.c: Likewise.
4809 * commands/halt.c: Likewise.
4810 * commands/help.c: Likewise.
4811 * commands/reboot.c: Likewise.
4812 * hello/hello.c: Likewise.
4813 * script/sh/main.c: Likewise.
4814 * loader/xnu.c: Likewise.
4815 * term/terminfo.c: Likewise.
4816 * term/i386/pc/serial.c: Likewise.
4817 * term/usb_keyboard.c: Likewise.
4818
515b5079 48192009-05-03 David S. Miller <davem@davemloft.net>
4820
4821 * normal/menu.c: Include grub/parser.h
4822
dfc31a22 48232009-05-03 Pavel Roskin <proski@gnu.org>
4824
2fee74f1 4825 * mmap/efi/mmap.c (grub_mmap_malign_and_register): Return void*,
4826 not char*.
4827 * mmap/i386/mmap.c (grub_mmap_malign_and_register): Likewise.
4828 Suggested by Javier Martín <lordhabbit@gmail.com>
4829
dfc31a22 4830 * util/i386/pc/grub-mkrescue.in: Allow for the case when
4831 efiemu??.o doesn't exist.
4832 * util/i386/pc/grub-install.in: Likewise. Use "cp -f" for
4833 copying.
4834
18f547ad 48352009-05-03 Bean <bean123ch@gmail.com> Vladimir Serbinenko <phcoder@gmail.com>
cef17233 4836
4837 FreeBSD 64-bit support
4838
18f547ad 4839 * conf/i386-pc.rmk (bsd_mod_SOURCES): add loader/i386/bsd_helper.S
cef17233 4840 and loader/i386/bsd_trampoline.S
4841 (bsd_mod_ASFLAGS): new variable
4842 * include/grub/i386/bsd.h (FREEBSD_MODINFOMD_SMAP): new definition
4843 (FREEBSD_MODTYPE_KERNEL64): likewise
4844 (grub_bsd64_trampoline_start): likewise
4845 (grub_bsd64_trampoline_end): likewise
4846 (grub_bsd64_trampoline_selfjump): likewise
4847 (grub_bsd64_trampoline_gdt): likewise
4848 * include/grub/i386/loader.h (grub_unix_real_boot): moved from here ...
4849 * include/grub/i386/bsd.h (grub_unix_real_boot): ... moved here
4850 * kern/i386/loader.S (grub_unix_real_boot): moved from here ...
4851 * loader/i386/bsd_helper.S (grub_unix_real_boot): moved here
18f547ad 4852 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
cef17233 4853 of "attrib" member
4854 * loader/i386/bsd_pagetable.c: new file
4855 * loader/i386/bsd_trampoline.S: likewise
4856 * loader/i386/bsd.c (ALIGN_QWORD): new macro
4857 (ALIGN_VAR): likewise
4858 (entry_hi): new variable
4859 (kern_end_mdofs): likewise
4860 (is_64bit): likewise
4861 (grub_freebsd_add_meta): use ALIGN_VAR
4862 (grub_e820_mmap): new declaration
4863 (grub_freebsd_add_mmap): new function
4864 (grub_freebsd_add_meta_module): support 64 bit kernels
4865 (grub_freebsd_list_modules): use ALIGN_VAR
4866 (gdt_descriptor): new declaration
4867 (grub_freebsd_boot): support 64 bit kernels
4868 (grub_bsd_elf64_hook): new function
4869 (grub_bsd_load_elf): support elf64
4870
038c5720 48712009-05-03 Bean <bean123ch@gmail.com>
4872
4873 * script/sh/execute.c (grub_script_execute_cmdif): Reset grub_errno
4874 after we get the result of if statement.
4875
fc45fb58 48762009-05-03 Bean <bean123ch@gmail.com>
4877
4878 * Makefile.in (enable_efiemu): New variable.
4879
4880 * conf/i386-pc.rmk: Only compile efiemu runtimes when enable_efiemu is
4881 set.
4882 (efiemu32.o): Use macro $< for source file, add $(srcdir) to include
4883 path.
4884 (efi64_c.o): Use macro $< for source file, add $(srcdir) to include
4885 path, add -mno-red-zone option.
4886 (efiemu64_s.o): Likewise.
4887 (efiemu64.o): Use macro $^ for source file.
4888
4889 * configure.ac (--enable-efiemu): New option.
4890
bbee0f2b 48912009-05-03 Vladimir Serbinenko <phcoder@gmail.com>
4892
4893 xnu support
4894
4895 * conf/i386-efi.rmk (kernel_mod_HEADERS): added i386/pit.h
4896 (pkglib_MODULES): add xnu.mod
4897 (xnu_mod_SOURCES): new variable
4898 (xnu_mod_CFLAGS): likewise
4899 (xnu_mod_LDFLAGS): likewise
4900 (xnu_mod_ASFLAGS): likewise
4901 * conf/i386-pc.rmk: likewise
4902 * conf/x86_64-efi.rmk: likewise
7dd4a573 4903 * include/grub/efi/efi.h (grub_efi_finish_boot_services):
bbee0f2b 4904 new declaration
4905 * include/grub/i386/macho.h: new file
4906 * include/grub/i386/xnu.h: likewise
4907 * include/grub/macho.h: likewise
4908 * include/grub/machoload.h: likewise
4909 * include/grub/x86_64/macho.h: likewise
4910 * include/grub/x86_64/xnu.h: likewise
4911 * include/grub/xnu.h: likewise
4912 * kern/efi/efi.c (grub_efi_finish_boot_services): new function
4913 * kern/efi/mm.c (MAX_HEAP_SIZE): increase
4914 * loader/i386/efi/xnu.c: new file
4915 * loader/i386/pc/xnu.c: likewise
4916 * loader/i386/xnu.c: likewise
4917 * loader/i386/xnu_helper.S: likewise
4918 * loader/macho.c: likewise
4919 * loader/xnu.c: likewise
4920 * loader/xnu_resume.c: likewise
4921 * util/grub-dumpdevtree: likewise
4922 * include/grub/i386/pit.h: include grub/err.h
4923 (grub_pit_wait): export
4924 * util/grub.d/30_os-prober.in: support Darwin/Mac OS X
7dd4a573 4925
5caf964d 49262009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
4927
4928 Efiemu
7dd4a573 4929
5caf964d 4930 * conf/i386-pc.rmk: new modules efiemu, efiemu_acpi, efiemu_pnvram,
7dd4a573 4931 _linux_efi, linux_efi.
4932 new files in grub-emu
5caf964d 4933 new targets efiemu32.o and efiemu64.o
4934 * loader/linux_normal_efiemu.c: likewise
4935 * loader/i386/efi/linux.c: added preliminary efiemu support
7dd4a573 4936 * util/i386/pc/grub-install.in: add efiemu??.o to the list of
5caf964d 4937 files to copy
4938 * include/grub/autoefi.h: new file
7dd4a573 4939 * include/grub/i386/efiemu.h: likewise
5caf964d 4940 * include/grub/i386/pc/efiemu.h: likewise
4941 * include/grub/efi/api.h: add LL suffix when necessary
4942 new definitions relating to tables
4943 * include/grub/efiemu/efiemu.h: new file
4944 * include/grub/efiemu/runtime.h: likewise
4945 * efiemu/prepare.c: likewise
4946 * efiemu/loadcore_common.c: likewise
4947 * efiemu/loadcore64.c: likewise
4948 * efiemu/runtime/efiemu.sh: likewise
4949 * efiemu/runtime/efiemu.S: likewise
4950 * efiemu/runtime/efiemu.c: likewise
4951 * efiemu/runtime/config.h: likewise
4952 * efiemu/prepare32.c: likewise
4953 * efiemu/main.c: likewise
4954 * efiemu/modules/pnvram.c: likewise
4955 * efiemu/modules/i386: likewise
4956 * efiemu/modules/i386/pc: likewise
4957 * efiemu/modules/acpi.c: likewise
4958 * efiemu/i386/pc/cfgtables.c: likewise
4959 * efiemu/i386/loadcore64.c: likewise
4960 * efiemu/i386/loadcore32.c: likewise
4961 * efiemu/prepare64.c: likewise
4962 * efiemu/loadcore.c: likewise
4963 * efiemu/symbols.c: likewise
4964 * efiemu/mm.c: likewise
4965 * efiemu/loadcore32.c: likewise
7dd4a573 4966
49672009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
f8efe3ad 4968
4969 ACPI spoofing
4970
4971 * commands/acpi.c: new file
4972 * commands/i386/pc/acpi.c: likewise
4973 * commands/efi/acpi.c: likewise
4974 * include/grub/acpi.h: likewise
4975 * conf/i386-pc.rmk (pkglib_MODULES): added acpi.mod
4976 (acpi_mod_SOURCES): new variable
4977 (acpi_mod_CFLAGS): likewise
4978 (acpi_mod_LDFLAGS): likewise
4979 * conf/i386-efi.rmk: likewise
4980 * conf/x86_64-efi.rmk: likewise
4981
7dd4a573 49822009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
28a85665 4983
4984 Missing part from mmap patch
4985
4986 * mmap/efi/mmap.c (grub_machine_mmap_unregister): renamed to
4987 (grub_mmap_unregister)
4988 (grub_mmap_free_and_unregister): use grub_mmap_register
4989
7dd4a573 49902009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
09d842b9 4991
4992 Mmap services
4993
4994 * loader/i386/efi/linux.c (grub_linux_boot): use grub_mmap_iterate
4995 * loader/i386/linux.c (find_mmap_size): likewise
4996 (allocate_pages): likewise
4997 * loader/i386/multiboot.c (grub_get_multiboot_mmap_len): likewise
4998 (grub_fill_multiboot_mmap): likewise
4999 (grub_multiboot): use grub_mmap_get_lower and grub_mmap_get_upper
5000 * loader/i386/pc/linux.c (grub_cmd_linux): use grub_mmap_get_lower
5001 * include/grub/i386/bsd.h (OPENBSD_MMAP_AVAILABLE): new definition
5002 (OPENBSD_MMAP_RESERVED): likewise
5003 * include/grub/i386/pc/memory.h: include grub/memory.h
5004 (grub_lower_mem): removed
5005 (grub_upper_mem): likewise
5006 (GRUB_MACHINE_MEMORY_ACPI): new definition
5007 (GRUB_MACHINE_MEMORY_NVS): likewise
5008 (GRUB_MACHINE_MEMORY_MAX_TYPE): likewise
5009 (GRUB_MACHINE_MEMORY_HOLE): likewise
5010 (grub_machine_mmap_register): likewise
5011 (grub_machine_mmap_unregister): likewise
5012 (grub_machine_get_upper): likewise
5013 (grub_machine_get_lower): likewise
5014 (grub_machine_get_post64): likewise
5015 * include/grub/i386/efi/memory.h: new file
5016 * include/grub/x86_64/efi/memory.h: likewise
5017 * include/grub/efi/memory.h: likewise
5018 * conf/i386-pc.rmk (pkglib_MODULES): added mmap.mod
5019 (mmap_mod_SOURCES): new variable
5020 (mmap_mod_LDFLAGS): likewise
5021 (mmap_mod_ASFLAGS): likewise
5022 * conf/i386-coreboot.rmk: likewise
5023 * conf/i386-ieee1275.rmk: likewise
5024 * conf/i386-efi.rmk: likewise
5025 * conf/x86_64-efi.rmk: likewise
5026 * include/grub/types.h (UINT_TO_PTR): new macro
5027 (PTR_TO_UINT32): likewise
5028 (PTR_TO_UINT64): likewise
5029 * include/grub/memory.h: new file
5030 * mmap/i386/pc/mmap.c: likewise
5031 * mmap/i386/pc/mmap_helper.S: likewise
5032 * mmap/i386/uppermem.c: likewise
5033 * mmap/mmap.c: likewise
5034 * mmap/efi/mmap.c: likewise
7dd4a573 5035 * kern/i386/coreboot/init.c (grub_machine_init): don't use
09d842b9 5036 grub_upper_mem
5037 * kern/i386/pc/init.c (grub_lower_mem): removed variable
5038 (grub_upper_mem): likewise
5039 (grub_machine_init): don't use grub_upper_mem,
5040 make grub_lower_mem local
5041 * loader/i386/bsd.c (grub_openbsd_boot): use grub_mmap_get_lower,
5042 grub_mmap_iterate and grub_mmap_get_upper
5043 (grub_netbsd_boot): use grub_mmap_get_lower and grub_mmap_get_upper
5044
d558e6b5 50452009-05-02 Bean <bean123ch@gmail.com>
5046
5047 * conf/common.rmk (grub_script.tab.c): Change normal/parser.y to
5048 script/sh/parser.y.
5049 (pkglib_MODULES): Add normal.mod and sh.mod.
5050 (normal_SOURCES): New variable.
5051 (normal_mod_CFLAGS): Likewise.
5052 (normal_mod_LDFLAGS): Likewise.
5053 (sh_mod_SOURCES): Likewise.
5054 (sh_mod_CFLAGS): Likewise.
5055 (sh_mod_LDFLAGS): Likewise.
5056
5057 * conf/i386-pc.rmk (normal/lexer.c_DEPENDENCIES): Changed to
5058 script/sh/lexer.c_DEPENDENCIES.
5059 (kernel_img_SOURCES): Remove kern/rescue.c, and kern/reader.c,
5060 kern/rescue_reader.c and kern/rescue_parser.c.
5061 (kernel_img_HEADERS): Remove rescue.h, add reader.h.
5062 (grub_emu_SOURCES): Change source files.
5063 (pkglib_MODULES): Remove normal.mod.
5064 (normal_SOURCES): Removed.
5065 (normal_mod_CFLAGS): Likewise.
5066 (normal_mod_LDFLAGS): Likewise.
5067 * conf/i386-coreboot.rmk: Likewise.
5068 * conf/i386-efi.rmk: Likewise.
5069 * conf/i386-ieee1276.rmk: Likewise.
5070 * conf/powerpc-ieee1275.rmk: Likewise.
5071 * conf/sparc64-ieee1275.rmk: Likewise.
5072 * conf/x86_64-efi.rmk: Likewise.
5073
5074 * include/grub/command.h (grub_command_execute): New inline function.
5075
5076 * include/grub/menu.h (grub_menu_entry): Removed commands field.
5077
5078 * include/grub/normal.h: Remove <grub/setjmp.h>.
5079 (grub_fs_module_list): Moved to normal/autofs.c.
5080 (grub_exit_env): Removed.
5081 (grub_command_execute): Likewise.
5082 (grub_normal_menu_addentry): Renamed to grub_menu_addentry, removed
5083 parameter script.
5084 (read_command_list): New function declaration.
5085 (read_fs_list): Likewise.
5086
5087 * include/parser.h: Include <grub/reader.h>.
5088 (grub_parser_split_cmdline): Change type of getline parameter.
5089 (grub_parser): New structure.
5090 (grub_parser_class): New variable.
5091 (grub_parser_execute): New function declaration.
5092 (grub_register_rescue_parser): Likewise.
5093 (grub_parser_register): New inline function.
5094 (grub_parser_unregister): Likewise.
5095 (grub_parser_get_current): Likewise.
5096 (grub_parser_set_current): Likewise.
5097
5098 * include/grub/reader.h: New file.
5099 * kern/reader.c: Likewise.
5100 * kern/rescue_parser.c: Likewise.
5101 * kern/rescue_reader.c: Likewise.
5102 * normal/autofs.c: Likewise.
5103 * normal/dyncmd.c: Likewise.
5104
5105 * include/grub/rescue.h: Removed.
5106 * normal/command.h: Likewise.
5107
5108 * include/grub/script.h: Moved to ...
5109 * include/grub/script_sh.h: ... Moved here.
5110 * normal/execute.c: Moved to ...
5111 * script/sh/execute.c: ... Moved here.
5112 * normal/function.c: Moved to ...
5113 * script/sh/function.c: ... Moved here.
5114 * normal/lexer.c: Moved to ...
5115 * script/sh/lexer.c: ... Moved here.
5116 * normal/parser.y: Moved to ...
5117 * script/sh/parser.y: ... Moved here.
5118 * normal/script.c: Moved to ...
5119 * script/sh/script.c: ... Moved here.
5120
5121 * normal/main.c: Remove <grub/rescue.h> and <grub/script.h>, include
5122 <grub/reader.h>.
5123 (grub_exit_env): Removed.
5124 (fs_module_list): Moved to normal/autofs.c.
5125 (grub_file_getline): Don't handle comment here.
5126 (free_menu): Skip removed field entry->commands.
5127 (grub_normal_menu_addentry): Removed as grub_menu_entry, removed
5128 script parameter.
5129 (read_config_file): Removed nested parameter, change getline function.
5130 (grub_enter_normal_mode): Removed.
5131 (grub_dyncmd_dispatcher): Moved to normal/dyncmd.c.
5132 (read_command_list): Likewise.
5133 (autoload_fs_module): Moved to normal/autofs.c.
5134 (read_fs_list): Likewise.
5135 (reader_nested): New variable.
5136 (grub_normal_execute): Run parser.sh to switch to sh parser.
5137 (grub_cmd_rescue): Removed.
5138 (cmd_normal): Removed.
5139 (grub_cmd_normal): Unregister itself at the beginning. Don't register
5140 rescue command.
5141 (grub_cmdline_run): New function.
5142 (grub_normal_reader_init): Likewise.
5143 (grub_normal_read_line): Likewise.
5144 (grub_env_write_pager): Likewise.
5145 (cmdline): New variable.
5146 (grub_normal_reader): Likewise.
5147 (GRUB_MOD_INIT): Register normal reader and set as current, register
5148 pager hook, register normal command with grub_register_command_prio,
5149 so that it won't show up in command.lst.
5150 (GRUB_MOD_FINI): Unregister normal reader, unhook pager, clear
5151 grub_fs_autoload_hook.
5152
5153 * normal/menu.c: Remove <grub/script.h>, add <grub/command.h>.
5154 (grub_menu_execute_entry): Replace grub_script_execute with
5155 grub_parser_execute, change parameter to grub_command_execute.
5156
5157 * normal/menu_text.c: Remove <grub/script.h>.
5158
5159 * normal/menu_entry.c: Remove <grub/script.h>, add <grub/command.h>
5160 and <grub/parser.h>.
5161 (run): Change editor_getline to use new parser interface. Change
5162 parameter to grub_command_execute.
5163
5164 * kern/main.c: Remove <grub/rescue.h>, include <grub/command.h>,
5165 <grub/reader.h> and <grub/parser.h>.
5166 (grub_load_normal_mode): Execute normal command.
5167 (grub_main): Call grub_register_core_commands,
5168 grub_register_rescue_parser and grub_register_rescue_reader, use
5169 grub_reader_loop to enter input loop.
5170
7dd4a573 5171 * kern/parser.c (grub_parser_split_cmdline): Change type of
5172 getline parameter.
d558e6b5 5173 (grub_parser_class): New variable.
5174 (grub_parser_execute): New function.
5175
5176 * loader/i386/multiboot.c: Remove <grub/rescue.h>.
5177 * loader/multiboot2.c: Likewise.
5178 * loader/sparc64/ieee1275/linux.c: Likewise.
5179
5180 * util/grub-emu.c (read_command_list): New dummy function.
5181
18db813d 51822009-05-02 Robert Millan <rmh.grub@aybabtu.com>
5183
5184 * util/deviceiter.c (grub_util_iterate_devices): Increase max drive
5185 count to 16 for CCISS and IDA.
5186
6c67de15 51872009-05-02 Robert Millan <rmh.grub@aybabtu.com>
5188
5189 * normal/menu_text.c (grub_wait_after_message): Print a newline
5190 after waiting for user input.
5191
5192 * loader/i386/linux.c: Include `<grub/normal.h>'.
5193 (grub_cmd_linux): Improve the error message about `ask' mode, by
5194 waiting for user input so it's not missed (we can do this, since
5195 user requested interaction).
5196
d9dc87b0 51972009-05-02 Vladimir Serbinenko <phcoder@gmail.com>
5198
5199 Added missing lst to grub-mkrescue
5200
5201 * util/i386/pc/grub-mkrescue.in: added ${input_dir}/handler.lst
5202 and ${input_dir}/parttool.lst
5203
ac8a2baa 52042009-04-30 David S. Miller <davem@davemloft.net>
5205
ad22a610 5206 * util/hostdisk.c (device_is_wholedisk): New function.
5207 (grub_util_biosdisk_get_grub_dev): Shortcut when hdg.start is
5208 zero only if device_is_wholedisk() returns true.
5209
6966215d 5210 * util/hostdisk.c (convert_system_partition_to_system_disk):
5211 Handle virtual disk devices named /dev/vdiskX as found on sparc
5212 and powerpc.
5213
ac8a2baa 5214 * kern/sparc64/ieee1275/init.c (grub_machine_set_prefix): If
5215 lettered partition specifier is found, convert to numbered.
5216
979b4fb4 52172009-04-29 David S. Miller <davem@davemloft.net>
5218
e2bf39b2 5219 * include/grub/powerpc/ieee1275/memory.h: Include ieee1275.h.
5220 * include/grub/sparc64/ieee1275/memory.h: Likewise.
5221
3c64e104 5222 * normal/command.c: Add missing newline at end of file.
5223
979b4fb4 5224 * commands/lsmmap.c (grub_cmd_lsmmap): Add casts to avoid printf
5225 warnings.
5226 * kern/ieee1275/openfw.c (grub_claimmap): Likewise.
5227 * disk/ieee1275/ofdisk.c (grub_ofdisk_open, grub_ofdisk_close,
5228 grub_ofdisk_read): Likewise, and deal similarly with the fact that
5229 ihandles have a 32-bit type but need to be stored in a "void *".
5230
136d9f82 52312009-04-28 Pavel Roskin <proski@gnu.org>
5232
9459c306 5233 * disk/fs_uuid.c (grub_fs_uuid_open): Use parent->data for dev,
5234 not disk. Adjust all dependencies.
2e08a26a 5235 (grub_fs_uuid_close): Use grub_device_close(), not
9459c306 5236 grub_disk_close().
5237
136d9f82 5238 * disk/fs_uuid.c (grub_fs_uuid_open): Allocate memory to copy
5239 parent's partition, don't copy it by reference, as it gets freed
5240 on close.
5241
7dd4a573 52422009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
75a807cf 5243
5244 Preboot hooks support
5245
5246 * commands/boot.c (struct grub_preboot_t): new declaration
5247 (preboots_head): new variable
5248 (preboots_tail): likewise
5249 (grub_loader_register_preboot_hook): new function
5250 (grub_loader_unregister_preboot_hook): likewise
5251 (grub_loader_set): launch preboot hooks
5252 * include/grub/loader.h (grub_loader_preboot_hook_prio_t): new type
5253 (grub_loader_register_preboot_hook): new declaration
5254 (grub_loader_unregister_preboot_hook): likewise
5255
5af922b5 52562009-04-27 Vladimir Serbinenko <phcoder@gmail.com>
5257
5258 Warning fix
5259
7dd4a573 5260 * disk/scsi.c (grub_scsi_open): added missing cast when
5af922b5 5261 calling grub_dprintf
5262
a5562c30 52632009-04-26 Vladimir Serbinenko <phcoder@gmail.com>
5264
5265 Bug and warning fixes
5266
7dd4a573 5267 * include/grub/i386/pc/init.h (grub_stop_floppy): added missing
a5562c30 5268 declaration
5269 * commands/test.c (test_parse): fixed bug with file tests and corrected
5270 declaration of find_file
5271
4006f85c 52722009-04-26 Pavel Roskin <proski@gnu.org>
5273
5274 * Makefile.in: Don't install empty manual pages if help2man is
5275 missing. Use help2man option for output, not shell redirection.
5276
5c77c3de 52772009-04-26 David S. Miller <davem@davemloft.net>
5278
5279 * util/grub-mkdevicemap.c (make_device_map): Add missing
5280 NESTED_FUNC_ATTR to process_device().
5281
033b10a8 52822009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5283
5284 Test command
5285
5286 * commands/test.c: rewritten to use bash-like test
5287
e4343593 52882009-04-25 Vladimir Serbinenko <phcoder@gmail.com>
5289
5290 Parttool autoloading and improvements
5291
7dd4a573 5292 * Makefile.in (pkglib_DATA): add parttool.lst
e4343593 5293 (parttool.lst): new target
5294 * genmk.rb: generate parttool-*
5295 (CLEANFILES): add #{parttool}
5296 (PARTTOOLFILES): new variable
5297 * genparttoollist.sh: new file
7dd4a573 5298 * parttool/pcpart.c (grub_pcpart_boot): more feedback
e4343593 5299 (grub_pcpart_type): likewise
5300 * commands/parttool.c (helpmsg): new variable
5301 (grub_cmd_parttool): output help if not enough arguments are supplied
5302 autoload modules
5303 (GRUB_MOD_INIT(parttool)): use helpmsg
5304
0d312500 53052009-04-24 David S. Miller <davem@davemloft.net>
5306
7dd4a573 5307 Avoiding opening same device multiple times in device iterator.
0d312500 5308
5309 * kern/device.c: (grub_device_iterate): Define struct part_ent,
7dd4a573 5310 and use it to build a list of partitions in iterate_disk() and
0d312500 5311 iterate_partition().
5312
ac20caff 5313 * disk/fs_uuid.c (grub_fs_uuid_close): Call grub_disk_close()
5314 on disk->data.
5315
0dcf7495 5316 * disk/ieee1275/nand.c (grub_nand_iterate): Return
5317 grub_devalias_iterate() result instead of unconditional 0.
5318 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Likewise.
5319 Also, capture hook return value, either directly or via
5320 grub_children_iterate(), and propagate to caller.
5321 * include/grub/ieee1275/ieee1275.h (grub_devalias_iterate,
5322 grub_children_iterate): Return value is now 'int' instead of
5323 'grub_err_t'.
5324 * kern/ieee1275/openfw.c (grub_children_iterate): Fix to behave
5325 like a proper iterator, stopping when hooks return non-zero.
5326 (grub_devalias_iterate): Likewise.
5327
c8c08833 53282009-04-23 David S. Miller <davem@davemloft.net>
5329
5330 * kern/sparc64/ieee1275/openfw.c: Unused, delete.
5331
f01005a8 53322009-04-22 David S. Miller <davem@davemloft.net>
5333
5334 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): If size_cells
5335 is larger than address_cells, use that value for address_cells too.
5336
4e8269da 5337 * include/grub/ieee1275/ieee1275.h (IEEE1275_MAX_PROP_LEN,
5338 IEEE1275_MAX_PATH_LEN): Define.
5339 * kern/ieee1275/openfw.c (grub_children_iterate): Dynamically
5340 allocate 'childtype', 'childpath', 'childname', and 'fullname'.
5341 (grub_devalias_iterate): Dynamically allocate 'aliasname' and
5342 'devtype'. Explicitly NULL terminate devalias expansion.
5343
a1447506 5344 * util/sparc64/ieee1275/misc.c: New file.
5345 * util/sparc64/ieee1275/grub-setup.c: New file.
5346 * util/sparc64/ieee1275/grub-ofpathname.c: New file.
5347 * util/sparc64/ieee1275/grub-mkimage.c: New file.
5348 * util/sparc64/ieee1275/grub-install.in: New file.
5349 * util/ieee1275/ofpath.c: New file.
5350 * util/ieee1275/devicemap.c: New file.
5351 * util/devicemap.c: New file.
5352 * util/deviceiter.c: New file.
5353 * kern/sparc64/ieee1275/init.c: New file.
5354 * include/grub/util/ofpath.h: New file.
5355 * include/grub/util/deviceiter.h: New file.
5356 * util/grub-mkdevicemap.c: Include deviceiter.h.
5357 Implement using grub_util_emit_devicemap_entry and
5358 grub_util_iterate_devices.
5359 * conf/i386-corebook.rmk: Build util/deviceiter.c and
5360 util/devicemap.c into grub-mkdevicemap
5361 * conf/i386-efi.rmk: Likewise.
5362 * conf/i386-ieee1275.rmk: Likewise.
5363 * conf/i386-pc.rmk: Likewise.
5364 * conf/powerpc-ieee1275.rmk: Likewise.
5365 * conf/sparc64-ieee1275.rmk: Add rules to build boot block
5366 images and installation utilities. Build kernel as image
5367 instead of as elf binary. Use common rules as much as possible.
5368
7dd4a573 53692009-04-19 Vladimir Serbinenko <phcoder@gmail.com>
0aefc632 5370
5371 Correct GPT definition
5372
7dd4a573 5373 * include/grub/gpt_partition.h (grub_gpt_partentry): Corrected the type
0aefc632 5374 of "attrib" member
5375
c6c5219f 53762009-04-19 Felix Zielcke <fzielcke@z-51.de>
5377
5378 * INSTALL: Replace `autogen.sh' with `./autogen.sh'.
5379
0552ff9f 53802009-04-19 David S. Miller <davem@davemloft.net>
5381
5382 * loader/sparc64/ieee1275/linux.c: Include grub/command.h
5383 (grub_rescue_cmd_linux): Rename to...
5384 (grub_cmd_linux): and fix prototype.
5385 (grub_rescue_cmd_initrd): Rename to...
5386 (grub_cmd_initrd): and fix prototype.
5387 (cmd_linux, cmd_initrd): New.
5388 (GRUB_MOD_INIT(linux)): Use grub_register_command().
5389 (GRUB_MOD_FINI(linux): Use grub_unregister_command().
5390
d1a282fc 53912009-04-17 Pavel Roskin <proski@gnu.org>
5392
07c5039f 5393 * bus/usb/ohci.c (grub_ohci_transaction): Fix incorrect printf
5394 format.
5395 (grub_ohci_transfer): Likewise.
5396
b012002d 5397 * bus/usb/usbtrans.c (grub_usb_control_msg): Warning fix.
5398
1bc09c35 5399 * loader/multiboot_loader.c (grub_cmd_multiboot_loader): Fix
5400 return without a value. Fix inconsistent indentation.
5401
e0ff9126 5402 * fs/i386/pc/pxe.c (grub_pxefs_dir): Fix function prototype to
5403 match struct grub_fs.
5404
d1a282fc 5405 * disk/ata.c (grub_ata_pciinit): Use NESTED_FUNC_ATTR.
5406 * bus/usb/ohci.c (grub_ohci_pci_iter): Likewise.
5407 * bus/usb/uhci.c (grub_uhci_pci_iter): Likewise.
5408 * commands/lspci.c (grub_lspci_iter): Likewise.
5409
a96df3f2 54102009-04-16 Bean <bean123ch@gmail.com>
5411
5412 * commands/efi/loadbios.c (grub_cmd_fakebios): Add missing return
5413 value.
5414
41bb0fe9 54152009-04-15 Pavel Roskin <proski@gnu.org>
5416
5417 * include/grub/types.h: Rename ULONG_MAX to GRUB_ULONG_MAX and
5418 LONG_MAX to GRUB_LONG_MAX. Introduce GRUB_LONG_MIN. Update all
5419 users of ULONG_MAX, LONG_MAX and LONG_MIN to use the new
5420 definitions.
5421
596c6970 54222009-04-15 Felix Zielcke <fzielcke@z-51.de>
5423
5424 * disk/lvm.c (grub_lvm_scan_device): Add `LVM' to the error messages,
7dd4a573 5425 that no multiple data or metadata areas are supported and `Unknown
596c6970 5426 metadata header'.
5427
7dd4a573 54282009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
0d5d5653 5429
5430 Move loader out of the kernel
5431
5432 * kern/loader.c: moved to ...
5433 * commands/boot.c: ... moved here
5434 * commands/minicmd.c (grub_mini_cmd_boot): moved to ...
5435 * commands/boot.c (grub_cmd_boot): moved here. All users updated
5436 * include/grub/kernel.h (grub_machine_fini): export
5437 * include/grub/loader.h (grub_loader_is_loaded): update declaration
5438 (grub_loader_set): likewise
5439 (grub_loader_unset): likewise
5440 (grub_loader_boot): likewise
5441 * conf/common.rmk: new module boot.mod
5442 (pkglib_MODULES): add boot.mod
5443 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): remove kern/loader.c
5444 (grub_emu_SOURCES): likewise
5445 * conf/i386-efi.rmk (kernel_elf_SOURCES): likewise
5446 (grub_emu_SOURCES): likewise
5447 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): likewise
5448 (grub_emu_SOURCES): likewise
5449 * conf/i386-pc.rmk (kernel_elf_SOURCES): likewise
5450 (grub_emu_SOURCES): likewise
5451 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): likewise
5452 (grub_emu_SOURCES): likewise
7dd4a573 5453 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): likewise
5454 (grub_emu_SOURCES): likewise
0d5d5653 5455 * conf/x86_64-efi.rmk (kernel_elf_SOURCES): likewise
7dd4a573 5456 (grub_emu_SOURCES): likewise
0d5d5653 5457
7dd4a573 54582009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
5999d619 5459
5460 use grub_lltoa instead of grub_itoa and grub_ltoa for all purposes
7dd4a573 5461
5999d619 5462 * kern/misc.c (grub_itoa): Removed function
5463 (grub_ltoa): likewise
5464 (grub_vsprintf): use grub_lltoa
5465
7dd4a573 54662009-04-15 Vladimir Serbinenko <phcoder@gmail.com>
13c00781 5467
5468 Restore grub-emu
5469
5470 * conf/i386-pc.rmk (grub_emu_SOURCES): add normal/handler.c
5471 * conf/i386-coreboot.rmk: likewise
5472 * conf/i386-ieee1275.rmk: likewise
5473 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 5474
20318222 54752009-04-15 Felix Zielcke <fzielcke@z-51.de>
5476
5477 * INSTALL: Add that `./autogen.sh' needs to be run before
5478 `./configure.'.
5479
d05f0df3 54802009-04-14 Bean <bean123ch@gmail.com>
5481
5482 * Makefile.in (pkglib_DATA): Add handler.lst.
5483 (handler.lst): New rule.
5484
5485 * conf/i386-pc.rmk (normal_mod_SOURCES): Add normal/handler.c.
5486 * conf/i386-coreboot.rmk: Likewise.
5487 * conf/i386-ieee1275.rmk: Likewise.
5488 * conf/i386-efi.rmk: Likewise.
5489 * conf/x86_64-efi.rmk: Likewise.
5490 * conf/powerpc-ieee1275.rmk: Likewise.
5491 * conf/sparc64-ieee1275.rmk: Likewise.
5492
5493 * genhandlerlist.sh: New file.
5494
5495 * genmk.rb: Add rules to generate handler.lst.
5496
5497 * include/grub/normal.h (grub_file_getline): New function definition.
5498 (read_handler_list): Likewise.
5499 (free_handler_list): Likewise.
5500
5501 * include/grub/term.h (grub_term_register_input): Add name parameter
5502 for auto generation of handler.lst.
5503 (grub_term_register_output): Likewise.
5504
5505 * normal/handler.c: New file.
5506
5507 * normal/main.c (get_line): Renamed to grub_file_getline.
5508 (read_config_file): Use the newly renamed grub_file_getline.
5509 (read_command_list): Likewise.
5510 (read_fs_list): Likewise.
5511 (grub_normal_execute): Call read_handler_list to parse handler.lst.
5512 (GRUB_MOD_FINI): Call free_handler_list to free handler list.
5513
5514 * term/efi/console.c (grub_console_init): Add name parameter for auto
5515 generation of handler.lst.
5516 * term/gfxterm.c: Likewise.
5517 * term/i386/pc/at_keyboard.c: Likewise.
5518 * term/i386/pc/console.c: Likewise.
5519 * term/i386/pc/serial.c: Likewise.
5520 * term/i386/pc/vesafb.c: Likewise.
5521 * term/i386/pc/vga.c: Likewise.
5522 * term/i386/pc/vga_text.c: Likewise.
5523 * term/ieee1275/ofconsole.c: Likewise.
5524 * term/usb_keyboard.c: Likewise.
5525
33c846be 55262009-04-14 Bean <bean123ch@gmail.com>
5527
5528 * util/grub-pe2elf.c (write_symbol_table): Terminate short name symbol
5529 properly with null character.
5530
4484e01e 55312009-04-14 Felix Zielcke <fzielcke@z-51.de>
5532
5533 * configure: Remove.
5534 * config.h.in: Likewise.
f93d668e 5535 * stamp-h.in: Likewise.
4484e01e 5536 * DISTLIST: Likewise.
5537 * conf/common.mk: Likewise.
5538 * conf/i386-coreboot.mk: Likewise.
5539 * conf/i386-efi.mk: Likewise.
5540 * conf/i386-ieee1275.mk: Likewise.
5541 * conf/i386.mk: Likewise.
5542 * conf/i386-pc.mk: Likewise.
5543 * conf/powerpc-ieee1275.mk: Likewise.
5544 * conf/sparc64-ieee1275.mk: Likewise.
5545 * conf/x86_64-efi.mk: Likewise.
5546
5547 * INSTALL: Remove the sentence that Ruby and autoconf are only required if you
5548 develop on GRUB.
5549
7dd4a573 55502009-04-14 John Stanley <jpsinthemix@verizon.net>
5c5bf96a 5551 David S. Miller <davem@davemloft.net>
5552
5553 * util/hostdisk.c (make_device_name): Fix buffer length
5554 calculations.
5555
e25b5a8c 55562009-04-14 Felix Zielcke <fzielcke@z-51.de>
5557
5558 * util/hostdisk.c [__FreeBSD__ || __FreeBSD_kernel__]: Include
5559 <sys/param.h> and <sys/sysctl.h>.
5560 (open_device) [__FreeBSD__ || __FreeBSD_kernel_]: Use sysctlgetbyname()
5561 to add 0x10 to `kern.geom.debugflags' if it's not already set, before
5562 opening the device and reset them afterwards.
5563
1f1f580c 55642009-04-13 Pavel Roskin <proski@gnu.org>
5565
5566 * conf/common.rmk (grub_fstest_SOURCES): Add normal/datetime.c.
5567 Reported by John Stanley <jpsinthemix@verizon.net>
5568
7ebc2d6b 55692009-04-13 Robert Millan <rmh@aybabtu.com>
5570
5571 * util/grub.d/10_freebsd.in: Detect Debian GNU/kFreeBSD and use
7dd4a573 5572 that name for menuentries when appropriate.
7ebc2d6b 5573
d8ba3667 55742009-04-13 Felix Zielcke <fzielcke@z-51.de>
5575
5576 * util/grub.d/10_freebsd.in: Add a missing `fi'.
5577
cba416eb 55782009-04-13 Robert Millan <rmh@aybabtu.com>
5579
5580 * loader/i386/linux.c (grub_cmd_linux): Don't pass `vga=ask' parameter
5581 to Linux, simply abort telling the user it's no longer supported.
5582
a547a745 55832009-04-13 Felix Zielcke <fzielcke@z-51.de>
5584
5585 * util/grub.d/10_freebsd.in: Don't exit if /boot/devices.hints
7dd4a573 5586 doesn't exist. Check also for /boot/kernel/kernel.gz. Print
a547a745 5587 `freebsd_loadenv' only when devices.hints exist.
5588
232a769c 55892009-04-13 Pavel Roskin <proski@gnu.org>
5590
5591 * term/usb_keyboard.c (grub_usb_keyboard_getkey): Warning fixes.
5592
c3012039 55932009-04-13 Felix Zielcke <fzielcke@z-51.de>
5594
5595 * util/i386/pc/grub-install.in (install_drive): Remove the BSD
5596 partition number.
5597 (grub_drive): Likewise.
5598
234022fe 55992009-04-13 David S. Miller <davem@davemloft.net>
5600
5601 * kern/sparc64/ieee1275/ieee1275.c: New file.
5602 * include/grub/sparc64/ieee1275/ieee1275.h (IEEE1275_MAP_WRITE,
5603 IEEE1275_MAP_READ, IEEE1275_MAP_EXEC, IEEE1275_MAP_LOCKED,
5604 IEEE1275_MAP_CACHED, IEEE1275_MAP_SE, IEEE1275_MAP_GLOBAL,
5605 IEEE1275_MAP_IE, IEEE1275_MAP_DEFAULT): Define.
5606 (grub_ieee1275_map_physical, grub_ieee1275_claim_vaddr,
5607 grub_ieee1275_alloc_physmem): Declare new exported functions.
5608
d8e1836c 5609 * include/grub/sparc64/ieee1275/loader.h: New file.
5610 * include/grub/sparc64/ieee1275/memory.h: Likewise.
5611 * include/grub/sparc64/kernel.h: Likewise.
5612 * loader/sparc64/ieee1275/linux.c: Likewise.
5613
96bd81ec 5614 * conf/common.rmk (grub_probe_SOURCES): Add Sun partition module.
5615 (grub_fstest_SOURCES): Likewise.
5616
6a4737e5 5617 * util/hostdisk.c (make_device_name): Do not make any assumptions
5618 about the length of drive names.
5619
1d7a72fd 5620 * kern/dl.c (grub_dl_load_file): Close file immediately when
5621 we are done using it.
5622
56bc2471 56232009-04-12 David S. Miller <davem@davemloft.net>
5624
5625 * kern/misc.c (grub_ltoa): Fix cast when handling negative
5626 values. Noticed by Pavel Roskin.
5627
df38d0bb 5628 * configure.ac: Check for __bswapsi2 and__bswapdi2 using
5629 target compiler.
7dd4a573 5630
e382e93a 5631 * genmk.rb: Add more flexible image type specification, also
5632 pass --strip-unneeded to objcopy.
5633 * conf/i386-pc.rmk: Use *_FORMAT.
5634 * conf/i386-pc.mk: Rebuilt.
5635
f5dbbca9 5636 * disk/ieee1275/ofdisk.c (struct ofdisk_hash_ent): New struct.
5637 (OFDISK_HASH_SZ): Define.
5638 (ofdisk_hash): New hash table.
5639 (ofdisk_hash_fn, ofdisk_hash_find, ofdisk_hash_add): New functions.
5640 (grub_ofdisk_open): Use ofdisk_hash_ent address as disk->id
5641 instead of device phandle which is not unique.
5642
91c88b12 5643 * kern/sparc64/ieee1275/init.c: Delete, replace with...
5644 * kern/sparc64/ieee1275/crt0.S: assembler implementation.
5645 * include/grub/sparc64/ieee1275/kernel.h: Declare grub_prefix[].
5646 (GRUB_MOD_ALIGN, GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_TOTAL_MODULE_SIZE,
5647 GRUB_KERNEL_MACHINE_KERNEL_IMAGE_SIZE,
5648 GRUB_KERNEL_MACHINE_COMPRESSED_SIZE, GRUB_KERNEL_MACHINE_PREFIX,
5649 GRUB_KERNEL_MACHINE_DATA_END): Define.
5650 (grub_kernel_image_size, grub_total_module_size): Declare.
5651
5b5d4aa5 56522009-04-12 Pavel Roskin <proski@gnu.org>
5653
7dd4a573 5654 * configure.ac: Change the logic when we check for target tools.
5655 Do it when the target is specified and it's different from the
5656 specified value of the host.
5b5d4aa5 5657
c91e1793 56582009-04-11 Felix Zielcke <fzielcke@z-51.de>
5659
5660 * util/hostdisk.c [__FreeBSD_kernel__]: Include sys/disk.h.
5661 (grub_util_biosdisk_open) [__FreeBSD_kernel__]: Add support for
5662 GNU/kFreeBSD. Check if a device is a character device. Use
5663 DIOCGMEDIASIZE to get the size.
5664 (convert_system_partition_to_system_disk) [__FreeBSD_kernel__]: Add
5665 support for GNU/kFreeBSD.
5666 (grub_util_biosdisk_get_grub_dev) [__FreeBSD_kernel__]: Check if OS_DEV
5667 is a character device instead of a block device. Add support for
5668 FreeBSD device names.
5669
5670 * util/getroot.c (find_root_device) [__FreeBSD_kernel__]: Check if ENT
5671 is a character device instead of a block device.
5672
5673 * util/grub-probe.c (probe) [__FreeBSD_kernel__]: Check if DEVICE_NAME
5674 is a character device instead of a block device.
5675
b1ac8644 56762009-04-11 Andrey Shuvikov <mr_hyro@yahoo.com>
5677
5678 * util/hostdisk.c [__FreeBSD__]: Include sys/disk.h.
5679 (grub_util_biosdisk_open) [__FreeBSD__]: Add support for
5680 FreeBSD. Check if a device is a character device. Use
5681 DIOCGMEDIASIZE to get the size.
5682 (convert_system_partition_to_system_disk) [__FreeBSD__]: Add
5683 support for FreeBSD.
5684 (grub_util_biosdisk_get_grub_dev) [__FreeBSD__]: Check if OS_DEV
5685 is a character device instead of a block device. Add support for
5686 FreeBSD device names.
5687
5688 * util/getroot.c (find_root_device) [__FreeBSD__]: Check if ENT is
5689 a character device instead of a block device.
5690 (grub_util_check_char_device): New function.
5691
5692 * util/grub-probe.c (probe) [__FreeBSD__]: Check if DEVICE_NAME is
5693 a character device instead of a block device.
5694
5695 * include/grub/util/getroot.h (grub_util_check_char_device): New
5696 prototype.
5697
a3f7515a 56982009-04-11 David S. Miller <davem@davemloft.net>
5699
5700 * conf/sparc64-ieee1275.rmk (kernel_img_LDFLAGS): Link with
5701 static libgcc.
5702 * configure.ac: Check for __bswapsi2 and __bswapdi2 presence.
5703 * include/grub/sparc64/libgcc.h (__bswapsi2): Export libgcc
5704 function, if present.
5705 (__bswapdi2): Likewise.
5706
0d44993d 5707 * include/grub/sparc64/ieee1275/boot.h: New file.
5708 * boot/sparc64/ieee1275/boot.S: Likewise.
5709 * boot/sparc64/ieee1275/diskboot.S: Likewise.
5710
ed3d2bc2 5711 * kern/misc.c (grub_ltoa): New function.
5712 (grub_vsprintf): Use it to format 'long' integers.
5713
d3bfb59c 57142009-04-10 David S. Miller <davem@davemloft.net>
5715
5716 * disk/ieee1275/nand.c (grub_nand_open): All ieee1275 call arg
5717 slots are of type grub_ieee1275_cell_t.
5718 (grub_nand_read): Likewise.
5719 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_INVALID,
5720 IEEE1275_IHANDLE_INVALID): Use grub_ieee1275_cell_t since these
5721 macros are used to compare values in arg/ret block of the call.
5722 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
5723 grub_ieee1275_next_property, grub_ieee1275_get_property_length,
5724 grub_ieee1275_instance_to_package, grub_ieee1275_package_to_path,
5725 grub_ieee1275_instance_to_path, grub_ieee1275_write,
5726 grub_ieee1275_read, grub_ieee1275_seek, grub_ieee1275_peer,
5727 grub_ieee1275_child, grub_ieee1275_parent, grub_ieee1275_open,
5728 grub_ieee1275_close, grub_ieee1275_set_property,
5729 grub_ieee1275_set_color): All ieee1275 call arg slots are of type
5730 grub_ieee1275_cell_t.
5731 * kern/ieee1275/openfw.c (grub_map): Likewise.
5732 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_ihandle_t,
5733 grub_ieee1275_phandle_t): Define as grub_unit32_t type.
5734
450e2238 5735 * kern/ieee1275/init.c (grub_machine_init): Make 'actual' grub_ssize_t.
5736 * kern/ieee1275/openfw.c (grub_children_iterate): Likewise.
5737 (grub_devalias_iterate): Likewise.
5738
7dd4a573 57392009-04-10 Vladimir Serbinenko <phcoder@gmail.com>
6df8cc76 5740
5741 UFS improvements
5742
5743 * fs/ufs.c (INODE_NBLOCKS): new definition
5744 (struct grub_ufs_dirent): added fields for non-BSD dirents
5745 (grub_ufs_get_file_block): fixed double indirect handling
5746 (grub_ufs_lookup_symlink): use more robust way to determine whether
5747 symlink is inline
5748 (grub_ufs_find_file): support for non-BSD dirents
5749 (grub_ufs_dir): support for non-BSD dirents
5750
e7e6862a 57512009-04-10 Bean <bean123ch@gnail.com>
5752
5753 * include/grub/efi/api.h (grub_efi_configuration_table): Add packed
5754 attribute, otherwise the size would be wrong for i386 platform.
5755
5756 * include/grub/pci.h (grub_pci_read_word): New inline function.
5757 (grub_pci_read_byte): Likewise.
5758 (grub_pci_write): Likewise.
5759 (grub_pci_write_word): Likewise.
5760 (grub_pci_write_byte): Likewise.
5761
5762 * include/grub/pci.h (grub_pci_iteratefunc_t): Add NESTED_FUNC_ATTR.
5763
5764 * loader/i386/efi/linux.c (fake_bios_data): Moved to loadbios module.
5765 (find_framebuf): Scan pci to locate the frame buffer address.
5766
5767 * commands/efi/fixvideo.c: New file.
5768
5769 * commands/efi/loadbios.c: Likewise.
5770
5771 * commands/memrw.c: Likewise.
5772
5773 * util/grub-dumpbios.in: Likewise.
5774
5775 * conf/common.rmk (grub-dumpbios): New utility.
5776 (pkglib_MODULES): New module memrw.mod.
5777 (memrw_mod_SOURCE): New macro.
5778 (memrw_mod_CFLAGS): Likewise.
5779 (memrw_mod_LDFLAGS): Likewise.
5780
7dd4a573 5781 * conf/i386-efi.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 5782 fixvideo.mod.
5783 (loadbios_mod_SOURCE): New macro.
5784 (loadbios_mod_CFLAGS): Likewise.
5785 (loadbios_mod_LDFLAGS): Likewise.
5786 (fixvideo_mod_SOURCE): Likewise.
5787 (fixvideo_mod_CFLAGS): Likewise.
5788 (fixvideo_mod_LDFLAGS): Likewise.
5789
7dd4a573 5790 * conf/x86_64.rmk (pkglib_MODULES): New module loadbios.mod and
e7e6862a 5791 fixvideo.mod.
5792 (loadbios_mod_SOURCE): New macro.
5793 (loadbios_mod_CFLAGS): Likewise.
5794 (loadbios_mod_LDFLAGS): Likewise.
5795 (fixvideo_mod_SOURCE): Likewise.
5796 (fixvideo_mod_CFLAGS): Likewise.
5797 (fixvideo_mod_LDFLAGS): Likewise.
5798
af63ada2 57992009-04-08 Felix Zielcke <fzielcke@z-51.de>
5800
5801 * disk/lvm.c (grub_lvm_scan_device): Add a missing NULL check.
5802
c2cdde70 58032009-04-07 David S. Miller <davem@davemloft.net>
5804
5805 * kern/sparc64/dl.c (grub_arch_dl_relocate_symbols): Add
5806 support for R_SPARC_OLO10 relocations. Fix compile warning for
5807 R_SPARC_WDISP30 case.
ea3f72cf 5808 * kern/sparc64/cache.S: Fix grub_arch_sync_caches implementation.
c2cdde70 5809
761319cf 58102009-04-06 Pavel Roskin <proski@gnu.org>
5811
1007d1f5 5812 * include/grub/misc.h (ARRAY_SIZE): New macro.
5813 * include/grub/i386/linux.h (GRUB_LINUX_VID_MODE_VESA_START):
5814 New macro.
5815 * loader/i386/linux.c (allocate_pages): Use free_pages().
5816 (grub_linux_unload): Don't use free_pages().
5817 (grub_linux_boot): Prevent accessing linux_vesafb_modes with a
5818 wrong index. Treat all other modes as text modes.
5819 (grub_cmd_linux): Initialize vid_mode unconditionally to
5820 GRUB_LINUX_VID_MODE_NORMAL. Recognize and support "vga=ask".
5821
761319cf 5822 * commands/help.c (print_command_help): Use cmd->prio, not
5823 cmd->flags to check for GRUB_PRIO_LIST_FLAG_ACTIVE.
5824
ea761d40 58252009-04-06 Vladimir Serbinenko <phcoder@gmail.com>
7dd4a573 5826
ea761d40 5827 Parttool
5828
5829 * parttool/pcpart.c: new file
5830 * commands/parttool.c: likewise
5831 * conf/common.rmk (pkglib_MODULES): Added parttool.mod and pcpart.mod
5832 (parttool_mod_SOURCES): new variable
5833 (parttool_mod_CFLAGS): likewise
5834 (parttool_mod_LDFLAGS): likewise
5835 (pcpart_mod_SOURCES): likewise
5836 (pcpart_mod_CFLAGS): likewise
5837 (pcpart_mod_LDFLAGS): likewise
7dd4a573 5838 * conf/i386-coreboot.rmk (grub_emu_SOURCES): added commands/parttool.c
ea761d40 5839 and parttool/pcpart.c
5840 * conf/i386-efi.rmk: likewise
5841 * conf/i386-ieee1275.rmk: likewise
5842 * conf/i386-pc.rmk: likewise
5843 * conf/powerpc-ieee1275.rmk: likewise
5844 * conf/sparc64-ieee1275.rmk: likewise
5845 * conf/x86_64-ieee1275.rmk: likewise
5846
05aaebfb 58472009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5848
5849 Support for mtime and further expandability of dir command
5850
5851 * include/grub/lib/datetime.h: moved to ...
7dd4a573 5852 * include/grub/datetime.h: ... moved here and added
05aaebfb 5853 declaration of grub_unixtime2datetime. All users updated
7dd4a573 5854 * include/grub/fs.h: new syntax for dir and mtime functions in
5855 struct grub_fs
05aaebfb 5856 * include/grub/fshelp.h: new declarations of GRUB_FSHELP_TYPE_MASK
5857 and GRUB_FSHELP_FLAGS_MASK
5858 * commands/ls.c (grub_ls_list_files): Write mtime in long format
5859 * fs/ext2.c (grub_ext2_dir): use new dir syntax and supply mtime
5860 (grub_ext2_mtime): new function
5861 * fs/hfsplus.c (grub_hfsplus_dir): use new dir syntax and supply mtime
5862 (grub_hfsplus_mtime): new function
5863 * fs/ufs.c (GRUB_UFS_ATTR_TYPE): new definition
5864 (GRUB_UFS_ATTR_FILE): likewise
5865 (GRUB_UFS_ATTR_LNK): likewise
5866 (struct grub_ufs_sblock): new fields mtime
5867 (grub_ufs_read_inode): new parameter to read inode to a separate buffer
5868 all users updated
5869 (grub_ufs_dir): mtime support
5870 (grub_ufs_mtime): new function
5871 * fs/affs.c (grub_affs_dir): use new dir syntax
5872 * fs/afs.c (grub_afs_dir): likewise
5873 * fs/cpio.c (grub_cpio_dir): likewise
5874 * fs/fat.c (grub_fat_find_dir): likewise
5875 * fs/hfs.c (grub_hfs_dir): likewise
5876 * fs/iso9660.c (grub_iso9660_dir): likewise
5877 * fs/jfs.c (grub_jfs_dir): likewise
5878 * fs/minix.c (grub_minix_dir): likewise
5879 * fs/ntfs.c (grub_ntfs_dir): likewise
5880 * fs/reiserfs.c (grub_reiserfs_dir): likewise
5881 * fs/sfs.c (grub_sfs_dir): likewise
5882 * fs/xfs.c (grub_xfs_dir): likewise
5883 * util/hostfs.c (grub_hostfs_dir): likewise
5884 * lib/datetime.c: moved to ...
5885 * normal/datetime.c: ... moved here
5886 (grub_unixtime2datetime): new function
5887 * kern/rescue.c (grub_rescue_print_files): use new dir syntax
7dd4a573 5888 * normal/completion.c (iterate_dir): use new dir syntax
5889 * normal/misc.c (grub_normal_print_device_info): tell the
05aaebfb 5890 last modification time of a volume
7dd4a573 5891 * kern/fs.c (grub_fs_probe): updated dummy function to use new syntax
05aaebfb 5892 * conf/common.rmk: added lib/datetime.c to ls.mod
7dd4a573 5893 * conf/i386-coreboot.rmk (grub_emu_SOURCES): add normal/datetime.c
05aaebfb 5894 (normal_mod_SOURCES): likewise
5895 (datetime_mod_SOURCES): Removed lib/datetime.c
5896 * conf/i386-efi.rmk: likewise
7dd4a573 5897 * conf/i386-ieee1275.rmk: likewise
05aaebfb 5898 * conf/i386-pc.rmk: likewise
5899 * conf/powerpc-ieee1275.rmk: likewise
7dd4a573 5900 * conf/sparc64-ieee1275.rmk: likewise
5901 * conf/x86_64-efi.rmk: likewise
05aaebfb 5902
8a7e1a14 59032009-04-05 Vladimir Serbinenko <phcoder@gmail.com>
5904
5905 Trim trailing spaces in FAT label and support mtools-like labels
7dd4a573 5906
5907 * fs/fat.c (grub_fat_iterate_dir): New function based
8a7e1a14 5908 on grub_fat_find_dir
5909 (grub_fat_find_dir): use grub_fat_iterate_dir
5910 (grub_fat_label): likewise
5911
04186a9c 59122009-04-04 Vladimir Serbinenko <phcoder@gmail.com>
5913
7dd4a573 5914 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): add list.h
04186a9c 5915 and command.h
5916 remove extraneous kernel_elf_HEADERS
5917
da4c0bb6 59182009-04-04 Bean <bean123ch@gnail.com>
5919
5920 * include/grub/util/misc.h: Add dummy function fsync for mingw.
5921
5922 * util/misc.c: Likewise.
5923
54ad9555 59242009-04-04 Yoshinori K. Okuji <okuji@enbug.org>
5925
5926 * loader/i386/efi/linux.c (fake_bios_data): Use grub_dprintf
5927 instead of grub_printf.
5928
7a6bf9f2 59292009-04-03 Robert Millan <rmh@aybabtu.com>
5930
5931 * loader/i386/linux.c (grub_linux_setup_video): Fill
5932 `params->{red,green,blue,reserved}_{mask_size,field_pos}' with
5933 values from `mode info' structure instead of hardcoded
5934 values.
5935
3fcc2083 59362009-04-01 Pavel Roskin <proski@gnu.org>
5937
5938 * Makefile.in: Remove all references to MODULE_LDFLAGS, it's
5939 unused now.
5940 * genmk.rb: Likewise.
5941 * configure.ac: Likewise.
5942
5ec9740b 59432009-04-01 Manoel Abranches <mrabran@linux.vnet.ibm.com>
5944
5945 * aclocal.m4: Move --build-id=none from MODULE_LDFLAGS to
5946 TARGET_LDFLAGS. This corrects a problem with grub-mkelfimage.
5947
5270cec8 59482009-04-01 David S. Miller <davem@davemloft.net>
5949
5950 * normal/sparc64/setjmp.S: Fix setjmp implementation.
7dd4a573 5951 * include/grub/sparc64/setjmp.h (grub_jmp_buf): Update.
5270cec8 5952 (grub_setjmp): Mark with 'returns_twice' attribute.
5953 * include/grub/i386/setjmp.h (grub_setjmp): Likewise
5954 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise.
5955 * include/grub/x86_64/setjmp.h (grub_setjmp): Likewise.
5956
9c3dd854 59572009-04-01 Robert Millan <rmh@aybabtu.com>
5958
5959 Reapply fix from 2008-07-28 which was accidentally reverted; also
5960 perform the same fix to a similar check in same function.
5961
5962 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
5963 with the same number are found, just use issue a warning with
5964 grub_dprintf(), as this error has been reported to be non-fatal.
5965
0d818b7e 59662009-03-31 Pavel Roskin <proski@gnu.org>
5967
5968 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Provide safe default
5969 for cross-compilation.
5970
95646d92 59712009-03-30 Robert Millan <rmh@aybabtu.com>
5972
5973 Fix i386-ieee1275 build.
5974
5975 * include/grub/i386/ieee1275/loader.h (grub_multiboot2_real_boot):
5976 Remove declaration.
5977
6a003ed1 59782009-03-30 Pavel Roskin <proski@gnu.org>
5979
5980 * fs/hfs.c (grub_hfs_strncasecmp): Integrate into ...
5981 (grub_hfs_cmp_catkeys): ... this. Don't assume strings to be
5982 zero-terminated, rely only on the strlen value. Fix comparison
5983 of strings differing in length.
5984
92f33540 59852009-03-30 Robert Millan <rmh@aybabtu.com>
5986
5987 * loader/i386/linux.c (grub_cmd_linux): Check for zImage before
5988 checking for abi version. Improve error messages on BIOS to notify
5989 user about `linux16' command.
5990
a8c48fd5 59912009-03-29 Vladimir Serbinenko <phcoder@gmail.com>
5992
f968172e 5993 Leak fixes
a8c48fd5 5994
f968172e 5995 * kern/disk.c (grub_disk_cache_store): Invalidate previous cache
5996 in case of collision
5997 * disk/scsi.c (grub_scsi_open): free scsi in case of error
a8c48fd5 5998
9c323f09 59992009-03-29 Robert Millan <rmh@aybabtu.com>
6000
6001 * loader/i386/linux.c (grub_cmd_linux): Parse "vga=" parameter and
6002 set `vid_mode' accordingly.
6003 (grub_linux_boot): Process `vid_mode' and set video mode.
6004
ae68f423 60052009-03-29 Robert Millan <rmh@aybabtu.com>
6006
6007 * util/grub.d/10_linux.in (linux_entry): New function.
6008 Factorize generation of Linux boot entries.
6009
5709cfc4 60102009-03-29 Yoshinori K. Okuji <okuji@enbug.org>
6011
6012 Make the format of Environment Block plain text. The boot loader
6013 part is not tested well yet.
7dd4a573 6014
5709cfc4 6015 * util/grub-editenv.c (DEFAULT_ENVBLK_SIZE): New macro.
6016 (buffer): Removed.
6017 (envblk): Likewise.
6018 (usage): Remove "info" and "clear". Add "unset". Update the
6019 description of "set", as this does not delete variables any
6020 longer.
6021 (create_envblk_file): Complete rewrite.
6022 (open_envblk_file): Likewise.
6023 (cmd_info): Removed.
6024 (cmd_list): Likewise.
6025 (cmd_set): Likewise.
6026 (cmd_clear): Likewise.
6027 (list_variables): New function.
6028 (write_envblk): Likewise.
6029 (set_variables): Likewise.
6030 (unset_variables): Likewise.
6031 (main): Complete rewrite.
6032
6033 * commands/loadenv.c (buffer): Removed.
6034 (envblk): Likewise.
6035 (open_envblk_file): New function.
6036 (read_envblk_file): Complete rewrite.
6037 (grub_cmd_load_env): Likewise.
6038 (grub_cmd_list_env): Likewise.
6039 (struct blocklist): New struct.
6040 (free_blocklists): New function.
6041 (check_blocklists): Likewise.
6042 (write_blocklists): Likewise.
6043 (grub_cmd_save_env): Complete rewrite.
6044
6045 * include/grub/lib/envblk.h (GRUB_ENVBLK_SIGNATURE): Replaced with
6046 a plain text signature.
6047 (GRUB_ENVBLK_MAXLEN): Removed.
6048 (struct grub_envblk): Complete rewrite.
6049 (grub_envblk_find): Removed.
6050 (grub_envblk_insert): Likewise.
6051 (grub_envblk_open): New prototype.
6052 (grub_envblk_set): Likewise.
6053 (grub_envblk_delete): Put const to VALUE.
6054 (grub_envblk_iterate): Put const to NAME and VALUE.
6055 (grub_envblk_close): New prototype.
6056 (grub_envblk_buffer): New inline function.
6057 (grub_envblk_size): Likewise.
6058
6059 * lib/envblk.c: Include grub/mm.h.
6060 (grub_env_find): Removed.
6061 (grub_envblk_open): New function.
6062 (grub_envblk_close): Likewise.
6063 (escaped_value_len): Likewise.
6064 (find_next_line): Likewise.
6065 (grub_envblk_insert): Removed.
6066 (grub_envblk_set): New function.
6067 (grub_envblk_delete): Complete rewrite.
6068 (grub_envblk_iterate): Likewise.
6069
a9368fd3 60702009-03-28 Robert Millan <rmh@aybabtu.com>
6071
6072 * conf/i386-pc.rmk (pkglib_MODULES): Add `linux16.mod'.
6073 (linux16_mod_SOURCES, linux16_mod_CFLAGS, linux16_mod_LDFLAGS): New
6074 variables. Use 16-bit loader.
6075 (linux_mod_SOURCES, linux_mod_CFLAGS, linux_mod_LDFLAGS): Use 32-bit
6076 loader.
6077 * kern/i386/loader.S (grub_linux_boot): Rename to ...
6078 (grub_linux16_boot): ... this. Update all users.
6079 * loader/i386/linux.c (grub_linux32_boot): Rename to ...
6080 (grub_linux_boot): ... this. Update all users.
6081
6082 * loader/i386/pc/linux.c (GRUB_MOD_INIT(linux)): Rename to ...
6083 (GRUB_MOD_INIT(linux16)): ... this. Rename `linux' and `initrd'
6084 commands to `linux16' and `initrd16'.
6085 (GRUB_MOD_FINI(linux)): Rename to ...
6086 (GRUB_MOD_FINI(linux16)): ... this.
6087
e4dd5a7e 60882009-03-24 Pavel Roskin <proski@gnu.org>
6089
6090 * genmk.rb: Define ASM_FILE for *.S files for *.lst generation,
6091 not just for compilation.
6092
c04d6e05 60932009-03-22 Vladimir Serbinenko <phcoder@gmail.com>
6094
6095 Move multiboot helper out of kernel
6096
6097 * conf/i386-pc.rmk (multiboot_mod_SOURCES): Add
6098 `loader/i386/multiboot_helper.S'.
6099 * conf/i386-coreboot.rmk: Likewise
6100 * conf/i386-ieee1275.rmk: Likewise
6101
6102 * kern/i386/loader.S: Move multiboot helpers from here...
6103 * loader/i386/multiboot_helper.S: ...moved here
6104 * include/grub/i386/loader.h: Move declarations of multiboot
6105 helpers from here...
6106 * include/grub/i386/multiboot.h: ...moved here
6107 * loader/i386/multiboot.c: Added include of grub/cpu/multiboot.h
6108
42a5b3fc 61092009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
6110
6111 * kern/env.c (grub_env_context_open): Added an argument to specify
6112 whether a new context inherits exported variables from current
6113 one. This is useful when making a sandbox to interpret a config
6114 file.
6115 All callers updated.
6116
6117 * include/grub/env.h (grub_env_context_open): Updated the prototype.
6118
b28bbc4e 61192009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
6120
6121 * kern/env.c (grub_env_context_close): Fix memory leaks.
6122
f04f02e4 61232009-03-22 Yoshinori K. Okuji <okuji@enbug.org>
6124
6125 * normal/main.c (grub_normal_execute): Added an argument
6126 BATCH to specify if an interactive interface should be provided
6127 after reading a config file.
6128 All callers updated.
6129 (read_command_list): Prevent being executed twice.
6130 (read_fs_list): Likewise.
6131
42a5b3fc 6132 * include/grub/normal.h (grub_normal_execute): Updated the
6133 prototype.
f04f02e4 6134
41473ac2 61352009-03-22 Pavel Roskin <proski@gno.org>
6136
fbc00b0c 6137 * kern/powerpc/ieee1275/startup.S: Replace EXT_C(start) with
6138 _start.
6139 * kern/i386/pc/startup.S: Likewise.
6140 * kern/i386/efi/startup.S: Likewise.
6141 * kern/i386/ieee1275/startup.S: Likewise.
6142 * kern/i386/coreboot/startup.S: Likewise.
6143 * kern/x86_64/efi/startup.S: Likewise.
6144
41473ac2 6145 * aclocal.m4 (grub_CHECK_START_SYMBOL): Remove.
6146 * configure.ac: Don't call grub_CHECK_START_SYMBOL.
6147 * kern/i386/pc/startup.S: Use _start instead of START_SYMBOL.
6148
2274cc8f 61492009-03-21 Vladimir Serbinenko <phcoder@gmail.com>
6150
6151 Bugfixes in multiboot for bugs uncovered by solaris kernel.
6152
6153 * loader/i386/multiboot_elfxx.c (grub_multiboot_load_elf): Corrected
6154 limit detection.
6155 Use vaddr of correct segment for entry_point.
6156
b1b797cb 61572009-03-21 Bean <bean123ch@gmail.com>
6158
6159 * commands/blocklist.c: Add include file <grub/command.h>, remove
6160 <grub/normal.h> and <grub/arg.h>.
6161 (grub_cmd_blocklist): Use the new command interface.
6162 (GRUB_MOD_INIT): Likewise.
6163 (GRUB_MOD_FINI): Likewise.
6164 * commands/boot.c: Likewise.
6165 * commands/cat.c: Likewise.
6166 * commands/cmp.c: Likewise.
6167 * commands/configfile.c: Likewise.
6168 * commands/crc.c: Likewise.
6169 * commands/echo.c: Likewise.
6170 * commands/halt.c: Likewise.
6171 * commands/handler.c: Likewise.
6172 * commands/hdparm.c: Likewise.
6173 * commands/help.c: Likewise.
6174 * commands/hexdump.c: Likewise.
6175 * commands/loadenv.c: Likewise.
6176 * commands/ls.c: Likewise.
6177 * commands/lsmmap.c: Likewise.
6178 * commands/lspci.c: Likewise.
6179 * commands/loadenv.c: Likewise.
6180 * commands/read.c: Likewise.
6181 * commands/reboot.c: Likewise.
6182 * commands/search.c: Likewise.
6183 * commands/sleep.c: Likewise.
6184 * commands/test.c: Likewise.
6185 * commands/usbtest.c: Likewise.
6186 * commands/videotest.c: Likewise.
6187 * commands/i386/cpuid.c: Likewise.
6188 * commands/i386/pc/halt.c: Likewise.
6189 * commands/i386/pc/play.c: Likewise.
6190 * commands/i386/pc/pxecmd.c: Likewise.
6191 * commands/i386/pc/vbeinfo.c: Likewise.
6192 * commands/i386/pc/vbetest.c: Likewise.
6193 * commands/ieee1275/suspend.c: Likewise.
6194 * disk/loopback.c: Likewise.
6195 * font/font_cmd.c: Likewise.
6196 * hello/hello.c: Likewise.
6197 * loader/efi/appleloader.c: Likewise.
6198 * loader/efi/chainloader.c: Likewise.
6199 * loader/i386/bsd.c: Likewise.
6200 * loader/i386/efi/linux.c: Likewise.
6201 * loader/i386/ieee1275/linux.c: Likewise.
6202 * loader/i386/linux.c: Likewise.
6203 * loader/i386/pc/chainloader.c: Likewise.
6204 * loader/i386/pc/linux.c: Likewise.
6205 * loader/powerpc/ieee1275/linux.c: Likewise.
6206 * loader/multiboot_loader.c: Likewise.
6207 * term/gfxterm.c: Likewise.
6208 * term/i386/pc/serial.c: Likewise.
6209 * term/terminfo.c: Likewise.
6210
6211 * term/i386/pc/vesafb.c: Removed <grub/arg.h>.
6212 * term/i386/pc/vga.c: Likewise.
6213 * video/readers/jpeg.c: Likewise.
6214 * video/readers/png.c: Likewise.
6215 * video/readers/tga.c: Likewise.
6216
6217 * util/grub-fstest (cmd_loopback): Removed.
6218 (cmd_blocklist): Likewise.
6219 (cmd_ls): Likewise.
6220 (grub_register_command): Likewise.
6221 (grub_unregister_command): Likewise.
6222 (execute_command): Use grub_command_find to locate command and execute
6223 it.
6224
6225 * include/grub/efi/chainloader.h: Removed.
6226 * loader/efi/chainloader_normal.c: Likewise.
6227 * loader/i386/bsd_normal.c: Likewise.
6228 * loader/i386/pc/chainloader_normal.c: Likewise.
6229 * loader/i386/pc/multiboot_normal.c: Likewise.
6230 * loader/linux_normal.c: Likewise.
6231 * loader/multiboot_loader_normal.c: Likewise.
6232 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
6233
6234 * gencmdlist.sh: Scan new registration command grub_register_extcmd
6235 and grub_register_command_p1.
6236
6237 * conf/common.rmk (grub_fstest_SOURCES): Add kern/list.c,
6238 kern/command.c, lib/arg.c and commands/extcmd.c.
6239 (pkglib_MODULES): Remove boot.mod, and minicmd.mod and extcmd.mod.
6240 (minicmd_mod_SOURCES): New variable.
6241 (minicmd_mod_CFLAGS): Likewise.
6242 (minicmd_mod_LDFLAGS): Likewise.
6243 (extcmd_mod_SOURCES): Likewise.
6244 (extcmd_mod_CFLAGS): Likewise.
6245 (extcmd_mod_LDFLAGS): Likewise.
6246 (boot_mod_SOURCES): Removed.
6247 (boot_mod_CFLAGS): Likewise.
6248 (boot_mod_LDFLAGS): Likewise.
6249
6250 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/command.c and
6251 kern/corecmd.c.
6252 (kernel_img_HEADERS): Add command.h.
6253 (grub_emu_SOURCES): Remove commands/boot.c and normal/arg.c, add
6254 commands/minicmd.c, kern/command.c, kern/corecmd.c, commands/extcmd.c
6255 and lib/arg.c.
6256 (pkglib_MODULES): Change _linux.mod, _chain.mod, _bsd.mod and
6257 _multiboot.mod as linux.mod, chain.mod, bsd.mod and multiboot.mod,
6258 remove the corresponding normal mode command.
6259 (normal_mod_SOURCES): Remove normal/arg.c.
6260 * conf/i386-coreboot.rmk: Likewise.
6261 * conf/i386-efi.rmk: Likewise.
6262 * conf/i386-ieee1275.rmk: Likewise.
6263 * conf/powerpc-ieee1275.rmk: Likewise.
6264 * conf/x86_64-efi.rmk: Likewise.
6265
6266 * include/grub/arg.h: Move from here ...
6267 * include/grub/lib/arg.h: ... to here.
6268
6269 * normal/arg.c: Move from here ...
6270 * lib/arg.c: ... to here.
6271
6272 * commands/extcmd.c: New file.
6273 * commands/minicmd.c: Likewise.
6274 * include/grub/command.h: Likewise.
6275 * include/grub/extcmd.h: Likewise.
6276 * kern/command.c: Likewise.
6277 * kern/corecmd.c: Likewise.
6278
6279 * kern/list.c (grub_list_iterate): Return int instead of void.
6280 (grub_list_insert): New function.
6281 (grub_prio_list_insert): Likewise.
6282
6283 * kern/rescue.c (grub_rescue_command): Removed.
6284 (grub_rescue_command_list): Likewise.
6285 (grub_rescue_register_command): Likewise.
6286 (grub_rescue_unregister_command): Likewise.
6287 (grub_rescue_cmd_boot): Move to minicmd.c
6288 (grub_rescue_cmd_help): Likewise.
6289 (grub_rescue_cmd_info): Likewise.
6290 (grub_rescue_cmd_boot): Likewise.
6291 (grub_rescue_cmd_testload): Likewise.
6292 (grub_rescue_cmd_dump): Likewise.
6293 (grub_rescue_cmd_rmmod): Likewise.
6294 (grub_rescue_cmd_lsmod): Likewise.
6295 (grub_rescue_cmd_exit): Likewise.
6296 (grub_rescue_print_devices): Moved to corecmd.c.
6297 (grub_rescue_print_files): Likewise.
6298 (grub_rescue_cmd_ls): Likewise.
6299 (grub_rescue_cmd_insmod): Likewise.
6300 (grub_rescue_cmd_set): Likewise.
6301 (grub_rescue_cmd_unset): Likewise.
7d074e3c 6302 (attempt_normal_mode): Use grub_command_find to get normal module.
b1b797cb 6303 (grub_enter_rescue_mode): Use grub_register_core_commands to register
7d074e3c 6304 commands, remove grub_rescue_register_command calls.
b1b797cb 6305
7d074e3c 6306 * normal/command.c (grub_register_command): Removed.
b1b797cb 6307 (grub_unregister_command): Likewise.
6308 (grub_command_find): Likewise.
6309 (grub_iterate_commands): Likewise.
6310 (rescue_command): Likewise.
6311 (export_command): Moved to corecmd.c.
6312 (set_command): Removed.
6313 (unset_command): Likewise.
6314 (insmod_command): Likewise.
6315 (rmmod_command): Likewise.
6316 (lsmod_command): Likewise.
6317 (grub_command_init): Likewise.
6318
6319 * normal/completion.c (iterate_command): Use cmd->prio to check for
6320 active command.
6321 (complete_arguments): Use grub_extcmd_t structure to find options.
6322 (grub_normal_do_completion): Change function grub_iterate_commands to
6323 grub_command_iterate.
6324
6325 * normal/execute.c (grub_script_execute_cmd): No need to parse
6326 argument here.
6327
6328 * normal/main.c (grub_dyncmd_dispatcher): New function.
6329 (read_command_list): Register unload commands as dyncmd.
6330 (grub_cmd_normal): Use new command interface, register rescue,
6331 unregister normal at entry, register normal, unregister rescue at exit.
6332
6333 * include/grub/list.h (grub_list_test_t): New type.
6334 (grub_list_iterate): Return int instead of void.
6335 (grub_list_insert): New function.
6336 (GRUB_AS_NAMED_LIST_P): New macro.
6337 (GRUB_AS_PRIO_LIST): Likewise.
6338 (GRUB_AS_PRIO_LIST_P): Likewise.
6339 (GRUB_PRIO_LIST_PRIO_MASK): New constant.
6340 (GRUB_PRIO_LIST_FLAG_ACTIVE): Likewise.
6341 (grub_prio_list): New structure.
6342 (grub_prio_list_insert): New function.
6343 (grub_prio_list_remove): New inline function.
6344
6345 * include/grub/normal.h: Remove <grub/arg.h>, add <grub/command.h>.
6346 (GRUB_COMMAND_FLAG_CMDLINE): Moved to command.h.
6347 (GRUB_COMMAND_FLAG_MENU): Likewise.
6348 (GRUB_COMMAND_FLAG_BOTH): Likewise.
6349 (GRUB_COMMAND_FLAG_TITLE): Likewise.
6350 (GRUB_COMMAND_FLAG_NO_ECHO): Likewise.
6351 (GRUB_COMMAND_FLAG_NO_ARG_PARSE): Removed.
6352 (GRUB_COMMAND_FLAG_NOT_LOADED): Likewise.
6353 (grub_command): Likewise.
6354 (grub_register_command): Likewise.
6355 (grub_command_find): Likewise.
6356 (grub_iterate_commands): Likewise.
6357 (grub_command_init): Likewise.
6358 (grub_arg_parse): Likewise.
6359 (grub_arg_show_help): Likewise.
6360
6361 * include/grub/rescue.h (grub_rescue_register_command): Removed.
6362 (grub_rescue_unregister_command): Likewise.
6363
6364 * include/grub/i386/bsd.h: Remove grub_rescue_cmd_freebsd,
6365 grub_rescue_cmd_openbsd, grub_rescue_cmd_netbsd,
6366 grub_rescue_cmd_freebsd_loadenv and grub_rescue_cmd_freebsd_module.
6367
6368 * include/grub/i386/efi/loader.h: Remove grub_rescue_cmd_linux and
6369 grub_rescue_cmd_initrd.
6370 * include/grub/i386/loader.h: Likewise.
6371 * include/grub/x86_64/loader.h: Likewise.
6372
6373 * include/grub/i386/pc/chainloader.h: Remove grub_chainloader_cmd.
6374
1f4147aa 63752009-03-21 Bean <bean123ch@gmail.com>
6376
6377 * util/hostdisk.c (read_device_map): Use grub_util_get_disk_size
6378 instead of stat in mingw environment.
6379
6380 * util/misc.c (grub_millisleep): Use Sleep in mingw environment.
6381
6382 * aclocal.m4 (grub_CHECK_LINK_DIR): New function.
6383
6384 * configure.ac: Use grub_CHECK_LINK_DIR to determine whether to use
6385 AC_CONFIG_LINKS.
6386
2156d5ba 63872009-03-21 Bean <bean123ch@gmail.com>
6388
6389 * fs/ext2.c (grub_ext2_mount): Change errno to GRUB_ERR_BAD_FS for
6390 out of range error.
6391
177b82ca 63922009-03-18 Michel Dänzer <michel@daenzer.net>
6393
6394 * fs/ext2.c (grub_ext2_read_block): Take endianness into account when
6395 checking inode flags for EXT4_EXTENTS_FLAG.
6396
14aad807 63972009-03-18 Robert Millan <rmh@aybabtu.com>
6398
6399 * loader/i386/linux.c: Include `<grub/video.h>' and
6400 `<grub/i386/pc/vbe.h>'..
6401 (grub_linux_setup_video): New function. Loosely based on the EFI one.
6402 (grub_linux32_boot): Attempt to configure video settings with
6403 grub_linux_setup_video().
6404 (grub_rescue_cmd_linux): Set noreturn=0 in grub_loader_set, in order
6405 to avoid grub_console_fini() which would step out of graphical mode
6406 unconditionally.
6407
8cf83a27 64082009-03-14 Robert Millan <rmh@aybabtu.com>
6409
6410 Fix build on powerpc.
6411 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Add `handler.h'.
6412
40164e75 64132009-03-12 Vladimir Serbinenko <phcoder@gmail.com>
6414
6415 * term/gfxterm.c (GRUB_MOD_FINI(term_gfxterm)): Correct name of
6416 background image command.
6417
c58bc32a 64182009-03-12 Colin D Bennett <colin@gibibit.com>
6419
6420 * term/gfxterm.c (draw_cursor): Ensure character is redrawn.
6421 (grub_gfxterm_putchar): Extract pairs of identical calls to
6422 draw_cursor out of conditional blocks.
6423
5415144a 64242009-03-11 Pavel Roskin <proski@gnu.org>
6425
6426 * fs/hfs.c (grub_hfs_strncasecmp): New function.
6427 (grub_hfs_cmp_catkeys): Use HFS specific string comparison.
6428
6394042e 64292009-03-11 Robert Millan <rmh@aybabtu.com>
6430
6431 * loader/i386/multiboot_elfxx.c
6432 (CONCAT(grub_multiboot_load_elf, XX)): Do not reject ET_DYN files.
6433
b7b50e5f 64342009-03-11 Felix Zielcke <fzielcke@z-51.de>
6435
6436 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add `kern/list.c' and
6437 `kern/handler.c'.
6438
1ca7fc96 64392009-03-11 Robert Millan <rmh@aybabtu.com>
6440
6441 * loader/i386/multiboot.c (code_size): New variable.
6442 (grub_multiboot): Define offsets by adding to `code_size' rather
7d074e3c 6443 than subtracting from `grub_multiboot_payload_size'. Provide
1ca7fc96 6444 4-byte alignment to MBI and others by increasing
7d074e3c 6445 `boot_loader_name_length' appropriately.
1ca7fc96 6446
6447 * loader/i386/multiboot_elfxx.c
6448 (CONCAT(grub_multiboot_load_elf, XX)): Initialize `code_size'.
6449
a83ea1d2 64502009-03-09 Felix Zielcke <fzielcke@z-51.de>
6451
6452 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove duplicated
6453 `fs/ext2.c'.
6454
aa9f3bff 64552009-03-08 Robert Millan <rmh@aybabtu.com>
6456
6457 Make loader/i386/linux.c usable on i386-pc again.
6458
6459 * kern/i386/pc/init.c (grub_machine_init): Disable addition of low
6460 memory to heap.
6461 * loader/i386/linux.c [GRUB_MACHINE_PCBIOS] (allocate_pages): Remove
6462 `#error' stanza.
6463
d8b3b60e 64642009-03-07 Bean <bean123ch@gmail.com>
6465
6466 * loader/i386/efi/linux.c (grub_rescue_cmd_initrd): Fix a bug in initrd
6467 allocation.
6468
b362c9e9 64692009-03-06 Robert Millan <rmh@aybabtu.com>
6470
6471 Fix display issue on terminals with screen size other than 80x25
6472 (e.g. gfxterm with resolution higher than 640x480).
6473
6474 * normal/main.c (grub_normal_init_page): Display title text in a
7d074e3c 6475 position relative to the center of the terminal instead of relying
b362c9e9 6476 on a hardcoded offset.
6477
9304eef1 64782009-03-04 Robert Millan <rmh@aybabtu.com>
6479
6480 Filter /etc/grub.d/10_* so that only add-ons for native kernels are
6481 installed.
6482
6483 * Makefile.in (host_kernel): New variable.
6484 * conf/common.rmk (grub-mkconfig_SCRIPTS): Conditionalize all 10_*.in
6485 scripts instead of just the windows one.
6486 * configure.ac: Initialize and AC_SUBST `host_kernel'.
6487
eabc95fb 64882009-03-04 Felix Zielcke <fzielcke@z-51.de>
2ba60b62 6489
6490 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `kern/list.c' and
6491 `kern/handler.c'.
6492 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
6493 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
6494 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
6495 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6496 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6497 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6498
ceb1223c 64992009-03-04 Felix Zielcke <fzielcke@z-51.de>
6500
6501 * partmap/pc.c (pc_partition_map_iterate): Skip over invalid BSD partitions
6502 or if there's no space for the disk label and print the partition number on a
6503 invalid magic.
6504
4910684a 65052009-03-04 Felix Zielcke <fzielcke@z-51.de>
6506
6507 * util/misc.c: Include <time.h>.
6508 (grub_millisleep): New function.
6509
7e9ca17a 65102009-03-04 Bean <bean123ch@gmail.com>
6511
6512 * configure.ac: Only test -mcmodel=large option in x86_64-efi, also add
6513 another option -mno-red-zone.
6514
6515 * commands/handler.c: Change module description.
6516
6517 * kern/handler.c: Add missing space at the end of description line.
6518
6519 * kern/list.c: Likewise.
6520
f501677c 65212009-03-03 Robert Millan <rmh@aybabtu.com>
6522
6523 Move more components to the relocation area, and fix mbi pointer
6524 handling to use the destination rather than the origin (thanks to
6525 Vladimir Serbinenko for spotting).
6526
6527 * loader/i386/multiboot.c (mbi_dest): New variable.
6528 (grub_multiboot_boot): Use `mbi_dest' instead of `mbi'.
6529 (grub_multiboot): Put cmdline, boot_loader_name and mbi in the
6530 relocation area.
6531
9902d047 65322009-03-01 Bean <bean123ch@gmail.com>
6533
50fb7002 6534 * include/grub/efi/api.h (GRUB_EFI_MPS_TABLE_GUID): New constant.
9902d047 6535 (GRUB_EFI_ACPI_TABLE_GUID): Likewise.
6536 (GRUB_EFI_ACPI_20_TABLE_GUID): Likewise.
6537 (GRUB_EFI_SMBIOS_TABLE_GUID): Likewise.
6538
6539 * loader/i386/efi/linux.c (acpi_guid): New variable.
6540 (acpi_guid): Likewise.
6541 (EBDA_SEG_ADDR): New constant.
6542 (LOW_MEM_ADDR): Likewise.
6543 (FAKE_EBDA_SEG): Likewise.
6544 (fake_bios_data): New function.
6545 (grub_linux_boot): Call fake_bios_data.
6546
71b9f361 65472009-03-01 Bean <bean123ch@gmail.com>
6548
6549 * commands/terminal.c: Removed.
6550
6551 * commands/handler.c: New file.
6552
6553 * include/grub/list.h: Likewise.
6554
6555 * include/grub/handler.h: Likewise.
6556
6557 * kern/list.c: Likewise.
6558
6559 * kern/handler.c: Likewise.
6560
6561 * kern/term.h: Include header file <grub/handler.h>.
6562 (grub_term_input): Move next field to the beginning.
6563 (grub_term_output): Likewise.
6564 (grub_term_input_class): New variable.
6565 (grub_term_output_class): Likewise.
6566 (grub_term_register_input): Changed to inline function.
6567 (grub_term_register_output): Likewise.
6568 (grub_term_unregister_input): Likewise.
6569 (grub_term_unregister_output): Likewise.
6570 (grub_term_set_current_input): Likewise.
6571 (grub_term_set_current_output): Likewise.
6572 (grub_term_get_current_input): Likewise.
6573 (grub_term_get_current_output): Likewise.
6574 (grub_term_iterate_input): Removed.
6575 (grub_term_iterate_output): Likewise.
6576
6577 * kern/term.c (grub_term_list_input): Removed.
6578 (grub_term_list_output): Likewise.
6579 (grub_term_input_class): New variable.
6580 (grub_term_output_class): Likewise.
50fb7002 6581 (grub_cur_term_input): Change variable as macro.
71b9f361 6582 (grub_cur_term_output): Likewise.
6583 (grub_term_register_input): Removed.
6584 (grub_term_register_output): Likewise.
6585 (grub_term_unregister_input): Likewise.
6586 (grub_term_unregister_output): Likewise.
6587 (grub_term_set_current_input): Likewise.
6588 (grub_term_set_current_output): Likewise.
6589 (grub_term_iterate_input): Likewise.
6590 (grub_term_iterate_output): Likewise.
6591 (grub_term_get_current_input): Likewise.
6592 (grub_term_get_current_output): Likewise.
6593
6594 * util/grub-editenv.c: Include header file <grub/handler.h>.
6595 (grub_term_get_current_input): Removed.
6596 (grub_term_get_current_output): Likewise.
6597 (grub_term_input_class): New variable.
50fb7002 6598 (grub_term_output_class): Likewise.
71b9f361 6599
6600 * util/grub-fstest.c (grub_term_get_current_input): Removed.
6601 (grub_term_get_current_output): Likewise.
6602 (grub_term_input_class): New variable.
50fb7002 6603 (grub_term_output_class): Likewise.
71b9f361 6604
6605 * util/grub-probe.c (grub_term_get_current_input): Removed.
6606 (grub_term_get_current_output): Likewise.
6607 (grub_term_input_class): New variable.
50fb7002 6608 (grub_term_output_class): Likewise.
71b9f361 6609
6610 * util/i386/pc/grub-setup.c (grub_term_get_current_input): Removed.
6611 (grub_term_get_current_output): Likewise.
6612 (grub_term_input_class): New variable.
50fb7002 6613 (grub_term_output_class): Likewise.
71b9f361 6614
6615 * conf/common.rmk (pkglib_MODULES): Replace terminal with handler.
6616 (terminal_mod_SOURCES): Likewise.
6617 (terminal_mod_CFLAGS): Likewise.
6618 (terminal_mod_LDFLAGS): Likewise.
6619
6620 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace terminal.c with
6621 handler.c.
6622 (kernel_img_SOURCES): Add list.c and handler.c.
6623 (kernel_img_HEADERS): Add list.h and handler.h.
6624
6625 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
6626 handler.c.
6627 (kernel_mod_SOURCES): Add list.c and handler.c.
6628 (kernel_mod_HEADERS): Add list.h and handler.h.
6629
6630 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Replace terminal.c with
6631 handler.c.
6632 (kernel_elf_SOURCES): Add list.c and handler.c.
6633 (kernel_elf_HEADERS): Add list.h and handler.h.
6634
6635 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
6636 handler.c.
6637 (kernel_elf_SOURCES): Add list.c and handler.c.
6638 (kernel_elf_HEADERS): Add list.h and handler.h.
6639
6640 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Replace terminal.c with
6641 handler.c.
6642 (kernel_mod_SOURCES): Add list.c and handler.c.
6643 (kernel_mod_HEADERS): Add list.h and handler.h.
6644
6645 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace terminal.c with
6646 handler.c.
6647 (kernel_elf_SOURCES): Add list.c and handler.c.
6648 (kernel_elf_HEADERS): Add list.h and handler.h.
6649
8a31787f 66502009-02-27 Robert Millan <rmh@aybabtu.com>
6651
6652 Factorize elf32 / elf64 code in Multiboot loader. This will
6653 prevent it from getting out of sync again.
6654
6655 * loader/i386/multiboot.c (grub_multiboot_is_elf32,
6656 grub_multiboot_load_elf32, grub_multiboot_is_elf64,
6657 grub_multiboot_load_elf64): Move from here ...
6658 * loader/i386/multiboot_elfxx.c (grub_multiboot_is_elf,
6659 grub_multiboot_load_elf): ... to here (new file).
6660
51cd3dfc 66612009-02-27 Robert Millan <rmh@aybabtu.com>
6662
6663 * util/grub.d/10_linux.in: Rename "single-user mode" to
6664 "recovery mode".
6665
6e8c9c3a 66662009-02-27 Vladimir Serbinenko <phcoder@gmail.com>
6667
6668 Don't leak in SCSI code.
6669 * disk/scsi.c (grub_scsi_close): free `scsi'.
6670
4b6bf4f9 66712009-02-27 Robert Millan <rmh@aybabtu.com>
6672
6673 * loader/i386/pc/multiboot.c: Move from here ...
6674 * loader/i386/multiboot.c: ... to here. Update all users.
6675
b9413424 66762009-02-27 Robert Millan <rmh@aybabtu.com>
6677
6678 Patch from Alexandre Bique <bique.alexandre@gmail.com>
6679 * util/i386/pc/grub-setup.c (setup): Fix directory path.
6680
50fb7002 66812009-02-27 Krzysztof Smiechowicz <deadwood@wp.pl>
34519c3f 6682
6683 * fs/sfs.c (grub_sfs_read_extent): Correction to traversing extent
6684 b-tree.
6685
8cc50345 66862009-02-27 Robert Millan <rmh@aybabtu.com>
6687
6688 * kern/misc.c (grub_strtoull): Fix bug (it mistakenly parsed the
6689 `0x' qualifier as 0 when base is specified as parameter).
6690
6e09b8b7 66912009-02-24 Bean <bean123ch@gmail.com>
6692
6693 * configure.ac: Check for -mcmodel=large in x86_64 target.
6694
6695 * include/grub/efi/api.h (efi_call_10): New macro.
6696 (efi_wrap_10): New function.
6697
6698 * include/grub/efi/pe32.h (GRUB_PE32_REL_BASE_HIGH): New macro.
6699 (GRUB_PE32_REL_BASED_HIGH): Likewise.
6700 (GRUB_PE32_REL_BASED_LOW): Likewise.
6701 (GRUB_PE32_REL_BASED_HIGHLOW): Likewise.
6702 (GRUB_PE32_REL_BASED_HIGHADJ): Likewise.
6703 (GRUB_PE32_REL_BASED_MIPS_JMPADDR): Likewise.
6704 (GRUB_PE32_REL_BASED_SECTION): Likewise.
6705 (GRUB_PE32_REL_BASED_REL): Likewise.
6706 (GRUB_PE32_REL_BASED_IA64_IMM64): Likewise.
6707 (GRUB_PE32_REL_BASED_DIR64): Likewise.
6708 (GRUB_PE32_REL_BASED_HIGH3ADJ): Likewise.
6709
6710 * kern/x86_64/dl.c (grub_arch_dl_relocate_symbols): Fixed relocation
6711 issue.
6712
6713 * kern/x86_64/efi/callwrap.S (efi_wrap_6): Bug fix.
6714 (efi_wrap_10): New function.
6715
6716 * kern/x86_64/efi/startup.S (codestart): Use relative addressing.
6717
6718 * loader/efi/appleloader.c (devpath_5): Add support for late 2008
6719 MB/MBP model (NV chipset).
6720 (devdata_devs): Add devpath_5 to the list.
6721
6722 * load/i386/efi/linux.c (video_base): Remove variable.
6723 (RGB_MASK): New macro.
6724 (RGB_MAGIC): Likewise.
6725 (LINE_MIN): Likewise.
6726 (LINE_MAX): Likewise.
6727 (FBTEST_STEP): Likewise.
6728 (FBTEST_COUNT): Likewise.
6729 (fb_list): New variable.
6730 (grub_find_video_card): Remove function.
6731 (find_framebuf): New function.
6732 (grub_linux_setup_video): Use find_framebuf to get frame buffer and
6733 line length.
6734
6735 * util/i386/efi/grub-mkimage.c (grub_reloc_section): Fix relocation
6736 problem for x86_64.
6737
74b21bee 67382009-02-22 Vesa Jääskeläinen <chaac@nic.fi>
6739
6740 Patch #25624 by Kevin Lacquement <kevin@lacqui>.
6741
6742 * util/grub-mkconfig.in: Use ${grub_mkdevicemap} instead of hard
6743 coding tool name.
6744
a455f472 67452009-02-22 Robert Millan <rmh@aybabtu.com>
6746
6747 * include/multiboot.h (MULTIBOOT_INFO_ALIGN): New macro.
6748 * loader/i386/pc/multiboot.c (grub_multiboot): Include the MBI
6749 in our relocation, instead of using it directly from heap. Also
6750 use `MULTIBOOT_INFO_ALIGN' to ensure it is aligned.
6751
6374daf3 67522009-02-21 Robert Millan <rmh@aybabtu.com>
6753
6754 Implement USB keyboard support (based on patch by Marco Gerards)
6755
6756 * conf/i386-pc.rmk (pkglib_MODULES): Add `usb_keyboard.mod'.
6757 (usb_keyboard_mod_SOURCES, usb_keyboard_mod_CFLAGS)
6758 (usb_keyboard_mod_LDFLAGS): New variables.
6759
6760 * term/usb_keyboard.c: New file.
6761
8fa4ea70 67622009-02-14 Vladimir Serbinenko <phcoder@gmail.com>
6763
6764 Corrected wrong declaration
6765
6766 * kern/disk.c: corrected declaration of grub_disk_ata_pass_through.
6767
353976ac 67682009-02-14 Christian Franke <franke@computer.org>
6769
6770 * commands/lspci.c (grub_pci_classes): Add `SATA Controller'.
6771 (grub_lspci_iter): Print class code and programming interface byte.
6772
6aa1169b 67732009-02-14 Christian Franke <franke@computer.org>
6774
6775 * gendistlist.sh: Ignore `.svn' directories.
6776
265372ca 67772009-02-14 Felix Zielcke <fzielcke@z-51.de>
6778
6779 * fs/fat.c: Add 2009 to Copyright line.
6780
9ff516f3 67812009-02-14 Christian Franke <franke@computer.org>
6782
6783 * commands/hdparm.c: New file. Provides `hdparm' command
6784 which sends ATA commands via grub_disk_ata_pass_through ().
6785
6786 * conf/i386-pc.rmk: Add ata_pthru.mod and hdparm.mod.
6787
6788 * disk/ata.c: Include <grub/ata.h>. Move <grub/misc.h>
6789 and <grub/cpu/io.h> to include/grub/ata.h.
6790 (enum grub_ata_addressing_t): Move to include/grub/ata.h.
6791 (GRUB_CDROM_SECTOR_SIZE): Remove.
6792 (GRUB_ATA_*): Move to include/grub/ata.h.
6793 (GRUB_ATAPI_*): Likewise.
6794 (enum grub_ata_commands): Likewise.
6795 (enum grub_ata_timeout_milliseconds): Likewise.
6796 (struct grub_ata_device): Likewise.
6797 (grub_ata_regset): Likewise.
6798 (grub_ata_regget): Likewise.
6799 (grub_ata_regset2): Likewise.
6800 (grub_ata_regget2): Likewise.
6801 (grub_ata_check_ready): Likewise.
6802 (grub_ata_wait_not_busy): Remove static, exported in
6803 include/grub/ata.h.
6804 (grub_ata_wait_drq): Likewise.
6805 (grub_ata_pio_read): Likewise.
6806
6807 * disk/ata_pthru.c: New file. Provides grub_ata_pass_through ()
6808 function for hdparm.mod.
6809
6810 * include/grub/ata.h: New file, contains declarations from
6811 disk/ata.c.
6812 (enum grub_ata_commands): Add new commands for commands/hdparm.c.
6813
6814 * include/grub/disk.h (grub_disk_ata_pass_through_parms): New struct.
6815 (grub_disk_ata_pass_through): New exported variable.
6816
6817 * kern/disk.c (grub_disk_ata_pass_through): New variable.
6818
772e23da 68192009-02-13 Colin D Bennett <colin@gibibit.com>
6820
6821 Support multiple fallback entries, and provide an API to support
6822 executing default+fallback menu entries. Renamed the `terminal' menu
6823 viewer to `text'.
6824
6825 * include/grub/normal.h (grub_normal_text_menu_viewer): New global
6826 variable declaration.
6827 (grub_menu_execute_callback): New structure declaration.
6828 (grub_menu_execute_callback_t): New typedef.
6829 (grub_menu_execute_with_fallback): New function declaration.
6830 (grub_menu_get_entry): Likewise.
6831 (grub_menu_get_timeout): Likewise.
6832 (grub_menu_set_timeout): Likewise.
6833
6834 * normal/main.c (GRUB_MOD_INIT(normal)): Refer to new variable name.
6835
6836 * normal/menu.c (grub_wait_after_message): Moved to
6837 `normal/menu_text.c'.
6838 (draw_border): Likewise.
6839 (print_message): Likewise.
6840 (print_entry): Likewise.
6841 (print_entries): Likewise.
6842 (grub_menu_init_page): Likewise.
6843 (get_entry_number): Likewise.
6844 (print_timeout): Likewise.
6845 (run_menu): Likewise.
6846 (grub_menu_execute_entry): Likewise.
6847 (show_text_menu): Likewise.
6848 (get_and_remove_first_entry_number): New function.
6849 (grub_menu_execute_with_fallback): Likewise.
6850 (get_entry): Renamed to ...
6851 (grub_menu_get_entry): .. this and made it global.
6852 (get_timeout): Renamed to ...
6853 (grub_menu_get_timeout): ... this and made it global.
6854 (set_timeout): Renamed to ...
6855 (grub_menu_set_timeout): ... this and made it global.
6856 (grub_normal_terminal_menu_viewer): Renamed to ...
6857 (grub_normal_text_menu_viewer): ... this.
6858
6859 * normal/menu_text.c: New file. Extracted text-menu-specific code
6860 from normal/menu.c.
6861
6862 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add `normal/menu_text.c'.
6863 (normal_mod_SOURCES): Likewise.
6864
6865 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
6866 (normal_mod_SOURCES): Likewise.
6867
6868 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6869 (normal_mod_SOURCES): Likewise.
6870
6871 * conf/i386-pc.rmk, (grub_emu_SOURCES): Likewise.
6872 (normal_mod_SOURCES): Likewise.
6873
6874 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6875 (normal_mod_SOURCES): Likewise.
6876
6877 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6878 (normal_mod_SOURCES): Likewise.
6879
6880 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
6881 (normal_mod_SOURCES): Likewise.
6882
16ac430e 68832009-02-11 Robert Millan <rmh@aybabtu.com>
6884
6885 * util/grub.d/00_header.in: Update old reference to `font' command.
6886
06ff20fc 68872009-02-10 Felix Zielcke <fzielcke@z-51.de>
6888
6889 * fs/fat.c (grub_fat_mount): Fix wrong comparison.
6890
6891 Based on patch from Javier Martín.
6892
96da9407 68932009-02-09 Felix Zielcke <fzielcke@z-51.de>
6894
6895 * conf/common.rmk (grub_probe_SOURCES): Move fs/ext2.c before fs/fat.c
50fb7002 6896 to avoid false positives with FAT.
96da9407 6897 (grub_fstest_SOURCES): Likewise.
6898 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
6899 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
6900 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6901 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
6902 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6903 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
6904
6dca6fe4 69052009-02-09 Felix Zielcke <fzielcke@z-51.de>
6906
06ff20fc 6907 * fs/fat.c (grub_fat_mount): Try to avoid false positives by checking
6dca6fe4 6908 bpb.version_specific.fat12_or_fat16.fstype and
6909 bpb.version_specific.fat32.fstype.
6910
2550c62f 69112009-02-08 Robert Millan <rmh@aybabtu.com>
6912
be110b30 6913 * fs/tar.c: Replace "fs/cpio.c" with "cpio.c".
2550c62f 6914
56978920 69152009-02-08 Robert Millan <rmh@aybabtu.com>
6916
6917 * Makefile.in (host_os, host_cpu): New variables.
6918 (target_os): Remove. Update all users.
6919
d64399b5 69202009-02-08 Marco Gerards <marco@gnu.org>
6921
6922 * Makefile.in (enable_grub_emu_usb): New variable.
6923 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/scsi.c'.
6924 (grub_emu_SOURCES) [grub_emu_SOURCES]: Add `disk/usbms.c',
6925 `util/usb.c', `bus/usb/usb.c' and `commands/usbtest.c'.
6926 (grub_emu_LDFLAGS): Add `$(LIBUSB)'.
6927 (pkglib_MODULES): Add `usb.mod', `uhci.mod', `ohci.mod',
6928 `usbtest.mod' and `usbms.mod'.
6929 (usb_mod_SOURCES, usb_mod_CFLAGS, usb_mod_LDFLAGS)
6930 (usbtest_mod_SOURCES, usbtest_mod_CFLAGS, usbtest_mod_LDFLAGS)
6931 (uhci_mod_SOURCES, uhci_mod_CFLAGS, uhci_mod_LDFLAGS,
6932 (ohci_mod_SOURCES, ohci_mod_CFLAGS, ohci_mod_LDFLAGS)
6933 (usbms_mod_SOURCES, usbms_mod_CFLAGS, usbms_mod_LDFLAGS): New
6934 variables.
6935
6936 * disk/usbms.c: New file.
6937
6938 * include/grub/usb.h: Likewise.
6939
6940 * include/grub/usbtrans.h: Likewise.
6941
6942 * include/grub/usbdesc.h: Likewise.
6943
6944 * bus/usb/usbtrans.c: Likewise.
6945
6946 * bus/usb/ohci.c: Likewise.
6947
6948 * bus/usb/uhci.c: Likewise.
6949
6950 * bus/usb/usbhub.c: Likewise.
6951
6952 * bus/usb/usb.c: Likewise.
6953
6954 * commands/usbtest.c: Likewise.
6955
6956 * util/usb.c: Likewise.
50fb7002 6957
d64399b5 6958 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_IO'.
6959
6960 * configure.ac: Test for libusb presence.
50fb7002 6961
d64399b5 6962 * util/grub-emu.c (main) [HAVE_LIBUSB_H]: Call `grub_libusb_init'.
6963
2b40d6bb 69642009-02-08 Vesa Jääskeläinen <chaac@nic.fi>
6965
6966 * kern/mm.c: Add more comments.
6967
73a4ce81 69682009-02-08 Robert Millan <rmh@aybabtu.com>
6969
6970 Patch from Javier Martín.
6971 * fs/ext2.c (EXT2_DRIVER_SUPPORTED_INCOMPAT): Add
6972 `EXT4_FEATURE_INCOMPAT_FLEX_BG'.
6973
f821ce59 69742009-02-08 Robert Millan <rmh@aybabtu.com>
6975
6976 * fs/cpio.c: Split tar functionality to ...
6977 * fs/tar.c: ... here (new file). Update all users.
6978
aebfc4b0 69792009-02-07 Robert Millan <rmh@aybabtu.com>
6980
6981 * fs/ext2.c (grub_ext2_mount): Avoid mounting filesystems with
6982 backward-incompatible features.
6983
6984 Based on patch from Javier Martín, with some adjustments.
6985
50fb7002 69862009-02-07 Michael Scherer <misc@mandriva.org>
cea15bca 6987
6988 * fs/hfs.c (grub_hfsplus_iterate_dir): Treat hfs+ as case insensitive.
6989
0bb5115e 69902009-02-07 Robert Millan <rmh@aybabtu.com>
6991
6992 * conf/common.rmk (grub_probe_SOURCES, grub_fstest_SOURCES): Move
6993 position of `disk/lvm.c' to ensure grub_init_all() always picks it
6994 after the RAID stuff.
6995
38a0f8e7 69962009-02-05 Vesa Jääskeläinen <chaac@nic.fi>
6997
50fb7002 6998 Fixes problem when running vbetest command as reported by
38a0f8e7 6999 Vladimir Serbinenko <phcoder@gmail.com>.
7000
7001 * (grub_vbe_set_video_mode): Fixed problem with text modes.
7002
3143cc1c 70032009-02-04 Felix Zielcke <fzielcke@z-51.de>
7004
7005 util/getroot.c (grub_util_get_grub_dev): Add support for /dev/mdNpN and
7006 /dev/md/NpN style mdraid devices.
7007
9cba6fce 70082009-02-03 Felix Zielcke <fzielcke@z-51.de>
7009
7010 * util/unifont2pff.rb: Remove.
7011
e507a2c1 70122009-02-03 Felix Zielcke <fzielcke@z-51.de>
7013
7014 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add a missing trailing
7015 `#'.
7016
d2c2b4cd 70172009-02-03 Felix Zielcke <fzielcke@z-51.de>
7018
7019 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/menu_viewer.c'.
7020 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
7021 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
7022 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Likewise.
7023 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7024 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7025 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
7026
b4315fb0 70272009-02-02 Christian Franke <franke@computer.org>
7028
7029 * lib/hexdump.c (hexdump): Print at most 3 lines if data is identical.
7030
de3aa260 70312009-02-01 Felix Zielcke <fzielcke@z-51.de>
7032
7c3ff286 7033 * INSTALL: Note that we now require at least autoconf 2.59 and
7034 that LZO is optional.
de3aa260 7035
825a182b 70362009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
7037
7038 Base on patch on bug #24154 created by Tomas Tintera
7039 <trosos@seznam.cz>.
7040
7041 * video/i386/pc/vbe.c (grub_video_vbe_scroll): Fix downward scrolling.
7042
a69ef770 70432009-02-01 Vesa Jääskeläinen <chaac@nic.fi>
7044
7c3ff286 7045 Based on patch on bug #25318 created by Bernhard Rosenkraenzer
a69ef770 7046 <bero@arklinux.org>.
7047
7048 * normal/parser.y (script_init): Add missing semicolon.
7049
6fa42fa6 70502009-01-31 Colin D Bennett <colin@gibibit.com>
7051
7c3ff286 7052 * normal/main.c: Add include to grub/menu_viewer.h.
6fa42fa6 7053 (free_menu_entry_classes): Added.
7054 (grub_normal_menu_addentry): Added class property handling.
7055 (grub_normal_execute): Changed to use new menu viewer for menu viewing.
7056 (GRUB_MOD_INIT(normal)): Added register for text based menu viewer.
7057
7058 * normal/menu_viewer.c: New file.
7059
7060 * normal/menu.c (run_menu_entry): Renamed to ...
7061 (grub_menu_execute_entry): ... this and made it as global.
7062 (grub_menu_run): Renamed to ...
7063 (show_text_menu): ... this and made it local.
7064 (show_text_menu): Adapt to new function names.
7065 (grub_normal_terminal_menu_viewer): New global variable.
7066
7067 * include/grub/menu.h: New file.
7068
7069 * include/grub/menu_viewer.h: New file.
7070
7071 * include/grub/normal.h: Added include to grub/menu.h.
7072 (grub_menu_entry): Moved to include/grub/menu.h.
7073 (grub_menu_entry_t): Likewise.
7074 (grub_menu): Likewise.
7075 (grub_menu_t): Likewise.
7076 (grub_normal_terminal_menu_viewer): Added.
7077 (grub_menu_execute_entry): Likewise.
7078 (grub_menu_run): Removed.
7079
7080 * DISTLIST: Added include/grub/menu.h.
7081 Added include/grub/menu_viewer.h.
7082 Added normal/menu_viewer.c.
7083
70842009-01-31 Vesa Jääskeläinen <chaac@nic.fi>
7085
7086 * normal/execute.c (grub_script_execute_menuentry): Changed to use
7087 arglist for menutitle arguments.
7088
7089 * normal/main.c (grub_normal_menu_addentry): Likewise.
7090
7091 * normal/parser.y (menuentry): Likewise.
7092
7093 * normal/script.c (grub_script_create_cmdmenu): Likewise.
7094
7095 * include/grub/script.h (grub_script_cmd_menuentry): Likewise.
7096 (grub_script_create_cmdmenu): Likewise.
7097
7098 * include/grub/normal.h (grub_normal_menu_addentry): Likewise.
7099
7100 * conf/i386-pc.rmk (normal_mod_SOURCES): Adapt Colin D Bennett's
7101 changes.
7102
7103 * conf/x86_64-efi.rmk (normal_mod_SOURCES): Likewise.
7104
7105 * conf/i386-coreboot.rmk (normal_mod_SOURCES): Likewise.
7106
7107 * conf/i386-efi.rmk (normal_mod_SOURCES): Likewise.
7108
7109 * conf/i386-ieee1275.rmk (normal_mod_SOURCES): Likewise.
7110
7111 * conf/powerpc-ieee1275.rmk (normal_mod_SOURCES): Likewise.
7112
7113 * conf/sparc64-ieee1275.rmk (normal_mod_SOURCES): Likewise.
7114
56192c23 71152009-01-30 Christian Franke <franke@computer.org>
7116
7117 * normal/arg.c (grub_arg_show_help): Add indentation if '\n' appears
7118 in option help text.
7119
d72521b3 71202009-01-27 Pavel Roskin <proski@gnu.org>
7121
7122 * disk/fs_uuid.c (search_fs_uuid): Ignore case of the UUID.
7123
994b5e84 71242009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
7125
7126 * commands/lsmmap.c: Add include to grub/machine/memory.h.
7127
7128 * fs/i386/pc/pxe.c (grub_pxefs_open): Fix sign problem.
7129
7130 * term/i386/pc/at_keyboard.c (GRUB_MOD_FINI(at_keyboard)): Use proper
7131 unregister function.
7132
6a7eab2c 71332009-01-27 Vesa Jääskeläinen <chaac@nic.fi>
7134
7135 * disk/scsi.c (grub_scsi_read): Fix sign problem.
7136
7137 * term/i386/pc/vga_text.c (grub_vga_text_init_fini). Fix declaration.
7138
7139 * util/grub-mkfont.c (usage): Fix typo.
7140
7141 * util/elf/grub-mkimage.c (load_modules): Fix warning.
7142
1806b56e 71432009-01-26 Daniel Mierswa <impulze@impulze.org>
7144
3fb18f09 7145 * fs/fat.c (grub_fat_uuid): Fix shift of the first two bytes.
7146
336e1fb9 7147 * commands/search.c (search_fs_uuid): Ignore case of the UUID.
7148
1806b56e 7149 * kern/misc.c (grub_strcasecmp): New function.
7150 (grub_strcasecmp): Use grub_size_t instead of int for length.
7151 Fix return value.
7152 * include/grub/misc.h: Update function prototypes.
7153
580b2a0f 71542009-01-26 Robert Millan <rmh@aybabtu.com>
7155
7156 * configure.ac: Fix cross-compilation check.
ef257b36 7157
d31c24f1 71582009-01-22 Christian Franke <franke@computer.org>
7159
7160 * kern/misc.c (grub_vsprintf): Fix size and termination of `format2'
7161 (precision) digit string. Allow `.format2' without `format1' (width).
7162 Limit input chars for `%s' output to `format2' if specified. This is
7163 compatible with standard printf ().
7164
3138b44c 71652009-01-22 Christian Franke <franke@computer.org>
7166
7167 * disk/ata.c (grub_ata_wait_status): Replace by ...
7168 (grub_ata_wait_not_busy): ... this function. Checks only BSY bit,
7169 other status bits may be invalid while BSY is asserted.
7170 (grub_ata_check_ready): New function.
7171 (grub_ata_cmd): Removed.
7172 (grub_ata_wait_drq): New function.
7173 (grub_ata_strncpy): Remove inline.
7174 (grub_ata_pio_read): Reduce to actual block transfer. BSY wait
7175 and error check now done by grub_ata_wait_drq ().
7176 (grub_ata_pio_write): Likewise.
7177 (grub_atapi_identify): Set DEV before check for !BSY. Use
7178 grub_ata_wait_drq () to wait for data.
7179 (grub_ata_device_initialize): Add status register check to
7180 detect missing SATA slave devices. Add debug messages.
7181 (grub_atapi_wait_drq): Use grub_ata_wait_not_busy ().
7182 (grub_atapi_packet): Set DEV before check for !BSY. Replace
7183 transfer loop by grub_ata_pio_write ().
7184 (grub_ata_identify): Set DEV before check for !BSY. Use
7185 grub_ata_wait_drq () to wait for data.
ef257b36 7186 (grub_ata_setaddress): Set DEV before check for !BSY.
3138b44c 7187 (grub_ata_readwrite): Remove duplicate code, handle batch/rest and
7188 read/write in one loop. Fix invalid command on write. Fix incomplete
7189 command on (size % batch) == 0. Add missing error check after write of
7190 last block. Add debug messages.
7191 (grub_atapi_read): Replace transfer loop by grub_ata_pio_read ().
7192
59a64ef6 71932009-01-19 Christian Franke <franke@computer.org>
7194
7195 * disk/ata.c (GRUB_ATAPI_REG_*): New defines.
7196 (GRUB_ATAPI_IREASON_*): Likewise.
7197 (grub_ata_pio_write): Fix timeout error return.
7198 (grub_atapi_identify): Add grub_ata_wait () after cmd.
7199 (grub_atapi_wait_drq): New function.
7200 (grub_atapi_packet): New parameter `size'.
7201 Use grub_atapi_wait_drq () and direct write instead of
7202 grub_ata_pio_write ().
7203 (grub_atapi_read): Replace grub_ata_pio_read () by a loop which
7204 reads the number of bytes requested by the device for each DRQ
7205 assertion.
7206 (grub_atapi_write): Remove old implementation, return not
7207 implemented instead.
7208
1cfe20b3 72092009-01-19 Christian Franke <franke@computer.org>
7210
7211 * disk/scsi.c (grub_scsi_read10): Use scsi->blocksize instead
7212 of 512 to calculate data size.
7213 (grub_scsi_read12): Likewise.
7214 (grub_scsi_write10): Likewise.
7215 (grub_scsi_write12): Likewise.
7216 (grub_scsi_read): Adjust size according to blocksize.
7217 Add checks for invalid blocksize and unaligned transfer.
7218
bee5fe5d 72192009-01-19 Vesa Jääskeläinen <chaac@nic.fi>
7220
7221 * font/font.c (grub_font_loader_init): Re-position unknown glyph.
7222
ef257b36 7223 * term/gfxterm.c (write_char): Fix background rendering for wide
bee5fe5d 7224 width glyphs.
7225
3e643f8c 72262009-01-19 Robert Millan <rmh@aybabtu.com>
7227
7228 * config.guess: Update to latest version from config git.
7229 * config.sub: Likewise.
7230
4fa80998 72312009-01-17 Felix Zielcke <fzielcke@z-51.de>
7232
7233 * Makefile.in: Change font compilation to use new grub-mkfont instead
7234 of java version.
7235
7236 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: Remove.
7237 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
7238 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
7239 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
7240 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
7241 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
7242 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
7243 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
7244 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
7245
7086085b 72462009-01-16 Christian Franke <franke@computer.org>
7247
7248 * disk/ata.c (enum grub_ata_commands): Remove EXEC_DEV_DIAGNOSTICS.
7249 (enum grub_ata_timeout_milliseconds): New enum.
7250 (grub_ata_wait_status): Add parameter milliseconds.
7251 (grub_ata_cmd): Remove variable `err'. Remove wait for !DRQ to allow
7252 recovery from timed-out commands.
7253 (grub_ata_pio_read): Add parameter milliseconds. Fix error return,
7254 return grub_errno instead of REG_ERROR.
7255 (grub_ata_pio_write): Add parameter milliseconds.
7256 (grub_atapi_identify): Fix size of ATAPI IDENTIFY sector.
7257 Pass milliseconds to grub_ata_wait_status () and
7258 grub_ata_pio_read ().
7259 (grub_atapi_packet): Pass milliseconds to grub_ata_pio_write ().
7260 (grub_ata_identify): Remove variable `ataerr'. Pass milliseconds to
7261 grub_ata_wait_status (). Fix IDENTIFY timeout check.
7262 (grub_ata_device_initialize): Remove EXECUTE DEVICE DIAGNOSTICS.
7263 It is not suitable for device detection, because DEV bit is ignored,
7264 the command may run too long, and not all devices set the signature
7265 properly.
7266 (grub_ata_pciinit): Clear grub_errno before grub_ata_device_initialize ().
7267 (grub_ata_setaddress): Pass milliseconds to grub_ata_wait_status ().
7268 Fix device selection, DEV bit must be set first to address the registers
7269 of the correct device.
7270 (grub_ata_readwrite): Pass milliseconds to grub_ata_wait_status () and
7271 grub_ata_pio_read/write ().
7272 (grub_atapi_read): Pass milliseconds to grub_ata_pio_read ().
7273 (grub_atapi_write): Pass milliseconds to grub_ata_pio_write ().
7274
4a412913 72752009-01-13 Carles Pina i Estany <carles@pina.cat>
7276
7277 * util/grub-editenv.c (main): Use fseeko(), not fseek().
7278
7795c55e 72792009-01-13 Bean <bean123ch@gmail.com>
d913988c 7280
7281 * util/grub-mkfont.c (write_font): forget to remove some debug code.
7282
7795c55e 72832009-01-13 Bean <bean123ch@gmail.com>
e52db1f7 7284
7285 * Makefile.in: (enable_grub_mkfont): New variable.
7286 (freetype_cflags): Likewise.
7287 (freetype_libs): Likewise.
7288
7289 * common.rmk (bin_UTILITIES): Add `grub-mkfont' if requested.
7290 (grub_mkfont_SOURCES): New variable.
7291 (grub_mkfont_CFLAGS): Likewise.
7292 (grub_mkfont_LDFLAGS): Likewise.
7293
7294 * configure.ac (--enable-grub-mkfont): New option. Check for freetype2
7295 library if `--enable-grub-mkfont' is requested.
7296 (enable_grub_mkfont): New variable.
7297 (freetype_cflags): Likewise.
7298 (freetype_libs): Likewise.
7299
7300 * util/grub-mkfont.c: New file.
7301
093af1fe 73022009-01-12 Christian Franke <franke@computer.org>
7303
7304 * disk/ata.c (grub_ata_pciinit): Fix bit numbers of compatibility
7305 mode check. Fix setting of compat_use[].
7306
f36cc108 73072009-01-10 Robert Millan <rmh@aybabtu.com>
7308
7309 Update a few copyright years which we forgot to do in 2008 (only for
7310 files whose changes made in 2008 were copyright-significant)
7311
7312 * Makefile.in: Add 2008 to Copyright line.
7313 * disk/ieee1275/ofdisk.c: Likewise.
7314 * disk/efi/efidisk.c: Likewise.
7315 * kern/dl.c: Likewise.
7316 * kern/sparc64/ieee1275/init.c: Likewise.
7317 * kern/mm.c: Likewise.
7318 * kern/efi/mm.c: Likewise.
7319 * boot/i386/pc/boot.S: Likewise.
7320 * genfslist.sh: Likewise.
7321 * fs/iso9660.c: Likewise.
7322 * fs/hfs.c: Likewise.
7323 * fs/jfs.c: Likewise.
7324 * fs/minix.c: Likewise.
7325 * fs/ufs.c: Likewise.
7326 * gensymlist.sh.in: Likewise.
7327 * genkernsyms.sh.in: Likewise.
7328 * include/grub/misc.h: Likewise.
7329 * include/grub/types.h: Likewise.
7330 * include/grub/symbol.h: Likewise.
7331 * include/grub/elf.h: Likewise.
7332 * include/grub/kernel.h: Likewise.
7333 * include/grub/disk.h: Likewise.
7334 * include/grub/dl.h: Likewise.
7335 * include/grub/i386/linux.h: Likewise.
7336 * include/grub/i386/pc/biosdisk.h: Likewise.
7337 * include/grub/efi/api.h: Likewise.
7338 * include/grub/efi/pe32.h: Likewise.
7339 * include/grub/util/misc.h: Likewise.
7340 * normal/execute.c: Likewise.
7341 * normal/arg.c: Likewise.
7342 * normal/completion.c: Likewise.
7343 * normal/lexer.c: Likewise.
7344 * normal/parser.y: Likewise.
7345 * normal/misc.c: Likewise.
7346 * commands/i386/pc/vbeinfo.c: Likewise.
7347 * commands/hexdump.c: Likewise.
7348 * commands/terminal.c: Likewise.
7349 * commands/ls.c: Likewise.
7350 * commands/help.c: Likewise.
7351 * partmap/pc.c: Likewise.
7352 * loader/efi/chainloader.c: Likewise.
7353 * loader/multiboot_loader.c: Likewise.
7354 * loader/i386/pc/multiboot2.c: Likewise.
7355 * term/efi/console.c: Likewise.
7356 * term/i386/pc/serial.c: Likewise.
7357 * util/lvm.c: Likewise.
7358 * util/console.c: Likewise.
7359 * util/i386/efi/grub-mkimage.c: Likewise.
7360 * util/raid.c: Likewise.
7361
7f02114b 73622009-01-06 Vesa Jääskeläinen <chaac@nic.fi>
7363
7364 * commands/videotest.c: Removed include to grub/machine/memory.h.
7365
7366 * conf/i386-pc.rmk (pkglib_MODULES): Removed video.mod, gfxterm.mod,
7367 videotest.mod, bitmap.mod, tga.mod, jpeg.mod, png.mod.
7368 (video_mod_SOURCES): Removed.
7369 (video_mod_CFLAGS): Likewise.
7370 (video_mod_LDFLAGS): Likewise.
7371 (gfxterm_mod_SOURCES): Likewise.
7372 (gfxterm_mod_CFLAGS): Likewise.
7373 (gfxterm_mod_LDFLAGS): Likewise.
7374 (videotest_mod_SOURCES): Likewise.
7375 (videotest_mod_CFLAGS): Likewise.
7376 (videotest_mod_LDFLAGS): Likewise.
7377 (bitmap_mod_SOURCES): Likewise.
7378 (bitmap_mod_CFLAGS): Likewise.
7379 (bitmap_mod_LDFLAGS): Likewise.
7380 (tga_mod_SOURCES): Likewise.
7381 (tga_mod_CFLAGS): Likewise.
7382 (tga_mod_LDFLAGS): Likewise.
7383 (jpeg_mod_SOURCES): Likewise.
7384 (jpeg_mod_CFLAGS): Likewise.
7385 (jpeg_mod_LDFLAGS): Likewise.
7386 (png_mod_SOURCES): Likewise.
7387 (png_mod_CFLAGS): Likewise.
7388 (png_mod_LDFLAGS): Likewise.
7389
7390 * conf/common.rmk (pkglib_MODULES): Added video.mod, videotest.mod,
7391 bitmap.mod, tga.mod, jpeg.mod, png.mod, font.mod, gfxterm.mod
7392 (video_mod_SOURCES): Added.
7393 (video_mod_CFLAGS): Likewise.
7394 (video_mod_LDFLAGS): Likewise.
7395 (videotest_mod_SOURCES): Likewise.
7396 (videotest_mod_CFLAGS): Likewise.
7397 (videotest_mod_LDFLAGS): Likewise.
7398 (bitmap_mod_SOURCES): Likewise.
7399 (bitmap_mod_CFLAGS): Likewise.
7400 (bitmap_mod_LDFLAGS): Likewise.
7401 (tga_mod_SOURCES): Likewise.
7402 (tga_mod_CFLAGS): Likewise.
7403 (tga_mod_LDFLAGS): Likewise.
7404 (jpeg_mod_SOURCES): Likewise.
7405 (jpeg_mod_CFLAGS): Likewise.
7406 (jpeg_mod_LDFLAGS): Likewise.
7407 (png_mod_SOURCES): Likewise.
7408 (png_mod_CFLAGS): Likewise.
7409 (png_mod_LDFLAGS): Likewise.
7410 (gfxterm_mod_SOURCES): Likewise.
7411 (gfxterm_mod_CFLAGS): Likewise.
7795c55e 7412 (gfxterm_mod_LDFLAGS): Likewise.
7f02114b 7413
7414 * term/gfxterm.c: Removed include to grub/machine/memory.h,
7415 grub/machine/console.h.
7416
644fff97 74172009-01-04 Jerone Young <jerone@gmail.com>
7418
7419 Make on screen instructions clearer
7420
7421 Based on patch created by Jidanni <jidanni@jidanni.org>
7422
7423 * normal/menu.c: print clearer instructions on the screen
7424
1e901a75 74252009-01-02 Colin D Bennett <colin@gibibit.com>
7426
7427 New font engine.
34c44600 7428
1e901a75 7429 Additional changes by Vesa Jääskeläinen <chaac@nic.fi> to adapt to
7430 build system and fixed gfxterm.c to work with different sized fonts.
7431
7432 * configure.ac: Changed UNIFONT_HEX to UNIFONT_BDF.
34c44600 7433
1e901a75 7434 * configure: Re-generated.
34c44600 7435
1e901a75 7436 * DISTLIST: Removed font/manager.c.
7437 Added font/font.c.
7438 Added font/font_cmd.c.
34c44600 7439
1e901a75 7440 * Makefile.in: Changed UNIFONT_HEX to UNIFONT_BDF. Added Font tool
7441 compilation.
34c44600 7442
1e901a75 7443 * include/grub/misc.h (grub_utf8_to_ucs4): Changed prototype. Changed users.
34c44600 7444
7445 * kern/misc.c (grub_utf8_to_ucs4): Changed prototype.
1e901a75 7446
7447 * kern/term.c: Changed users of grub_utf8_to_ucs4.
34c44600 7448
1e901a75 7449 * normal/menu.c: Likewise.
34c44600 7450
1e901a75 7451 * conf/common.rmk (font_mod_SOURCES): Removed font/manager.c.
7452 (font_mod_SOURCES): Added font/font_cmd.c, font/font.c.
34c44600 7453
1e901a75 7454 * include/grub/font.h: Replaced with new file.
34c44600 7455
1e901a75 7456 * include/grub/video.h (GRUB_VIDEO_MODE_TYPE_ALPHA): Changed value.
7457 (GRUB_VIDEO_MODE_TYPE_DOUBLE_BUFFERED): Likewise.
7458 (GRUB_VIDEO_MODE_TYPE_COLOR_MASK): Likewise.
7459 (GRUB_VIDEO_MODE_TYPE_1BIT_BITMAP): Added.
7460 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_1BIT_PACKED.
34c44600 7461 (grub_video_mode_info): Added bg_red, bg_green, bg_blue, bg_alpha,
1e901a75 7462 fg_red, fg_green, fg_blue, fg_alpha.
7463 (grub_video_adapter): Removed blit_glyph.
34c44600 7464 (grub_video_blit_glyph): Removed.
7465
1e901a75 7466 * font/manager.c: Removed file.
34c44600 7467
7468 * font/font.c: New file.
7469
1e901a75 7470 * font/font_cmd.c: Likewise.
34c44600 7471
1e901a75 7472 * video/video.c (grub_video_blit_glyph): Removed.
34c44600 7473
1e901a75 7474 * video/i386/pc/vbe.c (grub_video_vbe_map_rgb): Added 1-bit support.
7475 (grub_video_vbe_map_rgba): Likewise.
7476 (grub_video_vbe_unmap_color_int): Likewise.
7477 (grub_video_vbe_blit_glyph): Removed.
7478 (grub_video_vbe_adapter): Removed blit_glyph.
34c44600 7479
1e901a75 7480 * video/i386/pc/vbeutil.c (get_data_ptr): Added 1-bit support.
7481 (get_pixel): Likewise.
34c44600 7482 (set_pixel): Likewise.
7483
1e901a75 7484 * commands/videotest.c (grub_cmd_videotest): Added more tests for fonts.
34c44600 7485
1e901a75 7486 * term/gfxterm.c: Adapted to new font engine.
34c44600 7487
1e901a75 7488 * term/i386/pc/vesafb.c: Marked as deprecated. Made it compile.
34c44600 7489
1e901a75 7490 * term/i386/pc/vga.c: Likewise.
34c44600 7491
1e901a75 7492 * util/fonttool/src/org/gnu/grub/fonttool/BDFLoader.java: New file.
34c44600 7493
1e901a75 7494 * util/fonttool/src/org/gnu/grub/fonttool/CharDefs.java: Likewise.
34c44600 7495
1e901a75 7496 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 7497
1e901a75 7498 * util/fonttool/src/org/gnu/grub/fonttool/CharacterRange.java: Likewise.
34c44600 7499
1e901a75 7500 * util/fonttool/src/org/gnu/grub/fonttool/Converter.java: Likewise.
34c44600 7501
1e901a75 7502 * util/fonttool/src/org/gnu/grub/fonttool/Font.java: Likewise.
34c44600 7503
1e901a75 7504 * util/fonttool/src/org/gnu/grub/fonttool/Glyph.java: Likewise.
34c44600 7505
1e901a75 7506 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Sections.java: Likewise.
34c44600 7507
1e901a75 7508 * util/fonttool/src/org/gnu/grub/fonttool/PFF2Writer.java: Likewise.
7509
7510 * util/grub.d/00_header.in: Changed to use new loadfont command.
34c44600 7511
1e901a75 7512 * util/grub-mkconfig_lib.in: Changed font extension.
7513
278922e8 75142008-12-28 Felix Zielcke <fzielcke@z-51.de>
7515
7516 * util/getroot.c (grub_util_get_grub_dev): Add support for
7517 /dev/md/dNNpNN style partitionable mdraid devices.
7518
3ced05cf 75192008-12-12 Alex Smith <alex@alex-smith.me.uk>
7520
7521 * fs/i386/pc/pxe.c (grub_pxefs_open): Handle the one open connection
7522 at a time limit of the PXE TFTP API correctly.
7523 (grub_pxefs_close): Likewise.
7524
7fd0ee30 75252008-11-29 Robert Millan <rmh@aybabtu.com>
7526
34c44600 7527 * disk/ata.c (grub_ata_pciinit): Handle errors raised by
7fd0ee30 7528 grub_ata_device_initialize() calls.
7529
34c44600 75302008-11-28 Krzysztof Smiechowicz <deadwood@wp.pl>
0c5e79ab 7531
7532 * fs/affs.c (grub_affs_iterate_dir): Return failure when directory
7533 iteration failed.
7534 * fs/sfs.c (grub_sfs_iterate_dir): Likewise.
7535
89313780 75362008-11-28 Robert Millan <rmh@aybabtu.com>
7537
7538 Fix build on powerpc-ieee1275. Based on patch created by
7539 Manoel Abranches <mrabran@linux.vnet.ibm.com>.
7540 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
7541 `kern/ieee1275/mmap.c'.
7542 * include/grub/powerpc/ieee1275/memory.h: New file.
7543
15257703 7544 Provide grub-install on coreboot.
7545 * conf/i386-coreboot.rmk (sbin_SCRIPTS): Add `grub-install'.
7546 (grub_install_SOURCES): New variable.
7547 * util/i386/pc/grub-install.in: Add a few condition checks to make it
7548 usable on coreboot.
7549
9fc5388a 75502008-11-25 Felix Zielcke <fzielcke@z-51.de>
7551
7552 * util/grub-fstest.c (grub_term_get_current_input): Change return type
7553 to `grub_term_input_t'.
7554 (grub_term_get_current_output): Change return type to
7555 `grub_term_output_t'.
7556
bc3a2f31 75572008-11-22 Robert Millan <rmh@aybabtu.com>
7558
34c44600 7559 Fix breakage on coreboot due to declaration mismatch.
bc3a2f31 7560 * term/i386/pc/vga_text.c (grub_vga_text_init_fini): New function.
7561 (grub_vga_text_term): Use grub_vga_text_init_fini() instead of
7562 grub_vga_text_cls().
7563
80fc88f2 7564 * kern/i386/loader.S (grub_multiboot_backward_relocator): Improve
34c44600 7565 comments. Avoid copying one more byte than necessary (just in case).
80fc88f2 7566
cbf36fd3 7567 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Change link address
7568 to 0x200000 (avoids trouble with some OFW implementations, and matches
7569 with the one in Yaboot).
7570 Reported by Manoel Abranches
7571
73e8e268 75722008-11-20 Robert Millan <rmh@aybabtu.com>
3cf6ac19 7573
7574 * kern/i386/coreboot/init.c (grub_time_tics): Remove variable.
7575 (grub_get_rtc, grub_exit): Abort with grub_fatal() if called.
7576
73e8e268 7577 * util/grub-mkconfig_lib.in (grub_warn): New function.
7578 (convert_system_path_to_grub_path): Use grub_warn() when issuing
7579 warnings, to obtain consistent formatting.
7580 * util/grub.d/00_header.in: Likewise.
7581 * util/update-grub_lib.in: Likewise.
7582
e94045a1 7583 * loader/i386/linux.c (allocate_pages): Fix a warning.
40f9faa4 7584 Move comment text to `#error' stanza.
e94045a1 7585
79d29fd7 7586 Harmonize ieee1275's grub_available_iterate() with the generic
7587 grub_machine_mmap_iterate() interface (fixes a recently-introduced
7588 build problem on i386-ieee1275):
7589 * kern/ieee1275/openfw.c (grub_available_iterate): Moved from here ...
7590 * kern/ieee1275/mmap.c (grub_machine_mmap_iterate): ... here. Add third
7591 parameter `type'. Update all users of this function.
7592 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
7593 `kern/ieee1275/mmap.c'.
7594 * kern/ieee1275/init.c
7595 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): Replace
7596 with ...
7597 (grub_machine_mmap_iterate): ... this.
7598 * include/grub/i386/pc/memory.h (grub_machine_mmap_iterate): Change
7599 return type to `grub_err_t'. Update all implementations of this
7600 function prototype.
7601 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_iterate):
7602 Likewise.
7603
60d6b16e 7604 Add `lsmmap' command (lists firmware-provided memory map):
7605 * commands/lsmmap.c: New file.
7606 * conf/i386-pc.rmk (pkglib_MODULES): Add `lsmmap.mod'.
7607 (lsmmap_mod_SOURCES, lsmmap_mod_CFLAGS, lsmmap_mod_LDFLAGS): New
7608 variables.
7609 * conf/powerpc-ieee1275.rmk: Likewise.
7610 * conf/i386-coreboot.rmk: Likewise.
7611 * conf/i386-ieee1275.rmk: Likewise.
7612
ebaaf49b 76132008-11-19 Robert Millan <rmh@aybabtu.com>
7614
7615 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Fix a typo.
92907110 7616 * loader/i386/linux.c (grub_rescue_cmd_initrd): Implement a few needed
7617 constraints to initrd allocation (based on code from
7618 loader/i386/pc/linux.c). Without them, initrd was allocated too high
7619 for Linux to find it.
ebaaf49b 7620
dfab719f 76212008-11-14 Robert Millan <rmh@aybabtu.com>
7622
7623 * fs/cpio.c (grub_cpio_open): Compare `name' and `fn' by hand in
7624 order to cope with duplicate slashes.
7625
10fc3eb9 76262008-11-14 Robert Millan <rmh@aybabtu.com>
7627
7628 * include/grub/i386/coreboot/memory.h (GRUB_MEMORY_MACHINE_LOWER_SIZE):
7629 Redefine to match with GRUB_MEMORY_MACHINE_UPPER_START (0x100000). We
7630 don't want to mess with lower memory, because it is used in the Linux
7631 loader.
7632
7633 * loader/i386/linux.c (allocate_pages): Allocate `real_mode_mem' in
34c44600 7634 an appropriate place in lower memory, between 0x10000 and 0x90000,
10fc3eb9 7635 like loader/i386/efi/linux.c does. Linux often panics if real_mode_mem
7636 is in our heap (probably as a result of it being corrupted during
2f2a3442 7637 decompression). Add #error instance with comment to explain why this
7638 loader isn't currently usable on PC/BIOS.
10fc3eb9 7639
e2e07847 76402008-11-14 Robert Millan <rmh@aybabtu.com>
7641
7642 * term/i386/pc/serial.c [! GRUB_MACHINE_PCBIOS]
34c44600 7643 (GRUB_SERIAL_PORT_NUM): Fix miscalculation.
e2e07847 7644
fe8e8d69 76452008-11-12 Robert Millan <rmh@aybabtu.com>
7646
7647 Make loader/i386/linux.c buildable on i386-pc (although disabled).
7648
7649 * include/grub/i386/pc/init.h: Include `<grub/machine/memory.h>'.
7650 (struct grub_machine_mmap_entry, grub_machine_mmap_iterate): Move
7651 from here ...
7652 * include/grub/i386/pc/memory.h: ... to here.
7653
976b07d0 76542008-11-12 Robert Millan <rmh@aybabtu.com>
7655
7656 Fix build problems on i386-ieee1275 and *-efi (introduced by vga_text
7657 split).
7658
7659 * include/grub/i386/pc/console.h: Include `<grub/i386/vga_common.h>'.
7660 (grub_console_cur_color, grub_console_real_putchar)
7661 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
7662 (grub_console_setcolorstate, grub_console_setcolor)
7663 (grub_console_getcolor): Move from here ...
7664 * include/grub/i386/vga_common.h: ... to here (new file).
7665
7666 * term/i386/pc/vga_text.c: Replace `<grub/machine/console.h>' with
7667 `<grub/i386/vga_common.h>' and `<grub/cpu/io.h>' with
7668 `<grub/i386/io.h>'.
7669 * term/i386/vga_common.c: Replace `<grub/machine/console.h>' with
7670 `<grub/i386/vga_common.h>'.
7671
76679cd3 76722008-11-12 Robert Millan <rmh@aybabtu.com>
7673
7674 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `term/i386/vga_common.c'.
7675 * conf/i386.rmk (pkglib_MODULES): Add `vga_text.mod'.
7676 (vga_text_mod_SOURCES, vga_text_mod_CFLAGS, vga_text_mod_LDFLAGS): New
7677 variables.
7678 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
7679 `term/i386/pc/console.c' with `term/i386/vga_common.c'.
7680
7681 * kern/i386/coreboot/init.c (grub_machine_init): Replace call to
7682 grub_console_init() with call to grub_vga_text_init().
7683 (grub_machine_fini): Replace call to
7684 grub_console_fini() with call to grub_vga_text_fini() and
7685 grub_at_keyboard_fini().
7686
7687 * include/grub/i386/pc/console.h: Include `<grub/term.h>'.
7688 (grub_console_putchar, grub_console_getcharwidth, grub_console_getwh)
7689 (grub_console_setcolorstate, grub_console_setcolor)
7690 (grub_console_getcolor): New function prototypes.
7691
7692 * term/i386/pc/vga_text.c: Include `<grub/dl.h>'.
7693 (grub_vga_text_getxy, grub_vga_text_gotoxy, grub_vga_text_cls)
7694 (grub_vga_text_setcursor): Static-ize.
7695 (grub_vga_text_term): New structure.
7696 (GRUB_MOD_INIT(vga_text), GRUB_MOD_FINI(vga_text)): New functions.
7697
7698 * term/i386/pc/console.c: Remove `<grub/machine/machine.h>'.
7699 (grub_console_cur_color, grub_console_standard_color)
7700 (grub_console_normal_color, grub_console_highlight_color)
7701 (map_char, grub_console_putchar, grub_console_getcharwidth)
7702 (grub_console_getwh, grub_console_setcolorstate, grub_console_setcolor)
7703 (grub_console_getcolor): Move from here ...
7704 * term/i386/vga_common.c: ... to here (same function names).
7705
95b841d3 77062008-11-12 Robert Millan <rmh@aybabtu.com>
7707
7708 Use newly-added Multiboot support in coreboot.
7709
7710 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Replace
7711 `kern/i386/coreboot/mmap.c' with `kern/i386/multiboot_mmap.c'.
7712
7713 * kern/i386/coreboot/startup.S: Enable Multiboot header, fix its
7714 alignment, set `MULTIBOOT_MEMORY_INFO' flag.
7715 (codestart): Store the MBI in `startup_multiboot_info' when we're
7716 being loaded using Multiboot.
7717
7718 * kern/i386/coreboot/init.c (grub_machine_init): Move
7719 grub_at_keyboard_init() call to beginning of function (useful for
7720 debugging). Call grub_machine_mmap_init() before attempting to use
7721 grub_machine_mmap_iterate().
7722 (grub_lower_mem, grub_upper_mem): Move from here ...
7723 * kern/i386/multiboot_mmap.c (grub_lower_mem, grub_upper_mem): ... to
7724 here (new file).
7725
7726 * include/grub/i386/coreboot/memory.h (grub_machine_mmap_init): New
7727 function prototype.
7728
761ca975 77292008-11-12 Robert Millan <rmh@aybabtu.com>
7730
7731 Fix a regression introduced by the at_keyboard.mod split. Because
7732 some terminals are default on some platforms and non-default on
7733 others, the first terminal being registered determines which is
7734 going to be default.
7735
7736 * kern/term.c (grub_term_register_input): If this is the first
7737 terminal being registered, set it as the current one.
7738 (grub_term_register_output): Likewise.
7739
7740 * term/efi/console.c (grub_console_init): Do not call
7741 grub_term_set_current_output() or grub_term_set_current_input().
7742 * term/ieee1275/ofconsole.c (grub_console_init): Likewise.
7743 * term/i386/pc/console.c (grub_console_init): Likewise.
7744 (grub_console_fini): Do not call grub_term_set_current_input()
7745 (but leave grub_term_set_current_output() to restore text mode).
7746
6c529df7 77472008-11-10 Robert Millan <rmh@aybabtu.com>
7748
7749 * util/grub.d/00_header.in: Add backward compatibility check for
7750 versions of terminal.mod that don't understand `terminal_input' or
7751 `terminal_output'.
7752
132e4113 77532008-11-09 Robert Millan <rmh@aybabtu.com>
7754
7755 * commands/terminal.c (GRUB_MOD_FINI(terminal)): Unregister
7756 `terminal_input' / `terminal_output', not `terminal'.
7757
ac293d50 77582008-11-08 Robert Millan <rmh@aybabtu.com>
7759
7760 * Makefile.in (include_DATA): Fix srcdir=. assumption.
2a9c5940 7761 (DISTCLEANFILES): Add `build_env.mk'.
ac293d50 7762
0025933a 77632008-11-08 Robert Millan <rmh@aybabtu.com>
7764
7765 * term/i386/pc/vesafb.c (grub_vesafb_term): Change type to
dba3f844 7766 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
0025933a 7767 members. Update all users.
7768 * util/console.c (grub_ncurses_term): Split in ...
7769 (grub_ncurses_term_input): ... this, and ...
7770 (grub_ncurses_term_output): ... this. Update all users.
dcb6fa0a 7771 * term/ieee1275/ofconsole.c: Remove stale `#endif'.
0025933a 7772
37c86336 77732008-11-08 Robert Millan <rmh@aybabtu.com>
7774
7775 * Makefile.in (PKGLIB): Add $(pkglib_BUILDDIR).
7776 (PKGDATA): Add $(pkgdata_SRCDIR).
7777 (pkglib_BUILDDIR): New variable.
7778 (pkgdata_SRCDIR): New variable.
7779 (build_env.mk): New target.
7780 (include_DATA): New variable.
7781 (install-local): Install $(include_DATA) files in $(includedir).
7782
b6c15a2d 77832008-11-07 Pavel Roskin <proski@gnu.org>
7784
d99d46f1 7785 * gendistlist.sh: Use C locale for sorting to ensure consistent
7786 output on all systems.
7787
b6c15a2d 7788 * util/grub.d/00_header.in: Remove incorrect space before
7789 "serial".
7790
c32ee8c9 77912008-11-07 Robert Millan <rmh@aybabtu.com>
7792
7793 * include/multiboot2.h (struct multiboot_header): Add `flags' member as
7794 per specification.
7795 * loader/multiboot2.c (grub_multiboot2): Fix Multiboot2 header check.
7796 * loader/multiboot_loader.c (find_multi_boot2_header): New function
7797 (based on find_multi_boot1_header).
7798 (grub_rescue_cmd_multiboot_loader): Check for Multiboot2 header,
7799 using find_multi_boot2_header(), and abort if neither Multiboot or
7800 Multiboot headers were found.
7801
651c29b7 78022008-11-07 Robert Millan <rmh@aybabtu.com>
7803
7804 Modularize at_keyboard.mod:
7805
7806 * conf/i386.rmk (pkglib_MODULES): Add `at_keyboard.mod'.
7807 (at_keyboard_mod_SOURCES, at_keyboard_mod_CFLAGS)
7808 (at_keyboard_mod_LDFLAGS): New variables.
7809
7810 Actual terminal split:
7811
7812 * include/grub/term.h (struct grub_term): Split in ...
7813 (struct grub_term_input): ... this, and ...
7814 (struct grub_term_output): ... this. Update all users.
7815 (grub_term_set_current): Split in ...
7816 (grub_term_set_current_input): ... this, and ...
7817 (grub_term_set_current_output): ... this.
7818 (grub_term_get_current): Split in ...
7819 (grub_term_get_current_input): ... this, and ...
7820 (grub_term_get_current_output): ... this.
7821 (grub_term_register): Split in ...
7822 (grub_term_register_input): ... this, and ...
7823 (grub_term_register_output): ... this.
7824 (grub_term_unregister): Split in ...
7825 (grub_term_unregister_input): ... this, and ...
7826 (grub_term_unregister_output): ... this.
7827 (grub_term_iterate): Split in ...
7828 (grub_term_iterate_input): ... this, and ...
7829 (grub_term_iterate_output): ... this.
7830
7831 * kern/term.c (grub_term_list): Split in ...
7832 (grub_term_list_input): ... this, and ...
7833 (grub_term_list_output): ... this. Update all users.
7834 (grub_cur_term): Split in ...
7835 (grub_cur_term_input): ... this, and ...
7836 (grub_cur_term_output): ... this. Update all users.
7837 (grub_term_set_current): Split in ...
7838 (grub_term_set_current_input): ... this, and ...
7839 (grub_term_set_current_output): ... this.
7840 (grub_term_get_current): Split in ...
7841 (grub_term_get_current_input): ... this, and ...
7842 (grub_term_get_current_output): ... this.
7843 (grub_term_register): Split in ...
7844 (grub_term_register_input): ... this, and ...
7845 (grub_term_register_output): ... this.
7846 (grub_term_unregister): Split in ...
7847 (grub_term_unregister_input): ... this, and ...
7848 (grub_term_unregister_output): ... this.
7849 (grub_term_iterate): Split in ...
7850 (grub_term_iterate_input): ... this, and ...
7851 (grub_term_iterate_output): ... this.
7852
7853 * kern/misc.c (grub_abort): Split use of grub_term_get_current() into
7854 a check for input and one for output (and only attempt to get keys
7855 from user when input works).
7856
7857 * util/grub-probe.c (grub_term_get_current): Split in ...
7858 (grub_term_get_current_input): ... this, and ...
7859 (grub_term_get_current_output): ... this.
7860 * util/grub-fstest.c: Likewise.
7861 * util/i386/pc/grub-setup.c: Likewise.
7862 * util/grub-editenv.c: Likewise.
7863
7864 Portability adjustments:
7865
7866 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Remove
7867 `term/i386/pc/at_keyboard.c'.
7868 * kern/ieee1275/init.c [__i386__] (grub_machine_init): Remove call to
7869 grub_keyboard_controller_init() (now handled by terminal .init).
7870 * kern/i386/coreboot/init.c (grub_machine_init): Add call to
7871 grub_at_keyboard_init().
7872 * include/grub/i386/ieee1275/console.h (grub_keyboard_controller_init)
7873 (grub_console_checkkey, grub_console_getkey): Remove (now provided by
7874 at_keyboard.mod via input terminal interface).
7875 * include/grub/i386/coreboot/console.h: Convert into a stub for
7876 `<grub/i386/pc/console.h>'.
7877
7878 Migrate full terminals to new API:
7879
7880 * term/efi/console.c (grub_console_term): Split into ...
7881 (grub_console_term_input): ... this, and ...
7882 (grub_console_term_output): ... this. Update all users.
7883 * term/ieee1275/ofconsole.c: Remove __i386__ hack.
7884 (grub_ofconsole_init): Split into ...
7885 (grub_ofconsole_init_input): ... this, and ...
7886 (grub_ofconsole_init_output): ... this.
7887 (grub_ofconsole_term): Split into ...
7888 (grub_ofconsole_term_input): ... this, and ...
7889 (grub_ofconsole_term_output): ... this. Update all users.
7890 * term/i386/pc/serial.c (grub_serial_term): Split into ...
7891 (grub_serial_term_input): ... this, and ...
7892 (grub_serial_term_output): ... this. Update all users.
7893 * term/i386/pc/console.c (grub_console_term): Split into ...
7894 (grub_console_term_input): ... this, and ...
7895 (grub_console_term_output): ... this. Update all users.
7896 (grub_console_term_input): Only enable it on PC/BIOS platform.
7897 (grub_console_init): Remove grub_keyboard_controller_init() call.
7898
7899 Migrate input terminals to new API:
7900
7901 * term/i386/pc/at_keyboard.c: Replace `cpu' and `machine' with
7902 `i386' and `i386/pc' to enable build on x86_64 (this driver is
7903 i386-specific anyway).
7904 (grub_console_checkkey): Rename to ...
7905 (grub_at_keyboard_checkkey): ... this. Static-ize. Update all
7906 users.
7907 (grub_keyboard_controller_orig): New variable.
7908 (grub_console_getkey): Rename to ...
7909 (grub_at_keyboard_getkey): ... this. Static-ize. Update all
7910 users.
7911 (grub_keyboard_controller_init): Static-ize. Save original
7912 controller value so that it can be restored ...
7913 (grub_keyboard_controller_fini): ... here (new function).
7914 (grub_at_keyboard_term): New structure.
7915 (GRUB_MOD_INIT(at_keyboard), GRUB_MOD_FINI(at_keyboard)): New
7916 functions.
7917
7918 Migrate output terminals to new API:
7919
7920 * term/i386/pc/vga.c (grub_vga_term): Change type to
7921 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
7922 members. Update all users.
7923 * term/gfxterm.c (grub_video_term): Change type to
7924 `struct grub_term_output'. Remove `.checkkey' and `.getkey'
7925 members. Update all users.
7926 * include/grub/i386/pc/console.h (grub_console_checkkey)
7927 (grub_console_getkey): Do not export (no longer needed by gfxterm,
7928 etc).
7929
7930 Migrate `terminal' command and userland tools to new API:
7931
7932 * commands/terminal.c (grub_cmd_terminal): Split into ...
7933 (grub_cmd_terminal_input): ... this, and ...
7934 (grub_cmd_terminal_output): ... this.
7935 (GRUB_MOD_INIT(terminal)): Split `terminal' command in two commands:
7936 `terminal_input' and `terminal_output'.
7937 * util/grub.d/00_header.in: Adjust `terminal' calls to new
7938 `terminal_input' / `terminal_output' API.
7939 * util/grub-mkconfig.in: Export ${GRUB_TERMINAL_INPUT} and
7940 ${GRUB_TERMINAL_OUTPUT} instead of ${GRUB_TERMINAL} (and if user
7941 provided ${GRUB_TERMINAL}, convert it).
7942
96e5d876 79432008-11-04 Robert Millan <rmh@aybabtu.com>
7944
7945 * util/grub.d/10_freebsd.in: New file. Generate grub configuration
7946 for FreeBSD.
7947 * conf/common.rmk (grub-mkconfig_SCRIPTS): Add 10_freebsd.
7948
556f3775 79492008-11-03 Bean <bean123ch@gmail.com>
7950
7951 * kern/elf.c (grub_elf32_load): Revert to previous code.
7952 (grub_elf64_load): Likewise.
7953
7954 * loader/i386/bsd.c (grub_bsd_elf32_hook): Change return address.
7955
926b9823 79562008-11-01 Robert Millan <rmh@aybabtu.com>
7957
7958 * Makefile.in (CPPFLAGS): Fix builddir=. assumption.
7959 (TARGET_CPPFLAGS): Likewise.
7960 * genmk.rb (mod_src): Fix builddir=. and srcdir=. assumptions.
7961
1432e958 79622008-11-01 Carles Pina i Estany <carles@pina.cat>
7963
7964 * normal/menu.c (run_menu): Add Previous and Next Page keys in menu.
7965
dba3f844 79662008-10-29 Guillem Jover <guillem.jover@nokia.com>
de4fa71c 7967
7968 * disk/lvm.c (grub_lvm_scan_device): Fix error recovery by delaying the
7969 addition of objects until the code is not going to be able to fail.
7970
dba3f844 79712008-10-29 Guillem Jover <guillem.jover@nokia.com>
b7279447 7972
7973 * disk/lvm.c (grub_lvm_scan_device): Fix possible NULL value handling
7974 (add a missing NULL check, and correct them by moving the pointer
7975 operations after the actual check).
7976
7ab28c21 79772008-10-29 Robert Millan <rmh@aybabtu.com>
7978
7979 * util/i386/pc/grub-install.in: Handle empty string as output from
7980 make_system_path_relative_to_its_root().
7981
1b7748eb 79822008-10-05 Hans Lambermont <hans@lambermont.dyndns.org>
7983
7984 * disk/lvm.c (grub_lvm_scan_device): Allocate buffer space for the
7985 circular metadata worst case scenario. If the metadata is circular
7986 then copy the wrap in place.
7987 * include/grub/lvm.h: Add GRUB_LVM_MDA_HEADER_SIZE, from the LVM2
7988 project lib/format_text/layout.h
7989 Circular metadata bug found and patch debugged by Jan Derk Gerlings.
7990
c9618ab2 79912008-10-03 Felix Zielcke <fzielcke@z-51.de>
7992
7a36edca 7993 * util/i386/pc/grub-install.in: Source grub-mkconfig_lib instead of update-grub_lib.
c9618ab2 7994
bf981c62 79952008-10-03 Felix Zielcke <fzielcke@z-51.de>
7996
7997 * util/update-grub_lib.in: Mention filename in warning message.
7998
6d994591 79992008-09-29 Felix Zielcke <fzielcke@z-51.de>
8000
8001 * NEWS: Update for rename of update-grub to grub-mkconfig.
8002
18ade780 80032008-09-29 Felix Zielcke <fzielcke@z-51.de>
8004
8005 * util/update-grub_lib.in: Copy to ...
8006 * util/grub-mkconfig_lib.in: ... this. Update all users.
7c3ff286 8007 * util/update-grub_lib.in: Make it a stub to `grub-mkconfig_lib.in'.
18ade780 8008 * util/update-grub.in: Rename to ...
8009 * util/grub-mkconfig.in: ... this. Update all users. Remove `-y'
8010 option. Add `--output' option to allow users to specify the generated
8011 configuration file. Default to stdout.
8012 (update_grub_dir): Rename to ...
8013 (grub_mkconfig_dir): ... this.
8014 (grub_cfg): Default to an empty string.
8015 * conf/common.rmk (update-grub): Rename to ...
8016 (grub-mkconfig): ... this.
8017 (update-grub_lib): Copy to ...
8018 (grub-mkconfig_lib): ... this.
8019 (update-grub_SCRIPTS): Copy to ...
8020 (grub-mkconfig_SCRIPTS): ... this. Update all users.
8021 (update-grub_DATA): Rename to ...
8022 (grub-mkconfig_DATA): ... this.
8023
556ce6ac 80242008-09-28 Robert Millan <rmh@aybabtu.com>
8025
8026 * fs/iso9660.c (struct grub_iso9660_primary_voldesc): Rename `created'
8027 to `modified'. Add the real `created' field.
8028 (grub_iso9660_uuid): Use `modified' rather than `created' for
8029 constructing the UUID.
8030
80312008-09-28 Felix Zielcke <fzielcke@z-51.de>
eb079ba9 8032
8033 fs/jfs.c (grub_jfs_find_file): Treat multiple slashes like one.
8034 Based on code from Tomas Ebenlendr <ebik@ucw.cz>.
8035
92274e85 80362008-09-28 Bean <bean123ch@gmail.com>
8037
8038 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a bug in the previous patch.
8039 Thanks to Christian Franke for finding this bug.
8040
add6f17a 80412008-09-25 Robert Millan <rmh@aybabtu.com>
8042
8043 * util/grub-mkdevicemap.c (make_device_map): Actually replace all
8044 instances of grub_util_get_disk_name() (see previous commit).
8045
d2a367b8 80462008-09-25 Robert Millan <rmh@aybabtu.com>
8047
8048 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Remove
8049 `util/i386/get_disk_name.c'.
8050 * conf/i386-efi.rmk: Likewise.
8051 * conf/x86_64-efi.rmk: Likewise.
8052 * conf/i386-coreboot.rmk: Likewise.
8053 * conf/i386-ieee1275.rmk: Likewise.
8054 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Remove
8055 `util/ieee1275/get_disk_name.c'.
8056 * include/grub/util/misc.h (grub_util_get_disk_name): Remove.
8057 * util/ieee1275/get_disk_name.c: Remove file.
8058 * util/i386/get_disk_name.c: Remove file.
8059 * util/grub-mkdevicemap.c (make_device_map): Back to hardcoding
8060 "hd%d" for device.map entries, rather than using
8061 grub_util_get_disk_name().
8062
81a06771 80632008-09-24 Carles Pina i Estany <carles@pina.cat>
b0c301f7 8064
8065 * disk/dmraid_nvidia.c (grub_dmraid_nv_detect): Fix `unused parameter'
8066 warning.
8067 * commands/i386/pc/pxecmd.c (dmraid_nvidia): Likewise.
8068
5a004279 80692008-09-24 Carles Pina i Estany <carles@pina.cat>
8070
8071 * include/grub/i386/pc/console.h (GRUB_TERM_NPAGE):
8072 Changed to 0x5100.
8073 (GRUB_TERM_PPAGE): Changed to 0x4900.
8074
397093d3 80752008-09-24 Robert Millan <rmh@aybabtu.com>
8076
8077 * include/grub/powerpc/ieee1275/console.h (GRUB_CONSOLE_KEY_*): Remove
8078 macros (they were i386-pc specific).
8079 * include/grub/sparc64/ieee1275/console.h: Likewise.
8080 * include/grub/efi/console.h: Likewise.
8081
a91b6c7c 80822008-09-22 Bean <bean123ch@gmail.com>
8083
8084 * fs/ntfs.c (grub_ntfs_iterate_dir): Fix a rare case where $BITMAP is
8085 resident and in attribute list.
8086
8087 * include/grub/ntfs.h (BMP_LEN): Removed.
8088
c40fd116 80892008-09-22 Bean <bean123ch@gmail.com>
8090
81a06771 8091 * disk/ata.c (grub_atapi_open): Initialize devfnd, no need to set
c40fd116 8092 scsi->name and scsi->luns, as they will be set in grub_scsi_open.
8093
8094 * disk/scsi.c (grub_scsi_open): Don't call p->close (scsi) here when
8095 error occurs, as grub_disk_open will call grub_disk_close, which will
8096 call p->close (scsi).
8097
81a06771 80982008-09-21 Felix Zielcke <fzielcke@z-51.de>
eb73121d 8099
8100 * configure.ac (AC_INIT): Quote `GRUB' string and version number.
8101 (AC_PREREQ): Bumped to 2.59.
8102 (AC_TRY_COMPILE): Replace obsolete macro with ...
8103 (AC_COMPILE_IFELSE): ... this.
8104 * aclocal.m4 (AC_TRY_LINK): Replace obsolete macro with ...
8105 (AC_LINK_IFELSE): ... this.
8106
5dc43410 81072008-09-21 Felix Zielcke <fzielcke@z-51.de>
8108
8109 * autogen.sh: Add a call to `gendistlist.sh'.
8110
9035dce4 81112008-09-19 Christian Franke <franke@computer.org>
8112
8113 * aclocal.m4 (grub_CHECK_ENABLE_EXECUTE_STACK): New function.
8114 * configure.ac: Call grub_CHECK_ENABLE_EXECUTE_STACK.
8115 * include/grub/misc.h [NEED_ENABLE_EXECUTE_STACK]:
8116 Export __enable_execute_stack() to modules.
8117 * kern/misc.c [NEED_ENABLE_EXECUTE_STACK] (__enable_execute_stack):
8118 New function.
8119
7fd75377 81202008-09-09 Felix Zielcke <fzielcke@z-51.de>
8121
040030b3 8122 * Makefile.in (RMKFILES): Add `i386.rmk' and `x86_64-efi.rmk'.
8123 Sort the list.
8124
81252008-09-09 Felix Zielcke <fzielcke@z-51.de>
8126
8127 * util/hostdisk.c: Replace #include <grub/util/biosdisk.h> with
7fd75377 8128 #include <grub/util/hostdisk.h>.
8129
89d5ffcf 81302008-09-08 Robert Millan <rmh@aybabtu.com>
8131
8132 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Skip
8133 segments when their filesz is zero (grub_file_read() interprets
81a06771 8134 zero-size as "read until EOF", which results in memory corruption).
89d5ffcf 8135 Use `lowest_segment' rather than 0 for calculating the current
8136 segment load address.
8137
40da438f 81382008-09-08 Robert Millan <rmh@aybabtu.com>
8139
8140 * util/hostdisk.c (open_device): Replace a grub_util_info() call
8141 with grub_dprintf("hostdisk", ...), as it was so verbose that it
8142 clobbered useful information.
8143
ddbf5556 81442008-09-08 Robert Millan <rmh@aybabtu.com>
8145
8146 * include/grub/util/biosdisk.h: Move to ...
8147 * include/grub/util/hostdisk.h: ... here. Update all users.
8148 * util/biosdisk.c: Move to ...
8149 * util/hostdisk.c: ... here. Update all users.
8150
783d0f48 81512008-09-07 Robert Millan <rmh@aybabtu.com>
8152
8153 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): Remove
8154 variables.
8155 (grub_multiboot): Move `mbi' allocation upwards, so that mmap address
8156 and length can be stored directly in the `mbi->mmap_addr' and
8157 `mbi->mmap_length' struct fields.
8158
548e2ea5 81592008-09-07 Robert Millan <rmh@aybabtu.com>
8160
8161 * conf/i386.rmk: New file. Provides declaration for building
8162 `cpuid.mod'.
8163 * conf/i386-pc.rmk (pkglib_MODULES): Remove `cpuid.mod'.
8164 (cpuid_mod_SOURCES, cpuid_mod_CFLAGS, cpuid_mod_LDFLAGS): Remove
8165 variables.
8166 Include `conf/i386.mk'.
8167 * conf/i386-efi.rmk: Likewise.
8168 * conf/x86_64-efi.rmk: Likewise.
8169 * conf/i386-coreboot.rmk: Likewise.
8170 * conf/i386-ieee1275.rmk: Likewise.
8171
0ea85a37 81722008-09-07 Vesa Jääskeläinen <chaac@nic.fi>
8173
8174 Based on patch created by Colin D Bennett <colin@gibibit.com>.
8175 Adds optimization support for BGR based modes.
8176
8177 * include/grub/i386/pc/vbeblit.h (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8) Removed.
8178 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
8179 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
8180 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
8181 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
8182 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
8183 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
8184 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
8185 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
8186 (grub_video_i386_vbeblit_index_index): Likewise.
8187 (grub_video_i386_vbeblit_replace_directN): Added.
8188 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
8189 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
8190 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
8191 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
8192 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
8193 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
81a06771 8194 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
0ea85a37 8195 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
8196 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
8197 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
8198 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
8199 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
8200 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
8201
8202 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8) Removed.
8203 (grub_video_i386_vbefill_R8G8B8): Likewise.
8204 (grub_video_i386_vbefill_index): Likewise.
8205 (grub_video_i386_vbefill_direct32): Added.
8206 (grub_video_i386_vbefill_direct24): Likewise.
8207 (grub_video_i386_vbefill_direct16): Likewise.
8208 (grub_video_i386_vbefill_direct8): Likewise.
8209
81a06771 8210 * include/grub/video.h (grub_video_blit_format): Removed
0ea85a37 8211 GRUB_VIDEO_BLIT_FORMAT_R8G8B8A8, GRUB_VIDEO_BLIT_FORMAT_R8G8B8.
8212 (grub_video_blit_format): Added GRUB_VIDEO_BLIT_FORMAT_RGBA_8888,
8213 GRUB_VIDEO_BLIT_FORMAT_BGRA_8888, GRUB_VIDEO_BLIT_FORMAT_RGB_888,
8214 GRUB_VIDEO_BLIT_FORMAT_BGR_888, GRUB_VIDEO_BLIT_FORMAT_RGB_565,
8215 GRUB_VIDEO_BLIT_FORMAT_BGR_565.
81a06771 8216
0ea85a37 8217 * video/video.c (grub_video_get_blit_format): Updated to use new
8218 blit formats. Added handling for 16 bit color modes.
81a06771 8219
8220 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Updated to use new
0ea85a37 8221 fillers.
8222 (common_blitter): Updated to use new blitters.
8223
8224 * video/i386/pc/vbeblit.c (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8):
8225 Removed.
8226 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): Likewise.
8227 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
8228 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
8229 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
8230 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
8231 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
8232 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
8233 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
8234 (grub_video_i386_vbeblit_index_index): Likewise.
8235 (grub_video_i386_vbeblit_replace_directN): Added.
8236 (grub_video_i386_vbeblit_replace_BGRX8888_RGBX8888): Likewise.
8237 (grub_video_i386_vbeblit_replace_BGRX8888_RGB888): Likewise.
8238 (grub_video_i386_vbeblit_replace_BGR888_RGBX8888): Likewise.
8239 (grub_video_i386_vbeblit_replace_BGR888_RGB888): Likewise.
8240 (grub_video_i386_vbeblit_replace_RGBX8888_RGB888): Likewise.
8241 (grub_video_i386_vbeblit_replace_RGB888_RGBX8888): Likewise.
8242 (grub_video_i386_vbeblit_replace_index_RGBX8888): Likewise.
8243 (grub_video_i386_vbeblit_replace_index_RGB888): Likewise.
8244 (grub_video_i386_vbeblit_blend_BGRA8888_RGBA8888): Likewise.
8245 (grub_video_i386_vbeblit_blend_BGR888_RGBA8888): Likewise.
8246 (grub_video_i386_vbeblit_blend_RGBA8888_RGBA8888): Likewise.
8247 (grub_video_i386_vbeblit_blend_RGB888_RGBA8888): Likewise.
8248 (grub_video_i386_vbeblit_blend_index_RGBA8888): Likewise.
81a06771 8249
0ea85a37 8250 * video/i386/pc/vbefill.c (grub_video_i386_vbefill_R8G8B8A8): Removed.
8251 (grub_video_i386_vbefill_R8G8B8): Likewise.
8252 (grub_video_i386_vbefill_index): Likewise.
8253 (grub_video_i386_vbefill_direct32): Added.
8254 (grub_video_i386_vbefill_direct24): Likewise.
8255 (grub_video_i386_vbefill_direct16): Likewise.
8256 (grub_video_i386_vbefill_direct8): Likewise.
81a06771 8257
0ea85a37 8258 * video/readers/jpeg.c (grub_jpeg_decode_sos): Adapt to new blitter
8259 types.
81a06771 8260
0ea85a37 8261 * video/readers/tga.c (grub_video_reader_tga): Adapt to new blitter
8262 types.
81a06771 8263
0ea85a37 8264 * video/readers/png.c (grub_png_decode_image_header): Adapt to new
8265 blitter types.
81a06771 8266
0ea85a37 8267 * video/bitmap.c (grub_video_bitmap_create): Adapt to new blitter
8268 types.
8269
e8a83df6 82702008-09-06 Felix Zielcke <fzielcke@z-51.de>
8271
8272 * disk/raid.c (insert_array): Set `array->chunk_size' to 64 for
8273 RAID level 1.
8274
6bcd8ee5 82752008-09-06 Felix Zielcke <fzielcke@z-51.de>
c375ae58 8276
6bcd8ee5 8277 * fs/iso9660.c (grub_iso9660_date): New structure.
8278 (grub_iso9660_primary_voldesc): Add `grub_iso9660_date' member.
8279 (grub_iso9660_uuid): New function.
c375ae58 8280
59261157 82812008-09-05 Bean <bean123ch@gmail.com>
8282
8283 * fs/fshelp.c (grub_fshelp_find_file): Handle case insensitive names.
8284
8285 * fs/ntfs.c (list_file): Ignore names in DOS namespace, set the case
8286 insensitive bit for names in Win32 and Win32 & DOS namespace.
8287
8288 * include/grub/fshelp.h (GRUB_FSHELP_CASE_INSENSITIVE): New macro.
8289
8290 * include/grub/types.h (LONG_MAX): Likewise.
8291
58b6645a 82922008-09-04 Felix Zielcke <fzielcke@z-51.de>
8293
4ee55921 8294 * util/getroot.c: Include <config.h>.
8295 (grub_util_get_grub_dev): Rewrite to use asprintf for mdraid devices,
8296 add support for /dev/md/N devices and handle LVM double dash escaping.
8297
82982008-09-04 Felix Zielcke <fzielcke@z-51.de>
8299
8300 * config.guess: Update to latest version from config git.
8301 * config.sub: Likewise.
58b6645a 8302
9124f65d 83032008-09-03 Robert Millan <rmh@aybabtu.com>
8304
8305 * disk/scsi.c (grub_scsi_open): Remove size limit when printing
8306 `disk->total_sectors'.
8307
81a06771 83082008-09-01 Colin D Bennett <colin@gibibit.com>
a0224a4e 8309
8310 * include/grub/normal.h: Fixed incorrect comment for
8311 GRUB_COMMAND_FLAG_NO_ARG_PARSE.
8312
81a06771 83132008-09-01 Colin D Bennett <colin@gibibit.com>
f0619958 8314
8315 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Replaced constant
8316 values with defines.
8317
8318 * include/grub/i386/pc/vbe.h (GRUB_VBE_MODEATTR_SUPPORTED): Added.
8319 (GRUB_VBE_MODEATTR_RESERVED_1): Likewise.
8320 (GRUB_VBE_MODEATTR_BIOS_TTY_OUTPUT_SUPPORT): Likewise.
8321 (GRUB_VBE_MODEATTR_COLOR): Likewise.
8322 (GRUB_VBE_MODEATTR_GRAPHICS): Likewise.
8323 (GRUB_VBE_MODEATTR_VGA_COMPATIBLE): Likewise.
8324 (GRUB_VBE_MODEATTR_VGA_WINDOWED_AVAIL): Likewise.
8325 (GRUB_VBE_MODEATTR_LFB_AVAIL): Likewise.
8326 (GRUB_VBE_MODEATTR_DOUBLE_SCAN_AVAIL): Likewise.
8327 (GRUB_VBE_MODEATTR_INTERLACED_AVAIL): Likewise.
8328 (GRUB_VBE_MODEATTR_TRIPLE_BUF_AVAIL): Likewise.
8329 (GRUB_VBE_MODEATTR_STEREO_AVAIL): Likewise.
8330 (GRUB_VBE_MODEATTR_DUAL_DISPLAY_START): Likewise.
8331 (GRUB_VBE_MEMORY_MODEL_TEXT): Likewise.
8332 (GRUB_VBE_MEMORY_MODEL_CGA): Likewise.
8333 (GRUB_VBE_MEMORY_MODEL_HERCULES): Likewise.
8334 (GRUB_VBE_MEMORY_MODEL_PLANAR): Likewise.
8335 (GRUB_VBE_MEMORY_MODEL_NONCHAIN4_256): Likewise.
8336 (GRUB_VBE_MEMORY_MODEL_YUV): Likewise.
8337
93d5cbf8 83382008-08-31 Robert Millan <rmh@aybabtu.com>
8339
8340 * loader/i386/pc/multiboot.c (grub_get_multiboot_mmap_len): Fix
8341 declaration.
8342 (grub_multiboot): Fix a few warnings.
8343
21751d50 83442008-08-31 Robert Millan <rmh@aybabtu.com>
8345
8346 * loader/i386/pc/multiboot.c: Update comment not to say that
8347 boot_device support is unimplemented.
8348
e27a75c5 83492008-08-31 Robert Millan <rmh@aybabtu.com>
8350
8351 * loader/i386/pc/multiboot.c: Update comment not to say that a.out
8352 or memory map support are unimplemented.
8353
81a06771 83542008-08-31 Colin D Bennett <colin@gibibit.com>
64d2d53c 8355
8356 * util/i386/pc/grub-mkrescue.in: Support multiple overlay directories.
8357
81a06771 83582008-08-31 Colin D Bennett <colin@gibibit.com>
c08a6c18 8359
8360 * commands/i386/pc/vbeinfo.c (grub_cmd_vbeinfo): Show VBE version and
8361 total video memory in 'vbeinfo' output; show color format details for
8362 each video mode.
8363
7c5d8d95 83642008-08-30 Pavel Roskin <proski@gnu.org>
8365
8366 * util/genmoddep.c: Remove for real this time.
8367 * DISTLIST: Remove util/genmoddep.c.
8368
4cebd25a 83692008-08-30 Robert Millan <rmh@aybabtu.com>
8370
8371 * kern/i386/pc/startup.S (multiboot_header): Force 4-byte alignment
8372 as required by Multiboot spec (it was already 4-byte aligned, but
8373 only by chance).
8374
b497a269 83752008-08-29 Pavel Roskin <proski@gnu.org>
8376
e3925185 8377 * kern/powerpc/ieee1275/crt0.S: Rename to ...
8378 * kern/powerpc/ieee1275/startup.S: ... this.
8379 * conf/powerpc-ieee1275.rmk: Adjust for the above.
8380 * DISTLIST: Likewise.
8381
b497a269 8382 * kern/powerpc/ieee1275/crt0.S: Include grub/symbol.h and
8383 grub/cpu/kernel.h. Add start label for consistency with other
8384 platforms. Add grub_prefix immediately after start. Add jump
8385 to the code after grub_prefix.
8386 * include/grub/powerpc/kernel.h: Provide valid values for
8387 GRUB_KERNEL_CPU_PREFIX and GRUB_KERNEL_CPU_DATA_END.
8388
6e5a42fe 83892008-08-29 Bean <bean123ch@gmail.com>
8390
8391 * configure.ac: Change host_os to cygwin for mingw.
8392 (asprintf): New check for function.
8393
8394 * include/grub/symbol.h: Replace #ifndef __CYGWIN__ with
8395 #if ! defined (__CYGWIN__) && ! defined (__MINGW32__).
8396
8397 * include/grub/util/misc.h: #include <config.h> and <grub/types.h>,
81a06771 8398 declare asprintf if HAVE_ASPRINTF is not set, declare fseeko, ftello,
6e5a42fe 8399 sync, sleep and grub_util_get_disk_size for mingw.
8400
8401 * util/biosdisk.c (grub_util_biosdisk_open): Use grub_util_get_disk_size
8402 to get size in mingw.
8403 (open_device): Use flag O_BINARY if it's defined.
8404 (find_root_device): Add dummy code for mingw.
8405
8406 * util/grub-mkdevicemap.c (get_floppy_disk_name): Return 0 for mingw.
8407 (get_ide_disk_name): Return //./PHYSICALDRIVE%d for mingw.
8408 (get_scsi_disk_name): Return 0 for mingw.
8409
8410 * util/hostfs.c: #include <grub/util/misc.h>.
8411 (grub_hostfs_open): Use "rb" flag to open file, use
8412 grub_util_get_disk_size to get disk size for mingw.
8413
8414 * util/misc.c: #include <windows.h> and <winioctl.h> in mingw.
8415 (asprintf): New function if HAVE_ASPRINTF is not set.
8416 (sync): New function for mingw.
8417 (sleep): Likewise.
8418 (grub_util_get_disk_size): Likewise.
8419
ab3f2673 84202008-08-28 Pavel Roskin <proski@gnu.org>
8421
8422 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
8423 kern/time.c.
8424
1c282483 84252008-08-28 Robert Millan <rmh@aybabtu.com>
8426
8427 * util/biosdisk.c (find_grub_drive): Declare missing `i' variable.
8428
678e849c 84292008-08-28 Robert Millan <rmh@aybabtu.com>
8430
8431 Change find_grub_drive() syntax so it doesn't prevent it from
8432 detecting NULL names as errors.
8433
8434 * util/biosdisk.c (find_grub_drive): Move free slot search code
8435 from here ...
8436 (find_free_slot): ... to here.
8437 (read_device_map): Use find_free_slot() to search for free slots.
8438
965c75ca 84392008-08-27 Marco Gerards <marco@gnu.org>
8440
8441 * conf/common.rmk (pkglib_MODULES): Add scsi.mod.
8442 (scsi_mod_SOURCES): New variable.
8443 (scsi_mod_CFLAGS): Likewise
8444 (scsi_mod_LDFLAGS): Likewise.
8445
8446 * disk/scsi.c: New file.
8447
8448 * include/grub/scsi.h: Likewise.
8449
8450 * include/grub/scsicmd.h: Likewise.
8451
8452 * disk/ata.c: Include <grub/scsi.h>.
8453 (grub_atapi_packet): Do not use grub_ata_cmd, use registers
8454 instead.
8455 (grub_ata_iterate): Skip ATAPI devices.
8456 (grub_ata_open): Only handle ATAPI devices.
8457 (struct grub_atapi_read): Removed.
8458 (grub_atapi_readsector): Likewise.
8459 (grub_ata_read): No longer handle ATAPI devices.
8460 (grub_ata_write): Likewise.
8461 (grub_atapi_iterate): New function.
8462 (grub_atapi_read): Likewise.
8463 (grub_atapi_write): Likewise.
8464 (grub_atapi_open): Likewise.
8465 (grub_atapi_close): Likewise.
8466 (grub_atapi_dev): New variable.
8467 (GRUB_MOD_INIT(ata)): Register ATAPI as SCSI device.
8468 (GRUB_MOD_FINI(ata)): Unregister ATAPI.
8469
8470 * include/grub/disk.h (enum grub_disk_dev_id): Add
8471 `GRUB_DISK_DEVICE_SCSI_ID'.
8472
c07ae501 84732008-08-26 Robert Millan <rmh@aybabtu.com>
8474
8475 * util/biosdisk.c (grub_util_biosdisk_open, open_device)
8476 (grub_util_biosdisk_get_grub_dev): Make error messages a bit more
8477 descriptive.
8478
5ed20adc 84792008-08-23 Bean <bean123ch@gmail.com>
8480
8481 * conf/common.rmk (grub_probe_SOURCES): Add disk/mdraid_linux.c.
8482 (grub_fstest_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
8483 disk/mdraid_linux.c and disk/dmraid_nvidia.c and lib/crc.c.
8484 (pkglib_MODULES): Add raid5rec.mod, raid6rec.mod, mdraid.mod and
8485 dm_nv.mod.
8486 (raid5rec_mod_SOURCES): New macro.
8487 (raid5rec_mod_CFLAGS): Likewise.
8488 (raid5rec_mod_LDFLAGS): Likewise.
8489 (raid6rec_mod_SOURCES): Likewise.
8490 (raid6rec_mod_CFLAGS): Likewise.
8491 (raid6rec_mod_LDFLAGS): Likewise.
8492 (mdraid_mod_SOURCES): Likewise.
8493 (mdraid_mod_CFLAGS): Likewise.
8494 (mdraid_mod_LDFLAGS): Likewise.
8495 (dm_nv_mod_SOURCES): Likewise.
8496 (dm_nv_mod_CFLAGS): Likewise.
8497 (dm_nv_mod_LDFLAGS): Likewise.
8498
8499 * conf/i386-pc.rmk (grub_setup_SOURCES): Add disk/mdraid_linux.c.
8500 (grub_emu_SOURCES): Add disk/raid5_recover.c, disk/raid6_recover.c,
8501 disk/mdraid_linux.c and disk/dmraid_nvidia.c.
8502
8503 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add disk/raid5_recover.c,
8504 disk/raid6_recover.c, disk/mdraid_linux.c and disk/dmraid_nvidia.c.
8505
8506 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
8507
8508 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
8509
8510 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8511
8512 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
8513
8514 * disk/raid5_recover.c: New file.
8515
8516 * disk/raid6_recover.c: Likewise.
8517
8518 * disk/mdraid_linux.c: Likewise.
8519
8520 * disk/dmraid_nvidia.c: Likewise.
8521
8522 * disk/i386/pc/biosdisk.c: Set total_sectors of cdrom device to
8523 ULONG_MAX.
8524
8525 * disk/raid.c (grub_raid_open): Use the size of the smallest disk to
8526 calculate the size of raid device.
8527 (grub_raid_read): Simplify raid0 code. Support raid4, raid6 and four
8528 different layout of raid5.
8529 (grub_raid_scan_device): Remove code specific to mdraid.
8530 (grub_raid_list): New variable.
8531 (free_array): New function.
8532 (grub_raid_register): Likewise.
8533 (grub_raid_unregister): Likewise.
8534 (grub_raid_rescan): Likewise.
8535 (GRUB_MOD_INIT): Don't iterate device here.
8536 (GRUB_MOD_FINI): Use free_array to release resource.
8537
8538 * include/grub/raid.h: Remove macro and structure specific to mdraid.
8539 (grub_raid5_recover_func_t): New function variable type.
8540 (grub_raid6_recover_func_t): Likewise.
8541 (grub_raid5_recover_func): New variable.
8542 (grub_raid6_recover_func): Likewise.
8543 (grub_raid_register): New function.
8544 (grub_raid_unregister): Likewise.
8545 (grub_raid_rescan): Likewise.
8546 (grub_raid_block_xor): Likewise.
8547
8548 * util/grub-fstest.c: Add #include <grub/raid.h> and <grub/lib/crc.h>.
8549 (CMD_CRC): New macro.
8550 (part): Removed.
8551 (read_file): Handle device as well as file.
8552 (cmd_crc): New function.
8553 (fstest): Handle multiple disks.
8554 (options): Remove part, raw and long, add root and diskcount.
8555 (usage): Add crc, remove -p, -r, -l, add -r and -c.
dba3f844 8556 (main): Find the first non option entry and ignore subsequent options,
5ed20adc 8557 add handling for the new options, support multiple disks.
8558
8559 * util/grub-probe.c (probe): Add mdraid to abstraction_name.
8560
29c18915 85612008-08-23 Bean <bean123ch@gmail.com>
8562
8563 * normal/x86_64/setjmp.S (grub_longjmp): Return 1 when val = 0.
8564
8565 * genfslist.sh: Ignore kernel.mod.
8566
8567 * genpartmaplist.sh: Likewise.
8568
8415f261 85692008-08-23 Robert Millan <rmh@aybabtu.com>
8570
8571 * util/getroot.c (find_root_device): Skip anything that starts with
8572 a dot, not just directories. This avoids things like /dev/.tmp.md0.
8573
d5a7dc5b 85742008-08-22 Felix Zielcke <fzielcke@z-51.de>
81a06771 8575
d5a7dc5b 8576 * util/update-grub.in (GRUB_GFXMODE): Export variable.
8577 * util/grub.d/00_header.in: Allow the administrator to change default
8578 gfxmode via ${GRUB_GFXMODE}.
8579
380cfbb4 85802008-08-21 Felix Zielcke <fzielcke@z-51.de>
8581
8582 * fs/ntfs.c (grub_ntfs_mount): Fix a memory leak.
8583
c9baafe7 85842008-08-21 Robert Millan <rmh@aybabtu.com>
8585
8586 * loader/i386/linux.c: New file. Implements generic 32-bit Linux
8587 loader.
8588 * conf/i386-coreboot.rmk (_linux_mod_SOURCES): Replace
8589 `loader/i386/pc/linux.c' with `loader/i386/linux.c'.
8590
e290bef2 85912008-08-20 Carles Pina i Estany <carles@pina.cat>
8592
8593 * menu/normal.c (run_menu): Replace hardcoded numbers with macros
8594 (16 for GRUB_TERM_UP and 14 for GRUB_TERM_DOWN)
8595
f9dbfc96 85962008-08-19 Robert Millan <rmh@aybabtu.com>
8597
8598 * term/gfxterm.c (DEFAULT_CURSOR_COLOR): Remove.
8599 (struct grub_virtual_screen): Remove `cursor_color'.
8600 (grub_virtual_screen_setup): Remove `virtual_screen.cursor_color'
8601 initialization.
8602 (write_cursor): Use `virtual_screen.fg_color' to draw cursor.
8603
dd6bd6ab 86042008-08-18 Robert Millan <rmh@aybabtu.com>
8605
8606 Unify (identical) linux_normal.c files.
8607 * loader/i386/efi/linux_normal.c: Move from here ...
8608 * loader/linux_normal.c: ... to here. Update all users.
8609 * loader/i386/pc/linux_normal.c: Delete. Update all users.
8610 * loader/i386/ieee1275/linux_normal.c: Likewise.
8611
7f42f83e 86122008-08-18 Robert Millan <rmh@aybabtu.com>
8613
8614 * include/grub/i386/linux.h (LINUX_LOADER_ID_LILO)
8615 (LINUX_LOADER_ID_LOADLIN, LINUX_LOADER_ID_BOOTSECT)
8616 (LINUX_LOADER_ID_SYSLINUX, LINUX_LOADER_ID_ETHERBOOT)
8617 (LINUX_LOADER_ID_ELILO, LINUX_LOADER_ID_GRUB, LINUX_LOADER_ID_UBOOT)
8618 (LINUX_LOADER_ID_XEN, LINUX_LOADER_ID_GUJIN, LINUX_LOADER_ID_QEMU):
8619 New macros.
8620 (GRUB_LINUX_CL_OFFSET, GRUB_LINUX_CL_END_OFFSET): Move from here ...
8621 * loader/i386/pc/linux.c (GRUB_LINUX_CL_OFFSET)
8622 (GRUB_LINUX_CL_END_OFFSET): ... to here.
8623 * loader/i386/efi/linux.c (GRUB_EFI_CL_OFFSET): Rename to ...
8624 (GRUB_LINUX_CL_OFFSET): ... this. Update all users.
8625 (GRUB_EFI_CL_END_OFFSET): Rename to ...
8626 (GRUB_LINUX_CL_END_OFFSET): ... this. Update all users.
8627 (grub_rescue_cmd_linux): Macroify `type_of_loader' initialization.
8628 Initialize `params->video_cursor_x' and `params->video_cursor_y'
8629 portably using grub_getxy().
8630 Replace `-EFI' with `-bzImage' in boot message.
8631
38487ddb 86322008-08-17 Robert Millan <rmh@aybabtu.com>
8633
8634 * include/grub/x86_64/kernel.h: New file (<grub/i386/kernel.h> stub).
8635
deceb3ec 86362008-08-17 Robert Millan <rmh@aybabtu.com>
8637
8638 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pc/mmap.c'.
8639
8640 * include/grub/i386/pc/init.h (GRUB_MACHINE_MEMORY_AVAILABLE)
8641 (GRUB_MACHINE_MEMORY_RESERVED): New macros.
8642 (grub_machine_mmap_iterate): New function declaration.
8643 * include/grub/multiboot.h (struct grub_multiboot_mmap_entry): New
8644 structure.
8645 (GRUB_MMAP_MEMORY_AVAILABLE, GRUB_MMAP_MEMORY_RESERVED): New
8646 macros.
8647
8648 * kern/i386/pc/init.c (grub_machine_init): Replace hardcoded region
8649 type check value with `GRUB_MACHINE_MEMORY_AVAILABLE'.
8650 Move e820 parsing from here ...
8651 * kern/i386/pc/mmap.c: New file.
8652 (grub_machine_mmap_iterate): ... to here.
8653
8654 * include/grub/i386/coreboot/memory.h: Remove `<grub/err.h>'.
8655 (GRUB_LINUXBIOS_MEMORY_AVAILABLE): Rename (for consistency) to ...
8656 (GRUB_MACHINE_MEMORY_AVAILABLE): ... this. Update all users.
8657 (grub_available_iterate): Redeclare to return `void', and redeclare
8658 its hook to use grub_uint64_t as addr and size parameters, and rename
8659 to ...
8660 (grub_machine_mmap_iterate): ... this. Update all users.
8661
8662 * kern/i386/coreboot/mmap.c (grub_mmap_iterate): Simplify parser loop
8663 to make it more readable. Rename to ...
8664 (grub_machine_mmap_iterate): ... this.
8665
8666 * loader/i386/pc/multiboot.c (mmap_addr, mmap_length): New variables.
8667 (grub_get_multiboot_mmap_len, grub_fill_multiboot_mmap): New functions.
8668 (grub_multiboot): Allocate an extra region after the payload, and fill
8669 it with a Multiboot memory map. Adjust a.out loader to calculate size
8670 with the extra space.
8671 (grub_multiboot_load_elf32): Adjust elf32 loader to calculate size
8672 with the extra space.
8673
f8aa0f43 86742008-08-17 Carles Pina i Estany <carles@pina.cat>
8675
9807deb9 8676 * menu/normal.c (run_menu): Add Home and End keys in grub-menu.
f8aa0f43 8677
605f5bb6 86782008-08-17 Felix Zielcke <fzielcke@z-51.de>
8679
8680 * gendistlist.sh: Add *.y, *.tex, *.texi, grub.cfg, README, *.sc,
8681 mdate-sh to the list `find' searches for.
8682 * DISTLIST: Regenerated.
8683
210db6c6 86842008-08-16 Felix Zielcke <fzielcke@z-51.de>
8685
8686 * gendistlist.sh (EXTRA_DISTFILES): Remove gensymlist.sh,
8687 genkernsyms.sh. Add geninit.sh, geninitheader.sh, genkernsyms.sh.in,
48cdbfd4 8688 genmoddep.awk, gensymlist.sh.in.
8689 (DISTDIRS): Add bus, docs, hook, lib.
210db6c6 8690 * DISTLIST: Regenerated.
48cdbfd4 8691 * NEWS: Add cygwin support and change the `os-prober' entry a bit.
210db6c6 8692
1082b929 86932008-08-16 Robert Millan <rmh@aybabtu.com>
8694
8695 * disk/raid.c (grub_raid_init): Handle/report errors set by
8696 grub_device_iterate().
8697 * disk/lvm.c (grub_lvm_init): Likewise.
8698
42ce5170 86992008-08-15 Bean <bean123ch@gmail.com>
8700
8701 * conf/i386-pc.rmk (pkglib_MODULES): Add datetime.mod, date.mod
8702 and datehook.mod.
8703 (datetime_mod_SOURCES): New macro.
8704 (datetime_mod_CFLAGS): Likewise.
8705 (datetime_mod_LDFLAGS): Likewise.
8706 (date_mod_SOURCES): Likewise.
8707 (date_mod_CFLAGS): Likewise.
8708 (date_mod_LDFLAGS): Likewise.
8709 (datehook_mod_SOURCES): Likewise.
8710 (datehook_mod_CFLAGS): Likewise.
8711 (datehook_mod_LDFLAGS): Likewise.
8712
8713 * conf/i386-coreboot.rmk (pkglib_MODULES): Add datetime.mod, date.mod
8714 and datehook.mod.
8715 (datetime_mod_SOURCES): New macro.
8716 (datetime_mod_CFLAGS): Likewise.
8717 (datetime_mod_LDFLAGS): Likewise.
8718 (date_mod_SOURCES): Likewise.
8719 (date_mod_CFLAGS): Likewise.
8720 (date_mod_LDFLAGS): Likewise.
8721 (datehook_mod_SOURCES): Likewise.
8722 (datehook_mod_CFLAGS): Likewise.
8723 (datehook_mod_LDFLAGS): Likewise.
8724
8725 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add datetime.mod, date.mod
8726 and datehook.mod.
8727 (datetime_mod_SOURCES): New macro.
8728 (datetime_mod_CFLAGS): Likewise.
8729 (datetime_mod_LDFLAGS): Likewise.
8730 (date_mod_SOURCES): Likewise.
8731 (date_mod_CFLAGS): Likewise.
8732 (date_mod_LDFLAGS): Likewise.
8733 (datehook_mod_SOURCES): Likewise.
8734 (datehook_mod_CFLAGS): Likewise.
8735 (datehook_mod_LDFLAGS): Likewise.
8736
8737 * conf/i386-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
8738 and datehook.mod.
8739 (datetime_mod_SOURCES): New macro.
8740 (datetime_mod_CFLAGS): Likewise.
8741 (datetime_mod_LDFLAGS): Likewise.
8742 (date_mod_SOURCES): Likewise.
8743 (date_mod_CFLAGS): Likewise.
8744 (date_mod_LDFLAGS): Likewise.
8745 (datehook_mod_SOURCES): Likewise.
8746 (datehook_mod_CFLAGS): Likewise.
8747 (datehook_mod_LDFLAGS): Likewise.
8748
8749 * conf/x86_64-efi.rmk (pkglib_MODULES): Add datetime.mod, date.mod
8750 and datehook.mod.
8751 (datetime_mod_SOURCES): New macro.
8752 (datetime_mod_CFLAGS): Likewise.
8753 (datetime_mod_LDFLAGS): Likewise.
8754 (date_mod_SOURCES): Likewise.
8755 (date_mod_CFLAGS): Likewise.
8756 (date_mod_LDFLAGS): Likewise.
8757 (datehook_mod_SOURCES): Likewise.
8758 (datehook_mod_CFLAGS): Likewise.
8759 (datehook_mod_LDFLAGS): Likewise.
8760
8761 * kern/env.c (grub_env_insert): Fix a bug in prevp pointer.
8762
8763 * commands/date.c: New file.
8764
8765 * hook/datehook.c: Likewise.
8766
8767 * include/grub/lib/datetime.h: Likewise.
8768
8769 * include/grub/i386/cmos.h: Likewise.
8770
8771 * lib/datetime.c: Likewise.
8772
8773 * lib/i386/datetime.c: Likewise.
8774
8775 * lib/efi/datetime.c: Likewise.
8776
0e9242da 87772008-08-14 Robert Millan <rmh@aybabtu.com>
8778
8779 * conf/common.rmk (bin_UTILITIES): Add `grub-mkelfimage'.
8780 (grub_mkelfimage_SOURCES): New variable.
8781 (util/elf/grub-mkimage.c_DEPENDENCIES): Likewise.
8782
8783 * conf/i386-coreboot.rmk (bin_UTILITIES, grub_mkimage_SOURCES)
8784 (grub_mkimage_LDFLAGS, util/elf/grub-mkimage.c_DEPENDENCIES): Remove.
8785 * conf/powerpc-ieee1275.rmk: Likewise.
8786 * conf/i386-ieee1275.rmk: Likewise.
8787
8788 * kern/ieee1275/init.c: Include `<grub/cpu/kernel.h>'.
8789 * kern/i386/coreboot/init.c: Likewise.
8790
8791 * kern/i386/ieee1275/startup.S: Replace `<grub/machine/kernel.h>'
8792 with `<grub/cpu/kernel.h>'.
8793 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Renamed
8794 to ...
8795 (GRUB_KERNEL_CPU_PREFIX, GRUB_KERNEL_CPU_DATA_END): ... this.
8796 * kern/i386/coreboot/startup.S: Likewise.
8797
8798 * include/grub/powerpc/ieee1275/kernel.h (GRUB_MOD_ALIGN)
8799 (GRUB_MOD_GAP): Remove.
8800 * include/grub/powerpc/kernel.h: New file.
8801 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX)
8802 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
8803 * include/grub/i386/kernel.h: New file.
8804 * include/grub/i386/coreboot/kernel.h (GRUB_MOD_ALIGN)
8805 (GRUB_MOD_GAP, GRUB_KERNEL_MACHINE_PREFIX)
8806 (GRUB_KERNEL_MACHINE_DATA_END): Remove.
8807
8808 * util/ieee1275/grub-install.in (grub_mkimage): Initialize to use
8809 `grub-mkelfimage'.
8810 Use --directory when invoking grub_mkimage.
8811
8812 * util/elf/grub-mkimage.c: Include `<grub/cpu/kernel.h>'.
8813 (add_segments): Replace GRUB_KERNEL_MACHINE_DATA_END and
8814 GRUB_KERNEL_MACHINE_PREFIX with GRUB_KERNEL_CPU_DATA_END
8815 and GRUB_KERNEL_CPU_PREFIX.
8816
b86408f8 88172008-08-14 Felix Zielcke <fzielcke@z-51.de>
8818
d5e619ca 8819 * include/grub/err.h (grub_err_printf): New function prototype.
8820 * util/misc.c (grub_err_printf): New function.
8821 * kern/misc.c [! GRUB_UTIL] (grub_err_printf): New alias for
8822 grub_printf.
8823 * kern/err.c (grub_print_error): Use grub_err_printf.
b86408f8 8824
7161f0e0 88252008-08-13 Robert Millan <rmh@aybabtu.com>
8826
8827 * docs/grub.cfg: Remove `/dev/' prefix in GNU/Hurd boot entry.
8828
a1967522 88292008-08-13 Robert Millan <rmh@aybabtu.com>
8830
8831 * docs/grub.cfg: Use the native device name for the example GNU/Hurd
8832 boot entry.
8833
371458b5 88342008-08-12 Robert Millan <rmh@aybabtu.com>
8835
8836 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Move part
8837 of the relocation code from here ...
8838 (grub_multiboot): ... to here.
8839 (forward_relocator, backward_relocator): Move from here ...
8840 * kern/i386/loader.S (grub_multiboot_forward_relocator)
8841 (grub_multiboot_backward_relocator): ... to here.
8842 (grub_multiboot_real_boot): Use %edx for entry offset. Put Multiboot
8843 magic in %eax. Use %ebp for jumping (so %edx is not trashed).
8844 * include/grub/i386/loader.h (grub_multiboot_forward_relocator)
8845 (grub_multiboot_forward_relocator_end)
8846 (grub_multiboot_backward_relocator)
8847 (grub_multiboot_backward_relocator_end): New variables.
8848
05f9452b 88492008-08-12 Bean <bean123ch@gmail.com>
8850
8851 * disk/raid.c (grub_raid_read): Fix a bug in raid0 code.
8852
20024ab0 88532008-08-11 Robert Millan <rmh@aybabtu.com>
8854
8855 * kern/i386/linuxbios/startup.S: Move from here ...
8856 * kern/i386/coreboot/startup.S: ... to here.
8857
8858 * kern/i386/linuxbios/init.c: Move from here ...
8859 * kern/i386/coreboot/init.c: ... to here.
8860
8861 * kern/i386/linuxbios/table.c: Move from here ...
8862 * kern/i386/coreboot/mmap.c: ... to here.
8863
8864 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Update moved files.
8865
e352e9cd 88662008-08-11 Robert Millan <rmh@aybabtu.com>
8867
8868 * kern/device.c (grub_device_open): Do not handle grub_disk_open()
8869 errors. Leave it to the upper layer to handle them.
8870
2d05bc6a 88712008-08-09 Christian Franke <franke@computer.org>
8872
8873 * Makefile.in: Add `target_os' and `enable_grub_pe2elf'.
8874 * conf/common.rmk: Install `grub-pe2elf' only if requested.
8875 Install `grub.d/10_windows' only on Cygwin.
8876 * configure.ac: Add subst of `target_os'.
8877 Check `target_os' also before setting TARGET_OBJ2ELF.
8878 Add `--enable-grub-pe2elf'.
8879
042bd419 88802008-08-08 Robert Millan <rmh@aybabtu.com>
8881
8882 * kern/disk.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
8883 (grub_last_time): Change type to grub_uint64_t.
8884 (grub_disk_open): Migrate code from to using grub_get_time_ms().
8885 (grub_disk_close): Likewise.
8886
8887 * normal/menu.c: Replace `<grub/machine/time.h>' with `<grub/time.h>'.
8888 (run_menu): Migrate code from to using grub_get_time_ms().
8889
8890 * util/misc.c (grub_get_time_ms): New function.
8891
7f280db5 88922008-08-08 Marco Gerards <marco@gnu.org>
8893
8894 * disk/ata.c (grub_ata_regget): Change return type to
8895 `grub_uint8_t'.
8896 (grub_ata_regget2): Likewise.
8897 (grub_ata_wait_status): New function.
8898 (grub_ata_wait_busy): Removed function, updated all users to use
8899 `grub_ata_wait_status'.
8900 (grub_ata_wait_drq): Likewise.
8901 (grub_ata_cmd): New function.
8902 (grub_ata_pio_read): Change return type to `grub_uint8_t'. Add
8903 error handling.
8904 (grub_ata_pio_write): Add error handling.
8905 (grub_atapi_identify): Likewise.
8906 (grub_atapi_packet): Use `grub_ata_cmd' and improve error
8907 handling.
8908 (grub_ata_identify): Use `grub_ata_cmd' and improve error
8909 handling. Actually use the detected registers. Reorder the
8910 detection logic such that it is easier to read.
8911 (grub_ata_pciinit): Do not assign the same ID to each controller.
8912 (grub_ata_setaddress): Use `grub_ata_cmd' and improve error
8913 handling.
8914 (grub_atapi_readsector): Check the result of `grub_ata_pio_read'.
8915
8916 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TIMEOUT'.
8917
1fbc5e66 89182008-08-08 Marco Gerards <marco@gnu.org>
8919
8920 * NEWS: Update.
8921
819ce6c0 89222008-08-07 Bean <bean123ch@gmail.com>
8923
8924 * include/grub/x86_64/pci.h: New file.
8925
5c41d44d 89262008-08-07 Christian Franke <franke@computer.org>
8927
8928 * kern/i386/pit.c (TIMER2_SPEAKER): New define.
8929 (TIMER2_GATE): Likewise.
8930 (grub_pit_wait): Add enable/disable of the timer2 gate
8931 bit of port 0x61. This fixes a possible infinite loop.
8932
5ebc275d 89332008-08-07 Bean <bean123ch@gmail.com>
8934
8935 * conf/x86_64-efi.rmk (kernel_mod_SOURCES): Add kern/time.c,
8936 kern/i386/tsc.c and kern/i386/pit.c.
8937
8938 * include/grub/i386/tsc.h (grub_cpu_is_cpuid_supported): Handle
8939 x86_64 platform.
8940
8941 * kern/i386/efi/init.c: Replace <grub/cpu/tsc.h> with
8942 <grub/i386/tsc.h>.
8943
8944 * kern/i386/pit.c: Replace <grub/cpu/io.h> with <grub/i386/io.h>.
8945
e383b3d0 89462008-08-07 Bean <bean123ch@gmail.com>
8947
8948 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add kern/time.c.
8949
8950 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add kern/time.c,
8951
8952 * include/grub/i386/pit.h: Use macro KERNEL_CPU_PIT_HEADER to avoid
8953 multiple inclusion. Add #include <grub/types.h>.
8954
1cbb58ac 89552008-08-06 Christian Franke <franke@computer.org>
8956
8957 * conf/common.rmk: Build and install `10_windows'.
8958 * util/grub.d/10_windows.in: New script.
8959
337f5a1e 89602008-08-06 Pavel Roskin <proski@gnu.org>
8961
8962 * kern/i386/pit.c: Include `<grub/i386/pit.h>'.
8963
057bc4ac 89642008-08-06 Robert Millan <rmh@aybabtu.com>
8965
8966 * conf/i386-coreboot.rmk (kernel_elf_ASFLAGS): New variable.
8967 * kern/i386/tsc.c: Include `<grub/i386/pit.h>'.
8968
2b99f123 89692008-08-06 Bean <bean123ch@gmail.com>
8970
8971 * fs/i386/pc/pxe.c (grub_pxe_data): New member block_size.
8972 (grub_pxefs_fs_int): Remove dummy definition.
8973 (grub_pxefs_open): Use data->block_size to store the current block
8974 size setting.
8975 (grub_pxefs_read): Use block size stored in data->block_size. As the
8976 value of grub_pxe_blksize can be changed after the file is opened.
8977
9f0234cb 89782008-08-06 Bean <bean123ch@gmail.com>
8979
8980 * fs/i386/pc/pxe.c (curr_file): new variable.
8981 (grub_pxefs_open): Simply the handling of pxe file system. Don't
8982 require the dummy internal file system anymore.
8983 (grub_pxefs_read): Removed.
8984 (grub_pxefs_close): Likewise.
8985 (grub_pxefs_fs_int): Likewise.
8986 (grub_pxefs_read_int): Renamed to grub_pxefs_read. Reinitialize tftp
8987 connection when we switch file.
8988 (grub_pxefs_close_int): Renamed to grub_pxefs_close.
8989
a55d42e0 89902008-08-06 Robert Millan <rmh@aybabtu.com>
8991
8992 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `reboot.mod' and
8993 `halt.mod'.
8994 (reboot_mod_SOURCES, reboot_mod_CFLAGS, reboot_mod_LDFLAGS)
8995 (halt_mod_SOURCES, halt_mod_CFLAGS, halt_mod_LDFLAGS): New variables.
8996
8997 * kern/i386/halt.c: New file.
8998 * kern/i386/reboot.c: Likewise.
8999 * include/grub/i386/reboot.h: Likewise.
9000 * include/grub/i386/halt.h: Likewise.
9001
9002 * commands/halt.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]:
9003 Include `<grub/cpu/halt.h>'.
9004 * commands/reboot.c [! GRUB_MACHINE_IEEE1275 ! GRUB_MACHINE_EFI]
9005 [! GRUB_MACHINE_PCBIOS]: Include `<grub/cpu/reboot.h>'.
9006
9007 * term/i386/pc/at_keyboard.c: Include `<grub/cpu/at_keyboard.h>'.
9008 (SHIFT_L, SHIFT_R, CTRL, ALT, CAPS_LOCK, KEYBOARD_REG_DATA)
9009 (KEYBOARD_REG_STATUS, KEYBOARD_COMMAND_ISREADY, KEYBOARD_COMMAND_READ)
9010 (KEYBOARD_COMMAND_WRITE, KEYBOARD_COMMAND_REBOOT)
9011 (KEYBOARD_SCANCODE_SET1, KEYBOARD_ISMAKE, KEYBOARD_ISREADY)
9012 (KEYBOARD_SCANCODE, OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): Move
9013 from here ...
9014 * include/grub/i386/at_keyboard.h: ... to here.
9015
24371d26 90162008-08-05 Robert Millan <rmh@aybabtu.com>
9017
9018 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/i386/pit.c'.
9019 * conf/i386-efi.rmk (kernel_mod_SOURCES): Likewise.
9020 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Likewise. Also add
9021 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
9022 `kern/generic/millisleep.c'.
9023
9024 * kern/i386/tsc.c (calibrate_tsc): Rewrite using grub_pit_wait()
9025 instead of grub_get_rtc().
9026 (grub_tsc_init): Initialize `tsc_boot_time'.
9027
9028 * kern/i386/linuxbios/init.c (grub_millisleep): Remove stub.
9029 (grub_machine_init): Use grub_tsc_init() rather than
9030 installing an RTC-based handler via grub_install_get_time_ms().
9031
9032 * kern/i386/pit.c: New file.
9033 * include/grub/i386/pit.h: Likewise.
9034
9e7007b3 90352008-08-05 Bean <bean123ch@gmail.com>
9036
9037 * boot/i386/pc/pxeboot.S (_start): Use drive number 0x7F for pxe.
9038
9039 * conf/i386-pc.rmk (kernel_img_HEADERS): Add machine/pxe.h.
9040 (pkglib_MODULES): Add pxe.mod and pxecmd.mod.
9041 (pxe_mod_SOURCES): New macro.
9042 (pxe_mod_CFLAGS): Likewise.
9043 (pxe_mod_LDFLAGS): Likewise.
9044 (pxecmd_mod_SOURCES): Likewise.
9045 (pxecmd_mod_CFLAGS): Likewise.
9046 (pxecmd_mod_LDFLAGS): Likewise.
9047
9048 * kern/i386/pc/startup.S (grub_pxe_scan): New function.
9049 (grub_pxe_call): Likewise.
9050
9051 * include/grub/disk.h (grub_disk_dev_id): Add GRUB_DISK_DEVICE_PXE_ID.
9052
9053 * commands/i386/pc/pxecmd.c: New file.
9054
9f0234cb 9055 * fs/i386/pc/pxe.c: Likewise.
9e7007b3 9056
9057 * include/grub/i386/pc/pxe.h: Likewise.
9058
6977d49f 90592008-08-05 Bean <bean123ch@gmail.com>
9060
9061 * util/console.c (grub_console_cur_color): New variable.
9062 (grub_console_standard_color): Likewise.
9063 (grub_console_normal_color): Likewise.
9064 (grub_console_highlight_color): Likewise.
9065 (color_map): Likewise.
9066 (use_color): Likewise.
9067 (NUM_COLORS): New macro.
9068 (grub_ncurses_setcolorstate): Handle color properly.
9069 (grub_ncurses_setcolor): Don't change color here, just remember the
9070 settings, color will be set in grub_ncurses_setcolorstate.
9071 (grub_ncurses_getcolor): New function.
9072 (grub_ncurses_init): Initialize color pairs.
9073 (grub_ncurses_term): New member grub_ncurses_getcolor.
9074
9c2ff3ee 90752008-08-05 Colin D Bennett <colin@gibibit.com>
337f5a1e 9076
9c2ff3ee 9077 High resolution timer support. Implemented for x86 CPUs using TSC.
9078 Extracted generic grub_millisleep() so it's linked in only as needed.
9079 This requires a Pentium compatible CPU; if the RDTSC instruction is
9080 not supported, then it falls back on the generic grub_get_time_ms()
9081 implementation that uses the machine's RTC.
9082
9083 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/time.c',
9084 `kern/i386/tsc.c', `kern/generic/rtc_get_time_ms.c' and
9085 `kern/generic/millisleep.c'.
9086
9087 * conf/i386-efi.rmk (kernel_mod_SOURCES): Add `kern/i386/tsc.c',
9088 `kern/generic/rtc_get_time_ms.c' and `kern/generic/millisleep.c'.
9089
9090 * conf/x86_64-efi.rml (kernel_mod_SOURCES): Add
9091 `kern/generic/millisleep.c' and `kern/generic/rtc_get_time_ms.c'.
9092
9093 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
9094
9095 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Add
9096 `kern/generic/millisleep.c'.
9097
9098 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
9099
9100 * conf/i386-coreboot.rmk (kernel_elf_SOURCES): Add `kern/time.c'.
9101
9102 * kern/generic/rtc_get_time_ms.c: New file.
9103
9104 * kern/generic/millisleep.c: New file.
337f5a1e 9105
9c2ff3ee 9106 * kern/misc.c: Don't include
9107 <kern/time.h> anymore.
9108 (grub_millisleep_generic): Removed.
9109
9110 * commands/sleep.c (grub_interruptible_millisleep): Uses
9111 grub_get_time_ms() instead of grub_get_rtc().
9112
9113 * include/grub/i386/tsc.h (grub_get_tsc): New file. New inline
9114 function.
9115 (grub_cpu_is_cpuid_supported): New inline function.
9116 (grub_cpu_is_tsc_supported): New inline function.
9117 (grub_tsc_init): New function prototype.
9118 (grub_tsc_get_time_ms): New function prototype.
9119
9120 * kern/i386/tsc.c (grub_get_time_ms): New file.
9121
9122 * include/grub/time.h: Include <grub/types.h.
9123 (grub_millisleep_generic): Removed.
9124 (grub_get_time_ms): New prototype.
9125 (grub_install_get_time_ms): New prototype.
9126 (grub_rtc_get_time_ms): New prototype.
9127
9128 * kern/time.c (grub_get_time_ms): New function.
9129 (grub_install_get_time_ms): New function.
9130
9131 * kern/i386/efi/init.c: Include <grub/cpu/tsc.h>. Don't include
9132 <grub/time.h> anymore.
9133 (grub_millisleep): Removed.
9134 (grub_machine_init): Call grub_tsc_init.
9135
9136 * kern/i386/linuxbios/init.c (grub_machine_init): Install the RTC
9137 get_time_ms() implementation.
9138
9139 * kern/sparc64/ieee1275/init.c (grub_millisleep): Removed.
9140 (ieee1275_get_time_ms): New function.
9141 (grub_machine_init): Install get_time_ms() implementation.
9142
9143 * kern/i386/pc/init.c: Include <grub/cpu/tsc.h>.
9144 (grub_machine_init): Call grub_tsc_init().
9145 (grub_millisleep): Removed.
bf06a93f 9146
9c2ff3ee 9147 * kern/ieee1275/init.c (grub_millisleep): Removed.
9148 (grub_machine_init): Install ieee1275_get_time_ms()
9149 implementation.
9150 (ieee1275_get_time_ms): New function.
9151 (grub_get_rtc): Now calls ieee1275_get_time_ms(), which does the
9152 real work.
9153
9ec92aaf 91542008-08-05 Marco Gerards <marco@gnu.org>
9155
9156 * disk/ata.c: Include <grub/pci.h>.
9157 (enum grub_ata_commands): Add `GRUB_ATA_CMD_EXEC_DEV_DIAGNOSTICS'.
9158 (grub_ata_initialize): Rewritten.
9159 (grub_ata_device_initialize): New function.
9160
8d23f507 91612008-08-04 Pavel Roskin <proski@gnu.org>
9162
9163 * kern/main.c: Include grub/mm.h.
9164
5e15ee3d 91652008-08-04 Robert Millan <rmh@aybabtu.com>
9166
9167 * conf/i386-coreboot.rmk (COMMON_ASFLAGS, COMMON_CFLAGS)
9168 (COMMON_LDFLAGS): Harmonize with i386-pc version (fixes a code
9169 corruption problem).
9170
a9053f8f 91712008-08-04 Robert Millan <rmh@aybabtu.com>
9172
9173 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Fix misc
9174 warnings introduced in my last commit.
9175
dd19c7d7 91762008-08-03 Robert Millan <rmh@aybabtu.com>
9177
9178 Make PCI available on all i386 architectures.
9179
9180 * include/grub/i386/pc/pci.h: Move from here ...
9181 * include/grub/i386/pci.h: ... to here.
9182
9183 * include/grub/i386/pc/pci.h: Remove.
9184 * include/grub/i386/efi/pci.h: Remove.
9185 * include/grub/x86_64/efi/pci.h: Remove.
9186
9187 * include/grub/pci.h: Replace `<grub/machine/pci.h>' with
9188 `<grub/cpu/pci.h>'.
9189
9190 * conf/i386-coreboot.rmk (pkglib_MODULES): Add `pci' and `lspci'.
9191 (pci_mod_SOURCES, pci_mod_CFLAGS, pci_mod_LDFLAGS, lspci_mod_SOURCES)
9192 (lspci_mod_CFLAGS, lspci_mod_LDFLAGS): New variables.
9193
9194 * conf/i386-ieee1275.rmk: Likewise.
9195
e14a6184 91962008-08-03 Robert Millan <rmh@aybabtu.com>
9197
9198 * term/i386/pc/vga_text.c (CRTC_CURSOR_DISABLE): New macro.
9199 (grub_console_setcursor): Make it possible to set cursor off.
9200
52768e37 92012008-08-03 Robert Millan <rmh@aybabtu.com>
9202
9203 * util/grub.d/00_header.in: Be platform-agnostic. Probe for existence
9204 of modules instead of assuming which platform provides what.
9205 * util/update-grub.in: Likewise.
9206
2d52f57f 92072008-08-03 Robert Millan <rmh@aybabtu.com>
9208
9209 * kern/i386/pc/init.c (make_install_device): Check for `grub_prefix'
9210 instead of `grub_install_dos_part' to determine whether a drive needs
9211 to be prepended to prefix (`grub_install_dos_part' is not reliable,
825aa57a 9212 because it can be overridden when loading GRUB via Multiboot).
2d52f57f 9213
2a5cd121 92142008-08-02 Robert Millan <rmh@aybabtu.com>
9215
9216 * util/i386/pc/grub-install.in: Remove trailing slash from prefix.
9217
93808428 92182008-08-02 Robert Millan <rmh@aybabtu.com>
9219
9220 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Add a pair
9221 of informational grub_dprintf() calls.
9222
3bd0a12a 92232008-08-02 Robert Millan <rmh@aybabtu.com>
9224
9225 * disk/memdisk.c (memdisk_size): Don't initialize.
9226 (GRUB_MOD_INIT(memdisk)): Find memdisk using grub_module_iterate().
9227
9228 * include/grub/i386/pc/kernel.h
9229 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): Remove macro.
9230 (GRUB_KERNEL_MACHINE_PREFIX, GRUB_KERNEL_MACHINE_DATA_END): Shift.
9231 (grub_memdisk_image_size, grub_arch_memdisk_addr)
9232 (grub_arch_memdisk_size): Remove.
9233
9234 * include/grub/kernel.h (struct grub_module_header): Remove `offset'
9235 field (was only used to transfer a constant). Add `type' field to
9236 support multiple module types.
9237 (grub_module_iterate): New function.
9238
9239 * kern/device.c (grub_device_open): Do not hide error messages
9240 when grub_disk_open() fails. Use grub_print_error() instead.
9241
9242 * kern/i386/pc/init.c (grub_arch_modules_addr)
9243 (grub_arch_memdisk_size): Remove functions.
9244 (grub_arch_modules_addr): Return the module address in high memory
9245 (now that it isn't copied anymore).
9246
9247 * kern/i386/pc/startup.S (grub_memdisk_image_size): Remove variable.
9248 (codestart): Don't add grub_memdisk_image_size to %ecx in LZMA
9249 decompression routine (grub_total_module_size already includes that
9250 now). Don't copy modules back to low memory.
9251
9252 * kern/main.c: Include `<grub/mm.h>'.
9253 (grub_load_modules): Split out (and use) ...
9254 (grub_module_iterate): ... this function, which iterates through
9255 module objects and runs a hook.
9256 Comment out grub_mm_init_region() call, as it would cause non-ELF
9257 modules to be overwritten.
9258
9259 * util/i386/pc/grub-mkimage.c (generate_image): Instead of appending
9260 the memdisk image in its own region, make it part of the module list.
9261 * util/elf/grub-mkimage.c (options): Add "memdisk"|'m' option.
9262 (main): Parse --memdisk|-m option, and pass user-provided path as
9263 parameter to generate_image().
9264 (add_segments): Pass `memdisk_path' down to load_modules().
9265 (load_modules): Embed memdisk image in module section when requested.
9266 * util/i386/efi/grub-mkimage.c (make_mods_section): Initialize
9267 `header.type' instead of `header.offset'.
9268
9269 * conf/powerpc-ieee1275.rmk (pkglib_MODULES): Add `memdisk.mod'.
9270 (memdisk_mod_SOURCES, memdisk_mod_CFLAGS)
9271 (memdisk_mod_LDFLAGS): New variables.
9272 * conf/i386-coreboot.rmk: Likewise.
9273 * conf/i386-ieee1275.rmk: Likewise.
9274
a927cc73 92752008-08-02 Robert Millan <rmh@aybabtu.com>
9276
9277 * loader/i386/pc/multiboot.c (playground, forward_relocator)
9278 (backward_relocator): New variables. Used to allocate and relocate
9279 the payload, respectively.
9280 (grub_multiboot_load_elf32): Load into heap instead of requested
825aa57a 9281 address, install the appropriate relocator code in each bound of
a927cc73 9282 the payload, and set the entry point such that
9283 grub_multiboot_real_boot() will jump to one of them.
9284
9285 * kern/i386/loader.S (grub_multiboot_payload_size)
9286 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
9287 (grub_multiboot_payload_entry_offset): New variables.
9288 (grub_multiboot_real_boot): Set cpu context to what the relocator
9289 expects, and jump to the relocator instead of the payload.
9290
9291 * include/grub/i386/loader.h (grub_multiboot_payload_size)
9292 (grub_multiboot_payload_orig, grub_multiboot_payload_dest)
9293 (grub_multiboot_payload_entry_offset): Export.
9294
b15d8a0c 92952008-08-01 Bean <bean123ch@gmail.com>
9296
9297 * normal/menu_entry.c (editor_getline): Don't return the original
9298 string as result, as it will be released by lexer once it has done
9299 using it.
9300
cdfb3d22 93012008-08-01 Robert Millan <rmh@aybabtu.com>
9302
9303 * util/grub.d/10_linux.in: Use prepare_grub_to_access_device() from
9304 within menuentries, not before them.
9305 util/grub.d/10_hurd.in: Likewise.
9306
9175e93d 93072008-08-01 Bean <bean123ch@gmail.com>
9308
9309 * conf/common.rmk (pkglib_MODULES): Add bufio.mod.
9310 (bufio_mod_SOURCES): New macro.
9311 (bufio_mod_CFLAGS): Likewise.
9312 (bufio_mod_LDFLAGS): Likewise.
9313
9314 * include/grub/bufio.h: New file.
9315
9316 * io/bufio.c: Likewise.
9317
9318 * video/png.c: Replace <grub/file.h> with <grub/bufio.h>.
9319 (grub_video_reader_png): Use grub_buffile_open to open file.
9320
9321 * video/jpeg.c: Replace <grub/file.h> with <grub/bufio.h>.
9322 (grub_video_reader_jpeg): Use grub_buffile_open to open file.
9323
9324 * video/tga.c: Replace <grub/file.h> with <grub/bufio.h>.
9325 (grub_video_reader_tga): Use grub_buffile_open to open file.
9326
9327 * font/manager.c: Include <grub/bufio.h>.
9328 (add_font): Use grub_buffile_open to open file.
9329
3d8383e7 93302008-07-31 Robert Millan <rmh@aybabtu.com>
9331
9332 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): When loading
9333 ELF segments, use a macro for arbitrarily accessing any of them instead
9334 of preparing a pointer that allows access to one at a time.
9335 (grub_multiboot_load_elf64): Likewise.
9336
16e641b6 93372008-07-31 Bean <bean123ch@gmail.com>
9338
9339 * boot/i386/pc/lnxboot.S (real_code_2): Replace 0x50 with
9340 GRUB_KERNEL_MACHINE_DATA_END.
9341
59198b72 93422008-07-30 Robert Millan <rmh@aybabtu.com>
9343
9344 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_DATA_END):
9345 Increase from 0x50 to 0x60.
9346 * util/i386/pc/grub-install.in: Detect cross-disk installs, and
9347 use UUIDs to identify the root drive for them. If that's not
9348 possible, abort.
9349 * util/i386/pc/grub-setup.c (setup): Do not special-case, or even
9350 check, for cross-disk installs.
9351
ae88bca3 93522008-07-30 Robert Millan <rmh@aybabtu.com>
9353
9354 * kern/ieee1275/init.c (grub_machine_set_prefix): If `grub_prefix'
9355 is non-empty, use it to set the `prefix' environment variable instead
9356 of the usual approach.
9357 * kern/i386/linuxbios/init.c (make_install_device): Remove function.
9358 (grub_machine_set_prefix): Use `grub_prefix' to set the `prefix'
9359 environment variable instead of dummy make_install_device().
9360
9361 * kern/i386/ieee1275/startup.S: Include `<grub/machine/kernel.h>'.
9362 (start): Insert a data section, with `grub_prefix' variable.
825aa57a 9363 * kern/i386/linuxbios/startup.S: Likewise.
ae88bca3 9364
9365 * include/grub/powerpc/ieee1275/kernel.h [!ASM_FILE] (grub_prefix):
9366 New variable reference.
9367 * include/grub/i386/ieee1275/kernel.h (GRUB_KERNEL_MACHINE_PREFIX):
9368 New macro. Defines offset of `grub_prefix' within startup.S (relative
9369 to `start').
9370 (GRUB_KERNEL_MACHINE_DATA_END): New macro. Defines the end of data
9371 section within startup.S (relative to `start').
9372 * include/grub/i386/coreboot/kernel.h: Likewise.
9373
9374 * util/elf/grub-mkimage.c (add_segments): Receive `prefix' parameter.
9375 Overwrite grub_prefix with its contents, at the beginning of the
9376 first segment.
9377 (main): Understand -p|--prefix.
9378
14f41dd1 93792008-07-30 Robert Millan <rmh@aybabtu.com>
9380
9381 * util/grub.d/10_hurd.in: Source ${libdir}/grub/update-grub_lib.
9382
4ca049a3 93832008-07-30 Robert Millan <rmh@aybabtu.com>
9384
9385 * term/i386/pc/vga_text.c (grub_console_cls): Use
9386 grub_console_gotoxy() to go back to beginning of the screen.
9387 Found by Patrick Georgi <patrick.georgi@coresystems.de>
9388
2921d337 93892008-07-29 Christian Franke <franke@computer.org>
9390
9391 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
9392 Add conversion of emulated mount points on Cygwin.
9393
b609876d 93942008-07-29 Christian Franke <franke@computer.org>
9395
9396 * util/update-grub.in: Add a check for admin
9397 group on Cygwin.
9398 Remove old `grub.cfg.new' before creation.
9399 Add `-f' to `mv' to handle the different filesystem
9400 semantics of Windows.
9401
e93e4679 94022008-07-29 Bean <bean123ch@gmail.com>
9403
9404 * normal/main.c (get_line): Fix buffer overflow bug.
9405
41694fd0 94062008-07-28 Robert Millan <rmh@aybabtu.com>
9407
9408 * partmap/apple.c (GRUB_APPLE_HEADER_MAGIC): New macro.
9409 (struct grub_apple_header): New struct. Describes the layout of
9410 the partmap header.
9411 (apple_partition_map_iterate): Check the header magic as well as the
9412 partition magic (which was already being checked).
9413
cfd0b4e6 94142008-07-28 Pavel Roskin <proski@gnu.org>
9415
9416 * genmk.rb: Add a warning to the beginning of the output that
9417 it's a generated file and should not be edited.
9418
93cce016 94192008-07-28 Robert Millan <rmh@aybabtu.com>
9420
9421 * disk/raid.c (grub_raid_scan_device): Do not abort when two disks
9422 with the same number are found, just use issue a warning with
9423 grub_dprintf(), as this error has been reported to be non-fatal.
c298def0 9424
cd1df915 94252008-07-27 Robert Millan <rmh@aybabtu.com>
9426
9427 * disk/ata.c (grub_ata_dumpinfo): Use grub_dprintf() for debugging
9428 information.
9429
b70a8427 94302008-07-27 Bean <bean123ch@gmail.com>
9431
9432 * fs/fat.c (GRUB_FAT_MAXFILE): New constant.
9433 (grub_fat_find_dir): Ignore case when comparing filename.
9434
8f5e379f 94352008-07-27 Bean <bean123ch@gmail.com>
9436
9437 * fs/xfs.c (grub_xfs_dir_header): Change field i8count back to
9438 smallino, as it's more descriptive, and i8count can be confused with
9439 the other field count.
9440 (grub_xfs_iterate_dir): Adjust grub_xfs_dir_entry pointer for small
9441 inode type.
9442
a85cd5a0 94432008-07-27 Bean <bean123ch@gmail.com>
9444
9445 * commands/crc.c: New file.
9446
9447 * lib/crc.c: Likewise.
9448
9449 * include/grub/lib/crc.h: Likewise.
9450
9451 * util/grub-fstest.c: grub/hexdump.h => grub/lib/hexdump.h.
9452
9453 * commands/hexdump.c: grub/hexdump.h => grub/lib/hexdump.h.
9454 (hexdump): Move this function to ...
9455
9456 * lib/hexdump.c: ... here.
9457
9458 * include/grub/hexdump.h: Renamed to ...
9459
9460 * include/grub/lib/hexdump.h: ... this.
9461
9462 * commands/loadenv.c: grub/envblk.h => grub/lib/envblk.h
9463
9464 * util/grub-editenv.c: Likewise.
9465
9466 * include/envblk.h: Renamed to ...
9467
9468 * include/lib/envblk.h: ... this.
9469
9470 * util/envblk.c: Renamed to ...
9471
9472 * lib/envblk.c: ... this.
9473
9474 * conf/common.rmk (grub_fstest_SOURCES): commands/hexdump.c =>
9475 lib/hexdump.c.
9476 (grub_editenv_SOURCES): util/envblk.c => lib/envblk.c
9477 (pkglib_MODULES): Add crc.mod.
9478 (hexdump_mod_SOURCES): Add lib/hexdump.c.
9479 (loadenv_mod_SOURCES): util/envblk.c => lib/envblk.c.
9480 (crc_mod_SOURCES): New macro.
9481 (crc_mod_CFLAGS): Likewise.
9482 (crc_mod_LDFLAGS): Likewise.
9483
9484 * conf/i386-coreboot.rmk (grub_emu_SOURCES): Add lib/hexdump.c.
9485
9486 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
9487
9488 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
9489
9490 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
9491
9492 * conf/x86_64-efi.rmk (grub_emu_SOURCES): Likewise.
9493
c298def0 94942008-07-27 Felix Zielcke <fzielcke@z-51.de>
8749e9e5 9495
9496 * commands/help.c: Include <grub/term.h>.
9497 (TERM_WIDTH): Removed. Updated all users.
9498
cc349fb3 94992008-07-27 Pavel Roskin <proski@gnu.org>
9500
9501 * util/getroot.c (find_root_device): Rephrase a comment to avoid
9502 spurious warnings about a comment within a comment.
9503
9051607e 95042008-07-25 Robert Millan <rmh@aybabtu.com>
9505
9506 * util/getroot.c (find_root_device): Skip devices that match
9507 /dev/dm-[0-9]. This lets the real device be found for any type of
9508 abstraction (LVM, EVMS, RAID..).
9509 (grub_guess_root_device): Do not traverse /dev/mapper (for LVM)
9510 and /dev/evms (for EVMS) before traversing /dev. If a /dev/dm-[0-9]
9511 device is found first, find_root_device() will now skip it.
9512
01453bfc 95132008-07-24 Pavel Roskin <proski@gnu.org>
9514
9515 * include/grub/types.h: Use __builtin_bswap32() and
9516 __builtin_bswap64() with gcc 4.3 and newer.
9517
6af9849f 95182008-07-24 Christian Franke <franke@computer.org>
9519
3a0fa256 9520 * util/i386/pc/grub-install.in: If `--debug' is specified,
9521 pass `--verbose' to grub-setup.
9522 Abort script if make_system_path_relative_to_its_root() fails.
9523
7810e747 95242008-07-24 Bean <bean123ch@gmail.com>
9525
9526 * configure.ac: Fixed a bug caused by the previous cygwin patch,
9527 variable `target_platform' should be `platform'.
9528
42290e17 95292008-07-24 Bean <bean123ch@gmail.com>
9530
51cc5193 9531 * video/reader/png.c (DEFLATE_HLIT_MAX): Change value.
42290e17 9532 (grub_png_init_fixed_block): New function.
9533 (grub_png_decode_image_data): Handle fixed huffman code compression.
9534
2a8a80e4 95352008-07-24 Bean <bean123ch@gmail.com>
9536
9537 * common.rmk (bin_UTILITIES): Add grub-pe2elf.
9538 (grub_pe2elf_SOURCES): New macro.
9539 (CLEANFILES): Add grub-pe2elf.
9540
9541 * include/grub/efi/pe32.h (GRUB_PE32_SCN_ALIGN_1BYTES): New constant.
9542 (GRUB_PE32_SCN_ALIGN_2BYTES): Likewise.
9543 (GRUB_PE32_SCN_ALIGN_4BYTES): Likewise.
9544 (GRUB_PE32_SCN_ALIGN_8BYTES): Likewise.
9545 (GRUB_PE32_SCN_ALIGN_16BYTES): Likewise.
9546 (GRUB_PE32_SCN_ALIGN_32BYTES): Likewise.
9547 (GRUB_PE32_SCN_ALIGN_64BYTES): Likewise.
9548 (GRUB_PE32_SCN_ALIGN_SHIFT): Likewise.
9549 (GRUB_PE32_SCN_ALIGN_MASK): Likewise.
9550 (GRUB_PE32_SYM_CLASS_EXTERNAL): Likewise.
9551 (GRUB_PE32_SYM_CLASS_STATIC): Likewise.
9552 (GRUB_PE32_SYM_CLASS_FILE): Likewise.
9553 (GRUB_PE32_DT_FUNCTION): Likewise.
9554 (GRUB_PE32_REL_I386_DIR32): Likewise.
9555 (GRUB_PE32_REL_I386_REL32): Likewise.
9556 (grub_pe32_symbol): New structure.
9557 (grub_pe32_reloc): Likewise.
9558
9559 * util/grub-pe2elf.c: New file.
9560
9561 * configure.ac: Set TARGET_OBJ2ELF if host os is cygwin. Don't test for
9562 start symbol in non pc platform.
9563
9564 * genmk.rb: Use TARGET_OBJ2ELF to convert native object format to elf.
9565
9566 The following patches are from Christian Franke.
9567
9568 * include/grub/dl.h: Remove .previous, gas supports this only
9569 for ELF format.
9570
9571 * include/grub/symbol.h [__CYGWIN__] (#define FUNCTION/VARIABLE):
9572 Remove .type, gas supports this only for ELF format.
9573
9574 * kern/dl.c (grub_dl_resolve_dependencies): Add check for trailing
9575 nullbytes in symbol table. This fixes an infinite loop if table is
9576 zero filled.
9577
9578 * Makefile.in: Add autoconf replacements TARGET_IMG_LDSCRIPT,
9579 TARGET_IMG_LDFLAGS and EXEEXT.
9580
9581 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Replace -Wl,-N by
9582 TARGET_IMG_LDFLAGS_AC.
9583 (grub_CHECK_STACK_ARG_PROBE): New function.
9584
9585 * conf/i386-pc.rmk: Replace -Wl,-N by TARGET_IMG_LDFLAGS.
9586
9587 * conf/i386-pc-cygwin-ld-img.sc: New linker script.
9588
9589 * configure.ac: Add check for linker script "conf/${target}-img-ld.c"
9590 to set TARGET_IMG_LD* accordingly.
9591 Add check for Cygwin to set TARGET_MOD_OBJCOPY accordingly.
9592 Add call to grub_CHECK_STACK_ARG_PROBE.
9593 Use TARGET_IMG_LDFLAGS to check start, bss_start, end symbols.
9594
9595 * genkernsyms.sh.in: Handle HAVE_ASM_USCORE case.
9596
9597 * genmk.rb: Add EXEEXT to CLEANFILES.
9598
12ccdb75 95992008-07-23 Robert Millan <rmh@aybabtu.com>
9600
9601 * Makefile.in (UNICODE_ARROWS, UNICODE_LINES): New variables (they
9602 define the codes for arrows and lines used for the menu).
9603 (ascii.pff): Generate fonts for $(UNICODE_ARROWS) and $(UNICODE_LINES)
9604 as well.
9605
9606 * util/update-grub_lib.in (font_path): Prefer ascii.pff over complete
9607 fonts, because the latter are too slow.
9608
18eeaf04 96092008-07-21 Bean <bean123ch@gmail.com>
9610
9611 * kern/i386/pc/startup.S (gate_a20_try_bios): Change test order for
9612 a20. Run keyboard test last, as it will cause macbook to halt.
9613
b095e2ad 96142008-07-18 Pavel Roskin <proski@gnu.org>
9615
9616 * kern/dl.c: Go back to using GRUB_CPU_SIZEOF_VOID_P. We cannot
9617 load foreign architecture modules correctly anyway. Keep
9618 support for loading host architecture modules, whether we
9619 compile them or not.
9620
737feb35 96212008-07-17 Pavel Roskin <proski@gnu.org>
9622
3f4ce737 9623 * configure.ac: Use -m32 or -m64 regardless of whether we had to
9624 change target_cpu. The compiler default can mismatch target_cpu
9625 in any case.
9626
4ad2d049 9627 * disk/efi/efidisk.c: Fix format warnings on x86_64.
9628 * kern/efi/efi.c: Likewise.
9629
f6130a12 9630 * aclocal.m4 (grub_PROG_TARGET_CC): New macro. Check if the
9631 target compiler is functional.
9632 * configure.ac: Call grub_PROG_TARGET_CC once all target flags
9633 are set up.
9634
58393a2d 9635 * configure.ac: Default to efi platform for x86_64-apple. Allow
9636 powerpc64 CPU, default to ieee1275 platform for it. Split CPU
9637 adjustments from the rest, only do them if target is not
9638 explicitly given. Merge other adjustments with the final sanity
9639 check. Remove an extraneous check for supported CPU. Be
9640 specific which CPU and which platform is not supported.
9641
737feb35 9642 * configure.ac: Default to pc platform for x86_64.
9643
546f966a 96442008-07-17 Robert Millan <rmh@aybabtu.com>
9645
9646 Partial LinuxBIOS -> Coreboot rename.
9647
9648 * conf/i386-linuxbios.rmk: Renamed to ...
9649 * conf/i386-coreboot.rmk: ... this.
9650 * Makefile.in (RMKFILES): s/i386-linuxbios.rmk/i386-coreboot.rmk/g.
9651 * configure.ac: Accept "coreboot" as input platform (but maintain
9652 compatibility with "linuxbios").
9653 * include/grub/i386/linuxbios: Renamed to ...
9654 * include/grub/i386/coreboot: ... this.
9655
20011694 96562008-07-17 Bean <bean123ch@gmail.com>
9657
9658 * conf/i386/efi.rmk (pkglib_MODULES): add pci.mod and lspci.mod.
c11f6d16 9659 (appleldr_mod_SOURCE): New variable.
20011694 9660 (appleldr_mod_CFLAGS): Likewise.
9661 (appleldr_mod_LDFLAGS): Likewise.
9662 (pci_mod_SOURCES): Likewise.
9663 (pci_mod_CFLAGS): Likewise.
9664 (pci_mod_LDFLAGS): Likewise.
9665 (lspci_mod_SOURCES): Likewise.
9666 (lspci_mod_CFLAGS): Likewise.
9667 (lspci_mod_LDFLAGS): Likewise.
9668
9669 * conf/x86_64-efi.rmk: New file.
9670
9671 * disk/efi/efidisk.c (grub_efidisk_read): Wrap efi calls with efi_call_N
9672 macro.
9673 (grub_efidisk_write): Likewise.
9674
9675 * include/efi/api.h (efi_call_0): New macro.
9676 (efi_call_1): Likewise.
9677 (efi_call_2): Likewise.
9678 (efi_call_3): Likewise.
9679 (efi_call_4): Likewise.
9680 (efi_call_5): Likewise.
9681 (efi_call_6): Likewise.
9682
9683 * include/grub/efi/chainloader.h (grub_chainloader_cmd): Rename to
9684 grub_rescue_cmd_chainloader.
9685
9686 * include/grub/efi/pe32.h (GRUB_PE32_MACHINE_X86_64): New macro.
9687 (grub_pe32_optional_header): Change some fields based on i386 or
9688 x86_64 platform.
9689 (GRUB_PE32_PE32_MAGIC): Likewise.
9690
9691 * include/grub/efi/uga_draw.h: New file.
9692
9693 * include/grub/elf.h (STN_ABS): New constant.
9694 (R_X86_64_NONE): Relocation constant for x86_64.
9695 (R_X86_64_64): Likewise.
9696 (R_X86_64_PC32): Likewise.
9697 (R_X86_64_GOT32): Likewise.
9698 (R_X86_64_PLT32): Likewise.
9699 (R_X86_64_COPY): Likewise.
9700 (R_X86_64_GLOB_DAT): Likewise.
9701 (R_X86_64_JUMP_SLOT): Likewise.
9702 (R_X86_64_RELATIVE): Likewise.
9703 (R_X86_64_GOTPCREL): Likewise.
9704 (R_X86_64_32): Likewise.
9705 (R_X86_64_32S): Likewise.
9706 (R_X86_64_16): Likewise.
9707 (R_X86_64_PC16): Likewise.
9708 (R_X86_64_8): Likewise.
9709 (R_X86_64_PC8): Likewise.
9710
9711 * include/grub/i386/efi/pci.h: New file.
9712
9713 * include/grub/i386/linux.h (GRUB_LINUX_EFI_SIGNATURE):
9714 Change it value based on platform.
9715 (GRUB_LINUX_EFI_SIGNATURE_0204): New constant.
9716 (GRUB_E820_RAM): Likewise.
9717 (GRUB_E820_RESERVED): Likewise.
9718 (GRUB_E820_ACPI): Likewise.
9719 (GRUB_E820_NVS): Likewise.
9720 (GRUB_E820_EXEC_CODE): Likewise.
9721 (GRUB_E820_MAX_ENTRY): Likewise.
9722 (grub_e820_mmap): New structure.
9723 (linux_kernel_header): Change the efi field according to different
9724 kernel version, also field from linux_kernel_header.
9725
9726 * include/grub/kernel.h (grub_module_info): Add padding for x86_64.
9727
9728 * include/grub/pci.h (GRUB_PCI_ADDR_SPACE_MASK): New constant.
9729 (GRUB_PCI_ADDR_SPACE_MEMORY): Likewise.
9730 (GRUB_PCI_ADDR_SPACE_IO): Likewise.
9731 (GRUB_PCI_ADDR_MEM_TYPE_MASK): Likewise.
9732 (GRUB_PCI_ADDR_MEM_TYPE_32): Likewise.
9733 (GRUB_PCI_ADDR_MEM_TYPE_1M): Likewise.
9734 (GRUB_PCI_ADDR_MEM_TYPE_64): Likewise.
9735 (GRUB_PCI_ADDR_MEM_PREFETCH): Likewise.
9736 (GRUB_PCI_ADDR_MEM_MASK): Likewise.
9737 (GRUB_PCI_ADDR_IO_MASK): Likewise.
9738
9739 * include/grub/x86_64/efi/kernel.h: New file.
9740
9741 * include/grub/x86_64/efi/loader.h: Likewise.
9742
9743 * include/grub/x86_64/efi/machine.h: Likewise.
9744
9745 * include/grub/x86_64/efi/pci.h: Likewise.
9746
9747 * include/grub/x86_64/efi/time.h: Likewise.
9748
9749 * include/grub/x86_64/linux.h: Likewise.
9750
9751 * include/grub/x86_64/setjmp.h: Likewise.
9752
9753 * include/grub/x86_64/time.h: Likewise.
9754
9755 * include/grub/x86_64/types.h: Likewise.
9756
9757 * kern/dl.c (GRUB_CPU_SIZEOF_VOID_P): Changed to
9758 GRUB_TARGET_SIZEOF_VOID_P.
9759
9760 * kern/efi/efi.c (grub_efi_locate_protocol): Wrap efi calls.
9761 (grub_efi_locate_handle): Likewise.
9762 (grub_efi_open_protocol): Likewise.
9763 (grub_efi_set_text_mode): Likewise.
9764 (grub_efi_stall): Likewise.
9765 (grub_exit): Likewise.
9766 (grub_reboot): Likewise.
9767 (grub_halt): Likewise.
9768 (grub_efi_exit_boot_services): Likewise.
9769 (grub_get_rtc): Likewise.
9770
9771 * kern/efi/mm.c (MEMORY_MAP_SIZE): Change to 0x3000 for new models.
9772 (GRUB_CPU_SIZEOF_VOID_P): Changed to GRUB_TARGET_SIZEOF_VOID_P.
9773 (grub_efi_allocate_pages): Wrap efi calls.
9774 (grub_efi_free_pages): Wrap efi calls.
9775 (grub_efi_get_memory_map): Wrap efi calls.
9776
9777 * kern/x86_64/dl.c: New file.
9778
9779 * kern/x86_64/efi/callwrap.S: Likewise.
9780
9781 * kern/x86_64/efi/startup.S: Likewise.
9782
9783 * loader/efi/appleloader.c: Likewise.
9784
9785 * loader/efi/chainloader.c (cmdline): New variable.
9786 (grub_chainloader_unload): Wrap efi calls.
9787 (grub_chainloader_boot): Likewise.
9788 (grub_rescue_cmd_chainloader): Wrap efi calls, handle
9789 command line.
9790
9791 * loader/efi/chainloader_normal.c (chainloader_command):
9792 Change grub_chainloader_cmd to grub_rescue_cmd_chainloader, pass
9793 command line.
9794
9795 * loader/i386/efi/linux.c (allocate_pages): Change allocation
9796 method.
9797 (grub_e820_add_region): New function.
9798 (grub_linux_boot): Construct e820 map from efi map, handle x86_64
9799 booting.
9800 (grub_find_video_card): New function.
9801 (grub_linux_setup_video): New function.
9802 (grub_rescue_cmd_linux): Probe for video information.
9803
9804 * normal/x86_64/setjmp.S: New file.
9805
9806 * term/efi/console.c (map_char): New function.
9807 (grub_console_putchar): Map unicode char.
9808 (grub_console_checkkey): Wrap efi calls.
9809 (grub_console_getkey): Likewise.
9810 (grub_console_getwh): Likewise.
9811 (grub_console_gotoxy): Likewise.
9812 (grub_console_cls): Likewise.
9813 (grub_console_setcolorstate): Likewise.
9814 (grub_console_setcursor): Likewise.
9815
9816 * util/i386/efi/grub-mkimage.c: Add support for x86_64.
9817
59652a20 98182008-07-16 Pavel Roskin <proski@gnu.org>
9819
ef294055 9820 * loader/i386/efi/linux.c (allocate_pages): Fix warnings in
9821 format strings.
9822
59652a20 9823 * util/i386/efi/grub-mkimage.c (get_target_address): Return a
9824 pointer, not an integer. This fixes a warning and prevents
9825 precision loss on 64-bit systems.
9826 (relocate_addresses): Remove unneeded cast.
9827
afc3b5d7 98282008-07-15 Pavel Roskin <proski@gnu.org>
9829
506b2b3e 9830 * kern/i386/ieee1275/init.c: Include grub/cache.h.
9831
62ead89c 9832 * term/ieee1275/ofconsole.c: Disable code unused on i386.
9833
c4cd51d7 9834 * kern/ieee1275/ieee1275.c (grub_ieee1275_get_integer_property):
9835 Fix comparison between signed and unsigned.
9836
0d3d8f28 9837 * include/grub/i386/ieee1275/console.h: Declare
9838 grub_console_init() and grub_console_fini().
9839
8804b286 9840 * loader/i386/ieee1275/linux.c (grub_set_bootpath): Remove.
9841 It's empty and unused.
9842
ee01cf35 9843 * fs/ext2.c (grub_ext2_read_block): Initialize blknr in the
9844 beginning to avoid warnings with some compilers.
9845
afc3b5d7 9846 * loader/ieee1275/multiboot2.c: Include grub/machine/loader.h.
9847 [__i386__] (grub_mb2_arch_boot): Avoid unnecessary cast.
9848
e4e8eaa5 98492008-07-14 Pavel Roskin <proski@gnu.org>
9850
407aceb4 9851 * kern/env.c (grub_register_variable_hook): Don't copy empty
9852 string, it leaks memory. Pass "" to grub_env_set(), it should
9853 handle constant strings.
9854
e4e8eaa5 9855 * commands/blocklist.c (grub_cmd_blocklist): Fix format warning.
9856 * commands/cmp.c (grub_cmd_cmp): Likewise.
9857 * kern/dl.c (grub_dl_flush_cache): Likewise.
9858 (grub_dl_load_core): Likewise.
9859 * kern/elf.c (grub_elf32_load_phdrs): Likewise.
9860 (grub_elf64_load_phdrs): Likewise.
9861
d4e2dad3 98622008-07-13 Pavel Roskin <proski@gnu.org>
9863
9864 * lib/LzmaEnc.c (LzmaEnc_SetProps): Fix warning about comparison
9865 between signed and unsigned.
9866 (LzmaEnc_Finish): Fix warning about an unused parameter.
9867
aa24b516 98682008-07-13 Bean <bean123ch@gmail.com>
9869
9870 * Makefile.in (enable_lzo): New rule.
9871
9872 * conf/i386-pc.rmk (grub_mkimage_SOURCES): New test with enable_lzo.
9873
9874 * configure.ac (ENABLE_LZO): New option --enable-lzo.
9875
9876 * boot/i386/pc/lnxboot.S: #include <config.h>.
9877
9878 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE): Change
fe987087 9879 its value according to the compression algorithm used, lzo or lzma.
aa24b516 9880
9881 * util/i386/pc/grub-mkimage.c (compress_kernel): Use different
9882 compression algorithm according to configure macro.
9883
9884 * kern/i386/pc/startup.S (codestart): Likewise.
9885
9886 * kern/i386/pc/lzma_decode.S: New file.
9887
9888 * include/grub/lib/LzFind.h: Likewise.
9889
9890 * include/grub/lib/LzHash.h: Likewise.
9891
9892 * include/grub/lib/LzmaDec.h: Likewise.
9893
9894 * include/grub/lib/LzmaEnc.h: Likewise.
9895
9896 * include/grub/lib/LzmaTypes.h: Likewise.
9897
9898 * lib/LzFind.c: Likewise.
9899
9900 * lib/LzmaDec.c: Likewise.
9901
9902 * lib/LzmaEnc.c: Likewise.
9903
4ae821ac 99042008-07-13 Bean <bean123ch@gmail.com>
9905
9906 * fs/ext2.c (EXT4_EXTENTS_FLAG): New macro.
9907 (grub_ext4_extent_header): New structure.
9908 (grub_ext4_extent): Likewise.
9909 (grub_ext4_extent_idx): Likewise.
9910 (grub_ext4_find_leaf): New function.
9911 (grub_ext2_read_block): Handle extents.
9912
9a745147 99132008-07-12 Robert Millan <rmh@aybabtu.com>
9914
9915 * util/i386/pc/grub-mkrescue.in: s/grub-install/grub-mkrescue/g.
9916
d49a4cf6 99172008-07-11 Robert Millan <rmh@aybabtu.com>
9918
9919 * util/grub.d/40_custom.in: New file. Example on how to add custom
9920 entries to /etc/grub.d.
9921 * conf/common.rmk (%, update-grub_SCRIPTS, CLEANFILES): Install
9922 40_custom (implicitly, by merging all the grub.d rules).
9923
947414b4 99242008-07-11 Pavel Roskin <proski@gnu.org>
9925
0059cf6f 9926 * commands/read.c (grub_getline): Fix invalid memory access.
9927 Don't add newline to the variable value.
9928
947414b4 9929 * term/i386/pc/serial.c (GRUB_SERIAL_PORT_NUM): New constant.
9930 [!GRUB_MACHINE_PCBIOS] (serial_hw_io_addr): Add COM2 and COM3.
9931 (serial_hw_get_port): Check validity of the port number.
9932 (grub_cmd_serial): Check return value of serial_hw_get_port().
9933
62a02d00 99342008-07-07 Pavel Roskin <proski@gnu.org>
9935
9936 * boot/i386/pc/diskboot.S (notification_string): Replace
9937 "Loading kernel" with just "loading". This is shorter, less
9938 confusing and saves a few bytes for possible future changes.
9939
3e5581b0 99402008-07-05 Pavel Roskin <proski@gnu.org>
9941
ea387a48 9942 * disk/ata.c (grub_ata_dumpinfo): Don't output addressing and
9943 size for ATAPI devices, they are undefined. Output sector
9944 number in decimal form.
9945
3e5581b0 9946 * disk/ata.c: Use named constants for status bits.
9947
fdecb8fd 99482008-07-04 Pavel Roskin <proski@gnu.org>
9949
bcd35b90 9950 * kern/i386/linuxbios/init.c (grub_machine_init): Cast addr to
9951 grub_addr_t before casting it to the void pointer to fix a
9952 warning. Non-addressable regions are discarded earlier.
9953 (grub_arch_modules_addr): Cast _end to grub_addr_t.
9954 * kern/i386/linuxbios/table.c: Include grub/misc.h.
9955 (check_signature): Don't shadow table_header.
9956 (grub_linuxbios_table_iterate): Cast numeric constants to
9957 grub_linuxbios_table_header_t.
9958 * include/grub/i386/linuxbios/init.h: Add noreturn attribute to
9959 grub_stop().
9960
af58ab3d 9961 * kern/ieee1275/init.c: Cast _start and _end to grub_addr_t to
9962 prevent warnings.
9963
1759aa57 9964 * include/grub/misc.h (ALIGN_UP): Avoid unnecessary cast to a
9965 pointer, which can cause warnings. Support 64-bit addresses.
9966
fdecb8fd 9967 * util/elf/grub-mkimage.c: Use GRUB_TARGET_SIZEOF_LONG instead
9968 of sizeof(long). This fixes PowerPC image generation on x86_64.
9969
8516d2a8 99702008-07-04 Robert Millan <rmh@aybabtu.com>
9971
9972 This fixes a performance issue when pc & gpt partmap iterators
9973 didn't abort iteration even after our hook found what it was
fe987087 9974 looking for (often causing expensive probes of non-existent drives).
8516d2a8 9975
9976 Some callers relied on previous buggy behaviour, since they would
34c44600 9977 raise an error when their own hooks caused early abortion of its
8516d2a8 9978 iteration.
9979
9980 * kern/device.c (grub_device_open): Improve error message.
9981 * disk/lvm.c (grub_lvm_open): Likewise.
9982 * disk/raid.c (grub_raid_open): Likewise.
9983
9984 * partmap/pc.c (pc_partition_map_iterate): Abort parent iteration
9985 when hook requests it, independently of grub_errno.
9986 (pc_partition_map_probe): Do not fail when find_func() caused
9987 early abortion of pc_partition_map_iterate().
9988
9989 * partmap/gpt.c (gpt_partition_map_iterate): Abort parent iteration
9990 when hook requests it, independently of grub_errno.
9991 (gpt_partition_map_probe): Do not fail when find_func() caused
9992 early abortion of gpt_partition_map_iterate().
9993
9994 * kern/partition.c (grub_partition_iterate): Abort parent iteration
9995 when hook requests it, independently of grub_errno. Do not fail when
9996 part_map_iterate_hook() caused early abortion of p->iterate().
9997
9998 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Do not fail
9999 when grub_partition_iterate() returned with non-zero.
10000
277d0de9 100012008-07-03 Pavel Roskin <proski@gnu.org>
10002
10003 * disk/ata.c (grub_ata_pio_write): Check status before writing,
10004 like we do in grub_ata_pio_read().
10005 (grub_ata_readwrite): Always write individual sectors. Fix the
10006 sector count for the remainder.
10007 (grub_ata_write): Enable writing to ATA devices. Correctly
10008 report error for ATAPI devices.
10009
d4c9b428 100102008-07-02 Pavel Roskin <proski@gnu.org>
10011
e43fc690 10012 * boot/i386/pc/cdboot.S: Add _start entry to fix a linker
10013 warning.
10014
f707af42 10015 * disk/ata.c (grub_ata_readwrite): Don't increment sector number
10016 for every read sector, we already increment it for the whole
10017 batch. This fixes reading more than 256 sectors at once.
10018
11e16b15 10019 * util/grub-editenv.c (cmd_info): Cast argument to long
10020 explicitly. ptrdiff_t reduces to int on i386.
10021
cbabfdd4 10022 * util/grub-editenv.c (main): Be specific which parameter is
10023 missing.
10024
b8fbce0a 10025 * disk/memdisk.c (memdisk_addr): Make a pointer to fix warnings.
10026 (memdisk): Make memdisk_orig_addr a pointer.
10027
c9c8e606 10028 * fs/reiserfs.c (grub_reiserfs_read): Fix misuse of grub_size_t
10029 for file offsets, use grub_off_t instead. Fix printf format
10030 warnings.
10031
ca62e598 10032 * fs/reiserfs.c: Remove #warning, TODO list items don't belong
10033 there. Real unexpected warnings should not drown in the noise
10034 about known problems.
10035
ce8d1766 10036 * commands/hexdump.c (grub_cmd_hexdump): Fix misuse of
10037 grub_disk_addr_t for memory addresses.
10038
00c7a56a 10039 * loader/aout.c (grub_aout_load): Cast load_addr to pointer
10040 explicitly to fix a warning.
10041
08d3ef09 10042 * util/grub-editenv.c (cmd_info): Fix warning in printf format.
10043
cb71ba20 10044 * Makefile.in (MODULE_LDFLAGS): New variable.
10045 * aclocal.m4 (grub_PROG_LD_BUILD_ID_NONE): New macro. Check if
10046 the linker accepts --build-id=none.
10047 * configure.ac: Call grub_PROG_LD_BUILD_ID_NONE. Substitute
10048 MODULE_LDFLAGS.
10049 * genmk.rb: Use MODULE_LDFLAGS when linking modules.
10050
d4c9b428 10051 * fs/xfs.c (struct grub_xfs_dir_header): Use names similar to
10052 those in Linux XFS code. Provide a way to access 64-bit parent
10053 inode.
10054 (grub_xfs_iterate_dir): Use the new names. Avoid reading past
10055 the end of struct grub_xfs_dir_header.
10056
d4156eee 100572008-07-02 Bean <bean123ch@gmail.com>
10058
10059 * include/grub/ieee1275.h (grub_ieee1275_flag): New constant
10060 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
10061 and GRUB_IEEE1275_FLAG_NO_ANSI.
10062
10063 * kern/ieee1275/cmain.c (grub_ieee1275_find_options): Set flag
10064 GRUB_IEEE1275_FLAG_CANNOT_INTERPRET, GRUB_IEEE1275_FLAG_FORCE_CLAIM
10065 and GRUB_IEEE1275_FLAG_NO_ANSI for Open Hackware.
10066
10067 * kern/ieee1275/ieee1275.c (grub_ieee1275_interpret): Return
10068 immediately if GRUB_IEEE1275_FLAG_CANNOT_INTERPRET is set.
10069
10070 * kern/ieee1275/init.c (grub_claim_heap): Claim memory directly if
10071 GRUB_IEEE1275_FLAG_FORCE_CLAIM is set.
10072
10073 * term/ieee1275/ofconsole.c (grub_ofconsole_writeesc): Don't output
10074 esc sequence on non ANSI terminal.
10075 (grub_ofconsole_gotoxy): Emulate backspace key on non ANSI terminal.
10076
10077 * util/elf/grub-mkimage.c (add_segments): Move ELF header to the
10078 beginning of file.
10079
2270f77b 100802008-07-02 Bean <bean123ch@gmail.com>
10081
10082 * conf/common.rmk (bin_UTILITIES): Add grub-editenv.
10083 (grub_editenv_SOURCES): New variable.
10084 (pkglib_MODULES): Add loadenv.mod.
10085 (loadenv_mod_SOURCES): New variable.
10086 (loadenv_mod_CFLAGS): Likewise.
10087 (loadenv_mod_LDFLAGS): Likewise.
10088
10089 * include/grub/envblk.h: New file.
10090
10091 * util/envblk.c: New file.
10092
10093 * util/grub-editenv.c: New file.
10094
10095 * commands/loadenv.c: New file.
10096
0e9e51ec 100972008-07-01 Pavel Roskin <proski@gnu.org>
10098
d89b7634 10099 * include/multiboot2.h (struct multiboot_tag_module): Use char,
10100 not unsigned char. This fixes warnings and is consistent with
10101 other tags.
10102
bf1835b1 10103 * disk/fs_uuid.c (search_fs_uuid): Correctly increment count.
10104
8222a04b 10105 * normal/parser.y: Define YYENABLE_NLS as 0 to fix warnings.
10106
6a42d99d 10107 * term/tparm.c (analyze): Always set *popcount.
10108
10b159d1 10109 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Remove useless
10110 cast to fix a warning.
10111
b8789f6c 10112 * loader/i386/pc/multiboot2.c (grub_mb2_arch_module_alloc): Use
10113 cast to suppress a warning.
10114
29d7e38a 10115 * fs/afs.c (grub_afs_read_block): Return grub_disk_addr_t, as
10116 grub_fshelp_read_file() expects.
10117
f341f669 10118 * fs/fat.c: Fix UUID calculation on big-endian systems. We
10119 write uuid as a 32-bit value in CPU byte order, so declare and
10120 use it as such.
10121
0e9e51ec 10122 * disk/raid.c: Cast grub_dprintf() arguments to unsigned long
10123 long if the format specifier expects it.
10124 * partmap/gpt.c (gpt_partition_map_iterate): Likewise.
10125 * partmap/pc.c (pc_partition_map_iterate): Likewise.
10126 * fs/ntfs.c (grub_ntfs_uuid): Cast data->uuid to unsigned long
10127 long to fix a warning.
10128 * fs/reiserfs.c (grub_reiserfs_read): Change casts in
10129 grub_dprintf() arguments to fix warnings.
10130
3aefa857 101312008-06-30 Pavel Roskin <proski@gnu.org>
10132
56c7668b 10133 * util/i386/pc/grub-setup.c (setup): Write install_dos_part and
10134 install_bsd_part immediately before core.img is embedded or
10135 modified on disk. This fixes core.img verification if core.img
10136 cannot be embedded.
10137
3aefa857 10138 * util/i386/pc/grub-setup.c (setup): Use core_path_dev, not
10139 core_path to calculate the blocklist.
10140 Patch from Javier Martín <lordhabbit@gmail.com>
10141
5444088d 101422008-06-29 Robert Millan <rmh@aybabtu.com>
10143
10144 * fs/xfs.c (GRUB_XFS_FSB_TO_BLOCK): New macro. Maps filesystem
10145 block to disk block.
10146 (grub_xfs_read_block): Use GRUB_XFS_FSB_TO_BLOCK() on result.
10147 Patch from Niels Böhm <bitbucket@arcor.de>
10148
674835c8 101492008-06-29 Robert Millan <rmh@aybabtu.com>
10150
10151 * util/update-grub_lib.in (font_path): Search for fonts in
10152 /boot/grub first, which is more likely to be readable (we aren't
10153 deciding where fonts live, just looking for them).
10154
f527dbc8 101552008-06-26 Pavel Roskin <proski@gnu.org>
10156
6c2d8df6 10157 * util/biosdisk.c (read_device_map): Don't leave dead map
10158 entries for devices failing stat() check.
10159
f527dbc8 10160 * util/i386/pc/grub-setup.c (setup): Don't reuse core_path, use
10161 core_path_dev for the core.img path on the target device.
10162
aebe3d13 101632008-06-26 Robert Millan <rmh@aybabtu.com>
10164
10165 * disk/fs_uuid.c: New file.
10166 * conf/common.rmk (pkglib_MODULES): Add `fs_uuid.mod'.
10167 (fs_uuid_mod_SOURCES, fs_uuid_mod_CFLAGS)
10168 (fs_uuid_mod_LDFLAGS): New variables.
10169 * include/grub/disk.h (grub_disk_dev_id): Add
10170 `GRUB_DISK_DEVICE_UUID_ID'.
10171 * kern/disk.c (grub_disk_dev_iterate): Allow disk devices not to
10172 implement iterate().
10173
37aaf354 101742008-06-26 Robert Millan <rmh@aybabtu.com>
10175
10176 * util/grub.d/10_linux.in: Avoid passing UUIDs to Linux when either
10177 "/dev/disk/by-uuid/${GRUB_DEVICE_UUID}" does not exist, or when a
10178 Linux image includes no initrd.
10179
25ff262a 101802008-06-21 Javier Martín <lordhabbit@gmail.com>
10181
10182 * util/i386/pc/grub-setup.c (setup): Remove literal "core.img" in a
10183 call to resolve the core image location that effectively appended the
10184 name twice.
10185
76a2bd44 101862008-06-21 Robert Millan <rmh@aybabtu.com>
10187
10188 * util/grub.d/00_header.in: Move last prepare_grub_to_access_device()
10189 call from here ...
10190
10191 * util/grub.d/10_hurd.in: ... to here ...
10192 * util/grub.d/10_linux.in: ... and here.
10193
650e1c79 101942008-06-19 Robert Millan <rmh@aybabtu.com>
10195
fe987087 10196 * kern/main.c (grub_main): Export `prefix' variable immediately
650e1c79 10197 after it has been set by grub_machine_set_prefix().
10198
6ce63911 101992008-06-19 Robert Millan <rmh@aybabtu.com>
10200
10201 * commands/search.c (search_label, search_fs_uuid, search_file): Print
10202 search result when not saving to variable, not the other way around.
10203 When saving to variable, abort iteration as soon as a match is found.
10204
73940cec 102052008-06-19 Robert Millan <rmh@aybabtu.com>
10206
10207 * util/update-grub_lib.in (prepare_grub_to_access_device): Remove
10208 check for partition that provides /boot/grub. Its logic is flawed,
10209 as it prevents prepare_grub_to_access_device() from being called
10210 multiple times.
10211
3c62a39d 102122008-06-19 Robert Millan <rmh@aybabtu.com>
10213
10214 * util/update-grub_lib.in (prepare_grub_to_access_device): Issue
10215 "insmod" command directly when abstraction modules are needed,
fe987087 10216 instead of relying on GRUB_PRELOAD_MODULES (which had no effect
3c62a39d 10217 since it had already been processed).
10218
47395a42 102192008-06-19 Pavel Roskin <proski@gnu.org>
10220
10221 * conf/i386-efi.rmk: Recompile grub-mkimage.c if Makefile has
10222 changed. This is needed in case GRUB_LIBDIR changes.
10223 * conf/i386-ieee1275.rmk: Likewise.
10224 * conf/i386-linuxbios.rmk: Likewise.
10225 * conf/i386-pc.rmk: Likewise.
10226 * conf/powerpc-ieee1275.rmk: Likewise.
10227
a145ac2d 102282008-06-18 Pavel Roskin <proski@gnu.org>
10229
10230 * conf/powerpc-ieee1275.rmk (kernel_elf_SOURCES): Rename
10231 kernel_elf_symlist.c to symlist.c for consistency with other
10232 architectures. Update all users.
10233 * conf/sparc64-ieee1275.rmk (kernel_elf_SOURCES): Likewise.
10234
7847c51e 102352008-06-18 Robert Millan <rmh@aybabtu.com>
10236
10237 * util/i386/pc/grub-install.in: If the drive is LVM or RAID, prepend
10238 it in prefix.
10239
10240 * util/i386/pc/grub-setup.c (main): Don't handle prefix at all. Set
10241 `must_embed' to 1 when root_dev is a RAID device. When dest_dev is
10242 a RAID device, run setup() for all members independently on whether
10243 LVM abstraction is being used.
10244 (setup): Don't handle prefix at all; let grub-mkimage take care of it.
10245 If grub-mkimage has set `*install_dos_part == -2', don't override this
10246 value.
10247 Perform *install_dos_part adjustments independently on whether
10248 we're embedding or not.
10249 Clarify error message when image is too big for embedding.
10250 Remove duplicate *install_dos_part stanza.
10251
b23e5644 102522008-06-17 Robert Millan <rmh@aybabtu.com>
10253
10254 * term/ieee1275/ofconsole.c (fgcolor, bgcolor): Remove variables.
10255 (grub_ofconsole_normal_color, grub_ofconsole_highlight_color): New
10256 variables.
10257 (grub_ofconsole_setcolor, grub_ofconsole_getcolor): Load/store
10258 values in grub_ofconsole_normal_color and
10259 grub_ofconsole_highlight_color (they're not directly related to
10260 background and foreground).
10261 (grub_ofconsole_setcolorstate): Extract background and foreground
10262 from grub_ofconsole_normal_color and grub_ofconsole_highlight_color.
10263
0aac2f79 102642008-06-17 Robert Millan <rmh@aybabtu.com>
10265
10266 * util/update-grub_lib.in (prepare_grub_to_access_device): Use
10267 /boot/grub for the check in last commit, not /boot (they could be
10268 different partitions).
10269
3cca7ef3 102702008-06-16 Robert Millan <rmh@aybabtu.com>
10271
10272 * util/update-grub_lib.in (prepare_grub_to_access_device): If we were
10273 asked to setup access for the same partition that provides /boot,
10274 don't bother using UUIDs since our root already has the value we
10275 want.
10276
347396d8 102772008-06-16 Robert Millan <rmh@aybabtu.com>
10278
10279 * util/biosdisk.c (convert_system_partition_to_system_disk): Detect
10280 I2O devices.
10281 Patch from Sven Mueller <sven@debian.org>.
10282
991477f8 102832008-06-16 Robert Millan <rmh@aybabtu.com>
10284
10285 * util/update-grub.in: Check for $EUID instead of $UID.
10286 Reported by Vincent Zweije.
10287
d31a32a1 102882008-06-16 Bean <bean123ch@gmail.com>
10289
fe987087 10290 * fs/ext2.c (grub_ext2_blockgroup): Revert to pre-journal state.
d31a32a1 10291 (grub_ext2_read_block): Likewise.
10292 (grub_ext2_read_inode): Likewise.
10293 (grub_ext2_mount): Likewise.
10294 (grub_ext2_close): Likewise.
10295 (grub_ext3_get_journal): Removed.
10296
fe987087 10297 * fs/reiserfs.c (grub_reiserfs_get_item): Revert to pre-journal state.
d31a32a1 10298 (grub_reiserfs_read_symlink): Likewise.
10299 (grub_reiserfs_mount): Likewise.
10300 (grub_reiserfs_open): Likewise.
10301 (grub_reiserfs_read): Likewise.
10302 (grub_reiserfs_close): Likewise.
10303 (grub_reiserfs_get_journal): Removed.
10304
10305 * fs/fshelp.c (grub_fshelp_read): Removed.
10306 (grub_fshelp_map_block): Likewise.
10307
10308 * include/grub/fshelp.h (grub_fshelp_journal_type): Removed.
10309 (grub_fshelp_journal): Likewise.
10310 (grub_fshelp_read): Likewise.
10311 (grub_fshelp_map_block): Likewise.
10312
3540a760 103132008-06-16 Pavel Roskin <proski@gnu.org>
10314
10315 * conf/powerpc-ieee1275.rmk: Remove -msoft-float, we don't use
10316 floating point anymore.
10317 * include/grub/powerpc/libgcc.h: Leave only necessary exports.
10318
95614c84 103192008-06-15 Pavel Roskin <proski@gnu.org>
10320
10321 * commands/ls.c (grub_ls_list_files): Use integer calculations
10322 for human readable format, avoid floating point use.
10323 * kern/misc.c (grub_ftoa): Remove.
10324 (grub_vsprintf): Remove floating point support.
10325
50465dd6 103262008-06-15 Robert Millan <rmh@aybabtu.com>
10327
fe6b695a 10328 * util/grub.d/10_linux.in: Use the underlying device for loop-AES
50465dd6 10329 devices.
10330 Reported by Max Vozeler.
10331
a9207284 103322008-06-15 Robert Millan <rmh@aybabtu.com>
10333
10334 * util/i386/pc/grub-mkimage.c (generate_image): If we included a drive
10335 in our prefix, set install_{dos,bsd}_part = -2 to indicate this can be
10336 skipped later.
10337 (main): If a memdisk was requested, add "(memdisk)" drive explicitly to
10338 the beginning of the prefix.
10339
10340 * kern/i386/pc/init.c (make_install_device): Remove memdisk check.
10341 It is assumed that if we have a memdisk, grub-mkimage has set
10342 grub_prefix to include the "(memdisk)" drive in it.
10343
a7cbd45a 103442008-06-15 Robert Millan <rmh@aybabtu.com>
10345
10346 * term/i386/pc/console.c [GRUB_MACHINE_LINUXBIOS] (grub_console_init):
10347 Initialize keyboard controller after registering the terminal, so that
10348 grub_printf() can be called from grub_keyboard_controller_init().
10349
21cf716a 103502008-06-15 Robert Millan <rmh@aybabtu.com>
10351
10352 * fs/sfs.c (grub_sfs_read_extent): Fix the count of nodes in
10353 extent-btree which is written as big endian on disk.
10354 Reported by Alain Greppin <al@chilibi.org>.
10355
23a64d8e 103562008-06-14 Robert Millan <rmh@aybabtu.com>
10357
10358 * util/i386/efi/grub-install.in (modules): Remove `_chain'.
10359 * util/i386/pc/grub-install.in (modules): Likewise.
10360
d687651c 103612008-06-13 Pavel Roskin <proski@gnu.org>
10362
10363 * commands/ls.c (grub_ls_list_files): Fix format warnings.
10364
dfe9ddd4 103652008-06-13 Bean <bean123ch@gmail.com>
10366
10367 * commands/hexdump.c (grub_cmd_hexdump): Adjust offset for partition.
10368
10369 * fs/ext2.c (grub_ext3_get_journal): Fix revoke block handling.
10370
10371 * fs/fshelp.c (grub_fshelp_map_block): Don't map block 0 as it's used
10372 to indicate sparse block.
10373
16ae7781 103742008-06-12 Pavel Roskin <proski@gnu.org>
10375
e6d1a308 10376 * fs/ext2.c (grub_ext2_read_inode): Don't normalize block
10377 number, grub_fshelp_read() does it for us.
10378
16ae7781 10379 * fs/fshelp.c (grub_fshelp_read): New function. Implement
10380 linear disk read with journal translation.
10381 * fs/ext2.c: Use grub_fshelp_read() instead of grub_disk_read().
10382 * include/grub/fshelp.h: Declare grub_fshelp_read().
10383
40fd3a2b 103842008-06-09 Pavel Roskin <proski@gnu.org>
10385
10386 * fs/minix.c (grub_minix_mount): Handle error reading
10387 superblock.
10388
f5679726 103892008-06-08 Robert Millan <rmh@aybabtu.com>
10390
10391 * util/i386/pc/grub-setup.c (main): If install drive is an LVM,
10392 don't append the RAID prefix afterwards.
10393 Reported by Clint Adams.
10394
ce525529 103952008-06-08 Robert Millan <rmh@aybabtu.com>
10396
10397 Based on description from Pavel:
10398 * kern/disk.c (grub_disk_check_range): Rename to ...
10399 (grub_disk_adjust_range): ... this. Add a comment explaining the
10400 tasks performed by this function.
10401
ad4936a0 104022008-06-08 Robert Millan <rmh@aybabtu.com>
10403
10404 * include/grub/ntfs.h (struct grub_ntfs_bpb): Rename `serial_number' to
10405 `num_serial' (for consistency with other variables).
10406 (struct grub_ntfs_data): Add `uuid' member.
10407 * fs/ntfs.c (grub_ntfs_mount): Initialize `data->uuid'.
10408 (grub_ntfs_uuid): New function.
10409 (grub_ntfs_fs): Reference grub_ntfs_uuid() in `uuid' struct member.
10410
dc20b0f9 104112008-06-07 Pavel Roskin <proski@gnu.org>
10412
10413 * util/biosdisk.c (open_device): Revert last change to the
10414 function, it broke installation. The sector needs to be
10415 different dependent on which device is opened.
10416
c5e3cfba 104172008-06-06 Robert Millan <rmh@aybabtu.com>
10418
10419 Ensure GRUB_KERNEL_MACHINE_DATA_END is always consistent with the
10420 rest of GRUB, and breakage doesn't happen if its value were modified.
10421
10422 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
10423 Redefine as an offset from `GRUB_KERNEL_MACHINE_DATA_END' instead of
10424 a constant (same value).
10425 * kern/i386/pc/startup.S: Replace hardcoded `0x50' with
10426 `GRUB_KERNEL_MACHINE_DATA_END' (same value).
10427
26a1f8c4 104282008-06-06 Robert Millan <rmh@aybabtu.com>
10429
10430 * util/biosdisk.c (open_device): Do not modify sector offset when
10431 accessing a partition. kern/disk.c already handles this for us.
10432
25d6b327 104332008-06-06 Robert Millan <rmh@aybabtu.com>
10434
10435 * util/grub-emu.c (grub_machine_init): Move code in this function from
10436 here ...
10437 (main): ... to here (before grub_util_biosdisk_init() call, to prevent
10438 segfault in case grub_printf() is called).
10439
10440 * util/i386/pc/grub-install.in: Append `--device-map=${device_map}' to
10441 grub_probe. Update all users not to explicitly add it again.
10442 (grub_device): New variable; contains corresponding device for grubdir.
10443 (fs_module, partmap_module, devabstraction_module): Pass
10444 `--device ${grub_device}' to grub_probe to avoid traversing /dev
10445 every time.
10446
9ece62fb 104472008-06-05 Robert Millan <rmh@aybabtu.com>
10448
10449 * normal/misc.c (grub_normal_print_device_info): When a filesystem UUID
10450 is found, print it (same layout as with labels).
10451
1ad36d37 104522008-06-04 Robert Millan <rmh@aybabtu.com>
10453
10454 * util/biosdisk.c (get_drive): Rename to ...
10455 (find_grub_drive): ... this. Update all users.
10456
10457 (get_os_disk): Rename to ...
10458 (convert_system_partition_to_system_disk): ... this. Update all users.
10459
10460 (find_drive): Rename to ...
10461 (find_system_device): ... this. Update all users.
10462
e6a30859 104632008-06-04 Robert Millan <rmh@aybabtu.com>
10464
10465 * util/biosdisk.c (get_os_disk): Handle IDA devices.
10466 * util/grub-mkdevicemap.c (get_mmc_disk_name)
10467 (make_device_map): Likewise.
10468
00c108a4 104692008-06-01 Robert Millan <rmh@aybabtu.com>
10470
10471 * util/biosdisk.c (get_drive): Verify that `map[i].drive' is non-NULL
10472 before dereferencing it.
10473
10474 * fs/fat.c (struct grub_fat_bpb): Move fat32-specific fields into a
10475 union with fat12/fat16-specific ones. Add some new fields, including
10476 `num_serial' for both versions.
10477 (struct grub_fat_data): Add `uuid' member.
10478 (grub_fat_mount): Refer to fat32-specific fields in `bpb' by their new
10479 names. Initialize `data->uuid' using `num_serial'.
10480 (grub_fat_uuid): New function.
10481 (grub_fat_fs): Reference grub_fat_uuid() in `uuid' struct member.
10482
10483 * fs/reiserfs.c (grub_reiserfs_superblock): Add `uuid' field.
10484 (grub_reiserfs_uuid): New function.
10485 (grub_reiserfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct
10486 member.
10487
10488 * fs/xfs.c (grub_xfs_sblock): Add `uuid' field.
10489 (grub_xfs_uuid): New function.
10490 (grub_xfs_fs): Reference grub_reiserfs_uuid() in `uuid' struct member.
10491
1385c5bb 104922008-06-01 Robert Millan <rmh@aybabtu.com>
10493
10494 * util/update-grub_lib.in (prepare_grub_to_access_device): Generate
10495 code that is backward compatible with pre-uuid search command.
10496
c682dfd7 104972008-05-31 Robert Millan <rmh@aybabtu.com>
10498
10499 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Iterate through
10500 floppies after everything else, to ensure floppy drive isn't accessed
10501 unnecessarily (patch from Bean).
10502
b7db5d47 105032008-05-31 Robert Millan <rmh@aybabtu.com>
10504
10505 * commands/search.c (search_label, search_fs_uuid, search_file): Do
10506 not print device names when we were asked to set a variable.
10507
6e037aa9 105082008-05-31 Robert Millan <rmh@aybabtu.com>
10509
10510 * term/ieee1275/ofconsole.c (grub_ofconsole_setcursor): Implement
10511 using "cursor-on" and "cursor-off" commands (understood at least by
10512 the Open Firmware flavour on OLPC).
10513
41305bc8 105142008-05-31 Michael Gorven <michael@gorven.za.net>
10515
10516 * term/terminfo.c (grub_terminfo_set_current): Correct vt100 cursor
10517 on and off sequences.
10518
69ba137e 105192008-05-31 Robert Millan <rmh@aybabtu.com>
10520
10521 * util/update-grub_lib.in: Replace `grub-probe' with `${grub_probe}'.
10522 * util/update-grub.in: Likewise.
10523
520ae21b 105242008-05-30 Pavel Roskin <proski@gnu.org>
10525
10526 * util/biosdisk.c (linux_find_partition): Simplify logic and
10527 make the code more universal. Keep special processing for
10528 devfs, but use a simple rule for all other devices. If the
10529 device ends with a number, append 'p' and the partition number.
10530 Otherwise, append only the partition number.
10531
5786569b 105322008-05-30 Robert Millan <rmh@aybabtu.com>
10533
10534 * util/update-grub.in (GRUB_DISABLE_LINUX_UUID): Export variable.
10535 * util/grub.d/10_linux.in: If GRUB_DEVICE_UUID is set, and
10536 GRUB_DISABLE_LINUX_UUID isn't true, use the filesystem UUIDs as
10537 the `root' parameter to Linux.
10538
51500452 105392008-05-30 Robert Millan <rmh@aybabtu.com>
10540
10541 * commands/search.c (options): Rename --fs_uuid to --fs-uuid.
10542 * util/update-grub_lib.in (prepare_grub_to_access_device): Replace
10543 --fs_uuid with --fs-uuid.
10544 * util/update-grub.in: Allow filesystem UUID probes to fail (since not
10545 all filesystems support them).
10546
811d3878 105472008-05-30 Robert Millan <rmh@aybabtu.com>
10548
10549 * fs/ext2.c (grub_ext2_uuid): Use `04x' instead of '02x' as
f19dbdb7 10550 grub_printf() flags, since we're printing in units of 2 bytes.
811d3878 10551
cab63c95 105522008-05-30 Robert Millan <rmh@aybabtu.com>
10553
10554 * util/grub.d/00_header.in: Remove obsolete comment referencing
10555 convert_system_path_to_grub_path().
10556 * util/update-grub.in: Likewise.
10557 * util/update-grub_lib.in (is_path_readable_by_grub): New function.
10558 (convert_system_path_to_grub_path): Add a warning message explaining
10559 that this function is deprecated. Rely on is_path_readable_by_grub()
10560 for the readability checks.
10561 (font_path): Use is_path_readable_by_grub() for the readability
10562 check rather than convert_system_path_to_grub_path().
10563
972e2f7a 105642008-05-30 Robert Millan <rmh@aybabtu.com>
10565
10566 * util/update-grub_lib.in (prepare_grub_to_access_device): New function.
10567 * util/update-grub.in: Set `GRUB_FONT_PATH' to the system path, without
10568 converting it first.
10569 * util/grub.d/00_header.in: Use prepare_grub_to_access_device() to setup
10570 grub.cfg for access to font file, and afterwards call it again to set
10571 the root device.
10572
62191274 105732008-05-30 Robert Millan <rmh@aybabtu.com>
10574
10575 * commands/search.c (options): Add --fs_uuid option.
10576 (search_fs_uuid): New function.
10577 (grub_cmd_search): Fix --set argument passing.
10578 Use search_fs_uuid() when requested via --fs_uuid.
10579 (grub_search_init): Update help message.
10580 * fs/ext2.c (struct grub_ext2_sblock): Rename `unique_id' to `uuid'
10581 and redeclare it as an array of 16-bit words.
10582 (grub_ext2_uuid): New function.
10583 (grub_ext2_fs): Reference grub_ext2_uuid() in `uuid' struct member.
10584 * include/grub/fs.h (struct grub_fs): Add `uuid' struct member.
10585 * util/update-grub.in (GRUB_DEVICE_UUID, GRUB_DEVICE_BOOT)
10586 (GRUB_DEVICE_BOOT_UUID): New variables.
10587 (GRUB_DRIVE. GRUB_DRIVE_BOOT. GRUB_DRIVE_BOOT_GRUB): Remove.
10588 * util/grub.d/00_header.in: Set root using `search --fs_uuid' command
10589 whenever possible.
10590 * util/grub.d/10_hurd.in: Avoid explicit use of root drive. Instead,
10591 just assume `root' variable has the right value.
10592 * util/grub.d/10_linux.in: Likewise.
10593 * util/grub-probe.c (probe): Probe for filesystem UUID when requested
10594 via PRINT_FS_UUID.
10595 (main): Recognise `-t fs_uuid' argument.
10596
01b73ec8 105972008-05-30 Robert Millan <rmh@aybabtu.com>
10598
10599 * util/biosdisk.c (map): Redefine structure to hold information
10600 about GRUB drive name.
fe6b695a 10601 (get_drive): Reimplement without assuming (and verifying) BIOS-like
01b73ec8 10602 drive names.
10603 (call_hook): Remove.
10604 (grub_util_biosdisk_iterate): Access drive names via `.drive' struct
10605 member. Assume drive has partitions.
10606 (grub_util_biosdisk_open): Access device names via `.device' struct
10607 member.
10608 (open_device): Likewise.
10609 (find_drive): Likewise.
10610 (read_device_map): Adjust map[] usage to match the new struct
10611 definition. Don't check for duplicates (still possible, but not cheap
10612 anymore).
10613 (grub_util_biosdisk_fini): Free malloced buffers referenced by map[].
10614 (make_device_name): Remove assumption of BIOS-like drive names.
10615
22f16596 106162008-05-30 Pavel Roskin <proski@gnu.org>
10617
10618 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Remove, as
10619 compiling execute.c doesn't need grub_script.tab.h anymore.
10620 (normal/command.c_DEPENDENCIES): Likewise.
10621 (normal/function.c_DEPENDENCIES): Likewise.
10622 * conf/i386-ieee1275.rmk: Likewise.
10623 * conf/i386-linuxbios.rmk: Likewise.
10624 * conf/i386-pc.rmk: Likewise.
10625 * conf/powerpc-ieee1275.rmk: Likewise.
10626 * conf/sparc64-ieee1275.rmk: Likewise.
10627
528ad8f2 106282008-05-29 Pavel Roskin <proski@gnu.org>
10629
d1dff95d 10630 * disk/lvm.c (grub_lvm_scan_device): Check for the buffer end
10631 when scanning metadata for volume group name.
10632
528ad8f2 10633 * include/grub/script.h: Don't include grub_script.tab.h. It's
10634 a generated file, which may only be included from the files with
10635 DEPENDENCIES rules in the makefile. Don't use typedef YYSTYPE,
10636 use union YYSTYPE, as the later allows forward declaration.
10637 * normal/lexer.c: Don't use typedef YYSTYPE, use union YYSTYPE.
10638
47248e08 106392008-05-29 Robert Millan <rmh@aybabtu.com>
10640
10641 * term/i386/pc/at_keyboard.c: Include `grub/machine/machine.h'.
10642 (OLPC_UP, OLPC_DOWN, OLPC_LEFT, OLPC_RIGHT): New macros.
10643 [GRUB_MACHINE_IEEE1275] (keyboard_map): Add OLPC scan codes
10644 (grub_console_checkkey): Add grub_dprintf() call to report unknown
10645 scan codes.
10646
ee632529 106472008-05-29 Robert Millan <rmh@aybabtu.com>
10648
10649 * term/i386/pc/at_keyboard.c (grub_console_checkkey): Add support for
10650 control key combinations.
10651
eee96e08 106522008-05-29 Robert Millan <rmh@aybabtu.com>
10653
10654 * util/powerpc/ieee1275/grub-install.in: Move from here ...
10655 * util/ieee1275/grub-install.in: ... to here.
10656 * powerpc-ieee1275.rmk (grub_install_SOURCES): Update location.
10657 * i386-ieee1275.rmk (sbin_SCRIPTS): New variable.
10658 (grub_install_SOURCES): Likewise.
10659
da9a6a94 106602008-05-29 Robert Millan <rmh@aybabtu.com>
10661
10662 * fs/affs.c: Update copyright year.
10663 * fs/ext2.c: Likewise.
10664 * fs/fshelp.c: Likewise.
10665 * fs/hfsplus.c: Likewise.
10666 * fs/ntfs.c: Likewise.
10667 * fs/xfs.c: Likewise.
10668 * include/grub/fshelp.h: Likewise.
10669 * util/grub-mkdevicemap.c: Likewise.
10670
12e65f3a 106712008-05-28 Robert Millan <rmh@aybabtu.com>
10672
10673 * util/update-grub.in: Allow chmod call to fail, since /boot/grub/
10674 might need to be fatfs to support some firmware implementations
10675 (e.g. OFW or EFI).
10676
23023641 106772008-05-28 Robert Millan <rmh@aybabtu.com>
10678
10679 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle MMC
10680 devices.
10681 * util/grub-mkdevicemap.c (get_mmc_disk_name)
10682 (make_device_map): Likewise.
10683
887d2619 106842008-05-20 Bean <bean123ch@gmail.com>
10685
10686 * fs/fshelp.c (grub_fshelp_map_block): New function.
10687 (grub_fshelp_find_file): Use 64-bit type for pos and block address.
10688 Use `>>' and `&' operator to avoid 64-bit divide and modulo.
10689
10690 * include/grub/fshelp.h (grub_fshelp_journal_type): New enum.
10691 (GRUB_FSHELP_JOURNAL_UNUSED_MAPPING): New macro.
10692 (grub_fshelp_journal): New structure.
10693 (grub_fshelp_map_block): New function prototype.
10694 (grub_fshelp_read_file): Use grub_disk_addr_t as block type.
10695 (grub_fshelp_map_block): Likewise.
10696
10697 * fs/ext2.c (EXT3_FEATURE_COMPAT_HAS_JOURNAL): New macro.
10698 (EXT3_JOURNAL_MAGIC_NUMBER): Likewise.
10699 (EXT3_JOURNAL_DESCRIPTOR_BLOCK): Likewise.
10700 (EXT3_JOURNAL_COMMIT_BLOCK): Likewise.
10701 (EXT3_JOURNAL_SUPERBLOCK_V1): Likewise.
10702 (EXT3_JOURNAL_SUPERBLOCK_V2): Likewise.
10703 (EXT3_JOURNAL_REVOKE_BLOCK): Likewise.
10704 (EXT3_JOURNAL_FLAG_ESCAPE): Likewise.
10705 (EXT3_JOURNAL_FLAG_SAME_UUID): Likewise.
10706 (EXT3_JOURNAL_FLAG_DELETED): Likewise.
10707 (EXT3_JOURNAL_FLAG_LAST_TAG): Likewise.
10708 (grub_ext2_sblock): New members for journal support.
10709 (grub_ext3_journal_header): New structure.
10710 (grub_ext3_journal_revoke_header): Likewise.
10711 (grub_ext3_journal_block_tag): Likewise.
10712 (grub_ext3_journal_sblock): Likewise.
10713 (grub_fshelp_node): New members logfile and journal.
10714 (grub_ext2_read_block): Change block type to grub_disk_addr_t. Use
10715 grub_fshelp_map_block to get real block number.
10716 (grub_ext2_blockgroup): Use grub_fshelp_map_block to get real block
10717 number.
10718 (grub_ext2_read_inode): Likewise.
10719 (grub_ext3_get_journal): New function.
10720 (grub_read_inode): Initialize journal using grub_ext3_get_journal.
10721 (grub_ext2_close): Release memory used by journal.
10722
10723 * fs/reiserfs.c (REISERFS_MAGIC_STRING): Changed to "ReIsEr".
10724 (REISERFS_MAGIC_DESC_BLOCK): New macro.
10725 (grub_reiserfs_transaction_header): Renamed to
10726 grub_reiserfs_description_block, replace field data with real_blocks.
10727 (grub_reiserfs_commit_block): New structure.
10728 (grub_reiserfs_data): New member journal.
10729 (grub_reiserfs_get_item): Use grub_fshelp_map_block to get real block
10730 number.
10731 (grub_reiserfs_read_symlink): Likewise.
10732 (grub_reiserfs_iterate_dir): Likewise.
10733 (grub_reiserfs_open): Likewise.
10734 (grub_reiserfs_read): Likewise.
10735 (grub_reiserfs_get_journal): New function.
10736 (grub_reiserfs_mount): Use "ReIsEr" as super block magic, as there are
10737 three varieties ReIsErFs, ReIsEr2Fs and ReIsEr3Fs. Initialize journal
10738 using grub_reiserfs_get_journal.
10739 (grub_reiserfs_close): Release memory used by journal.
10740
10741 * fs/affs.c (grub_affs_read_block): Change block type to
10742 grub_disk_addr_t. Use grub_divmod64 to do 64-bit division.
10743
10744 * fs/afs.c (grub_afs_read_block): Change block type to grub_disk_addr_t.
10745
10746 * fs/hfsplus.c (grub_hfsplus_read_block): Likewise.
10747
10748 * fs/ntfs.c (grub_ntfs_read_block): Likewise.
10749
10750 * fs/udf.c (grub_udf_read_block): Change block type to
10751 grub_disk_addr_t. Use type cast to avoid warning.
10752
10753 * fs/xfs.c (grub_xfs_read_block): Likewise.
10754
b7c6bed5 107552008-05-16 Christian Franke <franke@computer.org>
10756
10757 * commands/cat.c (grub_cmd_cat): Remove non-ESC keys from keyboard queue
10758 to ensure that break with ESC will always work.
10759 * commands/sleep.c (grub_interruptible_millisleep): Likewise.
10760 Remove ESC from keyboard queue.
10761
eedf167f 107622008-05-16 Christian Franke <franke@computer.org>
10763
10764 * util/biosdisk.c: [__CYGWIN__] Add includes.
10765 (grub_util_biosdisk_open): Use Linux code also for Cygwin.
10766 (get_os_disk): Move variable declarations to OS specific
10767 parts to avoid warning.
10768 [__GNU__] (get_os_disk): Fix /dev/sdXsN case.
10769 [__CYGWIN__] (get_os_disk): Add Cygwin /dev/sdXN device names.
10770 (grub_util_biosdisk_get_grub_dev): Use Linux code also for
10771 Cygwin.
10772 * util/getroot.c: [__CYGWIN__] Add includes.
10773 (strip_extra_slashes): Fix "/" case.
10774 [__CYGWIN__] (get_win32_path): New function.
10775 [__CYGWIN__] (grub_get_prefix): Add conversion to win32 path.
10776 [__CYGWIN__] (find_root_device): Disable.
10777 [__CYGWIN__] (get_bootsec_serial): New function.
10778 [__CYGWIN__] (find_cygwin_root_device): Likewise.
10779 [__linux__] (grub_guess_root_device): Add early returns to simplify
10780 structure.
10781 [__CYGWIN__] (grub_guess_root_device): Call find_cygwin_root_device.
10782 [__linux__] (grub_util_get_dev_abstraction): Enable LVM and RAID
10783 check for Linux only.
10784
a079699e 107852008-05-15 Bean <bean123ch@gmail.com>
10786
10787 * kern/i386/pc/startup.S (grub_console_getkey): Workaround for the
10788 keyboard hang problem in apple's intel mac.
10789
1cf4059a 107902008-05-09 Robert Millan <rmh@aybabtu.com>
10791
10792 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle Virtio
10793 devices.
10794 * util/grub-mkdevicemap.c (get_virtio_disk_name)
10795 (make_device_map): Likewise.
10796 Reported by Aurelien Jarno <aurel32@debian.org>
10797
ed759390 107982008-05-07 Ian Campbell <ijc@hellion.org.uk>
10799
10800 * util/biosdisk.c (get_os_disk): Recognise xvd type disks.
10801 * util/grub-mkdevicemap.c (get_xvd_disk_name): New function.
10802 (make_device_map): Output entries for xvd type disks.
10803
b56c4eaa 108042008-05-07 Robert Millan <rmh@aybabtu.com>
10805
10806 * util/biosdisk.c (linux_find_partition, get_os_disk): Handle CCISS
10807 devices.
10808 * util/grub-mkdevicemap.c (get_cciss_disk_name)
10809 (make_device_map): Likewise.
10810 Reported by Roland Dreier <rdreier@cisco.com>
10811
7f8866ed 108122008-05-07 Robert Millan <rmh@aybabtu.com>
10813
10814 * disk/lvm.c (grub_lvm_scan_device): Detect errors in an additional
10815 grub_strstr() call. Correct a few mistakes in failure path handling.
10816
b0346e0f 108172008-05-06 Robert Millan <rmh@aybabtu.com>
10818
10819 * util/update-grub_lib.in (make_system_path_relative_to_its_root):
10820 Do not print a trailing slash (therefore, the root directory is an
10821 empty string).
10822 (convert_system_path_to_grub_path): Do not remove trailing slash
10823 from make_system_path_relative_to_its_root() output.
10824
10825 * util/i386/pc/grub-install.in: Add trailing slash to output from
10826 make_system_path_relative_to_its_root().
10827
6cf12cbd 108282008-05-06 Robert Millan <rmh@aybabtu.com>
10829
10830 * util/grub-fstest.c (grub_refresh): Call `fflush (stdout)'. This
10831 ensures that output lines aren't intermangled with those sent to
10832 stderr (via grub_util_info()).
10833 * util/grub-probe.c (grub_refresh): Likewise.
10834 * util/i386/pc/grub-setup.c (grub_refresh): Likewise.
10835
0fbb3117 108362008-05-05 Christian Franke <franke@computer.org>
10837
10838 * util/grub-mkdevicemap.c (get_floppy_disk_name) [__CYGWIN__]:
10839 Add Cygwin device names.
10840 (get_ide_disk_name) [__CYGWIN__]: Likewise.
10841 (get_scsi_disk_name) [__CYGWIN__]: Likewise.
10842 (check_device): Return error instead of success on empty name.
10843 (make_device_map): Move label inside linux specific code to
10844 prevent compiler warning.
10845
8124cdb7 108462008-04-30 Robert Millan <rmh@aybabtu.com>
10847
10848 Based on patch from Fabian Greffrath <greffrath@leat.rub.de>
10849 * util/grub.d/10_linux.in: Add ${GRUB_CMDLINE_LINUX_DEFAULT} to the
10850 first boot option.
10851 * util/update-grub.in: Export GRUB_CMDLINE_LINUX_DEFAULT.
10852
094c01d0 108532008-04-29 Robert Millan <rmh@aybabtu.com>
10854
10855 * docs/grub.cfg: New file (example GRUB configuration).
10856
f4b1fc02 108572008-04-26 Robert Millan <rmh@aybabtu.com>
10858
329ce2a5 10859 * DISTLIST: Sort (sort -u < DISTLIST | sponge DISTLIST). Add
10860 `loader/i386/ieee1275/linux.c', `loader/i386/ieee1275/linux_normal.c'
10861 and `disk/ieee1275/nand.c'.
f4b1fc02 10862
25f16ec1 108632008-04-25 Bean <bean123ch@gmail.com>
f19dbdb7 10864
25f16ec1 10865 * Makefile.in (RMKFILES): Add missing arch i386-ieee1275 and
10866 i386-linuxbios.
10867
10868 * commands/hexdump.c (grub_cmd_hexdump): Support dumping of device,
10869 change the buffer size to 4096 for cdrom device.
10870
10871 * conf/i386-ieee1275.rmk (pkglib_MODULES): Add _linux.mod, linux.mod
10872 and nand.mod.
10873 (_linux_mod_SOURCES): New variable.
10874 (_linux_mod_CFLAGS): Likewise.
10875 (_linux_mod_LDFLAGS): Likewise.
10876 (linux_mod_SOURCES): Likewise.
10877 (linux_mod_CFLAGS): Likewise.
10878 (linux_mod_LDFLAGS): Likewise.
10879 (nand_mod_SOURCES): Likewise.
10880 (nand_mod_CFLAGS): Likewise.
10881 (nand_mod_LDFLAGS): Likewise.
10882
10883 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Return
10884 GRUB_ERR_UNKNOWN_DEVICE instead of GRUB_ERR_BAD_DEVICE if no device
10885 type property. (nand device in olpc don't have this property)
10886
10887 * include/grub/disk.h (grub_disk_dev_id): New macro
10888 GRUB_DISK_DEVICE_NAND_ID.
10889
10890 * include/grub/i386/ieee1275/loader.h (grub_rescue_cmd_linux): New
10891 function prototype.
10892 (grub_rescue_cmd_initrd): Likewise.
10893
10894 * include/grub/i386/linux.h (GRUB_LINUX_OFW_SIGNATURE): New macro.
10895 (linux_kernel_params): Add new member ofw_signature, ofw_num_items,
10896 ofw_cif_handler and ofw_idt, adjust padding number.
f19dbdb7 10897
25f16ec1 10898 * include/grub/i386/pc/memory.h (grub_upper_mem): Export it if
10899 GRUB_MACHINE_IEEE1275 is defined.
10900
10901 * include/grub/ieee1275/ieee1275.h (grub_available_iterate):
10902 Use NESTED_FUNC_ATTR attribute on the hook parameter.
10903
10904 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Use NESTED_FUNC_ATTR
10905 on nested function heap_init.
10906 (grub_upper_mem): New variable for i386-ieee1275.
10907 (grub_get_extended_memory): New function for i386-ieee1275.
10908 (grub_machine_init): Call grub_get_extended_memory for i386-ieee1275.
10909
10910 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Use
10911 NESTED_FUNC_ATTR on the hook parameter. Don't quit if no device type
10912 property.
f19dbdb7 10913
25f16ec1 10914 * loader/i386/ieee1275/linux.c: New file.
10915
10916 * loader/i386/ieee1275/linux_normal.c: New file.
10917
10918 * disk/ieee1275/nand.c: New file.
10919
e89d61e9 109202008-04-18 Thomas Schwinge <tschwinge@gnu.org>
10921
10922 * util/i386/pc/grub-mkrescue.in (grub_mkimage): Don't overwrite correct
10923 value.
10924 * util/powerpc/ieee1275/grub-mkrescue.in (grub_mkimage): Likewise.
10925
602566f6 109262008-04-18 Robert Millan <rmh@aybabtu.com>
10927
10928 Restructures early code path on ieee1275 to unify grub_main() as
10929 the first C function that is executed in every platform.
10930
10931 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_init): New prototype.
10932 * kern/i386/ieee1275/startup.S (_start): Jump to grub_main() instead of
10933 cmain().
10934 * kern/powerpc/ieee1275/crt0.S (_start): Likewise.
10935 * kern/ieee1275/cmain.c (cmain): Rename to ...
10936 * kern/ieee1275/cmain.c (grub_ieee1275_init): ... this.
10937 * kern/ieee1275/init.c (grub_machine_init): Call grub_ieee1275_init()
10938 at the beginning.
10939
57490c2b 109402008-04-18 Robert Millan <rmh@aybabtu.com>
10941
10942 * util/update-grub.in: Fix syntax error when setting
10943 `GRUB_PRELOAD_MODULES'.
10944 Reported by Stephane Chazelas <stephane@artesyncp.com>
10945
1977517d 109462008-04-17 Lubomir Kundrak <lkundrak@redhat.com>
10947
10948 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): take only .text
10949 section into account, newer toolchains generate unique build ids
10950 * configure.ac: remove the test for --build-id=none acceptance,
e0c5dacb 10951 we want build ids to be preserved
1977517d 10952 * genmk.rb: add -R .note.gnu.build-id to objcopy, so build id
10953 far from other sections don't cause the raw binary images grow
10954 size
10955
bfb1f1a2 109562008-04-15 Robert Millan <rmh@aybabtu.com>
10957
10958 * disk/lvm.c: Update copyright year.
10959 * kern/misc.c: Likewise.
10960
01979850 109612008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
10962
10963 * disk/lvm.c (grub_lvm_scan_device): Add forgotten failure path when
f19dbdb7 10964 there is no memory left for physical volume name.
01979850 10965
0a1150e2 109662008-04-14 Vesa Jaaskelainen <chaac@nic.fi>
10967
10968 * disk/lvm.c (grub_lvm_scan_device): Fix logical volume's physical
10969 volume name mapping to support bigger than 9 character names properly.
10970
82ead3fe 109712008-04-13 Robert Millan <rmh@aybabtu.com>
10972
10973 * disk/i386/pc/biosdisk.c (grub_biosdisk_rw): Fix CHS limit check,
10974 as per http://www.allensmith.net/Storage/HDDlimit/Int13h.htm
10975
e54a72f5 109762008-04-13 Christian Franke <franke@computer.org>
10977
10978 * util/i386/pc/grub-mkrescue.in: Add --emulation=floppy
10979 to create a floppy emulation boot CD when non emulation mode
10980 does not work.
10981 Enable Joliet CD filesystem extension.
10982
9fe86034 109832008-04-13 Robert Millan <rmh@aybabtu.com>
10984
10985 * kern/misc.c (grub_strncat): Fix off-by-one error.
10986 Reported by Zhang Huan <zhanghuan@nrchpc.ac.cn>
10987
10988 * kern/env.c (grub_env_context_close): Clear current context, not
10989 previous one.
10990 Patch from Zhang Huan <zhanghuan@nrchpc.ac.cn>
10991
10992 * kern/misc.c (grub_strcat): Minor speed optimization (same code size).
10993
7ceeee39 109942008-04-13 Robert Millan <rmh@aybabtu.com>
10995
10996 Improve robustness when handling LVM.
10997
10998 * disk/lvm.c (grub_lvm_getvalue): Return 0 when `*p' is NULL
f19dbdb7 10999 (and leave `*p' unmodified).
7ceeee39 11000 (grub_lvm_iterate): Don't assume `vg->lvs != NULL' when iterating
11001 through it.
11002 (grub_lvm_memberlist): Don't assume `lv->vg->pvs != NULL' when
11003 iterating through it.
11004 (grub_lvm_open): Don't assume `vg->lvs != NULL' when iterating
11005 through it.
fe6b695a 11006 (grub_lvm_scan_device): Check the return value (and fail gracefully
7ceeee39 11007 when due) on each grub_lvm_getvalue() or grub_strstr() call.
11008 Don't assume `vg->pvs != NULL' when iterating through it.
11009
58cd3d85 110102008-04-13 Robert Millan <rmh@aybabtu.com>
11011
11012 * gendistlist.sh (EXTRA_DISTFILES): Add `genpartmaplist.sh'.
11013 * genmk.rb (partmap): New variable.
11014 (CLEANFILES, PARTMAPFILES): Add #{partmap}.
11015 (#{partmap}): New target rule.
11016 * genpartmaplist.sh: New file.
11017 * Makefile.in (pkglib_DATA): Add partmap.lst.
11018 (partmap.lst): New target rule.
11019 * util/i386/pc/grub-mkrescue.in: Generate grub.cfg that loads needed
11020 modules (including all partition maps), instead of preloading them.
11021
78b51059 110222007-04-13 Fabian Greffrath <fabian.greffrath@web.de>
11023
11024 * util/grub.d/30_os-prober.in: New script. Use `os-prober' and
11025 `linux-boot-prober' (if installed) to detect other operating
11026 systems which are installed on the computer and add them to
11027 the boot menu.
11028 * conf/common.rmk: Build and install 30_os-prober.
11029
a91627b4 110302008-04-12 Robert Millan <rmh@aybabtu.com>
11031
11032 * kern/powerpc/ieee1275/init.c: Move from here ...
11033 * kern/ieee1275/init.c: ... to here. Update all users.
11034
11035 * kern/powerpc/ieee1275/cmain.c: Move from here ...
11036 * kern/ieee1275/cmain.c: ... to here. Update all users.
11037
11038 * kern/powerpc/ieee1275/openfw.c: Move from here ...
11039 * kern/ieee1275/openfw.c: ... to here. Update all users.
11040
11041 * loader/powerpc/ieee1275/multiboot2.c: Move from here ...
11042 * loader/ieee1275/multiboot2.c: ... to here. Update all users.
11043
322562ea 110442008-04-10 Pavel Roskin <proski@gnu.org>
11045
11046 * configure.ac: Always use "_cv_" in cache variables for
11047 compatibility with Autoconf 2.62.
11048
a02a73c5 110492008-04-07 Robert Millan <rmh@aybabtu.com>
11050
11051 Revert grub/machine/init.h addition by Pavel (since it breaks on
11052 i386-ieee1275 and others):
11053 * util/i386/pc/misc.c: Remove grub/machine/init.h.
11054 * util/powerpc/ieee1275/misc.c: Likewise.
11055
25c024b1 110562008-04-07 Robert Millan <rmh@aybabtu.com>
11057
11058 * util/grub-probe.c (probe): Improve error message.
11059
3cbd2f98 110602008-04-07 Robert Millan <rmh@aybabtu.com>
11061
11062 * util/biosdisk.c (read_device_map): Skip devices that don't exist
11063 (this prevents the presence of a bogus entry from ruining the whole
11064 thing).
11065
87a297bf 110662008-04-06 Pavel Roskin <proski@gnu.org>
11067
36747a62 11068 * util/biosdisk.c: Include grub/util/biosdisk.h.
11069 * util/grub-fstest.c (execute_command): Make static.
11070 * util/grub-mkdevicemap.c (check_device): Likewise.
11071 * util/i386/pc/misc.c: Include grub/machine/init.h.
11072 * util/powerpc/ieee1275/misc.c: Likewise.
11073 * util/lvm.c: Include grub/util/lvm.h.
11074 * util/misc.c: Include grub/kernel.h, grub/misc.h and
11075 grub/cache.h.
11076 * util/raid.c: Include grub/util/raid.h.
11077 (grub_util_getdiskname): Make static.
11078
87a297bf 11079 * util/grub-emu.c (main): Remove calls to grub_hostfs_init() and
11080 grub_hostfs_fini(), as they are called from grub_init_all() and
11081 grub_fini_all() respectively. This fixes an infinite loop in
11082 grub-fstest due to double registration of hostfs.
11083 Reported by Christian Franke <Christian.Franke@t-online.de>
11084
f6ce7629 110852008-04-05 Pavel Roskin <proski@gnu.org>
11086
11087 * bus/pci.c (grub_pci_iterate): For multifunction devices, probe
11088 all 8 functions. Otherwise, probe function 0 only.
11089
070e49e4 110902008-04-04 Pavel Roskin <proski@gnu.org>
11091
8b088a4c 11092 * commands/lspci.c (grub_lspci_iter): Print the bus number
11093 correctly.
11094
4f657021 11095 * commands/lspci.c (grub_pci_classes): Fix typos.
11096 (grub_lspci_iter): Don't print func twice. Print vendor ID
11097 before device ID, as it's normally done.
11098
070e49e4 11099 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
11100 Fix signedness warnings.
11101 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate):
11102 Likewise.
11103 * util/ieee1275/get_disk_name.c: Include config.h so that
11104 _GNU_SOURCE is defined and getline() is declared. Mark an
11105 unused argument as such. Fix a signedness warning.
11106
ba7328dc 111072008-04-02 Pavel Roskin <proski@gnu.org>
11108
26887f22 11109 * genkernsyms.sh.in: Use more robust assignments for CC and
11110 srcdir. Quote srcdir.
11111 * gensymlist.sh.in: Likewise. Assert at the compile time that
11112 the symbol table is not empty.
11113
ba7328dc 11114 * disk/raid.c (grub_raid_memberlist): Fix a signedness warning.
11115 * fs/cpio.c (grub_cpio_read): Likewise.
11116
0f582c6b 111172008-04-01 Pavel Roskin <proski@gnu.org>
11118
4b6e1995 11119 * disk/ata.c (grub_ata_open): Don't lose precision in disk->id.
11120 * disk/host.c (grub_host_open): Likewise.
11121 * disk/loopback.c (grub_loopback_open): Likewise.
11122 * disk/memdisk.c (grub_memdisk_open): Use a string pointer for
11123 disk->id as in disk/host.c, not a multi-character constant.
11124
828a2768 11125 * util/grub-fstest.c (cmd_cmp): Use fseeko(), not fseek(). The
11126 later is obsolete, potentially dangerous and sets a bad example.
11127 * util/i386/efi/grub-mkimage.c (make_header): Likewise.
11128 * util/misc.c (grub_util_get_image_size): Likewise.
11129
2bb4fb47 11130 * disk/loopback.c (options): Improve help for "--partitions".
11131
0f582c6b 11132 * normal/arg.c (grub_arg_show_help): Fix spacing of the long
11133 options to align them with the short options, e.g. "echo -e".
11134
a33224e0 111352008-03-31 Bean <bean123ch@gmail.com>
11136
11137 * video/reader/png.c (grub_png_data): New member is_16bit and
11138 image_data.
11139 (grub_png_decode_image_header): Detect 16 bit png image.
11140 (grub_png_convert_image): New function to convert 16 bit image to 8 bit.
11141 (grub_png_decode_png): Call grub_png_convert_image for 16 bit image.
11142 (grub_video_reader_png): Release memory occupied by image_data.
11143
11144 * fs/ntfs.c (find_attr): Handle non-resident attribute list larger than
11145 4096 bytes.
11146 (grub_nfs_mount): Skip the test for sector per cluster.
11147
11148 * include/grub/ntfs.h (MAX_SPC): Removed.
11149
86cb4f54 111502008-03-31 Bean <bean123ch@gmail.com>
11151
11152 * conf/common.rmk (pkgdata_MODULES): Add afs.mod.
11153 (grub_probe_SOURCES): Add fs/afs.c.
11154 (grub_fstest_SOURCES): Likewise.
11155 (afs_mod_SOURCES): New variable.
11156 (afs_mod_CFLAGS): Likewise.
11157 (afs_mod_LDFLAGS): Likewise.
11158
11159 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/afs.c.
11160 (grub_emu_SOURCES): Likewise.
11161
11162 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11163
11164 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11165
11166 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
11167
11168 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11169
11170 * fs/afs.c: New file.
11171
17c74c21 111722008-03-30 Pavel Roskin <proski@gnu.org>
11173
4cb68e89 11174 * disk/host.c: Include grub/misc.h to fix a warning.
11175 * util/hostfs.c: Use GRUB_MOD_INIT and GRUB_MOD_FINI to fix
11176 warnings about implicit declarations.
11177
8790bb04 11178 * fs/udf.c (grub_udf_mount): Fix warning about a shadowing a
11179 variable.
11180 * include/grub/i386/loader.h: Change declaration of
11181 grub_linux_boot() to match what grub_loader_set() expects.
11182 * util/getroot.c (grub_guess_root_device): Return const char* to
11183 fix a warning.
11184 * util/grub-probe.c (probe): Fix a warning about uninitialized
11185 abstraction_name variable.
11186 * util/i386/get_disk_name.c (grub_util_get_disk_name): Mark
11187 second argument as unused to fix a warning.
11188
9a3f3296 11189 * loader/i386/pc/multiboot2.c (grub_mb2_arch_elf64_hook): Add
11190 missing grub_error() call.
11191
0ecef90d 11192 * util/update-grub_lib.in: Define datarootdir, since Autoconf
11193 2.60 and newer uses it to define datadir.
11194
0bf6d401 11195 * commands/sleep.c: Fix warning about implicit declaration.
11196 * disk/memdisk.c: Likewise.
11197 * loader/aout.c: Likewise.
11198 * loader/i386/bsd_normal.c: Likewise.
11199 * util/grub-probe.c: Likewise.
11200
7cdacf97 11201 * commands/i386/cpuid.c (has_longmode): Make static.
11202 * disk/i386/pc/biosdisk.c (cd_drive): Likewise.
11203 * include/grub/i386/bsd.h (bios_memmap_t): Remove, it's unused.
11204
17c74c21 11205 * kern/i386/pc/startup.S (real_to_prot): Use %cs prefix to load
11206 GDT. This is more robust, as %ds can change.
11207 (grub_biosdisk_rw_int13_extensions): Don't clear %ds before
11208 calling real_to_prot().
11209 (grub_biosdisk_get_diskinfo_int13_extensions): Likewise.
11210
80a3e68b 112112008-03-28 Pavel Roskin <proski@gnu.org>
11212
11213 * kern/i386/pc/startup.S: Assert that uncompressed functions
11214 don't spill beyond GRUB_KERNEL_MACHINE_RAW_SIZE.
11215 * kern/i386/pc/lzo1x.S: Remove all .align directives in the
11216 code, as they push parts of the code (error handlers) beyond
11217 GRUB_KERNEL_MACHINE_RAW_SIZE. Speed is not as important in this
11218 code as correctness and size.
11219
77bcd272 112202008-03-28 Pavel Roskin <proski@gnu.org>
11221
11222 * kern/i386/pc/startup.S
11223 (grub_biosdisk_get_diskinfo_int13_extensions): When converting
11224 data block address to the real mode, keep offset minimal. This
11225 works around a bug in AWARD BIOS on old Athlon systems, which
11226 makes CD detection hang.
11227
c5dfd43b 112282008-03-26 Pavel Roskin <proski@gnu.org>
11229
11230 * normal/color.c (grub_parse_color_name_pair): Make `name' a
11231 const.
11232 * include/grub/normal.h: Add grub_parse_color_name_pair()
11233 declaration.
11234
bf962df2 112352008-03-24 Bean <bean123ch@gmail.com>
11236
11237 * disk/i386/pc/biosdisk.c (cd_start): Removed.
11238 (cd_count): Removed.
11239 (cd_drive): New variable.
11240 (grub_biosdisk_get_drive): Don't check for (cdN) device.
11241 (grub_biosdisk_call_hook): Likewise.
11242 (grub_biosdisk_iterate): Change cdrom detection method.
11243 (grub_biosdisk_open): Replace cd_start with cd_drive.
11244 (GRUB_MOD_INIT): Use grub_biosdisk_get_cdinfo_int13_extension to
11245 detect cdrom device.
11246
11247 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_MACHINE_CDROM_START):
11248 Removed.
11249 (GRUB_BIOSDISK_MACHINE_CDROM_END): Removed.
11250 (GRUB_BIOSDISK_CDTYPE_NO_EMUL): New macro.
11251 (GRUB_BIOSDISK_CDTYPE_1_2_M): Likewise.
11252 (GRUB_BIOSDISK_CDTYPE_1_44_M): Likewise.
11253 (GRUB_BIOSDISK_CDTYPE_2_88_M): Likewise.
11254 (GRUB_BIOSDISK_CDTYPE_HARDDISK): Likewise.
11255 (GRUB_BIOSDISK_CDTYPE_MASK): Likewise.
11256 (grub_biosdisk_cdrp): New structure.
11257 (grub_biosdisk_get_cdinfo_int13_extensions): New function.
11258
11259 * include/grub/i386/pc/kernel.h (grub_boot_drive): Export this variable.
11260
11261 * kern/i386/pc/init.c (make_install_device): Don't use (cdN) as root
11262 device.
11263
11264 * kern/i386/pc/startup.S (grub_biosdisk_get_cdinfo_int13_extensions):
11265 New function.
11266
68e7fc7a 112672008-03-20 Robert Millan <rmh@aybabtu.com>
11268
11269 Remove 2 TiB limit in ata.mod.
11270 * disk/ata.c (grub_ata_device): Promote `size' to grub_uint64_t.
11271 (grub_ata_dumpinfo): Print sector count with 0x%llx.
11272 (grub_ata_identify): Interpret `&info16[100]' as a pointer to
11273 grub_uint64_t instead of grub_uint32_t.
11274
38ad2cf5 112752008-03-05 Bean <bean123ch@gmail.com>
11276
11277 * loader/i386/pc/multiboot.c (grub_multiboot_get_bootdev): New function.
11278 (grub_multiboot): Set boot device.
11279
11280 * boot/i386/pc/lnxboot.S (real_code_2): Set %dh to 0xFF.
11281
2b89344e 112822008-03-02 Bean <bean123ch@gmail.com>
11283
11284 * fs/reiserfs.c (grub_reiserfs_read_symlink): Add 0 at the end of
11285 symlink_buffer.
11286
87a95d1f 112872008-03-01 Yoshinori K. Okuji <okuji@enbug.org>
11288
11289 * DISTLIST: Added docs/fdl.texi, docs/grub.texi, docs/mdate-sh and
11290 texinfo.tex.
11291
11292 * docs/grub.texi: New file. Copied from GRUB Legacy, and slightly
11293 modified.
11294
11295 * docs/fdl.texi: New file.
f19dbdb7 11296
87a95d1f 11297 * docs/mdate-sh: New file. Copied from gnulib.
11298 * docs/texinfo.tex: Likewise.
11299
11300 * config.guess: Updated from gnulib.
11301 * install-sh: Likewise.
11302
7dc15d8e 113032008-02-28 Robert Millan <rmh@aybabtu.com>
11304
11305 * conf/i386-linuxbios.rmk (pkglib_MODULES): Add aout.mod.
11306 (aout_mod_SOURCES): New variable.
11307 (aout_mod_CFLAGS): Likewise.
11308 (aout_mod_LDFLAGS): Likewise.
11309
11310 * conf/i386-ieee1275.rmk: Likewise.
11311
b00ab696 113122008-02-28 Robert Millan <rmh@aybabtu.com>
11313
11314 * util/update-grub.in: Reorganise terminal validity check. Accept
11315 `ieee1275:console' (OLPC) and `*:gfxterm' as valid too.
11316 Based on suggestion by Franklin PIAT.
11317
79ca2d78 113182008-02-28 Fabian Greffrath <greffrath@leat.rub.de>
11319
11320 * include/grub/util/getroot.h (grub_util_check_block_device): Export new
11321 function.
11322 * util/getroot.c (grub_util_check_block_device): New function that
11323 returns the given argument if it is a block device and returns NULL else.
11324 * util/grub-probe.c (argument_is_device): New variable.
11325 (probe): Promote device_name from a variable to an argument. Receive
11326 device_name from grub_util_check_block_device() if path is NULL and from
11327 grub_guess_root_device() else. Do not free() device_name anymore.
f19dbdb7 11328 (options): Introduce new parameter '-d, --device'.
79ca2d78 11329 (main): Add description of the new parameter to the help screen.
11330 Rename path variable to argument. Set argument_is_device if the '-d'
11331 option is given. Pass argument to probe() depending on
11332 argument_is_device.
11333
0d16e571 113342008-02-24 Bean <bean123ch@gmail.com>
11335
11336 * fs/iso9660.c (GRUB_ISO9660_VOLDESC_BOOT): New macro.
11337 (GRUB_ISO9660_VOLDESC_PRIMARY): Likewise.
11338 (GRUB_ISO9660_VOLDESC_SUPP): Likewise.
11339 (GRUB_ISO9660_VOLDESC_PART): Likewise.
11340 (GRUB_ISO9660_VOLDESC_END): Likewise.
11341 (grub_iso9660_primary_voldesc): New member escape.
11342 (grub_iso9660_data): New member joliet.
11343 (grub_iso9660_convert_string): New function.
11344 (grub_iso9660_mount): Detect joliet extension.
11345 (grub_iso9660_iterate_dir): Convert filename when joliet is detected.
11346 (grub_iso9660_iso9660_label): Likewise.
11347
11348 * conf/common.rmk (pkgdata_MODULES): Add udf.mod.
11349 (grub_setup_SOURCES): Add fs/udf.c.
11350 (grub_fstest_SOURCES): Likewise.
11351 (udf_mod_SOURCES): New variable.
11352 (udf_mod_CFLAGS): Likewise.
11353 (udf_mod_LDFLAGS): Likewise.
11354
11355 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/udf.c.
11356 (grub_emu_SOURCES): Likewise.
11357
11358 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
11359
11360 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11361
11362 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
11363
11364 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11365
11366 * fs/udf.c: New file.
11367
8a594a17 113682008-02-24 Robert Millan <rmh@aybabtu.com>
11369
11370 * conf/i386-efi.rmk (normal/function.c_DEPENDENCIES)
11371 (normal/lexer.c_DEPENDENCIES): New variables.
11372 * conf/i386-ieee1275.rmk (normal/function.c_DEPENDENCIES)
11373 (normal/lexer.c_DEPENDENCIES): Likewise.
11374 * conf/i386-linuxbios.rmk (normal/function.c_DEPENDENCIES)
11375 (normal/lexer.c_DEPENDENCIES): Likewise.
11376 * conf/i386-pc.rmk (normal/function.c_DEPENDENCIES)
11377 (normal/lexer.c_DEPENDENCIES): Likewise.
11378 * conf/powerpc-ieee1275.rmk (normal/function.c_DEPENDENCIES)
11379 (normal/lexer.c_DEPENDENCIES): Likewise.
11380 * conf/sparc64-ieee1275.rmk (normal/function.c_DEPENDENCIES)
11381 (normal/lexer.c_DEPENDENCIES): Likewise.
11382
2dc33c03 113832008-02-23 Robert Millan <rmh@aybabtu.com>
11384
11385 * partmap/gpt.c (grub_gpt_magic): Add `0x' qualifier to each member,
11386 since they were intended to be in hex. This didn't break previously
11387 because of a bug in gpt_partition_map_iterate() (see below).
11388
11389 (gpt_partition_map_iterate): Replace `grub_memcmp' with `! grub_memcmp'
11390 when checking the validity of GPT header.
11391 Remove `partno', since it always provides the same information as `i'.
11392
f6f4cfb0 113932008-02-21 Yoshinori K. Okuji <okuji@enbug.org>
11394
11395 * include/grub/efi/time.h: Fix a wrong comment.
11396
79ff665f 113972008-02-19 Pavel Roskin <proski@gnu.org>
11398
11399 * kern/rescue.c (grub_enter_rescue_mode): Improve initial
11400 message.
11401
d38e24c2 114022008-02-19 Bean <bean123ch@gmail.com>
11403
11404 * conf/i386-pc.rmk (pkglib_MODULES): Add aout.mod _bsd.mod and bsd.mod.
11405 (aout_mod_SOURCES): New variable.
11406 (aout_mod_CFLAGS): Likewise.
11407 (aout_mod_LDFLAGS): Likewise.
11408 (_bsd_mod_SOURCES): New variable.
11409 (_bsd_mod_CFLAGS): Likewise.
11410 (_bsd_mod_LDFLAGS): Likewise.
11411 (bsd_mod_SOURCES): New variable.
11412 (bsd_mod_CFLAGS): Likewise.
11413 (bsd_mod_LDFLAGS): Likewise.
11414
11415 * include/grub/aout.h: New file.
11416
11417 * include/grub/i386/loader.h (grub_unix_real_boot): New function.
11418
11419 * include/grub/i386/bsd.h: New file.
11420
11421 * include/grub/i386/pc/init.h (grub_get_mmap_entry): Use EXPORT_FUNC
11422 to make it public.
11423
11424 * kern/elf.c (grub_elf32_load): Get the physical address after the hook
11425 function is called, so that it's possible to change it inside the hook.
11426 (grub_elf64_load): Likewise.
11427 (grub_elf_file): Don't close the file if elf header is not found.
11428 (grub_elf_close): Close the file if grub_elf_file fails (The new
11429 grub_elf_file won't close it).
11430 (grub_elf32_size): Use NESTED_FUNC_ATTR for nested function calcsize.
11431 (grub_elf64_size): Likewise.
11432
11433 * kern/i386/loader.S (grub_unix_real_boot): New function.
11434
11435 * loader/aout.c: New file.
11436
11437 * loader/i386/bsd.c: New file.
11438
11439 * loader/i386/bsd_normal.c: New file.
11440
11441 * loader/i386/pc/multiboot.c (grub_multiboot): Handle a.out format.
11442
11443 * loader/multiboot2.c (grub_multiboot2): Reset grub_errno so that it
fe987087 11444 can test other formats.
d38e24c2 11445
b93bdb0f 114462008-02-19 Robert Millan <rmh@aybabtu.com>
11447
11448 * partmap/gpt.c: Include `<grub/gpt_partition.h>'.
11449 (grub_gpt_partition_type_empty): Redefine with macro from
11450 `<grub/gpt_partition.h>'.
11451 (gpt_partition_map_iterate): Adjust partition type comparison.
11452
11453 Export `entry' as partmap-specific `part.data' struct.
11454 (grub_gpt_header, grub_gpt_partentry): Move from here ...
11455
11456 * include/grub/gpt_partition.h (grub_gpt_header)
11457 (grub_gpt_partentry): ... to here (new file).
11458
11459 * util/i386/pc/grub-setup.c: Include `<grub/gpt_partition.h>'.
11460
11461 (grub_gpt_partition_type_bios_boot): New const variable, defined
11462 with macro from `<grub/gpt_partition.h>'.
11463
11464 (setup): Replace `first_start' with `embed_region', which keeps
11465 track of the embed region (and is partmap-agnostic).
11466
11467 Replace find_first_partition_start() with find_usable_region(),
11468 which finds a usable region for embedding using partmap-specific
11469 knowledge (supports PC/MSDOS and GPT).
11470
11471 Fix all assumptions that the embed region start at sector 1, using
11472 `embed_region.start' from now on. Similarly, use `embed_region.end'
11473 rather than `first_start' to calculate available size.
11474
11475 In grub_util_info() message, replace "into after the MBR" with an
11476 indication of the specific sector our embed region starts at.
11477
66cb40f6 114782008-02-19 Robert Millan <rmh@aybabtu.com>
11479
11480 * DISTLIST: Replace `commands/ieee1275/halt.c' and
11481 `commands/ieee1275/reboot.c' with `commands/halt.c' and
11482 `commands/reboot.c'.
11483 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
11484 (halt_mod_SOURCES): Likewise.
11485 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES, reboot_mod_SOURCES)
11486 (halt_mod_SOURCES): Likewise.
11487
b7202015 114882008-02-17 Christian Franke <franke@computer.org>
11489
11490 * commands/cat.c (grub_cmd_cat): Add break on GRUB_TERM_ESC key.
11491
32b0fc49 114922008-02-17 Robert Millan <rmh@aybabtu.com>
11493
11494 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
11495 set `first_start' to 0 for non-PC/MSDOS partition maps.
11496
aca63502 114972008-02-16 Robert Millan <rmh@aybabtu.com>
11498
11499 * util/i386/pc/grub-setup.c (setup): In find_first_partition_start(),
11500 do not assume partition map is PC/MSDOS before performing checks that
11501 are specific to that layout.
11502
0de8be86 115032008-02-13 Robert Millan <rmh@aybabtu.com>
11504
11505 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Remove
11506 `commands/i386/pc/halt.c' and `commands/i386/pc/reboot.c'.
11507 * kern/i386/linuxbios/init.c (grub_halt, grub_reboot): Remove stubs.
11508
c3db8364 115092008-02-13 Yoshinori K. Okuji <okuji@enbug.org>
11510
11511 * configure.ac: Only a cosmetic change on the handling of
11512 -fno-stack-protector.
11513
f714229e 115142008-02-12 Alexandre Boeglin <alex@boeglin.org>
11515
c3db8364 11516 * conf/i386-efi.rmk (grub_emu_SOURCES): Replace
11517 commands/i386/pc/halt.c and reboot.c by commands/halt.c and
11518 reboot.c.
f714229e 11519 (grub_install_SOURCES): Add halt.mod and reboot.mod.
11520 (halt_mod_SOURCES): New variable.
11521 (halt_mod_CFLAGS): Likewise.
11522 (halt_mod_LDFLAGS): Likewise.
11523 (reboot_mod_SOURCES): Likewise.
11524 (reboot_mod_CFLAGS): Likewise.
11525 (reboot_mod_LDFLAGS): Likewise.
11526
c3db8364 11527 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Replace
11528 commands/ieee1275/halt.c and reboot.c by commands/halt.c and
11529 reboot.c.
f714229e 11530 (halt_mod_SOURCES): Likewise.
11531 (reboot_mod_SOURCES): Likewise.
11532
c3db8364 11533 * conf/i386-pc.rmk (grub_emu_SOURCES): Replace
11534 commands/i386/pc/reboot.c by commands/reboot.c.
f714229e 11535 (reboot_mod_SOURCES): Likewise.
11536
11537 * commands/i386/pc/reboot.c: merge this file ...
11538
11539 * commands/ieee1275/reboot.c: ... and this file ...
11540
11541 * commands/reboot.c: ... to this file.
c3db8364 11542 Add some precompiler directive to include the correct header for
11543 each machine.
f714229e 11544
11545 * commands/ieee1275/halt.c: move this file ...
11546
11547 * commands/halt.c: ... to here.
c3db8364 11548 Add some precompiler directive to include the correct header for
11549 each machine.
f714229e 11550
11551 * include/grub/efi/efi.h (grub_reboot): New function declaration.
11552 (grub_halt): Likewise.
11553
11554 * kern/efi/efi.c (grub_reboot): New function.
11555 (grub_halt): Likewise.
11556
c74493e0 115572008-02-12 Robert Millan <rmh@aybabtu.com>
11558
11559 * util/getroot.c (grub_guess_root_device): Inspect /dev/evms before
11560 /dev (like it is done for /dev/mapper). This doesn't provide support
11561 for EVMS, but at least it is now easy to identify the problem when it
11562 arises.
11563
d0db4b04 115642008-02-11 Robert Millan <rmh@aybabtu.com>
11565
11566 * util/biosdisk.c (grub_util_biosdisk_open, linux_find_partition)
11567 (grub_util_biosdisk_get_grub_dev): Check open() exit status by
11568 comparing it with -1, not 0.
11569
bf748642 115702008-02-10 Robert Millan <rmh@aybabtu.com>
11571
11572 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `disk/raid.c' and
11573 `disk/lvm.c'.
11574 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
11575 * conf/i386-pc.rmk (grub_setup_SOURCES): Likewise.
11576
11577 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Move `disk/raid.c' and
11578 `disk/lvm.c' to the end of the list.
11579 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
11580 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
11581
b5db202a 115822008-02-10 Robert Millan <rmh@aybabtu.com>
11583
11584 * kern/main.c (grub_load_normal_mode): Do not reset `grub_errno'. Call
11585 grub_print_error() instead. This will let user know why we're entering
11586 rescue mode.
11587 Based on suggestions from Sam Morris.
11588
83abee31 115892008-02-10 Alexandre Boeglin <alex@boeglin.org>
11590
11591 * normal/arg.c (grub_arg_parse): If one of the args is "--", call add_arg()
11592 on remaining N args, instead of "--" arg N times.
11593
78d5a08b 115942008-02-09 Vesa Jaaskelainen <chaac@nic.fi>
11595
11596 * font/manager.c (unknown_glyph): Added variable for unknown glyph.
11597 (fill_with_default_glyph): Changed to use unknown_glyph for fill
11598 pattern for unknown glyphs.
11599
68807e5f 116002008-02-09 Robert Millan <rmh@aybabtu.com>
11601
11602 * configure.ac: Probe for `help2man'.
11603 * Makefile.in (builddir): New variable.
11604 (HELP2MAN): Likewise. Set to `true' when @HELP2MAN@ doesn't provide it,
11605 or otherwise add a few flags/options to it.
11606 (install-local): For every executable utility or script that is
11607 installed, invoke $(HELP2MAN) to install a manpage based on --help
11608 output.
11609
11610 * util/i386/pc/grub-install.in: Move down `update-grub_lib' sourcing, so
11611 that it doesn't prevent --help from working in build tree.
11612
11613 * util/i386/pc/grub-mkrescue.in (usage): Replace `grub-devel@gnu.org'
11614 with `bug-grub@gnu.org'.
11615 * util/powerpc/ieee1275/grub-mkrescue.in (usage): Likewise.
11616 * util/update-grub.in (usage): New function.
11617 Implement proper argument check, with support for --help and --version
11618 (as well as existing -y).
11619
116202008-02-09 Christian Franke <franke@computer.org>
0d9ff7f0 11621
11622 * commands/cat.c (grub_cmd_cat): Print '\r' as hex to
11623 avoid overwriting previous output.
11624 * kern/rescue.c (grub_rescue_cmd_cat): Likewise.
11625
c1962162 116262008-02-09 Robert Millan <rmh@aybabtu.com>
11627
11628 * normal/menu.c (run_menu): If timeout is set to zero, don't bother
11629 drawing the menu.
11630
3dac2e3f 116312008-02-09 Robert Millan <rmh@aybabtu.com>
11632
11633 * commands/sleep.c: New file.
11634 * conf/common.rmk (pkglib_MODULES): Add `commands/sleep.c'.
11635 (sleep_mod_SOURCES): New variable.
11636 (sleep_mod_CFLAGS): Likewise.
11637 (sleep_mod_LDFLAGS): Likewise.
11638
7a634e08 116392008-02-09 Robert Millan <rmh@aybabtu.com>
11640
11641 * disk/raid.c (grub_raid_scan_device): Add a pair of sanity checks for
11642 situations in which we can deduce the RAID size and the superblock
11643 doesn't match it.
11644
b92f0c18 116452008-02-09 Robert Millan <rmh@aybabtu.com>
11646
11647 * disk/lvm.c [GRUB_UTIL] (grub_lvm_memberlist): New function. Construct
11648 and return a grub_diskmemberlist_t composed of LVM physical volumes.
11649 [GRUB_UTIL] (grub_lvm_dev): Add `memberlist' member.
11650
11651 * disk/raid.c [GRUB_UTIL] (grub_raid_memberlist): New function. Construct
11652 and return a grub_diskmemberlist_t composed of physical array members.
11653 [GRUB_UTIL] (grub_raid_dev): Add `memberlist' member.
11654
11655 * include/grub/disk.h [GRUB_UTIL] (grub_disk_memberlist): New struct
11656 prototype.
11657 [GRUB_UTIL] (struct grub_disk_dev): Add `memberlist' function pointer.
11658 [GRUB_UTIL] (struct grub_disk_memberlist): New struct declaration.
11659 [GRUB_UTIL] (grub_disk_memberlist_t): New typedef.
11660
11661 * util/grub-probe.c (probe): Move partmap probing code from here ...
11662 (probe_partmap): ... to here.
11663 (probe): Use probe_partmap() once for the disk we're probing, and
11664 additionally, when such disk contains a memberlist() struct member,
11665 once for each disk that is contained in the structure returned by
11666 memberlist().
11667
91a4bf68 116682008-02-09 Robert Millan <rmh@aybabtu.com>
11669
11670 * util/grub-probe.c (main): When `verbosity > 1', set `debug'
11671 environment variable to 'all' in order to obtain debug output from
11672 non-util/ code.
11673 * util/i386/pc/grub-setup.c (main): Likewise.
11674
a96f9caa 116752008-02-08 Robert Millan <rmh@aybabtu.com>
11676
11677 * disk/raid.c (grub_raid_scan_device): Check for
11678 `array->device[sb.this_disk.number]' rather than for
11679 `array->device[sb.this_disk.number]->name', since the latter is not
fe6b695a 11680 guaranteed to be accessible.
a96f9caa 11681
b37a9222 116822008-02-08 Robert Millan <rmh@aybabtu.com>
11683
11684 * disk/raid.c: Update copyright.
11685 * fs/cpio.c: Likewise.
11686 * include/grub/raid.h: Likewise.
11687 * loader/i386/pc/multiboot.c: Likewise.
11688 * util/hostfs.c: Likewise.
11689
5626aee1 116902008-02-08 Robert Millan <rmh@aybabtu.com>
11691
11692 * include/grub/raid.h (struct grub_raid_array): Change type of `device'
11693 to a grub_disk_t array.
11694 * disk/raid.c (grub_raid_read): Replace `device[x].disk' accesses with
11695 `device[x]'.
11696 (grub_raid_scan_device): Replace `device[x].name' accesses with
11697 `device[x]->name'. Simplify initialization of `array->device[x]'.
11698
554f0187 116992008-02-08 Robert Millan <rmh@aybabtu.com>
11700
11701 * disk/raid.c (grub_raid_open, grub_raid_scan_device): Add a few
11702 grub_dprintf() calls.
11703 * kern/disk.c (grub_disk_read): Include grub_errmsg in out of range
11704 error message.
11705
1ec8425d 117062008-02-07 Christian Franke <franke@computer.org>
11707
11708 * util/hostfs.c (grub_hostfs_open): Use fseeko and ftello
11709 instead of fseek and ftell to support large files.
11710 (grub_hostfs_read): Likewise.
11711
f2156fda 117122008-02-07 Robert Millan <rmh@aybabtu.com>
11713
11714 Patch from Jeroen Dekkers.
11715 * disk/raid.c (grub_raid_scan_device): Reset `grub_errno' on disk
fe6b695a 11716 failure, since successfully reading all array members might not be
f2156fda 11717 required.
11718
9216e0e7 117192008-02-06 Robert Millan <rmh@aybabtu.com>
11720
11721 * util/grub-probe.c (probe): Simplify partmap probing (with the
11722 assumption that the first word up to the underscore equals to
11723 the module name).
11724
b0dfd29a 117252008-02-06 Christian Franke <franke@computer.org>
11726
11727 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_NONE
11728 (and set *ofs = 0) instead of GRUB_ERR_FILE_NOT_FOUND on
11729 last block of a cpio or tar stream.
11730 Check for "TRAILER!!!" instead of any empty data
11731 block to detect last block of a cpio stream.
11732 (grub_cpio_dir): Fix constness of variable np.
11733 (grub_cpio_open): Return GRUB_ERR_FILE_NOT_FOUND if
11734 cpio or tar trailer is detected. This fixes a crash
11735 on open of a non existing file.
11736
c32865bf 117372008-02-05 Bean <bean123ch@gmail.com>
11738
11739 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Get physical
11740 address of entry.
11741 (grub_multiboot_load_elf64): Likewise.
11742 (grub_multiboot): Initialize mbi structure.
11743
11744 * util/grub-fstest.c: Don't include unused header file script.h.
11745
fe6b695a 11746 * conf/common.rmk (grub-fstest.c_DEPENDENCIES): Move to the beginning
c32865bf 11747 of file.
11748 (grub_fstest_SOURCES): Likewise.
11749
409480b7 117502008-02-05 Robert Millan <rmh@aybabtu.com>
11751
11752 * include/grub/term.h (GRUB_TERM_LEFT, GRUB_TERM_RIGHT)
11753 (GRUB_TERM_UP, GRUB_TERM_DOWN, GRUB_TERM_HOME, GRUB_TERM_END)
11754 (GRUB_TERM_DC, GRUB_TERM_PPAGE, GRUB_TERM_NPAGE, GRUB_TERM_ESC)
11755 (GRUB_TERM_TAB, GRUB_TERM_BACKSPACE): New macros.
11756
11757 * kern/i386/pc/startup.S: Include `<grub/term.h>'.
11758 (translation_table): Replace hardcoded values with macros
11759 provided by `<grub/term.h>'.
11760
11761 * term/i386/pc/at_keyboard.c: Include `<grub/term.h>'.
11762 (keyboard_map): Correct/add a few values, with macros provided
11763 by `<grub/term.h>'.
11764 (keyboard_map_shift): Zero values that don't differ from their
11765 `keyboard_map' equivalents.
11766 (grub_console_checkkey): Optimize KEYBOARD_STATUS_CAPS_LOCK toggling.
11767 Discard the second scan code that is always sent by Caps lock.
11768 Only use `keyboard_map_shift' when it provides a non-zero value,
11769 otherwise fallback to `keyboard_map'.
11770
99fadbaa 117712008-02-04 Bean <bean123ch@gmail.com>
11772
11773 * Makefile.in (enable_grub_fstest): New variable.
11774
11775 * conf/common.rmk (grub_fstest_init.lst): New rule.
11776 (grub_fstest_init.h): Likewise.
11777 (grub_fstest_init.c): Likewise.
11778 (util/grub-fstest.c_DEPENDENCIES): New variable.
11779 (grub_fstest_SOURCES): Likewise.
11780
11781 * configure.ac (enable_grub_fstest): Check for --enable-grub-fstest.
11782
11783 * util/grub-fstest.c: New file.
11784
bf567c50 117852008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
11786
11787 Make grub-setup handle a separate root device.
f19dbdb7 11788
bf567c50 11789 * util/i386/pc/grub-setup.c (setup): Always open the root device,
11790 so that the root device can be compared with the destination
11791 device.
11792 When embedding the core image, if the root and destination devices
11793 are different, set ROOT_DRIVE to ROOT_DEV->DISK->ID. Otherwise, to
11794 0xFF.
11795 When not embedding, set ROOT_DRIVE to 0xFF.
f19dbdb7 11796
9be6b98b 117972008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
11798
11799 Add support for having a grub directory in a different drive. This
11800 is still only the data handling part.
f19dbdb7 11801
9be6b98b 11802 * kern/i386/pc/startup.S (multiboot_trampoline): Set %dh to 0xFF.
11803 (codestart): Save %dh in GRUB_ROOT_DRIVE.
11804 (grub_root_drive): New variable.
11805
11806 * kern/i386/pc/init.c (make_install_device): Use GRUB_ROOT_DRIVE
11807 instead of GRUB_BOOT_DRIVE to construct a device name. Set
11808 GRUB_ROOT_DRIVE to GRUB_BOOT_DRIVE if it is 0xFF, otherwise use it
11809 as it was.
11810
11811 * include/grub/i386/pc/kernel.h (grub_root_drive): New prototype.
11812
11813 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_ROOT_DRIVE): New
11814 macro.
11815 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Set to 0x4f.
11816
11817 * boot/i386/pc/pxeboot.S (_start): Set %dh to 0xFF. For now, this
11818 is bogus, because PXE booting does not specify any drive
11819 correctly.
11820
11821 * boot/i386/pc/lnxboot.S (reg_edx): Set the second byte to 0xFF. I
11822 am not sure if this is really correct.
11823
11824 * boot/i386/pc/cdboot.S: Set %dh to 0xFF, because the root drive
11825 is always identical to the boot drive when booting from a CD.
11826
11827 * boot/i386/pc/boot.S (MOV_MEM_TO_AL): Removed. Not needed any
11828 longer.
11829 (root_drive): New variable.
11830 (real_start): Unconditionally set %dh to ROOT_DRIVE.
11831 (setup_sectors): Push %dx right after popping it, because %dh will
11832 be modified later.
11833 (copy_buffer): Restore %dx.
11834
e0ca0677 118352008-02-03 Robert Millan <rmh@aybabtu.com>
11836
11837 * util/i386/pc/grub-mkrescue.in: Rewrite most of image generation to
11838 use `cdboot.img' for cdrom images.
11839
3b3f6629 118402008-02-03 Robert Millan <rmh@aybabtu.com>
11841
11842 * util/grub.d/00_header.in: Issue scripting commands for GRUB to
11843 only setup gfxterm when `font' command has succeeded.
11844
d42b3672 118452008-02-03 Robert Millan <rmh@aybabtu.com>
11846
11847 * loader/multiboot_loader.c [GRUB_MACHINE_LINUXBIOS]
11848 (grub_rescue_cmd_multiboot_loader)
11849 (grub_rescue_cmd_module_loader): Enable multiboot1 calls.
11850
fa370ea6 118512008-02-03 Pavel Roskin <proski@gnu.org>
11852
e0c5dacb 11853 * kern/i386/pc/startup.S (grub_chainloader_real_boot): Pop
fa370ea6 11854 %edx and %esi from stack only after grub_gate_a20() is called.
11855 grub_gate_a20() clobbers %edx.
11856
f2a76e1d 118572008-02-03 Yoshinori K. Okuji <okuji@enbug.org>
11858
11859 * configure.ac (AC_INIT): Bumped to 1.96.
11860
11861 * DISTLIST: Added boot/i386/pc/cdboot.S, bus/pci.c,
11862 commands/lspci.c,disk/memdisk.c, include/grub/pci.h,
11863 include/grub/i386/pc/pci.h, video/readers/jpeg.c, and
11864 video/readers/png.c.
11865
90fd32d1 118662008-02-03 Bean <bean123ch@gmail.com>
9be665dd 11867
11868 * conf/i386-pc.rmk (pkglib_IMAGES): Add cdboot.img.
11869 (cdboot_img_SOURCES): New variable.
11870 (cdboot_img_ASFLAGS): New variable.
11871 (cdboot_img_LDFLAGS): New variable.
11872
11873 * boot/i386/pc/cdboot.S: New file.
11874
11875 * disk/i386/pc/biosdisk.c (cd_start): New variable.
11876 (cd_count): Likewise.
11877 (grub_biosdisk_get_drive): Add support for cd device.
11878 (grub_biosdisk_call_hook): Likewise.
11879 (grub_biosdisk_iterate): Likewise.
11880 (grub_biosdisk_open): Likewise.
11881 (GRUB_BIOSDISK_CDROM_RETRY_COUNT): New macro.
11882 (grub_biosdisk_rw): Support reading from cd device.
11883 (GRUB_MOD_INIT): Iterate cd devices.
11884
11885 * include/grub/i386/pc/biosdisk.h (GRUB_BIOSDISK_FLAG_CDROM): New macro.
11886 (GRUB_BIOSDISK_MACHINE_CDROM_START): Likewise.
11887 (GRUB_BIOSDISK_MACHINE_CDROM_END): Likewise.
11888
11889 * kern/i386/pc/init.c (make_install_device): Check for cd device.
11890
4020aa53 118912008-02-02 Robert Millan <rmh@aybabtu.com>
11892
11893 * commands/read.c: New file.
11894 * conf/common.rmk (pkglib_MODULES): Add `commands/read.c'.
11895 (read_mod_SOURCES): New variable.
11896 (read_mod_CFLAGS): Likewise.
11897 (read_mod_LDFLAGS): Likewise.
11898
e03a1132 118992008-02-02 Robert Millan <rmh@aybabtu.com>
11900
11901 * normal/main.c (grub_normal_execute): Check for `menu->size' when
11902 determining whether menu has to be displayed.
11903
58c69220 119042008-02-02 Marco Gerards <marco@gnu.org>
11905
11906 * bus/pci.c: New file.
11907
11908 * include/grub/pci.h: Likewise.
11909
11910 * include/grub/i386/pc/pci.h: Likewise.
11911
11912 * commands/lspci.c: Likewise.
11913
11914 * conf/i386-pc.rmk (pkglib_MODULES): Add `pci.mod' and
11915 `lspci.mod'.
11916 (pci_mod_SOURCES): New variable.
11917 (pci_mod_CFLAGS): Likewise.
11918 (pci_mod_LDFLAGS): Likewise.
11919 (lspci_mod_SOURCES): Likewise.
11920 (lspci_mod_CFLAGS): Likewise.
f19dbdb7 11921 (lspci_mod_LDFLAGS): Likewise.
58c69220 11922
c004e1b4 119232008-02-02 Bean <bean123ch@gmail.com>
11924
11925 * fs/ufs.c (INODE_BLKSZ): Fix incorrect value.
11926 (grub_ufs_get_file_block): Fix indirect block calculation problem.
11927
11928 * fs/xfs.c (grub_xfs_sblock): New member log2_dirblk.
11929 (grub_xfs_btree_node): New structure.
11930 (grub_xfs_btree_root): New structure.
11931 (grub_xfs_inode): New members nblocks, extsize, nextents and btree.
11932 (GRUB_XFS_EXTENT_OFFSET): Use exts instead of inode->data.extents.
11933 (GRUB_XFS_EXTENT_BLOCK): Likewise.
11934 (GRUB_XFS_EXTENT_SIZE): Likewise.
11935 (grub_xfs_read_block): Support btree format type.
11936 (grub_xfs_iterate_dir): Use NESTED_FUNC_ATTR in call_hook.
11937 Use directory block as basic unit.
11938
11939 * fs/fshelp.c (grub_fshelp_read_file): Bug fix for sparse block.
11940
11941 * aclocal.m4 (grub_i386_CHECK_REGPARM_BUG): Define NESTED_FUNC_ATTR as
11942 __attribute__ ((__regparm__ (1))).
11943
f95562bf 119442008-02-01 Robert Millan <rmh@aybabtu.com>
11945
11946 Correct a mistake in previous commit.
11947
11948 * conf/i386-pc.rmk (normal/execute.c_DEPENDENCIES): Move to the
11949 top.
11950 (normal/command.c_DEPENDENCIES): New variable.
11951
7d31f41f 119522008-02-01 Robert Millan <rmh@aybabtu.com>
11953
11954 * conf/i386-efi.rmk (normal/execute.c_DEPENDENCIES): Move to the
11955 top.
11956 (normal/command.c_DEPENDENCIES): New variable.
11957 (grub-emu_DEPENDENCIES, normal_mod_DEPENDENCIES): Remove variables.
11958 * conf/i386-ieee1275.rmk: Likewise.
11959 * conf/i386-linuxbios.rmk: Likewise.
11960 * conf/i386-pc.rmk: Likewise.
11961 * conf/sparc64-ieee1275.rmk: Likewise.
11962 * conf/powerpc-ieee1275.rmk: Likewise.
11963 (grub_emu_SOURCES): Add `fs/fshelp.c'.
11964
11965 * genmk.rb: Add `$(#{src}_DEPENDENCIES)' in targets that require it.
11966
60b6be74 119672008-02-01 Robert Millan <rmh@aybabtu.com>
11968
11969 * kern/disk.c (grub_disk_read, grub_disk_write): Add grub_dprintf()
11970 call at beginning of function.
11971
078522ab 119722008-01-31 Pavel Roskin <proski@gnu.org>
11973
11974 * util/powerpc/ieee1275/grub-mkrescue.in: New file.
d2c11005 11975 * conf/powerpc-ieee1275.rmk (bin_SCRIPTS): New variable.
11976 (grub_mkrescue_SOURCES): Likewise.
078522ab 11977 * DISTLIST: Add util/powerpc/ieee1275/grub-mkrescue.in.
11978
ccaa8a5f 119792008-01-30 Robert Millan <rmh@aybabtu.com>
11980
11981 * conf/i386-pc.rmk (sbin_UTILITIES): Remove `grub-probe'.
11982 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Moved from here ...
11983 * conf/common.rmk (util/grub-probe.c_DEPENDENCIES)
11984 (grub_probe_SOURCES): ... to here.
11985
11986 * conf/i386-efi.rmk (sbin_UTILITIES): Remove `grub-probe'.
11987 (util/grub-probe.c_DEPENDENCIES, grub_probe_SOURCES): Remove.
11988 * conf/i386-ieee1275.rmk: Likewise.
11989 * conf/i386-linuxbios.rmk: Likewise.
11990 * conf/powerpc-ieee1275.rmk: Likewise.
11991
ae5a9cd7 119922008-01-30 Tristan Gingold <gingold@free.fr>
11993
11994 * kern/rescue.c: Silently accept empty lines.
11995
70bc2ef2 119962008-01-29 Bean <bean123ch@gmail.com>
11997
11998 * boot/i386/pc/lnxboot.S (data_start): Code cleanup.
11999 (real_code_2): Code cleanup and change comment style.
12000 (move_memory): Avoid using 32-bit address mode.
12001
6a4d50ea 120022008-01-29 Bean <bean123ch@gmail.com>
12003
12004 * conf/i386-pc.rmk (pkglib_MODULES): Add `png.mod'.
12005 (png_mod_SOURCES): New variable.
12006 (png_mod_CFLAGS): Likewise.
12007 (png_mod_LDFLAGS): Likewise.
12008
12009 * video/readers/png.c: New file.
12010
11cc30ac 120112008-01-28 Robert Millan <rmh@aybabtu.com>
12012
12013 * include/grub/i386/linuxbios/kernel.h (GRUB_MOD_GAP): New macro.
12014 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Remove
12015 `ifndef GRUB_MOD_GAP' hack.
12016 * util/elf/grub-mkimage.c (add_segments): Likewise.
12017
3abc589f 120182008-01-27 Robert Millan <rmh@aybabtu.com>
12019
12020 * kern/powerpc/ieee1275/init.c (grub_arch_modules_addr): Skip
12021 `GRUB_MOD_GAP' for platforms in which it's not defined.
962ca133 12022 * util/elf/grub-mkimage.c (add_segments): Likewise.
3abc589f 12023
e1907778 120242008-01-27 Robert Millan <rmh@aybabtu.com>
12025
12026 Get grub-emu to build again (including parallel builds).
12027
12028 * conf/i386-pc.rmk (util/grub-emu.c_DEPENDENCIES): Remove variable.
12029 Split into ...
12030 (util/grub-emu.c_DEPENDENCIES): ... this, ...
12031 (normal/execute.c_DEPENDENCIES): ... this, ...
12032 (grub-emu_DEPENDENCIES): ... and this.
12033
12034 * conf/i386-efi.rmk: Likewise.
12035 * conf/i386-linuxbios.rmk: Likewise.
12036 * conf/i386-ieee1275.rmk: Likewise.
12037 * conf/powerpc-ieee1275.rmk: Likewise.
12038 (grub_emu_SOURCES): Remove duplicated `kern/file.c'.
12039
2216b101 120402008-01-27 Robert Millan <rmh@aybabtu.com>
12041
12042 * NEWS: Add a few items.
12043
f75172d9 120442008-01-27 Robert Millan <rmh@aybabtu.com>
12045
12046 Fix parallel builds with grub-emu. Based on earlier commit for
12047 grub-probe and grub-setup.
12048
12049 * conf/i386-pc.rmk (grub-emu_DEPENDENCIES): Renamed to ...
12050 (util/grub-emu.c_DEPENDENCIES): ... this.
12051 * conf/i386-efi.rmk (grub-emu_DEPENDENCIES): Renamed to ...
12052 (util/grub-emu.c_DEPENDENCIES): ... this.
12053 * conf/i386-linuxbios.rmk (grub-emu_DEPENDENCIES): Renamed to ...
12054 (util/grub-emu.c_DEPENDENCIES): ... this.
12055 * conf/i386-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
12056 (util/grub-emu.c_DEPENDENCIES): ... this.
12057 * conf/powerpc-ieee1275.rmk (grub-emu_DEPENDENCIES): Renamed to ...
12058 (util/grub-emu.c_DEPENDENCIES): ... this.
12059
3f51de77 120602008-01-27 Pavel Roskin <proski@gnu.org>
12061
12062 * include/grub/powerpc/ieee1275/kernel.h: Introduce GRUB_MOD_GAP
12063 to create a gap between _end and the modules added to the image
12064 with grub-mkrescue. That fixes "CLAIM failed" on PowerMAC.
12065 * kern/powerpc/ieee1275/init.c: Use GRUB_MOD_GAP.
12066 * util/elf/grub-mkimage.c (add_segments): Likewise.
12067
2033f53e 120682008-01-26 Pavel Roskin <proski@gnu.org>
12069
12070 * kern/dl.c (grub_dl_load): Don't abort if prefix is not set,
12071 just return an error.
12072
22da1f6f 120732008-01-26 Bean <bean123ch@gmail.com>
12074
12075 * fs/reiserfs.c (grub_fshelp_node): New member next_offset.
12076 (grub_reiserfs_get_item): Save offset of the next item.
12077 (grub_reiserfs_iterate_dir): Use next_offset to find next item.
12078
2a9525e6 120792008-01-25 Robert Millan <rmh@aybabtu.com>
12080
12081 * conf/i386-pc.rmk (grub_setup_SOURCES, grub_emu_SOURCES): Regroup to
12082 make all filesystem sources appear together (possibly fixing omissions
12083 while at it).
12084 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
12085 * conf/i386-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12086 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
12087 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12088
12089 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise. Additionally,
12090 add `kern/file.c'.
12091 * conf/i386-efi.rmk (grub_probe_SOURCES): Likewise.
12092 * conf/i386-ieee1275.rmk (grub_probe_SOURCES): Likewise.
12093 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Likewise.
12094 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Likewise.
12095
12096 * util/grub-probe.c: Include `<grub/file.h>' and `<sys/stat.h>'.
12097 (probe): Add a sanity check to make sure of our ability to read
12098 requested files when probing for filesystem type.
12099
12100 * genmk.rb: Update copyright year (2007).
12101
12102 * include/grub/fs.h (grub_fat_init, grub_fat_fini, grub_ext2_init)
12103 (grub_ext2_fini, grub_ufs_init, grub_ufs_fini, grub_minix_init)
12104 (grub_minix_fini, grub_hfs_init, grub_hfs_fini, grub_jfs_init)
12105 (grub_jfs_fini, grub_xfs_init, grub_xfs_fini, grub_affs_init)
12106 (grub_affs_fini, grub_sfs_init, grub_sfs_fini, grub_iso9660_init)
12107 : Remove function prototypes.
12108
b95f71b5 121092008-01-25 Robert Millan <rmh@aybabtu.com>
12110
12111 Revert my previous commits (based on wrong assumption of how grub_errno
12112 works).
12113
fe6b695a 12114 * kern/disk.c (grub_disk_open): Stop resetting grub_errno.
b95f71b5 12115 * kern/file.c (grub_file_open): Likewise.
12116
d08bbb49 121172008-01-24 Pavel Roskin <proski@gnu.org>
12118
12119 * include/grub/ieee1275/ieee1275.h: Introduce flag for firmwares
12120 that hang if GRUB tries to setup colors.
12121 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Don't set
12122 colors for firmwares that don't support it.
12123 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag):
12124 Recognize Open Hack'Ware, set flags to work around its
12125 limitations.
12126
605e36ed 121272008-01-24 Robert Millan <rmh@aybabtu.com>
12128
12129 * kern/file.c (grub_file_open): Do not account previous failures of
12130 unrelated functions when grub_errno is checked for.
12131 Reported by Oleg Strikov.
12132
bac332a1 121332008-01-24 Bean <bean123ch@gmail.com>
12134
12135 * fs/ufs.c (GRUB_UFS_VOLNAME_LEN): New macro.
12136 (grub_ufs_sblock): New member volume name.
12137 (grub_ufs_find_file): Fix string copy bug.
12138 (grub_ufs_label): Implement this function properly.
12139
12140 * fs/hfs.c (grub_hfs_cnid_type): New enum.
12141 (grub_hfs_iterate_records): Use the correct file number for extents
12142 and catalog file. Fix problem in next index calculation.
12143 (grub_hfs_find_node): Replace recursive function call with loop.
12144 (grub_hfs_iterate_dir): Replace recursive function call with loop.
12145
15c80c09 121462008-01-23 Robert Millan <rmh@aybabtu.com>
12147
12148 * include/grub/i386/ieee1275/loader.h: Include `<grub/types.h>',
12149 `<grub/symbol.h>' and `<grub/multiboot.h>'.
12150 (grub_multiboot2_real_boot): New function prototype.
12151
12152 * include/grub/i386/pc/memory.h: Include `<grub/machine/machine.h>'.
12153 [!GRUB_MACHINE_IEEE1275] (grub_lower_mem, grub_upper_mem): Disable.
12154
12155 * kern/i386/ieee1275/init.c (grub_os_area_addr)
12156 (grub_os_area_size, grub_lower_mem, grub_upper_mem): Remove variables.
12157
305338fd 121582008-01-23 Robert Millan <rmh@aybabtu.com>
12159
12160 * kern/mm.c (grub_mm_init_region): Replace grub_dprintf() call with
12161 #ifdef'ed out grub_printf().
12162
3ea52685 121632008-01-23 Robert Millan <rmh@aybabtu.com>
12164
12165 * term/i386/pc/at_keyboard.c (grub_keyboard_isr): #ifdef out
12166 grub_dprintf calls, since they make "debug=all" mode unusable.
12167 (grub_console_checkkey): Likewise.
12168
5882ae4b 121692008-01-23 Robert Millan <rmh@aybabtu.com>
12170
12171 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add
12172 `term/i386/pc/at_keyboard.c'.
12173 (pkglib_MODULES): Add `serial.mod'.
12174 (serial_mod_SOURCES): New variable.
12175 (serial_mod_CFLAGS): Likewise.
12176 (serial_mod_LDFLAGS): Likewise.
12177
12178 * include/grub/i386/ieee1275/console.h: Add `<grub/symbol.h>'. Remove
12179 `<grub/powerpc/ieee1275/console.h>'.
12180 (grub_keyboard_controller_init): New function prototype.
12181 (grub_console_checkkey): Likewise.
12182 (grub_console_getkey): Likewise.
12183
12184 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize AT
12185 keyboard on i386.
12186
12187 * term/ieee1275/ofconsole.c (grub_ofconsole_term): On i386, use
12188 grub_ofconsole_checkkey() and grub_ofconsole_getkey() for input.
12189
06ab5303 121902008-01-23 Robert Millan <rmh@aybabtu.com>
12191
12192 * kern/i386/pc/init.c (make_install_device): When memdisk image is
12193 present, "(memdisk)/boot/grub" becomes the default prefix.
12194
12195 * util/i386/pc/grub-mkrescue.in: Switch to a minimal core.img plus
12196 a memdisk tarball with all the modules. Add --overlay=DIR option that
12197 allows users to overlay additional files into the image.
12198
dbb475a4 121992008-01-23 Robert Millan <rmh@aybabtu.com>
12200
12201 * conf/i386-ieee1275.rmk (kernel_elf_SOURCES): Add `machine/loader.h'
12202 and `machine/memory.h'.
12203 (pkglib_MODULES): Add `multiboot.mod' and `_multiboot.mod'.
12204 (_multiboot_mod_SOURCES): New variable.
12205 (_multiboot_mod_CFLAGS): Likewise.
12206 (_multiboot_mod_LDFLAGS): Likewise.
12207 (multiboot_mod_SOURCES): Likewise.
12208 (multiboot_mod_CFLAGS): Likewise.
12209 (multiboot_mod_LDFLAGS): Likewise.
12210
12211 * include/grub/i386/ieee1275/loader.h: New file.
12212
12213 * include/grub/i386/ieee1275/machine.h: Likewise.
12214
12215 * include/grub/i386/ieee1275/memory.h: Likewise.
12216
12217 * include/grub/i386/pc/init.h (grub_os_area_addr): Remove (redundant)
12218 variable declaration.
12219 (grub_os_area_size): Likewise.
12220
12221 * kern/i386/ieee1275/init.c (grub_os_area_addr, grub_os_area_size)
12222 (grub_lower_mem, grub_upper_mem): New variables.
12223 (grub_stop_floppy): New function (just to make
12224 grub_multiboot2_real_boot() happy).
12225
12226 * kern/i386/ieee1275/startup.S: Include `<grub/machine/memory.h>',
12227 `<grub/cpu/linux.h>', `<multiboot.h>' and `<multiboot2.h>'.
12228 (grub_stop): New function.
12229 Include `"../realmode.S"' and `"../loader.S"'.
12230
12231 * loader/multiboot_loader.c: Include `<grub/machine/machine.h>'.
12232 Replace `__i386__' #ifdefs with `GRUB_MACHINE_PCBIOS'.
12233
12234 * loader/powerpc/ieee1275/multiboot2.c (grub_mb2_arch_boot): On i386,
12235 rely on grub_multiboot2_real_boot() for final boot.
12236
25638629 122372008-01-22 Robert Millan <rmh@aybabtu.com>
12238
12239 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): When
12240 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag is set, skip any
12241 device that doesn't look like an SD card.
12242 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
12243 `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' flag.
12244 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_set_flag): Detect
12245 OLPC laptop, and set `GRUB_IEEE1275_FLAG_OFDISK_SDCARD_ONLY' when
12246 found.
12247
9dad816d 122482008-01-22 Robert Millan <rmh@aybabtu.com>
12249
12250 * kern/powerpc/ieee1275/init.c (grub_claim_heap): Add sanity check to
12251 avoid claiming over our own code.
12252
34842f2d 122532008-01-22 Bean <bean123ch@gmail.com>
12254
12255 * conf/i386-pc.rmk (pkglib_MODULES): Add `jpeg.mod'.
12256 (jpeg_mod_SOURCES): New variable.
12257 (jpeg_mod_CFLAGS): Likewise.
12258 (jpeg_mod_LDFLAGS): Likewise.
12259
12260 * video/readers/jpeg.c : New file.
12261
44023a28 122622008-01-22 Bean <bean123ch@gmail.com>
12263
12264 * fs/cpio.c (grub_cpio_find_file): Return GRUB_ERR_FILE_NOT_FOUND when
12265 there are no more items.
12266
bc2d8ac6 122672008-01-21 Robert Millan <rmh@aybabtu.com>
12268
12269 * kern/mm.c (grub_mm_init_region): Improve debug message.
12270
261bd4bc 122712008-01-21 Robert Millan <rmh@aybabtu.com>
12272
12273 * conf/i386-pc.rmk (GRUB_MEMORY_MACHINE_LINK_ADDR): New variable.
12274 (kernel_img_LDFLAGS): Use `GRUB_MEMORY_MACHINE_LINK_ADDR' as link
12275 address.
12276 (grub_mkimage_CFLAGS): Propagate `GRUB_MEMORY_MACHINE_LINK_ADDR' as
12277 a C macro.
12278 * include/grub/i386/pc/memory.h (GRUB_MEMORY_MACHINE_UPPER): New macro.
12279 Indicates start of upper memory.
12280 * util/i386/pc/grub-mkimage.c: Include `<grub/machine/memory.h>'.
12281 (generate_image): Abort when image size is big enough to corrupt
12282 upper memory.
12283
12284 * include/grub/i386/pc/vga.h: Include `<grub/machine/memory.h>'.
12285 (GRUB_MEMORY_MACHINE_VGA_ADDR): Alias for `GRUB_MEMORY_MACHINE_UPPER'.
12286 * term/i386/pc/vga.c (VGA_MEM): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
12287 instead of hardcoding 0xA0000.
12288 * video/i386/pc/vbe.c: Include `<grub/machine/vga.h>'.
12289 (grub_vbe_set_video_mode): Use `GRUB_MEMORY_MACHINE_VGA_ADDR'
12290 instead of hardcoding 0xA0000.
12291
f970b55e 122922008-01-21 Robert Millan <rmh@aybabtu.com>
12293
12294 * disk/memdisk.c (memdisk_size): New variable.
12295 (grub_memdisk_open): Replace grub_arch_memdisk_size() call with
12296 `memdisk_size'.
12297 (grub_memdisk_init): Initialize `memdisk_size'. Reallocate memdisk
12298 image to dynamic memory.
12299 (grub_memdisk_fini): Replace grub_arch_memdisk_size() call with
12300 `memdisk_size'. Free memdisk block.
12301
1a8b0526 123022008-01-21 Robert Millan <rmh@aybabtu.com>
12303
12304 Fix detection of very small filesystems (like tar).
12305
12306 * fs/reiserfs.c (grub_reiserfs_mount): When disk is too small to
12307 contain a ReiserFS, abort with GRUB_ERR_BAD_FS rather than
12308 GRUB_ERR_OUT_OF_RANGE (which made the upper layer think there's
12309 a problem with this disk).
12310
6e9b4aab 123112008-01-21 Robert Millan <rmh@aybabtu.com>
12312
12313 * disk/i386/pc/biosdisk.c (grub_biosdisk_iterate): Add debug message
12314 on grub_biosdisk_rw_standard() error.
12315
0d8837b2 123162008-01-21 Robert Millan <rmh@aybabtu.com>
12317
12318 * include/grub/ieee1275/ieee1275.h: Add 2008 to Copyright line for
12319 recent changes.
12320 * kern/elf.c: Likewise.
12321 * kern/ieee1275/ieee1275.c: Likewise.
12322 * kern/powerpc/ieee1275/openfw.c: Likewise.
12323 * term/ieee1275/ofconsole.c: Likewise.
12324
ffd36e34 123252008-01-21 Robert Millan <rmh@aybabtu.com>
12326
12327 * include/grub/i386/pc/kernel.h: Include `<grub/symbol.h>'.
12328
3f0093d0 12329 * include/grub/kernel.h (grub_arch_memdisk_addr)
12330 (grub_arch_memdisk_size): Moved from here ...
ffd36e34 12331
3f0093d0 12332 * include/grub/i386/pc/kernel.h (grub_arch_memdisk_addr)
12333 (grub_arch_memdisk_size): ... to here.
ffd36e34 12334
6c391b21 123352008-01-21 Robert Millan <rmh@aybabtu.com>
12336
12337 Mostly based on bugfix from Bean.
12338
12339 * kern/elf.c (grub_elf32_phdr_iterate): Use `NESTED_FUNC_ATTR'
12340 attribute with hook() parameter.
12341 (grub_elf32_load): Use `NESTED_FUNC_ATTR' with grub_elf32_load_segment()
12342 declaration.
12343 (grub_elf64_phdr_iterate): Use `NESTED_FUNC_ATTR'
12344 attribute with hook() parameter.
12345 (grub_elf64_load): Use `NESTED_FUNC_ATTR' with grub_elf64_load_segment()
12346 declaration.
12347
55a581dc 123482008-01-21 Robert Millan <rmh@aybabtu.com>
12349
12350 * conf/i386-pc.rmk (kernel_img_HEADERS): Add `machine/kernel.h'.
12351 (pkglib_MODULES): Add `memdisk.mod'.
12352 (memdisk_mod_SOURCES): New variable.
12353 (memdisk_mod_CFLAGS): Likewise.
12354 (memdisk_mod_LDFLAGS): Likewise.
12355
12356 * disk/memdisk.c: New file.
12357
12358 * include/grub/disk.h (grub_disk_dev_id): Add
12359 `GRUB_DISK_DEVICE_MEMDISK_ID'.
12360
12361 * include/grub/i386/pc/kernel.h
12362 (GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE): New macro.
12363 (GRUB_KERNEL_MACHINE_PREFIX): Increment by 4.
12364 (grub_kernel_image_size): New variable declaration.
12365 (grub_total_module_size): Likewise.
12366 (grub_memdisk_image_size): Likewise.
12367
12368 * include/grub/i386/pc/memory.h
12369 (GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR): New macro.
12370
12371 * include/grub/kernel.h: Include `<grub/symbol.h>'.
12372 (grub_arch_memdisk_addr): New variable declaration.
12373 (grub_arch_memdisk_size): Likewise.
12374
12375 * kern/i386/pc/init.c (grub_arch_memdisk_addr): New function.
12376 (grub_arch_memdisk_size): Likewise.
12377
12378 * kern/i386/pc/startup.S (grub_memdisk_image_size): New variable.
12379 (codestart): Replace hardcoded `0x100000' with
12380 `GRUB_MEMORY_MACHINE_DECOMPRESSION_ADDR' macro.
12381
12382 * util/i386/pc/grub-mkimage.c: Include `<grub/misc.h>'.
12383 (generate_image): Add `memdisk_path' parameter. When `memdisk_path' is
12384 not NULL, append the contents of the file it refers to, at the end of
12385 the compressed kernel image. Initialize `grub_memdisk_image_size'
12386 variable (at `GRUB_KERNEL_MACHINE_MEMDISK_IMAGE_SIZE' offset).
12387 (options): Add "memdisk"|'m' option.
12388 (main): Parse --memdisk|-m option, and pass user-provided path as
12389 parameter to generate_image().
12390
3d7f54c9 123912008-01-20 Robert Millan <rmh@aybabtu.com>
12392
12393 * kern/sparc64/ieee1275/openfw.c (grub_devalias_iterate): Copy debug
12394 grub_dprintf() calls from here ...
12395 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): ... to here.
12396
0bf74728 123972008-01-20 Robert Millan <rmh@aybabtu.com>
12398
12399 Fix detection of "real mode" when /options/real-mode? doesn't exist.
12400
12401 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_mmu): New variable
12402 declaration.
12403 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_mmu): New variable.
12404 (grub_ieee1275_find_options): If `grub_ieee1275_mmu' is 0, set
12405 `GRUB_IEEE1275_FLAG_REAL_MODE'.
fe6b695a 12406 (cmain): Initialize `grub_ieee1275_mmu' (using /chosen/mmu integer
0bf74728 12407 property).
12408 * kern/powerpc/ieee1275/openfw.c (grub_map): Rely on pre-initialized
12409 `grub_ieee1275_mmu' rather than obtaining a handler on every call.
12410
33bf70a7 124112008-01-19 Robert Millan <rmh@aybabtu.com>
12412
fe6b695a 12413 Get rid of confusing function (superseded by
33bf70a7 12414 `grub_ieee1275_get_integer_property')
12415 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_decode_int_4): Remove
12416 prototype.
12417 * kern/ieee1275/ieee1275.c (grub_ieee1275_decode_int_4): Remove
12418 function.
12419 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid use of
12420 grub_ieee1275_decode_int_4(), by obtaining integer properties directly
fe987087 12421 in native endianness from grub_ieee1275_get_integer_property().
33bf70a7 12422
e2da7d26 124232008-01-19 Robert Millan <rmh@aybabtu.com>
12424
12425 * kern/powerpc/ieee1275/openfw.c (grub_halt): Issue "power-off"
12426 command after "shut-down", since implementations differ on which
12427 the command for halt is.
12428
59f1fd8d 124292008-01-19 Robert Millan <rmh@aybabtu.com>
12430
12431 * include/grub/i386/linuxbios/console.h: Add header protection.
12432 (grub_keyboard_controller_init): New function prototype.
12433 * term/i386/pc/at_keyboard.c (KEYBOARD_COMMAND_ISREADY): New macro.
12434 (KEYBOARD_COMMAND_READ): Likewise.
12435 (KEYBOARD_COMMAND_WRITE): Likewise.
12436 (KEYBOARD_SCANCODE_SET1): Likewise.
12437 (grub_keyboard_controller_write): New function.
12438 (grub_keyboard_controller_read): Likewise.
12439 (grub_keyboard_controller_init): Likewise.
12440
12441 * term/i386/pc/console.c: Include `<grub/machine/machine.h>'.
12442 (grub_console_init): On coreboot/LinuxBIOS, call
12443 grub_keyboard_controller_init().
12444
5f5a7c15 124452008-01-19 Robert Millan <rmh@aybabtu.com>
12446
12447 PowerPC changes provided by Pavel Roskin.
12448
12449 * kern/powerpc/ieee1275/cmain.c (cmain): Don't take any arguments.
12450 * kern/powerpc/ieee1275/crt0.S: Store r5 in grub_ieee1275_entry_fn,
12451 don't rely on cmain() doing it.
12452 * kern/i386/ieee1275/startup.S (_start): Store %eax in
12453 grub_ieee1275_entry_fn, don't rely on cmain() doing it.
12454
1210e168 124552008-01-16 Robert Millan <rmh@aybabtu.com>
12456
12457 * include/grub/i386/linuxbios/memory.h
12458 (GRUB_MEMORY_MACHINE_LINUXBIOS_TABLE_ADDR): Remove macro.
12459 * kern/i386/linuxbios/table.c (grub_linuxbios_table_iterate): Do not
12460 receive `table_header' as argument. Instead, probe for it in the
12461 known memory ranges where it can be present.
12462 (grub_available_iterate): Do not pass a fixed `table_header' address
12463 to grub_linuxbios_table_iterate().
12464
3d04eab8 124652008-01-15 Robert Millan <rmh@aybabtu.com>
12466
12467 * configure.ac: Add `i386-ieee1275' to the list of supported targets.
12468 * conf/i386-ieee1275.rmk: New file.
12469 * include/grub/i386/ieee1275/console.h: Likewise.
12470 * include/grub/i386/ieee1275/ieee1275.h: Likewise.
12471 * include/grub/i386/ieee1275/kernel.h: Likewise.
12472 * include/grub/i386/ieee1275/time.h: Likewise.
12473 * kern/i386/ieee1275/init.c: Likewise.
12474 * kern/i386/ieee1275/startup.S: Likewise.
12475
d1bc1b73 124762008-01-15 Robert Millan <rmh@aybabtu.com>
12477
12478 * kern/misc.c (grub_vsprintf): Do not reset `longlongfmt' to zero
12479 when pointers are 32-bit (but still do set it to one when they are
12480 64-bit).
12481
66a65807 124822008-01-15 Robert Millan <rmh@aybabtu.com>
12483
12484 * include/grub/ieee1275/ieee1275.h
12485 (grub_ieee1275_get_integer_property): New function prototype.
12486
12487 * kern/ieee1275/ieee1275.c: Include `<grub/types.h>'.
12488 (grub_ieee1275_get_integer_property): New function. Wraps around
fe987087 12489 grub_ieee1275_get_property() to handle endianness.
66a65807 12490
12491 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Replace
12492 grub_ieee1275_get_property() with grub_ieee1275_get_integer_property()
fe6b695a 12493 where appropriate.
66a65807 12494 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Likewise.
12495 (grub_map): Likewise.
12496 * kern/sparc64/ieee1275/openfw.c (grub_map): Likewise.
12497
a83ccafd 124982008-01-15 Bean <bean123ch@gmail.com>
12499
12500 * normal/execute.c (grub_script_exec_argument_to_string): Check for undefined variable.
12501 (grub_script_execute_cmdline): Reset grub_errno.
12502
12503 * normal/main.c (read_config_file): Reset grub_errno.
12504
12505 * normal/parse.y (script_init): New.
12506 (script): Move function and menuentry here.
12507 (delimiter): New.
12508 (command): Add delimiter at the end of command.
12509 (commands): Adjust to match the new command.
12510 (commandblock): Remove grub_script_lexer_record_start.
f19dbdb7 12511 (menuentry): Add grub_script_lexer_record_start, use the new commands.
a83ccafd 12512 (if): Use the new commands.
12513
12514 * conf/common.rmk (pkgdata_MODULES): Add echo.mod.
12515
df6ecfc6 125162008-01-15 Robert Millan <rmh@aybabtu.com>
12517
12518 * normal/menu.c (run_menu): Move timeout message from here ...
12519 (print_timeout): ... to here.
12520 (run_menu): Use print_timeout() once during initial draw to print
12521 the whole message, and again in every clock tick to update only
12522 the number of seconds.
12523
87ae25eb 125242008-01-15 Robert Millan <rmh@aybabtu.com>
12525
12526 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Obtain
12527 actual size of `available' from grub_ieee1275_get_property(), and
12528 restrict parsing to that bound.
12529
47bf09a4 125302008-01-15 Christian Franke <franke@computer.org>
12531
12532 * util/grub-emu.c: Replace <argp.h> by <getopt.h>.
12533 (argp_program_version): Remove variable.
12534 (argp_program_bug_address): Likewise.
12535 (options): Convert from struct argp_option to struct option.
12536 (struct arguments): Remove.
12537 (parse_opt): Remove.
12538 (usage): New function.
12539 (main): Replace struct args members by simple variables.
12540 Replace argp_parse() by getopt_long().
12541 Add switch to evaluate options.
12542 Add missing "(...)" around root_dev in prefix string.
12543
c86f1469 125442008-01-14 Robert Millan <rmh@aybabtu.com>
12545
12546 * kern/powerpc/ieee1275/init.c (grub_exit): Reimplement as a wrapper
12547 for grub_ieee1275_exit(), in order to improve portability.
12548
e622c559 125492008-01-14 Robert Millan <rmh@aybabtu.com>
12550
12551 * util/grub.d/10_linux.in (prefix): Define.
12552 (exec_prefix): Likewise. Both definitions are later used by `libdir'.
12553
44cb1ec8 125542008-01-13 Pavel Roskin <proski@gnu.org>
12555
12556 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Don't use
12557 grub_errno if no errors have been detected.
12558
1eb8c802 125592008-01-12 Robert Millan <rmh@aybabtu.com>
12560
12561 * include/grub/util/getroot.h (grub_dev_abstraction_types): New enum.
12562 (grub_util_get_dev_abstraction): New function prototype.
12563
12564 * util/getroot.c: Include `<grub/util/getroot.h>'
12565 (grub_util_get_grub_dev): Move detection of abstraction type to ...
12566 (grub_util_get_dev_abstraction): ... here (new function).
12567
12568 * util/grub-probe.c: Convert PRINT_* to an enum. Add
12569 `PRINT_ABSTRACTION'.
12570 (probe): Probe for abstraction type when requested.
12571 (main): Understand `--target=abstraction'.
12572
12573 * util/i386/efi/grub-install.in: Add abstraction module to core
12574 image when it is found to be necessary.
12575 * util/i386/pc/grub-install.in: Likewise.
12576 * util/powerpc/ieee1275/grub-install.in: Likewise.
12577
12578 * util/update-grub_lib.in (font_path): Return system path without
12579 converting to GRUB path.
12580 * util/update-grub.in: Convert system path returned by font_path()
12581 to a GRUB path. Use `grub-probe -t abstraction' to determine what
12582 abstraction module is needed for loading fonts (if any). Export
12583 that as `GRUB_PRELOAD_MODULES'.
12584 * util/grub.d/00_header.in: Process `GRUB_PRELOAD_MODULES' (print
12585 insmod commands).
12586
52bd3de9 125872008-01-12 Yoshinori K. Okuji <okuji@enbug.org>
12588
12589 Remove some unused code from reiserfs.
f19dbdb7 12590
52bd3de9 12591 * fs/reiserfs.c (struct grub_reiserfs_key)
12592 [GRUB_REISERFS_KEYV2_BITFIELD]: Removed offset and type.
12593 (struct grub_reiserfs_node_body): Removed.
12594 (grub_reiserfs_get_key_v2_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
12595 Likewise.
12596 (grub_reiserfs_get_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
12597 Likewise.
12598 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
12599 Likewise.
12600 (grub_reiserfs_set_key_offset) [GRUB_REISERFS_KEYV2_BITFIELD]:
12601 Likewise.
12602 (grub_reiserfs_set_key_type) [GRUB_REISERFS_KEYV2_BITFIELD]:
12603 Likewise.
12604 (grub_reiserfs_iterate_dir) [GRUB_REISERFS_KEYV2_BITFIELD]:
12605 Likewise.
12606 (grub_reiserfs_open) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
12607 (grub_reiserfs_read) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
12608 (grub_reiserfs_dir) [GRUB_REISERFS_KEYV2_BITFIELD]: Likewise.
12609
2f80039d 126102008-01-10 Robert Millan <rmh@aybabtu.com>
12611
12612 * util/update-grub_lib.in (grub_file_is_not_garbage): New function.
12613 Determines if a file is garbage left by packaging systems, etc.
12614 * util/update-grub.in: Use grub_file_is_not_garbage() as a condition
12615 for processing /etc/grub.d scripts.
12616 * util/grub.d/10_hurd.in: Fix `GRUB_DISTRIBUTOR' comparison.
12617 * util/grub.d/10_linux.in: Likewise. Use grub_file_is_not_garbage()
12618 as a condition for processing Linux images.
12619
87888032 126202008-01-10 Pavel Roskin <proski@gnu.org>
12621
12622 * include/grub/powerpc/libgcc.h (__ucmpdi2): New export. Needed
12623 to compile reiserfs.c on PowerPC.
12624
7e54fced 126252008-01-10 Robert Millan <rmh@aybabtu.com>
de9993e0 12626
12627 * kern/device.c (grub_device_iterate): Do not abort device iteration
12628 when one of the devices cannot be opened.
12629 * kern/disk.c (grub_disk_open): Do not account previous failures of
12630 unrelated functions when grub_errno is checked for.
12631
5aa541e6 126322008-01-08 Robert Millan <rmh@aybabtu.com>
12633
12634 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): For
12635 `! grub_linux_is_bzimage', change order of address comparison to make
12636 it more intuitive, and improve "too big zImage" error message.
12637
7076340d 126382008-01-08 Robert Millan <rmh@aybabtu.com>
12639
12640 * Makefile.in (uninstall): Handle `$(update-grub_SCRIPTS)' and
12641 `$(update-grub_DATA)'.
12642 (distcheck): Fix race condition when invoking `$(MAKE)' on multiple
12643 targets.
12644
9ca70333 126452008-01-07 Robert Millan <rmh@aybabtu.com>
12646
12647 * boot/i386/pc/boot.S (boot_drive_check): Add a comment indicating
12648 which instruction is modified by grub-setup during installation
12649 (since it wasn't obvious by only looking at this file).
12650
38ccf575 126512008-01-07 Robert Millan <rmh@aybabtu.com>
12652
12653 * TODO: Rewrite. Just refer to the wiki and the BTS instead of
12654 listing actual TODO items.
12655
f5db4291 126562008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
12657
868967cf 12658 * fs/reiserfs.c (grub_reiserfs_get_key_v2_type): Handle endianness
12659 correctly.
12660 (grub_reiserfs_get_key_offset): Likewise.
12661 (grub_reiserfs_set_key_offset): Likewise.
12662 (grub_reiserfs_set_key_type): Likewise.
fe6b695a 12663 (grub_reiserfs_iterate_dir): Return 1 if found, otherwise 0.
868967cf 12664
12665 (GRUB_REISERFS_KEYV2_BITFIELD): Undefined. Probably it would be
12666 better to remove the bitfield version completely.
f19dbdb7 12667
868967cf 126682008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 12669
f5db4291 12670 * fs/reiserfs.c (grub_reiserfs_iterate_dir): ENTRY_ITEM must be
12671 allocated from the heap, due to the fshelp implementation.
12672 (grub_reiserfs_dir): Free NODE, due to the same reason.
12673
492e6d9d 126742008-01-06 Yoshinori K. Okuji <okuji@enbug.org>
12675
12676 Mostly from Vincent Pelletier:
f19dbdb7 12677
492e6d9d 12678 * fs/reiserfs.c: New file.
f19dbdb7 12679
492e6d9d 12680 * conf/common.rmk (pkglib_MODULES): Added reiserfs.mod.
12681 (reiserfs_mod_SOURCES): New variable.
12682 (reiserfs_mod_CFLAGS): Likewise.
12683 (reiserfs_mod_LDFLAGS): Likewise.
12684
12685 * DISTLIST: Added boot/i386/pc/lnxboot.S, commands/hexdump.c,
12686 disk/ata.c, fs/cpio.c, fs/ntfscomp.c, fs/reiserfs.c,
12687 include/grub/ntfs.h, include/grub/i386/pc/machine.h, and
12688 normal/color.c.
12689
9ce3e7c1 126902008-01-06 Robert Millan <rmh@aybabtu.com>
12691
12692 * normal/color.c: Remove `<grub/env.h>'.
12693
f3b58148 126942008-01-05 Jeroen Dekkers <jeroen@dekkers.cx>
12695
12696 * include/grub/normal.h: Include <grub/env.h>.
12697
7ac3bcfa 126982008-01-05 Robert Millan <rmh@aybabtu.com>
12699
12700 * util/i386/pc/grub-setup.c (usage): Replace obsolete `(hd0,0)' in
12701 usage example with `(hd0,1)'.
fb358190 12702 Reported by Samuel Thibault.
7ac3bcfa 12703
c8ee99d7 127042008-01-05 Robert Millan <rmh@aybabtu.com>
12705
12706 * kern/i386/loader.S (grub_linux_is_bzimage): New variable.
12707 (grub_linux_boot_zimage): Rename to ...
12708 (grub_linux_boot): ... this.
12709 (grub_linux_boot_bzimage): Merge with `grub_linux_boot_zimage'.
12710 (grub_linux_boot_zimage): Conditionalize zImage copy.
12711
12712 * include/grub/i386/loader.h (grub_linux_is_bzimage): Add prototype.
12713 (grub_linux_boot_bzimage): Remove prototype.
12714 (grub_linux_boot_zimage): Rename to ...
12715 (grub_linux_boot): ... this.
12716
12717 * loader/i386/pc/linux.c (big_linux): Replace with `grub_linux_is_bzimage'.
12718 (grub_linux_boot): Remove function.
12719
0ece25b1 127202008-01-05 Robert Millan <rmh@aybabtu.com>
12721
12722 * include/grub/normal.h (grub_env_write_color_normal): New prototype.
12723 (grub_env_write_color_highlight): Likewise.
12724 (grub_wait_after_message): Likewise.
12725
12726 * normal/color.c: New file.
12727
12728 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `normal/color.c'.
12729 (normal_mod_DEPENDENCIES): Likewise.
12730
12731 * conf/i386-efi.rmk (grub_emu_SOURCES): Add `normal/color.c'.
12732 (normal_mod_DEPENDENCIES): Likewise.
12733
12734 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add `normal/color.c'.
12735 (normal_mod_DEPENDENCIES): Likewise.
12736
12737 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `normal/color.c'.
12738 (normal_mod_DEPENDENCIES): Likewise.
12739
12740 * normal/menu_entry.c (run): Rely on grub_wait_after_message()
12741 for waiting after a message is printed.
12742 * normal/main.c (read_config_file): Likewise.
12743 (grub_normal_init): Register grub_env_write_color_normal() and
12744 grub_env_write_color_highlight() hooks. Mark `color_normal' and
12745 `color_highlight' variables as global.
12746
12747 * normal/menu.c (grub_wait_after_message): New function.
12748 (grub_color_menu_normal): New variable. Replaces ...
12749 (GRUB_COLOR_MENU_NORMAL): ... this macro.
12750 (grub_color_menu_highlight): New variable. Replaces ...
12751 (GRUB_COLOR_MENU_HIGHLIGHT): ... this macro.
12752 (draw_border): Set color state to `GRUB_TERM_COLOR_NORMAL' instead of
12753 `GRUB_TERM_COLOR_STANDARD'.
12754 (print_message): Use `grub_setcolorstate' to reload colors. Rename
12755 `normal_code' and `highlight_code' to `old_color_normal' and
12756 `old_color_highlight', respectively.
12757 (grub_menu_init_page): Update colors when drawing the menu, based on
12758 `menu_color_normal' and `menu_color_highlight' variables.
12759 (grub_menu_run): Rely on grub_wait_after_message() for waiting after
12760 a message is printed.
12761
182dd4e5 127622008-01-05 Robert Millan <rmh@aybabtu.com>
12763
12764 * kern/env.c (grub_env_context_open): Propagate hooks for global
12765 variables to new context.
12766
12767 * kern/main.c (grub_set_root_dev): Export `root' variable.
12768
ddf8f6ad 127692008-01-05 Robert Millan <rmh@aybabtu.com>
12770
12771 * util/biosdisk.c (get_os_disk): Check for devfs-style IDE and SCSI
fe6b695a 12772 discs unconditionally, since udev and others have options to provide
ddf8f6ad 12773 them.
12774
d8b43d9b 127752008-01-05 Robert Millan <rmh@aybabtu.com>
12776
12777 * normal/completion.c (iterate_dir): Skip `.' and `..' directories.
12778
2bff2de3 127792008-01-04 Christian Franke <franke@computer.org>
12780
12781 * kern/i386/pc/init.c (grub_machine_init): Fix evaluation
12782 of eisa_mmap.
12783
97eab917 127842008-01-03 Pavel Roskin <proski@gnu.org>
12785
12786 * kern/i386/linuxbios/init.c: Put "void" to all function
12787 declarations with no arguments.
12788 * kern/powerpc/ieee1275/init.c: Likewise.
12789 * term/i386/pc/at_keyboard.c: Likewise.
12790 * term/i386/pc/vga_text.c: Likewise.
12791 * util/grub-mkdevicemap.c: Likewise.
12792
b9416d00 127932008-01-02 Robert Millan <rmh@aybabtu.com>
12794
12795 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf32): Improve error
12796 message when loaded image is out of bounds.
12797 (grub_multiboot_load_elf64): Likewise.
12798
92695df9 127992008-01-02 Pavel Roskin <proski@gnu.org>
12800
12801 * util/grub.d/10_linux.in: Try version without ".old" when
12802 looking for initrd. It's better to use initrd from the newer
12803 kernel of the same version than no initrd at all.
12804
d98d9cad 128052008-01-01 Robert Millan <rmh@aybabtu.com>
12806
12807 * util/biosdisk.c (get_os_disk): Fix check for IDE or SCSI discs.
12808
dbfdce36 128092008-01-01 Vesa Jaaskelainen <chaac@nic.fi>
12810
f19dbdb7 12811 * include/grub/video.h: Added grub_video_unmap_color and
dbfdce36 12812 grub_video_get_active_render_target.
12813 (grub_video_adapter): Added unmap_color and get_active_render_target.
12814
f19dbdb7 12815 * video/video.c: Added grub_video_unmap_color and
dbfdce36 12816 grub_video_get_active_render_target.
12817 (grub_video_get_info): Changed method to accept NULL pointer as an
12818 argument to allow detection of active video adapter.
12819
12820 * video/i386/pc/vbe.c: Renamed grub_video_vbe_unmap_color as
12821 grub_video_vbe_unmap_color_int.
12822 Added grub_video_vbe_unmap_color and
12823 grub_video_vbe_get_active_render_target.
12824 (grub_video_vbe_adapter): Added unmap_color and
12825 get_active_render_target.
12826
f19dbdb7 12827 * video/i386/pc/vbeblit.c: Replaced grub_video_vbe_unmap_color usage
dbfdce36 12828 with grub_video_vbe_unmap_color_int.
12829
12830 * term/gfxterm.c (DEFAULT_STANDARD_COLOR): Added.
12831 (DEFAULT_NORMAL_COLOR): Likewise.
12832 (DEFAULT_HIGHLIGHT_COLOR) Likewise.
12833 (DEFAULT_FG_COLOR): Removed.
12834 (DEFAULT_BG_COLOR): Likewise.
12835 (DEFAULT_CURSOR_COLOR): Changed value.
12836 (grub_virtual_screen): Added standard_color_setting,
12837 normal_color_setting, highlight_color_setting and term_color.
12838 (grub_virtual_screen): Removed fg_color_setting and bg_color_setting.
12839 (bitmap_width): Added.
12840 (bitmap_height): Likewise.
12841 (bitmap): Likewise.
12842 (set_term_color): Likewise.
12843 (grub_virtual_screen_setup): Changed to use new terminal coloring
12844 settings.
12845 (grub_gfxterm_init): Added init for bitmap.
12846 (grub_gfxterm_fini): Added destroy for bitmap.
12847 (redraw_screen_rect): Updated to use background bitmap and new
12848 terminal coloring.
12849 (scroll_up): Added optimization for case when there is no bitmap.
12850 (grub_gfxterm_cls): Fixed to use correct background color.
12851 (grub_virtual_screen_setcolorstate): Changed to use new terminal
12852 coloring.
12853 (grub_virtual_screen_setcolor): Likewise.
12854 (grub_virtual_screen_getcolor): Added.
12855 (grub_gfxterm_background_image_cmd): Likewise.
12856 (grub_video_term): Added setcolor and getcolor.
12857 (MOD_INIT): Added registration of background_image command.
12858 (MOD_TERM): Added unregistration for background_image command.
12859
c3c20931 128602007-12-30 Pavel Roskin <proski@gnu.org>
12861
12862 * loader/multiboot_loader.c: Fix multiboot command
12863 unregistration. Fix all typos in the word "multiboot".
12864
df266716 128652007-12-29 Pavel Roskin <proski@gnu.org>
94239199 12866
12867 * util/grub.d/10_linux.in: Refactor search for initrd. Add
12868 support for initrd names used in Fedora.
12869
fc6e896c 128702007-12-26 Bean <bean123ch@gmail.com>
12871
12872 * conf/common.rmk (pkgdata_MODULES): Add cpio.mod.
12873 (cpio_mod_SOURCES): New variable.
12874 (cpio_mod_CFLAGS): Likewise.
12875 (cpio_mod_LDFLAGS): Likewise.
12876
12877 * fs/cpio.c: New file.
12878
12879 * conf/i386-pc.rmk (grub_emu_SOURCES): Add cpio.c.
12880
12881 * conf/i386-efi.rmk (grub_emu_SOURCES): Likewise.
12882
12883 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Likewise.
12884
12885 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
12886
533110ad 128872007-12-25 Robert Millan <rmh@aybabtu.com>
12888
12889 * include/grub/term.h (struct grub_term): Add `getcolor' function.
12890 (grub_getcolor): New function.
12891
12892 * kern/term.c (grub_getcolor): New function.
12893 * normal/menu.c (GRUB_COLOR_MENU_NORMAL): New macro.
12894 (GRUB_COLOR_MENU_HIGHLIGHT): New macro.
12895 (print_entry): Set normal and highlight colors to
12896 `GRUB_COLOR_MENU_NORMAL' and `GRUB_COLOR_MENU_HIGHLIGHT',
12897 respectively, before printing and restore them to old
12898 values afterwards.
12899 (grub_menu_init_page): Likewise. Fill an additional colored space
12900 that would otherwise be left blank.
12901
12902 * term/efi/console.c (grub_console_getcolor): New function.
12903 (struct grub_console_term.getcolor): New variable.
12904 * term/i386/pc/console.c (grub_console_getcolor): New function.
12905 (struct grub_console_term.getcolor): New variable.
12906 * term/ieee1275/ofconsole.c (grub_ofconsole_getcolor): New function.
12907 (struct grub_console_term.getcolor): New variable.
12908
12909 * term/i386/pc/serial.c (grub_serial_setcolor): Remove function.
12910 (struct grub_console_term.setcolor): Remove variable.
12911 * term/i386/pc/vesafb.c (grub_virtual_screen_setcolor): Remove function.
12912 (struct grub_console_term.setcolor): Remove variable.
12913 * term/i386/pc/vga.c (grub_vga_setcolor): Remove function.
12914 (struct grub_console_term.setcolor): Remove variable.
12915 * term/gfxterm.c (grub_virtual_screen_setcolor): Remove function.
12916 (struct grub_console_term.setcolor): Remove variable.
12917
4931827f 129182007-12-25 Robert Millan <rmh@aybabtu.com>
12919
12920 * configure.ac: Search for possible unifont.hex locations, and
12921 define UNIFONT_HEX if found.
12922
12923 * Makefile.in (UNIFONT_HEX): Define variable.
12924 (DATA): Rename to ...
12925 (PKGLIB): ... this. Update all users.
12926 (PKGDATA): New variable.
12927 (pkgdata_IMAGES): Rename to ...
12928 (pkglib_IMAGES): ... this. Update all users.
12929 (pkgdata_MODULES): Rename to ...
12930 (pkglib_MODULES): ... this. Update all users.
12931 (pkgdata_PROGRAMS): Rename to ...
12932 (pkglib_PROGRAMS): ... this. Update all users.
12933 (pkgdata_DATA): Rename to ...
12934 (pkglib_DATA): ... this. Update all users.
12935 (CLEANFILES): Redefine to `$(pkglib_DATA) $(pkgdata_DATA)'.
12936 (unicode.pff, ascii.pff): New rules.
12937 (all-local): Add `$(PKGDATA)' dependency.
12938 (install-local): Process `$(PKGDATA)'.
12939
12940 * util/update-grub_lib.in (font_path): Search for *.pff files in
12941 a few more locations, including `${pkgdata}'.
12942
57e57e31 129432007-12-23 Robert Millan <rmh@aybabtu.com>
12944
12945 Patch from Bean <bean123ch@gmail.com>:
12946 * disk/loopback.c (grub_loopback_read): Add missing bit shift to
12947 `size'.
12948
4bc72aa9 129492007-12-21 Bean <bean123ch@gmail.com>
12950
12951 * conf/common.rmk (pkgdata_MODULES): Add ntfscomp.mod.
12952 (ntfscomp_mod_SOURCES): New variable.
12953 (ntfscomp_mod_CFLAGS): Likewise.
12954 (ntfscomp_mod_LDFLAGS): Likewise.
12955
12956 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfscomp.c.
12957 (grub_probe_SOURCES): Likewise.
12958 (grub_emu_SOURCES): Likewise.
12959
12960 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
12961 (grub_emu_SOURCES): Likewise.
12962
12963 * conf/i386-linuxbios.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
12964 (grub_emu_SOURCES): Likewise.
12965
12966 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfscomp.c.
12967 (grub_emu_SOURCES): Likewise.
12968
12969 * fs/ntfs.c (grub_ntfscomp_func): New variable.
12970 (read_run_list): Renamed to grub_ntfs_read_run_list.
12971 (decomp_nextvcn): Moved to ntfscomp.c.
12972 (decomp_getch): Likewise.
12973 (decomp_get16): Likewise.
12974 (decomp_block): Likewise.
12975 (read_block): Likewise.
12976 (read_data): Partially moved to ntfscomp.c.
12977 (fixup): Change unsigned to grub_uint16_t.
12978 (read_mft): Change unsigned long to grub_uint32_t.
12979 (read_attr): Likewise.
12980 (read_data): Likewise.
12981 (read_run_data): Likewise.
12982 (read_run_list): Likewise.
12983 (read_mft): Likewise.
12984
12985 * fs/ntfscomp.c: New file.
12986
12987 * include/grub/ntfs.h: New file.
12988
af680a87 129892007-12-16 Robert Millan <rmh@aybabtu.com>
12990
12991 * util/grub-mkdevicemap.c (make_device_map): Iterate up to 20 for
12992 IDE disk check, since Linux is known to support 20 IDE disks.
12993 Reported by Colin Watson.
12994
84be7599 129952007-12-15 Bean <bean123ch@gmail.com>
12996
12997 * conf/i386-pc.rmk (pkgdata_IMAGES): Add lnxboot.img.
12998 (lnxboot_img_SOURCES): New variable.
12999 (lnxboot_img_ASFLAGS): Likewise.
13000 (lnxboot_img_LDFLAGS): Likewise.
13001
13002 * boot/i386/pc/lnxboot.S: New file.
13003
6af9db01 130042007-11-24 Pavel Roskin <proski@gnu.org>
13005
13006 * configure.ac: Test if '--build-id=none' is supported by the
13007 linker. If yes, add it to TARGET_LDFLAGS. Build ID causes
13008 objcopy to generate incorrect binary files (binutils
13009 2.17.50.0.18-1 as shipped by Fedora 8).
13010 * aclocal.m4 (grub_PROG_OBJCOPY_ABSOLUTE): Use LDFLAGS when
13011 linking, so that build ID doesn't break the test.
13012
7361cfe6 130132007-11-24 Pavel Roskin <proski@gnu.org>
13014
13015 * include/grub/i386/time.h: use "void" in the argument list
13016 of grub_cpu_idle().
13017 * include/grub/powerpc/time.h: Likewise.
13018 * include/grub/sparc64/time.h: Likewise.
13019
1593e10c 130202007-11-18 Christian Franke <franke@computer.org>
13021
13022 * util/console.c (grub_ncurses_getkey): Change curses KEY_* mapping,
13023 now return control chars instead of GRUB_CONSOLE_KEY_* constants.
13024 This fixes the problem that function keys did not work in grub-emu.
13025
3b8db1a8 130262007-11-18 Christian Franke <franke@computer.org>
13027
13028 * disk/host.c (grub_host_open): Remove attribute unused from
13029 name parameter. Add check for "host". This fixes the problem
13030 that grub-emu does not find partitions.
13031
2e29408d 130322007-11-18 Christian Franke <franke@computer.org>
13033
13034 * util/hostfs.c (is_dir): New function.
13035 (grub_hostfs_dir): Handle missing dirent.d_type case.
13036 (grub_hostfs_read): Add missing fseek().
13037 (grub_hostfs_label): Clear label pointer. This fixes a crash
13038 of grub-emu on "ls (host)".
13039
398cd047 130402007-11-18 Christian Franke <franke@computer.org>
13041
13042 * include/grub/i386/pc/init.h (struct grub_machine_mmap_entry):
13043 Add attribute packed, gcc 3.4.4 on Cygwin aligns this
13044 to 64 bit boundary by default.
13045
c405c391 130462007-11-18 Bean <bean123ch@gmail.com>
13047
13048 * conf/common.rmk (pkgdata_MODULES): Add hexdump.mod.
13049 (hexdump_mod_SOURCES): New variable.
13050 (hexdump_mod_CFLAGS): Likewise.
13051 (hexdump_mod_LDFLAGS): Likewise.
f19dbdb7 13052
c405c391 13053 * conf/i386-pc.rmk (grub_emu_SOURCES): Add command/hexdump.c.
13054
13055 * conf/i386-efi.rmk (grub_emu_SOURCES): Add command/hexdump.c.
13056
13057 * conf/i386-linuxbios.rmk (grub_emu_SOURCES): Add command/hexdump.c.
13058
13059 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add command/hexdump.c.
13060
13061 * include/grub/hexdump.h: New file.
13062
13063 * commands/hexdump.c: New file.
13064
5cced7fd 130652007-11-10 Robert Millan <rmh@aybabtu.com>
13066
13067 * commands/i386/pc/play.c (beep_off): Switch order of arguments
13068 in grub_outb() calls.
13069 (beep_on): Likewise.
13070
8b714eb0 130712007-11-10 Christian Franke <franke@computer.org>
13072
13073 * normal/menu.c (run_menu): Check for empty menu to avoid crash.
13074 (grub_menu_run): Likewise.
13075
ce0f1839 130762007-11-10 Robert Millan <rmh@aybabtu.com>
13077
13078 * include/grub/i386/efi/machine.h: New file.
13079 * include/grub/i386/linuxbios/machine.h: Likewise.
13080 * include/grub/i386/pc/machine.h: Likewise.
13081 * include/grub/powerpc/ieee1275/machine.h: Likewise.
13082 * include/grub/sparc64/ieee1275/machine.h: Likewise.
13083
13084 * term/i386/pc/serial.c: Include <grub/machine/machine.h>.
13085 (serial_hw_io_addr): New variable.
13086 (serial_hw_get_port): Obtain port address from `serial_hw_io_addr'
13087 instead of `(unsigned short *) 0x400'.
13088
270c237d 130892007-11-10 Bean <bean123ch@gmail.com>
13090
13091 * fs/ntfs.c (read_block): Fix a bug caused by adjacent blocks.
13092
a87783bf 130932007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
13094
13095 * conf/i386-pc.rmk (pkgdata_MODULES): Added vga.mod.
13096 (vga_mod_SOURCES): Added.
13097 (vga_mod_CFLAGS): Likewise.
13098 (vga_mod_LDFLAGS): Likewise.
13099
13100 * term/i386/pc/vga.c (get_map_mask): Switch order of arguments in
13101 grub_outb() calls.
13102 (set_map_mask): Likewise.
13103 (set_read_map): Likewise.
13104 (set_read_address): Likewise.
13105 (vga_font): Removed variable.
13106 (get_vga_glyph): Removed function.
13107 (invalidate_char): Likewise.
13108 (write_char): Changed to use grub_font_get_glyph() for font
13109 information.
13110 (grub_vga_putchar): Likewise.
13111 (grub_vga_getcharwidth): Likewise.
13112
6433b448 131132007-11-10 Vesa Jaaskelainen <chaac@nic.fi>
13114
13115 * conf/i386-pc.rmk (boot_img_LDFLAGS): Use COMMON_LDFLAGS for target
13116 flags.
13117 (pxeboot_img_LDFLAGS): Likewise.
13118 (diskboot_img_LDFLAGS): Likewise.
13119 (kernel_img_LDFLAGS): Likewise.
13120
49178511 131212007-11-06 Robert Millan <rmh@aybabtu.com>
13122
13123 * term/i386/pc/serial.c (serial_hw_put): Switch order of arguments
13124 in grub_outb() calls.
13125 (serial_hw_init): Likewise.
13126
53b052de 131272007-11-05 Robert Millan <rmh@aybabtu.com>
13128
13129 * util/update-grub.in: Allow files in ${update_grub_dir} to contain
13130 spaces. Skip non-regular files.
13131
5ab33bba 131322007-11-05 Robert Millan <rmh@aybabtu.com>
13133
13134 * kern/disk.c (grub_disk_firmware_fini)
13135 (grub_disk_firmware_is_tainted): New variables.
13136
13137 * include/grub/disk.h (grub_disk_firmware_fini)
13138 (grub_disk_firmware_is_tainted): Likewise.
13139
13140 * disk/i386/pc/biosdisk.c (GRUB_MOD_FINI(biosdisk)): Moved from here ...
13141 (grub_disk_biosdisk_fini): ... to here.
13142 (GRUB_MOD_FINI(biosdisk)): Implement using grub_disk_biosdisk_fini().
13143 (GRUB_MOD_INIT(biosdisk)): Abort when `grub_disk_firmware_is_tainted'
13144 is set. Register grub_disk_biosdisk_fini() in
13145 `grub_disk_firmware_fini'.
13146
13147 * disk/ata.c: Remove `<grub/machine/biosdisk.h>'.
13148 (GRUB_MOD_INIT(ata)): Remove grub_biosdisk_fini() call.
13149 Use `grub_disk_firmware_is_tainted' and `grub_disk_firmware_fini'
13150 to finish existing firmware disk interface.
13151
13152 * conf/i386-linuxbios.rmk (pkgdata_MODULES): Add `ata.mod'.
13153 (ata_mod_SOURCES): New variable.
13154 (ata_mod_CFLAGS): Likewise.
13155 (ata_mod_LDFLAGS): Likewise.
13156
0149ab7c 131572007-11-05 Robert Millan <rmh@aybabtu.com>
13158
13159 * disk/ata.c: Remove `<grub/machine/time.h>'. Include `<grub/time.h>'.
13160 (grub_ata_wait): Reimplement using grub_millisleep().
13161
13162 * include/grub/misc.h (grub_div_roundup): Fix parenthesization.
13163 * include/grub/i386/time.h (grub_cpu_idle): Disable `hlt' instruction.
13164
be7ac41e 131652007-11-03 Marco Gerards <marco@gnu.org>
13166
13167 * term/i386/pc/vga_text.c: Include <grub/cpu/io.h>.
13168 (CRTC_ADDR_PORT): New macro.
13169 (CRTC_DATA_PORT): Likewise.
13170 (CRTC_CURSOR): Likewise.
13171 (CRTC_CURSOR_ADDR_HIGH): Likewise.
13172 (CRTC_CURSOR_ADDR_LOW): Likewise.
13173 (update_cursor): New function.
13174 (grub_console_real_putchar): Call `update_cursor'.
13175 (grub_console_gotoxy): Likewise.
13176 (grub_console_cls): Set the default color when clearing the
13177 screen.
13178 (grub_console_setcursor): Implemented.
13179
bb06ab2e 131802007-11-03 Marco Gerards <marco@gnu.org>
13181
13182 * disk/ata.c (grub_ata_pio_read): Don't wait for the command to
13183 become activate.
13184 (grub_ata_pio_write): Likewise.
13185
13186 (grub_atapi_identify): Wait after issuing an ATA command.
13187 (grub_atapi_packet): Likewise.
13188 (grub_ata_identify): Likewise.
13189 (grub_ata_readwrite): Likewise.
13190
cf8f780b 131912007-11-03 Marco Gerards <marco@gnu.org>
13192
13193 * disk/ata.c (grub_ata_pio_read): Detect and return the error code.
13194 (grub_ata_pio_write): Likewise.
13195 (grub_ata_readwrite): Use `grub_error', instead of
13196 returning `grub_errno'.
13197
ed649e54 131982007-11-03 Marco Gerards <marco@gnu.org>
13199
13200 * disk/ata.c (grub_ata_readwrite): Call grub_ata_pio_read and
13201 grub_ata_pio_write once for every single sector, instead of for
13202 multiple sectors.
13203
ca25d8f0 132042007-10-31 Robert Millan <rmh@aybabtu.com>
13205
13206 * configure.ac: Add `i386-linuxbios' to the list of supported targets.
13207
13208 * conf/i386-linuxbios.rmk: New file.
13209
13210 * kern/i386/pc/hardware.c: Likewise.
13211 * term/i386/pc/at_keyboard.c: Likewise.
13212 * term/i386/pc/vga_text.c: Likewise.
13213
13214 * include/grub/i386/linuxbios/boot.h: Likewise.
13215 * include/grub/i386/linuxbios/console.h: Likewise.
13216 * include/grub/i386/linuxbios/init.h: Likewise.
13217 * include/grub/i386/linuxbios/kernel.h: Likewise.
13218 * include/grub/i386/linuxbios/loader.h: Likewise.
13219 * include/grub/i386/linuxbios/memory.h: Likewise.
13220 * include/grub/i386/linuxbios/serial.h: Likewise.
13221 * include/grub/i386/linuxbios/time.h: Likewise.
13222
13223 * kern/i386/linuxbios/init.c: Likewise.
13224 * kern/i386/linuxbios/startup.S: Likewise.
13225 * kern/i386/linuxbios/table.c: Likewise.
13226
e911ecc1 132272007-10-31 Marco Gerards <marco@gnu.org>
13228
13229 * conf/i386-pc.rmk (pkgdata_MODULES): Add `ata.mod'.
13230 (ata_mod_SOURCES): New variable.
13231 (ata_mod_CFLAGS): Likewise.
13232 (ata_mod_LDFLAGS): Likewise.
13233
13234 * disk/ata.c: New file.
13235
13236 * include/grub/disk.h (grub_disk_dev_id): Add
13237 `GRUB_DISK_DEV_ATA_ID'.
f19dbdb7 13238
7f66d0e0 132392007-10-31 Robert Millan <rmh@aybabtu.com>
13240
13241 * include/grub/i386/pc/init.h (grub_lower_mem): Moved from here ...
13242 * include/grub/i386/pc/memory.h (grub_lower_mem): ... to here.
13243
13244 * include/grub/i386/pc/init.h (grub_upper_mem): Moved from here ...
13245 * include/grub/i386/pc/memory.h (grub_upper_mem): ... to here.
13246
13247 * include/grub/i386/pc/memory.h: Include `<grub/symbol.h>' and
13248 `<grub/types.h>'.
13249
13250 * loader/i386/pc/multiboot.c: Include `<grub/machine/memory.h>'.
13251
5cd7dd46 132522007-10-27 Robert Millan <rmh@aybabtu.com>
13253
3236ca65 13254 * include/grub/types.h (ULONG_MAX): Define macro.
5cd7dd46 13255
2ebfc90f 132562007-10-22 Robert Millan <rmh@aybabtu.com>
13257
13258 * kern/i386/pc/startup.S: Remove `"kern/i386/realmode.S"'. Include
13259 `"../realmode.S"'.
13260 Remove `"kern/i386/loader.S"'. Include `"../loader.S"'.
13261
73fcb0f3 132622007-10-22 Robert Millan <rmh@aybabtu.com>
13263
13264 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove `disk/i386/pc/biosdisk.c'.
13265 (pkgdata_MODULES): Add `biosdisk.mod'.
13266 (biosdisk_mod_SOURCES, biosdisk_mod_CFLAGS, biosdisk_mod_LDFLAGS): New
13267 variables.
13268
13269 * disk/i386/pc/biosdisk.c: Include `<grub/dl.h>'.
13270 (grub_biosdisk_init): Replace with ...
13271 (GRUB_MOD_INIT(biosdisk)): ... this.
13272 (grub_biosdisk_fini): Replace with ...
13273 (GRUB_MOD_FINI(biosdisk)): ... this.
13274
13275 * kern/i386/pc/init.c: Remove `<grub/machine/biosdisk.h>'.
13276 (grub_machine_init): Remove call to grub_biosdisk_init().
13277 (grub_machine_fini): Remove call to grub_machine_fini().
13278
13279 * util/i386/pc/grub-install.in (modules): Add `biosdisk'.
13280
3381d274 132812007-10-22 Robert Millan <rmh@aybabtu.com>
13282
13283 * include/grub/time.h: New file.
13284 * include/grub/i386/time.h: Likewise.
13285 * include/grub/powerpc/time.h: Likewise.
13286 * include/grub/sparc64/time.h: Likewise.
13287
13288 * include/grub/i386/pc/time.h (KERNEL_TIME_HEADER): Rename all
13289 instances to ...
13290 (KERNEL_MACHINE_TIME_HEADER): ... this.
13291 * include/grub/powerpc/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
13292 instances to ...
13293 (KERNEL_MACHINE_TIME_HEADER): ... this.
13294 * include/grub/sparc64/ieee1275/time.h (KERNEL_TIME_HEADER): Rename all
13295 instances to ...
13296 (KERNEL_MACHINE_TIME_HEADER): ... this.
13297
13298 * kern/i386/efi/init.c: Include `<grub/time.h>'.
13299 (grub_millisleep): New function.
13300 * kern/i386/pc/init.c: Include `<grub/time.h>'.
13301 (grub_millisleep): New function.
13302 * kern/powerpc/ieee1275/init.c: Include `<grub/time.h>'.
13303 Remove `grub/machine/time.h' include.
13304 (grub_millisleep): New function.
13305 * kern/sparc64/ieee1275/init.c: Include `<grub/time.h>'.
13306 Remove `grub/machine/time.h' include.
13307 (grub_millisleep): New function.
13308
13309 * include/grub/misc.h (grub_div_roundup): New function.
13310
13311 * kern/misc.c: Include `<grub/time.h>'.
13312 (grub_millisleep_generic): New function.
13313
13314 * conf/i386-efi.rmk (kernel_mod_HEADERS): Remove `i386/efi/time.h'.
13315 Add `time.h'.
13316 * conf/i386-pc.rmk (kernel_img_HEADERS): Remove `machine/time.h'.
13317 Add `time.h'.
13318 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Remove
13319 `machine/time.h'. Add `time.h'.
13320 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
13321
a39a0312 133222007-10-21 Robert Millan <rmh@aybabtu.com>
13323
13324 * include/grub/misc.h (grub_max): New function.
13325
2aad70e2 133262007-10-21 Robert Millan <rmh@aybabtu.com>
13327
13328 * util/misc.c (grub_util_info): Call fflush() before returning.
13329
54b71c4b 133302007-10-20 Robert Millan <rmh@aybabtu.com>
13331
13332 * genmk.rb (Image): Copy `extra_flags' from here ...
13333 (PModule): ... to here. Use it in `#{obj}: #{src}' rule.
13334
13335 * commands/i386/cpuid.c (grub_cmd_cpuid): Add __attribute__ ((unused))
13336 to `argc' and `args' arguments.
13337
a979f513 133382007-10-17 Robert Millan <rmh@aybabtu.com>
13339
13340 * kern/i386/loader.S: New file.
13341
13342 * kern/i386/pc/startup.S (grub_linux_prot_size): Moved from here ...
13343 * kern/i386/loader.S (grub_linux_prot_size)... to here.
13344 * kern/i386/pc/startup.S (grub_linux_tmp_addr): Moved from here ...
13345 * kern/i386/loader.S (grub_linux_tmp_addr)... to here.
13346 * kern/i386/pc/startup.S (grub_linux_real_addr): Moved from here ...
13347 * kern/i386/loader.S (grub_linux_real_addr)... to here.
13348 * kern/i386/pc/startup.S (grub_linux_boot_zimage): Moved from here ...
13349 * kern/i386/loader.S (grub_linux_boot_zimage)... to here.
13350 * kern/i386/pc/startup.S (grub_linux_boot_bzimage): Moved from here ...
13351 * kern/i386/loader.S (grub_linux_boot_bzimage)... to here.
13352 * kern/i386/pc/startup.S (grub_multiboot_real_boot): Moved from here ...
13353 * kern/i386/loader.S (grub_multiboot_real_boot)... to here.
13354 * kern/i386/pc/startup.S (grub_multiboot2_real_boot): Moved from here ...
13355 * kern/i386/loader.S (grub_multiboot2_real_boot)... to here.
13356
13357 * kern/i386/realmode.S: New file.
13358
13359 * kern/i386/pc/startup.S (protstack): Moved from here ...
13360 * kern/i386/realmode.S (protstack)... to here.
13361 * kern/i386/pc/startup.S (gdt): Moved from here ...
13362 * kern/i386/realmode.S (gdt)... to here.
13363 * kern/i386/pc/startup.S (prot_to_real): Moved from here ...
13364 * kern/i386/realmode.S (prot_to_real)... to here.
13365
13366 * kern/i386/pc/startup.S: Include `kern/i386/loader.S' and
13367 `kern/i386/realmode.S'.
13368
825fc8fd 133692007-10-17 Robert Millan <rmh@aybabtu.com>
13370
13371 * include/grub/i386/loader.h: New file.
13372
13373 * include/grub/i386/pc/loader.h (grub_linux_prot_size)
13374 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
13375 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
13376 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
13377 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): Moved from here ...
13378 * include/grub/i386/loader.h (grub_linux_prot_size)
13379 (grub_linux_tmp_addr, grub_linux_real_addr, grub_os_area_addr)
13380 (grub_os_area_size, grub_linux_boot_zimage, grub_linux_boot_bzimage)
13381 (grub_multiboot_real_boot, grub_multiboot2_real_boot)
13382 (grub_rescue_cmd_linux, grub_rescue_cmd_initrd): ... to here.
13383
13384 * include/grub/i386/pc/loader.h: Include `grub/cpu/loader.h'.
13385
e179b2f4 133862007-10-15 Robert Millan <rmh@aybabtu.com>
13387
13388 * normal/misc.c (grub_normal_print_device_info): Do not probe for
13389 filesystem when dev->disk is unset.
13390 Do probe for filesystem even when dev->disk->has_partitions is set.
13391 In case a filesystem is found, always report it.
13392 In case it isn't, if dev->disk->has_partitions is set, report that
13393 a partition table was found instead of reporting that no filesystem
13394 could be identified.
13395
5db82af6 133962007-10-12 Robert Millan <rmh@aybabtu.com>
13397
13398 * conf/powerpc-ieee1275.rmk (grub_mkimage_SOURCES): Replace reference
13399 to util/powerpc/ieee1275/grub-mkimage.c with util/elf/grub-mkimage.c.
13400
68f6ac74 13401 * include/grub/types.h (grub_host_to_target16): New macro.
13402 (grub_host_to_target32): Likewise.
13403 (grub_host_to_target64): Likewise.
13404 (grub_target_to_host16): Likewise.
13405 (grub_target_to_host32): Likewise.
13406 (grub_target_to_host64): Likewise.
5db82af6 13407
13408 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
13409 Renamed from to ...
13410 (GRUB_MOD_ALIGN): ...this. Update all users.
13411
68f6ac74 13412 * util/elf/grub-mkimage.c (load_note): Replace grub_cpu_to_be32 with
13413 grub_host_to_target32.
13414 Replace grub_be_to_cpu32 with grub_target_to_host32.
13415 (load_modules): Likewise.
13416 (add_segments): Replace grub_be_to_cpu16 with grub_target_to_host16.
13417 Replace grub_be_to_cpu32 with grub_target_to_host32.
13418 Replace grub_cpu_to_be16 with grub_host_to_target16.
13419 Replace grub_cpu_to_be32 grub_host_to_target32.
5db82af6 13420
3cf497cc 134212007-10-12 Robert Millan <rmh@aybabtu.com>
13422
13423 * util/powerpc/ieee1275/grub-mkimage.c: Moved to ...
13424 * util/elf/grub-mkimage.c: ... here.
13425
13426 * DISTLIST: Add `util/elf/grub-mkimage.c'. Remove
13427 `util/powerpc/ieee1275/grub-mkimage.c'.
13428
c8cc3692 134292007-10-07 Robert Millan <rmh@aybabtu.com>
adbc4c9d 13430
c8cc3692 13431 * kern/powerpc/ieee1275/init.c: Rename HEAP_LIMIT to HEAP_MAX_ADDR,
13432 and make it easier to figure out.
13433 Add HEAP_MIN_SIZE and HEAP_MAX_ADDR definitions.
13434 (grub_claim_heap): Use HEAP_MAX_ADDR rather than taking a parameter.
13435 Do not avoid claiming a region above HEAP_MAX_ADDR if that would
13436 leave us with less than HEAP_MIN_SIZE total heap.
13437 Avoid our total amount of heap to surpass HEAP_MAX_SIZE.
adbc4c9d 13438
5c58b791 134392007-10-03 Robert Millan <rmh@aybabtu.com>
13440
13441 * include/grub/i386/io.h: New file.
13442 * commands/i386/pc/play.c (inb): Removed.
13443 (outb): Removed.
13444 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
13445 with grub_outb().
afcd2ef8 13446 * term/i386/pc/serial.c (inb): Removed.
13447 (outb): Removed.
13448 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
13449 with grub_outb().
13450 * term/i386/pc/vga.c (inb): Removed.
13451 (outb): Removed.
13452 Include grub/cpu/io.h. Replace inb() with grub_inb() and outb()
13453 with grub_outb().
5c58b791 13454
1a477ed6 134552007-10-02 Robert Millan <rmh@aybabtu.com>
13456
13457 * conf/i386-efi.rmk (grub_emu_SOURCES): Add util/hostfs.c.
13458 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
13459 Reported by Marcin Kurek.
13460
6b5d80fa 134612007-09-07 Robert Millan <rmh@aybabtu.com>
13462
13463 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_test_flag): Detect
13464 SmartFirmware version updates (as released by Sven Luther), and avoid
13465 setting GRUB_IEEE1275_FLAG_NO_PARTITION_0 or
13466 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS unless the running version is
13467 known broken.
13468
5618afbf 134692007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
13470
13471 From Hitoshi Ozeki:
13472 * kern/i386/pc/init.c (compact_mem_regions): Decrease NUM_REGIONS
13473 when merging two regions.
13474
6139dcd9 134752007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
13476
508e39ee 13477 * kern/rescue.c (grub_enter_rescue_mode): Free ARGS.
13478 * normal/completion.c (grub_normal_do_completion): Likewise.
13479 Reported by Hitoshi Ozeki.
13480
134812007-09-03 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 13482
6139dcd9 13483 Do not use devices at boot in chainloading.
f19dbdb7 13484
6139dcd9 13485 * loader/i386/pc/chainloader.c (boot_drive): New variable.
13486 (boot_part_addr): Likewise.
13487 (grub_chainloader_boot): Simply call grub_chainloader_real_boot
13488 with BOOT_DRIVE and BOOT_PART_ADDR.
13489 (grub_chainloader_cmd): Set BOOT_DRIVE and BOOT_PART_ADDR.
13490 Reported by Hitoshi Ozeki <h-ozeki@ck2.so-net.ne.jp>.
13491
38da6516 134922007-08-29 Robert Millan <rmh@aybabtu.com>
13493
13494 Patch from Simon Peter <dn.tlp@gmx.net>:
13495 * genmk.rb (Utility): Append $(#{src}_DEPENDENCIES) to #{obj} targets.
13496 * conf/i386-pc.rmk: Replace grub-probe_DEPENDENCIES with
13497 util/grub-probe.c_DEPENDENCIES. Replace grub-setup_DEPENDENCIES with
13498 util/i386/pc/grub-setup.c_DEPENDENCIES.
13499 * conf/i386-efi.rmk: Replace grub-probe_DEPENDENCIES with
13500 util/grub-probe.c_DEPENDENCIES.
13501 * conf/powerpc-ieee1275.rmk: Likewise.
13502
29d0928c 135032007-08-28 Robert Millan <rmh@aybabtu.com>
13504
13505 * util/i386/get_disk_name.c: New. Implement grub_util_get_disk_name()
13506 to tell grub-mkdevicemap how to name devices.
13507 * util/ieee1275/get_disk_name.c: Likewise (using "ofpathname -a"
13508 feature).
13509
13510 * conf/i386-efi.rmk (grub_mkdevicemap_SOURCES): Add
13511 util/i386/get_disk_name.c.
13512 * conf/i386-pc.rmk (grub_mkdevicemap_SOURCES): Likewise.
13513 * conf/powerpc-ieee1275.rmk (grub_mkdevicemap_SOURCES): Add
13514 util/ieee1275/get_disk_name.c.
13515
13516 * include/grub/util/misc.h: grub_util_get_disk_name() declaration.
13517
13518 * DISTLIST: Add util/i386/get_disk_name.c and
13519 util/ieee1275/get_disk_name.c.
13520
13521 * util/grub-mkdevicemap.c: Replace device naming logic with
13522 grub_util_get_disk_name() calls.
13523
5a0d3cca 135242007-08-20 Robert Millan <rmh@aybabtu.com>
13525
13526 * normal/menu.c (run_menu): Refer to seconds as "s" not "seconds"
13527 (so that it works for both plural and singular quantities).
13528
8b72db2f 135292007-08-05 Robert Millan <rmh@aybabtu.com>
13530
13531 * util/grub.d/10_linux.in (test_gt): Strip out vmlinu[xz]- prefix
13532 so that [xz] isn't taken into account when determining order.
13533
352466bf 135342007-08-02 Marco Gerards <marco@gnu.org>
13535
13536 * DISTLIST: Add `disk/host.c', `fs/ntfs.c', `include/multiboot.h',
13537 `include/multiboot2.h', `include/grub/elfload.h',
13538 `include/multiboot.h', `include/grub/multiboot.h',
13539 `include/grub/multiboot_loader.h', `include/grub/multiboot2.h',
13540 `include/grub/i386/pc/biosdisk.h', `include/grub/util/biosdisk.h',
13541 `kern/elf.c', `loader/multiboot_loader.c',
13542 `loader/multiboot_loader_normal.c', `loader/multiboot2.c',
13543 `loader/i386/pc/multiboot2.c',
13544 `loader/powerpc/ieee1275/multiboot2.c', `util/hostfs.c' and
13545 `util/i386/pc/grub-mkrescue.in'. Remove
13546 `include/grub/biosdisk.h', `include/grub/i386/pc/multiboot.h',
13547 `include/grub/i386/pc/util/biosdisk.h' and
13548 `include/grub/powerpc/ieee1275/multiboot.h'.
13549
8f096014 135502007-08-02 Bean <bean123ch@gmail.com>
13551
13552 * conf/common.rmk (pkgdata_MODULES): Add ntfs.mod.
13553 (ntfs_mod_SOURCES): New variable.
13554 (ntfs_mod_CFLAGS): Likewise.
13555 (ntfs_mod_LDFLAGS): Likewise.
13556
13557 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ntfs.c.
13558 (grub_probe_SOURCES): Likewise.
13559 (grub_emu_SOURCES): Likewise.
13560
13561 * conf/i386-efi.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
13562 (grub_emu_SOURCES): Likewise.
13563
13564 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add fs/ntfs.c.
13565 (grub_emu_SOURCES): Likewise.
f19dbdb7 13566
8f096014 13567 * conf/misc.c (grub_utf16_to_utf8): Fix unicode conversion bug.
13568
13569 * fs/ntfs.c: New file.
13570
9959f7db 135712007-08-02 Bean <bean123ch@gmail.com>
13572
13573 * disk.h (grub_disk): Use NESTED_FUNC_ATTR.
13574
13575 * file.h (grub_file): Likewise.
13576
13577 * fshelp.h (grub_fshelp_read_file): Likewise.
13578
13579 * util/i386/pc/grub-setup.c (setup): Likewise.
13580 (save_first_sector): Likewise.
13581 (save_blocklists): Likewise.
f19dbdb7 13582
9959f7db 13583 * fs/affs.c (grub_affs_read_file): Likewise.
13584
13585 * fs/ext2.c (grub_ext2_read_file): Likewise.
13586
13587 * fs/fat.c (grub_fat_read_data): Likewise.
13588
13589 * fs/fshelp.c (grub_fshelp_read_file): Likewise.
13590
13591 * fs/hfs.c (grub_hfs_read_file): Likewise.
13592
13593 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
13594
13595 * fs/jfs.c (grub_jfs_read_file): Likewise.
13596
13597 * fs/minix.c (grub_minix_read_file): Likewise.
13598
13599 * fs/sfs.c (grub_sfs_read_file): Likewise.
13600
13601 * fs/ufs.c (grub_ufs_read_file): Likewise.
f19dbdb7 13602
9959f7db 13603 * fs/xfs.c (grub_xfs_read_file): Likewise.
13604
13605 * command/blocklist.c (read_blocklist): Likewise.
13606 (print_blocklist): Likewise.
13607
0a203f83 136082007-08-02 Marco Gerards <marco@gnu.org>
13609
13610 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/host.c' and
13611 `util/hostfs.c'.
13612
13613 * disk/host.c: New file.
13614
13615 * util/hostfs.c: Likewise.
13616
13617 * fs/hfsplus.c (grub_hfsplus_mount): When reading out of disk,
13618 return `GRUB_ERR_BAD_FS'.
13619 * fs/sfs.c (grub_sfs_mount): Likewise.
13620 * fs/xfs.c (grub_xfs_mount): Likewise.
13621
13622 * include/grub/disk.h (enum grub_disk_dev_id): Add
13623 `GRUB_DISK_DEVICE_HOST_ID'.
13624
13625 * util/grub-emu.c (main): Initialize and de-initialize hostfs.
13626
e5dfe777 136272007-07-24 Jerone Young <jerone@gmail.com>
13628
f19dbdb7 13629 * conf/i386-pc.rmk: Add Multiboot loader and multiboot 2 to multiboot
e5dfe777 13630 modules for compilation.
13631 * conf/powerpc-ieee1275.rmk: Likewise.
13632
13633 * include/multiboot.h: Move multiboot definitions to one file. Rename
13634 many definitions to not get grub specific.
13635 * include/multiboot2.h: Create header with multiboot 2 definitions.
13636 * include/grub/multiboot.h: Header for grub specific function
13637 prototypes and definitions.
13638 * include/grub/multiboot2.h: Likewise.
13639 * include/grub/multiboot_loader.h: Likewise.
13640 * include/grub/i386/pc/multiboot.h: Removed.
13641 * include/grub/powerpc/ieee1275/multiboot.h: Removed.
13642
13643 * loader/multiboot_loader.c: Created to act as a proxy for multiboot 1
13644 and 2 to allow for one multiboot and module commands.
13645 * loader/multiboot2.c: Add multiboot2 functionality.
13646 * loader/i386/pc/multiboot.c: Modify for new multiboot header location
13647 and definition names.
13648 * loader/i386/pc/multiboot2.c: Created to add i386 specific multiboot
13649 2 functions.
13650 * loader/powerpc/ieee1275/multiboot2.c: Created to add powerpc
13651 ieee1275 specific multiboot2 code.
13652
13653 * kern/i386/pc/startup.S: Change headers and definition names for
13654 multiboot. Add function grub_multiboot2_real_boot for multiboot 2.
13655
daf0f0ba 136562007-07-22 Robert Millan <rmh@aybabtu.com>
13657
13658 * geninitheader.sh: Process file specified in first parameter rather
13659 than hardcoding grub_modules_init.lst.
fe6b695a 13660 * geninit.sh: Likewise. Also, construct header name dynamically rather
daf0f0ba 13661 than hardcoding grub_modules_init.h.
13662
13663 * conf/common.rmk: Rename grub_modules_init.[ch] files associated with
13664 grub-emu to grub_emu_init.[ch]. Add rules to build analogous
13665 grub_probe_init.[ch] and grub_setup_init.[ch].
13666
13667 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Replace
13668 grub_modules_init.h with grub_emu_init.h.
13669 (grub_probe_DEPENDENCIES, grub_probe_SOURCES): Add new
13670 grub_probe_init.[ch] files.
13671 * conf/i386-efi.rmk: Likewise.
13672 * conf/i386-pc.rmk: Likewise.
13673 (grub_setup_DEPENDENCIES, grub_setup_SOURCES): Add new
13674 grub_setup_init.[ch] files.
13675
13676 * util/grub-emu.c: Replace grub_modules_init.h with grub_emu_init.h.
13677 * util/grub-probe.c: Include grub_probe_init.h. Use grub_init_all()
13678 to initialize modules rather than a list of hardcoded functions.
13679 * util/i386/pc/grub-setup.c: Include grub_setup_init.h. Use
13680 grub_init_all() to initialize modules rather than a list of hardcoded
13681 functions.
13682
54cdc1cc 136832007-07-22 Robert Millan <rmh@aybabtu.com>
13684
13685 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set
13686 GRUB_IEEE1275_FLAG_NO_PARTITION_0 flag when running on SmartFirmware.
13687
ad0686cc 136882007-07-22 Robert Millan <rmh@aybabtu.com>
13689
13690 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_flag): Add
13691 GRUB_IEEE1275_FLAG_BROKEN_OUTPUT flag.
13692 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options): Set this
13693 flag when running on SmartFirmware.
13694 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Avoid running
13695 "output-device output" command when GRUB_IEEE1275_FLAG_BROKEN_OUTPUT
13696 was set.
13697
13698 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
13699 Increase partno when GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS flag is set,
13700 rather than decreasing it.
13701
13702 * util/i386/pc/grub-setup.c (setup): When embedding is required, but
13703 there's not enough space to do it, fail in the same way as when it
13704 can't be done because there are no partitions.
13705
13706 * util/powerpc/ieee1275/grub-install.in: Improve error message shown
13707 when nvsetenv failed.
13708
969c02ec 137092007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
13710
13711 * conf/i386-pc.rmk (CLEANFILES): Removed for grub-mkrescue,
13712 because this rule is automatically generated.
13713 (grub-mkrescue): Removed for the same reason as above.
13714
5a79f472 137152007-07-22 Yoshinori K. Okuji <okuji@enbug.org>
13716
13717 Migrate to GNU General Public License Version 3.
f19dbdb7 13718
5a79f472 13719 * COPYING: Replaced with the plain text version of GPLv3.
13720
13721 * config.guess: Updated from gnulib.
13722 * config.sub: Likewise.
13723
13724 * geninit.sh: Output a GPLv3 copyright notice.
13725 * geninitheader.sh: Likewise.
13726 * genmodsrc.sh: Likewise.
13727 * gensymlist.sh.in: Likewise.
13728
13729 * boot/i386/pc/boot.S: Upgraded to GPLv3.
13730 * boot/i386/pc/diskboot.S: Likewise.
13731 * boot/i386/pc/pxeboot.S: Likewise.
13732 * commands/blocklist.c: Likewise.
13733 * commands/boot.c: Likewise.
13734 * commands/cat.c: Likewise.
13735 * commands/cmp.c: Likewise.
13736 * commands/configfile.c: Likewise.
13737 * commands/echo.c: Likewise.
13738 * commands/help.c: Likewise.
13739 * commands/ls.c: Likewise.
13740 * commands/search.c: Likewise.
13741 * commands/terminal.c: Likewise.
13742 * commands/test.c: Likewise.
13743 * commands/videotest.c: Likewise.
13744 * commands/i386/cpuid.c: Likewise.
13745 * commands/i386/pc/halt.c: Likewise.
13746 * commands/i386/pc/play.c: Likewise.
13747 * commands/i386/pc/reboot.c: Likewise.
13748 * commands/i386/pc/vbeinfo.c: Likewise.
13749 * commands/i386/pc/vbetest.c: Likewise.
13750 * commands/ieee1275/halt.c: Likewise.
13751 * commands/ieee1275/reboot.c: Likewise.
13752 * commands/ieee1275/suspend.c: Likewise.
13753 * disk/loopback.c: Likewise.
13754 * disk/lvm.c: Likewise.
13755 * disk/raid.c: Likewise.
13756 * disk/efi/efidisk.c: Likewise.
13757 * disk/i386/pc/biosdisk.c: Likewise.
13758 * disk/ieee1275/ofdisk.c: Likewise.
13759 * font/manager.c: Likewise.
13760 * fs/affs.c: Likewise.
13761 * fs/ext2.c: Likewise.
13762 * fs/fat.c: Likewise.
13763 * fs/fshelp.c: Likewise.
13764 * fs/hfs.c: Likewise.
13765 * fs/hfsplus.c: Likewise.
13766 * fs/iso9660.c: Likewise.
13767 * fs/jfs.c: Likewise.
13768 * fs/minix.c: Likewise.
13769 * fs/sfs.c: Likewise.
13770 * fs/ufs.c: Likewise.
13771 * fs/xfs.c: Likewise.
13772 * hello/hello.c: Likewise.
13773 * include/grub/acorn_filecore.h: Likewise.
13774 * include/grub/arg.h: Likewise.
13775 * include/grub/bitmap.h: Likewise.
13776 * include/grub/boot.h: Likewise.
13777 * include/grub/cache.h: Likewise.
13778 * include/grub/device.h: Likewise.
13779 * include/grub/disk.h: Likewise.
13780 * include/grub/dl.h: Likewise.
13781 * include/grub/elfload.h: Likewise.
13782 * include/grub/env.h: Likewise.
13783 * include/grub/err.h: Likewise.
13784 * include/grub/file.h: Likewise.
13785 * include/grub/font.h: Likewise.
13786 * include/grub/fs.h: Likewise.
13787 * include/grub/fshelp.h: Likewise.
13788 * include/grub/gzio.h: Likewise.
13789 * include/grub/hfs.h: Likewise.
13790 * include/grub/kernel.h: Likewise.
13791 * include/grub/loader.h: Likewise.
13792 * include/grub/lvm.h: Likewise.
13793 * include/grub/misc.h: Likewise.
13794 * include/grub/mm.h: Likewise.
13795 * include/grub/net.h: Likewise.
13796 * include/grub/normal.h: Likewise.
13797 * include/grub/parser.h: Likewise.
13798 * include/grub/partition.h: Likewise.
13799 * include/grub/pc_partition.h: Likewise.
13800 * include/grub/raid.h: Likewise.
13801 * include/grub/rescue.h: Likewise.
13802 * include/grub/script.h: Likewise.
13803 * include/grub/setjmp.h: Likewise.
13804 * include/grub/symbol.h: Likewise.
13805 * include/grub/term.h: Likewise.
13806 * include/grub/terminfo.h: Likewise.
13807 * include/grub/tparm.h: Likewise.
13808 * include/grub/types.h: Likewise.
13809 * include/grub/video.h: Likewise.
13810 * include/grub/efi/api.h: Likewise.
13811 * include/grub/efi/chainloader.h: Likewise.
13812 * include/grub/efi/console.h: Likewise.
13813 * include/grub/efi/console_control.h: Likewise.
13814 * include/grub/efi/disk.h: Likewise.
13815 * include/grub/efi/efi.h: Likewise.
13816 * include/grub/efi/pe32.h: Likewise.
13817 * include/grub/efi/time.h: Likewise.
13818 * include/grub/i386/linux.h: Likewise.
13819 * include/grub/i386/setjmp.h: Likewise.
13820 * include/grub/i386/types.h: Likewise.
13821 * include/grub/i386/efi/kernel.h: Likewise.
13822 * include/grub/i386/efi/loader.h: Likewise.
13823 * include/grub/i386/efi/time.h: Likewise.
13824 * include/grub/i386/pc/biosdisk.h: Likewise.
13825 * include/grub/i386/pc/boot.h: Likewise.
13826 * include/grub/i386/pc/chainloader.h: Likewise.
13827 * include/grub/i386/pc/console.h: Likewise.
13828 * include/grub/i386/pc/init.h: Likewise.
13829 * include/grub/i386/pc/kernel.h: Likewise.
13830 * include/grub/i386/pc/loader.h: Likewise.
13831 * include/grub/i386/pc/memory.h: Likewise.
13832 * include/grub/i386/pc/multiboot.h: Likewise.
13833 * include/grub/i386/pc/serial.h: Likewise.
13834 * include/grub/i386/pc/time.h: Likewise.
13835 * include/grub/i386/pc/vbe.h: Likewise.
13836 * include/grub/i386/pc/vbeblit.h: Likewise.
13837 * include/grub/i386/pc/vbefill.h: Likewise.
13838 * include/grub/i386/pc/vbeutil.h: Likewise.
13839 * include/grub/i386/pc/vga.h: Likewise.
13840 * include/grub/ieee1275/ieee1275.h: Likewise.
13841 * include/grub/ieee1275/ofdisk.h: Likewise.
13842 * include/grub/powerpc/libgcc.h: Likewise.
13843 * include/grub/powerpc/setjmp.h: Likewise.
13844 * include/grub/powerpc/types.h: Likewise.
13845 * include/grub/powerpc/ieee1275/biosdisk.h: Likewise.
13846 * include/grub/powerpc/ieee1275/console.h: Likewise.
13847 * include/grub/powerpc/ieee1275/ieee1275.h: Likewise.
13848 * include/grub/powerpc/ieee1275/kernel.h: Likewise.
13849 * include/grub/powerpc/ieee1275/loader.h: Likewise.
13850 * include/grub/powerpc/ieee1275/multiboot.h: Likewise.
13851 * include/grub/powerpc/ieee1275/time.h: Likewise.
13852 * include/grub/powerpc/ieee1275/util/biosdisk.h: Likewise.
13853 * include/grub/sparc64/libgcc.h: Likewise.
13854 * include/grub/sparc64/setjmp.h: Likewise.
13855 * include/grub/sparc64/types.h: Likewise.
13856 * include/grub/sparc64/ieee1275/console.h: Likewise.
13857 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
13858 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
13859 * include/grub/sparc64/ieee1275/time.h: Likewise.
13860 * include/grub/util/biosdisk.h: Likewise.
13861 * include/grub/util/getroot.h: Likewise.
13862 * include/grub/util/lvm.h: Likewise.
13863 * include/grub/util/misc.h: Likewise.
13864 * include/grub/util/raid.h: Likewise.
13865 * include/grub/util/resolve.h: Likewise.
13866 * io/gzio.c: Likewise.
13867 * kern/device.c: Likewise.
13868 * kern/disk.c: Likewise.
13869 * kern/dl.c: Likewise.
13870 * kern/elf.c: Likewise.
13871 * kern/env.c: Likewise.
13872 * kern/err.c: Likewise.
13873 * kern/file.c: Likewise.
13874 * kern/fs.c: Likewise.
13875 * kern/loader.c: Likewise.
13876 * kern/main.c: Likewise.
13877 * kern/misc.c: Likewise.
13878 * kern/mm.c: Likewise.
13879 * kern/parser.c: Likewise.
13880 * kern/partition.c: Likewise.
13881 * kern/rescue.c: Likewise.
13882 * kern/term.c: Likewise.
13883 * kern/efi/efi.c: Likewise.
13884 * kern/efi/init.c: Likewise.
13885 * kern/efi/mm.c: Likewise.
13886 * kern/i386/dl.c: Likewise.
13887 * kern/i386/efi/init.c: Likewise.
13888 * kern/i386/efi/startup.S: Likewise.
13889 * kern/i386/pc/init.c: Likewise.
13890 * kern/i386/pc/lzo1x.S: Likewise.
13891 * kern/i386/pc/startup.S: Likewise.
13892 * kern/ieee1275/ieee1275.c: Likewise.
13893 * kern/powerpc/cache.S: Likewise.
13894 * kern/powerpc/dl.c: Likewise.
13895 * kern/powerpc/ieee1275/cmain.c: Likewise.
13896 * kern/powerpc/ieee1275/crt0.S: Likewise.
13897 * kern/powerpc/ieee1275/init.c: Likewise.
13898 * kern/powerpc/ieee1275/openfw.c: Likewise.
13899 * kern/sparc64/cache.S: Likewise.
13900 * kern/sparc64/dl.c: Likewise.
13901 * kern/sparc64/ieee1275/init.c: Likewise.
13902 * kern/sparc64/ieee1275/openfw.c: Likewise.
13903 * loader/efi/chainloader.c: Likewise.
13904 * loader/efi/chainloader_normal.c: Likewise.
13905 * loader/i386/efi/linux.c: Likewise.
13906 * loader/i386/efi/linux_normal.c: Likewise.
13907 * loader/i386/pc/chainloader.c: Likewise.
13908 * loader/i386/pc/chainloader_normal.c: Likewise.
13909 * loader/i386/pc/linux.c: Likewise.
13910 * loader/i386/pc/linux_normal.c: Likewise.
13911 * loader/i386/pc/multiboot.c: Likewise.
13912 * loader/i386/pc/multiboot_normal.c: Likewise.
13913 * loader/powerpc/ieee1275/linux.c: Likewise.
13914 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
13915 * normal/arg.c: Likewise.
13916 * normal/cmdline.c: Likewise.
13917 * normal/command.c: Likewise.
13918 * normal/completion.c: Likewise.
13919 * normal/execute.c: Likewise.
13920 * normal/function.c: Likewise.
13921 * normal/lexer.c: Likewise.
13922 * normal/main.c: Likewise.
13923 * normal/menu.c: Likewise.
13924 * normal/menu_entry.c: Likewise.
13925 * normal/misc.c: Likewise.
13926 * normal/parser.y: Likewise.
13927 * normal/script.c: Likewise.
13928 * normal/i386/setjmp.S: Likewise.
13929 * normal/powerpc/setjmp.S: Likewise.
13930 * normal/sparc64/setjmp.S: Likewise.
13931 * partmap/acorn.c: Likewise.
13932 * partmap/amiga.c: Likewise.
13933 * partmap/apple.c: Likewise.
13934 * partmap/gpt.c: Likewise.
13935 * partmap/pc.c: Likewise.
13936 * partmap/sun.c: Likewise.
13937 * term/gfxterm.c: Likewise.
13938 * term/terminfo.c: Likewise.
13939 * term/efi/console.c: Likewise.
13940 * term/i386/pc/console.c: Likewise.
13941 * term/i386/pc/serial.c: Likewise.
13942 * term/i386/pc/vesafb.c: Likewise.
13943 * term/i386/pc/vga.c: Likewise.
13944 * term/ieee1275/ofconsole.c: Likewise.
13945 * util/biosdisk.c: Likewise.
13946 * util/console.c: Likewise.
13947 * util/genmoddep.c: Likewise.
13948 * util/getroot.c: Likewise.
13949 * util/grub-emu.c: Likewise.
13950 * util/grub-mkdevicemap.c: Likewise.
13951 * util/grub-probe.c: Likewise.
13952 * util/lvm.c: Likewise.
13953 * util/misc.c: Likewise.
13954 * util/raid.c: Likewise.
13955 * util/resolve.c: Likewise.
13956 * util/update-grub.in: Likewise.
13957 * util/update-grub_lib.in: Likewise.
13958 * util/grub.d/00_header.in: Likewise.
13959 * util/grub.d/10_hurd.in: Likewise.
13960 * util/grub.d/10_linux.in: Likewise.
13961 * util/i386/efi/grub-install.in: Likewise.
13962 * util/i386/efi/grub-mkimage.c: Likewise.
13963 * util/i386/pc/grub-install.in: Likewise.
13964 * util/i386/pc/grub-mkimage.c: Likewise.
13965 * util/i386/pc/grub-mkrescue.in: Likewise.
13966 * util/i386/pc/grub-setup.c: Likewise.
13967 * util/i386/pc/misc.c: Likewise.
13968 * util/powerpc/ieee1275/grub-install.in: Likewise.
13969 * util/powerpc/ieee1275/grub-mkimage.c: Likewise.
13970 * util/powerpc/ieee1275/misc.c: Likewise.
13971 * video/bitmap.c: Likewise.
13972 * video/video.c: Likewise.
13973 * video/i386/pc/vbe.c: Likewise.
13974 * video/i386/pc/vbeblit.c: Likewise.
13975 * video/i386/pc/vbefill.c: Likewise.
13976 * video/i386/pc/vbeutil.c: Likewise.
13977 * video/readers/tga.c: Likewise.
13978
3572d015 139792007-07-02 Robert Millan <rmh@aybabtu.com>
13980
13981 * conf/i386-efi.rmk: Replace obsolete reference to
13982 util/i386/pc/biosdisk.c with util/biosdisk.c, and util/i386/pc/getroot.c
13983 with util/getroot.c.
13984 * conf/powerpc-ieee1275.rmk: Likewise.
13985 * conf/sparc64-ieee1275.rmk: Likewise.
13986
13987 * util/grub-emu.c (main): Fix unchecked pointer handling.
13988
2c2a681b 139892007-07-02 Robert Millan <rmh@aybabtu.com>
13990
13991 * util/i386/efi/grub-install.in: Allow `grub_probe --target=partmap'
13992 invocation to fail, in order to support partition-less media.
13993
13994 * util/i386/pc/grub-install.in: Likewise.
13995
13996 * util/powerpc/ieee1275/grub-install.in: Use grub-probe to determine
13997 which fs or partmap modules are needed (akin to its sister scripts).
13998
13999 Also use grub-probe to get rid of unportable /proc/mounts check.
14000
14001 Print the same informational message that the other scripts do, before
fe6b695a 14002 exiting.
2c2a681b 14003
6193defe 140042007-06-23 Robert Millan <rmh@aybabtu.com>
14005
fe6b695a 14006 * util/update-grub_lib.in (font_path): New function. Determine whether
6193defe 14007 a font file can be found and, if so, echo the GRUB path to it.
14008
14009 * util/update-grub.in: Handle multiple terminals depending on user
14010 input, platform availability and font file presence. Propagate
14011 variables of our findings to /etc/grub.d/ children.
14012
14013 * util/grub.d/00_header.in: Handle multiple terminals, based on
14014 environment setup by update-grub.
14015
eface1dc 140162007-06-23 Robert Millan <rmh@aybabtu.com>
14017
ba50d28f 14018 * conf/i386-pc.rmk (pkgdata_MODULES): Add serial.mod.
eface1dc 14019
bf697e28 140202007-06-21 Robert Millan <rmh@aybabtu.com>
14021
14022 * include/grub/i386/pc/kernel.h: Define GRUB_KERNEL_MACHINE_DATA_END to
14023 indicate end of data section in kernel image.
14024 * include/grub/i386/efi/kernel.h: Define GRUB_KERNEL_MACHINE_PREFIX and
14025 GRUB_KERNEL_MACHINE_DATA_END.
14026
14027 * kern/i386/pc/startup.S: Do not initialize grub_prefix, only reserve
14028 space for it.
14029 * kern/i386/efi/startup.S: Likewise.
14030
14031 * util/i386/pc/grub-mkimage.c: Initialize grub_prefix to /boot/grub
14032 during image generation. Implement --prefix option to override this
14033 patch.
14034 * util/i386/efi/grub-mkimage.c: Likewise.
14035
14036 * util/update-grub_lib.in (convert_system_path_to_grub_path): Split
14037 code to make path relative to its root into a separate function.
14038
14039 * util/i386/pc/grub-install.in: Use newly provided
14040 make_system_path_relative_to_its_root() to convert ${grubdir}, then
14041 pass the result to grub-install --prefix.
14042
baa574b4 140432007-06-13 Robert Millan <rmh@aybabtu.com>
14044
14045 * include/grub/util/misc.h: Define DEFAULT_DIRECTORY and
14046 DEFAULT_DEVICE_MAP.
14047 * util/grub-emu.c: Use above definitions from misc.h instead of
14048 defining them.
14049 * util/grub-mkdevicemap.c: Likewise.
14050 * util/i386/pc/grub-setup.c: Likewise.
14051 * util/grub-probe.c: Likewise.
14052 (probe): Abort with grub_util_error() when either
14053 grub_guess_root_device or grub_util_get_grub_dev fails.
14054
0215dcbf 140552007-06-12 Robert Millan <rmh@aybabtu.com>
14056
14057 * normal/command.c (grub_command_execute): Use NULL rather than 0 for
14058 "pager" assignment.
14059 * util/biosdisk.c (grub_util_biosdisk_get_grub_dev): Likewise for
14060 "pcdata".
14061 * util/grub-probe.c (probe): Likewise for "drive_name".
14062
8af2ab7b 140632007-06-11 Robert Millan <rmh@aybabtu.com>
14064
14065 * util/i386/pc/grub-mkrescue.in: Pad both floppy images with zeroes,
14066 not just the cdrom one.
14067
59d31694 140682007-06-11 Robert Millan <rmh@aybabtu.com>
14069
14070 * util/i386/pc/grub-mkrescue.in: Add "set -e".
14071 Add --pkglibdir=DIR option to override pkglibdir.
14072 Mention --image-type=TYPE in help output.
14073 Fix --grub-mkimage (it was a no-op).
fe6b695a 14074 Abort gracefully when no parameter is given.
59d31694 14075
7ee367e4 140762007-06-11 Robert Millan <rmh@aybabtu.com>
14077
14078 * util/i386/pc/grub-mkrescue.in: New file.
14079 * conf/i386-pc.rmk: Add its build declarations. Put it in bin_SCRIPTS.
14080 * Makefile.in: Handle bin_SCRIPTS.
14081
29b0ed46 140822007-06-10 Vesa Jaaskelainen <chaac@nic.fi>
14083
14084 * term/gfxterm.c (grub_gfxterm_init): Added support for specifying
14085 list of video modes.
14086
c0f90770 140872007-06-06 Robert Millan <rmh@aybabtu.com>
14088
14089 * util/update-grub_lib.in (convert_system_path_to_grub_path): Abort if
14090 file doesn't exist, or if it is in a filesystem grub can't read.
14091
14092 * util/update-grub.in: Set fallback for GRUB_FS check to "unknown". Do
14093 not abort if GRUB_DRIVE could not be defined. Rearrange generated
14094 header comment to fit in 80 columns when the variables are resolved.
14095
14096 * util/grub.d/00_header.in: Only set root variable when GRUB_DRIVE
14097 could be identified by update-grub. Remove redundant check for
fe6b695a 14098 unifont.pff existence (since convert_system_path_to_grub_path now
c0f90770 14099 handles that).
14100
fb36dc26 141012007-06-04 Robert Millan <rmh@aybabtu.com>
14102
14103 * conf/i386-efi.rmk (grub_probe_SOURCES): Add partmap/apple.c.
14104
14105 * conf/i386-pc.rmk (grub_probe_SOURCES): Likewise.
14106
14107 * conf/powerpc-ieee1275.rmk (grub_probe_SOURCES): Add partmap/pc.c.
14108
0c68c93e 141092007-06-04 Robert Millan <rmh@aybabtu.com>
14110
14111 * conf/powerpc-ieee1275.rmk: Enable grub-mkdevicemap and grub-probe.
14112
14113 * include/grub/partition.h: Declare grub_apple_partition_map_init and
14114 grub_apple_partition_map_fini.
14115
14116 * util/biosdisk.c
14117 (grub_util_biosdisk_open): Replace BLKGETSIZE with BLKGETSIZE64 (needed
14118 to access >2 TiB disks).
14119
14120 Print disk->total_sectors with %llu instead of %lu, since this
14121 variable is always 64-bit (prevents wrong disk size from being displayed
14122 on either >2 TiB disk or big-endian CPU).
14123
14124 (grub_util_biosdisk_get_grub_dev): Convert gpt_partition_map handling
14125 into a generic case that supports all (sane) partition maps.
14126
14127 Stop using grub_cpu_to_le32() on dos_part / bsd_part since it actually
14128 breaks big-endian.
14129
14130 * util/grub-probe.c: Call grub_apple_partition_map_init() before probe()
14131 and grub_apple_partition_map_fini() after that.
14132
0f23eb74 141332007-06-01 Robert Millan <rmh@aybabtu.com>
14134
14135 * util/update-grub.in: Export GRUB_CMDLINE_LINUX.
14136
14137 * util/grub.d/00_header.in: Only enable gfxterm when
14138 convert_system_path_to_grub_path() succeeds.
14139
42c71976 141402007-05-20 Robert Millan <rmh@aybabtu.com>
14141
14142 * util/update-grub_lib.in: New file.
14143 * DISTLIST: Add update-grub_lib.in.
14144 * conf/common.rmk: Generate update-grub_lib and install it in
14145 $(lib_DATA).
14146 * Makefile.in: Add install routine for $(lib_DATA).
14147
14148 * util/grub.d/00_header.in: Use convert_system_path_to_grub_path()
14149 function provided by update-grub_lib to support arbitrary paths of
14150 unifont.pff.
14151 * util/update-grub.in: Use convert_system_path_to_grub_path() to
14152 initialize GRUB_DRIVE_BOOT and GRUB_DRIVE_BOOT_GRUB variables.
14153
5beb2291 141542007-05-19 Robert Millan <rmh@aybabtu.com>
14155
14156 * commands/i386/cpuid.c: New module.
14157 * DISTLIST: Add it.
14158 * conf/i386-efi.rmk: Enable cpuid.mod.
14159 * conf/i386-pc.rmk: Likewise.
14160
7262eca1 141612007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
14162
14163 * kern/disk.c (grub_disk_read): Check return value of
14164 grub_realloc().
14165
260ba823 141662007-05-18 Jeroen Dekkers <jeroen@dekkers.cx>
14167
14168 * util/getroot.c (grub_util_get_grub_dev): Support partitionable
14169 arrays.
14170 * disk/raid.c (grub_raid_open): Likewise.
14171
1ecb6cf2 141722007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
14173
14174 * util/biosdisk.c (linux_find_partition): Allocate real_dev on the
14175 stack instead of on the heap.
14176
14177 * kern/disk.c (grub_disk_read): Make sure tmp_buf is big enough
14178 before doing a read on it.
14179
14180 * configure.ac: Only use -fno-stack-protector for the target
14181 environment.
f19dbdb7 14182
21c8cbb1 141832007-05-17 Jeroen Dekkers <jeroen@dekkers.cx>
14184
14185 * video/i386/pc/vbe.c (grub_video_vbe_create_render_target): Add
14186 __attribute_ ((unused)) to mode_type argument.
14187
14188 * util/getroot.c (grub_guess_root_device): Fix #endif.
f19dbdb7 14189
21c8cbb1 14190 * kern/misc.c (memcmp): Fix prototype.
14191
14192 * include/grub/partition.h [GRUB_UTIL]
14193 (grub_gpt_partition_map_init): Add prototype.
14194 (grub_gpt_partition_map_fini): Likewise.
14195
14196 * fs/jfs.c (struct grub_jfs_inode): Put __attribute__ ((packed)
14197 at the right place.
14198
14199 * fs/fat.c (grub_fat_mount): Replace ~0UL with ~0U.
14200 (grub_fat_read_data): Likewise.
14201 (grub_fat_find_dir): Likewise.
14202
14203 * font/manager.c (find_glyph): Make table a const.
14204 (grub_font_get_glyph): Remove bitmap from if statement.
f19dbdb7 14205
849d55d3 142062007-05-16 Jeroen Dekkers <jeroen@dekkers.cx>
14207
14208 * util/getroot.c (grub_guess_root_device): Remove RAID and LVM
14209 code, first search for device in /dev/mapper, then in /dev.
14210 (grub_util_get_grub_dev): New function.
14211 * include/grub/util/getroot.h (grub_util_get_grub_dev): Add
14212 prototype.
14213 * util/grub-probe.c (probe): Remove check for RAID, call
14214 grub_util_get_grub_dev() instead of
14215 grub_util_biosdisk_get_grub_dev().
14216 * util/grub-emu.c (main): Call grub_util_get_grub_dev() instead of
14217 grub_util_biosdisk_get_grub_dev().
14218 * util/i386/pc/grub-setup.c (main): Likewise.
14219
8fff7c2f 142202007-05-16 Robert Millan <rmh@aybabtu.com>
14221
14222 * DISTLIST: Update for the latest changes.
14223 * conf/i386-pc.rmk: Use the new paths for util/getroot.c,
14224 util/grub-mkdevicemap.c, util/grub-probe.c and util/biosdisk.c.
14225 * util/grub-emu.c: Replace grub/i386/pc/util/biosdisk.h with
14226 grub/util/biosdisk.h.
14227 * util/i386/pc/grub-setup.c: Replace grub/machine/util/biosdisk.h with
14228 grub/util/biosdisk.h.
14229
48e12b52 142302007-05-16 Robert Millan <rmh@aybabtu.com>
14231
14232 * util/grub.d/00_header.in: Set default gfxmode to `640x480'.
14233
46b9d128 142342007-05-16 Robert Millan <rmh@aybabtu.com>
14235
14236 * util/i386/efi/grub-install.in: New.
14237 * conf/i386-efi.rmk: Enable grub-mkdevicemap, grub-probe and the
14238 newly added grub-install.
14239 * util/biosdisk.c: Remove unnecessary grub/machine/biosdisk.h
14240 include.
14241 * util/getroot.c: Replace grub/i386/pc/util/biosdisk.h with
14242 grub/util/biosdisk.h.
14243 * util/grub-probe.c: Replace grub/machine/util/biosdisk.h with
14244 grub/util/biosdisk.h.
14245
2d1a40a9 142462007-05-16 Robert Millan <rmh@aybabtu.com>
14247
14248 * include/grub/i386/pc/util/biosdisk.h: Moved to ...
14249 * include/grub/util/biosdisk.h: ... here.
14250 * util/i386/pc/biosdisk.c: Moved to ...
14251 * util/biosdisk.c: ... here.
14252 * util/i386/pc/getroot.c: Moved to ...
14253 * util/getroot.c: ... here.
14254 * util/i386/pc/grub-mkdevicemap.c: Moved to ...
14255 * util/grub-mkdevicemap.c: ... here.
14256 * util/i386/pc/grub-probe.c: Moved to ...
14257 * util/grub-probe.c: ... here.
14258
9e26e3bc 142592007-05-15 Robert Millan <rmh@aybabtu.com>
14260
14261 * util/update-grub.in: Remove duplicated line in grub.cfg header
14262 message.
14263
57f96397 142642007-05-13 Robert Millan <rmh@aybabtu.com>
14265
14266 * util/update-grub.in: Fix a few assumptions about the devices holding
14267 /, /boot and /boot/grub being the same.
14268 * util/grub.d/00_header.in: Likewise.
14269 * util/grub.d/10_hurd.in: Likewise.
14270 * util/grub.d/10_linux.in: Likewise.
14271
14272 * util/grub.d/10_linux.in: Implement Linux image sorting with arbitrary
14273 patterns. Use that to define the `.old' suffix as older than `'.
14274
14275 * util/grub.d/00_header.in: Set default gfxmode to `800x600x16'.
14276
14277 * util/update-grub.in: Add a reference to ${sysconfdir}/default/grub in
14278 the grub.cfg header message.
14279
2e610d62 142802007-05-11 Robert Millan <rmh@aybabtu.com>
14281
14282 * util/update-grub.in: Create device.map if it doesn't already exist,
14283 before attempting to run grub-probe.
14284 Check for grub-probe and grub-mkdevicemap with the same code
14285 grub-install is using.
14286 Remove test mode.
14287
3f6a10ef 142882007-05-09 Jeroen Dekkers <jeroen@dekkers.cx>
14289
14290 * Makefile.in: Add the datarootdir autoconf variable.
14291
02e7b75e 142922007-05-09 Robert Millan <rmh@aybabtu.com>
14293
14294 * util/i386/pc/grub-probe.c (probe): When detecting partition map,
f19dbdb7 14295 fail gracefully if dev->disk->partition == NULL.
02e7b75e 14296
75f396cc 142972007-05-07 Robert Millan <rmh@aybabtu.com>
14298
14299 * util/i386/pc/grub-probe.c: Add `grub-probe -t partmap' parameter to
14300 determine partition map module.
14301 * util/i386/pc/grub-install.in: Use this feature to decide which
14302 partition module to load, instead of hardcoding pc and gpt.
14303
da65cb36 143042007-05-07 Robert Millan <rmh@aybabtu.com>
14305
14306 * Makefile.in: Fix assumption that $(srcdir) has a trailing slash when
14307 source directory differs from build directory.
14308
b57d6a91 143092007-05-05 Robert Millan <rmh@aybabtu.com>
14310
14311 * util/powerpc/ieee1275/grub-install.in: Fix syntax error in pkglibdir
14312 initialisation.
14313
509d00f1 143142007-05-05 Robert Millan <rmh@aybabtu.com>
14315
14316 * util/update-grub.in: Create ${grub_prefix} if it doesn't exist.
14317
c48f23ef 143182007-05-05 Robert Millan <rmh@aybabtu.com>
14319
14320 * util/grub.d/10_linux.in: Allow the administrator to insert Linux
14321 command-line arguments via ${GRUB_CMDLINE_LINUX}.
14322
20b97658 143232007-05-05 Robert Millan <rmh@aybabtu.com>
14324
14325 * conf/i386-pc.rmk (grub_setup_SOURCES): Add partmap/gpt.c.
14326 (grub_probe_SOURCES): Likewise.
14327 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): Detect
14328 GPT and initialize dos_part and bsd_part accordingly.
14329 * util/i386/pc/grub-setup.c (setup): Ditto for install_dos_part and
14330 install_bsd_part.
14331 (main): Activate gpt module for use during partition identification,
14332 and deactivate it afterwards.
14333 * util/i386/pc/grub-install.in: Add gpt module to core.img.
14334 * util/i386/pc/grub-probe.c (main): Activate gpt module for use during
14335 partition identification, and deactivate it afterwards.
14336
99123174 143372007-05-05 Robert Millan <rmh@aybabtu.com>
14338
14339 * term/i386/pc/console.c (grub_console_fini): Call
14340 grub_term_set_current() before grub_term_unregister().
14341
ebd97f6e 143422007-05-04 Robert Millan <rmh@aybabtu.com>
14343
14344 * DISTLIST: Add util/update-grub.in, util/grub.d/00_header.in,
14345 util/grub.d/10_hurd.in, util/grub.d/10_linux.in and util/grub.d/README.
14346 * Makefile.in: Build update-grub_SCRIPTS. Install update-grub_SCRIPTS
14347 and update-grub_DATA.
14348 * conf/common.rmk: Build and install update-grub components.
14349 * conf/common.mk: Regenerate.
14350 * util/update-grub.in: New. Core of update-grub.
14351 * util/grub.d/00_header.in: New. Generates grub.cfg header.
14352 * util/grub.d/10_hurd.in: New. Generates boot entries for the Hurd.
14353 * util/grub.d/10_linux.in: New. Generates boot entries for Linux.
14354 * util/grub.d/README: New. Document grub.d directory layout.
14355
b06a264d 143562007-05-01 Robert Millan <rmh@aybabtu.com>
14357
14358 * util/grub-emu.c: Move initialization functions
14359 grub_util_biosdisk_init() and grub_init_all() before
14360 grub_util_biosdisk_get_grub_dev(), which relies on them.
14361
41f0050e 143622007-04-19 Robert Millan <rmh@aybabtu.com>
14363
14364 * util/powerpc/ieee1275/grub-install.in: Initialize ${bindir}, since
14365 it is used later.
14366
04582bb3 143672007-04-18 Jerone Young <jerone@gmail.com>
14368
f19dbdb7 14369 * kernel/elf.c: Add missing parenthesis for conditional statement
04582bb3 14370 stanza.
14371
08db4632 143722007-04-10 Jerone Young <jerone@gmail.com>
49892fdf 14373
08db4632 14374 * util/i386/pc/getroot.c: Update so that if root device is /dev/root ,
14375 continue on and look for device node with real device name.
14376
801b76be 143772007-04-10 Jerone Young <jerone@gmail.com>
f19dbdb7 14378
fe6b695a 14379 * configure.ac: Add argument for autoconf to use transformation
1d543c3e 14380 ability.
14381 * Makefile.in: Add autoconf package transformation code.
14382 * util/i386/pc/grub-install.in: Likewise.
14383 * util/powerpc/ieee1275/grub-install.in: Likewise.
14384
6795c4e1 143852007-03-19 Yoshinori K. Okuji <okuji@enbug.org>
14386
14387 * fs/ext2.c (EXT2_GOOD_OLD_REVISION): New macro.
14388 (EXT2_GOOD_OLD_INODE_SIZE): Likewise.
14389 (EXT2_REVISION): Likewise.
14390 (EXT2_INODE_SIZE): Likewise.
14391 (struct grub_ext2_block_group): Added a missing member
14392 "used_dirs".
14393 (grub_ext2_read_inode): Divide by the inode size in a superblock
14394 instead of 128 to obtain INODES_PER_BLOCK.
14395 Use the macro EXT2_INODE_SIZE instead of directly using
14396 SBLOCK->INODE_SIZE.
14397
d70af616 143982007-03-18 Yoshinori K. Okuji <okuji@enbug.org>
14399
14400 * fs/ext2.c (grub_ext2_read_inode): Use the inode size in a
14401 superblock instead of the structure size to compute an
14402 offset. This fixes the problem that GRUB could not read a
14403 filesystem when inode size is different from 128-byte.
14404
3b801603 144052007-03-05 Marco Gerards <marco@gnu.org>
14406
14407 * normal/main.c (read_config_file): When "menu" is not set, create
14408 an initial context.
14409
4785bfe4 144102007-02-21 Hollis Blanchard <hollis@penguinppc.org>
14411
14412 * kern/powerpc/ieee1275/init.c (HEAP_SIZE): Removed.
14413 (HEAP_LIMIT): New macro.
14414 (grub_claim_heap): Claim memory up to `heaplimit'.
14415
a0cbb023 144162007-02-21 Hollis Blanchard <hollis@penguinppc.org>
14417
14418 * conf/powerpc-ieee1275.rmk (kernel_elf_LDFLAGS): Link at 64KB.
14419 * kern/powerpc/ieee1275/init.c (_end): Add declaration.
14420 (_start): Likewise.
14421 (grub_arch_modules_addr): Return address after `_end'.
14422 * util/powerpc/ieee1275/grub-mkimage.c: Include grub/misc.h.
14423 (load_modules): Use new parameter as `p_paddr' and `p_vaddr'.
14424 (add_segments): Calculate `_end' from phdr size and location.
14425 (ALIGN_UP): Moved to ...
14426 * include/grub/misc.h: here.
14427 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MOD_ALIGN):
14428 New macro.
14429 (GRUB_IEEE1275_MODULE_BASE): Removed.
14430
fd7d8eba 144312007-02-20 Hollis Blanchard <hollis@penguinppc.org>
14432
14433 * kern/powerpc/ieee1275/openfw.c (grub_available_iterate): Correct
14434 loop boundary.
14435
9b09e6fc 144362007-02-20 Hollis Blanchard <hollis@penguinppc.org>
14437
14438 * include/grub/elfload.h (grub_elf32_load_hook_t): Return grub_err_t.
14439 All users updated.
14440 (grub_elf64_load_hook_t): Likewise.
14441 * kern/elf.c: Call `grub_error_push' before `grub_error'. Improve
14442 debug output.
14443
3ce27299 144442007-02-20 Hollis Blanchard <hollis@penguinppc.org>
14445
14446 * kern/mm.c: Update copyright.
14447 (grub_mm_debug): Correct syntax error.
14448 (grub_mm_dump_free): New function.
14449 (grub_debug_free): Call `grub_free'.
14450 * include/grub/mm.h: Update copyright.
14451 (grub_mm_dump_free): Add declaration.
14452
077d5fee 144532007-02-12 Hollis Blanchard <hollis@penguinppc.org>
14454
14455 * include/grub/ieee1275/ieee1275.h: Update copyright.
14456 * kern/powerpc/ieee1275/init.c: Likewise.
14457 * kern/powerpc/ieee1275/openfw.c: Likewise.
14458
14459 * loader/powerpc/ieee1275/linux.c: Likewise.
14460 * include/grub/elfload.h: Likewise.
14461 * kern/elf.c: Likewise.
14462 (grub_elf32_load): Pass `base' and `size' parameters. Update all
14463 callers.
14464 (grub_elf64_load): Likewise.
14465 (grub_elf32_load_segment): Move to a nested function.
14466 (grub_elf64_load_segment): Likewise.
14467
dc946850 144682007-02-12 Hollis Blanchard <hollis@penguinppc.org>
14469
14470 * include/grub/ieee1275/ieee1275.h (grub_available_iterate): New
14471 prototype.
14472 * kern/powerpc/ieee1275/init.c (grub_heap_start): Removed.
14473 (grub_heap_len): Likewise.
14474 (HEAP_SIZE): New macro.
14475 (grub_claim_heap): New function.
14476 (grub_machine_init): Don't claim heap directly. Call
14477 `grub_claim_heap'.
14478 * kern/powerpc/ieee1275/openfw.c: Include alloca.h.
14479 (grub_available_iterate): New function.
14480
baa2a121 144812007-02-03 Thomas Schwinge <tschwinge@gnu.org>
14482
14483 * aclocal.m4 (grub_CHECK_STACK_PROTECTOR): New definition.
14484 * configure.ac: Use it for testing the HOST and TARGET compilers.
14485
4fe9862e 144862006-12-13 Thomas Schwinge <tschwinge@gnu.org>
14487
14488 * Makefile.in (enable_grub_emu): New variable.
14489 * configure.ac (--enable-grub-emu): New option.
14490 Do the checks for (n)curses only if `--enable-grub-emu' is requested.
14491 * conf/i386-efi.rmk (sbin_UTILITIES): Add `grub-emu' only if requested.
14492 * conf/i386-pc.rmk: Likewise.
14493 * conf/powerpc-ieee1275.rmk: Likewise.
14494 * conf/sparc64-ieee1275.rmk (bin_UTILITIES): Likewise.
14495
a8aa5762 144962006-12-12 Marco Gerards <marco@gnu.org>
14497
14498 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_MENU'.
14499
14500 * kern/env.c (grub_env_unset): Don't free the member `value' when
14501 the type is GRUB_ENV_VAR_DATA, in this case it's a user defined
14502 pointer.
14503
14504 * normal/main.c (current_menu): Removed.
14505 (free_menu): Unset the `menu' environment variable.
14506 (grub_normal_menu_addentry): Make use of the environment variable
14507 `menu', instead of using the global `current_menu'. Allocate
14508 memory for the sourcecode of this entry.
14509 (read_config_file): New argument `nested', changed all callers.
14510 Only in the case of a new context, initialize a new menu. Set the
14511 `menu' environment variable.
14512 (grub_normal_execute): Don't set and unset the environment
14513 variable `menu' here anymore. Only free the menu when leaving the
14514 context.
14515
14516 * util/i386/pc/biosdisk.c (linux_find_partition): Fixed a memory
14517 leak.
14518
957b3a3e 145192006-12-11 Marco Gerards <marco@gnu.org>
14520
14521 * normal/menu_entry.c (run): Fix off by one bug so the last line
14522 is executed. Move the loader check to outside the loop.
14523
ef875714 145242006-12-08 Hollis Blanchard <hollis@penguinppc.org>
14525
14526 * kern/powerpc/ieee1275/cmain.c (cmain): Mark r3 and r4 as `UNUSED'.
14527
4e739985 145282006-11-25 Yoshinori K. Okuji <okuji@enbug.org>
14529
14530 * util/i386/pc/grub-mkimage.c (generate_image): Fix the offset of
14531 the number of sectors. Reported by Andrey Shuvikov
14532 <mr_hyro@yahoo.com>.
f19dbdb7 14533
790707f2 145342006-11-11 Jeroen Dekkers <jeroen@dekkers.cx>
14535
14536 * kern/disk.c (grub_disk_read): When there is a read error, always
14537 try to read only the necessary data.
f19dbdb7 14538
790707f2 14539 * conf/i386-pc.rmk (grub_probe_SOURCES): Add disk/lvm.c and
14540 disk/raid.c.
14541 * include/grub/disk.h [GRUB_UTIL] (grub_raid_init): New
14542 prototype.
14543 [GRUB_UTIL] (grub_raid_fini): Likewise.
14544 [GRUB_UTIL] (grub_lvm_init): Likewise.
f19dbdb7 14545 [GRUB_UTIL] (grub_lvm_fini): Likewise.
790707f2 14546 * util/i386/pc/grub-probe.c (probe): Check whether DEVICE_NAME is
14547 RAID device and copy DEVICE_NAME to DRIVE_NAME in that case.
14548 (main): Call grub_raid_init(), grub_lvm_init(), grub_lvm_fini()
14549 and grub_raid_fini().
f19dbdb7 14550
03e58196 145512006-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
14552
14553 * include/grub/types.h (__unused): Rename to UNUSED.
14554 * kern/elf.c (grub_elf32_size): Use UNUSED instead of __unused.
14555 (grub_elf64_size): Likewise.
f19dbdb7 14556
ae4f23bf 145572006-11-03 Hollis Blanchard <hollis@penguinppc.org>
14558
14559 * kern/elf.c (grub_elf_file): Call grub_file_seek. Call
14560 grub_error_push and grub_error_pop in the error-handling path.
14561 (grub_elf32_load_segment): Only call grub_file_read with non-zero
14562 length.
14563
2166cc83 145642006-11-03 Hollis Blanchard <hollis@penguinppc.org>
14565
14566 * conf/i386-efi.rmk (grub_emu_SOURCES): Add kern/elf.c.
14567 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
14568 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
14569 (kernel_elf_SOURCES): Likewise.
14570 * conf/i386-efi.rmk (kernel_mod_HEADERS): Add elfload.h and cache.h.
14571 * conf/i386-pc.rmk (kernel_mod_HEADERS): Likewise.
14572 * conf/powerpc-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
14573 * conf/sparc64-ieee1275.rmk (kernel_elf_HEADERS): Likewise.
14574 * conf/common.rmk (pkgdata_MODULES): Add elf.mod.
14575 (elf_mod_SOURCES): New variable.
14576 (elf_mod_CFLAGS): Likewise.
14577 (elf_mod_LDFLAGS): Likewise.
14578 * include/grub/types.h (__unused): New macro.
14579 * include/grub/elfload.h: New file.
14580 * kern/elf.c: Likewise.
14581 * loader/powerpc/ieee1275/linux.c: Include elfload.h.
14582 (ELF32_LOADMASK): New macro.
14583 (ELF64_LOADMASK): Likewise.
14584 (vmlinux): Removed.
14585 (grub_linux_load32): New function.
14586 (grub_linux_load64): Likewise.
14587 (grub_rescue_cmd_linux): Call grub_linux_load32 or grub_linux_load64.
14588 Use grub_elf_t instead of grub_file_t.
14589
a09d5aa5 145902006-11-02 Hollis Blanchard <hollis@penguinppc.org>
14591
14592 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): Add
14593 `catch_result' to struct set_color_args.
14594
d976fc51 145952006-10-28 Yoshinori K. Okuji <okuji@enbug.org>
14596
14597 * normal/menu.c: Include grub/script.h.
14598 * normal/menu_entry.c: Likewise.
14599 * include/grub/normal.h: Do not include grub/script.h.
14600
67507549 146012006-10-27 Hollis Blanchard <hollis@penguinppc.org>
14602
14603 * kern/disk.c (grub_disk_read): Correct debug printf formatting.
14604
69203a99 146052006-10-27 Hollis Blanchard <hollis@penguinppc.org>
14606
14607 * kern/disk.c (grub_disk_open): Print debug messages when opening a
14608 disk.
14609 (grub_disk_close): Print debug messages when closing a disk.
14610 (grub_disk_read): Print debug messages when disk read fails.
14611 * kern/fs.c (grub_fs_probe): Print debug messages when detecting
14612 filesystem type.
14613 * kern/partition.c: Include misc.h.
14614 (grub_partition_iterate): Print debug messages when detecting
14615 partition type.
14616
e2b8278c 146172006-10-27 Hollis Blanchard <hollis@penguinppc.org>
14618
14619 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Return error if `status'
14620 is negative.
14621 * kern/ieee1275/ieee1275.c (IEEE1275_IHANDLE_INVALID): Change to 0.
14622
97b2f2ff 146232006-10-26 Hollis Blanchard <hollis@penguinppc.org>
14624
14625 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_encode_devname):
14626 Reverse GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS test.
14627
6555d655 146282006-10-25 Jeroen Dekkers <jeroen@dekkers.cx>
14629
14630 * disk/lvm.c (grub_lvm_scan_device): Malloc sizeof(*lv) bytes
14631 instead of sizeof(lv). Patch by Michael Guntsche.
14632
4d42b77f 146332006-10-18 Jeroen Dekkers <jeroen@dekkers.cx>
14634
14635 * disk/lvm.c: Rename VGS to VG_LIST.
14636 (grub_lvm_iterate): Change VGS->LV to VG-LV.
14637 (grub_lvm_open): Likewise.
14638 Thanks to Michael Guntsche for finding this bug.
14639
5d74d927 146402006-10-15 Yoshinori K. Okuji <okuji@enbug.org>
14641
14642 * configure.ac (AC_INIT): Bumped to 1.95.
14643
a1bb27e4 146442006-10-14 Robert Millan <rmh@aybabtu.com>
14645
14646 * util/i386/pc/getroot.c (grub_guess_root_device): Don't compare os_dev
14647 with "/dev/.static/dev/md".
14648
e0994b8b 146492006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
14650
14651 * util/i386/pc/grub-probe.c (probe): Print DEVICE_NAME instead of
14652 DRIVE_NAME when grub_util_biosdisk_get_grub_dev fails. Open
14653 DRIVE_NAME instead of DEVICE_NAME. Make sure that DEVICE_NAME and
14654 DRIVE_NAME are always freed.
14655
14656 * util/i386/pc/biosdisk.c (make_device_name): Add one into
14657 DOS_PART, as a DOS partition is counted from one instead of zero
14658 now. Reported by Robert Millan.
14659
ddd5cee9 146602006-10-14 Robert Millan <rmh@aybabtu.com>
14661
14662 * util/i386/pc/getroot.c (grub_guess_root_device): Stop using
14663 grub_util_biosdisk_get_grub_dev to convert system device to GRUB device.
14664 * util/grub-emu.c (main): Use grub_util_biosdisk_get_grub_dev with the
14665 string returned by grub_guess_root_device.
14666 * util/i386/pc/grub-setup.c: Likewise.
14667 * util/i386/pc/grub-probefs.c: Likewise.
14668
14669 * util/i386/pc/grub-probefs.c: Rename to ...
14670 * util/i386/pc/grub-probe.c: ... this.
14671 * DISTLIST: Remove grub-probefs, add grub-probe.
14672 * conf/i386-efi.rmk: Likewise.
14673 * conf/i386-pc.rmk: Likewise.
14674 * util/i386/pc/grub-install.in: Likewise.
14675
14676 * util/i386/pc/grub-probe.c: Add --target=(fs|device|drive) option to
14677 choose which information we want to print.
14678
2b002173 146792006-10-14 Yoshinori K. Okuji <okuji@enbug.org>
14680
14681 * DISTLIST: Added commands/echo.c, disk/lvm.c, disk/raid.c,
14682 include/grub/bitmap.h, include/grub/lvm.h, include/grub/raid.h,
14683 include/grub/i386/pc/vbeutil.h, include/grub/util/lvm.h,
14684 include/grub/util/raid.h, util/lvm.c, util/raid.c, video/bitmap.c,
14685 video/readers/tga.c and video/i386/pc/vbeutil.c.
14686
146872006-10-14 Jeroen Dekkers <jeroen@dekkers.cx>
14688
14689 Added support for RAID and LVM.
f19dbdb7 14690
2b002173 14691 * disk/lvm.c: New file.
14692 * disk/raid.c: Likewise.
14693 * include/grub/lvm.h: Likewise.
f19dbdb7 14694 * include/grub/raid.h: Likewise.
2b002173 14695 * include/grub/util/lvm.h: Likewise.
14696 * include/grub/util/raid.h: Likewise.
14697 * util/lvm.c: Likewise.
14698 * util/raid.c: Likewise.
14699
14700 * include/grub/disk.h (grub_disk_dev_id): Add
14701 GRUB_DISK_DEVICE_RAID_ID and GRUB_DISK_DEVICE_LVM_ID.
14702 (grub_disk_get_size): New prototype.
14703 * kern/disk.c (grub_disk_open): Check whether grub_partition_probe()
14704 returns a partition.
14705 (grub_disk_get_size): New function.
f19dbdb7 14706
2b002173 14707 * kern/i386/pc/init.c (make_install_device): Copy the prefix
14708 verbatim if grub_install_dos_part is -2.
14709
14710 * util/i386/pc/getroot.c (grub_guess_root_device): Support RAID
14711 and LVM devices.
14712
14713 * util/i386/pc/grub-setup.c (setup): New argument
14714 MUST_EMBED. Force embedding of GRUB when the argument is
14715 true. Close FILE before returning.
14716 (main): Add support for RAID and LVM.
f19dbdb7 14717
2b002173 14718 * conf/common.rmk: Add RAID and LVM modules.
14719 * conf/i386-pc.rmk (grub_setup_SOURCES): Add util/raid.c and
14720 util/lvm.c.
14721 (grub_emu_SOURCES): Add disk/raid.c and disk/lvm.c.
14722
14723 * kern/misc.c (grub_strstr): New function.
14724 * include/grub/misc.h (grub_strstr): New prototype.
14725
050548d0 147262006-10-10 Tristan Gingold <tristan.gingold@bull.net>
14727
14728 * include/grub/efi/api.h (GRUB_EFI_ERROR_CODE): Long constant.
14729
da849d2d 147302006-10-05 Tristan Gingold <tristan.gingold@bull.net>
14731
14732 * kern/misc.c (grub_strtoull): Guess the base only if not
14733 specified.
14734
97b2f2ff 147352006-10-01 Hollis Blanchard <hollis@penguinppc.org>
4f0acd39 14736
14737 * kern/powerpc/ieee1275/cmain.c (cmain): Remove incomplete Old World
14738 PowerMac support.
14739
97b2f2ff 147402006-10-01 Hollis Blanchard <hollis@penguinppc.org>
fba51f48 14741
14742 * disk/ieee1275/ofdisk.c (grub_ofdisk_iterate): Cast `size' to long.
14743
14744 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_next_property):
14745 Remove `flags' argument. All callers changed.
14746 * kern/ieee1275/ieee1275.c (IEEE1275_PHANDLE_ROOT): Removed.
14747 (IEEE1275_IHANDLE_INVALID): New variable.
14748 (IEEE1275_CELL_INVALID): New variable.
14749 (grub_ieee1275_finddevice, grub_ieee1275_get_property,
14750 grub_ieee1275_get_property_length, grub_ieee1275_instance_to_package,
14751 grub_ieee1275_package_to_path, grub_ieee1275_instance_to_path,
14752 grub_ieee1275_peer, grub_ieee1275_child, grub_ieee1275_open,
14753 grub_ieee1275_claim, grub_ieee1275_set_property): Error-check return
14754 codes from Open Firmware. All callers updated.
14755 (grub_ieee1275_next_property): Directly return Open Firmware return
14756 code.
14757 * kern/powerpc/ieee1275/cmain.c (grub_ieee1275_find_options):
14758 Standardize error checking from `grub_ieee1275_get_property'.
14759 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Rename
14760 `devalias' to `aliases'. Correct comments. Consolidate error paths.
14761
97b2f2ff 147622006-10-01 Hollis Blanchard <hollis@penguinppc.org>
cc6d3df3 14763
14764 * kern/ieee1275/ieee1275.c (grub_ieee1275_instance_to_path): Rename
14765 `instance_to_package_args' to `instance_to_path_args'.
14766
14767 * kern/powerpc/ieee1275/init.c (grub_machine_init): Use
14768 `grub_ieee1275_chosen'.
14769
14770 * term/ieee1275/ofconsole.c (grub_ofconsole_init): Call
14771 `grub_ieee1275_interpret'.
14772
97b2f2ff 147732006-09-25 Hollis Blanchard <hollis@penguinppc.org>
02bb8acc 14774
14775 * util/powerpc/ieee1275/grub-mkimage.c: Include config.h.
14776
97b2f2ff 147772006-09-25 Hollis Blanchard <hollis@penguinppc.org>
663b72f0 14778
14779 * include/grub/powerpc/libgcc.h (__floatdisf): New prototype.
14780 (__cmpdi): Likewise.
14781
14782 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Pass 0 as
14783 `flags' to `grub_ieee1275_next_property'. Change `pathlen' to type
14784 `grub_ssize_t'.
14785
02bb8acc 14786 * kern/powerpc/ieee1275/cmain.c: Include grub/misc.h.
663b72f0 14787
14788 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Change `actual'
14789 to type `grub_ssize_t'.
14790 (grub_rescue_cmd_linux): Cast -1 to `grub_off_t'.
14791
7f9a8531 147922006-09-22 Marco Gerards <marco@gnu.org>
14793
14794 * normal/script.c (grub_script_create_cmdmenu): Skip leading
14795 newlines.
14796
b5ef1102 147972006-09-22 Marco Gerards <marco@gnu.org>
14798
14799 * commands/echo.c: New file.
14800
14801 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/echo.c'.
14802
14803 * conf/common.rmk (echo_mod_SOURCES): New variable.
14804 (echo_mod_CFLAGS): Likewise.
14805 (echo_mod_LDFLAGS): Likewise.
14806
2cff3677 148072006-09-22 Marco Gerards <marco@gnu.org>
14808
14809 * normal/main.c (get_line): Malloc memory instead of using
14810 preallocated memory. Removed the arguments `cmdline' and
14811 `max_len'. Updated all callers.
14812
6ba4688b 148132006-09-22 Marco Gerards <marco@gnu.org>
14814
14815 * conf/i386-efi.rmk (grub_emu_DEPENDENCIES): New variable.
14816 (normal_mod_DEPENDENCIES): Likewise.
14817
14818 * conf/powerpc-ieee1275.rmk (grub_emu_DEPENDENCIES): Likewise.
14819 (normal_mod_DEPENDENCIES): Likewise.
14820
14821 * conf/sparc64-ieee1275.rmk (normal_mod_DEPENDENCIES): Likewise.
14822
e02ac02c 148232006-09-22 Johan Rydberg <jrydberg@gnu.org>
14824
14825 * genmk.rb: Add DEPENDENCIES variables to modules, utilities, and
14826 programs.
14827 * conf/i386-pc.rmk (grub_emu_DEPENDENCIES): Declare.
14828 (normal_mod_DEPENDENCIES): Likewise.
14829 * conf/i386-pc.mk: Regenerate.
14830 * conf/i386-efi.mk: Likewise
14831 * conf/common.mk: Likewise.
14832 * conf/powerpc-ieee1275.mk: Likewise.
14833 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 14834
8d252e44 148352006-09-22 Robert Millan <rmh@aybabtu.com>
14836
14837 Sync with i386 version.
14838 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Remove grub-emu, add grub-mkimage.
14839 * conf/powerpc-ieee1275.rmk (sbin_UTILITIES): Remove grub-mkimage, add grub-emu.
14840
209bf7ac 148412006-09-21 Robert Millan <rmh@aybabtu.com>
14842
14843 Import from GRUB Legacy (lib/device.c):
14844 * util/i386/pc/grub-mkdevicemap.c (get_i2o_disk_name): New function.
14845 (init_device_map) [__linux__]: Add support for I2O devices.
14846
6b146090 148472006-09-14 Marco Gerards <marco@gnu.org>
14848
14849 * conf/i386-pc.rmk (COMMON_LDFLAGS): Use `-m32' instead of
14850 `-melf_i386'.
14851
e38600a8 148522006-09-14 Robert Millan <rmh@aybabtu.com>
2952da5d 14853
14854 * util/i386/pc/grub-install.in: Skip menu.lst when removing
14855 /boot/grub/*.lst.
78fa1790 14856
2952da5d 14857 * util/i386/pc/getroot.c: Don't recurse into dotdirs (e.g. ".static").
6b146090 14858
2952da5d 14859 * util/i386/pc/grub-mkdevicemap.c: Make sure the floppy device exists
14860 before adding it to device.map.
14861
01b82a64 148622006-08-15 Johan Rydberg <jrydberg@gnu.org>
14863
fe6b695a 14864 * genmk.rb: Let GCC generate dependencies the first time it
01b82a64 14865 compiles a file; using the -MD option.
14866 * conf/common.mk: Regenerate.
14867 * conf/i386-pc.mk: Likewise.
14868 * conf/i386-efi.mk: Likewise.
14869 * conf/powerpc-ieee1275.mk: Likewise.
14870 * conf/sparc64-ieee1275.mk: Likewise.
f19dbdb7 14871
1064790d 148722006-08-04 Yoshinori K. Okuji <okuji@enbug.org>
14873
14874 Move the prototypes of grub_setjmp and grub_longjmp to
14875 cpu/setjmp.h, so that each architecture may specify different
14876 attributes.
f19dbdb7 14877
1064790d 14878 * include/grub/i386/setjmp.h (grub_setjmp): New prototype.
14879 (grub_longjmp): Likewise.
14880 * include/grub/powerpc/setjmp.h (grub_setjmp): Likewise..
14881 (grub_longjmp): Likewise.
14882 * include/grub/sparc64/setjmp.h (grub_setjmp): Likewise..
14883 (grub_longjmp): Likewise.
14884
14885 * include/grub/setjmp.h [!GRUB_UTIL] (grub_setjmp): Removed.
14886 [!GRUB_UTIL] (grub_longjmp): Removed.
14887
29dda3ed 148882006-08-01 Pelletier Vincent <subdino2004@yahoo.fr>
14889
14890 * kern/ieee1275/ieee1275.c (grub_ieee1275_set_color): IEEE1275
14891 "color!" method does not return any value.
14892
ad2a06ed 148932006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
14894
14895 * include/grub/bitmap.h: New file.
14896
14897 * include/grub/i386/pc/vbeutil.h: Likewise.
14898
14899 * video/bitmap.c: Likewise.
14900
14901 * video/readers/tga.c: Likewise.
14902
14903 * video/i386/pc/vbeutil.c: Likewise.
14904
14905 * commands/videotest.c: Code cleanup and updated to reflect to new
14906 video API.
14907
14908 * term/gfxterm.c: Likewise.
14909
14910 * video/video.c: Likewise.
14911
14912 * conf/i386-pc.rmk (pkgdata_MODULES): Added tga.mod and bitmap.mod.
14913 (vbe_mod_SOURCES): Added video/i386/pc/vbeutil.c.
14914 (bitmap_mod_SOURCES): New entry.
14915 (bitmap_mod_CFLAGS): Likewise.
14916 (bitmap_mod_LDFLAGS): Likewise.
14917 (tga_mod_SOURCES): Likewise.
14918 (tga_mod_CFLAGS): Likewise.
14919 (tga_mod_LDFLAGS): Likewise.
14920
14921 * include/grub/video.h (grub_video_blit_operators): New enum type.
14922 (grub_video_render_target): Changed as forward declaration and moved
14923 actual definition to be video driver specific.
14924 (grub_video_adapter.blit_bitmap): Added blitting operator.
14925 (grub_video_adapter.blit_render_target): Likewise.
14926 (grub_video_blit_bitmap): Likewise.
14927 (grub_video_blit_render_target): Likewise.
14928
14929 * include/grub/i386/pc/vbe.h (grub_video_render_target): Added
14930 driver specific render target definition.
14931 (grub_video_vbe_map_rgba): Added driver internal helper.
14932 (grub_video_vbe_unmap_color): Updated to use
14933 grub_video_i386_vbeblit_info.
14934 (grub_video_vbe_get_video_ptr): Likewise.
14935
14936 * include/grub/i386/pc/vbeblit.h
14937 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8A8): Updated to use
14938 grub_video_i386_vbeblit_info.
14939 (grub_video_i386_vbeblit_R8G8B8_R8G8B8A8): Likewise.
14940 (grub_video_i386_vbeblit_index_R8G8B8A8): Likewise.
14941 (grub_video_i386_vbeblit_R8G8B8A8_R8G8B8): Likewise.
14942 (grub_video_i386_vbeblit_R8G8B8_R8G8B8): Likewise.
14943 (grub_video_i386_vbeblit_index_R8G8B8): Likewise.
14944 (grub_video_i386_vbeblit_index_index): Likewise.
14945 (grub_video_i386_vbeblit_R8G8B8X8_R8G8B8X8): New blitter function.
14946 (grub_video_i386_vbeblit_R8G8B8_R8G8B8X8): Likewise.
14947 (grub_video_i386_vbeblit_index_R8G8B8X8): Likewise.
14948 (grub_video_i386_vbeblit_blend): Added generic blitter for blend
14949 operator.
14950 (grub_video_i386_vbeblit_replace): Added generic blitter for replace
14951 operator.
14952
14953 * video/i386/pc/vbeblit.c: Updated to reflect changes on
14954 include/grub/i386/pc/vbeblit.h.
14955
14956 * include/grub/i386/pc/vbefill.h (grub_video_i386_vbefill_R8G8B8A8):
14957 Updated to use grub_video_i386_vbeblit_info.
14958 (grub_video_i386_vbefill_R8G8B8): Likewise.
14959 (grub_video_i386_vbefill_index): Likewise.
14960 (grub_video_i386_vbefill): Added generic filler.
14961
14962 * video/i386/pc/vbefill.c: Updated to reflect changes on
14963 include/grub/i386/pc/vbefill.h.
14964
14965 * video/i386/pc/vbe.c (grub_video_vbe_get_video_ptr): Updated to use
14966 grub_video_i386_vbeblit_info.
14967 (grub_video_vbe_unmap_color): Likewise.
14968 (grub_video_vbe_blit_glyph): Likewise.
14969 (grub_video_vbe_scroll): Likewise.
14970 (grub_video_vbe_draw_pixel): Removed function.
14971 (grub_video_vbe_get_pixel): Likewise.
14972 (grub_video_vbe_fill_rect): Moved all blitters to vbefill.c and
14973 updated code to use it.
14974 (common_blitter): Added common blitter for render target and bitmap.
14975 (grub_video_vbe_blit_bitmap): Updated to use common_blitter.
14976 (grub_video_vbe_blit_render_target): Likewise.
14977
bc8c036d 149782006-07-30 Johan Rydberg <jrydberg@gnu.org>
14979
14980 * kern/efi/efi.c (grub_efi_set_text_mode): Assume console already
14981 is in text mode if there is no console control protocol instance
14982 available.
14983
684a8eff 149842006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
14985
14986 * include/grub/video.h: Code cleanup.
14987
14988 * include/grub/i386/pc/vbe.h: Likewise.
14989
14990 * video/i386/pc/vbe.c: Likewise.
14991
14992 * video/i386/pc/vbeblit.c: Likewise.
14993
14994 * video/i386/pc/vbefill.c: Likewise.
14995
14996 * video/video.c: Likewise. Also added more comments.
14997
5915059b 149982006-07-29 Vesa Jaaskelainen <chaac@nic.fi>
14999
15000 * disk/i386/pc/biosdisk.c (struct grub_biosdisk_drp): Moved to ...
15001 (struct grub_biosdisk_dap): Likewise.
15002
15003 * include/grub/i386/pc/biosdisk.h: ... to here. Also corrected
15004 linkage settings for all functions.
15005
90ce5d56 150062006-07-12 Marco Gerards <marco@gnu.org>
15007
15008 * configure.ac (--enable-mm-debug): Fix typo.
15009
15010 * genkernsyms.sh.in: Use proper quoting for `CC'.
15011
43e7f879 150122006-07-02 Jeroen Dekkers <jeroen@dekkers.cx>
15013
15014 * conf/i386-pc.rmk (COMMON_ASFLAGS): Add "-m32".
15015 (normal_mod_ASFLAGS): Remove "-m32".
15016
4889bdec 150172006-06-14 Yoshinori K. Okuji <okuji@enbug.org>
15018
15019 * util/misc.c: Include config.h.
15020 [!HAVE_MEMALIGN]: Do not include malloc.h.
15021 (grub_memalign): Use posix_memalign, if present. Then, use
15022 memalign, if present. Otherwise, emit an error.
15023
15024 * util/grub-emu.c: Do not include malloc.h.
15025
15026 * include/grub/util/misc.h: Include unistd.h. This is required for
15027 FreeBSD, because off_t is defined in unistd.h. Reported by Harley
15028 D. Eades III <hde@foobar-qux.org>.
15029
15030 * configure.ac (AC_GNU_SOURCE): Added.
15031 (AC_CHECK_FUNCS): Check posix_memalign and memalign for the host
15032 type.
15033
fd39d4da 150342006-06-09 Yoshinori K. Okuji <okuji@enbug.org>
15035
15036 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Make sure that
15037 ADDR_MAX does not exceed GRUB_LINUX_INITRD_MAX_ADDRESS.
15038
b786f3b5 150392006-06-07 Jeroen Dekkers <jeroen@dekkers.cx>
15040
15041 * include/grub/types.h (grub_host_addr_t): Rename to
15042 grub_target_addr_t.
15043 (grub_host_off_t): Rename to grub_target_off_t.
15044 (grub_host_size_t): Rename to grub_target_size_t.
15045 (grub_host_ssize_t): Rename to grub_target_ssize_t.
15046 Refer to GRUB_TARGET_SIZEOF_VOID_P to define those variables.
15047
15048 * include/grub/kernel.h (struct grub_module_header): Change type
15049 of OFFSET to grub_target_off_t and type of SIZE to grub_target_size_t.
15050 (grub_module_info): Likewise.
f19dbdb7 15051
051988bb 150522006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
15053
15054 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): The conditional
15055 of checking LINUX_MEM_SIZE was reverse. Reported by Jesus
15056 Velazquez <jesus.velazquez@gmail.com>.
15057
deae281b 150582006-06-05 Yoshinori K. Okuji <okuji@enbug.org>
15059
15060 Count partitions from 1 instead of 0 in the string representation
15061 of partitions. Still use 0-based internally.
f19dbdb7 15062
deae281b 15063 * partmap/sun.c (grub_sun_is_valid): A cosmetic change.
15064 (sun_partition_map_iterate): Use grub_partition_t instead of
15065 struct grub_partition *. Cast DESC->START_CYLINDER to
15066 grub_uint64_t after converting the endian.
15067 (sun_partition_map_probe): Subtract 1 for PARTNUM.
15068 (sun_partition_map_get_name): Add 1 to P->INDEX.
15069
15070 * partmap/pc.c (grub_partition_parse): Subtract 1 for
15071 PCDATA->DOS_PART.
15072 (pc_partition_map_get_name): Add 1 into PCDATA->DOS_PART.
15073
15074 * partmap/gpt.c (gpt_partition_map_iterate): Initialize PARTNO to
15075 zero instead of one.
15076 (gpt_partition_map_probe): Subtract 1 for PARTNUM.
15077 (gpt_partition_map_get_name): Add 1 into P->INDEX.
15078
15079 * partmap/apple.c (apple_partition_map_iterate): Change the type
15080 of POS to unsigned.
15081 (apple_partition_map_probe): Subtract 1 for PARTNUM.
15082 (apple_partition_map_get_name): Add 1 into P->INDEX.
15083
15084 * partmap/amiga.c (amiga_partition_map_iterate): Change the type
15085 of POS to unsigned.
15086 (amiga_partition_map_iterate): Cast NEXT to grub_off_t to
15087 calculate the offset of a partition.
15088 (amiga_partition_map_probe): Subtract 1 for PARTNUM.
15089 (amiga_partition_map_get_name): Add 1 into P->INDEX.
15090
15091 * partmap/acorn.c (acorn_partition_map_find): Change the type of
15092 SECTOR to grub_disk_addr_t.
15093 (acorn_partition_map_iterate): Likewise.
15094 (acorn_partition_map_probe): Subtract 1 for PARTNUM.
15095 Change the type of SECTOR to grub_disk_addr_t. Declare P on the
15096 top.
15097 (acorn_partition_map_get_name): Add 1 into P->INDEX.
15098
15099 * kern/i386/pc/init.c (make_install_device): Add 1 into
15100 GRUB_INSTALL_DOS_PART.
15101
15102 * fs/iso9660.c (grub_iso9660_mount): Fixed a reversed
15103 conditional.
15104
524a1e6a 151052006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
15106
15107 Clean up the code to support 64-bit addressing in disks and
15108 files. This change is not enough for filesystems yet.
f19dbdb7 15109
524a1e6a 15110 * util/i386/pc/grub-setup.c (struct boot_blocklist): Change the
15111 type of "start" to grub_uint64_t.
15112 (setup): Change the types of KERNEL_SECTOR and FIRST_SECTOR to
15113 grub_disk_addr_t * and grub_disk_addr_t. Fix the format string in
15114 save_first_sector and save_blocklists. Use grub_le_to_cpu64 to
15115 convert addresses.
15116
15117 * util/i386/pc/biosdisk.c (open_device): Change the type of SECTOR
15118 to grub_disk_addr_t.
15119
15120 * partmap/gpt.c (gpt_partition_map_iterate): Fix the format
15121 string.
15122
15123 * partmap/pc.c (pc_partition_map_iterate): Likewise.
15124
15125 * partmap/amiga.c (amiga_partition_map_iterate): Cast RDSK.MAGIC
15126 to char *.
15127
15128 * normal/script.c (grub_script_parse): Remove unused MEMFREE.
15129
15130 * normal/parser.y (YYLTYPE_IS_TRIVIAL): New macro.
15131
15132 * normal/lexer.c (grub_script_yyerror): Specify unused to LEX.
15133
15134 * loader/i386/pc/multiboot.c (grub_multiboot_load_elf64): Cast -1
15135 to grub_off_t, to detect an error from grub_file_seek.
15136 (grub_multiboot_load_elf32): Likewise.
15137
15138 * kern/misc.c (grub_strtoul): Use grub_strtoull. Return the
15139 maximum unsigned long value when an overflow is detected.
15140 (grub_strtoull): New function.
15141 (grub_divmod64): Likewise.
15142 (grub_lltoa): use grub_divmod64.
15143
15144 * kern/fs.c (struct grub_fs_block): Change the type of "offset" to
15145 grub_disk_addr_t.
15146 (grub_fs_blocklist_open): Increase P if P is not NULL to advance
15147 the pointer to next character. Use grub_strtoull instead of
15148 grub_strtoul.
15149 (grub_fs_blocklist_read): Change the types of SECTOR, OFFSET and
15150 SIZE to grub_disk_addr_t, grub_off_t and grub_size_t,
15151 respectively.
15152
fe6b695a 15153 * kern/file.c (grub_file_read): Prevent an overflow of LEN, as the
524a1e6a 15154 return value is signed.
15155 (grub_file_seek): Change the type of OLD to grub_off_t. Do not
15156 test if OFFSET is less than zero, as OFFSET is unsigned now.
15157
15158 * kern/disk.c (struct grub_disk_cache): Change the type of
15159 "sector" to grub_disk_addr_t.
15160 (grub_disk_cache_get_index): Change the type of SECTOR to
15161 grub_disk_addr_t. Calculate the hash with SECTOR casted to
15162 unsigned after shifting.
15163 (grub_disk_cache_invalidate): Change the type of SECTOR to
15164 grub_disk_addr_t.
15165 (grub_disk_cache_unlock): Likewise.
15166 (grub_disk_cache_store): Likewise.
15167 (grub_disk_check_range): Change the types of SECTOR, OFFSET, SIZE,
15168 START and LEN to grub_disk_addr_t *, grub_off_t *, grub_size_t,
15169 grub_disk_addr_t and grub_uint64_t, respectively.
15170 (grub_disk_read): Use an unsigned variable REAL_OFFSET for the
15171 body, as the value of OFFSET is tweaked by
15172 grub_disk_check_range. Change the types of START_SECTOR, LEN and
15173 POS to grub_disk_addr_t, grub_size_t and grub_size_t,
15174 respectively.
15175 (grub_disk_write): Use an unsigned variable REAL_OFFSET for the
15176 body, as the value of OFFSET is tweaked by
15177 grub_disk_check_range. Change the types of LEN and N to
15178 grub_size_t.
15179
15180 * io/gzio.c (struct grub_gzio): Change the types of "data_offset"
15181 and "saved_offset" to grub_off_t.
15182 (test_header): Cast BUF to char *.
15183 (get_byte): Cast GZIO->DATA_OFFSET to grub_off_t. Cast GZIO->INBUF
15184 to char *.
15185 (grub_gzio_read): Change the types of OFFSET and SIZE to
15186 grub_off_t and grub_size_t, respectively.
15187
15188 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_FORCE_LBA):
15189 Removed.
15190 (GRUB_BOOT_MACHINE_BOOT_DRIVE): Changed to 0x4c.
15191 (GRUB_BOOT_MACHINE_KERNEL_ADDRESS): Changed to 0x40.
15192 (GRUB_BOOT_MACHINE_KERNEL_SEGMENT): Changed to 0x42.
15193 (GRUB_BOOT_MACHINE_DRIVE_CHECK): Changed to 0x4e.
15194 (GRUB_BOOT_MACHINE_LIST_SIZE): Increased to 12.
15195
15196 * include/grub/types.h (grub_off_t): Unconditionally set to
15197 grub_uint64_t.
15198 (grub_disk_addr_t): Changed to grub_uint64_t.
15199
15200 * include/grub/partition.h (struct grub_partition): Change the
15201 types of "start", "len" and "offset" to grub_disk_addr_t,
15202 grub_uint64_t and grub_disk_addr_t, respectively.
15203 (grub_partition_get_start): Return grub_disk_addr_t.
15204 (grub_partition_get_len): Return grub_uint64_t.
15205
15206 * include/grub/misc.h (grub_strtoull): New prototype.
15207 (grub_divmod64): Likewise.
15208
15209 * include/grub/fshelp.h (grub_fshelp_read_file): Change the types
15210 of SECTOR, LEN and FILESIZE to grub_disk_addr_t, grub_size_t and
15211 grub_off_t, respectively.
15212 All callers and references changed.
15213
15214 * include/grub/fs.h (struct grub_fs): Change the type of LEN to
15215 grub_size_t in "read".
15216 All callers and references changed.
15217
15218 * include/grub/file.h (struct grub_file): Change the types of
15219 "offset" and "size" to grub_off_t and grub_off_t,
15220 respectively. Change the type of SECTOR to grub_disk_addr_t in
15221 "read_hook".
15222 (grub_file_read): Change the type of LEN to grub_size_t.
15223 (grub_file_seek): Return grub_off_t. Change the type of OFFSET to
15224 grub_off_t.
15225 (grub_file_size): Return grub_off_t.
15226 (grub_file_tell): Likewise.
15227 All callers and references changed.
15228
15229 * include/grub/disk.h (struct grub_disk_dev): Change the types of
15230 SECTOR and SIZE to grub_disk_addr_t and grub_size_t in "read" and
15231 "write".
15232 (struct grub_disk): Change the type of "total_sectors" to
15233 grub_uint64_t. Change the type of SECTOR to grub_disk_addr_t in
f19dbdb7 15234 "read_hook".
524a1e6a 15235 (grub_disk_read): Change the types of SECTOR, OFFSET and SIZE to
15236 grub_disk_addr_t, grub_off_t and grub_size_t, respectively.
15237 (grub_disk_write): Likewise.
15238 All callers and references changed.
15239
15240 * fs/iso9660.c (grub_iso9660_susp_iterate): Cast parameters to
15241 char * for grub_strncmp to silence gcc.
15242 (grub_iso9660_mount): Likewise.
15243 (grub_iso9660_mount): Likewise.
15244 (grub_iso9660_read_symlink): Likewise. Also, remove the nonsense
15245 return statement.
15246 (grub_iso9660_iterate_dir): Likewise.
15247 (grub_iso9660_label): Cast DATA->VOLDESC.VOLNAME to char *.
15248
15249 * fs/hfs.c (grub_hfs_read_file): Change the types of SECTOR and
15250 LEN to grub_disk_addr_t and grub_size_t, respectively.
15251
15252 * fs/hfsplus.c (grub_hfsplus_read_file): Likewise.
15253
15254 * fs/jfs.c (grub_jfs_read_file): Likewise.
15255
15256 * fs/minix.c (grub_jfs_read_file): Likewise.
15257
15258 * fs/sfs.c (grub_jfs_read_file): Likewise.
15259
15260 * fs/ufs.c (grub_jfs_read_file): Likewise.
15261
15262 * fs/xfs.c (grub_jfs_read_file): Likewise.
15263
15264 * fs/fat.c (grub_fat_read_data): Change the types of SECTOR, LEN
15265 and SIZE to grub_disk_addr_t, grub_size_t and grub_size_t,
15266 respectively.
15267
15268 * fs/ext2.c (grub_ext2_read_block): When an error happens, set
15269 BLKNR to -1 instead of returning GRUB_ERRNO.
15270 (grub_ext2_read_file): Change the types of SECTOR and
15271 LEN to grub_disk_addr_t and grub_size_t, respectively.
15272
15273 * fs/affs.c (grub_affs_read_file): Change the types of SECTOR and
15274 LEN to grub_disk_addr_t and grub_size_t, respectively.
15275
15276 * font/manager.c (grub_font_get_glyph): Cast BITMAP to char * for
15277 grub_file_read.
15278
15279 * disk/ieee1275/ofdisk.c (grub_ofdisk_read): Fix the format
15280 string. Do not cast SECTOR explicitly.
15281
15282 * disk/i386/pc/biosdisk.c (grub_biosdisk_open): Change the type of
15283 TOTAL_SECTORS to grub_uint64_t. Do not mask DRP->TOTAL_SECTORS.
15284 (grub_biosdisk_rw): Change the types of SECTOR and SIZE to
15285 grub_disk_addr_t and grub_size_t, respectively. If the sector is
15286 over 2TB and LBA mode is not supported, raise an error.
15287 (get_safe_sectors): New function.
15288 (grub_biosdisk_read): Use get_safe_sectors.
15289 (grub_biosdisk_write): Likewise.
15290
15291 * disk/efi/efidisk.c (grub_efidisk_read): Fix the format string.
15292 (grub_efidisk_write): Likewise.
15293
15294 * disk/loopback.c (delete_loopback): Cosmetic changes.
15295 (grub_cmd_loopback): Likewise. Also, test NEWDEV->FILENAME
15296 correctly.
15297 (grub_loopback_open): Likewise.
15298 (grub_loopback_read): Likewise. Also, change the type of POS to
15299 grub_off_t, and fix the usage of grub_memset.
15300
15301 * commands/i386/pc/play.c: Include grub/machine/time.h.
15302
15303 * commands/ls.c (grub_ls_list_files): Use "llu" instead of "d" to
15304 print FILE->SIZE.
15305
15306 * commands/configfile.c: Include grub/env.h.
15307
15308 * commands/cmp.c (grub_cmd_cmp): Do not use ERR, but use
15309 GRUB_ERRNO directly instead. Change the type of POS to
15310 grub_off_t. Follow the coding standard.
15311
15312 * commands/blocklist.c: Include grub/partition.h.
15313 (grub_cmd_blocklist): Return an error if the underlying device is
15314 not a disk. Take the starting sector of a partition into account,
15315 if a partition is used.
15316
15317 * boot/i386/pc/diskboot.S (bootloop): Adapted to the new offset of
15318 a length field.
15319 (lba_mode): Support 64-bit addresses.
15320 (chs_mode): Likewise.
15321 (copy_buffer): Adapted to the new offsets of a length field and a
15322 segment field.
15323 (blocklist_default_start): Allocate 64-bit space.
15324
15325 * boot/i386/pc/boot.S (force_lba): Removed.
15326 (boot_drive): Moved to under KERNEL_SECTOR.
fe987087 15327 (kernel_sector): Moved to under KERNEL_SEGMENT. Allocate 64-bit
524a1e6a 15328 space.
15329 (real_start): Set %si earlier. Remove code for FORCE_LBA, since it
15330 is useless.
15331 (lba_mode): Refactored to support a 64-bit address. More size
15332 optimization.
15333 (setup_sectors): Likewise.
15334
53af98ad 153352006-06-04 Yoshinori K. Okuji <okuji@enbug.org>
15336
15337 * DISTLIST: Added include/grub/i386/linux.h. Removed
15338 include/grub/i386/pc/linux.h
15339
15340 * configure.ac (AC_INIT): Bumped to 1.94.
15341
15342 * config.guess: Updated from gnulib.
15343 * config.sub: Likewise.
15344 * install-sh: Likewise.
15345 * mkinstalldirs: Likewise.
15346
b4c1940a 153472006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
15348
15349 * conf/common.rmk (grub_modules_init.lst): Depended on
15350 grub_emu_SOURCES, excluding grub_emu_init.c, instead of
15351 MODSRCFILES.
15352
15353 * genmk.rb (PModule::rule): Reverted the previous change.
15354
cfca1cfd 153552006-06-02 Yoshinori K. Okuji <okuji@enbug.org>
15356
15357 * conf/common.rmk (grub_modules_init.lst): Depends on
15358 $(MODSRCFILES). Grep only the files in $(MODSRCFILES). Make sure
15359 that the target does not exist before producing.
15360 (grub_modules_init.h): Remove the target before generating.
15361 (grub_emu_init.c): Likewise.
15362
15363 * genmk.rb (PModule::rule): Add source files into MODSRCFILES.
15364
aa6d7826 153652006-05-31 Jeroen Dekkers <jeroen@dekkers.cx>
15366
15367 * configure.ac: Don't set host_m32 for x86_64. Also reset LIBS
15368 for the target-specific tests. Make sure that we also have the
15369 up-to-date target variables for those tests.
15370
26c607b9 153712006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
15372
15373 * genmk.rb (Image::rule): Prefix CFLAGS or ASFLAGS with TARGET_.
15374 (PModule::rule): Likewise.
15375
0162321a 153762006-05-31 Yoshinori K. Okuji <okuji@enbug.org>
15377
15378 * genmk.rb (Image::rule): Set FLAG to CFLAGS or ASFLAGS instead of
15379 TARGET_CFLAGS or TARGET_ASFLAGS. There is no reason why
15380 target-specific flags should be prefixed.
15381 (PModule::rule): Likewise.
15382
6c826348 153832006-05-30 Yoshinori K. Okuji <okuji@enbug.org>
15384
15385 * configure.ac (CMP): Check if cmp is available explicitly.
15386
b977bf01 153872006-05-29 Yoshinori K. Okuji <okuji@enbug.org>
15388
15389 * util/powerpc/ieee1275/grub-install.in (host_cpu): Removed.
15390 (target_cpu): New variable.
15391 (pkglibdir): Use target_cpu instead of host_cpu.
f19dbdb7 15392
b977bf01 15393 * util/i386/pc/grub-install.in (host_cpu): Removed.
15394 (target_cpu): New variable.
15395 (pkglibdir): Use target_cpu instead of host_cpu.
15396
15397 * util/genmoddep.c: Removed.
f19dbdb7 15398
b977bf01 15399 * kern/efi/mm.c (filter_memory_map): Use GRUB_CPU_SIZEOF_VOID_P
15400 instead of GRUB_HOST_SIZEOF_VOID_P.
15401 * kern/dl.c: Likewise.
15402
15403 * include/grub/i386/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed to
15404 ...
15405 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
15406 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
15407 (GRUB_TARGET_SIZEOF_LONG): ... this.
15408 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
15409 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
15410 * include/grub/powerpc/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
15411 to ...
15412 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
15413 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
15414 (GRUB_TARGET_SIZEOF_LONG): ... this.
15415 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
15416 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
15417 * include/grub/sparc64/types.h (GRUB_HOST_SIZEOF_VOID_P): Renamed
15418 to ...
15419 (GRUB_TARGET_SIZEOF_VOID_P): ... this.
15420 (GRUB_HOST_SIZEOF_LONG): Renamed to ...
15421 (GRUB_TARGET_SIZEOF_LONG): ... this.
15422 (GRUB_HOST_WORDS_BIGENDIAN): Renamed to ...
15423 (GRUB_TARGET_WORDS_BIGENDIAN): ... this.
15424
15425 * include/grub/types.h [!GRUB_UTIL] (GRUB_CPU_SIZEOF_VOID_P): Use
15426 GRUB_TARGET_SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P.
15427 [!GRUB_UTIL] (GRUB_CPU_SIZEOF_LONG): Use GRUB_TARGET_SIZEOF_LONG
15428 instead of GRUB_HOST_SIZEOF_LONG.
15429 [!GRUB_UTIL]: Refer to GRUB_TARGET_WORDS_BIGENDIAN instead of
15430 GRUB_HOST_WORDS_BIGENDIAN to define or undefine
15431 GRUB_CPU_WORDS_BIGENDIAN.
15432 Refer to SIZEOF_VOID_P instead of GRUB_HOST_SIZEOF_VOID_P to
15433 define grub_host_addr_t, grub_host_off_t, grub_host_size_t and
15434 grub_host_ssize_t.
15435
15436 * conf/i386-efi.rmk (noinst_UTILITIES): Removed.
15437 (genmoddep_SOURCES): Likewise.
15438 * conf/i386-pc.rmk (noinst_UTILITIES): Likewise.
15439 (genmoddep_SOURCES): Likewise.
15440 * conf/conf/powerpc-ieee1275.rmk (noinst_UTILITIES): Likewise.
15441 (genmoddep_SOURCES): Likewise.
15442 * conf/conf/conf/sparc64-ieee1275.rmk (noinst_UTILITIES):
15443 Likewise.
15444 (genmoddep_SOURCES): Likewise.
15445
15446 * genmoddep.awk: New file.
15447
15448 * genmk.rb (Image::rule): Use TARGET_CC, TARGET_CPPFLAGS,
15449 TARGET_CFLAGS, TARGET_ASFLAGS and TARGET_LDFLAGS instead of CC,
15450 CPPFLAGS, CFLAGS, ASFLAGS and LDFLAGS, respectively.
15451 (PModule::rule): Likewise.
15452 (Program::rule): Likewise.
15453 (Utility::rule): Use CC, CPPFLAGS, CFLAGS and LDFLAGS instead of
15454 BUILD_CC, BUILD_CPPFLAGS, BUILD_CFLAGS and BUILD_LDFLAGS,
15455 respectively.
15456
15457 * configure.ac: Rewritten intensively to use host and target
15458 instead of build and host, respectively.
15459
15460 * Makefile.in (pkglibdir): Use target_cpu instead of host_cpu.
15461 (host_cpu): Removed.
15462 (target_cpu): New variable.
15463 (CPPFLAGS): Added @CPPFLAGS@ and -DGRUB_LIBDIR=\"$(pkglibdir)\".
15464 (BUILD_CC): Removed.
15465 (BUILD_CFLAGS): Likewise.
15466 (BUILD_CPPFLAGS): Likewise.
15467 (TARGET_CC): New variable.
15468 (TARGET_CFLAGS): Likewise.
15469 (TARGET_CPPFLAGS): Likewise.
15470 (TARGET_LDFLAGS): Likewise.
15471 (AWK): Likewise.
15472 (include): Use target_cpu instead of host_cpu.
15473 (moddep.lst:): Use genmoddep.awk instead of genmoddep.
f19dbdb7 15474
b977bf01 15475 * DISTLIST: Added genmoddep.awk. Removed util/genmoddep.c.
15476
f09771a1 154772006-05-29 Vesa Jaaskelainen <chaac@nic.fi>
15478
15479 * include/grub/script.h (grub_script_cmdif): Renamed field 'bool' to
15480 'exec_to_evaluate'. Renamed field 'true' to 'exec_on_true'. Renamed
15481 field 'false' to 'exec_on_false'.
15482 (grub_script_create_cmdif): Renamed argument names to reflect above
15483 changes.
15484
15485 * normal/execute.c (grub_script_execute_cmdif): Likewise.
15486
15487 * normal/script.c (grub_script_create_cmdif): Likewise.
15488
118f4fb3 154892006-05-28 Yoshinori K. Okuji <okuji@enbug.org>
15490
15491 * fs/hfsplus.c (grub_hfsplus_btree_recoffset): Moved to near the
15492 top.
15493 (grub_hfsplus_btree_recptr): Likewise.
15494 (grub_hfsplus_find_block): Do not take RETRY any longer. Use
15495 FILEBLOCK both to pass a block number and store next block
15496 number.
15497 (grub_hfsplus_read_block): Rewritten heavily to support an extent
15498 overflow file correctly. Specify errors appropriately, because
15499 fshelp expects that GRUB_ERRNO is set when fails. Reuse
15500 grub_hfsplus_btree_recptr to get the pointer to a found key.
15501 (grub_hfsplus_btree_search): Return 1 instead of 0 when no match
15502 is found.
15503
15504 * conf/i386-efi.rmk (pkgdata_MODULES): Added _linux.mod and
15505 linux.mod.
15506 (_linux_mod_SOURCES): New variable.
15507 (_linux_mod_CFLAGS): Likewise.
15508 (_linux_mod_LDFLAGS): Likewise.
15509 (linux_mod_SOURCES): Likewise.
15510 (linux_mod_CFLAGS): Likewise.
15511 (linux_mod_LDFLAGS): Likewise.
15512
15513 * DISTLIST: Added loader/i386/efi/linux.c,
15514 loader/i386/efi/linux_normal.c and
15515 include/grub/i386/efi/loader.h.
15516
15517 * loader/i386/efi/linux.c: New file.
15518 * loader/i386/efi/linux_normal.c: Likewise.
15519 * include/grub/i386/efi/loader.h: Likewise.
15520
89a7d726 155212006-05-27 Yoshinori K. Okuji <okuji@enbug.org>
15522
15523 * commands/blocklist.c: New file.
15524
15525 * DISTLIST: Added commands/blocklist.c.
15526
15527 * term/efi/console.c (grub_console_highlight_color): Use a lighter
43b553ad 15528 color for the background, and a darker color for the foreground.
89a7d726 15529 (grub_console_checkkey): Return READ_KEY.
15530 (grub_console_cls): Set the background to
15531 GRUB_EFI_BACKGROUND_BLACK temporarily to clean out the screen.
15532
15533 * kern/efi/efi.c (grub_efi_exit_boot_services): New function.
15534
15535 * include/grub/i386/linux.h (struct linux_kernel_params): Fixed
15536 the size of "padding5", "hd0_drive_info" and "hd1_drive_info".
15537
15538 * include/grub/efi/efi.h (grub_efi_exit_boot_services): New
15539 prototype.
15540
15541 * include/grub/efi/api.h (GRUB_EFI_TEXT_ATTR): Do not shift
15542 BG. The spec is wrong again.
15543
15544 * include/grub/normal.h [GRUB_UTIL] (grub_blocklist_init): New
15545 prototype.
15546 [GRUB_UTIL] (grub_blocklist_fini): Likewise.
15547
15548 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
15549 commands/blocklist.c.
15550 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
f19dbdb7 15551
89a7d726 15552 * conf/common.rmk (pkgdata_MODULES): Added blocklist.mod.
15553 (blocklist_mod_SOURCES): New variable.
15554 (blocklist_mod_CFLAGS): Likewise.
15555 (blocklist_mod_LDFLAGS): Likewise.
15556
75c8f258 155572006-05-20 Yoshinori K. Okuji <okuji@enbug.org>
15558
15559 * boot/i386/pc/boot.S (real_start): Set %si earlier to eliminate
15560 duplication.
15561 (lba_mode): Use %eax more intensively to reduce the code size.
15562
da2eb181 155632006-05-20 Marco Gerards <marco@gnu.org>
15564
15565 * normal/lexer.c (grub_script_yylex): Don't filter out newlines.
15566
15567 * normal/parser.y (commandblock): Defined as <cmd>. A subroutine
15568 for `menuentry'.
15569 (script): Accept leading newlines.
15570 (newlines): New rule to describe 0 or more newlines.
15571 (commands): Accept `command' with trailing newline. Fixed the
15572 order in which arguments were passed to `grub_script_add_cmd'.
15573 Accept commands separated by newlines.
15574 (function): Changed to accept newlines.
15575 (menuentry) Rewritten.
15576
15577 * normal/script.c (grub_script_create_cmdmenu): Add new entries in
15578 front of the list, instead of to the end.
15579
577b4050 155802006-05-19 Yoshinori K. Okuji <okuji@enbug.org>
15581
15582 * util/i386/pc/grub-install.in (bindir): New variable.
15583 (grub_mkimage): Use BINDIR instead of SBINDIR. Reported by Lee
15584 Shaver <lbgwjl@gmail.com>.
15585
0d6e1189 155862006-05-14 Yoshinori K. Okuji <okuji@enbug.org>
15587
15588 * kern/i386/pc/startup.S: Include grub/cpu/linux.h instead of
15589 grub/machine/linux.h
15590 * loader/i386/pc/linux.c: Likewise.
15591
15592 * include/grub/i386/pc/linux.h: Moved to ...
15593 * include/grub/i386/linux.h: ... here.
15594
15595 * include/grub/i386/linux.h (struct linux_kernel_params): New
15596 struct.
f19dbdb7 15597
31b86e9f 155982006-05-09 Vesa Jaaskelainen <chaac@nic.fi>
15599
15600 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Corrected bounds
15601 checking.
15602 (grub_video_vbe_blit_glyph): Likewise.
15603 (grub_video_vbe_blit_bitmap): Likewise.
15604 (grub_video_vbe_blit_render_target): Likewise.
15605
83b984de 156062006-05-09 Yoshinori K. Okuji <okuji@enbug.org>
15607
15608 * configure.ac (--with-platform): Properly quote the square
15609 brackets.
15610
5f0413bd 156112006-05-08 Marco Gerards <marco@gnu.org>
15612
15613 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Renamed from
15614 this...
15615 (kernel_elf_HEADERS): ...to this. Updated all users.
15616 (grubof_symlist.c): Renamed from this...
15617 (kernel_elf_symlist.c): ...to this. Updated all users.
15618 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
15619 (grubof_SOURCES): Renamed from this...
15620 (kernel_elf_SOURCES): ...to this.
15621 (grubof_HEADERS): Renamed from this...
15622 (kernel_elf_HEADERS): ...to this.
15623 (grubof_CFLAGS): Renamed from this...
15624 (kernel_elf_CFLAGS): ...to this.
15625 (grubof_ASFLAGS): Renamed from this...
15626 (kernel_elf_ASFLAGS): ...to this.
15627 (grubof_LDFLAGS): Renamed from this...
15628 (kernel_elf_LDFLAGS): ...to this.
15629
15630 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Renamed from
15631 this...
15632 (kernel_elf_HEADERS): ...to this. Updated all users.
15633 (grubof_symlist.c): Renamed from this...
15634 (kernel_elf_symlist.c): ...to this. Updated all users.
15635 (pkgdata_PROGRAMS): Changed `grubof' to `kernel.elf'.
15636 (grubof_SOURCES): Renamed from this...
15637 (kernel_elf_SOURCES): ...to this.
15638 (grubof_HEADERS): Renamed from this...
15639 (kernel_elf_HEADERS): ...to this.
15640 (grubof_CFLAGS): Renamed from this...
15641 (kernel_elf_CFLAGS): ...to this.
15642 (grubof_ASFLAGS): Renamed from this...
15643 (kernel_elf_ASFLAGS): ...to this.
15644 (grubof_LDFLAGS): Renamed from this...
15645 (kernel_elf_LDFLAGS): ...to this.
15646
15647 * util/powerpc/ieee1275/grub-mkimage.c (add_segments): Use
15648 `kernel.elf' instead of `grubof'.
15649
05568c2e 156502006-05-08 Yoshinori K. Okuji <okuji@enbug.org>
15651
15652 Add --with-platform to configure. Use pkglibdir instead of
15653 pkgdatadir. This is reported by Roger Leigh.
15654
15655 * util/powerpc/ieee1275/grub-install.in (datadir): Removed.
15656 (host_vendor): Likewise.
15657 (host_os): Likewise.
15658 (pkgdatadir): Likewise.
15659 (platform): New variable.
15660 (pkglibdir): Likewise.
15661 Use PKGLIBDIR instead of PKGDATADIR.
f19dbdb7 15662
05568c2e 15663 * util/i386/pc/grub-install.in (datadir): Removed.
15664 (host_vendor): Likewise.
15665 (host_os): Likewise.
15666 (pkgdatadir): Likewise.
15667 (platform): New variable.
15668 (pkglibdir): Likewise.
15669 Use PKGLIBDIR instead of PKGDATADIR.
15670
15671 * util/powerpc/ieee1275/grub-mkimage.c (usage): Use GRUB_LIBDIR
15672 instead of GRUB_DATADIR.
15673 (main): Likewise.
15674 * util/i386/pc/grub-mkimage.c (usage): Likewise.
15675 (main): Likewise.
15676 * util/i386/efi/grub-mkimage.c (usage): Likewise.
15677 (main): Likewise.
15678
15679 * configure.ac (--with-platform): New option.
15680 Use PLATFORM instead of HOST_VENDOR to specify a platform.
15681
15682 * Makefile.in: Include a makefile based on PLATFORM instead of
15683 HOST_VENDOR.
15684 (pkgdatadir): Not appended by the machine type.
15685 (pkglibdir): Appended by the machine type.
15686 (host_vendor): Removed.
15687 (platform): New variable.
15688 (BUILD_CPPFLAGS): Specify GRUB_LIBDIR instead of GRUB_DATADIR.
15689 (install-local): Use PKGLIBDIR instead of PKGDATADIR.
15690 (uninstall): Likewise.
15691
4e93851c 156922006-05-07 Yoshinori K. Okuji <okuji@enbug.org>
15693
15694 Use the environment context in the menu. Remove the commands
15695 "default" and "timeout", and use variables instead.
f19dbdb7 15696
4e93851c 15697 * normal/menu.c: Include grub/env.h.
15698 (print_entry): Cast TITLE to silence gcc.
15699 (get_timeout): New function.
15700 (set_timeout): Likewise.
15701 (get_entry_number): Likewise.
15702 (run_menu): Use a default entry, a fallback entry and a timeout
15703 in the environment variables "default", "fallback" and
15704 "timeout". Also, tweak the default entry if it is not within the
15705 current menu entries.
15706 (grub_menu_run): Use a fallback entry in the environment variable
15707 "fallback".
15708
15709 * normal/main.c (read_config_file): Do not initialize
15710 NEWMENU->DEFAULT_ENTRY, NEWMENU->FALLBACK_ENTRY or
15711 NEWMENU->TIMEOUT.
15712 (grub_normal_execute): Use a data slot to store the menu.
15713
15714 * include/grub/normal.h (struct grub_menu): Removed default_entry,
15715 fallback_entry and timeout.
15716 (struct grub_menu_list): Removed.
15717 (grub_menu_list_t): Likewise.
15718 (struct grub_context): Likewise.
15719 (grub_context_t): Likewise.
15720 (grub_context_get): Likewise.
15721 (grub_context_get_current_menu): Likewise.
15722 (grub_context_push_menu): Likewise.
15723 (grub_context_pop_menu): Likewise.
15724 (grub_default_init): Likewise.
15725 (grub_default_fini): Likewise.
15726 (grub_timeout_init): Likewise.
15727 (grub_timeout_fini): Likewise.
15728
15729 * conf/sparc64-ieee1275.rmk (pkgdata_MODULES): Removed default.mod
15730 and timeout.mod.
15731 (normal_mod_SOURCES): Removed normal/context.c.
15732
15733 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Removed
15734 commands/default.c, commands/timeout.c and normal/context.c.
15735 (normal_mod_SOURCES): Removed normal/context.c.
15736
15737 * conf/i386-pc.rmk (grub_emu_SOURCES): Removed commands/default.c,
15738 commands/timeout.c and normal/context.c.
15739 (normal_mod_SOURCES): Removed normal/context.c.
15740
15741 * conf/i386-efi.rmk (grub_emu_SOURCES): Removed
15742 commands/default.c, commands/timeout.c and normal/context.c.
15743 (normal_mod_SOURCES): Removed normal/context.c.
15744
15745 * conf/common.rmk (pkgdata_MODULES): Removed default.mod and
15746 timeout.mod.
15747 (default_mod_SOURCES): Removed.
15748 (default_mod_CFLAGS): Likewise.
15749 (default_mod_LDFLAGS): Likewise.
15750 (timeout_mod_SOURCES): Removed.
15751 (timeout_mod_CFLAGS): Likewise.
15752 (timeout_mod_LDFLAGS): Likewise.
15753
15754 * DISTLIST: Removed commands/default.c, commands/timeout.c and
15755 normal/context.c.
15756
15757 * commands/default.c: Removed.
15758 * commands/timeout.c: Likewise.
15759 * normal/context.c: Likewise.
15760
1eb9cc1d 157612006-05-07 Vesa Jaaskelainen <chaac@nic.fi>
15762
15763 * kern/i386/pc/startup.S (grub_exit): Added missing .code32 tag.
15764
385bd9c1 157652006-05-02 Yoshinori K. Okuji <okuji@enbug.org>
15766
15767 * kern/env.c (struct grub_env_context): Removed "sorted". Renamed
15768 "next" to "prev" for readability.
15769 (struct grub_env_sorted_var): New struct.
15770 (grub_env_context): Renamed to ...
15771 (initial_context): ... this.
15772 (grub_env_var_context): Renamed to ...
15773 (current_context): ... this.
15774 (grub_env_find): Look only at CURRENT_CONTEXT.
15775 (grub_env_context_open): Rewritten to copy exported variables from
15776 previous context.
15777 (grub_env_context_close): Rewritten according to the new
15778 scheme. Also, add an assertion to prevent the initial context from
15779 removed.
15780 (grub_env_insert): Removed the code for the sorted list.
15781 (grub_env_remove): Likewise.
15782 (grub_env_export): Simply mark the variable with
15783 GRUB_ENV_VAR_GLOBAL.
15784 (grub_env_set): A cosmetic change for naming consistency.
15785 (grub_env_get): Likewise.
15786 (grub_env_unset): Likewise.
15787 (grub_env_iterate): Rewritten to sort variables within this
15788 function.
15789 (grub_register_variable_hook): Fixed for naming consistency. Call
15790 grub_env_find again, only if NAME is not found at the first time.
15791 (mangle_data_slot_name): New function.
15792 (grub_env_set_data_slot): Likewise.
15793 (grub_env_get_data_slot): Likewise.
15794 (grub_env_unset_data_slot): Likewise.
15795
15796 * include/grub/env.h (grub_env_var_type): New enum.
15797 (GRUB_ENV_VAR_LOCAL): New constant.
15798 (GRUB_ENV_VAR_GLOBAL): Likewise.
15799 (GRUB_ENV_VAR_DATA): Likewise.
15800 (struct grub_env_var): Removed "sort_next" and "sort_prevp". Added
15801 "type".
15802 (grub_env_set): Replace VAR with NAME for consistency.
15803 (grub_register_variable_hook): Likewise.
15804 (grub_env_export): Specify the name of the argument.
15805 (grub_env_set_data_slot): New prototype.
15806 (grub_env_get_data_slot): Likewise.
15807 (grub_env_unset_data_slot): Likewise.
15808
7f362539 158092006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
15810
15811 Extend the loader so that GRUB can accept a loader which comes
15812 back to GRUB when a loaded image exits. Also, this change adds
15813 support for a chainloader on EFI.
f19dbdb7 15814
7f362539 15815 * term/efi/console.c: Include grub/misc.h.
15816 (grub_console_checkkey): Display a scan code on the top for
15817 debugging. This will be removed once the EFI port gets stable.
15818 Correct the scan code mapping.
15819
15820 * kern/efi/mm.c (sort_memory_map): Sort in a descending order to
15821 allocate memory from larger regions, in order to reduce the number
15822 of allocated regions. Otherwise, the MacOSX loader panics.
15823 (filter_memory_map): Avoid less than 1MB for compatibility with
15824 other loaders.
15825 (add_memory_regions): Allocate from the tail of a region, if
15826 possible, to avoid allocating a region near to 1MB, for the MacOSX
15827 loader.
15828
15829 * kern/efi/init.c (grub_efi_set_prefix): Specify
15830 GRUB_EFI_IMAGE_HANDLE to grub_efi_get_loaded_image.
15831
15832 * kern/efi/efi.c (grub_efi_get_loaded_image): Accept a new
15833 argument IMAGE_HANDLE and specify it to get a loaded image.
15834 (grub_arch_modules_addr): Specify GRUB_EFI_IMAGE_HANDLE to
15835 grub_efi_get_loaded_image.
fe6b695a 15836 (grub_efi_get_filename): Divide the length by the size of
7f362539 15837 grub_efi_char16_t.
15838 (grub_efi_get_device_path): New function.
15839 (grub_efi_print_device_path): Print End Device Path nodes. Divide
15840 the length by the size of grub_efi_char16_t for a file path device
15841 path node.
15842
15843 * kern/loader.c (grub_loader_noreturn): New variable.
15844 (grub_loader_set): Accept a new argument NORETURN. Set
15845 GRUB_LOADER_NORETURN to NORETURN.
15846 All callers changed.
15847 (grub_loader_boot): If GRUB_LOADER_NORETURN is false, do not call
15848 grub_machine_fini.
15849
15850 * include/grub/efi/efi.h (grub_efi_get_device_path): New
15851 prototype.
15852 (grub_efi_get_loaded_image): Take an argument to specify an image
15853 handle.
15854
15855 * include/grub/loader.h (grub_loader_set): Added one more argument
15856 NORETURN.
15857
15858 * disk/efi/efidisk.c (make_devices): Use grub_efi_get_device_path
15859 instead of grub_efi_open_protocol.
15860 (grub_efidisk_get_device_name): Likewise.
15861 (grub_efidisk_close): Print a newline.
15862 (grub_efidisk_get_device_handle): Fixed to use
15863 GRUB_EFI_DEVICE_PATH_SUBTYPE instead of
15864 GRUB_EFI_DEVICE_PATH_TYPE.
15865
15866 * disk/efi/efidisk.c (device_path_guid): Moved to ...
15867 * kern/efi/efi.c (device_path_guid): ... here.
15868
15869 * conf/i386-efi.rmk (pkgdata_MODULES): Added _chain.mod and
15870 chain.mod.
15871 (kernel_mod_HEADERS): Added efi/disk.h.
15872 (_chain_mod_SOURCES): New variable.
15873 (_chain_mod_CFLAGS): Likewise.
15874 (_chain_mod_LDFLAGS): Likewise.
15875 (chain_mod_SOURCES): Likewise.
15876 (chain_mod_CFLAGS): Likewise.
15877 (chain_mod_LDFLAGS): Likewise.
15878
15879 * DISTLIST: Added include/grub/efi/chainloader.h,
15880 loader/efi/chainloader.c and loader/efi/chainloader_normal.c.
15881
15882 * include/grub/efi/chainloader.h: New file.
15883 * loader/efi/chainloader.c: Likewise.
15884 * loader/efi/chainloader_normal.c: Likewise.
15885
c0111d6e 158862006-04-30 Marco Gerards <marco@gnu.org>
15887
15888 * commands/configfile.c (grub_cmd_source): New function.
15889 (GRUB_MOD_INIT): Register the commands `source' and `.'.
15890 (GRUB_MOD_FINI): De-register the commands `source' and `.'.
15891
df5341da 158922006-04-30 Marco Gerards <marco@gnu.org>
15893
15894 * normal/execute.c (grub_script_execute_cmd): Change the return
15895 type to `grub_err_t'. Correctly return the error.
15896 (grub_script_execute_cmdline): In case a command line is not a
15897 command or a function, try to interpret it as an assignment.
15898
f85934bd 158992006-04-30 Yoshinori K. Okuji <okuji@enbug.org>
15900
15901 * fs/hfsplus.c (grub_hfsplus_read_block): Fixed a memory leak.
15902 (grub_hfsplus_iterate_dir): Reordered to skip unknown nodes. Also,
15903 skip a node whose name is obviously invalid as UTF-16,
15904 i.e. contains a NUL character. Stop the iteration when the last
15905 directory entry is found. Instead of using the return value of
15906 grub_hfsplus_btree_iterate_node, store the value in RET and use
15907 it, because the iterator can be stopped by the last directory
15908 entry.
15909
8f8a2cf8 159102006-04-30 Marco Gerards <marco@gnu.org>
15911
15912 * include/grub/env.h (grub_env_export): New prototype. Reported
15913 by Jan C. Kleinsorge <jan.kleinsorge@udo.edu>.
15914
a27e84ce 159152006-04-30 Marco Gerards <marco@gnu.org>
15916
15917 * fs/hfsplus.c (grub_hfsplus_iterate_dir): Correctly calculate the
15918 size of the extents in a catalog file record.
15919
eaef0553 159202006-04-29 Marco Gerards <marco@gnu.org>
15921
15922 * commands/configfile.c (grub_cmd_configfile): Execute the
15923 configfile within its own context.
15924
15925 * include/grub/env.h (grub_env_context_open): New prototype.
15926 (grub_env_context_close): Likewise.
15927
15928 * kern/env.c (grub_env): Removed.
15929 (grub_env_sorted): Likewise.
15930 (grub_env_context): New variable.
15931 (grub_env_var_context): Likewise.
15932 (grub_env_find): Search both the active context and the global
15933 context.
15934 (grub_env_context_open): New function.
15935 (grub_env_context_close): Likewise.
15936 (grub_env_insert): Likewise.
15937 (grub_env_remove): Likewise.
15938 (grub_env_export): Likewise.
15939 (grub_env_set): Changed to use helper functions to avoid code
15940 duplication.
15941 (grub_env_iterate): Rewritten so both the current context and the
15942 global context are being used.
15943
15944 * normal/command.c (export_command): New function.
15945 (grub_command_init): Register the `export' function.
15946
7b455f4d 159472006-04-26 Yoshinori K. Okuji <okuji@enbug.org>
15948
15949 * util/i386/pc/grub-mkimage.c (compress_kernel): Cast arguments
15950 explicitly to suppress gcc's warnings.
15951 * fs/fat.c (grub_fat_find_dir): Likewise.
15952 (grub_fat_label): Likewise.
15953 * fs/xfs.c (grub_xfs_read_inode): Likewise.
15954 (grub_xfs_mount): Likewise.
15955 (grub_xfs_label): Likewise.
15956 * fs/affs.c (grub_affs_mount): Likewise.
15957 (grub_affs_label): Likewise.
15958 (grub_affs_iterate_dir): Likewise.
15959 * fs/sfs.c (grub_sfs_mount): Likewise.
15960 (grub_sfs_iterate_dir): Likewise.
15961 * fs/ufs.c (grub_ufs_lookup_symlink): Likewise.
15962 * fs/hfs.c (grub_hfs_mount): Likewise.
15963 (grub_hfs_cmp_catkeys): Likewise.
15964 (grub_hfs_find_dir): Likewise.
15965 (grub_hfs_dir): Likewise.
15966 (grub_hfs_label): Likewise.
15967 * fs/jfs.c (grub_jfs_mount): Likewise.
15968 (grub_jfs_opendir): Likewise.
15969 (grub_jfs_getent): Likewise.
15970 (grub_jfs_lookup_symlink): Likewise.
15971 (grub_jfs_label): Likewise.
15972 * fs/hfsplus.c (grub_hfsplus_cmp_catkey): Likewise.
15973 (grub_hfsplus_iterate_dir): Likewise.
15974 (grub_hfsplus_btree_iterate_node): Made static.
15975
15976 * util/grub-emu.c (prefix): New variable.
15977 (grub_machine_set_prefix): New function.
15978 (main): Do not set the environment variable "prefix" here. Only
15979 set PREFIX, which is used later by grub_machine_set_prefix.
15980
15981 * include/grub/video.h: Do not include grub/symbol.h.
15982 (grub_video_register): Not exported. This symbol is not defined in
15983 the kernel.
15984 (grub_video_unregister): Likewise.
15985 (grub_video_iterate): Likewise.
15986 (grub_video_setup): Likewise.
15987 (grub_video_restore): Likewise.
15988 (grub_video_get_info): Likewise.
15989 (grub_video_get_blit_format): Likewise.
15990 (grub_video_set_palette): Likewise.
15991 (grub_video_get_palette): Likewise.
15992 (grub_video_set_viewport): Likewise.
15993 (grub_video_get_viewport): Likewise.
15994 (grub_video_map_color): Likewise.
15995 (grub_video_map_rgb): Likewise.
15996 (grub_video_map_rgba): Likewise.
15997 (grub_video_fill_rect): Likewise.
15998 (grub_video_blit_glyph): Likewise.
15999 (grub_video_blit_bitmap): Likewise.
16000 (grub_video_blit_render_target): Likewise.
16001 (grub_video_scroll): Likewise.
16002 (grub_video_swap_buffers): Likewise.
16003 (grub_video_create_render_target): Likewise.
16004 (grub_video_delete_render_target): Likewise.
16005 (grub_video_set_active_render_target): Likewise.
16006
16007 * include/grub/symbol.h [GRUB_SYMBOL_GENERATOR] (EXPORT_FUNC):
16008 Undefined.
16009 [GRUB_SYMBOL_GENERATOR] (EXPORT_VAR): Likewise.
16010
16011 * conf/sparc64-ieee1275.rmk (grubof_symlist.c): Depended on
16012 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
16013 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
16014 instead of $(srcdir)/genkernsyms.sh.
16015
16016 * conf/powerpc-ieee1275.rmk (grubof_symlist.c): Depended on
16017 config.h. Use gensymlist.sh instead of $(srcdir)/gensymlist.sh.
16018 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
16019 instead of $(srcdir)/genkernsyms.sh.
16020
16021 * conf/i386-pc.rmk (symlist.c): Depended on config.h. Use
16022 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
16023 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
16024 instead of $(srcdir)/genkernsyms.sh.
16025
16026 * conf/i386-efi.rmk (symlist.c): Depended on config.h. Use
16027 gensymlist.sh instead of $(srcdir)/gensymlist.sh.
16028 (kernel_syms.lst): Depended on config.h. Use genkernsyms.sh
16029 instead of $(srcdir)/genkernsyms.sh.
16030
16031 * configure.ac (AC_CONFIG_FILES): Added gensymlist.sh and
16032 genkernsyms.sh.
16033
16034 * Makefile.in (DISTCLEANFILES): Added gensymlist.sh and
16035 genkernsyms.sh.
16036 (gensymlist.sh): New target.
16037 (genkernsyms.sh): Likewise.
16038
16039 * DISTLIST: Removed genkernsyms.sh and gensymlist.sh. Added
16040 genkernsyms.sh.in and gensymlist.sh.in.
16041
16042 * genkernsyms.sh: Removed.
16043 * gensymlist.sh: Likewise.
f19dbdb7 16044
7b455f4d 16045 * genkernsyms.sh.in: New file.
16046 * gensymlist.sh.in: Likewise.
16047
1885bb27 160482006-04-25 Hollis Blanchard <hollis@penguinppc.org>
16049
16050 * kern/powerpc/ieee1275/init.c (grub_machine_set_prefix): Do not
16051 clobber "prefix", since we may have already set it manually.
16052
71538dff 160532006-04-25 Hollis Blanchard <hollis@penguinppc.org>
16054
16055 * kern/misc.c (abort): New alias for grub_abort.
16056
2965c7cc 160572006-04-25 Yoshinori K. Okuji <okuji@enbug.org>
16058
16059 A new machine-specific function "grub_machine_set_prefix" is
16060 defined. This is called after loading modules, so that a prefix
16061 initialization can use modules. Also, this change adds an
16062 intensive debugging feature for the memory manager via the
16063 configure option "--enable-mm-debug".
f19dbdb7 16064
2965c7cc 16065 * partmap/gpt.c (gpt_partition_map_iterate): Add one more into
16066 PART.LEN.
16067
16068 * kern/sparc64/ieee1275/init.c (abort): Removed.
16069 (grub_stop): Likewise.
16070 (grub_exit): New function.
16071 (grub_set_prefix): Renamed to ...
16072 (grub_machine_set_prefix): ... this.
16073 (grub_machine_init): Do not call grub_set_prefix.
16074
16075 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Renamed to ...
16076 (grub_machine_set_prefix): ... this.
16077 (grub_machine_init): Do not call grub_set_prefix.
16078
16079 * kern/i386/pc/init.c (grub_machine_set_prefix): New function.
16080 (grub_machine_init): Do not set the prefix here.
16081
16082 * kern/i386/efi/init.c (grub_machine_set_prefix): New function.
16083
16084 * kern/efi/init.c: Include grub/mm.h.
16085 (grub_efi_set_prefix): New function.
16086
16087 * kern/efi/efi.c (grub_exit): Call grub_efi_fini.
16088 (grub_efi_get_filename): New function.
16089 (grub_print_device_path): Renamed to ...
16090 (grub_efi_print_device_path): ... this.
16091
16092 * kern/mm.c [MM_DEBUG] (grub_malloc): Undefined.
16093 [MM_DEBUG] (grub_realloc): Likewise.
16094 [MM_DEBUG] (grub_free): Likewise.
16095 [MM_DEBUG] (grub_memalign): Likewise.
16096 [MM_DEBUG] (grub_mm_debug): New variable.
16097 [MM_DEBUG] (grub_debug_malloc): New function.
16098 [MM_DEBUG] (grub_debug_free): New function.
16099 [MM_DEBUG] (grub_debug_realloc): New function.
16100 [MM_DEBUG] (grub_debug_memalign): New function.
16101
16102 * kern/misc.c (grub_abort): Print a newline to distinguish
16103 the message.
16104
16105 * kern/main.c (grub_main): Call grub_machine_set_prefix and
16106 grub_set_root_dev after loading modules. This is necessary when
16107 setting a prefix depends on modules.
16108
16109 * include/grub/efi/efi.h (grub_print_device_path): Renamed to ...
16110 (grub_efi_print_device_path): ... this.
16111 (grub_efi_get_filename): New prototype.
16112 (grub_efi_set_prefix): Likewise.
16113
16114 * include/grub/efi/disk.h: Include grub/efi/api.h, grub/symbol.h
16115 and grub/disk.h.
16116 (grub_efidisk_get_device_handle): New prototype.
16117 (grub_efidisk_get_device_name): Likewise.
16118
16119 * include/grub/mm.h: Include config.h.
16120 (MM_DEBUG): Removed.
16121 [MM_DEBUG && !GRUB_UTIL] (grub_mm_debug): New prototype.
16122 [MM_DEBUG && !GRUB_UTIL] (grub_malloc): New macro.
16123 [MM_DEBUG && !GRUB_UTIL] (grub_realloc): Likewise.
16124 [MM_DEBUG && !GRUB_UTIL] (grub_memalign): Likewise.
16125 [MM_DEBUG && !GRUB_UTIL] (grub_free): Likewise.
16126 [MM_DEBUG && !GRUB_UTIL] (grub_debug_malloc): New prototype.
16127 [MM_DEBUG && !GRUB_UTIL] (grub_debug_realloc): New prototype.
16128 [MM_DEBUG && !GRUB_UTIL] (grub_debug_memalign): New prototype.
16129 [MM_DEBUG && !GRUB_UTIL] (grub_debug_free): New prototype.
16130
16131 * include/grub/kernel.h (grub_machine_set_prefix): New prototype.
16132
16133 * disk/efi/efidisk.c: Include grub/partition.h.
16134 (iterate_child_devices): New function.
16135 (add_device): First, compare only last device path nodes, so that
16136 devices are sorted by the types.
16137 (grub_efidisk_get_device_handle): New function.
16138 (grub_efidisk_get_device_name): Likewise.
16139
16140 * configure.ac (--enable-mm-debug): New option to enable the
16141 memory manager debugging feature. This makes the binary much
16142 bigger, so is disabled by default.
16143
9cacaa17 161442006-04-23 Yoshinori K. Okuji <okuji@enbug.org>
16145
16146 Use grub_abort instead of grub_stop, and grub_exit must be
16147 define in each architecture now. Also, this change adds support
16148 for EFI disks.
f19dbdb7 16149
9cacaa17 16150 * util/i386/pc/grub-probefs.c: Include grub/term.h.
16151 (grub_getkey): New function.
16152 (grub_term_get_current): Likewise.
16153
16154 * util/i386/pc/grub-setup.c: Include grub/term.h.
16155 (grub_getkey): New function.
16156 (grub_term_get_current): Likewise.
16157
16158 * util/misc.c (grub_stop): Renamed to ...
16159 (grub_exit): ... this.
16160
16161 * kern/powerpc/ieee1275/init.c (abort): Renamed to ...
16162 (grub_exit): ... this.
16163 (grub_machine_init): Use grub_abort instead of abort.
16164 (grub_stop): Removed.
16165
16166 * kern/powerpc/ieee1275/cmain.c (cmain): Use grub_abort instead of
16167 abort.
16168
16169 * kern/i386/pc/startup.S (grub_exit): New function.
16170 (cold_reboot): New label.
16171
16172 * kern/efi/init.c: Include grub/efi/disk.h and grub/env.h.
16173 (grub_efi_init): Call grub_efidisk_init.
16174 (grub_efi_fini): Call grub_efidisk_fini.
16175
16176 * kern/efi/efi.c: Include grub/mm.h.
16177 (grub_efi_console_control_guid): Renamed to ...
16178 (console_control_guid): ... this.
16179 (grub_efi_loaded_image_guid): Renamed to ...
16180 (loaded_image_guid): ... this.
16181 (grub_efi_locate_handle): New function.
16182 (grub_efi_open_protocol): Likewise.
16183 (grub_efi_set_text_mode): Use CONSOLE_CONTROL_GUID instead of
16184 GRUB_EFI_CONSOLE_CONTROL_GUID.
16185 (grub_efi_exit): Removed.
16186 (grub_stop): Likewise.
16187 (grub_efi_get_loaded_image): Use grub_efi_open_protocol.
16188 (grub_exit): New function.
16189 (grub_print_device_path): Likewise.
16190
16191 * kern/rescue.c (grub_rescue_cmd_exit): New function.
16192 (grub_enter_rescue_mode): Register "exit".
16193
16194 * kern/misc.c (grub_real_dprintf): A cosmetic change.
16195 (grub_abort): New function.
16196
16197 * kern/err.c (grub_fatal): Use grub_abort instead of grub_stop.
16198
16199 * include/grub/sparc64/ieee1275/kernel.h (abort): Removed.
16200
16201 * include/grub/powerpc/ieee1275/kernel.h (abort): Removed.
16202
16203 * include/grub/efi/efi.h (grub_efi_exit): Removed.
16204 (grub_print_device_path): New prototype.
16205 (grub_efi_locate_handle): Likewise.
16206 (grub_efi_open_protocol): Likewise.
16207
16208 * include/grub/efi/disk.h (grub_efidisk_fini): New file.
16209 * disk/efi/efidisk.c: Likewise.
16210
16211 * DISTLIST: Added disk/efi/efidisk.c and include/grub/efi/disk.h.
16212
16213 * include/grub/efi/console_control.h
16214 (GRUB_EFI_CONSOLE_CONTROL_GUID): Use an array for the last 8 bytes.
16215
16216 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): Specify the
16217 last 8 bytes as an array.
16218 (GRUB_EFI_DISK_IO_GUID): New macro.
16219 (GRUB_EFI_BLOCK_IO_GUID): Likewise.
16220 (GRUB_EFI_DEVICE_PATH_GUID): Likewise.
16221 (grub_efi_ipv6_address_t): Change the type to grub_uint16_t from
16222 grub_uint8_t.
16223 (struct grub_efi_guid): Use an array to specify the last 8 bytes.
16224 (struct grub_efi_device_path): Rename the member "sub_type" to
16225 "subtype".
16226 (GRUB_EFI_DEVICE_PATH_TYPE): New macro.
16227 (GRUB_EFI_DEVICE_PATH_SUBTYPE): Likewise.
16228 (GRUB_EFI_DEVICE_PATH_LENGTH): Likewise.
16229 (GRUB_EFI_END_DEVICE_PATH_TYPE): Likewise.
16230 (GRUB_EFI_END_ENTIRE_DEVICE_PATH_SUBTYPE): Likewise.
16231 (GRUB_EFI_END_THIS_DEVICE_PATH_SUBTYPE): Likewise.
16232 (GRUB_EFI_END_ENTIRE_DEVICE_PATH): Likewise.
16233 (GRUB_EFI_NEXT_DEVICE_PATH): Likewise.
16234 (GRUB_EFI_HARDWARE_DEVICE_PATH_TYPE): Likewise.
16235 (GRUB_EFI_PCI_DEVICE_PATH_SUBTYPE): Likewise.
16236 (struct grub_efi_pci_device_path): New structure.
16237 (grub_efi_pci_device_path_t): New type.
16238 (GRUB_EFI_PCCARD_DEVICE_PATH_SUBTYPE): New macro.
16239 (struct grub_efi_pccard_device_path): New structure.
16240 (grub_efi_pccard_device_path_t): New type.
16241 (GRUB_EFI_MEMORY_MAPPED_DEVICE_PATH_SUBTYPE): New macro.
16242 (struct grub_efi_memory_mapped_device_path): New structure.
16243 (grub_efi_memory_mapped_device_path_t): New type.
16244 (GRUB_EFI_VENDOR_DEVICE_PATH_SUBTYPE): New macro.
16245 (struct grub_efi_vendor_device_path): New structure.
16246 (grub_efi_vendor_device_path_t): New type.
16247 (GRUB_EFI_CONTROLLER_DEVICE_PATH_SUBTYPE): New macro.
16248 (struct grub_efi_controller_device_path): New structure.
16249 (grub_efi_controller_device_path_t): New type.
16250 (GRUB_EFI_ACPI_DEVICE_PATH_TYPE): New macro.
16251 (GRUB_EFI_ACPI_DEVICE_PATH_SUBTYPE): Likewise.
16252 (struct grub_efi_acpi_device_path): New structure.
16253 (grub_efi_acpi_device_path_t): New type.
16254 (GRUB_EFI_EXPANDED_ACPI_DEVICE_PATH_SUBTYPE): New macro.
16255 (struct grub_efi_expanded_acpi_device_path): New structure.
16256 (grub_efi_expanded_acpi_device_path_t): New type.
16257 (GRUB_EFI_EXPANDED_ACPI_HIDSTR): New macro.
16258 (GRUB_EFI_EXPANDED_ACPI_UIDSTR): Likewise.
16259 (GRUB_EFI_EXPANDED_ACPI_CIDSTR): Likewise.
16260 (GRUB_EFI_MESSAGING_DEVICE_PATH_TYPE): Likewise.
16261 (GRUB_EFI_ATAPI_DEVICE_PATH_SUBTYPE): Likewise.
16262 (struct grub_efi_atapi_device_path): New structure.
16263 (grub_efi_atapi_device_path_t): New type.
16264 (GRUB_EFI_FIBRE_CHANNEL_DEVICE_PATH_SUBTYPE): New macro.
16265 (struct grub_efi_fibre_channel_device_path): New structure.
16266 (grub_efi_fibre_channel_device_path_t): New type.
16267 (GRUB_EFI_1394_DEVICE_PATH_SUBTYPE): New macro.
16268 (struct grub_efi_1394_device_path): New structure.
16269 (grub_efi_1394_device_path_t): New type.
16270 (GRUB_EFI_USB_DEVICE_PATH_SUBTYPE): New macro.
16271 (struct grub_efi_usb_device_path): New structure.
16272 (grub_efi_usb_device_path_t): New type.
16273 (GRUB_EFI_USB_CLASS_DEVICE_PATH_SUBTYPE): New macro.
16274 (struct grub_efi_usb_class_device_path): New structure.
16275 (grub_efi_usb_class_device_path_t): New type.
16276 (GRUB_EFI_I2O_DEVICE_PATH_SUBTYPE): New macro.
16277 (struct grub_efi_i2o_device_path): New structure.
16278 (grub_efi_i2o_device_path_t): New type.
16279 (GRUB_EFI_MAC_ADDRESS_DEVICE_PATH_SUBTYPE): New macro.
16280 (struct grub_efi_mac_address_device_path): New structure.
16281 (grub_efi_mac_address_device_path_t): New type.
16282 (GRUB_EFI_IPV4_DEVICE_PATH_SUBTYPE): New macro.
16283 (struct grub_efi_ipv4_device_path): New structure.
16284 (grub_efi_ipv4_device_path_t): New type.
16285 (GRUB_EFI_IPV6_DEVICE_PATH_SUBTYPE): New macro.
16286 (struct grub_efi_ipv6_device_path): New structure.
16287 (grub_efi_ipv6_device_path_t): New type.
16288 (GRUB_EFI_INFINIBAND_DEVICE_PATH_SUBTYPE): New macro.
16289 (struct grub_efi_infiniband_device_path): New structure.
16290 (grub_efi_infiniband_device_path_t): New type.
16291 (GRUB_EFI_UART_DEVICE_PATH_SUBTYPE): New macro.
16292 (struct grub_efi_uart_device_path): New structure.
16293 (grub_efi_uart_device_path_t): New type.
16294 (GRUB_EFI_VENDOR_MESSAGING_DEVICE_PATH_SUBTYPE): New macro.
16295 (struct grub_efi_vendor_messaging_device_path): New structure.
16296 (grub_efi_vendor_messaging_device_path_t): New type.
16297 (GRUB_EFI_MEDIA_DEVICE_PATH_TYPE): New macro.
16298 (GRUB_EFI_HARD_DRIVE_DEVICE_PATH_SUBTYPE): Likewise.
16299 (struct grub_efi_hard_drive_device_path): New structure.
16300 (grub_efi_hard_drive_device_path_t): New type.
16301 (GRUB_EFI_CDROM_DEVICE_PATH_SUBTYPE): New macro.
16302 (struct grub_efi_cdrom_device_path): New structure.
16303 (grub_efi_cdrom_device_path_t): New type.
16304 (GRUB_EFI_VENDOR_MEDIA_DEVICE_PATH_SUBTYPE): New macro.
16305 (struct grub_efi_vendor_media_device_path): New structure.
16306 (grub_efi_vendor_media_device_path_t): New type.
16307 (GRUB_EFI_FILE_PATH_DEVICE_PATH_SUBTYPE): New macro.
16308 (struct grub_efi_file_path_device_path): New structure.
16309 (grub_efi_file_path_device_path_t): New type.
16310 (GRUB_EFI_PROTOCOL_DEVICE_PATH_SUBTYPE): New macro.
16311 (struct grub_efi_protocol_device_path): New structure.
16312 (grub_efi_protocol_device_path_t): New type.
16313 (GRUB_EFI_BIOS_DEVICE_PATH_TYPE): New macro.
16314 (GRUB_EFI_BIOS_DEVICE_PATH_SUBTYPE): Likewise.
16315 (struct grub_efi_bios_device_path): New structure.
16316 (grub_efi_bios_device_path_t): New type.
16317 (struct grub_efi_disk_io): New structure.
16318 (grub_efi_disk_io_t): New type.
16319 (struct grub_efi_block_io_media): New structure.
16320 (grub_efi_block_io_media_t): New type.
16321 (struct grub_efi_block_io): New structure.
16322 (grub_efi_block_io_t): New type.
16323
16324 * include/grub/misc.h (grub_stop): Removed.
16325 (grub_exit): New prototype.
16326 (grub_abort): Likewise.
16327
16328 * include/grub/disk.h (enum grub_disk_dev_id): Added
16329 GRUB_DISK_DEVICE_EFIDISK_ID.
16330
16331 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added
16332 disk/efi/efidisk.c.
16333 (kernel_syms.lst): Remove the target if an error occurs.
16334
49986a9f 163352006-04-22 Yoshinori K. Okuji <okuji@enbug.org>
16336
16337 * kern/misc.c (grub_lltoa): Rewritten the decimal conversion part,
16338 as it was simply too buggy.
16339
970d3b8a 163402006-04-21 Yoshinori K. Okuji <okuji@enbug.org>
16341
16342 * kern/misc.c (grub_lltoa): New function.
16343 (grub_vsprintf): Added support for the long long suffix,
16344 i.e. "ll".
16345
ff04ec24 163462006-04-20 Hollis Blanchard <hollis@penguinppc.org>
16347
16348 * Makefile.in (LDFLAGS): Add variable.
16349 (LD): Remove variable.
16350 * configure.ac: Add -m32 to LDFLAGS.
16351 * genmk.rb (PModule#rule): Use $(CC) instead of $(LD).
16352 * conf/powerpc-ieee1275.rmk (COMMON_LDFLAGS): Add variable.
16353 (grubof_LDFLAGS): Use $(COMMON_LDFLAGS).
16354 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS, normal_mod_LDFLAGS,
16355 suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS): New
16356 variables.
16357 * conf/sparc64-ieee1275.rmk (COMMON_LDFLAGS): Add -nostdlib.
16358 * conf/i386-pc.rmk (COMMON_LDFLAGS): Add -nostdlib.
16359 * conf/i386-efi.rmk (COMMON_LDFLAGS): Add -nostdlib.
16360
37e5e1a4 163612006-04-20 Vesa Jaaskelainen <chaac@nic.fi>
16362
16363 * term/gfxterm.c (grub_gfxterm_getcharwidth): Fixed character
16364 length for unknown glyph.
16365
c352d8dd 163662006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
16367
2eab1c0d 16368 Add support for pre-loaded modules into the EFI port.
f19dbdb7 16369
2eab1c0d 16370 * util/i386/efi/grub-mkimage.c (make_mods_section): Rewritten
16371 completely. Accept one more argument DIR. The caller has changed.
16372
16373 * kern/i386/efi/init.c (grub_arch_modules_addr): Removed.
16374
16375 * kern/efi/efi.c: Include grub/efi/pe32.h and grub/kernel.h.
16376 (grub_efi_loaded_image_guid): New variable.
16377 (grub_efi_get_loaded_image): New function.
16378 (grub_arch_modules_addr): Likewise.
16379
16380 * include/grub/efi/efi.h (grub_efi_get_loaded_image): New
16381 prototype.
16382
16383 * include/grub/efi/api.h (GRUB_EFI_LOADED_IMAGE_GUID): New macro.
16384 (struct grub_efi_loaded_image): New structure.
16385 (grub_efi_loaded_image_t): New type.
16386
163872006-04-20 Yoshinori K. Okuji <okuji@enbug.org>
f19dbdb7 16388
c352d8dd 16389 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Compare the file
16390 size with GRUB_OS_AREA_SIZE as grub_size_t instead of
16391 grub_ssize_t. Reported by Jeff Chua <jeff84@silk.corp.fedex.com>.
16392
6d01d6b4 163932006-04-19 Roger Leigh <rleigh@whinlatter.ukfsn.org>
16394
16395 * DISTLIST: Added `util/powerpc/ieee1275/grub-install.in'.
16396
976a4ea0 163972006-04-19 Yoshinori K. Okuji <okuji@enbug.org>
16398
16399 * DISTLIST: Added include/grub/efi/console.h,
16400 include/grub/efi/time.h, include/grub/i386/efi/kernel.h,
16401 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
16402
16403 * include/grub/efi/console.h: New file.
16404 * include/grub/efi/time.h: Likewise.
16405 * include/grub/i386/efi/kernel.h: Likewise.
16406 * kern/efi/init.c: Likewise.
16407 * kern/efi/mm.c: Likewise.
16408 * term/efi/console.c: Likewise.
f19dbdb7 16409
976a4ea0 16410 * kern/i386/efi/init.c: Do not include grub/machine/time.h.
16411 (grub_stop): Removed.
16412 (grub_get_rtc): Likewise.
16413 (grub_machine_init): Simply call grub_efi_init.
16414 (grub_machine_fini): Call grub_efi_fini.
16415
16416 * kern/efi/efi.c: Include grub/machine/time.h and grub/term.h.
16417 (grub_efi_output_string): Removed.
16418 (grub_efi_stall): New function.
16419 (grub_stop): Likewise.
16420 (grub_get_rtc): Likewise.
16421
16422 * include/grub/efi/efi.h (grub_efi_output_string): Removed.
16423 (grub_efi_stall): New prototype.
16424 (grub_efi_allocate_pages): Likewise.
16425 (grub_efi_free_pages): Likewise.
16426 (grub_efi_get_memory_map): Likewise.
16427 (grub_efi_mm_init): Likewise.
16428 (grub_efi_mm_fini): Likewise.
16429 (grub_efi_init): Likewise.
16430 (grub_efi_fini): Likewise.
16431
16432 * include/grub/i386/efi/time.h: Do not include
16433 grub/symbol.h. Include grub/efi/time.h.
16434 (GRUB_TICKS_PER_SECOND): Removed.
16435 (grub_get_rtc): Likewise.
16436
16437 * include/grub/efi/api.h (struct grub_efi_memory_descriptor):
16438 Added padding. The EFI spec is buggy.
16439 (GRUB_EFI_BLACK): New macro.
16440 (GRUB_EFI_BLUE): Likewise.
16441 (GRUB_EFI_GREEN): Likewise.
16442 (GRUB_EFI_CYAN): Likewise.
16443 (GRUB_EFI_RED): Likewise.
16444 (GRUB_EFI_MAGENTA): Likewise.
16445 (GRUB_EFI_BROWN): Likewise.
16446 (GRUB_EFI_LIGHTGRAY): Likewise.
16447 (GRUB_EFI_BRIGHT): Likewise.
16448 (GRUB_EFI_DARKGRAY): Likewise.
16449 (GRUB_EFI_LIGHTBLUE): Likewise.
16450 (GRUB_EFI_LIGHTGREEN): Likewise.
16451 (GRUB_EFI_LIGHTCYAN): Likewise.
16452 (GRUB_EFI_LIGHTRED): Likewise.
16453 (GRUB_EFI_LIGHTMAGENTA): Likewise.
16454 (GRUB_EFI_YELLOW): Likewise.
16455 (GRUB_EFI_WHITE): Likewise.
16456 (GRUB_EFI_BACKGROUND_BLACK): Likewise.
16457 (GRUB_EFI_BACKGROUND_BLUE): Likewise.
16458 (GRUB_EFI_BACKGROUND_GREEN): Likewise.
16459 (GRUB_EFI_BACKGROUND_CYAN): Likewise.
16460 (GRUB_EFI_BACKGROUND_RED): Likewise.
16461 (GRUB_EFI_BACKGROUND_MAGENTA): Likewise.
16462 (GRUB_EFI_BACKGROUND_BROWN): Likewise.
16463 (GRUB_EFI_BACKGROUND_LIGHTGRAY): Likewise.
16464 (GRUB_EFI_TEXT_ATTR): Likewise.
16465
16466 * conf/i386-efi.rmk (kernel_mod_SOURCES): Added kern/efi/efi.c,
16467 kern/efi/init.c, kern/efi/mm.c, and term/efi/console.c.
16468 (kernel_mod_HEADERS): Added efi/time.h.
16469
83709125 164702006-04-18 Yoshinori K. Okuji <okuji@enbug.org>
16471
16472 * DISTLIST: Added conf/i386-efi.mk, conf/i386-efi.rmk,
16473 include/grub/efi/api.h, include/grub/efi/console_control.h,
16474 include/grub/efi/efi.h, include/grub/efi/pe32.h,
16475 include/grub/i386/efi/time.h, kern/efi/efi.c,
16476 kern/i386/efi/init.c, kern/i386/efi/startup.S,
16477 and util/i386/efi/grub-mkimage.c.
16478
16479 * Makefile.in (RMKFILES): Added i386-efi.rmk.
16480
16481 * genmk.rb (PModule#rule): Do not export symbols if
16482 #{prefix}_EXPORTS is set to "no".
16483
16484 * conf/i386-efi.mk: New file.
16485 * conf/i386-efi.rmk: Likewise.
16486 * include/grub/efi/api.h: Likewise.
16487 * include/grub/efi/console_control.h: Likewise.
16488 * include/grub/efi/efi.h: Likewise.
16489 * include/grub/efi/pe32.h: Likewise.
16490 * include/grub/i386/efi/time.h: Likewise.
16491 * kern/efi/efi.c: Likewise.
16492 * kern/i386/efi/init.c: Likewise.
16493 * kern/i386/efi/startup.S: Likewise.
16494 * util/i386/efi/grub-mkimage.c: Likewise.
16495
164962006-04-17 Marco Gerards <marco@gnu.org>
bfa2bd9e 16497
16498 * include/grub/script.h: Include <grub/parser.h> and
16499 "grub_script.tab.h".
16500 (struct grub_lexer_param): New struct.
16501 (struct grub_parser_param): Likewise.
16502 (grub_script_create_arglist): Pass the state in an argument.
16503 (grub_script_add_arglist): Likewise.
16504 (grub_script_create_cmdline): Likewise.
16505 (grub_script_create_cmdblock): Likewise.
16506 (grub_script_create_cmdif): Likewise.
16507 (grub_script_create_cmdmenu): Likewise.
16508 (grub_script_add_cmd): Likewise.
16509 (grub_script_arg_add): Likewise.
16510 (grub_script_lexer_ref): Likewise.
16511 (grub_script_lexer_deref): Likewise.
16512 (grub_script_lexer_record_start): Likewise.
16513 (grub_script_lexer_record_stop): Likewise.
16514 (grub_script_mem_record): Likewise.
16515 (grub_script_mem_record_stop): Likewise.
16516 (grub_script_malloc): Likewise.
16517 (grub_script_yylex): Likewise.
16518 (grub_script_yyparse): Likewise.
16519 (grub_script_yyerror): Likewise.
16520 (grub_script_yylex): Likewise.
16521 (grub_script_lexer_init): Return the state.
16522
16523 * normal/lexer.c (grub_script_lexer_state): Removed variable.
16524 (grub_script_lexer_done): Likewise.
16525 (grub_script_lexer_getline): Likewise.
16526 (grub_script_lexer_refs): Likewise.
16527 (script): Likewise.
16528 (newscript): Likewise.
16529 (record): Likewise.
16530 (recording): Likewise.
16531 (recordpos): Likewise.
16532 (recordlen): Likewise.
16533 (grub_script_lexer_init): Return the state instead of setting
16534 global variables.
16535 (grub_script_lexer_ref): Use the newly added argument for state
16536 instead of globals.
16537 (grub_script_lexer_deref): Likewise.
16538 (grub_script_lexer_record_start): Likewise.
16539 (grub_script_lexer_record_stop): Likewise.
16540 (recordchar): Likewise.
16541 (nextchar): Likewise.
16542 (grub_script_yylex2): Likewise.
16543 (grub_script_yylex): Likewise.
16544 (grub_script_yyerror): Likewise.
16545
16546 * normal/parser.y (func_mem): Removed variable.
16547 (menu_entry): Likewise.
16548 (err): Likewise.
16549 (%lex-param): New parser option.
16550 (%parse-param): Likewise.
16551 (script): Always return the AST.
16552 (argument): Pass the state around.
16553 (arguments): Likewise.
16554 (grubcmd): Likewise.
16555 (commands): Likewise.
16556 (function): Likewise.
16557 (menuentry): Likewise.
16558 (if_statement): Likewise.
16559 (if): Likewise.
16560
16561 * normal/script.c (grub_script_memused): Removed variable.
16562 (grub_script_parsed): Likewise.
16563 (grub_script_malloc): Added a state argument. Use that instead of
16564 global variables.
16565 (grub_script_mem_record): Likewise.
16566 (grub_script_mem_record_stop): Likewise.
16567 (grub_script_arg_add): Likewise.
16568 (grub_script_add_arglist): Likewise.
16569 (grub_script_create_cmdline): Likewise.
16570 (grub_script_create_cmdif): Likewise.
16571 (grub_script_create_cmdmenu): Likewise.
16572 (grub_script_add_cmd): Likewise.
16573 (grub_script_parse): Setup the state before calling the parser.
f19dbdb7 16574
e2a8c904 165752006-04-16 Marco Gerards <marco@gnu.org>
6de2ee99 16576
16577 * normal/command.c (grub_command_init): Remove the title command.
16578
16579 * normal/lexer.c (grub_script_yylex): Renamed from this...
16580 (grub_script_yylex2): ... to this.
16581 (grub_script_yylex): New function. Temporary
16582 introduced to filter some tokens.
16583 (grub_script_yyerror): Print a newline.
16584
16585 * normal/main.c (read_config_file): Output information about the
16586 lines that contain errors. Wait for a key after all lines have
16587 been processed. Don't return an empty menu.
16588
16589 * normal/parser.y (func_mem): Don't initialize.
16590 (menu_entry): Likewise.
16591 (err): New variable.
16592 (script): Don't return anything when an error was encountered.
16593 (ws, returns): Removed rules.
16594 (argument): Disabled concatenated variable support.
16595 (arguments): Remove explicit separators.
16596 (grubcmd): Likewise.
16597 (function): Likewise.
16598 (menuentry): Likewise.
16599 (if): Likewise.
16600 (commands): Likewise. Add error handling.
16601
16602 * normal/script.c (grub_script_create_cmdline): If
16603 `grub_script_parsed' is 0, assume the parser encountered an error.
16604
c9a86192 166052006-04-02 Yoshinori K. Okuji <okuji@enbug.org>
16606
16607 * configure.ac: Add support for EFI. Fix the typo
16608 BUILD_LDDFLAGS. Restore the LDFLAGS after testing.
16609
70f3b243 166102006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
16611
16612 * util/unifont2pff.rb: Removed unnecessary byte ordering. Now
16613 foreign multibyte characters should be shown correctly.
16614
65f201ad 166152006-04-01 Vesa Jaaskelainen <chaac@nic.fi>
16616
16617 * normal/main.c (grub_normal_menu_addentry): Fixed menu size
16618 calculation.
16619 (read_config_file): Made it to close file before returning.
16620
b4b93674 166212006-03-31 Vesa Jaaskelainen <chaac@nic.fi>
16622
16623 * DISTLIST: Added include/grub/i386/pc/vbeblit.h,
16624 include/grub/i386/pc/vbefill.h, video/i386/pc/vbeblit.c,
16625 video/i386/pc/vbefill.c.
16626
16627 * conf/i386-pc.rmk (vbe_mod_SOURCES): Added video/i386/pc/vbeblit.c,
16628 video/i386/pc/vbefill.c.
16629
16630 * include/grub/video.h (grub_video_blit_format): New enum.
16631 (grub_video_mode_info): Added new member blit_format.
16632 (grub_video_get_blit_format): New function prototype.
16633
16634 * include/grub/i386/pc/vbe.h (grub_video_vbe_get_video_ptr): New
16635 function prototype.
16636 (grub_video_vbe_map_rgb): Likewise.
16637 (grub_video_vbe_unmap_color): Likewise.
16638
16639 * include/grub/i386/pc/vbeblit.h: New file.
16640
16641 * include/grub/i386/pc/vbefill.h: New file.
16642
16643 * video/video.c (grub_video_get_blit_format): New function.
16644 (grub_video_vbe_get_video_ptr): Re-declared as non-static.
16645 (grub_video_vbe_map_rgb): Likewise.
16646 (grub_video_vbe_unmap_color): Likewise.
16647
16648 * video/i386/pc/vbe.c (grub_video_vbe_fill_rect): Changed to use more
16649 optimized fills.
16650 (grub_video_vbe_blit_render_target): Changed to use more optimized
16651 blits.
16652 (grub_video_vbe_setup): Added detection for optimized settings.
16653 (grub_video_vbe_create_render_target): Likewise.
16654
16655 * video/i386/pc/vbeblit.c: New file.
16656
16657 * video/i386/pc/vbefill.c: New file.
16658
c2379b9c 166592006-03-30 Vesa Jaaskelainen <chaac@nic.fi>
16660
16661 * font/manager.c (grub_font_get_glyph): Removed font fixup from
16662 here...
16663
16664 * util/unifont2pff.rb: ... and moved it to here. Improved argument
16665 parsing to support both hex and dec ranges. If filename was missing
16666 show usage information.
16667
bd0d7896 166682006-03-14 Vesa Jaaskelainen <chaac@nic.fi>
16669
16670 * DISTLIST: Added include/grub/video.h, term/gfxterm.c,
16671 video/video.c, commands/videotest.c. Removed term/i386/pc/vesafb.c.
16672
16673 * conf/i386-pc.rmk (pkgdata_MODULES): Added video.mod,
16674 gfxterm.mod, videotest.mod. Removed vga.mod, vesafb.mod.
16675 (video_mod_SOURCES): Added.
16676 (video_mod_CFLAGS): Likewise.
16677 (video_mod_LDFLAGS): Likewise.
16678 (gfxterm_mod_SOURCES): Likewise.
16679 (gfxterm_mod_CFLAGS): Likewise.
16680 (gfxterm_mod_LDFLAGS): Likewise.
16681 (videotest_mod_SOURCES): Likewise.
16682 (videotest_mod_CFLAGS): Likewise.
16683 (videotest_mod_LDFLAGS): Likewise.
16684 (vesafb_mod_SOURCES): Removed.
16685 (vesafb_mod_CFLAGS): Likewise.
16686 (vesafb_mod_LDFLAGS): Likewise.
16687 (vga_mod_SOURCES): Likewise.
16688 (vga_mod_CFLAGS): Likewise.
16689 (vga_mod_LDFLAGS): Likewise.
16690
16691 * commands/videotest.c: New file.
16692
16693 * font/manager.c (fill_with_default_glyph): Modified to use
16694 grub_font_glyph.
16695 (grub_font_get_glyph): Likewise.
16696 (fontmanager): Renamed from this...
16697 (font_manager): ... to this.
16698
16699 * include/grub/font.h (grub_font_glyph): Added new structure.
16700 (grub_font_get_glyph): Modified to use grub_font_glyph.
16701
16702 * include/grub/misc.h (grub_abs): Added as inline function.
16703
16704 * include/grub/video.h: New file.
16705
16706 * include/grub/i386/pc/vbe.h (GRUB_VBE_STATUS_OK): New macro.
16707 (GRUB_VBE_MEMORY_MODEL_PACKED_PIXEL): Likewise.
16708 (GRUB_VBE_MEMORY_MODEL_DIRECT_COLOR): Likewise.
16709 (grub_vbe_get_controller_info): Renamed from this...
16710 (grub_vbe_bios_get_controller_info): ... to this.
16711 (grub_vbe_get_mode_info): Renamed from this...
16712 (grub_vbe_bios_get_mode_info): ... to this.
16713 (grub_vbe_set_mode): Renamed from this...
16714 (grub_vbe_bios_set_mode): ... to this.
16715 (grub_vbe_get_mode): Renamed from this...
16716 (grub_vbe_bios_get_mode): ... to this.
16717 (grub_vbe_set_memory_window): Renamed from this...
16718 (grub_vbe_bios_set_memory_window): ... to this.
16719 (grub_vbe_get_memory_window): Renamed from this...
16720 (grub_vbe_bios_get_memory_window): ... to this.
16721 (grub_vbe_set_scanline_length): Renamed from this...
16722 (grub_vbe_set_scanline_length): ... to this.
16723 (grub_vbe_get_scanline_length): Renamed from this...
16724 (grub_vbe_bios_get_scanline_length): ... to this.
16725 (grub_vbe_set_display_start): Renamed from this...
16726 (grub_vbe_bios_set_display_start): ... to this.
16727 (grub_vbe_get_display_start): Renamed from this...
16728 (grub_vbe_bios_get_display_start): ... to this.
16729 (grub_vbe_set_palette_data): Renamed from this...
16730 (grub_vbe_bios_set_palette_data): ... to this.
16731 (grub_vbe_set_pixel_rgb): Removed.
16732 (grub_vbe_set_pixel_index): Likewise.
16733
16734 * kern/i386/pc/startup.S (grub_vbe_get_controller_info): Renamed
16735 from this...
16736 (grub_vbe_bios_get_controller_info): ... to this.
16737 (grub_vbe_get_mode_info): Renamed from this...
16738 (grub_vbe_bios_get_mode_info): ... to this.
16739 (grub_vbe_set_mode): Renamed from this...
16740 (grub_vbe_bios_set_mode): ... to this.
16741 (grub_vbe_get_mode): Renamed from this...
16742 (grub_vbe_bios_get_mode): ... to this.
16743 (grub_vbe_set_memory_window): Renamed from this...
16744 (grub_vbe_bios_set_memory_window): ... to this.
16745 (grub_vbe_get_memory_window): Renamed from this...
16746 (grub_vbe_bios_get_memory_window): ... to this.
16747 (grub_vbe_set_scanline_length): Renamed from this...
16748 (grub_vbe_set_scanline_length): ... to this.
16749 (grub_vbe_get_scanline_length): Renamed from this...
16750 (grub_vbe_bios_get_scanline_length): ... to this.
16751 (grub_vbe_set_display_start): Renamed from this...
16752 (grub_vbe_bios_set_display_start): ... to this.
16753 (grub_vbe_get_display_start): Renamed from this...
16754 (grub_vbe_bios_get_display_start): ... to this.
16755 (grub_vbe_set_palette_data): Renamed from this...
16756 (grub_vbe_bios_set_palette_data): ... to this.
16757 (grub_vbe_bios_get_controller_info): Fixed problem with registers
16758 getting corrupted after calling it. Added more pushes and pops.
16759 (grub_vbe_bios_set_mode): Likewise.
16760 (grub_vbe_bios_get_mode): Likewise.
16761 (grub_vbe_bios_get_memory_window): Likewise.
16762 (grub_vbe_bios_set_scanline_length): Likewise.
16763 (grub_vbe_bios_get_scanline_length): Likewise.
16764 (grub_vbe_bios_get_display_start): Likewise.
16765 (grub_vbe_bios_set_palette_data): Likewise.
16766
16767 * normal/cmdline.c (cl_set_pos): Refresh the screen.
16768 (cl_insert): Likewise.
16769 (cl_delete): Likewise.
16770
16771 * term/gfxterm.c: New file.
16772
16773 * term/i386/pc/vesafb.c: Removed file.
16774
16775 * video/video.c: New file.
16776
16777 * video/i386/pc/vbe.c (real2pm): Added new function.
16778 (grub_video_vbe_draw_pixel): Likewise.
16779 (grub_video_vbe_get_video_ptr): Likewise.
16780 (grub_video_vbe_get_pixel): Likewise
16781 (grub_video_vbe_init): Likewise.
16782 (grub_video_vbe_fini): Likewise.
16783 (grub_video_vbe_setup): Likewise.
16784 (grub_video_vbe_get_info): Likewise.
16785 (grub_video_vbe_set_palette): Likewise.
16786 (grub_video_vbe_get_palette): Likewise.
16787 (grub_video_vbe_set_viewport): Likewise.
16788 (grub_video_vbe_get_viewport): Likewise.
16789 (grub_video_vbe_map_color): Likewise.
16790 (grub_video_vbe_map_rgb): Likewise.
16791 (grub_video_vbe_map_rgba): Likewise.
16792 (grub_video_vbe_unmap_color): Likewise.
16793 (grub_video_vbe_fill_rect): Likewise.
16794 (grub_video_vbe_blit_glyph): Likewise.
16795 (grub_video_vbe_blit_bitmap): Likewise.
16796 (grub_video_vbe_blit_render_target): Likewise.
16797 (grub_video_vbe_scroll): Likewise.
16798 (grub_video_vbe_swap_buffers): Likewise.
16799 (grub_video_vbe_create_render_target): Likewise.
16800 (grub_video_vbe_delete_render_target): Likewise.
16801 (grub_video_vbe_set_active_render_target): Likewise.
16802 (grub_vbe_set_pixel_rgb): Remove function.
16803 (grub_vbe_set_pixel_index): Likewise.
16804 (index_color_mode): Remove static variable.
16805 (active_mode): Likewise.
16806 (framebuffer): Likewise.
16807 (bytes_per_scan_line): Likewise.
16808 (grub_video_vbe_adapter): Added new static variable.
16809 (framebuffer): Likewise.
16810 (render_target): Likewise.
16811 (initial_mode): Likewise.
16812 (mode_in_use): Likewise.
16813 (mode_list): Likewise.
16814
5f97350b 168152006-03-10 Marco Gerards <marco@gnu.org>
16816
16817 * configure.ac (AC_INIT): Bumped to 1.93.
16818
16819 * DISTLIST: Added `include/grub/hfs.h'.
16820
a3c5c6f8 168212006-02-01 Yoshinori K. Okuji <okuji@enbug.org>
16822
16823 * boot/i386/pc/boot.S (general_error): Before looping, try INT
16824 18H, which might help the BIOS falling back to next boot media.
16825
6de53d26 168262006-01-25 Yoshinori K. Okuji <okuji@enbug.org>
16827
16828 * util/i386/pc/grub-install.in: Escape a backslash. Reported by
16829 Poe Chen <poe.poechen@gmail.com>.
16830
77c4a393 168312006-01-17 Marco Gerards <marco@gnu.org>
16832
16833 * include/grub/normal.h: Include <grub/script.h>.
16834 (grub_command_list): Removed struct.
16835 (grub_command_list_t): Removed type.
16836 (grub_menu_entry): Remove members `num' and `command_list'. Add
16837 members `commands' and `sourcecode'.
16838 * include/grub/script.h: Add inclusion guards.
16839 (grub_script_cmd_menuentry): New struct.
16840 (grub_script_execute_menuentry): New prototype.
16841 (grub_script_lexer_record_start): Likewise.
16842 (grub_script_lexer_record_stop): Likewise.
16843 * normal/execute.c (grub_script_execute_menuentry): New function.
16844 * normal/lexer.c (record, recording, recordpos, recordlen): New
16845 variables.
16846 (grub_script_lexer_record_start): New function.
16847 (grub_script_lexer_record_stop): Likewise.
16848 (recordchar): Likewise.
16849 (nextchar): Likewise.
16850 (grub_script_yylex): Use `nextchar' to fetch new characters. Use
16851 2048 as the buffer size. Add the tokens `menuentry' and `@'.
16852 * normal/main.c: Include <grub/parser.h> and <grub/script.h>
16853 (current_menu): New variable.
16854 (free_menu): Mainly rewritten.
16855 (grub_normal_menu_addentry): New function.
16856 (read_config_file): Rewritten.
16857 * normal/menu.c (run_menu_entry): Mainly rewritten.
fe987087 16858 * normal/menu_entry.c (make_screen): Rewritten the code to insert
77c4a393 16859 the menu entry.
16860 (run): Mainly rewritten.
16861 * normal/parser.y (menu_entry): New variable.
16862 (GRUB_PARSER_TOKEN_MENUENTRY): New token.
16863 (menuentry): New rule.
16864 (command): Add `menuentry'.
16865 (if_statement): Allow additional returns before `fi'.
16866 * normal/script.c (grub_script_create_cmdmenu): New function.
16867
144f1f98 168682006-01-03 Marco Gerards <marco@gnu.org>
16869
16870 * INSTALL: GNU Bison is required.
16871 * configure.ac: Rewritten the test to detect Bison.
16872 * Makefile.in (YACC): New variable. Reported by Xun Sun
16873 <xun.sun.cn@gmail.com>.
16874
af4b2d89 168752006-01-03 Marco Gerards <marco@gnu.org>
16876
16877 * fs/hfsplus.c (grub_hfsplus_read_block): Convert the offset of
16878 the HFS+ filesystem to filesystem blocks.
16879 (grub_hfsplus_iterate_dir): Cast the `fileinfo' assignment so a
16880 GCC warning is silenced.
16881
15643b71 168822006-01-03 Marco Gerards <marco@gnu.org>
16883
16884 * partmap/apple.c (apple_partition_map_iterate): Convert the data
16885 read from disk from big endian to host byte order.
16886
00905879 168872006-01-03 Hollis Blanchard <hollis@penguinppc.org>
16888
16889 * fs/hfs.c: Include <grub/hfs.h>. Added reference to the official
16890 documentation.
16891 (GRUB_HFS_EMBED_HFSPLUS_SIG): New macro.
16892 (grub_hfs_mount): Grammar fix in error. Make sure this is not an
16893 embedded HFS+ filesystem.
16894 (GRUB_HFS_MAGIC, grub_hfs_extent, grub_hfs_datarecord_t)
16895 (grub_hfs_sblock): Move from here...
16896 * include/grub/hfs.h: To here... New file.
16897 * fs/hfsplus.c: Include <grub/hfs.h>. Added reference to the official
16898 documentation.
16899 (GRUB_HFSPLUS_MAGIC, GRUB_HFSPLUSX_MAGIC, GRUB_HFSPLUS_SBLOCK):
16900 New macros.
16901 (grub_hfsplus_volheader): Change type of member `magic' to
16902 `grub_uint16_t'.
16903 (grub_hfsplus_data): Add new member `embedded_offset'.
16904 (grub_hfsplus_read_block): Add the HFS+ wrapper offset to the
16905 returned block.
16906 (grub_hfsplus_mount): Read the HFS+ wrapper if it exists.
16907 Calculate the offset.
16908
8899bc3e 169092005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
16910
16911 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRP_ADDR):
16912 Removed.
16913 (GRUB_BOOT_MACHINE_DRP_SIZE): Likewise.
16914
ae8c0277 169152005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
16916
16917 * kern/env.c (grub_env_set): Check if ENV->VALUE instead of
16918 ENV->NAME is NULL after allocating ENV->VALUE.
16919
07084456 169202005-12-25 Marco Gerards <marco@gnu.org>
16921
16922 * kern/env.c (grub_env_set): Rewritten the error handling code.
16923
4750f5f1 169242005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
16925
16926 * geninit.sh: Made more robust, and more portable.
16927
50214199 169282005-12-25 Marco Gerards <marco@gnu.org>
16929
16930 Add support for Apple HFS+ filesystems.
f19dbdb7 16931
50214199 16932 * fs/hfsplus.c: New file.
16933
16934 * DISTLIST: Added `fs/hfsplus.c'.
16935
16936 * conf/common.rmk (pkgdata_MODULES): Add `hfsplus.mod'.
16937 (hfsplus_mod_SOURCES): New variable.
16938 (hfsplus_mod_CFLAGS): Likewise.
16939 (hfsplus_mod_LDFLAGS): Likewise.
16940 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/hfsplus.c'.
16941 (grub_setup_SOURCES): Likewise.
16942 (grub_mkdevicemap_SOURCES): Likewise.
16943 (grub_emu_SOURCES): Likewise.
16944 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
16945
16946 * fs/fshelp.c (grub_fshelp_log2blksize): New function.
16947
16948 * include/grub/fshelp.h (grub_fshelp_log2blksize): new prototype.
16949
befaed6c 169502005-12-25 Yoshinori K. Okuji <okuji@enbug.org>
16951
16952 * DISTLIST: Added geninitheader.sh, geninit.sh, commands/test.c,
16953 commands/i386/pc/play.c, conf/common.mk, conf/common.rmk,
16954 include/grub/parser.h, include/grub/script.h, kern/parser.c,
16955 kern/sparc64/cache.S, normal/execute.c, normal/function.c,
16956 normal/lexer.c, normal/parser.y, normal/script.c, and
16957 partmap/gpt.c.
16958 Removed kern/sparc64/cache.c.
16959
16960 * conf/common.rmk (DISTCLEANFILES): Added grub_script.tab.c,
16961 grub_script.tab.h, grub_modules_init.lst, grub_modules_init.h,
16962 grub_emu_init.c.
16963
16964 * configure.ac (AC_INIT): Bumped to 1.92.
16965
6a124103 169662005-12-24 Vesa Jaaskelainen <chaac@nic.fi>
16967
16968 * kern/err.c (grub_error_push): Added new function to support error
16969 stacks.
16970 (grub_error_pop): Likewise.
16971 (grub_error_stack_items): New local variable to support error stacks.
16972 (grub_error_stack_pos): Likewise.
16973 (grub_error_stack_assert): Likewise.
16974 (GRUB_ERROR_STACK_SIZE): Added new define to configure maximum error
16975 stack depth.
16976 (grub_print_error): Added support to print errors from error stack.
16977
16978 * include/grub/err.h (grub_error_push): Added function prototype.
16979 (grub_error_pop): Likewise.
16980
be973c1b 169812005-12-09 Hollis Blanchard <hollis@penguinppc.org>
16982
16983 * configure.ac: Accept `powerpc64' as host_cpu.
16984 (amd64): Rename to `biarch32'.
16985
16986 * kern/powerpc/cache.S (grub_arch_sync_caches): Handle
16987 non-cacheline-aligned addresses.
16988
16989 * kern/dl.c (grub_dl_load_core): Add grub_dprintf messages.
16990 (grub_dl_flush_cache): Likewise. Only call `grub_arch_sync_caches'
16991 if `size' is non-zero.
16992
b04216ab 169932005-12-03 Marco Gerards <mgerards@xs4all.nl>
16994
16995 * conf/common.rmk (grub_modules_init.lst): Use `-printf "%P\n"'
16996 and `cd' to make sure the filename is not prefixed with a
16997 directory name.
16998 (pkgdata_MODULES): Add `gpt.mod'.
16999 (gpt_mod_SOURCES): New variable.
17000 (gpt_mod_CFLAGS): Likewise.
17001 (gpt_mod_LDFLAGS): Likewise.
17002
17003 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/gpt.c'.
17004
17005 * include/grub/pc_partition.h (GRUB_PC_PARTITION_TYPE_GPT_DISK):
17006 New macro.
17007
17008 * partmap/gpt.c: New file.
17009
17010 * partmap/pc.c (pc_partition_map_iterate): Don't continue when a
17011 GPT partition map is detected.
17012
41730ed9 170132005-12-03 Vincent Pelletier <subdino2004@yahoo.fr>
17014
17015 * commands/i386/pc/play.c: New file.
17016 * conf/i386-pc.rmk (pkgdata_MODULES): Added play.mod.
17017 (play_mod_SOURCES, play_mod_CFLAGS, play_mod_LDFLAGS): New
17018 macros.
f19dbdb7 17019
95dc3643 170202005-11-27 Marco Gerards <mgerards@xs4all.nl>
17021
17022 * include/grub/dl.h (GRUB_MOD_INIT): Use `__attribute__
17023 ((unused))' to silence gcc warning.
17024
1569ec51 170252005-11-26 Hollis Blanchard <hollis@penguinppc.org>
17026
17027 * configure.ac: Correct `AC_PROG_YACC' test.
17028
9abde152 170292005-11-22 Hollis Blanchard <hollis@penguinppc.org>
17030
17031 * util/powerpc/ieee1275/grub-install.in: Run the mount point
17032 check before installing files.
17033
44b83271 170342005-11-22 Mike Small <smallm@panix.com>
17035
17036 * util/powerpc/ieee1275/grub-install.in (grubdir): Fixed partition
17037 number regex so multidigit numbers are recognized correctly.
17038
170392005-11-22 Mike Small <smallm@panix.com>
17040
17041 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Add a
17042 debugging message before attempting to claim memory.
17043 (grub_rescue_cmd_initrd): Add a claim debugging message and try
17044 multiple addresses in case of failure.
17045
9c12956b 170462005-11-22 Hollis Blanchard <hollis@penguinppc.org>
17047
17048 * term/tparm.c (get_space): Remove empty `if' statement.
17049
17050 * fs/ufs.c (grub_ufs_find_file): Remove `grub_le_to_cpu32'.
17051
17052 * kern/parser.c (check_varstate): Rename `state' to 's'.
17053
aeaf81d9 170542005-11-22 Hollis Blanchard <hollis@penguinppc.org>
17055
17056 * partmap/acorn.c: Change `unsigned' to `unsigned int'. Move all
17057 variable definitions to the beginning of each function. Sort stack
17058 variables by size.
17059 (find): Rename to `acorn_partition_map_find'. Cast `grub_disk_read'
17060 `buf' argument to `char *'.
17061
79bbb63f 170622005-11-22 Hollis Blanchard <hollis@penguinppc.org>
17063
17064 * conf/powerpc-ieee1275.rmk: Include conf/common.mk.
17065 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 17066 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
79bbb63f 17067 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
17068 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
17069 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
17070 configfile.mod, search.mod, gzio.mod and test.mod.
17071 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
17072 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
17073 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
17074 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
17075 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
17076 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
17077 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
17078 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
17079 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
17080 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
17081 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
17082 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
17083 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
17084 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
17085 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
17086 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
17087 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
17088 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
17089 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
17090 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
17091 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
17092 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
17093 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Removed.
17094
17095 * conf/common.mk (grub_modules_init.lst): Use `find' instead of
17096 `grep --include'.
17097 (pkgdata_MODULES): Add test.mod.
17098
233b1628 170992005-11-18 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
17100
17101 * genmk.rb: Fixed list rules moved to Makefile.in. Recognise
17102 appending to variables with "+=".
17103 (PModule): Use full pathname to generate *.lst filenames.
17104
17105 * Makefile.in: Fixed list rules moved from genmk.rb.
17106 (.DELETE_ON_ERROR): New special target.
17107 (RMKFILES): Add common.rmk and sparc64-ieee1275.rmk.
17108
17109 * conf/i386-pc.rmk: Include conf/common.mk.
17110 (pkgdata_MODULES): Removed fshelp.mod, fat.mod, ext2.mod, ufs.mod,
fe6b695a 17111 minix.mod, hfs.mod, jfs.mod, xfs.mod, affs.mod, sfs.mod,
233b1628 17112 hello.mod, boot.mod, terminal.mod, ls.mod, cmp.mod, cat.mod,
17113 help.mod, font.mod, terminfo.mod, amiga.mod, apple.mod, pc.mod,
17114 sun.mod, acorn.mod, loopback.mod, default.mod, timeout.mod,
17115 configfile.mod, search.mod, gzio.mod and test.mod.
17116 (symlist.c, grub_script.tab.c, grub_script.tab.h, kernel_syms.lst)
17117 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c)
17118 (fshelp_mod_SOURCES, fshelp_mod_CFLAGS, fshelp_mod_LDFLAGS)
17119 (fat_mod_SOURCES, fat_mod_CFLAGS, fat_mod_LDFLAGS)
17120 (ext2_mod_SOURCES, ext2_mod_CFLAGS, ext2_mod_LDFLAGS)
17121 (ufs_mod_SOURCES, ufs_mod_CFLAGS, ufs_mod_LDFLAGS)
17122 (minix_mod_SOURCES, minix_mod_CFLAGS, minix_mod_LDFLAGS)
17123 (hfs_mod_SOURCES, hfs_mod_CFLAGS, hfs_mod_LDFLAGS, jfs_mod_SOURCES)
17124 (jfs_mod_CFLAGS, jfs_mod_LDFLAGS, iso9660_mod_SOURCES)
17125 (iso9660_mod_CFLAGS, iso9660_mod_LDFLAGS, xfs_mod_SOURCES)
17126 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
17127 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
17128 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, hello_mod_SOURCES)
17129 (hello_mod_CFLAGS, hello_mod_LDFLAGS, boot_mod_SOURCES)
17130 (boot_mod_CFLAGS, boot_mod_LDFLAGS, terminal_mod_SOURCES)
17131 (terminal_mod_CFLAGS, terminal_mod_LDFLAGS, ls_mod_SOURCES)
17132 (ls_mod_CFLAGS, ls_mod_LDFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
17133 (cmp_mod_LDFLAGS, cat_mod_SOURCES, cat_mod_CFLAGS, cat_mod_LDFLAGS)
17134 (help_mod_SOURCES, help_mod_CFLAGS, help_mod_LDFLAGS)
17135 (font_mod_SOURCES, font_mod_CFLAGS, font_mod_LDFLAGS)
17136 (terminfo_mod_SOURCES, terminfo_mod_CFLAGS, terminfo_mod_LDFLAGS)
17137 (amiga_mod_SOURCES, amiga_mod_CFLAGS, amiga_mod_LDFLAGS)
17138 (apple_mod_SOURCES, apple_mod_CFLAGS, apple_mod_LDFLAG): Move from
17139 here...
17140 * conf/common.rmk: ... to here. New file.
17141
17142 * conf/common.mk: New file.
17143
16f820c8 171442005-11-18 Yoshinori K. Okuji <okuji@enbug.org>
17145
17146 * conf/powerpc-ieee1275.rmk (grub_script.tab.h): Unified to ...
17147 (grub_script.tab.c): ... here.
17148
17149 * conf/sparc64-ieee1275.rmk (grub_script.tab.h): Unified to ...
17150 (grub_script.tab.c): ... here.
17151
17152 * conf/i386-pc.rmk (grub_script.tab.h): Unified to ...
17153 (grub_script.tab.c): ... here.
17154
17155 * normal/command.c (grub_command_find): Fixed a memory leak of
17156 MODULE_NAME. Reported by Mike Small <smallm@panix.com>.
17157
63ba1554 171582005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
17159
17160 * include/grub/symbol.h: (FUNCTION): Use double quotes instead of
17161 "@" which marks the start of a comment on ARM.
17162 (VARIABLE): Likewise.
17163
7f67dc13 171642005-11-13 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
17165
79bbb63f 17166 Add support for Linux/ADFS partition tables.
7f67dc13 17167
17168 * partmap/acorn.c: New file.
17169
17170 * include/grub/acorn_filecore.h: Likewise.
17171
17172 * DISTLIST: Added `partmap/acorn.c' and
17173 `include/grub/acorn_filecore.h'.
f19dbdb7 17174
7f67dc13 17175 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
17176 `partmap/acorn.c'.
17177 (pkgdata_MODULES): Add `acorn.mod'.
17178 (acorn_mod_SOURCES): New variable.
17179 (acorn_mod_CFLAGS): Likewise.
17180
17181 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
17182 `partmap/acorn.c'.
17183 (pkgdata_MODULES): Add `acorn.mod'.
17184 (acorn_mod_SOURCES): New variable.
17185 (acorn_mod_CFLAGS): Likewise.
17186
17187 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `partmap/acorn.c'.
17188 (pkgdata_MODULES): Add `acorn.mod'.
17189 (acorn_mod_SOURCES): New variable.
17190 (acorn_mod_CFLAGS): Likewise.
17191 (acorn_mod_LDFLAGS): Likewise.
17192
17193 * include/types.h (grub_disk_addr_t): New typedef.
17194
6d099807 171952005-11-13 Marco Gerards <mgerards@xs4all.nl>
17196
17197 * geninit.sh: New file.
17198
17199 * geninitheader.sh: Likewise.
17200
17201 * commands/boot.c (grub_boot_init, grub_boot_fini): Removed.
17202 * commands/cat.c (grub_cat_init, grub_cat_fini): Likewise.
17203 * commands/cmp.c (grub_cmp_init, grub_cmp_fini): Likewise.
17204 * commands/configfile.c (grub_configfile_init)
17205 (grub_configfile_fini): Likewise.
17206 * commands/default.c (grub_default_init, grub_default_fini):
17207 Likewise.
17208 * commands/help.c (grub_help_init, grub_help_fini): Likewise.
17209 * commands/ls.c (grub_ls_init, grub_ls_fini): Likewise.
17210 * commands/search.c (grub_search_init, grub_search_fini): Likewise.
17211 * commands/terminal.c (grub_terminal_init, grub_terminal_fini):
17212 Likewise.
17213 * commands/test.c (grub_test_init, grub_test_fini): Likewise.
17214 * commands/timeout.c (grub_timeout_init, grub_timeout_fini):
17215 Likewise.
17216 * commands/i386/pc/halt.c (grub_halt_init, grub_halt_fini): Likewise.
fe6b695a 17217 * commands/ieee1275/halt.c (grub_halt_init, grub_halt_fini):
6d099807 17218 Likewise.
17219 * commands/i386/pc/reboot.c (grub_reboot_init, grub_reboot_fini):
17220 Likewise.
fe6b695a 17221 * commands/ieee1275/reboot.c (grub_reboot_init, grub_reboot_fini):
6d099807 17222 Likewise.
17223 * disk/loopback.c (grub_loop_init, grub_loop_fini): Likewise.
17224 * fs/affs.c (grub_affs_init, grub_affs_fini): Likewise.
17225 * fs/ext2.c (grub_ext2_init, grub_ext2_fini): Likewise.
17226 * fs/fat.c (grub_fat_init, grub_fat_fini): Likewise.
17227 * fs/hfs.c (grub_hfs_init, grub_hfs_fini): Likewise.
17228 * fs/iso9660.c (grub_iso9660_init, grub_iso9660_fini): Likewise.
17229 * fs/jfs.c (grub_jfs_init, grub_jfs_fini): Likewise.
17230 * fs/minix.c (grub_minix_init, grub_minix_fini): Likewise.
17231 * fs/sfs.c (grub_sfs_init, grub_sfs_fini): Likewise.
17232 * fs/ufs.c (grub_ufs_init, grub_ufs_fini): Likewise.
17233 * fs/xfs.c (grub_xfs_init, grub_xfs_fini): Likewise.
17234 * normal/main.c (grub_normal_init, grub_normal_fini): Likewise.
17235 * partmap/amiga.c (grub_amiga_partition_map_init)
17236 (grub_amiga_partition_map_fini): Likewise.
17237 * partmap/apple.c (grub_apple_partition_map_init)
17238 (grub_apple_partition_map_fini): Likewise.
17239 * partmap/pc.c (grub_pc_partition_map_init)
17240 (grub_pc_partition_map_fini): Likewise.
17241 * partmap/sun.c (grub_sun_partition_map_init,
17242 grub_sun_partition_map_fini): Likewise.
17243 * term/terminfo.c (grub_terminal_init, grub_terminal_fini):
17244 Likewise.
17245
17246 * util/grub-emu.c: Include <grub_modules_init.h>.
17247 (main): Don't initialize and de-initialize any modules directly,
17248 use `grub_init_all' and `grub_fini_all' instead.
17249
17250 * term/i386/pc/vesafb.c (grub_vesafb_init): Renamed to
17251 `grub_vesafb_mod_init'.
17252 (grub_vesafb_fini): Renamed to `grub_vesafb_mod_fini'. Updated
17253 all users.
17254 * term/i386/pc/vga.c (grub_vga_init): Renamed to
17255 `grub_vga_mod_init'. Updated all users.
17256 (grub_vga_fini): Renamed to `grub_vga_mod_fini'.
f19dbdb7 17257
6d099807 17258 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `grub_emu_init.c'.
17259 (grub_modules_init.lst, grub_modules_init.h, grub_emu_init.c): New
17260 rules.
17261
17262 * include/grub/dl.h (GRUB_MOD_INIT): Add argument `name'.
17263 Generate a function to initialize the module in utilities.
17264 Updated all callers.
17265 (GRUB_MOD_FINI): Add argument `name'. Generate a function to
17266 initialize the module in utilities. Updated all callers.
17267
9046bcf0 172682005-11-09 Hollis Blanchard <hollis@penguinppc.org>
17269
17270 * term/ieee1275/ofconsole.c (grub_ofconsole_cls): Use both the ANSI
17271 escape sequence and a literal ^L to clear the screen.
17272
17273 * commands/ieee1275/suspend.c (grub_cmd_suspend): Clear the screen
17274 when returning from Open Firmware.
17275
d13ea639 172762005-11-09 Hollis Blanchard <hollis@penguinppc.org>
17277
17278 * term/ieee1275/ofconsole.c (grub_ofconsole_width): New variable.
17279 (grub_ofconsole_height): Likewise.
17280 (grub_ofconsole_putchar): If `grub_curr_x' exceeds console width,
17281 manually insert a '\n'.
17282 (grub_ofconsole_getwh): Set and return `grub_ofconsole_width' and
17283 `grub_ofconsole_height'. Return early if these are already set.
17284
a8fcf206 172852005-11-07 Vincent Pelletier <subdino2004@yahoo.fr>
17286
17287 * conf/sparc64-ieee1275.rmk (grub_emu_SOURCES): Add
17288 `commands/test.c', `fs/affs.c', `fs/sfs.c', `fs/xfs.c',
17289 `normal/execute.c', `normal/lexer.c', `io/gzio.c',
17290 `kern/parser.c', `grub_script.tab.c', `normal/function.c'
17291 and `normal/script.c'.
17292 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
17293 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
17294 (test_mod_SOURCES): New variable.
17295 (test_mod_CFLAGS): Likewise.
17296 (test_mod_LDFLAGS): Likewise.
17297 (pkgdata_MODULES): Add `test.mod'.
17298 (grub_script.tab.c): New rule.
17299 (grub_script.tab.h): Likewise.
17300
b6b32745 173012005-11-07 Marco Gerards <mgerards@xs4all.nl>
17302
17303 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
17304 `commands/test.c', `normal/execute.c', `normal/lexer.c',
17305 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
17306 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
17307 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
17308 (test_mod_SOURCES): New variable.
17309 (test_mod_CFLAGS): Likewise.
17310 (pkgdata_MODULES): Add `test.mod'.
17311 (grub_script.tab.c): New rule.
17312 (grub_script.tab.h): Likewise.
17313
daac212a 173142005-11-06 Marco Gerards <mgerards@xs4all.nl>
17315
17316 Add initial scripting support.
17317
17318 * commands/test.c: New file.
17319 * include/grub/script.h: Likewise.
17320 * normal/execute.c: Likewise.
17321 * normal/function.c: Likewise.
17322 * normal/lexer.c: Likewise.
17323 * normal/parser.y: Likewise.
17324 * normal/script.c: Likewise.
17325
17326 * configure.ac: Add `AC_PROG_YACC' test.
f19dbdb7 17327
daac212a 17328 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/test.c',
17329 `normal/execute.c', `normal/lexer.c', `grub_script.tab.c',
17330 `normal/function.c' and `normal/script.c'.
17331 (normal_mod_SOURCES): `normal/execute.c', `normal/lexer.c',
17332 `grub_script.tab.c', `normal/function.c' and `normal/script.c'.
b6b32745 17333 (test_mod_SOURCES, test_mod_CFLAGS, test_mod_LDFLAGS): New
17334 variables.
daac212a 17335 (pkgdata_MODULES): Add `test.mod'.
17336 (grub_script.tab.c): New rule.
17337 (grub_script.tab.h): Likewise.
17338
17339 * include/grub/err.h (grub_err_t): Add `GRUB_ERR_TEST_FAILURE'.
17340
17341 * include/grub/normal.h (grub_test_init): New prototype.
17342 (grub_test_fini): Likewise.
f19dbdb7 17343
daac212a 17344 * normal/command.c: Include <grub/script.h>.
17345 (grub_command_execute): Rewritten.
f19dbdb7 17346
daac212a 17347 * util/grub-emu.c (main): Call `grub_test_init' and
17348 `grub_test_fini'.
17349
77500b2b 173502005-11-03 Hollis Blanchard <hollis@penguinppc.org>
17351
17352 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Initialize `msecs'
17353 to 0.
17354 * term/ieee1275/ofconsole.c (grub_ofconsole_checkkey): Return -1 if
17355 there are no pending characters.
17356
e45deb9e 173572005-11-03 Hollis Blanchard <hollis@penguinppc.org>
17358
17359 * kern/powerpc/ieee1275/openfw.c (grub_ieee1275_get_devname): Use
17360 `grub_strndup' to drop device arguments. Replace unnecessary
17361 `grub_strndup' with `grub_strdup'.
17362
4ce32619 173632005-11-03 Hollis Blanchard <hollis@penguinppc.org>
17364
17365 * kern/term.c (grub_cls): Do not call grub_cur_term->cls() if the
17366 `debug' environment variable has been set.
17367
173682005-11-02 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 17369
4ce32619 17370 * Makefile.in (install-local): Use $(DATA).
17371 (uninstall): Likewise.
17372 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Move grub-mkimage...
17373 (sbin_UTILITIES): ... to here.
17374 (sbin_SCRIPTS): New variable.
17375 (grub_install_SOURCES): New variable.
17376 * util/powerpc/ieee1275/grub-install.in: New file.
17377 * util/powerpc/ieee1275/grub-mkimage.c (kernel_path): Remove
17378 variable.
17379 (add_segments): Call `grub_util_get_path'.
17380
25fe6f03 173812005-10-28 Yoshinori K. Okuji <okuji@enbug.org>
17382
17383 From Timothy Baldwin:
17384 * commands/ls.c (grub_ls_list_files): Close FILE with
17385 grub_file_close.
17386 * kern/misc.c (grub_vsprintf): Terminate the string S with NUL.
17387
04ccf3ec 173882005-10-24 Marco Gerards <mgerards@xs4all.nl>
17389
17390 * include/grub/parser.h: New file.
17391
17392 * kern/parser.c: Likewise.
17393
17394 * conf/i386-pc.rmk (kernel_img_SOURCES): Add `kern/parser.c'.
17395 (grub_setup_SOURCES): Likewise.
17396 (grub_probefs_SOURCES): Likewise.
17397 (grub_emu_SOURCES): Likewise.
17398 (kernel_img_HEADERS): Add `parser.h'.
17399
17400 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
17401 (grub_emu_SOURCES): Add `kern/parser.c'.
17402 (grubof_SOURCES): Likewise.
17403
17404 * conf/sparc64-ieee1275.rmk (grubof_HEADERS): Add `parser.h'.
17405 (grubof_SOURCES): Add `kern/parser.c'.
17406
17407 * include/grub/misc.h (grub_split_cmdline): Removed prototype.
17408
17409 * kern/misc.c (grub_split_cmdline): Removed function.
17410
17411 * kern/rescue.c: Include <grub/parser.h>.
17412 (grub_enter_rescue_mode): Use `grub_parser_split_cmdline' instead
17413 of `grub_split_cmdline'.
17414
17415 * normal/command.c: Include <grub/parser.h>.
17416 (grub_command_execute): Use `grub_parser_split_cmdline' instead
17417 of `grub_split_cmdline'.
17418
17419 * normal/completion.c: Include <grub/parser.h>.
17420 (cmdline_state): New variable.
17421 (iterate_dir): End the filename with a quote depending on the
17422 command line state.
17423 (get_state): new function.
17424 (grub_normal_do_completion): Use `grub_parser_split_cmdline' to
17425 split the arguments and determine the current argument. When the
17426 argument string is not quoted, escape all spaces.
17427
6d8f4b0e 174282005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
17429
17430 * normal/sparc64/setjmp.S: New file.
17431
15cf03ed 174322005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
17433
17434 * include/grub/sparc64/libgcc.h: New file.
17435 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Remove -Av9.
17436 (normal_mod_SOURCES): Use normal/sparc64/setjmp.S instead of
17437 normal/sparc64/setjmp.c.
17438
03e8661a 174392005-10-23 Vincent Pelletier <subdino2004@yahoo.fr>
17440
17441 * kern/sparc64/dl.c: Rewritten for SPARCV9 ELF.
17442 * kern/sparc64/cache.S: New file.
17443 * kern/sparc64/cache.c: Removed.
17444 * conf/sparc64-ieee1275.rmk (COMMON_ASFLAGS): Add -Av9.
17445 (COMMON_CFLAGS): Add -mno-app-regs. Remove -mcpu=v9 and
17446 -mtune=ultrasparc.
17447 (COMMON_LDFLAGS): Add -melf64_sparc.
17448 (grubof_HEADERS): Add sparc64/libgcc.h and machine/kernel.h.
17449 (grubof_SOURCES): Use cache.S instead of cache.c.
17450 (grubof_LDFLAGS): Add -mno-app-regs. Replace "-Xlinker
17451 --oformat -Xlinker elf64-sparc" by "-Bstatic,-melf64_sparc".
17452 (pkgdata_MODULES): Uncomment. Leave linux.mod and _linux.mod
17453 commented though.
17454 (normal_mod_SOURCES): Add normal/completion.c and normal/misc.c.
17455 (_linux_mod_SOURCES, _linux_mod_CFLAGS, linux_mod_SOURCES)
17456 (linux_mod_CFLAGS): Commented out.
17457 (_linux_mod_LDFLAGS, linux_mod_LDFLAGS): New macro, commented
17458 out because module isn't built.
17459 (fshelp_mod_LDFLAGS, fat_mod_LDFLAGS, ext2_mod_LDFLAGS)
17460 (ufs_mod_LDFLAGS, minix_mod_LDFLAGS, hfs_mod_LDFLAGS)
17461 (jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS, normal_mod_LDFLAGS)
17462 (hello_mod_LDFLAGS, boot_mod_LDFLAGS, terminal_mod_LDFLAGS)
17463 (ls_mod_LDFLAGS, cmp_mod_LDFLAGS, cat_mod_LDFLAGS)
17464 (font_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
17465 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
17466 (suspend_mod_LDFLAGS, reboot_mod_LDFLAGS, halt_mod_LDFLAGS)
17467 (help_mod_LDFLAGS, default_mod_LDFLAGS, timeout_mod_LDFLAGS)
17468 (configfile_mod_LDFLAGS, search_mod_LDFLAGS, xfs_mod_SOURCES)
17469 (xfs_mod_CFLAGS, xfs_mod_LDFLAGS, affs_mod_SOURCES)
17470 (affs_mod_CFLAGS, affs_mod_LDFLAGS, sfs_mod_SOURCES)
17471 (sfs_mod_CFLAGS, sfs_mod_LDFLAGS, gzio_mod_SOURCES)
17472 (gzio_mod_CFLAGS, gzio_mod_LDFLAGS): New macro.
17473
34eeec8a 174742005-10-20 Yoshinori K. Okuji <okuji@enbug.org>
17475
17476 * util/i386/pc/grub-probefs.c (main): Call grub_xfs_init and
17477 grub_xfs_fini. Do not call grub_hfs_init or grub_hfs_fini any
17478 longer, because HFS should not be used on PC.
17479
708367a3 174802005-10-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
17481
17482 * io/gzio.c (grub_gzio_read): Use OFFSET instead of FILE->OFFSET
17483 consistently within the loop.
17484
6fa1251a 174852005-10-15 Marco Gerards <mgerards@xs4all.nl>
17486
17487 * fs/xfs.c (grub_xfs_iterate_dir): Detect an error if part of a
17488 directory can not be read.
17489
4801580b 174902005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
17491
17492 * configure.ac (AC_INIT): Increase the version number to 1.91.
17493
17494 * DISTLIST: Added include/grub/terminfo.h, include/grub/tparm.h,
17495 include/grub/i386/pc/serial.h, term/terminfo.c, term/tparm.c and
17496 term/i386/pc/serial.c.
17497
219ad426 174982005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
17499
17500 * kern/file.c (grub_file_seek): Seeking to an offset equal to a
17501 file size must be permitted.
17502
17503 * kern/i386/pc/startup.S (multiboot_trampoline): Fix a mistake
17504 between %ah and %al.
17505
688e5699 175062005-10-15 Yoshinori K. Okuji <okuji@enbug.org>
17507
17508 * fs/xfs.c (grub_xfs_iterate_dir): Change the type of BLK to
17509 grub_uint64_t.
17510 Call the hook with a NUL-terminated filename.
17511 (grub_xfs_mount): Use grub_be_to_cpu32 instead of
17512 grub_cpu_to_be32.
17513
17514 * kern/term.c (cursor_state): New variable.
17515 (grub_term_set_current): Reset the cursor state on a new
17516 terminal.
17517 (grub_setcursor): Rewritten to use CURSOR_STATE.
17518 (grub_getcursor): New function.
17519
17520 * include/grub/term.h (grub_getcursor): New prototype.
17521
17522 * io/gzio.c (test_header): Align BUF for accessing it as 32-bit
17523 integers on ARM. Reported by Timothy Baldwin
17524 <T.E.Baldwin99@members.leeds.ac.uk>.
17525
bb34586c 175262005-10-11 Marco Gerards <mgerards@xs4all.nl>
17527
17528 * fs/sfs.c (grub_sfs_open): Don't free `data->label' if it is not
17529 allocated.
17530 (grub_sfs_dir): Likewise.
17531
9a909877 175322005-10-09 Marco Gerards <mgerards@xs4all.nl>
17533
17534 Add support for the SFS filesystem.
17535
17536 * fs/sfs.c: New file.
17537
17538 * DISTLIST: Added `fs/sfs.c'.
17539
17540 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/sfs.c'.
17541 (grub_probefs_SOURCES): Likewise.
17542 (grub_emu_SOURCES): Likewise.
17543 (pkgdata_MODULES): Add `sfs.mod'.
17544 (sfs_mod_SOURCES): New variable.
17545 (sfs_mod_CFLAGS): Likewise.
17546 (sfs_mod_LDFLAGS): Likewise.
17547
17548 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/sfs.c'.
17549 (pkgdata_MODULES): Add `sfs.mod'.
17550 (sfs_mod_SOURCES): New variable.
17551 (sfs_mod_CFLAGS): Likewise.
17552
17553 * util/grub-emu.c (main): Call `grub_sfs_init' and
17554 `grub_sfs_fini'.
17555
17556 * include/grub/fs.h (grub_sfs_init): New prototype.
17557 (grub_sfs_fini): Likewise.
17558
57bdbde3 175592005-10-07 Marco Gerards <mgerards@xs4all.nl>
17560
17561 Add support for the AFFS filesystem.
17562
17563 * fs/affs.c: New file.
17564
17565 * DISTLIST: Added `fs/affs.c'.
17566
17567 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/affs.c'.
17568 (grub_probefs_SOURCES): Likewise.
17569 (grub_emu_SOURCES): Likewise.
17570 (pkgdata_MODULES): Add `affs.mod'.
17571 (affs_mod_SOURCES): New variable.
17572 (affs_mod_CFLAGS): Likewise.
17573 (affs_mod_LDFLAGS): Likewise.
17574
17575 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/affs.c'.
17576 (pkgdata_MODULES): Add `affs.mod'.
17577 (affs_mod_SOURCES): New variable.
17578 (affs_mod_CFLAGS): Likewise.
17579
17580 * util/grub-emu.c (main): Call `grub_affs_init' and
17581 `grub_affs_fini'.
17582
17583 * include/grub/fs.h (grub_affs_init): New prototype.
17584 (grub_affs_fini): Likewise.
17585
047b67e0 175862005-10-01 Marco Gerards <mgerards@xs4all.nl>
17587
17588 * fs/xfs.c (grub_xfs_iterate_dir): Add parentheses.
17589
59b8208a 175902005-10-01 Marco Gerards <mgerards@xs4all.nl>
17591
17592 * configure.ac: Accept `x86_64' as host_cpu. In that case add
17593 `-m32' to CFLAGS.
17594
17595 * genmk.rb (class PModule): Always use `$(#{prefix}_LDFLAGS)' when
17596 linking.
f19dbdb7 17597
59b8208a 17598 * conf/i386-pc.rmk (COMMON_CFLAGS): Add `-m32'.
17599 (COMMON_LDFLAGS): New variable.
17600 (kernel_img_LDFLAGS): Include `COMMON_FLAGS'.
17601 (_chain_mod_LDFLAGS, fshelp_mod_LDFLAGS, fat_mod_LDFLAGS)
17602 (ext2_mod_LDFLAGS, ufs_mod_LDFLAGS, minix_mod_LDFLAGS)
17603 (hfs_mod_LDFLAGS, jfs_mod_LDFLAGS, iso9660_mod_LDFLAGS)
17604 (xfs_mod_LDFLAGS, _linux_mod_LDFLAGS, linux_mod_LDFLAGS)
17605 (normal_mod_LDFLAGS, hello_mod_LDFLAGS, boot_mod_LDFLAGS)
17606 (terminal_mod_LDFLAGS, ls_mod_LDFLAGS, cmp_mod_LDFLAGS)
17607 (cat_mod_LDFLAGS, help_mod_LDFLAGS, reboot_mod_LDFLAGS)
17608 (halt_mod_LDFLAGS, vga_mod_LDFLAGS, font_mod_LDFLAGS)
17609 (terminfo_mod_LDFLAGS, serial_mod_LDFLAGS, _multiboot_mod_LDFLAGS)
17610 (multiboot_mod_LDFLAGS, amiga_mod_LDFLAGS, apple_mod_LDFLAGS)
17611 (pc_mod_LDFLAGS, sun_mod_LDFLAGS, loopback_mod_LDFLAGS)
17612 (default_mod_LDFLAGS, timeout_mod_LDFLAGS, configfile_mod_LDFLAGS)
17613 (vbe_mod_LDFLAGS, vesafb_mod_LDFLAGS, vbeinfo_mod_LDFLAGS)
17614 (vbetest_mod_LDFLAGS, search_mod_LDFLAGS, gzio_mod_LDFLAGS): New
17615 variables.
17616 (normal_mod_ASFLAGS): Add `-m32'.
17617
17618 * include/grub/types.h (grub_host_addr_t, grub_host_off_t)
17619 (grub_host_size_t, grub_host_ssize_t): New types.
17620 (grub_addr_t, grub_off_t, grub_size_t, grub_ssize_t): Make type
fe6b695a 17621 dependent of `GRUB_CPU_SIZEOF_VOID_P' instead on
59b8208a 17622 `GRUB_HOST_SIZEOF_VOID_P'.
17623
17624 * include/grub/kernel.h (struct grub_module_header): Type of
17625 member offset changed to `grub_host_off_t'. Type of member size
17626 changed to `grub_host_size_t'.
17627 (struct grub_module_info): Type of member offset changed to
17628 `grub_host_off_t'. Type of member size changed to
17629 `grub_host_size_t'.
17630
b4093103 176312005-09-29 Yoshinori K. Okuji <okuji@enbug.org>
17632
17633 Make GRUB's kernel compliant to Multiboot Specification.
f19dbdb7 17634
b4093103 17635 * kern/i386/pc/startup.S (multiboot_header): New label.
17636 (multiboot_entry): Likewise.
17637 (multiboot_trampoline): Likewise.
17638
17639 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
17640 Increased to 0x4A0.
17641
17642 * fs/xfs.c (grub_xfs_iterate_dir): Fix a syntax error. You may not
17643 put parentheses after a question mark.
17644 [!GRUB_UTIL] (my_mod): New variable.
17645
17646 * util/grub-emu.c (main): Call grub_xfs_init and grub_xfs_fini.
17647
b2499b29 176482005-09-28 Marco Gerards <mgerards@xs4all.nl>
17649
17650 Adds support for the XFS filesystem. Btrees are not supported
17651 yet.
17652
17653 * fs/xfs.c: New file.
17654
17655 * DISTLIST: Added `fs/xfs.c'.
17656
17657 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `fs/xfs.c'.
17658 (grub_probefs_SOURCES): Likewise.
17659 (grub_emu_SOURCES): Likewise.
17660 (pkgdata_MODULES): Add `xfs.mod'.
17661 (xfs_mod_SOURCES): New variable.
17662 (xfs_mod_CFLAGS): Likewise.
17663
17664 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add `fs/xfs.c'.
17665 (pkgdata_MODULES): Add `xfs.mod'.
17666 (xfs_mod_SOURCES): New variable.
17667 (xfs_mod_CFLAGS): Likewise.
17668
17669 * util/grub-emu.c (main): Call `grub_xfs_init' and
17670 `grub_xfs_fini'.
17671
17672 * include/grub/fs.h (grub_xfs_init): New prototype.
17673 (grub_xfs_fini): Likewise.
17674
f19dbdb7 17675
83d37a62 176762005-09-18 Vesa Jaaskelainen <chaac@nic.fi>
17677
17678 * video/i386/pc/vbe.c (grub_vbe_set_video_mode): In indexed
17679 color modes, allow greater than 16 colors to be configured as
17680 a default palette.
17681
47d2d65e 176822005-09-03 Yoshinori K. Okuji <okuji@enbug.org>
17683
17684 * normal/completion.c (complete_arguments): Add the qualifier
17685 const into OPTIONS.
17686
17687 From Omniflux <omniflux+lists@omniflux.com>:
17688 * include/grub/terminfo.h: New file.
17689 * include/grub/tparm.h: Likewise.
17690 * include/grub/i386/pc/serial.h: Likewise.
17691 * term/terminfo.c: Likewise.
17692 * term/tparm.c: Likewise.
17693 * term/i386/pc/serial.c: Likewise.
17694 * conf/i386-pc.rmk (pkgdata_MODULES): Added terminfo.mod and
17695 serial.mod.
17696 (terminfo_mod_SOURCES): New variable.
17697 (terminfo_mod_CFLAGS): Likewise.
17698 (serial_mod_SOURCES): Likewise.
17699 (serial_mod_CFLAGS): Likewise.
17700
48b671ff 177012005-08-31 Yoshinori K. Okuji <okuji@enbug.org>
17702
17703 * DISTLIST: Replaced boot/powerpc/ieee1275/crt0.S and
17704 boot/powerpc/ieee1275/cmain.c with kern/powerpc/ieee1275/crt0.S
17705 and kern/powerpc/ieee1275/cmain.c, respectively.
17706
17707 * boot/powerpc/ieee1275/crt0.S: Moved to ...
17708 * kern/powerpc/ieee1275/crt0.S: ... here.
17709
17710 * boot/powerpc/ieee1275/cmain.c: Moved to ...
17711 * kern/powerpc/ieee1275/cmain.c: ... here.
f19dbdb7 17712
48b671ff 17713 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Use
17714 kern/powerpc/ieee1275/crt0.S and kern/powerpc/ieee1275/cmain.c
17715 instead of boot/powerpc/ieee1275/crt0.S and
17716 boot/powerpc/ieee1275/cmain.c, respectively.
17717
17718 * boot/i386/pc/boot.S (lba_mode): Do not store the total number of
17719 sectors. It was not used anyway.
17720
09fc77a7 177212005-08-30 Hollis Blanchard <hollis@penguinppc.org>
17722
17723 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): Fix
17724 `unused parameter' warning.
17725
003789c7 177262005-08-30 Hollis Blanchard <hollis@penguinppc.org>
17727
17728 * term/ieee1275/ofconsole.c (grub_ofconsole_getcharwidth): New
17729 function.
17730 (grub_ofconsole_term): Specify grub_ofconsole_getcharwidth as
17731 getcharwidth.
17732
67f44c86 177332005-08-28 Marco Gerards <metgerards@student.han.nl>
17734
17735 * include/grub/normal.h (enum grub_completion_type): Added
17736 `GRUB_COMPLETION_TYPE_ARGUMENT'.
17737
17738 * normal/cmdline.c (print_completion): Handle
17739 the `GRUB_COMPLETION_TYPE_ARGUMENT' type.
17740 * normal/menu_entry.c (store_completion): Likewise.
17741
17742 * normal/completion.c (complete_arguments): New function.
17743 (grub_normal_do_completion): Call `complete_arguments' when the
17744 current words start with a dash.
17745
0b5abe02 177462005-08-27 Marco Gerards <metgerards@student.han.nl>
17747
17748 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Fix typo (use
17749 `gzio.mod' instead of `io.mod').
17750
d9864ee1 177512005-08-22 Yoshinori K. Okuji <okuji@enbug.org>
17752
17753 * gendistlist.sh (EXTRA_DISTFILES): Added genfslist.sh.
17754 (DISTDIRS): Added io and video.
17755 Rewrite the search routine to make an output consistently.
17756
17757 * DISTLIST: Added conf/sparc64-ieee1275.mk,
17758 conf/sparc64-ieee1275.rmk, include/grub/gzio.h,
17759 include/grub/ieee1275/ieee1275.h, include/grub/ieee1275/ofdisk.h,
17760 io/gzio.c, kern/sparc64/cache.c, kern/sparc64/dl.c,
17761 kern/sparc64/ieee1275/init.c, kern/sparc64/ieee1275/openfw.c and
17762 util/powerpc/ieee1275/misc.c.
f19dbdb7 17763
d9864ee1 17764 * include/grub/gzio.h: New file.
17765 * io/gzio.c: Likewise.
f19dbdb7 17766
d9864ee1 17767 * kern/file.c (grub_file_close): Call grub_device_close only if
17768 FILE->DEVICE is not NULL.
17769
17770 * include/grub/mm.h [!NULL] (NULL): New macro.
17771
17772 * include/grub/err.h (GRUB_ERR_BAD_GZIP_DATA): New constant.
17773
17774 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added io/gzip.c.
17775 (pkgdata_MODULES): Added gzio.mod.
17776 (gzio_mod_SOURCES): New variable.
17777 (gzio_mod_CFLAGS): Likewise.
17778
17779 * conf/i386-pc.rmk (grub_emu_SOURCES): Added io/gzip.c.
17780 (pkgdata_MODULES): Added gzio.mod.
17781 (gzio_mod_SOURCES): New variable.
17782 (gzio_mod_CFLAGS): Likewise.
17783
17784 * commands/cat.c: Include grub/gzio.h.
17785 (grub_cmd_cat): Use grub_gzfile_open instead of
17786 grub_file_open.
f19dbdb7 17787
d9864ee1 17788 * commands/cmp.c: Include grub/gzio.h.
17789 (grub_cmd_cmp): Use grub_gzfile_open instead of
17790 grub_file_open.
17791
17792 * loader/i386/pc/multiboot.c: Include grub/gzio.h.
17793 (grub_rescue_cmd_multiboot): Use grub_gzfile_open instead of
17794 grub_file_open.
17795 (grub_rescue_cmd_module): Likewise.
17796
fa46f4b5 177972005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
17798
17799 * conf/sparc64-ieee1275.rmk (grubof_SOURCES): The first file must be
17800 kern/sparc64/ieee1275/init.c because it contains _start.
17801 * conf/sparc64-ieee1275.mk: Generated from conf/sparc64-ieee1275.rmk.
17802
e9211b5d 178032005-08-21 Vincent Pelletier <subdino2004@yahoo.fr>
17804
17805 * configure.ac: Add support for sparc64 host with ieee1275
17806 firmware.
17807 * configure: Generated from configure.ac.
17808 * disk/ieee1275/ofdisk.c (grub_ofdisk_open): Use grub_ssize_t
17809 instead of int.
17810 (grub_ofdisk_read): Likewise.
17811 (grub_ofdisk_open): Use %p to print pointer values, and cast the
17812 pointers as (void *) to remove a warning.
17813 (grub_ofdisk_close): Likewise.
17814 (grub_ofdisk_read): Likewise.
17815 * kern/ieee1275/ieee1275.c (grub_ieee1275_exit): This never
17816 returns, so make it return void to remove a warning.
17817 * include/grub/ieee1275/ieee1275.h (grub_ieee1275_exit):
17818 Corresponding prototype change.
17819 * kern/mm.c (grub_mm_init_region): Use %p to print pointer
17820 values, and cast the pointers as (void *) to remove a warning.
17821 (grub_mm_dump): Likewise.
17822 * conf/sparc64-ieee1275.mk: New file.
17823 * conf/sparc64-ieee1275.rmk: Likewise.
17824 * include/grub/sparc64/setjmp.h: Likewise.
17825 * include/grub/sparc64/types.h: Likewise.
17826 * include/grub/sparc64/ieee1275/console.h: Likewise.
17827 * include/grub/sparc64/ieee1275/ieee1275.h: Likewise.
17828 * include/grub/sparc64/ieee1275/kernel.h: Likewise.
17829 * include/grub/sparc64/ieee1275/time.h: Likewise.
17830 * kern/sparc64/cache.c: Likewise.
17831 * kern/sparc64/dl.c: Likewise.
17832 * kern/sparc64/ieee1275/init.c: Likewise.
17833 * kern/sparc64/ieee1275/openfw.c: Likewise.
17834
385c6a92 178352005-08-21 Yoshinori K. Okuji <okuji@enbug.org>
17836
17837 * util/console.c (grub_ncurses_putchar): If C is greater than
17838 0x7f, set C to a question mark.
17839 (grub_ncurses_getcharwidth): New function.
17840 (grub_ncurses_term): Specify grub_ncurses_getcharwidth as
17841 getcharwidth.
17842
17843 * normal/menu.c (print_entry): Made aware of Unicode. First,
17844 convert TITLE to UCS-4, and predict the cursor position by
17845 grub_getcharwidth.
17846
17847 * include/grub/misc.h (grub_utf8_to_ucs4): Specify the qualifier
17848 const to SRC.
17849 * kern/misc.c (grub_utf16_to_utf8): Likewise.
17850
16ccb8b1 178512005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
17852
17853 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Specify
17854 the boot file by the option BOOT_IMAGE. Use grub_stpcpy instead of
17855 grub_strcat.
17856
17857 * loader/i386/pc/linux.c (grub_rescue_cmd_linux): Specify the boot
17858 file by the option BOOT_IMAGE. Use grub_stpcpy instead of
17859 grub_strcpy and grub_strlen. Take it into account that a space
17860 character is inserted as a delimiter.
17861
6a85ce79 178622005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
17863
17864 * partmap/pc.c (pc_partition_map_iterate): Include the value of an
fe6b695a 17865 invalid magic in the error.
6a85ce79 17866
17867 * commands/search.c: New file.
f19dbdb7 17868
6a85ce79 17869 * util/grub-emu.c (main): Call grub_search_init and
17870 grub_search_fini.
17871
17872 * kern/rescue.c (grub_rescue_print_disks): Removed.
17873 (grub_rescue_print_devices): New function.
17874 (grub_rescue_cmd_ls): Use grub_device_iterate with
17875 grub_rescue_print_devices instead of grub_disk_dev_iterate with
17876 grub_rescue_print_disks.
17877
17878 * kern/partition.c (grub_partition_iterate): Return the result of
17879 PARTMAP->ITERATE instead of GRUB_ERRNO.
17880
17881 * kern/device.c: Include grub/partition.h.
17882 (grub_device_iterate): New function.
17883
17884 * include/grub/partition.h (grub_partition_iterate): Return int
17885 instead of grub_err_t.
17886
17887 * include/grub/normal.h [GRUB_UTIL] (grub_search_init): New
17888 prototype.
17889 [GRUB_UTIL] (grub_search_fini): Likewise.
17890
17891 * include/grub/device.h (grub_device_iterate): New prototype.
17892
17893 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
17894 commands/search.c.
17895 (pkgdata_MODULES): Added search.mod.
17896 (search_mod_SOURCES): New variable.
17897 (search_mod_CFLAGS): Likewise.
17898
17899 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/search.c.
17900 (pkgdata_MODULES): Added search.mod.
17901 (search_mod_SOURCES): New variable.
17902 (search_mod_CFLAGS): Likewise.
17903
17904 * commands/ls.c (grub_ls_list_disks): Renamed to ...
17905 (grub_ls_list_devices): ... this, and use grub_device_iterate.
17906 All callers changed.
17907
17908 * DISTLIST: Added commands/search.c.
17909
ef095434 179102005-08-20 Yoshinori K. Okuji <okuji@enbug.org>
17911
17912 * kern/term.c (grub_putchar): Use grub_utf8_to_ucs4 for the
17913 conversion.
17914 (grub_getcharwidth): New function.
17915
17916 * kern/misc.c (grub_utf8_to_ucs4): New function.
17917
17918 * include/grub/term.h (struct grub_term): Added a new member
17919 "getcharwidth".
17920 (grub_getcharwidth): New prototype.
17921
17922 * include/grub/misc.h (grub_utf8_to_ucs4): New prototype.
17923
17924 * term/i386/pc/console.c (map_char): New function. Segregated from
17925 grub_console_putchar.
17926 (grub_console_putchar): Use map_char.
17927 (grub_console_getcharwidth): New function.
17928 (grub_console_term): Specified grub_console_getcharwidth as
17929 getcharwidth.
17930
17931 * term/i386/pc/vga.c (grub_vga_getcharwidth): New function.
17932 (grub_vga_term): Specified grub_vga_getcharwidth as getcharwidth.
17933
17934 * term/i386/pc/vesafb.c (grub_virtual_screen_setup): Return
17935 GRUB_ERRNO.
17936 (grub_vesafb_init): Do not use RC. Instead, use GRUB_ERRNO. Rely
17937 on grub_strtoul completely.
17938 (write_char): Declare local variables in the beginning of the
17939 function.
17940 (grub_vesafb_getcharwidth): New function.
17941 (grub_vesafb_term): Specified grub_vesafb_getcharwidth as
17942 getcharwidth.
17943
1f0a95e4 179442005-08-19 Yoshinori K. Okuji <okuji@enbug.org>
17945
17946 * DISTLIST: Replace commands/i386/pc/vbe_list_modes.c and
17947 commands/i386/pc/vbe_test.c with commands/i386/pc/vbeinfo.c and
17948 commands/i386/pc/vbetest.c.
17949
17950 * video/i386/pc/vbe.c (grub_vbe_probe): If INFOBLOCK is not NULL,
17951 call grub_vbe_get_controller_info again, because the returned
17952 information is volatile.
17953 (grub_vbe_set_video_mode): Mostly rewritten.
17954 (grub_vbe_get_video_mode): Use grub_vbe_probe and use
17955 grub_vbe_status_t correctly.
17956 (grub_vbe_get_video_mode_info): Likewise.
17957 (grub_vbe_set_pixel_rgb): Use a switch statement rather than
17958 several if statements.
17959
17960 * commands/i386/pc/vbe_list_modes.c: Renamed to ...
17961 * commands/i386/pc/vbeinfo.c: ... this.
17962
17963 * commands/i386/pc/vbe_test.c: Renamed to ...
17964 * commands/i386/pc/vbetest.c: ... this.
17965
17966 * commands/i386/pc/vbeinfo.c (grub_cmd_vbe_list_modes): Renamed to
17967 ...
17968 (grub_cmd_vbeinfo): ... this. Save video modes before
17969 iterating. Skip a video mode, if it is not available, not enough
17970 information is given or it is monochrome. Show the memory
17971 model. Leave the interpretation of MODEVAR to grub_strtoul
17972 completely.
17973 (GRUB_MOD_INIT): Rename vbe_list_modes to vbeinfo.
17974 (GRUB_MOD_FINI): Likewise.
17975
17976 * commands/i386/pc/vbetest.c (grub_cmd_vbe_test): Renamed to ...
17977 (grub_cmd_vbetest): ... this. Don't print unnecessarily. Use
17978 grub_err_t instead of grub_uint32_t. Don't use SPTR. Remove a
17979 duplicated grub_env_get. Leave the interpretation of MODEVAR to
17980 grub_strtoul completely.
17981 (real2pm): Removed.
17982 (GRUB_MOD_INIT): Rename vbe_test to vbetest.
17983 (GRUB_MOD_FINI): Likewise.
17984
17985 * normal/misc.c: Include grub/mm.h.
17986
17987 * conf/i386-pc.rmk (pkgdata_MODULES): Replaced vbe_test.mod and
17988 vbe_list_modes with vbetest.mod and vbeinfo.mod.
17989 (vbe_list_modes_mod_SOURCES): Removed.
17990 (vbe_list_modes_mod_CFLAGS): Likewise.
17991 (vbe_test_mod_SOURCES): Likewise.
17992 (vbe_test_mod_CFLAGS): Likewise.
17993 (vbeinfo_mod_SOURCES): New variable.
17994 (vbeinfo_mod_CFLAGS): Likewise.
17995 (vbetest_mod_SOURCES): Likewise.
17996 (vbetest_mod_CFLAGS): Likewise.
17997
992ffbbe 179982005-08-18 Yoshinori K. Okuji <okuji@enbug.org>
17999
18000 * normal/misc.c: New file.
18001
18002 * DISTLIST: Added normal/misc.c.
f19dbdb7 18003
992ffbbe 18004 * partmap/amiga.c (amiga_partition_map_iterate): Add an argument
18005 DISK to HOOK. Call HOOK with DISK.
18006 * partmap/apple.c (apple_partition_map_iterate): Likewise.
18007 * partmap/pc.c (pc_partition_map_iterate): Likewise.
18008 * partmap/sun.c (sun_partition_map_iterate): Likewise.
18009
18010 * normal/menu_entry.c (struct screen): Added a new member
18011 "completion_shown".
18012 (completion_buffer): New global variable.
18013 (make_screen): Set SCREEN->COMPLETION_SHOWN to zero.
18014 (store_completion): New function.
18015 (complete): Likewise.
18016 (clear_completions): Likewise.
18017 (grub_menu_entry_run): If SCREEN->COMPLETION_SHOWN is non-zero,
18018 call clear_completions and reset SCREEN->COMPLETION_SHOWN. If C is
18019 a tab, call complete.
18020
18021 * normal/completion.c (disk_dev): Removed.
18022 (print_simple_completion): Likewise.
18023 (print_partition_completion): Likewise.
18024 (print_func): New global variable.
18025 (add_completion): Do not take the arguments WHAT or PRINT any
18026 longer. Added a new argument TYPE. Instead of printing directly,
18027 call PRINT_FUNC if not NULL.
18028 All callers changed.
18029 (complete_device): Use a local variable DEV instead of
18030 DISK_DEV. Do not move CURRENT_WORD to the end of a device name.
18031 (grub_normal_do_completion): Take a new argument HOOK. Do not
18032 initialize DISK_DEV. Initialize PRINT_FUNC to HOOK. If RET is an
18033 empty string, return NULL instead.
18034 All callers changed.
18035
18036 * normal/cmdline.c (print_completion): New function.
18037
18038 * kern/partition.c (grub_partition_iterate): Add an argument DISK
18039 to HOOK.
18040 All callers changed.
18041
18042 * kern/disk.c (grub_print_partinfo): Removed.
18043
18044 * include/grub/partition.h (struct grub_partition_map): Add a new
18045 argument DISK into HOOK of ITERATE.
18046 (grub_partition_iterate): Add a new argument DISK to HOOK.
18047
18048 * include/grub/normal.h (enum grub_completion_type): New enum.
18049 (grub_completion_type_t): New type.
18050 (GRUB_COMPLETION_TYPE_COMMAND): New constant.
18051 (GRUB_COMPLETION_TYPE_DEVICE): Likewise.
18052 (GRUB_COMPLETION_TYPE_PARTITION): Likewise.
18053 (GRUB_COMPLETION_TYPE_FILE): Likewise.
18054 (grub_normal_do_completion): Added a new argument HOOK.
18055 (grub_normal_print_device_info): New prototype.
18056
18057 * include/grub/disk.h (grub_print_partinfo): Removed.
18058
18059 * conf/i386-pc.rmk (grub_emu_SOURCES): Added normal/misc.c.
18060 (normal_mod_SOURCES): Likewise.
18061 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
18062 (normal_mod_SOURCES): Likewise.
18063
18064 * commands/ls.c (grub_ls_list_disks): Use
18065 grub_normal_print_device_info instead of grub_print_partinfo. Free
18066 PNAME.
18067 (grub_ls_list_files): Use grub_normal_print_device_info instead of
18068 duplicating the code.
18069
0bd41162 180702005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
18071
18072 * commands/i386/pc/vbe_list_modes.c: Update source formatting to
f19dbdb7 18073 follow GCS more precisely.
18074 * commands/i386/pc/vbe_test.c: Likewise.
18075 * include/grub/i386/pc/vbe.h: Likewise.
18076 * term/i386/pc/vesafb.c: Likewise.
18077 * video/i386/pc/vbe.c: Likewise.
0bd41162 18078
6323696a 180792005-08-16 Vesa Jaaskelainen <chaac@nic.fi>
18080
18081 * DISTLIST: Added term/i386/pc/vesafb.c
18082 DISTLIST: Added video/i386/pc/vbe.c
18083 DISTLIST: Added commands/i386/pc/vbe_list_modes.c.
18084 DISTLIST: Added commands/i386/pc/vbe_test.c.
18085 * commands/i386/pc/vbe_list_modes.c: New file.
18086 * commands/i386/pc/vbe_test.c: Likewise.
18087 * term/i386/pc/vesafb.c: Likewise.
18088 * video/i386/pc/vbe.c: Likewise.
18089 * include/grub/i386/pc/vbe.h (GRUB_VBE_DEFAULT_VIDEO_MODE): Added define.
18090 (grub_vbe_probe) Added prototype.
18091 (grub_vbe_set_video_mode) Likewise.
18092 (grub_vbe_get_video_mode) Likewise.
18093 (grub_vbe_get_video_mode_info) Likewise.
18094 (grub_vbe_set_pixel_rgb) Likewise.
18095 (grub_vbe_set_pixel_index) Likewise.
18096 * conf/i386-pc.rmk (pkgdata_MODULES): Added vbe.mod.
18097 (pkgdata_MODULES): Added vesafb.mod.
18098 (pkgdata_MODULES): Added vbe_list_modes.mod.
18099 (pkgdata_MODULES): Added vbe_test.mod.
18100 (vbe_mod_SOURCES): Added.
18101 (vbe_mod_CFLAGS): Likewise.
18102 (vesafb_mod_SOURCES): Likewise.
18103 (vesafb_mod_CFLAGS): Likewise.
18104 (vbe_list_modes_mod_SOURCES): Likewise.
18105 (vbe_list_modes_mod_CFLAGS): Likewise.
18106 (vbe_test_mod_SOURCES): Likewise.
18107 (vbe_test_mod_CFLAGS): Likewise.
18108
0a74e62f 181092005-08-14 Yoshinori K. Okuji <okuji@enbug.org>
18110
0a74e62f 18111 * normal/command.c (grub_command_execute): If INTERACTIVE is
18112 false and GRUB_COMMAND_FLAG_NO_ECHO is not specified, print
18113 CMDLINE. Disable the pager if INTERACTIVE is true.
18114 All callers are changed.
18115
18116 * normal/main.c (grub_normal_execute): Read command.lst and fs.lst
18117 before reading a config file.
18118 * normal/main.c (read_config_file): Even if a command is not
18119 found, register it if it is within an entry.
18120
18121 * util/grub-emu.c: Include sys/types.h and unistd.h.
18122 (options): Added --hold.
18123 (struct arguments): Added a new member "hold".
18124 (parse_opt): If KEY is 'H', set ARGS->HOLD to ARG or -1 if ARG is
18125 missing.
18126 (main): Initialize ARGS.HOLD to zero. Wait until ARGS.HOLD is
18127 cleared by a debugger, if it is not zero.
18128
18129 * include/grub/normal.h (grub_command_execute): Add an argument
18130 INTERACTIVE.
18131
e51f85ae 181322005-08-14 Vesa Jaaskelainen <chaac@nic.fi>
18133
18134 * DISTLIST: Added include/grub/i386/pc/vbe.h.
18135
e9c6f39b 181362005-08-13 Yoshinori K. Okuji <okuji@enbug.org>
18137
18138 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): Replace the test
18139 program with another one, because the old one didn't detect a bug
18140 in gcc-3.4. Always use regparm 2, because the new test is still
18141 not enough for gcc-4.0. Someone must investigate a simple test
18142 case which detects a bug in gcc-4.0.
18143
8de3495c 181442005-08-12 Yoshinori K. Okuji <okuji@enbug.org>
18145
18146 * DISTLIST: Added normal/completion.c.
18147
18148 * normal/completion.c: New file.
f19dbdb7 18149
8de3495c 18150 * term/i386/pc/console.c (grub_console_getwh): New function.
18151 (grub_console_term): Assign grub_console_getwh to getwh.
18152
18153 * normal/cmdline.c (grub_tab_complete): Removed. Now the same
18154 function is defined in normal/completion.c as
18155 grub_normal_do_completion.
18156 (grub_cmdline_get): Use grub_normal_do_completion instead of
18157 grub_tab_complete.
18158
18159 * kern/partition.c (grub_partition_map_iterate): Return 1 if HOOK
18160 returns non-zero, otherwise return 0.
18161 (grub_partition_iterate): First, probe the partition map. Then,
18162 call ITERATE only for this partition map.
18163
18164 * kern/misc.c (grub_strncmp): Rewritten.
18165
18166 * kern/disk.c (grub_disk_dev_iterate): Return 1 if P->ITERATE
18167 returns non-zero. Otherwise return 0.
18168
18169 * include/grub/partition.h (grub_partition_map_iterate): Return
18170 int instead of void.
18171
18172 * include/grub/normal.h (grub_normal_do_completion): New prototype.
18173
18174 * include/grub/misc.h (grub_strncmp): Change the type of N to
18175 grub_size_t.
18176
18177 * include/grub/disk.h (grub_disk_dev_iterate): Return int instead
18178 of void.
18179
18180 * normal/menu.c (draw_border): Cast GRUB_TERM_BORDER_WIDTH to
fe6b695a 18181 unsigned explicitly before comparing it with I.
8de3495c 18182
18183 * kern/main.c (grub_env_write_root): Add the attribute unused into
18184 VAR.
18185
18186 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
18187 normal/completion.c.
18188 (normal_mod_SOURCES): Likewise.
18189 * conf/i386-pc.rmk (grub_emu_SOURCES): Likewise.
18190 (normal_mod_SOURCES): Likewise.
18191
18192 * normal/command.c (grub_iterate_commands): If ITERATE returns
18193 non-zero, return one immediately.
18194
e85e144b 181952005-08-09 Vesa Jaaskelainen <chaac@nic.fi>
18196
18197 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vbe.h.
18198 * kern/i386/pc/startup.S: Updated Global Descriptor table's
18199 descriptions.
18200 (grub_vbe_get_controller_info): New function.
18201 (grub_vbe_get_mode_info): Likewise.
18202 (grub_vbe_set_mode): Likewise.
18203 (grub_vbe_get_mode): Likewise.
18204 (grub_vbe_set_memory_window): Likewise.
18205 (grub_vbe_get_memory_window): Likewise.
18206 (grub_vbe_set_scanline_length): Likewise.
18207 (grub_vbe_get_scanline_length): Likewise.
18208 (grub_vbe_set_display_start): Likewise.
18209 (grub_vbe_get_display_start): Likewise.
18210 (grub_vbe_set_palette_data): Likewise.
18211 * include/grub/i386/pc/vbe.h: New file.
18212
c46153d2 182132005-08-08 Hollis Blanchard <hollis@penguinppc.org>
18214
18215 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
18216 kern/ieee1275/of.c with kern/ieee1275/ieee1275.c.
18217 * DISTLIST: Likewise.
18218 * kern/ieee1275/of.c: Moved to ...
18219 * kern/ieee1275/ieee1275.c: ... here.
18220
0cb90c45 182212005-08-08 Hollis Blanchard <hollis@penguinppc.org>
18222
18223 * term/ieee1275/ofconsole.c: Include <grub/mm.h>.
18224 (grub_ofconsole_getwh): Cast -1 to type grub_ieee1275_ihandle_t.
18225 Pass 0 as `end' parameter to grub_strtoul().
18226
a19fb360 182272005-08-08 Hollis Blanchard <hollis@penguinppc.org>
18228
18229 * include/grub/powerpc/ieee1275/console.h: Do not include
18230 <grub/types.h>. Do not include <grub/symbol.h>. Remove ASM_FILE
18231 ifdef.
18232 (grub_console_cur_color): Remove i386-specific prototype.
18233 (grub_console_real_putchar): Likewise.
18234 (grub_console_checkkey): Likewise.
18235 (grub_console_getkey): Likewise.
18236 (grub_console_getxy): Likewise.
18237 (grub_console_gotoxy): Likewise.
18238 (grub_console_cls): Likewise.
18239 (grub_console_setcursor): Likewise.
18240 * kern/powerpc/ieee1275/init.c: Don't include <grub/console.h>.
18241 Include <grub/machine/console.h>.
18242 * term/ieee1275/ofconsole.c: Likewise.
18243
4ac9bd04 182442005-08-08 Yoshinori K. Okuji <okuji@enbug.org>
18245
18246 * Makefile.in (LIBLZO): New variable.
18247
18248 * configure.ac: Check for LZO version 2.
18249
18250 * util/i386/pc/grub-mkimage.c [HAVE_LZO_LZO1X_H]: Include
18251 lzo/lzo1x.h instead of lzo1x.h.
18252
18253 * conf/i386-pc.rmk (grub_mkimage_LDFLAGS): Use $(LIBLZO) instead
18254 of -llzo.
18255
18256 * util/i386/pc/grub-setup.c (main): Do not free PREFIX
18257 twice. Reported by Vladimir Serbinenko <phcoder@gmail.com>.
18258
18259 * partmap/pc.c (pc_partition_map_probe): Restore P->DATA after
18260 copying the data from PARTITION to P.
18261
f4917dfd 182622005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
18263
18264 * kern/rescue.c (grub_rescue_cmd_rmmod): If the reference count is
18265 negative, unload the module.
18266
18267 * util/i386/pc/grub-setup.c (setup): The name of the PC partition
18268 map is "pc_partition_map" but not "pc".
18269 (usage): Fix the description. The options are --boot-image and
18270 --core-image but not --boot-file or --core-file.
18271 (main): If not specified explicitly, make BOOT_FILE and CORE_FILE
18272 based on DEFAULT_BOOT_FILE and DEFAULT_CORE_FILE with DIR or
18273 DEFAULT_DIRECTORY.
18274
18275 * util/i386/pc/grub-install.in: Do not specify --boot-file or
18276 --core-file. Specify INSTALL_DEVICE as an argument.
18277
18278 * util/console.c: Include config.h.
18279 [HAVE_NCURSeS_CURSES_H]: Include ncurses/curses.h.
18280 [HAVE_NCURSES_H]: Include ncurses.h.
18281 [HAVE_CURSES_H]: Include curses.h.
18282 [!A_NORMAL] (A_NORMAL): Defined as zero.
18283 [!A_STANDOUT] (A_STANDOUT): Likewise.
18284
18285 * conf/i386-pc.rmk (grub_emu_LDFLAGS): Use $(LIBCURSES) instead of
18286 -lncurses.
18287 * conf/powerpc-ieee1275.rmk (grub_emu_LDFLAGS): Likewise.
18288
18289 * configure.ac: Check for curses libraries and headers.
18290
18291 * Makefile.in (LIBCURSES): New variable.
18292
18293 * genmk.rb (Script::rule): Set the executable bits.
18294
18295 * util/i386/pc/biosdisk.c (grub_util_biosdisk_get_grub_dev): The
18296 name of the PC partition map is "pc_partition_map" but not "pc".
18297
0e143073 182982005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
18299
18300 * util/i386/pc/grub-install.in (grub_probefs): New variable.
18301 (modules): Likewise.
18302 (usage): Added descriptions for --modules and --grub-probefs.
18303 Handle --modules and --grub-probefs. Save the arguments in MODULES
18304 and GRUB_PROBEFS, respectively.
18305 Auto-detect a filesystem module against GRUBDIR. If the result is
18306 empty and modules are not specified explicitly, abort the
18307 installation. Add the result to MODULES.
18308
18309 * DISTLIST: Removed boot/powerpc/ieee1275/ieee1275.c,
18310 disk/powerpc/ieee1275/ofdisk.c,
18311 include/grub/powerpc/ieee1275/init.h and
18312 term/powerpc/ieee1275/ofconsole.c.
18313 Added disk/ieee1275/ofdisk.c, kern/ieee1275/of.c and
18314 term/ieee1275/ofconsole.c.
18315
18316 * include/grub/powerpc/ieee1275/console.h: Resurrected.
18317
18318 * COPYING: Upgraded to the latest version. Only the address of the
18319 FSF office has changed.
f19dbdb7 18320
efd6e6d5 183212005-08-07 Yoshinori K. Okuji <okuji@enbug.org>
18322
18323 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Replaced
18324 kern/ieee1275.c with kern/ieee1275/of.c.
18325
18326 * kern/ieee1275.c: Moved to ...
18327 * kern/ieee1275/of.c: ... here.
18328
8ceafda2 183292005-08-06 Yoshinori K. Okuji <okuji@enbug.org>
18330
18331 * conf/i386-pc.rmk (kernel_img_HEADERS): Reordered for
fe6b695a 18332 readability.
8ceafda2 18333
18334 * config.guess: Updated to the latest version from gnulib.
18335 * config.sub: Likewise.
18336 * install.sh: Likewise.
18337 * mkinstalldirs: Likewise.
18338
18339 * include/grub/console.h: Removed. This file is arch-specific. Do
18340 not put this in include/grub.
18341
18342 * include/grub/i386/pc/console.h: Resurrected.
18343
18344 * util/console.c: Include grub/machine/console.h instead of
18345 grub/console.h.
18346 * util/grub-emu.c: Likewise.
18347
267f6cd9 183482005-08-04 Marco Gerards <metgerards@student.han.nl>
18349
18350 * kern/term.c (grub_putcode): Use `grub_getwh' instead of
18351 hardcoded value.
f19dbdb7 18352
267f6cd9 18353 From Vincent Pelletier <subdino2004@yahoo.fr>
18354 * include/grub/term.h (GRUB_TERM_WIDTH, GRUB_TERM_HEIGHT):
18355 Redefined to use grub_getwh.
18356 (grub_term): New member named getwh.
18357 (grub_getwh): New prototype.
18358 * kern/term.c (grub_getwh): New function.
18359 * term/i386/pc/console.c (grub_console_getwh): New function.
18360 (grub_console_term): New member `getwh'.
18361 * term/i386/pc/vga.c (grub_vga_getwh): New function.
18362 (grub_vga_term): New member `getwh'.
0b5abe02 18363 * term/ieee1275/ofconsole.c (grub_ofconsole_readkey): Use
267f6cd9 18364 grub_ssize_t.
18365 (grub_ofconsole_getw): New function.
18366 (grub_ofconsole_init): Use grub_ssize_t and unsigned char.
18367 (grub_ofconsole_term): New field named getwh and new initial
18368 value.
18369
3be7266d 183702005-08-03 Hollis Blanchard <hollis@penguinppc.org>
18371
18372 * include/grub/powerpc/ieee1275/ieee1275.h: Move ...
18373 * include/grub/ieee1275/ieee1275.h: ... to here. All users updated.
18374 Move `abort', `grub_reboot', and `grub_halt' prototypes ...
18375 * include/grub/powerpc/ieee1275/kernel.h: ... to here.
18376 * commands/ieee1275/halt.c: Include <grub/machine/kernel.h> instead
18377 of <grub/machine/ieee1275.h>.
18378 * commands/ieee1275/reboot.c: Likewise.
18379 * boot/powerpc/ieee1275/ieee1275.c: Move ...
18380 * kern/ieee1275.c: ... to here. All users updated. Change all
18381 parameter structs to use new type `grub_ieee1275_cell_t'.
18382 * term/powerpc/ieee1275/ofconsole.c: Move ...
18383 * term/ieee1275/ofconsole.c: ... to here. All users updated.
18384 * disk/powerpc/ieee1275/ofdisk.c: Move ...
18385 * disk/ieee1275/ofdisk.c: ... to here. All users updated.
18386 * boot/powerpc/ieee1275/cmain.c: Change `grub_ieee1275_entry_fn' type
18387 to return int.
18388 * include/grub/i386/pc/console.h: Move to include/grub/console.h.
18389 Remove unused prototypes. All users updated.
18390 * include/grub/powerpc/ieee1275/console.h: Removed.
18391 * include/grub/powerpc/ieee1275/ieee1275.h: Define
18392 `grub_ieee1275_cell_t'.
18393 * kern/powerpc/ieee1275/openfw.c: Include <grub/machine/kernel.h>.
18394 Cast comparisons with -1 to the correct type.
18395 * loader/powerpc/ieee1275/linux.c (kernel_entry_t): Change parameter
18396 type to match `grub_ieee1275_entry_fn'.
18397
8b5f3938 183982005-08-01 Yoshinori K. Okuji <okuji@enbug.org>
18399
18400 * DISTLIST: Added util/i386/pc/grub-probefs.c.
18401
18402 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-probefs.
18403 (grub_setup_SOURCES): Removed partmap/amiga.c, partmap/apple.c and
18404 partmap/sun.c.
18405 (grub_probefs_SOURCES): New variable.
18406
18407 * util/i386/pc/grub-probefs.c: New file.
18408
18409 * util/i386/pc/grub-setup.c (main): Call
18410 grub_pc_partition_map_init, grub_ufs_init, grub_minix_init,
18411 grub_hfs_init and grub_jfs_init to initialize the system. Call
18412 grub_ufs_fini, grub_minix_fini, grub_hfs_fini, grub_jfs_init and
18413 grub_pc_partition_map_fini to finish the system.
18414
ea409713 184152005-07-31 Yoshinori K. Okuji <okuji@enbug.org>
18416
18417 * loader/i386/pc/multiboot.c (grub_multiboot_is_elf32): New
18418 function.
18419 (grub_multiboot_load_elf32): Likewise.
18420 (grub_multiboot_is_elf64): Likewise.
18421 (grub_multiboot_load_elf64): Likewise.
18422 (grub_multiboot_load_elf): Likewise.
18423 (grub_rescue_cmd_multiboot): Call grub_multiboot_load_elf to load
18424 an ELF32 or ELF64 file.
18425 This is based on a patch from Ruslan Nikolaev <nruslan@mail.com>.
18426
18427 From Serbinenko Vladimir <serbinenko.vova@list.ru>:
18428 * kern/disk.c (grub_print_partinfo): Check if FS->LABEL is not
18429 NULL before calling FS->LABEL.
18430 * fs/fat.c (grub_fat_dir): Initialize DIRNAME to NULL.
18431 * commands/ls.c (grub_ls_list_files): Show labels, if possible.
18432 (grub_ls_list_disks): Check if FS and FS->LABEL are not NULL
18433 before calling FS->LABEL.
18434
141a288b 184352005-07-26 Yoshinori K. Okuji <okuji@enbug.org>
18436
18437 * util/i386/pc/grub-install.in (datadir): New variable.
18438 (libdir): Removed.
18439 (pkgdatadir): New variable.
18440 (pkglibdir): Removed.
18441
0d5f8a54 184422005-07-24 Yoshinori K. Okuji <okuji@enbug.org>
18443
18444 * DISTLIST: Added util/i386/pc/grub-install.in.
18445
18446 * util/i386/pc/grub-install.in: New file.
18447
18448 * conf/i386-pc.rmk (sbin_SCRIPTS): New variable.
18449 (grub_install_SOURCES): Likewise.
18450
18451 * genmk.rb: Added support for scripts.
18452 (Script): New class.
18453 (scripts): New variable.
18454
18455 * Makefile.in (install-local): Install sbin_SCRIPTS by
18456 INSTALL_SCRIPT.
18457 (uninstall): Remove sbin_SCRIPTS.
18458
18459 * util/i386/pc/grub-setup.c (main): If the argument is not a GRUB
18460 device, try to get a GRUB device by
18461 grub_util_biosdisk_get_grub_dev.
18462 Free DEST_DEV.
18463
18464 * util/i386/pc/grub-mkdevicemap.c (usage): Remove a duplicated
18465 description for --device-map.
18466
5f968e1e 184672005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
18468
18469 Change the semantics of variable hooks. They now return strings
18470 instead of error values.
f19dbdb7 18471
5f968e1e 18472 * util/i386/pc/grub-setup.c: Include grub/env.h.
18473 (setup): Use grub_device_set_root instead of grub_env_set.
18474
18475 * kern/rescue.c (grub_rescue_cmd_root): Use grub_env_set and
18476 grub_env_get instead of grub_device_set_root and
18477 grub_device_get_root, respectively.
18478
18479 * kern/main.c (grub_env_write_root): New function.
18480 (grub_set_root_dev): Register grub_env_write_hook for "root". Use
18481 grub_env_set instead of grub_device_set_root.
18482
18483 * kern/env.c (HASHSZ): Reduced to 13, because GRUB does not need
18484 many variables.
18485 (grub_env_set): Set ENV->VALUE to the result of ENV->WRITE_HOOK
18486 rather than calling ENV->WRITE_HOOK afterwards.
18487 (grub_env_get): Return the result of ENV->READ_HOOK rather than
18488 passing a pointer of a pointer.
18489 (grub_register_variable_hook): Change the types of "read_hook" and
18490 "write_hook" to grub_env_read_hook_t and grub_env_write_hook_t,
18491 respectively.
18492 Allocate the default empty string on the heap, because this string
18493 may be freed later.
18494
18495 * kern/device.c: Include grub/env.h.
18496 (grub_device_set_root): Removed.
18497 (grub_device_get_root): Likewise.
18498 (grub_device_open): Use grub_env_get instead of
18499 grub_device_get_root.
18500
18501 * include/grub/env.h (grub_env_read_hook_t): New type.
18502 (grub_env_write_hook_t): Likewise.
18503 (grub_env_var): Change the types of "read_hook" and "write_hook"
18504 to grub_env_read_hook_t and grub_env_write_hook_t, respectively.
18505 (grub_register_variable_hook): Likewise.
18506
18507 * include/grub/device.h (grub_device_set_root): Removed.
18508 (grub_device_set_root): Likewise.
18509
18510 * fs/fat.c (grub_fat_dir): Make a copy of PATH in DIRNAME, and
18511 make sure that DIRNAME terminates with '/', so that
18512 grub_fat_find_dir will fail if PATH is not a directory.
18513
18514 * commands/ls.c (grub_ls_list_files): Remove the qualifier const
18515 from DIRNAME.
18516 Use the qualifier auto for print_files and print_files_long.
18517 If FS->DIR sets GRUB_ERRNO to GRUB_ERR_BAD_FILE_TYPE, try DIRNAME
18518 as a regular file.
18519 Put a newline only if there is no error.
18520 (grub_cmd_ls): Remove grub_ls_print_files, because this is not
18521 used.
18522
896f0afd 185232005-07-20 Yoshinori K. Okuji <okuji@enbug.org>
18524
18525 * kern/partition.c (grub_partition_probe): Initialize PART to
18526 NULL. Otherwise, when no partition map is registered, this returns
18527 a garbage.
18528
b28b81b2 185292005-07-19 Yoshinori K. Okuji <okuji@enbug.org>
18530
18531 * partmap/apple.c (apple_partition_map_iterate): Check if POS
18532 equals GRUB_DISK_SECTOR_SIZE to see if the partition table is
18533 valid.
18534
5f3607e0 185352005-07-18 Yoshinori K. Okuji <okuji@enbug.org>
18536
18537 * commands/ls.c (grub_ls_list_disks): Print the filesystem
18538 information on each device, if it does not have partitions. Print
18539 "Device" instead of "Disk", because this function is not specific
18540 to disk devices.
18541
18542 * normal/main.c (grub_rescue_cmd_normal): Make the variable CONFIG
18543 static to ensure that it is put on the memory rather than a
18544 register.
18545
502c87e8 185462005-07-17 Yoshinori Okuji <okuji@enbug.org>
18547
18548 * commands/cat.c (GRUB_MOD_INIT): Use better documentation.
18549 (grub_cat_init): Likewise.
18550 * loader/i386/pc/chainloader_normal.c (GRUB_MOD_INIT): Likewise.
18551 (options): Likewise.
18552 * commands/configfile.c (GRUB_MOD_INIT): Likewise.
18553 (grub_configfile_init): Likewise.
18554 * font/manager.c (GRUB_MOD_INIT): Likewise.
18555 * commands/help.c (GRUB_MOD_INIT): Likewise.
18556 (grub_help_init): Likewise.
18557 * normal/command.c (grub_command_init): Likewise.
18558 * loader/i386/pc/linux_normal.c (GRUB_MOD_INIT): Likewise.
18559 * disk/loopback.c (grub_loop_init): Likewise.
18560 (GRUB_MOD_INIT): Likewise.
18561 * commands/ls.c (grub_ls_init): Likewise.
18562 (GRUB_MOD_INIT): Likewise.
18563 (options): Likewise.
18564 * commands/boot.c (grub_boot_init): Likewise.
18565 (GRUB_MOD_INIT): Likewise.
18566 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Likewise.
18567 * commands/i386/pc/reboot.c (grub_reboot_init): Likewise.
18568 (GRUB_MOD_INIT): Likewise.
18569 * commands/cmp.c (grub_cmp_init): Likewise.
18570 (GRUB_MOD_INIT): Likewise.
18571
18572 * normal/arg.c: Use <> instead of "" to include header files.
18573 (SHORT_ARG_HELP): New macro.
18574 (SHORT_ARG_USAGE): Likewise.
18575 (help_options): Specify SHORT_ARG_HELP and SHORT_ARG_USAGE instead
18576 of 'h' and 'u' for help and usage, respectively. Use more GNU-like
18577 descriptions.
18578 (find_short): Check if C is 'h' or 'u' explicitly.
18579 (grub_arg_show_help): Use space characters instead of tabs. Treat
18580 SHORT_ARG_HELP and SHORT_ARG_USAGE exceptionally so that -h and -u
18581 are shown with --help and --usage only if they are not used for
18582 the command itself.
18583 (parse_option): Use SHORT_ARG_HELP and SHORT_ARG_USAGE instead of
18584 'h' and 'u'.
18585
18586 * include/grub/arg.h (struct grub_arg_option): Add the qualifier
18587 const into "longarg". Change the type of "shortarg" to int.
18588
f806d18e 185892005-07-17 Yoshinori Okuji <okuji@enbug.org>
18590
18591 * boot/i386/pc/boot.S (boot_drive_check): New label.
18592
18593 * include/grub/i386/pc/boot.h (GRUB_BOOT_MACHINE_DRIVE_CHECK): New
18594 macro.
18595
18596 * util/i386/pc/grub-setup.c (setup): Added a workaround for BIOSes
18597 which do not pass a boot drive correctly. Copied from GRUB Legacy.
18598
e293232b 185992005-07-17 Yoshinori Okuji <okuji@enbug.org>
18600
18601 * kern/i386/pc/startup.S (gate_a20_try_system_control_port_a):
18602 When turning off Gate A20, skip the check and return immediately,
18603 because this is not fatal usually.
18604
ebedfd00 186052005-07-17 Yoshinori Okuji <okuji@enbug.org>
18606
18607 * conf/i386-pc.rmk (pxeboot_img_LDFLAGS): The text address should
18608 be 0x7C00 instead of 0x8000.
18609
18610 * boot/i386/pc/pxeboot.S: Rewritten.
18611
18612 * kern/i386/pc/startup.S (gate_a20_try_bios): No need to specify
18613 EXT_C.
18614 (gate_a20_check_state): Read a byte from 0x108000. Invert the
18615 result.
18616
654fc59f 186172005-07-16 Yoshinori K. Okuji <okuji@enbug.org>
18618
18619 * kern/i386/pc/startup.S (grub_gate_a20): Rewritten for
18620 robustness. This routine now supports a BIOS call and System
18621 Control Port A to modify the gate A20.
18622
18623 * include/grub/i386/pc/kernel.h (GRUB_KERNEL_MACHINE_RAW_SIZE):
18624 Increased to 0x440.
18625
09f9923f 186262005-07-12 Hollis Blanchard <hollis@penguinppc.org>
18627
18628 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): dprintf the
18629 device path and resulting ihandle.
18630 (grub_ofdisk_close): dprintf the ihandle being closed.
18631 (grub_ofdisk_read): dprintf function parameters.
18632 * kern/mm.c (grub_mm_init_region): Likewise.
18633 * loader/powerpc/ieee1275/linux.c: Remove extra whitespace.
18634 (grub_linux_boot): dprintf the Linux entry point, initrd address and
18635 size, and boot arguments.
18636 (grub_rescue_cmd_linux): dprintf each ELF segment's address and size
18637 before loading into memory.
18638 (grub_rescue_cmd_initrd): dprintf the initrd's address and size
18639 before loading into memory.
18640
7ef504d8 186412005-07-12 Yoshinori K. Okuji <okuji@enbug.org>
18642
18643 * kern/mm.c: Added much documentation.
18644 (GRUB_MM_ALIGN_LOG2): When GRUB_CPU_SIZEOF_VOID_P is
18645 8, set to 5 instead of 8.
18646
e0f050c2 186472005-07-10 Yoshinori Okuji <okuji@enbug.org>
18648
18649 * DISTLIST: Added util/i386/pc/grub-mkimage.c.
18650
18651 * conf/i386-pc.rmk (sbin_UTILITIES): Added grub-mkdevicemap.
18652 (grub_mkdevicemap_SOURCES): New variable.
18653
18654 * util/i386/pc/grub-mkdevicemap.c: New file. Mostly copied from
18655 lib/device.c of GRUB Legacy.
18656
7224189a 186572005-07-10 Yoshinori Okuji <okuji@enbug.org>
18658
18659 * commands/ls.c (grub_ls_list_files): Check if *PATH is NUL
18660 instead of PATH is NULL.
18661
68c864eb 186622005-07-09 Vincent Pelletier <subdino2004@yahoo.fr>
18663
18664 * commands/cmp.c (BUFFER_SIZE): New macro.
18665 (grub_cmd_cmp): Close the right file at the right time. Compare
18666 only data just read. Don't report files of different size as
18667 identical. Dynamically allocate buffers. Move variable
18668 declarations at the beginning of function.
18669
e6f3e614 186702005-07-09 Yoshinori Okuji <okuji@enbug.org>
18671
18672 * aclocal.m4 (grub_I386_CHECK_REGPARM_BUG): The return value was
18673 reverse.
18674
f8f1559a 186752004-07-04 Vincent Pelletier <subdino2004@yahoo.fr>
18676
18677 * normal/cmdline.c (grub_cmdline_get): Don't fallback on ctrl-d
18678 when backspace is pressed at beginning of line.
18679
39c9d41d 186802005-07-03 Yoshinori Okuji <okuji@enbug.org>
18681
18682 * DISTLIST: Added genfslist.sh.
18683
18684 * normal/main.c (fs_module_list): New variable.
18685 (autoload_fs_module): New function.
18686 (read_fs_list): Likewise.
18687 (grub_normal_execute): Call read_fs_list.
18688
18689 * kern/fs.c (grub_fs_autoload_hook): New variable.
18690 (grub_fs_probe): Added support for auto-loading.
18691
18692 * include/grub/normal.h (struct grub_fs_module_list): New struct.
18693 (grub_fs_module_list_t): New type.
18694
18695 * include/grub/fs.h (grub_fs_autoload_hook_t): New type.
18696 (grub_fs_autoload_hook): New prototype.
18697
18698 * genfslist.sh: New file.
f19dbdb7 18699
39c9d41d 18700 * genmk.rb: Added a rule to generate a filesystem list.
18701
121c1d83 187022005-06-30 Marco Gerards <metgerards@student.han.nl>
18703
18704 * configure.ac: Fix the test for cross-compiling.
18705
18706 * genmk.rb (Program): Use `$(CC)' instead of `$(BUILD_CC)'. Don't
18707 define GRUB_UTIL anymore.
18708
18709 * util/powerpc/ieee1275/grub-mkimage.c (load_note): Endian fixes
18710 so this function works on other systems than just big endian.
18711 (load_modules): Likewise.
18712 (add_segments): Likewise.
18713
e75d76e1 187142005-06-23 Hollis Blanchard <hollis@penguinppc.org>
18715
18716 * kern/misc.c (grub_vsprintf): Add `longfmt'. If format string
18717 contains `l' modifier, get a long from va_arg().
18718
50b5a0a7 187192005-06-23 Yoshinori K. Okuji <okuji@enbug.org>
18720
18721 * kern/mm.c (grub_free): If the next free block which is being
18722 merged is the first free block, set the first block to the block
18723 being freed.
18724 Reported by Vincent Guffens <guffens@inma.ucl.ac.be>.
18725
89371b20 187262005-05-08 Hollis Blanchard <hollis@penguinppc.org>
18727
18728 * boot/powerpc/ieee1275/cmain.c (cmain): Initialize
18729 `grub_ieee1275_chosen'.
18730
168d6e58 187312005-05-08 Hollis Blanchard <hollis@penguinppc.org>
18732
18733 * boot/powerpc/ieee1275/cmain.c (module_info): Remove definition.
18734 (grub_ieee1275_chosen): New variable.
18735 (cmain): Initialize and use `grub_ieee1275_chosen' instead of
18736 `chosen'.
18737 * boot/powerpc/ieee1275/crt0.S (init_stack): Remove stack space.
18738 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
18739 Rename first argument to `phandle' for consistency.
18740 (grub_ieee1275_get_property_length): Likewise.
18741 (grub_ieee1275_next_property): Likewise. Change type of first argument
18742 to grub_ieee1275_phandle_t.
18743 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_entry_fn):
18744 Move export next to declaration.
18745 (grub_ieee1275_chosen): New variable.
18746 * include/grub/powerpc/ieee1275/kernel.h (GRUB_IEEE1275_MODULE_BASE):
18747 Correct cosmetic typo.
18748 * kern/powerpc/ieee1275/init.c (grub_set_prefix): Use
18749 `grub_ieee1275_chosen'.
18750 * kern/powerpc/ieee1275/openfw.c (grub_map): Likewise.
18751 * loader/powerpc/ieee1275/linux.c (grub_linux_boot): Likewise.
18752 (grub_rescue_cmd_linux): Set `initrd_addr' to 0.
18753 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_refresh): Use
18754 `grub_ieee1275_chosen'.
18755
ca5baa3f 187562005-05-10 Hollis Blanchard <hollis@penguinppc.org>
18757
18758 * boot/powerpc/ieee1275/cmain.c (cmain): Remove code to parse
18759 /chosen/bootargs.
18760 * kern/powerpc/ieee1275/init.c (grub_machine_init): Parse
18761 /chosen/bootargs as "variable=value" pairs.
18762
708b345f 187632005-05-08 Vincent Pelletier <subdino2004@yahoo.fr>
18764
18765 * include/grub/misc.h (grub_dprintf): New macro.
18766 (grub_real_dprintf): New prototype.
18767 (grub_strword): Likewise.
18768 (grub_iswordseparator): Likewise.
18769 * kern/misc.c (grub_real_dprintf): New function.
18770 (grub_strword): Likewise.
18771 (grub_iswordseparator): Likewise.
18772
f4c5e67c 187732005-04-30 Hollis Blanchard <hollis@penguinppc.org>
18774
18775 * boot/powerpc/ieee1275/cmain.c: Don't include grub/machine/init.h.
18776 (roundup): Remove macro.
18777 (grub_ieee1275_flags): Make static.
18778 (grub_ieee1275_realmode): Remove.
18779 (grub_ieee1275_test_flag): New function.
18780 (grub_ieee1275_set_flag): Likewise.
18781 (find_options): Rename to `grub_ieee1275_find_options'; update
18782 callers. Set GRUB_IEEE1275_FLAG_REAL_MODE and
18783 GRUB_IEEE1275_FLAG_0_BASED_PARTITIONS.
18784 (cmain): New prototype.
18785 (cmain): Use `grub_ieee1275_set_flag' instead of accessing
18786 `grub_ieee1275_flags' directly.
18787 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Remove
18788 machine/biosdisk.h.
18789 * disk/powerpc/ieee1275/ofdisk.c: Include grub/machine/ofdisk.h.
18790 Don't include grub/machine/init.h.
18791 (grub_ofdisk_open): Call `grub_ieee1275_test_flag'.
18792 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
18793 Remove prototype.
18794 (grub_ieee1275_realmode): Likewise.
18795 (grub_ieee1275_flag): New enum.
18796 (grub_ieee1275_test_flag): New prototype.
18797 (grub_ieee1275_set_flag): New prototype.
18798 * include/grub/powerpc/ieee1275/init.h: Remove file.
18799 * include/grub/powerpc/ieee1275/ofdisk.h: New file.
18800 * kern/powerpc/ieee1275/init.c: Don't include grub/machine/init.h.
18801 Include grub/machine/console.h. Include grub/machine/ofdisk.h.
18802 (grub_machine_fini): Don't call `grub_ieee1275_release'. Remove
18803 comment.
18804 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Call
18805 `grub_ieee1275_test_flag'.
18806 (grub_ieee1275_encode_devname): Likewise.
18807
ed16607e 188082005-04-21 Hollis Blanchard <hollis@penguinppc.org>
18809
18810 * include/grub/powerpc/ieee1275/ieee1275.h
18811 (grub_ieee1275_encode_devname): New prototype.
18812 (grub_ieee1275_get_filename): Likewise.
18813 * kern/powerpc/ieee1275/init.c (grub_translate_ieee175_path): New
18814 function.
18815 (grub_set_prefix): Likewise.
18816 (grub_machine_init): Call grub_set_prefix.
18817 * kern/powerpc/ieee1275/openfw.c: Fix typos.
18818 (grub_parse_type): New enum.
18819 (grub_ieee1275_get_devargs): New function.
18820 (grub_ieee1275_get_devname): Likewise.
18821 (grub_ieee1275_parse_args): Likewise.
18822 (grub_ieee1275_get_filename): Likewise.
18823 (grub_ieee1275_encode_devname): Likewise.
18824
be369920 188252005-03-30 Marco Gerards <metgerards@student.han.nl>
18826
18827 * kern/powerpc/ieee1275/init.c (grub_machine_fini): Don't call
18828 `grub_loader_unset'.
18829
a5ce3a4a 188302005-03-26 Hollis Blanchard <hollis@penguinppc.org>
18831
18832 * commands/ieee1275/halt.c (grub_cmd_halt): Call grub_halt
18833 instead of grub_ieee1275_interpret.
18834 (grub_halt_init): New function.
18835 (grub_halt_fini): Likewise.
18836 (GRUB_MOD_INIT): Correct message grammar.
18837 * commands/ieee1275/reboot.c (grub_cmd_reboot): Call grub_reboot
18838 instead of grub_ieee1275_interpret.
18839 (grub_reboot_init): New function.
18840 (grub_reboot_fini): Likewise.
18841 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Replace
18842 commands/i386/pc/halt.c, commands/i386/pc/reboot.c, and
18843 util/i386/pc/misc.c with commands/ieee1275/halt.c,
18844 commands/ieee1275/reboot.c, and util/powerpc/ieee1275/misc.c.
18845 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_fini): New
18846 function.
18847 * include/grub/powerpc/ieee1275/console.h (grub_console_fini):
18848 Add prototype.
18849 * include/grub/powerpc/ieee1275/ieee1275.h (grub_reboot): Add
18850 prototype.
18851 (grub_halt): Likewise.
18852 * include/grub/powerpc/ieee1275/init.h: Remove inaccurate comment.
18853 (cmain): Remove __attribute__((unused)).
18854 * kern/powerpc/ieee1275/init.c (grub_heap_start): New variable.
18855 (grub_heap_len): Likewise.
18856 (grub_machine_fini): New function.
18857 * kern/powerpc/ieee1275/openfw.c (grub_reboot): New function.
18858 (grub_halt): Likewise.
18859 * term/powerpc/ieee1275/ofconsole.c (grub_console_fini): New
18860 function.
18861 * util/powerpc/ieee1275/misc.c: New file.
18862
0058f771 188632005-03-19 Yoshinori K. Okuji <okuji@enbug.org>
18864
18865 * DISTLIST: New file.
18866 * gendistlist.sh: Likewise.
f19dbdb7 18867
0058f771 18868 * Makefile.in (COMMON_DISTFILES): Removed.
18869 (BOOT_DISTFILES): Likewise.
18870 (CONF_DISTFILES): Likewise.
18871 (DISK_DISTFILES): Likewise.
18872 (FS_DISTFILES): Likewise.
18873 (INCLUDE_DISTFILES): Likewise.
18874 (KERN_DISTFILES): Likewise.
18875 (LOADER_DISTFILES): Likewise.
18876 (TERM_DISTFILES): Likewise.
18877 (UTIL_DISTFILES): Likewise.
18878 (DISTFILES): Likewise.
18879 (uninstall): Uninstall files in $(pkgdata_DATA).
18880 (DISTLIST): New target.
18881 (distdir): Use the contents of the file DISTLIST to get a list of
18882 distributed files.
18883
46b3b8a5 188842005-03-18 Yoshinori K. Okuji <okuji@enbug.org>
18885
18886 * fs/fat.c (grub_fat_mount): Ignore the 3rd bit of a media
18887 descriptor. This is ported from GRUB Legacy.
18888
18889 * gencmdlist.sh: Added an extra semicolon to make it work with
18890 old sed versions. Reported by Robert Bihlmeyer
18891 <robbe@orcus.priv.at>.
18892
5822ff87 188932005-03-08 Yoshinori Okuji <okuji@enbug.org>
18894
18895 Automatic loading of commands is supported.
f19dbdb7 18896
5822ff87 18897 * normal/main.c (read_command_list): New function.
18898 (grub_normal_execute): Call read_command_list.
18899
18900 * normal/command.c (grub_register_command): Return zero or CMD.
18901 Allocate CMD->NAME from the heap.
18902 Initialize CMD->MODULE_NAME to zero.
18903 Find the same name as well. If the same command is found and it is
18904 a dummy command, overwrite members. If it is not a dummy command,
18905 return zero.
18906 (grub_unregister_command): Free Q->NAME and Q->MODULE_NAME.
18907 (grub_command_find): If a dummy command is found, load a module
18908 and retry to find a command only once.
18909
18910 * normal/cmdline.c (grub_tab_complete): Call grub_command_find to
18911 make sure that each command is loaded.
18912
18913 * include/grub/normal.h (GRUB_COMMAND_FLAG_NOT_LOADED): New
18914 macro.
18915 (struct grub_command): Remove const from the member `name'.
18916 Add a new member `module_name'.
18917 (grub_register_command): Return grub_command_t.
18918
18919 * commands/help.c (grub_cmd_help): Call grub_command_find to make
18920 sure that each command is loaded.
18921
18922 * genmk.rb (PModule::rule): Specify a module name without the
18923 suffix ".mod" to gencmdlist.sh.
18924
7b1f4b57 189252005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
18926
18927 * gencmdlist.sh: New file.
f19dbdb7 18928
7b1f4b57 18929 * genmk.rb (PModule::rule): Generate a rule for a command list.
18930 Clean command.lst.
18931 Generate command.lst from $(COMMANDFILES).
18932
18933 * Makefile.in (COMMON_DISTFILES): Added gencmdlist.sh.
18934 (DATA): Added $(pkgdata_DATA).
18935 (install-local): Install files in $(pkgdata_DATA).
18936
062aaf39 189372005-03-02 Yoshinori K. Okuji <okuji@enbug.org>
18938
18939 * term/i386/pc/vga.c (debug_command): Removed.
18940 (GRUB_MOD_INIT): Do not register the command "debug".
18941
18942 From Hollis Blanchard:
18943 * commands/configfile.c: New file.
18944 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
18945 commands/configfile.c.
18946 (pkgdata_MODULES): Added configfile.mod.
18947 (configfile_mod_SOURCES): New variable.
18948 (configfile_mod_CFLAGS): Likewise.
18949 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Added
18950 commands/configfile.c.
18951 (pkgdata_MODULES): Added configfile.mod.
18952 (configfile_mod_SOURCES): New variable.
18953 (configfile_mod_CFLAGS): Likewise.
18954 * util/grub-emu.c (main): Call grub_configfile_init and
18955 grub_configfile_fini.
18956 * include/grub/normal.h [GRUB_UTIL] (grub_configfile_init): New
18957 prototype.
18958 [GRUB_UTIL] (grub_configfile_fini): Likewise.
f19dbdb7 18959
cee01aa6 189602005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
18961
18962 * normal/arg.c (grub_arg_show_help): Do not show the bug report
18963 address.
18964
18965 * commands/help.c (grub_cmd_help): Do not print newlines after
18966 the last command in print_command_help.
18967
93f3a1d8 189682005-02-27 Yoshinori K. Okuji <okuji@enbug.org>
18969
18970 * commands/default.h: New file.
18971 * commands/timeout.h: Likewise.
18972 * normal/context.c: Likewise.
f19dbdb7 18973
93f3a1d8 18974 * util/misc.c: Do not include sys/times.h.
18975 Include sys/time.h and grub/machine/time.h.
18976 (grub_get_rtc): Rewritten with gettimeofday.
18977
18978 * util/grub-emu.c (main): Call grub_default_init and
18979 grub_timeout_init before grub_normal_init, and call
18980 grub_timeout_fini and grub_default_fini after grub_main.
18981
18982 * util/console.c (grub_ncurses_checkkey): Return the read
18983 character or -1.
18984
18985 * normal/menu.c (run_menu): Set MENU->TIMEOUT to -1 once it
18986 timeouts.
18987
18988 * normal/main.c (read_config_file): Push MENU. If this fails,
18989 print an error and wait for a user input.
18990 Print an error only if GRUB_ERRNO is not GRUB_ERR_NONE.
18991 If a menu is empty or an error occurs, pop MENU.
18992 (grub_normal_execute): Pop and free MENU after grub_menu_run
18993 returns.
18994
18995 * kern/loader.c (grub_loader_boot): Call grub_machine_fini.
18996
18997 * include/grub/powerpc/ieee1275/time.h [GRUB_UTIL]: Do not
18998 include time.h.
18999 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
19000 without GRUB_UTIL.
19001 * include/grub/i386/pc/time.h [GRUB_UTIL]: Do not include
19002 time.h.
19003 [GRUB_UTIL] (GRUB_TICKS_PER_SECOND): Use the same definition as
19004 without GRUB_UTIL.
19005
19006 * include/grub/normal.h (struct grub_menu_list): New struct.
19007 (grub_menu_list_t): New type.
19008 (struct grub_context): New struct.
19009 (grub_context_t): New type.
19010 (grub_register_command): Got rid of EXPORT_FUNC.
19011 (grub_unregister_command): Likewise.
19012 (grub_context_get): New prototype.
19013 (grub_context_get_current_menu): Likewise.
19014 (grub_context_push_menu): Likewise.
19015 (grub_context_pop_menu): Likewise.
19016 [GRUB_UTIL] (grub_default_init): Likewise.
19017 [GRUB_UTIL] (grub_default_fini): Likewise.
19018 [GRUB_UTIL] (grub_timeout_init): Likewise.
19019 [GRUB_UTIL] (grub_timeout_fini): Likewise.
19020
19021 * conf/i386-pc.rmk (grub_emu_SOURCES): Added commands/default.c,
19022 commands/timeout.c and normal/context.c.
19023 (pkgdata_MODULES): Added default.mod and timeout.mod.
19024 (normal_mod_SOURCES): Added normal/context.c.
19025 (default_mod_SOURCES): New variable.
19026 (default_mod_CFLAGS): Likewise.
19027 (timeout_mod_SOURCES): Likewise.
19028 (timeout_mod_CFLAGS): Likewise.
19029 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Copied from
19030 conf/i386-pc.rmk.
19031 (pkgdata_MODULES): Added default.mod and timeout.mod.
19032 (normal_mod_SOURCES): Added normal/context.c.
19033 (default_mod_SOURCES): New variable.
19034 (default_mod_CFLAGS): Likewise.
19035 (timeout_mod_SOURCES): Likewise.
19036 (timeout_mod_CFLAGS): Likewise.
19037
19038 * Makefile.in (all-local): Added $(MKFILES).
19039
4ed2e1dd 190402005-02-21 Vincent Pelletier <subdino2004@yahoo.fr>
19041
19042 * conf/i386-pc.rmk (grub_setup_SOURCES): Add `partmap/sun.c'.
19043 (grub_emu_SOURCES): Likewise.
19044 (pkgdata_MODULES): Add `sun.mod'.
19045 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
19046 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
19047 `partmap/sun.c'.
19048 (pkgdata_MODULES): Add `sun.mod'.
19049 (sun_mod_SOURCES, sun_mod_CFLAGS): New variables.
19050 * include/grub/partition.h (grub_sun_partition_map_init): New
19051 prototype.
19052 (grub_sun_partition_map_fini): Likewise.
19053 * partmap/sun.c: New file.
19054 * util/grub-emu.c (main): Initialize and de-initialize the sun
19055 partitionmap support.
19056
4d4e372e 190572005-02-19 Yoshinori K. Okuji <okuji@enbug.org>
19058
19059 This implements an Emacs-like menu entry editor.
f19dbdb7 19060
4d4e372e 19061 * normal/menu_entry.c: New file.
f19dbdb7 19062
4d4e372e 19063 * util/console.c (grub_ncurses_putchar): Translate some Unicode
19064 characters to ASCII.
19065 (saved_char): New variable.
19066 (grub_ncurses_checkkey): Rewritten completely.
19067 (grub_ncurses_getkey): Likewise.
19068 (grub_ncurses_init): Call raw instead of cbreak.
19069
19070 * normal/menu.c (print_entry): Do not put a space.
19071 (init_page): Renamed to ...
19072 (grub_menu_init_page): ... this. All callers changed.
19073 (edit_menu_entry): Removed.
19074 (run_menu): Call grub_menu_entry_run instead of edit_menu_entry.
19075
19076 * normal/cmdline.c (grub_cmdline_run): Call grub_setcursor.
19077
19078 * kern/misc.c (grub_vprintf): Call grub_refresh.
19079
19080 * normal/menu.c (DISP_LEFT): Renamed to ...
19081 * include/grub/term.h (GRUB_TERM_DISP_LEFT): ... this.
19082 * normal/menu.c (DISP_UP): Renamed to ...
19083 * include/grub/term.h (GRUB_TERM_DISP_UP): ... this.
19084 * normal/menu.c (DISP_RIGHT): Renamed to ...
19085 * include/grub/term.h (GRUB_TERM_DISP_RIGHT): ... this.
19086 * normal/menu.c (DISP_DOWN): Renamed to ...
19087 * include/grub/term.h (GRUB_TERM_DISP_DOWN): ... this.
19088 * normal/menu.c (DISP_HLINE): Renamed to ...
19089 * include/grub/term.h (GRUB_TERM_DISP_HLINE): ... this.
19090 * normal/menu.c (DISP_VLINE): Renamed to ...
19091 * include/grub/term.h (GRUB_TERM_DISP_VLINE): ... this.
19092 * normal/menu.c (DISP_UL): Renamed to ...
19093 * include/grub/term.h (GRUB_TERM_DISP_UL): ... this.
19094 * normal/menu.c (DISP_UR): Renamed to ...
19095 * include/grub/term.h (GRUB_TERM_DISP_UR): ... this.
19096 * normal/menu.c (DISP_LL): Renamed to ...
19097 * include/grub/term.h (GRUB_TERM_DISP_LL): ... this.
19098 * normal/menu.c (DISP_LR): Renamed to ...
19099 * include/grub/term.h (GRUB_TERM_DISP_LR): ... this.
19100 * normal/menu.c (TERM_WIDTH): Renamed to ...
19101 * include/grub/term.h (GRUB_TERM_WIDTH): ... this.
19102 * normal/menu.c (TERM_HEIGHT): Renamed to ...
19103 * include/grub/term.h (GRUB_TERM_HEIGHT): ... this.
19104 * normal/menu.c (TERM_INFO_HEIGHT): Renamed to ...
19105 * include/grub/term.h (GRUB_TERM_INFO_HEIGHT): ... this.
19106 * normal/menu.c (TERM_MARGIN): Renamed to ...
19107 * include/grub/term.h (GRUB_TERM_MARGIN): ... this.
19108 * normal/menu.c (TERM_SCROLL_WIDTH): Renamed to ...
19109 * include/grub/term.h (GRUB_TERM_SCROLL_WIDTH): ... this.
19110 * normal/menu.c (TERM_TOP_BORDER_Y): Renamed to ...
19111 * include/grub/term.h (GRUB_TERM_TOP_BORDER_Y): ... this.
19112 * normal/menu.c (TERM_LEFT_BORDER_X): Renamed to ...
19113 * include/grub/term.h (GRUB_TERM_LEFT_BORDER_X): ... this.
19114 * normal/menu.c (TERM_BORDER_WIDTH): Renamed to ...
19115 * include/grub/term.h (GRUB_TERM_BORDER_WIDTH): ... this.
19116 * normal/menu.c (TERM_MESSAGE_HEIGHT): Renamed to ...
19117 * include/grub/term.h (GRUB_TERM_MESSAGE_HEIGHT): ... this.
19118 * normal/menu.c (TERM_BORDER_HEIGHT): Renamed to ...
19119 * include/grub/term.h (GRUB_TERM_BORDER_HEIGHT): ... this.
19120 * normal/menu.c (TERM_NUM_ENTRIES): Renamed to ...
19121 * include/grub/term.h (GRUB_TERM_NUM_ENTRIES): ... this.
19122 * normal/menu.c (TERM_FIRST_ENTRY_Y): Renamed to ...
19123 * include/grub/term.h (GRUB_TERM_FIRST_ENTRY_Y): ... this.
19124 * normal/menu.c (TERM_ENTRY_WIDTH): Renamed to ...
19125 * include/grub/term.h (GRUB_TERM_ENTRY_WIDTH): ... this.
19126 * normal/menu.c (TERM_CURSOR_X): Renamed to ...
19127 * include/grub/term.h (GRUB_TERM_CURSOR_X): ... this.
19128 All callers changed.
19129
19130 * include/grub/normal.h: New prototype.
19131
19132 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
19133 normal/menu_entry.c.
19134 (normal_mod_SOURCES): Likewise.
19135 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Likewise.
19136 (normal_mod_SOURCES): Likewise.
19137
e6b92c8a 191382005-02-15 Yoshinori K. Okuji <okuji@enbug.org>
19139
19140 * include/grub/normal.h (grub_halt_init): New prototype.
19141 (grub_halt_fini): Likewise.
19142 (grub_reboot_init): Likewise.
19143 (grub_reboot_fini): Likewise.
19144
19145 * util/grub-emu.c: Include signal.h.
19146 (main_env): New global variable.
19147 (grub_machine_init): Ignore SIGINT. Otherwise grub-emu cannot
19148 catch C-c.
19149 (grub_machine_fini): New function.
19150 (main): Call grub_halt_init and grub_reboot_init before
19151 grub_main, and grub_reboot_fini and grub_halt_fini after it.
19152 Call setjmp with MAIN_ENV to go back afterwards.
19153 Call grub_machine_fini right before return.
19154
19155 * include/grub/util/misc.h: Include setjmp.h.
19156 (main_env): New prototype.
19157
19158 * include/grub/kernel.h (grub_machine_fini): New prototype.
19159 * include/grub/i386/pc/biosdisk.h (grub_biosdisk_fini): Likewise.
19160 * include/grub/i386/pc/console.h (grub_console_fini): Likewise.
19161
19162 * disk/i386/pc/biosdisk.c (grub_biosdisk_fini): New function.
19163 * kern/i386/pc/init.c (grub_machine_fini): Likewise.
19164 * term/i386/pc/console.c (grub_console_fini): Likewise.
f19dbdb7 19165
e6b92c8a 19166 * util/i386/pc/misc.c: New file.
f19dbdb7 19167
e6b92c8a 19168 * conf/i386-pc.rmk (grub_emu_SOURCES): Added
19169 util/i386/pc/misc.c, commands/i386/pc/halt.c and
19170 commands/i386/pc/reboot.c.
19171
c642636f 191722005-02-14 Guillem Jover <guillem@hadrons.org>
19173
19174 * include/grub/dl.h (grub_dl_check_header): New prototype.
19175 (grub_arch_dl_check_header): Change return type to grub_err_t,
19176 remove size parameter and export function. Update all callers.
19177 * kern/dl.c (grub_dl_check_header): New function.
19178 (grub_dl_load_core): Use `grub_dl_check_header' instead of
19179 `grub_arch_dl_check_header'. Check ELF type. Check if sections
19180 are inside the core.
19181 * kern/i386/dl.c (grub_arch_dl_check_header): Remove arch
19182 independent ELF header checks.
19183 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
19184 * loader/i386/pc/multiboot.c (grub_rescue_cmd_multiboot): Use
19185 `grub_dl_check_header' instead of explicit checks. Check for the
19186 ELF type.
19187 * loader/powerpc/ieee1275/linux.c (grub_rescue_cmd_linux): Use
19188 `grub_dl_check_header' instead of explicit checks. Remove arch
19189 specific ELF header checks.
19190
e6b92c8a 19191 * util/grub-emu.c (grub_arch_dl_check_header): Remove the
19192 argument SIZE.
19193
5eabe94b 191942005-02-13 Hollis Blanchard <hollis@penguinppc.org>
19195
19196 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add ls.mod.
19197 * include/grub/powerpc/libgcc.h (__mulsf3): New prototype.
19198
1b14a681 191992005-02-12 Hollis Blanchard <hollis@penguinppc.org>
19200
19201 * kern/partition.c (grub_partition_probe): Clear `grub_errno' and
f19dbdb7 19202 return 0 if `grub_errno' is GRUB_ERR_BAD_PART_TABLE.
1b14a681 19203 (part_map_iterate): Clear `grub_errno' and return 0 if
f19dbdb7 19204 `partmap->iterate' returns GRUB_ERR_BAD_PART_TABLE.
1b14a681 19205 * partmap/amiga.c (amiga_partition_map_iterate): Return
19206 GRUB_ERR_BAD_PART_TABLE if no partition map magic is found.
19207 * partmap/apple.c (apple_partition_map_iterate): Likewise.
19208
aca108aa 192092005-02-01 Guillem Jover <guillem@hadrons.org>
19210
19211 * loader/i386/pc/multiboot_normal.c (GRUB_MOD_INIT): Fix module
19212 help info.
19213
c9f9c556 192142005-01-31 Marco Gerards <metgerards@student.han.nl>
19215
19216 * include/grub/powerpc/ieee1275/loader.h (grub_load_linux):
19217 Removed prototype.
19218 (grub_rescue_cmd_linux): New prototype.
19219 (grub_rescue_cmd_initrd): Likewise.
19220 * powerpc/ieee1275/linux.c (grub_linux_boot): Remove struct
19221 `bi_rec'.
19222 (grub_linux_release_mem): Release the memory for the initrd.
19223 (grub_load_linux): Renamed from this...
19224 (grub_rescue_cmd_linux): ...To this. Changed all callers.
19225 Changed `entry' not to be static. Loop over memory regions to
19226 find another one when the default fails.
19227 (grub_rescue_cmd_initrd): New function.
19228 (grub_linux_init): Remove function.
19229 (grub_linux_fini): Likewise.
19230 (GRUB_MOD_INIT): Register `initrd'.
19231 (GRUB_MOD_FINI): Unregister `initrd'.
19232 * powerpc/ieee1275/linux_normal.c (grub_linux_normal_init):
19233 Function removed.
19234 (grub_linux_normal_fini): Likewise.
19235 (GRUB_MOD_INIT): Register `initrd'.
19236 (GRUB_MOD_FINI): Unregister `initrd'.
19237
990cf3aa 192382005-01-31 Marco Gerards <metgerards@student.han.nl>
19239
19240 * commands/help.c: New file.
19241 * normal/arg.c (show_help): Renamed to...
19242 (grub_arg_show_help): ... this.
19243 * commands/i386/pc/halt.c: New file.
19244 * commands/i386/pc/reboot.c: Likewise.
19245 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `commands/help.c'.
19246 (pkgdata_MODULES): Add `reboot.mod', `halt.mod' and `help.mod'.
19247 (help_mod_SOURCES, help_mod_CFLAGS, reboot_mod_SOURCES)
19248 (reboot_mod_CFLAGS, halt_mod_SOURCES, halt_mod_CFLAGS): New
19249 variables.
19250 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
19251 `commands/help.c'.
19252 (pkgdata_MODULES): Add `help.mod'.
19253 (help_mod_SOURCES, help_mod_CFLAGS): New variables.
19254 * grub/i386/pc/init.h (grub_reboot): New prototype.
19255 (grub_halt): Likewise.
19256 * include/grub/normal.h (grub_arg_show_help): New prototype.
19257 (grub_help_init): Likewise.
19258 (grub_help_fini): Likewise.
19259 * util/grub-emu.c (main): Initialize and deinitialize the help
19260 command.
19261
19262 * normal/cmdline.c (grub_cmdline_get): Doc fix.
19263
19264 * normal/command.c (grub_command_init): Fixed the description of
19265 the `set' and `unset' commands.
19266
192672005-01-31 Marco Gerards <metgerards@student.han.nl>
0f79cdc1 19268
19269 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_interpret): New
19270 function.
19271 * commands/ieee1275/halt.c: New file.
19272 * commands/ieee1275/reboot.c: Likewise.
19273 * commands/ieee1275/suspend.c (grub_cmd_suspend): Use
19274 `__attribute__ ((unused))'. Some GCS related fixed.
19275 (grub_suspend_init) [GRUB_UTIL]: Function removed.
19276 (grub_suspend_fini): Likewise.
19277 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add `reboot.mod'
19278 and `halt.mod'.
19279 (reboot_mod_SOURCES, reboot_mod_CFLAGS, halt_mod_SOURCES)
19280 (halt_mod_CFLAGS): New variables.
19281 * include/grub/powerpc/ieee1275/ieee1275.h
19282 (grub_ieee1275_interpret): New prototype.
19283
1ab09cc7 192842005-01-29 Yoshinori K. Okuji <okuji@enbug.org>
19285
19286 * include/grub/misc.h (memmove): New prototype.
19287 (memcpy): Likewise.
19288
8b8cbdb2 192892005-01-22 Hollis Blanchard <hollis@penguinppc.org>
19290
19291 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Don't initialize
19292 `devpath' to 0. Use `name' instead of `devpath' with `grub_strndup'.
19293
e3741a27 192942005-01-22 Marco Gerards <metgerards@student.han.nl>
19295
19296 * kern/misc.c (grub_strndup): Function rewritten.
19297
776bd780 192982005-01-22 Vincent Pelletier <subdino2004@yahoo.fr>
19299
19300 * normal/menu.c (TERM_WIDTH): Macro redefined.
19301 (TERM_TOP_BORDER_Y): Likewise.
19302 (draw_border): Replaced while-loop by a for-loop. Make the number
19303 of lines consistent with the number of lines displayed in
19304 print_entries. Added a margin below the rectangle.
19305 (print_entry): Make the entry fit in the rectangle.
19306 (print_entries): Display the scroll arrows next to the right
19307 border.
19308
78026bce 193092005-01-21 Marco Gerards <metgerards@student.han.nl>
19310
19311 * fs/minix.c (grub_minix_find_file): Reserve more space for
19312 `fpath' so the \0 can be stored. Use `grub_strcpy' instead of
19313 `grub_strncpy' to copy `path' into it.
19314
67bbaf0f 193152005-01-21 Marco Gerards <metgerards@student.han.nl>
19316
19317 Add the loopback device, a device via which files can be accessed
19318 as devices.
f19dbdb7 19319
67bbaf0f 19320 * conf/i386-pc.rmk (grub_emu_SOURCES): Add `disk/loopback.c'.
19321 (pkgdata_MODULES): Add loopback.mod.
19322 (loopback_mod_SOURCES): New variable.
19323 (loopback_mod_CFLAGS): Likewise.
19324 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add
19325 `disk/loopback.c'.
19326 (pkgdata_MODULES): Add loopback.mod.
19327 (loopback_mod_SOURCES): New variable.
19328 (loopback_mod_CFLAGS): Likewise.
19329 * disk/loopback.c: new file.
19330 * include/grub/normal.h (grub_loop_init): New prototype.
19331 (grub_loop_fini): New prototype.
19332 * util/grub-emu.c (main): Initialize and de-initialize loopback
19333 support.
19334 * include/grub/disk.h (grub_disk_dev_id): Add
19335 `GRUB_DISK_DEVICE_LOOPBACK_ID'.
19336
6f1c18bd 193372005-01-20 Hollis Blanchard <hollis@penguinppc.org>
19338
19339 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_enter): New
19340 function.
19341 * conf/powerpc-ieee1275.rmk (pkgdata_MODULES): Add suspend.mod.
19342 (suspend_mod_SOURCES): New variable.
19343 (suspend_mod_CFLAGS): Likewise.
19344 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_enter):
19345 New prototype.
19346 * commands/ieee1275/suspend.c: New file.
19347
b38551da 193482005-01-20 Timothy Baldwin <T.E.Baldwin99@members.leeds.ac.uk>
19349
19350 * include/grub/dl.h (GRUB_MOD_INIT): Changed `__attribute__
f19dbdb7 19351 ((unused))' to `__attribute__ ((used))'.
b38551da 19352 (GRUB_MOD_FINI): Likewise.
19353 * kern/dl.c (grub_dl_load_file): Fix null pointer dereference.
19354 * genmk.rb (PModule): Assign space to common symbols when linking
19355 modules.
19356
777aff39 193572005-01-20 Marco Gerards <metgerards@student.han.nl>
19358
19359 * include/grub/mm.h (grub_mm_init_region): Change the type of the
19360 `unsigned' arguments to `grub_size_t'.
19361 (grub_malloc): Likewise.
19362 (grub_realloc): Likewise.
19363 (grub_memalign): Likewise.
19364 * kern/i386/dl.c (grub_arch_dl_check_header): Likewise.
19365 * kern/powerpc/dl.c (grub_arch_dl_check_header): Likewise.
19366 * util/misc.c (grub_malloc): Likewise.
19367 (grub_realloc): Likewise.
19368 * kern/mm.c (get_header_from_pointer): Change the casts to
19369 `unsigned' into a cast to `grub_size_t'.
19370
19371 * fs/fshelp.c (grub_fshelp_find_file): The `oldnode' should always
19372 point to `currnode' when `currnode' is changed.
19373
19374 * util/grub-emu.c (main): Initialize `progname'. Reported by Nico
19375 Schottelius <nico-linux@schottelius.org>.
19376
d0ff18e1 193772005-01-09 Hollis Blanchard <hollis@penguinppc.org>
19378
19379 * util/powerpc/ieee1275/grub-mkimage.c: Include <string.h>.
19380 (note_path): Remove variable.
19381 (GRUB_IEEE1275_NOTE_NAME): New macro.
19382 (GRUB_IEEE1275_NOTE_TYPE): Likewise.
19383 (grub_ieee1275_note_hdr): New structure.
19384 (grub_ieee1275_note_desc): Likewise.
19385 (grub_ieee1275_note): Likewise.
19386 (load_note): Remove `dir' argument. All callers updated. Remove
19387 `note_img' and `path'. Do not load a file from `note_path'.
19388 Initialize a struct grub_ieee1275_note and write that to `out'.
19389 Use GRUB_IEEE1275_MODULE_BASE instead of MODULE_BASE.
19390
4ca7004c 193912005-01-05 Marco Gerards <metgerards@student.han.nl>
19392
19393 * util/misc.c (grub_util_read_image): Revert last change. It
19394 called `grub_util_read_at', which seeks from the beginning of the
19395 file.
19396
0b412211 193972005-01-04 Hollis Blanchard <hollis@penguinppc.org>
19398
19399 * TODO: Add note about endianness in grub-mkimage.
19400 * boot/powerpc/ieee1275/crt0.S (note): Remove unused .note
19401 section.
19402 * conf/powerpc-ieee1275.rmk (bin_UTILITIES): Add grub-mkimage.
19403 (grub_mkimage_SOURCES): New target.
19404 * include/grub/kernel.h (grub_start_addr): Remove variable.
19405 (grub_end_addr): Likewise.
19406 (grub_total_module_size): Likewise.
19407 (grub_kernel_image_size): Likewise.
19408 (GRUB_MODULE_MAGIC): New constant.
19409 (grub_module_info): New structure.
19410 (grub_arch_modules_addr): New prototype.
19411 (grub_get_end_addr): Remove prototype.
19412 * include/grub/i386/pc/kernel.h (grub_end_addr): New prototype.
19413 * include/grub/powerpc/ieee1275/kernel.h: New file.
19414 * include/grub/util/misc.h (grub_util_get_fp_size): New
19415 prototype.
19416 (grub_util_read_at): Likewise.
19417 (grub_util_write_image_at): Likewise.
19418 * kern/main.c (grub_get_end_addr): Remove function.
19419 (grub_load_modules): Call grub_arch_modules_addr instead of using
19420 grub_end_addr. Look for a grub_module_info struct in memory. Use
19421 the grub_module_info fields instead of calling grub_get_end_addr
19422 as loop conditions. Move grub_add_unused_region code here.
19423 (grub_add_unused_region): Remove function.
19424 * kern/i386/pc/init.c: Include grub/cache.h.
19425 (grub_machine_init): Remove call to grub_get_end_addr. Remove
19426 one call to add_mem_region.
19427 (grub_arch_modules_addr): New function.
19428 * kern/powerpc/ieee1275/init.c (grub_end_addr): Remove variable.
19429 (grub_total_module_size): Likewise.
19430 Include grub/machine/kernel.h.
19431 (grub_arch_modules_addr): New function.
19432 * util/grub-emu.c (grub_end_addr): Remove variable.
19433 (grub_total_module_size): Likewise.
19434 (grub_arch_modules_addr): New function.
19435 * util/misc.c: Include unistd.h.
19436 (grub_util_get_fp_size): New function.
19437 (grub_util_read_at): Likewise.
19438 (grub_util_write_image_at): Likewise.
19439 (grub_util_read_image): Call grub_util_read_at.
19440 (grub_util_write_image): Call grub_util_write_image_at.
19441 * util/i386/pc/grub-mkimage.c (generate_image): Allocate
19442 additional memory in kernel_img for a struct grub_module_info.
19443 Fill in that grub_module_info.
19444 * util/powerpc/ieee1275/grub-mkimage.c: New file.
19445
458786f8 194462005-01-03 Hollis Blanchard <hollis@penguinppc.org>
19447
19448 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_milliseconds):
19449 New function.
19450 * include/grub/powerpc/ieee1275/ieee1275.h
19451 (grub_ieee1275_milliseconds): New prototype.
19452 * include/grub/powerpc/ieee1275/time.h (GRUB_TICKS_PER_SECOND):
19453 Change to 1000.
19454 * kern/powerpc/ieee1275/init.c (grub_get_rtc): Call
19455 grub_ieee1275_milliseconds.
19456
ac507d1b 194572005-01-03 Hollis Blanchard <hollis@penguinppc.org>
19458
19459 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_realmode): New
19460 variable.
19461 (find_options): New function.
19462 (cmain): Call find_options.
19463 * include/grub/powerpc/ieee1275/ieee1275.h
19464 (grub_ieee1275_realmode): New extern variable.
19465 * kern/powerpc/ieee1275/openfw.c (grub_claimmap): Only call
19466 grub_map if grub_ieee1275_realmode is false.
19467
6b8fd1c4 194682004-12-29 Marco Gerards <metgerards@student.han.nl>
19469
19470 * normal/cmdline.c (grub_cmdline_get): Redone logic so no empty
19471 lines are inserted and make it work like readline. Reported by
19472 Vincent Pelletier <subdino2004@yahoo.fr>.
19473
8514a1e0 194742004-12-28 Marco Gerards <metgerards@student.han.nl>
19475
19476 * boot/powerpc/ieee1275/crt0.S (_start): Don't set up the stack.
19477
19478 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCE): Remove
19479 `kern/powerpc/cache.S'.
19480
924b6140 194812004-12-27 Marco Gerards <metgerards@student.han.nl>
19482
19483 * genmk.rb: Handle the `Program' class in the main loop. Written
19484 by Johan Rydberg <jrydberg@gnu.org>.
19485 (Program): New class.
19486 (programs): New variable.
19487 * boot/powerpc/ieee1275/cmain.c: Include <grub/machine/ieee1275.h>
19488 instead of "grub/machine/ieee1275.h". Include <grub/kernel.h>
19489 instead of "grub/kernel.h". Include <grub/machine/init.h>.
19490 (help_arch): Function removed.
19491 * conf/powerpc-ieee1275.rmk (grubof_HEADERS): Add
19492 `powerpc/libgcc.h' and `loader.h'.
19493 (pkgdata_PROGRAMS): New variable.
19494 (sbin_UTILITIES): Variable removed.
19495 (grub_emu_SOURCES): Added kern/powerpc/cache.S.
19496 (grubof_SOURCES): Variable re-defined so it only includes the
19497 core functionality.
19498 (grubof_CFLAGS): Remove `-DGRUBOF'.
19499 (pkgdata_MODULES, fshelp_mod_SOURCES, fshelp_mod_CFLAGS,
19500 (fat_mod_SOURCES, fat_mod_CFLAGS, ext2_mod_SOURCES)
19501 (ext2_mod_CFLAGS, ufs_mod_SOURCES, ufs_mod_CFLAGS)
19502 (minix_mod_SOURCES, minix_mod_CFLAGS, hfs_mod_SOURCES)
19503 (hfs_mod_CFLAGS, jfs_mod_SOURCES, jfs_mod_CFLAGS)
19504 (iso9660_mod_SOURCES, iso9660_mod_CFLAGS, _linux_mod_SOURCES)
19505 (_linux_mod_CFLAGS, linux_mod_SOURCES, linux_mod_CFLAGS)
19506 (normal_mod_SOURCES, normal_mod_CFLAGS, normal_mod_ASFLAGS)
19507 (hello_mod_SOURCES, hello_mod_CFLAGS, boot_mod_SOURCES)
19508 (boot_mod_CFLAGS, terminal_mod_SOURCES, terminal_mod_CFLAGS)
19509 (ls_mod_SOURCES, ls_mod_CFLAGS, cmp_mod_SOURCES, cmp_mod_CFLAGS)
19510 (cat_mod_SOURCES, cat_mod_CFLAGS, font_mod_SOURCES)
19511 (font_mod_CFLAGS, amiga_mod_SOURCES, amiga_mod_CFLAGS)
19512 (apple_mod_SOURCES, apple_mod_CFLAGS, pc_mod_SOURCES)
19513 (pc_mod_CFLAGS): New variables.
19514 * disk/powerpc/ieee1275/ofdisk.c: Include <grub/machine/init.h>.
19515 (grub_ofdisk_iterate): Add a prototype for `dev_iterate'.
19516 * include/grub/dl.h (grub_arch_dl_sync_caches): New prototype.
19517 * include/grub/loader.h (grub_os_area_addr, grub_os_area_size):
19518 Moved from here...
19519 * include/grub/i386/pc/init.h (grub_os_area_addr)
19520 (rub_os_area_size): ... to here.
19521 * include/grub/powerpc/ieee1275/ieee1275.h
19522 (grub_ieee1275_entry_fn): Export symbol.
19523 * include/grub/powerpc/ieee1275/init.h: New file.
19524 * include/grub/powerpc/libgcc.h: Likewise.
19525 * include/grub/cache.h: Likewise.
19526 * kern/powerpc/cache.S: Likewise. Written by Hollis Blanchard
19527 <hollis@penguinppc.org>.
19528 * kern/dl.c: Include <grub/cache.h>.
19529 (grub_dl_flush_cache): New function.
19530 (grub_dl_load_core): Call `grub_dl_flush_cache' to flush the cache
19531 for this module.
19532 * kern/powerpc/ieee1275/init.c (grub_ofdisk_init)
19533 (grub_console_init): Removed prototypes.
19534 (grub_machine_init): Don't initialize the modules anymore.
19535 * kern/powerpc/ieee1275/openfw.c (grub_map): Make the function
19536 static.
19537 * include/grub/powerpc/types.h (GRUB_HOST_WORDS_LITTLEENDIAN):
19538 Macro undef removed.
19539 (GRUB_HOST_WORDS_BIGENDIAN): New macro.
19540 * kern/powerpc/dl.c (grub_arch_dl_relocate_symbols): Add
19541 relocation `R_PPC_REL32'. Return an error when the relocation is
19542 unknown.
19543 * Makefile.in (DATA): Add `$(pkgdata_PROGRAMS)'.
19544 * kern/i386/pc/init.c (grub_arch_sync_caches): New function.
19545 * util/misc.c (grub_arch_sync_caches): Likewise.
19546
e4b47e0c 195472004-12-19 Marco Gerards <metgerards@student.han.nl>
19548
19549 * conf/powerpc-ieee1275.rmk (MOSTLYCLEANFILES): Remove
19550 `symlist.c', add `grubof_symlist.c'.
19551 (symlist.c): Variable removed.
19552 (grubof_HEADERS): Variable added.
19553 (grubof_symlist.c): New target.
19554 (kernel_syms.lst): Use `grubof_HEADERS' instead of
19555 `kernel_img_HEADERS'.
19556 (grubof_SOURCES): Add `kern/powerpc/dl.c' and `grubof_symlist.c'.
19557 * kern/powerpc/dl.c: New file.
19558 * kern/powerpc/ieee1275/init.c (grub_arch_dl_check_header):
19559 Function removed.
19560 (grub_arch_dl_relocate_symbols): Likewise.
19561 (grub_register_exported_symbols): Likewise.
19562
4ceb3636 195632004-12-13 Marco Gerards <metgerards@student.han.nl>
19564
19565 * fs/ext2.c (grub_ext2_open): Don't use data after freeing it.
19566 (grub_ext2_dir): Likewise. Don't return in case of an error, jump
19567 to fail instead. Reported by Vincent Pelletier
19568 <subdino2004@yahoo.fr>.
19569
19570 * fs/fshelp.c (grub_fshelp_find_file): Don't free `oldnode' when
19571 it is not allocated. Reported by Vincent Pelletier
19572 <subdino2004@yahoo.fr>.
19573
19574 * normal/cmdline.c (grub_tab_complete): Add a blank line to the
19575 output so the output looks better.
f19dbdb7 19576
3f1578fe 195772004-12-04 Marco Gerards <metgerards@student.han.nl>
19578
19579 Modulize the partition map support and add support for the amiga
19580 partition map.
f19dbdb7 19581
3f1578fe 19582 * commands/ls.c: Include <grub/partition.h> instead of
19583 <grub/machine/partition.h>.
19584 * kern/disk.c: Likewise.
19585 * kern/rescue.c: Likewise.
19586 * loader/i386/pc/chainloader.c: Likewise.
19587 * normal/cmdline.c: Likewise.
19588 * kern/powerpc/ieee1275/init.c: Likewise.
19589 (grub_machine_init): Call `grub_pc_partition_map_init',
19590 `grub_amiga_partition_map_init' and
19591 `grub_apple_partition_map_init'.
19592 * conf/i386-pc.rmk (kernel_img_SOURCES): Remove
19593 `disk/i386/pc/partition.c'. Add `kern/partition.c'.
19594 (kernel_img_HEADERS): Remove `machine/partition.h'. Add
19595 `partition.h' and `pc_partition.h'.
19596 (grub_setup_SOURCES): Remove
19597 `disk/i386/pc/partition.c'. Add `kern/partition.c',
19598 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
19599 (grub_emu_SOURCES): Likewise.
19600 (pkgdata_MODULES): Add `amiga.mod', `apple.mod' and `pc.mod'.
19601 (amiga_mod_SOURCES, amiga_mod_CFLAGS, apple_mod_SOURCES)
19602 (apple_mod_CFLAGS, pc_mod_SOURCES, pc_mod_CFLAGS): New variables.
19603 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
19604 `disk/powerpc/ieee1275/partition.c'. Add `kern/partition.c',
19605 `partmap/amiga.c', `partmap/apple.c' and `partmap/pc.c'.
19606 (grubof_SOURCES): Likewise.
19607 * disk/i386/pc/partition.c: File removed.
19608 * disk/powerpc/ieee1275/partition.c: Likewise.
19609 * include/grub/powerpc/ieee1275/partition.h: Likewise.
19610 * include/grub/i386/pc/partition.h: Likewise.
19611 * kern/partition.c: New file.
19612 * partmap/amiga.c: Likewise.
19613 * partmap/apple.c: Likewise.
19614 * partmap/pc.c: Likewise.
19615 * include/grub/partition.h: Likewise..
19616 * include/grub/pc_partition.h: Likewise.
19617 * util/grub-emu.c: Include <grub/partition.h> instead of
19618 <grub/machine/partition.h>.
19619 (main): Call `grub_pc_partition_map_init',
19620 `grub_amiga_partition_map_init' and
19621 `grub_apple_partition_map_init' and deinitialize afterwards.
19622 * util/i386/pc/biosdisk.c: Include `#include
19623 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
19624 `<grub/machine/partition.h>'.
19625 * util/i386/pc/grub-setup.c: Likewise.
19626 * util/i386/pc/biosdisk.c: Likewise.
19627 (grub_util_biosdisk_get_grub_dev): Only access the PC specific
19628 partition information in case of a PC partition.
19629 * util/i386/pc/grub-setup.c: Include `#include
19630 <grub/partition.h>' and `include <grub/pc_partition.h>' instead of
19631 `<grub/machine/partition.h>'.
19632 (setup): Only access the PC specific partition information in case
19633 of a PC partition.
19634
0ef4ced9 196352004-11-17 Hollis Blanchard <hollis@penguinppc.org>
f19dbdb7 19636
0ef4ced9 19637 * kern/powerpc/ieee1275/init.c (grub_setjmp): Remove function.
19638 (grub_longjmp): Likewise.
19639 * include/grub/powerpc/setjmp.h (grub_jmp_buf): Set array size to
19640 20.
19641 * normal/powerpc/setjmp.S: New file.
19642 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
19643 `normal/powerpc/setjmp.S'.
19644 (grubof_CFLAGS): Add `-DGRUBOF'.
19645 * include/grub/setjmp.h [GRUB_UTIL]: Changed condition to
19646 [GRUB_UTIL && !GRUBOF].
f19dbdb7 19647
19950e29 196482004-11-16 Marco Gerards <metgerards@student.han.nl>
19649
19650 * kern/powerpc/ieee1275/openfw.c (grub_devalias_iterate): Skip any
19651 property named `name'. Correctly handle the error returned by
19652 `grub_ieee1275_finddevice' if a device can not be opened.
19653
a2fea427 196542004-11-02 Hollis Blanchard <hollis@penguinppc.org>
19655
19656 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_readkey): Test
19657 `actual' for negativity.
19658 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Remove
19659 kern/fshelp.c.
19660
41ea0ea3 196612004-11-01 Marco Gerards <metgerards@student.han.nl>
19662
19663 * term/i386/pc/vga.c (VGA_HEIGHT): Changed to 350.
19664 (PAGE_OFFSET): New macro.
19665 (CRTC_ADDR_PORT): Likewise.
19666 (CRTC_DATA_PORT): Likewise.
19667 (START_ADDR_HIGH_REGISTER): Likewise.
19668 (START_ADDR_LOW_REGISTER): Likewise.
19669 (GRAPHICS_ADDR_PORT): Likewise.
19670 (GRAPHICS_DATA_PORT): Likewise.
19671 (READ_MAP_REGISTER): Likewise.
19672 (INPUT_STATUS1_REGISTER): Likewise.
19673 (INPUT_STATUS1_VERTR_BIT): Likewise.
19674 (page): New variable.
19675 (wait_vretrace): New function.
19676 (set_read_map): Likewise.
19677 (set_start_address): Likewise.
19678 (grub_vga_init): Use mode 0x10 instead of mode 0x12. Switch to
19679 the right page.
19680 (check_vga_mem): Take the page into account.
19681 (write_char): Likewise.
19682 (write_cursor): Likewise.
19683 (scroll_up): Likewise. Copy the page to the page that is not
19684 shown and switch between both pages.
19685 (grub_vga_putchar): Fix off by one error.
19686 (grub_vga_cls): Wait for the vertical retrace. Take the page into
19687 account.
19688
ad0bd20b 196892004-11-01 Marco Gerards <metgerards@student.han.nl>
19690
19691 Add support for iso9660 (including rockridge).
f19dbdb7 19692
ad0bd20b 19693 * conf/i386-pc.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
19694 (iso9660_mod_SOURCES): New variable.
19695 (iso9660_mod_CFLAGS): Likewise.
19696 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/iso9660.c.
19697 * include/grub/fs.h (grub_iso9660_init): New prototype.
19698 * util/grub-emu.c (main): Call `grub_iso9660_init'.
19699 * fs/iso9660.c: New file.
19700
19701 * include/grub/misc.h (grub_strncat): New prototype.
19702 * kern/misc.c (grub_strncat): New function.
f19dbdb7 19703
ad0bd20b 19704 * fs/hfs.c (grub_hfs_mount): Translate the error
19705 `GRUB_ERR_OUT_OF_RANGE' to `GRUB_ERR_BAD_FS'.
19706 * fs/jfs.c (grub_jfs_mount): Likewise.
19707 * fs/ufs.c (grub_ufs_mount): Likewise.
19708
a5477a59 197092004-10-28 Hollis Blanchard <hollis@penguinppc.org>
19710
19711 * boot/powerpc/ieee1275/cmain.c (cmain): Remove asm statements
19712 which initialized BAT registers.
19713 * boot/powerpc/ieee1275/ieee1275.c (IEEE1275_CALL_ENTRY_FN,
19714 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
19715 Move from here...
19716 * include/grub/powerpc/ieee1275/ieee1275.h (IEEE1275_CALL_ENTRY_FN,
19717 grub_ieee1275_common_hdr, INIT_IEEE1275_COMMON):
19718 ... to here.
19719 * kern/powerpc/ieee1275/openfw.c (grub_map): New function.
19720 (grub_mapclaim): Likewise.
19721 * loader/powerpc/ieee1275/linux.c (grub_load_linux): Use
19722 grub_mapclaim instead of grub_ieee1275_claim. Assign linux_addr by
19723 hand.
19724
9304c1f8 197252004-10-19 Hollis Blanchard <hollis@penguinppc.org>
19726
19727 * conf/powerpc-ieee1275.rmk (COMMON_ASFLAGS): Remove -fno-builtin.
19728 (COMMON_CFLAGS): Remove -fno-builtin and -D__ASSEMBLY__. Add
19729 -ffreestanding and -msoft-float.
19730
86f4ae25 197312004-10-15 Hollis Blanchard <hollis@penguinppc.org>
19732
19733 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_open): Do not
19734 append ":0" to devpath if the GRUB_IEEE1275_NO_PARTITION_0 flag is
19735 set in grub_ieee1275_flags.
19736
38912228 197372004-10-14 Hollis Blanchard <hollis@penguinppc.org>
19738
19739 * include/grub/powerpc/ieee1275/ieee1275.h (abort): Add function
19740 prototype.
19741 * kern/powerpc/ieee1275/init.c (grub_machine_init): Call
19742 grub_console_init first.
19743 Change the memory range used for grub_ieee1275_claim and
19744 grub_mm_init_region.
19745 Print an error message if the claim fails.
19746 Include <grub/misc.h>.
19747
d1923dc8 197482004-10-13 Hollis Blanchard <hollis@penguinppc.org>
19749
19750 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_iterate):
19751 Call grub_children_iterate for device nodes of type `scsi',
19752 `ide', or `ata'.
19753 (grub_ofdisk_open): Remove manual device alias resolution.
19754 Fix memory leak when device cannot be opened.
f19dbdb7 19755 * include/grub/powerpc/ieee1275/ieee1275.h
d1923dc8 19756 (grub_children_iterate): New prototype.
19757 * kern/powerpc/ieee1275/openfw.c (grub_children_iterate):
19758 New function.
19759 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
19760 Return -1 if args.size was -1.
19761
4512e4f3 197622004-10-11 Hollis Blanchard <hollis@penguinppc.org>
19763
19764 * boot/powerpc/ieee1275/cmain.c (grub_ieee1275_flags): New global.
19765 (cmain): Accept 3 parameters. Test for 0xdeadbeef, indicating Old
19766 World Macintosh. If Old Wold, set flag in grub_ieee1275_flags; claim
19767 Open Firmware's memory for it; claim memory from _start to _end.
19768 * boot/powerpc/ieee1275/crt0.S (__bss_start): New extern.
19769 (_end): New extern.
19770 (_start): Zero BSS from __bss_start to _end.
19771 * include/grub/powerpc/ieee1275/ieee1275.h (grub_ieee1275_flags):
19772 New extern.
19773 (GRUB_IEEE1275_NO_PARTITION_0): New #define.
19774
4d61feb0 197752004-10-11 Hollis Blanchard <hollis@penguinppc.org>
19776
ad0bd20b 19777 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): Return
19778 -1 if args.base was -1.
4d61feb0 19779
026fa2f9 197802004-10-08 Hollis Blanchard <hollis@penguinppc.org>
19781
19782 * term/powerpc/ieee1275/ieee1275.c (grub_ofconsole_cls): Use an ANSI
19783 escape sequence instead of a literal ^L. Also call
19784 grub_ofconsole_gotoxy.
19785
9f2220ef 197862004-10-03 Hollis Blanchard <hollis@penguinppc.org>
19787
19788 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_claim): change
19789 void * arguments to grub_addr_t. All callers updated. Also make
19790 the `result' argument optional.
19791 (grub_ieee1275_release): change void * arguments to grub_addr_t.
19792 All callers updated.
19793
8a572cd7 197942004-09-22 Hollis Blanchard <hollis@penguinppc.org>
19795
19796 * commands/ls.c (grub_ls_list_files): Use the string following the
19797 initial ')', if present, as the filesystem path.
19798 * kern/rescue.c (grub_rescue_cmd_ls): Likewise.
19799
19800 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): List crt0.S first.
19801
18aa81f2 198022004-09-18 Yoshinori K. Okuji <okuji@enbug.org>
19803
19804 Make the source code of the menu interface more readable.
f19dbdb7 19805
18aa81f2 19806 * normal/menu.c: Include grub/mm.h.
19807 (TERM_WIDTH): New macro.
19808 (TERM_HEIGHT): Likewise.
19809 (TERM_INFO_HEIGHT): Likewise.
19810 (TERM_MARGIN): Likewise.
19811 (TERM_SCROLL_WIDTH): Likewise.
19812 (TERM_TOP_BORDER_Y): Likewise.
19813 (TERM_LEFT_BORDER_X): Likewise.
19814 (TERM_BORDER_WIDTH): Likewise.
19815 (TERM_MESSAGE_HEIGHT): Likewise.
19816 (TERM_BORDER_HEIGHT): Likewise.
19817 (TERM_NUM_ENTRIES): Likewise.
19818 (TERM_FIRST_ENTRY_Y): Likewise.
19819 (TERM_ENTRY_WIDTH): Likewise.
19820 (TERM_CURSOR_X): Likewise.
19821 (draw_border): Use macros instead of magic numbers.
19822 (print_entry): Likewise.
19823 (print_entries): Likewise.
19824 (run_menu): Likewise. Also, handle the key 'e'.
19825 (run_menu_entry): Ignore empty command lines.
19826 (print_message): Added a new argument EDIT. If EDIT is true,
19827 print a different message.
19828 (init_page): Likewise.
19829 (edit_menu_entry): New function. Not implemented yet.
19830
b47efe30 198312004-09-17 Marco Gerards <metgerards@student.han.nl>
19832
19833 Add `linux.mod' and `multiboot.mod' so linux and multiboot kernels
19834 can be loaded from normal mode.
f19dbdb7 19835
b47efe30 19836 * conf/i386-pc.rmk (pkgdata_MODULES): Add `linux.mod' and
19837 `multiboot.mod'.
19838 (linux_mod_SOURCES, linux_mod_CFLAGS, multiboot_mod_SOURCES)
19839 (multiboot_mod_CFLAGS): New variables.
19840 * loader/i386/pc/linux_normal.c: New file.
f19dbdb7 19841 * loader/i386/pc/multiboot_normal.c: Likewise.
19842
b47efe30 19843 * loader/i386/pc/linux.c (grub_rescue_cmd_initrd): Don't use the
19844 attribute `unused'.
f19dbdb7 19845
b47efe30 19846 * fs/ext2.c (grub_ext2_iterate_dir): Fix typos in inode type. Use
19847 `fdiro' to read the mode information from instead of `diro'.
19848
19849 * fs/fshelp.c (grub_fshelp_find_file): Set type to foundtype after
19850 looking up a symlink.
19851
19852 * include/grub/normal.h (GRUB_COMMAND_FLAG_NO_ARG_PARSE): New
19853 macro.
19854 * normal/command.c (grub_command_execute): Don't parse the
19855 arguments when `GRUB_COMMAND_FLAG_NO_ARG_PARSE' is set in the
19856 flags of the command.
19857
19858 * normal/menu.c (grub_menu_run): Fix typo.
19859
da75ac71 198602004-09-14 Hollis Blanchard <hollis@penguinppc.org>
19861
19862 * kern/powerpc/ieee1275/init.c (abort): Trap into Open Firmware.
19863
19864 * term/powerpc/ieee1275/ofconsole.c (grub_ofconsole_gotoxy): Use
19865 `y + 1' instead of `y - 1'.
19866
19867 * conf/powerpc-ieee1275.rmk (grubof_LDFLAGS): Add `-N' and `-S'.
f19dbdb7 19868
062b24c2 198692004-09-14 Yoshinori K. Okuji <okuji@enbug.org>
19870
19871 From Hollis Blanchard <hollis@penguinppc.org>:
19872 * kern/misc.c (memmove): New alias for grub_memmove.
19873 (memcmp): New alias for grub_memcmp.
19874 (memset): New alias for grub_memset.
f19dbdb7 19875 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_get_property):
062b24c2 19876 Change "int handle" to "grub_ieee1275_phandle_t handle".
f19dbdb7 19877 * include/grub/powerpc/ieee1275/ieee1275.h
062b24c2 19878 (grub_ieee1275_get_property): Likewise.
f19dbdb7 19879
8ddad845 198802004-09-12 Tomas Ebenlendr <ebik@ucw.cz>
19881
19882 Added normal mode command `chainloader' as module chain.mod, which
19883 depends on normal.mod and _chain.mod.
f19dbdb7 19884
8ddad845 19885 * conf/i386-pc.rmk (pkgdata_MODULES): Add `chain.mod'.
19886 (chain_mod_SOURCES, chain_mod_CFLAGS): Variables added.
19887 * include/grub/i386/pc/loader.h (grub_rescue_cmd_chainloader):
19888 Deleted prototype.
19889 * loader/i386/pc/chainloader.c (grub_rescue_cmd_chainloader): All
19890 but arguments parsing moved to ...
19891 (grub_chainloader_cmd): ... here. New function.
19892 * include/grub/i386/pc/chainloader.h: New file.
19893 * loader/i386/pc/chainloader_normal.c: Likewise.
19894
2c1f4ce3 198952004-09-11 Marco Gerards <metgerards@student.han.nl>
19896
19897 * conf/i386-pc.rmk (kernel_img_SOURCES): Added kern/fshelp.c.
19898 (grub_mkimage_LDFLAGS): Likewise.
19899 (grub_emu_SOURCES): Likewise.
19900 (kernel_img_HEADERS): Added fshelp.h.
19901 * fs/ext2.c: Include <grub/fshelp.h>.
19902 (FILETYPE_REG): New macro.
19903 (FILETYPE_INO_REG): Likewise.
19904 (grub_ext_sblock): Renamed to `grub_ext2_sblock'.
19905 Changed all users.
19906 (ext2_block_group): Renamed to `grub_ext2_block_group'. Changed
19907 all users.
19908 (grub_fshelp_node): New struct.
19909 (grub_ext2_data): Added member `diropen'. Changed member `inode'
19910 to a pointer.
19911 (grub_ext2_get_file_block): Removed function.
19912 (grub_ext2_read_block): New function.
19913 (grub_ext2_read_file): Replaced parameter `data' by `node'.
19914 This function was written.
19915 (grub_ext2_mount): Read the root inode. Create a diropen struct.
19916 (grub_ext2_find_file): Removed function.
19917 (grub_ext2_read_symlink): New function.
19918 (grub_ext2_iterate_dir): Likewise.
19919 (grub_ext2_open): Rewritten.
19920 (grub_ext2_dir): Rewritten.
19921 * include/grub/fshelp.h: New file.
19922 * fs/fshelp.c: Likewise.
19923
3c52136a 199242004-09-10 Yoshinori K. Okuji <okuji@enbug.org>
19925
19926 * normal/menu.c: Include grub/loader.h and grub/machine/time.h.
19927 (print_message): Add a missing newline.
19928 (run_menu): Added timeout support.
19929 (run_menu_entry): New local function.
19930 (grub_menu_run): Added support for booting.
19931
19932 * kern/loader.c (grub_loader_is_loaded): New function.
19933
19934 * include/grub/powerpc/ieee1275/time.h: Include grub/symbol.h.
19935 (grub_get_rtc): Exported.
19936
19937 * include/grub/i386/pc/time.h: Include grub/symbol.h.
19938 (grub_get_rtc): Exported.
19939
19940 * include/grub/normal.h (struct grub_command_list): Remove
19941 constant from the member `command'.
19942
19943 * include/grub/loader.h (grub_loader_is_loaded): Declared.
19944
19945 * include/grub/err.h (GRUB_ERR_INVALID_COMMAND): New constant.
19946
19947 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/time.h.
19948
aa033560 199492004-08-28 Marco Gerards <metgerards@student.han.nl>
19950
19951 Add support for the JFS filesystem.
19952
19953 * fs/jfs.c: New file.
19954 * include/grub/fs.h (grub_jfs_init): New prototype.
19955 (grub_jfs_fini): New prototype.
19956 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/jfs.c.
19957 (grub_emu_SOURCES): Likewise.
19958 (pkgdata_MODULES): Add jfs.mod.
19959 (jfs_mod_SOURCES): New variable.
19960 (jfs_mod_CFLAGS): Likewise.
19961 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs.jfs.c.
19962 (grubof_SOURCES): Likewise.
19963 * util/grub-emu.c (main): Initialize and deinitialize JFS support.
19964
19965 * fs/fat.c (grub_fat_find_dir): Convert the filename little
19966 endian to the host endian.
19967 (grub_fat_utf16_to_utf8): Move function from there...
19968 * kern/misc.c (grub_utf16_to_utf8): ...to here. Do not convert
fe987087 19969 the endianness of the source string anymore.
aa033560 19970 * include/grub/misc.h (grub_utf16_to_utf8): New prototype.
19971
94bc45af 199722004-08-24 Marco Gerards <metgerards@student.han.nl>
19973
19974 * commands/boot.c (grub_boot_init) [GRUB_UTIL]: Make conditional.
19975 (grub_boot_fini) [GRUB_UTIL]: Likewise.
19976 (GRUB_MOD_INIT) [!GRUB_UTIL]: Likewise.
19977 (GRUB_MOD_FINI) [!GRUB_UTIL]: Likewise.
f19dbdb7 19978
94bc45af 19979 * fs/hfs.c (grub_hfs_find_node): Add a prototype for `node_found'.
19980 (grub_hfs_iterate_dir): Make the function static. Add prototypes
19981 for `node_found' and `it_dir'.
19982 (grub_hfs_dir): Add prototype for `dir_hook'.
19983
19984 * fs/minix.c (grub_minix_get_file_block): Add prototype for
19985 `grub_get_indir'. Rename `indir' in two blocks to `indir16'
19986 and `indir32' to silence a gcc warning.
19987
19988 * include/grub/fs.h (grub_hfs_init): New prototype.
19989 (grub_hfs_fini): Likewise.
f19dbdb7 19990
19991
97543f08 199922004-08-21 Yoshinori K. Okuji <okuji@enbug.org>
19993
19994 Each disk device has its own id now. This is useful to make use
19995 of multiple disk devices.
f19dbdb7 19996
97543f08 19997 * include/grub/disk.h (grub_disk_dev_id): New enum.
19998 (GRUB_DISK_DEVICE_BIOSDISK_ID): New constant.
19999 (GRUB_DISK_DEVICE_OFDISK_ID): Likewise.
20000
20001 * disk/i386/pc/biosdisk.c (grub_biosdisk_dev): Specify
20002 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
20003
20004 * disk/powerpc/ieee1275/ofdisk.c (grub_ofdisk_dev): Specify
20005 GRUB_DISK_DEVICE_OFDISK_ID as an id.
20006
20007 * util/i386/pc/biosdisk.c (grub_util_biosdisk_dev): Specify
20008 GRUB_DISK_DEVICE_BIOSDISK_ID as an id.
20009
20010 * include/grub/disk.h (struct grub_disk_dev): Added a new member
20011 "id" which is used by the cache manager.
20012
20013 * normal/main.c (grub_normal_init_page): Use "GNU GRUB" instead
20014 of just "GRUB".
20015
64372eb4 200162004-08-18 Marco Gerards <metgerards@student.han.nl>
20017
20018 * fs/hfs.c: New file.
20019 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/hfs.c.
20020 (grub_emu_SOURCES): Likewise.
20021 (pkgdata_MODULES): Add hfs.mod.
20022 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/hfs.c.
20023 (grubof_SOURCES): Likewise.
20024 * util/grub-emu.c (main): Initialize and deinitialize HFS support.
20025
20026 * include/grub/misc.h (grub_strncasecmp): Add prototype.
20027 * kern/misc.c (grub_strncasecmp): Add function.
20028
cc61b58f 200292004-08-14 Marco Gerards <metgerards@student.han.nl>
20030
20031 * include/grub/arg.h (GRUB_ARG_OPTION_OPTIONAL): Surround macro
20032 with parentheses.
20033
20034 * fs/ext2.c (FILETYPE_UNKNOWN): New macro.
20035 (grub_ext2_dir): In case the directory entry type is unknown, read
20036 it from the inode.
20037
0ef123f6 200382004-08-02 Peter Bruin <pjbruin@dds.nl>
20039
20040 * loader/powerpc/ieee1275/linux.c (grub_linux_init): Pass
20041 grub_load_linux instead of grub_rescue_cmd_linux as second
20042 argument of grub_rescue_register_command.
20043
20044 * Makefile.in (RMKFILES): Add conf/powerpc-ieee1275.rmk.
20045
a447c5df 200462004-07-27 Marco Gerards <metgerards@student.han.nl>
20047
20048 * boot/powerpc/ieee1275/ieee1275.c (grub_ieee1275_release): New
20049 function.
20050 * commands/boot.c: Remove the check for `GRUB_UTIL'.
20051 * conf/powerpc-ieee1275.rmk (grubof_SOURCES): Add
20052 `loader/powerpc/ieee1275/linux.c',
20053 `loader/powerpc/ieee1275/linux_normal.c' and `commands/boot.c'.
20054 * include/grub/powerpc/ieee1275/ieee1275.h
20055 (grub_ieee1275_release): New prototype.
20056 * include/grub/powerpc/ieee1275/loader.h: Rewritten.
20057 * kern/powerpc/ieee1275/init.c (grub_machine_init): Initialize
20058 normal, boot, linux and linux_normal.
20059 * loader/powerpc/ieee1275/linux.c: New file.
20060 * loader/powerpc/ieee1275/linux_normal.c: Likewise.
20061
5a9e3546 200622004-07-12 Marco Gerards <metgerards@student.han.nl>
20063
20064 * normal/arg.c (grub_arg_parse): Correct error handling after
20065 reallocating the argumentlist (check if `argl' is not null instead
20066 of checking if `args' is not null).
20067 * kern/mm.c (grub_realloc): Return the same pointer when using the
20068 same region, instead of returning the header address.
20069
e15199cb 200702004-07-11 Marco Gerards <metgerards@student.han.nl>
20071
20072 * disk/powerpc/ieee1275/partition.c (grub_partition_iterate): Skip
20073 one block instead of two when looking for the initial partition.
20074 (grub_partition_probe): Initialize the local variable `p' with 0.
20075 Use base 10 for the grub_strtoul call.
20076 * kern/misc.c (grub_strncpy): Fix off by one bug. Eliminated the
20077 need for one local variable.
20078 (grub_strtoul): Don't add the new value to `num', instead of that
20079 just assign it.
20080
020616c2 200812004-07-11 Marco Gerards <metgerards@student.han.nl>
20082
20083 * conf/i386-pc.rmk (pkgdata_IMAGE): Add pxeboot.img.
20084 (pxeboot_img_SOURCES): New variable.
20085 (pxeboot_img_ASFLAGS): Likewise.
20086 (pxeboot_img_LDFLAGS): Likewise.
20087 * boot/i386/pc/pxeboot.S: New file. Based on pxeloader.S from
20088 GRUB Legacy and boot.S. Adopted for GRUB 2 by lode leroy
20089 <lode_leroy@hotmail.com>.
20090
6c51eb64 200912004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
20092
20093 * kern/rescue.c (grub_enter_rescue_mode): Don't continue when
20094 there was no input.
20095
cfb12aff 200962004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
20097
20098 * normal/cmdline.c (grub_set_history): Fix off by one bug. Fixed
20099 the history buffer logic.
20100
6eabba74 201012004-06-27 Tomas Ebenlendr <ebik@ucw.cz>
20102
20103 * fs/ext2.c (FILETYPE_INO_MASK, FILETYPE_INO_DIRECTORY)
20104 (FILETYPE_INO_SYMLINK): New macros.
20105 (grub_ext2_find_file): Check if the node is a directory using the
20106 inode stat information instead of using the filetype in the
20107 dirent. Exclude the first character of an absolute symlink.
20108 (grub_ext2_dir): Mask out the filetype part of the mode member of
20109 the inode.
20110
66e19ef8 201112004-05-24 Marco Gerards <metgerards@student.han.nl>
20112
20113 Add support for UFS version 1 and 2. Add support for the minix
20114 filesystem version 1 and 2, both the variants with 14 and 30 long
20115 filenames.
f19dbdb7 20116
66e19ef8 20117 * conf/i386-pc.rmk (grub_setup_SOURCES): Add fs/ufs.c and
20118 fs/minix.c.
20119 (grub_emu_SOURCES): Likewise.
20120 (pkgdata_MODULES): Add ufs.mod and minix.mod.
20121 (ufs_mod_SOURCES): New variable.
20122 (ufs_mod_CFLAGS): Likewise.
20123 (minix_mod_SOURCES): Likewise.
20124 (minix_mod_CFLAGS): Likewise.
20125 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add fs/ufs.c and
20126 fs/minix.c.
20127 (grubof_SOURCES): Likewise.
20128 * fs/ufs.c: New file.
20129 * fs/minix.c: New file.
20130 * include/grub/fs.h (grub_ufs_init): New prototype.
20131 (grub_ufs_fini): Likewise.
20132 (grub_minix_init): Likewise.
20133 (grub_minix_fini): Likewise.
20134 * util/grub-emu.c (main): Initialize and deinitialize UFS and
20135 minix fs.
20136
cc2e748a 201372004-04-30 Jeroen Dekkers <jeroen@dekkers.cx>
20138
20139 * conf/powerpc-ieee1275.rmk (grub_emu_SOURCES): Add normal/arg.c,
20140 commands/ls.c, commands/terminal.c, commands/boot.c,
20141 commands/cmp.c and commands/cat.c.
20142 (grubof_LDFLAGS): Add -nostdlib -static-libgcc -lgcc.
20143
20144 * kern/powerpc/ieee1275/init.c: Include "grub/env.h" instead of
20145 "env.h"
20146
4b13b216 201472004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
20148
20149 All symbols prefixed with PUPA_ and pupa_ are renamed to GRUB_
20150 and grub_, respectively. Because the conversion is trivial and
20151 mechanical, I omit the details here. Please refer to the CVS
20152 if you need more information.
20153
6a142551 201542004-04-04 Yoshinori K. Okuji <okuji@enbug.org>
20155
20156 * include/pupa: Renamed to ...
20157 * include/grub: ... this.
20158 * util/i386/pc/pupa-mkimage.c: Renamed to ...
20159 * util/i386/pc/grub-mkimage.c: ... this.
20160 * util/i386/pc/pupa-setup.c: Renamed to ...
20161 * util/i386/pc/grub-setup.c: ... this.
20162 * util/pupa-emu.c: Renamed to ...
20163 * util/grub-emu.c: ... this.
20164
e56cdf21 201652004-03-29 Marco Gerards <metgerards@student.han.nl>
20166
20167 Add support for the newworld apple macintosh (PPC). This has been
20168 tested on the powerbook 2000 only. It only adds support for
20169 generic ieee1275 functions, console and disk support. This should
20170 be easy to port to other architectures with support for Open
20171 Firmware.
f19dbdb7 20172
e56cdf21 20173 * configure.ac: Accept the powerpc as host_cpu. In the case of
20174 the powerpc cpu set the host_vendor to ieee1275. Make sure the i386
20175 specific tests are only executed while building for the i386.
20176 Inverse test for crosscompile.
20177 * genmk.rb (Utility): Allow assembler files.
20178 * normal/cmdline.c (pupa_tab_complete): Reset pupa_errno.
20179 * conf/powerpc-ieee1275.rmk: New file.
20180 * disk/powerpc/ieee1275/ofdisk.c: Likewise.
20181 * disk/powerpc/ieee1275/partition.c: Likewise.
20182 * include/pupa/powerpc/ieee1275/biosdisk.h: Likewise.
20183 * include/pupa/powerpc/ieee1275/console.h: Likewise.
20184 * include/pupa/powerpc/ieee1275/partition.h: Likewise.
20185 * include/pupa/powerpc/ieee1275/time.h: Likewise.
20186 * include/pupa/powerpc/ieee1275/util/biosdisk.h: Likewise.
20187 * include/pupa/powerpc/ieee1275/multiboot.h: Likewise.
20188 * include/pupa/powerpc/ieee1275/loader.h
20189 * include/pupa/powerpc/setjmp.h: Likewise.
20190 * include/pupa/powerpc/types.h: Likewise.
20191 * kern/powerpc/ieee1275/init.c: Likewise.
20192 * kern/powerpc/ieee1275/openfw.c: Likewise.
20193 * term/powerpc/ieee1275/ofconsole.c: Likewise.
20194
20195 These files were written by Johan Rydberg
20196 (jrydberg@night.trouble.net) and I only modified them slightly.
f19dbdb7 20197
e56cdf21 20198 * boot/powerpc/ieee1275/cmain.c: New file.
20199 * boot/powerpc/ieee1275/crt0.S: Likewise.
20200 * boot/powerpc/ieee1275/ieee1275.c: Likewise.
20201 * include/pupa/powerpc/ieee1275/ieee1275.h: Likewise.
20202
8c8cc205 202032004-03-14 Jeroen Dekkers <jeroen@dekkers.cx>
20204
20205 * Makefile.in: Update copyright.
20206 * genmodsrc.sh: Likewise.
20207 * gensymlist.sh: Likewise.
20208 * term/i386/pc/vga.c: Indent correctly.
20209
20210 * util/i386/pc/pupa-mkimage.c (usage): Use PACKAGE_BUGREPORT as
20211 bugreporting address.
20212 * util/i386/pc/pupa-setup.c (usage): Likewise,
20213 (main): Call pupa_ext2_init and pupa_ext2_fini.
20214
f19dbdb7 20215 * fs/fat.c (log2): Renamed to ...
8c8cc205 20216 (fat_log2): ... this.
20217 All callers changed.
20218 * kern/misc.c (memcpy): Alias to pupa_memmove.
20219 * loader/i386/pc/multiboot.c (pupa_rescue_cmd_multiboot): Fix
20220 lvalue cast.
20221 * util/console.c (pupa_ncurses_fini): Return 0.
20222
20223 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open)[__linux__]:
20224 Move fail label here.
20225 [__GNU__]: Don't warn when using stat.
20226 (open_device)[!__linux__]: Check if FD < 0 instead of !FD.
20227 (pupa_util_biosdisk_get_pupa_dev)[__GNU__]: Change type of N to
20228 long int. Use strtol instead of strtoul.
f19dbdb7 20229
db1771cf 202302004-03-14 Marco Gerards <metgerards@student.han.nl>
20231
20232 * commands/boot.c: New file.
20233 * commands/cat.c: Likewise.
20234 * commands/cmp.c: Likewise.
20235 * commands/ls.c: Likewise.
20236 * commands/terminal.c: Likewise.
20237 * normal/command.c: Include <pupa/env.h> and <pupa/dl.h>.
20238 (pupa_register_command): Changed interface to match the new
20239 argument parser.
20240 (pupa_command_execute): Changed (almost rewritten) so it uses
20241 pupa_split_command. Added support for setting variables using the
20242 syntax `foo=bar'.
20243 (rescue_command): Changed to work with the new argument parser.
20244 (terminal_command): Moved from here to commands/terminal.c.
20245 (set_command): New function.
20246 (unset_command): New function.
20247 (insmod_command): New function.
20248 (rmmod_command): New function.
20249 (lsmod_command): New function.
20250 (pupa_command_init): Don't initialize the command terminal
20251 anymore. Initialize the commands set, unset, insmod, rmmod and
20252 lsmod.
20253 * conf/i386-pc.rmk (kernel_img_SOURCES): Add kern/env.c.
20254 (kernel_img_HEADERS): Add arg.h and env.h.
20255 (pupa_mkimage_LDFLAGS): Add kern/env.c.
20256 (pupa_emu_SOURCES): Add kern/env.c, commands/ls.c,
20257 commands/terminal.c commands/boot.c commands/cmp.c commands/cat.c,
20258 normal/arg.c.
20259 (pkgdata_MODULES): Add ls.mod, boot.mod, cmp.mod, cat.mod and
20260 terminal.mod.
20261 (normal_mod_SOURCES): Add normal/arg.c and normal/arg.c.
20262 (boot_mod_SOURCES): New variable.
20263 (terminal_mod_SOURCES): Likewise.
20264 (ls_mod_SOURCES): Likewise.
20265 (cmp_mod_SOURCES): Likewise.
20266 (cat_mod_SOURCES): Likewise.
20267
20268 * normal/arg.c: New file.
20269 * kern/env.c: Likewise.
20270 * include/pupa/arg.h: Likewise.
20271 * include/pupa/env.h: Likewise.
20272 * font/manager.c (font_command): Changed to match argument parsing
20273 interface changes.
20274 (PUPA_MOD_INIT): Likewise.
20275 * hello/hello.c (pupa_cmd_hello): Likewise.
20276 (PUPA_MOD_INIT): Likewise.
20277 * include/pupa/disk.h: Include <pupa/device.h>.
20278 (pupa_print_partinfo): New prototype.
20279 * include/pupa/dl.h (pupa_dl_set_prefix): Prototype removed.
20280 (pupa_dl_get_prefix): Likewise.
20281 * include/pupa/misc.h: Include <pupa/err.h>.
20282 (pupa_isgraph): New prototype.
20283 (pupa_isdigit): Likewise.
20284 (pupa_split_cmdline): Likewise.
20285 * include/pupa/normal.h: Include <pupa/arg.h>.
20286 (pupa_command): Changed the prototype of the member `func' to
20287 match the argument parsing interface. Added member `options'.
20288 (pupa_register_command): Updated to match function.
20289 (pupa_arg_parse): New prototype.
20290 (pupa_hello_init) [PUPA_UTIL]: New prototype.
20291 (pupa_hello_fini) [PUPA_UTIL]: Likewise.
20292 (pupa_ls_init) [PUPA_UTIL]: Likewise.
20293 (pupa_ls_fini) [PUPA_UTIL]: Likewise.
20294 (pupa_cat_init) [PUPA_UTIL]: Likewise.
20295 (pupa_cat_fini) [PUPA_UTIL]: Likewise.
20296 (pupa_boot_init) [PUPA_UTIL]: Likewise.
20297 (pupa_boot_fini) [PUPA_UTIL]: Likewise.
20298 (pupa_cmp_init) [PUPA_UTIL]: Likewise.
20299 (pupa_cmp_fini) [PUPA_UTIL]: Likewise.
20300 (pupa_terminal_init) [PUPA_UTIL]: Likewise.
20301 (pupa_terminal_fini) [PUPA_UTIL]: Likewise.
20302 * kern/disk.c: Include <pupa/file.h>.
20303 (pupa_print_partinfo): New function.
20304 * kern/dl.c: Include <pupa/env.h>.
20305 (pupa_dl_dir): Variable removed.
20306 (pupa_dl_load): Use the environment variable `prefix' instead of
20307 the variable pupa_dl_dir.
20308 (pupa_dl_set_prefix): Function removed.
20309 (pupa_dl_get_prefix): Likewise.
20310 * kern/i386/pc/init.c: Include <pupa/env.h>.
20311 (pupa_machine_init): Use the environment variable `prefix' instead of
20312 using pupa_dl_set_prefix to set the prefix.
20313 * kern/main.c: Include <pupa/env.h>.
20314 (pupa_set_root_dev): Use the environment variable `prefix' instead of
20315 using pupa_dl_get_prefix to get the prefix.
20316 * kern/misc.c: Include <pupa/env.h>.
20317 (pupa_isdigit): New function.
20318 (pupa_isgraph): Likewise.
20319 (pupa_ftoa): Likewise.
20320 (pupa_vsprintf): Added support for printing values of the type
20321 `double'. Make it possible to format variable output when using
20322 formatting like `%1.2%f'.
20323 (pupa_split_cmdline): New function.
20324 * kern/rescue.c: Include <pupa/env.h>.
20325 (next_word): Removed function.
20326 (pupa_rescue_cmd_prefix): Likewise.
20327 (pupa_rescue_cmd_set): New function.
20328 (pupa_rescue_cmd_unset): New function.
20329 (pupa_enter_rescue_mode): Use the `pupa_split_cmdline' function to
20330 split the command line instead of splitting it here. Added
20331 support for setting variables using the syntax `foo=bar'. Don't
20332 initialize the prefix command anymore. Initialized the set and
20333 unset commands.
20334 * normal/cmdline.c: Include <pupa/env.h>.
20335 (pupa_tab_complete): Added prototypes for print_simple_completion,
20336 print_partition_completion, add_completion, iterate_commands,
20337 iterate_dev, iterate_part and iterate_dir. Moved code to print
20338 partition information from here to kern/disk.c.
fe6b695a 20339 (pupa_cmdline_run): Don't check if the function exists anymore.
db1771cf 20340 * normal/main.c: Include <pupa/env.h>.
20341 (pupa_rescue_cmd_normal): Use the environment variable `prefix'
20342 instead of using pupa_dl_get_prefix to get the prefix.
20343 * term/i386/pc/vga.c: Include <pupa/arg.h>.
20344 (check_vga_mem): Cast pointers to `void *' to silence a gcc
20345 warning.
20346 (pupa_vga_putchar) [! DEBUG_VGA]: Removed for this case.
20347 (pupa_vga_setcolor): Declare unused variables with `__attribute__
20348 ((unused))' to silence a gcc warning.
20349 (pupa_vga_setcolor): Likewise.
20350 (debug_command): Changed to match argument parsing
20351 interface changes.
20352 * util/pupa-emu.c: Include <pupa/env.h>.
20353 (options): Added 0's for unused fields to silence a gcc warning.
20354 (argp): Likewise.
20355 (main): Use the environment variable `prefix' instead of using
20356 pupa_dl_set_prefix to set the prefix. Initialize the commands ls,
20357 boot, cmp, cat and terminal. Finish the commands boot, cmp, cat
20358 and terminal.
20359
20360 * util/i386/pc/getroot.c: Include <pupa/i386/pc/util/biosdisk.h>.
20361 * util/misc.c: Include <malloc.h>.
20362 (pupa_malloc): Rewritten so errors are correctly reported.
20363 (pupa_realloc): Likewise.
20364 (pupa_memalign): Likewise.
20365 (pupa_mm_init_region): Declare unused variables with
20366 `__attribute__ ((unused))' to silence a gcc warning.
20367 * normal/i386/setjmp.S: Remove tab at the end of the file to
20368 silence a gcc warning.
20369 * loader/i386/pc/linux.c (pupa_rescue_cmd_initrd): Declare unused
20370 variables with `__attribute__ ((unused))' to silence a gcc
20371 warning.
20372 * loader/i386/pc/multiboot.c (pupa_multiboot_unload): Make the
20373 local variable i unsigned to silence a gcc warning.
20374
20375 * kern/term.c: Include <pupa/misc.h>.
20376 (pupa_more_lines): New variable.
20377 (pupa_more): Likewise.
20378 (pupa_putcode): When the pager is active pause at the end of every
20379 screen.
20380 (pupa_set_more): New function.
20381 * include/pupa/term.h (pupa_set_more): New prototype.
20382
20383
3b1139cb 203842004-03-07 Yoshinori K. Okuji <okuji@enbug.org>
20385
20386 Now this project is GRUB 2 rather than PUPA. The location of
20387 the CVS repository was moved to GRUB's.
f19dbdb7 20388
3b1139cb 20389 * configure.ac: Use bug-grub as the reporting address.
20390 Use GRUB instead of PUPA.
20391 Change the version number to 1.90.
20392
8367695c 203932004-02-24 Yoshinori K. Okuji <okuji@enbug.org>
20394
20395 * genkernsyms.sh: Updated copyright information.
20396 * genmk.rb: Likewise.
20397 * genmodsrc.sh: Likewise.
20398 * gensymlist.sh: Likewise.
20399 * boot/i386/pc/boot.S: Likewise.
20400 * boot/i386/pc/diskboot.S: Likewise.
20401 * disk/i386/pc/biosdisk.c: Likewise.
20402 * disk/i386/pc/partition.c: Likewise.
20403 * font/manager.c: Likewise.
20404 * fs/ext2.c: Likewise.
20405 * fs/fat.c: Likewise.
20406 * include/pupa/boot.h: Likewise.
20407 * include/pupa/device.h: Likewise.
20408 * include/pupa/disk.h: Likewise.
20409 * include/pupa/dl.h: Likewise.
20410 * include/pupa/elf.h: Likewise.
20411 * include/pupa/err.h: Likewise.
20412 * include/pupa/file.h: Likewise.
20413 * include/pupa/font.h: Likewise.
20414 * include/pupa/fs.h: Likewise.
20415 * include/pupa/kernel.h: Likewise.
20416 * include/pupa/loader.h: Likewise.
20417 * include/pupa/misc.h: Likewise.
20418 * include/pupa/mm.h: Likewise.
20419 * include/pupa/net.h: Likewise.
20420 * include/pupa/normal.h: Likewise.
20421 * include/pupa/rescue.h: Likewise.
20422 * include/pupa/setjmp.h: Likewise.
20423 * include/pupa/symbol.h: Likewise.
20424 * include/pupa/term.h: Likewise.
20425 * include/pupa/types.h: Likewise.
20426 * include/pupa/i386/setjmp.h: Likewise.
20427 * include/pupa/i386/types.h: Likewise.
20428 * include/pupa/i386/pc/biosdisk.h: Likewise.
20429 * include/pupa/i386/pc/boot.h: Likewise.
20430 * include/pupa/i386/pc/console.h: Likewise.
20431 * include/pupa/i386/pc/init.h: Likewise.
20432 * include/pupa/i386/pc/kernel.h: Likewise.
20433 * include/pupa/i386/pc/linux.h: Likewise.
20434 * include/pupa/i386/pc/loader.h: Likewise.
20435 * include/pupa/i386/pc/memory.h: Likewise.
20436 * include/pupa/i386/pc/multiboot.h: Likewise.
20437 * include/pupa/i386/pc/partition.h: Likewise.
20438 * include/pupa/i386/pc/time.h: Likewise.
20439 * include/pupa/i386/pc/vga.h: Likewise.
20440 * include/pupa/i386/pc/util/biosdisk.h: Likewise.
20441 * include/pupa/util/getroot.h: Likewise.
20442 * include/pupa/util/misc.h: Likewise.
20443 * include/pupa/util/resolve.h: Likewise.
20444 * kern/device.c: Likewise.
20445 * kern/disk.c: Likewise.
20446 * kern/dl.c: Likewise.
20447 * kern/err.c: Likewise.
20448 * kern/file.c: Likewise.
20449 * kern/fs.c: Likewise.
20450 * kern/loader.c: Likewise.
20451 * kern/main.c: Likewise.
20452 * kern/misc.c: Likewise.
20453 * kern/mm.c: Likewise.
20454 * kern/rescue.c: Likewise.
20455 * kern/term.c: Likewise.
20456 * kern/i386/dl.c: Likewise.
20457 * kern/i386/pc/init.c: Likewise.
20458 * kern/i386/pc/lzo1x.S: Likewise.
20459 * kern/i386/pc/startup.S: Likewise.
20460 * loader/i386/pc/chainloader.c: Likewise.
20461 * loader/i386/pc/linux.c: Likewise.
20462 * loader/i386/pc/multiboot.c: Likewise.
20463 * normal/cmdline.c: Likewise.
20464 * normal/command.c: Likewise.
20465 * normal/main.c: Likewise.
20466 * normal/menu.c: Likewise.
20467 * normal/i386/setjmp.S: Likewise.
20468 * term/i386/pc/console.c: Likewise.
20469 * term/i386/pc/vga.c: Likewise.
20470 * util/console.c: Likewise.
20471 * util/genmoddep.c: Likewise.
20472 * util/misc.c: Likewise.
20473 * util/pupa-emu.c: Likewise.
20474 * util/resolve.c: Likewise.
20475 * util/unifont2pff.rb: Likewise.
20476 * util/i386/pc/biosdisk.c: Likewise.
20477 * util/i386/pc/getroot.c: Likewise.
20478 * util/i386/pc/pupa-mkimage.c: Likewise.
20479 * util/i386/pc/pupa-setup.c: Likewise.
20480
e6eced71 204812004-02-15 Jeroen Dekkers <jeroen@dekkers.cx>
20482
20483 * fs/ext2.c (pupa_ext2_read_file): Correct the value of BLOCKEND
20484 when it is EXT2_BLOCK_SIZE (data). New argument READ_HOOK, all
20485 callers changed. Set DATA->DISK->READ_HOOK to READ_HOOK before
20486 reading and reset it after reading.
20487 (pupa_ext2_close): Return PUPA_ERR_NONE.
20488
20489 * include/pupa/i386/pc/linux.h (PUPA_LINUX_INITRD_MAX_ADDRESS):
20490 Correct value.
20491 (struct linux_kernel_header): Add kernel_version and
20492 initrd_addr_max.
20493 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Check whether
20494 pupa_file_read succeeds.
20495 (pupa_rescue_cmd_initrd): Implement.
20496
5aded270 204972003-12-03 Marco Gerards <metgerards@student.han.nl>
20498
20499 * fs/ext2.c (pupa_ext2_label): New function.
20500 (pupa_ext2_fs): Added label.
20501 * fs/fat.c (pupa_fat_label): New function.
20502 (pupa_fat_fs): Added label.
20503 * include/pupa/fs.h (struct pupa_fs): Added prototype label.
20504
20505 * kern/misc.c (pupa_strndup): New function.
20506 * include/pupa/misc.h (pupa_strndup): New prototype.
20507
20508 * include/pupa/normal.h: Include <pupa/err.h>.
20509 (pupa_set_history): New prototype.
20510 (pupa_iterate_commands): New prototype.
20511 * normal/cmdline.c: Include <pupa/machine/partition.h>,
20512 <pupa/disk.h>, <pupa/file.h>.
20513 (hist_size): New variable.
20514 (hist_lines): Likewise.
20515 (hist_end): Likewise.
20516 (hist_used): Likewise.
20517 (pupa_set_history): New function.
20518 (pupa_history_get): Likewise.
20519 (pupa_history_add): Likewise.
20520 (pupa_history_replace): Likewise.
20521 (pupa_tab_complete): Likewise.
20522 (pupa_cmdline_run): Added tab completion and history buffer. Tab
20523 completion shows partitionnames while completing partitions, this
20524 feature was suggested by Jeff Bailey.
20525 * normal/command.c (pupa_iterate_commands): New function.
20526 * normal/main.c (PUPA_DEFAULT_HISTORY_SIZE): New macro.
20527 (pupa_normal_init): Initialize history buffer.
20528 (PUPA_MOD_INIT): Likewise.
20529 (pupa_normal_fini): Free the history buffer.
20530 (PUPA_MOD_FINI): Likewise.
20531
20532 * util/console.c (pupa_ncurses_getkey): Accept 127 as backspace
20533 key.
20534
20535 * aclocal.m4 (pupa_I386_CHECK_REGPARM_BUG): New DEFUN.
20536 * configure.ac [i386]: Check for regparam bug.
20537 (NESTED_FUNC_ATTR) [! i386]: Defined.
20538
1f7315a3 205392003-11-17 Marco Gerards <metgerards@student.han.nl>
20540
20541 * conf/i386-pc.rmk (sbin_UTILITIES): Added pupa-emu.
20542 (pupa_setup_SOURCES): Added util/i386/pc/getroot.c.
20543 (pupa_emu_SOURCES): New variable.
20544 (pupa_emu_LDFLAGS): Likewise.
20545 * include/pupa/fs.h (pupa_ext2_init) [PUPA_UTIL]: New prototype.
20546 (pupa_ext2_fini) [PUPA_UTIL]: Likewise.
20547 * include/pupa/normal.h (pupa_normal_init) [PUPA_UTIL]: Likewise.
20548 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
20549 * include/pupa/setjmp.h [PUPA_UTIL]: Include <setjmp.h>.
20550 (pupa_jmp_buf): New typedef.
20551 (pupa_setjmp) [PUPA_UTIL]: New macro.
20552 (pupa_longjmp) [PUPA_UTIL]: Likewise.
20553 * include/pupa/term.h (struct pupa_term): New member `refresh'.
20554 (pupa_refresh): New prototype.
20555 * include/pupa/util/getroot.h: New file.
20556 * kern/misc.c (pupa_vsprintf): Refresh the screen after updating
20557 it.
20558 * kern/rescue.c (pupa_rescue_get_command_line): Likewise.
20559 (pupa_rescue_cmd_cat): Likewise.
20560 (pupa_rescue_cmd_ls): Likewise.
20561 (pupa_rescue_cmd_testload): Likewise.
20562 (pupa_rescue_cmd_lsmod): Likewise.
20563 * normal/cmdline.c (pupa_cmdline_get): Likewise.
20564 * normal/menu.c (run_menu): Likewise.
20565 * kern/term.c (pupa_cls): Likewise.
20566 (pupa_refresh): New function.
20567 * normal/normal.c (pupa_normal_init) [PUPA_UTIL]: New function.
20568 (pupa_normal_fini) [PUPA_UTIL]: Likewise.
20569 * util/console.c: New file.
f19dbdb7 20570
1f7315a3 20571 * util/i386/pc/getroot.c: New file.
20572 * util/i386/pc/pupa-setup.c: Include <pupa/util/getroot.h>.
20573 (pupa_putchar): New function.
20574 (pupa_refresh): Likewise.
20575 (xgetcwd): Function moved to ...
20576 (strip_extra_slashes): Likewise.
20577 (get_prefix): Likewise.
f19dbdb7 20578 * util/i386/pc/getroot.c: ... here.
1f7315a3 20579 (find_root_device): Function moved and renamed to...
20580 * util/i386/pc/getroot.c (pupa_find_root_device): ... here.
20581 Changed all callers.
20582 * util/i386/pc/pupa-setup.c (guess_root_device): Function moved
20583 and renamed to...
20584 * util/i386/pc/getroot.c (pupa_guess_root_device): ... here.
20585 Changed all callers.
20586 * util/misc.c (pupa_memalign): New function.
20587 (pupa_mm_init_region): Likewise.
20588 (pupa_register_exported_symbols): Likewise.
20589 (pupa_putchar): Function removed.
20590 * util/pupa-emu.c: New file.
20591
9a5c1ade 205922003-11-16 Jeroen Dekkers <jeroen@dekkers.cx>
20593
20594 * conf/i386-pc.rmk (pkgdata_MODULES): Add _multiboot.mod.
20595 (_multiboot_mod_SOURCES): New variable.
20596 (_multiboot_mod_CFLAGS): Likewise.
20597 * loader/i386/pc/multiboot.c: New file.
20598 * include/pupa/i386/pc/multiboot.h: Likewise.
20599 * kern/i386/pc/startup.S: Include pupa/machine/multiboot.h.
20600 (pupa_multiboot_real_boot): New function.
20601 * include/pupa/i386/pc/loader.h: Include pupa/machine/multiboot.h.
20602 (pupa_multiboot_real_boot): New prototype.
20603 (pupa_rescue_cmd_multiboot): Likewise
20604 (pupa_rescue_cmd_module): Likewise.
20605
20606 * kern/loader.c (pupa_loader_set): Continue when
20607 pupa_loader_unload_func() fails.
20608 (pupa_loader_unset): New function.
20609 * include/pupa/loader.h (pupa_loader_unset): New prototype.
20610
20611 * kern/misc.c (pupa_stpcpy): New function.
20612 * include/pupa/misc.h (pupa_stpcpy): New prototype.
20613
8e72a9c0 206142003-11-12 Marco Gerards <metgerards@student.han.nl>
20615
20616 * disk/i386/pc/biosdisk.c (pupa_biosdisk_open): Correctly check
20617 for available extensions.
20618
20619 * include/pupa/i386/pc/time.h: New file.
20620 * kern/disk.c: Include <pupa/machine/time.h>.
20621 (PUPA_CACHE_TIMEOUT): New macro.
20622 (pupa_last_time): New variable.
20623 (pupa_disk_open): Flush the cache when there was a timeout.
20624 (pupa_disk_close): Reset the timer.
20625 * kern/i386/pc/startup.S (pupa_get_rtc): Renamed from
20626 pupa_currticks.
20627 * util/misc.c: Include <sys/times.h>
20628 (pupa_get_rtc): New function.
20629
c4adbd32 206302003-11-09 Jeroen Dekkers <jeroen@dekkers.cx>
20631
20632 * fs/ext2.c (struct pupa_ext2_inode): Declare struct datablocks
20633 as blocks.
20634 (pupa_ext2_get_file_block): Use blocks member.
20635
20636 * fs/ext2.c (pupa_ext2_read_file): Only set skipfirst for the
20637 first block. Return -1 instead of pupa_errno on error.
20638
bfd30f06 206392003-10-27 Marco Gerards <metgerards@student.han.nl>
20640
20641 * README: In the pupa-mkimage example use _chain instead of chain
20642 and ext2 instead of fat.
20643 * TODO: Replace ext2fs with jfs as an example. Add an item for
20644 adding journal playback for ext2fs.
20645 * conf/i386-pc.rmk (pupa_setup_SOURCES): Added fs/ext2.c.
20646 (pkgdata_MODULES): Added ext2.mod.
20647 (ext2_mod_SOURCES): New variable.
20648 (ext2_mod_CFLAGS): Likewise.
20649 * include/pupa/err.h (pupa_err_t): Added PUPA_ERR_SYMLINK_LOOP.
20650 * include/pupa/misc.h (pupa_strncpy): New prototype.
20651 (pupa_strcat): Likewise.
20652 (pupa_strncmp): Likewise.
20653 * kern/misc.c (pupa_strcat): Enable function.
20654 (pupa_strncpy): New function.
20655 (pupa_strncmp): Likewise.
20656 * fs/ext2.c: New file.
f19dbdb7 20657
bfd30f06 20658 * kern/disk.c (pupa_disk_read): Set pupa_errno to PUPA_ERR_NONE
20659 when the read failed before retrying.
20660 * util/i386/pc/biosdisk.c (_LARGEFILE_SOURCE): Removed.
20661 (_FILE_OFFSET_BITS): Likewise.
20662 * configure.ac: Added AC_SYS_LARGEFILE.
20663
98d15063 206642003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
20665
20666 * genmk.rb (PModule#rule): Make sure to get only symbol names
20667 from the output of nm.
20668 Reported by Robert Millan <zeratul2@wanadoo.es>.
20669
18d9c7cd 206702003-09-25 Yoshinori K. Okuji <okuji@enbug.org>
20671
20672 I forgot to check in these changes for a long time. This adds
20673 incomplete support for VGA console, and this is still very
20674 buggy. Also, a lot of consideration is required for I18N,
20675 UNICODE, and VGA font issues. Therefore, assume that this is
20676 such that "better than nothing".
f19dbdb7 20677
18d9c7cd 20678 * font/manager.c: New file.
20679 * include/pupa/font.h: Likewise.
20680 * include/pupa/i386/pc/vga.h: Likewise.
20681 * term/i386/pc/vga.c: Likewise.
20682 * util/unifont2pff.rb: Likewise.
20683
20684 * conf/i386-pc.rmk (kernel_img_HEADERS): Added machine/vga.h.
20685 (pkgdata_MODULES): Added vga.mod and font.mod.
20686 (vga_mod_SOURCES): New variables.
20687 (vga_mod_CFLAGS): Likewise.
20688 (font_mod_SOURCES): Likewise.
20689 (font_mod_CFLAGS): Likewise.
20690
20691 * include/pupa/err.h (PUPA_ERR_BAD_FONT): New constant.
20692
20693 * include/pupa/term.h: Include pupa/err.h.
f19dbdb7 20694 (struct pupa_term): Added init and fini.
18d9c7cd 20695 Changed the argument of putchar to pupa_uint32_t.
20696
20697 * include/pupa/i386/pc/console.h: Include pupa/symbol.h.
20698 (pupa_console_real_putchar): New prototype.
20699 (pupa_console_putchar): Removed.
20700 (pupa_console_checkkey): Exported.
20701 (pupa_console_getkey): Likewise.
20702
20703 * kern/misc.c (pupa_vsprintf): Add support for UNICODE
20704 characters.
20705
20706 * kern/term.c (pupa_term_set_current): Rewritten.
20707 (pupa_putchar): Likewise.
20708 (pupa_putcode): New function.
20709
20710 * kern/i386/pc/startup.S (pupa_console_putchar): Renamed to ...
20711 (pupa_console_real_putchar): ... this.
20712 (pupa_vga_set_mode): New function.
20713 (pupa_vga_get_font): Likewise.
20714
20715 * normal/command.c: Include pupa/term.h.
20716 (terminal_command): New function.
20717 (pupa_command_init): Register the command "terminal".
20718
20719 * normal/menu.c (DISP_LEFT): Changed to a UNICODE value.
20720 (DISP_UP): Likewise.
20721 (DISP_RIGHT): Likewise.
20722 (DISP_DOWN): Likewise.
20723 (DISP_HLINE): Likewise.
20724 (DISP_VLINE): Likewise.
20725 (DISP_UL): Likewise.
20726 (DISP_UR): Likewise.
20727 (DISP_LL): Likewise.
20728 (DISP_LR): Likewise.
20729
20730 * term/i386/pc/console.c (pupa_console_putchar): New function.
f19dbdb7 20731
977329f5 207322003-02-08 NIIBE Yutaka <gniibe@m17n.org>
20733
20734 * util/resolve.c (pupa_util_resolve_dependencies): BUG
20735 FIX. Reverse the path_list.
20736
20737 * include/pupa/normal.h: Export pupa_register_command and
20738 pupa_unregister_command.
20739
20740 * hello/hello.c (pupa_cmd_hello): New module.
20741 * conf/i386-pc.rmk: Added hello.mod.
20742
1f5ab428 207432003-01-31 Yoshinori K. Okuji <okuji@enbug.org>
20744
20745 * kern/i386/pc/lzo1x.S: New file.
f19dbdb7 20746
1f5ab428 20747 * util/i386/pc/pupa-mkimage.c: Include lzo1x.h.
20748 (compress_kernel): New variable.
20749 (generate_image): Heavily modified to support compressing a
20750 large part of the core image.
20751
20752 * util/misc.c (pupa_util_read_image): Fix a file descriptor
20753 leak.
20754 (pupa_util_load_image): New function.
20755
20756 * kern/i386/pc/startup.S: Include pupa/machine/kernel.h.
20757 (pupa_compressed_size): New variable.
20758 (codestart): Enable Gate A20 here.
20759 Decompress the compressed part of the core image.
20760 Rearrange the code to put functions and variables which are
20761 required for initialization in the non-compressed part.
20762 Include lzo1x.S.
20763
20764 * kern/i386/pc/init.c (pupa_machine_init): Don't enable Gate A20
20765 here.
20766
20767 * include/pupa/util/misc.h (pupa_util_write_image): Declared.
20768
f19dbdb7 20769 * include/pupa/i386/pc/kernel.h
1f5ab428 20770 (PUPA_KERNEL_MACHINE_COMPRESSED_SIZE): New macro.
20771 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): Increased by 4.
20772 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
20773 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
20774 (PUPA_KERNEL_MACHINE_RAW_SIZE): New macro.
20775
20776 * conf/i386-pc.rmk (pupa_mkimage_LDFLAGS): New variable.
20777
20778 * genmk.rb (Image#rule): Put LDFLAGS at the end of a line.
20779 (Utility#rule): Likewise.
20780
20781 * configure.ac: Check if LZO is available.
20782
ce5bf700 207832003-01-20 Yoshinori K. Okuji <okuji@enbug.org>
20784
20785 * include/pupa/normal.h: New file.
20786 * include/pupa/setjmp.h: Likewise.
20787 * include/pupa/i386/setjmp.h: Likewise.
20788 * normal/cmdline.c: Likewise.
20789 * normal/command.c: Likewise.
20790 * normal/main.c: Likewise.
20791 * normal/menu.c: Likewise.
20792 * normal/i386/setjmp.S: Likewise.
f19dbdb7 20793
ce5bf700 20794 * loader/i386/pc/linux.c (pupa_rescue_cmd_linux): Made global.
20795 (pupa_rescue_cmd_initrd): Likewise.
20796
20797 * loader/i386/pc/chainloader.c (pupa_rescue_cmd_chainloader):
20798 Likewise.
20799
20800 * kern/i386/pc/startup.S (translation_table): New variable.
20801 (translate_keycode): New function.
20802 (pupa_console_getkey): Call translate_keycode.
20803
20804 * kern/rescue.c (attempt_normal_mode): New function.
20805 (pupa_enter_rescue_mode): Attempt to execute the normal mode. If
20806 it failed, print a message.
20807
20808 * kern/mm.c (pupa_real_malloc): Print more information when a
20809 free magic is broken.
20810 (pupa_free): If the first free header is not free actually, set
20811 it to P.
20812
20813 * kern/main.c (pupa_load_normal_mode): Just load the module
20814 "normal".
20815 (pupa_main): Don't print the message
20816 "Entering into rescue mode..." here.
20817
20818 * include/pupa/i386/pc/loader.h (pupa_rescue_cmd_initrd):
20819 Declared.
20820 (pupa_rescue_cmd_initrd): Likewise.
20821 (pupa_rescue_cmd_initrd): Likewise.
20822
20823 * include/pupa/symbol.h (FUNCTION): Specify the type.
20824 (VARIABLE): Likewise.
20825
20826 * include/pupa/err.h (pupa_err_t): Added
20827 PUPA_ERR_UNKNOWN_COMMAND.
20828
20829 * include/pupa/dl.h (pupa_dl_set_prefix): Exported.
20830 (pupa_dl_get_prefix): Likewise.
20831
20832 * conf/i386-pc.rmk (pkgdata_MODULES): Added normal.mod.
20833 Added _chain.mod and _linux.mod instead of chain.mod and
20834 linux.mod.
20835 (chain_mod_SOURCES): Renamed to ...
20836 (_chain_mod_SOURCES): ... this.
20837 (chain_mod_CFLAGS): Renamed to ...
20838 (_chain_mod_CFLAGS): ... this.
20839 (linux_mod_SOURCES): Renamed to ...
20840 (_linux_mod_SOURCES): ... this.
20841 (linux_mod_CFLAGS): Renamed to ...
20842 (_linux_mod_CFLAGS): ... this.
20843 (normal_mod_SOURCES): New variable.
20844 (normal_mod_CFLAGS): Likewise.
20845 (normal_mod_ASFLAGS): Likewise.
20846
208472003-01-18 Yoshinori K. Okuji <okuji@enbug.org>
20848
20849 * kern/rescue.c (pupa_rescue_cmd_rmmod): Call pupa_dl_unload, if
20850 possible.
20851
fe6b695a 20852 * kern/dl.c (pupa_dl_ref): Refer depending modules
ce5bf700 20853 recursively.
20854 (pupa_dl_unref): Unrefer depending modules recursively.
20855 Don't call pupa_dl_unload implicitly, because PUPA can crash if
20856 a module is unloaded before one depending on that module is
20857 unloaded.
20858 (pupa_dl_unload): Unload depending modules explicitly,
20859 if possible.
20860
c04da074 208612003-01-17 Yoshinori K. Okuji <okuji@enbug.org>
20862
20863 * include/pupa/i386/pc/linux.h: New file.
20864 * loader/i386/pc/linux.c: Likewise.
f19dbdb7 20865
c04da074 20866 * loader/i386/pc/chainloader.c (pupa_chainloader_boot_sector):
20867 Removed.
20868 (pupa_chainloader_unload): Return PUPA_ERR_NONE.
20869 (pupa_rescue_cmd_chainloader): Read the image to 0x7C00 instead
20870 of PUPA_CHAINLOADER_BOOT_SECTOR.
20871
20872 * kern/i386/pc/startup.S: Include pupa/machine/linux.h.
20873 (pupa_linux_prot_size): New variable.
20874 (pupa_linux_tmp_addr): Likewise.
20875 (pupa_linux_real_addr): Likewise.
20876 (pupa_linux_boot_zimage): New function.
20877 (pupa_linux_boot_bzimage): Likewise.
20878
20879 * kern/i386/pc/init.c (struct mem_region): New structure.
20880 (MAX_REGIONS): New macro.
20881 (mem_regions): New variable.
20882 (num_regions): Likewise.
20883 (pupa_os_area_addr): Likewise.
20884 (pupa_os_area_size): Likewise.
20885 (pupa_lower_mem): Likewise.
20886 (pupa_upper_mem): Likewise.
20887 (add_mem_region): New function.
20888 (compact_mem_regions): Likewise.
20889 (pupa_machine_init): Set PUPA_LOWER_MEM and PUPA_UPPER_MEM to
20890 the size of the conventional memory and that of so-called upper
20891 memory (before the first memory hole).
20892 Instead of adding each found region to free memory, use
20893 add_mem_region and add them after removing overlaps.
20894 Also, add only 1/4 of the upper memory to free memory. The rest
20895 is used for loading OS images. Maybe this is ad hoc, but this
20896 makes it much easier to relocate OS images when booting.
20897
20898 * kern/rescue.c (pupa_rescue_cmd_module): Removed.
20899 (pupa_enter_rescue_mode): Don't register initrd and module.
20900
20901 * kern/mm.c: Include pupa/dl.h.
20902
20903 * kern/main.c: Include pupa/file.h and pupa/device.h.
20904
20905 * kern/loader.c (pupa_loader_load_module_func): Removed.
20906 (pupa_loader_load_module): Likewise.
20907
20908 * kern/dl.c (pupa_dl_load): Use the suffix ``.mod'' instead of
20909 ``.o''.
20910
20911 * include/pupa/i386/pc/loader.h (pupa_linux_prot_size): Declared.
20912 (pupa_linux_tmp_addr): Likewise.
20913 (pupa_linux_real_addr): Likewise.
20914 (pupa_linux_boot_zimage): Likewise.
20915 (pupa_linux_boot_bzimage): Likewise.
20916
20917 * include/pupa/i386/pc/init.h (pupa_lower_mem): Declared.
20918 (pupa_upper_mem): Likewise.
20919 (pupa_gate_a20): Don't export, because turning off Gate A20 in a
20920 module is too dangerous.
20921
20922 * include/pupa/loader.h (pupa_os_area_addr): Declared.
20923 (pupa_os_area_size): Likewise.
20924 (pupa_loader_set): Remove the first argument. Loader doesn't
20925 manage modules or initrd any longer.
20926 (pupa_loader_load_module): Removed.
20927
20928 * conf/i386-pc.rmk (pkgdata_MODULES): Added linux.mod.
20929 (linux_mod_SOURCES): New variable.
20930 (linux_mod_CFLAGS): Likewise.
20931
a13f9237 209322003-01-07 Yoshinori K. Okuji <okuji@enbug.org>
20933
20934 * util/i386/pc/pupa-setup.c (setup): Convert the endianness of
20935 the length of a blocklist correctly.
20936
20937 * util/i386/pc/biosdisk.c (pupa_util_biosdisk_open) [__linux__]:
20938 Use ioctl only if the OS file is a block device.
20939 (pupa_util_biosdisk_open): Don't use ST.ST_BLOCKS, because it is
20940 not very useful for normal files.
20941
20942 * kern/main.c (pupa_set_root_dev): New function.
20943 (pupa_load_normal_mode): Likewise.
20944 (pupa_main): Call those above.
20945
20946 * include/pupa/types.h (pupa_swap_bytes16): Cast the result to
20947 pupa_uint16_t.
20948
20949 * include/pupa/kernel.h (pupa_enter_normal_mode): Removed.
20950
a5ffe966 209512003-01-06 Yoshinori K. Okuji <okuji@enbug.org>
20952
20953 * util/i386/pc/pupa-setup.c: Include pupa/machine/kernel.h.
20954 (setup): Configure the installed partition information and the
20955 dl prefix.
20956
20957 * loader/i386/pc/chainloader.c (my_mod): New variable.
20958 (pupa_chainloader_unload): New function.
20959 (pupa_rescue_cmd_chainloader): Refer itself.
20960 (PUPA_MOD_INIT): Save its own module in MY_MOD.
20961
20962 * kern/i386/pc/startup.S (install_partition): Removed.
20963 (version_string): Likewise.
20964 (config_file): Likewise.
20965 (pupa_install_dos_part): New variable.
20966 (pupa_install_bsd_part): Likewise.
20967 (pupa_prefix): Likewise.
20968 (pupa_chainloader_real_boot): Call pupa_dl_unload_all.
20969
20970 * kern/i386/pc/init.c: Include pupa/machine/kernel.h, pupa/dl.h
20971 and pupa/misc.h.
20972 (make_install_device): New function.
20973 (pupa_machine_init): Set the dl prefix.
20974
20975 * kern/rescue.c: Include pupa/rescue.h and pupa/dl.h.
20976 (buf): Renamed to ...
20977 (linebuf): ... this.
20978 (pupa_rescue_cmd_prefix): New function.
20979 (pupa_rescue_cmd_insmod): Likewise.
20980 (pupa_rescue_cmd_rmmod): Likewise.
20981 (pupa_rescue_cmd_lsmod): Likewise.
20982 (pupa_enter_rescue_mode): Register new commands: prefix, insmod,
20983 rmmod and lsmod.
20984
20985 * kern/mm.c (pupa_memalign): If failed even after invalidating
20986 disk caches, unload unneeded modules and retry.
20987
20988 * kern/misc.c (pupa_memmove): New function.
20989 (pupa_memcpy): Removed.
20990 (pupa_strcpy): New function.
20991 (pupa_itoa): Made static.
20992
20993 * kern/dl.c (pupa_dl_iterate): New function.
20994 (pupa_dl_ref): Likewise.
20995 (pupa_dl_unref): Likewise.
20996 (pupa_dl_unload): Return if succeeded or not.
20997 (pupa_dl_unload_unneeded): New function.
20998 (pupa_dl_unload_all): Likewise.
20999 (pupa_dl_init): Renamed to ...
21000 (pupa_dl_set_prefix): ... this.
21001 (pupa_dl_get_prefix): New function.
21002
21003 * include/pupa/i386/pc/kernel.h: Include pupa/types.h.
21004 (PUPA_KERNEL_MACHINE_INSTALL_DOS_PART): New macro.
21005 (PUPA_KERNEL_MACHINE_INSTALL_BSD_PART): Likewise.
21006 (PUPA_KERNEL_MACHINE_PREFIX): Likewise.
21007 (pupa_install_dos_part): Declared.
21008 (pupa_install_bsd_part): Likewise.
21009 (pupa_prefix): Likewise.
21010 (pupa_boot_drive): Likewise.
21011
21012 * include/pupa/types.h: Fix a typo.
21013
21014 * include/pupa/misc.h (pupa_memcpy): New macro. Just an alias to
21015 pupa_memmove.
21016 (pupa_memmove): Declared.
21017 (pupa_strcpy): Likewise.
21018
21019 * include/pupa/dl.h (PUPA_MOD_INIT): Change the prototype. Now
21020 pupa_mod_init takes one argument, its own module.
21021 (pupa_dl_unload_unneeded): Declared.
21022 (pupa_dl_unload_all): Likewise.
21023 (pupa_dl_ref): Likewise.
21024 (pupa_dl_unref): Likewise.
21025 (pupa_dl_iterate): Likewise.
21026 (pupa_dl_init): Renamed to ...
21027 (pupa_dl_set_prefix): ... this.
21028 (pupa_dl_get_prefix): Declared.
21029
21030 * fs/fat.c [!PUPA_UTIL] (my_mod): New variable.
f19dbdb7 21031 (pupa_fat_dir) [!PUPA_UTIL]: Prevent the fat module from being
a5ffe966 21032 unloaded.
21033 (pupa_fat_open) [!PUPA_UTIL]: Refer itself if succeeded.
21034 (pupa_fat_close) [!PUPA_UTIL]: Unrefer itself.
21035
21036 * configure.ac (tmp_CFLAGS): Added -Wshadow, -Wpointer-arith,
21037 -Wmissing-prototypes, -Wundef and -Wstrict-prototypes.
21038
012d7999 210392003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
21040
21041 * util/i386/pc/pupa-setup.c (setup): Define the internal
21042 function find_first_partition_start at the top level, because GCC
21043 3.0.x cannot compile internal functions in deeper scopes
21044 correctly.
21045 (find_root_device): Use lstat instead of stat.
21046 Don't follow symbolic links.
21047 Fix the path-constructing code.
21048
21049 * util/i386/pc/biosdisk.c [__linux__] (BLKFLSBUF): New macro.
21050 (pupa_util_biosdisk_open) [__linux__]: Get the size of a device
21051 by a BLKGETSIZE ioctl first, because block devices don't fill
21052 the member st_mode of the structure stat on Linux.
21053 [__linux__] (linux_find_partition): Use a temporary buffer
21054 REAL_DEV for the working space. Copy it to DEV before returning.
21055 (open_device) [__linux__]: Call ioctl with BLKFLSBUF to make the
21056 buffer cache consistent.
21057 (get_os_disk) [__linux__]: Use the length 5 instead of 4 for
21058 strncmp. The previous value was merely wrong.
21059 (pupa_util_biosdisk_get_pupa_dev): Use stat instead of lstat.
21060
21061 * fs/fat.c (pupa_fat_read_data): Shift 4 instead of 12 when the
21062 FAT size is 12. The previous value was merely wrong.
21063
21064 * kern/main.c (pupa_main): Don't split the starting message from
21065 newlines.
21066
21067 * kern/term.c (pupa_putchar): Put CR after LF instead of before
21068 LF, because BIOS goes crazy about character attributes in this
21069 case.
21070
1cc73a62 210712003-01-03 Yoshinori K. Okuji <okuji@enbug.org>
21072
21073 * include/i386/pc/util/biosdisk.h: New file.
21074 * util/i386/pc/biosdisk.c: Likewise.
21075 * util/i386/pc/pupa-setup.c: Likewise.
f19dbdb7 21076
1cc73a62 21077 * Makefile.in (INCLUDE_DISTFILES): Added
21078 include/pupa/i386/pc/util/biosdisk.h.
21079 (UTIL_DISTFILES): Added biosdisk.c and pupa-setup.c under the
21080 directory util/i386/pc.
21081 (install-local): Added a rule for sbin_UTILITIES.
21082 (uninstall): Likewise.
21083
21084 * util/i386/pc/pupa-mkimage.c (usage): Fix a typo in the doc.
21085
21086 * util/misc.c (xrealloc): New function.
21087 (pupa_malloc): Likewise.
21088 (pupa_free): Likewise.
21089 (pupa_realloc): Likewise.
21090 (pupa_stop): Likewise.
21091 (pupa_putchar): Likewise.
21092
21093 * kern/disk.c (pupa_disk_read): Prevent L from underflowing.
21094
21095 * include/pupa/util/misc.h (xrealloc): Declared.
21096
21097 * include/pupa/i386/pc/boot.h (PUPA_BOOT_MACHINE_BPB_START): New
21098 macro.
21099 (PUPA_BOOT_MACHINE_BPBEND): Renamed to ...
21100 (PUPA_BOOT_MACHINE_BPB_END): ... this.
21101
21102 * include/pupa/fs.h [PUPA_UTIL] (pupa_fat_init): Declared.
21103 [PUPA_UTIL] (pupa_fat_fini): Likewise.
21104
21105 * fs/fat.c [PUPA_UTIL] (pupa_fat_init): Defined. Maybe a better
21106 way should be implemented.
21107 [PUPA_UTIL] (pupa_fat_fini): Likewise.
21108
21109 * disk/i386/pc/biosdisk.c (pupa_biosdisk_call_hook): Increase
21110 the size of NAME for safety.
21111 (pupa_biosdisk_iterate): Search hard disks to 0x90 instead of
21112 0x88.
21113
21114 * conf/i386-pc.rmk (sbin_UTILITIES): New variable.
21115 (pupa_setup_SOURCES): Likewise.
21116
21117 * genmk.rb (Utility#rule): Add $(BUILD_CFLAGS) into the rules.
21118
08b70fe8 211192002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
21120
21121 * kern/i386/pc/startup.S (push_get_mmap_entry): Revert to a
21122 bunch of pushl's from pusha, because this destroys the return
21123 value.
21124
62ddcc8f 211252002-12-28 Yoshinori K. Okuji <okuji@enbug.org>
21126
21127 Use -mrtd and -mregparm=3 to reduce the generated code sizes.
21128 This means that any missing prototypes could be fatal. Also, you
21129 must take care when writing assembly code. See the comments at
21130 the beginning of startup.S, for more details.
f19dbdb7 21131
62ddcc8f 21132 * kern/i386/pc/startup.S (pupa_halt): Modified for the new
21133 compilation mechanism.
21134 (pupa_chainloader_real_boot): Likewise.
21135 (pupa_biosdisk_rw_int13_extensions): Likewise.
21136 (pupa_biosdisk_rw_standard): Likewise.
21137 (pupa_biosdisk_check_int13_extensions): Likewise.
21138 (pupa_biosdisk_get_diskinfo_int13_extensions): Likewise.
21139 (pupa_biosdisk_get_diskinfo_standard): Likewise.
21140 (pupa_get_memsize): Likewise.
21141 (pupa_get_mmap_entry): Likewise.
21142 (pupa_console_putchar): Likewise.
21143 (pupa_console_setcursor): Likewise.
21144 (pupa_getrtsecs): Use pushl instead of push.
21145
21146 * kern/i386/pc/init.c (pupa_machine_init): Use the scratch
21147 memory instead of the stack for a mmap entry, because some
21148 BIOSes may ignore the maximum size and overflow.
21149
21150 * conf/i386-pc.rmk (COMMON_CFLAGS): Added -mrtd and -mregparm=3.
21151
21152 * genmk.rb (PModule#rule): Compile automatically generated
21153 sources with module-specific CFLAGS as well as other sources.
21154
9962ed99 211552002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
21156
21157 * configure.ac: Check ld.
21158 Replace CFLAGS and CPPFLAGS with BUILD_CFLAGS and BUILD_CPPFLAGS
21159 respectively, before checking endianness and sizes.
21160
21161 * Makefile.in (LD): New variable.
f19dbdb7 21162
abdfc3c5 211632002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
21164
21165 * Makefile.in (BUILD_CC): CC -> BUILD_CC.
21166
6a161fa9 211672002-12-27 Yoshinori K. Okuji <okuji@enbug.org>
21168
21169 * Changelog: New file.
21170